Связанные поисковые слова в Elasticsearch

Я ищу удобный способ поиска слов, связанных с термином. Например, если я ищу слово «стиральная машина», я должен получить связанные поисковые термины, такие как «сушилка», с более низким баллом благодаря результатам стиральной машины. Это означает, что документы стиральной машины должны отображаться первыми, а затем документы сушилки. как я могу сделать эту функцию?

0
0
218
1

Ответы 1

Вам нужно составить словарь синонимов. К счастью, сейчас у нас есть модели машинного обучения, такие как «word2vec (нейронная сеть)», которые могут это сделать. Вы можете попробовать использовать для этого пакет gensim с открытым исходным кодом.

Входными данными для модели будет множество текста/информации/статей, содержащих слова «стиральная машина и сушилка». как только вы потренируетесь на этом, вы сможете найти самые близкие слова, связанные со словом «стиральная машина», и использовать их как синонимы, такие как словарь.

Во время запроса найдите этот словарь и расширьте запрос с более низким весом/усилением для синонимов, чем фактический термин.

Спасибо за Ваш ответ ! но я думаю, что это не связано с Elasticsearch, и неудобно обучать модель большого количества текста только для того, чтобы связать несколько слов, для моего случая у меня всего несколько слов, и я думаю, что я должен определить список связанных работ, таких как [ 'стиральная машина', 'сушилка' .... ]

sicario123 08.03.2019 11:36

так вы вручную курируете этот словарь для небольшого набора важных слов? если да, вы спрашиваете, как построить запрос?

Pari Rajaram 08.03.2019 11:41

что я хочу сделать, так это составить списки связанных слов, поэтому, если я ищу стиральную машину, его может заинтересовать сушилка

sicario123 08.03.2019 11:48

один из способов выполнения семантического поиска — иметь промежуточный слой (в java/tomcat, python/django или nodejs), который выполняет такие функции НЛП. Этот уровень анализирует входящий запрос и просматривает этот список связанных слов (ваш словарь), расширяет его правильными синонимами и создает окончательный запрос для эластичности.

Pari Rajaram 08.03.2019 11:56

Другие вопросы по теме