我们正在尝试为客户服务创建智能聊天机器人。我们有一个客户服务问题和答案的语料库,每个对话的标记意图。我们正在探索使用深度学习来训练我们的模型,但我们遇到了一些问题:
1 - 如何进行特征工程以训练文本数据模型。具体来说,你如何将语言转换为向量? 2 - 如何使用您用作意图识别深度学习分类器的输入的非单词特征?你如何容纳,例如客户产品名称? 3 - 如何选择具有文本输入的深度学习神经网络架构? 4 - 我们如何处理没有足够数据的情况?使用贝叶斯技术?
答案 0 :(得分:0)
酷......好开始!!。
在跳转到实施之前,我建议请先学习一些基础知识。
无论如何,这里是你的问题的答案。 !!
特征工程:顾名思义,在您的数据中,某些内容可能会降低模型的准确性。喜欢混合了小字和大写字母,数字,特殊字符,字符串结尾的字样......等特征工程后更准确!但同样需要的一切取决于你拥有的数据类型!!
语言转换为向量:任何类型的语言,最后是文本(在您的情况下)。我们可以给单词或字符赋予矢量表示。这个向量表示可以通过一个热矢量或使用预构建的方法,如word2vec或手套获得。
一个热门矢量: - 让我们说你的训练数据集有100个单词。然后为每个单词创建k维向量。其中k是单词总数。 sord字的性格位置。并且基于thire排序顺序创建向量,保持其索引位置1并且休息为0。
ex: [1 0 0 0 0 ....] - word1
[0 1 0 0 0 ....] - word2
[0 0 0 0 0 ...1] - word100
非单词功能:遵循与单词功能相同的规则 客户产品名称: - 创建一个热矢量,因为它们通常不在文本中使用。他们在现实生活中没有意义。
如何选择NN: - 这取决于你想要达到的目标。 NN可以以多种方式用于多种用途。
数据不够: - 它又取决于您的数据。 !如果你的数据有更常见的模式,在未来的数据中也会出现这些模式!!然后它仍然可以使用NN。否则我不建议使用NN。
祝你好运!!
答案 1 :(得分:0)
Achyuta nanda sahoo对先前答案的一些补充。 (根据您的问题编号)
https://github.com/facebookresearch/fastText/blob/master/docs/pretrained-vectors.md
https://github.com/guillaumegenthial/tf_ner
https://github.com/sachinbiradar9/Question-Answer-Selection
最佳