簡體   English   中英

QnA機器人僅在Azure和團隊聊天中使用精確措詞時才響應

[英]QnA bot only responds when using exact phrasing in Azure and Teams Chat

我在Microsoft QnA Maker中創建了一個漫游器,並且已經在Maker中測試QnA對已有一段時間了。 即使問題中使用了其他單詞,該機器人也能夠識別我所做的QnA對。 但是,在將漫游器引入並在Azure Test Chat和Teams Chat中對其進行測試之后,我發現該漫游器僅在使用確切的問題措詞時才做出適當的響應。

該機器人有一個QnA對,問題是“你好”。 在QnA Maker測試中,如果我向其發送此問題的變體,例如“ hello wicky”或“ hello there”,則該漫游器會識別該配對並作出適當的回答。 在Azure和團隊中進行測試時,如果我說“你好”,則該漫游器只會做出適當的響應。 如果我說有任何變化,那么它會回答“在FAQ中沒有很好的匹配”。

在QnA Maker中進行測試時,我的機器人在回答包含其他單詞的問題時從來沒有遇到問題,但不是精確問題。 在Azure和Teams中進行測試時,它似乎只是很挑剔。 我已經多次重新發布該漫游器,並確保知識庫ID和訂閱密鑰正確。 我在這里有什么選擇?

Azure測試聊天的屏幕截圖

這是要檢查的東西。 如果您正在使用Bot Service的入門代碼,則可能是從QnAMakerDialog繼承了一個Dialog。 構造函數采用了幾種參數,包括一條消息,指出在沒有良好匹配時返回的信息,以及一條最小的置信度分數,以指示何時返回沒有良好匹配的文本。 例如,這是我的類的構造函數,該構造函數繼承自QnAMakerDialog:

 public BasicQnAMakerDialog() : base(new QnAMakerService(new QnAMakerAttribute(Utils.GetAppSetting("QnASubscriptionKey"), Utils.GetAppSetting("QnAKnowledgebaseId"), "No good match in FAQ.", 0.5)))
        {}

請注意,“否很好匹配”文本實際上設置為“ FAQ中沒有很好匹配”,並且最低置信度得分是0.5。

如果您簽入QnAMaker測試聊天,您應該會看到返回的置信度分數以及該消息。 您可以嘗試降低最低置信度得分,以防止收到不匹配信息。

改善您的機器人

您可以在機器人的QnAMaker中向問題中添加替代短語,然后重新訓練並發布模型。 洗滌,漂洗,重復。 您也可以嘗試記錄問題,其中QnAMaker返回的置信度得分低於閾值。 這將為您提供一個問題的起點,這些問題是用戶在詢問您的機器人在哪里沒有好的答案的問題。

根據您的知識領域,您還可以嘗試在網絡上搜索並匯總最佳結果,然后將其返回給用戶,而不只是“找不到合適的匹配項”。 這是Siri變干時所做的,這幾乎滿足了我所要求的所有情況。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM