国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于“固結(jié)詞串”實(shí)例的中文分詞研究

2012-06-29 05:53馳,宋柔,2
中文信息學(xué)報(bào) 2012年3期
關(guān)鍵詞:詞串詞表字符串

修 馳,宋 柔,2

(1. 北京工業(yè)大學(xué) 計(jì)算機(jī)學(xué)院,北京 100022;2. 北京語言大學(xué) 語言信息處理研究所,北京 100083)

1 引言

解決中文分詞問題的方法主要分為兩類:基于詞(或詞典)的方法,例如,基于規(guī)則的最大匹配方法[1]、基于統(tǒng)計(jì)的詞的N元語法的方法[2]?;谧值姆椒ǎ?,基于最大熵模型(ME)[3]、基于條件隨機(jī)場模型(CRF)[4]的中文分詞方法。

分詞歧義和未登錄詞(OOV)一直是影響中文分詞效果的兩大因素。Bakeoff 2005的語料庫統(tǒng)計(jì)數(shù)據(jù)說明未登錄詞造成的分詞精度失落比歧義切分造成的精度失落至少大5倍以上[5]?;贑RF模型的字標(biāo)注分詞方法在訓(xùn)練語料與測試語料同質(zhì)的情況下可以較好的解決OOV問題,在近幾年的bakeoff中都取得了很好的成績。但是歧義切分錯(cuò)誤仍然是漢語分詞中不可忽視的問題,CRF模型對(duì)歧義切分問題的解決并不夠好,而且這一方法開銷大、不靈活。有人采用規(guī)則加實(shí)例庫的辦法消除分詞歧義[6]。但這種方法需要人工構(gòu)建規(guī)則與實(shí)例庫,只能解決有限語言現(xiàn)象,難以適用于各種不同的語料。因此,希望找到一種專用于中文分詞的機(jī)器學(xué)習(xí)方法,既可以吸收基于字的分詞方法的優(yōu)點(diǎn),充分挖掘訓(xùn)練語料中的分詞信息,又不需要太長的訓(xùn)練時(shí)間得到較好的分詞結(jié)果。

本文從CRF在分詞歧義上存在的問題入手,提出了基于“固結(jié)詞串”詞表分詞的方法,即一種基于實(shí)例的中文分詞方法。利用固結(jié)詞串可以簡化機(jī)器學(xué)習(xí)過程,充分利用訓(xùn)練語料中的知識(shí)。本文組織方式如下:第二節(jié)分析CRF中文分詞方法存在的問題;第三節(jié)提出基于固結(jié)詞串解決中文分詞歧義的方法;第四節(jié)闡述實(shí)驗(yàn)設(shè)計(jì)并分析結(jié)果;第五節(jié)進(jìn)行總結(jié)。

2 CRF

近幾年流行的基于字序列標(biāo)注的機(jī)器學(xué)習(xí)方法在分詞方面取得了較好的結(jié)果。在各種機(jī)器學(xué)習(xí)方法中,基于CRF模型的方法效果最優(yōu)。條件隨機(jī)場CRF(Conditional Random Filed)[4]是一個(gè)無向圖模型,在給定觀察值的情況下計(jì)算狀態(tài)值的條件概率。在基于該模型的分詞方法中,通常是用字形和字類作為觀察值的特征。測試結(jié)果表明,這種方法可以較好的解決OOV問題。也可以在一定程度上解決已登錄詞的分詞歧義(如表1所示)。但是我們分析分詞結(jié)果發(fā)現(xiàn),CRF在解決OOV和分詞歧義的同時(shí)產(chǎn)生了很多外加的錯(cuò)誤。本文第四節(jié)給出的實(shí)驗(yàn)數(shù)據(jù)表明,CRF同正向最大匹配方法相比,在后者的分詞歧義錯(cuò)誤中解決了1 426例,占96%左右,但是產(chǎn)生了1 836例分詞歧義錯(cuò)誤。表2、3、4舉例給出了CRF分詞中存在的問題。

表1 CRF解決歧義切分

表2 訓(xùn)練語料中出現(xiàn)的詞CRF切分錯(cuò)誤

