我想为客户服务应用程序构建一个聊天机器人。我尝试了SaaS服务,如Wit.Ai、Motion.Ai、Api.Ai、LUIS.ai等。这些认知服务在使用典型的交互模型进行训练时,发现了“意图”和"entities“。
我需要为内部解决方案构建聊天机器人,而不需要使用任何这些SaaS服务。
例如,典型的谈话方式如下-
Can you book me a ticket?
Is my ticket booked?
What is the status of my booking BK02?
I want to cancel the booking BK02.
Book the ticketsStandFord NLP工具包看起来很有希望,但也存在许可限制。因此,我开始对OpenNLP进行实验。我想,有两个OpenNLP任务-
一旦确定了上下文,我将调用我的应用程序APIS来构建响应。
我更喜欢用Java来做这件事。但也向节点或python解决方案开放。
PS -我是NLP的新手。
发布于 2017-01-20 07:33:37
看看这个。它说这是一种对机器人的开放源码语言理解,是对流行的NLP工具的替代,比如wit.ai、api.ai或LUIS。
发布于 2016-12-13 18:43:21
在使用Luis.ai时,看看我对攻击计划的另一个答案:
为LUIS.AI创建API或使用.JSON文件为非技术用户培训机器人
简单地说,使用Luis.ai并设置一些意图,从一个或两个开始,并根据您的领域进行培训。我正在使用asp.net调用上面概述的认知服务API。然后,通过一些JQuery...you自定义响应,当每个意图或操作都由Luis的响应引发时,可以在javascript数组中搜索规则列表。
如果您的Bot是基于英语的,那么我将使用OpenNLP的语句解析器将客户输入转储到数据库中(我今天就这样做了)。然后,我使用OpenNLP标记器,并将关键字(减去停止词)和词性部分推入数据库表中进行关键字分析。我为OpenNLP构建了一个定制的情感模型,它将用Pos、Neg、中性sentiment...You标记每个句子,然后使用它来识别负面的客户服务反馈。要构建您自己的情感模型,请查看SentiWord.net并下载他们的领域不可知论数据文件来构建和训练OpenNLP模型或查看此Node版本.
https://www.npmjs.com/package/sentiword
希望这能有所帮助。
发布于 2017-08-01 23:02:16
我肯定会推荐Rasa,它很适合您的用例,可以轻松地在-前提下工作,为您处理意图和实体,而且它还有一个友好的社区。
查看我的回购,了解如何使用Rasa构建一个与简单数据库交互的聊天机器人示例:https://github.com/nmstoker/lockebot
https://stackoverflow.com/questions/39472347
复制相似问题