隱馬爾可夫(HMM)/感知機(jī)/條件隨機(jī)場(chǎng)(CRF)----詞性標(biāo)注

筆記轉(zhuǎn)載于GitHub項(xiàng)目https://github.com/NLP-LOVE/Introduction-NLP

7. 詞性標(biāo)注

7.1 詞性標(biāo)注概述

  1. 什么是詞性

    在語(yǔ)言學(xué)上,詞性(Par-Of-Speech, Pos )指的是單詞的語(yǔ)法分類顷锰,也稱為詞類凤价。同一個(gè)類別的詞語(yǔ)具有相似的語(yǔ)法性質(zhì)缸浦,所有詞性的集合稱為詞性標(biāo)注集。不同的語(yǔ)料庫(kù)采用了不同的詞性標(biāo)注集岩灭,一般都含有形容詞笆搓、動(dòng)詞膏蚓、名詞等常見(jiàn)詞性实愚。下圖就是HanLP輸出的一個(gè)含有詞性的結(jié)構(gòu)化句子。

    我/r 的/u 希望/n 是/v 希望/v 張晚霞/nr 的/u 背影/n 被/p 晚霞/n 映/v 紅/a
    

    每個(gè)單詞的后邊跟的就是詞性標(biāo)簽:

    詞性標(biāo)簽 詞性
    r 代詞
    u 動(dòng)詞
    n 名詞
    v 動(dòng)詞
    nr 人名
    p 介詞
    a 形容詞
  1. 詞性的用處

    詞性的作用是提供詞語(yǔ)的抽象表示兔辅,詞的數(shù)量是無(wú)窮的腊敲,但詞性的數(shù)量是有限的。詞性支撐著許多高級(jí)應(yīng)用维苔,當(dāng)下游應(yīng)用遇到 OOV 時(shí)碰辅,可以通過(guò) OOV 的詞性猜測(cè)用法,比如上面的句子“林晚霞”就識(shí)別為人名進(jìn)行處理介时,而不會(huì)拆開(kāi)没宾。

    詞性也可以直接用于抽取一些信息,比如抽取所有描述特定商品的形容詞等沸柔。

  1. 詞性標(biāo)注

    詞性標(biāo)注指的是為句子中每個(gè)單詞預(yù)測(cè)一個(gè)詞性標(biāo)簽的任務(wù)循衰。它有以下兩個(gè)難點(diǎn):

    • 漢語(yǔ)中一個(gè)單詞多個(gè)詞性的現(xiàn)象很常見(jiàn),但在具體語(yǔ)境下一定是唯一詞性褐澎。

    • OOV 是任何自然語(yǔ)言處理任務(wù)的難題会钝。

  1. 詞性標(biāo)注模型

    統(tǒng)計(jì)方法為這兩個(gè)難點(diǎn)提供了解決方案,那就是我們熟悉的序列標(biāo)注模型工三。只需將中文分詞中的漢字替換為詞語(yǔ)迁酸,{B,M,E,S} 替換為“名詞、動(dòng)詞俭正、形容詞等”奸鬓,序列標(biāo)注模型馬上就可以用來(lái)做詞性標(biāo)注。

    詞性標(biāo)注既可以看作中文分詞的后續(xù)任務(wù)掸读,也可以與中文分詞集成為同一個(gè)任務(wù)串远。其中就可以把分詞語(yǔ)料庫(kù)加上詞性標(biāo)簽就可以了,這樣同時(shí)進(jìn)行多個(gè)任務(wù)的模型稱為聯(lián)合模型寺枉。由于綜合考慮了多種監(jiān)督信號(hào)抑淫,聯(lián)合模型在幾乎所有問(wèn)題上都要優(yōu)于獨(dú)立模型。

    然而工業(yè)界就沒(méi)有那么理想姥闪,同時(shí)具有分詞和詞性標(biāo)注的語(yǔ)料庫(kù)非常少始苇,需要大量的人力進(jìn)行標(biāo)注。

7.2 詞性標(biāo)注語(yǔ)料庫(kù)與標(biāo)注集

