Авторский вымышленный учебный пример. Результаты модели не заданы заранее.
Пример, который можно изменить
- 1 · Текст для проверки
- L1| Заказы отправляются в течение двух рабочих дней после оплаты. L2| Невскрытые товары можно вернуть в течение 30 дней с полным возмещением стоимости. L3| Вскрытые товары можно обменять в течение 14 дней, но их стоимость не возмещается. L4| Подарочные карты действуют бессрочно и не обмениваются на наличные. L5| Пишите в поддержку по электронной почте; ответ обычно приходит в течение одного рабочего дня.
- 2 · Ваш вопрос
- Какая строка отвечает на запрос: «Можно ли получить деньги назад, если коробка уже открыта?»
- 3 · Задайте от 2 до 6 вариантов
- L1
- L2
- L3
- L4
- L5
- Ни одна строка не отвечает
Ни одна из строк не относится к запросу.
Это вероятности модели, а не измеренная точность или гарантия. «Да» и «Нет» соответствуют вашим правилам; варианты сравниваются только в пределах заданного вами набора.
Может ли Jev искать по смыслу, а не по ключевым словам?
Да, в пределах ограниченного списка. Рецепт построчного поиска TypeSafe помечает каждую строку документа идентификатором, отправляет размеченный текст как состояние и задаёт вопрос Choice: какая строка отвечает на этот запрос? В ответе есть вероятность для каждой строки, поэтому ваш код может их ранжировать. Та же схема подходит для любого короткого списка текстовых строк: тем писем во входящих, строк таблицы, пунктов правил.
Открыть редактируемый шаблон поиска по строкам. В нём пять вымышленных строк из правил магазина и запрос, у которого почти нет общих слов со строкой, дающей ответ. Загрузка создаёт черновик; проверка начинается только по вашему запросу.
Зачем в шаблоне вариант «ни одна строка»
Вероятности Choice в сумме всегда дают единицу. Поэтому какая-то строка окажется первой, даже если в документе нет ответа на запрос. Официальный рецепт решает это вторым вопросом да/нет, который отправляется в том же обращении к модели: относится ли к запросу хоть одна строка? Ваш код читает этот ответ, прежде чем доверять ранжированию.
Playground задаёт по одному вопросу за раз, поэтому в этом шаблоне добавлен шестой вариант — «Ни одна строка не отвечает», — чтобы приучить к той же привычке. В собственной интеграции предпочтите форму с двумя вопросами из рецепта.
| Часть | Что она делает |
|---|---|
Идентификаторы строк (L1 … L5) |
Дают каждому кандидату короткий устойчивый идентификатор. |
| Вопрос Choice | Ранжирует идентификаторы для одного запроса. |
| «Ни одна строка не отвечает» | Не позволяет запросу без ответа выглядеть так, будто ответ найден. |
Меняйте один элемент и сравнивайте
- Запустите шаблон и запишите вероятности для L2 и L3. Обе строки касаются возврата, но только одна относится к вскрытой коробке.
- Замените запрос на «Сколько времени занимает доставка?» и запустите проверку снова.
- Спросите о том, на что строки ответить не могут, например «Доставляете ли вы в Канаду?», и посмотрите, победит ли последний вариант.
Ожидаемый ответ заранее не задан. Три запуска на пяти придуманных строках ничего не говорят о точности на ваших документах.
Ограничения, которые стоит учесть заранее
- Размер списка. В рецепте отмечено, что вопрос Choice принимает до 255 вариантов, так что одно обращение охватывает до 255 строк; для более длинных документов нужен первый проход, сужающий круг кандидатов. Редактор на этом сайте допускает 2–6 вариантов; это ограничение сайта.
- Пороги. Пороговые значения рецепта для «есть ответ», «частичный ответ» и «ответа нет» разделяют его собственные примеры и рассчитаны на то, что вы настроите их на своих документах.
- Первичный отбор по-прежнему важен. Рецепт переранжирования TypeSafe сначала составляет короткий список по ключевым словам и только потом задаёт по одному вопросу на каждую пару «запрос — фрагмент». Jev оценил тех кандидатов, которых ему дали; по всему корпусу он не искал.
- Факты остаются в тексте. Ранжирование указывает на строку. Показывайте саму строку, а не пересказ, чтобы читатель мог её проверить.
В галерее проектов собраны эксперименты сообщества с поиском и переранжированием; каждый из них — единичное сравнение, о котором сообщил сам автор, а не бенчмарк. О противоречивых сигналах между близкими строками читайте в статье о вероятности и confidence.
Источники и дополнительные материалы
Руководство опирается на официальную документацию и сообщения сообщества по ссылкам. Авторы наблюдений сообщества указаны.
Как мы проверяем источники