提升聊天機器人中文語意識別精準的方法

中文語意識別,就是要擷取出使用者的句子的意圖, 在大多數人眼中的AI是無所不能, 但它並不是無所不能, 只是以統計為基礎,預測或找到與實際值的差異(找到座標上兩點之間的距離), 所以, 我們預測值是否符合意圖的信心指數閾限(Confidence Threshold), 這有其不確性, 如果, 我們可以用程式的方式來控制,就更能呈現意圖之精準度

提升中文語意識別的方法有4種, 當然, 這個方法必須是限定在某一主題下:

  1. 自訂詞典-在做中文語意識別時, 大多數人會使用結巴(Jieba)中文分詞組件及WIKI的語料庫, 結把中文分詞, 它可以用自詞典的方式以解決在WIKI中文語料中沒有的字詞,或者前後文本結合時有不同意義的字詞,寫在自訂詞典,讓中文語意更容易呈現!
  2. 增加訓練意圖的句子- 同樣意圖會有不同的說法,如:幫我打開玄關的燈,及把玄關的燈打開, 字詞的前後順序不同, 會有相的意圖; 所以, 愈多的句子的提列成為訓練的句子, 那精準度自然會提升
  3. 加入同義詞-這一點使用Dialogflow的朋友,可能會有一些經驗,但是真的是否真的可以好好運用這的特性,就必須從程式端去看,如果沒有程式語言的能力,就不容易分析出加入同義詞會改變什麼,就如江西話的“趕羚羊”, 以現有的中文語意系統是不容易識別這三個字, 因為分語後它有其它的意義,自然,不易識別! 若用同義詞加上程式把它的confidence值列出後, 你就可以知道其差異
  4. 當意圖(intent)低於閾限,擷取其實體(entity)–這一部分,就必須了解程式的運作了, 因為每一個意圖有其的閾限(Confidence Threshold ), 整體而言, 對整個服務來說, 會有一共同的閾限值, 當意圖低於設定的閾限時, 即無法用與某一意圖相關的字句來回答, 在此時, 大多數的機器人,會用我無法理解的方式(DefaultFallBack)來回應, 若要提升機器人對語意的理解, 這就需要用程式的方式來提升, 如,”我是文明”, 可以把它視為一般的句子, 也可以視我的姓名是文明! 如果字子中改成”我是林文明”, 那結果就不一樣了!

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *