自然語言處理(NLP)在企業應用中的實踐(四)

2021-07-14 08:01:43 字數 3672 閱讀 7611

encoder-decoder深度學習框架

自動客服

其他領域也可應用到encoder-decoder

深度學習,比如自動客服。舉個航空公司的自動客服例項,顧客問:

「我的行李能帶多少?

」然後自動的回答是

「行李最多可以

23公斤

」,顧客又問:

「我超了

0.5公斤,可以嗎?

」自動客服可以給出建議答案:

「因為你是我們的重要客戶,我們允許最多超

1公斤,是免費的

」,這個答案並沒有達到

99%的可信度,所以它會把這個答案建議給人工客服,由人工客服來做最終決定。這就是自動客服運用到深度學習的乙個場景。

單據識別

當然,深度學習技術來也可應用到單據識別。通過拍照,把發票變成圖象,通過cnn

識別圖象的特徵,把裡面包括的文字、數字輸入到

rnn裡頭,最終變成結構化的資料。

拼音智慧型匹配引擎

下面再介紹一下,應用到的拼音智慧型匹配引擎,在一些方言裡有一些常見的發音錯誤,比如說zh、

ch、sh、

z、c、

s、ang、

an,以及l、

n混淆。在我們這個匹配引擎裡邊,這些發生錯誤的會讓它匹配上。

這個匹配引擎的過程是:通過語音識別以後得到了漢字,這個漢字可能是包含錯誤的,我們給它加上拼音的標註,然後分成漢字串和拼音串,然後和我們商品庫里頭的漢字串和拼音串做乙個綜合的匹配,最後給出乙個最好的得分。

我們這個匹配引擎使用了十種匹配因子,比如說單個的漢字,然後連續的二元漢字,漢字的拼音,兩個字的拼音組合,像全拼的匹配,簡拼的匹配,包括聲母、韻母這樣的匹配,所有這些匹配因子最後計算出乙個綜合的相似度,就是這個匹配最終的得分。比如,如完全用方言輸入的

「鮮花椒油

」,會變成

「新發就咬

」,經過這些匹配因子去匹配,會發現它的聲母比如說新和鮮是可以匹配上的,發和花在我們的方言錯誤也是允許它匹配的,就咬和椒油,這些也都能匹配的,所以

「新發就咬」和

「鮮花椒油

」,它計算出來的匹配度會很高,所以就可以找到這個商品。在憑證中可以通過這種方式,識別成

「買進原材料」。

綜合糾錯系統

把我們前面談到的這樣技術用到一起,就形成了我們的綜合糾錯系統,從通用的語音識別工具得到的可能是包含錯誤的漢字串,經過拼音標註,把這些可能包含錯誤的拼音串輸入到encoder-decoder

框架裡面,通過音字轉換模型,輸出候選的漢字串,然後這些候選的漢字串經過

rnn語言模型,得到最終的糾錯以後正確的漢字串。

語音下單

回到我們第乙個應用的場景:通過語音來選擇商品、進行語音下單,這個過程就是使用者用語音輸入,然後在服務端把語音轉換成文字,這個文字可能是有錯的,輸入到我們的綜合糾錯系統裡面,得到正確的商品名,在服務端搜尋這個企業真正的商品庫,返回搜尋的結果,這個就是在語音下單/

商品識別這個環節的應用。

實際使用者測試的結果:使用者輸入

「春蓉雞精

」,通過語音識別的結果得到的是

「權榮其京春榮

」,經過我們的糾錯得到的商品結果:可以選擇的商品排在第一位的就是

「春蓉雞精

」。這是另外乙個例子,使用者輸入的是

「黎紅麻辣油

」,語音識別的結果是

「與紅螞賴優瑩

」,經過我們的糾錯,識別出來首選的是

「黎紅麻辣油」。

全國各地進行測試直接用各地的方言或者是帶口音的普通話來測試,其結果是,水果類商品測試了九百多種,我們的準確率是87%

,五金類達到了

95%,食品類達到了

90%。按照方言的分類:普通話(不管是不是帶有口音),準確率是大於95%北方省份的方言準確率大於90%南方省份比如廣東,福建,湖南這些和普通話相差非常遠的直接用方言輸入,最終經過我們的糾錯準確率達到了86%

以上

我們也和市面上同類通過語音識別商品的應用也做了乙個簡單的比較,這裡給出來乙個是北方的方言,乙個是南方的:河南和廣東,對於河南的方言,我們的識別率達到百分之百,對於廣東話識別率達到

86%,同類的其他產品(準確率)大概都是在

77%,

78%的樣子。

語音記賬

看另乙個應用場景:語音記賬。乙個叫易代賬的應用已經實現了語言記賬功能使用者通過語音輸入發生的業務,然後轉成文字以後,經過我們糾錯模型的糾錯,和我們已有的模板去匹配,生成最後結構化的資料,當然從語音變成結構化資料的這個部分,目前我們還沒有找到更好的辦法,因為會計這個業務(特點),相似的業務因為會計準則的原因,它可能需要變成不同的會計分錄,所以目前我們是用模板來解決這個問題。

具體的流程大概是這樣:使用者的語音變成文字以後,先要做一些預處理,比如識別裡面的命名實體,有銀行的名稱這些,還有把變成漢字的數字要還原。做完預處理以後,首先去做精確的(模板)匹配,看能不能匹配上,經過糾錯以後,發現還沒有很好的匹配的話,再做模糊的匹配,同樣還要做這些銀行名稱的識別,漢字的處理等等,最終匹配到模板以後,然後去填充對應的摘要,科目,數字變成金額,整個過程就完成了

來看個具體例子,

「買進原材料,銀行支付材料款,六萬,預付四萬,現金為一萬七

」。錯誤的語音識別結果是

「沒經驗材料,以後這個材料款六萬,預付四萬,邪劍仙為一萬七

」,最終我們得到的結果是:摘要生成的是

「買進原材料

」,科目是原材料:

100000

;應繳稅費

-進項稅:

17000

;銀行存款:

60000

;現金:

17000

;預付賬款:

40000。

最後來看一下實際執行的效果,使用者通過語音輸入,就會轉變成記賬憑證也就是結構化的資料。最後使用者只需要確認摘要,金額,會計科目的選擇沒有問題,點乙個儲存按紐就可以得到結果。使用者確認儲存後形成會計憑證,我們可以看到從自然語言可以順利的轉化成為乙個企業內的結構化的資料。

NLP自然語言處理

第1部分自然語言處理入門 1.1自然語言處理入門.mp4 第2部分hmm和crf 1.1crf模型簡介.mp4 1.1hmm模型介紹.mp4 1.2文字處理的基本方法 part1.mp4 2.1新聞主題分類任務 第4步 part2.mp4 第43部分rnn 1.1rnn模型小結.mp4 1.1rnn...

NLP自然語言處理

老實來講這課我一頭霧水滿腦袋問號 import numpy as np from collections import counter counttime 0 def seperate filename totalnum 0 郵件的總數 global counttime i 0 file open ...

NLP自然語言處理相關

近期需要學習一些命名實體識別的知識,記錄一下,以便以後複習 個人理解 目前的理解是,命名實體識別 ner 是自然語言處理 nlp 的乙個階段,可應用於機器翻譯 摘要形成 資訊檢索等等,個人認為,自然語言處理是一門很複雜的跨學科技術,其難點在於人類是富有思維的,人的語言寄託人的思想,因此很難準確處理。...