邵澤國
(上海師范大學人文傳播學院,上海 200234)
自然語言處理是計算機科學、語言學、數(shù)學、認知學等學科的交叉學科,是語言科學發(fā)展的一個新的學科分支[1]。它立足于實驗、理論和計算來實現(xiàn)計算機對語言文字信息的自動分析和理解,是個實用性強、應(yīng)用范圍廣的學科[2]。在機器翻譯、文本處理、語音分析與識別、人機交互、信息檢索等領(lǐng)域有著廣泛的應(yīng)用。特別是近年來隨著網(wǎng)絡(luò)信息的大爆炸,自然語言處理技術(shù)被認為是處理信息網(wǎng)絡(luò)世界中語言載體的核心技術(shù)。
語言科學搭起了人文科學與自然科學的橋梁,自然語言處理[3](Natural Language Processing,NLP)正是以語言為對象,利用計算機技術(shù)來分析、理解和處理自然語言。它是典型邊緣交叉學科,涉及到語言科學、計算機科學、數(shù)學、認知學、邏輯學等。人們把用計算機處理自然語言的過程在不同時期或側(cè)重點不同時又稱為自然語言理解(Natural Language Understanding,NLU)、人類語言技術(shù)(Human Language Technology,HLT)、計算語言學[4](Computational Linguistics)、計量語言學(Quantitative Linguistics)、數(shù)理語言學(Mathematical Linguistics)。
人類最早將自然語言與計算機聯(lián)系在一起是機器翻譯。當發(fā)現(xiàn)語言的計算機處理過程不是一個簡單的機械過程時,人們將注意力聚焦在自然語言的理解上[5],即追求語言含義的真正解釋,從而形成由自然語言理解[6]這一學科。隨著人們對“理解”的日益加深,逐漸拓寬了自然語言同計算機結(jié)合的認識,從“理解”變?yōu)椤疤幚怼?,即而有了自然語言處理[7]。之后,隨著人類學的發(fā)展,人們用“人類語言技術(shù)”這一更確切的術(shù)語來命名面向人類語言的處理技術(shù)的研究。
在這個研究過程中若側(cè)重于從計算角度來看待語言學的性質(zhì),或以自然語言為對象來研究算法,則稱之為計算語言學,它是用計算機模擬人去分析、處理自然語言。若側(cè)重于以計算機作為工具手段對自然語言進行計量研究,則稱為計量語言學,它是利用計算機來獲取語言中隱含的數(shù)量規(guī)律。如果是專注于對自然語言進行各種類型的信息處理和加工技術(shù)研究,且強調(diào)計算機實現(xiàn),則稱之為自然語言處理。如果是專注于以數(shù)學方法來刻畫語言的各種特點,從而形成表述嚴密的語言理論體系,則稱之為數(shù)理語言學。
事實上,自然語言處理同自然語言理解、人類語言技術(shù)、計算語言學、計量語言學、數(shù)理語言學相互之間沒有嚴格的界限,一般把自然語言處理等同于計算語言學。
(1)萌芽階段。1954年,美國喬治敦(Georgetown)大學與IBM公司合作,在IBM-701型計算機上進行了俄語翻譯成英語的機器翻譯實驗,這是世界上首次將計算機應(yīng)用在非數(shù)值計算的信息處理領(lǐng)域。
(2)成長階段[7]。20世紀60年代,出現(xiàn)了一批基于諾姆·喬姆斯基(Noam Chomsky,美國語言學家)的轉(zhuǎn)換—生成語法的語言處理系統(tǒng)。如麻省理工學院拉法勒(B.Raphael)的信息檢索系統(tǒng)SIR、韋森鮑姆的ELIZA。這些系統(tǒng)采用的主要技術(shù)是模式識別中的句法匹配,沒有成熟的句法分析。1972年伍茲(Woods)在他的自然語言信息檢索系統(tǒng)(LUNAR)提出了著名的擴充轉(zhuǎn)移網(wǎng)絡(luò)(Augmented Transition Network,ATN)。同年,威諾甘德(T.Winogand)的自然語言理解系統(tǒng)(SHRDLU)嵌入了一個句法分析程序、一個語義分析程序、一個問題求解器,是一個句法、語義和推理的組合系統(tǒng)。1975年,香克(R.Schank)設(shè)計了基于本人概念從屬理論的 MARGIE(Meaning Analysis,Response Generation,and Inference on English)系統(tǒng),系統(tǒng)由概念分析器、推理器和篇章生產(chǎn)器3部分組成。
(3)實際應(yīng)用階段[8-9]。20 世紀 80 年代,出現(xiàn)了各種新的語法體系,如Gazder的廣義短語結(jié)構(gòu)語法(Generalied Phrase Structure Grammar)、Bresnan 與Kaplan的詞匯功能語法(Lexical Functional Grammar)、M.kay的功能合一語法(Functional Unification Grammar)等。90年代語料庫語言學(Corpus Linguistice)的研究蔚然成風,許多國家和學術(shù)機構(gòu)相繼推出了不同語種的超大型語料庫或知識庫。
這些語言學上的成果大幅提高了自然語言處理系統(tǒng)的能力,涌現(xiàn)出了諸如美國METAL和LOGOS,日本PIVOT和HICAT,法國ARIANE以及德國SUSY等著名實用性系統(tǒng)。
屬于漢藏語系的中國在自然語言處理方面的研究與應(yīng)用目前稍落后于印歐語系的歐美等國家,這是由于漢語自身的特點和計算機技術(shù)的落后決定的。但近年來我國無論在自然語言處理的理論方面,還是在應(yīng)用方面都取得了可喜成績。典型代表:理論方面有黃曾陽(中國科學院聲學研究所)先生的概念層次網(wǎng)絡(luò)理論(Hierarchical Net Work of Concept);應(yīng)用方面有北京大學的《現(xiàn)代漢語語法信息詞典》,清華大學的《漢語語素數(shù)據(jù)庫》,董振東先生的知網(wǎng)(How Net),潘悟云先生的漢語方言地理信息系統(tǒng)平臺,中國社會科學院文學研究所的千萬詞級漢語語料庫,臺灣中央研究院的千萬級古代、近代、現(xiàn)代漢語語料庫,清華大學的ZW大型通用漢語語料庫等[10]。
近期有學者指出漢語言是世界上方言語種最多、文獻資料最豐富、唯一保持歷史延續(xù)性的語言,未來自然語言處理技術(shù)的突破有可能在中國出現(xiàn)。
1950年,圖靈(Alan Mathison Turing)提出了被后人稱為人工智能直接起源之一的著名的“圖靈測試”。而這個測試正是機器理解人類語言的典型范例,所以更多的學者把自然語言處理看作是人工智能的一個分支。語言是人類智能與智慧的高度表現(xiàn),因而對自然語言處理的研究也有助于人們揭開人類智能的奧秘、認識自己,為智能科學的發(fā)展和突破貢獻力量。
作為一個邊緣交叉學科,自然語言處理的發(fā)展受益于相關(guān)學科的發(fā)展,同時也會促進相關(guān)學科,特別是信息科學、語言學、認知學、心理學的進步。
自然語言處理也為國民經(jīng)濟的發(fā)展和社會的進步帶來了動力。隨著信息時代的到來,自然語言處理已在機器翻譯、信息檢索、人機交互、語音識別、語音合成、文本分類、自動文摘、問答系統(tǒng)等應(yīng)用領(lǐng)域里發(fā)揮了重要作用,這正是這門學科的實用價值所在。
自然語言處理的方法到目前可以歸納為規(guī)則法、統(tǒng)計法、規(guī)則統(tǒng)計法。從方法論上又將規(guī)則法稱為理性主義方法,統(tǒng)計法稱為經(jīng)驗主義方法[11]。
(1)規(guī)則方法。通常是先由語言學家撰寫“規(guī)則庫”,例如“詞典”,再由計算機科學家編寫算法程序,對“規(guī)則庫”進行解釋和執(zhí)行,如圖1所示。具體是由句法分析器按照設(shè)定的自然語言語法把輸入句分析為句法結(jié)構(gòu),再根據(jù)語義規(guī)則把語法符號結(jié)構(gòu)映射到語義符號結(jié)構(gòu)。
圖1 規(guī)則方法的流程
(2)統(tǒng)計法。統(tǒng)計法是通過對語料庫中的訓練數(shù)據(jù)來估計統(tǒng)計模型中的參數(shù),從而建立統(tǒng)計性的語言處理模式。這里“語料庫”由語言學家建立,計算機科學家負責建立統(tǒng)計模型、利用語料庫訓練模型參數(shù)以及編寫算法解決問題,如圖2所示。
圖2 統(tǒng)計方法的流程
(3)規(guī)則統(tǒng)計法。其實是規(guī)則法與統(tǒng)計法的融合,充分吸收兩者的有點。規(guī)則方法易于表達復雜的語言知識且語言知識的表達較直觀、靈活;但語言知識的覆蓋率低,缺乏言知識的沖突統(tǒng)一解決機制。而統(tǒng)計方法的統(tǒng)計模型提供了統(tǒng)一的沖突解決機制,且大規(guī)模數(shù)保證了語言知識的大覆蓋率;同時它又不善于表示復雜的、深層次的語言知識,對于數(shù)據(jù)稀缺的語言沒有好的解決方案。
統(tǒng)計方法在發(fā)展的過程中不斷改進,逐漸吸收規(guī)則方法的優(yōu)點來彌補自身的缺陷,統(tǒng)計模型趨于復雜,甚至一些模型直接建立在規(guī)則表示的基礎(chǔ)上,從而能夠表達很復雜的語言知識。兩者的巧妙融合形成了規(guī)則統(tǒng)計法。目前該方法成為了自然語言處理的主流方法。
雖然國外的自然語言(印歐語系)處理技術(shù)先進于國內(nèi),但國外的眾多理論和方法難以照搬應(yīng)用于漢語言處理中。原因在于表意體系的漢語與表音體系的印歐語在自身特征上有較大差異。印歐語在詞匯、語法、語用、語境諸層面上有明顯的特征區(qū)分,相互間又有對應(yīng)關(guān)系。但漢語在各層面上難以劃分,特別是句法和語法間的界限相當模糊。另外,漢語沒有嚴格意義上的形態(tài)變化(形態(tài)標記),對詞沒有一致認可的定義和明顯的分詞的自然形態(tài)界限[12]。總之漢語處理要難于印歐語的處理,突出的問題是:
(1)漢語的歧義。歧義是自然語言的普遍現(xiàn)象,當語言形式不能完全決定語言內(nèi)容(語義)時即稱為歧義。在語言的語音、詞匯、句法、語境上都存在歧義現(xiàn)象。漢語言文字是字形、字音分離的文字(不考慮有音無字的名族語),所以一字多音,一音多字現(xiàn)象較多。再加上漢語詞匯較難定義,句法、語法界限模糊,使得漢語的排歧相當困難。目前多是綜合利用語法和語義知識,結(jié)合字典、語法規(guī)則庫及上下文信息來進行排歧,但效果并不理想,特別是語境歧義無法解決。
(2)漢語語法兼類。語法兼類即詞的同形異類,同一形式的詞具有兩種或兩種以上的語法功能類別。如“連”這個詞兼有副詞、介詞、動詞、名詞、和量詞5種詞性。兼類詞雖然數(shù)量不多,但出現(xiàn)的頻率較高,且越是常用詞,其兼類現(xiàn)象越嚴重。
(3)分詞。漢語句子中的詞與詞間沒有標識符號,所以要理解和處理漢語句子就要先把句子中的詞正確的切分出來。詞才是計算機處理的核心對象。
(4)詞性標注。建立句法結(jié)構(gòu)樹的首要任務(wù)是詞性標注,即明確文本中所有語法兼類詞在具體語境下所屬的詞性。在語法平面內(nèi)現(xiàn)有的詞性標注法有:基于規(guī)則的方法、基于統(tǒng)計的方法、基于神經(jīng)網(wǎng)絡(luò)的方法、規(guī)則與統(tǒng)計混合法。
(5)電子詞典。電子詞典包含了語料加工處理所需有關(guān)詞的各種語言學知識,包括分詞、詞性標注、短語分析等。電子詞典的規(guī)模和質(zhì)量決定了自然語言處理系統(tǒng)的成敗。
(6)規(guī)則庫。語言是有規(guī)則的,規(guī)則是可以描述和處理的。規(guī)則庫就是把語言學知識歸納成一套文法規(guī)則,用于判斷匹配成的句子是否合法。最典型的語言學知識表示方法有:依存語法(Dependency Grammar)、格語法(Case Grammar)、語法樹方法(Syntax Tree)、轉(zhuǎn)換生成語法(Transformational Generative Grammar)、擴充轉(zhuǎn)移網(wǎng)絡(luò)法(Augmented Transition Network)、語義網(wǎng)絡(luò)(Semantic Network)理論、蒙塔鳩語法(MONTAGUE GRAMMAR)、系統(tǒng)語法(System Grammar)、概念依存理論(Conceptual Dependency Theory)和現(xiàn)代語法理論。20世紀80年代后,國外又推出了一些新的語法理論和方法,較有影響力的有:廣義短語結(jié)構(gòu)語法(Generalized Phrase Structure Grammar)、頭驅(qū)動的短語結(jié)構(gòu)語法(Head-Driven Phrase Structure Grammar)、詞匯功能語法(Lexical Functional Grammar)、功能合一語法(Functional Unification Grammar)、鏈語法(Link Grammar)、范疇語法(Categorial Grammar)、依存語法(Dependency Grammar)、樹嫁接語法(Tree Adjoining Grammar)。
(7)統(tǒng)計信息庫。包含了對語料庫信息的各種統(tǒng)計結(jié)果,如帶詞性標注的詞頻統(tǒng)計、鄰接詞同現(xiàn)概率統(tǒng)計和短語結(jié)構(gòu)分布信息等,它為基于統(tǒng)計的語料庫處理技術(shù)提供了客觀的語言分布數(shù)據(jù)。這些數(shù)據(jù)可以認為是計算機從大規(guī)模語料中獲得的語言學知識,它不僅有助于計算機信息處理,更對語言學研究起到推動作用。
語言是人類智慧的最重要特征,可以說人類的語言和大腦是世界上最復雜的兩樣東西,而計算機是研究它們的有效輔助工具[13]。因此對自然語言處理的研究及應(yīng)用是人類社會發(fā)展必須且必將邁過的一道障礙。
[1]馮志偉.計算語言學基礎(chǔ)[M].北京:商務(wù)印書館,2001.
[2]馮志偉.自然語言的計算機處理[M].上海:上海外語教育出版社,1996
[3]江銘虎.自然語言處理[M].北京:高等教育出版社,2006.
[4]俞士汶.計算語言學概論[M].北京:商務(wù)印書館,2007.
[5]劉開瑛,郭炳炎.自然語言處理[M].北京:科學出版社,1991.
[6]馮志偉.自然語言處理的形式模型[M].中國科學技術(shù)大學出版社,2010.
[7]陳肇雄,高慶獅.自然語言處理[J].計算機研究與發(fā)展,1989(11):1-16.
[8]宗成慶.統(tǒng)計自然語言處理[M].北京:清華大學出版社,2011.
[9]陳力為,袁琦主編.計算語言學進展與應(yīng)用[M].北京:清華大學出版社,1995
[10]劉玉屏.計算機在漢語方言研究中的應(yīng)用[J].寧夏大學學報,2002(1):53-57.
[11]陸致極.漢語方言數(shù)量研究探索[M].北京:語文出版社,1992.
[12]俞士汶.計算語言學前瞻[M].北京:商務(wù)印書館,2005.
[13]鄭錦全.語言學——結(jié)合人文關(guān)懷與科技應(yīng)用的學科[J].暨南學報:哲學社會科學版,2005(5):94-97.