表2顯示在訓(xùn)練語料中出現(xiàn)的、有且只有一種分詞方式的字符串,利用CRF分詞方法切分錯(cuò)誤的詞。字符串“一支支”在訓(xùn)練語料中出現(xiàn)過1次,“一 / 支 / ”出現(xiàn)75次?!爸А惫渤霈F(xiàn)1 248次,詞首占69%、詞尾占10%,單字占15%?!皠?dòng)”共出現(xiàn)4 163次,詞尾占71%?!耙恢А狈珠_的概率更大,“支動(dòng)”連接在一起概率更高。因此CRF產(chǎn)生錯(cuò)誤的切分結(jié)果。

表3 不應(yīng)該成詞的字符串被CRF合成一個(gè)詞

表4 同種類型的字符串CRF分詞結(jié)果不同

表3顯示訓(xùn)練語料中沒有出現(xiàn),但也不應(yīng)該識(shí)別為詞的字符串。如果被測字符沒有在訓(xùn)練語料中出現(xiàn),前一個(gè)和后一個(gè)字符對(duì)它的影響十分重要。“6”這個(gè)字符在測試語料中是半角的,訓(xùn)練語料中沒有半角字符,因此半角“6”沒有在訓(xùn)練語料中出現(xiàn)過,但由于“分”經(jīng)常做詞首,“路”經(jīng)常做詞尾,取全局最優(yōu)值后,“分6路”被劃分為一個(gè)詞。

表4顯示測試語料中類型相同的兩句話,由于上下文字形不一樣,CRF的分詞方式不同?!巴取痹谟?xùn)練語料中出現(xiàn)15次,其中13次為“同比 / 增長”,因此字符串“同比增收”可以正確切分。但“比 / 上”在訓(xùn)練語料中出現(xiàn)過131次,從全局出發(fā),切分成“比 / 上” 比切分成“同比”可以得到更好的概率值。因此“同比上升”不能切分正確。

3 固結(jié)詞串3.1 固結(jié)詞串定義

CRF訓(xùn)練的目的是為了讓模型盡可能的挖掘訓(xùn)練語料中的分詞信息,擬合訓(xùn)練語料。OOV可以按訓(xùn)練語料的分詞知識(shí)進(jìn)行構(gòu)詞。但對(duì)于在訓(xùn)練語料中已經(jīng)存在的詞所構(gòu)成的詞串,如果沒有切分歧義,則不需要拆開再重新構(gòu)詞,可以不使用CRF分詞。

對(duì)于測試訓(xùn)練語料中存在的詞,字符串匹配是最簡單的擬合語料的過程。假設(shè)測試語料中的字符串Stest,可以與訓(xùn)練語料中的字符串Strain完全匹配,且Strain在訓(xùn)練語料中只有一種分詞標(biāo)記方式,使用Strain的分詞標(biāo)記方式對(duì)Stest分詞,也是一個(gè)擬合訓(xùn)練語料的過程。

如果Strain是由幾個(gè)詞組成的,Strain串中間的字符攜帶了上下文信息,這樣的字符在上下文環(huán)境的約束下,分詞標(biāo)記一定是確定的。利用這樣的分詞信息,可以消解分詞歧義而且不需要再計(jì)算概率和全局最優(yōu)化,可以避免CRF中“一支/支動(dòng)/聽”“請(qǐng)/教老者”這樣的錯(cuò)誤發(fā)生。

因此我們提出利用“固結(jié)詞串”對(duì)訓(xùn)練語料中出現(xiàn)過的字符串分詞?!肮探Y(jié)詞串”可以由多個(gè)詞組成,在訓(xùn)練語料中有且僅有一種切分方式。定義如下:

設(shè)每個(gè)字的分詞信息使用標(biāo)注符號(hào)表示:B代表詞首,M代表詞中,E代表詞尾,S代表單字詞(也可以加入B2、B3等標(biāo)記表示詞首第2個(gè)字、第3個(gè)字等,不影響下面的定義)。

定義中限制所有的Tj必須完全相等,目的是為了使字符串內(nèi)部無多種切分情況;字符串的首尾必須被切開是為了讓字符串的邊界不存在交搭歧義。例如,字符串“中共北京市委”在訓(xùn)練語料中出現(xiàn)過多次,每次出現(xiàn)時(shí)的切分方式都是“ / 中共 / 北京 / 市委 / ”,則“中共北京市委”是一個(gè)固結(jié)詞串。

但是如果僅限制字符串的首尾必須被切開,當(dāng)訓(xùn)練語料中同時(shí)存在“基本 / 生存”和“基本 / 生存權(quán)”時(shí),字符串“基本生存”因?yàn)椤按妗庇袃煞N標(biāo)記方式,則不能成為固結(jié)詞串。當(dāng)語料不斷增加,類似于“基本生存”的現(xiàn)象將會(huì)不斷增加。另一方面,這種限制相當(dāng)于對(duì)訓(xùn)練語料的過度擬合,測試語料中字符串上下文的變化,會(huì)產(chǎn)生部分新的切分形式。在這種情況下,利用現(xiàn)有的固結(jié)詞串分詞會(huì)帶來新的切分歧義。例如,“中央歌劇”在訓(xùn)練語料中出現(xiàn)多次,切分方法都是“中央 / 歌劇”,測試語料遇到“中央歌劇院”, “劇”則被切成詞尾,實(shí)際應(yīng)該是“中央 / 歌劇院”,由此產(chǎn)生了新的歧義切分。因此定義中對(duì)“固結(jié)詞串”添加了上下文的限制。

引用上文的例子字符串“基本生存”在訓(xùn)練語料中出現(xiàn)多次,例如,“缺乏 / 基本 / 生存 / 和 / 生產(chǎn)”和“人民 / 的 / 基本 / 生存權(quán) / 造成”。在“基本生存”的下文不是“權(quán)”,例如,當(dāng)α(上文)是“缺乏”β(下文)是“和”的情況下,“基本生存”都被切分成“/ 基本 / 生存 /”,則“基本生存”在特定的上下文中也是固結(jié)詞串。

3.2 固結(jié)詞定義

實(shí)驗(yàn)中,如果測試字符串在固結(jié)詞串詞表中找不到匹配項(xiàng),則在普通詞表中查找是否有匹配項(xiàng)。使用普通詞表會(huì)出現(xiàn)如下問題。例如,字符串“新世紀(jì)”在訓(xùn)練語料中以詞的形式出現(xiàn)過,那么“新世紀(jì)”是普通詞表中的一個(gè)詞。但是這個(gè)字符串在訓(xùn)練語料中存在兩種分詞方式“新 / 世紀(jì)”和“新世紀(jì)”。大部分情況下的切分為“新 / 世紀(jì)”,只有在特定的上下文環(huán)境下才會(huì)被切分為“新世紀(jì)”(“新世紀(jì) / 出版社”)。由于切分方式不唯一,這個(gè)字符串不是固結(jié)詞串。當(dāng)測試語料出現(xiàn)字符串“新世紀(jì)”時(shí),則會(huì)按照普通詞詞表“新世紀(jì)”的方式切分,造成大部分錯(cuò)誤。實(shí)驗(yàn)中這樣的問題十分明顯,因此將實(shí)驗(yàn)中使用的“普通詞”更改為“固結(jié)詞”。

固結(jié)詞是指,普通詞表中的詞,如果在訓(xùn)練語料中總是整體出現(xiàn)從不被切開,或者雖然有被切開的情況但以整體一個(gè)詞的形式出現(xiàn)的次數(shù)最多,就將這個(gè)詞作為固結(jié)詞。因此,“新世紀(jì)”不在固結(jié)詞詞表中。雖然固結(jié)詞和固結(jié)詞串詞表中都不存在“新世紀(jì)”這個(gè)詞,但是當(dāng)測試語料擁有足夠的上下文,則可以找到包含“新世紀(jì)”的固結(jié)詞串,將“新世紀(jì)”正確切分出來。

3.3 分詞策略

分詞策略是將基于固結(jié)詞串實(shí)例的方法與基于普通詞表的方法相結(jié)合。原則是以固結(jié)詞串為主,普通詞為輔。具體方法如下。

詞表包含:攜帶上下文信息的固結(jié)詞串表、不攜帶上下文信息的固結(jié)詞串表、普通詞表。從左至右前向最大匹配(FMM)對(duì)測試語料進(jìn)行分詞。設(shè)測試語句為Sen。

Step1 取Sen已經(jīng)切分出的最后一個(gè)詞(如果還未開始切分,則為φ)為上文α,在攜帶上下文信息的固結(jié)詞串表中查找最長匹配字符串αCβ。如果找到,并且此串α與C之間是被切開的關(guān)系,則將匹配的字符串按照固結(jié)詞串C的切分標(biāo)記標(biāo)注。轉(zhuǎn)Step1。如果沒有匹配到,轉(zhuǎn)Step2。

Step2Sen中等待被切分的字符串,在沒有上文信息的固結(jié)詞串表中進(jìn)行最大字符串匹配Cβ。如果匹配成功,將匹配的字符串按照固結(jié)詞串C的切分標(biāo)記標(biāo)注。轉(zhuǎn)Step1。如果沒有匹配,轉(zhuǎn)Step3。

Step3Sen中等待被切分的字符串,在普通詞表中進(jìn)行最大字符串匹配。如果匹配成功,將這個(gè)詞切分出來轉(zhuǎn)Step4。如果沒有匹配到,將首字符字切分出來,此字符為單字。轉(zhuǎn)Step1。

Step4對(duì)于利用普通詞表切分出的字符串,回退一個(gè)字。如果以回退的這個(gè)字為首字,與后面的字符串可以組成固結(jié)詞串,并且,原字符串去掉這個(gè)字仍然是個(gè)普通詞,則更改利用普通詞表切分的結(jié)果,使用回退一個(gè)字得到的切分結(jié)果,轉(zhuǎn)Step1。否則放棄回退直接轉(zhuǎn)Step1。

例如,字符串“為了看清楚”,在切分時(shí)首先在攜帶上下文信息的固結(jié)詞串表中查找,找到的固結(jié)詞串其分詞方式為“φ/ 為了 / 看 / 清 /”?!唉铡焙汀扒濉狈謩e相當(dāng)于定義中的“α”和“β”, “為了看”是“α”和“β”中間的固結(jié)詞串C,可以確定其分詞方式為“為了 / 看 / ”。然后再順序查找以“看”為上文的攜帶上下文環(huán)境的固結(jié)詞串,如果查找到“看 / 清楚”,則“清楚”被的切分出來。如果在固結(jié)詞串中找不到“看清楚”,則在普通詞表中查找“清楚”。如果普通詞表中查找到“清楚”,利用Step4回退一字,查看是否存在以“楚”字開頭的固結(jié)詞串,如果沒有則“清楚”被切分出來。

Step4中使用普通詞表有時(shí)會(huì)產(chǎn)生歧義切分問題,為了減少此類問題,普通詞表可換成固結(jié)詞詞表。目前,在選用這種最簡單的分詞策略的情況下,已經(jīng)有效的降低了分詞歧義。如果改進(jìn)策略,相信將得到更好的分詞效果。

4 實(shí)驗(yàn)4.1 實(shí)驗(yàn)語料基本情況

本實(shí)驗(yàn)采用第二季國際分詞競賽(bakeoff-2005)中PKU的語料對(duì)分詞方法進(jìn)行測試(如表5所示)。語料中數(shù)字、英文、全半角符號(hào)進(jìn)行了統(tǒng)一的預(yù)處理。

表5 bakeoff-2005 pku語料詞形詞數(shù)

Pku訓(xùn)練語料中數(shù)字、英文、符號(hào),使用全角符號(hào)(比如1.1%在訓(xùn)練語料中為1.1%)。

PKU測試語料中全半角符號(hào)混合使用,大部分?jǐn)?shù)字使用半角符號(hào)。未登錄詞6 006個(gè)(token),占測試語料總詞數(shù)(token)的5.7%。在不包含單字詞的情況下共有5 592個(gè)未登錄詞(token),其中數(shù)字、英文、日期為2 370個(gè),占未登錄詞的42.3%。

4.2 Baseline和Topline

實(shí)驗(yàn)的主要目的是測試固結(jié)詞串分詞方法對(duì)歧義的影響。實(shí)驗(yàn)結(jié)果采用準(zhǔn)確率P、召回率R和調(diào)和平均值:F=2RP/(R+P)來進(jìn)行評(píng)估(如表6、表7所示)。

表6 baseline

表7 topline

