一種計(jì)算機(jī)拆分漢語句子的方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于計(jì)算機(jī)技術(shù)領(lǐng)域,尤其涉及一種計(jì)算機(jī)拆分漢語句子的方法。
【背景技術(shù)】
[0002]現(xiàn)代漢語句子是語言表達(dá)和信息交流的主要工具,而在計(jì)算機(jī)軟件領(lǐng)域中,漢語句子的拆分一直是句子分析中的重點(diǎn)和難點(diǎn)。漢語句子的基本組成元素是單個(gè)漢字,而表達(dá)漢語基本意思的基本單位則是由若干個(gè)漢字組成的詞,所以要對(duì)整個(gè)漢語句子進(jìn)行分析,首先要能夠?qū)渥舆M(jìn)行基本的漢字詞拆分。由于單個(gè)的漢字大多具有多個(gè)意思,與不同的漢字組合在一起又構(gòu)成了意思差別很大的不同的詞,每個(gè)詞也可能具有多重意思,因此,這給漢語句子的正確拆分帶來了相當(dāng)大的難度。
[0003]目前現(xiàn)有的句子拆分方法有很多,基本上都是基于詞庫檢索遍歷算法,有些還加上歧義解決算法等。這些方法在計(jì)算機(jī)軟件實(shí)現(xiàn)時(shí)都普遍存算法復(fù)雜、運(yùn)算量大,以及多義字詞拆分不準(zhǔn)確等缺點(diǎn)。
【發(fā)明內(nèi)容】
[0004]為了解決現(xiàn)有技術(shù)中存在的上述問題,本發(fā)明提供一種將化學(xué)領(lǐng)域中的一些概念引入到漢語句子分析中,通過與化學(xué)元素分析類似的方法來分析句子,通過代碼簡單、運(yùn)算量小的計(jì)算機(jī)軟件實(shí)現(xiàn)對(duì)整個(gè)漢語句子進(jìn)行準(zhǔn)確、快速的拆分,為漢語句子分析提供有效基礎(chǔ)保證的計(jì)算機(jī)拆分漢語句子的方法。
[0005]為實(shí)現(xiàn)上述發(fā)明目的,本發(fā)明提供的技術(shù)方案為:一種計(jì)算機(jī)拆分漢語句子的方法,其包括以下步驟:
[0006]步驟SI,建立基礎(chǔ)數(shù)據(jù)庫;所述基礎(chǔ)數(shù)據(jù)庫包括基礎(chǔ)詞庫和可以判斷單個(gè)漢字之間相互組合成詞的優(yōu)先順序原則的漢字組詞優(yōu)先原則判斷數(shù)據(jù)庫;
[0007]步驟S2,將需要被拆分的漢語句子與步驟SI中建立的基礎(chǔ)詞庫進(jìn)行匹配比對(duì),將需要被拆分的漢語句子拆分成詞;
[0008]步驟S3,將步驟S2中拆分得到的詞進(jìn)行詞性分類處理;
[0009]步驟S4,對(duì)詞性分類處理后的詞進(jìn)行重新組合成漢語短語;即完成對(duì)被拆漢語句子的拆分。
[0010]所述步驟SI中建立的基礎(chǔ)詞庫包括漢字詞、英文字母、數(shù)字和其它漢語語句中使用的通用字符。
[0011]所述基礎(chǔ)詞庫中的漢字詞包括日常用語、詩詞、網(wǎng)絡(luò)常用詞和特殊名稱用詞。
[0012]所述基礎(chǔ)詞庫存儲(chǔ)在計(jì)算機(jī)內(nèi)的代碼為Unicode編碼或者漢字國際GB碼。
[0013]所述漢字組詞優(yōu)先原則判斷數(shù)據(jù)庫是根據(jù)日常生活中漢字的實(shí)際使用頻率和使用慣例通過窮舉法進(jìn)行歸納總結(jié)而得出的優(yōu)先組合詞組。
[0014]所述步驟SI中建立的基礎(chǔ)詞庫中詞的尺度范圍為I至9 ;其中基礎(chǔ)詞庫中漢字詞的尺度定義為漢字詞中漢字的個(gè)數(shù),英文字母的尺度定義為1,數(shù)字的尺度定義為1,其它漢語語句中使用的通用字符也定義為I。
[0015]所述步驟S2中將需要被拆分的漢語句子拆分成詞的具體過程如下:
[0016]步驟S21,首先,依次使用基礎(chǔ)詞庫中尺度為9至I的漢字詞遍歷需要被拆分的漢語句子;
[0017]步驟S22,將上述需要被拆分的漢語句子中遍歷出來的漢字詞的首個(gè)漢字和最后個(gè)漢字分別運(yùn)用漢字組詞優(yōu)先原則判斷數(shù)據(jù)庫進(jìn)行判斷對(duì)比;該判斷對(duì)比的過程為:如果該漢字詞的首個(gè)漢字與在需要被拆分漢語句子中位于其后的組詞能力強(qiáng)于該漢字詞的首個(gè)漢字與在需要被拆分漢語句子中位于其前的組詞能力,且該漢字詞的最后個(gè)漢字與在需要被拆分漢語句子中位于其后的組詞能力弱于該漢字詞的最后個(gè)漢字與在需要被拆分漢語句子中位于其前的組詞能力,則認(rèn)為該次匹配正確;如果該漢字詞的首個(gè)漢字與在需要被拆分漢語句子中位于其后的組詞能力若于該漢字詞的首個(gè)漢字與在需要被拆分漢語句子中位于其前的組詞能力,或者該漢字詞的最后個(gè)漢字與在需要被拆分漢語句子中位于其后的組詞能力強(qiáng)于該漢字詞的最后個(gè)漢字與在需要被拆分漢語句子中位于其前的組詞能力,則認(rèn)為該次匹配不正確,同時(shí)將匹配不正確的漢字詞拆開重新遍歷基礎(chǔ)詞庫直至所有的拆分出來的漢字詞都判斷為匹配正確。
[0018]所述步驟S3中對(duì)拆分得到的詞進(jìn)行詞性分類處理為將拆分得到的詞分別分為漢字詞、英文字母串、數(shù)字串和其它符號(hào)串。
[0019]所述漢字詞分類處理為中心詞、前修飾詞、后修飾詞;所述中心詞分為名詞、動(dòng)詞和數(shù)詞;前修飾詞分為名詞前修飾詞和動(dòng)詞前修飾詞;后修飾詞分為名詞后修飾詞、動(dòng)詞后修飾詞和量詞。
[0020]所述步驟S4中對(duì)詞性分類處理后的詞進(jìn)行重新組合成漢語短語的具體過程為:將英文字母串和其它符號(hào)形成組合成獨(dú)立的漢語短語;數(shù)字串組合成漢字詞中的數(shù)詞;并且將中心詞分類組合成名詞短語、動(dòng)詞短語和數(shù)詞短語。
[0021]本發(fā)明的有益效果為:
[0022]本發(fā)明將化學(xué)領(lǐng)域中的一些概念引入到漢語句子分析中,通過與化學(xué)元素分析類似的方法來分析句子,通過代碼簡單、運(yùn)算量小的計(jì)算機(jī)軟件實(shí)現(xiàn),對(duì)整個(gè)漢語句子進(jìn)行準(zhǔn)確、快速的拆分,為漢語句子分析提供有效的基礎(chǔ)保證。
【附圖說明】
[0023]圖1為本發(fā)明所編寫計(jì)算軟件的基礎(chǔ)數(shù)據(jù)和邏輯算法示意圖。
[0024]圖2為離子化合算法的流程示意圖。
【具體實(shí)施方式】
[0025]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明了,下面結(jié)合具體實(shí)例并參照附圖,對(duì)本發(fā)明進(jìn)一步詳細(xì)說明。應(yīng)該理解,這些描述只是示例性的,而并非要限制本發(fā)明的范圍。此外,在以下說明中,省略了對(duì)公知結(jié)構(gòu)和技術(shù)的描述,以避免不必要地混淆本發(fā)明的概念。
[0026]在化學(xué)領(lǐng)域中,構(gòu)成各種元素的基本單位是原子,原子再結(jié)合成離子和分子,不同原子、離子和分子的排列組合構(gòu)成了不同的物質(zhì)。同樣,構(gòu)成句子的基本單位是字,字再組合成詞、詞又組合成短語,不同的字、詞和短語的排列組合夠成了不同的句子。因此,可以將單個(gè)字比作一個(gè)化學(xué)原子,單個(gè)詞比作一個(gè)化學(xué)離子、單個(gè)短語比作一個(gè)化學(xué)分子,分別稱作原子字、離子詞和分子短語。原子與原子間的結(jié)合靠“化學(xué)鍵”的作用,字與字、詞、短語間的結(jié)合同樣可稱為“作用鍵”。因?yàn)樽衷诰渥又械某霈F(xiàn)是有先后順序的,所以字之間的作用鍵要分為“前向鍵”和“后向鍵”,類似與化學(xué)中的“氧化性”和“還原性”。當(dāng)一個(gè)具有氧化性的原子與一個(gè)具有還原性的原子遇到一起,往往可以結(jié)合成一個(gè)分子;同樣,當(dāng)一個(gè)前向鍵的字和一個(gè)后向鍵字碰到一起,這兩個(gè)字就結(jié)合成一個(gè)“離子詞”。一個(gè)字如果已經(jīng)跟前面的字結(jié)合,但后面的字的前向鍵作用力更強(qiáng),這個(gè)字就有可能被“拉扯”過來結(jié)合成新的離子詞,原來的離子詞被打破。因此,定義了作用鍵的強(qiáng)度,就可以基本解決句子中某字前后都是合法詞時(shí)的分歧拆分問題。
[0027]當(dāng)給出一個(gè)句子需要進(jìn)行拆分時(shí),類似于化學(xué)領(lǐng)域中給定若干個(gè)元素符號(hào)而求解出化學(xué)分子式,針對(duì)該句子中的若干個(gè)原子字,根據(jù)作用鍵的方向和強(qiáng)度,讓這些原子字彼此化合成離子詞,再根據(jù)離子性質(zhì)進(jìn)一步化合成分子短語,短語的先后排列形成了整個(gè)句子,進(jìn)而就完成了對(duì)整個(gè)句子的合理拆分。因?yàn)闈h字在句子中的出現(xiàn)順序已經(jīng)特定,所以句子拆分比求解分子式還要相對(duì)簡單:在化合時(shí),每個(gè)字只可能與它前一個(gè)字或后一個(gè)相鄰的字結(jié)合,句子中的其他有間隔的字則不必考慮。
[0028]離子詞中字的個(gè)數(shù),以及分子詞組中離子詞的個(gè)數(shù),稱為詞和詞組的“尺度”。類似于化學(xué)中元素的“化合價(jià)”屬性,每個(gè)字、詞、短語也有其固有的價(jià)值屬性,即“作用價(jià)”,分另IJ稱為“字性”、“詞性”、“語性”。詞中的字根據(jù)位置可以分為“首字”,“中間字”和“尾字”;短語中的詞根據(jù)其位置和詞性可以分為“前修身詞”、“中心詞”和“后修飾詞”。
[0029]本發(fā)明對(duì)句子拆分時(shí),與傳統(tǒng)意義上的“拆分”不同,采取的是類似于化學(xué)反應(yīng)的“逆向化合”方法,讓字(原子)化合成詞(離子),詞(離子)再聚合成短語(分子)?;谝陨隙x,算法上采用“尺度優(yōu)先遍歷” + “作用鍵競爭”的原則,經(jīng)過離子化合、離子詞性處理、分子短語聚合等步驟,完成句子一短語一詞一字的全面拆分。
[0030]本發(fā)明采用編寫計(jì)算軟件來實(shí)現(xiàn)對(duì)漢語句子的拆分,該軟件核心如圖1所示分為基礎(chǔ)數(shù)據(jù)和邏輯算法兩部分:
1、離子詞庫整理(即步驟Si中建立基礎(chǔ)詞庫)
[0031]如同求解化學(xué)分子式時(shí)需要已知各原子之間可形成何種組合一樣,拆分漢語句子,也需要已知各字之間能組合成何種詞,稱為離子詞庫。本發(fā)明中的離子詞庫定義廣泛,可以包括現(xiàn)代漢語大詞典中的既有成語和詞語,日常用語、詩詞、謗語、網(wǎng)絡(luò)常用語、特殊名稱等等,只要認(rèn)為這些字需要組合在一起的,都可以收錄為一個(gè)離子詞。詞庫存儲(chǔ)文字的