2017-04-14 102 views
1

我想创建可以进行基本对话并在交谈中给我股票价格的股票机器人。使用IBM Watson为股票市场创建聊天机器

为了得到股票价格我使用雅虎财务api。

对于基本谈话我使用

IBM沃森谈话API

我也用

IBM NLU(自然语言理解)API

来验证不同的公司名称以不同的方式问,但我没有得到预期的结果。

例如,如果我搜索

“什么是INFY的价格是多少?”

那么它应该给我正确的答案,应该过滤掉,因为我的行动应该是通过雅虎财经API的dmart。这也应该工作,如果我改变问题的格式。

下面是我在bluemix(IBM)的node-red面板上所做的流程图设置。

enter image description here

你能帮我找出确切的API和流动,这可以帮助我实现我的目标。

回答

2

这是一个相当大的,但至少有一些第一印象评论...

沃森会话服务已整合了NLU组成部分 - 意图和实体TAB。公司名称可以使用实体和实体同义词从输入文本中提取。缺点在于用户需要列出公司名称的所有可能变体,但另一方面,实体规范可以通过csv文件导入到对话中。

一般来说,Watson Conversation服务和一些第三方服务的集成需要在Conversation服务之外完成 - 因为它现在还没有明确支持调用第三方API,所以node.js解决方案似乎在这里一个健全的。您需要指定的是WCS和第三方服务的集成如何。一般的管道可能看起来像:

  • 用户输入文本的系统
  • 文字去屈臣氏会话业务
  • 的意图和公司名称在WCS
  • WCS发送文本输出+设置一个抽取在节点output字段中的特殊变量,如"stocks" : "Google"将告诉节点。谈话售后服务,坐在JS组件来发现和包括股票输出文本

内谷歌的市值现在 - 回您的解决方案 - 它可能是有意义也有将要使用专用的NLC服务只在系统中提取公司名称。但是,只有在结果是例如WCS服务中的entities不够强壮,无法正确捕获公司(我的感觉是,对于这种特殊的用例,具有同义词的实体可能工作正常)。