同中文分詞一樣筐喳,語(yǔ)言學(xué)界在標(biāo)注規(guī)范上存在分歧催式,導(dǎo)致目前還沒(méi)有一個(gè)被廣泛接受的漢語(yǔ)詞性劃分標(biāo)準(zhǔn)函喉。無(wú)論是詞性劃分的顆粒度,還是詞性標(biāo)簽都不統(tǒng)一荣月。一方面管呵,各研究機(jī)構(gòu)各持己見(jiàn)、派系林立哺窄,標(biāo)注了大量互不兼容的語(yǔ)料庫(kù)捐下。另一方面,部分語(yǔ)料庫(kù)受到嚴(yán)格版權(quán)控制萌业,成為內(nèi)部材料坷襟,得不到充分共享利用。

本節(jié)選取其中一些授權(quán)寬松生年, 容易獲得的語(yǔ)料庫(kù)作為案例婴程。

以下示例我們選取 PKU 標(biāo)注的《人民日?qǐng)?bào)》語(yǔ)料庫(kù)的標(biāo)注集。

7.3 基于隱馬爾可夫模型的詞性標(biāo)注

之前我們就介紹過(guò)隱馬爾可夫模型抱婉,詳細(xì)見(jiàn): 4.隱馬爾可夫模型與序列標(biāo)注

隱馬爾可夫模型詞性標(biāo)注代碼見(jiàn)(程序會(huì)自動(dòng)下載 PKU 語(yǔ)料庫(kù)): hmm_pos.py

https://github.com/NLP-LOVE/Introduction-NLP/tree/master/code/ch07/hmm_pos.py

運(yùn)行代碼后結(jié)果如下:

一階隱馬爾可夫模型:
r, u, n, v, v, v
他/r 的/u 希望/n 是/v 希望/v 上學(xué)/v
他/代詞 的/助詞 希望/名詞 是/動(dòng)詞 希望/動(dòng)詞 上學(xué)/動(dòng)詞
李狗蛋/動(dòng)詞 的/動(dòng)詞 希望/動(dòng)詞 是/動(dòng)詞 希望/動(dòng)詞 上學(xué)/動(dòng)詞

二階隱馬爾可夫模型:
r, u, n, v, v, v
他/r 的/u 希望/n 是/v 希望/v 上學(xué)/v
他/代詞 的/助詞 希望/名詞 是/動(dòng)詞 希望/動(dòng)詞 上學(xué)/動(dòng)詞
李狗蛋/動(dòng)詞 的/動(dòng)詞 希望/動(dòng)詞 是/動(dòng)詞 希望/動(dòng)詞 上學(xué)/動(dòng)詞

可見(jiàn)隱馬爾可夫模型成功的辨別出“希望”的兩種詞性 n 和 v档叔。但 OOV問(wèn)題就出現(xiàn)了,無(wú)法把“李狗蛋”識(shí)別成人名蒸绩,隱馬爾可夫模型一步走錯(cuò)滿盤(pán)皆輸衙四,其根本原因在于隱馬爾可夫模型只能利用單詞這一個(gè)狀態(tài)特征,無(wú)法通過(guò)姓氏“李”來(lái)推測(cè)“李狗蛋”是人名患亿。

7.4 基于感知機(jī)的詞性標(biāo)注

之前我們就介紹過(guò)感知機(jī)模型届搁,詳細(xì)見(jiàn): 5.感知機(jī)分類與序列標(biāo)注

按照中文分詞時(shí)的經(jīng)驗(yàn),感知機(jī)能夠利用豐富的上下文特征窍育,是優(yōu)于隱馬爾可夫模型的選擇卡睦,對(duì)于詞性標(biāo)注也是如此。

感知機(jī)模型詞性標(biāo)注代碼見(jiàn)(程序會(huì)自動(dòng)下載 PKU 語(yǔ)料庫(kù)): perceptron_pos.py

https://github.com/NLP-LOVE/Introduction-NLP/tree/master/code/ch07/perceptron_pos.py

運(yùn)行會(huì)有些慢漱抓,結(jié)果如下:

