基于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://m.bishedaima.com/yuanma/36095.html

相关推荐

  • 基于Python的PyGame实现的横板动作小游戏

    基于Python的PyGame实现的横板动作小游戏 游戏玩法 玩家操纵主角进行移动和攻击,主角有四种攻击,不同操作惊醒不同的攻击和动画播放,敌人可以对玩家进行攻击 代码思想 利用精灵类绘制主角
    2024年05月14日
    4 1 1
  • 设计一个web服务器

    设计一个web服务器 课程设计目的 《Java&,net》是一门实践性较强的软件基础课程,为了学好这门课程,必须在掌握理论知识的同时,加强上机实践,本课程设计的目的就是要达到理论与实际应用相结合
    2024年05月14日
    2 1 1
  • springboot实现商品进销存管理系统CRM系统源代码javaweb

    这是一个🔥🔥springboot实现商品进销存管理系统CRM系统源代码javaweb🔥🔥的项目源码,开发语言Java,开发环境Idea/Eclipse,这个 商品进销存管理系统开发技术栈为SpringBoot项目
    2024年05月23日
    5 1 3
  • 基于springboot实现在线新闻网站源码-仿头条

    这是一个🔥🔥基于springboot实现在线新闻网站源码-仿头条🔥🔥的项目源码,开发语言Java,开发环境Idea/Eclipse,这个 SpringBoot在线新闻开发技术栈为SpringBoot项目
    2024年05月23日
    1 1 1
  • springboot个人记账本系统源码

    这是一个🔥🔥springboot个人记账本系统源码🔥🔥的项目源码,开发语言Java,开发环境Idea/Eclipse,这个 个人记账本开发技术栈为SpringBoot项目
    2024年05月23日
    1 1 1
  • 基于SpringBoot框架的信息技术知识竞赛

    这是一份关于构建信息技术知识竞赛的源代码项目,采用了🔥🔥SpringBoot基础框架🔥🔥,主要编程语言为Java,并结合了Vue技术进行开发,开发工具选择的是Idea或Eclipse
    2024年05月23日
    5 1 1
  • 基于Android的通讯录app开发与实现

    这是一个🔥🔥基于Android的通讯录app开发与实现🔥🔥的项目源码,开发语言Java,开发环境Idea/Eclipse,这个 通讯录App开发技术栈为安卓项目,可以作为毕业设计课程设计作业该android课程设计是实现一个通讯录APP
    2024年05月23日
    1 1 1
  • 基于Python的预测商品销售数据

    预测商品销售数据 实验目的 通过使用一个具有挑战性的时间序列数据集,该数据集由每日销售数据,由俄罗斯最大的软件公司之一 1C 公司提供, 数据集中提供了 2013 年 1 月到 2015 年 10 月每日每个店铺中的商品历史销售数据
    2024年05月14日
    4 1 1
  • 基于springboot电商系统的设计与实现

    这是一个🔥🔥基于springboot电商系统的设计与实现🔥🔥的项目源码,开发语言Java,开发环境Idea/Eclipse,这个 电商设计与实现开发技术栈为SpringBoot项目
    2024年05月23日
    2 1 2
  • Java+SSM实现复杂权限控制的教务管理,教务评教系统

    这是一个🔥🔥SSM实现复杂权限控制的教务管理,教务评教系统🔥🔥的项目源码,开发语言Java,开发环境Idea/Eclipse,这个 教务管理系统开发技术栈为SSM项目,可以作为毕业设计课程设计作业为大学教务处实现一个带有权限控制的教务管理系统
    2024年05月23日
    10 1 2

发表回复

登录后才能评论