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 修改文件指定行的方法
May 15 Python
举例讲解Python的lambda语句声明匿名函数的用法
Jul 01 Python
python正则分析nginx的访问日志
Jan 17 Python
详解如何利用Cython为Python代码加速
Jan 27 Python
python使用循环打印所有三位数水仙花数的实例
Nov 13 Python
python3人脸识别的两种方法
Apr 25 Python
Python3实现汉语转换为汉语拼音
Jul 08 Python
Django单元测试工具test client使用详解
Aug 02 Python
python os.path.isfile 的使用误区详解
Nov 29 Python
python 中值滤波,椒盐去噪,图片增强实例
Dec 18 Python
Anaconda+vscode+pytorch环境搭建过程详解
May 25 Python
python 实现体质指数BMI计算
May 26 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 加密解密内部算法
2010/04/22 PHP
php中将指针移动到数据集初始位置的实现代码[mysql_data_seek]
2012/11/01 PHP
php 批量生成html,txt文件的实现代码
2013/06/26 PHP
thinkPHP基于ajax实现的菜单与分页示例
2016/07/12 PHP
javascript 打印内容方法小结
2009/11/04 Javascript
多种方法实现JS动态添加事件
2013/11/01 Javascript
使用js显示当前时间示例
2014/03/02 Javascript
jQuery Uploadify 上传插件出现Http Error 302 错误的解决办法
2015/12/12 Javascript
jquery radio的取值_radio的选中_radio的重置方法
2016/09/20 Javascript
JS中Safari浏览器中的Date
2017/07/17 Javascript
VUE中使用Vue-resource完成交互
2017/07/21 Javascript
JS去掉字符串末尾的标点符号及删除最后一个字符的方法
2017/10/24 Javascript
vue脚手架搭建过程图解
2018/06/06 Javascript
详解Nodejs mongoose
2018/06/10 NodeJs
[01:03:37]Secret vs VGJ.S Supermajor小组赛C组 BO3 第二场 6.3
2018/06/04 DOTA
详细介绍Python语言中的按位运算符
2013/11/26 Python
用Python编写一个每天都在系统下新建一个文件夹的脚本
2015/05/04 Python
python引入导入自定义模块和外部文件的实例
2017/07/24 Python
python使用正则表达式替换匹配成功的组
2017/11/17 Python
Python数据处理numpy.median的实例讲解
2018/04/02 Python
python求最大值最小值方法总结
2019/06/25 Python
Python笔记之工厂模式
2019/11/20 Python
使用python 对验证码图片进行降噪处理
2019/12/18 Python
Pytorch 搭建分类回归神经网络并用GPU进行加速的例子
2020/01/09 Python
解决Python import docx出错DLL load failed的问题
2020/02/13 Python
以工厂直接定价的传奇性能:Ben Hogan Golf
2019/01/04 全球购物
全球性的众包图形设计市场:DesignCrowd
2021/02/02 全球购物
SQL语言面试题
2013/08/27 面试题
英语专业毕业生自荐信
2013/10/28 职场文书
医科大学生毕业的自我评价分享
2013/11/12 职场文书
小学数学国培感言
2014/03/10 职场文书
旅游安全协议书
2014/04/21 职场文书
《鹬蚌相争》教学反思
2014/04/22 职场文书
就业推荐表导师评语
2014/12/31 职场文书
2019年学校消防安全责任书(2篇)
2019/10/09 职场文书
Redis主从复制操作和配置详情
2022/09/23 Redis