自然語言處理工具HanLP-基於層疊HMM地名識別

adnb34g發表於2019-07-26

本篇接上一篇內容《HanLP-基於 HMM-Viterbi 的人名識別原理介紹》 介紹一下層疊隱馬的原理。

首先說一下 上一篇 介紹的人名識別效果對比:

1. 只有 Jieba 識別出的人名

準確率極低,基本為地名或複雜地名組成部分或複雜機構名組成部分。舉例如下:

[1] 戰亂的阿富汗地區, qiang zhi 可隨意買賣, AK47 價格約 500 人民幣

“阿富汗”被識別為人名。

[2] 安慶到桂林自駕遊如何規劃?

“桂林”被識別為人名。

[3] 2018 天津市和平分局招聘社群戒毒、社群康復工作人員成績查詢入口

“康復”被識別為人名。

2. 只有 HanLP 識別出的人名

除了特別常用姓氏的名字識別正確,其他的都識別錯誤。舉例如下:

[1] 納溪區副區長李明帶隊到“花田酒地”景區檢查節前安全工作

“花田酒”被被識別為人名。

[2] 秀英“線上線下”齊發力 助力貧困戶“微互動”拓寬農產品銷路

“齊發力”被識別為人名。

[3] 緊急通知:秦報融媒粉團祖山一日遊日報名費大調整!

“秦報”被識別為人名。

3. HanLP Jieba 都識別出的人名

1. 非常用姓氏識別出的人名基本錯誤。

[1] 房產高管薪酬大起底 萬科鬱亮年薪 1189.9 萬僅排第二

[2] 生生不息 南通支雲釋出汶川地震十週年海報呼籲賽前默哀

[3] 為什麼伊郎不能有核武器,而美國有核武器?

2. 名字本身構成詞時基本錯誤。

[1] 周口一村莊楊絮著火,對付楊絮用啥方法好呢?

[2] 上聯 : 三國魏蜀吳,如何對下聯?

[3] 上聯 : 燈火輝煌萬家樂。求下聯?

 

如何解決這些 badcase 呢,要看你的時間了,如果時間充裕的話,可以調整發射概率檔案也就是 nr.txt 檔案。如果時間不充裕的話,比如我現在的情況,那就只保留常用姓氏,以及特別需要關注的人名了。

上一篇 的內容先說到這裡,介紹 本篇 的主題 ”基於層疊隱馬的命名實體識別”我這裡主要閱讀的是這篇文章《基於層疊隱馬爾可夫模型的中文命名實體識別》。層疊就是將模型級聯起來的意思,因此係統的結構如下圖所示:

 

如圖所示,層疊隱馬就是訓練三個隱馬模型,每個模型標註一種實體,三個模型採用級聯形式連線。

 

不同的實體有不同的角色標註,實際就是特徵,這些特徵需要有語言學的知識,實際上就是你的閱讀量,通過你大量閱讀總結經驗,比如姓氏可以作為名字的一個特徵(張、王、李、趙),常用地名的字尾可以作為一個特徵(省、市、區、縣),機構名錶處所的尾字可以作為一個特徵(局、處、所、院)。這裡地名的角色標註簡表如下所示:

 

 


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

相關文章