我应该在这个神经网络中使用哪些类型的输入?

时间:2017-02-11 00:28:50

标签: c# machine-learning nlp accord.net

我有一个系统,用户可以在其中发送许多聊天消息,其中很多都是问题,例如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!,{{1},机器人应该回复或者其他类似的东西。这个机器人会给我们期望用户提出的各种问题提供一组固定的答案,因此我计划将神经网络培训到Can somebody please tell me how to register?以获取不需要回复的消息,或者一些与给定回复消息对应的其他output 0

我在想我会记录所有的聊天消息,通过哪些消息进行分类,或者将消息分类为适当的回复,然后将其提供给神经网络。我还会创建工具来纠正不恰当的回复或缺乏回复。

我正在使用ID number并且可能会使用C#这样的库,尽管我并没有要求具体的实现。我的一个问题是如何将聊天消息字符串转换为神经网络的有效输入。我想它会告诉网络使用了哪些单词和标点符号,这些单词的顺序是什么,以及哪些单词跟随哪些单词。但是,我的具体实施是不可能的。

1 个答案:

答案 0 :(得分:1)

首先 - 似乎你的任务是某种natural text classification(每个常见问题解答提出一个类)。

另外 - 也许TF-IDF向量? 我看到的另一种方式 - 将输入作为单词向量的矩阵(来自word2vec或类似的东西),但似乎在这种情况下ANN将有许多参数 - 所以看起来你似乎不能正确训练它。 / p>

P.S。也许 - 你可能更喜欢api.ai,或者可能 - 基于Watson nlc的机器人?