本發(fā)明實施例涉及文本處理領(lǐng)域,尤其涉及一種口語化句子的提取方法和裝置。
背景技術(shù):
口語化句子是指人們平常交流所使用到的句子,與之相對應(yīng)的是書面文本句子。書面文本的目的是以理性傳播信息為主,在詞匯和語法的使用上較為正式,而口語化的句子在詞匯使用上大多簡單明了,語法更多以簡單句型為主。書面文本中所使用的句子和口語中所使用的句子在風格上截然不同。傳統(tǒng)的提取口語化句子的方法有人工提取法和基于詞匯的識別方法,人工提取法是指以人工查閱語料的方式從文本中提取符合口語化文本特征的句子;基于詞匯的方法主要考慮口語化句子文本和書面句子文本在詞語使用上的不同。
人工提取方法需要人工查閱語料,其優(yōu)點是能保證其準確性,在數(shù)據(jù)比較小的情況下比較適用,但是其缺點是浪費時間和精力,尤其是在當前大數(shù)據(jù)環(huán)境下,這種方式很難實現(xiàn)?;谠~匯的方法僅僅考慮了詞匯的信息,從詞匯使用的差異性上來分辨書面文本句子和口語化句子,但是卻忽略了詞匯之間的搭配關(guān)系。大部分詞匯是在正式文本和口語化為本中同時使用的,僅僅考慮詞匯信息的差異不能完全區(qū)分正式文本與口語化文本。
技術(shù)實現(xiàn)要素:
有鑒于此,本發(fā)明提出一種口語化句子的提取方法和裝置,提高了自動提取口語化句子的準確度。
第一方面,本發(fā)明實施例提供了一種口語化句子的提取方法,所述方法包括:獲取訓(xùn)練語句;對所述訓(xùn)練語句訓(xùn)練得到統(tǒng)計語言模型;將待檢測語句輸入所述統(tǒng)計語言模型,如果所述待檢測語句沒有被包含在所述訓(xùn)練語句中,則對所述統(tǒng)計語言模型進行平滑處理;將所述待檢測語句輸入平滑處理后的統(tǒng)計語言模型進行匹配得到第一口語化句子。
進一步的,所述方法還包括:如果所述待檢測語句被包含在所述訓(xùn)練語句中,則將所述待檢測語句輸入所述統(tǒng)計語言模型進行匹配得到第二口語化句子。
進一步的,將所述待檢測語句輸入平滑處理后的統(tǒng)計語言模型進行匹配得到第一口語化句子包括:對所述待檢測語句進行歸一化處理,計算所述待檢測語句與所述平滑處理后的統(tǒng)計語言模型的匹配度;當所述匹配度大于預(yù)設(shè)閾值時,提取所述待檢測語句中第一口語化的句子;所述待檢測語句輸入所述統(tǒng)計語言模型進行匹配得到第二口語化句子包括:對所述待檢測語句進行歸一化處理,計算所述待檢測語句與所述統(tǒng)計語言模型的匹配度;當所述匹配度大于預(yù)設(shè)閾值時,提取所述待檢測語句中第二口語化的句子。
進一步的,對所述訓(xùn)練語句訓(xùn)練得到統(tǒng)計語言模型包括:通過n-gram算法對所述訓(xùn)練語句訓(xùn)練得到統(tǒng)計語言模型,其中,所述n-gram算法為3-gram算法,計算公式為:其中P(S)代表待檢測語句S出現(xiàn)的概率,n為3,l為所述待檢測語句S中詞語的個數(shù),wi代表第i個詞語。
進一步的,對所述統(tǒng)計語言模型進行平滑處理包括:根據(jù)Katz算法對所述統(tǒng)計語言模型進行平滑處理,其中,所述Katz平滑算法為:
其中,代表應(yīng)用所述平滑算法處理后的詞語wi在詞串wi-2wi-1出現(xiàn)的前提下出現(xiàn)的概率;P(wi|wi-1)代表wi在詞wi-1出現(xiàn)的前提下出現(xiàn)的概率;P(wi)為詞語wi出現(xiàn)的概率;C(wi-2wi-1wi)代表詞串wi-2wi-1wi在所述訓(xùn)練數(shù)據(jù)中出現(xiàn)的次數(shù);C(wi-1wi)代表詞串wi-1wi在所述訓(xùn)練數(shù)據(jù)中出現(xiàn)的次數(shù);P(wi|wi-2wi-1)代表詞wi在詞串wi-2wi-1出現(xiàn)的前提下出現(xiàn)的概率;α是介于0和1之間的比例系數(shù)。
進一步的,獲取訓(xùn)練語句包括:應(yīng)用分詞算法對所述訓(xùn)練文本進行分詞,獲取所述訓(xùn)練文本的分詞結(jié)果;添加標識符將所述訓(xùn)練文本的分詞結(jié)果劃分成若干個訓(xùn)練語句;將待檢測語句輸入所述統(tǒng)計語言模型包括:應(yīng)用所述分詞算法對所述待檢測文本進行分詞,獲取所述待檢測文本的分詞結(jié)果;添加標識符將所述待檢測文本的分詞結(jié)果劃分為若干個待檢測語句;
將所述待檢測語句輸入所述統(tǒng)計語言模型。
第二方面,本發(fā)明實施例提供了一種口語化句子的提取裝置,所述裝置包括:獲取模塊,用于獲取訓(xùn)練語句;訓(xùn)練模塊,與所述獲取模塊相連,用于對所述訓(xùn)練語句訓(xùn)練得到統(tǒng)計語言模型;判斷模塊,與所述訓(xùn)練模塊相連,用于將待檢測語句輸入所述統(tǒng)計語言模型,如果所述待檢測語句沒有被包含在所述訓(xùn)練語句中,則對所述統(tǒng)計語言模型進行平滑處理;第一匹配模塊,與所述判斷模塊相連,用于將所述待檢測語句輸入平滑處理后的統(tǒng)計語言模型進行匹配得到第一口語化句子。
進一步的,所述裝置還包括:第二匹配模塊,與所述判斷模塊相連,用于如果所述待檢測語句被包含在所述訓(xùn)練語句中,則將所述待檢測語句輸入所述統(tǒng)計語言模型進行匹配得到第二口語化句子。
進一步的,所述第一匹配模塊具體用于:對所述待檢測語句進行歸一化處理,計算所述待檢測語句與所述平滑處理后的統(tǒng)計語言模型的匹配度;當所述匹配度大于預(yù)設(shè)閾值時,提取所述待檢測語句中第一口語化的句子;所述第二匹配模塊具體用于:對所述待檢測語句進行歸一化處理,計算所述待檢測語句與所述統(tǒng)計語言模型的匹配度;當所述匹配度大于預(yù)設(shè)閾值時,提取所述待檢測語句中第二口語化的句子。
進一步的,所述訓(xùn)練模塊還用于:通過n-gram算法對所述訓(xùn)練語句訓(xùn)練得到統(tǒng)計語言模型,其中,所述n-gram算法為3-gram算法,計算公式為:其中P(S)代表待檢測語句S出現(xiàn)的概率,n為3,l為所述待檢測語句S中詞語的個數(shù),wi代表第i個詞語;所述判斷模塊還用于:根據(jù)Katz算法對所述統(tǒng)計語言模型進行平滑處理,其中,所述Katz平滑算法為:
其中,代表應(yīng)用所述平滑算法處理后的詞語wi在詞串wi-2wi-1出現(xiàn)的前提下出現(xiàn)的概率;P(wi|wi-1)代表wi在詞wi-1出現(xiàn)的前提下出現(xiàn)的概率;P(wi)為詞語wi出現(xiàn)的概率;C(wi-2wi-1wi)代表詞串wi-2wi-1wi在所述訓(xùn)練數(shù)據(jù)中出現(xiàn)的次數(shù);C(wi-1wi)代表詞串wi-1wi在所述訓(xùn)練數(shù)據(jù)中出現(xiàn)的次數(shù);P(wi|wi-2wi-1)代表詞wi在詞串wi-2wi-1出現(xiàn)的前提下出現(xiàn)的概率;α是介于0和1之間的比例系數(shù)。
本發(fā)明實施例中,通過對訓(xùn)練語句訓(xùn)練得到統(tǒng)計語言模型,將待檢測語句輸入統(tǒng)計語言模型進行檢測,判斷待檢測語句是否被包含在所述訓(xùn)練語句中,如果判斷結(jié)果為否,則對所述統(tǒng)計語言模型進行平滑處理,將所述待檢測語句輸入平滑處理后的統(tǒng)計語言模型進行匹配得到第一口語化句子。解決了人工提取口語化句子費時費力問題,考慮了待檢測語句中詞語之間的搭配信息,提高了自動提取口語化句子的準確度。
附圖說明
通過閱讀參照以下附圖所作的對非限制性實施例所作的詳細描述,本發(fā)明的其它特征、目的和優(yōu)點將會變得更明顯:
圖1是本發(fā)明實施例一中的一種口語化句子的提取方法的流程圖;
圖2是本發(fā)明實施例二中的一種口語化句子的提取方法的流程圖;
圖3是本發(fā)明實施例三中的一種口語化句子的提取方法的流程圖;
圖4是本發(fā)明實施例四中的一種口語化句子的提取方法的流程圖;
圖5是本發(fā)明實施例五中的一種口語化句子的提取裝置的結(jié)構(gòu)圖。
具體實施方式
下面結(jié)合附圖和實施例對本發(fā)明作進一步的詳細說明??梢岳斫獾氖牵颂幩枋龅木唧w實施例僅僅用于解釋本發(fā)明,而非對本發(fā)明的限定。還需要說明的是,為了便于描述,附圖中僅示出了與本發(fā)明相關(guān)的部分而非全部內(nèi)容。另外還需要說明的是,為了便于說明,以下實施例中示出了與本發(fā)明相關(guān)的示例,這些示例僅作為說明本發(fā)明實施例的原理所用,并不作為對本發(fā)明實施例的限定,同時,這些示例的具體數(shù)值會根據(jù)不同的應(yīng)用環(huán)境和裝置或者組件的參數(shù)不同而不同。
本發(fā)明實施例的口語化句子的提取方法和裝置可以運行于安裝有Windows(微軟公司開發(fā)的操作系統(tǒng)平臺)、Android(谷歌公司開發(fā)的用于便攜式可移動智能設(shè)備的操作系統(tǒng)平臺)、iOS(蘋果公司開發(fā)的用于便攜式可移動智能設(shè)備的操作系統(tǒng)平臺)、Windows Phone(微軟公司開發(fā)的用于便攜式可移動智能設(shè)備的操作系統(tǒng)平臺)等操作系統(tǒng)的終端中,該終端可以是臺式機、筆記本電腦、移動電話、掌上電腦、平板電腦、數(shù)碼相機、數(shù)碼攝像機等等中的任意一種。
實施例一
圖1是本發(fā)明實施例一中的一種口語化句子的提取方法的流程圖,該方法用于實現(xiàn)口語化句子的提取,提高了自動提取口語化句子的準確度。該方法可以由口語化句子的提取裝置來執(zhí)行,該裝置可以由軟件和/或硬件方式實現(xiàn),例如典型的是用戶終端設(shè)備,例如手機、電腦等。本實施例中的用于口語化句子的提取方法包括:步驟S110、步驟S120、步驟S130和步驟S140。
步驟S110,獲取訓(xùn)練語句。
具體的,為了對待檢測語句進行訓(xùn)練,需要得到統(tǒng)計語言模型,而統(tǒng)計語言模型是以大量的訓(xùn)練語句為基礎(chǔ)訓(xùn)練數(shù)據(jù)訓(xùn)練出來的??蛇x的,電影中的對話多為口語化句子,利用電影中的對話,將電影字幕語料作為訓(xùn)練語句。電影中的字幕語料可以是:他就只能站著而已;再一擊就完蛋了;我看到你了。
步驟S120,對所述訓(xùn)練語句訓(xùn)練得到統(tǒng)計語言模型。
具體的,n-gram算法是是大詞匯連續(xù)語音識別中常用的一種語言模型識別算法??蛇x的,可以通過n-gram算法對所述訓(xùn)練語句進行訓(xùn)練。該模型基于這樣一種假設(shè),第n個詞的出現(xiàn)只與前面n-1個詞相關(guān),而與其它任何詞都不相關(guān),整句的概率就是各個詞出現(xiàn)概率的乘積。這些概率可以通過直接從訓(xùn)練語句中統(tǒng)計n個詞同時出現(xiàn)的次數(shù)得到。常用的是二元的2-gram和三元的3-gram。通過n-gram算法對所述訓(xùn)練語句訓(xùn)練得到統(tǒng)計語言模型。
步驟S130,將待檢測語句輸入所述統(tǒng)計語言模型,如果所述待檢測語句沒有被包含在所述訓(xùn)練語句中,則對所述統(tǒng)計語言模型進行平滑處理。
具體的,將待檢測語句輸入所述統(tǒng)計語言模型,可選的,待檢測語句可以是:你吃飯了嗎;我好喜歡吃這個奶酪呀;讓暴風雨來的更猛烈些吧。判斷待檢測語句是否被包含在訓(xùn)練語句中,若判斷結(jié)果為否,數(shù)據(jù)稀疏問題將會產(chǎn)生,數(shù)據(jù)稀疏問題即為待檢測語句在訓(xùn)練語句中沒有出現(xiàn)導(dǎo)致待檢測語句出現(xiàn)的概率為0的問題。由于n-gram算法計算的是各個詞出現(xiàn)的概率的乘積,若某個詞或詞串在訓(xùn)練語句中沒有出現(xiàn),導(dǎo)致包含該詞或詞串的待檢測語句的概率為0。此時,可選的,利用Katz算法對所述統(tǒng)計語言模型進行平滑處理,Katz算法的思想是,當利用n-gram算法計算某個待檢測語句的詞串的概率為0時,選擇將去掉該詞串中某個詞的概率乘以一定的系數(shù)以后的概率作為該詞串的概率??蛇x的,若詞串“五道口地鐵站見面”在統(tǒng)計語言模型中出現(xiàn)的概率為0,則將詞串“地鐵站見面”在統(tǒng)計語言模型中出現(xiàn)的概率乘以一定的系數(shù)作為詞串“五道口地鐵站見面”在統(tǒng)計語言模型中出現(xiàn)的概率??蛇x的,該系數(shù)為0到1之間的任意小數(shù)。系數(shù)選取不同,得到的詞串的概率不同。
步驟S140,將所述待檢測語句輸入平滑處理后的統(tǒng)計語言模型進行匹配得到第一口語化句子。
具體的,對于待檢測語句,將其輸入平滑處理后的統(tǒng)計語言模型進行匹配,計算其在統(tǒng)計語言模型中輸出值,根據(jù)輸出值進行判斷。如果輸出值大于預(yù)設(shè)閾值,則認為其是口語化句子,將得到的口語化句子標記為第一口語化句子,如果輸出值小于預(yù)設(shè)閾值,則為非口語化句子。
可選的,對所述訓(xùn)練語句訓(xùn)練得到統(tǒng)計語言模型包括:通過n-gram算法對所述訓(xùn)練語句訓(xùn)練得到統(tǒng)計語言模型,其中,所述n-gram算法為3-gram算法,計算公式為:其中P(S)代表待檢測語句S出現(xiàn)的概率,n為3,l為所述待檢測語句S中詞語的個數(shù),wi代表第i個詞語。
具體的,將n-gram算法中n取3,將應(yīng)用3-gram算法計算統(tǒng)計語音模型作為一個優(yōu)選方案。當n取3時,變?yōu)槠渲?,待檢測語句S出現(xiàn)的概率為各個詞語出現(xiàn)的概率乘積,每個詞語出現(xiàn)的概率只和該詞語前邊兩個詞是否出現(xiàn)有關(guān)。即第i個詞語wi出現(xiàn)的概率和其前邊兩個詞組成的詞串wi-2wi-1是否出現(xiàn)有關(guān),和待檢測語句中其他詞語或詞串是否出現(xiàn)無關(guān)。
可選的,對所述統(tǒng)計語言模型進行平滑處理包括:根據(jù)Katz算法對所述統(tǒng)計語言模型進行平滑處理,其中,所述Katz平滑算法為:
其中,代表應(yīng)用所述平滑算法處理后的詞語wi在詞串wi-2wi-1出現(xiàn)的前提下出現(xiàn)的概率;P(wi|wi-1)代表wi在詞wi-1出現(xiàn)的前提下出現(xiàn)的概率;P(wi)為詞語wi出現(xiàn)的概率;C(wi-2wi-1wi)代表詞串wi-2wi-1wi在所述訓(xùn)練語句中出現(xiàn)的次數(shù);C(wi-1wi)代表詞串wi-1wi在所述訓(xùn)練語句中出現(xiàn)的次數(shù);P(wi|wi-2wi-1)代表詞wi在詞串wi-2wi-1出現(xiàn)的前提下出現(xiàn)的概率;α是介于0和1之間的比例系數(shù)。
具體的,訓(xùn)練語句的資料足夠全時,包含的待檢測的語句中的詞語或詞串越多,訓(xùn)練語句的資料不夠全面時,包含的待檢測的語句中的詞語或詞串越少,所以會出現(xiàn)數(shù)據(jù)稀疏問題,為了解決數(shù)據(jù)稀疏問題。利用平滑算法對數(shù)據(jù)稀疏問題進行處理。當詞串wi-2wi-1wi在訓(xùn)練語句中出現(xiàn)的次數(shù)不為0時,則將P(wi|wi-2wi-1)作為詞語wi在訓(xùn)練語句中出現(xiàn)的概率;如果詞串wi-2wi-1wi在訓(xùn)練語句中出現(xiàn)的次數(shù)為0,而詞串wi-1wi在訓(xùn)練語句中出現(xiàn)的次數(shù)不為0,則將αP(wi|wi-1)作為該種情況下詞語wi在詞串wi-2wi-1出現(xiàn)的前提下出現(xiàn)的概率;如果詞串wi-1wi在訓(xùn)練語句中出現(xiàn)的次數(shù)為0,則將αP(wi)作為該種情況下詞語wi在詞串wi-2wi-1出現(xiàn)的前提下出現(xiàn)的概率??蛇x的,P(wi)可以用拉普拉斯平滑的極大似然估計計算而得,α是介于0和1之間的比例系數(shù)。
本發(fā)明實施例中,通過對訓(xùn)練語句訓(xùn)練得到統(tǒng)計語言模型,將待檢測語句輸入統(tǒng)計語言模型進行檢測,判斷待檢測語句是否被包含在所述訓(xùn)練語句中,如果判斷結(jié)果為否,則對所述統(tǒng)計語言模型進行平滑處理,將所述待檢測語句輸入平滑處理后的統(tǒng)計語言模型進行匹配得到第一口語化句子。解決了人工提取口語化句子費時費力問題,考慮了待檢測語句中詞語之間的搭配信息,提高了自動提取口語化句子的準確度。
實施例二
圖2是本發(fā)明實施例二中的一種用于口語化句子的提取方法的流程圖,本實施例在實施例一的基礎(chǔ)上,該方法還包括:如果所述待檢測語句被包含在所述訓(xùn)練語句中,則將所述待檢測語句輸入所述統(tǒng)計語言模型進行匹配得到第二口語化句子。本實施例中的用于口語化句子的提取方法包括:步驟S210、步驟S220、步驟S230、步驟S240和步驟S250。
步驟S210,獲取訓(xùn)練語句。
步驟S220,對所述訓(xùn)練語句訓(xùn)練得到統(tǒng)計語言模型。
步驟S230,將待檢測語句輸入所述統(tǒng)計語言模型,如果所述待檢測語句沒有被包含在所述訓(xùn)練語句中,則對所述統(tǒng)計語言模型進行平滑處理。執(zhí)行步驟S240,如果所述待檢測語句被包含在所述訓(xùn)練語句中,則執(zhí)行步驟S250。
步驟S240,將所述待檢測語句輸入平滑處理后的統(tǒng)計語言模型進行匹配得到第一口語化句子。
步驟S250,則將所述待檢測語句輸入所述統(tǒng)計語言模型進行匹配得到第二口語化句子。
具體的,如果待檢測語句被包含在訓(xùn)練語句中,則將待檢測語句輸入統(tǒng)計語言模型,計算其在統(tǒng)計語言模型中的輸出值,根據(jù)輸出值進行判斷。如果輸出值大于預(yù)設(shè)閾值,則認為待檢測語句是口語化句子,根據(jù)匹配結(jié)果輸出第二口語化句子,如果輸出值小于預(yù)設(shè)閾值,則認為待檢測語句是非口語化句子。
本發(fā)明實施例中,通過判斷待檢測語句是否被包含在訓(xùn)練語句中,計算待檢測語句在統(tǒng)計語言模型中的輸出值,并根據(jù)輸出值提取第二口語化句子。對待檢測語句包含在訓(xùn)練語句中的情況進行了處理。
實施例三
圖3是本發(fā)明實施例三中的一種用于口語化句子的提取方法的流程圖,本實施例在實施例一和實施例二的基礎(chǔ)上,進一步解釋了步驟S240和步驟S250,其中,將所述待檢測語句輸入平滑處理后的統(tǒng)計語言模型進行匹配得到第一口語化句子包括:對所述待檢測語句進行歸一化處理,計算所述待檢測語句與所述平滑處理后的統(tǒng)計語言模型的匹配度;當所述匹配度大于預(yù)設(shè)閾值時,提取所述待檢測語句中第一口語化的句子;所述待檢測語句輸入所述統(tǒng)計語言模型進行匹配得到第二口語化句子包括:對所述待檢測語句進行歸一化處理,計算所述待檢測語句與所述統(tǒng)計語言模型的匹配度;當所述匹配度大于預(yù)設(shè)閾值時,提取所述待檢測語句中第二口語化的句子。本實施例中的用于口語化句子的提取方法包括:步驟S310、步驟S320、步驟S330、步驟S3401、步驟S3402、步驟S3501和步驟S3502。
步驟S310,獲取訓(xùn)練語句。
步驟S320,對所述訓(xùn)練語句訓(xùn)練得到統(tǒng)計語言模型。
步驟S330,將待檢測語句輸入所述統(tǒng)計語言模型,如果所述待檢測語句沒有被包含在所述訓(xùn)練語句中,則對所述統(tǒng)計語言模型進行平滑處理。執(zhí)行步驟S3401。如果所述待檢測語句被包含在所述訓(xùn)練語句中,執(zhí)行步驟S3402。
步驟S3401,對所述待檢測語句進行歸一化處理,計算所述待檢測語句與所述平滑處理后的統(tǒng)計語言模型的匹配度。
具體的,因為待檢測語句的概率是多個待檢測詞語的概率相乘的結(jié)果,而長語句包含的詞語或詞串的數(shù)量更多,所以長語句傾向于得到更小的概率,為了解決待檢測語句長度對概率的影響,需要對待檢測語句長度做歸一化處理,計算待檢測語句與平滑處理后的統(tǒng)計語言模型的匹配度。可選的,采用將各個待檢測詞語的概率取對數(shù)并求和,然后除以語句中總詞語的個數(shù)的歸一化處理方式,匹配度用P1表示,其中,L(S)代表語句S總詞語的個數(shù),將i取不同值時的取對數(shù)并求和,然后除以語句S總詞語的個數(shù)。
步驟S3501,當所述匹配度大于預(yù)設(shè)閾值時,提取所述待檢測語句中第一口語化的句子。
具體的,預(yù)設(shè)閾值記為Y,當計算得到的匹配度P1大于Y時,則認為待檢測語句為口語化句子,提取待檢測語句中的第一口語化句子??蛇x的,預(yù)設(shè)閾值Y可以取值為-5。
步驟S3402,對所述待檢測語句進行歸一化處理,計算所述待檢測語句與所述統(tǒng)計語言模型的匹配度。
具體的,如果待檢測語句被包含在訓(xùn)練語句中,則不用對統(tǒng)計語言模型進行平滑處理,直接將待檢測語句進行歸一化處理,計算待檢測語句與統(tǒng)計語言模型的匹配度??蛇x的,匹配度用P2表示,其中,L(S)代表語句S總詞語的個數(shù),將i取不同值時的取對數(shù)并求和,然后除以語句S總詞語的個數(shù)。需要說明的是,無論待檢測語句是否包含在訓(xùn)練語句中,對待檢測語句的歸一化處理操作方法可以相同也可以不同,本發(fā)明實施例中,針對待檢測語句包含在訓(xùn)練語句中和不包含在訓(xùn)練語句中的情況,采用相同的歸一化操作方法對待檢測語句進行處理。
步驟S3502,當所述匹配度大于預(yù)設(shè)閾值時,提取所述待檢測語句中第二口語化的句子。
具體的,預(yù)設(shè)閾值記為Y,當計算得到的匹配度P2大于Y時,則認為待檢測語句為口語化句子,提取待檢測語句中的第二口語化句子??蛇x的,預(yù)設(shè)閾值Y可以取值為-5。需要說明的是,預(yù)設(shè)閾值為用戶設(shè)定,無論待檢測語句是否包含在訓(xùn)練語句中,選擇的預(yù)設(shè)閾值可以相同,也可以不同。
本發(fā)明實施例中,通過將待檢測語句進行歸一化處理,計算待檢測語句與統(tǒng)計語言模型或平滑處理后的統(tǒng)計語言模型的匹配度,并將匹配度與預(yù)設(shè)閾值進行比較,將大于預(yù)設(shè)閾值的待檢測語句提取為口語化句子。實現(xiàn)了對口語化句子的準確提取。
實施例四
圖4是本發(fā)明實施例四中的一種用于口語化句子的提取方法的流程圖,本實施例在實施例一至三的基礎(chǔ)上,進一步解釋了步驟S110和步驟S130,其中,獲取訓(xùn)練語句包括:應(yīng)用分詞算法對所述訓(xùn)練文本進行分詞,獲取所述訓(xùn)練文本的分詞結(jié)果;添加標識符將所述訓(xùn)練文本的分詞結(jié)果劃分成若干個訓(xùn)練語句;將待檢測語句輸入所述統(tǒng)計語言模型包括:應(yīng)用所述分詞算法對所述待檢測文本進行分詞,獲取所述待檢測文本的分詞結(jié)果;添加標識符將所述待檢測文本的分詞結(jié)果劃分為若干個待檢測語句;將所述待檢測語句輸入所述統(tǒng)計語言模型。本實施例中的用于口語化句子的提取方法包括:步驟S410、步驟S420、步驟S430、步驟S440、步驟S450、步驟S460和步驟S470。
步驟S410,獲取所述訓(xùn)練文本的分詞結(jié)果。
具體的,獲取訓(xùn)練文本,對訓(xùn)練文本進行分詞處理。可選的,獲取訓(xùn)練文本的方式可以是用網(wǎng)絡(luò)爬蟲從互聯(lián)網(wǎng)上爬取大量文本作為訓(xùn)練文本。訓(xùn)練文本可以是電影中的字幕語料,其中,電影中的字幕語料中多數(shù)為口語化句子??蛇x的,分詞算法一般分為三類:基于字符串匹配、基于理解和基于統(tǒng)計的分詞。本實施例中分詞算法可以選為基于字符串匹配中的最短路徑法,最短路徑法用于計算一個節(jié)點到其他所有節(jié)點的最短路徑,主要特點是以起始點為中心向外層層擴展,直到擴展到終點為止??蛇x的,訓(xùn)練文本S1:他就只能站著而已;訓(xùn)練文本S2:再一擊就完蛋了;訓(xùn)練文本S3:看到了。對訓(xùn)練文本進行分詞,結(jié)果為,S1:他就只能站著而已;S2:再一擊就完蛋了;S3:看到了。
步驟S420,添加標識符將所述訓(xùn)練文本的分詞結(jié)果劃分成若干個訓(xùn)練語句。
具體的,對訓(xùn)練文本的分詞結(jié)果添加標識符,用以標識訓(xùn)練文本中訓(xùn)練語句的開始和結(jié)束??蛇x的,在訓(xùn)練語句句首和句尾分別添加<bos>和<eos>,<bos>標識訓(xùn)練語句的開始,<eos>標識訓(xùn)練語句的結(jié)束??蛇x的,以步驟S410中的訓(xùn)練文本的分詞結(jié)果為例,添加標識符的結(jié)果為,S1:<bos>他就只能站著而已<eos>;S2:<bos>再一擊就完蛋了<eos>;S3:<bos>看到了<eos>。
步驟S430,對所述訓(xùn)練語句訓(xùn)練得到統(tǒng)計語言模型。
步驟S440,應(yīng)用所述分詞算法對所述待檢測文本進行分詞,獲取所述待檢測文本的分詞結(jié)果。
具體的,為了保證結(jié)果的準確性,應(yīng)用訓(xùn)練文本分詞中同樣的分詞算法對待檢測文本進行分詞,獲取待檢測文本的分詞結(jié)果。可選的,待檢測文本S1’:讓暴風雨來的更猛烈些吧;S2’:你愿意嗎;S3’:他的帶兵數(shù)量也太離譜了吧。應(yīng)用訓(xùn)練文本分詞中同樣的分詞算法進行分詞,分詞結(jié)果為,S1’:讓暴風雨來的更猛烈些吧;S2’:你愿意嗎;S3’:他的帶兵數(shù)量也太離譜了吧。
步驟S450,添加標識符將所述待檢測文本的分詞結(jié)果劃分為若干個待檢測語句。
具體的,為了保證結(jié)果的準確性,應(yīng)用訓(xùn)練文本中同樣的標識符將待檢測文本的分詞結(jié)果劃分為若干個待檢測語句。可選的,在待檢測語句句首和句尾分別添加<bos>和<eos>,<bos>標識待檢測語句的開始,<eos>標識待檢測語句的結(jié)束??蛇x的,以步驟S440中的分詞結(jié)果為例,添加標識符的結(jié)果為,S1’:<bos>讓暴風雨來的更猛烈些吧<eos>;S2’:<bos>你愿意嗎<eos>;S3’:<bos>他的帶兵數(shù)量也太離譜了吧<eos>。
步驟S460,將待檢測語句輸入所述統(tǒng)計語言模型,如果所述待檢測語句沒有被包含在所述訓(xùn)練語句中,則對所述統(tǒng)計語言模型進行平滑處理。
步驟S470,將所述待檢測語句輸入平滑處理后的統(tǒng)計語言模型進行匹配得到第一口語化句子。
本發(fā)明實施例中,通過應(yīng)用分詞算法對訓(xùn)練文本和待檢測文本進行分詞,并對訓(xùn)練文本和待檢測文本添加標識符以標識訓(xùn)練語句和待檢測語句的開始和結(jié)束。方便了口語化句子的提取,提高了口語化句子提取的準確度。
為了使方案的表述更易于理解,在上述實施例的基礎(chǔ)上,將電影字幕語料作為訓(xùn)練語句,利用n-gram算法生成統(tǒng)計語言模型,利用該統(tǒng)計語言模型對待檢測語句進行口語化句子提取。以表1和表2中的待檢測語句為例進行匹配度數(shù)值的計算,用來提取口語化句子。
表1口語化句子匹配度數(shù)值表
表2非口語化句子匹配度數(shù)值表
其中,應(yīng)用3-gram算法生成統(tǒng)計語言模型,將表1和表2中的待檢測語句輸入統(tǒng)計語言模型進行匹配,得到匹配度數(shù)值,可選的,將預(yù)設(shè)閾值設(shè)為-5,匹配度數(shù)值大于-5的為口語化句子,匹配度數(shù)值小于-5的為非口語化句子。
實施例五
圖5是本發(fā)明實施例五中的一種口語化句子提取裝置的結(jié)構(gòu)圖,該裝置適用于執(zhí)行本發(fā)明實施例一至四中提供的一種口語化句子的提取方法,該裝置具體包括:
獲取模塊510,用于獲取訓(xùn)練語句;
訓(xùn)練模塊520,與獲取模塊510相連,用于對所述訓(xùn)練語句訓(xùn)練得到統(tǒng)計語言模型;
判斷模塊530,與訓(xùn)練模塊520相連,用于將待檢測語句輸入所述統(tǒng)計語言模型,如果所述待檢測語句沒有被包含在所述訓(xùn)練語句中,則對所述統(tǒng)計語言模型進行平滑處理;
第一匹配模塊540,與判斷模塊530相連,用于將所述待檢測語句輸入平滑處理后的統(tǒng)計語言模型進行匹配得到第一口語化句子。
進一步的,該裝置還包括:
第二匹配模塊,與判斷模塊530相連,用于如果所述待檢測語句被包含在所述訓(xùn)練語句中,則將所述待檢測語句輸入所述統(tǒng)計語言模型進行匹配得到第二口語化句子。
進一步的,第一匹配模塊540具體用于:對所述待檢測語句進行歸一化處理,計算所述待檢測語句與所述統(tǒng)計語言模型的匹配度;
當所述匹配度大于預(yù)設(shè)閾值時,提取所述待檢測語句中第一口語化的句子;
第二匹配模塊具體用于:
對所述待檢測語句進行歸一化處理,計算所述待檢測語句與所述平滑處理后的語言模型的匹配度;
當所述匹配度大于預(yù)設(shè)閾值時,提取所述待檢測語句中第二口語化的句子。
進一步的,訓(xùn)練模塊520還用于:通過n-gram算法對所述訓(xùn)練語句訓(xùn)練得到統(tǒng)計語言模型,其中,所述n-gram算法為3-gram算法,計算公式為:其中P(S)代表待檢測語句S出現(xiàn)的概率,n為3,l為所述待檢測語句S中詞語的個數(shù),wi代表第i個詞語;
判斷模塊530還用于:根據(jù)Katz算法對所述統(tǒng)計語言模型進行平滑處理,其中,所述Katz平滑算法為:
其中,代表應(yīng)用所述平滑算法處理后的詞語wi在詞串wi-2wi-1出現(xiàn)的前提下出現(xiàn)的概率;P(wi|wi-1)代表wi在詞wi-1出現(xiàn)的前提下出現(xiàn)的概率;P(wi)為詞語wi出現(xiàn)的概率;C(wi-2wi-1wi)代表詞串wi-2wi-1wi在所述訓(xùn)練數(shù)據(jù)中出現(xiàn)的次數(shù);C(wi-1wi)代表詞串wi-1wi在所述訓(xùn)練數(shù)據(jù)中出現(xiàn)的次數(shù);P(wi|wi-2wi-1)代表詞wi在詞串wi-2wi-1出現(xiàn)的前提下出現(xiàn)的概率;α是介于0和1之間的比例系數(shù)。
進一步的,獲取模塊510具體用于:
應(yīng)用分詞算法對所述訓(xùn)練文本進行分詞,獲取所述訓(xùn)練文本的分詞結(jié)果;
添加標識符將所述訓(xùn)練文本的分詞結(jié)果劃分成若干個訓(xùn)練語句;
判斷模塊530具體還用于:
應(yīng)用所述分詞算法對所述待檢測文本進行分詞,獲取所述待檢測文本的分詞結(jié)果;
添加標識符將所述待檢測文本的分詞結(jié)果劃分為若干個待檢測語句;
將所述待檢測語句輸入所述統(tǒng)計語言模型。
本發(fā)明實施例中,對訓(xùn)練語句訓(xùn)練得到統(tǒng)計語言模型,將待檢測語句輸入統(tǒng)計語言模型進行檢測,判斷待檢測語句是否被包含在所述訓(xùn)練語句中,如果判斷結(jié)果為否,則對所述統(tǒng)計語言模型進行平滑處理,將所述待檢測語句輸入平滑處理后的統(tǒng)計語言模型進行匹配得到第一口語化句子。解決了人工提取口語化句子費時費力問題,考慮了待檢測語句中詞語之間的搭配信息,提高了自動提取口語化句子的準確度。
顯然,本領(lǐng)域技術(shù)人員應(yīng)該明白,上述產(chǎn)品可執(zhí)行本發(fā)明任意實施例所提供的方法,具備執(zhí)行方法相應(yīng)的功能模塊和有益效果。
注意,上述僅為本發(fā)明的較佳實施例及所運用技術(shù)原理。本領(lǐng)域技術(shù)人員會理解,本發(fā)明不限于這里所述的特定實施例,對本領(lǐng)域技術(shù)人員來說能夠進行各種明顯的變化、重新調(diào)整和替代而不會脫離本發(fā)明的保護范圍。因此,雖然通過以上實施例對本發(fā)明進行了較為詳細的說明,但是本發(fā)明不僅僅限于以上實施例,在不脫離本發(fā)明構(gòu)思的情況下,還可以包括更多其他等效實施例,而本發(fā)明的范圍由所附的權(quán)利要求范圍決定。