Skip to content
Mikhail edited this page Feb 25, 2017 · 2 revisions

модуль QAprocessing нужен для генерации корпуса из фраз и aiml файлов:

Как работает: из вопросов и списков ответов к ним формируются корпус (список вопросов) и aiml категории, при этом aiml файлы получаются разбиты по тем же темам, что и изначальные сырые данные

модуль PBot:

  1. из aiml файлов обучается бот
  2. из корпуса составляется вектор с помощью выбранной модели (CountVectorizer или TfidfVectorizer)
  3. считывается очередная фраза пользователя и переводится в вектор
  4. для вектора фразы ищутся ближайшие (по косинусному расстоянию) векторы
  5. для найденных векторов формируется список соответствующих им фраз из корпуса; т.о. , получается список фраз из корпуса, соответствующих фразе пользователя (их векторы находятся на одинаковом максимальном косинусном расстоянии от вектора фразы пользователя)
  6. если фраза из корпуса выбрана одна, то переслать ее боту и получить от него ответ
  7. иначе выдать сообщение о неоднозначности и записать фразу пользователя и список близких к ней фраз в лог-файл
Clone this wiki locally