python實現中文文字分句

2021-09-13 01:57:06 字數 1414 閱讀 9288

對於英文文字分句比較簡單,只要根據終結符"."劃分就好,中文文字分句看似很簡單,但是實現時會遇到很多麻煩,尤其是處理社交**資料時,會遇到文字格式不規範等問題。下面**針對一段一段的短文本組成了文件分句

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:

onesentence=""

# onesentence = ""

for word in words:

if word not in cutlineflag:

onesentence = onesentence + word

else:

onesentence = onesentence + word

if onesentence.__len__() > 4:

onesentence = ""

with open(outfile, "w", encoding="utf-8") as resultfile:

print(sentencelist.__len__())

resultfile.writelines(sentencelist)

如果段尾3沒有終結符但是換行了,這句話可能會丟失,所有加入如下**:

if len(onesentence)!=0:

onesentence=""

會得到比較好的處理結果

要處理的文字:

一女性,想diy矯正門牙縫隙,在家自己製取模型,結果悲劇了,因為用的是石膏,自己無法取出,來我院求助,醫生廢了九牛二虎之力才搞定……diy有風險,操作需謹慎!

閨女同學家養了乙隻鸚鵡,兩隻珍珠鳥,乙隻貓,兩隻倉鼠。鸚鵡是老大,珍珠鳥怕它,貓是後進家的,也怕鸚鵡。倉鼠經常溜出籠子,據說貓會把它逮住塞回籠子。

處理後的文字:

今天我把遮蔽的**乙個乙個乙個都放出來了,快過年了,熱鬧點

一女性,想diy矯正門牙縫隙,在家自己製取模型,結果悲劇了,因為用的是石膏,自己無法取出,來我院求助,醫生廢了九牛二虎之力才搞定…

diy有風險,操作需謹慎!

閨女同學家養了乙隻鸚鵡,兩隻珍珠鳥,乙隻貓,兩隻倉鼠。

鸚鵡是老大,珍珠鳥怕它,貓是後進家的,也怕鸚鵡。

倉鼠經常溜出籠子,據說貓會把它逮住塞回籠子。

得到了比較好的分句結果,也不會丟失資訊。

中文文字分句

關於文字分句這點,說簡單也簡單,說複雜也複雜。一般的自然語言處理任務中對這點要求並不嚴格,一般按照句末標點切分即可。也有一些專門從事文字相關專案的行業,可能就會有較高的要求,想100 分句正確是要考慮許多語言本身語法的,這裡算是寫個中等水平的。以 背影 中的一段話為例 我心裡暗笑他的迂 他們只認得錢...

python實現中文文字分句的例子

對於英文文字分句比較簡單,只要根據終結符 劃分就好,中文文字分句看似很簡單,但是實現時會遇到很多麻煩,尤其是處理社交 資料時,會遇到文字格式不規範等問題。下面 針對一段一段的短文本組成了文件分句 imporwww.cppcns.comt re def cut sent infile,outfile ...

NLP 中文文字分類 詳細

實現如下customprocessor class customprocessor dataprocessor def get train examples self,data dir return self.create examples self.read tsv os.path.join da...