Що таке семантичний пошук?
Семантичний пошук — це пошук за змістом запиту, а не за збігом слів. Запит і документи переводяться в ембединги, після чого система знаходить записи, вектори яких найближчі до вектора запиту.
Класичний повнотекстовий пошук шукає входження слів і тому промахується на синонімах, друкарських помилках та переформулюваннях. Семантичний пошук знайде статтю «умови повернення товару» за запитом «як повернути покупку», бо порівнює змісти.
На практиці найкраще працює гібридний підхід: результати повнотекстового й семантичного пошуку обʼєднують. Ключові слова точніші для артикулів, назв і номерів, а семантика краща для питань природною мовою.
Де застосовується
Смисловий пошук застосовують там, де користувачі формулюють запит своїми словами: база знань служби підтримки, внутрішній портал з регламентами, каталог товарів, архів статей. Він знаходить потрібне, навіть якщо в документі використана зовсім інша термінологія.
На практиці його рідко використовують наодинці. Найкращий результат дає гібридна схема: звичайний пошук за словами ловить точні збіги — артикули, назви, номери, — а векторний додає документи, близькі за змістом. Результати двох списків обʼєднують і перевпорядковують.
Приклад
Співробітник шукає «що робити, якщо клієнт передумав». У регламенті ця ситуація називається «анулювання замовлення до відвантаження» — жодного спільного слова. Пошук за ключовими словами поверне порожнечу, смисловий знайде потрібний пункт.
Часті запитання
Чим семантичний пошук відрізняється від пошуку за ключовими словами?
Пошук за словами порівнює символи і знаходить точні входження. Семантичний порівнює вектори змісту, тому справляється із синонімами, перефразуванням і одруками. Зате він гірше працює з точними ідентифікаторами — артикулами, кодами, номерами документів.
Що таке гібридний пошук?
Комбінація двох підходів: результати звичайного пошуку за словами і векторного пошуку обʼєднуються і ранжуються разом. Так система не втрачає ні точних збігів, ні близьких за змістом документів. Це стандартне рішення для більшості робочих систем.
Чи потрібна для семантичного пошуку мовна модель?
Для самого пошуку — ні, достатньо моделі ембедингів, яка помітно менша й дешевша. Мовна модель потрібна на наступному кроці, якщо за знайденими фрагментами треба сформулювати звʼязну відповідь, а не просто показати список документів.
Як оцінити якість такого пошуку?
Збирають набір реальних запитів із заздалегідь відомими правильними документами і вимірюють, чи потрапляє потрібний результат у перші кілька позицій. Без такої перевірки покращення лишаються субʼєктивними, і зміна моделі легко погіршує видачу непомітно.