python实现中文文本分句的例子


Posted in Python onJuly 15, 2019

对于英文文本分句比较简单,只要根据终结符"."划分就好,中文文本分句看似很简单,但是实现时会遇到很多麻烦,尤其是处理社交媒体数据时,会遇到文本格式不规范等问题。

下面代码针对一段一段的短文本组成了文档分句

import re
def cut_sent(infile, outfile):
  cutLineFlag = ["?", "!", "。","…"] #本文使用的终结符,可以修改
  sentenceList = []
  with open(infile, "r", encoding="UTF-8") as file:
    oneSentence = ""
    for line in file:
      if len(oneSentence)!=0:
        sentenceList.append(oneSentence.strip() + "\r")
        oneSentence=""
      # oneSentence = ""
      for word in words:
        if word not in cutLineFlag:
          oneSentence = oneSentence + word
        else:
          oneSentence = oneSentence + word
          if oneSentence.__len__() > 4:
            sentenceList.append(oneSentence.strip() + "\r")
          oneSentence = ""
  with open(outfile, "w", encoding="UTF-8") as resultFile:
    print(sentenceList.__len__())
    resultFile.writelines(sentenceList)

如果段尾3没有终结符但是换行了,这句话可能会丢失,所有加入如下代码:

if len(oneSentence)!=0:
   sentenceList.append(oneSentence.strip() + "\r")
     oneSentence=""

会得到比较好的处理结果

要处理的文本:

自从微信出了三天可见功能,我的朋友圈就越来越冷清越来越冷清越来越冷清,点开都没什么可看的了。今天我把屏蔽的代购一个一个一个都放出来了,快过年了,热闹点
一女性,想DIY矫正门牙缝隙,在家自己制取模型,结果悲剧了,因为用的是石膏,自己无法取出,来我院求助,医生废了九牛二虎之力才搞定……DIY有风险,操作需谨慎!
闺女同学家养了一只鹦鹉,两只珍珠鸟,一只猫,两只仓鼠。鹦鹉是老大,珍珠鸟怕它,猫是后进家的,也怕鹦鹉。仓鼠经常溜出笼子,据说猫会把它逮住塞回笼子。

处理后的文本:

自从微信出了三天可见功能,我的朋友圈就越来越冷清越来越冷清越来越冷清,点开都没什么可看的了。
今天我把屏蔽的代购一个一个一个都放出来了,快过年了,热闹点
一女性,想DIY矫正门牙缝隙,在家自己制取模型,结果悲剧了,因为用的是石膏,自己无法取出,来我院求助,医生废了九牛二虎之力才搞定…
DIY有风险,操作需谨慎!
闺女同学家养了一只鹦鹉,两只珍珠鸟,一只猫,两只仓鼠。
鹦鹉是老大,珍珠鸟怕它,猫是后进家的,也怕鹦鹉。
仓鼠经常溜出笼子,据说猫会把它逮住塞回笼子。

得到了比较好的分句结果,也不会丢失信息。

以上这篇python实现中文文本分句的例子就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python实现socket端口重定向示例
Feb 10 Python
在Ubuntu系统下安装使用Python的GUI工具wxPython
Feb 18 Python
简析Python的闭包和装饰器
Feb 26 Python
pytorch: tensor类型的构建与相互转换实例
Jul 26 Python
python 利用for循环 保存多个图像或者文件的实例
Nov 09 Python
浅谈python的dataframe与series的创建方法
Nov 12 Python
使用python对文件中的单词进行提取的方法示例
Dec 21 Python
python读取raw binary图片并提取统计信息的实例
Jan 09 Python
Python集合操作方法详解
Feb 09 Python
python开发实例之Python的Twisted框架中Deferred对象的详细用法与实例
Mar 19 Python
新手学python应该下哪个版本
Jun 11 Python
解决Python中的modf()函数取小数部分不准确问题
May 28 Python
Python如何筛选序列中的元素的方法实现
Jul 15 #Python
python内存动态分配过程详解
Jul 15 #Python
python实现动态数组的示例代码
Jul 15 #Python
python移位运算的实现
Jul 15 #Python
python与C、C++混编的四种方式(小结)
Jul 15 #Python
解决Python3 控制台输出InsecureRequestWarning问题
Jul 15 #Python
python导包的几种方法(自定义包的生成以及导入详解)
Jul 15 #Python
You might like
php实现查询功能(数据访问)
2017/05/23 PHP
PHP实现的简单排列组合算法应用示例
2017/06/20 PHP
thinkphp5.0自定义验证规则使用方法
2017/11/16 PHP
php用wangeditor3实现图片上传功能
2019/08/22 PHP
jquery之empty()与remove()区别说明
2010/09/10 Javascript
常用的JS验证和函数汇总
2014/12/23 Javascript
jQuery遍历页面所有CheckBox查看是否被选中的方法
2015/04/14 Javascript
完美实现八种js焦点轮播图(上篇)
2016/07/18 Javascript
JS实现点击复选框变更DIV显示状态的示例代码
2017/12/18 Javascript
Vue cli构建及项目打包以及出现的问题解决
2018/08/27 Javascript
javascript实现京东登录显示隐藏密码
2020/08/02 Javascript
[01:23:35]Ti4主赛事胜者组 DK vs EG 1
2014/07/19 DOTA
[01:26]神话结束了,却也刚刚开始——DOTA2新英雄玛尔斯驾临战场
2019/03/10 DOTA
Python 错误和异常小结
2013/10/09 Python
Python实现控制台进度条功能
2016/01/04 Python
Django框架模板语言实例小结【变量,标签,过滤器,继承,html转义】
2019/05/23 Python
python2爬取百度贴吧指定关键字和图片代码实例
2019/08/14 Python
使用Pytorch来拟合函数方式
2020/01/14 Python
Visual Studio Code搭建django项目的方法步骤
2020/09/17 Python
Python+OpenCV图像处理—— 色彩空间转换
2020/10/22 Python
Python的logging模块基本用法
2020/12/24 Python
Python3+Flask安装使用教程详解
2021/02/16 Python
CSS3弹性伸缩布局之box布局
2016/07/12 HTML / CSS
html5的画布canvas——画出简单的矩形、三角形实例代码
2013/06/09 HTML / CSS
网游商务专员求职信
2013/10/15 职场文书
汽车运用工程系毕业生自荐信
2013/12/27 职场文书
房地产开发计划书
2014/01/10 职场文书
高三家长寄语
2014/04/03 职场文书
2014年师德承诺书
2014/05/23 职场文书
乡镇机关党员民主评议表自我评价
2014/09/21 职场文书
房屋买卖委托书格式范本格式
2014/10/13 职场文书
Django展示可视化图表的多种方式
2021/04/08 Python
Python 多线程之threading 模块的使用
2021/04/14 Python
MongoDB balancer的使用详解
2021/04/30 MongoDB
canvas绘制折线路径动画实现
2021/05/12 Javascript
HTML CSS 一个标签实现带动画的抖音LOGO
2022/04/26 HTML / CSS