與基于理解的分詞算法和基于統(tǒng)計(jì)的分詞算法相比,基于文本匹配的算法更加通用?;谖谋酒ヅ涞乃惴ㄓ址Q之為“機(jī)械分詞算法”,他是它是按照一定的策略將待分析的漢字串與一個(gè)“充分大的”機(jī)器詞典中的詞條進(jìn)行配,若在詞典中找到某個(gè)字符串,則匹配成功,可識(shí)別出一個(gè)詞。按照掃描方向的不同,文本匹配分詞方法可以分為正向匹配和逆向匹配兩種;按照不同長度優(yōu)先匹配的情況,可以分為最大(最長)匹配和最?。ㄗ疃蹋┢ヅ?;按照是否與詞性標(biāo)注過程相結(jié)合,又可以分為單純分詞方法和分詞與標(biāo)注相結(jié)合的一體化方法。
常用的幾種機(jī)械分詞方法如下:
1)正向最大匹配法(由左到右的方向)
2)逆向最大匹配法(由右到左的方向)
3)最少切分(使每一句中切出的詞數(shù)最?。?。
其他的還有將上述各種方法相互組合形成的分詞算法,例如,可以將正向最大匹配方法和逆向最大匹配方法結(jié)合起來構(gòu)成雙向匹配法。由于漢語單字成詞的特點(diǎn),正向最小匹配和逆向最小匹配一般很少使用。本文中著重討論正向最大匹配法和逆向最大匹配法。
由于機(jī)械分詞算法的準(zhǔn)確性取決于算法的準(zhǔn)確性與詞庫完備性兩個(gè)方面。在本文中設(shè)想詞庫充分大,包含需要的詞語。
一般說來,逆向匹配的切分精度略高于正向匹配,遇到的歧義現(xiàn)象也較少。統(tǒng)計(jì)結(jié)果表明,單純使用正向最大匹配的錯(cuò)誤率為1/169,單純使用逆向最大匹配的錯(cuò)誤率為1/245。但這種精度還遠(yuǎn)遠(yuǎn)不能滿足實(shí)際的需要。實(shí)際使用的分詞系統(tǒng),都是把機(jī)械分詞作為一種初分手段,還需通過利用各種其它的語言信息來進(jìn)一步提高切分的準(zhǔn)確率。
我們先看兩句中文:
1)長春市長春節(jié)致辭
2)長春市長春藥店
我們假使詞庫中包含如下詞語“長春”,“長春市”,“市長”,“春節(jié)”,“致辭”,“春藥”,“藥店”,“春藥店”等。
用正向最大匹配法得到的結(jié)果是:
長春市/長春/節(jié)/致辭(分成4個(gè)詞,其中“節(jié)”未匹配到,語義錯(cuò)誤)
長春市/長春/藥店(分成3個(gè)詞,都匹配到,語義正確)
用逆向最大匹配法得到的結(jié)果是:
長春/市長/春節(jié)/致辭(分成4個(gè)詞,都匹配到,語義正確)
長春/市長/春藥店(分成3個(gè)詞,都匹配到,語義錯(cuò)誤)
從此,我們可以看到正向最大匹配法和逆向最大匹配法的利弊所在:都能夠正確解釋部分中文,同時(shí)都有一些無法區(qū)分。
是否可以考慮將這兩種匹配法結(jié)合起來,各取所長呢?答案是肯定的。
首先,我們對同一個(gè)詞用正向最大匹配法和逆向最大匹配法分別切詞,再將結(jié)果進(jìn)行比較。如切分“長春市長春節(jié)致辭”,因?yàn)檎蜃畲笃ヅ浞ㄓ幸粋€(gè)詞語無法匹配,故選擇使用逆向最大匹配法作為結(jié)果。
其次,我們可以引入詞頻的概念,及每一個(gè)詞語都會(huì)根據(jù)其在漢語中出現(xiàn)的概率獲得一個(gè)詞頻值。我們對“長春市長春藥店”進(jìn)行兩種方法的分詞,但是因?yàn)槟嫦蜃畲笃ヅ浞ǖ玫降摹按核幍辍钡脑~頻相比于其他詞語的詞頻要低很多。我們可以認(rèn)為這種分詞方法得到的結(jié)果不通用,取正向最大匹配法得結(jié)果。
當(dāng)然,還可以將其他的一些方法(如掃描標(biāo)志法,詞性檢查法等)與這兩種匹配法相結(jié)合,以獲得更好更準(zhǔn)確的分詞效果。
更多信息請查看IT技術(shù)專欄