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 相关文章推荐
在 Django/Flask 开发服务器上使用 HTTPS
Jul 03 Python
深入解读Python解析XML的几种方式
Feb 16 Python
Python使用迭代器打印螺旋矩阵的思路及代码示例
Jul 02 Python
关于Python面向对象编程的知识点总结
Feb 14 Python
使用python和pygame绘制繁花曲线的方法
Feb 24 Python
解决PyCharm不运行脚本,而是运行单元测试的问题
Jan 17 Python
Django框架模板文件使用及模板文件加载顺序分析
May 23 Python
深入浅析Python科学计算库Scipy及安装步骤
Oct 12 Python
pygame实现俄罗斯方块游戏(对战篇1)
Oct 29 Python
Python类反射机制使用实例解析
Dec 30 Python
浅谈keras的深度模型训练过程及结果记录方式
Jan 24 Python
python爬取王者荣耀全皮肤的简单实现代码
Jan 31 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
mysql建立外键
2006/11/25 PHP
php新建文件自动编号的思路与实现
2011/06/27 PHP
基于php-fpm的配置详解
2013/06/03 PHP
php简单浏览目录内容的实现代码
2013/06/07 PHP
浅析PHP substr,mb_substr以及mb_strcut的区别和用法
2013/06/21 PHP
PHP微商城开源代码实例
2019/03/27 PHP
jQuery登陆判断简单实现代码
2013/04/21 Javascript
js如何实现设计模式中的模板方法
2013/07/23 Javascript
jquery删除提示框弹出是否删除对话框
2014/01/07 Javascript
javascript中JSON对象与JSON字符串相互转换实例
2015/07/11 Javascript
详解JavaScript对Date对象的操作问题(生成一个倒数7天的数组)
2015/10/01 Javascript
Vuex2.0+Vue2.0构建备忘录应用实践
2016/11/30 Javascript
Vue.js使用v-show和v-if的注意事项
2016/12/13 Javascript
详解Angular的内置过滤器和自定义过滤器【推荐】
2016/12/26 Javascript
vue router自动判断左右翻页转场动画效果
2017/10/10 Javascript
VueJs组件之父子通讯的方式
2018/05/06 Javascript
实践Python的爬虫框架Scrapy来抓取豆瓣电影TOP250
2016/01/20 Python
python实现搜索文本文件内容脚本
2018/06/22 Python
Python3实现对列表按元组指定列进行排序的方法分析
2018/12/22 Python
python元组的概念知识点
2019/11/19 Python
tensorflow 保存模型和取出中间权重例子
2020/01/24 Python
利用Python如何实时检测自身内存占用
2020/05/09 Python
python3.8.1+selenium实现登录滑块验证功能
2020/05/22 Python
HTML5 Canvas阴影使用方法实例演示
2013/08/02 HTML / CSS
迪卡侬荷兰官网:Decathlon荷兰
2017/10/29 全球购物
有个性的自我评价范文
2013/11/15 职场文书
活动志愿者自荐信
2014/01/27 职场文书
大型晚会策划方案
2014/02/06 职场文书
《第一次抱母亲》教学反思
2014/04/16 职场文书
小学班主任评语大全
2014/04/23 职场文书
令人印象深刻的自荐信
2014/05/25 职场文书
2015年党员承诺书
2015/01/21 职场文书
简单的辞职信怎么写
2015/02/28 职场文书
2015最新民情日记范文
2015/06/26 职场文书
2016年端午节校园广播稿
2015/12/18 职场文书
python中redis包操作数据库的教程
2022/04/19 Python