自然語言處理(NLP)之句子(文本)相似度比對

NLP

中文博大精深,且一句話的涵義可以代表很多意思,或是一句話可以有很多表達方式,導致如果需要電腦理解人為輸入的句子就很有可能產生誤判!

這次先介紹,我們透過每個句子進行相似度比較,可以把[比較句子]當作是輸入,而[資料庫句子]作為比較,判斷這兩者的相似度.

一、痛點

1.高科技產業對於操作或機台的清洗都有一定步驟,但若SOP錯誤,可能導致毀損停機等,且但由於過往都是人工比對,文件太多的時候很容易漏掉.

2.搜尋應用上,無法精確判別同義詞,或是理解問題導致錯誤.

3.推薦系統系統如同搜尋一樣,由於過往都是字對字的比對,但由於描述句可能改變,但指的是同一件事情,故透過此方式可以提昇推薦效率.

4.問答系統,通常一個描述句會有多總說法,怎樣精確判斷客戶的提問進而回答正確問題.

二、解決方法

1.透過NLP(Natural Language Processing) 文本相似度比較,進而去比對每個操作步驟的SOP是否一致,進而找出差異,避免操作錯誤停機或毀損機台.

2.用在搜尋應用上,過往的搜尋可能無法去判斷同義詞等,透過此技術可以讓搜尋更精確到句子等級.

3.透過句子等級的比對相似度,可以讓使用者更快與更精確地找到所需要的資料段落,或是文件.

4.問答系統整個搭建有許多的方法與步驟,但從第一步如何理解使用者在問什麼,透過本技術比對內部資料是否有相輔的的資訊,精確提供給使用者正確答案.

三、展示

本次實驗透過約百萬等級的訓練資料進行訓練,不過通常會進行產業別或領域別的微調,另外不同數據集的應用也會有些許差異,另外則是實際業務場景還會進行一些處理,這次T編是在沒做任何處理的狀況下測試模型效果.

文本相似度比對
文本比對展示

由上圖可以看出,當用不同說法,可是還是可以反映出,實際上在問’洗手間在哪’這個語意,另外可以看到第5、6項其實也取得不錯分數,表示模型上面還是會去看相應的字詞,如洗手間等於廁所或是衛生間,但離浴室就比較遠.

還有個現象就是我們在比對字句中放入英文,就可以發現是無法比對的,所以NLP對於不同的語系就得個別處理;而後面可以看到分詞與NER(Named Entity Recognition)結果,事實上整個語句的拆解或會比這複雜多了,但是韜睿可以將之拆到單詞去做應用,或是可以抓出句子中的一些特殊文字,作為資料提取,如下面展示,可以看出來分詞結果:

分詞與NER說明
分詞與NER說明

四、結語

以上就是一些簡單的展示,不過實際狀況,需要依據不同場景去做應用,且還有一個比較難度的地方是需要將文章抽出並且分段落,進行比較!

未來有機會T編會在介紹文字情緒偵測…等應用!

Loading

發佈留言

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