Усреднение всех слов текста вместе, чтобы получить единый суммарный вектор для текста, а затем сравнение этого суммарного вектора с другими текстовыми векторами - это один быстрый и простой подход, как описано в ответе @ Jindřich.
Если Facebook обеспечил, чтобы эти векторы находились «в одном и том же координатном пространстве», то отдельные слова или средние последовательности слов (фразы / предложения / и т. Д.) Можно сравнивать, используя типичное косинусоподобие- даже на разных языках.
Но есть и другие более сложные способы сравнения серий слов, когда вы начинаете с векторов слов, которые могут обеспечить более детальную оценку, чем простые средние сравнения. Например, «Расстояние для Word Mover» использует в качестве входных данных полный набор векторов слов каждого текста, а не один суммарный вектор.
Однако рассчитать это немного дороже, особенно для длинных текстов - потому что он, по сути, ищет минимальный набор переходов, которые «перемещают» «груды смысла» в одном тексте (как представлено егопозиции слова в векторном пространстве), чтобы соответствовать другому тексту.
Он доступен в gensim
как функция wmdistance
на любом наборе KeyedVector
стилей слов-векторов, но он предполагает оба ваших текстанарисовать их векторы из того же набора векторов. Вам придется адаптировать код для рисования из двух разных векторов или каким-то образом объединить двухязыковые векторы в один KeyedVectors
.