所以首先要理解的是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
}
}
]
這方面的一個總結:
你可以看到直線距離也有一些問題在那裏。如果用戶沒有提及數字,則必須對此進行說明。像這個問題也會破壞它(除非你滿足)。
I would like margarita pizzas (two).
但重要的是要建立具有代表性問題的系統。您的示例問題可能永遠不會被最終用戶詢問,或者您甚至可以塑造對話來阻止這種輸入。
您是否檢出了Watson Conversation的工具包和SDK?您可以執行輸入的預處理和後處理,使用NLU服務和其他服務來註釋和擴充輸入,將變量傳入和傳出對話處理。 –