1. 程式人生 > >中國人名的自動識別研究

中國人名的自動識別研究

這周研究了HanLP框架的中國人名的自動識別的原理和實現,現在記錄如下:

摘要

中國人名的識別是中文未登入詞識別的重點和難點,目前的解決方案自身存在一些本質的缺陷,實際效果還難以滿足實際需求。本文提出了一種基於角色標註的中國人名自動識別方法。即:利用從語料庫中自動抽取的角色資訊,採取Viterbi演算法對切詞結果進行角色標註,在角色序列的基礎上,進行模式最大匹配,最終實現中國人名的識別。通過對16M位元組真實語料庫的封閉與開放測試,該方法取得了接近98%的召回率,準確率也得到了實際提高。實驗資料證明:該方法是行之有效、能夠成功解決中國人名的自動識別問題。

1.引言

詞語分析是中文自然語言處理的前提和基礎,中文詞語分析的研究已經取得較大的進展,但在處理含有未登入詞的文字時,其結果一般難以滿足實際的需求。未登入詞的錯誤識別,不僅僅使自身無法正確識別召回,而且往往與前後的其他字詞交叉組合,嚴重地影響其他詞的正確識別,從而直接的降低了詞語分析乃至整個句子分析的正確率。未登入詞的自動識別已經成為了中文詞語分析質量的實際瓶頸。
中國人名在未登入詞佔有較大比重,也是未登入詞識別的主要難點。根據我們對人民日報1998年1月的語料庫(共計2,305,896字)進行的統計,每100字中含未登入詞1.192個(不計數詞、時間詞),其中48.6%的是中國人名。而中國人名的召回率僅為68.77%[1],其切分錯誤高達50%以上,對所有分詞錯誤進行統計,姓名錯誤佔了將近90%[2]。因此中國人名的自動識別是未登入識別問題的重點和關鍵,中國人名識別問題的解決也會改善漢語詞語分析、句法分析乃至中文資訊處理的最終質量。

中國人名自動識別的困難

中國人名數量眾多,規律各異,有很大的隨意性。其主要的困難在於:1.中國人名構成的多樣性;2.人名內部相互成詞;3.人名與其上下文組合成詞;4.歧義理解。

  • 1.中國人名構成的多樣性:(1)姓+名: 張華平、張浩、西門吹雪、諸葛亮;(2)有名無姓:“春花點點頭”;“傑,你好嗎?”(3)有姓無名:“劉稱趙已離開江西”;(4) 姓+前後綴 劉總、張老、小李、邱某;(5)港臺已婚婦女:範徐麗泰、彭張青。
  • 2.人名內部相互成詞,指的是姓與名、名與名之間本身就是一個已經被收錄的詞。如:[王國]維、[高峰]、[汪洋]、張[朝陽]。根據我們對80,000條中國人名的統計,內部成詞的比例高達8.49%。
  • 3.人名與其上下文組合成詞的情況包括人名的首部(姓或名的首字)與人名的上文成詞和人名的尾部(姓或名的首字)與人名的下文成詞。例如:“這裡[有關]天培的壯烈”;“費孝通向人大常委會提交書面報告”。在人民日報1998年1月的語料庫中,這種情況接近200例。
  • 4.歧義理解的主要是由同源衝突[3]引起的:例如:“河北省劉莊”;中的“劉莊”就是中國人名與地名的歧義,“周鵬和同學”存在人名“周鵬”和“周鵬和”的歧義[4]。

1.2現有解決方案及其不足

