两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種自適應的識別方法及系統(tǒng)與流程

文檔序號:12159467閱讀:465來源:國知局
一種自適應的識別方法及系統(tǒng)與流程

本發(fā)明涉及信息交互技術領域,具體涉及一種自適應的識別方法及系統(tǒng)。



背景技術:

隨著自然語言理解技術的不斷發(fā)展,用戶與智能終端的交互變得越來越頻繁,經常需要使用語音或拼音等方式向智能終端輸入信息。智能終端對輸入信息進行識別,并根據識別結果做出相應操作。一般情況下,當用戶用語音輸入一段常用語句時,如“今天的天氣不錯”,“我們一起去吃飯”等,智能終端系統(tǒng)基本都會給出正確的識別結果。然而當用戶輸入信息中包含用戶特有信息時,智能終端系統(tǒng)往往不能給出正確的識別結果,用戶特有信息一般指與用戶相關的個性化詞,如用戶有個同事叫“章東梅”,周末要和她去“紅杉假日酒店”出差,用戶向智能終端系統(tǒng)用語音輸入“我明天和章東梅一起去紅杉假日酒店出差”,其中,章東梅與紅杉假日酒店是屬于用戶的個性化詞,現有的智能終端系統(tǒng)一般給出的識別結果如下:

“我明天和張冬梅一起去紅杉假日酒店出差”

“我明天和張冬梅一起去紅衫假日酒店出差”

“我明天和張冬梅一起去洪山假日酒店出差”

“我明天合唱冬梅一起去紅杉假日酒店出差”

除了上述結果外,甚至有些系統(tǒng)會給出差距更大的識別結果,使用戶難以接受。

目前,智能終端的識別系統(tǒng)一般是通過獲取用戶相關文檔數據,為每個用戶建立一個較小的語言模型,然后將這個較小的語言模型以插值的形式融合到通用語言模型中,利用通用語言模型對用戶輸入信息進行識別。然而由于獲取到的用戶相關文檔中經常包含大量與用戶無關的數據信息, 如垃圾郵件,直接偏離用戶個性化數據,導致根據用戶相關文檔獲取到的有用用戶數據較少,在用戶語言模型訓練時容易出現數據稀疏問題,從而使構建的用戶語言模型可靠性較低。而且將所述用戶語言模型融合到通用語言模型,往往會降低通用語言模型的識別準確度。此外,現有識別系統(tǒng)需要為每個用戶構建一個語言模型,每個模型的維護需要消耗大量系統(tǒng)資源,當用戶數量較多時,系統(tǒng)開銷較大。



技術實現要素:

本發(fā)明提供一種自適應的識別方法及系統(tǒng),以提高用戶個性化詞的識別準確度,并降低系統(tǒng)開銷。

為此,本發(fā)明提供如下技術方案:

一種自適應的識別方法,包括:

根據用戶歷史語料構建用戶個性化詞典;

對所述用戶個性化詞典中的個性化詞進行聚類,得到每個個性化詞所屬類編號;

根據所述個性化詞所屬類編號構建語言模型;

在對用戶輸入的信息進行識別時,如果所述信息中的詞存在于所述用戶個性化詞典中,則根據該詞對應的個性化詞所屬類編號對解碼路徑進行擴展,得到擴展后的解碼路徑;

根據擴展后的解碼路徑對所述信息進行解碼,得到多個候選解碼結果;

根據所述語言模型計算各候選解碼結果的語言模型得分;

選取語言模型得分最高的候選解碼結果作為所述信息的識別結果。

優(yōu)選地,所述根據用戶歷史語料構建用戶個性化詞典包括:

獲取用戶歷史語料,所述用戶歷史語料包括以下任意一種或多種:用戶語音輸入日志、用戶文本輸入日志、用戶瀏覽文本信息;

根據所述用戶歷史語料進行個性化詞發(fā)現,得到個性化詞;

將所述個性化詞添加到用戶個性化詞典中。

優(yōu)選地,所述個性化詞包括:易錯個性化詞和天然個性化詞;所述易 錯個性化詞是指對用戶輸入信息進行識別時,經常出錯的詞;所述天然個性化詞是指對用戶輸入信息進行識別時,可以通過用戶的本地存儲信息直接找到的詞或根據該詞擴展的詞。

優(yōu)選地,所述對所述用戶個性化詞典中的個性化詞進行聚類,得到每個個性化詞所屬類編號包括:

確定所述個性化詞的詞向量及其左右鄰接詞的詞向量;

根據所述個性化詞的詞向量及其左右鄰接詞的詞向量對所述個性化詞的詞向量進行聚類,得到每個個性化詞所屬類編號。

優(yōu)選地,所述確定所述個性化詞及其左右鄰接詞的詞向量包括:

對所述用戶歷史語料進行分詞;

對分詞得到的各詞進行向量初始化,得到各詞的初始詞向量;

利用神經網絡對各詞的初始詞向量進行訓練,得到各詞的詞向量;

