python實現(xiàn)中文文本分句的例子
更新時間:2019年07月15日 10:52:33 作者:Belle_z_z
今天小編就為大家分享一篇python實現(xiàn)中文文本分句的例子,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
對于英文文本分句比較簡單,只要根據(jù)終結(jié)符"."劃分就好,中文文本分句看似很簡單,但是實現(xiàn)時會遇到很多麻煩,尤其是處理社交媒體數(shù)據(jù)時,會遇到文本格式不規(guī)范等問題。
下面代碼針對一段一段的短文本組成了文檔分句
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é)符但是換行了,這句話可能會丟失,所有加入如下代碼:
if len(oneSentence)!=0: sentenceList.append(oneSentence.strip() + "\r") oneSentence=""
會得到比較好的處理結(jié)果
要處理的文本:
自從微信出了三天可見功能,我的朋友圈就越來越冷清越來越冷清越來越冷清,點開都沒什么可看的了。今天我把屏蔽的代購一個一個一個都放出來了,快過年了,熱鬧點 一女性,想DIY矯正門牙縫隙,在家自己制取模型,結(jié)果悲劇了,因為用的是石膏,自己無法取出,來我院求助,醫(yī)生廢了九牛二虎之力才搞定……DIY有風險,操作需謹慎! 閨女同學家養(yǎng)了一只鸚鵡,兩只珍珠鳥,一只貓,兩只倉鼠。鸚鵡是老大,珍珠鳥怕它,貓是后進家的,也怕鸚鵡。倉鼠經(jīng)常溜出籠子,據(jù)說貓會把它逮住塞回籠子。
處理后的文本:
自從微信出了三天可見功能,我的朋友圈就越來越冷清越來越冷清越來越冷清,點開都沒什么可看的了。 今天我把屏蔽的代購一個一個一個都放出來了,快過年了,熱鬧點 一女性,想DIY矯正門牙縫隙,在家自己制取模型,結(jié)果悲劇了,因為用的是石膏,自己無法取出,來我院求助,醫(yī)生廢了九牛二虎之力才搞定… DIY有風險,操作需謹慎! 閨女同學家養(yǎng)了一只鸚鵡,兩只珍珠鳥,一只貓,兩只倉鼠。 鸚鵡是老大,珍珠鳥怕它,貓是后進家的,也怕鸚鵡。 倉鼠經(jīng)常溜出籠子,據(jù)說貓會把它逮住塞回籠子。
得到了比較好的分句結(jié)果,也不會丟失信息。
以上這篇python實現(xiàn)中文文本分句的例子就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
基于Python實現(xiàn)隨機點名系統(tǒng)的示例代碼
在某些難以抉擇得時候,我們經(jīng)常要用外力來幫助我們做出選擇,比如,梁山出征方臘前沙場點兵,挑選先鋒的場景。所以本文就來用Python做個隨機點名系統(tǒng)吧,需要的可以參考一下2023-04-04python3中os.path模塊下常用的用法總結(jié)【推薦】
這篇文章主要介紹了python3中os.path模塊下常用的用法總結(jié) ,需要的朋友可以參考下2018-09-09