Статья опубликована в рамках: XIX Международной научно-практической конференции «Научное сообщество студентов: МЕЖДИСЦИПЛИНАРНЫЕ ИССЛЕДОВАНИЯ» (Россия, г. Новосибирск, 17 апреля 2017 г.)
Наука: Информационные технологии
Скачать книгу(-и): Сборник статей конференции
дипломов
СОЗДАНИЕ ИНТЕРАКИВНОГО ПОМОЩНИКА (ЧАТ-БОТА) ДЛЯ НАВИГАЦИИ ПО ИЗДАНИЯМ ЭЛЕКТРОННОЙ БИБЛИОТЕКИ С ИСПОЛЬЗОВАНИЕМ НЕЙРОННЫХ СЕТЕЙ
Электронная библиотека, в отличие от других средств массовой информации, является специализированной формой библиотеки, которая включает в себя набор цифровых данных. Данные могут быть в виде визуального материала, текста, аудио или видео, которые находятся на электронных носителях. Поскольку это библиотека, она также имеет функции для организации, хранения и извлечения медиа файлов или файлов, входящих в коллекцию [1]. Для удовлетворения запросов читателей работает специально подготовленный персонал, используя современные средства информационных и коммуникационных технологий. Ввиду этого встал вопрос автоматизации различных типовых задач онлайн-консультантов библиотеки. Решением этой проблемы является интерактивный помощник или чат-бот.
Чат-бот – это специальная компьютерная программа, которая имитирует человеческий разговор с помощью искусственного интеллекта. Назначение бота может быть различным: от развлечения пользователя до взаимодействия с крупной системой. Чат-бот выдает достаточно адекватный ответ на вопрос, сформулированный на правильном русском языке (или любом другом, работа с которым поддерживается). Такие боты часто применяются для сообщения прогноза погоды, результатов спортивных соревнований, курсов валют, биржевых котировок и т. п.
Существуют различные виды моделей для создания чат-бота:
- Модели на основе поиска. Эти модели наиболее просты и используют хранилище предопределенных ответов и некоторый эвристический подход для выбора подходящего ответа на основе ввода и контекста. Такие системы не создают новых ответов, они просто выбирают ответ из фиксированного набора.
- Порождающие модели. Такие модели более сложны, так как не полагаются на заранее определенные ответы и генерируют новые ответы с нуля. Порождающие модели, как правило, основаны на машинных переводах, но вместо перевода с одного языка на другой программа «переводит» от вопроса к ответу.
Для создания данного чат-бота была выбрана генеративная модель на основе одного из видов рекуррентной нейронной сети – LSTM-сеть (рисунок 1). Подобные модели называются «Sequence to Sequence». Долгая краткосрочная память (LSTM-сеть) выбрана вследствие того, что обычная рекуррентная нейронная сеть ограничена количеством входов и выходов [3].
Данное ограничение является существенным, поскольку программа обрабатывает текст различной длинны и получает его в результате. При заданной последовательности входов () стандартная рекуррентная нейронная сеть вычисляет последовательность выходов () путем итераций следующих уравнений:
(1)
(2)
где t – номер итерации;
– матрица входных весов;
– матрица скрытых весов;
– матрица выходных весов;
h – вектор скрытого состояния.
Цель LSTM-сети – оценить вероятность по формуле (3):
(3)
где () – входная последовательность;
T – длина входной последовательности;
() – соответствующая выходная последовательность;
– длина выходной последовательности, которая может отличаться от T;
υ – одномерное представление входной последовательности (), с фиксированным размером, заданной последним скрытым состоянием LSTM.
LSTM вычисляет эту условную вероятность, сначала получая представление υ входной последовательности, а затем вычисляя вероятность по стандартной формулировке LSTM [2].
Общая схема представлена на рисунке 2, где LSTM-сеть считывает фразу «АБВ» и получает в результате «ГДЕЖ». Сеть прекращает свои вычисления после вывода маркера конца предложения «eos».
Рисунок 1. LSTM-сеть
Рисунок 2. Общая схема модели «Sequence to Sequence»
Тренировка нейронной сети – это следующий важный этап. Для тренировки сети была использована часть вопросов, которые пользователи задавали службам поддержки различным электронным библиотекам. В итоге получилось около 15000 вопросов. Данного количества вопросов хватает, так как создаваемый чат-бот закрытого домена. Это значит, что системе нужно корректно отвечать на вопросы, связанные с электронной библиотекой, а знание ответов на посторонние вопросы необязательно.
Данный программный комплекс был разработан на языке программирования Java, поскольку данный язык является одним из самых популярных объектно-ориентированных языков.
Также было принято решение построить чат-бот на основе текстового мессенджера ввиду того, что на сегодняшний момент сохраняется рост популярности подобных приложений. В качестве такого приложения был выбран популярный мессенджер Telegram. Данный мессенджер обладает простым API для разработки ботов. Пример работы чат-бота представлен на рисунке 3.
Рисунок 3. Пример работы чат-бота
В настоящее время чат-боты набирают популярность. Это связано с тем, что для их использования не нужно устанавливать отдельные мобильные приложения, и боты общаются с пользователями на естественном для них языке. Вышеперечисленные факты в будущем могут сыграть не последнюю роль в привлечении новых посетителей электронной библиотеки. Данный интерактивный помощник поможет пользователям более эффективно осуществлять навигацию по изданиям электронной библиотеки.
Список литературы:
- Энциклопедия Википедия: сайт – [Электронный ресурс] – Режим доступа. URL: https://ru.wikipedia.org/wiki/Электронная_библиотека (дата обращения: 29.03.2017).
- Graves A. Generating Sequences With Recurrent Neural Networks [Электронный ресурс] – Режим доступа: https://arxiv.org/pdf/1308.0850.pdf (дата обращения: 29.03.2017).
- Greff K., Srivastava R. K., Koutnik J., Steunebrink B., Schmidhuber J. LSTM: A Search Space Odyssey [Электронный ресурс] – Режим доступа: https://arxiv.org/pdf/1503.04069.pdf (дата обращения: 29.03.2017).
дипломов
Оставить комментарий