根據所有用戶個性化詞典得到所有個性化詞,并根據所述個性化詞所在用戶歷史語料,得到所述個性化詞的左右鄰接詞;

提取所述個性化詞的詞向量及其左右鄰接詞的詞向量。

優(yōu)選地,所述根據所述個性化詞及其左右鄰接詞的詞向量對所述個性化詞的詞向量進行聚類,得到每個個性化詞所屬類編號包括:

根據各個性化詞的詞向量、左右鄰接詞的詞向量、以及詞向量的TF_IDF值計算個性化詞向量之間的距離;

根據所述距離進行聚類,得到每個個性化詞所屬類編號。

優(yōu)選地,所述根據所述個性化詞所屬類編號構建語言模型包括:

采集訓練語料;

將所述訓練語料中的個性化詞替換為所述個性化詞所屬類編號,得到替換后的語料;將采集的訓練語料及替換后的語料作為訓練數據,訓練得到語言模型。

優(yōu)選地,所述方法還包括:

如果所述識別結果中包含個性化詞的類編號,則將該類編號替換為其對應的個性化詞。

優(yōu)選地,所述方法還包括:

對所述用戶輸入的信息進行個性化詞發(fā)現,如果有新的個性化詞,則將新的個性化詞添加到所述用戶的個性化詞典中,以更新所述用戶的個性化詞典;如果有用戶的個性化詞典做了更新,則根據更新后的個性化詞典,更新所述語言模型;或者

定時根據用戶歷史語料對各用戶個性化詞典及所述語言模型進行更新。

一種自適應的識別系統(tǒng),包括:

個性化詞典構建模塊,用于根據用戶歷史語料構建用戶個性化詞典;

聚類模塊,用于對所述用戶個性化詞典中的個性化詞進行聚類,得到每個個性化詞所屬類編號;

語言模型構建模塊,用于根據所述個性化詞所屬類編號構建語言模型;

解碼路徑擴展模塊,用于在對用戶輸入的信息進行識別時,如果所述信息中的詞存在于所述用戶個性化詞典中,則根據該詞對應的個性化詞所屬類編號對解碼路徑進行擴展,得到擴展后的解碼路徑;

解碼模塊,用于根據擴展后的解碼路徑對所述信息進行解碼,得到多個候選解碼結果;

語言模型得分計算模塊,用于根據所述語言模型計算各候選解碼結果的語言模型得分;

識別結果獲取模塊,用于選取語言模型得分最高的候選解碼結果作為所述信息的識別結果。

優(yōu)選地,所述個性化詞典構建模塊包括:

歷史語料獲取單元,用于獲取用戶歷史語料,所述用戶歷史語料包括以下任意一種或多種:用戶語音輸入日志、用戶文本輸入日志、用戶瀏覽文本信息;

個性化詞發(fā)現單元,用于根據所述用戶歷史語料進行個性化詞發(fā)現,得到個性化詞;

個性化詞典生成單元,用于將所述個性化詞添加到用戶個性化詞典中。

優(yōu)選地,所述聚類模塊包括:

詞向量訓練單元,用于確定所述個性化詞的詞向量及其左右鄰接詞的詞向量;

詞向量聚類單元,用于根據所述個性化詞的詞向量及其左右鄰接詞的詞向量對所述個性化詞的詞向量進行聚類,得到每個個性化詞所屬類編號。

優(yōu)選地,所述詞向量訓練單元包括:

分詞子單元,對所述用戶歷史語料進行分詞;

初始化子單元,用于對分詞得到的各詞進行向量初始化,得到各詞的初始詞向量;

訓練子單元,用于利用神經網絡對各詞的初始詞向量進行訓練,得到各詞的詞向量;

查找子單元,用于根據所有用戶個性化詞典得到所有個性化詞,并根據所述個性化詞所在用戶歷史語料,得到所述個性化詞的左右鄰接詞;

提取子單元,用于提取所述個性化詞的詞向量及其左右鄰接詞的詞向量。

優(yōu)選地,所述詞向量聚類單元包括:

距離計算子單元,用于根據各個性化詞的詞向量、左右鄰接詞的詞向量、以及詞向量的TF_IDF值計算個性化詞向量之間的距離;

距離聚類子單元,用于根據所述距離進行聚類,得到每個個性化詞所屬類編號。

優(yōu)選地,所述語言模型構建模塊包括:

語料采集單元,用于采集訓練語料;

語料處理單元,用于將所述訓練語料中的個性化詞替換為所述個性化詞所屬類編號,得到替換后的語料;語言模型訓練單元,用于將采集的訓練語料及替換后的語料作為訓練數據,訓練得到語言模型。

優(yōu)選地,所述識別結果獲取模塊,還用于在所述識別結果中包含個性化詞的類編號時,將該類編號替換為其對應的個性化詞。

本發(fā)明實施例提供的自適應的識別方法及系統(tǒng),利用用戶的個性化詞典構建語言模型,具體地,將用戶的個性化詞進行聚類后,根據個性化詞 所屬類編號構建該語言模型,從而使該語言模型既具有全局性特點,又考慮了各用戶的個性化特點。利用該語言模型對用戶輸入的信息進行識別時,如果所述信息中的詞存在于所述用戶個性化詞典中,則根據該詞對應的個性化詞所屬類編號對解碼路徑進行擴展,得到擴展后的解碼路徑,然后根據擴展后的解碼路徑對所述信息進行解碼,從而在保證原有識別效果的基礎上,大大提高了用戶個性化詞的識別準確度。由于每個個性化詞使用其所屬類編號表示,從而可以解決構建全局個性化語言模型時的數據稀疏問題。而且,只需為每個用戶構建一個個性化詞典,而不需要為每個用戶單獨構建一個語言模型,從而可以大大降低系統(tǒng)開銷,提升系統(tǒng)識別效率。

附圖說明

為了更清楚地說明本申請實施例或現有技術中的技術方案,下面將對實施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明中記載的一些實施例,對于本領域普通技術人員來講,還可以根據這些附圖獲得其他的附圖。

圖1是本發(fā)明實施例自適應的識別方法的流程圖;

圖2是本發(fā)明實施例中解碼路徑的擴展示意圖;

圖3是本發(fā)明實施例中訓練詞向量的流程圖;

圖4是本發(fā)明實施例中訓練詞向量使用的神經網絡的結構示意圖;

圖5是本發(fā)明實施例自適應的識別系統(tǒng)的結構示意圖;

圖6是本發(fā)明系統(tǒng)中詞向量訓練單元的一種具體結構示意圖;

圖7是本發(fā)明系統(tǒng)中語言模型構建模塊的一種具體結構示意圖。

具體實施方式

為了使本技術領域的人員更好地理解本發(fā)明實施例的方案,下面結合附圖和實施方式對本發(fā)明實施例作進一步的詳細說明。

本發(fā)明實施例提供的自適應的識別方法及系統(tǒng),利用用戶的個性化詞典構建語言模型,使該語言模型既具有全局性特點,又考慮了各用戶的個 性化特點。從而在利用該語言模型對用戶輸入的信息進行識別時,既可以保證原有識別效果,又可以大大提高用戶個性化詞的識別準確度。

如圖1所示,是本發(fā)明實施例自適應的識別方法的流程圖,包括以下步驟:

步驟101,根據用戶歷史語料構建用戶個性化詞典。

所述用戶歷史語料主要通過用戶日志獲取到,具體可以包括以下任意一種或多種:用戶語音輸入日志、用戶文本輸入日志、用戶瀏覽文本信息。其中,語音輸入日志主要包括用戶輸入語音、語音識別結果及用戶反饋信息(用戶對識別結果修改后的結果);文本輸入日志主要包括用戶輸入文本信息、輸入文本的識別結果及用戶反饋信息(用戶對輸入文本識別結果修改后的結果),用戶瀏覽文本主要指用戶根據搜索結果選擇瀏覽的文本信息(用戶瀏覽文本信息可能是用戶感興趣的)。

在構建用戶個性化詞典時,可以先為所述用戶初始化一個空的個性化詞典,獲取上述這些用戶歷史語料,對所述用戶歷史語料進行個性化詞發(fā)現,得到個性化詞,然后將發(fā)現的個性化詞加入到對應所述用戶的個性化詞典中。

所述個性化詞可以包括:易錯個性化詞和天然個性化詞兩種。所述易錯個性化詞是指對用戶輸入信息進行識別時,經常出錯的詞;所述天然個性化詞是指對用戶輸入信息進行識別時,可以通過用戶的本地存儲信息直接找到的詞或根據該詞擴展的詞,如用戶手機通訊錄中的姓名以及擴展結果,比如“章東梅”可以擴展出“東梅”,或用戶個人電腦中收藏或關注的信息。如用戶輸入語音為“我明天和章東梅一起去紅杉假日酒店出差”,語音識別結果為“我明天和[章][東][梅]一起去[洪][山]假日酒店出差”,其中“洪山”為識別錯誤的詞,可以作為易錯個性化詞,“章東梅”可以從用戶手機通訊錄中直接得到,可以作為天然個性化詞。

具體的個性化詞發(fā)現方法本發(fā)明實施例不作限定,如可以采用人工標注的方法,也可以采用自動發(fā)現的方法,如根據用戶的反饋信息進行發(fā)現,將用戶修改過的易錯詞作為個性化詞,也可以根據用戶使用的智能終端中 已存儲的詞進行發(fā)現,或者根據識別結果進行發(fā)現,如將識別置信度較低的詞作為個性化詞。

需要說明的是,需要為每個用戶單獨構建一個個性化詞典,記錄每個用戶的個性化詞相關信息。

另外,還可進一步保存每個個性化詞對應的歷史語料,以便后續(xù)在使用該語料時方便查找。為了便于記錄,可以對每個歷史語料進行編號,這樣,在保存每個個性化詞對應的歷史語料時,只需記錄該歷史語料的編號即可。如個性化詞為章東梅時,保存記錄為“章東梅語料編號:20”。當然,這些信息可以單獨保存,也可以同時保存在用戶個性化詞典中,對此本發(fā)明實施例不做限定。

步驟102,對所述用戶個性化詞典中的個性化詞進行聚類,得到每個個性化詞所屬類編號。

具體地,可以根據個性化詞及其左右鄰接詞的詞向量對個性化詞的詞向量進行聚類,得到每個個性化詞所屬類編號。

需要說明的是,在進行聚類時,需要考慮所有用戶的個性化詞,詞向量的訓練過程及聚類過程將在后面詳細說明。

步驟103,根據所述個性化詞所屬類編號構建語言模型。

語言模型的訓練可以采集大量訓練語料,然后采用現有的一些訓練方法,如統(tǒng)計N-gram的方法,采用最大似然估計方法對參數進行估計,得到N-gram模型,所不同的是,在本發(fā)明實施例中,需要將采集的訓練語料中的個性化詞替換為該個性化詞所屬類編號,比如采集的訓練語料為“我明天和[章東梅]一起去[洪山]假日酒店出差”,[]中為個性化詞,將其中的所有個性化詞替換成其所屬類編號為“我明天和CLASS060一起去CLASS071假日酒店出差”。然后,將采集的訓練語料及替換后的語料作為訓練數據,訓練得到語言模型。具體訓練時,每個個性化詞所屬類編號直接作為一個詞進行訓練。

可見,通過上述方式訓練的語言模型,既具有全局性特點,又考慮了各用戶的個性化特點。而且由于每個個性化詞使用其所屬類編號表示,因 此可以解決構建全局個性化語言模型時的數據稀疏問題。

步驟104,在對用戶輸入的信息進行識別時,如果所述信息中的詞存在于所述用戶個性化詞典中,則根據該詞對應的個性化詞所屬類編號對解碼路徑進行擴展,得到擴展后的解碼路徑。

由于語言模型可以在多種不同的識別中會有應用,比如,語音識別、文本識別、機器翻譯等,因此,根據不同的應用,用戶輸入的信息可以是語音、拼音、按鍵信息等信息,對此本發(fā)明實施例不做限定。

在對用戶輸入的信息進行識別時,首先要在解碼網絡中對該信息中的各詞進行解碼,得到解碼候選結果,然后根據語言模型計算候選解碼結果的語言模型得分。

與現有技術不同的是,在本發(fā)明實施例中,在對用戶輸入的信息進行解碼時,需要判斷所述信息中的各詞是否存在于該用戶的個性化詞典中。如果存在,則利用該詞所屬類編號對解碼路徑進行擴展,得到擴展后的解碼路徑。然后,再利用擴展后的解碼路徑對用戶輸入的信息進行解碼,得到多個解碼候選結果。

例如,當前用戶個性化詞典中部分個性化詞如下:

章東梅 語料編號:20, 類編號:CLASS060

東梅 語料編號:35,20 類編號:CLASS071

紅杉 語料編號:96, 類編號:CLASS075

用戶語音輸入信息為“我明天和章東梅一起去紅杉假日酒店出差”,對輸入信息進行解碼時,通過精確匹配或模糊匹配判斷當前詞是否存在于用戶個性化詞典中,根據判斷結果對解碼路徑進行擴展。

需要說明的是,在此還要記錄擴展解碼路徑時用到的類編號所對應的個性化詞,以便在后續(xù)得到最終識別結果后,如果該識別結果中包含個性化詞的類編號,將該類編號替換為其對應的個性化詞。

步驟105,根據擴展后的解碼路徑對所述信息進行解碼,得到多個候選解碼結果。

如圖2所示為一條解碼路徑的部分擴展示意圖,其中,括號中為類編 號對應的個性化詞,根據擴展后的解碼路徑得到的部分侯選解碼結果如下所示:

我明天和CLASS060(章東梅)一起去紅杉假日酒店出差

我明天和章CLASS071(東梅)一起去紅杉假日酒店出差

我明天和CLASS060(章東梅)一起去CLASS075(紅杉)假日酒店出差

我明天和章CLASS071(東梅)一起去CLASS075(紅杉)假日酒店出差

步驟106,根據所述語言模型計算各候選解碼結果的語言模型得分。

在計算候選解碼結果的語言模型得分時,對于候選解碼結果中的個性化詞和非個性化詞,均可以采用現有技術中的一些計算方法,對此本發(fā)明實施例不做限定。

另外,對于候選解碼結果中的個性化詞,還可以根據訓練詞向量時得到的神經網絡語言模型及給定歷史詞條件下,采用如下公式(1)計算其概率:

其中,RNNLM(S)為當前侯選解碼結果S中所有詞的神經網絡語言模型得分,可以通過查找神經網絡語言模型,得到當前侯選解碼結果中所有詞的神經網絡語言模型得分;S為當前侯選解碼結果;s為當前侯選解碼結果包含的詞總數;η為神經網絡語言模型得分權重,0≤η≤1,具體可根據經驗或實驗結果取值;為在歷史詞i=1…n-1條件下,下一個詞為個性化詞wi的概率,具體可以根據當前個性化詞的所屬類編號相關信息計算得到,如下式(2)所示:

其中,為在歷史詞i=1…n-1條件下,當前個性化詞的所屬類編號為classj的概率;classj為第j個類編號,具體可通過統(tǒng)計歷史語料得到,計算方法如式(3)所示;p(wi|classj)為在類編號為classj的條件下,當前詞為個性化詞wi的概率,具體可根據當前詞的詞向量與給定類編 號的聚類中心點的向量之間的余弦距離得到,計算方法如(4)所示:

其中,表示歷史詞在語料中出現的總數;表示歷史詞后面為類編號classj的總數。為wi的詞向量,表示編號為classj的聚類中心點的向量。

步驟107,選取語言模型得分最高的候選解碼結果作為所述信息的識別結果。

需要說明的是,如果該識別結果中包含個性化詞的類編號,還需要將該類編號替換為其對應的個性化詞。

如圖3所示,是本發(fā)明實施例中訓練詞向量的流程圖,包括以下步驟:

步驟301,對用戶歷史語料進行分詞。

步驟302,對分詞得到的各詞進行向量初始化,得到各詞的初始詞向量。

每個詞的初始詞向量維數可以根據經驗或實驗結果確定,一般與語料大小或分詞詞典大小相關。例如,具體初始化時,可以在-0.01到0.01之間隨機取值,如章東梅(0,0.003,0,0,-0.01,0,…)。

步驟303,利用神經網絡對各詞的初始詞向量進行訓練,得到各詞的詞向量。

比如,可以使用三層神經網絡進行訓練,即輸入層、隱層、及輸出層,其中,輸入層為每個歷史詞的初始詞向量,輸出層為給定歷史詞條件下每個詞出現的概率,將所有詞出現的概率使用一個向量表示,向量大小為所有詞單元總數,所有詞單元總數根據分詞詞典中詞總數確定,例如所有詞出現的概率向量為(0.286,0.036,0.073,0.036,0.018,……),隱層節(jié)點數一般較多,如3072個節(jié)點;使用正切函數作為激活函數,如式(5)為目標函數:

y=b+Utanh(d+Hx) (5)

其中,y為給定歷史詞條件下,每個詞出現的概率,大小為|v|×1,|v|表示分詞詞典大??;U是隱層到輸出層的權重矩陣,使用|v|×r的矩陣表示;r為隱層節(jié)點數;b和d為偏置項;x為輸入歷史詞向量首位相接組合成的向量,大小為(n*m)×1,m為每個輸入詞向量的維數,n為輸入歷史詞向量數;H為權重轉換矩陣,大小為r×(n*m),tanh()為正切函數,即激活函數。

如圖4所示,為訓練詞向量時,使用的神經網絡結構示例。

其中,index for Wt-n+1表示編號為Wt-n+1的詞,C(wt-n+1)為編號為Wt-n+1詞的初始詞向量,tanh為正切函數,softmax為規(guī)整函數,用于對輸出層輸出的概率進行規(guī)整,得到規(guī)整后的概率值。

利用用戶歷史語料,對目標函數即上述公式(5)進行優(yōu)化,如采用隨機梯度下降方法優(yōu)化。優(yōu)化結束后,得到每個詞的最終詞向量(以下簡稱為詞向量),同時得到神經網絡語言模型,即前面公式(1)中提到的神經網絡語言模型。

步驟304,根據所有用戶個性化詞典得到所有個性化詞,并根據所述個性化詞所在用戶歷史語料,得到所述個性化詞的左右鄰接詞。

所述左鄰接詞指在語料中常出現在個性化詞左邊的一個或多個詞,一般取左邊第一個詞;所述右鄰接詞指在語料中常出現在個性化詞右邊的一個或多個詞,一般取右邊第一個詞。當個性化詞出現在不同的語料中時,會有多個左右鄰接詞。

如個性化詞“釣魚島”的左右鄰接詞如下:

左鄰接詞:保衛(wèi)、收復、在、抵達、登上、收回、奪回、……

右鄰接詞:真相、海域、是、及其、事件、局勢、了、永遠、……

步驟305,提取個性化詞的詞向量及其左右鄰接詞的詞向量。

在查找得到了個性化詞及其左右鄰接詞后,即可從上面訓練結果中直接得到每個詞對應的詞向量。

在得到個性化詞及其左右鄰接詞的詞向量后,即可根據個性化詞的詞向量及其左右鄰接詞的詞向量對個性化詞的詞向量進行聚類,得到每個個 性化詞所屬類編號。在本發(fā)明實施例中,可以根據各個性化詞的詞向量、左右鄰接詞的詞向量、以及詞向量的TF_IDF(Term Frequency_Inverse Document Frequency,詞頻_逆向文件頻率)值計算個性化詞向量之間的距離,詞向量的TF_IDF值可以通過對歷史語料進行統(tǒng)計得到,當前詞的TF_IDF值越大,當前詞越具有區(qū)分性;然后根據所述距離進行聚類,得到每個個性化詞所屬類編號。

具體地,首先根據兩個個性化詞的左鄰接詞的詞向量的TF_IDF值,計算左鄰接詞的詞向量之間的余弦距離;隨后計算兩個個性化詞向量之間的余弦距離;之后再根據兩個個性化詞的右鄰接詞的詞向量的TF_IDF值,計算右鄰接詞的詞向量之間的余弦距離;最后將左鄰接詞、個性化詞及右鄰接詞的余弦距離進行融合后,得到兩個個性化詞向量之間的距離,具體計算方法如式(6)所示:

其中,各參數含義如下:

為第a個個性化詞的詞向量和第b個個性化詞的詞向量之間的距離;

為第a個個性化詞的第m個左鄰接詞的詞向量,LTIam為該左鄰接詞的詞向量的TF_IDF值,M為的左鄰接詞的詞向量總數;

為第b個個性化詞的第n個左鄰接詞的詞向量,LTIbn為該左鄰接詞的詞向量的TF_IDF值,N為的左鄰接詞的詞向量總數;

為第a個個性化詞的第s個右鄰接詞的詞向量,LTIas為該右鄰接詞的詞向量的TF_IDF值,S為的右鄰接詞的詞向量總數;

為第b個個性化詞的第t個右鄰接詞的詞向量,LTIas為該右鄰接詞的詞向量的TF_IDF值,T為的右鄰接詞的詞向量總數;

α,β,γ分別為個性化詞的詞向量與左鄰接詞的詞向量之間的余弦距離、個性化詞的詞向量之間的余弦距離、以及個性化詞的詞向量與右鄰接詞的詞向量 之間的余弦距離的權重,具體可以根據經驗或實現結果取值,α,β,γ為經驗值,β權重一般較大一些,α,γ的值與個性化詞的左右鄰接詞數量相關,一般鄰接詞數量越多,權重較大;如左鄰接詞數量較多的時候α權重較大,并且滿足如下條件:

a+β+γ=1;

在本發(fā)明實施例中,聚類算法可以采用K-means算法等,預先設定聚類總數,根據公式(6)計算個性化詞的詞向量之間的距離進行聚類,得到每個個性化詞的詞向量所在類編號,將該類編號作為該個性化詞所屬類編號。

為了便于使用,可以將得到的個性化詞對應的類編號添加到用戶個性化詞典中。當然,如果多個用戶的個性化詞典中包含相同的個性化詞,則需要將該個性化詞所屬的類編號添加到每個包含該詞的個性化詞典中。

如A用戶和B用戶的個性化詞典中均含有“章東梅”,則添加相應的類編號后如下:

A用戶的個性化詞典中,信息如下:

“章東梅語料編號:20類編號:CLASS060”;

B用戶的個性化詞典中,信息如下:

“章東梅語料編號:90類編號:CLASS060”。

需要注意的是,在進行詞向量訓練時,用到的用戶歷史語料是指所有用戶的歷史語料,而非單一用戶的歷史語料,這與建立用戶個性化詞典時是不同的,因為個性化詞典是針對單一用戶的,也就是說,對每個用戶要分別建立該用戶的個性化詞典,當然建立該個性化詞典所依據的歷史語料可以僅限于該用戶的歷史語料。另外,在進行詞向量訓練時,用到的用戶歷史語料可以是構建用戶個性化詞典時用到的所有歷史語料,也可以是這些歷史語料中只包含個性化詞的一些語料。當然語料越充足,訓練結果越準確,但同時訓練時也會消耗更多的系統(tǒng)資源,因此具體歷史語料的選用 數量可以根據應用需要來確定,本發(fā)明實施例不做限定。

本發(fā)明實施例提供的自適應的識別方法,利用用戶的個性化詞典構建語言模型,具體地,將用戶的個性化詞進行聚類后,根據個性化詞所屬類編號構建該語言模型,從而使該語言模型既具有全局性特點,又考慮了各用戶的個性化特點。利用該語言模型對用戶輸入的信息進行識別時,如果所述信息中的詞存在于所述用戶個性化詞典中,則根據該詞對應的個性化詞所屬類編號對解碼路徑進行擴展,得到擴展后的解碼路徑,然后根據擴展后的解碼路徑對所述信息進行解碼,從而在保證原有識別效果的基礎上,大大提高了用戶個性化詞的識別準確度。由于每個個性化詞使用其所屬類編號表示,從而可以解決構建全局個性化語言模型時的數據稀疏問題。而且,只需為每個用戶構建一個個性化詞典,而不需要為每個用戶單獨構建一個語言模型,從而可以大大降低系統(tǒng)開銷,提升系統(tǒng)識別效率。

