вернуться в раздел "Научные труды"
Автор перевода: Н.Н. Дворник
Источник: Mansurova, A., Nugumanova, A., & Makhambetova, Z. (2023). DEVELOPMENT OF A QUESTION ANSWERING CHATBOT FOR BLOCKCHAIN DOMAIN. Scientific Journal of Astana IT University, 15(15), 27–40. DOI: 10.37943/15XNDZ6667 .

DOI: 10.37943/15XNDZ6667

Разработка вопросно-ответного чат-бота для блокчейн-домена

Мансурова А., Нугуманова А., Махамбетова Ж.

Astana IT University, Казахстан

E-mail: 222215@astanait.edu.kz, a.nugumanova@astanait.edu.kz, zhansaya.makhambetova@astanait.edu.kz

Аннотация

Мансурова А., Нугуманова А., Махамбетова Ж. Разработка вопросно-ответного чат-бота для блокчейн-домена. Большие языковые модели (LLM), такие как ChatGPT, трансформировали область обработки естественного языка благодаря своей способности к пониманию языка и генерации человекоподобных, связных ответов для многих прикладных задач. Несмотря на их впечатляющие возможности, они часто оказываются недостаточными в предметно-ориентированных и наукоемких областях из-за отсутствия доступа к актуальным данным. Более того, большинству современных LLM не хватает прозрачности, поскольку они часто доступны только через API. Кроме того, их применение в критических реальных сценариях затруднено их склонностью генерировать галлюцинации (ложную информацию) и неспособностью использовать внешние источники знаний. Для устранения этих ограничений мы предлагаем инновационную систему, которая расширяет возможности LLM путем их интеграции с внешним модулем управления знаниями. Система позволяет LLM использовать данные, хранящиеся в векторных базах данных, предоставляя им релевантную информацию для ответов. Дополнительно она позволяет извлекать информацию из Интернета, еще больше расширяя их базу знаний. Исследовательский подход позволяет избежать необходимости переобучения LLM, что является ресурсоемким процессом. Вместо этого он фокусируется на более эффективном использовании существующих моделей. Предварительные результаты показывают, что система перспективна для улучшения производительности LLM в предметно-ориентированных и наукоемких задачах. Оснащая LLM доступом к внешним данным в реальном времени, можно более эффективно использовать их возможности генерации языка без необходимости постоянно стремиться к созданию более крупных моделей.

Ключевые слова: Чат-бот, LLM, LangChain, RAG, NLP, ChatGPT.

Введение

В последние годы финтех-индустрия Казахстана претерпела значительные изменения благодаря внедрению новых технологий. Например, приложение Kaspi позволяет совершать мобильные платежи и пользоваться банковскими услугами более чем 12 миллионам пользователей в 2022 году [1]. В данный момент развитие блокчейн-технологий, в частности разработка и внедрение цифровой валюты, становится неотъемлемой частью стратегий развития финансовых систем. В этом контексте Национальный банк Республики Казахстан (НБРК) рассматривает возможность внедрения цифрового тенге.

Внедрение цифрового тенге направлено на улучшение финансовой инфраструктуры, обеспечение прозрачности и эффективности платежных операций, стимулирование инноваций и поддержку экономического роста в Казахстане. Финтех-компании и правительство активно изучают возможности использования технологии блокчейн для улучшения финансовых услуг. Однако важно помнить о гражданах, которые также являются участниками цифровой экономики, так как успешная цифровая трансформация зависит от уровня доверия и принятия гражданами [2], [3].

Проблема заключается в том, что, несмотря на то, что цифровые валюты существуют уже более десяти лет, обычные граждане все еще недостаточно осведомлены о том, как они работают и какие последствия могут возникнуть при их использовании. Это может привести к неполному пониманию рисков и преимуществ использования цифровых валют, а также потенциального влияния, которое технология блокчейн может оказать на финансовую индустрию. Другими словами, для полной реализации потенциала цифровых финансовых технологий важной задачей становится повышение осведомленности граждан в этом аспекте.

Таким образом, разработка инновационных подходов к повышению осведомленности граждан является ключом к успешной реализации проектов в области блокчейна. Одним из таких решений является разработка чат-бота, способного отвечать на вопросы, связанные с блокчейн-технологиями.

Обзор литературы

Чат-бот – это компьютерная программа, использующая текст для ведения бесед через Интернет [4]. Он разработан таким образом, чтобы максимально напоминать взаимодействие человека с собеседником и помогать находить необходимую информацию без участия человека [5]. Таким образом, чат-боты предлагают интерфейс на естественном языке, который позволяет пользователям выполнять действия без прямого контакта с людьми через встречи, электронные письма или телефонные звонки [6].