針對中國人名的自動識別問題,人們已經作過很多的探索,並提出了多種解決方案。根據其使用的方法不同,這些方案大致可以分為三種:規則方法[2,4,5]、統計方法[6]以及規則與統計相結合的方法[1,7,8]。
規則方法主要利用兩種資訊:姓氏用字分類[5]和限制性成分[8]。即:分析姓名用字,驅動對姓名的識別過程,並採集姓名前後相關的成分,對姓名的前後位置進行限制。小規模測試的結果表明,其準確率可以高達97%[4]。在缺乏特大規模熟語料庫的時候,規則方法是唯一可行的方法。統計方法主要是針對姓名語料庫來訓練某個字作為姓名組成部分的概率值,並用它們來計算某個候選欄位作為姓名的概率,其中概率值大於一定閾值的欄位為識別出的中國人名[6]。規則與統計相結合的辦法,可以通過概率計算減少規則方法的複雜性與盲目性,而且可以降低統計方法對語料庫規模的要求。目前的研究基本上都是採取規則與統計的方法,不同之處僅僅在於規則與統計的側重不同而已。
現有解決方案存在著本身固有的一些不足:首先,一般採取“單點(首或尾)啟用”[4]的機制來觸發人名的識別處理。即掃描到姓氏用字、職銜、稱呼等具有明顯姓名特徵的欄位時,才將前後的幾個字列為候選姓名欄位進行人名的識別。那些不具備明顯特徵的姓名往往會被丟失,如上文中提到的“有名無姓”的人名。其次,姓名候選欄位大都是選取切分後的單字碎片[1,2,4,6],也有研究者將少量的二字或多字詞納入候選欄位的選取範圍[4]。在這種選取機制的作用下,人名內部成詞以及人名與上下文成詞的情況基本上是無法召回的。根據上文提供的統計資料,由於這兩種機制所引起的召回率損失將不小於10%。最後,人名識別採取的大量規則往往代價昂貴而且難以擴充套件。文獻[4]中,研究者就是從10萬條人名庫、2億字的真實語料庫中將姓名用字分為了9類,並總結了21條識別規則。無論是收集如此巨大的人名庫、真實語料庫,還是提煉規則,都是一個浩大的工程。這無疑是非常費時、昂貴的。如果增加新的人名形式,也必須增加新的規則,並對以前的規則重新修訂,因此規則方法很難擴充套件。規則可以保證很高的準確率,但是任何規則都不可能覆蓋儘可能多的人名,對於規則之外的姓名就完全無能為力。
本文將提供一種可以避免上述不足的解決方案——基於角色標註的中國人名自動識別方法。該方法主要採用隱馬模型對分詞結果進行人名構成角色的標註,然後根據各個不同的角色,進行簡單的模式匹配並最終識別出人名。某個字詞的人名構成角色定義主要依據於其在人名構成中的不同作用,如姓、名、上文、下文等。字詞不同角色的概率以及各個角色之間的轉移概率,完全從語料庫訓練過程中自動抽取。該方法自動學習、自動識別,無需人工的直接干預,改變訓練樣本,就可以適應新的情況。一次掃描,無需回溯,選取所有的可能欄位作為候選姓名,識別處理不需啟用。經過大規模的真實語料庫測試,我們取得讓人滿意的實際效果。
本文第二節闡述該方法的理論依據,然後給出具體的實現過程,最後提供人名識別的實驗結果並進行分析。

2、基於角色標註的中國人名自動識別方法

2.1 中國人名的構成角色

中國人名的內部構成與上下文比較集中,而且有一定的規律性。在83,077條人名庫中,姓氏用字僅有820個,其中王、張、李三大姓,就佔了20%;20,631個單名中,單名用字為1,489個; 雙名的首字與末用字數均不到2000個。人名的上下文種類也很有限。上文一般是稱呼、職銜以及一些連詞、動詞,如:“總統”、“主任”、“打”、“向”等。下文大多是像“說”、“表示”、“主席”之類的詞。
我們將人名的內部組成、上下文等與人名識別相關的成分稱為中國人名的構成角色(為行文方便,以下簡稱角色)。我們利用角色表(見表1)對“館/內/陳列/周/恩/來/和/鄧/穎/超生/前/使用/過/的/物品/。”進行角色標註,其結果為:“館/A內/A 陳列/K周/B恩/C來/D和/M鄧/B穎/C超生/V前/A使用/A過/A的/A物品/A。/A”
這裡寫圖片描述
hanlp在此基礎上拓展了一個S,代表句子的開始。

2、統計標籤的出現頻次,標籤的轉移矩陣。

