1 Описание особенностей реализации
Виртуальны собеседник «Чат-бот» представляет собой поле, на котором расположены два окошка для ввода и вывода реплик, а так же кнопки, с помощью которых можно отправлять сообщения или удалять историю переписки. Схема внешнего вида программы, главной формы приведена на рисунке 1.

Рисунок 1 – Схема внешнего вида программы
Правила переписки очень просты. Для начала стоит поздороваться, написав «Чат-боту» «привет». Существуют некоторые правила, которые пользователь должен учитывать. Во-первых, все предложения и все свои сообщения стоит начинать со строчных букв, без использования заглавных. Во-вторых, задавайте вашему собеседнику больше вопросов, так вы сможете поддержать ваш диалог. Иногда «Чат-бот» сам интересуется у вас чем-либо.
Приложение является готовым эмулятором, однако в будущем планируется расширение функционала «Чат-бота», например, обучение фразам у пользователя, и использование их в диалоге.
2 Реализация чат-бота
Данная программа была написана на языке высокого уровня C#. Листинг данной реализации можно посмотреть в приложении А.
Данный чат-бот является эмулятором беседы.
Программа работает следующим образом.
Пользователь пишет свою фразу. Далее, по нажатию кнопки «Отправить!» на форме или клавиши Enterна клавиатуре, происходят следующие действия. Происходит запоминание этой фразы в отдельную переменную типаstring. Программа считывает всю информацию из базы данных в отдельный двумерный массивbd. Затем сравнивает первый столбец этого массива с фразой пользователя и, исходя из этого, даёт свой ответ. Ответ выбирается из выбранной строки массива с использованием функцииRandom.
Весь диалог бота с пользователем отображается в верхнем TextBox. Сюда, в виде диалога, выводятся фразы, сказанные человеком (перед ними стоит надпись «Я: »), и ответы бота (перед ними стоит надпись «Чат-бот: »). Пользователь не может вручную изменять это поле, оно доступно «только для чтения» т.е. ввод сюда какой-либо информации неовзомжен. При нажатии кнопки «Очистить историю переписки» вся написанная информация удаляется.
База ответов представляет собой файл с разрешением .txt. Данный документ содержит строки, разделённые знаком переноса строки, и фразы разделённые точкой. Первый элемент каждой строки является одним из ключевых слов в предполагаемых вопросах пользователя. Именно с этим элементом сравнивается фраза, заданная боту. Последующие элементы строки – это возможные ответы бота, которые выбираются случайно. Одна строка соответствует одному запросу.
В данной программе было реализовано меню, которое содержит в себе «Справку», «Об авторах» и «Выход». Нажатие пункта «Выход» прекращает работу программы.
Пункты «Справка» и «Об авторах» открываются в отдельных окнах и содержат в себе соответствующую информацию в виде текста.
3 Тестирование
Написанная программа «Чат-бот» была протестирована. Тесты проверяли работоспособность всех кнопок, а так же работу виртуального собеседника. Т.е. были проверены различные варианты ввода сообщений, и ввод различной информации. Виртуальный собеседник «Чат-бот» адекватно реагировал на вопросы и отвечал «в тему».
Скриншоты диалогов приведены ниже на рисунках 2 и 3.

Рисунок 2 – Тестирование программы

Рисунок 3 – Тестирование программы
На рисунках 4 и 5 показаны окна «Справка» и «Об авторах».

Рисунок 4 – Окно справки

Рисунок 5 – Авторы программы.
