Извлечение наиболее информативных частей текста из документов

16

Есть ли какие-либо статьи или дискуссии по поводу извлечения части текста, которая содержит большую часть информации о текущем документе.

Например, у меня большой корпус документов из того же домена. Есть части текста, которые содержат ключевую информацию, о которой говорит отдельный документ. Я хочу извлечь некоторые из этих частей и использовать их как краткое изложение текста. Есть ли полезная документация о том, как добиться чего-то подобного.

Было бы очень полезно, если бы кто-то мог указать мне правильное направление на то, что я должен искать или читать, чтобы получить представление о работе, которая, возможно, уже была проделана в этой области обработки естественного языка.

MaticDiba
источник

Ответы:

23

То, что вы описываете, часто достигается с помощью простой комбинации TF-IDF и экстрактивного суммирования .

В двух словах, TF-IDF сообщает вам относительную важность каждого слова в каждом документе по сравнению с остальной частью вашего корпуса. На данный момент у вас есть оценка для каждого слова в каждом документе, аппроксимирующая его «важность». Затем вы можете использовать эти отдельные оценки слов для вычисления составной оценки для каждого предложения путем суммирования оценок каждого слова в каждом предложении. Наконец, просто возьмите лучшие N оценочных предложений из каждого документа в качестве его резюме.

Ранее в этом году я собрал записную книжку iPython, которая завершается реализацией этого на Python с использованием NLTK и Scikit-learn: Smattering NLP в Python .

Чарли Гринбакер
источник
2
Да, это было бы вероятно. Я мог бы также добавить дополнительные веса к некоторым словам, которые я уже знаю, которые являются информативными. Спасибо за вашу помощь и полезные ссылки.
MaticDiba
Так я могу использовать это на PDF? :)
Адам
Да, вы можете использовать это для текста в PDF, предполагая, что вы уже извлекли простой текст из PDF, используя что-то вроде pdftotext.
Чарли
1

Многие методы извлечения ключевых слов зависят от таких факторов, как:

  1. Грамматическое качество текста
  2. Длина текста
  3. Ищете ли вы одно ключевое слово или фразовое ключевое слово и т. Д.

Но в целом, если у вас длинный текст и вы хотите автоматически извлекать из него ключевые слова, я бы порекомендовал вам просмотреть следующие статьи:

  1. TextRank

  2. RAKE [Быстрое автоматическое извлечение ключевых слов]

  3. лекарственное средство для местного применения

Также, чтобы извлечь пользовательские (специальные) ключевые слова, которые не проходят через описанные выше методы, взгляните на пост ниже:

Извлечение пользовательских ключевых слов с помощью NLTK POS tagger в Python

Anindya
источник