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下使用Txt2Html实现网页过滤代理的教程
Apr 11 Python
python实现人脸识别代码
Nov 08 Python
Python清空文件并替换内容的实例
Oct 22 Python
python3实现多线程聊天室
Dec 12 Python
Python字典的基本用法实例分析【创建、增加、获取、修改、删除】
Mar 05 Python
python实现支付宝转账接口
May 07 Python
ipython和python区别详解
Jun 26 Python
YUV转为jpg图像的实现
Dec 09 Python
解决pycharm上的jupyter notebook端口被占用问题
Dec 17 Python
Python爬虫库requests获取响应内容、响应状态码、响应头
Jan 25 Python
Pycharm操作Git及GitHub的步骤详解
Oct 27 Python
python基础入门之普通操作与函数(三)
Jun 13 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借助phpmailer发送邮件
2015/05/11 PHP
php中str_pad()函数用法分析
2017/03/28 PHP
php解析非标准json、非规范json的方式实例
2020/12/10 PHP
由JavaScript中call()方法引发的对面向对象继承机制call的思考
2011/09/12 Javascript
解决javascript:window.close()在chrome,Firefox下失效的问题
2013/05/07 Javascript
使用jquery实现简单的ajax
2013/07/08 Javascript
js获取当前页面路径示例讲解
2014/01/08 Javascript
jquery 实现两Select 标签项互调示例代码
2014/09/25 Javascript
jQuery实现链接的title快速出现的方法
2017/02/20 Javascript
微信小程序中的onLoad详解及简单实例
2017/04/05 Javascript
react-native使用leanclound消息推送的方法
2018/08/06 Javascript
Jquery高级应用Deferred对象原理及使用实例
2020/05/28 jQuery
jQuery实现简单全选框
2020/09/13 jQuery
[04:48]DOTA2上海特锦赛小组赛第三日 TOP10精彩集锦
2016/02/28 DOTA
Python编程中的反模式实例分析
2014/12/08 Python
插入排序_Python与PHP的实现版(推荐)
2017/05/11 Python
如何高效使用Python字典的方法详解
2017/08/31 Python
python实现pdf转换成word/txt纯文本文件
2018/06/07 Python
Python之用户输入的实例
2018/06/22 Python
在Django的View中使用asyncio的方法
2019/07/12 Python
Python接口测试环境搭建过程详解
2020/06/29 Python
获取python运行输出的数据并解析存为dataFrame实例
2020/07/07 Python
python 实现全球IP归属地查询工具
2020/12/18 Python
巧用 CSS3的webkit-box-reflect 倒影实现各类动效
2021/03/05 HTML / CSS
海淘零差价,宝贝全球购: 宝贝格子
2016/08/24 全球购物
顶丰TOPPIK台湾官网:增发纤维假发,告别秃发困扰
2018/06/13 全球购物
耐克亚太地区:Nike APAC
2019/12/07 全球购物
小孩百日宴答谢词
2014/01/15 职场文书
三下乡活动方案
2014/01/31 职场文书
会展策划与管理专业大学生职业生涯规划
2014/02/07 职场文书
公司节能减排方案
2014/05/16 职场文书
海洋科学专业求职信
2014/08/10 职场文书
生活部的活动方案
2014/08/19 职场文书
自主招生自荐信范文
2015/03/04 职场文书
2016年春季运动会加油稿
2015/07/22 职场文书
MySQL中EXPLAIN语句及用法
2022/05/20 MySQL