Оценка модели Glove путем нахождения линейной алгебраической структуры слов
Я построил модель Glove на моем текстовом корпусе, используя приложение c после этой реализации https://github.com/stanfordnlp/GloVe/tree/master/src. Я хочу найти слово вложения таким образом, чтобы
Если A относится к B, а C относится к D, то A-C+B должен быть равен D. Например, векторная арифметика встраивания "Австралия"-"Канберра"+"Индия" должна быть равна встраиванию "Нью-Дели".
Я хочу оценить эти вложения в Python.
1 ответ
Этапы оценки для любого A B C D
:
- Рассчитать векторное представление
D'
сD' = A-C+B
, - Для всего слова вектор
v
в обученном GloV, вычислите косинусное сходствоv
а такжеD'
, - Проверьте, наиболее ли похож вектор на
D'
на самом деле предназначенное словоD
,
Такие результаты можно рассматривать как @top1 как оценку поиска информации. Вы можете изменить третий шаг, чтобы получить @top k
,