在上一篇([37]維護QnA Maker的知識庫 - 設定url或者檔案為來源、多人維護以及離綫定義知識庫)介紹完了如何更容易的去維護Knowledge Base了之後,這篇來看另外一個問題:就算再怎麽維護Knowledge Base,如果裡面内容不符合使用者的查詢,那麽一點意義都沒有。
因此瞭解到使用者怎麽詢問這些Knowledge Base非常的重要。
在這一篇將來看看如何透過Application Insight看看使用者都在搜索什麽問題。
Application Insight是什麽?
Application Insight屬於微軟的Application Performance Manageme (APM)
的服務。簡單一點來説就是一個可以埋在程式碼裡面,然後因此可以看到一些程式運行情況的服務。
QnA Maker和其他Cognitive Service有點不同,他是一個用很多服務整合出來的一個Solution,因此在記錄使用者查詢情況的記錄是存在了Application Insight裡面。
怎麽在QnA Maker埋入Application Insight?
還記得在一開始建立QnA Maker的時候,有詢問是否要建立Application Insight。
如果在那個時候沒有選擇要,那麽就需要手動建立一個Application Insight然後在QnA Maker的Web App設定Application Settings
:
- 加入
UserAppInsightsAppId
- 加入
UserAppInsightsKey
- 加入
UserAppInsightsName
如何使用Application Insight看使用者情況?
當QnA Maker有埋入Application Insight之後,過一段時間,就可以開始用來做查詢了。
要先進入到Application Insight的Log Analytics
的功能裡面,可以透過,點下Application Insight之後,上面的Analytics
的按鈕:
接下倆會開啓一個類似SQL工具SSMS那種類似畫面出現,這就是Log Analytics
的畫面。在上面可以輸入一些query,執行之後在下面可以看到結果:
這篇將介紹兩個query:
- 使用者查找的問題以及得到的答案
- 使用者查找的問題量
使用者查找的問題以及得到的答案
這邊寫的query類似SQL的概念,而且光看内容就大概知道在做什麽。
完整的query如下:
requests
| where url endswith "generateAnswer"
| project timestamp, id, name, resultCode, duration
| parse name with *"/knowledgebases/"KbId"/generateAnswer"
| join kind= inner (
traces | extend id = operation_ParentId
) on id
| extend question = tostring(customDimensions['Question'])
| extend answer = tostring(customDimensions['Answer'])
| project KbId, timestamp, resultCode, duration, question, answer
整個操作如下:
- 首先注意一下查詢的時間範圍,預設是24小時,如果你這個只是測試的服務很有可能找不到。這邊設定為7天
- 輸入剛剛得到的Query
- 按下
Run
- 在下面可以看到結果
從上面可以看到7天内總共有4個問題有被詢問。這個時候可以分析:
- 使用者都在問什麽問題
- 得到的答案對不對
當然,這裡面還有很多資訊可以挖,就看各人運用啦。
使用者查找的問題量
這個的用途可以做一個比較,例如大家都是在查那些Knowledge Base。
完整的Query如下:
requests
| where url endswith "generateAnswer" and name startswith "POST"
| parse name with *"/knowledgebases/"KbId"/generateAnswer"
| summarize ChatCount=count() by bin(timestamp, 1d), KbId
整個的執行結果如下:
從上圖可以看到,兩個Knowledge Base,各有2筆,然後時間相隔了一天。這個資料和上面看到的單項吻合。
結語
這篇介紹了Application Insight這個APM服務,并且看看如何整合到QnA Maker裡面。
再來介紹了兩個query看如何從Application Insight撈資料出來。
到這邊,QnA Maker也到了一個尾聲,還有很多細節可以看,不過相信透過這幾篇的介紹,再去看Azure文件應該就沒什麽問題啦。
下一篇([39]Video Indexer - 讓影片可以被搜索和分析出影片的重點)來介紹一下Cognitive Service的另外一個組合服務,Video Indexer。