【词性标注】一篇文章弄懂词性标注
詞性標注概述
? 詞類
同一個詞類的詞具有相同的語法功能、在同樣的位置中出現
劃分詞類的目的在于描寫語句的結構規則,以基于模式自動處理成批的語料(便于自然語言處理)
詞類 = 實詞(content) + 虛詞(function)
- 實詞——動詞、形容詞、代詞、量詞、數詞
- 虛詞——連詞、助詞、語氣詞
? 詞性
詞性是對具體的詞,根據其語法,兼顧其意義,將其歸類的結果
? 詞性標注
詞性標注( POS tagging)就是在給定的句子中,判定每個詞的語法范疇,確定詞性并加以標注的過程
- 單類詞(只具有單一詞性的詞):可以直接查詞典
- 兼類詞(具有多種詞性的詞):要根據上下文進行推斷,即消歧
詞性標注的難點在于:兼類詞和未登錄詞的詞性標注
?
?
?
漢語詞性標注的特殊問題
? 形態標準
在英文中,-ing表示動名詞,-ed表示過去式,-s表示名詞復數…
而中文,是缺乏這種形態變化的——漢語的絕大多數詞匯不具有前綴、后綴、重疊、黏附的形態變化
因此,根據形態劃分中文詞性,是行不通的。
某種意義上,雖然中文的形態變化匱乏,但也不是沒有:
美化、綠化、現代化采用“化”為后綴;小貓、小狗、小兔子采用“小”作為前綴;商量商量、琢磨琢磨、漂漂亮亮、畏畏縮縮又是采用了“重復”的形態變化
只是這些,并不具備參考意義罷了———這樣的詞又有幾個呢?
? 意義標準
英文中:good永遠是形容詞,fight永遠是動詞,plane永遠是名詞…
而中文,復雜太多太多——“我很好”,“這個loli好可愛”,“好”是形容詞還是副詞?“這人頂好”,“我到達了山頂”,“你不要頂嘴”,“頂”的詞性呢?
因此,脫離了語法去談詞性,是很難具有語言學價值的。
?
? 分布標準
英文中:標準的主謂賓、定語從句、主語從句…
而中文,很難像英文這樣保證某個詞分布在固定的位置。一個詞可能以一種奇怪的姿態與另一個詞組合在一起,并出現在奇怪的位置
因此,基于分布標準進行中文詞性標注也不是最好的選擇。
?
? 兼類詞
兼類詞是中文詞性標注的最大敵人———漢語中的兼類詞占比達47%(悲
?
?
?
詞性標注的思路
▊基于規則
-
基本思想:基于上下文指定標注規則
-
缺點:人工成本昂貴(語言學家編寫規則);移植性查(一種語言一種規則);新規則與舊規則的沖突
▊基于機器學習
- 基本思想1:有監督的機器學習(太依賴訓練語料)
- 基本思想2:無監督的機器學習(即對相似的兼類詞進行聚類)
- 基本思想3:半監督的機器學習(少量的已標注樣本 + 大量的未標注樣本)
▊基于規則和機器學習
- 基本思想:上面兩種思路的折中
- 具體過程:初始詞性標注(全部可能) -> 通過規則消歧 -> 通過機器學習消歧 -> 未登錄詞推測 -> 人工校對 -> 最終詞性標注
▊感知機
- 基本思想:感知機好比神經網絡的一個神經元——它只能做而分類,即輸出興奮(1)和抑制(0);用多個感知機組成一層神經網絡,進行詞性的標注
- 補充:感知機其實和二元線性分類問題的常客——SVM支持向量機十分相似,算是低階版的SVM,也比SVM要年長很多
?
?
?
詞性標注工具
? thulac
import thulac# 默認模式(如果想只分詞不標注,設置參數seg_only=True) thu = thulac.thulac() list1 = thu.cut('中華人民共和國萬歲,世界人民大團結萬歲') print(list1)? jieba
import jieba from jieba import posseglist2 = list(jieba.posseg.cut('中華人民共和國萬歲,世界人民大團結萬歲')) print(list2)?
?
?
設計詞性標注器
- 默認標注器
- 正則標注器
- 查詢標注器
- Unigram標注器
- Bigram標注器
- 組合標注器
本篇文中著重于理論,并未過多設計其代碼實現
這部分內容可以戳這里>_<:《【詞性標注】詞性標注器設計》
?
?
?
?
?
?
總結
以上是生活随笔為你收集整理的【词性标注】一篇文章弄懂词性标注的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux通过windows代理上网并安
- 下一篇: lstm词性标注