В 1950 году Алан Тьюринг представил тест Тьюринга, поставив вопрос о том, могут ли машины мыслить, что ознаменовало популяризацию концепции чат-ботов [7]. Самый ранний известный чат-бот, Eliza, был создан в 1966 году с целью функционирования в качестве психотерапевта, отвечая на вводы пользователя вопросами [8]. Значительным улучшением по сравнению с Eliza стал PARRY, чат-бот, основанный на личности, разработанный в 1972 году [10]. В 1995 году был создан ALICE, чат-бот, использующий простой алгоритм сопоставления шаблонов и работающий на языке разметки искусственного интеллекта (AIML) [11]. Впоследствии, в 2001 году, появились чат-боты, такие как SmarterChild [12], ставшие доступными через мессенджеры. Эволюция продолжилась с развитием виртуальных персональных помощников, таких как Apple Siri, Microsoft Cortana и Google Assistant. Рисунок 1, основанный на данных Scopus [13], иллюстрирует значительный всплеск интереса к чат-ботам, особенно после 2016 года.

Growth of Chatbot Research

Рисунок 1 – Рост исследований в области чат-ботов (данные Scopus, 2003-2023)

Текущим технологическим прорывом является ChatGPT, чат-бот, основанный на больших языковых моделях (LLM). Исследовательское сообщество использует термин «Большие языковые модели» для крупномасштабных предварительно обученных языковых моделей (PLM) [14]-[15], таких как PaLM с параметрами 540B и GPT-3 с параметрами 175B. Основная идея PLM заключается в предварительном обучении моделей на больших неразмеченных данных с последующей тонкой настройкой (fine-tuning) для улучшения производительности в контролируемых задачах.

Хотя чат-боты на основе LLM достигли значительного прогресса, они сталкиваются с двумя основными проблемами:

В литературе [26] выделяются три основных способа преодоления вышеуказанных проблем:

  1. Создание базовой модели (Foundation model). Создание большой языковой модели – это значительное предприятие, стоимость которого может превышать 100 миллионов долларов [27].
  2. Тонкая настройка (Fine-tuning). Включает адаптацию базовой модели к данным конкретного домена. Это требует специализированной экспертизы и постоянных затрат на обновление данных.
  3. Инжиниринг промптов (Prompt engineering). Включает корректировку инструкций, даваемых модели. Это экономичный способ повысить точность, но он имеет ограничения, так как не может предоставить новый или динамический контекст модели.

Недавние достижения сосредоточены на совместной настройке компонентов поиска и генерации систем генерации с дополненной выборкой (RAG) [28], [29]. В нашей работе мы извлекаем внешнюю релевантную информацию из векторной базы данных и включаем ее в промпт. Другое отличие этой работы заключается в предлагаемой архитектуре, которая открывает возможность использования машинного перевода вместо создания моделей на родном языке для языков с ограниченными ресурсами [32].

Методология

Наша исследовательская работа проводилась в соответствии с процессом проектирования, называемым «двойной алмаз» (double diamond) [33].

Общая архитектура предлагаемого нами решения показана на Рисунке 2. Она состоит из frontend-слоя, реализующего пользовательский интерфейс, и backend-слоя. Backend-слой, в свою очередь, состоит из базы данных, модуля загрузки данных, модуля логики приложения, доступа к фреймворку LangChain и OpenAI. Агент – это гибкий компонент на основе LLM, который принимает решения о выборе инструментов.

General architecture of the proposed solution

Рисунок 2 – Общая архитектура предлагаемого решения

Использование Python в качестве языка программирования обеспечивает универсальность и мощные возможности [34]. Выбор модели GPT-3.5 от OpenAI является стратегическим решением, основанным на её доказанных возможностях.

Более того, удобное использование различных источников данных, интеграция с OpenAI и другими компонентами системы была достигнута с помощью LangChain [35]. Это фреймворк для разработки приложений, использующих большие языковые модели.

Шаблон промпта (Prompt Template) – это предопределенная структура, используемая в LangChain. Основные компоненты шаблона промпта приведены в Таблице 1.

Таблица 1 – Основные компоненты шаблона промпта

Компонент Описание Пример
Текстовая строка (Шаблон) Базовая структура для промптов с заполнителями "Расскажи мне о [тема]."
Параметры Переменные, заполняемые конкретной информацией [тема] = "Технология распределенного реестра"
Ввод пользователя (Вопрос) Представляет запрос пользователя "Что ты можешь рассказать мне о Технологии распределенного реестра?"
Примеры (Few-Shot) Короткие примеры ввода для контекста "query": "Что такое криптовалюта?", "answer": "Криптовалюта — это виртуальная форма валюты..."
Инструкция Руководство по обработке ввода "Ниже приведены выдержки из разговоров с ИИ-ассистентом. Ассистент должен давать только правильные ответы..."

