2017-04-18 135 views
0

在google的api.ai中,處理這樣的句子:Bot框架名稱實體

「什麼是John Doe的電子郵件?」

我創建一個名爲「給定名稱」和「最後的名字」預建的實體來獲得命名爲「李四」

如何做到與微軟博特框架/路易斯一樣嗎?

回答

0

你不要直接用Bot框架來做。 Bot Framework可以幫助你建立你的對話流,但不會內置NLU。您可能會使用LUIS(也luis.ai),它可以在那裏執行您的意圖檢測和實體提取。如果你喜歡,你也可以從Bot框架中使用你的api.ai代理。我這樣做是爲了支持語言LUIS不說話,但(更多詳情 - http://www.pveller.com/integrating-bot-framework-with-api-ai/

UPDATE

擴展在我的意見。以下是我在一個bot機器人原型中提取contact實體的方法。這是從出口LUIS模型JSON片段:

"entities": [ 
    { 
     "name": "Contact" 
    } 
], 
"model_features": [ 
    { 
     "name": "Contact", 
     "mode": true, 
     "words": "John Smith,John Doe,Mary Jay,Robin Smith", 
     "activated": true 
    } 
], 
"utterances": [ 
    { 
     "text": "please email to john smith and robin smith", 
     "intent": "Email", 
     "entities": [ 
     { 
      "entity": "Contact", 
      "startPos": 16, 
      "endPos": 25 
     }, 
     { 
      "entity": "Contact", 
      "startPos": 31, 
      "endPos": 41 
     } 
     ] 
    } 
] 
+0

感謝您的回答,但如何與Luis.ai做到這一點?我一直在試圖創建一個實體,但我找不到解決方案。預構建實體似乎是要走的路,但它缺少名稱類型 – Ateik

+0

我相信,預構建實體集中沒有名稱。您需要訓練一組問題,每個問題以不同的方式詢問某人的電子郵件,並將名稱部分標記爲實體。你自己的自定義實體。如果你知道用戶可能會詢問的人(例如,它是你的企業目錄或其他東西),你可以使用「短語列表」。這將教LUIS將所有這些名稱視爲*相同*實體。它承認一個,它會基本上承認所有其他人。我相信我在我的一個機器人原型中曾經這樣做過。我可以挖掘出LUIS模型。讓我知道 –