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重试装饰器示例
Feb 11 Python
使用NumPy和pandas对CSV文件进行写操作的实例
Jun 14 Python
Python基于OpenCV库Adaboost实现人脸识别功能详解
Aug 25 Python
python实现字符串中字符分类及个数统计
Sep 28 Python
python 快速把超大txt文件转存为csv的实例
Oct 26 Python
python 随机森林算法及其优化详解
Jul 11 Python
如何爬取通过ajax加载数据的网站
Aug 15 Python
python实现计算器功能
Oct 31 Python
导入tensorflow:ImportError: libcublas.so.9.0 报错
Jan 06 Python
Python实现一个优先级队列的方法
Jul 31 Python
如何真正的了解python装饰器
Aug 14 Python
pytorch 移动端部署之helloworld的使用
Oct 30 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
连接到txt文本的超链接,不直接打开而是点击后下载的处理方法
2009/07/01 PHP
php flv视频时间获取函数
2010/06/29 PHP
ThinkPHP 3.2.2实现事务操作的方法
2017/05/05 PHP
PHP编程求最大公约数与最小公倍数的方法示例
2017/05/29 PHP
PHP中number_format()函数的用法讲解
2019/04/08 PHP
JS动态创建Table,Tr,Td并赋值的具体实现
2013/07/05 Javascript
jquery按回车提交数据的代码示例
2013/11/05 Javascript
D3.js中data(), enter() 和 exit()的问题详解
2015/08/17 Javascript
基于jQuery和hwSlider实现内容左右滑动切换效果附源码下载(一)
2016/06/22 Javascript
浅谈jQuery绑定事件会叠加的解决方法和心得总结
2016/10/26 Javascript
xmlplus组件设计系列之图标(ICON)(1)
2017/05/05 Javascript
EasyUI实现下拉框多选功能
2017/11/07 Javascript
基于vue.js的分页插件详解
2017/11/27 Javascript
vue-router实现嵌套路由的讲解
2019/01/19 Javascript
解决vue自定义指令导致的内存泄漏问题
2020/08/04 Javascript
python中使用百度音乐搜索的api下载指定歌曲的lrc歌词
2014/07/18 Python
R语言 vs Python对比:数据分析哪家强?
2017/11/17 Python
django 实现电子支付功能的示例代码
2018/07/25 Python
PyTorch中Tensor的维度变换实现
2019/08/18 Python
Python实现PyPDF2处理PDF文件的方法示例
2019/09/25 Python
Pytorch Tensor的统计属性实例讲解
2019/12/30 Python
Django 返回json数据的实现示例
2020/03/05 Python
css3闪亮进度条效果实现思路及代码
2013/04/17 HTML / CSS
蒙蒂塞罗商店:Monticello Shop
2018/11/25 全球购物
俄罗斯鲜花递送:AMF
2020/04/24 全球购物
介绍一些UNIX常用简单命令
2014/11/11 面试题
入党思想汇报
2014/01/05 职场文书
政风行风评议整改方案
2014/09/15 职场文书
九华山导游词
2015/02/03 职场文书
爱晚亭导游词
2015/02/09 职场文书
2015圣诞节贺卡寄语
2015/03/24 职场文书
销售内勤岗位职责范本
2015/04/13 职场文书
辞职信格式范文
2015/05/13 职场文书
用Python实现Newton插值法
2021/04/17 Python
spring boot项目application.properties文件存放及使用介绍
2021/06/30 Java/Android
Python学习之异常中的finally使用详解
2022/03/16 Python