基于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

相关推荐

  • 基于SpringBoot框架的医疗挂号管理系统

    这是一套采用Java编程语言,基于SpringBoot框架构建的医疗预约管理系统源代码,项目中融入了Vue技术,开发工具为Idea或Eclipse,此系统适用于毕业设计或课程实践
    2024年05月23日
    2 1 1
  • 基于Python设计的信息检索系统

    基于Python设计的信息检索系统 【实验目的】: 开发一款针对英文文本的信息检索系统,可以实现建立索引表,布尔查询,通配符查询, 短语查询等功能
    2024年05月14日
    4 1 1
  • 基于Python的信息检索课程设计

    基于Python的信息检索课程设计 sdu视点新闻 全站爬虫爬取+索引构建+搜索引擎查询练习程序 爬虫功能使用Python的scrapy库实现
    2024年05月14日
    3 1 1
  • 学生评奖评优管理系统

    这是一个🔥🔥基于SpringBoot框架的学生评奖评优管理系统设计与实现🔥🔥的项目源码,开发语言Java,框架使用的SpringBoot+vue技术,开发环境Idea/Eclipse
    2024年05月23日
    1 1 1
  • 基于Python实现书店销售管理系统

    书店销售管理管理子系统 一,设 计 总 说 明 现在社会随着计算机技术迅速发展与技术的逐渐成熟,信息技术已经使人们的生活发生深刻的变化,生活中的各种服务系统也使人们在生活中的联系日常销售活动方式发生了很大的变化
    2024年05月14日
    6 1 1
  • 网上摄影工作室

    这是一个🔥🔥基于SpringBoot框架的网上摄影工作室设计与实现🔥🔥的项目源码,开发语言Java,框架使用的SpringBoot+vue技术,开发环境Idea/Eclipse
    2024年05月23日
    2 1 1
  • java+swing实现推箱子小游戏课程设计源码

    在计算机科学领域,游戏设计一直是一个备受关注的话题,随着计算机技术的不断发展,人们对于游戏的需求也越来越高,《java+swing实现推箱子小游戏课程设计源码》是一个旨在使用Java语言和Swing框架实现的推箱子小游戏项目
    2024年05月07日
    5 1 1
  • 基于python + dlib实现人脸识别

    python 进行人脸识别 人脸识别的主要算法 其核心算法是 欧式距离算法使用该算法计算两张脸的面部特征差异,一般在 0,6 以下都可以被认为是同一张脸 人脸识别的主要步骤 获得人脸图片 将人脸图片转为 128D 的矩阵(这个也就是人脸特征的一种数字化表现) 保存人脸 128D 的特征到文件中 获取其他人脸转为 128D 特征通过欧式距离算法与我们保存的特征对比
    2024年05月14日
    2 1 1
  • 网上商城系统

    这是一个🔥🔥基于SpringBoot框架的网上商城系统设计与实现🔥🔥的项目源码,开发语言Java,框架使用的SpringBoot+vue技术,开发环境Idea/Eclipse
    2024年05月23日
    1 1 1
  • 基于python实现的CS通信和P2P通信

    基于python实现的CS通信和P2P通信 一,实验要求 C/S通信实现要求 两台计算机分别模拟服务器,客户端 通过编程实现服务器端
    2024年05月14日
    1 1 1

发表回复

登录后才能评论