Comments 6
Так вы че то странное делаете. Поиск в векторной бд происходит "семантически", и обычно в query подают весь запрос целиком. А тут просто запрос к словарю по заголовку, тут эмбеддинги не нужны
В случае с толковым словарем Ожегова, может быть 2 типа вопросов:
По содержимому или значению найти термин
Найти термин, что он обозначает
Правильно ли я понимаю, что вы предлагаете использовать для первого типа векторную. А для второго типа "запрос к словарю" - другую БД?
Дупликация данных? Доп. ресурсы? Как отделять первый тип от второго? Классификация?
В таком случае, это уже не похоже на "по-быстрому", а задача как раз в этом. Минимальные усилия и максимальный результат)
Я не предлагаю использовать разные БД, в chroma можно делать запросы по айди тоже. Я о том, что эмбеддинги изначально используются не по назначению, а потом делается вывод что "чет точность маловата". Тест построен некорректно
Спасибо за уточнение)
Тест построен некорректно
Тест построен, чтобы показать, что точность в случаях с терминами низкая и найти этому простое решение. Об этом нюансе не пишут. Надеюсь, что кто-то прочитает и будет полезно учитывать этот фактор.
Например, если будет грузить свой какой-то справочник терминов с остальной информацией.
Я может код неправильно прочитал, но выглядит как какая-то лажа. Вы никак не используете описание самого термина, берёте эмбединг только для самого слова. Я бы удивился будь там хоть какой-то приемлемый результат. Думаю если прогоните по всему словарю, то будет значительно ниже 25%.
Все эти модели эмбединга они для текста, предложений, не для отдельных слов.
Спасибо, за замечание, добавил уточнение.
В случае с толковым словарем Ожегова, может быть 2 типа вопросов:
По содержимому или значению найти термин
Найти термин, что он обозначает
Проблема во втором типе вопросов, когда на входе термин. Да, это не работает. И цифры это подтверждают. Теперь цель найти решение, для таких кейсов. А не наступать на мои грабли)
Во второй части попробую использовать гибридный поиск
Векторные БД vs Точность — часть 1