Networking 聊天机器人培训的深度学习

Networking 聊天机器人培训的深度学习,networking,deep-learning,chatbot,Networking,Deep Learning,Chatbot,我们正在尝试为客户服务创建一个智能聊天机器人。我们有一个客户服务问题和答案的语料库,每个对话都有一个标记的意图。我们正在探索使用深度学习来培训我们的模型,但我们遇到了几个问题: 1-如何进行特征工程以在文本数据上训练模型。具体来说,如何将语言转化为向量? 2-如何使用非单词特征作为意图识别深度学习分类器的输入?您如何适应客户产品名称等? 3-如何选择用于文本输入深度学习的神经网络架构? 4-我们如何处理数据不足的情况?使用贝叶斯技术 酷。。好的开始 在您开始实施之前,我建议您学习一些基础知识 不

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

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

酷。。好的开始

在您开始实施之前,我建议您学习一些基础知识

不管怎样,这里有你的问题的答案

特征工程:顾名思义,在你们的数据中有一些东西可能会降低你们模型的准确性。就像单词中混合了小写和大写字符、数字、特殊字符、以某些特殊字符结尾的行一样。。等,这在特征工程后给出了更高的精度!!但同样,它是必需的,这完全取决于您拥有的数据类型

语言到向量:任何类型的语言,最后都是文本(这里是你的例子)。我们可以给单词或字符以向量表示。该向量表示可以通过一个热向量或使用word2vec或glove等预构建方法获得

一个热门向量:-假设您的培训数据集中有100个单词。然后为每个单词创建k维向量。其中k是总字数。按字符位置排列单词。并根据三个排序顺序创建向量,保持其索引位置为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


祝你好运

对Achyuta nanda sahoo先前回答的一些补充。(根据您的问题编号)

  • 正如他所说,使用一些预先训练好的单词嵌入层(Fasttext、word2vec) 你可以在这里找到经过预训练的车型,例如:
  • 使用命名实体识别,您尤其可以找到客户产品名称。例如,您可以从以下回购协议开始
  • U可以根据余弦相似性从一些简单的问答匹配开始,如下所示:
  • 即使你最初没有足够的数据,你也可以从一个深层次的神经网络开始,对一个来自类似问答数据分布的庞大数据集进行预训练。应该有大量的网站,在那里你可以找到这些回答问题的场景,随时可以删除:-)

  • Best

    您可以在此处提问以获得更多答案:。你需要做自然语言处理(NLP),网上有很多例子。尝试谷歌搜索“NLP特征提取”。祝你好运你问的问题本身就是整个过程。你需要学习NLP。如果从头开始创建模型不是强制性的,那么我建议您使用Google的API进行聊天机器人开发,称为Dialogflow。Dialogflow是一个平台,您可以轻松开发聊天机器人,只需点击几下,就可以将其集成到任何地方(网站、facebook、slack甚至谷歌助手等)。去争取吧