李狗蛋/nr 的/u 希望/n 是/v 希望/v 上學(xué)/v
李狗蛋/人名 的/助詞 希望/名詞 是/動(dòng)詞 希望/動(dòng)詞 上學(xué)/動(dòng)詞

這次的運(yùn)行結(jié)果完全正確表锻,感知機(jī)成功的識(shí)別出 OOV “李狗蛋”的詞性。

7.5 基于條件隨機(jī)場(chǎng)的詞性標(biāo)注

之前我們就介紹過(guò)條件隨機(jī)場(chǎng)模型乞娄,詳細(xì)見(jiàn): 6.條件隨機(jī)場(chǎng)與序列標(biāo)注

條件隨機(jī)場(chǎng)模型詞性標(biāo)注代碼見(jiàn)(程序會(huì)自動(dòng)下載 PKU 語(yǔ)料庫(kù)): crf_pos.py

https://github.com/NLP-LOVE/Introduction-NLP/tree/master/code/ch07/crf_pos.py

運(yùn)行時(shí)間會(huì)比較長(zhǎng)瞬逊,結(jié)果如下:

李狗蛋/nr 的/u 希望/n 是/v 希望/v 上學(xué)/v
李狗蛋/人名 的/助詞 希望/名詞 是/動(dòng)詞 希望/動(dòng)詞 上學(xué)/動(dòng)詞

依然可以成功識(shí)別 OOV “李狗蛋”的詞性。

7.6 詞性標(biāo)注評(píng)測(cè)

將 PKU 語(yǔ)料庫(kù)按 9:1 分隔為訓(xùn)練集和測(cè)試集仪或,分別用以上三種模型來(lái)訓(xùn)練确镊,準(zhǔn)確率如下:

算法 準(zhǔn)確率
一階隱馬爾可夫模型 44.99%
二階隱馬爾可夫模型 40.53%
結(jié)構(gòu)化感知機(jī) 83.07%
條件隨機(jī)場(chǎng) 82.12%

從上圖可知,結(jié)構(gòu)化感知機(jī)和條件隨機(jī)場(chǎng)都要優(yōu)于隱馬爾可夫模型范删,判別式模型能夠利用更多的特征來(lái)進(jìn)行訓(xùn)練蕾域,從而提高更多的精度。

7.7 自定義詞性

在工程上,許多用戶希望將特定的一些詞語(yǔ)打上自定義的標(biāo)簽旨巷,稱為自定義詞性巨缘。比如,電商領(lǐng)域的用戶希望將一些手機(jī)品牌打上相應(yīng)標(biāo)簽采呐,以便后續(xù)分析若锁。HanLP 提供了自定義詞性功能。具體有兩種實(shí)現(xiàn)斧吐。

  1. 樸素實(shí)現(xiàn)

    可以使用HanLP掛載的方式實(shí)現(xiàn):

    from pyhanlp import *
    
    CustomDictionary.insert("蘋(píng)果", "手機(jī)品牌 1")
    CustomDictionary.insert("iPhone X", "手機(jī)型號(hào) 1")
    analyzer = PerceptronLexicalAnalyzer()
    analyzer.enableCustomDictionaryForcing(True)
    print(analyzer.analyze("你們蘋(píng)果iPhone X保修嗎又固?"))
    print(analyzer.analyze("多吃蘋(píng)果有益健康"))
    

    當(dāng)然,此處以代碼的方式插入自定義詞語(yǔ)煤率,在實(shí)際項(xiàng)目中也可以用詞典文件的方式口予,運(yùn)行效果如下:

    你們/r 蘋(píng)果/手機(jī)品牌 iPhone X/手機(jī)型號(hào) 保修/v 嗎/y ?/w
    多/ad 吃/v 蘋(píng)果/手機(jī)品牌 有益健康/i
    

    從結(jié)果來(lái)看,詞典只是機(jī)械的匹配涕侈,將“吃蘋(píng)果”也當(dāng)成了手機(jī)品牌,犯了所有規(guī)則系統(tǒng)的通病煤辨,看來(lái)詞典同樣解決不了詞性標(biāo)注裳涛,詞性標(biāo)注還是應(yīng)當(dāng)交給統(tǒng)計(jì)方法。

  1. 標(biāo)注語(yǔ)料

    詞性的確定需要根據(jù)上下文語(yǔ)境众辨,這恰好是統(tǒng)計(jì)模型所擅長(zhǎng)的端三。為了實(shí)現(xiàn)自定義詞性,最佳實(shí)踐是標(biāo)注一份語(yǔ)料庫(kù)鹃彻,然后訓(xùn)練一個(gè)統(tǒng)計(jì)模型郊闯。

    至于語(yǔ)料庫(kù)規(guī)模,與所有機(jī)器學(xué)習(xí)問(wèn)題一樣蛛株,數(shù)據(jù)越多团赁,模型越準(zhǔn)。

