2017-02-11 23 views
0

У меня есть система, в которой пользователи могут отправлять множество сообщений чата, и многие из них, как правило, вопросы, как How do I register an account? How do I do this?Where is X?Какие типы ввода следует использовать в этой нейронной сети?

Чтобы помочь с этим, я заинтересован в создании FAQbot, который принимает чат затем решает, отправлять ли полезное сообщение, объясняющее, как это делать. Таким образом, пользователь вводит в How do I register an account?, и бот должен ответить что-то по строкам You can register by .... Бот должен ответить так, если пользователь набирает How do I register?, I can't register an account!, Can somebody please tell me how to register? или что-то еще подобное. Был бы определенный набор ответов, которые этот бот предоставил бы по различным вопросам, которые, как мы ожидали бы, у пользователей, поэтому я планирую обучение нейронной сети output 0 для сообщения, которое не нуждается в ответе, или какой-либо другой ID number, который соответствует к данному ответному сообщению.

Я думал, что я буду регистрировать все сообщения чата, проходить и классифицировать их все, с какими сообщениями или нет сообщения будет подходящим ответом, а затем подать их в нейронную сеть. Я бы также создал инструменты для исправления несоответствующих ответов или их отсутствия.

Я использую C# и, вероятно, буду использовать библиотеку, такую ​​как Accord.NET, хотя я не прошу конкретной реализации. Мой вопрос заключается в том, как я возьму строку сообщения чата и превращу ее в действительный ввод для нейронной сети. Я предполагаю, что это сообщит сети, какие слова и знаки препинания использовались, которые заказывают слова, и какие слова следуют за другими словами. Однако конкретная реализация этого ускользает от меня.

ответ

0

Во-первых - кажется, что ваша задача - это какой-то natural text classification (каждый вопрос вопросов задает один класс).

также - может быть TF-IDF вектор? Другой способ, который я вижу - представить ввод как матрицу вектора слова (из word2vec или что-то вроде этого), но похоже, что в этом случае у ANN будет много параметров - так что кажется, что вы не сможете его правильно обучить.

p.s. также - может быть, вы предпочтете api.ai, или, может быть, бот на основе watson nlc?