專利名稱:含有漢語的字符串的分詞方法及在字符串中檢索詞的方法
技術領域:
本發(fā)明涉及一種自然語言數據處理的技術領域,特別是指包含有 漢語字符串的分詞方法及在字符串中檢索詞的方法。
背景技術:
漢語沒有單詞的概念,而是按照字來直接構成語句。在英語中, 詞和詞之間是以空格為自然分隔符的。但在漢語中,詞和詞之間沒 有明顯的分隔,所以在作漢語的信息處理的時候,就需要對漢語句 子進行分詞,即將漢字字符串中的各個漢字轉化成為漢語詞。目前 對漢語句子的分詞方法,都照搬了英文或者其他印歐語言的特點, 力圖把漢語句子切分為 一個連續(xù)的、無交疊的詞匯的序列。
這種分詞方法是建立在中文字符的語義作用范圍是緊鄰左右這 一狹窄范圍的基礎上的,因此切分出來的詞匯在原句子中是連續(xù)的 中文字符構成。而這并不完全符合漢語構成句子時的構詞習慣,因 為漢語在構成句子時,并不確保每個詞匯中的每個字在句子中都是 連續(xù)出現(xiàn)的。從而影響了后續(xù)的應用,例如對檢索、搜索、翻譯、 摘要等應用。為了用符合漢語構成句子時的構詞習慣對含有漢語的 字符串進行分詞。就需要更準確的翻譯漢語字符中的語義劃分關系。
發(fā)明內容
有鑒于此,本發(fā)明的主要目的在于提供 一 種含有漢語的字符串的 分詞方法及在字符串中檢索詞的方法,用于限定語義作用范圍以更 準確反應漢語字符中的語義劃分關系。
本發(fā)明提供了一種含有漢語字符串的分詞方法,包括A、 接收包含有漢語字符的字符串;
B、 對于每個字符,確定所述字符串中該字符的語義作用范圍;
C、 對于每個字符,在其語義作用范圍內,確定與該字符可匹配 成詞的其他字符并構成詞。
由上可以看出,經過步驟B完成了對每個字符的語義作用范圍 的界定,由此體現(xiàn)出了漢語作為非線性語言和其它線性語言之間區(qū) 別。如此就可以在步驟C中完成語義作用范圍內的構詞匹配。從而 實現(xiàn)了所切分出的結果詞匯可以更準確反應漢語字符中的語義劃分 關系。
優(yōu)選的是,所述步驟B包括Bll、對于每個字符,設置所述字 符串中可距離該字符的最遠距離為最大跳躍長度;B21、確定所述字 符的最大跳躍長度范圍內最近的界限分隔符標點;B31、確定所述最 近的界限分隔符標點到所述字符的距離值和最大跳躍長度值中的最 小值,所述字符到該最小值距離所形成的距離區(qū)間作為所述字符的 語義作用范圍。
由上可以看出,因為一個字符的語義作用范圍是不可能越過界限 分隔符標點的,所以通過步驟Bll、步驟B21和步驟B31就將每個 字符的語義作用范圍界定在既不超過最大跳躍長度范圍又不越過界 限分隔符標點的范圍內。
優(yōu)選的是,所述步驟B包括B12、對于每個字符,設置所述字 符串中距離該字符最遠距離為最大跳躍長度;B22、計算所述字符串 的每個字符到所述字符串一個端點的距離作為真實偏移量;B32,計 算每個字符的虛擬偏移量,虛擬偏移量=真實偏移量+所述端點與該 字符之間的界限分隔符標點的數量x不小于最大跳躍長度的數值; B42,對于每個字符,與該字符虛擬偏移量值之差小于最大跳躍長度 值的其他字符組成該字符的語義作用范圍。
由上可以看出,虛擬偏移量體系是在真實偏移量即機械字符的基 礎上,考慮了界限分隔符標點的劃界作用而產生的對字符的語義位 置進行描述的體系。在步驟B32中將界限分隔符標點的權重設為不小于最大跳躍長度的數值。這樣就保證了在進行語義作用范圍界定 的時候絕對不會越過界限分隔符標點。并且因為有了定量的位置體 系,所以在虛擬偏移量的基礎上可以非常方便的進行進一步的處理。
優(yōu)選的是,步驟C中構成詞為采用非線性切分法構成詞,包括 在該字符的語義作用范圍內,依次判斷與該字符非連續(xù)的匹配的跳 詞構成詞。
由上可以看出,經過本步驟可以在有效的界定了字符的語義作用 范圍之后,在所述語義作用范圍之內進行有效的非線性詞匯的切分。
優(yōu)選的是,所述界限分隔符標點包括句號、逗號、分號、問號和 感嘆號以及所包含字符的長度之和超過最大跳躍長度的引號或括號。
由上可以看出,標點符號被分為了界限分隔符標點和非界限分隔 符標點。界限分隔符標點是刻畫了語義作用范圍的標點,通常可以 理解為被用來斷句的標點。例如句號、逗號、分號、問號和感嘆號 等。對于所包含字符的長度之和超過最大跳躍長度的引號或括號也 被視為界限分隔符。其他的對語義作用范圍沒有影響的標點則被視 為非界限分隔符標點。例如所包含字符的長度之和沒有超過最大跳
躍長度的引號。非界限分隔符標點被視為普通的字符。
優(yōu)選的是,步驟C中構成詞的步驟還包括采用線性切分法構 成詞。
由上可以看出,經過本步驟還可以在所述語義作用范圍之內進行 有效的線性詞匯的切分。
優(yōu)選的是,所述線性切分法包括至少以下之一正向最大匹配法、 逆向最大匹配法、雙向最大匹配法、逐詞遍歷匹配法、最大似然概 率法、或切割標志法。
優(yōu)選的是,所述步驟C后還包括,D、記錄所構成的詞以及各個 詞之間的語義關系。
由上可以看出,經過本步驟可以在切分出結果詞匯不僅記錄詞匯 還記錄各個詞匯之間的語義關系。優(yōu)選的是,步驟D所述記錄各個詞之間的語義關系包括Dl, 將所有構成的詞按照在字符串中的位置進行排序,包括根據各個 詞的第一個字符在字符串中的先后位置對各個詞進行先后排序;且, 當不同詞的第 一個字符在字符串中的位置相同時,根據詞的最后一 個字符在字符串中的先后位置對不同詞進行先后排序;且,當不同 詞的第一個字符和最后一個字符在字符串中的位置一樣時,根據詞 所包含字符數量值對不同詞進行先后排序;D2,為每個字符記錄其 所屬詞的詞匯序列號。
由上可以看出,所述詞匯序列號包含了詞匯之間的語義關系。記 錄記錄各個詞的詞匯序列號就記錄了各個詞之間的語義關系。
本發(fā)明還提供了一種在字符串中檢索詞的方法,其特征在于,包
括
M、確定該字符串中包含待檢索詞的字符;
N、確定該字符的語義作用范圍內所記錄的構成的詞;
0、確定與該祠4全詞匹配的所記錄的詞。
圖1為對字符串進行分詞的預處理流程圖; 圖2為一個實施例中一個示例字符串及其對應的真實偏移量記 錄結果示意圖3為計算字符的虛擬偏移量的流程圖4為一個實施例中一個示例字符串及其對應的虛擬偏移量記 錄結果示意圖5為同時記錄了虛擬偏移量和真實偏移量的記錄結果示意圖; 圖6為一個同時記錄了虛擬偏移量和真實偏移量的句子的記錄 結果示意圖7為一個示例語句的字符串的示意圖8為采用了正向最大匹配法以及逆向最大匹配法的分詞方案 對圖7中的示例字符串切分得到的結果示意7圖9為非線性切分的流程圖10為含有跳詞情況的示例語句的字符串的示意圖; 圖11為本實施例中將切分出來的分詞結果進行立體關聯(lián)得到立 體分詞結果的流程圖12為記錄的具有歧義的示例語句的第一種切分結果的示意
圖13為記錄的具有歧義的示例語句的第二種切分結果的示意
圖14為記錄了具有歧義的示例所有可能的切分結果的示意圖15為錯誤跳詞的示例語句字符串的示意圖16為帶真實偏移量的字符串的示意圖17為帶了虛擬偏移量的字符串的示意圖18為切分出的結果示意圖19為帶真實偏移量的切分結果示意圖20為帶虛擬偏移量的切分結果示意圖21為使用真實偏移量而產生跳詞錯誤的切分結果的示意圖22為使用虛擬偏移量而避免了跳詞錯誤的切分結果的示意
圖23為使用真實偏移量而記錄了錯誤跳詞的記錄結果的示意
圖24為使用虛擬偏移量而避免了跳詞錯誤的記錄結果的示意
圖25為帶虛擬偏移量的多種跳詞示例語句字符串的示意圖; 圖26為多種跳詞示例語句字符串的切分結果示意圖; 圖27為多種跳詞示例語句字符串的使用虛擬偏移量的記錄結果 示意圖28為圖10中例句的傳統(tǒng)的線性分詞的結果的示意圖29為賦予詞匯序號后的結果詞匯示意圖30為圖IO中例句的切分結果進行立體關聯(lián)得到的立體分詞結果的示意圖31為從圖30的立體分詞結果得到兩條不同主路徑的結果示意圖。
具體實施例方式
由于本發(fā)明涉及對漢語句子分詞的方法,因此在介紹本發(fā)明之 前,首先對目前常用的漢語句子分詞方法進行介紹
目前常用的漢語句子分詞方法包括正向最大匹配法、逆向最大 匹配法、雙向最大匹配法、逐詞遍歷匹配法、最大似然一既率法、以 及切割標志法等。這些分詞方法均為線性切分,即切分出的詞在原 句子字符串中均為連續(xù)字符構成。其中,正向最大匹配法是從字符 串的字首開始匹配,每次切分出可匹配的最長詞,再對剩余字符串 重復這一步驟,直至全部字符串都經過切分止。逆向最大匹配法是 從字符串字尾開始匹配,每次切分出可匹配的最長詞,再對剩余字 符串重復這一步驟,直至全部字符串都經過切分止.雙向最大匹配 法為正向最大匹配法和逆向最大匹配法的綜合運用,分別執(zhí)行正向 最大匹配法和逆向最大匹配法,若二者所切分的結果不同,則需采 用別的方法處理。最大似然概率法在出現(xiàn)歧義切分的時候,根據不 同切分方案的出現(xiàn)概率大小進行判斷,最后選取出現(xiàn)概率最大的方 案。而逐詞遍歷匹配法是對整個字符串搜尋出最長詞,切分出可匹 配的最長詞后,再對剩余字符串重復這一步驟,直至全部字符串都 經過切分止。切割標志法則先分析字符串中僅能作為詞首或詞尾的 字符,將其作為分詞標志,據此將字符串分割成較短的字符串,然 后配合其他方法進行切分。
但是如前所述,用這些方法切分出來的詞匯在原句子中是連續(xù)的 中文字符構成。而這并不完全符合漢語構成句子時的構詞習慣。
下面結合附圖,對本發(fā)明提供的漢語字符分詞方法的實施方式進 行詳細說明。在本實施方式中,非漢語字符算為1個單位長度,例 如英文字母、數字或空格。漢語字符算為2個單位長度。當然,漢語字符和非漢語字符所占的單位長度也可以采用其它的規(guī)定。 作用范圍。如圖1所示為對包含有漢語字符的字符串進行分詞的預
處理流程圖,包括以下步驟
步驟102,接收包含有漢語字符的字符串。本實施例中,所接收 的字符串可以是包含有若干個漢語句子或者分句的字符串。
步驟104,確定所采用的最大跳躍長度。對于每個字符來說,最 大跳躍長度指考慮字符的語義范圍時可以距離該字符最遠的距離, 最大跳躍長度用來劃分字符的語義作用范圍,即該字符到最大跳躍 長度值的區(qū)間為該字符的語義作用范圍。本例中被定義為IO個單位 長度。通常,切分時的運算量和最大跳躍長度呈線性相關,可以根 據硬件配置、精確度要求和使用環(huán)境等因素確定所采用的最大跳躍 長度。對于每個字符,僅考慮其和在最大跳躍長度范圍內的其他字 符之間的語義相關性。最大跳躍長度不能定義過短,否則導致很多 有效的跳詞(跳詞指非連續(xù)漢字所形成的詞)不能被有效發(fā)現(xiàn);同 時,最大跳躍長度不能過長,否則會導致很多無效的跳詞出現(xiàn),并 且在人工判讀或者在談話交流的使用環(huán)境下,會給理解者帶來困難, 尤其是在應用于談話交流中時。最大跳躍長度可以定義為10到14 個單位長度。
步驟106,確定所定義的界限分隔符。界限分隔符是對語義作用 范圍有劃界作用的標點符號。標點符號被分為了界限分隔符標點和 非界限分隔符標點。界限分隔符標點是刻畫了語義作用范圍的標點, 通??梢岳斫鉃楸挥脕頂嗑涞臉它c。例如句號、逗號、分號、問號 和感嘆號等。對于所包含字符的長度之和超過最大跳躍長度的引號 或括號也被視為界限分隔符。其他的對語義作用范圍沒有影響的標 點則被視為非界限分隔符標點。例如所包含字符的長度之和沒有超 過最大跳躍長度的引號。非界限分隔符標點被視為普通的字符,占 一個或兩個單位長度。
可見,通過步驟104和106,便可以對每個字符的語義作用范圍進行初步劃界,通過這兩個步驟,該字符的語義作用范圍為最近 的界限分隔符標點到所述字符的距離值和最大跳躍長度值中的最小值。
步驟108,計算并記錄字符串所有字符的真實偏移量。真實偏移 量是指字符距離字符串一個端點的偏移量。在本實施例中,采用的 是到最左端起點的偏移量。當然,真實偏移量的起點可以是字符串 的任意一個端點。如圖2所示,為本實施例中一個示例字符串及其 對應的真實偏移量的記錄結果示意圖。其中標點符號被按照漢語字 符算為2個單位長度。當然也可以采用其他記錄方式,只要能夠有 效記錄下字符和它的真實偏移量即可。
步驟IIO,計算并記錄字符串所有字符的虛擬偏移量。虛擬偏移 量是相對于真實偏移量,針對界限分隔符做出 一定調整得到的字符 偏移量。因為在真實偏移量體系中,對語義作用范圍有劃界作用的 界限分隔符,例如標點符號,被視為普通的字符,并不能體現(xiàn)出其 在語句中對語義的影響。所以為了更準確反應漢語字符中的語義劃 分關系而引入了虛擬偏移量。
在本實施例中,字符的虛擬偏移量為該字符左側所有字符長度之 和加上該字符左側所有界限分隔符的數量與一不小于最大跳躍長度 的數之積相加所得到的和。以最大跳躍長度為IO個單元長度,所述 不小于最大跳躍長度的數為12個單元長度為例。如圖3所示為,計 算字符的虛擬偏移量的流程圖,包括
步驟302,計算每個字符的真實偏移量。在本實施例中為每個字 符距離字符串最左邊端點的距離。
步驟304,計算每個字符左邊的界限分隔符的數量。
步驟306,計算每個字符的虛擬偏移量。虛擬偏移量=真實偏移 量+界限分隔符的數量x (最長跳躍長度+2)。
由上得到虛擬偏移量的值。當然,計算虛擬偏移量的方法可以有 很多種,例如,得到真實偏移量后,從左向右每遇到一個界限分隔 符,則把所述界限分隔符右邊的所有字符的虛擬偏移量都加上一個
ii不小于最長跳躍長度的值(例如最長跳躍長度+2),這樣到字符串 最后得到的虛擬偏移量即為所求的虛擬偏移量。
如圖4所示為一個示例字符串及其對應的虛擬偏移量的記錄結
果示意圖。當然也可以采用其他記錄方式,只要能夠有效記錄下字
符和它的虛擬偏移量即可。如圖5所示,為另一個實施方式中同時 記錄了虛擬偏移量和真實偏移量的記錄結果示意圖。
由上可以看出,因為引入了界限分隔符而使得在虛擬偏移量的體 系中,每個字符的語義作用范圍都有了明確的界限劃分,對于每個 字符來說,與該字符虛擬偏移量值之差小于最大跳躍長度值的其他 字符組成該字符的語義作用范圍。更準確反應漢語字符中的語義劃 分關系。為后續(xù)的進一步處理提供了良好的基礎。
虛擬偏移量體系還為相似度比較提供了 一個更準確的字符坐標 體系。如圖6所示為, 一個同時記錄了虛擬偏移量和真實偏移量的 句子的記錄結果示意圖。下面結合圖5和圖6詳細說明虛擬偏移量 體系對提高檢索匹配度的作用。
以檢索查詢的關鍵字為中華+電話,檢索的目標字符串分別是 圖5和圖6的句子為例。所選擇的匹配方法7>式為了說明方便,現(xiàn) 筒單的設定為
絕對匹配度-sigema(每個詞匯在目標字符串中的匹配度);
如果直接匹配上,則每個詞匯在目標字符串中的匹配度為1.0;如 果沒有直接匹配上而是在目標串出現(xiàn)了詞匯中的單字,則按照單字 之間的真實偏移量距離計算所述匹配度,匹配度=1.0/(0.5*每個單字 之間字符間隔距離總和+2),如果每個單字之間單個漢字計算的距離 總和大于等于10,則認為所述匹配度為0。
按照真實偏移量,計算出來的匹配度是
圖5中的句子匹配兩個詞匯"電話"完全匹配,力口 1.0;而"中 華,,匹配的是"中,華",匹配度是1.0 /( 0.5 * 2.0 + 2.0 ) = 0.333; 總匹配度是1.333。
圖6中的句子匹配兩個詞匯"電話"完全匹配,力。1.0;而"中華,,匹配的是"中加華",匹配度是1.0 /( 0.5 * 2.0 + 2.0 ) = 0.333; 總匹配度是1.333。
這樣一個匹配度結果,可見與自然人對于上述兩句話的理解是矛 盾的,圖6中的句子的匹配度顯然應該高于圖5中的句子。
如果按照虛擬偏移量,計算出來的匹配度是
圖5中的句子匹配兩個詞匯"電話"完全匹配,力口 1.0;而"中 華"匹配的是"中,華",但由于"華"與"中"之間間隔的距離 是14,大于10,匹配度是0.0;總匹配度是l.O。
圖6中的句子匹配兩個詞匯"電話"完全匹配,力口 1.0;而"中 華,,匹配的是"中加華,,,匹配度是1.0 /( 0.5 * 2.0 + 2.0 ) = 0.333; 總匹配度是1.333、
這樣 一 個匹配度結果,可見更接近于自然人對于上述兩句話的理 解。圖6中的句子的匹配度確實已經高于圖5中的句子。
由上可以看出,即使不改進原有的任何匹配公式,只是用虛擬偏 移量去替換真實偏移量,就能顯著改善匹配度的質量,這是因為通 過虛擬偏移量劃分了語義作用范圍。虛擬偏移量體系的運用能顯著 提高檢索匹配的匹配準確性。這對于檢索、搜索等應用來講,是有 真正幫助的。
在經過預處理之后,需要對字符串進行切分。首先進行線性切分。 在本實施例中,釆用正向最大匹配法、逆向最大匹配法或者是最大 似然概率法同時進行分詞。當然,也可以采用任何線性切分方法進 行切分。而且采用越多的線性切分的方法得到的切分結果就越多, 最終的準確性也將越高。如圖7所示為一個示例語句的字符串的示 意圖。如圖8所示為采用了正向最大匹配法以及逆向最大匹配法的 分詞方案對圖7中的示例字符串切分得到的結果示意圖。
在本實施例中,經過預處理之后,還對字符串進行非線性切分。 漢語和印歐語言的一個很大的不同是,漢語存在非線性的情況,例 如上面所提到的跳詞,即非連續(xù)漢字所形成的詞。例如在句子"他 在湖上劃一只小船。"句子中"劃船"就是跳詞。"劃船"由兩個在句子中并不連續(xù)的部分構成,如圖10示出了該例子的示意圖。按 照常用的線性切分方法進行切分時,是不可能得到"劃船"這樣的 結果。因為漢語的字符可以和句子中并不直接連接的其他部分構成 詞語,所以為了提高切分的準確性,需要考慮漢語的非線性情況。 但是由于在漢語中的每個字符都是有其語義作用范圍,故不需要每 個字符和所有的其他字符都進行匹配。通過虛擬偏移量體系,就可 以有效的確定出每個字符的語義作用范圍。其中的最長跳躍長度和
界限分隔符有效地限定了字符的語義作用范圍。如圖9示出了非線 性切分的流程圖,包括
步驟902,讀入第一個字符。
步驟904,判斷是否為漢語字符,'是,則進入步驟906,'否, 則進入步驟910。
步驟906,判斷在語義作用范圍內是否有匹配的漢字,'有,則 進入步驟908,'否,則進入步驟910。對于判斷是否匹配,可以采 用現(xiàn)有的技術實現(xiàn),例如根據已有的詞語庫或即時更新的詞語庫進 行判斷。
步驟卯8,切分并記錄所有和該漢語字符匹配的跳詞。
步驟910,判斷是否是最后一個字符,'是,則結束,'否,則 進入步驟912。
步驟912,讀入下一個字符后進入步驟904。
由上可以看出,和線性切分不同的是,在進行非線性切分的時候 需要考慮字符的語義作用范圍。而語義作用范圍在傳統(tǒng)的處理過程 中很難進行有效劃界。而隨著虛擬偏移量體系的引入,每個字符的 語義作用范圍可以很快得到劃界。不難理解,當在線性切分考慮字 符的語義作用范圍時,可以將線性切分視為非線性切分的 一 個特例。
在字符串經過切分之后,需要將切分結果進行有效的記錄。在本 實施例中,將切分出來的結果詞匯進行立體關聯(lián)得到立體分詞結果。 如圖ll所示,為本實施例中將切分出來的分詞結果進行立體關聯(lián)得 到立體分詞結果的流程圖,該流程包括步驟1102,將所有切分出的結果詞匯,即所構成的詞,按照在
字符串中的位置進行排序,并賦予詞匯序號。所述按照在字符串中 的位置進行排序包括,結果詞匯的第一個字符在字符串中的位置靠
前的在先;且,結果詞匯的第一個字符在字符串中的位置相同的, 結果詞匯的最后一個字符在字符串中的位置靠前的在先;且,結果 詞匯的第一個字符和最后一個字符在字符串中的位置一樣的,包含 字符少的在前。
步驟1104,記錄每個字符所屬所有的結果詞匯的詞匯序列號。
以圖IO的句子為例,圖29為賦予詞匯序號后的結果詞匯示意圖。 最終得到如圖30所示的立體關聯(lián)得到的立體分詞結果。
當然,還可以采用其他記錄方法。例如同時記錄切分出的結果詞 匯的屬性,即,屬于線性切分結果還是非線性切分結果,以及是否 屬于歧義切分結果等。只要能夠有效記錄下切分的結果并足夠表達 出各切分結果之間的語義關系即可。
在本實施例中,如圖30所示的立體分詞結果可以得到如圖31 所示的,分別由詞匯序號依次為1、 2、 3、 5、 6、 7主i 各徑和詞匯序 號依次為1、 2、 3、 4、 6、 7主路徑串聯(lián)起來的句子。句子的語義路 徑是按照詞匯序號鏈接的。其中在擁有詞匯序號為4和5的兩個結 果詞匯的字符"劃"處出現(xiàn)了分支而形成了兩條主路徑。當然,只 要有效記錄了帶有足夠語義關系的切分結果,就可以達到更好應用 效果。如下文中對于圖30所示的切分結果在自動翻譯中的應用。在 另一個實施例中,把凡是前后相接的詞匯進行線性串聯(lián),同時根據 界限分隔符標點把文字段分成句子或者分句。凡是一個字(要求不 是跳詞的組成部分)纟皮前后分詞到兩個詞匯中的情況,在這個地方 紀錄一個特殊節(jié)點標記,仍然順序連接分好的詞匯。對于跳詞、包 含詞,按照非線性、非連續(xù)、立體網絡狀關聯(lián)原則,進行關聯(lián)標記 (跳詞采用跳躍關聯(lián)標記、類似"中國人民"這種情況,采用并行 分詞關聯(lián)標志)。則立體聯(lián)系過程結束。
下面結合附圖對歧義情況進行詳細說明。如圖12所示,為記錄的具有歧義的示例語句的第一種切分結果
的示意圖。圖中上排為字符串,下排為切分出的詞語的對應的虛擬
偏移量。如圖13所示,為記錄的具有歧義的示例語句的第二種切分 結果的示意圖。如圖14所示,為記錄了具有歧義的示例所有可能的 切分結果的示意圖。圖中上排開頭的Z表示為字符串,中排開頭的 Jl表示為第一種切分結果。下排開頭的J2表示為第二種切分結果。 下面結合附圖對跳詞情況進行詳細說明。
以圖15的示例語句為例子,下面結合附圖詳細說明分別在真實 偏移量體系中和在虛擬偏移量體系中進行非線性切分的情況。 如圖16所示,為帶真實偏移量的字符串的示意圖。 如圖17所示,為帶了虛擬偏移量的字符串的示意圖。 如圖18所示,為切分出的結果示意圖。 如圖19所示,為帶真實偏移量的切分結果示意圖。 如圖20所示,為帶虛擬偏移量的切分結果示意圖。 如圖21所示,為使用真實偏移量而產生跳詞錯誤的切分結果的 示意圖。
如圖22所示,為使用虛擬偏移量而避免了跳詞錯誤的切分結果 的示意圖。
如圖23所示,為使用真實偏移量而記錄了錯誤跳詞的記錄結果 的示意圖。圖中下排開頭的T表示的是一組跳詞。跳詞是由至少2 個不相連的部分組成。圖中下排第一個真實偏移量是跳詞第一部分 的開始的真實偏移量,第二個真實偏移量是跳詞第 一部分的結尾的 真實偏移量,第三個真實偏移量是跳詞第二部分的開始的真實偏移 量,第四個真實偏移量是跳詞第二部分的結尾的真實偏移量。
如圖24所示,為使用虛擬偏移量而避免了跳詞錯誤的記錄結果 的示意圖。
在漢語中還存在多種跳詞的情況,下面結合附圖進行詳細說明。 如圖25所示,為帶虛擬偏移量的多種跳詞示例語句字符串的示 意圖。如圖26所示,為多種跳詞示例語句字符串的切分結果示意圖。 如圖27所示,為多種跳詞示例語句字符串的使用虛擬偏移量的 記錄結果示意圖。其中第一個虛擬偏移量是跳詞第一部分的開始的 虛擬偏移量,第二個虛擬偏移量是跳詞第一部分的結尾的虛擬偏移 量,第三個虛擬偏移量是跳詞第二部分的開始的虛擬偏移量,第四 個虛擬偏移量是跳詞第二部分的結尾的虛擬偏移量。中排開頭的Tl 表示為第一個跳詞。下排開頭的T2表示為第二個跳詞。在本實施例 中,為了簡化起見,跳詞的原則是跳近不跳遠,如果近處的跳詞已 經成立,則》文棄一個與遠端完全一樣的跳詞(不一樣的還是可以跳)。 所以放棄了有虛擬偏移量為6的"開"和虛擬偏移量為12的"心" 組成的if兆詞。
與此類似的還有包含詞情況。即 一 個詞匯中包含了另 一 個詞匯。 如"南征北戰(zhàn)"中就包含了 "征戰(zhàn)"。這種情況的處理可以參見對 跳詞的處理。在此就不予以贅述。
由上可以看出,虛擬偏移量有效避免了跳詞錯誤的出現(xiàn)。而且可 以根據需要通過調整最長跳躍距離來調整虛擬偏移量,進而可以有 效控制運行速度和結果準確性。而將切分出來的分詞結果進行立體 關聯(lián)得到的立體分詞結果為字符串再進一步的處理提供了良好的基 礎。面向不同的應用目的,可以使用立體分詞結果中的部分或全部內容。
下面以應用于檢索和自動翻譯為例進行說明。
對于檢索來說,可以運用本專利請求中的虛擬偏移量和跳詞結 果,來顯著提升搜索結果。例如參見上文中圖5和圖6中兩個句子 的匹配度的比4交。
再以圖IO的句子為例。如果使用者使用"他在湖上劃船"作為 檢索語句,在包含"他在湖上劃一條小船"這個句子的一長串字符 串中作檢索。采用傳統(tǒng)的分詞結果,是無法找到與"他在湖上劃船" 這個檢索語句完全一模一樣的結果來的,只有近似匹配結果,而沒 有完全匹配結果。而實際上從自然人的語義理解來看,應該是完全匹配的結果。而根據立體分詞結果,在分詞立體網絡結果中,存在 一條主路徑組成了 "他在湖上劃船"。進行檢索匹配時,這是一個 完全匹配而不是 一 個近似匹配。這樣的結果更符合人們對于漢語的 語義理解的要求。
對于漢英自動翻譯來說,還是以圖IO的句子為例。傳統(tǒng)的線性
分詞的結果如圖28所示。其翻譯結果應該是"He is driving a little boat on lake"。
而根據如圖30所示立體分詞結果。"劃船"這個詞匯會被直接 找到,如圖31的所示,按照詞匯序號依次為1、 2、 3、 5、 6、 7的 用實線箭頭連^妄的主^各徑,其翻i奪結果應該是"He is rowing a little boat on lake"。
很顯然根據立體分詞結果得到的翻譯結果更準確,因為立體分詞 找到了準確的詞匯來傳達語義,而傳統(tǒng)線性分詞方法則丟失了原有
句子中重要的語義信息。
以上僅為本發(fā)明的較佳實施方式,并不以限制本發(fā)明,凡在本發(fā) 明的精神和原則之內,所作的任何修改等,例如采用指針的方式替 代上述序列號的方式記載語義關系,均應包含在本發(fā)明的保護范圍 之內。
18
權利要求
1. 一種含有漢語的字符串的分詞方法,其特征在于,包括A、接收包含有漢語字符的字符串;B、對于每個字符,確定所述字符串中該字符的語義作用范圍;C、對于每個字符,在其語義作用范圍內,確定與該字符可匹配成詞的其他字符并構成詞。
2. 如權利要求l所述方法,其特征在于,所述步驟B包括 Bll、對于每個字符,設置所述字符串中可距離該字符的最遠距離為最大跳躍長度;B21、確定所述字符的最大跳躍長度范圍內最近的界限分隔符標點;B31、確定所述最近的界限分隔符標點到所述字符的距離值和最 大跳躍長度值中的最小值,所述字符到該最小值距離所形成的距離 區(qū)間作為所述字符的語義作用范圍。
3. 如權利要求l所述方法,其特征在于,所述步驟B包括 B12、對于每個字符,設置所述字符串中距離該字符最遠距離為最大跳躍長度;B22、計算所述字符串的每個字符到所述字符串一個端點的距離作為真實偏移量;B32、計算每個字符的虛擬偏移量,虛擬偏移量=真實偏移量+所 述端點與該字符之間的界限分隔符標點的數量x不小于最大跳躍長度的數值;B42、對于每個字符,與該字符虛擬偏移量值之差小于最大跳躍 長度值的其他字符組成該字符的語義作用范圍。
4. 如權利要求2或3所述方法,其特征在于,所述界限分隔符 標點包括句號、逗號、分號、問號、感嘆號,以及所包含字符的長 度之和超過最大跳躍長度的引號或括號。
5. 如權利要求1、 2或3所述方法,其特征在于,步驟C中所述構成詞為采用非線性切分法構成詞,包括在該字符的語義作用范圍內,依次判斷與該字符匹配的跳詞構成詞。
6. 如權利要求5所述方法,其特征在于,步驟C中構成詞的步 驟還包括采用線性切分法構成詞。
7. 如權利要求6所述方法,其特征在于,所述線性切分法包括 至少以下之一正向最大匹配法、逆向最大匹配法、雙向最大匹配法、逐詞遍歷 匹配法、最大似然積X率法、或切割標志法。
8. 如權利要求6或7所述方法,其特征在于,所述步驟C后還 包括,D 、記錄所構成的詞以及各個詞之間的語義關系。
9. 如權利要求8所述方法,其特征在于,步驟D所述記錄各個 詞之間的語義關系包括Dl、將所有構成的詞按照在字符串中的位置進行排序,包括 根據各個詞的第一個字符在字符串中的先后位置對各個詞進行 先后排序;且,當不同詞的第 一個字符在字符串中的位置相同時,根據詞的最后 一個字符在字符串中的先后位置對不同詞進行先后排序;且,當不同詞的第一個字符和最后一個字符在字符串中的位置一樣 時,根據詞所包含字符數量值對不同詞進行先后排序;D2、為每個字符記錄其所屬詞的詞匯序列號。
10. 如權利要求1的在字符串中檢索詞的方法,其特征在于,包括M、確定該字符串中包含待檢索詞的字符;N、確定記錄的該字符的語義作用范圍內所構成的詞;O、在所構成的詞中檢索待檢索詞。
全文摘要
本發(fā)明提供了一種含有漢語字符串的分詞方法,包括接收包含有漢語字符的字符串;對于每個字符,確定所述字符串中該字符的語義作用范圍;對于每個字符,在其語義作用范圍內,確定與該字符可匹配成詞的其他字符并構成詞。經過對每個字符的語義作用范圍的界定,體現(xiàn)漢語作為非線性語言和其它線性語言之間區(qū)別。從而切分出的結果詞匯可以更準確反應漢語字符中的語義劃分關系。本發(fā)明還提供了一種在字符串中檢索詞的方法,包括確定該字符串中包含待檢索詞的字符;確定該字符的語義作用范圍內所記錄的構成的詞;確定與該待檢詞匹配的所記錄的詞。
文檔編號G06F17/27GK101464855SQ200910000440
公開日2009年6月24日 申請日期2009年1月13日 優(yōu)先權日2009年1月13日
發(fā)明者吳長林, 飔 陳 申請人:吳長林