小编给大家分享一下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怎么实现中文文本分句”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!