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