專利名稱:中文分詞方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及中文信息處理領(lǐng)域,尤其涉及中文信息處理領(lǐng)域使用的一種中文分詞方法及裝置。
背景技術(shù):
對(duì)于中文,最小的、能夠獨(dú)立活動(dòng)的、有意義的語言成分是詞,詞由單個(gè)或多個(gè)字構(gòu)成,一般用得最多的是二字詞,其次,是單字詞,另外還有一些多字詞(如成語、專有名詞等)。但是中文以字為基本的書寫單位,詞與詞之間沒有類似英文空格之類用于標(biāo)識(shí)詞邊界的符號(hào),因此,對(duì)中文文本中的每個(gè)句子進(jìn)行分詞,也就是由機(jī)器自動(dòng)識(shí)別句子中詞的邊界,是中文文本分析處理中首先要解決的問題。
目前,常用的分詞方法包括全切分分詞方法,最大匹配分詞法,最短路徑分詞法等。其中,最短路徑分詞法的基本思想是根據(jù)詞典,找出句子中所有可能的詞,構(gòu)造這些詞的有向無環(huán)圖,每個(gè)詞對(duì)應(yīng)圖中的一條有向邊,并給這些有向邊賦相應(yīng)的邊長(亦稱為權(quán)值),此時(shí),分詞問題轉(zhuǎn)換為求解從起點(diǎn)到終點(diǎn)最短路徑的問題。
如果可以從圖中的起點(diǎn)到達(dá)終點(diǎn),則稱這兩個(gè)點(diǎn)之間存在一條路徑。通常情況下,從起點(diǎn)到終點(diǎn)可能存在多條路徑,而每條路徑上經(jīng)過的邊數(shù)并不一定相同,因此,路徑長度等于路徑上各邊的權(quán)值的總和,起點(diǎn)與終點(diǎn)間路徑長度最短的那條路徑稱為最短路徑,其路徑長度稱為最短路徑長度。對(duì)于求解最短路徑問題,可以采用現(xiàn)有的用于求解最短路徑問題的算法,比如,Dijkstra算法。
在求解出最短路徑后,該路徑經(jīng)過的邊所對(duì)應(yīng)的詞便是此次分詞的結(jié)果。值得注意的,最短路徑分詞法中求解出的最短路徑可能有多條。
以上簡要敘述了最短路徑分詞法的基本原理,以下舉例說明最短路徑分詞法。
假設(shè)句子S=C1 C2 Ci Cn,其中,Ci(i=1,2,,n)為單個(gè)的字,n為句子S的長度,n≥1。建立一個(gè)節(jié)點(diǎn)數(shù)為n+1的有向無環(huán)圖,如圖1所示,各節(jié)點(diǎn)編號(hào)依次為V0,V1,V2,,Vn。
通過以下兩種方法建立有向無環(huán)圖所有可能的有向邊(1)相鄰節(jié)點(diǎn)Vk-1,Vk之間建立有向邊<Vk-1,Vk>,邊的權(quán)值為Lk,邊對(duì)應(yīng)的詞默認(rèn)為Ck(k=1,2,,n);(2)若w=Ci Ci+1 Cj是詞典中的一個(gè)詞,其中,0<i<j≤n,則需要在節(jié)點(diǎn)Vi-1,Vj之間建立有向邊<Vi-1,Vj>,邊的權(quán)值為Lw,邊對(duì)應(yīng)的詞為w,這樣,S中包含的所有詞與有向無環(huán)圖中的邊一一對(duì)應(yīng)。根據(jù)有向無環(huán)圖中標(biāo)示的邊的權(quán)值,調(diào)用用于求解最短路徑問題的算法,計(jì)算從圖中的起點(diǎn)V0到終點(diǎn)Vn的最短路徑,得到S的分詞結(jié)果。
如果S具體為“他說的確實(shí)在理”,根據(jù)詞典,找出該句子所有可能的詞為他、說、的、的確、確實(shí)、實(shí)在、在理、理,由這些詞構(gòu)成的有向無環(huán)圖如圖2所示,為便于計(jì)算,假設(shè)這些詞對(duì)應(yīng)邊的權(quán)值均為1,那么,從起點(diǎn)0到終點(diǎn)7有如下幾條路徑路徑1經(jīng)過節(jié)點(diǎn)0,1,2,3,4,5,6,7,該路徑包括7條有向邊,路徑的長度為7;路徑2經(jīng)過節(jié)點(diǎn)0,1,2,4,5,6,7,該路徑包括6條有向邊,路徑長度為6;路徑3經(jīng)過節(jié)點(diǎn)0,1,2,4,6,7,該路徑包括5條有向邊,路徑長度為5;路徑4經(jīng)過節(jié)點(diǎn)0,1,2,3,5,6,7,該路徑包括6條有向邊,路徑長度為6;路徑5經(jīng)過節(jié)點(diǎn)0,1,2,3,5,7,該路徑包括5條有向邊,路徑長度為5;比較上述路徑長度可知,路徑3與路徑5的長度最短,因此,該句子的分詞結(jié)果為他、說、的確、實(shí)在、理,或者,他、說,的,確實(shí),在理。
由上述分析可知,由于現(xiàn)有的最短路徑分詞法需要將根據(jù)詞典得到的原始分詞集合轉(zhuǎn)換為有向無環(huán)圖的形式,并且需要調(diào)用求解最短路徑的算法,使得分詞處理過程比較復(fù)雜,不便于實(shí)現(xiàn)。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題是提供一種簡單的中文分詞方法。
為解決上述技術(shù)問題,本發(fā)明的目的是通過以下技術(shù)方案實(shí)現(xiàn)的一種中文分詞方法,包括為分詞集合中的分詞賦權(quán)值,所述分詞集合中的分詞按照分詞在句子中的位置排序;從所述分詞集合的最后一個(gè)分詞開始,記錄當(dāng)前分詞的權(quán)值與其在前分詞到句尾的距離的和,作為當(dāng)前分詞到句尾的距離,標(biāo)記該在前分詞與當(dāng)前分詞的拼接關(guān)系,直到得到分詞集合中第一個(gè)分詞到句尾的距離,及所述第一個(gè)分詞與其在前分詞的拼接關(guān)系;其中,所述在前分詞為所述當(dāng)前分詞的所有在前分詞中到句尾的距離最短的在前分詞;從所述分詞集合的第一個(gè)分詞開始,選擇所述到句尾的距離最短的句首分詞,所述句首分詞的第一個(gè)字為所述句子的第一個(gè)字;從所述句首分詞開始,根據(jù)所述拼接關(guān)系,依次獲取拼接關(guān)系中所標(biāo)記的在前分詞,直到句子結(jié)束。
優(yōu)選地,上述方法進(jìn)一步包括對(duì)句子進(jìn)行分詞處理,得到所述句子的分詞集合;按照分詞在句子中的位置,對(duì)所述分詞集合中的分詞進(jìn)行排序,得到排序后的分詞集合。
優(yōu)選地,若當(dāng)前分詞的至少兩個(gè)在前分詞到句尾的距離相等且最短,則從其中選擇在分詞集合中排序位置靠前的在前分詞,為該當(dāng)前分詞與所述在前分詞標(biāo)記一個(gè)拼接關(guān)系。
優(yōu)選地,若至少有兩個(gè)句首分詞到句尾的距離相等且最短;從其中選擇在分詞集合中排序位置靠前的句首分詞。
優(yōu)選地,分詞集合中的每個(gè)分詞所賦的權(quán)值相等或者不相等。
一種中文分詞裝置,包括賦值單元,用于為分詞集合中的分詞賦權(quán)值,所述分詞集合中的分詞按照分詞在句子中的位置排序;記錄單元,用于從所述排序的最后一個(gè)分詞開始,記錄當(dāng)前分詞的權(quán)值與其在前分詞到句尾的距離的和,作為當(dāng)前分詞到句尾的距離,標(biāo)記該在前分詞與當(dāng)前分詞的拼接關(guān)系,直到得到分詞集合中第一個(gè)分詞到句尾的距離,及所述第一個(gè)分詞與其在前分詞的拼接關(guān)系;其中,所述在前分詞為所述當(dāng)前分詞的所有在前分詞中到句尾的距離最短的在前分詞;句首分詞選擇單元,用于從分詞集合中的第一個(gè)分詞開始,選擇所述到句尾的距離最短的句首分詞,所述句首分詞的第一個(gè)字為所述句子的第一個(gè)字;分詞選擇單元,用于從所述句首分詞開始,根據(jù)所述拼接關(guān)系,依次獲取拼接關(guān)系中所標(biāo)記的在前分詞,直到句子結(jié)束。
優(yōu)選地,上述裝置進(jìn)一步包括句子粗分單元,用于對(duì)句子進(jìn)行分詞處理,得到所述句子的分詞集合;排序單元,用于按照分詞在句中的位置,對(duì)所述分詞集合中的分詞進(jìn)行排序,得到排序后的分詞集合。
優(yōu)選地,若當(dāng)前分詞的至少兩個(gè)在前分詞到句尾的距離相等且最短,則所述記錄單元,用于從其中選擇在分詞集合中排序位置靠前的在前分詞,為該當(dāng)前分詞與所述在前分詞標(biāo)記一個(gè)拼接關(guān)系。
優(yōu)選地,若至少有兩個(gè)句首分詞到句尾的距離相等且最短,則所述句首分詞選擇單元,用于從其中選擇分詞集合中排序位置靠前的句首分詞。
優(yōu)選地,所述賦值單元為分詞集合中的每個(gè)分詞所賦的權(quán)值相等或者不相等。
以上技術(shù)方案可以看出,由于本發(fā)明實(shí)施例提供的分詞方法中,從分詞集合中的最后一個(gè)分詞開始,依次得到了分詞集合中每個(gè)分詞與當(dāng)前分詞的拼接關(guān)系,其中,所述在前分詞為所述當(dāng)前分詞的所有在前分詞中到句尾的距離最短的在前分詞,然后從分詞集合中的第一個(gè)分詞開始,根據(jù)所述拼接關(guān)系,依次獲取拼接關(guān)系中標(biāo)記的在前分詞,得到分詞結(jié)果,因此,本發(fā)明實(shí)施例所提供的方法采用了兩個(gè)循環(huán)即可得到分詞結(jié)果,使得分詞過程變得簡單,降低了分詞處理過程的復(fù)雜度。
圖1所示為最短路徑分詞法中采用的有向無環(huán)圖;圖2所示為根據(jù)“他說的確實(shí)在理”得到的有向無環(huán)圖;圖3所示為本發(fā)明實(shí)施例提供中文分詞方法流程圖;圖4所示為本發(fā)明實(shí)施例提供的中文分詞裝置組成示意圖。
具體實(shí)施例方式
本發(fā)明實(shí)施例提供的中文分詞方法是從包括n個(gè)詞的分詞集合中挑選出m個(gè)詞,m≤n,這m個(gè)詞首尾相接后構(gòu)成一個(gè)完整的句子,且無多余的字符。因此,上述分詞集合通常指比較詳細(xì)的帶有冗余性的分詞集合。此外,分詞集合中的每個(gè)詞也可以稱為分詞。
其中,所謂比較詳細(xì)的帶有冗余性的分詞集合通常指的是采用全切分分詞方法對(duì)某個(gè)句子進(jìn)行分詞處理所得到的分詞集合。全切分分詞方法是將句子中與詞典匹配的所有可能的詞切分出來。
比如,句子“他說的確實(shí)在理”,采用全切分分詞方法得到的分詞集合可以是“他、說、的、的確、確、確實(shí)、實(shí)、實(shí)在、在、在理、理”,這個(gè)分詞集合基本包括了該句子在詞典中所有可能的詞,因此,這個(gè)分詞集合是一個(gè)比較詳細(xì)的分詞集合,并且由于“確”這個(gè)詞可以與其相鄰的“的”和“實(shí)”構(gòu)成兩個(gè)詞“的確”和“確實(shí)”,所以“確”可以被稱為帶有冗余性的分詞。由此可知,全切分分詞方法得到的分詞集合一般是一個(gè)比較詳細(xì)的且?guī)в腥哂嘈缘姆衷~集合。
本發(fā)明實(shí)施例提供的方法則是對(duì)上述比較詳細(xì)的且?guī)в腥哂嘈缘姆衷~集合進(jìn)行處理,以下為了便于敘述在本發(fā)明實(shí)施例中出現(xiàn)的分詞集合均指上述比較詳細(xì)的且?guī)в腥哂嘈缘姆衷~集合。
以下結(jié)合附圖并舉具體實(shí)施例對(duì)本發(fā)明實(shí)施例提供的方法進(jìn)行詳細(xì)描述。
本發(fā)明實(shí)施例提供了一種中文分詞方法,如圖3所示,該方法包括步驟301為分詞集合中的每個(gè)分詞賦權(quán)值,該分詞集合中的每個(gè)分詞按照分詞在句子中的位置排序;在具體實(shí)現(xiàn)時(shí),可以為每個(gè)分詞賦不相等的權(quán)值,或者,為便于計(jì)算,可以為每個(gè)分詞賦相等的權(quán)值,并不影響本發(fā)明實(shí)施例的實(shí)現(xiàn)。
步驟301中的分詞集合為比較詳細(xì)的帶有冗余性的分詞集合,并且,分詞集合中的分詞需要按照分詞在句子的位置進(jìn)行排序。
如果分詞集合中的分詞已按照分詞在句子中的位置排序,比如,句子“他說的確實(shí)在理”,根據(jù)詞典,得到的分詞集合為他、說、的、的確、確實(shí)、實(shí)在、在理、理,該分詞集合中的分詞已按照每個(gè)分詞在句子中的位置排序,則在本發(fā)明實(shí)施例提供的方法中不需要包括對(duì)分詞集合進(jìn)行排序的步驟。
如果分詞集合中的分詞沒有按照分詞在句子中的位置進(jìn)行排序,則在步驟301之前需要進(jìn)一步包括步驟301步驟301按照每個(gè)分詞在句中的位置,對(duì)分詞集合中的分詞進(jìn)行排序。
步驟302從分詞集合中的最后一個(gè)分詞開始,獲取當(dāng)前分詞的所有在前分詞到句尾的距離,從中選擇到句尾的距離最短的在前分詞;其中,在前分詞指的是,按照句子的書寫順序位于當(dāng)前分詞之后,且緊鄰該當(dāng)前分詞的分詞。
并且,分詞集合中的分詞按照分詞在句子中的位置順序排序,所以本發(fā)明實(shí)施例中所述分詞集合中的最后一個(gè)分詞指的是在句子中作為句尾分詞的分詞。
舉例說明,比如,句子“他說的確實(shí)在理”的分詞集合為“他、說、的、的確、確實(shí)、實(shí)在、在理、理”,該分詞集合中的分詞已按照分詞在句子中的位置排序,很明顯此分詞集合中的最后一個(gè)分詞指的是“理”,而“理”是句子“他說的確實(shí)在理”的句尾分詞。
比如,句子“他說的確實(shí)在理”,假設(shè)該句子的分詞集合為他、說、的、的確、確實(shí)、實(shí)在、在、在理、理,則“他”的在前分詞為“說”,“的確”的在前分詞為“實(shí)在”,“確實(shí)”的在前分詞有兩個(gè)分別為“在”和“在理”,“在理”和“理”均為該句子的句尾詞,因此,“在理”和“理”為句尾詞,其沒有在前分詞,具體實(shí)現(xiàn)時(shí),可以將句尾詞的在前分詞定義為該句子的結(jié)束符。
由上述例子可以看出,當(dāng)前分詞的在前分詞可能有多個(gè),因此,步驟302中選擇出的到句尾的距離最短的在前分詞可能也有多個(gè)。
步驟303用當(dāng)前分詞的權(quán)值加上步驟302中選擇出的在前分詞到句尾的距離,得到當(dāng)前分詞到句尾的距離,記錄該距離值,標(biāo)記該當(dāng)前分詞與其到句尾的距離最短的在前分詞的拼接關(guān)系;其中,在本發(fā)明實(shí)施例中所稱拼接關(guān)系指的是兩個(gè)分詞的相鄰關(guān)系,也就是當(dāng)前分詞與其在前分詞在還原句子時(shí)在句中所處的位置關(guān)系,比如,此時(shí),當(dāng)前分詞為“確實(shí)”,“確實(shí)”的在前分詞有兩個(gè),為“在理”和“在”,假設(shè)“在理”到句尾的距離小于“在”到句尾的距離,“確實(shí)”到句尾的距離等于其權(quán)值加上“在理”到句尾的距離,假設(shè)該距離等于2,“確實(shí)”與“在理”的拼接關(guān)系可以標(biāo)記為[確實(shí)2]->在理,從這個(gè)拼接關(guān)系,可以獲知“確實(shí)”到句尾的距離,以及,“確實(shí)”與“在理”在還原句子時(shí),“確實(shí)“在理”位于“確實(shí)”之后且緊鄰“確實(shí)”。
在上述例子中當(dāng)前分詞到句尾的距離記錄在拼接關(guān)系中,在本發(fā)明其他實(shí)施例中,也可以單獨(dú)記錄當(dāng)前分詞到句尾的距離,因此,將當(dāng)前分詞到距離的距離記錄在哪里并不影響本發(fā)明實(shí)施例的實(shí)現(xiàn)。
并且,從步驟302中可以得知當(dāng)前分詞到句尾的距離等于該當(dāng)前分詞的權(quán)值加上其在前分詞到句尾的距離,因?yàn)樵谟?jì)算當(dāng)前分詞到句尾的距離時(shí),需要已知當(dāng)前分詞的在前分詞到句尾的距離,所以需要從分詞集合中的最后一個(gè)分詞開始計(jì)算分詞集合中的每個(gè)分詞到句尾的距離,也就是從在句子中作為句尾分詞的分詞開始計(jì)算分詞集合中每個(gè)分詞到句尾的距離,由于句尾分詞沒有在前分詞,所以分詞集合中的最后一個(gè)分詞到句尾的距離等于其權(quán)值,由此可鑒,當(dāng)前分詞到句尾的距離實(shí)際等于多個(gè)分詞的權(quán)值的累加。
如果步驟302中選擇出的到句尾的距離最短的在前分詞為多個(gè),則在步驟303中,可以為當(dāng)前分詞與其每一個(gè)到句尾的距離最短的在前分詞標(biāo)記一個(gè)拼接關(guān)系,或者,從多個(gè)到句尾的距離最短的在前分詞中,任意選擇一個(gè)在前分詞,為當(dāng)前分詞與該在前分詞標(biāo)記一個(gè)拼接關(guān)系,或者,為提高分詞的準(zhǔn)確度,從多個(gè)到句尾的距離最短的在前分詞中,選擇一個(gè)在分詞集合中排序位置靠前的在前分詞,為當(dāng)前分詞與該在前分詞標(biāo)記一個(gè)拼接關(guān)系。
步驟304判斷步驟303中的當(dāng)前分詞是否為分詞集合中的第一個(gè)分詞,如果是,進(jìn)入步驟305,如果否,則返回步驟302;舉例說明步驟302至步驟304的執(zhí)行過程,比如,句子“他說的確實(shí)在理”,假設(shè)根據(jù)詞典,得到的該句子的比較詳細(xì)的帶有冗余性的分詞集合為他、他說、說、說的、的、的確、確、確實(shí)、實(shí)、實(shí)在、在、在理、理,該分詞集合已按照分詞在句中的位置排序,假設(shè)步驟301中為每個(gè)分詞賦相等的權(quán)值,權(quán)值等于1。
分詞集合中的最后一個(gè)分詞為“理”,從“理”開始執(zhí)行步驟302,此時(shí),“理”為當(dāng)前分詞。由于“理”為句尾詞,所以其沒有在前分詞,因此,“理”到句尾的距離就等于其本身的權(quán)值,等于1,“理”與在前分詞的拼接關(guān)系可以標(biāo)記為[理1]->end;由于當(dāng)前分詞為“理”不是分詞集合中的第一個(gè)分詞,返回步驟302;
此時(shí),當(dāng)前分詞為“在理”,“在理”仍為句尾詞,所以其沒有在前分詞,因此,“在理”到句尾的距離就等于其本身的權(quán)值,等于1,“在理”與在前分詞的拼接關(guān)系可以標(biāo)記為[在理1]->end,同理返回步驟302;此時(shí),當(dāng)前分詞為“在”,“在”的在前分詞只有“理”,“在”到句尾的距離等于其權(quán)值加上“理”到句尾的距離,等于2,“在”與“理”的拼接關(guān)系可以標(biāo)記為[在2]->理,返回步驟302;此時(shí),當(dāng)前分詞為“實(shí)在”,“實(shí)在”的在前分詞只有“理”,“實(shí)在”到句尾的距離等于其權(quán)值加上“理”到句尾的距離,等于2,“實(shí)在”與“理”的拼接關(guān)系可以標(biāo)記為[實(shí)在2]->理,返回步驟302;此時(shí),當(dāng)前分詞為“實(shí)”,“實(shí)”的在前分詞有兩個(gè),分別為“在理”和“在”,由前面的計(jì)算可知“在理”到句尾的距離為1,“在”到句尾的距離為2,因?yàn)椤霸诶怼钡骄湮驳木嚯x小于“在”到句尾的距離,所以,“實(shí)”到句尾的距離等于其權(quán)值加上“在理”到句尾的距離,等于2,“實(shí)”與“在理”的拼接關(guān)系可以標(biāo)記為[實(shí)2]->在理,返回步驟302;此時(shí),當(dāng)前分詞為“確實(shí)”,“確實(shí)”的在前分詞有兩個(gè),為“在理”和“在”,由于“在理”到句尾的距離小于“在”到句尾的距離,“確實(shí)”到句尾的距離等于其權(quán)值加上“在理”到句尾的距離,等于2,“確實(shí)”與“在理”的拼接關(guān)系可以標(biāo)記為[確實(shí)2]->在理,返回步驟302;此時(shí),當(dāng)前分詞為“確”,“確”的在前分詞有兩個(gè),為“實(shí)”和“實(shí)在”,由前面的計(jì)算可知,“實(shí)”到句尾的距離等于“實(shí)在”到句尾的距離,均等于2,那么,“確”到句尾的距離等于其權(quán)值加上“實(shí)”或者“實(shí)在”到句尾的距離,等于3;如果只需要為當(dāng)前分詞標(biāo)記一個(gè)拼接關(guān)系,則為了提高分詞的準(zhǔn)確度,從“實(shí)”和“實(shí)在”中選擇在分詞集合中排序位置靠前的分詞“實(shí)”,“確”與“實(shí)”的拼接關(guān)系可以標(biāo)記為[確3]->實(shí),返回步驟302;或者,如果未限制當(dāng)前分詞的拼接關(guān)系數(shù)量,則可以為“確”標(biāo)記兩個(gè)拼接關(guān)系[確3]->實(shí),[確3]->實(shí)在,然后,返回步驟302;此時(shí),當(dāng)前分詞為“的確”,“的確”的在前分詞有兩個(gè),為“實(shí)”和“實(shí)在”,“實(shí)”到句尾的距離等于“實(shí)在”到句尾的距離,“的確”到句尾的距離等于其權(quán)值加上“實(shí)”或者“實(shí)在”到句尾的距離,等于3,同理,如果只需要為“的確”標(biāo)記一個(gè)拼接關(guān)系,則為了提高分詞的準(zhǔn)確度,從實(shí)”和“實(shí)在”選擇在分詞集合中排序位置靠前的分詞“實(shí)”,“的確”與“實(shí)”拼接關(guān)系可以標(biāo)記為[的確3]->實(shí),然后,返回步驟302;如果不限制“的確”的拼接關(guān)系數(shù)量,則可以為“的確”標(biāo)記兩個(gè)拼接關(guān)系[的確3]->實(shí),[的確3]->實(shí)在,然后,返回步驟302;同理可得,“的”與其在前分詞的拼接關(guān)系為[的3]->確實(shí);“說的”與其在前分詞的拼接關(guān)系為[說的3]->確實(shí);“說”與其在前分詞的拼接關(guān)系為[說4]->的;“他說”與其在前分詞的拼接關(guān)系為[他說4]->的;“他”與其在前分詞的拼接關(guān)系為[他4]->說的,在得到“他”到句尾的距離,以及“他”與其在前分詞的拼接關(guān)系后,步驟304判斷得到步驟303中的當(dāng)前分詞“他”為分詞集合中的第一個(gè)分詞,則進(jìn)入步驟305;步驟305從分詞集合中的第一個(gè)分詞開始,獲取可以作為句首分詞的分詞,從中選擇到句尾的距離最短的分詞作為句首分詞,句首分詞的第一個(gè)字為句子的第一個(gè)字;其中,可以作為句首分詞的分詞有多個(gè),那么在多個(gè)可作為句首分詞的分詞中,到句尾的距離最短的分詞可能也有多個(gè),當(dāng)僅需輸出一個(gè)分詞結(jié)果時(shí),為了提高分詞的準(zhǔn)確度,可以從上述多個(gè)到句尾的距離最短的分詞中,選擇在分詞集合中排序位置靠前的一個(gè)分詞作為句首分詞,或者任意選擇一個(gè)分詞作為句首分詞,并不影響本發(fā)明實(shí)施例的實(shí)現(xiàn);如果可以輸出多個(gè)分詞結(jié)果,則可以選擇上述多個(gè)到句尾的距離最短的分詞。
仍以句子“他說的確實(shí)在理”的分詞集合“他、他說、說、說的、的、的確、確、確實(shí)、實(shí)、實(shí)在、在、在理、理”為例,可以作為句首分詞的分詞有兩個(gè)“他”和“他說”,其中,“他”到句尾的距離為4,“他說”到句尾的距離也為4,如果此時(shí)僅需要輸出一個(gè)分詞結(jié)果,且需要保證分詞的準(zhǔn)確度,則選擇在分詞集合中排序靠前的分詞作為句首分詞,即選擇“他”作為句首分詞;如果允許輸出多個(gè)分詞結(jié)果,則可以將“他”和“他說”都選擇出來。
步驟306從步驟305得到句首分詞開始,根據(jù)步驟303記錄的拼接關(guān)系,依次獲取拼接關(guān)系中所標(biāo)記的在前分詞,直到句子結(jié)束。
延用上述分詞集合,如果步驟305中選擇出的句首分詞為“他”,根據(jù)步驟303記錄的“他”的拼接關(guān)系為[他4]->說的,從該拼接關(guān)系中得到“他”的在前分詞為“說的”,“說的”的拼接關(guān)系為[說的3]->確實(shí),從該拼接關(guān)系得到的“說的”的在前分詞為“確實(shí)”,“確實(shí)”的拼接關(guān)系為[確實(shí)2]->在理,從該拼接關(guān)系得到的“確實(shí)”的在前分詞為“在理”,“在理”的拼接關(guān)系為[在理1]->end,從該拼接關(guān)系得到的“在理”為句子的結(jié)束,因此,最終得到的分詞結(jié)果為他->說的->確實(shí)->在理;如果步驟305中選擇出的句首分詞為“他”和“他說”,則可以得到兩個(gè)分詞結(jié)果他->說的->確實(shí)->在理,及他說->的->確實(shí)->在理。
由上述分詞結(jié)果可以看出,分詞結(jié)果中的分詞首尾相接后構(gòu)成“他說的確實(shí)在理”,且沒有多余的字。
本發(fā)明實(shí)施例還提供了一種中文分詞裝置,如圖4所示,包括賦值單元401,用于為分詞集合中的分詞賦權(quán)值,該分詞集合中的分詞按照分詞在句子中的位置排序;其中,分詞集合中的每個(gè)分詞所賦的權(quán)值可以相等或者可以不相等;賦值單元中的分詞集合可以是采用某種分詞方法,比如,最大匹配法、最短路徑法等,對(duì)句子進(jìn)行分詞處理得到比較詳細(xì)的帶有冗余性的分詞集合,一般情況下,采用根據(jù)詞典,查找句子中所有在詞典中的詞的方法,得到上述分詞集合。
記錄單元402,用于從分詞集合的最后一個(gè)分詞開始,記錄當(dāng)前分詞的權(quán)值與其在前分詞到句尾的距離的和,作為當(dāng)前分詞到句尾的距離,標(biāo)記該當(dāng)前分詞與其在前分詞的拼接關(guān)系,直到得到分詞集合中第一個(gè)分詞到句尾的距離以及其與其在前分詞的拼接關(guān)系;其中,該在前分詞為該當(dāng)前分詞的所有在前分詞中到句尾的距離最短的在前分詞;如果當(dāng)前分詞有至少兩個(gè)在前分詞到句尾的距離相等且最短,則記錄單元402,可以用于為當(dāng)前分詞與其每一個(gè)到句尾的距離最短的在前分詞標(biāo)記一個(gè)拼接關(guān)系;或者,記錄單元402,用于從多個(gè)到句尾的距離最短的在前分詞中,任意選擇一個(gè)在前分詞,為當(dāng)前分詞與該在前分詞標(biāo)記一個(gè)拼接關(guān)系;或者,為提高分詞的準(zhǔn)確度,記錄單元402從多個(gè)到句尾的距離最短的在前分詞中,選擇一個(gè)在分詞集合中排序位置靠前的在前分詞,為當(dāng)前分詞與該在前分詞標(biāo)記一個(gè)拼接關(guān)系,并不影響本發(fā)明實(shí)施例的實(shí)現(xiàn)。
句首分詞選擇單元403,用于從分詞集合中的第一個(gè)分詞開始,獲取可以作為句首分詞的分詞,從中選擇到句尾的距離最短的分詞作為句首分詞;其中,可以作為句首分詞的分詞的第一個(gè)字為句子的第一個(gè)字;如果至少有兩個(gè)句首分詞到句尾的距離相等且最短,則句首分詞選擇單元403,可以選擇多個(gè)到句尾的距離最短的可作為句首分詞的分詞;或者,句首分詞選擇單元403,從多個(gè)到句尾的距離最短的可作為句首分詞的分詞中,任意選擇一個(gè)分詞作為句首分詞;或者,為提高分詞的準(zhǔn)確度,句首分詞選擇單元403,可以從多個(gè)到句尾的距離最短的可作為句首分詞的分詞中,選擇在分詞集合中排序位置靠前的一個(gè)分詞作為句首分詞,并不影響本發(fā)明實(shí)施例的實(shí)現(xiàn)。
分詞選擇單元404,用于從句首分詞選擇單元403選擇的句首分詞開始,根據(jù)記錄單元402記錄的拼接關(guān)系,依次獲取拼接關(guān)系中所標(biāo)記的在前分詞,直到句子結(jié)束。
舉例說明上述中文分詞裝置的工作過程。
比如,句子“他說的確實(shí)在理”,假設(shè)該句子的分詞集合為他、說、的、的確、確實(shí)、實(shí)在、在、在理、理,則“他”的在前分詞為“說”,“的確”的在前分詞為“實(shí)在”,“確實(shí)”的在前分詞有兩個(gè)分別為“在”和“在理”,“在理”和“理”均為該句子的句尾詞,因此,“在理”和“理”沒有在前分詞,其在前分詞可以定義為該句子的結(jié)束符。
為便于計(jì)算,假設(shè)賦值單元401,為上述分詞集合中的每個(gè)分詞賦相等的權(quán)值,權(quán)值等于1。
如果僅為每個(gè)分詞標(biāo)記一個(gè)拼接關(guān)系,則記錄單元402得到的分詞集合中的每個(gè)分詞到句尾的距離,及每個(gè)分詞與其在前分詞的拼接關(guān)系為[理1]->end;[在理1]->end;[在2]->理;[實(shí)在2]->理;[實(shí)2]->在理;[確實(shí)2]->在理;[確3]->實(shí);[的確3]->實(shí);[的3]->確實(shí);[說的3]->確實(shí);[說4]->的;[他說4]->的;[他4]->說的。
可以作為句首分詞的分詞有兩個(gè)“他”和“他說”,其中,“他”到句尾的距離為4,“他說”到句尾的距離也為4,如果只需要輸出一個(gè)分詞結(jié)果,且需要保證分詞的準(zhǔn)確度,則句首分詞選擇單元403,從“他”和“他說”中選擇在分詞集合中排序靠前的分詞作為句首分詞,即選擇“他”作為句首分詞。
如果句首分詞選擇單元403,選擇出的句首分詞為“他”,分詞選擇單元404根據(jù)記錄單元402中記錄的“他”的拼接關(guān)系為[他4]->說的,從該拼接關(guān)系中得到“他”的在前分詞為“說的”,“說的”的拼接關(guān)系為[說的3]->確實(shí),從該拼接關(guān)系得到的“說的”的在前分詞為“確實(shí)”,“確實(shí)”的拼接關(guān)系為[確實(shí)2]->在理,從該拼接關(guān)系得到的“確實(shí)”的在前分詞為“在理”,“在理”的拼接關(guān)系為[在理1]->end,從該拼接關(guān)系得到的“在理”為句子的結(jié)束,因此,最終得到的分詞結(jié)果為他->說的->確實(shí)->在理。
由上述分詞結(jié)果可以看出,分詞結(jié)果中的分詞首尾相接后構(gòu)成“他說的確實(shí)在理”,且沒有多余的字。
如果要使用該裝置對(duì)句子進(jìn)行分詞,則在上述裝置中進(jìn)一步包括粗分單元,用于對(duì)句子進(jìn)行分詞處理,得到所述句子的分詞集合;
排序單元,用于按照分詞在句中的位置,對(duì)所述分詞集合中的分詞進(jìn)行排序,得到排序后的分詞集合。
以上對(duì)本發(fā)明所提供的一種中文分詞方法及裝置進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體個(gè)例對(duì)本發(fā)明的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想;同時(shí),對(duì)于本領(lǐng)域的一般技術(shù)人員,依據(jù)本發(fā)明的思想,在具體實(shí)施方式
及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對(duì)本發(fā)明的限制。
權(quán)利要求
1.一種中文分詞方法,其特征在于,包括為分詞集合中的分詞賦權(quán)值,所述分詞集合中的分詞按照分詞在句子中的位置排序;從所述分詞集合的最后一個(gè)分詞開始,記錄當(dāng)前分詞的權(quán)值與其在前分詞到句尾的距離的和,作為當(dāng)前分詞到句尾的距離,標(biāo)記該在前分詞與當(dāng)前分詞的拼接關(guān)系,直到得到分詞集合中第一個(gè)分詞到句尾的距離,及所述第一個(gè)分詞與其在前分詞的拼接關(guān)系;其中,所述在前分詞為所述當(dāng)前分詞的所有在前分詞中到句尾的距離最短的在前分詞;從所述分詞集合的第一個(gè)分詞開始,選擇所述到句尾的距離最短的句首分詞,所述句首分詞的第一個(gè)字為所述句子的第一個(gè)字;從所述句首分詞開始,根據(jù)所述拼接關(guān)系,依次獲取拼接關(guān)系中所標(biāo)記的在前分詞,直到句子結(jié)束。
2.如權(quán)利要求1所述的方法,其特征在于,所述方法進(jìn)一步包括對(duì)句子進(jìn)行分詞處理,得到所述句子的分詞集合;按照分詞在句子中的位置,對(duì)所述分詞集合中的分詞進(jìn)行排序,得到排序后的分詞集合。
3.如權(quán)利要求1或2所述的方法,其特征在于,若當(dāng)前分詞的至少兩個(gè)在前分詞到句尾的距離相等且最短,則從其中選擇在分詞集合中排序位置靠前的在前分詞,為該當(dāng)前分詞與所述在前分詞標(biāo)記一個(gè)拼接關(guān)系。
4.如權(quán)利要求3所述的方法,其特征在于,若至少有兩個(gè)句首分詞到句尾的距離相等且最短;從其中選擇在分詞集合中排序位置靠前的句首分詞。
5.如權(quán)利要求4所述的方法,其特征在于,分詞集合中的每個(gè)分詞所賦的權(quán)值相等或者不相等。
6.一種中文分詞裝置,其特征在于,包括賦值單元,用于為分詞集合中的分詞賦權(quán)值,所述分詞集合中的分詞按照分詞在句子中的位置排序;記錄單元,用于從所述排序的最后一個(gè)分詞開始,記錄當(dāng)前分詞的權(quán)值與其在前分詞到句尾的距離的和,作為當(dāng)前分詞到句尾的距離,標(biāo)記該在前分詞與當(dāng)前分詞的拼接關(guān)系,直到得到分詞集合中第一個(gè)分詞到句尾的距離,及所述第一個(gè)分詞與其在前分詞的拼接關(guān)系;其中,所述在前分詞為所述當(dāng)前分詞的所有在前分詞中到句尾的距離最短的在前分詞;句首分詞選擇單元,用于從分詞集合中的第一個(gè)分詞開始,選擇所述到句尾的距離最短的句首分詞,所述句首分詞的第一個(gè)字為所述句子的第一個(gè)字;分詞選擇單元,用于從所述句首分詞開始,根據(jù)所述拼接關(guān)系,依次獲取拼接關(guān)系中所標(biāo)記的在前分詞,直到句子結(jié)束。
7.如權(quán)利要求6所述的裝置,其特征在于,所述裝置進(jìn)一步包括句子粗分單元,用于對(duì)句子進(jìn)行分詞處理,得到所述句子的分詞集合;排序單元,用于按照分詞在句中的位置,對(duì)所述分詞集合中的分詞進(jìn)行排序,得到排序后的分詞集合。
8.如權(quán)利要求6或7所述的裝置,其特征在于,若當(dāng)前分詞的至少兩個(gè)在前分詞到句尾的距離相等且最短,則所述記錄單元,用于從其中選擇在分詞集合中排序位置靠前的在前分詞,為該當(dāng)前分詞與所述在前分詞標(biāo)記一個(gè)拼接關(guān)系。
9.如權(quán)利要求8所述的裝置,其特征在于,若至少有兩個(gè)句首分詞到句尾的距離相等且最短,則所述句首分詞選擇單元,用于從其中選擇分詞集合中排序位置靠前的句首分詞。
10.如權(quán)利要求9所述的裝置,其特征在于,所述賦值單元為分詞集合中的每個(gè)分詞所賦的權(quán)值相等或者不相等。
全文摘要
本發(fā)明公開了一種中文分詞方法,包括為分詞集合中的分詞賦權(quán)值,所述分詞集合中的分詞按照分詞在句子中的位置排序;從所述分詞集合的最后一個(gè)分詞開始,記錄當(dāng)前分詞的權(quán)值與其在前分詞到句尾的距離的和,作為當(dāng)前分詞到句尾的距離,標(biāo)記該在前分詞與當(dāng)前分詞的拼接關(guān)系,直到得到分詞集合中第一個(gè)分詞到句尾的距離,及所述第一個(gè)分詞與其在前分詞的拼接關(guān)系;從所述分詞集合的第一個(gè)分詞開始,選擇所述到句尾的距離最短的句首分詞,所述句首分詞的第一個(gè)字為所述句子的第一個(gè)字;從所述句首分詞開始,根據(jù)所述拼接關(guān)系,依次獲取拼接關(guān)系中所標(biāo)記的在前分詞,直到句子結(jié)束。本發(fā)明還公開一種中文分詞裝置。上述方法或裝置降低了分詞的復(fù)雜度。
文檔編號(hào)G06F17/28GK101071421SQ20071010208
公開日2007年11月14日 申請日期2007年5月14日 優(yōu)先權(quán)日2007年5月14日
發(fā)明者王啟明 申請人:騰訊科技(深圳)有限公司