группировать похожие документы - PullRequest
0 голосов
/ 20 мая 2011

Этот вопрос относится к группировке / кластеризации аналогичных документов в поиске информации.

У меня есть комплект документов, D1, D2, .. Dn.Для каждого документа Di у меня также есть набор ключевых слов, Di_k1, Di_k2, ..., Di_km.Сходство между двумя документами Di и Dj задается функцией, которая включает в себя связанные ключевые слова, т.е. сходство (Di, Dj) = f (Di_K, Dj_K).

Теперь я хочу поместить каждый из этих документов в набор групп / кластеров таким образом, чтобы каждый кластер содержал документы одинакового типа для заданного порогового значения сходства между элементами, присутствующими в кластере.

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

Мой вопрос: какой алгоритм может помочь мне эффективно сгруппировать документы?Я особенно заинтересован в вычислительной сложности алгоритма.

Заранее спасибо за любые указатели.

Ответы [ 2 ]

0 голосов
/ 28 сентября 2015

Одно расслабленное сходство между ВСЕМИ документами в кластере. Выберите произвольный центр и имейте сходство с центром.

Сложность

(n / avgClusterSize) * (n / 2)

0 голосов
/ 13 декабря 2011

Ладно, с моей головы , вы можете использовать подход, основанный на модели языка.Во-первых, используйте машинное обучение, чтобы построить LM для каждого возможного класса.Скажем, биграмм Л.М.Затем для каждого нового документа, который вы видите, вычислите P (новый документ | класс) для всех классов.Выберите тот с максимальной вероятностью.Используйте правило Байеса, чтобы упростить приведенную выше формулу

...