本文主要梳理下NLP系統的體系結構及流程。html
此圖來自 【立委科普:天然語言系統架構簡說】
Tokenization
)POS Tagging
)Chunking
)Named Entity Tagging
)前面幾個主要屬於nlp的淺層分析任務,即序列標註任務。
中文不像英文那樣有空格來分詞,所以在分析文本以前就必須將一連串的漢字分解成合適的詞語。
分詞(從句到詞
)技術這塊主要算法
基於詞典的分詞方法(
最大匹配法、最短路徑法、最大機率法
),實際用的比較多的以下:
結巴分詞核心算法
)。
合詞(
從字到詞
)主要用到基於字序列標註的方法。
POS Tagging
)詞性,也稱爲詞類,是詞彙的語法屬性,是鏈接詞彙到句法的橋樑。
詞性標註(Part-of-Speech Tagging或POS Tagging),又稱爲詞類標註,是指判斷出在一個句子中每一個詞所扮演的語法角色。架構
這塊的技術大多數使用HMM(隱馬爾科夫模型)+ Viterbi算法,最大熵算法(Maximum Entropy
)。目前流行的中文詞性標籤有兩大類:北大詞性標註集和賓州詞性標註集。框架
現代漢語的詞能夠分爲兩類12種詞性:一類是實詞:名詞、動詞、形容詞、數詞、量詞和代詞;另外一類是虛詞:副詞、介詞、連詞、助詞、嘆詞和擬聲詞。
Chunking
)將標註好詞性的句子按句法結構把某些詞聚合在一塊兒造成好比主語、謂語、賓語等等;dom
語義組塊最經常使用的方法是條件隨機場(Conditional Random Fields,CRF)
Named Entity Tagging
)命名實體識別用於識別文本中具備特定意義的實體,常見的實體主要包括人名、地名、機構名及其餘專有名詞等。命名實體識別任務還要識別出文本中三大類(實體類、時間類和數字類)、七小類(人名、機構名、地名、時間、日期、貨幣和百分比)命名實體。wordpress
這塊使用到的技術就是標準的HMM模型和Viterbi算法。學習
句法分析是根據給定的語法體系自動推導出句子的語法結構,分析句子所包含的語法單元和這些語法單元之間的關係,將句子轉化爲一棵結構化的語法樹。spa
目前句法分析主要的理論以下:code
主要包括:文本類似度分析、文本關鍵詞提取、文本分類、內容摘要、情感傾向分析。
其中語義分析,就涉及到指代消解等技術;文本分類能夠用樸素貝葉斯算法。htm
本文主要解析了下NLP系統的體系結構及主要流程,方便後續有的放矢地深刻學習。