利用訓(xùn)練語料生成普通詞詞表,使用FMM的方法對(duì)測試語料進(jìn)行分詞,得到分詞歧義的baseline。為了進(jìn)一步確定歧義切分對(duì)分詞結(jié)果影響,實(shí)驗(yàn)設(shè)置了topline。topline表示測試語料中所有分詞歧義問題都被解決,只存在OOV錯(cuò)誤的分詞結(jié)果上限。實(shí)驗(yàn)中,將測試語料標(biāo)準(zhǔn)答案中的OOV用訓(xùn)練語料中提取的普通詞表進(jìn)行FMM分詞,其他不改變,得到topline。如果所有的分詞歧義都被正確解決,那么F值已經(jīng)可以達(dá)到0.95。由此可見,歧義切分問題的解決對(duì)分詞結(jié)果有著重要的影響。由于測試語料、訓(xùn)練語料中存在分詞不一致現(xiàn)象,表7顯示的是的topline理想值。

4.3 實(shí)驗(yàn)設(shè)計(jì)與結(jié)果

CRF的實(shí)驗(yàn)使用6-tag[7]標(biāo)注集:B B2 B3 M E S。本實(shí)驗(yàn)對(duì)5字窗口和3字窗口特征的結(jié)果進(jìn)行對(duì)比,采用3字窗口(如表8所示)可以得到更好的分詞結(jié)果。工具為CRF++0.54*http://crfpp.sourceforge.net.。

表8 CRF實(shí)驗(yàn)使用的特征集

續(xù)表

固結(jié)詞串分4個(gè)實(shí)驗(yàn)進(jìn)行測試。固結(jié)詞串不包含標(biāo)點(diǎn)符號(hào),長度限制在50個(gè)字符以內(nèi)。表9顯示分詞實(shí)驗(yàn)結(jié)果。實(shí)驗(yàn)1按照分詞策略的Step1到Step3進(jìn)行,分詞的詞典由固結(jié)詞串和普通詞組成。雖然結(jié)果明顯好于baseline,但是普通詞會(huì)產(chǎn)生一些新的分詞歧義。為了進(jìn)一步解決這個(gè)問題,實(shí)驗(yàn)2加入Step4,將普通詞切分的字符串回退一個(gè)字。例如,“正面 / 對(duì) / 世界”中的“正面”是由普通詞切分得到的,回退“面”。以“面”為首字,可以在固結(jié)詞串表中找到“面對(duì) / 世界”,而且去掉“面”字,“正”是一個(gè)單字詞,則修改分詞結(jié)果。

表9 固結(jié)詞串詞結(jié)果對(duì)比

實(shí)驗(yàn)3、4采用固結(jié)詞替代普通詞。實(shí)驗(yàn)表明,將普通詞表換成固結(jié)詞詞表,結(jié)果有所提高。表10顯示分詞實(shí)驗(yàn)中使用固結(jié)詞串的最好成績與CRF成績的對(duì)比,在沒有識(shí)別OOV的情況下,固結(jié)詞串Recall的成績已經(jīng)好于CRF的成績。表11顯示固結(jié)詞串和CRF在相同機(jī)器上的訓(xùn)練、分詞時(shí)間。

表10 固結(jié)詞串與CRF結(jié)果對(duì)比

表11 固結(jié)詞串和CRF訓(xùn)練時(shí)間對(duì)比

表12顯示的是固結(jié)詞串和CRF分詞結(jié)果各類錯(cuò)誤的數(shù)據(jù)統(tǒng)計(jì),斜杠兩邊分別是type和token的數(shù)量。其中分詞不一致是指訓(xùn)練測試語料中都存在的詞,但是分詞方式不同,并且不是組合歧義。由于固結(jié)詞串?dāng)y帶上下文信息,對(duì)于這種分詞不一致情況的適應(yīng)能力好于baseline。

表12 固結(jié)詞串和CRF各類錯(cuò)誤數(shù)量對(duì)比

表13 固結(jié)詞串和CRF解決分詞歧義對(duì)比

