Алгоритм инкрементной кластеризации для группировки новостных статей? - PullRequest
14 голосов
/ 31 августа 2010

Я провожу небольшое исследование о том, как группировать статьи в «новостные истории», как «Новости Google».

Глядя на предыдущие вопросы здесь по теме, я часто вижу, что рекомендуется просто вытащить вектор слов из статьи, взвесить некоторые слова больше, если они есть в определенных частях статьи (например, заголовок) и затем использовать что-то вроде алгоритма k-средних для кластеризации статей.

Но это приводит к паре вопросов:

  • С помощью k-средних вы заранее знаете, сколько должно быть k? В динамичной новостной среде у вас может быть очень разное количество историй, и вы не будете знать заранее, сколько историй представляет коллекция статей.

  • С алгоритмами иерархической кластеризации, как вы решаете, какие кластеры использовать в качестве ваших историй? У вас будут кластеры в нижней части дерева, которые являются просто отдельными статьями, которые вы, очевидно, не захотите использовать, и кластер в корне дерева, который содержит все статьи, что опять же вам не нужно ... но как узнать, какие кластеры между ними следует использовать для представления историй?

  • Наконец, с помощью k-средних или иерархических алгоритмов большинство прочитанной мною литературы, похоже, предполагают, что у вас есть заранее заданная коллекция документов, которые вы хотите кластеризовать, и она объединяет их все сразу. Но как насчет ситуации, когда у вас появляются новые статьи? Что просходит? Нужно ли кластеризовать все статьи с нуля, теперь, когда есть еще одна? Вот почему мне интересно, есть ли подходы, которые позволят вам «добавлять» статьи по ходу работы без повторной кластеризации с нуля. Я не могу себе представить, что это очень эффективно.

Ответы [ 2 ]

3 голосов
/ 17 июля 2014

Я работал над стартапом, который построил именно это: механизм инкрементальной кластеризации для новостных статей. Наш алгоритм основан на этом документе: кластеризация веб-документов с использованием индексного графика документов (http://ieeexplore.ieee.org/xpl/articleDetails.jsp?reload=true&arnumber=4289851). у нас хорошо работала при 10 тыс. Статей / день.

Имеет два основных преимущества: 1) Это пошаговое решение, которое решает проблему, с которой вам приходится иметь дело с потоком входящих статей (а не с кластеризацией сразу) 2) В нем используется фразеологическое моделирование, а не просто «мешок слов», что приводит к гораздо более высокой точности.

Появляется поиск Google http://www.similetrix.com, они могут иметь то, что вы ищете.

2 голосов
/ 31 августа 2010

Я бы занялся поиском адаптивных алгоритмов кластеризации K-средних.Есть хороший раздел исследований, посвященных проблемам, которые вы описываете.Вот одна такая бумага (pdf)

...