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

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

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

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

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

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

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

14
задан Vadim Kotov 1 August 2017 в 16:25
поделиться