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

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

?? splitword.c

?? 另外一個中文分詞程序
?? C
?? 第 1 頁 / 共 2 頁
字號:
	while ( i > 1 ) 
	{		
		for ( j = MAX_CWORD_LEN ; j >= 2 ; j -=2 ) 
		{					//最長xxx個漢字
			if ( i < j )
				continue;
			l = 0 ;
			for ( k = i - j ,l = 0 ; k < i ; k ++,l ++ ) 
				  strChar[l] = strText[k];
			strChar[l] = '\0';
			if ( 8 == j ) 
			{//4個字時,無論哪種情況下都要比較前兩個及后兩個,防止"后三字是一個詞,但第一個字跟再前一個字是一個詞",同時可以捕獲成詞由兩個詞組成的
									//如,讓“我看看怒火鳳凰",應該是"怒火"+鳳凰,而不是"怒"+"火鳳凰"
					strChar1[0] = strChar[0];strChar1[1] = strChar[1];
					strChar1[2] = strChar[2];strChar1[3] = strChar[3];
					strChar1[4] = '\0';
					strChar2[0] = strChar[4];strChar2[1] = strChar[5];
					strChar2[2] = strChar[6];strChar2[3] = strChar[7];
					strChar2[4] = '\0';
					bFound = searchWord(strChar1 , 4 );			//先取前兩個字比較
					if ( TRUE == bFound ) 
					{	
						bFound = searchWord(strChar2 , 4 );		//再取后兩個字比較
						if ( TRUE == bFound ) 
						{					//后兩個是詞
							addSegWord(strChar1,4);				//則,前后兩個字,當做兩個詞加入
							addSegWord(strChar2,4);
							i -= j ;
							break;				
						}
					} 
					else
					{	//再比較前三字是否一個詞
							strChar3[0] = strChar[0];strChar3[1] = strChar[1];
							strChar3[2] = strChar[2];strChar3[3] = strChar[3];
							strChar3[4] = strChar[4];strChar3[5] = strChar[5];
							strChar3[6] = '\0';
							bFound = searchWord(strChar3,6);
							if ( TRUE == bFound ) 
							{		//是三個字的,前三個加入,后一個單字加入
								addSegWord(strChar3,6);
								strChar2[0] = strChar[6];strChar2[1] = strChar[7];
								strChar2[2] = '\0';
								addSegWord(strChar2,2);
								i -= j ;
								break;
							}// 前三字不是詞												
					}
			} 
			else if ( 6 == j )
			{ 	/*判斷3個漢字,兩種情況: 1+2 和 2+1,1+2止面8==j的地方已經捕獲岐義,1+2好像不會有岐義
			 						1+2 情況不要拆開
			 						但以下地名如何處理:北京市房產公司,按理“北京”和“北京市“應該找到相同的,就是說,要能智能識別成"北京”和“北京市”是一樣的*/
			} 
			else if ( 2 == j ) 
			{		//單個漢字
							addSegWord(strChar,2);
							i -= 2 ;
							break;
			} 
			
			bFound = searchWord(strChar , l );//in_array($strChar , $arrayChineseDict );//匹配詞典
			if ( TRUE == bFound )
			{
				i -= j;
				addSegWord(strChar,l);
				break; 
			} 
			else 
			{
				//1.是否全是外來詞
				//2.是否全是數字
				//3.如果第一二字是”姓氏“,則默認為姓名
				//4.判斷其它名字
			}
		} // end for j
	} // end while $i > 0 
	
	return 0;
}

int initSegList()
{
	int i , j ;
    for ( i = 0 ; i < MAX_CDIM ; i ++ )
	{
    	for ( j = 0 ; j < MAX_CDIM ; j ++ ) 
		{
    		SEG_LIST[i][j].lstWord = (SEG_NODE *)NULL;
    	}
    }
	return TRUE;
}

int loadDict(char *strFilename)
{
	int 	len = 0 , i ,j ;
	FILE 	*fpDict = NULL;
	unsigned char firstChar,lastChar;
//	firstChar="a" ;
//	lastChar='\0';
	char	sLine[128];

    for ( i = 0 ; i < MAX_CDIM ; i ++ )
	{
    	for ( j = 0 ; j < MAX_CDIM ; j ++ ) 
		{
    		CH_DICT[i][j].lstWord = (WORD_NODE *)NULL;
    	}
    }
	fpDict = fopen(strFilename,"r");
	if ( fpDict == ( FILE *)NULL )
	{
		 printf("open dict file %s error !\n",strFilename);
		 return -1;	
	}
	while ( !feof(fpDict))
	{
		fgets(sLine,128,fpDict);
		strTrim(sLine);
		len = strlen(sLine);
		if ( len < 1 || len > MAX_CWORD_LEN )
			printf("%s error!\n",sLine);
		addDictWord(sLine,len);		
	}	
    fclose(fpDict);
    
    return 0;
}


