我应该在此神经网络中使用什么类型的输入?

What types of input should I use in this neural network?

我有一个系统,用户可以在其中发送很多聊天消息,其中很多都是问题,比如 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!、[=18,机器人应该这样回复=],或其他类似的东西。对于我们希望用户提出的各种问题,这个机器人会给出一组固定的答案,所以我计划将神经网络训练到 output 0 以获得不需要回复的消息,或者一些other ID number 对应于给定的回复消息。

我在想我会记录所有的聊天消息,仔细检查并对它们进行分类,哪些消息或没有消息是合适的回复,然后将其输入神经网络。我还会创建工具来纠正不适当的回复或缺少回复。

我正在使用 C# 并且可能会使用诸如 Accord.NET 之类的库,尽管我不要求具体的实现。我的一个问题是如何获取聊天消息字符串并将其转换为神经网络的有效输入。我想它会告诉网络使用了哪些词和标点符号,这些词的顺序是什么,以及哪些词跟在哪些其他词之后。然而,具体的实现方式让我望而却步。

首先 - 看起来你的任务是某种 natural text classification(每个常见问题解答问题提出一个 class)。

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

p.s。另外 - 也许你会更喜欢 api.ai,或者,也许 - Watson nlc-based bot?