本申請涉及文本處理領(lǐng)域,具體而言,涉及一種模型訓(xùn)練方法及裝置和錯別字識別方法及裝置。
背景技術(shù):
文本是記載信息的重要載體。由于文本大都是人工編輯的,而人工編輯難免會出現(xiàn)失誤,從而使得文本中出現(xiàn)錯別字。對于文本中錯別字的識別,目前通常采用人工建立正確的詞匯庫,并進(jìn)行文本匹配,來識別錯別字的方式,然而這種很難找到全面、正確的詞匯庫,致使漏檢率較高,且有些語句隨著時間的變化,其表達(dá)也發(fā)生變化,例如,王五副主任最近晉升為王五主任,在最近的新聞中為王五主任,歷史新聞中為王五副主任,如果最新發(fā)布新聞中為“王五副主任”,則認(rèn)為該組合的“副主任”為錯別字,而現(xiàn)有的識別方式無法識別出這種錯別字,進(jìn)而導(dǎo)致文本中錯別字的識別率低。
針對上述的問題,目前尚未提出有效的解決方案。
技術(shù)實現(xiàn)要素:
本申請實施例提供了一種模型訓(xùn)練方法及裝置和錯別字識別方法及裝置,以至少解決現(xiàn)有技術(shù)中文本中錯別字的識別率低的技術(shù)問題。
根據(jù)本申請實施例的一個方面,提供了一種模型訓(xùn)練方法,包括:從預(yù)設(shè)文本數(shù)據(jù)源中提取文本信息以及所述文本信息中每條語句對應(yīng)的時間信息,其中,所述預(yù)設(shè)文本數(shù)據(jù)源中所包含的文本為不包含有錯別字的文本;確定出所述文本信息中每個詞語對應(yīng)的詞向量以及每個詞語所在的語句對應(yīng)的時間向量,其中,所述詞向量為用于唯一表示詞語的多維數(shù)組,所述每個詞語所在的語句對應(yīng)的時間向量為用于唯一表示該詞語所在語句的發(fā)布時間;以文本信息中的語句為單位,將每條語句對應(yīng)的時間向量以及該語句中的每個詞語對應(yīng)的詞向量輸入到記憶神經(jīng)網(wǎng)絡(luò),訓(xùn)練得到神經(jīng)網(wǎng)絡(luò)模型,其中,所述神經(jīng)網(wǎng)絡(luò)模型用于識別文本中的錯別字。
進(jìn)一步地,在確定出所述文本信息中每個詞語對應(yīng)的詞向量以及每個詞語所在的語句對應(yīng)的時間向量之前,所述模型訓(xùn)練方法還包括:獲取目標(biāo)文本庫,所述目標(biāo)文 本庫所包含的文本為不包含有錯別字的文本;利用詞向量模型對所述目標(biāo)文本庫進(jìn)行訓(xùn)練,以生成所述目標(biāo)文本庫中的詞語對應(yīng)的詞向量,得到第一訓(xùn)練集。
進(jìn)一步地,確定出所述文本信息中每個詞語對應(yīng)的詞向量以及每個詞語所在的語句對應(yīng)的時間向量包括:對所述文本信息中每條語句進(jìn)行分詞處理,并將所述文本信息中每條語句對應(yīng)的時間信息加入到對應(yīng)的語句中,得到第二訓(xùn)練集;從所述第一訓(xùn)練集中查找所述第二訓(xùn)練集中每個詞語對應(yīng)的詞向量,并生成每個詞語所在語句對應(yīng)的時間向量。
進(jìn)一步地,在將每條語句中的每個詞語對應(yīng)的詞向量輸入到記憶神經(jīng)網(wǎng)絡(luò)之前,所述模型訓(xùn)練方法還包括:將每條語句中的每個詞語對應(yīng)的詞向量標(biāo)記為預(yù)設(shè)標(biāo)識,其中,所述預(yù)設(shè)標(biāo)識表示詞向量對應(yīng)的詞語為非錯別字,以使得在利用所述神經(jīng)網(wǎng)絡(luò)模型識別出非錯別字時,將非錯別字的詞語標(biāo)記為所述預(yù)設(shè)標(biāo)識。
根據(jù)本申請實施例的另一方面,還提供了一種錯別字識別方法,包括:獲取待測文本及其每條語句發(fā)布的時間信息;根據(jù)所述時間信息生成每條語句對應(yīng)的時間向量;對所述待測文本進(jìn)行分詞處理,確定出每個詞語對應(yīng)的詞向量;以所述待測文本中的語句為單位,將每條語句對應(yīng)的時間向量以及該語句中的每個詞語對應(yīng)的詞向量輸入到神經(jīng)網(wǎng)絡(luò)模型中,利用所述神經(jīng)網(wǎng)絡(luò)模型識別出所述待測文本中的錯別字。
根據(jù)本申請實施例的另一方面,還提供了一種模型訓(xùn)練裝置,包括:提取單元,用于從預(yù)設(shè)文本數(shù)據(jù)源中提取文本信息以及所述文本信息中每條語句對應(yīng)的時間信息,其中,所述預(yù)設(shè)文本數(shù)據(jù)源中所包含的文本為不包含有錯別字的文本;確定單元,用于確定出所述文本信息中每個詞語對應(yīng)的詞向量以及每個詞語所在的語句對應(yīng)的時間向量,其中,所述詞向量為用于唯一表示詞語的多維數(shù)組,所述每個詞語所在的語句對應(yīng)的時間向量為用于唯一表示該詞語所在語句的發(fā)布時間;訓(xùn)練單元,用于以文本信息中的語句為單位,將每條語句對應(yīng)的時間向量以及該語句中的每個詞語對應(yīng)的詞向量輸入到記憶神經(jīng)網(wǎng)絡(luò),訓(xùn)練得到神經(jīng)網(wǎng)絡(luò)模型,其中,所述神經(jīng)網(wǎng)絡(luò)模型用于識別文本中的錯別字。
進(jìn)一步地,所述模型訓(xùn)練裝置還包括:獲取單元,用于在確定出所述文本信息中每個詞語對應(yīng)的詞向量以及每個詞語所在的語句對應(yīng)的時間向量之前,獲取目標(biāo)文本庫,所述目標(biāo)文本庫所包含的文本為不包含有錯別字的文本;生成單元,用于利用詞向量模型對所述目標(biāo)文本庫進(jìn)行訓(xùn)練,以生成所述目標(biāo)文本庫中的詞語對應(yīng)的詞向量,得到第一訓(xùn)練集。
進(jìn)一步地,所述確定單元包括:分詞模塊,用于對所述文本信息中每條語句進(jìn)行 分詞處理,并將所述文本信息中每條語句對應(yīng)的時間信息加入到對應(yīng)的語句中,得到第二訓(xùn)練集;查找模塊,用于從所述第一訓(xùn)練集中查找所述第二訓(xùn)練集中每個詞語對應(yīng)的詞向量,并生成每個詞語所在語句對應(yīng)的時間向量。
進(jìn)一步地,所述模型訓(xùn)練裝置還包括:標(biāo)記模塊,用于在將每條語句中的每個詞語對應(yīng)的詞向量輸入到記憶神經(jīng)網(wǎng)絡(luò)之前,將每條語句中的每個詞語對應(yīng)的詞向量標(biāo)記為預(yù)設(shè)標(biāo)識,其中,所述預(yù)設(shè)標(biāo)識表示詞向量對應(yīng)的詞語為非錯別字,以使得在利用所述神經(jīng)網(wǎng)絡(luò)模型識別出非錯別字時,將非錯別字的詞語標(biāo)記為所述預(yù)設(shè)標(biāo)識。
根據(jù)本申請實施例的另一方面,還提供了一種錯別字識別裝置,包括:時間獲取單元,用于獲取待測文本及其每條語句發(fā)布的時間信息;向量生成單元,用于根據(jù)所述時間信息生成每條語句對應(yīng)的時間向量;向量確定單元,用于對所述待測文本進(jìn)行分詞處理,確定出每個詞語對應(yīng)的詞向量;識別單元,用于以所述待測文本中的語句為單位,將每條語句對應(yīng)的時間向量以及該語句中的每個詞語對應(yīng)的詞向量輸入到神經(jīng)網(wǎng)絡(luò)模型中,利用所述神經(jīng)網(wǎng)絡(luò)模型識別出所述待測文本中的錯別字。
根據(jù)本申請實施例,通過從預(yù)設(shè)文本數(shù)據(jù)源中提取文本信息以及文本信息中每條語句對應(yīng)的時間信息,其中,預(yù)設(shè)文本數(shù)據(jù)源中所包含的文本為不包含有錯別字的文本,確定出文本信息中每個詞語對應(yīng)的詞向量以及每個詞語所在的語句對應(yīng)的時間向量,其中,詞向量為用于唯一表示詞語的多維數(shù)組,每個詞語所在的語句對應(yīng)的時間向量為用于唯一表示該詞語所在語句的發(fā)布時間,以及以文本信息中的語句為單位,將每條語句對應(yīng)的時間向量以及該語句中的每個詞語對應(yīng)的詞向量輸入到記憶神經(jīng)網(wǎng)絡(luò),訓(xùn)練得到神經(jīng)網(wǎng)絡(luò)模型,以便于利用神經(jīng)網(wǎng)絡(luò)模型來識別文本中的錯別字,利用了文字的時效性,提高了對文本中錯別字的識別率,解決了現(xiàn)有技術(shù)中文本中錯別字的識別率低的技術(shù)問題。
附圖說明
此處所說明的附圖用來提供對本申請的進(jìn)一步理解,構(gòu)成本申請的一部分,本申請的示意性實施例及其說明用于解釋本申請,并不構(gòu)成對本申請的不當(dāng)限定。在附圖中:
圖1是根據(jù)本申請實施例的模型訓(xùn)練方法的流程圖;
圖2是根據(jù)本申請實施例的錯別字識別方法的流程圖;
圖3是根據(jù)本申請實施例的模型訓(xùn)練裝置的示意圖;
圖4是根據(jù)本申請實施例的錯別字識別裝置的示意圖。
具體實施方式
為了使本技術(shù)領(lǐng)域的人員更好地理解本申請方案,下面將結(jié)合本申請實施例中的附圖,對本申請實施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實施例僅僅是本申請一部分的實施例,而不是全部的實施例?;诒旧暾堉械膶嵤├?,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都應(yīng)當(dāng)屬于本申請保護(hù)的范圍。
需要說明的是,本申請的說明書和權(quán)利要求書及上述附圖中的術(shù)語“第一”、“第二”等是用于區(qū)別類似的對象,而不必用于描述特定的順序或先后次序。應(yīng)該理解這樣使用的數(shù)據(jù)在適當(dāng)情況下可以互換,以便這里描述的本申請的實施例能夠以除了在這里圖示或描述的那些以外的順序?qū)嵤4送?,術(shù)語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統(tǒng)、產(chǎn)品或設(shè)備不必限于清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或?qū)τ谶@些過程、方法、產(chǎn)品或設(shè)備固有的其它步驟或單元。
根據(jù)本申請實施例,提供了一種模型訓(xùn)練方法的方法實施例,需要說明的是,在附圖的流程圖示出的步驟可以在諸如一組計算機可執(zhí)行指令的計算機系統(tǒng)中執(zhí)行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。
圖1是根據(jù)本申請實施例的模型訓(xùn)練方法的流程圖,如圖1所示,該方法包括如下步驟:
步驟S102,從預(yù)設(shè)文本數(shù)據(jù)源中提取文本信息以及文本信息中每條語句對應(yīng)的時間信息,其中,預(yù)設(shè)文本數(shù)據(jù)源中所包含的文本為不包含有錯別字的文本。
預(yù)設(shè)文本數(shù)據(jù)源可以是人民日報、中國政府網(wǎng)等資源網(wǎng)站,可以是經(jīng)過糾正后不包含有錯別字的文本數(shù)據(jù)源。該預(yù)設(shè)文本數(shù)據(jù)源中包含有大量的沒有錯別字的文本,從中提取出這些文本信息。
本實施例中,在提取文本信息的同時還提取文本信息對應(yīng)的時間信息,該時間信息可以是相應(yīng)的文本發(fā)布的時間,例如人民日報發(fā)表該文本的時間,網(wǎng)站發(fā)布文本的時間等。
步驟S104,確定出文本信息中每個詞語對應(yīng)的詞向量以及每個詞語所在的語句對應(yīng)的時間向量,其中,詞向量為用于唯一表示詞語的多維數(shù)組,每個詞語所在的語句 對應(yīng)的時間向量為用于唯一表示該詞語所在語句的發(fā)布時間。
對上述提取出的文本信息,確定出其中每個詞語對應(yīng)的詞向量,每個詞語的詞向量用一組多維數(shù)組來表示,不同的詞語對應(yīng)的詞向量各不相同。其中,詞語的詞向量可以是已經(jīng)預(yù)先定義好的,在提取出文本信息之后,從預(yù)先定義的詞向量中查詢出文本信息中每個詞語的詞向量。也可以按照預(yù)先設(shè)定的詞向量生成規(guī)則,生成每個詞語的詞向量。
對于文本信息中的語句,確定出每條語句對應(yīng)的時間向量。時間向量可以是按照預(yù)設(shè)規(guī)則對每個時間點(例如精確到日)的時間定義一組多維數(shù)組,用于唯一表示該時間點,例如時間向量為[2015,10,9,……]表示文本發(fā)布時間為2015年10月9日。
步驟S106,以文本信息中的語句為單位,將每條語句對應(yīng)的時間向量以及該語句中的每個詞語對應(yīng)的詞向量輸入到記憶神經(jīng)網(wǎng)絡(luò),訓(xùn)練得到神經(jīng)網(wǎng)絡(luò)模型,其中,神經(jīng)網(wǎng)絡(luò)模型用于識別文本中的錯別字。
本實施例中,在確定出文本信息中所包含的每個詞語的詞向量之后,以文本信息中的語句為單位,將文本信息中的語句依次輸入到記憶神經(jīng)網(wǎng)絡(luò)中進(jìn)行訓(xùn)練,輸入到記憶神經(jīng)網(wǎng)絡(luò)中的語句以其中每個詞語對應(yīng)的詞向量來代替,即,將語句中每個詞語對應(yīng)的詞向量輸入到記憶神經(jīng)網(wǎng)絡(luò),同時將語句對應(yīng)的時間向量一起輸入到記憶神經(jīng)網(wǎng)絡(luò)中,該記憶神經(jīng)網(wǎng)絡(luò)可以優(yōu)選為基于循環(huán)神經(jīng)網(wǎng)絡(luò)的長短時記憶神經(jīng)網(wǎng)絡(luò)(即LSTM+Bidirectional RNN)。
通過記憶神經(jīng)網(wǎng)絡(luò)對提取的文本信息進(jìn)行訓(xùn)練,得到神經(jīng)網(wǎng)絡(luò)模型。以語句為單位將其中的詞語對應(yīng)的詞向量及其時間向量輸入到記憶神經(jīng)網(wǎng)絡(luò),機器可以記憶語句中的時間、詞語及其組合形式,并以神經(jīng)網(wǎng)絡(luò)模型中的參數(shù)(神經(jīng)網(wǎng)絡(luò)模型中參數(shù)確定,大部分為矩陣)記憶這些時間、詞語及其組合。相對于現(xiàn)有技術(shù)中采用人工建立正確的詞匯庫,并進(jìn)行文本匹配,來識別錯別字的方式,本實施例通過記憶神經(jīng)網(wǎng)絡(luò)來對沒有錯別字的文本進(jìn)行訓(xùn)練,得到神經(jīng)網(wǎng)絡(luò)模型,再利用該神經(jīng)網(wǎng)絡(luò)模型來識別文本中的錯別字,無需人工建立詞匯庫,即可根據(jù)詞語組合以及語句來識別其中的錯別字,可以根據(jù)上下文語義以及時間信息,有效、快速地識別出文本中的錯別字。
根據(jù)本申請實施例,通過從預(yù)設(shè)文本數(shù)據(jù)源中提取文本信息以及文本信息中每條語句對應(yīng)的時間信息,其中,預(yù)設(shè)文本數(shù)據(jù)源中所包含的文本為不包含有錯別字的文本,確定出文本信息中每個詞語對應(yīng)的詞向量以及每個詞語所在的語句對應(yīng)的時間向量,其中,詞向量為用于唯一表示詞語的多維數(shù)組,每個詞語所在的語句對應(yīng)的時間 向量為用于唯一表示該詞語所在語句的發(fā)布時間,以及以文本信息中的語句為單位,將每條語句對應(yīng)的時間向量以及該語句中的每個詞語對應(yīng)的詞向量輸入到記憶神經(jīng)網(wǎng)絡(luò),訓(xùn)練得到神經(jīng)網(wǎng)絡(luò)模型,以便于利用神經(jīng)網(wǎng)絡(luò)模型來識別文本中的錯別字,利用了文字的時效性,提高了對文本中錯別字的識別率,解決了現(xiàn)有技術(shù)中文本中錯別字的識別率低的技術(shù)問題。
優(yōu)選地,在確定出文本信息中每個詞語對應(yīng)的詞向量以及每個詞語所在的語句對應(yīng)的時間向量之前,模型訓(xùn)練方法還包括:獲取目標(biāo)文本庫,目標(biāo)文本庫所包含的文本為不包含有錯別字的文本;利用詞向量模型對目標(biāo)文本庫進(jìn)行訓(xùn)練,以生成目標(biāo)文本庫中的詞語對應(yīng)的詞向量,得到第一訓(xùn)練集。
本實施例的目標(biāo)文本庫,可以是包含有各種詞語的詞庫,例如新華詞典、成語詞典、文章等不包含錯別字的文本庫,獲取目標(biāo)文本庫用以作為詞向量訓(xùn)練集。詞向量模型可以是現(xiàn)有的成熟模型,該模型可以根據(jù)輸入文本,給每一個詞生成一個維數(shù)相同的多維數(shù)組,即詞向量,該詞向量的維數(shù)為可以根據(jù)詞向量訓(xùn)練集來定義,比如將“一”可能標(biāo)記為[1,0,0,……],將“高興”可能標(biāo)記為[0,1,0,……]。
本申請實施例中,可以根據(jù)預(yù)先訓(xùn)練得到的詞向量訓(xùn)練集中每個詞語的詞向量,以便于從中查詢對用于進(jìn)行神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練的文本信息中每個詞語的詞向量。
需要說明的是,本申請實施例還可以是生成每個標(biāo)點符號對應(yīng)的詞向量。
優(yōu)選地,確定出文本信息中每個詞語對應(yīng)的詞向量以及每個詞語所在的語句對應(yīng)的時間向量包括:對文本信息中每條語句進(jìn)行分詞處理,并將文本信息中每條語句對應(yīng)的時間信息加入到對應(yīng)的語句中,得到第二訓(xùn)練集;從第一訓(xùn)練集中查找第二訓(xùn)練集中每個詞語對應(yīng)的詞向量,并生成每個詞語所在語句對應(yīng)的時間向量。
對于用于進(jìn)行神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練的文本信息,先對其進(jìn)行分詞處理,將其中每條語句的時間信息加入到該語句中,得到包含有時間信息的詞語集合即第二訓(xùn)練集,從上述中得到的第一訓(xùn)練集中查詢第二訓(xùn)練集中每個詞語對應(yīng)的詞向量,從而確定出上述文本信息的每條語句中每個詞語的詞向量。
具體地,可以利用現(xiàn)有分詞工具,對提取的文本信息進(jìn)行分詞處理,并將時間戳加入到每個語句中,作為第二訓(xùn)練集。分詞后的文本由詞組成,如將“(2015年9月)王五副經(jīng)理視察廠房”分詞為“(2015,9)王五副經(jīng)理視察廠房”或者“(2015,9)王五副經(jīng)理視察廠房”。其中,時間向量可以根據(jù)年、月、日以及詞向量的維數(shù),定義與詞向量維數(shù)相同的時間向量,年、月、日缺省的情況下,對應(yīng)向量相應(yīng)位置為 0。例如時間向量為[2015,10,9,.......],表示文本發(fā)布時間為2015年10月9日。
優(yōu)選地,在將每條語句中的每個詞語對應(yīng)的詞向量輸入到記憶神經(jīng)網(wǎng)絡(luò)之前,模型訓(xùn)練方法還包括:將每條語句中的每個詞語對應(yīng)的詞向量標(biāo)記為預(yù)設(shè)標(biāo)識,其中,預(yù)設(shè)標(biāo)識表示詞向量對應(yīng)的詞語為非錯別字,以使得在利用神經(jīng)網(wǎng)絡(luò)模型識別出非錯別字時,將非錯別字的詞語標(biāo)記為預(yù)設(shè)標(biāo)識。
本申請實施例中,輸入到記憶神經(jīng)網(wǎng)絡(luò)的每條語句中每個詞語均標(biāo)記為預(yù)設(shè)標(biāo)識,例如“1”,這樣,在對文本進(jìn)行訓(xùn)練得到神經(jīng)網(wǎng)絡(luò)模型時,神經(jīng)網(wǎng)絡(luò)模型中參數(shù)會記憶這些詞語標(biāo)識為預(yù)設(shè)標(biāo)識。當(dāng)利用神經(jīng)網(wǎng)絡(luò)模型來識別待測文本時,其輸出結(jié)果中會將待測文本中沒有錯別字的詞語標(biāo)記為該預(yù)設(shè)標(biāo)識,而出現(xiàn)錯別字的詞語則不標(biāo)記,或者標(biāo)記為其他標(biāo)識,以便于快速篩選出待測文本中的錯別字。
本申請實施例的模型訓(xùn)練方法的一種可選方式包括:
步驟一、獲取可靠的文本庫(如新華詞典、成語詞典、文章等不包含錯別字的文本庫)即目標(biāo)文本庫,作為詞向量的訓(xùn)練集1即第一訓(xùn)練集。
步驟二、使用詞向量模型訓(xùn)練訓(xùn)練集1,得到訓(xùn)練集中每個詞(包括標(biāo)點符號)的詞向量,根據(jù)年、月、日以及詞向量的維數(shù),定義與詞向量維數(shù)相同的時間向量,年、月、日缺省的情況下,對應(yīng)向量相應(yīng)位置為0。其中,詞向量模型可利用現(xiàn)有的成熟模型,該模型可以根據(jù)輸入文本,給每一個詞生成一個維數(shù)相同的唯一的多維數(shù)組,即詞向量,該詞向量的維數(shù)可以預(yù)先定義,比如將“王五副經(jīng)理”中的“副經(jīng)理”可能標(biāo)記為[0,0,0,0,0,1.......];同時該詞向量的時間向量為[2015,10,9,.......],表示2015年10月9日獲取的文本中,王五為副經(jīng)理。
步驟三、獲取可靠的由大量句子組成的文本數(shù)據(jù)源中提取文本信息,同時提取每段文本相應(yīng)的時間信息,作為文本訓(xùn)練集。其中,可靠的大量句子組成的文本數(shù)據(jù)源表示:沒有錯別字的文本數(shù)據(jù)源,如從人民日報、中國政府網(wǎng)等渠道獲取。
步驟四、利用現(xiàn)有分詞工具,對上述文本訓(xùn)練集進(jìn)行分詞處理,并將時間戳加入到每個句子中,得到訓(xùn)練集2即第二訓(xùn)練集。其中,分詞后的文本為詞組成,如將“(2015年9月)王五副經(jīng)理視察廠房”分詞為“(2015,9)王五副經(jīng)理視察廠房”或者“(2015,9)王五副經(jīng)理視察廠房”。
步驟五、以訓(xùn)練集2的語句為單位,從訓(xùn)練集1找出該語句中每個詞語對應(yīng)的詞向量,并將時間向量和詞向量輸入循環(huán)神經(jīng)網(wǎng)絡(luò)的長短時記憶神經(jīng)網(wǎng)絡(luò)(即LSTM+Bidirectional RNN),訓(xùn)練得到神經(jīng)網(wǎng)絡(luò)模型(模型中參數(shù)確定,并帶有時間戳)。其 中,以加入時間向量的詞向量組成的語句輸入神經(jīng)網(wǎng)絡(luò),機器可以記憶句子中的時間、詞語及其組合形式,并以模型中的參數(shù)記憶這些組合。
通過利用帶有時間戳的文本訓(xùn)練神經(jīng)網(wǎng)絡(luò)模型,能夠識別文本中最新的詞語組合和用法和上下文,準(zhǔn)確地識別疑似錯別字。
根據(jù)本申請實施例還提供了一種錯別字識別方法,該錯別字識別方法可以用于通過本申請上述實施例的模型訓(xùn)練方法訓(xùn)練得到的神經(jīng)網(wǎng)絡(luò)模型來識別錯別字。如圖2所示,該錯別字識別方法包括:
步驟S202,獲取待測文本及其每條語句發(fā)布的時間信息。
步驟S204,根據(jù)時間信息生成每條語句對應(yīng)的時間向量。
時間向量可以是按照預(yù)設(shè)規(guī)則對每個時間點(例如精確到日)的時間定義一組多維數(shù)組,用于唯一表示該時間點,例如時間向量為[2015,10,9,……]表示文本發(fā)布時間為2015年10月9日。
步驟S206,對待測文本進(jìn)行分詞處理,確定出每個詞語對應(yīng)的詞向量。
分詞處理后的每個詞語可以從本申請實施例中的第一訓(xùn)練集中查詢其相應(yīng)的詞向量。
步驟S208,以待測文本中的語句為單位,將每條語句對應(yīng)的時間向量以及該語句中的每個詞語對應(yīng)的詞向量輸入到神經(jīng)網(wǎng)絡(luò)模型中,利用神經(jīng)網(wǎng)絡(luò)模型識別出待測文本中的錯別字。
本實施例中的神經(jīng)網(wǎng)絡(luò)模型為本申請上述實施例的模型訓(xùn)練方法訓(xùn)練得到的神經(jīng)網(wǎng)絡(luò)模型。
由于該神經(jīng)網(wǎng)絡(luò)模型是通過記憶神經(jīng)網(wǎng)絡(luò)來對沒有錯別字的文本進(jìn)行訓(xùn)練得到,神經(jīng)網(wǎng)絡(luò)模型中的參數(shù)(神經(jīng)網(wǎng)絡(luò)模型中參數(shù)確定,大部分為矩陣)可以記憶這些時間、詞語及其組合。相對于現(xiàn)有技術(shù)中采用人工建立正確的詞匯庫,并進(jìn)行文本匹配,來識別錯別字的方式,本實施例通過記憶神經(jīng)網(wǎng)絡(luò)來對沒有錯別字的文本進(jìn)行訓(xùn)練,得到神經(jīng)網(wǎng)絡(luò)模型,再利用該神經(jīng)網(wǎng)絡(luò)模型來識別文本中的錯別字,無需人工建立詞匯庫,即可根據(jù)詞語組合以及語句來識別其中的錯別字,可以根據(jù)上下文語義以及時間信息,有效、快速地識別出文本中的錯別字。
將待測文本的詞向量輸入訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)模型,通過神經(jīng)網(wǎng)絡(luò)模型的計算,將輸出結(jié)果中每個詞語進(jìn)行標(biāo)記,比如非錯別字標(biāo)為:1,錯別字標(biāo)為:-1,進(jìn)而可篩選 出錯別字。
本申請實施例還提供了一種模型訓(xùn)練裝置,該裝置可以用于執(zhí)行本申請實施例的模型訓(xùn)練方法,如圖3所示,該模型訓(xùn)練裝置包括:提取單元301、確定單元303和訓(xùn)練單元305。
提取單元301用于從預(yù)設(shè)文本數(shù)據(jù)源中提取文本信息以及文本信息中每條語句對應(yīng)的時間信息,其中,預(yù)設(shè)文本數(shù)據(jù)源中所包含的文本為不包含有錯別字的文本。
預(yù)設(shè)文本數(shù)據(jù)源可以是人民日報、中國政府網(wǎng)等資源網(wǎng)站,可以是經(jīng)過糾正后不包含有錯別字的文本數(shù)據(jù)源。該預(yù)設(shè)文本數(shù)據(jù)源中包含有大量的沒有錯別字的文本,從中提取出這些文本信息。
本實施例中,在提取文本信息的同時還提取文本信息對應(yīng)的時間信息,該時間信息可以是相應(yīng)的文本發(fā)布的時間,例如人民日報發(fā)表該文本的時間,網(wǎng)站發(fā)布文本的時間等。
確定單元303用于確定出文本信息中每個詞語對應(yīng)的詞向量以及每個詞語所在的語句對應(yīng)的時間向量,其中,詞向量為用于唯一表示詞語的多維數(shù)組,每個詞語所在的語句對應(yīng)的時間向量為用于唯一表示該詞語所在語句的發(fā)布時間。
對上述提取出的文本信息,確定出其中每個詞語對應(yīng)的詞向量,每個詞語的詞向量用一組多維數(shù)組來表示,不同的詞語對應(yīng)的詞向量各不相同。其中,詞語的詞向量可以是已經(jīng)預(yù)先定義好的,在提取出文本信息之后,從預(yù)先定義的詞向量中查詢出文本信息中每個詞語的詞向量。也可以按照預(yù)先設(shè)定的詞向量生成規(guī)則,生成每個詞語的詞向量。
對于文本信息中的語句,確定出每條語句對應(yīng)的時間向量。時間向量可以是按照預(yù)設(shè)規(guī)則對每個時間點(例如精確到日)的時間定義一組多維數(shù)組,用于唯一表示該時間點,例如時間向量為[2015,10,9,.......]表示文本發(fā)布時間為2015年10月9日。
訓(xùn)練單元305用于以文本信息中的語句為單位,將每條語句對應(yīng)的時間向量以及該語句中的每個詞語對應(yīng)的詞向量輸入到記憶神經(jīng)網(wǎng)絡(luò),訓(xùn)練得到神經(jīng)網(wǎng)絡(luò)模型,其中,神經(jīng)網(wǎng)絡(luò)模型用于識別文本中的錯別字。
本實施例中,在確定出文本信息中所包含的每個詞語的詞向量之后,以文本信息中的語句為單位,將文本信息中的語句依次輸入到記憶神經(jīng)網(wǎng)絡(luò)中進(jìn)行訓(xùn)練,輸入到記憶神經(jīng)網(wǎng)絡(luò)中的語句以其中每個詞語對應(yīng)的詞向量來代替,即,將語句中每個詞語 對應(yīng)的詞向量輸入到記憶神經(jīng)網(wǎng)絡(luò),同時將語句對應(yīng)的時間向量一起輸入到記憶神經(jīng)網(wǎng)絡(luò)中,該記憶神經(jīng)網(wǎng)絡(luò)可以優(yōu)選為基于循環(huán)神經(jīng)網(wǎng)絡(luò)的長短時記憶神經(jīng)網(wǎng)絡(luò)(即LSTM+Bidirectional RNN)。
通過記憶神經(jīng)網(wǎng)絡(luò)對提取的文本信息進(jìn)行訓(xùn)練,得到神經(jīng)網(wǎng)絡(luò)模型。以語句為單位將其中的詞語對應(yīng)的詞向量及其時間向量輸入到記憶神經(jīng)網(wǎng)絡(luò),機器可以記憶語句中的時間、詞語及其組合形式,并以神經(jīng)網(wǎng)絡(luò)模型中的參數(shù)(神經(jīng)網(wǎng)絡(luò)模型中參數(shù)確定,大部分為矩陣)記憶這些時間、詞語及其組合。相對于現(xiàn)有技術(shù)中采用人工建立正確的詞匯庫,并進(jìn)行文本匹配,來識別錯別字的方式,本實施例通過記憶神經(jīng)網(wǎng)絡(luò)來對沒有錯別字的文本進(jìn)行訓(xùn)練,得到神經(jīng)網(wǎng)絡(luò)模型,再利用該神經(jīng)網(wǎng)絡(luò)模型來識別文本中的錯別字,無需人工建立詞匯庫,即可根據(jù)詞語組合以及語句來識別其中的錯別字,可以根據(jù)上下文語義以及時間信息,有效、快速地識別出文本中的錯別字。
根據(jù)本申請實施例,通過從預(yù)設(shè)文本數(shù)據(jù)源中提取文本信息以及文本信息中每條語句對應(yīng)的時間信息,其中,預(yù)設(shè)文本數(shù)據(jù)源中所包含的文本為不包含有錯別字的文本,確定出文本信息中每個詞語對應(yīng)的詞向量以及每個詞語所在的語句對應(yīng)的時間向量,其中,詞向量為用于唯一表示詞語的多維數(shù)組,每個詞語所在的語句對應(yīng)的時間向量為用于唯一表示該詞語所在語句的發(fā)布時間,以及以文本信息中的語句為單位,將每條語句對應(yīng)的時間向量以及該語句中的每個詞語對應(yīng)的詞向量輸入到記憶神經(jīng)網(wǎng)絡(luò),訓(xùn)練得到神經(jīng)網(wǎng)絡(luò)模型,以便于利用神經(jīng)網(wǎng)絡(luò)模型來識別文本中的錯別字,利用了文字的時效性,提高了對文本中錯別字的識別率,解決了現(xiàn)有技術(shù)中文本中錯別字的識別率低的技術(shù)問題。
優(yōu)選地,模型訓(xùn)練裝置還包括:獲取單元,用于在確定出文本信息中每個詞語對應(yīng)的詞向量以及每個詞語所在的語句對應(yīng)的時間向量之前,獲取目標(biāo)文本庫,目標(biāo)文本庫所包含的文本為不包含有錯別字的文本;生成單元,用于利用詞向量模型對目標(biāo)文本庫進(jìn)行訓(xùn)練,以生成目標(biāo)文本庫中的詞語對應(yīng)的詞向量,得到第一訓(xùn)練集。
本實施例的目標(biāo)文本庫,可以是包含有各種詞語的詞庫,例如新華詞典、成語詞典、文章等不包含錯別字的文本庫,獲取目標(biāo)文本庫用以作為詞向量訓(xùn)練集。詞向量模型可以是現(xiàn)有的成熟模型,該模型可以根據(jù)輸入文本,給每一個詞生成一個維數(shù)相同的多維數(shù)組,即詞向量,該詞向量的維數(shù)為可以根據(jù)詞向量訓(xùn)練集來定義,比如將“一”可能標(biāo)記為[1,0,0,……],將“高興”可能標(biāo)記為[0,1,0,……]。
本申請實施例中,可以根據(jù)預(yù)先訓(xùn)練得到的詞向量訓(xùn)練集中每個詞語的詞向量,以便于從中查詢對用于進(jìn)行神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練的文本信息中每個詞語的詞向量。
需要說明的是,本申請實施例還可以是生成每個標(biāo)點符號對應(yīng)的詞向量。
優(yōu)選地,確定單元包括:分詞模塊,用于對文本信息中每條語句進(jìn)行分詞處理,并將文本信息中每條語句對應(yīng)的時間信息加入到對應(yīng)的語句中,得到第二訓(xùn)練集;查找模塊,用于從第一訓(xùn)練集中查找第二訓(xùn)練集中每個詞語對應(yīng)的詞向量,并生成每個詞語所在語句對應(yīng)的時間向量。
對于用于進(jìn)行神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練的文本信息,先對其進(jìn)行分詞處理,將其中每條語句的時間信息加入到該語句中,得到包含有時間信息的詞語集合即第二訓(xùn)練集,從上述中得到的第一訓(xùn)練集中查詢第二訓(xùn)練集中每個詞語對應(yīng)的詞向量,從而確定出上述文本信息的每條語句中每個詞語的詞向量。
具體地,可以利用現(xiàn)有分詞工具,對提取的文本信息進(jìn)行分詞處理,并將時間戳加入到每個語句中,作為第二訓(xùn)練集。分詞后的文本由詞組成,如將“(2015年9月)王五副經(jīng)理視察廠房”分詞為“(2015,9)王五副經(jīng)理視察廠房”或者“(2015,9)王五副經(jīng)理視察廠房”。其中,時間向量可以根據(jù)年、月、日以及詞向量的維數(shù),定義與詞向量維數(shù)相同的時間向量,年、月、日缺省的情況下,對應(yīng)向量相應(yīng)位置為0。例如時間向量為[2015,10,9,……],表示文本發(fā)布時間為2015年10月9日。
優(yōu)選地,模型訓(xùn)練裝置還包括:標(biāo)記模塊,用于在將每條語句中的每個詞語對應(yīng)的詞向量輸入到記憶神經(jīng)網(wǎng)絡(luò)之前,將每條語句中的每個詞語對應(yīng)的詞向量標(biāo)記為預(yù)設(shè)標(biāo)識,其中,預(yù)設(shè)標(biāo)識表示詞向量對應(yīng)的詞語為非錯別字,以使得在利用神經(jīng)網(wǎng)絡(luò)模型識別出非錯別字時,將非錯別字的詞語標(biāo)記為預(yù)設(shè)標(biāo)識。
本申請實施例中,輸入到記憶神經(jīng)網(wǎng)絡(luò)的每條語句中每個詞語均標(biāo)記為預(yù)設(shè)標(biāo)識,例如“1”,這樣,在對文本進(jìn)行訓(xùn)練得到神經(jīng)網(wǎng)絡(luò)模型時,神經(jīng)網(wǎng)絡(luò)模型中參數(shù)會記憶這些詞語標(biāo)識為預(yù)設(shè)標(biāo)識。當(dāng)利用神經(jīng)網(wǎng)絡(luò)模型來識別待測文本時,其輸出結(jié)果中會將待測文本中沒有錯別字的詞語標(biāo)記為該預(yù)設(shè)標(biāo)識,而出現(xiàn)錯別字的詞語則不標(biāo)記,或者標(biāo)記為其他標(biāo)識,以便于快速篩選出待測文本中的錯別字。
所述模型訓(xùn)練裝置包括處理器和存儲器,上述提取單元301、確定單元303和訓(xùn)練單元305等均作為程序單元存儲在存儲器中,由處理器執(zhí)行存儲在存儲器中的上述程序單元。
處理器中包含內(nèi)核,由內(nèi)核去存儲器中調(diào)取相應(yīng)的程序單元。內(nèi)核可以設(shè)置一個或以上,通過調(diào)整內(nèi)核參數(shù)來訓(xùn)練得到神經(jīng)網(wǎng)絡(luò)模型。
存儲器可能包括計算機可讀介質(zhì)中的非永久性存儲器,隨機存取存儲器(RAM)和/ 或非易失性內(nèi)存等形式,如只讀存儲器(ROM)或閃存(flash RAM),存儲器包括至少一個存儲芯片。
本申請還提供了一種計算機程序產(chǎn)品的實施例,當(dāng)在數(shù)據(jù)處理設(shè)備上執(zhí)行時,適于執(zhí)行初始化有如下方法步驟的程序代碼:從預(yù)設(shè)文本數(shù)據(jù)源中提取文本信息以及文本信息中每條語句對應(yīng)的時間信息,其中,預(yù)設(shè)文本數(shù)據(jù)源中所包含的文本為不包含有錯別字的文本;確定出文本信息中每個詞語對應(yīng)的詞向量以及每個詞語所在的語句對應(yīng)的時間向量,其中,詞向量為用于唯一表示詞語的多維數(shù)組,每個詞語所在的語句對應(yīng)的時間向量為用于唯一表示該詞語所在語句的發(fā)布時間;以文本信息中的語句為單位,將每條語句對應(yīng)的時間向量以及該語句中的每個詞語對應(yīng)的詞向量輸入到記憶神經(jīng)網(wǎng)絡(luò),訓(xùn)練得到神經(jīng)網(wǎng)絡(luò)模型,其中,神經(jīng)網(wǎng)絡(luò)模型用于識別文本中的錯別字。
根據(jù)本申請實施例還提供了一種錯別字識別裝置,該錯別字識別裝置可以用于執(zhí)行本申請實施例提供的錯別字識別方法。如圖4所示,該錯別字識別裝置包括:時間獲取單元401、向量生成單元403、向量確定單元405和識別單元407。
時間獲取單元401用于獲取待測文本及其每條語句發(fā)布的時間信息。
向量生成單元403用于根據(jù)時間信息生成每條語句對應(yīng)的時間向量。
時間向量可以是按照預(yù)設(shè)規(guī)則對每個時間點(例如精確到日)的時間定義一組多維數(shù)組,用于唯一表示該時間點,例如時間向量為[2015,10,9,……]表示文本發(fā)布時間為2015年10月9日。
向量確定單元405用于對待測文本進(jìn)行分詞處理,確定出每個詞語對應(yīng)的詞向量。
分詞處理后的每個詞語可以從本申請實施例中的第一訓(xùn)練集中查詢其相應(yīng)的詞向量。
識別單元407用于以待測文本中的語句為單位,將每條語句對應(yīng)的時間向量以及該語句中的每個詞語對應(yīng)的詞向量輸入到神經(jīng)網(wǎng)絡(luò)模型中,利用神經(jīng)網(wǎng)絡(luò)模型識別出待測文本中的錯別字。
本實施例中的神經(jīng)網(wǎng)絡(luò)模型為本申請上述實施例的模型訓(xùn)練方法訓(xùn)練得到的神經(jīng)網(wǎng)絡(luò)模型。
由于該神經(jīng)網(wǎng)絡(luò)模型是通過記憶神經(jīng)網(wǎng)絡(luò)來對沒有錯別字的文本進(jìn)行訓(xùn)練得到,神經(jīng)網(wǎng)絡(luò)模型中的參數(shù)(神經(jīng)網(wǎng)絡(luò)模型中參數(shù)確定,大部分為矩陣)可以記憶這些時間、詞語及其組合。相對于現(xiàn)有技術(shù)中采用人工建立正確的詞匯庫,并進(jìn)行文本匹配, 來識別錯別字的方式,本實施例通過記憶神經(jīng)網(wǎng)絡(luò)來對沒有錯別字的文本進(jìn)行訓(xùn)練,得到神經(jīng)網(wǎng)絡(luò)模型,再利用該神經(jīng)網(wǎng)絡(luò)模型來識別文本中的錯別字,無需人工建立詞匯庫,即可根據(jù)詞語組合以及語句來識別其中的錯別字,可以根據(jù)上下文語義以及時間信息,有效、快速地識別出文本中的錯別字。
將待測文本的詞向量輸入訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)模型,通過神經(jīng)網(wǎng)絡(luò)模型的計算,將輸出結(jié)果中每個詞語進(jìn)行標(biāo)記,比如非錯別字標(biāo)為:1,錯別字標(biāo)為:-1,進(jìn)而可篩選出錯別字。
所述錯別字識別裝置包括處理器和存儲器,上述時間獲取單元401、向量生成單元403、向量確定單元405和識別單元407等均作為程序單元存儲在存儲器中,由處理器執(zhí)行存儲在存儲器中的上述程序單元。
處理器中包含內(nèi)核,由內(nèi)核去存儲器中調(diào)取相應(yīng)的程序單元。內(nèi)核可以設(shè)置一個或以上,通過調(diào)整內(nèi)核參數(shù)來識別文本中的錯別字。
存儲器可能包括計算機可讀介質(zhì)中的非永久性存儲器,隨機存取存儲器(RAM)和/或非易失性內(nèi)存等形式,如只讀存儲器(ROM)或閃存(flash RAM),存儲器包括至少一個存儲芯片。
本申請還提供了一種計算機程序產(chǎn)品的實施例,當(dāng)在數(shù)據(jù)處理設(shè)備上執(zhí)行時,適于執(zhí)行初始化有如下方法步驟的程序代碼:獲取待測文本及其每條語句發(fā)布的時間信息;根據(jù)時間信息生成每條語句對應(yīng)的時間向量;對待測文本進(jìn)行分詞處理,確定出每個詞語對應(yīng)的詞向量;以待測文本中的語句為單位,將每條語句對應(yīng)的時間向量以及該語句中的每個詞語對應(yīng)的詞向量輸入到神經(jīng)網(wǎng)絡(luò)模型中,利用神經(jīng)網(wǎng)絡(luò)模型識別出待測文本中的錯別字。
上述本申請實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。
在本申請的上述實施例中,對各個實施例的描述都各有側(cè)重,某個實施例中沒有詳述的部分,可以參見其他實施例的相關(guān)描述。
在本申請所提供的幾個實施例中,應(yīng)該理解到,所揭露的技術(shù)內(nèi)容,可通過其它的方式實現(xiàn)。其中,以上所描述的裝置實施例僅僅是示意性的,例如所述單元的劃分,可以為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如多個單元或組件可以結(jié)合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,單元或模塊的間接耦合或通信連接,可以是電性或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部單元來實現(xiàn)本實施例方案的目的。
另外,在本申請各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實現(xiàn),也可以采用軟件功能單元的形式實現(xiàn)。
所述集成的單元如果以軟件功能單元的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,可以存儲在一個計算機可讀取存儲介質(zhì)中。基于這樣的理解,本申請的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機設(shè)備(可為個人計算機、服務(wù)器或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本申請各個實施例所述方法的全部或部分步驟。而前述的存儲介質(zhì)包括:U盤、只讀存儲器(ROM,Read-Only Memory)、隨機存取存儲器(RAM,Random Access Memory)、移動硬盤、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
以上所述僅是本申請的優(yōu)選實施方式,應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本申請原理的前提下,還可以做出若干改進(jìn)和潤飾,這些改進(jìn)和潤飾也應(yīng)視為本申請的保護(hù)范圍。