首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于数据语料库自我训练的聊天机器人答疑

基于数据语料库自我训练的聊天机器人答疑
EN

Data Science用户
提问于 2018-07-04 09:15:08
回答 1查看 1.4K关注 0票数 0

我已经创建了一个非常简单的聊天机器人基于RASA NLU。在本例中,我手动创建一些示例输入文本,并创建一个模型,用于针对未知输入源使用它。暂时没问题。

作为我下一步的学习,我想使用一个大的文档网作为我的聊天机器人的来源。

我应该做什么步骤,使程序培训自动在文档网络文本语料库上,并能够回答基于用户的查询?我想避免手工训练。

对于这个NLU问题陈述,我可以使用哪些库?

几乎所有的互联网资源都在谈论SQuaD模型。它们与自定义域培训的关系如何?

任何博客,教程,lib,可以帮助我这样做将是有用的。

一些其他相关的问题,但没有确切的答案:

利用深度学习构建知识机器人

EN

回答 1

Data Science用户

发布于 2018-07-04 12:05:55

似乎你的问题是某种形式的常见问题匹配。用户提出一个问题,NLU部分将此问题与您的文件中的相关答案相匹配。

在培训方面,你可以做两件事:

  • 相似测度

您只需在输入和不同的输出之间使用一个字符串匹配距离(如Levenshtein ),并返回最接近的输出。这样你就不需要训练你的模特了。由于这是一种K近邻的形式与一个邻居,学习发生在推理过程中。这样做的好处是,如果您的文件更改,或者您有更多的答案,您将不必更改任何东西。

这就是你所说的自学。

这个博客解释了如何使用fuzzywuzzy (一个计算这些距离的Python包):https://marcobonzanini.com/2015/02/25/fuzzy-string-matching-in-python/

  • 训练模型

显然,简单的距离测量可能不是很好,也可能不是很好。您的另一个选择是将此视为分类问题。您的类是您与文件不同的答案,您的输入是用户输入。这将需要对用户输入进行标记。

这就是你所说的手工训练。

问答

上面提到的一切都是假设你有一个已知的可能答案列表。如果你想要的是让你的机器人“查询”你的文本文件,自己找出答案,这将是一个复杂得多的任务。开放文本问答是一个复杂的研究领域。想想谷歌吧。它有时能回答简单的问题,比如“谁?”,“什么时候?”等等,但它还不能很好地给出简洁的回答复杂的查询。

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

https://datascience.stackexchange.com/questions/33974

复制
相关文章

相似问题

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