
raFTI: как сопоставлять «хаотичные» названия вин
GcVit 9 минут назад raFTI: как сопоставлять «хаотичные» названия вин Средний 6 мин 252 Data Mining * Natural Language Processing * Инженерные системы * Машинное обучение * Поисковые технологии * Кейс Из песочницы...
Anthropic — What company has the best second artificial intelligence model at the end of June?
Значимый прорыв формирует отрасль ИИ: GcVit 9 минут назад raFTI: как сопоставлять «хаотичные» названия вин Средний 6 мин 252 Data Mining * Natural Language Processing * Инженерные системы * Машинное обучение * Поисковые технологии * Кейс Из песочницы Привет, я Вит Глинка, backend программист в компании Deeplace, в которой среди прочего активно работают в области winetech. Хочу презентовать нашу последнюю фичу в этой области — raFTI. 3 — систему полнотекстового поиска.
Работая с винными каталогами, довольно быстро сталкиваешься с неожиданной проблемой. Названия одних и тех же вин могут выглядеть совершенно по‑разному. Например:Barolo Riserva 2016Barolo 2016 RiservaBarolo DOCG Riserva 2016Иногда различия ещё сильнее:разные языкисокращениядополнительные словаошибки ввода В результате простая задача поиска превращается в задачу интерпретации текста.
Технические детали
Несколько лет назад я начал экспериментировать с системой сопоставления названий вин. Постепенно она превратилась в довольно необычную систему, построенную на большом количестве эвристик и правил — raFTI. 3 (Relate Assemblies for Full Text Indexation).
Хаос названий винНазвания вин часто выглядят как свободные текстовые конструкции. Они могут содержать: сорт винограда / регион / винодельню / тип вина / год / цвет / …Причем порядок этих элементов может меняться. Иногда часть информации вообще отсутствует.
Иногда наоборот — добавляются маркетинговые слова. В итоге разные варианты записи могут относиться к одному и тому же вину. Якоря и МодификаторыНекоторые термы в названии играют роль якорей, другие — модификаторов.
Отраслевые последствия
Якоря определяют основные смысловые точки строки, а модификаторы уточняют их. От групп к шаблонамСначала система использовала простые группы терминов. Например:сорта винограда / регионы / винодельни / …Но постепенно стало понятно, что названия вин формируются не случайно.
Они обычно следуют определённым структурным шаблонам. Поэтому следующим шагом стало выделение подгрупп терминов и построение шаблонов имен. Например: или Когда последовательность подгрупп в названии явно не выделена, такие шаблоны начинают играть роль якорей сопоставления.
Маниакальная синонимияОдной из ключевых идей системы стало активное использование синонимов. Со временем эта система приобрела несколько уровней. Первичная синонимияНа уровне токенов различными формами одного слова считаются:грамматические формыраспространенные орфографические ошибкипереводы одиночных словВсе такие варианты получают одинаковую базовую часть индекса.
Этот прогресс даёт важные сигналы о будущем отрасли, и технологический мир внимательно наблюдает.





