Подтвердить что ты не робот

Кластеризация новостей

Как Google News и Techmeme группируют новостные статьи, похожие на них? Есть ли какой-либо хорошо известный алгоритм, который используется для достижения этого?

Цените свою помощь.

Спасибо заранее.

4b9b3361

Ответ 1

Один довольно распространенный способ кластерного текста на основе содержимого - использовать Принципиальный анализ компонентов для векторов слов (вектор из n измерений, где каждый возможное слово представляет собой одно измерение и величину в каждом направлении, для каждого вектора - число вхождений слова в этой конкретной статье), а затем просто простая кластеризация, такая как K-Means.

Ответ 2

Алгоритмическая база - это агломеративная кластеризация или что-то подобное. Но на самом деле есть ряд эвристик. Например, векторное пространство, несомненно, состоит из слов и фраз (слово n-граммов). Также очень важно ограничить поиск в строгий период времени. И идентифицировать имена и взвешивать больше заголовков и заголовков абзацев также являются ключевыми частями.

В касательной связи. Если вы заинтересованы в поиске статей, близких к дублированию, существует ряд более простых в реализации подходов, таких как описанный здесь

Ответ 3

Есть несколько разных способов сделать это. Стандартом является анализ "мешка слов" (взвешенный TF-IDF), а затем сходимость косинуса и k-средство.

У меня был успех в этой статье: http://ieeexplore.ieee.org/xpl/articleDetails.jsp?reload=true&arnumber=4289851

Самое замечательное в этом: 1) Это инкрементно, что отлично подходит для новостей. При использовании стандартных k-средств вам необходимо иметь весь набор данных. С новостями у вас обычно появляются статьи со временем. Инкрементальные алгоритмы решают это. 2) Он основан на фразе. Поэтому он полагается на фразы, а не только на слова.

В последнее время существуют методы, которые используют семантический смысл вместо слов (например, путем извлечения концепций Wikipedia или DBPedia из каждой статьи и использования этого вместо просто слов).