基于Python的中文自动分词实验

中文自动分词实验 实验内容 使用任意分词方法进行分词 实验要求和目的 使用任意分词方法实现汉语自动分词; 给出至少 1000 个句子的分词结果(以附件形式); 计算出分词结果的正确率

本文包含相关资料包-----> 点击直达获取<-------

中文自动分词实验

实验内容

使用任意分词方法进行分词

实验要求和目的

使用任意分词方法实现汉语自动分词;

给出至少 1000 个句子的分词结果(以附件形式);

计算出分词结果的正确率,并给出计算依据;

用实例说明所用分词方法分别对“交叉歧义”和“组合歧义”的处理能力;

提交实验报告,给出详细实验过程和结果;提交源代码和可执行程序。

实验环境

操作系统 macOS Sierra

内存 16G

开发语言 Python

程序主要算法

如对一个字符串:

S:有意见分歧

分词结果 1: w1:有/ 意见/ 分歧/

分词结果 2: w2:有意/ 见/ 分歧/

最大概率分词就是要求得 Max(P(w1|s),P(w2|s)) 。

根据贝叶斯公式:

P(w|s)=P(s|w)P(w)/P(s) (公式 1)

在公式 1 中,因为 P(s)和 P(w|s)都基本一样,因此,就求最大的 P(w)即可。根据一元语法,词之间出现的概率互相独立,因此有下面的公式成:

P(w)=P(w1,w2,…,w3)=P(w1)P(w2)…P(w3) (公式 2)

即字符串出现的概率就是构成字符串的各个词的概率之积。而一个词的概率可以按照其出现的次数除以语料中总的词数得到。

分析下面的例子,我们可以计算得到各个词的概率为:

  • 有:0.018
  • 有意:0.0005
  • 意见:0.001
  • 见:0.0002
  • 分歧:0.0001

则根据公式 2 有:

  • P(w1)=p(有)P(意见)P(分歧)=0.018 0.001 0.0001=1.8*10^(-9)
  • P(w2)=P(有意)P(见)P(分歧)=0.0005 0.0002 0.0001=1*10^(-11)
  • 由于 P(w1)>P(w2),故 w1 为该字符串的分词结果。

当然,在实际操作过程中,如果字符串比较长,分词的形式就会非常多,计算量和长度呈指数增长关系,因此需要采用一定的来减少运算量,我们可以看到字符串的概率是累计相乘的,因此可以采用动态规划的方法来减少运算量。

这里记 P`(w)为到达候选词 wi 时的累计概率,则

P (wi)=P (wi-1)P(wi)(公式 3)

根据公式 3,有 P (意见)=P (有)P(意见)

实验过程

首先利用微博词频语料库构造分词训练语料库,使用 Sogou 新闻语料作为训练集。然后使用分词算法输出到文本文件。

实验结果

分词好的 700 多条句子已经放到压缩包中,名为 seg.txt

实验结论和体会

通过分词实验,探索了很多分词方案。如 HMM/FMM,以及本文说的概率最大分词法。对机器学习有了一定的了解。

参考文献

  • 中文文本自动校对系统设计与实现(西南交通大学·张涛)
  • 基于领域文本大数据的快速分词系统的设计与实现(南京大学·陶德彬)
  • 汉语词法分析平台的构建(大连理工大学·叶子语)
  • 中文文本自动校对系统设计与实现(西南交通大学·张涛)
  • 基于网络爬虫的论坛数据分析系统的设计与实现(华中科技大学·黎曦)
  • 基于知识图谱的文本分类算法研究(厦门大学·潘洋彬)
  • 面向不同错误类型的中文文本纠错方法研究(湘潭大学·龙广玉)
  • 中文文本自动校对系统设计与实现(西南交通大学·张涛)
  • 面向程序设计领域的新词检测算法研究与应用(东华大学·刘梦)
  • 中文文本校对关键技术研究与应用(电子科技大学·吴淙)
  • 互联网舆情安全预警平台数据采集及处理软件的设计与实现(电子科技大学·李明轩)
  • 中文文本自动校对系统设计与实现(西南交通大学·张涛)
  • 基于微服务的智能实验教学管理系统的设计与实现(西安电子科技大学·刘凯)
  • 网络信息采集技术及中文未登录词算法研究(北京邮电大学·陈浩)
  • 网络新闻语料库建设及其分布式检索系统研究(华中师范大学·鲁松)

本文内容包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主题。发布者:源码码头 ,原文地址:https://bishedaima.com/yuanma/36095.html

相关推荐

发表回复

登录后才能评论