Comments 8
Кроме Android где-то можно потестировать?
0
Ограниченное по функциям приложение тут:
http://svlaboratory.org/application/chatbot2
http://svlaboratory.org/application/chatbot2
0
Основа описанного алгоритма — «корреляция» между словами, а по факту — их взаимозаменяемость.
Я в своё время делал следующее:
Собирал базу диалогов из художественной литературы, после чего обрабатывал их в вид:
Q_Ты Q_любишь Q_женщин А_Да А_люблю
Пара вопрос-ответ составляет одну строку обучающего файла. На обучающий файл натравливается Word2Vec, который устанавливает взаимозаменяемость и ассоциативность между словами вопроса и ответа. Так, очевидно из примера, что «Q_любишь» и «А_люблю» будут иметь хорошую дистанцию, поскольку в примерах часто фигурируют вместе.
Разумеется, у меня не такой простой способ кодирования был, поскольку я аналогичным образом делал разметку по позиции слова в вопросе/ответе (что позволяет выучивать синтаксис и типовые грамматические конструкции, при наличии достаточной обучающей базы, разумеется).
В целом, результаты забавные именно с точки зрения «болталки». Но я их использовал не в чистом виде, а для ранжирования подготовленных другими методами вариантов ответной реплики. Поскольку предложенный способ позволяет легко вычислять дистанцию между вопросами/ответами и выбирать вариант ответа с наилучшей дистанцией.
Я в своё время делал следующее:
Собирал базу диалогов из художественной литературы, после чего обрабатывал их в вид:
Q_Ты Q_любишь Q_женщин А_Да А_люблю
Пара вопрос-ответ составляет одну строку обучающего файла. На обучающий файл натравливается Word2Vec, который устанавливает взаимозаменяемость и ассоциативность между словами вопроса и ответа. Так, очевидно из примера, что «Q_любишь» и «А_люблю» будут иметь хорошую дистанцию, поскольку в примерах часто фигурируют вместе.
Разумеется, у меня не такой простой способ кодирования был, поскольку я аналогичным образом делал разметку по позиции слова в вопросе/ответе (что позволяет выучивать синтаксис и типовые грамматические конструкции, при наличии достаточной обучающей базы, разумеется).
В целом, результаты забавные именно с точки зрения «болталки». Но я их использовал не в чистом виде, а для ранжирования подготовленных другими методами вариантов ответной реплики. Поскольку предложенный способ позволяет легко вычислять дистанцию между вопросами/ответами и выбирать вариант ответа с наилучшей дистанцией.
0
Вот только при чём тут рекурентные сети? Приведённый алгоритм, насколько я могу судить, никакого отношения к ним не имеет.
0
Данный алгоритм имитирует поведение рекуррентной нейронной сети для программы чат бот
0
Что вы под этим имеете в виду? Вы решаете задачу совершенно другим методом, поэтому мне не понятно, в каком смысле тут вообще можно говорить об имитации.
+1
Если представить рекуррентную сеть как черный ящик, и проанализировать лишь поведение рекуррентной сети, т.е. то как она отвечает и генерирует новый текст.
Данный алгоритм имитирует поведение рекуррентной нейронной сети, при этом структура алгоритма отличается.
Рекуррентная сеть для имитации речевого общения обладает рядом свойств:
статистическая связь вопросов и ответов в базе знаний,
взаимозаменяемость слов,
генерация новых текстов.
Данный алгоритм имитирует поведение рекуррентной нейронной сети, при этом структура алгоритма отличается.
0
Sign up to leave a comment.
Эвристическая сеть — аналог рекуррентной нейронной сети для программы чат бот