亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? wordbreak.py

?? python寫的gbk分詞分句程序 可以使用sogou或者谷歌輸入法的詞庫進行分詞
?? PY
字號:
# -*- coding: gbk -*-
#!/usr/bin/env python
#author onebird:
#gbk wordbreak
import copy
from sets import Set
class CWordBreak:
	def __init__(self):
		self.zDict={}
		self.sentSpliters=[". ", "!" ,"?", "。","!","?"]
		self.snipSpliters=[",", "," ,";", ";",":",":", ",",","]
#		self.cutwdSet1=Set(["","","","","","","","","","","","","","","","","","","",""])
		self.wordCutSet=Set([","," ",",","“","’",":","(",")","》","!","【","】","?",])
		self.byteCutSet=Set([","," ","\t","'","\"",":","(",")",">","<","}","{","!","{","]","?"])
		self.sectSpliters=["\n\n","\r\n\r\n","\n ","\n\t","\n "]
		return
	def LoadDictFile(self,strPath):
		fDict = open(strPath)
		lines = fDict.readlines()
		lineN =0
		for aLine in lines:
			lineN+=1
			aLine = aLine.rstrip("\n")
			aLine = aLine.rstrip("\r")
			wLen = len(aLine)
			nPos=0 
			#refDict=weakref.ref(self.zDict)
			refDict=self.zDict
			while nPos<wLen:
				#tDict={}
				curZ = aLine[nPos:nPos+2]
				if curZ not in refDict:
					refDict[curZ]={} 	
				refDict=refDict[curZ]
				nPos+=2
#		for k in self.zDict.iterkeys():
#			print "*"+k
##			for kk in self.zDict[k].iterkeys():
#				print "*   ---"+kk+"|"
#				for kkk in self.zDict[k][kk].iterkeys():
#					print "*      ---"+kkk+"|"
	def WordBreak(self,inStr):
		outStr=""
		#print "call WordBreak"
		wds=[]
		self.BreakWords(inStr,wds)
		#print "wds_len::"+str(len(wds))
		for wd in wds:
			outStr+=wd	
			outStr+=" "	
		#print "//////////////////"
		return outStr
		
	def BreakWords(self,inStr,wds):
		#print "call BreakToWrds"
		#print "!"
		sents=[]
		self.TxtToSentence(inStr,sents)
		snips=[]
		for aSent in sents:
			segs=[]
			self.SplitX(aSent,segs,self.snipSpliters)
			for aSeg in segs:
				snips.append(aSeg)
		#print len(snips)
		for asnip in snips:
			segs=[]
			#print "snip::"+asnip
			self.BreakToWords(asnip,segs)
			#print len(segs)
			for aSeg in segs:
				wds.append(aSeg)
		return
	def BreakToWords(self,inStr,segs):
		nPos = 0
		nLen = len(inStr)
		nLang=0 #0初始,1中文 2英文
		wd=""
		refDict=self.zDict
		while nPos<nLen:
			if  ord(inStr[nPos])>0x80:
				#print "cncn"
				if 0x40<=ord(inStr[nPos]):
					if nLang==2:
						segs.append(wd)#英中文切換 取出一個英文單詞
						wd=""#一個新詞開始
						#print "wd::"+wd
					nLang=1
					zi=inStr[nPos:nPos+2]
					if zi in self.wordCutSet:
						if len(wd)!=0:
							segs.append(wd)
							wd = ""
					#print "zi::"+zi
					if zi in refDict:
						wd+=zi
						refDict=refDict[zi]
					else:
						if len(wd)!=0:
							segs.append(wd) #此字不在后續子樹中 則前面的wd為一個最長匹配詞
							#print "wd::"+wd				
						refDict=self.zDict
						wd=""
						if zi in refDict:
							wd+=zi
							refDict=refDict[zi]
						else:
							segs.append(zi)
					nPos+=2
				else:
					nPos+=1
					continue#越過腐壞字節
			else:
				if nLang==1 and len(wd)!=0 :
					segs.append(wd)#中英文切換 取出一個中文詞
					wd=""
				if (inStr[nPos] in self.byteCutSet ):
					if len(wd)!=0:
						segs.append(wd)
						wd=""
					segs.append(inStr[nPos])
				else:
					wd+=inStr[nPos]
				nPos+=1
				nLang=2	
		if len(wd)!=0:
			segs.append(wd)

	def TxtToSentence(self,inStr,segs):
		Sects=[]
		self.TxtToSection(inStr,Sects)
		for aSect in Sects:
			Sents=[]
			self.SectionToSentence(aSect,Sents)
			for aSent in Sents:
				segs.append(aSent)
		
	def TxtToSection(self,inStr,segs):
		self.SplitX(inStr,segs,self.sectSpliters)
	def SectionToSentence(self,inStr,segs):
		self.SplitX(inStr,segs,self.sentSpliters)
	def SplitX(self,inStr,segs,spliters):
		inSegs=[]
		inSegs.append(inStr)
		for aSP in spliters:
			outSegs=[]
			self.Split(inSegs,outSegs,aSP)
			if len(outSegs)==0:
				continue
			inSegs=copy.deepcopy(outSegs)
		for tSeg in inSegs:
			segs.append(tSeg)
		
	def Split(self,inSegs,segs,strSP):
		bBreaked=False
		for inStr in inSegs:
			tSegs = inStr.split(strSP)
			if len(tSegs)<=1:
				segs.append(inStr)
				continue
			i = 0
			while i<len(tSegs)-1:
				aSeg=tSegs[i]
				aSeg+=strSP
				segs.append(aSeg)
				i+=1
			segs.append(tSegs[-1])
		return	
		

