本發(fā)明涉及自然語言處理領(lǐng)域,尤其是涉及一種新詞發(fā)現(xiàn)方法及裝置。
背景技術(shù):
隨著信息技術(shù)的飛速發(fā)展,語言在網(wǎng)絡平臺上也不斷被更新,從而造就了大量的新詞。而由于這些新詞在詞典中不存在,導致輸入過程的分詞結(jié)果不準確,影響用戶體驗。因此,如何快速、準確地發(fā)現(xiàn)新詞是目前人們關(guān)心的問題。
目前在發(fā)現(xiàn)新詞時,需要人工總結(jié)新詞的規(guī)則,給出相應正則表達式或者文法表達式,根據(jù)總結(jié)出的規(guī)則計算成詞概率,從而判斷是否屬于新詞。
然而,新詞往往更新速度較快,這種方式需要不斷地人工總結(jié)規(guī)則,導致工作量較大,而且由于很多新詞隨著時間的推移很快就不再使用,而這種方式也不能考慮這種情況,導致發(fā)現(xiàn)的新詞利用率不高,占用較多系統(tǒng)資源。
技術(shù)實現(xiàn)要素:
本發(fā)明解決的技術(shù)問題在于提供一種新詞發(fā)現(xiàn)方法及裝置,無需人工總結(jié)規(guī)則,從而減少工作量,此外由于計算的是經(jīng)過遺忘后的成詞概率,從而提高了新詞利用率,節(jié)省系統(tǒng)資源。
為此,本發(fā)明解決技術(shù)問題的技術(shù)方案是:
本發(fā)明提供了一種成詞概率的計算方法,所述方法包括:
獲取文本數(shù)據(jù);
對所述文本數(shù)據(jù)進行分詞,獲得候選詞;
獲取所述候選詞的詞向量;
根據(jù)所述候選詞的詞向量和所述候選詞在所述文本數(shù)據(jù)中的出現(xiàn)順序,計算經(jīng)過遺忘后的所述候選詞的成詞概率。
可選的,所述候選詞在所述文本數(shù)據(jù)中的出現(xiàn)次數(shù)越多,計算出的所述候選詞的成詞概率越大;所述候選詞在所述文本數(shù)據(jù)中的出現(xiàn)次數(shù)越少,計算出的所述候選詞的成詞概率越小。
可選的,計算經(jīng)過遺忘后的所述候選詞的成詞概率,包括:
將所述候選詞的詞向量和標識信息依次輸入到新詞發(fā)現(xiàn)模型中;
在每次輸入當前候選詞的詞向量和標識信息之后,利用所述新詞發(fā)現(xiàn)模型計算當前候選詞的成詞概率;
其中,所述標識信息用于表示所述候選詞在所述文本數(shù)據(jù)中的出現(xiàn)順序。
可選的,所述新詞發(fā)現(xiàn)模型包括初始計算模型和遺忘模型;
利用所述新詞發(fā)現(xiàn)模型計算當前候選詞的成詞概率,包括:
將所述當前候選詞的詞向量、當前候選詞的上下文候選詞的詞向量輸入到所述初始計算模型,利用所述初始計算模型計算當前候選詞的初始概率;
將所述初始概率和所述標識信息輸入到所述遺忘模型,利用所述遺忘模型計算當前候選詞的成詞概率。
可選的,利用所述遺忘模型計算當前候選詞的成詞概率,包括:
若當前候選詞第一次出現(xiàn),根據(jù)當前候選詞的初始概率計算當前候選詞的成詞概率;
若當前候選詞之前出現(xiàn)過并且再次出現(xiàn),根據(jù)當前候選詞的初始概率,對上一次計算的當前候選詞的成詞概率進行提升;
若當前候選詞之前出現(xiàn)過并且未再次出現(xiàn),對當前候選詞的成詞概率進行降低。
可選的,所述方法還包括:
利用正向樣本和負向樣本對所述初始計算模型進行訓練;
其中,正向樣本包括:當前候選詞的詞向量、當前候選詞的上下文候選詞的詞向量;負向樣本包括:當前候選詞的互斥候選詞的詞向量、當前候選詞的上下文候選詞的詞向量;當前候選詞和互斥候選詞為相同文本片段的不同分詞結(jié)果。
可選的,
若當前候選詞的上下文候選詞具有互斥候選詞,則當前候選詞的上下文候選詞為成詞概率最大的候選詞;
若當前候選詞的上下文候選詞不具有互斥候選詞,則當前候選詞的上下文候選詞為,當前候選詞的相鄰候選詞中的候選詞;
所述上下文候選詞和所述上下文候選詞的互斥候選詞為相同文本片段的不同分詞結(jié)果。
可選的,還包括:
若之前輸入的候選詞的成詞概率低于預設閾值,停止更新之前輸入的候選詞的成詞概率。
可選的,所述標識信息包括:所述候選詞輸入至所述新詞發(fā)現(xiàn)模型的輸入時間。
可選的,所述新詞發(fā)現(xiàn)模型為神經(jīng)網(wǎng)絡模型,其中,所述新詞發(fā)現(xiàn)模型包括輸入層、隱層、第一輸出層、遺忘層和第二輸出層。
本發(fā)明提供了一種新詞發(fā)現(xiàn)方法,包括:
獲取上述任一項所述的經(jīng)過遺忘后的候選詞的成詞概率;
若所述經(jīng)過遺忘后的候選詞的成詞概率大于預設閾值,并且所述候選詞未出現(xiàn)在詞典中,將所述候選詞標記為新詞。
本發(fā)明提供了一種成詞概率的計算裝置,所述裝置包括:
第一獲取模塊,用于獲取文本數(shù)據(jù);
獲得模塊,用于對所述文本數(shù)據(jù)進行分詞,獲得候選詞;
第二獲取模塊,用于獲取所述候選詞的詞向量;
計算模塊,用于根據(jù)所述候選詞的詞向量和所述候選詞在所述文本數(shù)據(jù)中的出現(xiàn)順序,計算經(jīng)過遺忘后的所述候選詞的成詞概率。
可選的,
所述候選詞在所述文本數(shù)據(jù)中的出現(xiàn)次數(shù)越多,計算出的所述候選詞的成詞概率越大;所述候選詞在所述文本數(shù)據(jù)中的出現(xiàn)次數(shù)越少,計算出的所述候選詞的成詞概率越小。
可選的,所述計算模塊包括:
輸入子模塊,用于將所述候選詞的詞向量和標識信息依次輸入到新詞發(fā)現(xiàn)模型中;
計算子模塊,用于在每次輸入當前候選詞的詞向量和標識信息之后,利用所述新詞發(fā)現(xiàn)模型計算當前候選詞的成詞概率;
其中,所述標識信息用于表示所述候選詞在所述文本數(shù)據(jù)中的出現(xiàn)順序。
可選的,所述新詞發(fā)現(xiàn)模型包括初始計算模型和遺忘模型;
所述計算子模塊具體用于,將所述當前候選詞的詞向量、當前候選詞的上下文候選詞的詞向量輸入到所述初始計算模型,利用所述初始計算模型計算當前候選詞的初始概率;將所述初始概率和所述標識信息輸入到所述遺忘模型,利用所述遺忘模型計算當前候選詞的成詞概率。
可選的,利用所述遺忘模型計算當前候選詞的成詞概率時,所述計算子模塊具體用于:
若當前候選詞第一次出現(xiàn),根據(jù)當前候選詞的初始概率計算當前候選詞的成詞概率;
若當前候選詞之前出現(xiàn)過并且再次出現(xiàn),根據(jù)當前候選詞的初始概率,對上一次計算的當前候選詞的成詞概率進行提升;
若當前候選詞之前出現(xiàn)過并且未再次出現(xiàn),對當前候選詞的成詞概率進行降低。
可選的,還包括:
訓練模塊,用于利用正向樣本和負向樣本對所述初始計算模型進行訓練;
其中,正向樣本包括:當前候選詞的詞向量、當前候選詞的上下文候選詞的詞向量;負向樣本包括:當前候選詞的互斥候選詞的詞向量、當前候選詞的上下文候選詞的詞向量;當前候選詞和互斥候選詞為相同文本片段的不同分詞結(jié)果。
可選的,若當前候選詞的上下文候選詞具有互斥候選詞,則當前候選詞的上下文候選詞為成詞概率最大的候選詞;
若當前候選詞的上下文候選詞不具有互斥候選詞,則當前候選詞的上下文候選詞為,當前候選詞的相鄰候選詞中的候選詞;
所述上下文候選詞和所述上下文候選詞的互斥候選詞為相同文本片段的不同分詞結(jié)果。
可選的,所述計算子模塊還用于,若之前輸入的候選詞的成詞概率低于預設閾值,停止更新之前輸入的候選詞的成詞概率。
可選的,所述標識信息包括:所述候選詞輸入至所述新詞發(fā)現(xiàn)模型的輸入時間。
可選的,所述新詞發(fā)現(xiàn)模型為神經(jīng)網(wǎng)絡模型,其中,所述新詞發(fā)現(xiàn)模型包括輸入層、隱層、第一輸出層、遺忘層和第二輸出層。
本發(fā)明提供了一種新詞發(fā)現(xiàn)裝置,包括:
獲取模塊,用于上述任一項所述的計算裝置計算出的、經(jīng)過遺忘后的候選詞的成詞概率;
標記模塊,用于若所述經(jīng)過遺忘后的候選詞的成詞概率大于預設閾值,并且所述候選詞未出現(xiàn)在詞典中,將所述候選詞標記為新詞。
通過上述技術(shù)方案可知,本發(fā)明實施例中,獲取文本數(shù)據(jù);對所述文本數(shù)據(jù)進行分詞,獲得候選詞;獲取所述候選詞的詞向量;根據(jù)所述候選詞的詞向量和所述候選詞在所述文本數(shù)據(jù)中的出現(xiàn)順序,計算經(jīng)過遺忘后的所述候選詞的成詞概率??梢?,在本發(fā)明實施例中,無需人工總結(jié)規(guī)則,從而減少工作量,而且最終計算出的是經(jīng)過遺忘后的成詞概率,從而提高了新詞利用率,節(jié)省系統(tǒng)資源。
附圖說明
為了更清楚地說明本發(fā)明實施例中的技術(shù)方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,還可以根據(jù)這些附圖獲得其它的附圖。
圖1為本發(fā)明提供的一種方法實施例的流程示意圖;
圖2為本發(fā)明提供的步驟S104的一種具體實施例的流程示意圖;
圖3為本發(fā)明提供的新詞發(fā)現(xiàn)模型的一種結(jié)構(gòu)示意圖;
圖4為本發(fā)明提供的另一種方法實施例的流程示意圖;
圖5為本發(fā)明實施例提供的一種裝置實施例的結(jié)構(gòu)示意圖;
圖6為本發(fā)明實施例提供的另一種裝置實施例的結(jié)構(gòu)示意圖。
具體實施方式
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明中的技術(shù)方案,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都應當屬于本發(fā)明保護的范圍。
請參閱圖1,本發(fā)明提供了成詞概率的計算方法的一種方法實施例。
本實施例的所述方法包括:
S101:獲取文本數(shù)據(jù)。
本發(fā)明實施例中,預先收集大量文本數(shù)據(jù)。其中,文本數(shù)據(jù)可以為多領(lǐng)域或者單領(lǐng)域的文本數(shù)據(jù),根據(jù)應用需求確定。例如,用戶需要發(fā)現(xiàn)某專業(yè)領(lǐng)域的新詞,可以收集與該專業(yè)領(lǐng)域相關(guān)的文本數(shù)據(jù)作為文本數(shù)據(jù)。此外,文本數(shù)據(jù)可以通過多種方式獲取,例如通過網(wǎng)絡收集等,本發(fā)明實施例對此并不加以限定。收集文本數(shù)據(jù)的目的是為了從中發(fā)現(xiàn)新詞。
S102:對文本數(shù)據(jù)進行分詞,獲得候選詞。
在本發(fā)明實施例中,可以通過任一種或者多種分詞方式對文本數(shù)據(jù)進行分詞,本發(fā)明實施例對此并不加以限定。例如,可以采用窮舉法、基于規(guī)則的方法、條件隨機場等分詞方式。在分詞之后可以對分詞結(jié)果進行去重,得到分詞結(jié)果集合作為獲得的候選詞。其中獲得的候選詞的個數(shù)通常大于1。
由于文本數(shù)據(jù)可能會存在異常字符、繁體字符、全角字符等特殊字符,因此在進行分詞之前,可以對文本數(shù)據(jù)進行清洗,從而將特殊字符轉(zhuǎn)換成合法字符。具體的清洗過程可以包括以下任一項或多項:刪除異常字符、將繁體字符轉(zhuǎn)換為簡體字符、將全角字符轉(zhuǎn)換為半角字符等。
S103:獲取所述候選詞的詞向量。
其中,詞向量可以為語義向量,可以直接對候選詞進行語義向量化,也可以先對候選詞進行單字切分,去除停用字,例如語氣字或頻率較低的字,對剩余的字進行語義向量化,將單字的語義向量進行相加得到候選詞的語義向量。例如,“明”字的語義向量為(0.1 0.01 0.2)、“確”的語義向量為(0.02 0.03 0.2),則“明確”的語義向量為兩個單字向量之和,即(0.120.04 0.4)。
其中,語義向量化可以采用深度神經(jīng)網(wǎng)絡等方式實現(xiàn),例如首先將單字或者詞語表示為固定長度的初始向量,使用文本數(shù)據(jù)對初始向量進行訓練,從而得到語義向量。當然,本發(fā)明實施例也可以采用其他方式獲取詞向量,本發(fā)明實施例對此并不加以限定。
S104:根據(jù)所述候選詞的詞向量和所述候選詞在所述文本數(shù)據(jù)中的出現(xiàn)順序,計算經(jīng)過遺忘后的所述候選詞的成詞概率。
在本發(fā)明實施例中,每個候選詞的成詞概率與在文本數(shù)據(jù)中的出現(xiàn)順序相關(guān),當隨著時間的推移,某一候選詞不再出現(xiàn)時,該候選詞的成詞概率將會逐漸降低,該候選詞逐漸被遺忘,而如果該候選詞再次出現(xiàn),則該候選詞的成詞概率將會加強。因此,所述候選詞在所述文本數(shù)據(jù)中的出現(xiàn)次數(shù)越多,計算出的所述候選詞的成詞概率越大;所述候選詞在所述文本數(shù)據(jù)中的出現(xiàn)次數(shù)越少,計算出的所述候選詞的成詞概率越小。
通過上述技術(shù)方案可知,本發(fā)明實施例中,獲取文本數(shù)據(jù);對所述文本數(shù)據(jù)進行分詞,獲得候選詞;獲取所述候選詞的詞向量;根據(jù)所述候選詞的詞向量和所述候選詞在所述文本數(shù)據(jù)中的出現(xiàn)順序,計算經(jīng)過遺忘后的所述候選詞的成詞概率??梢?,在本發(fā)明實施例中,無需人工總結(jié)規(guī)則,從而減少工作量,而且最終計算出的是經(jīng)過遺忘后的成詞概率,從而提高了新詞利用率,節(jié)省系統(tǒng)資源。
在本發(fā)明實施例中,具體可以通過新詞發(fā)現(xiàn)模型計算候選詞的成詞概率。下面提供一種可選的計算方式。
請參閱圖2,S104中的計算經(jīng)過遺忘后的所述候選詞的成詞概率,包括:
S1041:將所述候選詞的詞向量和標識信息依次輸入到新詞發(fā)現(xiàn)模型中。
例如所述候選詞包括集合:{明確,對話,對話理解,理解,優(yōu)化,方案},將該集合中每個候選詞的詞向量和標識信息依次輸入到新詞發(fā)現(xiàn)模型中。
其中,所述標識信息用于表示所述候選詞在所述文本數(shù)據(jù)中的出現(xiàn)順序。例如,可以將所述候選詞輸入至所述新詞發(fā)現(xiàn)模型的輸入時間作為標識信息。具體地,設定第1個候選詞的輸入時間為初始時刻t1,之后每輸入1個候選詞,則輸入時間增加預設時間間隔Δt,例如,第2個候選詞的輸入時間為t2=Δt+t1。Δt可以根據(jù)應用需求設定,例如可以設定為5毫秒。通過這種方式能夠?qū)⒑蜻x詞的出現(xiàn)順序與時間信息關(guān)聯(lián)起來,計算經(jīng)過遺忘后的成詞概率。
S1042:在每次輸入當前候選詞的詞向量和標識信息之后,利用所述新詞發(fā)現(xiàn)模型計算當前候選詞的成詞概率。
其中,當前候選詞指的是當前需要計算成詞概率的候選詞,例如在輸入當前候選詞“理解”的詞向量和標識信息之后,利用新詞發(fā)現(xiàn)模型計算當前候選詞“理解”的成詞概率。
在新詞發(fā)現(xiàn)模型的一種可選結(jié)構(gòu)中,包括初始計算模型和遺忘模型。利用新詞發(fā)現(xiàn)模型計算當前候選詞的成詞概率,具體可以是將所述當前候選詞的詞向量、當前候選詞的上下文候選詞的詞向量輸入到所述初始計算模型,利用所述初始計算模型計算當前候選詞的初始概率;將所述初始概率和所述標識信息輸入到所述遺忘模型,利用所述遺忘模型計算當前候選詞的成詞概率。
其中,遺忘模型可以根據(jù)當前候選詞在文本數(shù)據(jù)中的出現(xiàn)順序和初始概率,計算當前候選詞的成詞概率。下面分三種情況說明。
第一種情況,若當前候選詞第一次出現(xiàn),根據(jù)當前候選詞的初始概率計算當前候選詞的成詞概率。
本發(fā)明實施例中提供一種可選的計算方式:若第M個候選詞第一次出現(xiàn),即與前M-1個候選詞不存在重復情況,根據(jù)所述初始概率與遺忘參數(shù)的乘積,計算第M個候選詞的成詞概率。
例如,第M個候選詞w的成詞概率:
P2(w,M)=P1(w,M)×D。
其中,P1(w,M)為第M個候選詞w的初始概率,D為遺忘參數(shù)。并且D小于1,從而使得P2(w,M)小于P1(w,M)。
第二種情況,隨著時間的推移,即候選詞的不斷輸入,當之前輸入的候選詞又再次出現(xiàn)時,該候選詞的成詞概率會在再次出現(xiàn)時重新被增強。因此,若當前候選詞之前出現(xiàn)過并且再次出現(xiàn),根據(jù)當前候選詞的初始概率,對上一次計算的當前候選詞的成詞概率進行提升。例如,第2個和第3個候選詞均為“理解”,“理解”的成詞概率在第2次輸入過程之后計算為P2,在第3次輸入過程之后計算為P3,P3大于P2。
本發(fā)明實施例中提供一種可選的計算方式:若第M個候選詞之前出現(xiàn)過并且再次出現(xiàn),即與前M-1個候選詞存在重復情況,根據(jù)所述初始概率與遺忘參數(shù)的乘積,以及上一次計算的第M個候選詞的成詞概率,計算第M個候選詞的成詞概率。
例如,第M個候選詞w的成詞概率:
P2(w,M)=P2(w,M-1)+P1(w,M)×D
其中,P2(w,M-1)為上一次計算的第M個候選詞w的成詞概率,P1(w,M)為第M個候選詞w的初始概率,D為遺忘參數(shù),D小于1??梢?,根據(jù)該公式計算出的P2(w,M)大于P2(w,M-1)。
第三種情況,隨著時間的推移,即候選詞的增加,若出現(xiàn)過的候選詞在之后過程中一直沒出現(xiàn),或過好久才出現(xiàn)時,該候選詞將不斷被遺忘,即成詞概率不斷降低。因此,若當前候選詞之前出現(xiàn)過并且未再次出現(xiàn),對當前候選詞的成詞概率進行降低。例如,第2個候選詞為“對話”,“對話”的成詞概率在第2次輸入過程之后為P2,在第3次輸入過程之后為P3,由于“對話”在第3次輸入過程中沒有出現(xiàn),因此P3小于P2。
本發(fā)明實施例中提供一種可選的計算方式:
根據(jù)上一次計算的當前候選詞的成詞概率分別與遺忘參數(shù)的乘積,更新當前候選詞的成詞概率。其中,當前候選詞在之前出現(xiàn)過并且未再次出現(xiàn)。
例如,第M個候選詞與第M-1個候選詞w'不重復,即第M-1個候選詞w'在第M次輸入過程中未出現(xiàn)時,則第M-1個候選詞w'在第M次輸入過程計算的成詞概率:
P2(w',M)=P2(w',M-1)×D。
其中,P2(w',M-1)為上一次計算的第M-1個候選詞w'的成詞概率,D為遺忘參數(shù)。并且D小于1,從而使得P2(w',M)小于P2(w',M-1)。
在本發(fā)明實施例中,若將輸入時間作為標識信息,則遺忘參數(shù)D的計算公式可以為:
D=eb/Δtc;
其中,e為自然對數(shù)的底數(shù),b和c為常數(shù),一般根據(jù)應用需求或?qū)嶒灲Y(jié)果確定,Δt為預設時間間隔。
當遺忘參數(shù)具體為D=eb/Δtc時,若第M個候選詞與前M-1個候選詞不存在重復情況,第M個候選詞w的成詞概率:若第M個候選詞與前M-1個候選詞存在重復情況,第M個候選詞w的成詞概率:若第M個候選詞與第M-1個候選詞不重復,則第M-1個候選詞w',在第M次輸入過程的成詞概率成詞概率被降低。其中,tM為第M個候選詞w的輸入時間,tM-1為第M-1個候選詞的輸入時間。
可見,在本發(fā)明實施例中,每次輸入當前候選詞之后,不僅會根據(jù)候選詞的出現(xiàn)情況,計算輸入的當前候選詞的成詞概率,還會對已出現(xiàn)候選詞的成詞概率進行更新,例如輸入第3個候選詞之后,不僅會計算第3個候選詞的成詞概率,而且會更新第1個和第2個候選詞的成詞概率。也就是說,每個候選詞的成詞概率是隨著時間的推移不斷改變的,當隨著時間的推移,某一候選詞不再出現(xiàn)時,該候選詞的成詞概率將會逐漸降低,該候選詞逐漸被遺忘,而如果該候選詞再次出現(xiàn),則該候選詞的成詞概率將會增強。因此本發(fā)明實施例最終計算出的是經(jīng)過遺忘后的成詞概率,從而提高了新詞利用率,節(jié)省系統(tǒng)資源。
本發(fā)明實施例中在確定上下文候選詞時,首先需要判斷當前候選詞的上下文候選詞是否具有互斥候選詞。下面對互斥候選詞進行說明。
如果文本數(shù)據(jù)中同一詞有多種分詞方法,則會得到多種分詞結(jié)果;包含相同文本片段的候選詞之間的關(guān)系為互斥關(guān)系,即相互為互斥候選詞,即在最終的分詞結(jié)果中只能出現(xiàn)其中一種候選詞。也就是說,候選詞與其互斥候選詞為相同文本片段的不同分詞結(jié)果。
例如,文本數(shù)據(jù)為“明確對話理解優(yōu)化方案”,分別使用不同的分詞方法對所述文本數(shù)據(jù)進行分詞后得到的候選詞為{明確,對話,對話理解,理解,優(yōu)化,方案}。其中“對話”與“對話理解”為互斥關(guān)系,“對話理解”與“理解”為互斥關(guān)系,即相互為互斥候選詞。
而在確定上下文候選詞時,若當前候選詞的上下文候選詞不具有互斥候選詞,則當前候選詞的上下文候選詞為,當前候選詞的相鄰候選詞中的候選詞;例如,對于當前候選詞“對話”來說,上下文各選擇一個候選詞,上文候選詞為“明確”,下文候選詞為“理解”,因此上下文候選詞為“明確”和“理解”。
若當前候選詞的上下文候選詞具有互斥候選詞,則當前候選詞的上下文候選詞為成詞概率最大的候選詞;例如,對于當前候選詞“明確”來說,上下文各選擇一個候選詞,上文候選詞為空,下文候選詞為“對話”、“對話理解”、“理解”中成詞概率最大的候選詞,假設為“對話理解”,因此上下文候選詞為“對話理解”。其中,對于任一個候選詞來說,若由遺忘模型計算出該候選詞的成詞概率,則直接使用計算出的成詞概率,若沒有計算出成詞概率時,則可以進行隨機初始化,或者根據(jù)步驟S102分詞時得到的概率進行初始化。
本發(fā)明實施例中,在利用初始計算模型計算初始概率的過程中,利用正向樣本和負向樣本對所述初始計算模型進行訓練。其中,若當前候選詞不具有互斥候選詞,也就是不存在負向樣本時,可以只使用正向樣本進行訓練。
具體地,正向樣本包括:當前候選詞的詞向量、當前候選詞的上下文候選詞的詞向量;負向樣本包括:當前候選詞的互斥候選詞的詞向量、當前候選詞的上下文候選詞的詞向量。正向樣本和負向樣本分別使用不同的標簽表示,例如正向樣本使用1表示,負向樣本使用0表示。
在本發(fā)明實施例中,可以分別將正向樣本及負向樣本中包含的候選詞的詞向量進行拼接后,分別得到正向樣本的向量矩陣及負向樣本的向量矩陣,再輸入到初始計算模型中。具體拼接方法如下所述:
正向樣本的向量矩陣拼接時,將當前候選詞的詞向量放在第一列,當前候選詞的上下文候選詞的詞向量依次放在后面多列中。負向樣本的向量矩陣拼接時,將當前候選詞的互斥候選詞的詞向量放在第一列,當前候選詞的上下文候選詞的詞向量依次放在后面多列中。需要說明的是,本發(fā)明實施例也可以通過其他方式進行向量矩陣的拼接,對此并不加以限定。拼接后的向量矩陣輸入到初始計算模型,用于計算初始概率。
在每次向初始計算模型輸入正向樣本或者負向樣本時,都對初始計算模型進行一次訓練過程。具體可以將初始計算模型計算所述初始概率時使用的模型參數(shù)作為待訓練數(shù)據(jù),則初始概率表示的是輸入的候選詞為正向樣本的概率。例如,所述新詞發(fā)現(xiàn)模型為神經(jīng)網(wǎng)絡模型,并且如圖3所示,所述初始計算模型包括輸入層、隱層和第一輸出層,輸入層、隱層和第一輸出層的結(jié)構(gòu)可以與神經(jīng)網(wǎng)絡模型中的結(jié)構(gòu)相同,輸入層用于輸入當前候選詞的詞向量和上下文候選詞的詞向量,第一輸出層用于輸出初始概率,所述遺忘模型包括遺忘層和第二輸出層,所述遺忘層用于計算當前候選詞的成詞概率,第二輸出層用于輸出遺忘層計算出的成詞概率。其中,可以將輸入層與隱層之間的網(wǎng)絡參數(shù)權(quán)重w,以及隱層和第一輸出層之間的網(wǎng)絡參數(shù)權(quán)重u作為待訓練數(shù)據(jù)。因此在訓練過程中,每個候選詞的成詞概率不斷更新,當全部訓練過程結(jié)束之后,得到相應的模型參數(shù)和訓練后的新詞發(fā)現(xiàn)模型,同時還能夠得到每個候選詞的成詞概率。
在本發(fā)明實施例中,若候選詞達到遺忘次數(shù),即在很長一段時間內(nèi)未重復出現(xiàn),導致不斷更新的成詞概率較低時,可以停止對該候選詞的成詞概率進行更新或者將成詞概率設置為零,從而減少系統(tǒng)工作量。具體地,所述方法還包括:若之前輸入的候選詞的成詞概率低于預設閾值,停止更新之前輸入的候選詞的成詞概率。
在本發(fā)明實施例,在計算出成詞概率之后,可以根據(jù)成詞概率判斷候選詞是否為新詞,具體的判斷過程通過以下實施例進行說明。
請參閱圖4,本發(fā)明實施例提供了新詞發(fā)現(xiàn)方法的一種方法實施例。本實施例的所述方法包括:
S401:獲取上述任一實施例所述的經(jīng)過遺忘后的候選詞的成詞概率。
例如,對文本數(shù)據(jù)進行分詞獲得多個候選詞,獲取經(jīng)過遺忘后的各個候選詞的成詞概率。
其中,經(jīng)過遺忘后的候選詞的成詞概率,指的是將候選詞的詞向量依次輸入到新詞發(fā)現(xiàn)模型之后,利用新詞發(fā)現(xiàn)模型最終計算出的成詞概率。例如,在每次向初始計算模型輸入正向樣本或者負向樣本時,都對初始計算模型進行一次訓練過程,當全部訓練過程結(jié)束之后,得到相應的模型參數(shù)和訓練后的新詞發(fā)現(xiàn)模型,同時還能夠得到每個候選詞的成詞概率,即經(jīng)過遺忘后的成詞概率。
S402:若所述成詞概率大于預設閾值,并且所述候選詞未出現(xiàn)在詞典中,將所述候選詞標記為新詞。
當判斷出多個候選詞中的任一個候選詞的成詞概率大于預設閾值,并且未出現(xiàn)在詞典中,則可以將所述任一個候選詞標記為新詞。本發(fā)明實施例中還可以進一步將標記為新詞的候選詞添加到詞典中。而對于成詞概率低于預設閾值的候選詞,則可以直接刪除。
對應上述方法實施例,本發(fā)明還提供了相應的裝置實施例,下面具體說明。
請參閱圖5,本發(fā)明提供了成詞概率的計算裝置500的一種裝置實施例。本實施例的所述裝置500包括:
第一獲取模塊501,用于獲取文本數(shù)據(jù)。
獲得模塊502,用于對所述文本數(shù)據(jù)進行分詞,獲得候選詞。
第二獲取模塊503,用于獲取所述候選詞的詞向量。
計算模塊504,用于根據(jù)所述候選詞的詞向量和所述候選詞在所述文本數(shù)據(jù)中的出現(xiàn)順序,計算經(jīng)過遺忘后的所述候選詞的成詞概率。
可見,在本發(fā)明實施例中,無需人工總結(jié)規(guī)則,從而減少工作量,而且最終計算出的是經(jīng)過遺忘后的成詞概率,從而提高了新詞利用率,節(jié)省系統(tǒng)資源。
在本發(fā)明實施例中,每個候選詞的成詞概率與在文本數(shù)據(jù)中的出現(xiàn)順序相關(guān),當隨著時間的推移,某一候選詞不再出現(xiàn)時,該候選詞的成詞概率將會逐漸降低,該候選詞逐漸被遺忘,而如果該候選詞再次出現(xiàn),則該候選詞的成詞概率將會加強??蛇x的,所述候選詞在所述文本數(shù)據(jù)中的出現(xiàn)次數(shù)越多,計算出的所述候選詞的成詞概率越大;所述候選詞在所述文本數(shù)據(jù)中的出現(xiàn)次數(shù)越少,計算出的所述候選詞的成詞概率越小。
可選的,所述計算模塊504包括:輸入子模塊和計算子模塊。
所述輸入子模塊,用于將所述候選詞的詞向量和標識信息依次輸入到新詞發(fā)現(xiàn)模型中。其中,所述標識信息用于表示所述候選詞在所述文本數(shù)據(jù)中的出現(xiàn)順序。所述標識信息可以包括:所述候選詞輸入至所述新詞發(fā)現(xiàn)模型的輸入時間。
所述計算子模塊,用于在每次輸入當前候選詞的詞向量和標識信息之后,利用所述新詞發(fā)現(xiàn)模型計算當前候選詞的成詞概率。
可選的,所述新詞發(fā)現(xiàn)模型包括初始計算模型和遺忘模型;所述計算子模塊具體用于,將所述當前候選詞的詞向量、當前候選詞的上下文候選詞的詞向量輸入到所述初始計算模型,利用所述初始計算模型計算當前候選詞的初始概率;將所述初始概率和所述標識信息輸入到所述遺忘模型,利用所述遺忘模型計算當前候選詞的成詞概率。
可選的,利用所述遺忘模型計算當前候選詞的成詞概率時,所述計算子模塊具體用于:
若當前候選詞第一次出現(xiàn),根據(jù)當前候選詞的初始概率計算當前候選詞的成詞概率;
若當前候選詞之前出現(xiàn)過并且再次出現(xiàn),根據(jù)當前候選詞的初始概率,對上一次計算的當前候選詞的成詞概率進行提升;
若當前候選詞之前出現(xiàn)過并且未再次出現(xiàn),對當前候選詞的成詞概率進行降低。
可見,在本發(fā)明實施例中,每次輸入當前候選詞之后,不僅會根據(jù)候選詞的出現(xiàn)情況,計算輸入的當前候選詞的成詞概率,還會對已出現(xiàn)候選詞的成詞概率進行更新,例如輸入第3個候選詞之后,不僅會計算第3個候選詞的成詞概率,而且會更新第1個和第2個候選詞的成詞概率。也就是說,每個候選詞的成詞概率是隨著時間的推移不斷改變的,當隨著時間的推移,某一候選詞不再出現(xiàn)時,該候選詞的成詞概率將會逐漸降低,該候選詞逐漸被遺忘,而如果該候選詞再次出現(xiàn),則該候選詞的成詞概率將會增強。因此本發(fā)明實施例最終計算出的是經(jīng)過遺忘后的成詞概率,從而提高了新詞利用率,節(jié)省系統(tǒng)資源。
可選的,所述計算子模塊還用于,若之前輸入的候選詞的成詞概率低于預設閾值,停止更新之前輸入的候選詞的成詞概率。
可選的,所述新詞發(fā)現(xiàn)模型為神經(jīng)網(wǎng)絡模型,如圖3所示,所述新詞發(fā)現(xiàn)模型包括輸入層、隱層、第一輸出層、遺忘層和第二輸出層。
本發(fā)明另外一個實施例提供的計算裝置500,還包括:
訓練模塊,用于利用正向樣本和負向樣本對所述初始計算模型進行訓練。
其中,正向樣本包括:當前候選詞的詞向量、當前候選詞的上下文候選詞的詞向量;負向樣本包括:當前候選詞的互斥候選詞的詞向量、當前候選詞的上下文候選詞的詞向量;當前候選詞和當前候選詞的互斥候選詞為相同文本片段的不同分詞結(jié)果。
可選的,若當前候選詞的上下文候選詞具有互斥候選詞,則當前候選詞的上下文候選詞為成詞概率最大的候選詞;若當前候選詞的上下文候選詞不具有互斥候選詞,則當前候選詞的上下文候選詞為,當前候選詞的相鄰候選詞中的候選詞;上下文候選詞和上下文候選詞的互斥候選詞為相同文本片段的不同分詞結(jié)果。
請參閱圖6,本發(fā)明還提供了新詞發(fā)現(xiàn)裝置600的一種裝置實施例,本實施例的所述裝置600包括:
獲取模塊601,用于獲取上述計算裝置500的任一實施例計算出的、經(jīng)過遺忘后的候選詞的成詞概率。
例如,對文本數(shù)據(jù)進行分詞獲得多個候選詞,獲取經(jīng)過遺忘后的各個候選詞的成詞概率。
其中,經(jīng)過遺忘后的候選詞的成詞概率,指的是將候選詞的詞向量依次輸入到新詞發(fā)現(xiàn)模型之后,利用新詞發(fā)現(xiàn)模型最終計算出的成詞概率。例如,在每次向初始計算模型輸入正向樣本或者負向樣本時,都對初始計算模型進行一次訓練過程,當全部訓練過程結(jié)束之后,得到相應的模型參數(shù)和訓練后的新詞發(fā)現(xiàn)模型,同時還能夠得到每個候選詞的成詞概率,即經(jīng)過遺忘后的成詞概率。
標記模塊602,用于若所述經(jīng)過遺忘后的候選詞的成詞概率大于預設閾值,并且所述候選詞未出現(xiàn)在詞典中,將所述候選詞標記為新詞。
所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡潔,上述描述的裝置和模塊的具體工作過程,可以參考前述方法實施例中的對應過程,在此不再贅述。
在本發(fā)明所提供的幾個實施例中,應該理解到,所揭露的裝置和方法,可以通過其它的方式實現(xiàn)。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述模塊的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如多個模塊或組件可以結(jié)合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或模塊的間接耦合或通信連接,可以是電性,機械或其它的形式。
所述作為分離部件說明的模塊可以是或者也可以不是物理上分開的,作為模塊顯示的部件可以是或者也可以不是物理模塊,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡模塊上。可以根據(jù)實際的需要選擇其中的部分或者全部模塊來實現(xiàn)本實施例方案的目的。
另外,在本發(fā)明各個實施例中的各功能模塊可以集成在一個處理模塊中,也可以是各個模塊單獨物理存在,也可以兩個或兩個以上模塊集成在一個模塊中。上述集成的模塊既可以采用硬件的形式實現(xiàn),也可以采用軟件功能模塊的形式實現(xiàn)。
所述集成的模塊如果以軟件功能模塊的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,可以存儲在一個計算機可讀取存儲介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網(wǎng)絡設備等)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分步驟。而前述的存儲介質(zhì)包括:U盤、移動硬盤、只讀存儲器(ROM,Read-Only Memory)、隨機存取存儲器(RAM,Random Access Memory)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
以上所述,以上實施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述實施例對本發(fā)明進行了詳細的說明,本領(lǐng)域的普通技術(shù)人員應當理解:其依然可以對前述各實施例所記載的技術(shù)方案進行修改,或者對其中部分技術(shù)特征進行等同替換;而這些修改或者替換,并不使相應技術(shù)方案的本質(zhì)脫離本發(fā)明各實施例技術(shù)方案的精神和范圍。