在Watson對話中定義對話框時,我無法用他/她的名字向用戶致意,或者我無法檢測到用戶發送的聯繫人號碼,並將其更改爲用戶。是否可以在Watson Conversation Api中進行。如何在沃森對話中提供個性化問候語?
4
A
回答
4
您是否已經有權訪問此信息?您可以通過上下文發送這些值,並使用$ context_variable引用它們。 收集用戶信息的過程也是如此。你可以通過你的應用程序使用正則表達式來捕捉東西,或者使用一些Spring表達式,你可以在這裏看到文本。匹配: https://www.ibm.com/watson/developercloud/doc/conversation/dialog_reference.shtml 你可以將它存儲爲上下文,然後再次使用$ context_variable引用它。 像姓名和電話號碼這樣的信息是相當開放的,所以如果不使用開放的實體提取引擎,我們正在研究將其納入其中的最佳方法,那麼可能很難捕獲。
6
雖然米奇的回答是正確的,但這是一個做個性化迴應的例子。
1.將您的conversation_start
節點文本設置爲「Hello <? context.username ?>
」。
2.在你的代碼,你會做這樣的事情(蟒蛇)。
import json
from watson_developer_cloud import ConversationV1
conversation = ConversationV1(
username='SERVICE_USERNAME',
password='SERVICE_PASSWORD',
version='2016-07-11')
workspace_id = 'WORKSPACE_ID_CONVERSATION'
response = conversation.message(workspace_id=workspace_id, context= {'username':'Simon'})
print json.dumps(response)
3.當你運行這個,它應該輸出以下內容,其中「文本」部分是用戶看到的。
{
"entities":[],
"intents":[],
"output":{
"log_messages":[],
"nodes_visited":["node_1_1472298724972],
"text":["Hello Simon"]
},
"context":{
"username":"Simon",
"conversation_id":"9dc1501b-ac53-4b51-a299-37f5314ebf89",
"system":{
"dialog_turn_counter":1,
"dialog_stack":["root"],
"dialog_request_counter":1
}
},
"input":{}
}
有一點需要注意的是,上下文對象用於維護對話的狀態。因此,如果您打算只使用REST API,那麼您需要在發送前將上下文變量合併到前面的上下文對象中。你只需要在你知道對話需要這個上下文的點上這樣做。
-1
要得到用戶的輸入,使用:
"context": {"yourVariable": "<?input.text?>"}
,並顯示出:
"output": {"text": "You entered this $yourVariable"}
相關問題
- 1. 沃森對話中的來回對話
- 2. 沃森對話功能
- 3. 如何設置意圖在沃森對話對話框
- 4. 沃森對話 - 存儲和我們使用沃森會話服務提示機器人的功能在應用
- 5. 沃森談話如何認識時間?
- 6. 沃森minecraft對話框不啓動
- 7. 快速回復或與沃森對話
- 8. 沃森對話不識別新實體
- 9. 條件沃森談話
- 10. 返回沃森對話對話框中的所有實體值
- 11. 在沃森的談話如何提取多個值在輸入文本時
- 12. 我如何提取當前日期沃森談話
- 13. 擺脫重複的對話框節點沃森對話
- 14. 沃森對話:如何保持額外的用戶輸入
- 15. 在沃森對話中識別未定義的實體
- 16. 問題與沃森和HTTPS
- 17. 從文本訪問沃森
- 18. 如何經由沃森 - 開發者 - 雲庫沃森的對話框服務檢索特定配置變量
- 19. 在沃森對話中要求兩個或兩個以上的意圖
- 20. 我們如何在沃森對話中創建超鏈接圖標?
- 21. IBM沃森自然語言理解上載以供分析
- 22. IBM沃森diarization
- 23. 如何在沃森談話排除especific天
- 24. 沃森談話api中的問題的選項
- 25. 評估方法沃森談話?
- 26. 沃森談話實體陣列
- 27. 沃森語音到文本數字
- 28. C# - 沃森 - 語音到文本API
- 29. IBM沃森文本到語音Bower_Components
- 30. IBM沃森文本到語音宣告
你是什麼意思時,你說你 - 「在你的代碼,你會做這樣的事情(蟒蛇) 「。我應該在哪裏包含這段代碼?另外,有什麼方法可以不用硬編碼用戶名?(我看你有硬編碼的西蒙),而是讓用戶輸入他的名字並使用它。附:我是Bluemix的新手 –
這是硬編碼的例子,但你會通過你的應用程序加載。 –
我應該在哪裏編碼python代碼片段?我應該在本地運行它,還是應該將它集成到對話服務中?如果我要集成到對話服務中,我應該如何處理它?如果您可以提供指向任何教程的鏈接,那麼它會很棒 –