Без сомнения, В Новостях Google могут использоваться другие приемы (или даже их комбинации), но один относительно дешевый прием в вычислительном отношении, позволяющий вывести темы из свободного текста, использовал бы понятие НЛП, что слово приобретает смысл только тогда, когда оно связано с другими словами .
Алгоритм, позволяющий обнаруживать новые категории тем из нескольких документов, можно изложить следующим образом:
- POS (часть речи) тег текста
Мы, вероятно, хотим больше сосредоточиться на существительных и, возможно, еще больше на именованных сущностях (таких как Обама или Новая Англия )
- Нормализация текста
В частности, заменить слова с перегибом их общим основанием. Может быть, даже заменить некоторые прилагательные соответствующим именованным субъектом (например, Parisian ==> Paris, legal ==> law)
Также удалите шумовые слова и шумовые выражения.
- определить некоторые слова из списка поддерживаемых вручную "текущих / повторяющихся горячих слов" (Суперкубок, Выборы, скандал ...)
Это можно использовать на последующих этапах, чтобы придать больший вес некоторым N-граммам
- Перечислите все N-граммы, найденные в каждом документе (где N равно 1, скажем, 4 или 5)
Обязательно подсчитайте отдельно количество вхождений каждого N-грамма в данный документ и количество документов, которые ссылаются на данный N-грамм
- Наиболее часто цитируемые N-граммы (то есть те, которые цитируются в большинстве документов), вероятно, являются темами.
- Укажите существующие темы (из списка известных тем)
- [опционально] Просмотр новых тем вручную
Этот общий рецепт также может быть изменен для использования других атрибутов документов и текста в них. Например, происхождение документа (скажем, cnn / sports или cnn / policy ...) может использоваться для выбора предметных лексиконов. Другой пример: процесс может более или менее сильно выделить слова / выражения из заголовка документа (или других областей текста с определенной разметкой).