Есть проблема, которую мы пытаемся решить, где мы хотим выполнить семантический поиск по нашему набору данных, то есть у нас есть данные, относящиеся к области (пример: предложения, говорящие об автомобилях)
Наши данные - это просто набор предложений, и мы хотим дать фразу и получить обратно предложения, которые:
- Похоже на эту фразу
- Имеет часть предложения, которая похожа на фразу
- Предложение, имеющее контекстуально похожие значения
Позвольте мне привести вам пример: предположим, я ищу фразу «Опыт покупки», я должен получить такие предложения:
- Я никогда не думал, что покупка машины может занять менее 30 минут, чтобы подписать и купить.
Я нашел автомобиль, который мне понравился, и процесс покупки был
простым и легкимЯ абсолютно ненавидел ходить по магазинам, но сегодня я рад, что сделал
Я хочу подчеркнуть тот факт, что мы ищем контекстуальное сходство, а не просто поиск слов грубой силой.
Если в предложении используются разные слова, то оно также должно быть в состоянии найти его.
Вещи, которые мы уже попробовали:
В открытом семантическом поиске проблема, с которой мы здесь столкнулись, заключается в создании онтологии из имеющихся у нас данных или для поиска доступной онтологии в различных областях, которые нас интересуют.
Эластичный поиск (BM25 + Vectors (tf-idf)), мы попробовали это, где он дал несколько предложений, но точность была не такой уж высокой. Точность тоже была плохой. Мы попробовали использовать набор данных, созданный человеком, он смог получить только около 10% предложений.
Мы пробовали разные вложения, как когда-то упоминалось в преобразователях предложений, а также прошли пример и попытались сравнить их с набором, созданным человеком, который также имел очень низкую точность.
Мы попробовали ELMO . Это было лучше, но все же точность ниже, чем мы ожидали, и существует когнитивная нагрузка для определения значения косинуса, ниже которого мы не должны рассматривать предложения. Это относится даже к пункту 3.
Любая помощь будет оценена. Большое спасибо за помощь заранее