Я хочу рассчитать косинусное сходство двух списков, например:
A = [u'home (private)', u'bank', u'bank', u'building(condo/apartment)','factory']
B = [u'home (private)', u'school', u'bank', u'shopping mall']
Я знаю, что косинусное сходство A и B должно быть
3/(sqrt(7)*sqrt(4)).
Я пытаюсь преобразовать списки в такие формы, как «домашний банк, завод по строительству банка», который выглядит как предложение, однако некоторые элементы (например, домашний (частный)) содержат пустое пространство, а некоторые элементы имеют квадратные скобки, поэтому мне трудно вычислить вхождение слова.
Знаете ли вы, как вычислить вхождение слова в этот сложный список, чтобы для списка B вхождение слова можно было представить как
{'home (private):1, 'school':1, 'bank': 1, 'shopping mall':1}?
Или вы знаете, как вычислить косинусное сходство этих двух списков?
Большое тебе спасибо
cosine similarity
? откуда взялись эти переменные3/(sqrt(7)*sqrt(4)).
? - person ZdaR   schedule 03.03.2015