本申請涉及文本處理領(lǐng)域,具體而言,涉及一種中文文本相似度的確定方法和裝置。
背景技術(shù):
在對文本進(jìn)行分析的過程中,經(jīng)常需要對文本進(jìn)行糾錯,即,將文本中所出現(xiàn)的錯誤用詞進(jìn)行糾正,比如,根據(jù)用戶輸入的“危險拉面”,區(qū)分出用戶可能的目標(biāo)詞為相似文本“味千拉面”。而對于相似文本的確定方法,目前主要是計算字符串之間相似詞語的個數(shù),相似個數(shù)越多,表示文本的相似度越高。
然而,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)的方案對于因拼寫錯誤造成的相似文本很難有效識別,如,其識別結(jié)果中“千葉拉面”與“味千拉面”的相似度比“危險拉面”與“味千拉面”的相似度更高。
針對上述的問題,目前尚未提出有效的解決方案。
技術(shù)實(shí)現(xiàn)要素:
本申請實(shí)施例提供了一種中文文本相似度的確定方法和裝置,以至少解決現(xiàn)有技術(shù)難以有效識別因拼寫錯誤造成的相似文本的技術(shù)問題。
根據(jù)本申請實(shí)施例的一個方面,提供了一種中文文本相似度的確定方法,包括:將第一中文文本中的漢字轉(zhuǎn)化為拼音,得到第一拼音文本,將第二中文文本中的漢字轉(zhuǎn)化為拼音,得到第二拼音文本;按照漢語拼音的規(guī)則統(tǒng)計所述第一拼音文本中每種拼音單元的個數(shù)和所述第二拼音文本中每種拼音單元的個數(shù);由所述第一拼音文本中每種拼音單元的個數(shù)生成第一特征向量,由所述第二拼音文本中每種拼音單元的個數(shù)生成第二特征向量;計算所述第一特征向量與所述第二特征向量的距離;根據(jù)所述距離確定所述第一中文文本與所述第二中文文本的相似度,其中,所述距離越小,所述第一中文文本與所述第二中文文本的相似度越高。
進(jìn)一步地,按照漢語拼音的規(guī)則統(tǒng)計所述第一拼音文本中每種拼音單元的個數(shù)和所述第二拼音文本中每種拼音單元的個數(shù)包括:將漢字中的一個聲母作為一個拼音單 元,一個韻母作為一個拼音單元,統(tǒng)計所述第一拼音文本中每種聲母和每種韻母的個數(shù)以及所述第二拼音文本中每種聲母和每種韻母的個數(shù)。
進(jìn)一步地,按照漢語拼音的規(guī)則統(tǒng)計所述第一拼音文本中每種拼音單元的個數(shù)和所述第二拼音文本中每種拼音單元的個數(shù)包括:將漢字中的一個整體認(rèn)讀音節(jié)作為一個拼音單元,非整體認(rèn)讀音節(jié)的漢語拼音的一個聲母作為一個拼音單元,非整體認(rèn)讀音節(jié)的漢語拼音的一個韻母作為一個拼音單元,統(tǒng)計所述第一拼音文本中每種聲母、每種韻母以及每種整體認(rèn)讀音節(jié)的個數(shù)以及所述第二拼音文本中每種聲母、每種韻母以及每種整體認(rèn)讀音節(jié)的個數(shù)。
進(jìn)一步地,由所述第一拼音文本中每種拼音單元的個數(shù)生成第一特征向量,由所述第二拼音文本中每種拼音單元的個數(shù)生成第二特征向量包括:將所述第一拼音文本中每種拼音單元的個數(shù)分別插入到預(yù)設(shè)向量的相應(yīng)維度的位置,得到所述第一特征向量,將所述第二拼音文本中每種拼音單元的個數(shù)分別插入到預(yù)設(shè)向量的相應(yīng)維度的位置,得到所述第二特征向量,其中,所述預(yù)設(shè)向量為具有與按照預(yù)設(shè)順序排列的拼音單元的種類一一對應(yīng)的多個維度的向量。
進(jìn)一步地,計算所述第一特征向量與所述第二特征向量的距離包括:計算所述第一特征向量與所述第二特征向量中每個對應(yīng)維度的差;將所述每個對應(yīng)維度的差取絕對值,并將所述絕對值相加,得到所述距離。
根據(jù)本申請實(shí)施例的另一方面,還提供了一種中文文本相似度的確定裝置,包括:轉(zhuǎn)化單元,用于將第一中文文本中的漢字轉(zhuǎn)化為拼音,得到第一拼音文本,將第二中文文本中的漢字轉(zhuǎn)化為拼音,得到第二拼音文本;統(tǒng)計單元,用于按照漢語拼音的規(guī)則統(tǒng)計所述第一拼音文本中每種拼音單元的個數(shù)和所述第二拼音文本中每種拼音單元的個數(shù);生成單元,用于由所述第一拼音文本中每種拼音單元的個數(shù)生成第一特征向量,由所述第二拼音文本中每種拼音單元的個數(shù)生成第二特征向量;計算單元,用于計算所述第一特征向量與所述第二特征向量的距離;確定單元,用于根據(jù)所述距離確定所述第一中文文本與所述第二中文文本的相似度,其中,所述距離越小,所述第一中文文本與所述第二中文文本的相似度越高。
進(jìn)一步地,所述統(tǒng)計單元具體用于將漢字中的一個聲母作為一個拼音單元,一個韻母作為一個拼音單元,統(tǒng)計所述第一拼音文本中每種聲母和每種韻母的個數(shù)以及所述第二拼音文本中每種聲母和每種韻母的個數(shù)。
進(jìn)一步地,所述統(tǒng)計單元具體用于將漢字中的一個整體認(rèn)讀音節(jié)作為一個拼音單元,非整體認(rèn)讀音節(jié)的漢語拼音的一個聲母作為一個拼音單元,非整體認(rèn)讀音節(jié)的漢 語拼音的一個韻母作為一個拼音單元,統(tǒng)計所述第一拼音文本中每種聲母、每種韻母以及每種整體認(rèn)讀音節(jié)的個數(shù)以及所述第二拼音文本中每種聲母、每種韻母以及每種整體認(rèn)讀音節(jié)的個數(shù)。
進(jìn)一步地,所述生成單元具體用于將所述第一拼音文本中每種拼音單元的個數(shù)分別插入到預(yù)設(shè)向量的相應(yīng)維度的位置,得到所述第一特征向量,將所述第二拼音文本中每種拼音單元的個數(shù)分別插入到預(yù)設(shè)向量的相應(yīng)維度的位置,得到所述第二特征向量,其中,所述預(yù)設(shè)向量為具有與按照預(yù)設(shè)順序排列的拼音單元的種類一一對應(yīng)的多個維度的向量。
進(jìn)一步地,所述計算單元包括:第一計算模塊,用于計算所述第一特征向量與所述第二特征向量中每個對應(yīng)維度的差;第二計算模塊,用于將所述每個對應(yīng)維度的差取絕對值,并將所述絕對值相加,得到所述距離。
根據(jù)本發(fā)明實(shí)施例,將第一中文文本中的漢字轉(zhuǎn)化為拼音,得到第一拼音文本,將第二中文文本中的漢字轉(zhuǎn)化為拼音,得到第二拼音文本,按照漢語拼音的規(guī)則統(tǒng)計第一拼音文本中每種拼音單元的個數(shù)和第二拼音文本中每種拼音單元的個數(shù),由第一拼音文本中每種拼音單元的個數(shù)生成第一特征向量,由第二拼音文本中每種拼音單元的個數(shù)生成第二特征向量,計算第一特征向量與第二特征向量的距離,根據(jù)距離確定第一中文文本與第二中文文本的相似度,其中,距離越小,第一中文文本與第二中文文本的相似度越高,解決了現(xiàn)有技術(shù)難以有效識別因拼寫錯誤造成的相似文本的技術(shù)問題,實(shí)現(xiàn)了對因拼寫錯誤造成的相似文本的識別。
附圖說明
此處所說明的附圖用來提供對本申請的進(jìn)一步理解,構(gòu)成本申請的一部分,本申請的示意性實(shí)施例及其說明用于解釋本申請,并不構(gòu)成對本申請的不當(dāng)限定。在附圖中:
圖1是根據(jù)本申請實(shí)施例的中文文本相似度的確定方法的流程圖;
圖2是根據(jù)本申請實(shí)施例的中文文本相似度的確定裝置的示意圖。
具體實(shí)施方式
為了使本技術(shù)領(lǐng)域的人員更好地理解本申請方案,下面將結(jié)合本申請實(shí)施例中的附圖,對本申請實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例 僅僅是本申請一部分的實(shí)施例,而不是全部的實(shí)施例。基于本申請中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都應(yīng)當(dāng)屬于本申請保護(hù)的范圍。
需要說明的是,本申請的說明書和權(quán)利要求書及上述附圖中的術(shù)語“第一”、“第二”等是用于區(qū)別類似的對象,而不必用于描述特定的順序或先后次序。應(yīng)該理解這樣使用的數(shù)據(jù)在適當(dāng)情況下可以互換,以便這里描述的本申請的實(shí)施例能夠以除了在這里圖示或描述的那些以外的順序?qū)嵤?。此外,術(shù)語“包括”和“具有”以及他們的任何變形,意圖在于覆蓋不排他的包含,例如,包含了一系列步驟或單元的過程、方法、系統(tǒng)、產(chǎn)品或設(shè)備不必限于清楚地列出的那些步驟或單元,而是可包括沒有清楚地列出的或?qū)τ谶@些過程、方法、產(chǎn)品或設(shè)備固有的其它步驟或單元。
根據(jù)本申請實(shí)施例,提供了一種中文文本相似度的確定方法的方法實(shí)施例,需要說明的是,在附圖的流程圖示出的步驟可以在諸如一組計算機(jī)可執(zhí)行指令的計算機(jī)系統(tǒng)中執(zhí)行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。
圖1是根據(jù)本申請實(shí)施例的中文文本相似度的確定方法的流程圖,如圖1所示,該方法包括如下步驟:
步驟S102,將第一中文文本中的漢字轉(zhuǎn)化為拼音,得到第一拼音文本,將第二中文文本中的漢字轉(zhuǎn)化為拼音,得到第二拼音文本。
其中,第一中文文本和第二中文文本均可以為文章、語句、短語等。第一中文文本和第二中文文本為待確定相似度的兩個文本。本實(shí)施例中,將第一中文文本和第二中文文本分別轉(zhuǎn)化成拼音文本。即將中文文本中每個字轉(zhuǎn)化成其對應(yīng)的拼音,形成拼音文本。例如,將“興高采烈”轉(zhuǎn)化為“xing gao cai lie”。
步驟S104,按照漢語拼音的規(guī)則統(tǒng)計第一拼音文本中每種拼音單元的個數(shù)和第二拼音文本中每種拼音單元的個數(shù)。
漢語拼音的拼寫規(guī)則為聲母加上韻母,即每個漢字對應(yīng)的拼音為一個或者多個拼音單元所組成,其中,可以將聲母和韻母作為拼音單元。由于漢語拼音中還包括整體認(rèn)讀音節(jié),因此,該整體認(rèn)讀音節(jié)也可以作為拼音單元。
例如,上述“xing gao cai lie”,其中,拆分成的拼音單元可以是“x”、“ing”、“g”、“ao”、“c”、“ai”、“l(fā)”、“ie”,各拼音單元的個數(shù)均為1。拼音文本“gao gao xing xing”,統(tǒng)計后“g”、“ao”、“x”、“ing”的個數(shù)均為2。
步驟S106,由第一拼音文本中每種拼音單元的個數(shù)生成第一特征向量,由第二拼音文本中每種拼音單元的個數(shù)生成第二特征向量。
在統(tǒng)計出兩個拼音文本中每種拼音單元的個數(shù)之后,由該個數(shù)生成相應(yīng)的特征向量,該特征向量可以是包括多個維度的向量,其中,第一特征向量與第二特征向量的維度數(shù)量相同。
可選地,特征向量的生成方式可以是對目前漢語拼音中所有的拼音單元的種類按照預(yù)設(shè)順序排序,每個種類的拼音單元對應(yīng)特征向量的一個維度,拼音文本中每種拼音單元的個數(shù)作為拼音單元在特征向量中相應(yīng)維度的值;還可以是統(tǒng)計兩個拼音文本中所出現(xiàn)的所有的拼音單元的種類,生成與種類數(shù)相應(yīng)數(shù)量的維度的特征向量,其中,每個拼音文本中統(tǒng)計的每種拼音單元的個數(shù)作為相應(yīng)的拼音文本對應(yīng)的特征向量中相應(yīng)維度的值。例如,“gao gao xing xing”與“gao gao xin xin”兩個拼音文本,其中,拼音單元的種類有“g”、“ao”、“x”、“ing”、“in”,因此生成的特征向量具有5個維度,其中,按照上述排序(“g”、“ao”、“x”、“ing”、“in”)生成的第一拼音文本的特征向量(即第一特征向量)為[2,2,2,2,0],第二拼音文本的特征向量(即第二特征向量)為[2,2,2,0,2]。
步驟S108,計算第一特征向量與第二特征向量的距離。
步驟S110,根據(jù)距離確定第一中文文本與第二中文文本的相似度,其中,距離越小,第一中文文本與第二中文文本的相似度越高。
在生成第一特征向量與第二特征向量之后,計算這兩個向量之間的距離,該距離可以是歐式距離等。再根據(jù)計算出的距離確定兩個中文文本之間的相似度,距離越大,二者相似度越小,距離越小,二者之間的相似度越大。例如,確定出的“千葉拉面”與“味千拉面”的相似度比“危險拉面”與“味千拉面”的相似度更低,能夠確定出拼寫錯誤的文本的相似文本。
根據(jù)本發(fā)明實(shí)施例,將第一中文文本中的漢字轉(zhuǎn)化為拼音,得到第一拼音文本,將第二中文文本中的漢字轉(zhuǎn)化為拼音,得到第二拼音文本,按照漢語拼音的規(guī)則統(tǒng)計第一拼音文本中每種拼音單元的個數(shù)和第二拼音文本中每種拼音單元的個數(shù),由第一拼音文本中每種拼音單元的個數(shù)生成第一特征向量,由第二拼音文本中每種拼音單元的個數(shù)生成第二特征向量,計算第一特征向量與第二特征向量的距離,根據(jù)距離確定第一中文文本與第二中文文本的相似度,其中,距離越小,第一中文文本與第二中文文本的相似度越高,解決了現(xiàn)有技術(shù)難以有效識別因拼寫錯誤造成的相似文本的技術(shù)問題,實(shí)現(xiàn)了對因拼寫錯誤造成的相似文本的識別。
優(yōu)選地,按照漢語拼音的規(guī)則統(tǒng)計第一拼音文本中每種拼音單元的個數(shù)和第二拼音文本中每種拼音單元的個數(shù)包括:將漢字中的一個聲母作為一個拼音單元,一個韻母作為一個拼音單元,統(tǒng)計第一拼音文本中每種聲母和每種韻母的個數(shù)以及第二拼音文本中每種聲母和每種韻母的個數(shù)。
由于現(xiàn)有的漢語拼音采用拉丁字母,分為聲母和韻母,因此,每個漢字中都可以拆分成聲母和韻母(有些字則只有韻母,如“愛”等),本實(shí)施例中,將每個聲母作為一個拼音單元,每個韻母作為一個拼音單元,將拼音文本中每個漢字拆分成聲母和韻母,并統(tǒng)計每種聲母及每種韻母的個數(shù)。
可選地,按照漢語拼音的規(guī)則統(tǒng)計第一拼音文本中每種拼音單元的個數(shù)和第二拼音文本中每種拼音單元的個數(shù)包括:將漢字中的一個整體認(rèn)讀音節(jié)作為一個拼音單元,非整體認(rèn)讀音節(jié)的漢語拼音的一個聲母作為一個拼音單元,非整體認(rèn)讀音節(jié)的漢語拼音的一個韻母作為一個拼音單元,統(tǒng)計第一拼音文本中每種聲母、每種韻母以及每種整體認(rèn)讀音節(jié)的個數(shù)以及第二拼音文本中每種聲母、每種韻母以及每種整體認(rèn)讀音節(jié)的個數(shù)。
由于漢語拼音中包含有添加一個韻母后讀音仍和聲母一樣(或者添加一個聲母后讀音仍和韻母一樣)的音節(jié),即整體認(rèn)讀音節(jié)。本實(shí)施例中,將整體認(rèn)讀音節(jié)作為一個拼音單元,非整體認(rèn)讀音節(jié)的漢語拼音,則將聲母和韻母分別作為拼音單元,統(tǒng)計出每種拼音單元的個數(shù)。例如,漢語拼音中包括23個聲母、24個韻母和16個整體認(rèn)讀音節(jié),因此,拼音單元共有63種。
優(yōu)選地,由第一拼音文本中每種拼音單元的個數(shù)生成第一特征向量,由第二拼音文本中每種拼音單元的個數(shù)生成第二特征向量包括:將第一拼音文本中每種拼音單元的個數(shù)分別插入到預(yù)設(shè)向量的相應(yīng)維度的位置,得到第一特征向量,將第二拼音文本中每種拼音單元的個數(shù)分別插入到預(yù)設(shè)向量的相應(yīng)維度的位置,得到第二特征向量,其中,預(yù)設(shè)向量為具有與按照預(yù)設(shè)順序排列的拼音單元的種類一一對應(yīng)的多個維度的向量。
本發(fā)明實(shí)施例中,預(yù)設(shè)向量每一個維度表示一種拼音單元,其中生成特征向量中,每個維度的值表示相應(yīng)的拼音單元在每種拼音文本中出現(xiàn)的次數(shù)即統(tǒng)計出的個數(shù)。其中,所有的拼音單元按照預(yù)設(shè)順序進(jìn)行排序,對應(yīng)到預(yù)設(shè)向量中每一個維度,該預(yù)設(shè)順序?yàn)槿我膺x定的順序。
例如,上述按照聲母、韻母、整體認(rèn)讀音節(jié)來統(tǒng)計拼音單元的實(shí)施例中,統(tǒng)計兩個拼音文本中所有的聲母、韻母、整體認(rèn)讀音節(jié)的個數(shù),分別插入到63維的預(yù)設(shè)向量 中,生成兩個拼音文本的特征向量,其中,63維是根據(jù)為拼音中所有聲母、韻母、整體認(rèn)讀音節(jié)個數(shù)之和得到。如“高高興興”的拼音為“gao gao xing xing”統(tǒng)計“g”“ao”“x”“ing”分別的個數(shù)分別為2,則在“高高興興”的63維文本讀音特征向量中,對應(yīng)的聲母和韻母位置為2,其他位置為0,特征向量為[…,2,…,2,…,2,…,2,…](省略部分為0)。
本申請實(shí)施例中,利用預(yù)先確定預(yù)設(shè)向量,在生成特征向量時,只需將統(tǒng)計得到的拼音單元的個數(shù)插入到預(yù)設(shè)向量中即可,生成方式簡單。
優(yōu)選地,計算第一特征向量與第二特征向量的距離包括:計算第一特征向量與第二特征向量中每個對應(yīng)維度的差;將每個對應(yīng)維度的差取絕對值,并將絕對值相加,得到距離。
兩個特征向量的距離可以用1范數(shù)等進(jìn)行計算,1范數(shù)計算方式為:將兩個向量對應(yīng)位置(即對應(yīng)維度的值)的差取絕對值,并進(jìn)行相加,得到數(shù)表示兩個拼音文本即為距離,該數(shù)越小,表示相似度越高。如“危險拉面”和“味千拉面”的相似度比“千葉拉面”和“味千拉面”的相似度更高。
本申請實(shí)施例中,將兩個中文文本的相似度判斷過程轉(zhuǎn)化為兩個向量之間的距離判斷,提高了相似文本的識別的準(zhǔn)確性和速度。
本申請實(shí)施例還提供了一種中文文本相似度的確定裝置,該裝置可以用于執(zhí)行本申請實(shí)施例的中文文本相似度的確定方法,如圖2所示,該裝置包括:轉(zhuǎn)化單元10、統(tǒng)計單元20、生成單元30、計算單元40和確定單元50。
轉(zhuǎn)化單元10用于將第一中文文本中的漢字轉(zhuǎn)化為拼音,得到第一拼音文本,將第二中文文本中的漢字轉(zhuǎn)化為拼音,得到第二拼音文本。
其中,第一中文文本和第二中文文本均可以為文章、語句、短語等。第一中文文本和第二中文文本為待確定相似度的兩個文本。本實(shí)施例中,將第一中文文本和第二中文文本分別轉(zhuǎn)化成拼音文本。即將中文文本中每個字轉(zhuǎn)化成其對應(yīng)的拼音,形成拼音文本。例如,將“興高采烈”轉(zhuǎn)化為“xing gao cai lie”。
統(tǒng)計單元20用于按照漢語拼音的規(guī)則統(tǒng)計第一拼音文本中每種拼音單元的個數(shù)和第二拼音文本中每種拼音單元的個數(shù)。
漢語拼音的拼寫規(guī)則為聲母加上韻母,即每個漢字對應(yīng)的拼音為一個或者多個拼音單元所組成,其中,可以將聲母和韻母作為拼音單元。由于漢語拼音中還包括整體認(rèn)讀音節(jié),因此,該整體認(rèn)讀音節(jié)也可以作為拼音單元。
例如,上述“xing gao cai lie”,其中,拆分成的拼音單元可以是“x”、“ing”、“g”、“ao”、“c”、“ai”、“l(fā)”、“ie”,各拼音單元的個數(shù)均為1。拼音文本“gao gao xing xing”,統(tǒng)計后“g”、“ao”、“x”、“ing”的個數(shù)均為2。
生成單元30用于由第一拼音文本中每種拼音單元的個數(shù)生成第一特征向量,由第二拼音文本中每種拼音單元的個數(shù)生成第二特征向量。
在統(tǒng)計出兩個拼音文本中每種拼音單元的個數(shù)之后,由該個數(shù)生成相應(yīng)的特征向量,該特征向量可以是包括多個維度的向量,其中,第一特征向量與第二特征向量的維度數(shù)量相同。
可選地,特征向量的生成方式可以是對目前漢語拼音中所有的拼音單元的種類按照預(yù)設(shè)順序排序,每個種類的拼音單元對應(yīng)特征向量的一個維度,拼音文本中每種拼音單元的個數(shù)作為拼音單元在特征向量中相應(yīng)維度的值;還可以是統(tǒng)計兩個拼音文本中所出現(xiàn)的所有的拼音單元的種類,生成與種類數(shù)相應(yīng)數(shù)量的維度的特征向量,其中,每個拼音文本中統(tǒng)計的每種拼音單元的個數(shù)作為相應(yīng)的拼音文本對應(yīng)的特征向量中相應(yīng)維度的值。例如,“gao gao xing xing”與“gao gao xin xin”兩個拼音文本,其中,拼音單元的種類有“g”、“ao”、“x”、“ing”、“in”,因此生成的特征向量具有5個維度,其中,按照上述排序(“g”、“ao”、“x”、“ing”、“in”)生成的第一拼音文本的特征向量(即第一特征向量)為[2,2,2,2,0],第二拼音文本的特征向量(即第二特征向量)為[2,2,2,0,2]。
計算單元40用于計算第一特征向量與第二特征向量的距離。
確定單元50用于根據(jù)距離確定第一中文文本與第二中文文本的相似度,其中,距離越小,第一中文文本與第二中文文本的相似度越高。
在生成第一特征向量與第二特征向量之后,計算這兩個向量之間的距離,該距離可以是歐式距離等。再根據(jù)計算出的距離確定兩個中文文本之間的相似度,距離越大,二者相似度越小,距離越小,二者之間的相似度越大。例如,確定出的“千葉拉面”與“味千拉面”的相似度比“危險拉面”與“味千拉面”的相似度更低,能夠確定出拼寫錯誤的文本的相似文本。
根據(jù)本發(fā)明實(shí)施例,將第一中文文本中的漢字轉(zhuǎn)化為拼音,得到第一拼音文本,將第二中文文本中的漢字轉(zhuǎn)化為拼音,得到第二拼音文本,按照漢語拼音的規(guī)則統(tǒng)計第一拼音文本中每種拼音單元的個數(shù)和第二拼音文本中每種拼音單元的個數(shù),由第一拼音文本中每種拼音單元的個數(shù)生成第一特征向量,由第二拼音文本中每種拼音單元的個數(shù)生成第二特征向量,計算第一特征向量與第二特征向量的距離,根據(jù)距離確定 第一中文文本與第二中文文本的相似度,其中,距離越小,第一中文文本與第二中文文本的相似度越高,解決了現(xiàn)有技術(shù)難以有效識別因拼寫錯誤造成的相似文本的技術(shù)問題,實(shí)現(xiàn)了對因拼寫錯誤造成的相似文本的識別。
優(yōu)選地,統(tǒng)計單元具體用于將漢字中的一個聲母作為一個拼音單元,一個韻母作為一個拼音單元,統(tǒng)計第一拼音文本中每種聲母和每種韻母的個數(shù)以及第二拼音文本中每種聲母和每種韻母的個數(shù)。
由于現(xiàn)有的漢語拼音采用拉丁字母,分為聲母和韻母,因此,每個漢字中都可以拆分成聲母和韻母(有些字則只有韻母,如“愛”等),本實(shí)施例中,將每個聲母作為一個拼音單元,每個韻母作為一個拼音單元,將拼音文本中每個漢字拆分成聲母和韻母,并統(tǒng)計每種聲母及每種韻母的個數(shù)。
優(yōu)選地,統(tǒng)計單元具體用于將漢字中的一個整體認(rèn)讀音節(jié)作為一個拼音單元,非整體認(rèn)讀音節(jié)的漢語拼音的一個聲母作為一個拼音單元,非整體認(rèn)讀音節(jié)的漢語拼音的一個韻母作為一個拼音單元,統(tǒng)計第一拼音文本中每種聲母、每種韻母以及每種整體認(rèn)讀音節(jié)的個數(shù)以及第二拼音文本中每種聲母、每種韻母以及每種整體認(rèn)讀音節(jié)的個數(shù)。
由于漢語拼音中包含有添加一個韻母后讀音仍和聲母一樣(或者添加一個聲母后讀音仍和韻母一樣)的音節(jié),即整體認(rèn)讀音節(jié)。本實(shí)施例中,將整體認(rèn)讀音節(jié)作為一個拼音單元,非整體認(rèn)讀音節(jié)的漢語拼音,則將聲母和韻母分別作為拼音單元,統(tǒng)計出每種拼音單元的個數(shù)。例如,漢語拼音中包括23個聲母、24個韻母和16個整體認(rèn)讀音節(jié),因此,拼音單元共有63種。
優(yōu)選地,生成單元具體用于將第一拼音文本中每種拼音單元的個數(shù)分別插入到預(yù)設(shè)向量的相應(yīng)維度的位置,得到第一特征向量,將第二拼音文本中每種拼音單元的個數(shù)分別插入到預(yù)設(shè)向量的相應(yīng)維度的位置,得到第二特征向量,其中,預(yù)設(shè)向量為具有與按照預(yù)設(shè)順序排列的拼音單元的種類一一對應(yīng)的多個維度的向量。
本發(fā)明實(shí)施例中,預(yù)設(shè)向量每一個維度表示一種拼音單元,其中生成特征向量中,每個維度的值表示相應(yīng)的拼音單元在每種拼音文本中出現(xiàn)的次數(shù)即統(tǒng)計出的個數(shù)。其中,所有的拼音單元按照預(yù)設(shè)順序進(jìn)行排序,對應(yīng)到預(yù)設(shè)向量中每一個維度,該預(yù)設(shè)順序?yàn)槿我膺x定的順序。
例如,上述按照聲母、韻母、整體認(rèn)讀音節(jié)來統(tǒng)計拼音單元的實(shí)施例中,統(tǒng)計兩個拼音文本中所有的聲母、韻母、整體認(rèn)讀音節(jié)的個數(shù),分別插入到63維的預(yù)設(shè)向量中,生成兩個拼音文本的特征向量,其中,63維是根據(jù)為拼音中所有聲母、韻母、整 體認(rèn)讀音節(jié)個數(shù)之和得到。如“高高興興”的拼音為“gao gao xing xing”統(tǒng)計“g”“ao”“x”“ing”分別的個數(shù)分別為2,則在“高高興興”的63維文本讀音特征向量中,對應(yīng)的聲母和韻母位置為2,其他位置為0,特征向量為[…,2,…,2,…,2,…,2,…](省略部分為0)。
本申請實(shí)施例中,利用預(yù)先確定預(yù)設(shè)向量,在生成特征向量時,只需將統(tǒng)計得到的拼音單元的個數(shù)插入到預(yù)設(shè)向量中即可,生成方式簡單。
優(yōu)選地,計算單元包括:第一計算模塊,用于計算第一特征向量與第二特征向量中每個對應(yīng)維度的差;第二計算模塊,用于將每個對應(yīng)維度的差取絕對值,并將絕對值相加,得到距離。
兩個特征向量的距離可以用1范數(shù)等進(jìn)行計算,1范數(shù)計算方式為:將兩個向量對應(yīng)位置(即對應(yīng)維度的值)的差取絕對值,并進(jìn)行相加,得到數(shù)表示兩個拼音文本即為距離,該數(shù)越小,表示相似度越高。如“危險拉面”和“味千拉面”的相似度比“千葉拉面”和“味千拉面”的相似度更高。
本申請實(shí)施例中,將兩個中文文本的相似度判斷過程轉(zhuǎn)化為兩個向量之間的距離判斷,提高了相似文本的識別的準(zhǔn)確性和速度。
所述中文文本相似度的確定裝置包括處理器和存儲器,上述轉(zhuǎn)化單元10、統(tǒng)計單元20、生成單元30、計算單元40和確定單元50等均作為程序單元存儲在存儲器中,由處理器執(zhí)行存儲在存儲器中的上述程序單元。上述都可以存儲在存儲器中。
處理器中包含內(nèi)核,由內(nèi)核去存儲器中調(diào)取相應(yīng)的程序單元。內(nèi)核可以設(shè)置一個或以上,通過調(diào)整內(nèi)核參數(shù)確定文本內(nèi)容的相似度。
存儲器可能包括計算機(jī)可讀介質(zhì)中的非永久性存儲器,隨機(jī)存取存儲器(RAM)和/或非易失性內(nèi)存等形式,如只讀存儲器(ROM)或閃存(flash RAM),存儲器包括至少一個存儲芯片。
本申請還提供了一種計算機(jī)程序產(chǎn)品的實(shí)施例,當(dāng)在數(shù)據(jù)處理設(shè)備上執(zhí)行時,適于執(zhí)行初始化有如下方法步驟的程序代碼:將第一中文文本中的漢字轉(zhuǎn)化為拼音,得到第一拼音文本,將第二中文文本中的漢字轉(zhuǎn)化為拼音,得到第二拼音文本,按照漢語拼音的規(guī)則統(tǒng)計第一拼音文本中每種拼音單元的個數(shù)和第二拼音文本中每種拼音單元的個數(shù),由第一拼音文本中每種拼音單元的個數(shù)生成第一特征向量,由第二拼音文本中每種拼音單元的個數(shù)生成第二特征向量,計算第一特征向量與第二特征向量的距離,根據(jù)距離確定第一中文文本與第二中文文本的相似度,其中,距離越小,第一中文文本與第二中文文本的相似度越高。
上述本申請實(shí)施例序號僅僅為了描述,不代表實(shí)施例的優(yōu)劣。
在本申請的上述實(shí)施例中,對各個實(shí)施例的描述都各有側(cè)重,某個實(shí)施例中沒有詳述的部分,可以參見其他實(shí)施例的相關(guān)描述。
在本申請所提供的幾個實(shí)施例中,應(yīng)該理解到,所揭露的技術(shù)內(nèi)容,可通過其它的方式實(shí)現(xiàn)。其中,以上所描述的裝置實(shí)施例僅僅是示意性的,例如所述單元的劃分,可以為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時可以有另外的劃分方式,例如多個單元或組件可以結(jié)合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,單元或模塊的間接耦合或通信連接,可以是電性或其它的形式。
所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部單元來實(shí)現(xiàn)本實(shí)施例方案的目的。
另外,在本申請各個實(shí)施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨(dú)物理存在,也可以兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能單元的形式實(shí)現(xiàn)。
所述集成的單元如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時,可以存儲在一個計算機(jī)可讀取存儲介質(zhì)中?;谶@樣的理解,本申請的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機(jī)軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機(jī)設(shè)備(可為個人計算機(jī)、服務(wù)器或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本申請各個實(shí)施例所述方法的全部或部分步驟。而前述的存儲介質(zhì)包括:U盤、只讀存儲器(ROM,Read-Only Memory)、隨機(jī)存取存儲器(RAM,Random Access Memory)、移動硬盤、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
以上所述僅是本申請的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本申請?jiān)淼那疤嵯?,還可以做出若干改進(jìn)和潤飾,這些改進(jìn)和潤飾也應(yīng)視為本申請的保護(hù)范圍。