2017-05-03 52 views
0

我想知道如何在我的對話框中集成一些編碼(python或javascript),以避免非常有限的bluemix接口,例如循環或文本挖掘。爲複雜輸入編碼沃森對話?

EX:我創建一個比薩餅聊天機器人,我需要能夠處理這種要求:

I would like 2 margarita whose one with extra cheese and the other with pepperoni and a regina, with 3 diet cokes and two beers

這僅僅是不可能的bluemix做到這一點。

如果有人有解決方案,我將非常感激。 謝謝

+0

您是否檢出了Watson Conversation的工具包和SDK?您可以執行輸入的預處理和後處理,使用NLU服務和其他服務來註釋和擴充輸入,將變量傳入和傳出對話處理。 –

回答

0

所以首先要理解的是Conversation有好的和壞的用例。

如果您的用戶可以輸入結構化數據,那麼最好使用表單。在對話窗口(如Watson Virtual Agent)中,或者在您的網站/應用程序上的表單。

所以你的例子看起來不是一個好的用例。


也就是說......

你的榜樣是可能的,如果你的主要項目是實體的,你哈弗啓用@sys-number系統實體。然後,您可以檢查entities陣列以查看彼此的距離。

創建以下實體。

@PizzaType 
@PizzaTopping 
@Drinks 

當我問你問題,entities對象返回如下:

[ 
    { 
    "entity": "Drinks", 
    "location": [ 
     104, 
     114 
    ], 
    "value": "diet coke", 
    "confidence": 1 
    }, 
    { 
    "entity": "PizzaType", 
    "location": [ 
     72, 
     81 
    ], 
    "value": "Pepperoni", 
    "confidence": 1 
    }, 
    { 
    "entity": "Drinks", 
    "location": [ 
     123, 
     128 
    ], 
    "value": "beer", 
    "confidence": 1 
    }, 
    { 
    "entity": "PizzaType", 
    "location": [ 
     88, 
     94 
    ], 
    "value": "Regina", 
    "confidence": 1 
    }, 
    { 
    "entity": "PizzaTopping", 
    "location": [ 
     46, 
     52 
    ], 
    "value": "cheese", 
    "confidence": 1 
    }, 
    { 
    "entity": "PizzaType", 
    "location": [ 
     15, 
     24 
    ], 
    "value": "Margarita", 
    "confidence": 1 
    }, 
    { 
    "entity": "sys-number", 
    "location": [ 
     13, 
     14 
    ], 
    "value": "2", 
    "confidence": 1, 
    "metadata": { 
     "numeric_value": 2 
    } 
    }, 
    { 
    "entity": "sys-number", 
    "location": [ 
     31, 
     34 
    ], 
    "value": "1", 
    "confidence": 1, 
    "metadata": { 
     "numeric_value": 1 
    } 
    }, 
    { 
    "entity": "sys-number", 
    "location": [ 
     101, 
     102 
    ], 
    "value": "3", 
    "confidence": 1, 
    "metadata": { 
     "numeric_value": 3 
    } 
    }, 
    { 
    "entity": "sys-number", 
    "location": [ 
     119, 
     122 
    ], 
    "value": "2", 
    "confidence": 1, 
    "metadata": { 
     "numeric_value": 2 
    } 
    } 
] 

這方面的一個總結:

enter image description here

你可以看到直線距離也有一些問題在那裏。如果用戶沒有提及數字,則必須對此進行說明。像這個問題也會破壞它(除非你滿足)。

I would like margarita pizzas (two). 

但重要的是要建立具有代表性問題的系統。您的示例問題可能永遠不會被最終用戶詢問,或者您甚至可以塑造對話來阻止這種輸入。