2017-04-14 152 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不夠強壯,無法正確捕獲公司(我的感覺是,對於這種特殊的用例,具有同義詞的實體可能工作正常)。