HanLP-基於HMM-Viterbi的人名識別原理介紹
Hanlp自然語言處理包中的基於HMM-Viterbi處理人名識別的內容大概在年初的有分享過這類的文章,時間稍微久了一點,有點忘記了。看了 baiziyu 分享的這篇比我之前分享的要簡單明瞭的多。下面就把文章分享給大家交流學習之用,部分內容有做修改。
本文 主要介紹一下 HanLP是如何利用HMM來做人名識別的。基本思想是把詞語序列作為觀測序列,將角色序列作為隱藏序列,當模型預測出最佳隱藏狀態序列後,利用模式最大匹配法,匹配出人名實體。下邊說一模型的三要素在這個應用中所對應的內容,因為訓練階段就是要求解這三個要素的值。
假設有下邊的觀測序列和其對應的隱藏序列
觀察值序列:詞 1 詞2 … 詞n
隱變數序列:角色 1 角色2 … 角色n
訓練階段: 統計三個要素(三個矩陣的元素值)
初始機率分佈:
各隱變數標記意義列於下表
狀態轉移機率分佈:
觀測機率分佈:
有關這些機率值的計算都很簡單,就是頻率法,留在後邊介紹隱馬時候再寫。
預測階段:
根據訓練得到的三個要素,利用 Viterbi演算法求解得到了最優隱藏變數序列 角色1* 角色2* ... 角色n*
最大模式匹配階段:
利用下邊的模式串匹配出人名
{ BBCD, BBE, BBZ, BCD, BEE,BE,BG,BXD,BZ,CD,EE,FB, Y,XD}
基於 HMM-Viterbi標註的人名識別原理就介紹到這裡,我想我應該把原理說清楚了,如果你還沒有看明白,就等著後續的有關隱馬的文章吧。基於隱馬的人名識別會很容把以一個姓氏作為開頭的詞語識別為人名,特別是地名中有人名字的,因此,人工整理出一些非常用姓氏的人名,以及一些地名是必要的,後續如果整理出來了,我應該會放到專欄文章裡,畢竟都是公開語料上做的,也就不涉及什麼別的不方便。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31524777/viewspace-2651544/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Hanlp實戰HMM-Viterbi角色標註中國人名識別HanLPHMMViterbi
- 自然語言處理工具HanLP-基於層疊HMM地名識別自然語言處理HanLPHMM地名識別
- 關於mysql基礎知識的介紹MySql
- HanLP-地名識別除錯方法HanLP地名識別除錯
- HanLP-命名實體識別總結HanLP
- HanLP中人名識別分析詳解HanLP
- Hanlp-地名識別除錯方法詳解HanLP地名識別除錯
- HanLP中的人名識別分析詳解HanLP
- 基於FPGA的乘法器原理介紹及設計實現FPGA
- Epub基礎知識介紹
- 介紹基於事件的架構事件架構
- 迅雷鏈基於智慧硬體的DPoA共識機制介紹
- 基於OCaml的識別程式
- 基於感知機的人名-性別預測系統 —— Python實現Python
- 圖文識別解決方案介紹
- 反光衣穿戴識別系統介紹
- vue中關於測試的知識介紹Vue
- 資料庫基礎知識介紹!資料庫
- FFmpeg原理介紹
- vit中的生成分類識別符號介紹符號
- 行駛證OCR識別Api介面介紹API
- 基於Yolov3的口罩識別YOLO
- Java基礎知識篇——Java基本介紹Java
- 基於MATLAB公式識別Matlab公式
- 基於資源的HTTP Cache的實現介紹HTTP
- 介紹GitOps的工作原理Git
- Docker的原理及特性介紹Docker
- 常用鎖原理的介紹(上)
- XMPP協議的原理介紹協議
- MYSQL SET型別欄位的SQL操作知識介紹MySql型別
- Oracle DRM原理介紹Oracle
- elastic search 原理介紹AST
- GPU的介紹 以及原理的分析GPU
- 基於神經網路的OCR識別神經網路
- 基於OPENCV的手勢識別技術OpenCV
- 基於 Python 和 Scikit-Learn 的機器學習介紹Python機器學習
- Html與css基礎知識介紹(必看篇)HTMLCSS
- hanlp自然語言處理包的人名識別程式碼解析HanLP自然語言處理