Мера сходства между двумя семантическими векторами с COLT - PullRequest
0 голосов
/ 14 апреля 2011

Я использую распространение-активацию, чтобы получить связанные понятия к данному.

Если я хочу вычислить сходство между «Лондоном» и «Парижем», я получаю 2 вектора, таких как:

vector for 'Paris':
Paris : 1.0
City : 0.9
Capital : 0.7
France : 0.6
Europe : 0.5
...

vector for 'London':
London : 1.0
City : 0.9
England : 0.9
United Kingdom : 0.8
Europe : 0.5
...

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

Я нашел следующие пакеты: SimMetrics: http://staffwww.dcs.shef.ac.uk/people/S.Chapman/simmetrics.html и COLT: http://nlp.stanford.edu/nlp/javadoc/colt-docs/overview-summary.html

Как можно использовать их в моем сценарии?

Спасибо!Mulone

1 Ответ

0 голосов
/ 14 апреля 2011

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

Кроме того, по какой мере Лондон больше "Европы", чем Париж?

...