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 相关文章推荐
python3访问sina首页中文的处理方法
Feb 24 Python
基于python3 类的属性、方法、封装、继承实例讲解
Sep 19 Python
TensorFlow模型保存/载入的两种方法
Mar 08 Python
pandas.dataframe按行索引表达式选取方法
Oct 30 Python
一行Python代码制作动态二维码的实现
Sep 09 Python
基于python的列表list和集合set操作
Nov 24 Python
matlab中imadjust函数的作用及应用举例
Feb 27 Python
python实现飞机大战项目
Mar 11 Python
Python Numpy中数据的常用保存与读取方法
Apr 01 Python
spyder 在控制台(console)执行python文件,debug python程序方式
Apr 20 Python
python如何变换环境
Jul 21 Python
浅析Python OpenCV三种滤镜效果
Apr 11 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 的几个配置文件函数
2006/12/21 PHP
PHP图片等比缩放类SimpleImage使用方法和使用实例分享
2014/04/10 PHP
PHP链接MySQL的常用扩展函数
2014/10/23 PHP
PHP利用APC模块实现文件上传进度条的方法
2015/01/26 PHP
为你的 Laravel 验证器加上多验证场景的实现
2020/04/07 PHP
Javascript中valueOf与toString区别浅析
2013/03/19 Javascript
使用js判断数组中是否包含某一元素(类似于php中的in_array())
2013/12/12 Javascript
Jquery操作js数组及对象示例代码
2014/05/11 Javascript
跟我学习javascript的定时器
2015/11/19 Javascript
js为什么不能正确处理小数运算?
2015/12/29 Javascript
Bootstrap对话框使用实例讲解
2016/09/24 Javascript
javascript 中iframe高度自适应(同域)实例详解
2017/05/16 Javascript
JS按钮闪烁功能的实现代码
2017/07/21 Javascript
three.js中文文档学习之通过模块导入
2017/11/20 Javascript
Vue使用NPM方式搭建项目
2018/10/25 Javascript
Vue学习之axios的使用方法实例分析
2020/01/06 Javascript
vue学习笔记之Vue中css动画原理简单示例
2020/02/29 Javascript
jQuery实现的移动端图片缩放功能组件示例
2020/05/01 jQuery
原生JavaScript创建不可变对象的方法简单示例
2020/05/07 Javascript
用python写asp详细讲解
2013/12/16 Python
Python最长公共子串算法实例
2015/03/07 Python
python实现查询IP地址所在地
2015/03/29 Python
python编写简单爬虫资料汇总
2016/03/22 Python
Python tkinter的grid布局及Text动态显示方法
2018/10/11 Python
深入浅析Python2.x和3.x版本的主要区别
2018/11/30 Python
详解Python数据可视化编程 - 词云生成并保存(jieba+WordCloud)
2019/03/26 Python
利用python实现周期财务统计可视化
2019/08/25 Python
通过实例简单了解Python中yield的作用
2019/12/11 Python
Python基于httpx模块实现发送请求
2020/07/07 Python
印尼在线精品店:Berrybenka.com
2016/10/22 全球购物
美国标志性加大尺码时装品牌:Ashley Stewart
2016/12/15 全球购物
GUESS德国官网:美国牛仔服装品牌
2017/02/14 全球购物
Michael Kors澳大利亚官网:世界知名的奢侈饰品和成衣设计师
2020/02/13 全球购物
PHP如何自定义函数
2016/09/16 面试题
2016年小学感恩节活动总结
2016/04/01 职场文书
Python办公自动化PPT批量转换操作
2021/09/15 Python