python实现中⽂⽂本分句
对于英⽂⽂本分句⽐较简单,只要根据终结符"."划分就好,中⽂⽂本分句看似很简单,但是实现时会遇到很多⿇烦,尤其是处理社交媒体数
据时,会遇到⽂本格式不规范等问题。下⾯代码针对⼀段⼀段的短⽂本组成了⽂档分句
import re
def cut_sent(infile, outfile):
cutLineFlag = ["?", "!", "。","…"] #本⽂使⽤的终结符,可以修改
sentenceList = []
with open(infile, "r", encoding="UTF-8") as file:
oneSentence = ""
for line in file:
words = line.strip()
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有风险,操闺⼥同学家养了⼀只鹦鹉,两只珍珠鸟,⼀只猫,两只仓⿏。鹦鹉是⽼⼤,珍珠鸟怕它,猫是后进家的,也怕鹦鹉。仓⿏经常溜出笼⼦,据说猫会把它逮住塞回笼
处理后的⽂本:
⾃从出了三天可见功能,我的朋友圈就越来越冷清越来越冷清越来越冷清,点开都没什么可看的了。python中文文档
今天我把屏蔽的代购⼀个⼀个⼀个都放出来了,快过年了,热闹点
⼀⼥性,想DIY矫正门⽛缝隙,在家⾃⼰制取模型,结果悲剧了,因为⽤的是⽯膏,⾃⼰⽆法取出,来我院求助,医⽣废了九⽜⼆虎之⼒才搞定…
DIY有风险,操作需谨慎!
闺⼥同学家养了⼀只鹦鹉,两只珍珠鸟,⼀只猫,两只仓⿏。
鹦鹉是⽼⼤,珍珠鸟怕它,猫是后进家的,也怕鹦鹉。
仓⿏经常溜出笼⼦,据说猫会把它逮住塞回笼⼦。
得到了⽐较好的分句结果,也不会丢失信息。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论