一文看懂詞性標註(基本概念+4種方法+7種工具)

AIBigbull2050發表於2019-09-13
2019-09-12 18:28:51
一文看懂詞性標註(基本概念+4種方法+7種工具)

什麼是詞性標註?

一文看懂詞性標註(基本概念+4種方法+7種工具)

維基百科上對詞性的定義為:In traditional grammar, a part of speech (abbreviated form: PoS or POS) is a category of words (or, more generally, of lexical items) which have similar grammatical properties.

詞性指以詞的特點作為劃分詞類的根據。詞類是一個語言學術語,是一種語言中詞的語法分類,是以語法特徵(包括句法功能和形態變化)為主要依據、兼顧詞彙意義對詞進行劃分的結果。

從組合和聚合關係來說,一個詞類是指:在一個語言中,眾多具有相同句法功能、能在同樣的組合位置中出現的詞,聚合在一起形成的範疇。詞類是最普遍的語法的聚合。詞類劃分具有層次性。如漢語中,詞可以分成實詞和虛詞,實詞中又包括體詞、謂詞等,體詞中又可以分出名詞和代詞等。

詞性標註就是在給定句子中判定每個詞的語法範疇,確定其詞性並加以標註的過程,這也是自然語言處理中一項非常重要的基礎性工作,所有對於詞性標註的研究已經有較長的時間,在研究者長期的研究總結中,發現漢語詞性標註中面臨了許多棘手的問題。

中文詞性標註的難點

漢語是一種缺乏詞形態變化的語言,詞的類別不能像印歐語那樣,直接從詞的形態變化上來判別。

常用詞兼類現象嚴重。《現代漢語八百詞》收取的常用詞中,兼類詞所佔的比例高達22.5%,而且發現越是常用的詞,不同的用法越多。由於兼類使用程度高,兼類現象涉及漢語中大部分詞類,因而造成在漢語文字中詞類歧義排除的任務量巨大。

研究者主觀原因造成的困難。語言學界在詞性劃分的目的、標準等問題上還存在分歧。目前還沒有一個統的被廣泛認可漢語詞類劃分標準,詞類劃分的粒度和標記符號都不統一。詞類劃分標準和標記符號集的差異,以及分詞規範的含混性,給中文資訊處理帶來了極大的困難。

詞性標註4種常見方法

一文看懂詞性標註(基本概念+4種方法+7種工具)

關於詞性標註的研究比較多,這裡介紹一波常見的幾類方法,包括基於規則的詞性標註方法、基於統計模型的詞性標註方法、基於統計方法與規則方法相結合的詞性標註方法、基於深度學習的詞性標註方法等。

基於規則的詞性標註方法

基於規則的詞性標註方法是人們提出較早的一種詞性標註方法,其基本思想是按兼類詞搭配關係和上下文語境建造詞類消歧規則。早期的詞類標註規則一般由人工構建。

隨著標註語料庫規模的增大,可利用的資源也變得越來越多,這時候以人工提取規則的方法顯然變得不現實,於是乎,人們提出了基於機器學習的規則自動提出方法。

基於統計模型的詞性標註方法

統計方法將詞性標註看作是一個序列標註問題。其基本思想是:給定帶有各自標註的詞的序列,我們可以確定下一個詞最可能的詞性。

現在已經有隱馬爾可夫模型(HMM)、條件隨機域(CRF)等統計模型了,這些模型可以使用有標記資料的大型語料庫進行訓練,而有標記的資料則是指其中每一個詞都分配了正確的詞性標註的文字。

基於統計方法與規則方法相結合的詞性標註方法

理性主義方法與經驗主義相結合的處理策略一直是自然語言處理領域的專家們不斷研究和探索的問題,對於詞性標註問題當然也不例外。

這類方法的主要特點在於對統計標註結果的篩選,只對那些被認為可疑的標註結果,才採用規則方法進行歧義消解,而不是對所有情況都既使用統計方法又使用規則方法。

基於深度學習的詞性標註方法

可以當作序列標註的任務來做,目前深度學習解決序列標註任務常用方法包括LSTM+CRF、BiLSTM+CRF等。

值得一提的是,這一類方法近年來文章非常多,想深入瞭解這一塊的朋友們可以看這裡:NLP-progress – GitHub

最後再放一個詞性標註任務資料集 – 人民日報1998詞性標註資料集

詞性標註工具推薦

Jieba

“結巴”中文分詞:做最好的 Python 中文分片語件,可以進行詞性標註。

SnowNLP

SnowNLP是一個python寫的類庫,可以方便的處理中文文字內容。

THULAC

THULAC(THU Lexical Analyzer for Chinese)由清華大學自然語言處理與社會人文計算實驗室研製推出的一套中文詞法分析工具包,具有中文分詞和詞性標註功能。

StanfordCoreNLP

史丹佛NLP組的開源,支援python介面。

HanLP

HanLP是一系列模型與演算法組成的NLP工具包,由大快搜尋主導並完全開源,目標是普及自然語言處理在生產環境中的應用。

NLTK

NLTK是一個高效的Python構建的平臺,用來處理人類自然語言資料。

SpaCy

工業級的自然語言處理工具,遺憾的是不支援中文。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69946223/viewspace-2656962/,如需轉載,請註明出處,否則將追究法律責任。

相關文章