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è)一個(gè)一個(gè)都放出來了,快過年了,熱鬧點(diǎn) 一女性,想DIY矯正門牙縫隙,在家自己制取模型,結(jié)果悲劇了,因?yàn)橛玫氖鞘?,自己無法取出,來我院求助,醫(yī)生廢了九牛二虎之力才搞定……DIY有風(fēng)險(xiǎn),操作需謹(jǐn)慎! 閨女同學(xué)家養(yǎng)了一只鸚鵡,兩只珍珠鳥,一只貓,兩只倉鼠。鸚鵡是老大,珍珠鳥怕它,貓是后進(jìn)家的,也怕鸚鵡。倉鼠經(jīng)常溜出籠子,據(jù)說貓會(huì)把它逮住塞回籠子。
處理后的文本:
自從微信出了三天可見功能,我的朋友圈就越來越冷清越來越冷清越來越冷清,點(diǎn)開都沒什么可看的了。 今天我把屏蔽的代購一個(gè)一個(gè)一個(gè)都放出來了,快過年了,熱鬧點(diǎn) 一女性,想DIY矯正門牙縫隙,在家自己制取模型,結(jié)果悲劇了,因?yàn)橛玫氖鞘?,自己無法取出,來我院求助,醫(yī)生廢了九牛二虎之力才搞定… DIY有風(fēng)險(xiǎn),操作需謹(jǐn)慎! 閨女同學(xué)家養(yǎng)了一只鸚鵡,兩只珍珠鳥,一只貓,兩只倉鼠。 鸚鵡是老大,珍珠鳥怕它,貓是后進(jìn)家的,也怕鸚鵡。 倉鼠經(jīng)常溜出籠子,據(jù)說貓會(huì)把它逮住塞回籠子。
得到了比較好的分句結(jié)果,也不會(huì)丟失信息。
以上這篇python實(shí)現(xiàn)中文文本分句的例子就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
基于Python實(shí)現(xiàn)隨機(jī)點(diǎn)名系統(tǒng)的示例代碼
在某些難以抉擇得時(shí)候,我們經(jīng)常要用外力來幫助我們做出選擇,比如,梁山出征方臘前沙場(chǎng)點(diǎn)兵,挑選先鋒的場(chǎng)景。所以本文就來用Python做個(gè)隨機(jī)點(diǎn)名系統(tǒng)吧,需要的可以參考一下2023-04-04python獲得兩個(gè)數(shù)組交集、并集、差集的方法
這篇文章主要介紹了python獲得兩個(gè)數(shù)組交集、并集、差集的方法,實(shí)例分析了Python操作list集合的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-03-03用60行代碼實(shí)現(xiàn)Python自動(dòng)搶微信紅包
這篇文章主要介紹了用60行代碼實(shí)現(xiàn)Python自動(dòng)搶微信紅包,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-02-02Python 機(jī)器學(xué)習(xí)之線性回歸詳解分析
回歸是監(jiān)督學(xué)習(xí)的一個(gè)重要問題,回歸用于預(yù)測(cè)輸入變量和輸出變量之間的關(guān)系,特別是當(dāng)輸入變量的值發(fā)生變化時(shí),輸出變量的值也隨之發(fā)生變化。回歸模型正是表示從輸入變量到輸出變量之間映射的函數(shù)2021-11-11python3中os.path模塊下常用的用法總結(jié)【推薦】
這篇文章主要介紹了python3中os.path模塊下常用的用法總結(jié) ,需要的朋友可以參考下2018-09-09簡(jiǎn)單示例解析python爬蟲IP的使用(小白篇)
這篇文章主要為大家通過簡(jiǎn)單示例解析python爬蟲IP的使用介紹,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06