logo头像

Edward.K Thinking

Azure QnA Maker API初體驗

Azure QnA Maker API是我覺得目前在屬於Azure AI類中,對於企業應用最有感的第一個服務,畢竟,在其他AI API中,不一定每個產業都有相對應的情境可以運用。但是,Q&A這服務基本上先不說對外服務的廣泛應用,單單企業內部就可以解決許多Service desk人員的工作。在之前就有想要做類似的服務,不過,要做這樣功能之前,必須先自己建好資料庫,然後寫一些簡單的查詢Script跟資料庫查詢,如果還想做到模糊搜尋可能還需要用到像是like %之類語法,再如果還想要用到有語意的感覺,還必須要搭配Luis,就可以做到較有人性化的查詢。想對起來要入手門檻對一些企業來說可能高一點。不過,用了Azure QnA Maker後,感覺上述要做的工,都已經幫我做掉80%。另外,從QnA Maker API架構來看

只要把原有Q&A內容匯入後,就可以自動產生相對應的問與答資料集,之後再用Bot或是自己與QnA Maker API串接,就可以快速建立自己的FAQ。如果只是單純這樣,也沒特別稀奇,主要在於QnA Maker API可以“QnA Maker 會從使用者提供的內容 (常見問題集 URL、文件和編輯內容),擷取所有可能的問答配對”,這一點就神奇,這幾乎就快有Luis的感覺了,但我還可以先不用去管Luis如何建置

啟用Azure QnA Maker API 服務


要啟用此服務,連結到https://qnamaker.ai/,用Azure帳戶就可以登入到此平台中,在這平台可以建立不同種類的知識庫服務,不過,在企業中若是真的建立各種不同知識庫,要怎樣串連起來搜尋,就必須思考一下

如果,還沒有建立知識庫的人,就可以到Create New Service創建一個服務,除了紅色框必填外,其餘的可以事後再補都可以,不一定要馬上填

之後,就是建立FAQ的介面,只要一邊填入問題,一邊填入答案,都把資訊填完畢後,只要選擇Save and Retrain就會幫你把這些QA內容去建立一個Mode了

如果建立中,不同問題可以得到相同答案時候,可以透過Add alternative phrasing功能,就可以直接增加一列你想要填入的問題,但可以不用再填一次答案

測試Azure QnA Maker


知識庫建立完畢後,就可以直接在原本Test功能下,去玩玩剛建立好的知識庫,這樣就可以操作知識庫了,如果在測試階段,覺得這個答案不是你想要的,可以透過旁邊的Add alternative here再增加想要的答案

訓練QnA模型


知識庫的精準,不是一個開始就可以做到很準的,必須透過累計方式才有辦法達到準確回答,就必須不斷的訓練模型,藉由Test介面,我們也可以來訓練一下這模型,如下圖,我輸入這個問題,可以看到回答的答案其實不是我們想要的

在紅色框部分,可以發現有列舉一些可能是的答案,畢竟,初期機器還沒有這樣聰明,可以針對各種語句進行判斷,另一個說法就是,我們的知識累積還沒有這樣多,這時候我們可以幫他選擇正確答案

選好之後,再去執行Save and Retrain,這時候再輸入同樣的問題或是類似問題,就可以得到比較精準的答案了

發布Azure QnA Maker


如果都訓練好之後,就可以選擇Publish,發布完畢後,就可以達到一組API URL,就可以透過這API和QnA Maker API溝通

所以,建立一個QA API感覺是相當快速的

不過,目前這服務還在免費階段,所以使用上有所限制,每分鐘只能查詢10次,一個月只能用10000交易。如果超過這限制,就無法使用,這個用法其實就跟早期學術上的CBR理論其實是差不多,如果今天要想讓這知識庫的模型更準確,其實,還必須透過是使用者的回饋才有辦法,或是建立多種案例

對於,後續在企業內這個服務會是最直接有效益的一個,當然,前提是必須還是有大量的資料為基底才有辦法,所有,AI功能還是建置在大量資料基礎上,才能回覆的答案更好,更貼近我們想要的

上一篇