Память в контексте диалоговой системы относится к способности системы сохранять и вызывать информацию из предыдущих взаимодействий, как показано на Рисунке 3.

Representation of how memory works

Рисунок 3 – Представление работы памяти

Pinecone – это следующий использованный инструмент. Это облачная векторная база данных, разработанная специально для приложений машинного обучения. Наконец, для создания десктопного приложения с интерактивным графическим интерфейсом мы использовали Streamlit.

Ключевые этапы разработки приложения включают:

  1. Проектирование RAG (Retrieval-Augmented Generation). RAG объединяет модели поиска и генеративные модели.
    • Декомпозиция и загрузка документов. Документы разбиваются на фрагменты (chunks).
    • Создание эмбеддингов. Генерируются векторные представления фрагментов текста.
    • Поддержка векторной базы данных. Создается база Pinecone для хранения векторов.
  2. Веб-поиск. Объединяя модели OpenAI с поиском Google (через SerpApi), наш чат-бот может предоставлять точную и актуальную информацию в реальном времени.

Оценка и Результаты

Для эксперимента мы сузили область документов до темы проекта «Цифровой тенге». Мы также провели опрос среди 20 участников для оценки эффективности чат-бота.

Всего было получено 1143 вектора из 381 страницы текста. Приложение готово принимать вопросы и предоставлять ответы с использованием модели «gpt-3.5-turbo».

Chatbot Memory Part 1
Chatbot Memory Part 2

Рисунок 4 – Память чат-бота

Если информации нет во внутренней базе, приложение предоставляет информацию, полученную из поисковых сервисов (Рисунок 5).

Delivering Reliable Answers Part 1
Delivering Reliable Answers Part 2

Рисунок 5 – Предоставление надежных ответов через поисковые сервисы

Заметно, что наш чат-бот предоставляет точные ответы, в то время как стандартный ChatGPT 3.5 может давать сомнительную информацию (Рисунок 6), если он не узнал о конкретной теме из своих обучающих данных.

Illustrating Limitations in ChatGPT’s Knowledge

Рисунок 6 – Иллюстрация ограничений знаний ChatGPT

Скриншот полностью реализованного диалогового чат-бота представлен на Рисунке 7.

Screenshot of the Fully Implemented Chatbot

Рисунок 7 – Скриншот полностью реализованного чат-бота

В результате опроса были выявлены следующие ключевые аспекты:

Survey response: Knowledge enhancement

Рисунок 8 – Результаты опроса: Повышение уровня знаний

Survey response: Necessity of similar systems

Рисунок 9 – Результаты опроса: Необходимость подобных систем

Survey results: Perceptions of the interface

Рисунок 10 – Результаты опроса: Восприятие интерфейса

Заключение

В целом, исследование представляет перспективный подход к разработке чат-бота на основе технологии LLM. Разработанная архитектура интегрирует передовые технологии для повышения фактичности и релевантности ответов. Эмпирические данные подтверждают существенное положительное влияние системы на приобретение знаний о проекте «Цифровой тенге». Будущие исследования будут сосредоточены на адаптации этой архитектуры для казахского языка.

Благодарности

Данное исследование было профинансировано Министерством науки и высшего образования Республики Казахстан, номер гранта AP19677756 «Unsupervised term extraction: a set of models and datasets for high-tech domains and low-resource languages».

