python实现中文文本分句的例子

 更新时间:2019年07月15日 10:52:33   作者:Belle_z_z  
今天小编就为大家分享一篇python实现中文文本分句的例子,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

对于英文文本分句比较简单,只要根据终结符"."划分就好,中文文本分句看似很简单,但是实现时会遇到很多麻烦,尤其是处理社交媒体数据时,会遇到文本格式不规范等问题。

下面代码针对一段一段的短文本组成了文档分句

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中使用[[v]*n]*n遇到的坑及解决

    在python中使用[[v]*n]*n遇到的坑及解决

    这篇文章主要介绍了在python中使用[[v]*n]*n遇到的坑及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-05-05
  • 使用numpy.eye创建one-hot编码的实现

    使用numpy.eye创建one-hot编码的实现

    本文主要介绍了使用numpy.eye创建one-hot编码的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-08-08
  • Python3 解决读取中文文件txt编码的问题

    Python3 解决读取中文文件txt编码的问题

    今天小编就为大家分享一篇Python3 解决读取中文文件txt编码的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • python ffmpeg任意提取视频帧的方法

    python ffmpeg任意提取视频帧的方法

    这篇文章主要介绍了python ffmpeg任意提取视频帧的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02
  • python + winrm 实现远程连接Windows服务器并执行指定命令的操作过程

    python + winrm 实现远程连接Windows服务器并执行指定命令的操作过程

    Windows远程管理(WinRM)是Windows Server 2003 R2,Windows Vista和Windows Server 2008中一种新式的方便远程管理的服务,这篇文章主要介绍了python + winrm 实现远程连接Windows服务器并执行指定命令的操作过程,需要的朋友可以参考下
    2023-10-10
  • selenium+python自动化测试之页面元素定位

    selenium+python自动化测试之页面元素定位

    这篇文章主要介绍了selenium+python自动化测试之页面元素定位,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-01-01
  • python建立web服务的实例方法

    python建立web服务的实例方法

    在本篇文章里小编给大家整理的是一篇关于python如何建立web服务的相关知识点内容,有需要的朋友们可以参考下。
    2021-04-04
  • python用moviepy对视频进行简单的处理

    python用moviepy对视频进行简单的处理

    这篇文章主要介绍了python如何用moviepy对视频进行简单的处理,帮助大家更好的利用python处理视频,感兴趣的朋友可以了解下
    2021-03-03
  • 基于Python的人脸检测与分类过程详解

    基于Python的人脸检测与分类过程详解

    这篇文章主要介绍了基于Python的人脸检测与分类,算法分为两个部分识别人脸位置和确定人脸分类,由于这两项工作截然相反,所以我们使用了两个网络分别完成,详细过程跟随小编一起看看吧
    2022-05-05
  • Python利用Turtle绘制虎年图像

    Python利用Turtle绘制虎年图像

    2022年是农历壬寅虎年,在自然界中,虎有“百兽之王”之称。本文也将利用Python中的Turtle绘制一个卡通的虎年图像,感兴趣的可以学习一下
    2022-01-01

最新评论