Сейчас люди делегируют всё больше задач искусственному интеллекту, или AI (artificial intelligence). AI-технологии позволяют создавать компьютерные программы для решения задач, которые обычно выполняет человек с помощью своих когнитивных способностей. Благодаря AI можно автоматизировать комплексные или творческие задачи, что раньше считалось невозможным. В статье рассказываем, как и для чего внедрили AI в DocsInBox.
Проблема сопоставления номенклатур
Одна из повседневных задач в ресторане — сопоставление номенклатур с данными из учётной системы заведения. Например, вам приходит от поставщика «Вино сортовое ординарное сухое красное САПЕРАВИ», а в вашей системе это просто «Саперави». Чтобы учётная система могла понять, что это одно и то же, человек должен ей об этом сообщить.
Автоматизация процесса сопоставления — одна из ключевых функций DocsInBox. Мы запоминаем ваш выбор по сопоставлению, и для каждой номенклатуры поставщика в DocsInBox провести его нужно всего один раз — потом сопоставление будет происходить автоматически.
Как автоматизировать сопоставления
Мы давно работаем над решением проблемы сопоставления, и есть задачи, которые прорабатываем до сих пор. Например, новые номенклатуры пока нужно сопоставлять вручную, особенно при переходе на нового поставщика. Также иногда нужно сравнивать ряды номенклатур: например, сопоставить строки УПД с обычной накладной от поставщика, чтобы не нужно было принимать два одинаковых документа.
В поисках решений по автоматизации сопоставлений мы испробовали множество способов. Конечно, мы могли бы разработать сложную систему анализа текста ваших номенклатур. Возможно, она даже сработала бы с примером выше, потому что в обеих номенклатурах фигурирует «Саперави». Но как машине понять, что «Укроп св.» от поставщика — это «Зелень в ассортименте» в вашей учётной системе? Или что «Контейнер прямоугольный с крышкой» поставщика — это ваши «Хозтовары»?
По данным наших экспериментов, точность традиционных методов автоматизации сопоставлений не достигла бы и 25% для номенклатур наших клиентов. Тут нужно не просто анализировать текст, но и понимать его смысл (например, что «укроп» и «зелень» — это очень близкие по значению слова) и исходя из этого делать предположения о схожести номенклатур. С такими задачами отлично справляются языковые модели на основе искусственного интеллекта, а конкретнее — машинного обучения (machine learning, ML).
Что у нас получилось
Теперь DocsInBox будет предлагать вам до трёх вариантов сопоставлений при открытии поля:
Языковая модель анализирует анализирует ваш набор номенклатур, сравнивает их с тем, что прислал поставщик, и на основе этих данных выбирает самые подходящие номенклатуры. DocsInBox подбирает до трёх вариантов самых подходящих по мнению AI номенклатур и выдаём вам в быстрый доступ. Для выбора достаточно просто кликнуть на одну из них. Конечно, возможность найти номенклатуру по-старому, через поиск, никуда не исчезла.
Как это работает
Если не вдаваться в технические и математические особенности, основной смысл заключается в том, чтобы перевести названия номенклатур из букв, понятных человеку, в наборы данных, понятные компьютеру. Компьютер размещает эти данные в векторном пространстве (условно на плоскости координат), где чем ближе расстояние между словами, тем ближе их значение. Далее, обучая нейросеть, мы влияем на эти значения и заставляем языковую модель размещать значения, схожие по смыслу, ближе друг к другу (например, «укроп» и «зелень»). Соответственно, непохожие значения располагаются дальше друг от друга.
После обучения нейросети мы можем:
- перевести все номенклатуры ресторана в вид, понятный компьютеру;
- разместить их на графике;
- сделать то же самое с номенклатурой поставщика;
- найти в этом пространстве самые близкие понятия.
На качество AI-сопоставлений влияет очень много факторов. Основные — размер справочника номенклатур и количество схожих номенклатур. Если у вас десятки тысяч номенклатур в учётной системе и дублирующиеся позиции, то задача подбора сопоставления значительно усложняется, а вероятность, что AI подберёт нужную номенклатуру, уменьшается.
Это пока только бета-версия наших AI-сопоставлений. Мы анализируем результаты ваших сопоставлений и будем улучшать результаты работы AI, но уже сейчас на большинстве тестовых выборок AI показывает результаты не менее 70% попаданий в топ-3. В планах — использовать языковую модель для категоризации номенклатур, связывания документов и других задач по сравнению разных характеристик документов. Всё, чтобы ваша работа с документами стала ещё удобнее.