2017-02-14 127 views
1

我们正在努力为客户服务创建一个智能聊天机器人。我们有一个客户服务问题和答案的语料库,每个会话都有标记的意图。我们正在探索使用深度学习来训练我们的模型,但我们遇到以下几个问题:深入学习chatbot培训

1 - 如何使用特征工程来训练文本数据的模型。具体来说,你如何将语言转化为矢量?
2 - 如何使用用作意图识别深度学习分类器输入的非单词特征?你如何适应例如客户产品名称? 3 - 如何选择具有文本输入的Deep Learning的神经网络架构? 4 - 如何处理我们没有足够数据的情况?使用贝叶斯技术?

+0

您可以在此处提问您的问题以获取更多答案:http://stats.stackexchange.com/。 你需要做自然语言处理(NLP),网上有很多例子。尝试使用谷歌搜索'NLP特征提取'。 祝你好运! – Hugo

回答

0

酷..伟大的开始!

在你跳转到执行之前,我会建议请做一些基本的学习。

无论如何,这里是你的问题的答案。 !

特征工程:顾名思义,在您的数据中有些东西可能会降低模型的准确性。像小字符,大写字母,数字,特殊字符,行尾等特殊字符混合在一起,等特性工程给出更高的精度!但是又需要一切取决于你有什么类型的数据!

语言成矢量:任何类型的语言,最后它是文本(在这里你的情况)。我们可以给字或字符的矢量表示。这个向量表示可以通过一个热矢量或使用预先构建的方法(如word2vec或手套)来获取。

一个热点矢量: - 假设你的训练数据集有100个单词。然后为每个单词创建k维向量。其中k是单词的总数。由他们的角色位置来表示。并根据排序及其二氧顺序创建矢量与保持为0

ex: [1 0 0 0 0 ....] - word1 
    [0 1 0 0 0 ....] - word2 
    [0 0 0 0 0 ...1] - word100 

非Word功能的索引位置1和休息:遵循相同的规则来字的功能 客户端产品名称: - 创建一个热载体,因为它们通常不用于文本。他们在现实生活中没有意义。

如何选择NN: - 这取决于你想达到什么。神经网络可用于许多目的。

没有足够的数据: - 它再次取决于您的数据。 !如果你的数据有更常见的模式,并且未来的数据也会出现这些模式!那么使用NN仍然可以。否则我不建议使用NN。

祝您好运!