一種字?jǐn)?shù)統(tǒng)計方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001 ]本發(fā)明涉及計算機技術(shù)領(lǐng)域,特別涉及一種字?jǐn)?shù)統(tǒng)計方法及裝置。
【背景技術(shù)】
[0002] 現(xiàn)有技術(shù)對于同一語種的字?jǐn)?shù)統(tǒng)計技術(shù)已經(jīng)比較成熟,但是目前字?jǐn)?shù)統(tǒng)計的難點 在于一段文本或文檔中,存在兩種或多種以上的語言,如中英文混合,法日韓等多語文件, 按語言分項統(tǒng)計各自語言字?jǐn)?shù)無法實現(xiàn)。
【發(fā)明內(nèi)容】
[0003] 本發(fā)明要解決的是現(xiàn)有技術(shù)不能對包括多種語言的文件或一段文字中的多種語 言進(jìn)行分項統(tǒng)計字?jǐn)?shù)的技術(shù)問題。
[0004] 為了解決上述問題,本發(fā)明提供了一種字?jǐn)?shù)統(tǒng)計方法,包括:步驟一,讀取文字內(nèi) 容,將文字按照一定的長度分批次讀到內(nèi)存;步驟二,每讀到內(nèi)存一個批次的文字后,掃描 內(nèi)存中的文字,識別并統(tǒng)計文字間的標(biāo)點符號數(shù)目,之后去掉標(biāo)點符號,形成一個新的不包 含標(biāo)點符號的字符串;步驟三,讀取過濾掉標(biāo)點符號的字符串中的字或字符,逐字識別出語 言種類并計數(shù);步驟四,將逐次統(tǒng)計的標(biāo)點符號及每種語言文字或字符的數(shù)目各自相加。
[0005] 本發(fā)明還包括一種字?jǐn)?shù)統(tǒng)計裝置,包括:讀取模塊,用于讀取文字內(nèi)容,將文字按 照一定的長度分批次讀到內(nèi)存;標(biāo)點符號識別模塊,用于每讀到內(nèi)存一個批次的文字后,掃 描內(nèi)存中的文字,識別并統(tǒng)計文字間的標(biāo)點符號數(shù)目,之后去掉標(biāo)點符號,形成一個新的不 包含標(biāo)點符號的字符串;語言識別模塊,用于讀取過濾掉標(biāo)點符號的字符串中的字或字符, 逐字識別出語言種類并計數(shù);分項統(tǒng)計模塊,用于將逐次統(tǒng)計的標(biāo)點符號及每種語言文字 或字符的數(shù)目各自相加。
[0006] 通過以上技術(shù)方案可知,本發(fā)明提供一種字?jǐn)?shù)統(tǒng)計方法及裝置,對一段文本或文 檔進(jìn)行分語言字?jǐn)?shù)統(tǒng)計,使得字?jǐn)?shù)統(tǒng)計更準(zhǔn)確、詳細(xì),為翻譯領(lǐng)域的文件統(tǒng)計字?jǐn)?shù),提供了 便利,節(jié)省了時間。
【附圖說明】
[0007] 圖1 一種字?jǐn)?shù)統(tǒng)計方法流程圖1;
[0008] 圖2-種字?jǐn)?shù)統(tǒng)計方法流程圖2;
[0009] 圖3-種字?jǐn)?shù)統(tǒng)計裝置結(jié)構(gòu)示意圖。
【具體實施方式】
[0010] 下面將結(jié)合附圖及實施例對本發(fā)明的技術(shù)方案進(jìn)行更詳細(xì)的說明。
[0011] 需要說明的是,如果不沖突,本發(fā)明實施例以及實施例中的各個特征可以相互結(jié) 合,均在本發(fā)明的保護(hù)范圍之內(nèi)。
[0012] 實施例一,如圖1所示,一種字?jǐn)?shù)統(tǒng)計方法,該技術(shù)方案包括:步驟一,讀取文字內(nèi) 容,將文字按照一定的長度分批次讀到內(nèi)存;一定的長度,可以為固定個字節(jié)、一句話,也可 以為一段文字、或一片文章??砂凑招枨笤O(shè)定。步驟二,每讀到內(nèi)存一個批次的文字后,掃描 內(nèi)存中的文字,識別并統(tǒng)計文字間的標(biāo)點符號數(shù)目,之后去掉標(biāo)點符號,形成一個新的不包 含標(biāo)點符號的字符串;步驟三,讀取過濾掉標(biāo)點符號的字符串中的字或字符,逐字識別出語 言種類并計數(shù);步驟四,將逐次統(tǒng)計的標(biāo)點符號及每種語言文字或字符的數(shù)目各自相加。
[0013] 本發(fā)明提供一種字?jǐn)?shù)統(tǒng)計方法,對一段文本或文檔進(jìn)行分語言字?jǐn)?shù)統(tǒng)計,使得字 數(shù)統(tǒng)計更準(zhǔn)確、詳細(xì),為翻譯領(lǐng)域的文件統(tǒng)計字?jǐn)?shù),提供了便利,節(jié)省了時間。
[0014] 實施例二,如圖2所示,在實施例一的基礎(chǔ)上,更優(yōu)的,所述步驟三,識別出對應(yīng)的 語言并計數(shù)具體步驟為:依次識別是不是中文,如果是則計數(shù),如果不是則識別是不是英 文,如果是則計數(shù),如果不是則識別是不是法文,如果是則計數(shù),如果不是則識別是不是其 它語言,直到識別出每一個字或一個詞對應(yīng)的語言。
[0015] 更優(yōu)的,為每種語言設(shè)定一個編碼庫和語言模型,遍歷編碼庫初步識別出一個字 或是一個字符的語言類別,然后根據(jù)每種語言的語言模型及特定規(guī)則,完整的識別出一個 字、詞或字符。
[0016] 更優(yōu)的,所述步驟三,識別出對應(yīng)的語言并計數(shù)具體步驟為:字與字之間不帶空格 的語種按實際字符個數(shù)計算字?jǐn)?shù)。
[0017] 更優(yōu)的,所述步驟三,識別出對應(yīng)的語言并計數(shù)具體步驟為:單詞之間以空格區(qū)分 的語種,以空格或標(biāo)點符號為依據(jù)計算字?jǐn)?shù),不對空格進(jìn)行字?jǐn)?shù)統(tǒng)計。
[0018]如圖2所示,一種字?jǐn)?shù)統(tǒng)方法的具體步驟為:
[0019]準(zhǔn)備多語文檔或一串文字;
[0020] 從文件或一段文字中,把文字按需分批次讀取到內(nèi)存;
[0021] 通過標(biāo)點符號算法,計算出標(biāo)點符號個數(shù),并計數(shù);
[0022] 把內(nèi)存文字,通過一個標(biāo)點符號過濾算法,去掉標(biāo)點符號,形成一個新的字符串; [0023]讀取過濾掉標(biāo)點符號的字符串中的一個字或是一個字符,依次通過中文識別算 法、英文識別算法、法文識別算法等,直到識別出對應(yīng)的語言并且完整的識別出一個字或一 個詞,轉(zhuǎn)向計數(shù)器計數(shù);
[0024] 每個語言識別算法,首先會根據(jù)計算機UNICODE編碼庫,初步識別出一個字或是一 個字符的語言,對于計算機UNICODE編碼庫不能準(zhǔn)確識別的字或字符,然后再根據(jù)各自語言 的大量單語訓(xùn)練出的語言模型進(jìn)行匹配,做概率統(tǒng)計識別,最后根據(jù)一些特定規(guī)則,完整的 識別出一個字或詞。
[0025] 具體特定規(guī)則如下:
[0026] ①中文、日文、韓文等字與字之間不帶空格的語種按實際字符個數(shù)計算,如我是 誰、私《誰、Ml 7卜午f習(xí)等的統(tǒng)計結(jié)果分別為3、3、5;
[0027]②英文等單詞之間以空格區(qū)分的語種,以空格或標(biāo)點符號為依據(jù)計算字?jǐn)?shù),如I am a Chinese,and you?統(tǒng)計結(jié)果為8;
[0028] ③每個標(biāo)點符號均作為一個文字或單詞進(jìn)行計算;
[0029] ④每個特殊字符均作為一個文字或單詞進(jìn)行計算;如稱&等;
[0030] ⑤一段連續(xù)的數(shù)字,作為一個字計算;如123456其字?jǐn)?shù)為1;
[0031] ⑥一段連續(xù)的字母,作為一個字計算;如abcdefg其字?jǐn)?shù)為1;
[0032]⑦一段連續(xù)的數(shù)字或字母之間插入了一個或多個字母、數(shù)字或特殊字符,則分開 統(tǒng)計。如 123a456、123abc456、123@456、abc2def、abcl23def、abc$def 等其字?jǐn)?shù)為 3;
[0033]⑧空格不進(jìn)行字?jǐn)?shù)統(tǒng)計;
[0034] 分項統(tǒng)計計數(shù)器,會記錄每種語言和標(biāo)點符號分項統(tǒng)計數(shù)據(jù);
[0035] 根據(jù)實際業(yè)務(wù)規(guī)則,把計數(shù)器分項記錄的數(shù)據(jù)輸出;如,中到英翻譯,忽略文件內(nèi) 容中的英文,即只統(tǒng)計中文,不記錄英文,如果含有其他語言