2016-09-17 69 views
0

我需要用戶輸入其航班號才能爲其提供詳細信息。
有沒有辦法檢測並存儲他輸入的航班號(3-4位+字)?
我知道我可以創建一個實體來存儲用戶輸入的某些部分,但似乎我必須對我想要檢索的值進行硬編碼,這是不實際的。
那麼,是否有任何選項可以讓watson自動檢測用戶輸入的一部分(不限於數字)。在IBM Watson對話中檢測實體中的號碼

回答

1

在您的條件部分,您可以輸入以下內容。

input.text.matches('.*?[0-9]{3,4}.*?') 

對於您的輸出區域,請轉到高級模式並執行以下操作。

{ 
    "output": { 
     "text": "You typed a 3-4 digit number. I stored it in Context variable 'found'" 
    }, 
    "context": { 
     "found": "<? input.text ?>" 
    } 
} 

然後,您可以查詢上下文變量found在你的代碼做就可以了更復雜的動作。


對話已被更新自此答案。您現在可以使用input.text.extract()而不僅僅是input.text

像這樣:

"found": "<? input.text.extract('.*?([0-9]{3,4}).*?',1) ?>"