if __name__ == "__main__":
	wb = CWordBreak()
	wb.LoadDictFile("./wordlist.txt")
	ymF = open("ym.txt")
	ymTxt = ymF.read()
	sections=[]
#	wb.TxtToSection(ymTxt,sections)
#	for aSect in sections:
#		print "---------------------------------------------------"
#		sents=[]
#		wb.SectionToSentence(aSect,sents)
#		for aSent in sents:
#			print "~~~~~~~~~~~~~~~~"
#			print aSent
#	sentences=[]
#	wb.TxtToSentence(ymTxt,sentences);
#	for aSent in sentences:
#		print "Sentence::"
#		print aSent

	strOut=wb.WordBreak(ymTxt)
	print strOut

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲三级电影全部在线观看高清| 日韩精品一区二区三区在线| 国产成人免费在线观看不卡| 国模无码大尺度一区二区三区| 免费观看一级欧美片| 日韩高清不卡在线| 免费成人结看片| 久久99国产精品成人| 美日韩黄色大片| 国产一区二区三区久久久 | 激情综合网最新| 另类的小说在线视频另类成人小视频在线| 亚洲一区av在线| 日韩avvvv在线播放| 欧美aaa在线| 国产精品系列在线观看| 国产成人精品免费视频网站| 成人av电影在线网| 一本大道久久a久久精二百 | 亚洲午夜激情网页| 日日噜噜夜夜狠狠视频欧美人| 亚洲精品国产精品乱码不99 | 久久av中文字幕片| 国产不卡在线播放| 91福利精品视频| 日韩亚洲电影在线| 国产精品视频你懂的| 亚洲一区二区美女| 国产在线精品一区二区不卡了| 国产xxx精品视频大全| 日本韩国一区二区三区视频| 91麻豆蜜桃一区二区三区| 在线观看av一区二区| 日韩视频在线你懂得| 国产亚洲美州欧州综合国| 国产精品免费人成网站| 亚洲大片免费看| 国产精品影音先锋| 欧美三级一区二区| 视频一区二区中文字幕| 国产精品一品二品| 欧美美女一区二区三区| 国产午夜精品久久久久久久| 夜夜爽夜夜爽精品视频| 精品一区精品二区高清| 色综合 综合色| 久久久三级国产网站| 亚洲高清免费在线| 99国产欧美另类久久久精品| 欧美va亚洲va| 午夜精品福利一区二区蜜股av | 精品久久久久久无| 亚洲宅男天堂在线观看无病毒| 久久精品国产成人一区二区三区| 色综合夜色一区| 久久在线观看免费| 日韩电影一区二区三区| 色综合天天天天做夜夜夜夜做| 精品国产乱码久久久久久闺蜜| 一区二区三区蜜桃网| 成人av网在线| 日韩欧美亚洲一区二区| 香蕉av福利精品导航| 波多野结衣在线aⅴ中文字幕不卡| 欧美一区二区三区白人| 亚洲6080在线| 欧美视频在线一区| 一区二区三区在线观看动漫| 不卡在线视频中文字幕| 亚洲免费成人av| 国产不卡视频一区二区三区| 2017欧美狠狠色| 美女免费视频一区| 日韩午夜中文字幕| 老司机免费视频一区二区三区| 欧美日韩成人高清| 午夜欧美视频在线观看| 欧美日韩在线不卡| 五月婷婷久久综合| 欧美一级欧美三级在线观看 | 精品欧美黑人一区二区三区| 亚洲成人av一区| 欧美欧美欧美欧美| 热久久免费视频| 欧美成人video| 韩国v欧美v亚洲v日本v| 久久久久国产精品麻豆ai换脸| 韩国精品一区二区| 国产精品乱子久久久久| 日本大香伊一区二区三区| 一区二区三区不卡在线观看| 欧美三级韩国三级日本三斤| 国内精品写真在线观看| 久久久99久久| 成人丝袜18视频在线观看| 自拍偷拍欧美激情| 欧美视频在线一区二区三区 | 国产欧美一区二区精品仙草咪 | 欧洲日韩一区二区三区| 亚洲福利国产精品| 精品国产凹凸成av人导航| 国产一区二区久久| 日韩一区在线播放| 欧美日本韩国一区二区三区视频| 麻豆国产精品777777在线| 久久久久久麻豆| 91视频一区二区| 青青青伊人色综合久久| 国产精品天美传媒沈樵| 欧美伦理视频网站| 粉嫩高潮美女一区二区三区 | 中文字幕欧美国产| 菠萝蜜视频在线观看一区| 一区二区三区高清| 欧美第一区第二区| 91蝌蚪porny| 久久超碰97中文字幕| 亚洲丝袜精品丝袜在线| 日韩欧美一卡二卡| 欧美一区日韩一区| 国产成人av电影在线| 亚洲国产欧美在线| 国产亚洲精品久| 欧美精品日韩综合在线| 成人短视频下载| 久久机这里只有精品| 一区二区三区日韩精品视频| 亚洲精品一区二区三区精华液 | a级精品国产片在线观看| 视频一区二区中文字幕| 国产精品成人午夜| 精品国产第一区二区三区观看体验| 99精品热视频| 国产一区二区不卡| 三级在线观看一区二区| 一区二区三区自拍| 欧美国产日韩一二三区| 日韩一区二区免费视频| 欧美在线999| 91蜜桃免费观看视频| 国产91精品在线观看| 日本亚洲三级在线| 午夜久久久久久电影| 亚洲美女淫视频| 中文一区一区三区高中清不卡| 欧美精品乱码久久久久久按摩| 色呦呦一区二区三区| 波多野结衣欧美| 国产一区不卡在线| 久久精品国产一区二区三 | 欧美电视剧免费全集观看| 欧美羞羞免费网站| 日本久久一区二区三区| 99精品欧美一区二区蜜桃免费 | 7777精品伊人久久久大香线蕉经典版下载 | 毛片基地黄久久久久久天堂| 亚洲精品国产第一综合99久久| 国产精品久久久久久久久免费丝袜 | 99re这里只有精品首页| 91亚洲国产成人精品一区二三| 国产91丝袜在线播放0| 国产成人av福利| 99精品在线免费| 在线免费亚洲电影| 欧美精品丝袜久久久中文字幕| 欧美精品18+| 欧美精品一区二区高清在线观看| 欧美mv日韩mv国产网站| 久久久av毛片精品| 中文字幕亚洲一区二区va在线| 国产精品不卡在线| 亚洲一二三专区| 蜜桃视频在线观看一区| 韩国v欧美v日本v亚洲v| 成人禁用看黄a在线| 色综合久久久久综合| 欧美日本一区二区| 久久美女高清视频| 亚洲欧美日韩国产一区二区三区| 一区二区三区在线不卡| 奇米777欧美一区二区| 国产不卡在线一区| 欧美色精品天天在线观看视频| 欧美巨大另类极品videosbest | 国产白丝网站精品污在线入口| 99这里只有久久精品视频| 欧美中文字幕不卡| 日韩欧美区一区二| 亚洲私人黄色宅男| 精品一区二区影视| 91麻豆福利精品推荐| 欧美成人精品二区三区99精品| 中文字幕在线不卡一区二区三区| 亚洲成人精品在线观看| 国产精品影视网| 欧美精品乱码久久久久久| 国产日韩高清在线| 免费美女久久99| 欧美影视一区二区三区| 亚洲国产精品ⅴa在线观看|