python實(shí)現(xiàn)中文文本分句的例子
對(duì)于英文文本分句比較簡(jiǎn)單,只要根據(jù)終結(jié)符"."劃分就好,中文文本分句看似很簡(jiǎn)單,但是實(shí)現(xiàn)時(shí)會(huì)遇到很多麻煩,尤其是處理社交媒體數(shù)據(jù)時(shí),會(huì)遇到文本格式不規(guī)范等問題。
下面代碼針對(duì)一段一段的短文本組成了文檔分句
import re
def cut_sent(infile, outfile):
cutLineFlag = ["?", "!", "。","…"] #本文使用的終結(jié)符,可以修改
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沒有終結(jié)符但是換行了,這句話可能會(huì)丟失,所有加入如下代碼:
if len(oneSentence)!=0:
sentenceList.append(oneSentence.strip() + "\r")
oneSentence=""
會(huì)得到比較好的處理結(jié)果
要處理的文本:
自從微信出了三天可見功能,我的朋友圈就越來越冷清越來越冷清越來越冷清,點(diǎn)開都沒什么可看的了。今天我把屏蔽的代購(gòu)一個(gè)一個(gè)一個(gè)都放出來了,快過年了,熱鬧點(diǎn) 一女性,想DIY矯正門牙縫隙,在家自己制取模型,結(jié)果悲劇了,因?yàn)橛玫氖鞘?,自己無法取出,來我院求助,醫(yī)生廢了九牛二虎之力才搞定……DIY有風(fēng)險(xiǎn),操作需謹(jǐn)慎! 閨女同學(xué)家養(yǎng)了一只鸚鵡,兩只珍珠鳥,一只貓,兩只倉(cāng)鼠。鸚鵡是老大,珍珠鳥怕它,貓是后進(jìn)家的,也怕鸚鵡。倉(cāng)鼠經(jīng)常溜出籠子,據(jù)說貓會(huì)把它逮住塞回籠子。
處理后的文本:
自從微信出了三天可見功能,我的朋友圈就越來越冷清越來越冷清越來越冷清,點(diǎn)開都沒什么可看的了。 今天我把屏蔽的代購(gòu)一個(gè)一個(gè)一個(gè)都放出來了,快過年了,熱鬧點(diǎn) 一女性,想DIY矯正門牙縫隙,在家自己制取模型,結(jié)果悲劇了,因?yàn)橛玫氖鞘啵约簾o法取出,來我院求助,醫(yī)生廢了九牛二虎之力才搞定… DIY有風(fēng)險(xiǎn),操作需謹(jǐn)慎! 閨女同學(xué)家養(yǎng)了一只鸚鵡,兩只珍珠鳥,一只貓,兩只倉(cāng)鼠。 鸚鵡是老大,珍珠鳥怕它,貓是后進(jìn)家的,也怕鸚鵡。 倉(cāng)鼠經(jīng)常溜出籠子,據(jù)說貓會(huì)把它逮住塞回籠子。
得到了比較好的分句結(jié)果,也不會(huì)丟失信息。
以上這篇python實(shí)現(xiàn)中文文本分句的例子就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
使用numpy.eye創(chuàng)建one-hot編碼的實(shí)現(xiàn)
本文主要介紹了使用numpy.eye創(chuàng)建one-hot編碼的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-08-08
python + winrm 實(shí)現(xiàn)遠(yuǎn)程連接Windows服務(wù)器并執(zhí)行指定命令的操作過程
Windows遠(yuǎn)程管理(WinRM)是Windows Server 2003 R2,Windows Vista和Windows Server 2008中一種新式的方便遠(yuǎn)程管理的服務(wù),這篇文章主要介紹了python + winrm 實(shí)現(xiàn)遠(yuǎn)程連接Windows服務(wù)器并執(zhí)行指定命令的操作過程,需要的朋友可以參考下2023-10-10
selenium+python自動(dòng)化測(cè)試之頁面元素定位
這篇文章主要介紹了selenium+python自動(dòng)化測(cè)試之頁面元素定位,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-01-01
python用moviepy對(duì)視頻進(jìn)行簡(jiǎn)單的處理
這篇文章主要介紹了python如何用moviepy對(duì)視頻進(jìn)行簡(jiǎn)單的處理,幫助大家更好的利用python處理視頻,感興趣的朋友可以了解下2021-03-03

