APPLICATION OF LARGE LANGUAGE MODELS AND RETRIEVAL-AUGMENTED GENERATION TECHNOLOGY
FOR ENTERPRISE ASSISTANTS
A.V. Shmat
The article analyses the use of large language models and Retrieval-Augmented Generation technology in corporate assistants used to automate tasks and support employees. LLM capabilities in the corporate environment are discussed in detail, including such tasks as automation of routine processes, assistance in employee onboarding, decision support and document management. Also described are the key challenges of declining model accuracy in the absence of up-to-date data and how this is addressed by using Retrieval-Augmented Generation technology to extract current data from up-to-date knowledge bases. The stages of development of this technology and an alternative way to improve the accuracy of large language model responses, called fine-tuning, are discussed. The paper also discusses how Retrieval-Augmented Generation technology affects the response accuracy of three popular neural networks and provides examples of successful implementations of large language models using Retrieval-Augmented Generation technology.
Key words: large language model, retrieval-augmented generation, corporate assistant.
Shmat Alexey Vyacheslavovich, [email protected], Russia, Moscow, Russian Technological University
MIREA
УДК 004.891
DOI: 10.24412/2071-6168-2024-10-726-727
АНАЛИЗ ВОЗМОЖНОСТЕЙ АВТОМАТИЗАЦИИ ПРОЦЕССА ПРИОРИТЕЗАЦИИ ПОЛЬЗОВАТЕЛЬСКИХ ЗАПРОСОВ
И.А. Лобзин
Данная работа посвящена исследованию возможностей автоматизации процесса приоритезации пользовательских запросов. В ней рассмотрены различные решения данного вопроса, включая эвристические подходы и различные методы машинного обучения. Последним в данной работе уделено особое внимание. Также подробно разобраны вопросы подготовки данных, лемматизация, извлечение именованых сущностей и так далее, приведены примеры существующих решений, реализующих указанные подходы.
Ключевые слова: автоматизация, приоритезация, системы Service Desk, пользовательские обращения, обработка естественного языка, NLP.
Одной из важнейших возможностей систем Service Desk является работа с обращениями пользователей. Объём и сложность обработки этих обращений зависит от множества факторов, но как правило перед многими крупными предприятиями рано или поздно встаёт вопрос о необходимости оптимизации работы с запросами [1]. В него же можно включить и приоритезацию: критические проблемы у ключевых клиентов должны решаться как можно скорее - в противном случае, предприятие понесёт финансовые и репутационные издержки.
Как указано выше, приоритет обращения пользователя является важным фактором при обработке большого количества запросов. В общем случае установка корректного приоритета требует анализа обращения специалистом. При установке приоритета такой специалист обычно опирается на ряд известных критериев. Однако даже при наличии чётко составленных инструкций определение приоритета может занимать значительное время [2]. Из этого следует, что указанный процесс имеет смысл пересмотреть и оптимизировать. В данной работе рассматриваются возможности использования для этих целей специально разработанных и настроенных автоматизированных систем, которые будут оценивать приоритет по заранее подобранным критериям, используя информационные технологии.
Наиболее простым вариантом будет добавление возможности указания приоритета при отправке. Если клиент при отправке обращения в специальном поле указал, что приоритет высокий, то именно в таком виде запрос далее и будет храниться в системе. Недостатком такого подхода является тот факт, что критерии, по которым пользователь будет определять приоритет, скорее всего будут слабо соотноситься с реальной приоритетностью обращения с точки зрения бизнеса. Это логично, ведь с точки зрения пользователя его обращение, как правило, имеет высокий приоритет.
Наиболее подходящим решением в этой ситуации будет создание автоматизированной системы такой, что будет определять приоритет на основании имеющихся данных запроса. К таким данным относится и информация, непосредственно отправленная самим клиентом, и автоматически определённые другими системами значения -например, категория запроса.
Простейшим вариантом реализации приоритезации является эвристический алгоритм, вычисляющий значение приоритета по некоторому набору подобранных правил. Например, все обращения, имеющие категорию «Инцидент», можно определять как высокоприоритетные и так далее. Главным преимуществом такого подхода является простота программной реализации. Главным недостатком - сложность выработки набора правил, который позволит системе определять приоритет с достаточной эффективностью [3].
Другим вариантом является определение приоритета на основании наличия в тексте обращения (тема и описание) ключевых слов из некоторого набора. К примеру, запросы, содержащие такие слова, как «срочно» или «экстренно», могут быть определены как высокоприоритетные. Данный подход может быть применён как отдельно, так и в совокупности с предыдущим. Простота реализации здесь также является главным преимуществом. Основным недостатком является потенциально низкая точность определения приоритета, так как высокоприоритетные запросы
726
Математическое и программное обеспечение вычислительных систем, комплексов и компьютерных сетей
вполне могут не содержать выбранных ключевых слов. Кроме того, сложностью является и формирование самого набора.
Ещё одним подходом к решению данной задачи может быть использование алгоритмов машинного обучения. В этом случае автоматизированное определение приоритета обращения может быть сведено к одной из двух обшдх задач [4]:
задача регрессии - предсказание численного значения приоритета на основании некоторого набора входных данных;
задача классификации - представление возможных вариантов приоритета в качестве некоторого набора классов и предсказание класса на основе входных данных.
В обоих случаях приоритезация запросов с помощью алгоритмов машинного обучения будет предполагать использование ряда классических подходов, описанных далее.
Как и во всех задачах машинного обучения, работа над реализацией системы предполагает проведение исследования существующих наборов данных и их соответствующей обработки.
Как правило, в рамках решения задач машинного обучения изначально требуется обработка и фильтрация данных, используемых для обучения. Это связано с тем, что данные обычно представлены в неподходящем виде, а некоторые записи могут быть некорректными и неподходящими для обучения [5].
Самым простым примером являются обращения, для которых по тем или иным причинам не указаны ни тема, ни описание. Необходимость обучения модели на таких записях лишено смысла. Другой пример - синтетические или тестовые обращения. Такие данные негативно скажутся на модели, так как они обычно сильно отличаются от записей, с которыми обученной модели будет необходимо работать.
Для проведения фильтрации обращений используются различные эвристические алгоритмы. С точки зрения реализации это проверка темы и описания на соответствие регулярному выражению и другие традиционные способы исследования содержимого текста [3].
К примеру, выражение «ЛТест .№[0-9]*$» позволяет исключить синтетические запросы, описание которых состоит из слова «Тест» и номера.
Следующим этапом обработки является проведение эвристических преобразований текста. Данные преобразования производятся как на обучающем наборе, так и для входных данных, с которыми система будет работать далее. В имеющихся строках необходимо вычленить семантически значимую информацию, исключив лишнее.
Наиболее простой частью преобразования является замена некоторых строк, соответствующих определённым регулярным выражениям, на ключевые слова. К примеру, наличие конкретных url-адресов может негативно сказаться на эффективности работы выбранной модели. В общем случае в каждом запросе они будут разными, однако важно сохранить сам факт наличия в тексте адреса, так как его наличие может быть важным при определении приоритета.
Более сложные преобразования включают в себя лемматизацию и замену некоторых именованных сущностей.
Лемматизация - представляет собой метод морфологического анализа. Он представляет собой приведение слова в некоторой форме к начальной форме, то есть лемме.
Лемматизация широко распространена в поисковых алгоритмах. Она является частью процесса схематизации веб-документов, который проводится при их индексировании.
При проведении лематизации у слова отбрасываются флективные окончания, что позволяет получить основную или словарную форму слова [6].
К примеру, в русском языке такой формой может быть:
для имён существительных - слово в именительном падеже единственном числе (при наличии);
для глаголов - слово в начальной или инфинитивной форме;
для прилагательных - слово в единственном числе, именительном падеже и мужском роде.
Замена именованных сущностей является ещё одним важным преобразованием. При обучении модели и интерпретации входных данных конкретные имена обычно не имеют значения, однако важным фактором может являться наличие в тексте имени как такового. Тем не менее, некоторые обозначения названий конкретных продуктов компании и т.п. всё же могут играть важную роль. Различные реализации этого подхода обычно не только находят именованные сущности, но и относят их к определённым категориям, что позволяет производить замену лишь тех имён, бесполезных при определении приоритета. Также можно составить список имён, имеющих большое значение для решения рассматриваемой задачи, и программно запретить убирать их из исходного запроса [7].
Для проведения лемматизации и поиска именованных сущностей могут быть использованы, к примеру, библиотеки Российского производства «Natasha». Данный проект предоставляет широкий спектр различных возможностей обработки русскоязычных текстов [8].
Библиотеки проекта позволяют решить многие базовые задачи обработки естественного русского языка. Среди них сегментация на токены и предложения, морфологический и синтаксический анализ, лемматизация, извлечение и интерпретация именованных сущностей и так далее [9].
Отличительная черта «Natasha» - высокая производительность и компактность моделей по сравнению, например, с библиотеками проекта «DeepPavlov». Кроме того, при работе модели используют возможности центрального процессора и не требуют наличия мощной графической карты [8].
Следующим этапом преобразования входных данных является представление текста в виде векторов, с которыми далее уже сможет работать выбранная модель. Такой подход называется word embedding [10]. Различные библиотеки предоставляют функционал для проведения такого преобразования. В качестве примера можно также привести проект «Natasha».
Одним из наиболее сложных вопросов данной темы является выбор и настройка подходящей модели. Для достижения наилучшего результата необходимо протестировать несколько моделей и сравнить их результаты.
В качестве примера модели можно привести настраиваемую сеть Sequential из библиотеки Keras. Keras -это библиотека с открытым исходным кодом, написанная на Python. Она обеспечивает взаимодействие с искусственными нейронными сетями и является надстройкой над популярным фреймворком машинного обучения TensorFlow [11].
Параллельно с указанными выше методами также может быть полезна реализация автоматического изменения приоритета с течением времени.
Для каждого обращения пользователя может быть определено некоторое значение, соответствующее моменту времени, к которому вопрос должен быть решен. Данное значение может определяться на основании даты отправки обращения и оценочного времени его решения (возможно, с некоторым запасом). Запросы, на решение которых осталось меньше времени, являются более высокоприоритетными.
Автоматизация процесса динамической приоритезации потребует реализации системы, производящей периодический анализ всех активных обращений и изменяющей приоритет в соответствии с количеством времени, оставшемся на их решение.
При оценке оставшегося времени могут быть применены 2 подхода:
оценка на основе абсолютного значения разницы между текущим моментом времени и моментом, к которому запрос по оценкам должен быть решен - то есть на основании абсолютного значения оставшегося на решение обращения времени;
оценка на основе отношения оставшегося на решение времени к общему времени, изначально выделенному на запрос.
Соответственно, более срочными будут являться запросы, на выполнение которых осталось меньше времени - либо относительно общего количества времени, выделенного на запрос, либо в абсолютном значении. Оба подхода могут быть эффективно применены в различных ситуациях.
Таким образом, процесс приоритезации пользовательских запросов в зависимости от бизнес-требований может быть частично или полностью автоматизирован. В этом могут помочь простые эвристические алгоритмы, но более эффективным вариантом будет использование технологий машинного обучения и в частности - обработки естественного языка. При использовании этих технологий крайне важна предварительная обработка данных: удаление лишних языковых конструкций, преобразование форм слов с помощью лемматизации, замена именованных сущностей и другие подходы. Приоритет может не только устанавливаться в момент получения обращения, но и меняться со временем в зависимости от внешних условий. Всё это позволит обрабатывать пользовательские обращения в таком порядке, какой будет наиболее полезен для предприятия.
Список литературы
1. Внедрение сервисдеска на предприятии [Электронный ресурс]. URL: https://mvsmartservice.com/blog/vnedrenie-cervisdeska-na-predprivatii (дата обращения: 01.05.2024).
2. Философия SLA: про приоритеты запросов [Электронный ресурс]. URL: https://habr.com/ru/articles/348550 (дата обращения: 03.05.2024).
3. Гудман С. Введение в разработку и анализ алгоритмов / С. Гудман, С. Хидетниеми ; пер. с англ. Ю. Б. Котова [и др. ] ; под ред. В. В. Мартынюка. М.: Мир, 1981. 366 с.
4. Введение в машинное обучение [Электронный ресурс]. URL: https://habr.com/ru/articles/448892 (дата обращения: 05.05.2024).
5. Data mining : concepts and techniques / Jiawei Han, Micheline Kamber, Jian Pei // Morgan Kaufmann Publishers. 3rd ed. 2012.
6. An Interpretation of Lemmatization and Stemming in Natural Language Processing / Divya Khyani, Siddhartha B S, Niveditha N M, Divya B M BGS Institute of Technology, Adichunchanagiri University-BGSIT // Journal of University of Shanghai for Science and Technology. 2021.
7. Распознавание именованных сущностей: механизм, методики, сценарии использования и реализация [Электронный ресурс]. URL: https://habr.com/ru/articles/776774 (дата обращения: 10.05.2024).
8. Проект Natasha — набор Python-библиотек для обработки текстов на естественном русском языке [Электронный ресурс]. URL: https://natasha.github.io (дата обращения: 12.05.2024).
9. Проект Natasha. Набор качественных открытых инструментов для обработки естественного русского языка (NLP) [Электронный ресурс]. URL: https://habr.com/ru/articles/516098 (дата обращения: 13.05.2024).
10. Mohammad Taher Pilehvar and Jose Camacho-Collados. "Embeddings in Natural Language Processing: Theory and Advances in Vector Representations of Meaning''. Morgan & Claypool (Synthesis Lectures on Human Language Technologies, edited by Graeme Hirst, volume 47), 2021, xvii+157 pp.
11. Developer guides [Электронный ресурс]. URL: https://keras.io/guides (дата обращения: 15.05.2024).
Лобзин Илья Александрович, аспирант, [email protected], Россия, Тула, Тульский государственный университет,
Научный руководитель: Арефьева Елена Анатольевна, канд. техн. наук, доцент, [email protected], Россия, Тула, Тульский государственный университет
ANALYSIS OF POSSIBILITIES TO AUTOMATE THE PROCESS OF PRIORITIZATION OF USER REQUESTS
I.A. Lobzin
This paper is devoted to exploring the potential for automating the prioritization of user requests. It considers various solutions to this issue, including heuristic approaches and various machine learning methods. Special attention is given to the latter in this study. The issues of data preparation, lemmatization, extraction of named entities and so on are also discussed in detail, and examples of existing solutions implementing these approaches are given.
Key words: automation, prioritization, Service Desk systems, user requests, natural language processing, NLP.
Lobzin Ilya Aleksandrovich, postgraduate, breadmaker888@yandex. ru, Russia, Tula, Tula State University,
Research supervisor: Arefieva Elena Anatolievna, candidate of technical sciences, docent, ar_el_an@mail. ru, Russia, Tula, Tula State University