Какие задачи выполняет
Бот создан как альтернатива поисковой системе. Он способен проанализировать ваш текст, определить критерии для подбора и выдать результат.
Что умеет
Определять параметры поиска
Результат поиска формируется на основании таких параметров:
- Жанр.
- Тип (сериал, полнометражный фильм, спец. выпуск, ova, ona).
- Возрастные ограничения.
- Количество аниме в ответе.
- Сортировка.
Для каждого параметра, за исключением количества, есть свой словарь с определениями и их синонимами с которым сопоставляется текст пользователя.
Так же параметры Количество и Сортировка имеют значения по-умолчанию: 3 и random соответственно.
Примеры
Поиск по жанру
Комедия
Весёлое аниме
Что-то смешное
Результат:
{ "limit": "3", "kind": [], "genre": [ "Комедия" ], "order": "random", "rating": [] }
Так же, жанров может быть несколько:
Очень весёлое аниме или что-то страшное
Результат:
{ "limit": "3", "kind": [], "genre": [ "Комедия", "Ужасы" ], "order": "random", "rating": [] }
Поиск по типу
Полнометражка
Фильм
Результат:
{ "limit": "3", "kind": [ "Фильм" ], "genre": [], "order": "random", "rating": [] }
Поиск по возрастным ограничениям
R+
Аниме для взрослых
Результат:
{ "kind": [], "genre": [], "order": "random", "rating": [ "r_plus" ], "limit": "3" }
Сортировка
Топ аниме
Лучшие аниме
Результат:
{ "genre": [], "order": "ranked", "rating": [], "limit": "3", "kind": [] }
Комбинирование параметров
топ 5 аниме в жанре ужасы
Результат:
{ "kind": [], "genre": [ "Ужасы" ], "order": "ranked", "rating": [], "limit": 5 }
1 новый фильм
Результат:
{ "kind": [ "Фильм" ], "genre": [], "order": "aired_on", "rating": [], "limit": 1 }
5 последних сериалов или ova в жанре комедия с рейтингом R
Результат:
{ "genre": [ "Комедия" ], "order": "aired_on", "rating": [ "r" ], "limit": 5, "kind": [ "Сериал", "OVA" ] }
Поиск по названию
Если текст не удалось разобрать на параметры, бот попытается осуществить анализ на наличие названия конкретного тайтла. И вернёт информацию о нем, а так же несколько связанных или похожих аниме.
В отличии от поиск по параметрам, здесь кроме словаря с названиями всех аниме используется поиск по предустановленным шаблонов и наличия имени собственного.
Примеры
Аниме с названием Ван пис
Результат:
{ "name": "Ван пис" }
Найди мне аниме на подобии Ван пис
Результат:
{ "name": "Ван пис" }
Аниме ван пис
Результат:
{ "name": "ван пис" }
Прочее
Помимо непосредственно запроса, бот умеет сохранять контекст и связывать несколько последовательных запросов:
1 лучший сериал
Результат:
{ "kind": [ "Сериал" ], "genre": [], "order": "ranked", "rating": [], "limit": 1 }
а фильм?
{ "kind": [ "Фильм" ], "genre": [], "order": "ranked", "rating": [], "limit": 1 }
ещё
Результат:
{ "kind": [ "Фильм" ], "genre": [], "order": "ranked", "rating": [], "limit": 1, "page":2 }
Как видите, хоть в последующих запросах нет явного указания на тип и лимит, бот сохраняет эти параметры из первого запроса, тем самым формируя контекст диалога.
Подробнее про синтаксический анализ читайте тут.