天天看點

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

本篇接上一篇内容《HanLP-基于HMM-Viterbi的人名識别原理介紹》介紹一下層疊隐馬的原理。

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

  1. 隻有Jieba識别出的人名

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

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

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

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

“桂林”被識别為人名。

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

“康複”被識别為人名。

  1. 隻有HanLP識别出的人名

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

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

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

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

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

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

“秦報”被識别為人名。

  1. HanLP與Jieba都識别出的人名
  2. 非常用姓氏識别出的人名基本錯誤。

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

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

[3] 為什麼伊郎不能有he wu qi,而美國有he wu qi?

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

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

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

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

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

上一篇的内容先說到這裡,介紹本篇的主題”基于層疊隐馬的命名實體識别”我這裡主要閱讀的是這篇文章《基于層疊隐馬爾可夫模型的中文命名實體識别》。層疊就是将模型級聯起來的意思,是以系統的結構如下圖所示:

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

如圖所示,層疊隐馬就是訓練三個隐馬模型,每個模型标注一種實體,三個模型采用級聯形式連接配接。

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

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

繼續閱讀