`

Hanlp实战HMM-Viterbi角色标注中国人名识别

 
阅读更多

 

这几天写完了人名识别模块,与分词放到一起形成了两层隐马模型。虽然在算法或模型上没有什么新意,但是胜在训练语料比较新,对质量把关比较严,实测效果很满意。比如这句真实的新闻“签约仪式前,秦光荣、李纪恒、仇和等一同会见了参加签约的企业家。”,分词结果:[签约/v, 仪式/n, 前/f, ,/w, 秦光荣/nr, 、/w, 李纪恒/nr, 、/w, 仇和/nr, 等/u, 一同/d, 会见/v, 了/ul, 参加/v, 签约/v, 的/uj, 企业家/n, 。/w],三个人名“秦光荣”“李纪恒”“仇和”一个不漏。一些比较变态的例子也能从容应对,比如下面:



 

这是hankcs将自己的分词与ansj作比较得出的结果,由于自己可以随时调整算法,所以主场占了很大便宜。但是第一句绝对没有放水,说实话能识别出“仇和”这么冷僻的名字着实让人惊喜了一下。



 

开源项目

本文代码已集成到HanLP中开源:https://github.com/hankcs/HanLP 

原理

推荐仔细阅读《基于角色标注的中国人名自动识别研究.doc》这篇论文,该论文详细地描述了算法原理和实现。从语料库的整理、标注到最后的模式匹配都讲得清清楚楚。hankcs在这篇论文的基础上做了改进,主要步骤总结如下

1、对熟语库自动标注,将原来的标注转化为角色标注。角色标注一共有如下几种:



 

hankcs在此基础上拓展了一个S,代表句子的开始。

2、统计标签的出现频次,标签的转移矩阵。

3、对粗分结果角色标注,模式匹配。

hankcs对论文中的几个模式串做了拓充,并且采用了AC模式匹配算法。

体会

论文中将三字名称拆分为BCD,实测在2-gram模型下,C很容易被识别为E,导致人名缺一半。

人民日报2014中的人名并不能覆盖所有常用字,所以hankcs去别的地方找了个人名库,拆成BCD或BE补充了进去。

人民日报2014语料库中有很多错误,比如

去/vf 年老/vi 张中秋/nr 去/vf “/w 泡茶/vi ”/w ,/w 送礼/vi 遭到/v 了/ule 拒绝/v ,/w 老张/nz 担心/v 金额/n 不够/a

中秋很明显不是人名的组成部分,这个必须手工剔除。

“中秋安全”会识别出“中 秋安全”来,因为2-gram词典中没有“中秋@安全”这种接续,而有“中@未##人”这种接续。初步的解决方法是手工往2-gram词典里面加一条“中秋@安全”。这反映了这种方法的局限性,另一方面也说明词典的重要性。

 

  • 大小: 86.3 KB
  • 大小: 81.1 KB
  • 大小: 163.9 KB
分享到:
评论

相关推荐

    基于HMM-Viterbi的通信网络资源数据处理方法及应用.docx

    【基于HMM-Viterbi的通信网络资源数据处理方法及应用】 随着通信技术的飞速发展,网络规模不断扩大,网络结构变得愈发复杂,各种类型的网络设备产生的资源数据量巨大。这些资源数据的质量直接关乎到运营商的网络...

    hanlp-1.7.2-release.zip

    1. 高精度:HanLP采用混合分词模型,结合了基于概率的隐马尔可夫模型(HMM)和最大熵模型(MaxEnt),以及基于规则的分词方法,确保了较高的分词准确率。 2. 快速高效:通过并行计算和优化的算法设计,HanLP在保持高...

    NER-CRF-HMM-master_HMM_HMM-CRF用于命名实体识别_语音识别_

    命名实体识别(NER)是自然语言处理(NLP)领域的一个关键任务,它涉及识别文本中的特定实体,如人名、地名、组织名等。在这个项目“NER-CRF-HMM-master”中,开发者利用隐马尔可夫模型(HMM)和条件随机场(CRF)这...

    实验报告-基于GMM-HMM的语音识别.doc

    在语音识别中,HMM-GMM模型可以用于描述语音信号的 隐状态和概率分布,并通过HMM-GMM模型来预测语音信号的可能状态。 五、实验结果 实验结果表明,基于HMM-GMM模型的语音识别系统可以达到较高的识别率,並且可以...

    基于HMM-FNN模型的复杂动态手势识别

    复杂动态手势识别是利用视频手势进行人机交互的关键问题.提出一种HMM-FNN模型结构.它整合了隐马尔可夫模型对时序数据的建模能力与模糊神经网络的模糊规则构建与推理能力,并将其应用到复杂动态手势的识别中.复杂动态...

    基于HMM-LSTM隐马尔可夫和长短期记忆模型的股票市场预测(Python完整源码和数据)

    隐马尔可夫模型 (HMM) 是一种信号...我们的主要目的是通过预测一只股票的涨跌 使用 HMM-LSTM。 Experiment with 4 different models: GMM-HMM XGB-HMM GMM-HMM-LSTM XGB-HMM-LSTM Compared with the results: train_set

    基于HMM的动态手势识别

    基于HMM的动态手势识别

    hmm.rar_HMM 识别_hmm-1.0.3.rar_qt 语音识别_语音识别 HMM

    hmm语音识别程序,能根据参数,训练模型和计算出模型距离,对于学习和编写有关隐马尔科夫语音识别程序很有帮助

    matlab-hmm-master.zip_HMM_SPEAKER RECOGNITION_hmm 语音 matlab_语音 训

    - 在这个项目中,`matlab-hmm-master`可能是包含源代码和示例数据的文件夹,用户可以通过解析这些文件了解如何在MATLAB环境中实现HMM训练和说话人识别的过程。 5. **文件结构**: - `matlab-hmm-master`很可能...

    HMM-POS-master.zip_HMM_HMM matlab_poss matlab

    在这个“HMM-POS-master.zip”压缩包中,我们可以看到作者使用MATLAB实现了一个HMM进行词性标注的项目。 词性标注是自然语言处理中的基础任务,其目的是为句子中的每个单词分配相应的词性标签,如名词(N)、动词...

    HMM.rar_HMM_HMM-LDA_hmm text_text extraction_马尔科夫模型

    **文本信息抽取**:在文本处理中,HMM可以用于识别词性标注、命名实体识别、主题建模等任务。通过对观察序列(如单词序列)和潜在状态序列(如词性的隐藏状态)建模,HMM能够学习到文本的内在结构。 **HMM-LDA**:...

    hmm-gmm语音转文字

    本项目“hmm-gmm语音转文字”提供了一个基于Python实现的离线语音识别系统,利用隐马尔可夫模型(Hidden Markov Model, HMM)和高斯混合模型(Gaussian Mixture Model, GMM)进行声学建模,从而将语音转换为文字。...

    HMM.rar_HMM_Viterbi hmm_fwdback_xi_markov viterbi_viterbi matlab

    隐藏马尔可夫模型(Hidden Markov Model,简称HMM)是一种统计建模方法,常用于处理序列数据,尤其在自然语言处理、生物信息学、语音识别等领域有广泛应用。Viterbi算法是HMM中最著名的解码算法,用于找出最有可能...

    语音识别hmm工具箱HMM.rar

    标题"语音识别hmm工具箱HMM.rar"中提到的核心概念是“语音识别”和“HMM工具箱”。这里的“HMM”指的是隐马尔可夫模型(Hidden Markov Model),这是一种在概率统计领域广泛应用的数学模型,尤其在语音识别、自然...

    HMM.zip_HMM_HMM matlab_HMM toolbox_HMM-UBM_matlab hmm

    7. **HMM-UBM(Universal Background Model)**:在语音识别中,HMM-UBM是一种通用背景模型,它为所有类别提供一个基础模型,然后通过高斯混合模型(GMM)的变异性适应特定的说话人或环境。 MATLAB中的HMM工具箱...

    论文研究-HMM-Cluster:面向交通量过载发现的轨迹聚类方法.pdf

    提出一种基于HMM模型的轨迹聚类算法HMM-Cluster,可有效地发现交通量过载情况。该算法首先提取时空轨迹特征点,并采用维数约简技术减少轨迹数据量,根据参照轨迹拟合HMM模型,基于密度函数得到轨迹相似度矩阵,最后...

    HMM-based HTS

    open-source software toolkit named HMM-based speech synthesis system (HTS) to provide a research and development platform for the speech synthesis community. In December 2006, HTS version 2.0 ...

    gmm-hmm-asr:简单GMM和HMM模型的Python实现,用于隔离数字识别

    用于隔离数字识别的简单GMM-HMM模型 简单的GMM和HMM模型的Python实现,用于隔离数字识别。 此实现包含3个模型: 单一高斯:使用具有对角协方差的单一高斯对每个数字进行建模。...cd gmm-hmm-asr && pip ins

    HMM-based Script Identification for OCR

    HMM-based Script Identification for OCR While current OCR systems are able to recognize text in an increasing number of scripts and languages, typically they still need to be told in advance what ...

    hmm的实现0-9数字的训练和识别

    对于0-9数字的识别,这意味着我们要为每个数字建立一个独立的HMM模型,并通过大量标注的语音数据调整模型参数,使其能有效地表示每个数字的发音模式。 项目中的"cdhmm"可能是指HMM模型的实现代码库或者数据集。代码...

Global site tag (gtag.js) - Google Analytics