Я делаю небольшое исследование о том, как кластерные статьи в "новостях" публикуются в новостях Google.
Глядя на предыдущие вопросы здесь по этому вопросу, я часто вижу, что рекомендуется просто вытаскивать вектор слов из статьи, весить некоторые слова больше, если они находятся в определенных частях статьи (например, заголовок), а затем использовать что-то вроде k-мерного алгоритма для кластеризации статей.
Но это приводит к двум вопросам:
-
С k-средствами, как вы знаете заранее, сколько k должно быть? В динамичной среде новостей у вас может быть очень много разных историй, и вы не будете знать заранее, сколько историй представляет коллекция статей.
-
С иерархическими алгоритмами кластеризации, как вы решаете, какие кластеры использовать в качестве ваших историй? У вас есть кластеры в нижней части дерева, которые представляют собой только отдельные статьи, которые вы, очевидно, не захотите использовать, и кластер в корне дерева, в котором есть все статьи, которые вам опять не нужны... но откуда вы знаете, какие кластеры между ними следует использовать для представления историй?
-
Наконец, с помощью k-средних или иерархических алгоритмов большинство прочитанных нами литературы, похоже, предполагают, что у вас есть предустановленный набор документов, которые вы хотите сгруппировать, и он объединяет их все сразу. Но что такое ситуация, когда у вас появляются новые статьи, которые так часто появляются. Что происходит? Нужно ли кластеризовать все статьи с нуля, а теперь еще один? Вот почему мне интересно, есть ли подходы, которые позволяют вам добавлять статьи, когда вы идете без повторной кластеризации с нуля. Я не могу представить, что это очень эффективно.