導讀:自然語(yǔ)言處理(Natural Language Processing,NLP)技術(shù)是與自然語(yǔ)言的計算機處理有關(guān)的所有技術(shù)的統稱(chēng),其目的是使計算機能夠理解和接受人類(lèi)用自然語(yǔ)言輸入的指令,完成從一種語(yǔ)言到另一種語(yǔ)言的翻譯功能。
自然語(yǔ)言處理技術(shù)的研究,可以豐富計算機知識處理的研究?jì)热?,推?dòng)人工智能技術(shù)的發(fā)展。
作者:達觀(guān)數據
來(lái)源:華章科技
自然語(yǔ)言處理技術(shù)的核心為語(yǔ)義分析。語(yǔ)義分析是一種基于自然語(yǔ)言進(jìn)行語(yǔ)義信息分析的方法,不僅進(jìn)行詞法分析和句法分析這類(lèi)語(yǔ)法水平上的分析,而且還涉及單詞、詞組、句子、段落所包含的意義,目的是用句子的語(yǔ)義結構來(lái)表示語(yǔ)言的結構。語(yǔ)義分析技術(shù)具體包括如下幾點(diǎn)。
1. 詞法分析
詞法分析包括詞形分析和詞匯分析兩個(gè)方面。一般來(lái)講,詞形分析主要表現在對單詞的前綴、后綴等進(jìn)行分析,而詞匯分析則表現在對整個(gè)詞匯系統的控制,從而能夠較準確地分析用戶(hù)輸入信息的特征,最終準確地完成搜索過(guò)程。
2. 句法分析
句法分析是對用戶(hù)輸入的自然語(yǔ)言進(jìn)行詞匯短語(yǔ)的分析,目的是識別句子的句法結構,以實(shí)現自動(dòng)句法分析的過(guò)程。
3. 語(yǔ)用分析
語(yǔ)用分析相對于語(yǔ)義分析又增加了對上下文、語(yǔ)言背景、語(yǔ)境等的分析,即從文章的結構中提取出意象、人際關(guān)系等附加信息,是一種更高級的語(yǔ)言學(xué)分析。它將語(yǔ)句中的內容與現實(shí)生活中的細節關(guān)聯(lián)在一起,從而形成動(dòng)態(tài)的表意結構。
4. 語(yǔ)境分析
語(yǔ)境分析主要是指對原查詢(xún)語(yǔ)篇之外的大量“空隙”進(jìn)行分析,以便更準確地解釋所要查詢(xún)語(yǔ)言的技術(shù)。這些“空隙”包括一般的知識、特定領(lǐng)域的知識以及查詢(xún)用戶(hù)的需求等。
5. 自然語(yǔ)言生成
AI驅動(dòng)的引擎能夠根據收集的數據生成描述,通過(guò)遵循將數據中的結果轉換為散文的規則,在人與技術(shù)之間創(chuàng )建無(wú)縫交互的軟件引擎。結構化性能數據可以通過(guò)管道傳輸到自然語(yǔ)言引擎中,以自動(dòng)編寫(xiě)內部和外部的管理報告。
自然語(yǔ)言生成接收結構化表示的語(yǔ)義,以輸出符合語(yǔ)法的、流暢的、與輸入語(yǔ)義一致的自然語(yǔ)言文本。早期大多采用管道模型研究自然語(yǔ)言生成,管道模型根據不同的階段將研究過(guò)程分解為如下三個(gè)子任務(wù)。
早期基于規則的自然語(yǔ)言生成技術(shù),在每個(gè)子任務(wù)上均采用了不同的語(yǔ)言學(xué)規則或領(lǐng)域知識,實(shí)現了從輸入語(yǔ)義到輸出文本的轉換。
鑒于基于規則的自然語(yǔ)言生成系統存在的不足之處,近幾年來(lái),學(xué)者們開(kāi)始了基于數據驅動(dòng)的自然語(yǔ)言生成技術(shù)的研究,從淺層的統計機器學(xué)習模型,到深層的神經(jīng)網(wǎng)絡(luò )模型,對語(yǔ)言生成過(guò)程中每個(gè)子任務(wù)的建模,以及多個(gè)子任務(wù)的聯(lián)合建模,開(kāi)展了相關(guān)的研究,目前主流的自然語(yǔ)言生成技術(shù)主要有基于數據驅動(dòng)的自然語(yǔ)言生成技術(shù)和基于深度神經(jīng)網(wǎng)絡(luò )的自然語(yǔ)言生成技術(shù)。
自然語(yǔ)言處理應用的技術(shù)體系主要包括字詞級別的自然語(yǔ)言處理,句法級別的自然語(yǔ)言處理和篇章級別的自然語(yǔ)言處理。
1. 中文分詞
中文分詞是計算機根據語(yǔ)義模型,自動(dòng)將漢字序列切分為符合人類(lèi)語(yǔ)義理解的詞匯。分詞就是將連續的字序列按照一定的規范重新組合成詞序列的過(guò)程。
在英文的行文中,單詞之間是以空格作為自然分界符的,而中文只是字、句和段能夠通過(guò)明顯的分界符來(lái)進(jìn)行簡(jiǎn)單的劃界,唯獨詞沒(méi)有一個(gè)形式上的分界符,雖然英文也同樣存在短語(yǔ)的劃分問(wèn)題,不過(guò)在詞這一層面上,中文比英文要復雜得多、困難得多。
2. 命名實(shí)體識別
命名實(shí)體識別又稱(chēng)作“專(zhuān)名識別”(NER),是指對具有特定意義的實(shí)體進(jìn)行自動(dòng)識別的技術(shù),是信息提取、知識圖譜、問(wèn)答系統、句法分析、搜索引擎、機器翻譯等應用的重要基礎。
3. 詞性標注
詞性標注(Part-of-Speech tagging或POS tagging)又稱(chēng)詞類(lèi)標注,是指為分詞結果中的每個(gè)單詞標注一個(gè)正確的詞性的程序。具體來(lái)說(shuō)就是,確定每個(gè)詞是名詞、動(dòng)詞、形容詞或者是其他詞性的過(guò)程(如圖3-2所示)。
▲圖3-2 詞性標注
在漢語(yǔ)中,詞性標注比較簡(jiǎn)單,因為漢語(yǔ)詞匯詞性多變的情況比較少見(jiàn),大多數詞語(yǔ)只有一個(gè)詞性,或者出現頻次最高的詞性遠遠高于第二位的詞性。常用的方法有:基于最大熵的詞性標注、基于統計的最大概率輸出詞性、基于隱馬爾可夫模型(HMM)的詞性標注。
4. 同義詞分析
由于不同地區的文化差異,輸入的查詢(xún)文字很可能會(huì )出現描述不一致的問(wèn)題。此時(shí),業(yè)務(wù)系統需要對用戶(hù)的輸入做同義詞、糾錯、歸一化處理。同義詞挖掘是一項基礎工作,同義詞算法包括詞典、百科詞條、元搜索數據、上下文相關(guān)性挖掘,等等。
5. 詞向量分析
詞向量技術(shù)是指將詞轉化為稠密向量,相似的詞對應的詞向量也相近。在自然語(yǔ)言處理應用中,詞向量作為深度學(xué)習模型的特征進(jìn)行輸入。因此,最終模型的效果在很大程度上取決于詞向量的效果。一般來(lái)說(shuō),字詞表示有兩種方式:one-hot及分布式表示。
詞向量的生成可分為兩種方法:基于統計方法(例如,共現矩陣、奇異值分解(SVD)和基于語(yǔ)言模型(例如,word2vec中使用的CBOW、Skip-gram等)。
6. 依存文法分析
依存文法通過(guò)分析語(yǔ)言單位內成分之前的依存關(guān)系解釋其句法結構,主張句子中的核心謂語(yǔ)動(dòng)詞是支配其他成分的中心成分。而它本身卻不會(huì )受到其他任何成分的支配,所有受支配的成分都以某種關(guān)系從屬于支配者,如圖3-3所示。
▲圖3-3 依存文法分析距離
從分析結果中我們可以看到,句子的核心謂語(yǔ)動(dòng)詞為“召開(kāi)”,主語(yǔ)是“民航局”,“召開(kāi)”的賓語(yǔ)是“會(huì )”,“會(huì )”的修飾語(yǔ)是“通用航空發(fā)展工作專(zhuān)題”。有了上面的句法分析結果,我們就可以比較容易地看到,是“民航局”“召開(kāi)”了會(huì )議,而不是“促進(jìn)”了會(huì )議,即使“促進(jìn)”距離“會(huì )”更近。
7. 詞位置分析
文章中不同位置的詞對文章語(yǔ)義的貢獻度也不同。文章首尾出現的詞成為主題詞、關(guān)鍵詞的概率要大于出現在正文中的詞。對文章中的詞的位置進(jìn)行建模,賦予不同位置不同的權重,從而能夠更好地對文章進(jìn)行向量化表示。
8. 語(yǔ)義歸一化
語(yǔ)義歸一化通常是指從文章中識別出具有相同意思的詞或短語(yǔ),其主要的任務(wù)是共指消解。共指消解是自然語(yǔ)言處理中的核心問(wèn)題,在機器翻譯、信息抽取以及問(wèn)答等領(lǐng)域都有著(zhù)非常重要的作用。
就拿常見(jiàn)的信息抽取的一個(gè)成型系統來(lái)講,微軟的學(xué)術(shù)搜索引擎會(huì )存有一些作者的檔案資料,這些信息可能有一部分就是根據共指對象抽取出來(lái)的。比如,在一個(gè)教授的訪(fǎng)談錄中,教授的名字可能只會(huì )出現一兩次,更多的可能是“我”“某某博士”“某某教授”或“他”之類(lèi)的代稱(chēng),不出意外的話(huà),這其中也會(huì )有一些同樣的詞代表記者,如何將這些詞對應到正確的人,將會(huì )成為信息抽取的關(guān)鍵所在。
9. 文本糾錯
文本糾錯任務(wù)指的是,對于自然語(yǔ)言在使用過(guò)程中出現的錯誤進(jìn)行自動(dòng)地識別和糾正。文本糾錯任務(wù)主要包含兩個(gè)子任務(wù),分別為錯誤識別和錯誤修正。錯誤識別的任務(wù)是指出錯誤出現的句子的位置,錯誤修正是指在識別的基礎上自動(dòng)進(jìn)行更正。
相比于英文糾錯來(lái)說(shuō),中文糾錯的主要困難在于中文的語(yǔ)言特性:中文的詞邊界以及中文龐大的字符集。由于中文的語(yǔ)言特性,兩種語(yǔ)言的錯誤類(lèi)型也是不同的。
英文的修改操作包括插入、刪除、替換和移動(dòng)(移動(dòng)是指兩個(gè)字母交換順序等),而對于中文來(lái)說(shuō),因為每一個(gè)中文漢字都可獨立成詞,因此插入、刪除和移動(dòng)的錯誤都只是作為語(yǔ)法錯誤。由于大部分的用戶(hù)均為母語(yǔ)用戶(hù),且輸入法一般會(huì )給出正確提示,語(yǔ)法錯誤的情況一般比較少,因此,中文輸入糾錯主要集中在替換錯誤上。
10. 標簽提取
文檔的標簽通常是幾個(gè)詞語(yǔ)或者短語(yǔ),并以此作為對該文檔主要內容的提要。標簽是人們快速了解文檔內容、把握主題的重要方式,在科技論文、信息存儲、新聞報道中具有極其廣泛的應用。文檔的標簽通常具有可讀性、相關(guān)性、覆蓋度等特點(diǎn)。
11. 文本相似度
文本相似度在不同領(lǐng)域受到了廣泛的討論,然而由于應用場(chǎng)景的不同,其內涵也會(huì )有差異,因此沒(méi)有統一的定義。
從信息論的角度來(lái)看,相似度與文本之間的共性和差異度有關(guān),共性越大、差異度越小,則相似度越高;共性越小、差異度越大,則相似度越低;相似度最大的情況是文本完全相同。
相似度計算一般是指計算事物的特征之間的距離,如果距離小,那么相似度就大;如果距離大,那么相似度就小。
相似度計算的方法可以分為四大類(lèi):基于字符串的方法、基于語(yǔ)料庫的方法、基于知識的方法和其他方法。
12. 主題模型
主題分析模型(Topic Model)是以非監督學(xué)習的方式對文檔的隱含語(yǔ)義結構進(jìn)行統計和聚類(lèi),以用于挖掘文本中所蘊含的語(yǔ)義結構的技術(shù)。隱含狄利克雷分布(Latent Dirichlet Allocation,LDA)是常用的主題模型計算方法。
13. 文本分類(lèi)
按照特定行業(yè)的文檔分類(lèi)體系,計算機自動(dòng)閱讀文檔的內容并將其歸屬到相應類(lèi)目的技術(shù)體系下。其典型的處理過(guò)程可分為訓練和運轉兩種。即計算機預先閱讀各個(gè)類(lèi)目的文檔并提取特征,完成有監督的學(xué)習訓練,在運轉階段識別新文檔的內容并完成歸類(lèi)。
14. 文本聚類(lèi)
文本聚類(lèi)主要是依據著(zhù)名的聚類(lèi)假設:同類(lèi)的文檔相似度較大,而不同類(lèi)的文檔相似度較小。作為一種無(wú)監督的機器學(xué)習方法,聚類(lèi)由于不需要訓練過(guò)程,以及不需要預先對文檔的類(lèi)別進(jìn)行手工標注,因此具有一定的靈活性和較高的自動(dòng)化處理能力。
文本聚類(lèi)已經(jīng)成為對文本信息進(jìn)行有效地組織、摘要和導航的重要手段。文本聚類(lèi)的方法主要有基于劃分的聚類(lèi)算法、基于層次的聚類(lèi)算法和基于密度的聚類(lèi)算法。
聯(lián)系客服