Список литературы

  1. Okasov, B. (2022, September 30). Dlja cifrovizacii vseh gosuslug v Kazahstane ispol’zujut opyt Kaspi.kz [The experience of Kaspi.kz is used to digitalize all public services in Kazakhstan]. KTK. https://www.ktk.kz/ru/news/video/2022/09/30/223965/
  2. Alaklabi, S., & Kang, K. (2021). Perceptions towards cryptocurrency adoption: A case of Saudi Arabian citizens. Journal of Electronic Banking Systems, 1–17. https://doi.org/10.5171/2021.110411
  3. Mensah, I.K., & Mwakapesa, D.S. (2022). The drivers of the behavioral adoption intention of bitcoin payment from the perspective of Chinese citizens. Security and Communication Networks, 2022, 1–17. https://doi.org/10.1155/2022/7373658
  4. King, M.R. (2022). The future of AI in medicine: A perspective from a chatbot. Annals of Biomedical Engineering, 51(2), 291–295. https://doi.org/10.1007/s10439-022-03121-w
  5. Carayannopoulos, S. (2018). Using chatbots to aid transition. International Journal of Information and Learning Technology, 35(2), 118–129. https://doi.org/10.1108/ijilt-10-2017-0097
  6. Dale, R. (2016). The return of the chatbots. Natural Language Engineering, 22(05), 811–817. https://doi.org/10.1017/s1351324916000243
  7. Zem??k, M. T. (2019). A brief history of chatbots. Link
  8. Shum, H., He, X., & Li, D. (2018). From Eliza to XiaoIce: challenges and opportunities with social chatbots. Frontiers of Information Technology & Electronic Engineering, 19(1), 10–26. https://doi.org/10.1631/fitee.1700826
  9. Klopfenstein, L.C., Delpriori, S., Malatini, S., & Bogliolo, A. (2017). The rise of Bots. Proceedings of the 2017 Conference on Designing Interactive Systems. https://doi.org/10.1145/3064663.3064672
  10. Zem??k, T. (2019). A brief history of chatbots. DEStech Transactions on Computer Science and Engineering, aicae. https://doi.org/10.12783/dtcse/aicae2019/31439
  11. Marietto, M.D.G.B., et al. (2013). Artificial Intelligence Markup Language: A brief tutorial. International Journal of Computer Science & Engineering Survey, 4(3), 1–20. https://doi.org/10.5121/ijcses.2013.4301
  12. Molnar, G., & Szuts, Z. (2018). The role of Chatbots in formal education. 2018 IEEE 16th International Symposium on Intelligent Systems and Informatics (SISY). https://doi.org/10.1109/sisy.2018.8524609
  13. Scopus preview – Scopus – Welcome to Scopus. (n.d.). Link
  14. Zhou, C., et al. (2023). A comprehensive survey on pretrained foundation models: A history from Bert to chatgpt. arXiv.org. https://arxiv.org/abs/2302.09419
  15. Y. Fu, H. Peng, and T. Khot. (2022). How does GPT Obtain its Ability? Notion. Link
  16. Vaswani, A., et al. (2023). Attention is all you need. arXiv.org. https://arxiv.org/abs/1706.03762
  17. Devlin, J., et al. (2019). Bert: Pre-training of deep bidirectional Transformers for language understanding. arXiv.org. https://arxiv.org/abs/1810.04805
  18. OpenAI. (2022). Introducing ChatGPT. https://openai.com/blog/chatgpt#OpenAI
  19. Liu, X., et al. (2021). GPT understands, too. arXiv. https://doi.org/10.48550/arxiv.2103.10385
  20. Alshater, M. (2022). Exploring the role of artificial intelligence in enhancing academic performance: A case study of chatgpt. https://doi.org/10.2139/ssrn.4312358
  21. Biswas, S. (2022). Role of CHATGPT in computer programming. Mesopotamian Journal of Computer Science, 20–28. https://doi.org/10.58496/mjcsc/2022/004
  22. Jeblick, K., et al. (2022). Chatgpt makes medicine easy to swallow. arXiv.org. https://arxiv.org/abs/2212.14882
  23. Bang, Y. (2023). A multitask, multilingual, multimodal evaluation of ChatGPT. arXiv.org. https://arxiv.org/abs/2302.04023
  24. OpenAI. (2023). GPT-4 Technical Report. arXiv.org. https://arxiv.org/abs/2303.08774
  25. Natalie. (2023). What is ChatGPT? OpenAI Help Center. Link
  26. Zhao, W.X., et al. (2023). A survey of large language models. arXiv.org. https://arxiv.org/abs/2303.18223
  27. Knight, W. (2023). OpenAI’s CEO says the age of giant AI models is already over. WIRED. Link
  28. Lewis, P., et al. (2021). Retrieval-augmented generation for knowledge-intensive NLP tasks. arXiv.org. https://arxiv.org/abs/2005.11401
  29. Zhang, Y., et al. (2022). RetGen: A joint framework for retrieval and grounded text generation modeling. https://doi.org/10.1609/aaai.v36i10.21429
  30. Lazaridou, A., et al. (2022). Internet-augmented language models. arXiv.org. https://arxiv.org/abs/2203.05115
  31. Madaan, A., et al. (2023). Memory-assisted prompt editing to improve GPT-3 after deployment. arXiv.org. https://arxiv.org/abs/2201.06009
  32. Isbister, T., et al. (2021). Should we Stop Training More Monolingual Models...? ACL Anthology. Link
  33. Liu, D., & Hsu, H. (2009). An international comparison of empirical generalized double diamond model approaches. https://doi.org/10.1108/10595420910962043
  34. Saabith, A. S., et al. (2019). Python current trend applications-an overview. Link
  35. Topsakal, O., & Akinci, T. C. (2023). Creating large language model applications utilizing LangChain. https://doi.org/10.59287/icaens.1127