7.8 GitHub

HanLP何晗--《自然語(yǔ)言處理入門(mén)》筆記:

https://github.com/NLP-LOVE/Introduction-NLP

項(xiàng)目持續(xù)更新中......

目錄


章節(jié)
第 1 章:新手上路
第 2 章:詞典分詞
第 3 章:二元語(yǔ)法與中文分詞
第 4 章:隱馬爾可夫模型與序列標(biāo)注
第 5 章:感知機(jī)分類與序列標(biāo)注
第 6 章:條件隨機(jī)場(chǎng)與序列標(biāo)注
第 7 章:詞性標(biāo)注
第 8 章:命名實(shí)體識(shí)別
第 9 章:信息抽取
第 10 章:文本聚類
第 11 章:文本分類
第 12 章:依存句法分析
第 13 章:深度學(xué)習(xí)與自然語(yǔ)言處理
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末谨履,一起剝皮案震驚了整個(gè)濱河市欢摄,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌笋粟,老刑警劉巖怀挠,帶你破解...
    沈念sama閱讀 221,198評(píng)論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異害捕,居然都是意外死亡绿淋,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,334評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門(mén)尝盼,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)吞滞,“玉大人,你說(shuō)我怎么就攤上這事盾沫》胂牛” “怎么了倘待?”我有些...
    開(kāi)封第一講書(shū)人閱讀 167,643評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)组贺。 經(jīng)常有香客問(wèn)我凸舵,道長(zhǎng),這世上最難降的妖魔是什么失尖? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,495評(píng)論 1 296
  • 正文 為了忘掉前任啊奄,我火速辦了婚禮,結(jié)果婚禮上掀潮,老公的妹妹穿的比我還像新娘菇夸。我一直安慰自己,他們只是感情好仪吧,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,502評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布庄新。 她就那樣靜靜地躺著,像睡著了一般薯鼠。 火紅的嫁衣襯著肌膚如雪择诈。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 52,156評(píng)論 1 308
  • 那天出皇,我揣著相機(jī)與錄音羞芍,去河邊找鬼。 笑死郊艘,一個(gè)胖子當(dāng)著我的面吹牛荷科,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播纱注,決...
    沈念sama閱讀 40,743評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼畏浆,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了狞贱?” 一聲冷哼從身側(cè)響起全度,我...
    開(kāi)封第一講書(shū)人閱讀 39,659評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎斥滤,沒(méi)想到半個(gè)月后将鸵,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,200評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡佑颇,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,282評(píng)論 3 340
  • 正文 我和宋清朗相戀三年顶掉,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片挑胸。...
    茶點(diǎn)故事閱讀 40,424評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡痒筒,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情簿透,我是刑警寧澤移袍,帶...
    沈念sama閱讀 36,107評(píng)論 5 349
  • 正文 年R本政府宣布,位于F島的核電站老充,受9級(jí)特大地震影響葡盗,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜啡浊,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,789評(píng)論 3 333
  • 文/蒙蒙 一觅够、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧巷嚣,春花似錦喘先、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,264評(píng)論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至坝茎,卻和暖如春涤姊,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背景东。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,390評(píng)論 1 271
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留奔誓,地道東北人斤吐。 一個(gè)月前我還...
    沈念sama閱讀 48,798評(píng)論 3 376
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像厨喂,于是被迫代替她去往敵國(guó)和親和措。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,435評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容