首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于聊天机器人训练的深度学习

用于聊天机器人训练的深度学习
EN

Stack Overflow用户
提问于 2017-02-14 19:55:53
回答 2查看 333关注 0票数 3

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

1-如何在文本数据上进行特征工程来训练模型。具体地说,如何将语言转换为向量?

2-如何使用非单词特征,作为意图识别深度学习分类器的输入?你如何容纳客户产品名称?3-如何为文本输入的深度学习选择神经网络体系结构?4-我们如何处理数据不足的情况?使用贝叶斯技术?

EN

回答 2

Stack Overflow用户

发布于 2017-07-10 18:06:46

酷..。不错的开始!!.

在你跳到实现之前,我建议你一定要学习一些基础知识。

不管怎样,这是你问题的答案。!!

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

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

一个热门向量:-假设您的训练数据集中有100个单词。然后为每个单词创建k维向量。其中k是总字数。按字符位置对单词进行排序。并且根据第三个排序的顺序创建向量,保持它们的索引位置为1,其余为0。

代码语言:javascript
复制
ex: [1 0 0 0 0 ....] - word1
    [0 1 0 0 0 ....] - word2
    [0 0 0 0 0 ...1] - word100

非单词功能:遵循与word相同的规则-功能客户端产品名称:-创建一个热向量,因为它们通常不会在文本中使用。它们在现实生活中没有意义。

如何选择NN :-这取决于你想要实现的目标。NN可以有多种用途。

数据不足:-这又取决于你的数据。!!如果您的数据有更常见的模式,并且在未来的数据中也会出现这些模式!!那么仍然可以使用NN。否则我不推荐使用NN。

祝你好运!

票数 0
EN

Stack Overflow用户

发布于 2019-08-22 15:52:54

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

  1. 正如他所说,使用一些预训练的单词嵌入层(快速文本,word2vec)你可以找到预训练的模型,例如这里:

https://github.com/facebookresearch/fastText/blob/master/docs/pretrained-vectors.md

  1. U尤其可以使用命名实体识别来查找客户端产品名称。例如,您可以从以下repo

开始

https://github.com/guillaumegenthial/tf_ner

  1. U可以根据余弦相似度从一些简单的问题答案匹配开始,如下所示:

https://github.com/sachinbiradar9/Question-Answer-Selection

  1. 即使你最初没有足够的数据,你也可以通过在一个来自类似问答数据分布的巨大数据集上进行预训练,从一个深度神经网络开始。应该有很多网站,你可以在那里找到这些准备好抓取的问答场景:-)

最好的

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42225539

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档