3、對粗分結果角色標註,模式匹配。

我對論文中的幾個模式串做了拓充,並且採用了AC模式匹配演算法。

2.2角色自動標註與中國人名識別

既然含中國人名的句子包含姓、名、上下文等構成角色,那麼換一個角度說:我們就可以通過對構成角色進行標註,通過對角色序列簡單的模式匹配來實現中國人名的識別。而中國人名構成角色的標註實質是一個簡單的詞性標註過程。
我們採用的是Viterbi演算法[9]進行角色自動標註。即:從所有可能的標註序列中優選出概率最大的標註作為最終標註結果。其理論及推導如下:

為了解決人名與其上下文組合成詞的問題,在人名識別之前,我們要對角色U(人名的上文和姓成詞)和V(人名的末字和下文成詞)進行分裂處理。相應地分裂為KB、DL或者EL。最後,基於角色序列的人名識別就是一個簡單的模式最大匹配問題。我們使用到的人名識別模式集為:{ BBCD, BBE, BBZ, BCD, BEE,BE,BG,BXD,BZ,CD,EE,FB, Y,XD}。只要符合其中一個模式,我們就人們對應的Token片段組成一個人名。2.1節中的例句“館/內/陳列/周/恩/來/和/鄧/穎/超生/前/使用/過/的/物品/。”對應的T#為:“AAKBCD
MBCVAAAAAA”。V分裂處理後,最終的角色序列為:“AAKBCDMBCDLAAAAAA”。模式最大匹配後,我們識別出的人名是:“周恩來”和“鄧穎超”。

3、方法的具體實現

基於角色標註的中國人名自動識別主要包括三個過程:角色資訊的自動抽取;角色標註和人名的最終識別。角色標註實質上就是一個小型的詞性標註過程,主要是從所有可能的角色標註中,儘快求取滿足E5的標註序列。Viterbi演算法專門解決這類問題已經非常成熟。在此不作介紹。下面分別給出角色資訊自動抽取和中國人名的識別的演算法。
角色資訊自動抽取流程演算法:

  • (1)從語料庫依次讀入標註好的句子;
  • (2)將中國人名以外的片斷一律重新標註為A。
  • (3)若人名前面的片斷p和人名的首部f成為新詞pf,將pf標註為U,否則將p標為K(若p原來標註的角色是A)或M(若p原來標註的角色是L)。
  • (4)若人名的尾部t和人名後面的片斷n成為新詞tn,將tn標註為V,否則將n標為L。
  • (5)根據本文1.1節中人名的5種類別,分別對姓、雙名首字、雙名末字、單名、字首、字尾相應地標註為角色B、C、D、 E、F、G。內部成詞的情況,相應地標註為X、Y、Z。
  • (6)在句子的角色序列中,將角色不是A的詞wi存入詞典,並統計wi作為ti的出現次數C(wi,ti)。同時累計所有不同角色的出現次數C(ti)以及相鄰角色的共現次數C(ti-1,ti)。

中國人名的識別流程:

  • (1)對句子進行分詞(基於統計方法或者是最大匹配法),用Viterbi演算法求出概率最大的角色序列T#。
  • (2)將角色為U的片斷pf分裂為pKfB(若f為姓)、pKfC(若f為雙名首字)或pKfE(若f為單名)。
  • (3)將角色為V的片斷tn分裂為tDnL(若t為雙名末字)或tEnL(若t為單名)。
  • (4)對分裂處理後的角色序列在姓名識別模式集中進行模式最大匹配,輸出對應片段組成人名,同時記錄它們在句子當中的位置。
  • (5)對識別出來的結果加入一些限制規則排除一些錯誤的中國人名。如中國人名前後不能是“·”(這種情況下往往是外國人的譯名)。

總結起來就是,先按照角色表上對標註好的句子進行一下標註的轉換,根據詞頻和相鄰角色的詞頻用Viterbi演算法求出最大序列,對最大序列進行相應的成詞的片段進行分裂,對分裂處理後的角色序列在姓名識別模式集中進行模式最大匹配,對識別出來的結果利用規則處理掉一些明顯錯誤,得到結果

