自去年以來,在AINLP公眾號上陸續給大家提供了自然語言處理相關的基礎工具的在線測試接口,使用很簡單,關注AINLP公眾號,後臺對話關鍵詞觸發測試,例如輸入 「中文分詞 我愛自然語言處理」,「詞性標註 我愛NLP」,「情感分析 自然語言處理愛我","Stanza 52nlp" 等,具體可參考下述文章:
史丹福大學NLP組Python深度學習自然語言處理工具Stanza試用
既然中文分詞、詞性標註已經有了,那下一步很自然想到的是命名實體識別(NER,Named-entity recognition)工具了,不過根據我目前了解到的情況,開源的中文命名實體工具並不多,這裡主要指的是一些成熟的自然語言處理開源工具,不是github上一些學習性質的代碼。目前明確有NER標記的包括史丹福大學的NLP組的Stanza,百度的Paddle Lac,哈工大的LTP,而其他這些測試過的開源NLP基礎工具,需要從詞性標註結果中提取相對應的專有名詞,也算是一種折中方案。
在之前這些可測的工具中,除了史丹福大學的Stanza和CoreNLP有一套詞性標記外,LTP使用的是863詞性標註集,其他包括Jieba,SnowNLP,PKUSeg,Thulac,HanLP,FoolNLTK,百度Lac等基礎工具的詞性標註集主要是以人民日報標註語料中的北京大學詞性標註集(40+tags)為藍本:
代碼名稱幫助記憶的詮釋Ag形語素形容詞性語素。形容詞代碼為 a ,語素代碼 g 前面置以 A。a形容詞取英語形容詞 adjective 的第 1 個字母。ad副形詞直接作狀語的形容詞。形容詞代碼 a 和副詞代碼 d 並在一起。an名形詞具有名詞功能的形容詞。形容詞代碼 a 和名詞代碼 n 並在一起。b區別詞取漢字「別」的聲母。c連詞取英語連詞 conjunction 的第 1 個字母。Dg副語素副詞性語素。副詞代碼為 d ,語素代碼 g 前面置以 D。d副詞取 adverb 的第 2 個字母 ,因其第 1 個字母已用於形容詞。e嘆詞取英語嘆詞 exclamation 的第 1 個字母。f方位詞取漢字「方」 的聲母。g語素絕大多數語素都能作為合成詞的「詞根」,取漢字「根」的聲母。由於實際標註時 ,一定其中HanLp增加了更細粒度的詞性標註集,具體可參考:
https://www.hankcs.com/nlp/part-of-speech-tagging.html
HanLP使用的HMM詞性標註模型訓練自2014年人民日報切分語料,隨後增加了少量98年人民日報中獨有的詞語。所以,HanLP詞性標註集兼容《ICTPOS3.0漢語詞性標記集》,並且兼容《現代漢語語料庫加工規範——詞語切分與詞性標註》。
另外百度詞法分析工具Lac使用的詞性標註集中特別加了一套強相關的專名類別標籤:
詞性和專名類別標籤集合如下表,其中詞性標籤24個(小寫字母),專名類別標籤4個(大寫字母)。這裡需要說明的是,人名、地名、機名和時間四個類別,在上表中存在兩套標籤(PER / LOC / ORG / TIME 和 nr / ns / nt / t),被標註為第二套標籤的詞,是模型判斷為低置信度的人名、地名、機構名和時間詞。開發者可以基於這兩套標籤,在四個類別的準確、召回之間做出自己的權衡。
哈工大LTP的命名實體標註集沒有提取「時間」,具體參考如下:
https://ltp.readthedocs.io/zh_CN/latest/appendix.html
NE識別模塊的標註結果採用O-S-B-I-E標註形式,其含義為
標記含義O這個詞不是NES這個詞單獨構成一個NEB這個詞為一個NE的開始I這個詞為一個NE的中間E這個詞位一個NE的結尾LTP中的NE 模塊識別三種NE,分別如下:
基於上述觀察,我決定採用這種方案做中文命名實體工具測試接口:對於斯坦福Stanza的NER結果直接保留,對於 Baidu Lac 結果則保留強置信度的人名(PER)、地名(LOC)、機構名(ORG)、時間(TIME)提取結果,對於哈工大LTP的NER結果做個人名(Nh=>PER)、地名(Ns=>LOC)和機構名(Ni=>ORG)的映射,對於其他幾個工具,去除斯坦福的老NLP工具CoreNLP,其他NLP工具則保留nr、ns、nt、t、nz這幾個提取工具,並做了標記映射人名(nr=>PER),地名(ns=>LOC),機構名(nt=>ORG),時間(t=>TIME)。下面是幾組測試結果,歡迎關注AINLP公眾號試用,結果僅供參考,畢竟除了斯坦福Stanza、Baidu Lac以及哈工大LTP外,其他幾個工具的「NER命名實體識別」功能是「強加」的,在實際使用中,可以根據需求採用:
推薦閱讀
AINLP年度閱讀收藏清單
學自然語言處理,其實更應該學好英語
史丹福大學NLP組Python深度學習自然語言處理工具Stanza試用
DistilBERT Understanding
太贊了!Springer面向公眾開放電子書籍,附65本數學、編程、機器學習、深度學習、數據挖掘、數據科學等書籍連結及打包下載
數學之美中盛讚的 Michael Collins 教授,他的NLP課程要不要收藏?
自動作詩機&藏頭詩生成器:五言、七言、絕句、律詩全了
模型壓縮實踐系列之——bert-of-theseus,一個非常親民的bert壓縮方法
這門史丹福大學自然語言處理經典入門課,我放到B站了
徵稿啟示 | 稿費+GPU算力+星球嘉賓一個都不少
關於AINLP
AINLP 是一個有趣有AI的自然語言處理社區,專注於 AI、NLP、機器學習、深度學習、推薦算法等相關技術的分享,主題包括文本摘要、智能問答、聊天機器人、機器翻譯、自動生成、知識圖譜、預訓練模型、推薦系統、計算廣告、招聘信息、求職經驗分享等,歡迎關注!加技術交流群請添加AINLPer(id:ainlper),備註工作/研究方向+加群目的。