首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用ChatBot订电影票

用ChatBot订电影票
EN

Stack Overflow用户
提问于 2016-06-06 15:20:53
回答 1查看 973关注 0票数 5

我的问题与我刚刚开始从事的项目有关,这是一个ChatBot。

我想建造的机器人任务很简单。它必须使购买电影票的过程自动化。这是相当接近的领域和机器人有所有所需的访问电影院数据库。当然,如果用户消息与订购电影票的过程无关,机器人可以回答“我不知道”。

我已经创建了一个简单的演示,只是为了向一些人展示,看看他们是否对这样的产品感兴趣。该演示使用简单的DFA方法和一些简单的文本匹配与词干。我在一天内黑了它,结果发现用户对他们能够成功地订购他们想要的票印象深刻。(演示使用到电影院数据库的连接,为用户提供所有需要的信息,以订购他们想要的门票)。

我目前的目标是创建下一个版本,一个更高级的版本,特别是在理解自然语言方面。例如,演示版本要求用户在一条消息中只提供一个信息,并且不识别他们是否提供了更相关的信息(例如电影标题和时间)。我在这里读到一种有用的技术叫做“框架和插槽语义”,它看起来很有希望,但是我还没有找到关于如何使用这种方法的任何细节。

此外,我不知道哪种方法是提高自然语言理解的最佳方法。在大多数情况下,我认为:

  1. 使用“标准”NLP技术,以便更好地理解用户消息。例如,同义词数据库,拼写更正,部分语音标记,训练一些基于统计的分类器来捕捉单词之间的相似和其他关系(如果可能的话,或者整个句子之间的关系?)等。
  2. 使用AIML对会话流进行建模。我不确定在这样一个封闭域中使用AIML是否是个好主意。我从没用过,所以这就是我要问的原因。
  3. 使用一种更“现代”的方法,并使用神经网络来训练一个分类器的用户信息分类。然而,它可能需要大量标记的数据。
  4. 还有其他我不知道的方法吗?

哪一种方法最适合我的目标?

您知道在哪里可以找到更多关于“框架和插槽语义”如何详细工作的资源吗?--我在谈论框架和插槽方法时是指这个来自斯坦福的PDF

EN

回答 1

Stack Overflow用户

发布于 2016-06-08 07:42:40

这个问题相当广泛,但是这里有一些想法和实用的建议,基于NLP和基于文本的机器学习在类似的问题领域的经验。

我假设虽然这是你的聊天机器人的“更高级”版本,但它的工作范围是非常有限的。在我看来,这是一个非常重要的因素,因为不同的方法在数量和类型的手工工作所需的工作,和最先进的技术可能在很大程度上是遥不可及的。

一般来说,考虑的两种主要方法是基于规则的和统计的。第一种方法传统上更侧重于模式匹配,在您描述的设置中(可以投入有限的精力),将涉及手动处理规则和/或模式。这种方法的一个例子是使用一组封闭的(但很大)的模板来匹配用户输入(例如使用正则表达式)。这种方法在性能上通常有一个“玻璃天花板”,但可以相对较快地得到很好的结果。

统计方法更多的是给一些ML算法一堆数据,让它从中提取规律,集中手工收集和标注一个好的训练集。在我看来,为了获得“足够好”的结果,您需要的数据量可能会大得令人望而却步,除非您能够想出一种方法轻松地收集大量至少部分标记的数据。

实际上是,我建议在这里考虑一种混合方法。使用一些基于ML的统计通用工具从用户输入中提取信息,然后应用手工构建的规则/模板。例如,您可以使用Google的帕西McParseface进行语法分析,然后对结果应用一些规则引擎,例如将动词与一系列可能的动作相匹配,例如“购买”、使用提取的语法关系来为电影名称寻找候选词等。这将使您很快获得相当好的结果,因为语法解析器的强大功能将使您能够“理解”甚至是复杂且可能令人困惑的句子。

我还建议推迟一些您想要做的元素,比如拼写更正,甚至是词干和同义词DB --因为问题相对来说是封闭的,您在投资于规则/模板时可能会有更好的ROI --框架和手动规则创建。此建议也适用于会话流的显式建模。

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

https://stackoverflow.com/questions/37661101

复制
相关文章

相似问题

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