Як обчислюється метод подібності у SpaCy?


13

Не впевнений, що це правильний стек-сайт, але тут ідеться.

Як працює метод .симіліарності?

Нічого чудовий spaCy! Модель tfidf може бути простішою, але w2v лише з одним рядком коду ?!

У своєму підручнику з 10 рядків про spaCy andrazhribernik покажіть нам метод подібності, який можна запускати на лексемах, сентах, фрагментах слів та документах.

Після nlp = spacy.load('en')і doc = nlp(raw_text) ми можемо робити запити на подібність між маркерами та фрагментами. Однак, що розраховується поза кадром у цьому .similarityметоді?

SpaCy вже неймовірно простий .vector, який обчислює вектор w2v, підготовлений з моделі GloVe (наскільки класним буде .tfidfчи .fasttextметод?).

Чи модель просто обчислює схожість косинуса між цими двома w2v, .vector, векторами або порівнює якусь іншу матрицю? Специфікація не чітка в документації ; будь-яка допомога вдячна!


1
"наскільки класним може бути метод .tfidf або .fasttext?" то документи дають приклад заміни векторів рукавички з FastText. Можливо, це зовсім не так, як мати їх разом. Github
Carl G

Відповіді:


12

Знайшов відповідь, коротше, це так:

Посилання на код Соуса

return numpy.dot(self.vector, other.vector) / (self.vector_norm * other.vector_norm)

Це виглядає як його формула для обчислення схожості косинусів, і вектори, здається, створені за допомогою SpaCy, для .vectorякої документація говорить, що підготовлена ​​з моделі w2v GloVe.


6

За замовчуванням це косинусна схожість, вектори усереднюються над документом для пропущених слів.

Ви також можете налаштувати це, встановивши гачок на doc.user_hooks['similarity']. Цей компонент трубопроводу охоплює функції подібності, що спрощує налаштування подібності:

https://github.com/explosion/spaCy/blob/develop/spacy/pipeline.pyx#L50


Технічно ви, схоже, пов'язані зі SentenceSegmenterстратегією.
Карл G
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.