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实现中文文本分句的例子 的全部内容, 来源链接: utcz.com/z/328449.html

回到顶部