• hebelu
    了解作者
  • Python
    开发工具
  • 7.9MB
    文件大小
  • zip
    文件格式
  • 0
    收藏次数
  • 1 积分
    下载积分
  • 9
    下载次数
  • 2018-09-07 08:33
    上传日期
python实验中文词性标注,包括预处理,实验数据为新闻语料。
HMM-master.zip
  • HMM-master
  • big-data
  • test.conll
    2.4MB
  • dev.conll
    1.7MB
  • readme-zhenghua.txt
    281B
  • train.conll
    30.6MB
  • data
  • test.conll
    56.5KB
  • dev.conll
    1.4MB
  • train.conll
    570.9KB
  • README.md
    2.7KB
  • predict_HMM.py
    3.3KB
  • train_hmm.py
    3.3KB
内容介绍
## 利用HMM进行中文词性标注 简介:通过给定的人工标注好词性的文件,进行有监督的一阶(二元)HMM(隐马尔科夫)模型训练;通过训练文件对分好词的文本进行词性标注。</br> ### 一、目录文件 ``` ./data/: train.conll: 训练集 dev.conll: 测试集 ./big-data/: train.conll: 大数据训练集 dev.conll: 大数据开发集 test.conll: 大数据测试集 根目录: train_HMM.py: 一阶隐马尔可夫模型的训练代码 predict_HMM.py: 利用viterbi算法进行词性标注代码 predict.txt: 预测结果 ``` ### 二、运行 #### 1.运行环境 ​ python 3.6 #### 2.运行方法 (1)先运行train_HMM.py,得到四个训练参数文件tag.dict(词性及编号字典),word.dict(分词及编号字典),emission_matrix.txt(发射矩阵),transition_matrix.txt(转移矩阵)</br> (2)再运行predict_HMM.py,对人工分词的文件进行词性标注,并进行预测结果评价,输出预测文件predict.txt。 #### 3.参考结果 ##### (1)小数据测试 注:可以修改不同的alpha比较准确率,训练集数据少结果正确率可能较低。 | 训练集 | ./data/train.conll | | --------- | ------------------ | | 测试集 | ./data/dev.conll | | 参数alpha | 0.1 | | 准确率 | 74.7014% | | 预测时间 | 约16s | ##### (2)大数据测试 | 训练集 | ./big-data/train.conll | | --------- | ---------------------- | | 测试集 | ./big-data/dev.conll | | 参数alpha | 0.01 | | 准确率 | 88.35% | | 预测时间 | 约23s | ### 三、日志 #### 2018年8月25日 根据老师的建议完成了代码的优化,利用numpy中的矩阵进行模型参数存储并用数字编号代替分词,提高了标注效率。和其他同学的代码进行比对,得出了近乎相同的结果。</br> #### 2018年7月14日 基于之前的训练模型得出的分词结果,和人工分词文件进行对比,得出了正确率为0.777(学姐的为0.764)。不排除是python版本不同而导致的概率精度不同,引起了正确率上的细微变化。</br> 接下来将根据老师的建议对HMM训练模型进行优化:调整矩阵存储形式(1.用numpy中的矩阵替代原来的嵌套字典形式;2.用数字编号替代原来的观测状态(分词)) #### 2018年6月13日 上传了两个代码:tarin_hmm.py是训练HMM(一阶)的代码,predict_hmm.py是用viterbi算法实现中文分词词性标注。</br> 由于时间仓促,目前还没有对模型及算法进行验证,代码也比较粗糙。加上最近要期末考试了,准备先放一放,7月份再继续完善。</br>
评论
    相关推荐
    • Python实现HMM模型完美版.zip
      Python实现HMM算法完美版 代码全集
    • Python实现HMM模型完美版.zip
      Python实现HMM算法完美版代码集合
    • HMM代码整理与hmmlearn安装详细教程.zip
      HMM代码整理与hmmlearn安装详细教程 ,包含三种问题的PYTHON实现
    • hmm.rar
      基于隐马尔可夫算法,中文分词模型,字典,训练集
    • causal_hmm
      时间序列疾病预测的因果隐马尔可夫模型 该存储库是的的python实现。...我们的因果HMM的有向酰基图(DAG)。 通过以下方式在默认设置下重新实现该方法: python main.py 由于数据保密,我们的数据集在这里不公开。
    • pyhmm:Python中的HMM实现
      Python中的HMM实现 这是离散隐马尔可夫模型的一个简单实现,作为 NLP 课程的教学插图而开发。 用法: 请查看文件:test_hmm.py 以获取示例代码。 例子: # 通过传递模型的文件名来实例化HMM,模型为JSON格式 # ...
    • hmm-lda:“集成主题和语法” TL Griffiths等。 HMM-LDA的Python实现
      这是TL Griffiths等人介绍的HMM-LDA的Python实现。 在“集成主题和语法”中。 根据第2.2节,它使用Gibbs采样进行推理。 这是一项正在进行的工作。 目标 提供可读的,带注释的代码库,以供将来有关HMM-LDA及其变体的...
    • HMM实现中文分词python实现作业
      自然语言处理课程的小作业,以新闻语料为基础,用HMM算法实现中文分词。按照每个字为B,E,S,M进行划分。以新闻语料为基础,用HMM算法实现中文分词。按照每个字为B,E,S,M进行划分。
    • HMM, python 隐藏 马尔可夫 模型框架.zip
      HMM, python 隐藏 马尔可夫 模型框架 HMMnumpy/python只隐藏 马尔可夫 模型框架。 不需要其他依赖项。这里实现( 其他很多) 基于以下文件: "隐藏 马尔可夫 模型和语音识别中选择的应用的教程,RABINER 1989"主要支持...
    • HMM隐马尔科夫模型
      隐马尔科夫模型用Python写的,程序中实现了前向算法、后向算法、维特比算法、前向后向算法,前面的算法比较简单,后面的前向后向算法是用于训练模型的,稍微复杂一点。从测试的结果来看,模型训练有可能收敛于局部...