對于分詞而言,命名實體識別是一項非常重要的功能,當然發現新詞同樣重要(這部分內容被我放在之后的“提取關鍵詞、短語提取與自動摘要、新詞識別”與再之后的案例中了。
首先是一個簡單的例子,展示一下命名實體識別的效果。之后是正式內容:
正式內容
中國人名識別
說明
目前分詞器基本上都默認開啟了中國人名識別,比如HanLP.segment()接口中使用的分詞器等等,用戶不必手動開啟;上面的代碼只是為了強調。
有一定的誤命中率,比如誤命中關鍵年,則可以通過在data/dictionary/person/nr.txt加入一條關鍵年 A 1來排除關鍵年作為人名的可能性,也可以將關鍵年作為新詞登記到自定義詞典中。
如果你通過上述辦法解決了問題,歡迎向我提交pull request,詞典也是寶貴的財富。
建議NLP用戶使用感知機或CRF詞法分析器,精度更高。
算法詳解
《實戰HMM-Viterbi角色標注中國人名識別》
音譯人名識別
說明
目前分詞器基本上都默認開啟了音譯人名識別,用戶不必手動開啟;上面的代碼只是為了強調。
算法詳解
日本人名識別
說明
目前標準分詞器默認關閉了日本人名識別,用戶需要手動開啟;這是因為日本人名的出現頻率較低,但是又消耗性能。
算法詳解
地名識別
說明
目前標準分詞器都默認關閉了地名識別,用戶需要手動開啟;這是因為消耗性能,其實多數地名都收錄在核心詞典和用戶自定義詞典中。
在生產環境中,能靠詞典解決的問題就靠詞典解決,這是最高效穩定的方法。
建議對命名實體識別要求較高的用戶使用感知機詞法分析器。
算法詳解
《實戰HMM-Viterbi角色標注地名識別》
機構名識別
說明
目前分詞器默認關閉了機構名識別,用戶需要手動開啟;這是因為消耗性能,其實常用機構名都收錄在核心詞典和用戶自定義詞典中。
HanLP的目的不是演示動態識別,在生產環境中,能靠詞典解決的問題就靠詞典解決,這是最高效穩定的方法。
建議對命名實體識別要求較高的用戶使用感知機詞法分析器。
算法詳解
《層疊HMM-Viterbi角色標注模型下的機構名識別》
地名識別
說明
目前標準分詞器都默認關閉了地名識別,用戶需要手動開啟;這是因為消耗性能,其實多數地名都收錄在核心詞典和用戶自定義詞典中。
在生產環境中,能靠詞典解決的問題就靠詞典解決,這是最高效穩定的方法。
建議對命名實體識別要求較高的用戶使用感知機詞法分析器。
算法詳解
《實戰HMM-Viterbi角色標注地名識別》
URL 識別
自動識別URL,該部分是在demo中發現的,但是原作者并沒有在文檔中提到這個,該部分可以發現URL,測試發現其他分類器應該是默認不開啟這個的,而且config中并沒有開啟該功能的選項,因此這應該是一個額外的類。我建議如果有需要的,你可以嘗試先利用URLTokenizer獲取URL,然后添加進用戶詞典。或者直接使用其他工具或者自定義函數解決該問題。
文章來源于Font Tian的博客