Вычисление сходства и центроида документов Lucene - PullRequest
2 голосов
/ 10 августа 2010

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

Все, что я могу придумать, - это построить свою собственную модель векторного пространства с взвешиванием tf-idf, используя для этого частоты TermFreqVectors и Total Term.

Мой вопрос: это неэффективный подход, есть ли лучший способ сделать это?

Это кажется немного неясным, поэтому любые предложения о том, как я могу улучшить свой вопрос, также приветствуются.

Ответы [ 3 ]

1 голос
/ 10 августа 2010
0 голосов
/ 15 февраля 2014

Чтобы получить сходство одного документа с другим, почему бы не сделать один запрос с содержимым одного документа и выполнить запрос по индексу? Таким образом, вы получите оценку (значения косинуса сходства)

0 голосов
/ 10 августа 2010

Короткий ответ: Нет.

Я потратил много времени (слишком много), изучая это, и, насколько я вижу, вы можете создать свою собственную модель векторного пространства иИсходя из этого, или используйте Mahout, чтобы сгенерировать вектор Mahout, с помощью которого можно сравнивать документы.Я собираюсь сделать свое дело, поэтому я отмечаю этот вопрос как ответ!

...