歷史
詞性標註是隨著語料庫的建立而提出的,在其發展初期是語料庫中語法分析器(parser)的組件之一,詞性標註的早期工作包括
賓夕法尼亞大學(University of Pennsylvania)TDAP(Transformations and Discourse Analysis Project)項目中的語法結構模型,以及Sheldon Klein和Robert F. Simmons通過人工指定的上下文規則建立的自動化詞性標註系統CGC(Computational Grammar Coder)。1971年,Barbara B. Greene和Gerald M. Rubin以Klein and Simmons (1963)為基礎開發了詞性標註系統TAGGIT,並首次對大規模詞庫Brown Corpus進行了詞性標註。
1985年,Andrew D. Beale使用統計學習方法為Lancaster-Oslo-Bergen Corpus開發了詞性標註系統CLAWS (Constituent-Likelihood Automatic Word tagging System),1987年,Steven DeRose使用
動態規劃方法對Brown Corpus進行了詞性標註。統計學習方法的成功和更大規模的語料庫,例如British National Corpus的出現,為詞性標註研究中機器學習方法的引入奠定了基礎。二十世紀80-90年代,學界開始嘗試使用
隱馬爾可夫模型(Hidden Markov Model, HMM)進行詞性標註並取得了成功,以HMM為代表的詞性標註方法也由此被廣泛套用於各類大規模語料庫的NLP和文本挖掘。
理論
詞性標註在本質上是分類問題,將語料庫中的單詞按詞性分類。一個詞的詞性由其在所屬語言的含義、形態和語法功能決定。以漢語為例,漢語的詞類系統有18個子類,包括7類體詞,4類謂詞、5類虛詞、代詞和感嘆詞。詞類不是閉合集,而是有兼詞現象,例如“制服”在作為“服裝”和作為“動作”時會被歸入不同的詞類,因此詞性標註與上下文有關。對詞類的理論研究可以得到基於人工規則的詞性標註方法,這類方法對句子的形態進行分析並按預先給定的規則賦予詞類。
算法
詞性標註的機器學習算法主要為序列模型,包括HMM、最大熵馬爾可夫模型(Maximum Entropy Markov Model, MEMM)、
條件隨機場(Conditional random fields,CRFs)等廣義上的
馬爾可夫模型成員,以及以
循環神經網路(Recurrent Neural Network, RNN)為代表的
深度學習算法。此外,一些機器學習的常規分類器,例如
支持向量機(Support Vector Machine, SVM)在改進後也可用於詞性標註。
套用
詞性標註是文本數據的預處理環節之一,原始文本在NLP或文本挖掘套用中,首先通過字元分割(word segmentation)和字元嵌入(word embedding)被向量化,隨後通過詞性標註得到高階層特徵,並輸入
語法分析器執行
語義分析(sentiment analysis)、
指代消解(coreference resolution)等任務。