Сходство документов
Я использовал tf/idf для вычисления сходства между двумя документами. Это имеет некоторые ограничения и не очень хорошо работает.
Я искал LDA (скрытое распределение дирихле) для расчета сходства документов. Я не знаю много об этом. Я не мог найти много вещей о моей проблеме.
Можете ли вы дать мне любой учебник, связанный с моей проблемой? Или вы можете дать несколько советов, как я могу выполнить эту задачу с LDA???
Спасибо
PS: также есть ли исходный код для выполнения такой задачи с LDA?
4 ответа
Вы смотрели на Lucene и Mahout?
Это может быть полезно - скрытое выделение Дирихле с Lucene и Mahout.
Возможно, вы думаете о LSA (скрытом семантическом анализе), который является очень распространенным решением для такого рода проблем.
Немного стар, но для тех, кто все еще заинтересован, взгляните на этот пост в блоге (отказ от ответственности: это мой собственный блог). Алгоритм, описанный там, и связанный код, вероятно, сделают то, что вам нужно, если вы не настроены на какой-то конкретный подход.
Что касается комментария Шашиканта, косинусное сходство может быть не очень хорошим вариантом, потому что подписи пропорциональны по длине документам. Подписи постоянной длины предпочтительнее.
Попробуйте этот сервис для вычисления косинусного сходства между двумя документами
http://www.scurtu.it/documentSimilarity.html
import urllib,urllib2
import json
API_URL="http://www.scurtu.it/apis/documentSimilarity"
inputDict={}
inputDict['doc1']='Document with some text'
inputDict['doc2']='Other document with some text'
params = urllib.urlencode(inputDict)
f = urllib2.urlopen(API_URL, params)
response= f.read()
responseObject=json.loads(response)
print responseObject