Phone icon Зв'язатись з нами

ШІ та машинне навчання

Що таке семантичний пошук?

Семантичний пошук (semantic search) — це пошук за змістом запиту, а не за збігом слів. Запит і документи перетворюють на ембединги, а потім система знаходить записи, чиї вектори найближчі до вектора запиту.

Звичайний повнотекстовий пошук шукає однакові слова, тому не справляється із синонімами, одруками і перефразуваннями. Семантичний пошук знайде статтю «умови повернення товару» за запитом «як повернути покупку», бо порівнює зміст.

Найкраще на практиці працює гібридний підхід: результати повнотекстового і семантичного пошуку об’єднують. Пошук за словами точніший для артикулів, назв і номерів, а семантичний — для питань звичайною мовою.

Де застосовується

Семантичний пошук використовують там, де люди формулюють запит своїми словами: база знань підтримки, внутрішній портал із регламентами, каталог товарів, архів статей. Він знаходить потрібне, навіть якщо в документі вжиті зовсім інші терміни.

Окремо його використовують рідко. Найкращий результат дає гібридна схема: звичайний пошук за словами знаходить точні збіги — артикули, назви, номери, — а векторний додає документи, близькі за змістом. Потім результати двох списків об’єднують і впорядковують.

Приклад

Працівник шукає «що робити, якщо клієнт передумав». У регламенті ця ситуація називається «скасування замовлення до відвантаження» — жодного спільного слова. Пошук за ключовими словами нічого не знайде, а семантичний поверне потрібний пункт.

Часті запитання

Чим семантичний пошук відрізняється від пошуку за ключовими словами?

Пошук за словами порівнює символи і знаходить точні збіги. Семантичний порівнює вектори змісту, тому справляється із синонімами, перефразуваннями та одруками. Натомість він гірше працює з точними ідентифікаторами — артикулами, кодами, номерами документів.

Що таке гібридний пошук?

Це поєднання двох підходів: результати звичайного пошуку за словами і векторного пошуку об’єднують і ранжують разом. Так система не втрачає ні точних збігів, ні документів, близьких за змістом. Це стандартне рішення для більшості робочих систем.

Чи потрібна мовна модель для семантичного пошуку?

Для самого пошуку — ні, вистачає моделі ембедингів, яка значно менша і дешевша. Мовна модель потрібна далі, якщо на основі знайдених фрагментів треба сформулювати зв’язну відповідь, а не просто показати список документів.

Як оцінити якість семантичного пошуку?

Збирають набір реальних запитів із заздалегідь відомими правильними документами і перевіряють, чи потрапляє потрібний результат у перші кілька позицій. Без такої перевірки покращення залишаються суб’єктивними, а зміна моделі може непомітно погіршити результати.

Навчання програмуванню в OWU

Опануйте професію в IT на практичних курсах із менторами та реальними проєктами.

Обрати курс