從表12、13可以發(fā)現(xiàn),對(duì)于訓(xùn)練語料和測試語料都是像《人民日?qǐng)?bào)》這樣的同質(zhì)語料的情況,CRF主要解決的是OOV識(shí)別的問題,CRF分詞所產(chǎn)生的新切分歧義要大于其解決的分詞歧義。利用固結(jié)詞串這種簡單的機(jī)器學(xué)習(xí)方法,不僅可以解決分詞歧義,帶來的新分詞歧義相對(duì)較少,而且不需要大量訓(xùn)練時(shí)間,既可以提高速度也可以提高分詞效果。

5 結(jié)語

本文分析了CRF在解決分詞歧義時(shí)存在的問題,指出CRF在切分訓(xùn)練語料中出現(xiàn)過的字符串時(shí)會(huì)產(chǎn)生更多新的分詞歧義。提出了基于固結(jié)詞串的分詞方法,將基于固結(jié)詞串實(shí)例和基于普通詞表的分詞方法相結(jié)合,利用簡單的機(jī)器學(xué)習(xí)擬合訓(xùn)練語料,解決測試語料中分詞歧義的問題。實(shí)驗(yàn)表明,這種方法可以在一定程度上解決分詞歧義問題,并且不會(huì)產(chǎn)生太多的副作用。

固結(jié)詞串雖然可以解決部分歧義,但仍需要改進(jìn)分詞策略才能取得更好的效果。無標(biāo)注語料庫中固結(jié)詞串邊界的識(shí)別和固結(jié)詞串內(nèi)部切分方法,OOV的處理,這些任務(wù)將是我們下一步的工作。

[1] 駱正清,陳增武,胡上序. 一種改進(jìn)的MM分詞方法的算法設(shè)計(jì)[J].中文信息學(xué)報(bào),1996,10(3):30-36.

[2] 吳春穎,王士同.基于二元語法的N-最大概率中文粗分模型[J].計(jì)算機(jī)應(yīng)用,2007,27(12):332-339.

[3] N. Xue. Chinese Word Segmentation as Character Tagging[J]. Computational Linguistics and Chinese Language Processing,2003,8(1): 29-48.

[4] J.Lafferty,A. McCallum, F.Pereira. Conditional Random Fields: Probabilistic Models for Segmenting and Labeling Sequence Data.[C]// Proceedings of the 18th International Conf. On Machine Learning, 2001: 282-289.

[5] 黃昌寧,趙海. 中文分詞十年回顧[J]. 中文信息學(xué)報(bào),2007,21(3):8-19.

[6] 羅智勇,宋柔. 現(xiàn)代漢語通用分詞系統(tǒng)中歧義切分的實(shí)用技術(shù)[J].計(jì)算機(jī)研究與發(fā)展,2006,43(6):1122-1128.

[7] Hai Zhao, Chunyu Kit. Unsupervised Segmentaion Helps Supervised Learning of Character Tagging for Word Segmentation and Named Entity Recognition[C]//Proceedings of the Sixth SIGHAN Workshop on Chinese Language Processing(SIGHAN-6), Hyderabad, India,2008:106-111.

猜你喜歡
詞串詞表字符串
基于VOLT的藏漢雙向機(jī)器翻譯
A Chinese-English List of the Sports Programmes in Winter Olympics 冬奧會(huì)項(xiàng)目名稱漢英對(duì)照詞表
基于文本挖掘的語詞典研究
小學(xué)語文詞串教學(xué)之淺見
小學(xué)語文詞串教學(xué)之淺見
靈動(dòng)的詞串,寫話的紐帶
近十年國內(nèi)外專業(yè)學(xué)術(shù)詞表建立文獻(xiàn)綜述*
SQL server 2008中的常見的字符串處理函數(shù)
倍增法之后綴數(shù)組解決重復(fù)子串的問題
最簡單的排序算法(續(xù))
乌拉特中旗| 东山县| 五寨县| 奈曼旗| 尉犁县| 兴仁县| 邻水| 调兵山市| 抚顺市| 乐山市| 梨树县| 那坡县| 突泉县| 古丈县| 芷江| 淮安市| 英德市| 陕西省| 津南区| 河间市| 抚顺市| 翁牛特旗| 西乌珠穆沁旗| 揭阳市| 武城县| 陈巴尔虎旗| 肥西县| 敦化市| 山阴县| 博乐市| 桃江县| 启东市| 合水县| 湖南省| 即墨市| 库尔勒市| 邛崃市| 鹿泉市| 海淀区| 东丰县| 图们市|