馮俐
(川北醫(yī)學(xué)院現(xiàn)代教育技術(shù)中心,南充637000)
自然語言處理研究如何讓計算機“理解”并“生成”人們的日常語言,相當(dāng)于“聽懂”和“表達”。中文分詞技術(shù)是自然語言處理的一項基礎(chǔ)技術(shù),關(guān)系著后續(xù)研究對象的質(zhì)量好壞。作者在CNKI 數(shù)據(jù)庫中對主題為“中文+分詞”、“漢語+分詞”、“自動+分詞”的文章進行搜索,得到1983 年至2018 年關(guān)于中文分詞的4092 篇相關(guān)研究論文。
從2001 年開始,陸續(xù)有研究中文分詞的文章發(fā)表,到2010 年達到頂峰,2010 年以后至今每年發(fā)表文章數(shù)量在300 左右波動。
四千多篇文章中有七百余篇獲得了項目基金支持。其中國家級項目數(shù)505 篇,占總數(shù)的71.4%。
北京郵電大學(xué)等40 所高校發(fā)文總量達1825 篇,占所有文章總數(shù)的近一半量。北京郵電大學(xué)和電子科技大學(xué)分別以170 篇和147 篇的數(shù)量占據(jù)發(fā)文量榜首。
圖1 發(fā)文年份統(tǒng)計
圖2 項目支持情況
圖3 發(fā)文機構(gòu)統(tǒng)計
研究的主題有中文分詞的技術(shù)、方法、算法、系統(tǒng)、分詞器等;具體技術(shù)有分詞詞典、基于統(tǒng)計、情感詞典、專業(yè)詞典、歧義字段、相似度、特征項、未登錄詞、詞性標(biāo)注、字符串等;應(yīng)用范圍有機器檢索、全文檢索、文本挖掘、情感分析、情報工作、文本分類。
2002 年前研究的算法主要有三種:
一種是基于字符串匹配(詞典)的算法,它是將需要分析的語言與詞典中的詞條進行匹配的方法。學(xué)者們研究字符串匹配時多種策略,如正向或逆向掃描、最大或最小的匹配原則、純分詞法或包含標(biāo)注的一體化方法等;
一種是基于統(tǒng)計的算法,它考慮字與字相鄰共現(xiàn)的頻率或概率,全文中相鄰出現(xiàn)字的次數(shù)越多,則被識別為可能是一個詞;
還有一種是組合的方法,很多學(xué)者嘗試將基于字符串匹配和基于統(tǒng)計的方法結(jié)合起來,保留了匹配的快速和高效,有兼有全文統(tǒng)計識別生詞和消除歧義的優(yōu)勢。
之后出現(xiàn)一種基于字標(biāo)注的分詞方法。上文所述的基于規(guī)則或是基于統(tǒng)計的分詞方法,一般都依賴于一個事先編制的詞典。自動分詞就是依據(jù)詞典和其他相關(guān)信息來進行詞語切分。與此相反,基于字標(biāo)注的分詞方法是一種構(gòu)詞方法,它依據(jù)的是每個字在構(gòu)造一個特定的詞語時都占據(jù)著一個確定的構(gòu)詞位置(即詞位),把分詞過程視為字在字串中的標(biāo)注問題[1]。因為是依據(jù)詞位標(biāo)注,詞表詞與未登錄詞同樣標(biāo)注,這樣大大簡化了分詞系統(tǒng)的設(shè)計。
字標(biāo)注法的關(guān)鍵是詞位學(xué)習(xí),根據(jù)上下文得到一個詞位特征的概率模型,再根據(jù)字間的關(guān)聯(lián)程度得到詞位標(biāo)注。隨著機器學(xué)習(xí)技術(shù)的發(fā)展,支持向量機、最大熵和條件隨機場等技術(shù)逐漸被研究者用于字構(gòu)詞的詞位學(xué)習(xí)中。Bakeoff 評測數(shù)據(jù)表明,基于字標(biāo)注的分詞系統(tǒng)優(yōu)于基于詞或詞典的分詞系統(tǒng)[1]。
中文分詞還具有另外兩個麻煩,歧義詞和為登錄詞。中文語言博大精深,靈活多變,不同語境中相同詞語包含不同意義的情況很常見,小學(xué)生語文訓(xùn)練中的一個重要內(nèi)容難點就是歧義分辨。歧義詞也理所當(dāng)然的成為中文分詞的一個難點。
識別歧義詞常有以下四種方法:一是雙向掃描,通過正向或者逆向掃描切分,比對是否匹配切詞結(jié)果;二是通過構(gòu)建歧義詞庫,匹配歧義詞庫與切詞結(jié)果;三是交集型歧義算法,它是基于切分路徑的長詞優(yōu)先原則,解決交集型歧義詞;還有一種是全切分算法,是一種通過全切分來得到所有分詞路徑的方法。將全切分得到所有分詞路徑的詞匯標(biāo)記在一個矩陣中,這個矩陣就叫做歧義矩陣,用作識別并區(qū)分交集型和組合型歧義字段。
歧義詞通??煞譃榻患?、組合型和真歧義三類,不同的消除方法對歧義詞的類型有所偏重。消除歧義詞主要方法有兩種:一是基于規(guī)則的歧義消解算法,它主要采用語義、語法、詞性等規(guī)則對歧義字段進行消除;一是基于統(tǒng)計的歧義消解算法,它是統(tǒng)計相鄰字同時出現(xiàn)的頻次,確定組成詞的可能性,具體有:單純以詞頻為依據(jù)的詞頻法;多個單字之間相連趨勢為依據(jù)的t-測試法;兩字之間結(jié)合緊密程度為依據(jù)的互信息法。
郭丙華根據(jù)詞與詞之間存在的固定搭配關(guān)系,先對歧義詞雙向掃描檢測和詞性標(biāo)注后,進行匹配搭配判斷,實現(xiàn)了較為準(zhǔn)確的歧義消除[6]。李春雨使用一種不單獨成詞語素表,與分詞結(jié)果對比進而消除歧義。李偉提出一種基于支持度因子的歧義消解算法,分別解決交集型歧義的從前或從后問題、組合型歧義的從分或從合問題,即是把切詞結(jié)果作為項集,將項集在由項集組成事務(wù)數(shù)據(jù)庫中的支持度作為切詞方式判斷標(biāo)準(zhǔn)[7]。
歧義詞雖難,但是基本可以窮舉歧義詞的所有含義,使得正確分詞具有一定的概率,更為麻煩的是未登錄詞,如專業(yè)詞匯、人名、地名、機構(gòu)名、新造詞,等等。在Bakeoff2003 數(shù)據(jù)上的評估結(jié)果表明,未登錄詞造成的分詞精度失落至少比分詞歧義大5 倍以上[1]。
中國科學(xué)院計算所漢語詞法分析系統(tǒng)ICTCLAS采用層疊隱馬爾可夫模型識別中文命名實體,系統(tǒng)設(shè)計了三級模型,低層粗切分,高層在低層結(jié)果的基礎(chǔ)上精切分,每層都以隱馬爾可夫模型作為基本算法,采用N-Nest 策略,將低層產(chǎn)生的最好結(jié)果送到高層,并為高層提供參數(shù)估計支持[3]。ICTCLAS 在2003 年5 月SIGHAN 舉辦的第一屆漢語分詞大賽中名列前茅。
韓彥昭采用條件隨機場模型和文本糾錯進行微博新詞詞性識別。先使用條件隨機場模型對微博語料進行詞性標(biāo)注,再將未登錄詞進行諧音詞校對,實現(xiàn)對微博未登錄詞進行較好的標(biāo)注[4]。
曾浩根據(jù)行業(yè)內(nèi)未登錄詞特點制定擴展規(guī)則,再將經(jīng)過擴展的復(fù)合詞進行詞頻、互信息和鄰接熵等統(tǒng)計特征判別。判別為未登錄詞再繼續(xù)進行相應(yīng)的擴展和識別[5]。朱峰提出一種改進的知識圖譜語義預(yù)測模型。
一個高效的性能優(yōu)良的中文分詞系統(tǒng)應(yīng)該具備幾個基本要素:分詞精度、分詞速度、系統(tǒng)可維護性、通用性、適應(yīng)性,目前比較成熟的幾款分詞系統(tǒng)有:
NLPIR 漢語分詞系統(tǒng):中國科學(xué)院研制的漢語分詞系統(tǒng),2004 版本之前名為ICTCLAS,它支持中英文混合分詞、新詞識別與自適應(yīng)分詞、關(guān)鍵詞提取和用戶專業(yè)詞典功能。
SCWS(簡易中文分詞系統(tǒng))正如它的名字,原理上是一種自行采集的詞頻詞典,并包含一些專有名稱、人名、地名、數(shù)字年代等特殊詞的規(guī)則集,能滿足中小型搜索引擎等基本需求。
PHPAnalysis(PHP 分詞系統(tǒng))是一種基于字符串的反向匹配分詞方法,采用類似哈希的數(shù)據(jù)結(jié)構(gòu)存儲詞庫。改進后增加了正向、雙向和最短路徑的掃描策略。
MMSEG4J 基于Java 的開源中文分詞組件,用Chih-Hao Tsai 的MMSeg 算法實現(xiàn)的中文分詞器,基于正向最大匹配;
盤古分詞是一個基于.NET 平臺的開源中文分詞組件,采用字典和統(tǒng)計結(jié)合的分詞算法,支持中文人名識別,簡繁混合分詞等,優(yōu)點在于實現(xiàn)多元分詞以及DictManager 管理詞典。
IKAnalyzer 是一個開源的基于Java 語言開發(fā)的輕量級的中文分詞工具包,結(jié)合詞典分詞和文法分析算法,正向最大匹配,原則是有效文本長度越長、詞元個數(shù)越少、路徑跨度越大、歧義詞詞元隊列位置越靠后、詞元位置權(quán)重越大等。
jieba 分詞一個Python 中文分詞組件,使用前綴詞典的詞圖掃描,支持精確、全模式、搜索引擎三種分詞模式,取全切分后最大概率路徑的切分方案,將未登錄詞的分詞視為序列標(biāo)注的問題,用HMM 模型進行識別。
本文統(tǒng)計的文章中,中文分詞技術(shù)的發(fā)展與搜索引擎技術(shù)研究和發(fā)展緊密相關(guān),2003-2009 年同時包含分詞與搜索引擎的文章占約16%,之后中文分詞技術(shù)開始逐漸向各個應(yīng)用領(lǐng)域滲透,如互聯(lián)網(wǎng)數(shù)據(jù)、醫(yī)療數(shù)據(jù)、地理數(shù)據(jù)等,至2015 年同時包含分詞與搜索引擎的文章只有8%,分詞技術(shù)更多的與情感分析、文本分類、專業(yè)語料庫等聯(lián)系起來。這個統(tǒng)計結(jié)果也支持分詞技術(shù)發(fā)展相對成熟,并逐漸到各個領(lǐng)域推廣應(yīng)用的現(xiàn)實情況。
本文通過對1983 年至2018 年,CNKI 檢索到的關(guān)于中文分詞的文獻進行統(tǒng)計和綜述工作,得到了關(guān)于年度、項目、機構(gòu)和主題的統(tǒng)計結(jié)果,綜述了關(guān)于中文分詞的算法、歧義詞、未登錄詞和分詞系統(tǒng)的相關(guān)研究內(nèi)容,最后總結(jié)了研究的發(fā)展趨勢。