相關推薦

中國人名自動識別研究

這周研究了HanLP框架的中國人名的自動識別的原理和實現,現在記錄如下: 摘要 中國人名的識別是中文未登入詞識別的重點和難點,目前的解決方案自身存在一些本質的缺陷,實際效果還難以滿足實際需求。本文提出了一種基於角色標註的中國人名自動識別方法。即:利用從語

【命名實體識別】HMM-Viterbi角色標註中國人名識別

這幾天寫完了人名識別模組,與分詞放到一起形成了兩層隱馬模型。雖然在演算法或模型上沒有什麼新意,但是勝在訓練語料比較新,對質量把關比較嚴,實測效果很滿意。比如這句真實的新聞“簽約儀式前,秦光榮、李紀恆、仇和等一同會見了參加簽約的企業家。”,分詞結果:[簽約/v, 儀式/

掃描二維碼自動識別手機APP下載地址

新浪 推廣 amp 需要 android 通過 來源 中文版 blog 原文地址https://www.baidufe.com/item/92457b4d0bfde1effa40.html 移動互聯網發展迅速,各種APP的開發都太瘋狂了,一般稍大點兒的應用,都會準備多個版本

關於 IDEA 自動識別問題,jsp頁面Controller路徑自動識別的問題

app ttr getc odi 設置 ext tty tco image idea之所以強大,就是強大的代碼提示和聯想功能,寫起代碼來簡直不要太爽。但是這幾天我發現在我的jsp頁面中訪問controller路徑的時候不會自動提示了,對於這麽嚴謹的我肯定要找出原因啊,哈哈。

網站自動識別PC端或者移動端

sdk capi nbsp poc subst won 發現 瀏覽器 tcl   平時在開發中經常會遇到這樣的需求,除了開發PC端之外,還會同時開發移動端。對於簡單的頁面,可以使用bootstrap之類的框架實現響應式頁面,可是當頁面很復雜的時候,就需要開發一個移動端頁面,

ios應用內嵌h5頁面數據自動變色識別為手機號碼的解決方法——手機號碼撥號禁用IOS手機頁面數字自動識別為手機號

log 數字 bsp 標簽 one .com div meta name 現象如下,ios應用內嵌h5頁面,本來是設置了白色的數字,兩三秒之後會自動變為黑色,然後點擊的時候就會彈出是否撥號的提示; 解決方法,添加如下meta標簽,即可解決: <meta

報告丨2016-2017年中國手機地圖市場研究報告

media 好的 地圖 機會 針對 快速 不同 增加 領域 2017年2月24日,iiMedia Research(艾媒咨詢)權威發布《2016-2017年中國手機地圖市場研究報告》。報告顯示,2016年第四季度,手機地圖用戶累計規模已經達到6.64億人,增長率為1.53%

身份證自動識別,還可驗真!

提高效率 支持 同時 用戶體驗 高效率 提高 視頻 nbsp 情況 在實名制鋪天蓋地的情況下,為了提高效率、節省成本,同時提升用戶體驗,身份證識別已迅速被各個企業所應用。 目前,市面上有身份證識別產品的公司大約有七八家,各家特點不一樣,在選擇身份證識別產品時要綜合考量幾家的

自動識別是手機訪問還是電腦訪問並自動跳轉到相應版本

能判斷是電腦端還是手機端的javascript,自動跳轉到手機wap版網站:http://m.fjwd9.com/ 方法一: try { var urlhash = window.location.hash;

移動端車牌識別/車牌OCR識別車牌信息自動錄入 車牌離線自動識別

系統 收費 智能 ppi 車輛 ucs 廠商 離線 ~~ 周末,小編約了朋友商場shopping。 開車進地下車庫時,“滴”的一聲,完成車牌錄入;開車離開時,掃描二維碼,輸入車牌,完成停車收費。小編不禁感嘆科技改變生活,人工智能給生活帶來的便利。 車牌自動識別越來越多的被

批量壓縮 css js 文件 包含多個文件 自動識別

post arch 關鍵字 批量 nbsp www logs 影響 inf 註意事項 css 註釋壓縮不會造成影響 因為是塊註釋 當然也可以選擇去註釋壓縮 js 帶註釋壓縮 要註意註意 註意 //行註釋會造成 壓縮後的代碼在一行 導致註釋後的代

EntityFramework6中關閉自動識別變更功能提升效率的一點小技巧

很多 nal trac 功能 關閉 work call led errors 默認情況下,ef6能夠在調用以下方法時自動判別實體是否變更: DbSet.Find DbSet.Local DbSet.Remove DbSet.Add DbSet.Attach DbCo

Python爬蟲實例 動態ip+抓包+驗證碼自動識別

PE IT agent 也有 pass ttr timeout edi targe   最近出於某種不可描述的原因,需要爬一段數據,大概長這樣:      是一個價格走勢圖,鼠標移到上面會顯示某個時刻的價格,需要爬下來日期和價格。   第一步肯定先看源代碼,找到了這

隨機顯示顏色---算術表達式(自動識別變量,可以不加$)

紅色 and 圖片 let 黃色 mco random color 藍色 30 40 黑色 31 41 紅色 32 42 綠色 33 43 黃色 34 44 藍色 35 45 紫色 36 46 青色 37 47 白色 let COLOR=RANDOM%8+30;ec

百度和福特宣佈為期兩年的合作,在中國測試自動駕駛汽車

百度和福特汽車公司今天宣佈啟動為期兩年的聯合自動駕駛汽車測試專案,兩家公司將進一步推動該專案的開發,並在中國進行自動駕駛汽車道路試驗。 此次合作與福特進一步推進和推廣自動駕駛汽車技術的計劃保持一致,支援公司設計智慧汽車的願景。 “與百度等領先的技術合作夥伴合作,使我們能夠利用中國的新機

FLIR Systems獲得美國海岸警衛隊價值990萬美元的合同,用於支援加密自動識別系統

俄勒岡州威爾遜維爾--(美國商業資訊)--FLIR Systems, Inc. (NASDAQ: FLIR)今天宣佈,它已獲得美國國土安全部(DHS)的合同,以支援美國海岸警衛隊(USCG)的第二代自動識別系統(AIS-2)計劃。這項無確定交付日期和數量(IDIQ)合同的最高限額為990萬美元,

【資訊科技】【2004.05】雙耳語音識別研究:聲與電的聽覺

本文為美國德克薩斯大學達拉斯分校(作者:ARUNVIJAY MANI)的碩士論文,共70頁。 一般認為,兩個語音訊號的融合是由相對起始時間影響的。本研究探討了當頻譜資訊被分離並送入兩隻耳朵時,頻譜解析度可能是影響頻譜融合的附加因素的假設。研究了兩種不同的頻譜資訊分離方法。在第一種方

人臉識別研究報告

內容簡介 自20世紀下半葉,計算機視覺技術逐漸地發展壯大。同時,伴隨著數字影象相關的軟硬體技術在人們生活中的廣泛使用,數字影象已經成為當代社會資訊來源的重要構成因素,各種影象處理與分析的需求和應用也不斷促使該技術的革新。本研究報告對人臉識別這一課題進行了簡單梳理,主要包括以下內容: 人臉識

hanlp中文智慧分詞自動識別文字提取例項

  需求:客戶給銷售員自己的個人資訊,銷售幫助客戶下單,此過程需要銷售人員手動複製貼上收穫地址,電話,姓名等等,一個智慧的分詞系統可以讓銷售人員一鍵識別以上各種資訊 經過調研,找到了一下開源專案 1、word 分詞器 2、ansj 分詞器 3、mmseg4j 分詞器 4、ik-analy

校園科技|Python監控學生電腦螢幕,自動識別學習狀態!

  技術要點 1)使用pillow擴充套件庫進行螢幕截圖; 2)使用多執行緒監聽學生端連線; 3)使用TCP協議傳輸螢幕影象;                 學習Python中有不明白推