BOOL isEnglishStop(unsigned char *strWord)
{
	//,arrayEnglishStop
	
	return  FALSE ;
}

/*inline*/ BOOL  isAsciiSymbol(char cChar)
{
	int i = 0 ;
	
	for ( i = 0 ; i < sizeof(arrayAsciiSymbol) ; i ++ ) 
		 if ( cChar == arrayAsciiSymbol[i])
		 		return TRUE;
	return FALSE;
}

int segSentence (char *strText ,BOOL bSpace ) 
{	
	int 		iTextLen 	= strlen(strText) ;
	int 		iWordLen=  0 ;			
	int			i		= 0 ;
	int			iNexti		= 0 ;
	BOOL		bSep	  	= FALSE ;//否是分隔符或者是一個詞結束
	BOOL		bChinese	= FALSE ;//上一個有效字符類型,
						//false:英文 true: Chinese
	BOOL		bFound		= FALSE ;
	unsigned 	char    strWord[MAX_SWORD_LEN + 1]; 		//當前詞
	unsigned 	char	strChar[3];	//
	unsigned 	char	cChar;			//
	
	memset(strWord,0,sizeof(strWord));
	strChar[0] = '\0';
	for ( i = 0 ; i < iTextLen ; i ++ )
	{
		cChar    = (unsigned char )strText[i];
		if (128 > cChar) {					//英文字符
			/****如果連續空格不算分隔的話,用下面這一段代碼 ****/
			if ( ' ' == cChar || '\t' == cChar || '\r' == cChar || '\n' == cChar )
			{
				if ( TRUE == bChinese ) 
				{			//如果前面一個有效字符是Chinese
					if ( TRUE == bSpace && (' ' == cChar || '\t' == cChar)) 
						bSep = TRUE ;			
					else continue ;				//繼續取下一個字符,因為漢字的詞可以換行或用空格隔開
				} 
				else 
				{
					bSep = TRUE ;
				}
			} 
			else 
			{ 						
				bSep = isAsciiSymbol(cChar);	//判斷是否是分隔符
			} 
			if ( (TRUE == bSep || TRUE == bChinese ) && 0 < iWordLen )
			{			//一個單詞結束
				if ( iWordLen > MAX_SWORD_LEN )
					 iWordLen = MAX_SWORD_LEN;
				strWord[iWordLen] = '\0';
				segWord(strWord,iWordLen,bChinese);
				iWordLen = 0 ;
			} 
			if ( FALSE == bSep ) 
			{
				strWord[iWordLen] = cChar;
							//同一個單詞的字母,并在一起
				iWordLen ++ ;
			}
			bChinese = FALSE ;
		}
		else
		{							//字符Chinese
			if ( FALSE == bChinese && FALSE == bSep && 0 < iWordLen ) 
			{//以前是英文,碰到漢字,就當英文單詞結束
				if ( iWordLen > MAX_SWORD_LEN )
					 iWordLen = MAX_SWORD_LEN;
				strWord[iWordLen] = '\0';
				bFound = isEnglishStop(strWord);
				if ( FALSE == bFound ) 
				{
					segWord(strWord,iWordLen,bChinese);
				} // end if 
				iWordLen = 0 ;
			} 

			iNexti	= i + 1 ;
			if ( iNexti <  iTextLen ) 
			{
				if ( 128 > ((unsigned char)strText[iNexti]) )
				{		//單字符>=128,不處理該字符
					continue ;					
				}
			} 
			else 
			{						//最后一個字符是大于128的單字符
				break;
			}
			
			strChar[0] = strText[i];
			strChar[1] = strText[i+1];
			strChar[2] = '\0';
						//是否有可能>128的字符,只有一個字符,如果有需要另外判斷,現在默認一定會有至少兩個字符同時出現
			bChinese	= TRUE ;				//是漢字Chinese
			i ++ ;						//只需要加1
			
			if (strChar[0] == 0xa1 && strChar[1] == 0xa1 )
			{				//Chinese空格,16進制:A1,A1
				if ( TRUE == bSpace )
					bSep = TRUE ;
				else continue ;					//連續Chinese空格
			}
			else if ( strChar[0] < 176 )
			{//中文標點等非漢字字符
				bSep = TRUE ;
			}
			else bSep = FALSE;
			
			if ( TRUE == bSep && 0 < iWordLen ) 
			{
				if ( iWordLen > MAX_SWORD_LEN )
					 iWordLen = MAX_SWORD_LEN;
				strWord[iWordLen] = '\0';
				segWord(strWord,iWordLen,bChinese);
				iWordLen = 0 ;
			} 
			if ( FALSE == bSep ) 
			{
				strWord[iWordLen++] = strChar[0];
				strWord[iWordLen++] = strChar[1];
			}
		} // end if ord
	} // end for $i 
	
	if ( 0 < iWordLen )
	{						//還有未處理的單詞
		if ( iWordLen > MAX_SWORD_LEN )
			 iWordLen = MAX_SWORD_LEN;
		strWord[iWordLen] = '\0';
		segWord(strWord,iWordLen,bChinese);
		iWordLen = 0 ;	
	}
	return 0;
}

