詞性(Part-Of-Speech,POS)指的是單詞的語法分類,也稱爲詞類。同一個類別的詞語具有相似的語法性質
所有詞性的集合稱爲詞性標註集。
詞性的用處
當下遊應用遇到OOV時,可以通過OOV的詞性猜測用法詞性也可以直接用於抽取一些信息,比如抽取所有描述特定商品的形容詞等
詞性標註
詞性標註指的是爲句子中每個單詞預測一個詞性標籤的任務
- 漢語中一個單詞多個詞性的現象很常見(稱作兼類詞)
- OOV是任何自然語言處理任務的難題
詞性標註模型
聯合模型
同時進行多個任務的模型稱爲聯合模型(joint model)
商 B-名詞
品 E-名詞
和 S-連詞
服 B-名詞
務 E-名詞
流水線式
中文分詞語料庫遠遠多於詞性標註語料庫
實際工程上通常在大型分詞語料庫上訓練分詞器
然後與小型詞性標註語料庫上的詞性標註模型靈活組合爲一個異源的流水線式詞法分析器
詞性標註語料庫與標註集
目前還沒有一個被廣泛接受的漢語詞性劃分標準
本節選取其中一些授權寬鬆,容易獲得的語料庫作爲案例,介紹其規模、標註集等特點
《人民日報》語料庫與PKU標註集
http://file.hankcs.com/corpus/pku98.zip
語料庫中的一句樣例爲:
1997年/t 12月/t 31日/t 午夜/t ,/w 聚集/v 在/p 日本/ns 東京/ns 增上寺/ns 的/u 善男信女/i 放飛/v 氣球/n ,/w 祈禱/v 新年/t 好運/n 。
國家語委語料庫與863標註集
國家語言文字工作委員會建設的大型語料庫
國家語委語料庫的標註規範《信息處理用現代漢語詞類標記集規範》在2006年成爲國家標準
其詞類體系分爲20個一級類、29個二級類
《誅仙》語料庫與CTB標註集
哈工大張梅山老師公開了網絡小說《誅仙》上的標註語料
遠處/NN ,/PU 小竹峯/NR 諸/DT 人/NN 處/NN ,/PU 陸雪琪/NR 緩緩/AD 從/P 張小凡/NR 身上/NN 收回/VV 目光/NN ,/PU 落到/VV 了/AS 前方/NN 碧瑤/NR 的/DEG 身上/NN ,/PU 默默/AD 端詳/VV 著/AS 她/PN 。/PU
《誅仙》語料庫採用的標註集與CTB(Chinese Treebank,中文樹庫)相同,一共33種詞類
序列標註模型應用於詞性標註
HanLP中詞性標註由POSTagger接口提供
基於隱馬爾可夫模型的詞性標註
基於感知機的詞性標註
基於條件隨機場的詞性標註
詞性標註評測
自定義詞性
在工程上,許多用戶希望將特定的一些詞語打上自定義的標籤,稱爲自定義詞性
樸素實現
規則系統,用戶將自己關心的詞語以及自定義詞性以詞典的形式交給HanLP掛載
CustomDictionary.insert("蘋果", "手機品牌 1")CustomDictionary.insert("iPhone X", "手機型號 1")analyzer = PerceptronLexicalAnalyzer()analyzer.enableCustomDictionaryForcing(True)print(analyzer.analyze("你們蘋果iPhone X保修嗎?"))print(analyzer.analyze("多喫蘋果有益健康"))
你們/r 蘋果/手機品牌 iPhone X/手機型號 保修/v 嗎/y ?/w
多/ad 喫/v 蘋果/手機品牌 有益健康/i
標註語料
PerceptronPOSTagger posTagger = trainPerceptronPOS(ZHUXIAN); // 訓練AbstractLexicalAnalyzer analyzer = new AbstractLexicalAnalyzer(new PerceptronSegmenter(), posTagger); // 包裝System.out.println(analyzer.analyze("陸雪琪的天琊神劍不做絲毫退避,直衝而上,瞬間,這兩道奇光異寶撞到了一起。")); // 分詞+標註
陸雪琪/NR 的/DEG 天琊神劍/NN 不/AD 做/VV 絲毫/NN 退避/VV ,/PU 直衝/VV 而/MSP 上/VV ,/PU 瞬間/NN ,/PU 這/DT 兩/CD 道/M 奇光/NN 異寶/NN 撞/VV 到/VV 了/AS 一起/AD 。/PU
總結
隱馬爾可夫模型、感知機和條件隨機場三種詞性標註器
爲了實現自定義詞性
依靠詞典匹配雖然簡單但非常死板,只能用於一詞一義的情況
如果涉及兼類詞,標註一份領域語料纔是正確做法