Перейти к содержимому
Последнее обновление

AI_SIMILARITY

Описание​

Определяет семантическое сходство между двумя текстами.

Синтаксис​

AI_SIMILARITY([<resource_name>], <text_1>, <text_2>)

Параметры​

ПараметрОписание
<resource_name>Имя указанного ресурса
<text_1>Текст
<text_2>Текст

Возвращаемое значение​

Возвращает число с плавающей точкой в диапазоне от 0 до 10. 0 означает отсутствие сходства, а 10 означает высокую степень сходства.

Если хотя бы один входной аргумент равен NULL, возвращает NULL.

Результат генерируется большой языковой моделью, поэтому он может меняться.

Пример​

Предположим, у вас есть следующая таблица с отзывами, полученными курьерской компанией:

CREATE TABLE user_comments (
id INT,
comment VARCHAR(500)
) DUPLICATE KEY(id)
DISTRIBUTED BY HASH(id) BUCKETS 10
PROPERTIES (
"replication_num" = "1"
);

Чтобы упорядочить отзывы с учётом настроения клиентов, можно использовать:

SELECT comment,
AI_SIMILARITY('resource_name', 'I am extremely dissatisfied with their service.', comment) AS score
FROM user_comments ORDER BY score DESC LIMIT 5;

Результат запроса может выглядеть так:

+-------------------------------------------------+-------+
| comment | score |
+-------------------------------------------------+-------+
| It arrived broken and I am really disappointed. | 7.5 |
| Delivery was very slow and frustrating. | 6.5 |
| Not bad, but the packaging could be better. | 3.5 |
| It is fine, nothing special to mention. | 3 |
| Absolutely fantastic, highly recommend it. | 1 |
+-------------------------------------------------+-------+