int main(int argc,char *argv[])
{

	char strText[] = "遺傳算法(Genetic Algorithm)是一類借鑒生物界的進化規律(適者生存,優勝劣汰遺傳機制)演化而來的隨機化搜索方法。遺傳算法是模擬達爾文的遺傳選擇和自然淘汰的生物進化過程的計算模型。它的思想源于生物遺傳學和適者生存的自然規律,是具有“生存+檢測”的迭代過程的搜索算法。遺傳算法以一種群體中的所有個體為對象,并利用隨機化技術指導對一個被編碼的參數空間進行高效搜索。其中,選擇、交叉和變異構成了遺傳算法的遺傳操作;參數編碼、初始群體的設定、適應度函數的設計、遺傳操作設計、控制參數設定五個要素組成了遺傳算法的核心內容。 作為一種新的全局優化搜索算法,遺傳算法以其簡單通用、魯棒性強、適于并行處理以及高效、實用等顯著特點,在各個領域得到了廣泛應用,取得了良好效果,并逐漸成為重要的智能算法之一。";
	loadDict("sqlet.dict");
	initSegList();
	printf("開始分詞\n");
	segSentence(strText ,TRUE ) ;
	freeSeg();
	printf("結束分詞\n");
	freeDict();
	return 0 ;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
激情综合网激情| 91在线你懂得| 99久久久国产精品| 日韩三级免费观看| 亚洲综合小说图片| 国产精品69毛片高清亚洲| 欧美精品高清视频| 综合激情成人伊人| 国产99精品国产| 欧美成人官网二区| 亚洲一区日韩精品中文字幕| 成人精品视频一区二区三区 | 欧美成人性福生活免费看| 专区另类欧美日韩| 国内精品免费**视频| 制服丝袜亚洲色图| 亚洲地区一二三色| 欧美在线你懂得| 亚洲黄色av一区| 91在线国产观看| 亚洲特黄一级片| 99精品黄色片免费大全| 国产精品每日更新在线播放网址| 国产一区二区伦理| 精品国产一区久久| 韩国毛片一区二区三区| 欧美成人在线直播| 国内久久婷婷综合| 久久日韩粉嫩一区二区三区 | 久久精品二区亚洲w码| 欧美福利电影网| 日日摸夜夜添夜夜添亚洲女人| 欧美日韩一区小说| 亚洲gay无套男同| 欧美精品第1页| 欧美aⅴ一区二区三区视频| 欧美一卡二卡三卡| 麻豆精品视频在线观看免费 | 欧美日韩专区在线| 亚洲成人一区二区在线观看| 欧美体内she精高潮| 亚洲6080在线| 精品久久久久久综合日本欧美| 精品一区二区三区日韩| 久久久精品综合| 成人v精品蜜桃久久一区| 最好看的中文字幕久久| 欧美老肥妇做.爰bbww视频| 日本中文一区二区三区| 久久久天堂av| 91日韩精品一区| 日韩国产一二三区| 久久日一线二线三线suv| 99re成人精品视频| 日韩黄色片在线观看| 欧美精品一区二区三| av在线播放一区二区三区| 亚洲综合一二区| 久久女同性恋中文字幕| 91在线视频在线| 麻豆精品国产传媒mv男同| 亚洲国产成人私人影院tom| 在线观看成人免费视频| 老司机精品视频在线| 亚洲欧美成人一区二区三区| 欧美日韩日日骚| 韩日精品视频一区| 一区二区三区免费网站| 欧美mv和日韩mv国产网站| 大白屁股一区二区视频| 亚洲成av人片一区二区三区| 久久久久久久久久看片| 欧美亚洲动漫制服丝袜| 国产成人综合在线播放| 亚洲第一成年网| 欧美国产激情一区二区三区蜜月| 欧美偷拍一区二区| 高清beeg欧美| 免费不卡在线观看| 亚洲欧美成人一区二区三区| 精品国产精品网麻豆系列 | 精品国产人成亚洲区| 成人动漫在线一区| 日韩精品乱码av一区二区| 亚洲国产高清在线观看视频| 91超碰这里只有精品国产| 99久久免费国产| 久久99国产乱子伦精品免费| 亚洲伊人伊色伊影伊综合网| 久久欧美一区二区| 日韩欧美成人激情| 欧美伦理电影网| 91同城在线观看| 国产suv精品一区二区三区| 天堂蜜桃一区二区三区| 亚洲欧美国产毛片在线| 国产精品对白交换视频| 欧美va日韩va| 日韩一区二区在线免费观看| 欧美在线啊v一区| 97精品久久久午夜一区二区三区 | 91免费在线视频观看| 国产成人av一区| 国产一区二区在线看| 麻豆成人久久精品二区三区红| 亚洲va韩国va欧美va精品| 亚洲精品乱码久久久久| 中文字幕五月欧美| 亚洲欧洲精品一区二区精品久久久| 久久久久免费观看| 久久影院午夜片一区| 精品免费一区二区三区| 日韩精品一区二区三区在线观看| 日韩欧美一卡二卡| 2023国产精品自拍| 2020国产精品自拍| 国产视频一区二区三区在线观看| 国产日韩欧美一区二区三区综合| 精品久久久久久久久久久久包黑料| 日韩色视频在线观看| 亚洲精品一区二区三区影院| 欧美不卡一区二区三区| 欧美r级电影在线观看| 久久中文娱乐网| 国产女主播一区| 亚洲三级久久久| 亚洲123区在线观看| 日本美女一区二区| 国产真实乱子伦精品视频| 国产成人鲁色资源国产91色综| 丁香桃色午夜亚洲一区二区三区| aa级大片欧美| 在线成人免费视频| 日韩女优制服丝袜电影| 欧美激情一区二区三区不卡| 亚洲欧美国产高清| 日本不卡的三区四区五区| 国产乱人伦偷精品视频免下载| 成人免费精品视频| 欧美日韩在线播放一区| 精品国产百合女同互慰| 中文字幕亚洲精品在线观看| 亚洲成人av中文| 国产在线国偷精品产拍免费yy| av电影在线观看一区| 精品视频免费看| 欧美国产日韩亚洲一区| 亚洲第一久久影院| 国产高清无密码一区二区三区| 91论坛在线播放| 精品少妇一区二区三区| 亚洲区小说区图片区qvod| 蜜桃久久久久久| 91亚洲国产成人精品一区二区三| 欧美一区二区三区在线视频 | 99久久精品国产麻豆演员表| 欧美色男人天堂| 国产精品污www在线观看| 午夜视频在线观看一区二区三区| 国产99久久久精品| 欧美一区中文字幕| 亚洲女同ⅹxx女同tv| 国内精品视频666| 欧美久久一区二区| 亚洲欧美自拍偷拍| 韩国三级中文字幕hd久久精品| 色哟哟亚洲精品| 国产精品久久久久影院亚瑟 | 性欧美大战久久久久久久久| 国产一区在线观看麻豆| 欧美精品久久99久久在免费线| 中文字幕在线一区二区三区| 老司机精品视频线观看86| 欧美喷水一区二区| 亚洲色大成网站www久久九九| 精品一区二区免费视频| 欧美浪妇xxxx高跟鞋交| 又紧又大又爽精品一区二区| 国产91清纯白嫩初高中在线观看| 91精品在线免费| 亚洲国产精品欧美一二99| 97se亚洲国产综合自在线| 欧美国产一区视频在线观看| 蜜乳av一区二区| 日韩精品中文字幕一区| 日本欧美大码aⅴ在线播放| 欧美日韩国产在线播放网站| 亚洲欧美一区二区三区国产精品| 国产成人综合自拍| 国产婷婷一区二区| 国产精品主播直播| 26uuu精品一区二区三区四区在线 26uuu精品一区二区在线观看 | av亚洲精华国产精华精华| 欧美xxxxx牲另类人与| 蜜桃一区二区三区四区| 欧美va亚洲va香蕉在线| 狠狠色丁香久久婷婷综合丁香| 精品国产1区2区3区| 国产一区二区福利视频| 久久伊99综合婷婷久久伊|