Skip to content

ninnikukawaii/ChatBot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ChatBot

Формулировка стартовой задачи:

При старте диалога, чат-бот рассказывает, что он умеет и как с ним взаимодействовать. Затем в бесконечном цикле задает вопрос, получает от пользователя ответ и оценивает его правильность, задаёт следующий вопрос и так далее. В любой момент можно попросить бота ещё раз рассказать о себе, и пояснить как с ним взаимодействовать. Общаться с ботом можно через консоль. Хранилище вопросов или их генератор должен быть отделён от логики построения диалога.

Замечания

Вынести енумы, добавить getpath, изменить удаление из генератора, сделать генератор итератором, тест на уменьшение длины генератора, динамический quiz, переименовать questions.txt, сделать однообразными обращения к юзеру

Формулировка второй задачи:

Бот поддерживает ведение диалога с множеством пользователей как навык для Алисы. Логика чат-бота отделена от инфраструктурного кода со спецификой Алисы. В чем сложность и интерес:

  • Поддержка возможностей Алисы.
  • Лаконичная структура кода.

Замечания

Перенести парсинг json на сервер и возвращать в виде объекта, сделать RequestHandler через optional, заменить в обработчике массив на лист

Создание листов через Collections.singletonList, заменить в тестах билдер на форматированные строки, перегрузить equals в Query и тестировать создание через него, в testGenerator не кастовать к ArrayList, переопределить hashcode у Question, создание генератора в тестах через конструктор из листа вопросов

Формулировка третьей задачи:

Добавление боту бредогенератора. Теперь он умеет рассказывать истории. В чем сложность и интерес:

  • Обработка текстов для обучения.
  • Работа с цепями Маркова для построения текстов.

Замечания

При создании генератора сплитить текст по концам предложения и работать с предложениями, при работе с Map в генераторе использовать compute if absent и merge в update, переименовать getStatistics по имени поля, использовать getOrDefault в счетчике статистики, переименовать в sentence count, убрать textGenerator из UserState в другое место, request handler не должен принимать имя файла в конструктор, обеспечить потокобезопасность (map с пользователями и общий генератор с рандомом)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages