本發(fā)明涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,尤其涉及一種詞庫更新方法及裝置。
背景技術(shù):
在通過語音方式實現(xiàn)人機交互,語音助手等場景中,對用戶輸入語音的準確識別是重要前提。為了能夠識別出用戶輸入的語音,往往需要預先構(gòu)建語音識別詞庫。
目前常用的一些語音識別詞庫往往是為了支持普適性而提供的詞庫,可以稱為通用識別詞庫。該通用的詞庫在被應用于特定領(lǐng)域中時,很可能會由于缺乏該特定領(lǐng)域的詞語,而導致識別的準確性大大降低。為此,在特定的應用領(lǐng)域語音識別中,開發(fā)者可以通過向該詞庫中添加該領(lǐng)域特有的一些詞語來豐富該詞庫。
但是,目前,加入該詞庫中的某領(lǐng)域所特有的詞語,往往是開發(fā)人員根據(jù)經(jīng)驗人工選定的,難以保證合理性,也導致更新后詞庫的識別效果可能不佳。
技術(shù)實現(xiàn)要素:
有鑒于此,本發(fā)明實施例提供一種詞庫更新方法及裝置,利用訓練樣本的貢獻權(quán)重和與原始詞庫中詞語的發(fā)音相似度選出特定領(lǐng)域熱詞,保證選出熱詞的合理性,改善詞語識別的效果。
本發(fā)明實施例提供一種詞庫更新方法,包括:
從預設(shè)通識語料庫和預設(shè)特定領(lǐng)域語料庫中,獲取由若干通識語句樣本和若干特定領(lǐng)域語句樣本構(gòu)成的訓練樣本集合;
從所述預設(shè)通識語料庫中獲取詞頻最高的m個詞語;
采用所述訓練樣本集合對分類模型進行分類訓練,獲得各訓練樣本對應的分類結(jié)果以及由各訓練樣本分別對應的詞語構(gòu)成的詞語集合;
根據(jù)所述詞語集合中的各詞語對所述分類模型的分類準確率的貢獻權(quán)重,從所述詞語集合中選擇貢獻權(quán)重最大的x個詞語;
確定所述x個詞語中的每個詞語分別與所述m個詞語之間的拼音相似度;
根據(jù)所述拼音相似度與預設(shè)閾值的比較結(jié)果,確定與所述x個詞語對應的熱詞庫;
將所述熱詞庫添加到原始識別詞庫中。
本發(fā)明實施例提供一種詞庫更新裝置,包括:
獲取模塊,用于從預設(shè)通識語料庫和預設(shè)特定領(lǐng)域語料庫中,獲取由若干通識語句樣本和若干特定領(lǐng)域語句樣本構(gòu)成的訓練樣本集合,以及從所述預設(shè)通識語料庫中獲取詞頻最高的m個詞語;
訓練模塊,用于采用所述訓練樣本集合對分類模型進行分類訓練;
獲取模塊,還用于獲得各訓練樣本對應的分類結(jié)果以及由各訓練樣本分別對應的詞語構(gòu)成的詞語集合;
選擇模塊,用于根據(jù)所述詞語集合中的各詞語對所述分類模型的分類準確率的貢獻權(quán)重,從所述詞語集合中選擇貢獻權(quán)重最大的x個詞語;
確定模塊,用于確定所述x個詞語中的每個詞語分別與所述m個詞語之間的拼音相似度,以及根據(jù)所述拼音相似度與預設(shè)閾值的比較結(jié)果,確定與所述x個詞語對應的熱詞庫;
更新模塊,用于將所述熱詞庫添加到原始識別詞庫中。
本發(fā)明實施例提供的詞庫更新方法和裝置,以若干通識語句樣本和若干特定領(lǐng)域語句樣本構(gòu)成訓練樣本集合來對分類模型進行分類訓練,并在分類模型的輸出側(cè)獲得由各訓練樣本分別對應的詞語構(gòu)成的詞語集合。進而,基于各訓練樣本的分類結(jié)果確定詞語集合中各詞語對分類模型的分類正確率的貢獻權(quán)重,以便從中選擇出對分類模型分類正確率貢獻程度最高的x個詞語。之后,為了避免將x個詞語中已經(jīng)存在于原始識別詞庫中的詞語或者與已經(jīng)存在于原始識別詞庫中的詞語特別相似的詞語重復添加到原始識別詞庫中,通過計算x個詞語分別與通識語料庫中詞頻最高的m個詞語之間的拼音相似度,基于拼音相似度和預設(shè)閾值的比較結(jié)果從x個詞語中選擇出屬于特定領(lǐng)域的熱詞,構(gòu)成熱詞庫,加入到原始識別詞庫中,從而可以提高在特定領(lǐng)域應用場景中對詞語的識別效果。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明實施例提供的詞庫更新方法實施例一的流程圖;
圖2為本發(fā)明實施例提供的詞庫更新方法實施例二的流程圖;
圖3為本發(fā)明實施例提供的詞庫更新方法實施例三的流程圖;
圖4為本發(fā)明實施例提供的詞庫更新裝置實施例一的結(jié)構(gòu)示意圖;
圖5為本發(fā)明實施例提供的詞庫更新裝置實施例二的結(jié)構(gòu)示意圖;
圖6為本發(fā)明實施例提供的詞庫更新裝置實施例三的結(jié)構(gòu)示意圖。
具體實施方式
為使本發(fā)明實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
在本發(fā)明實施例中使用的術(shù)語是僅僅出于描述特定實施例的目的,而非旨在限制本發(fā)明。在本發(fā)明實施例和所附權(quán)利要求書中所使用的單數(shù)形式的“一種”、“所述”和“該”也旨在包括多數(shù)形式,除非上下文清楚地表示其他含義,“多種”一般包含至少兩種,但是不排除包含至少一種的情況。
應當理解,本文中使用的術(shù)語“和/或”僅僅是一種描述關(guān)聯(lián)對象的關(guān)聯(lián)關(guān)系,表示可以存在三種關(guān)系,例如,a和/或b,可以表示:單獨存在a,同時存在a和b,單獨存在b這三種情況。另外,本文中字符“/”,一般表示前后關(guān)聯(lián)對象是一種“或”的關(guān)系。
應當理解,盡管在本發(fā)明實施例中可能采用術(shù)語第一、第二、第三等來描述xxx,但這些xxx不應限于這些術(shù)語。這些術(shù)語僅用來將xxx彼此區(qū)分開。例如,在不脫離本發(fā)明實施例范圍的情況下,第一xxx也可以被稱為第二xxx,類似地,第二xxx也可以被稱為第一xxx。
取決于語境,如在此所使用的詞語“如果”、“若”可以被解釋成為“在……時”或“當……時”或“響應于確定”或“響應于檢測”。類似地,取決于語境,短語“如果確定”或“如果檢測(陳述的條件或事件)”可以被解釋成為“當確定時”或“響應于確定”或“當檢測(陳述的條件或事件)時”或“響應于檢測(陳述的條件或事件)”。
還需要說明的是,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的商品或者系統(tǒng)不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種商品或者系統(tǒng)所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的商品或者系統(tǒng)中還存在另外的相同要素。
圖1為本發(fā)明實施例提供的詞庫更新方法實施例一的流程圖,如圖1所示,該方法包括如下步驟:
s101,從預設(shè)通識語料庫和預設(shè)特定領(lǐng)域語料庫中,獲取由若干通識語句樣本和若干特定領(lǐng)域語句樣本構(gòu)成的訓練樣本集合。
可選地,通識語料可以為大量的綜合類的新聞文本,比如可以包括時政、軍事、體育、文藝等類型的文本,文本多以文章為單位??梢詫⑼ㄗR語料的各個類型的文本以單句為單位進行拆分,從而獲得包含大量通識語句的通識語料庫。
實際應用中,可以通過收集特定領(lǐng)域的問題集合,由大量問題語句來構(gòu)成特定領(lǐng)域語料庫。
可選地,可以分別從通識語料庫和特定領(lǐng)域語料庫中隨機選擇若干語句作為訓練樣本,以構(gòu)成訓練樣本集合。其中,訓練樣本集合中包含的通識語句樣本和特定領(lǐng)域語句樣本在數(shù)量上一般是相等的。
s102,從預設(shè)通識語料庫中獲取詞頻最高的m個詞語。
可以對通識語料庫中包含的各語句進行分詞處理,并且去除其中包含的諸如連詞、代詞等虛詞,或者稱為停用詞。統(tǒng)計剩余的詞語的詞頻,從中選擇出詞頻最高的m個詞語,m可以預先設(shè)定。
本實施例中,之所以要獲得該m個詞語的主要目的在于,為了以此為比較對象,協(xié)助確定屬于特定領(lǐng)域的熱詞。其中,特定領(lǐng)域的熱詞是指:在特定領(lǐng)域中頻繁出現(xiàn),并且由于和常見詞或者說通用詞發(fā)音相似,因此容易被常見詞所淹沒的詞語。
s103,采用訓練樣本集合對分類模型進行分類訓練,獲得各訓練樣本對應的分類結(jié)果以及由各訓練樣本分別對應的詞語構(gòu)成的詞語集合。
將訓練樣本集合中的每一個訓練樣本依次輸入分類模型進行分類訓練。在分類模型的輸出側(cè),相應地,可以依次輸出各輸入的訓練樣本所對應的分類結(jié)果,本實施例中,分類結(jié)果用于表征對應的輸入訓練樣本是屬于通識語句還是特定領(lǐng)域語句。
分類模型的運行過程,簡單來說就是:通過對輸入的訓練樣本進行分詞處理,基于對各分詞結(jié)果的分類系數(shù)進行確定,通過對各分詞結(jié)果基于分類系數(shù)進行加權(quán)求和,最后將求和結(jié)果與一定的分類閾值進行比較,以確定輸入的訓練樣本所屬的分類。因此,在對各訓練樣本進行分類訓練的過程中,還可以獲得針對各訓練樣本的分詞結(jié)果。
當全部訓練樣本訓練完畢后,可以通過統(tǒng)計各訓練樣本分別對應的分詞結(jié)果,以獲得與全部的訓練樣本即與訓練樣本集合對應的詞語集合。
其中,分類模型具體可以實現(xiàn)為分類器,可以采用現(xiàn)有技術(shù)中所能夠提供的多種分類器,比如,基于深度學習構(gòu)建的分類器。
s104,根據(jù)詞語集合中的各詞語對分類模型的分類準確率的貢獻權(quán)重,從詞語集合中選擇貢獻權(quán)重最大的x個詞語。
利用訓練樣本集合對分類模型進行訓練后,可以計算分類模型的準確率。準確率可以通過分類正確的訓練樣本數(shù)與訓練樣本總數(shù)的比值來確定。
進而,由于上述詞語集合是由各訓練樣本對應的詞語組成的,還可以進一步計算詞語集合中各個詞語對分類模型的分類準確率的貢獻權(quán)重,貢獻權(quán)重越大,表示該詞語對分類模型準確率的貢獻越大。
可選地,詞語集合中每個詞語的貢獻權(quán)重可以通過計算每個詞語的信息增益的方式來獲得,信息增益越大,詞語的貢獻權(quán)重越高。
詞語集合中的任一詞語t的信息增益可以表示為:ig(t)=h(c)-h(c|t),其中,c代表某一分類,h(c)為分類c的信息熵,h(c|t)包含兩種情況:一種是詞語t出現(xiàn)在分類c中,標記為t,一種是詞語t不出現(xiàn)在分類c中,標記為t',則h(c|t)=p(t)h(c|t)+p(t')h(c|t'),其中p(t)為詞語t出現(xiàn)在分類c中的概率,p(t')為詞語t不出現(xiàn)在分類c中的概率。本實施例中,分類c可以是指特定領(lǐng)域。
進而,從詞語集合中選擇貢獻權(quán)重最大的x個詞語,由于這x個詞語對分類模型的分類正確率貢獻程度最大,說明這x個詞語在特定領(lǐng)域的語音識別場景中對于識別結(jié)果的作用也是很重要的,特定領(lǐng)域的熱詞很可能會包含在這x個詞語中。
s105,確定x個詞語中的每個詞語分別與m個詞語之間的拼音相似度。
s106,根據(jù)拼音相似度與預設(shè)閾值的比較結(jié)果,確定與x個詞語對應的熱詞庫。
本實施例中,從x個詞語中獲得特定領(lǐng)域的熱詞的方式是,基于x個詞語中的每個詞語分別與m個詞語之間的拼音相似度,從x個詞語中篩選出拼音相似度大于一定預設(shè)閾值的詞語,可以由這些被篩選出的詞語構(gòu)成熱詞庫。其中,預設(shè)閾值為小于1的數(shù),意味著與m個詞語相似但不同,這也與特定領(lǐng)域的熱詞包含容易被常見詞所淹沒的詞語的含義對應。
其中,兩個詞語之間的拼音相似度可以通過兩者拼音中重復的字母數(shù)量來衡量。
s107,將熱詞庫添加到原始識別詞庫中。
將獲得的熱詞庫添加到原始識別詞庫中,從而在原始識別詞庫中擴充屬于特定領(lǐng)域的熱詞。
本實施例中,以若干通識語句樣本和若干特定領(lǐng)域語句樣本構(gòu)成訓練樣本集合來對分類模型進行分類訓練,并在分類模型的輸出側(cè)獲得由各訓練樣本分別對應的詞語構(gòu)成的詞語集合。進而,基于各訓練樣本的分類結(jié)果確定詞語集合中各詞語對分類模型的分類正確率的貢獻權(quán)重,以便從中選擇出對分類模型分類正確率貢獻程度最高的x個詞語。之后,為了避免將x個詞語中已經(jīng)存在于原始識別詞庫中的詞語或者與已經(jīng)存在于原始識別詞庫中的詞語特別相似的詞語重復添加到原始識別詞庫中,通過計算x個詞語分別與通識語料庫中詞頻最高的m個詞語之間的拼音相似度,基于拼音相似度和預設(shè)閾值的比較結(jié)果從x個詞語中選擇出屬于特定領(lǐng)域的熱詞,構(gòu)成熱詞庫,加入到原始識別詞庫中,從而可以提高在特定領(lǐng)域應用場景中對詞語的識別效果。
圖2為本發(fā)明實施例提供的詞庫更新方法實施例二的流程圖,如圖2所示,該方法可以包括如下步驟:
s201,從預設(shè)通識語料庫和預設(shè)特定領(lǐng)域語料庫中,獲取由若干通識語句樣本和若干特定領(lǐng)域語句樣本構(gòu)成的訓練樣本集合,以及從預設(shè)通識語料庫中獲取詞頻最高的m個詞語。
上述步驟的執(zhí)行過程可以參見如圖1所示實施例中的相關(guān)描述,在此不贅述。
s202,根據(jù)訓練樣本集合,生成n個訓練樣本子集合,每個訓練樣本子集合中包括若干通識語句樣本和若干特定領(lǐng)域語句樣本。
本實施例中,分類模型中可以包括n個分類子模型,其中n個分類子模型可以是相同或不同的。對于n個分類子模型,則需要生成n個訓練樣本子集合,用以分別訓練n個分類子模型??梢酝ㄟ^在訓練樣本集合中隨機選擇若干通識語句樣本和特定領(lǐng)域語句樣本作為一個訓練樣本子集合的方式來生成n個訓練樣本子集合。值得說明的是,同一個語句樣本是可以重復出現(xiàn)在多個訓練樣本子集合中的,也即是n個訓練樣本子集合中的訓練樣本可以有小部分重合。
本實施例中,通過設(shè)置n個分類子模型,可以提高訓練過程的處理效率。
s203,采用n個訓練樣本子集合中的第i個訓練樣本子集合對n個分類子模型中的第i個分類子模型進行分類訓練,獲得第i個訓練樣本子集合中各訓練樣本對應的分類結(jié)果以及由各訓練樣本分別對應的詞語構(gòu)成的第i個詞語集合,i=1,2,…,n。
n個訓練樣本子集合與n個分類子模型一一對應,利用與每個分類子模型對應的訓練樣本子集合訓練該分類子模型,訓練的過程與前述實施例中的說明一致,不再贅述。只是,本實施例中,訓練完成后獲得的是與每個分類子模型分別對應的詞語集合。
s204,根據(jù)第i個詞語集合中的各詞語對第i個分類子模型的分類準確率的貢獻權(quán)重,從第i個詞語集合中選擇貢獻權(quán)重最大的y個詞語。
其中,分類準確率、貢獻權(quán)重的計算過程可參考前述實施例中的說明,不再贅述。其中,y的設(shè)定比如可以是大于或等于x/n的數(shù)值。
s205,根據(jù)選擇出的y*n個詞語各自對應的貢獻權(quán)重,從y*n個詞語中選擇出貢獻權(quán)重最大的x個詞語。
對從n個分類子模型分別選出的y個詞語進行匯總,根據(jù)y*n個詞語的貢獻權(quán)重,從中按照貢獻權(quán)重大小選出貢獻權(quán)重最大的x個詞語。
實際上,y*n個詞語中可能會出現(xiàn)重復的詞語,因此,本實施例中,x個詞語的選擇是根據(jù)y*n個詞語的累加貢獻權(quán)重進行選擇的。具體地,以y*n個詞語中的任一詞語i來說,其貢獻權(quán)重的累加公式如下:
其中,wi為詞語i最終的貢獻權(quán)重,wpj,i為第j個分類子模型中詞語i的貢獻權(quán)重,aj為第j個分類子模型的準確率,可選地,準確率可以用f1得分表示。
s206,對于x個詞語中的任一詞語xi,從m個詞語中篩選出字數(shù)與詞語xi的字數(shù)一致的k個詞語。
針對x個詞語中任意一個詞語xi,從通識語料庫出現(xiàn)頻率最高的m個詞語中,選取與詞語xi字數(shù)相同的k個詞語,以便于后續(xù)比較二者之間的拼音相似度。其中,之所以要選擇字數(shù)相等的詞語,為了避免不同字數(shù)對兩個詞語之間拼音相似度計算的不利影響。
s207,對詞語xi和k個詞語中的任一詞語ki,分別進行拼音變換。
將詞語xi和與詞語xi字數(shù)相同的k個詞語中的任一詞語ki進行拼音變換,具體的拼音變換規(guī)則如下:
(1)翹舌聲母變性:ch->c^,zh->z^,sh->s^,r->^;
(2)
(3)[e]變換:拼音中包含有類似英文音標[e]的發(fā)音,對此做了一個特殊變換,有三個情況,ue->v+,yan,-ian轉(zhuǎn)為y+n,-i+n,但是-iang不變;
(4)翹舌,平舌后面跟的i轉(zhuǎn)為_,如si->s_;
(5)零聲母音節(jié)變換:wan->uan,yi->i;
(6)特殊變化wen->un,但weng->ueng不做特殊變化。
基于上述拼音變換,可以降低詞語中對發(fā)音相似度影響較小的字母對拼音相似度的干擾,保證詞語xi與詞語ki的拼音相似度計算結(jié)果的準確性。
s208,確定經(jīng)拼音變換后的詞語xi和詞語ki之間的拼音相似度。
對詞語xi和詞語ki進行拼音變換,假設(shè)詞語xi經(jīng)過拼音變換后變換為詞語yi,詞語ki經(jīng)過拼音變換后變換為詞語mi,比較詞語yi和詞語mi之間的拼音相似度。以下以一舉例詳細說明兩詞語之間拼音相似度的確定過程。
假設(shè),詞語xi和詞語ki都為兩個字的詞語,它們可以分別表示為ab和cd。首先對詞語xi和詞語ki分別進行拼音變換得到詞語yi和詞語mi。再分別確定詞語yi中單字a和詞語mi中單字c的拼音相似度以及詞語yi中單字b和詞語mi中單字d的拼音相似度,最后根據(jù)各個單字之間的拼音相似度確定詞語yi和詞語mi整體的拼音相似度。
具體地,將詞語xi和詞語ki的拼音按照拼音變換規(guī)則進行拼音變換,分別獲得詞語xi中單字a和單字b變換后的拼音,以及詞語ki中單字c和單字d變換后的拼音??梢岳萌缦鹿?1)確定單字a和單字c之間的拼音相似度,以及單字b和單字d之間的拼音相似度。
lcs_sim(pystringyi,j,pystringmi,j)=toneweight*(smlcs_sim(pystringyi,j,pystringmi,j)+(1)ymlcs_sim(pystringyi,j,pystringmi,j))/2
其中,最長公共子序列(longestcommonsubsequence,簡稱lcs),tonewieght為聲調(diào)權(quán)重,聲調(diào)權(quán)重具體指的是兩個單字聲調(diào)的相似性,若兩個單字的聲調(diào)相同,則tonewieght=1,若聲調(diào)不相同,則將tonewieght設(shè)置為一個比較大的且小于1的值,可以為0.8-0.98。
smlcs_sim(smstringyi,j,smstringmi,j)和ymlcs_sim(ymstringyi,j,ymstringmi,j)分別為詞語yi第j個字和詞語mi第j個字的聲母相似度和韻母相似度,而每個單字的聲母相似度和韻母相似度又可以分別根據(jù)如下公式(2)、(3)確定:
其中,length(lcs(smstringyi,j,smstringmi,j))為詞語yi第j個字和詞語mi第j個字之間聲母的最長公用拼音的長度,length(smstringyi,j)和length(smstringmi,j)分別為詞語yi第j個字和詞語mi第j個字拼音聲母的長度;length(lcs(ymstringyi,j,ymstringmi,j))為詞語yi第j個字和詞語mi第j個字之間聲母的最長公用拼音的長度,length(lcs(ymstringyi,j,ymstringmi,j))為詞語yi第j個字和詞語mi第j個字之間韻母的最長公用拼音的長度,length(ymstringyi,j)和length(ymstringmi,j)分別為詞語yi第j個字和詞語mi第j個字拼音韻母的長度。
通過上述過程即可分別確定了單字a和單字c的拼音相似度,以及單字b和單字d的拼音相似度,再通過如下公式可以確定詞語yi和詞語mi之間的詞語拼音相似度。
其中,pystringyi,j為詞語yi中的第j個字的拼音,pystringmi,j為詞語mi中第j個字的拼音,n為詞語xi和詞語ki的詞語字數(shù),lcs_sim(pystringyi,j,pystringmi,j)表示詞語yi和詞語mi第j個字之間的拼音相似度,此拼音相似度可以利用公式(1)計算獲得。
s209,判斷經(jīng)拼音變換后的詞語xi和詞語ki之間的拼音相似度是否大于或等于預設(shè)閾值,若是,則執(zhí)行步驟s210,否則執(zhí)行步驟s211
s210,確定詞語xi為特定領(lǐng)域熱詞,將詞語xi加入到熱詞庫中。
s211,確定詞語xi為候選熱詞,將詞語xi加入到候選詞庫中。
值得說明的是,該預設(shè)閾值為小于1的數(shù)值。之所以不等于1,意味著詞語xi和詞語ki不能是相同的詞語,也就是說,x個詞語中已經(jīng)存在于m個詞語中的詞語,不會被選作熱詞。
s212,將熱詞庫添加到原始識別詞庫中。
本實施例中,基于對訓練樣本集合的訓練過程,最終獲得x個對分類正確率貢獻程度最高的詞語。貢獻程度越高,一定程度上也可能反映詞語的出現(xiàn)越頻繁,特定領(lǐng)域熱詞往往會包含在該x個詞語中。進而,為了避免不同字數(shù)對兩個詞語之間拼音相似度計算的不利影響,針對x個詞語中的任一詞語xi,從通識語料庫中詞頻最高的m個詞語中選擇字數(shù)與之相等的k個詞語。之后,分別對詞語xi以及k個詞語進行拼音變換,以降低詞語中對發(fā)音相似度影響較小的字母對拼音相似度的干擾,保證詞語xi分別與k個詞語的拼音相似度計算結(jié)果的準確性,從而也保證了最終選擇出的特定領(lǐng)域的熱詞的準確性。
圖3為本發(fā)明實施例提供的詞庫更新方法實施例三的流程圖。實際應用中,可以設(shè)定熱詞庫的容量上限,如果實際得到的熱詞庫中的特定領(lǐng)域熱詞的數(shù)量大于該容量上限,則從熱詞庫中刪除部分熱詞;相反地,如果實際得到的熱詞庫中的特定領(lǐng)域熱詞的數(shù)量小于該容量上限,則向熱詞庫中再添加部分熱詞。如圖3所示,在圖2所示實施例基礎(chǔ)上,步驟s212之后,該方法可以包括如下步驟:
s301,熱詞庫中的特定領(lǐng)域熱詞數(shù)量是否大于預設(shè)數(shù)量,若是,執(zhí)行步驟s302;否則,執(zhí)行步驟s303。
其中,上述預設(shè)數(shù)量即為熱詞庫對應的容量上限。
s302,按照熱詞庫中各特定領(lǐng)域熱詞的貢獻權(quán)重由小到大的順序,從熱詞庫中刪除差額數(shù)量的特定領(lǐng)域熱詞。
在選擇特定領(lǐng)域熱詞加入熱詞庫的過程中已經(jīng)計算過各個特定領(lǐng)域熱詞的貢獻權(quán)重,此時可以直接將此貢獻權(quán)重按照由小到大的順序進行排序,刪除貢獻權(quán)重最小的差額數(shù)量的特定領(lǐng)域熱詞,其中,差額數(shù)量為當前熱詞庫中特定領(lǐng)域熱詞數(shù)量與熱詞庫中詞語上限數(shù)目之間的差額。
可選地,還可以在對貢獻權(quán)重進行排序之后,先按照貢獻權(quán)重由小到大對特定領(lǐng)域熱詞進行測試,也即是使用原始識別詞庫,按照貢獻權(quán)重由小到大的順序,依次對各個特定領(lǐng)域熱詞進行識別。針對某特定領(lǐng)域熱詞來說,若使用原始識別詞庫能夠識別此特定領(lǐng)域熱詞,則將此特定領(lǐng)域熱詞從熱詞庫中刪除,也即是按照貢獻權(quán)重由小到大的順序,依次刪除熱詞庫中能被原始識別詞庫識別出的特定領(lǐng)域熱詞,直到刪除的特定領(lǐng)域熱詞的數(shù)量等于上述差額數(shù)量為止。
值得說明的是,若已經(jīng)按照貢獻權(quán)重由小到大的順序遍歷完熱詞庫中的全部特定領(lǐng)域熱詞,刪除的數(shù)量仍小于上述差額數(shù)量。則此時,可以在剩余的特定領(lǐng)域熱詞中按照貢獻權(quán)重從小到大的順序直接刪除即可,直至熱詞庫中特定領(lǐng)域熱詞的數(shù)目滿足預設(shè)數(shù)量。
s303,按照候選詞庫中各候選熱詞的貢獻權(quán)重由大到小的順序,從候選詞庫中選出差額數(shù)量的候選熱詞,將選出的候選熱詞加入到熱詞庫中。
若熱詞庫中的特定領(lǐng)域熱詞數(shù)量小于預設(shè)數(shù)量,則將候選詞庫中的候選熱詞的貢獻權(quán)重按照權(quán)重由大到小進行排序,從候選詞庫中選擇出差額數(shù)量的貢獻權(quán)重最高的候選熱詞,并將其加入熱詞庫中,其中差額數(shù)量為預設(shè)數(shù)量與特定領(lǐng)域熱詞數(shù)量的差值。
可選地,還可以在對貢獻權(quán)重進行排序之后先將候選詞庫中的候選熱詞按照貢獻權(quán)重由大到小進行測試,也即是使用原始識別詞庫按照貢獻權(quán)重由大到小的順序,依次對各個候選熱詞進行識別。針對某特定領(lǐng)域熱詞來說,若使用原始識別詞庫并不能識別此候選熱詞,則將此候選熱詞加入到熱詞庫中,也即是按照貢獻權(quán)重由大到小,依次向熱詞庫中添加不能被原始識別詞庫識別出的候選熱詞,直至熱詞庫中特定領(lǐng)域熱詞的數(shù)目滿足預設(shè)數(shù)目。
值得說明的是,若按照貢獻權(quán)重有大到小對候選詞庫中的候選熱詞全部測試后,添加的數(shù)量仍小于上述差額數(shù)量,則此時,可以將剩余的候選熱詞中按照貢獻權(quán)重由大到小的順眼依次加入熱詞庫中,直至熱詞庫中特定領(lǐng)域熱詞的數(shù)目滿足預設(shè)數(shù)量。
本實施例中,當需要基于預設(shè)的熱詞庫容量上限對實際得到的熱詞庫進行特定領(lǐng)域熱詞刪除或添加處理時,可以結(jié)合貢獻權(quán)重以及原始識別詞庫能否識別待刪除或待添加的詞語來進行該刪除或添加處理,可以保證刪除或添加處理的可靠性,將非特定領(lǐng)域熱詞在熱詞庫中刪除或?qū)⒏赡苁翘囟I(lǐng)域熱詞的詞語添加入熱詞庫。
圖4為本發(fā)明實施例提供的詞庫更新裝置實施例一的結(jié)構(gòu)示意圖,如圖4所示,該詞庫更新裝置包括:獲取模塊11、訓練模塊12、選擇模塊13、確定模塊14、更新模塊15。
獲取模塊11,用于從預設(shè)通識語料庫和預設(shè)特定領(lǐng)域語料庫中,獲取由若干通識語句樣本和若干特定領(lǐng)域語句樣本構(gòu)成的訓練樣本集合,以及從預設(shè)通識語料庫中獲取詞頻最高的m個詞語。
訓練模塊12,用于采用訓練樣本集合對分類模型進行分類訓練。
獲取模塊11,還用于獲得各訓練樣本對應的分類結(jié)果以及由各訓練樣本分別對應的詞語構(gòu)成的詞語集合。
選擇模塊13,用于根據(jù)詞語集合中的各詞語對分類模型的分類準確率的貢獻權(quán)重,從詞語集合中選擇貢獻權(quán)重最大的x個詞語。
確定模塊14,用于確定x個詞語中的每個詞語分別與m個詞語之間的拼音相似度,以及根據(jù)拼音相似度與預設(shè)閾值的比較結(jié)果,確定與x個詞語對應的熱詞庫。
更新模塊15,用于將熱詞庫添加到原始識別詞庫中。
圖4所示裝置可以執(zhí)行圖1所示實施例的方法,本實施例未詳細描述的部分,可參考對圖1所示實施例的相關(guān)說明。該技術(shù)方案的執(zhí)行過程和技術(shù)效果參見圖1所示實施例中的描述,在此不再贅述。
圖5為本發(fā)明實施例提供的詞庫更新裝置實施例二的結(jié)構(gòu)示意圖,如圖5所示,在圖4所示實施例基礎(chǔ)上,訓練模塊12具體可以包括:生成單元121,獲得單元122。
生成單元121,用于根據(jù)訓練樣本集合,生成n個訓練樣本子集合,每個訓練樣本子集合中包括若干通識語句樣本和若干特定領(lǐng)域語句樣本。
獲取單元122,用于采用n個訓練樣本子集合中的第i個訓練樣本子集合對n個分類子模型中的第i個分類子模型進行分類訓練,獲得第i個訓練樣本子集合中各訓練樣本對應的分類結(jié)果以及由各訓練樣本分別對應的詞語構(gòu)成的第i個詞語集合,i=1,2,…,n。
相應地,選擇模塊13還用于:根據(jù)第i個詞語集合中的各詞語對第i個分類子模型的分類準確率的貢獻權(quán)重,從第i個詞語集合中選擇貢獻權(quán)重最大的y個詞語,以及根據(jù)選擇出的y*n個詞語各自對應的貢獻權(quán)重,從y*n個詞語中選擇出貢獻權(quán)重最大的x個詞語。
可選地,確定模塊14可以包括:篩選單元141,拼音變換單元142,確定單元143。
篩選單元141,用于對于x個詞語中的任一詞語xi,從m個詞語中篩選出字數(shù)與詞語xi的字數(shù)一致的k個詞語。
拼音變換單元142,用于對詞語xi和k個詞語中的任一詞語分別進行拼音變換。
確定單元143,用于確定經(jīng)拼音變換后的詞語xi和詞語ki之間的拼音相似度。
可選地,確定單元143具體用于:
根據(jù)如下公式確定經(jīng)所述拼音變換后的詞語xi和詞語ki之間的拼音相似度py_sim(wordyi,wordmi):
其中,yi為詞語xi經(jīng)所述拼音變換后變換得到的詞語,mi為詞語ki經(jīng)所述拼音變換后變換得到的詞語,pystringyi,j表示詞語yi中的第j個字的拼音,pystringmi,j表示詞語mi中第j個字的拼音,lcs_sim(pystringyi,j,pystringmi,j)表示詞語yi中的第j個字和詞語mi中的第j個字之間的拼音相似度,n為詞語yi和詞語mi的詞語長度,
其中,lcs_sim(pystringyi,j,pystringmi,j)根據(jù)如下公式確定:
lcs_sim(pystringyi,j,pystringmi,j)=toneweight*(smlcs_sim(pystringyi,j,pystringmi,j)+ymlcs_sim(pystringyi,j,pystringmi,j))/2
toneweight為聲調(diào)權(quán)重,smlcs_sim(smstringyi,j,smstringmi,j)和ymlcs_sim(ymstringyi,j,ymstringmi,j)分別為詞語yi第j個字和詞語mi第j個字的聲母相似度和韻母相似度,其中,
其中,length(lcs(smstringyi,j,smstringmi,j))為詞語yi第j個字和詞語mi第j個字之間聲母的公用拼音的長度,length(smstringyi,j)和length(smstringmi,j)分別為詞語yi第j個字和詞語mi第j個字拼音聲母的長度,
length(lcs(ymstringyi,j,ymstringmi,j))為詞語yi第j個字和詞語mi第j個字之間韻母的公用拼音的長度,length(ymstringyi,j)和length(ymstringmi,j)分別為詞語yi第j個字和詞語mi第j個字拼音韻母的長度。
相應地,確定模塊14具體用于:若經(jīng)拼音變換后的詞語xi和詞語ki之間的拼音相似度大于或等于預設(shè)閾值,則確定詞語xi為特定領(lǐng)域熱詞,將詞語xi加入到熱詞庫中;若經(jīng)拼音變換后的詞語xi和詞語ki之間的拼音相似度小于預設(shè)閾值,則確定詞語xi為候選熱詞,將詞語xi加入到候選詞庫中。
圖5所示裝置可以執(zhí)行圖2所示實施例的方法,本實施例未詳細描述的部分,可參考對圖2所示實施例的相關(guān)說明。該技術(shù)方案的執(zhí)行過程和技術(shù)效果參見圖2所示實施例中的描述,在此不再贅述。
圖6為本發(fā)明實施例提供的詞庫更新裝置實施例三的結(jié)構(gòu)示意圖,如圖6所示,在圖5所示實施例基礎(chǔ)上,該詞庫更新裝置還包括:刪除模塊21,添加模塊22。
刪除模塊21,用于若熱詞庫中的特定領(lǐng)域熱詞數(shù)量大于預設(shè)數(shù)量,則按照熱詞庫中各特定領(lǐng)域熱詞的貢獻權(quán)重由小到大的順序,從熱詞庫中刪除差額數(shù)量的特定領(lǐng)域熱詞,其中差額數(shù)量為特定領(lǐng)域熱詞數(shù)量與預設(shè)數(shù)量的差值;被刪除的特定領(lǐng)域熱詞為能被原始識別詞庫識別出的特定領(lǐng)域熱詞。
添加模塊22,用于若熱詞庫中的特定領(lǐng)域熱詞數(shù)量小于預設(shè)數(shù)量,則按照候選詞庫中各候選熱詞的貢獻權(quán)重由大到小的順序,從候選詞庫中選出差額數(shù)量的候選熱詞,將選出的候選熱詞加入到熱詞庫中,其中差額數(shù)量為預設(shè)數(shù)量與特定領(lǐng)域熱詞數(shù)量的差值,被選出的候選熱詞為不能被原始識別詞庫識別出的候選熱詞。
圖6所示裝置可以執(zhí)行圖3所示實施例的方法,本實施例未詳細描述的部分,可參考對圖3所示實施例的相關(guān)說明。該技術(shù)方案的執(zhí)行過程和技術(shù)效果參見圖3所示實施例中的描述,在此不再贅述。
以上所描述的裝置實施例僅僅是示意性的,其中作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡單元上。可以根據(jù)實際的需要選擇其中的部分或者全部模塊來實現(xiàn)本實施例方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性的勞動的情況下,即可以理解并實施。
通過以上的實施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到各實施方式可借助加必需的通用硬件平臺的方式來實現(xiàn),當然也可以通過硬件?;谶@樣的理解,上述技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分可以以產(chǎn)品的形式體現(xiàn)出來,該計算機產(chǎn)品可以存儲在計算機可讀存儲介質(zhì)中,如rom/ram、磁碟、光盤等,包括若干指令用以使得一臺計算機裝置(可以是個人計算機,服務器,或者網(wǎng)絡裝置等)執(zhí)行各個實施例或者實施例的某些部分的方法。
最后應說明的是:以上實施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述實施例對本發(fā)明進行了詳細的說明,本領(lǐng)域的普通技術(shù)人員應當理解:其依然可以對前述各實施例所記載的技術(shù)方案進行修改,或者對其中部分技術(shù)特征進行等同替換;而這些修改或者替換,并不使相應技術(shù)方案的本質(zhì)脫離本發(fā)明各實施例技術(shù)方案的精神和范圍。