Вопрос:

Word2vec сasticsearch для сходства текстов

elasticsearch word2vec

5775 просмотра

2 ответа

322 Репутация автора

У меня есть большая коллекция текстов, где каждый текст быстро растет. Мне нужно реализовать поиск сходства.

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

Можно ли использовать эластичный поиск для косинусного сходства, сохраняя в документе только координаты нормализованного вектора каждого текста? Если да, какова правильная структура индекса для такого поиска?

Автор: Alec Matusis Источник Размещён: 23.02.2017 06:45

Ответы (2)


6 плюса

94 Репутация автора

Этот плагин эластичный поиск реализует функцию оценки (произведение точек) для векторов, хранящихся с использованием delimited-payload-tokenfilter

Сложность этого поиска является линейной функцией количества документов, и она хуже, чем tf-idf в запросе термина, поскольку ES сначала выполняет поиск по инвертированному индексу, а затем использует tf-idf для оценки документов , поэтому tf-idf не выполнено по всем документам указателя. С вектором искомое представление является векторным пространством документа с меньшим косинусным расстоянием, без преимуществ инвертированного индекса.

Автор: angleto Размещён: 05.03.2017 04:09

0 плюса

760 Репутация автора

Для Elasticsearch 6.4.x StaySense сделал этот плагин доступным .

Автор: Alex Moore-Niemi Размещён: 12.06.2019 10:10
Вопросы из категории :
32x32