進一步地,本發(fā)明還可以對用戶輸入信息進行新個性化詞的發(fā)現,將新發(fā)現的個性化詞補充到用戶個性化詞典中,例如將識別置信度較低的詞作為個性化詞,將該個性化詞加入到該用戶的個性化詞典中。具體加入時,可以將新發(fā)現的個性化詞展示給用戶,詢問用戶是否將其加入到個性化詞典中,也可以后臺自行將其加入到個性化詞典中,以更新用戶個性化詞典。在用戶個性化詞典更新后,還可以利用更新后的個性化詞典對所述語言模型進行更新。或者,設定更新時間閾值,當超過該時間閾值后,利用用戶這段時間內的歷史語料更新個性化詞典,然后再進行語言模型的更新。

相應地,本發(fā)明實施例還提供一種自適應的識別系統(tǒng),如圖5所示,是該系統(tǒng)的一種結構示意圖。

在該實施例中,所述系統(tǒng)包括以下各模塊:個性化詞典構建模塊501,聚類模塊502,語言模型構建模塊503,解碼路徑擴展模塊504,解碼模塊505,語言模型得分計算模塊506,識別結果獲取模塊507。

下面對各模塊的功能及具體實現方式進行詳細說明。

上述個性化詞典構建模塊501用于根據用戶歷史語料構建用戶個性化詞典,如圖5中所示,對于不同的用戶,需要分別根據該用戶的歷史語料 為其構建個性化詞典,也就是說,不同用戶的個性化詞典是各自獨立的。在構建個性化詞典時,可以通過個性化詞發(fā)現來找出用戶歷史語料中的個性化詞,具體的個性化詞發(fā)現方法本發(fā)明實施例不做限定。

相應地,個性化詞典構建模塊501的一種具體結構包括以下各單元:

歷史語料獲取單元,用于獲取用戶歷史語料,所述用戶歷史語料包括以下任意一種或多種:用戶語音輸入日志、用戶文本輸入日志、用戶瀏覽文本信息;

個性化詞發(fā)現單元,用于根據所述用戶歷史語料進行個性化詞發(fā)現,得到個性化詞;

個性化詞典生成單元,用于將所述個性化詞添加到用戶個性化詞典中。

上述聚類模塊502用于對所述用戶個性化詞典中的個性化詞進行聚類,得到每個個性化詞所屬類編號。具體地,可以根據個性化詞及其左右鄰接詞的詞向量對個性化詞的詞向量進行聚類,得到每個個性化詞所屬類編號。

相應地,聚類模塊502的一種具體結構可以包括:詞向量訓練單元和詞向量聚類單元。其中,所述詞向量訓練單元用于確定所述個性化詞的詞向量及其左右鄰接詞的詞向量;所述詞向量聚類單元用于根據所述個性化詞的詞向量及其左右鄰接詞的詞向量對所述個性化詞的詞向量進行聚類,得到每個個性化詞所屬類編號。

需要說明的是,在進行聚類時,需要考慮所有用戶的個性化詞,利用至少包含這些個性化詞的歷史語料,進行詞向量訓練。所述詞向量訓練單元的一種具體結構如圖6所示,包括以下各子單元:

分詞子單元61,對用戶歷史語料進行分詞,所述用戶歷史語料可以是構建用戶個性化詞典時用到的所有歷史語料,也可以是這些歷史語料中只包含個性化詞的一些語料;

初始化子單元62,用于對分詞得到的各詞進行向量初始化,得到各詞的初始詞向量;

訓練子單元63,用于利用神經網絡對各詞的初始詞向量進行訓練,得到各詞的詞向量;

查找子單元64,用于根據所有用戶個性化詞典得到所有個性化詞,并根據所述個性化詞所在用戶歷史語料,得到所述個性化詞的左右鄰接詞,個性化詞的左右鄰接詞的具體含義已在前面詳細介紹,在此不再贅述;

提取子單元65,用于提取所述個性化詞的詞向量及其左右鄰接詞的詞向量。

所述詞向量聚類單元具體可以根據各個性化詞的詞向量、左右鄰接詞的詞向量、以及詞向量的TF_IDF(Term Frequency_Inverse Document Frequency,詞頻_逆向文件頻率)值計算個性化詞向量之間的距離,然后根據所述距離進行聚類,得到每個個性化詞所屬類編號。相應地,所述詞向量聚類單元的一種具體結構可以包括:距離計算子單元和距離聚類子單元。其中,所述距離計算子單元用于根據各個性化詞的詞向量、左右鄰接詞的詞向量、以及詞向量的TF_IDF值計算個性化詞向量之間的距離;所述距離聚類子單元,用于根據所述距離進行聚類,得到每個個性化詞所屬類編號,具體的聚類算法可以采用現有的一些算法,比如K-means算法等,對此本發(fā)明實施例不做限定。

上述語言模型構建模塊503用于根據所述個性化詞所屬類編號構建語言模型,具體可以與現有的語言模型的訓練方法類似的訓練方式,所不同的是,在本發(fā)明實施例中,語言模型構建模塊503還需要將訓練語料中的個性化詞替換為該個性化詞所屬類編號,然后將采集的訓練語料及替換后的語料作為訓練數據,構建語言模型。

相應地,語言模型構建模塊503的一種具體結構如圖7所示,包括以下各單元:

語料采集單元71,用于采集訓練語料,所述訓練語料可以包括所有用戶的歷史語料及其它語料,對此本發(fā)明實施例不做限定。

語料處理單元72,用于將所述訓練語料中的個性化詞替換為所述個性化詞所屬類編號;語言模型訓練單元73,用于將采集的訓練語料及替換后的語料作為訓練數據,訓練得到語言模型。具體訓練時,每個個性化詞所屬類編號直接作為一個詞進行訓練。

上述解碼路徑擴展模塊504用于在對用戶輸入的信息進行識別時,如果所述信息中的詞存在于所述用戶個性化詞典中,則根據該詞對應的個性化詞所屬類編號對解碼路徑進行擴展,得到擴展后的解碼路徑;

與現有技術不同的是,在本發(fā)明實施例中,在系統(tǒng)接收到用戶輸入的信息后,解碼路徑擴展模塊504需要判斷所述信息中的各詞是否存在于該用戶的個性化詞典中。如果存在,則利用該詞所屬類編號對解碼路徑進行擴展,得到擴展后的解碼路徑。需要注意的是,如圖5中所示,針對某個特定用戶,如用戶1,只需判斷該用戶輸入的信息中的各詞是否存在于用戶1的個性化詞典中,而無需判斷這些詞是否存在于其它用戶的個性化詞典中。

上述解碼模塊505用于根據擴展后的解碼路徑對所述信息進行解碼,得到多個候選解碼結果。

上述語言模型得分計算模塊506用于根據所述語言模型計算各候選解碼結果的語言模型得分。在計算候選解碼結果的語言模型得分時,對于候選解碼結果中的個性化詞和非個性化詞,均可以采用現有技術中的一些計算方法。當然,對于候選解碼結果中的個性化詞,還可以采用前面公式(1)的計算方法,由于其包含了更多歷史信息,因此可以使計算結果更準確。

上述識別結果獲取模塊507用于選取語言模型得分最高的候選解碼結果作為所述信息的識別結果。需要說明的是,如果該識別結果中包含個性化詞的類編號,識別結果獲取模塊507還需要將該類編號替換為其對應的個性化詞。

在實際應用中,本發(fā)明實施例的自適應的識別系統(tǒng),還可以根據用戶輸入信息或定時對用戶個性化詞典及語言模型進行更新,具體更新方式本發(fā)明不做限定。而且,可以由人工觸發(fā)進行更新,也可以由系統(tǒng)自動觸發(fā)進行更新。

本發(fā)明實施例提供的自適應的識別系統(tǒng),利用用戶的個性化詞典構建語言模型,具體地,將用戶的個性化詞進行聚類后,根據個性化詞所屬類編號構建該語言模型,從而使該語言模型既具有全局性特點,又考慮了各 用戶的個性化特點。利用該語言模型對用戶輸入的信息進行識別時,如果所述信息中的詞存在于所述用戶個性化詞典中,則根據該詞對應的個性化詞所屬類編號對解碼路徑進行擴展,得到擴展后的解碼路徑,然后根據擴展后的解碼路徑對所述信息進行解碼,從而在保證原有識別效果的基礎上,大大提高了用戶個性化詞的識別準確度。由于每個個性化詞使用其所屬類編號表示,從而可以解決構建全局個性化語言模型時的數據稀疏問題。而且,只需為每個用戶構建一個個性化詞典,而不需要為每個用戶單獨構建一個語言模型,從而可以大大降低系統(tǒng)開銷,提升系統(tǒng)識別效率。

本說明書中的各個實施例均采用遞進的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對于系統(tǒng)實施例而言,由于其基本相似于方法實施例,所以描述得比較簡單,相關之處參見方法實施例的部分說明即可。以上所描述的系統(tǒng)實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網絡單元上??梢愿鶕嶋H的需要選擇其中的部分或者全部模塊來實現本實施例方案的目的。本領域普通技術人員在不付出創(chuàng)造性勞動的情況下,即可以理解并實施。

以上對本發(fā)明實施例進行了詳細介紹,本文中應用了具體實施方式對本發(fā)明進行了闡述,以上實施例的說明只是用于幫助理解本發(fā)明的方法及系統(tǒng);同時,對于本領域的一般技術人員,依據本發(fā)明的思想,在具體實施方式及應用范圍上均會有改變之處,綜上所述,本說明書內容不應理解為對本發(fā)明的限制。

當前第1頁1 2 3 
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
都兰县| 克拉玛依市| 丰县| 江口县| 鹤峰县| 中牟县| 洪洞县| 曲松县| 濉溪县| 丽水市| 辉南县| 临颍县| 梅河口市| 阿瓦提县| 洛扎县| 高唐县| 邛崃市| 仪征市| 武平县| 体育| 洛宁县| 广饶县| 盐边县| 万源市| 祁阳县| 中宁县| 彭阳县| 临江市| 乐山市| 龙南县| 荆门市| 望谟县| 环江| 班戈县| 靖江市| 城步| 泰州市| 扬中市| 伊通| 乡宁县| 叶城县|