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

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

?? 5 創建向量模型.cpp

?? 1998年1月份人民日報語料中體育類文章的識別
?? CPP
字號:
//功能:根據語料生成字典
//輸入:dic_try3.txt  詞/詞性序列
//

#include <stdio.h>
#include <math.h>
//詞條,用于記錄某個字打頭的詞組
struct ct{ 
		unsigned char cc[30];
		int freq;
		ct *next;
		double ym_cx[44];
		double length;
	};
//詞頭,每個字對應一個詞頭,詞頭引領詞條
struct ctou{ 
		ct *head;
		ct *tail;
		int count;
	} ctou[8000];

#define sen_len 150   

//全局變量
int in_dic[sen_len][16];		//用于存儲詞圖
struct ct *in_dic_pos [sen_len][16];

unsigned char test[sen_len]="\0";


FILE *fp_cx;		

int compare(unsigned char *dic_ct,int length1,unsigned char *a ,int length2);//比較兩個字符串是否相等
void strcopy(unsigned char *dic_ct,unsigned char *a,int length );			 //把一個字符數組的內容拷貝到另一個數組
void fputstr(unsigned char * a,int length,FILE * pfw);						 //將字符串內容寫入文件,可用 fprintf 代替
int array_len(unsigned char *c);											 //判斷字符數組的實際長度
void sen_read(FILE *fp,unsigned char *c);									 //讀入一個句子?
int ym_create(char * str);
int xl_compute(char * str);																 //構建隱馬模型	
void print_dic();//將字典中的所有詞條打印到keyword.txt文本
void clear_dic();//將字典中的說喲詞條freq項清0

void main()
{
//1創建模型-------------------------------------------
ym_create("dic_try3.txt");
//測試用:顯示字典內容

clear_dic();
//ym_create("doc.txt");

xl_compute("doc.txt");
print_dic();
}
//---------------------------------------------------//---------------------------------------------------

void fputstr(unsigned char * a,int length,FILE * pfw)
{	
	for(int i=0;i<length*2;i++)
	{	
		fputc(a[i],pfw);
	}
	fputc(' ',pfw);
}


void strcopy(unsigned char *dic_ct,unsigned char *a ,int length)
{
	for (int i=0;i<length;i++)
		dic_ct[i]=a[i];
	dic_ct[i]='\0';
}

int compare(unsigned char *dic_ct,int length1,unsigned char *a ,int length2)
{
	if(length1!=length2/2)return 1;	//判斷詞等長	
	for (int i=0;i<length2;i++)		//判斷詞中每個字節都相等
		if(dic_ct[i]!=a[i]){return 1;}
		return 0;					//兩詞相等返回0
}
//返回數組長度(不含/0)
int array_len(unsigned char *c)
{	
	int i=0;
	while(c[i]!='\0')	
	{i++;}
	return i;
	
}
//---------------------------------------------------cut
void sen_read(FILE *fp,unsigned char *c)
{
unsigned char getc;
int i=0;
getc=fgetc(fp);
while(getc!=255)
{
	c[i]=getc;
	i++;
	getc=fgetc(fp);
}
c[i]='\0';
}


void print_dic()
{
	FILE *fpw;
	fpw=fopen("keyword.txt","w");//寫入文件
	
	int i=0;
	for(i=0;i<8000;i++)
	{
		ct *head=ctou[i].head;
		while(head!=NULL)
		{	
		fprintf(fpw,"%s  %d\n",head->cc,head->freq);	
	//	printf("%s\n",head->cc);	
		head=head->next;
		}	
	}
}

void clear_dic()
{	
	int i=0;
	for(i=0;i<8000;i++)
	{
		ct *head=ctou[i].head;
		while(head!=NULL)
		{	
			head->freq=0;
			head=head->next;
		}	
	}





}






//------------------------------------------------------

int ym_create(char * str)
{
	unsigned char a[60];//30字符,15詞;
	FILE *fp;
	fp=fopen(str,"r");//讀入文件,用于創建字典的語料庫文件
	if (fp==NULL)
	{	printf("cannot open thi file\n");}

//對 詞頭結構 進行初始化	
	for (int j=0;j<8000;j++)
		{
			ctou[j].head=NULL;	
			ctou[j].tail=NULL;
		    ctou[j].count=0;
		}	





//循環處理,字典構建開始
	unsigned char c1;	int i=0;int temp=0;//用于處理讀取詞性的結果
	while(!feof(fp))
	{
		int flag_c_cx=0;//處理詞,詞性標志位;
		int writeddown=0;i=0;		
		
		for(j=0;j<60;j++) 
			a[j]=0;

//取token:同時讀取詞性(讀取詞 到a[],讀取詞性 到temp )
		do{		//如果不是空格 讀入字符到數組.
			c1 =fgetc(fp);	//讀入一位
			if(c1==255){break;}//如果是文章結尾則跳出

	//1 根據 '/' 和 ' '修改 當前狀態(1 詞性 0 詞 )
			if(c1=='/')
			{
				flag_c_cx=1;continue;//轉為處理詞性狀態
			}
			if(c1==32 && flag_c_cx==1)
			{
				flag_c_cx=0;//結束處理詞性狀態,轉為處理詞狀態
			}

	//2 處理詞性部分;			
			if(flag_c_cx==1)//處理詞性部分;
			{
				unsigned char c2=fgetc(fp);//取下一詞
				if(c2==' ' || c2==255)
				{			//本字符是單字符
					temp=c1-97; 						
					c1=c2; 	flag_c_cx=0;
					continue;
				}
				else{//本字符是雙字符
					temp=c2+c1;		
				switch(temp)
				{
				case 168:	temp=26;break;//Ag	
				case 169:	temp=27;break;//Bg(s)------------存在問題
				case 171:	temp=28;break;//Dg
				case 180:	temp=29;break;//180  Mg		(s)	
				case 181:	temp=30;break;//Ng
				case 185:	temp=31;break;//Rg(s)
				case 187:	temp=32;break;//Tg
				case 189:   temp=33;break;//Vg		
				case 192:	temp=34;break;//192 Yg(只出現過一次:耳)	
				case 197:	temp=35;break;//ad
				case 207:   temp=36;break;//an	
				case 218:	temp=37;break;//vd
				case 224:	temp=38;break;//nv
				case 225:	temp=39;break;//ns
				case 226:	temp=40;break;//nt
				case 228:	temp=41;break;//vn
				case 230:   temp=42;break;//nx
				case 232:	temp=43;break;//nz
				}	
				c1=c2;	flag_c_cx=0;continue;
				}			
			}//end-if
	//3處理空格
			if(c1==32){continue;}

			a[i]=c1;writeddown=1;i++;			/*	*/	
		}while(c1!=32||writeddown==0);//如果是token前的空格,循環;	

		if(c1==-1){printf("end-here");break;}
		a[i]='\0';
	//測試用:顯示取詞結果	
		if(i>30)//詞長超過15不予處理
		{//printf("%s:%d\n",a,temp);
		continue;}		

	//4寫入字典(詞和詞性都已經處理完畢)
		//4.1計算地址
		if(a[0]<0xa1 && a[0]>0xf7){printf("超出處理范圍錯誤\n");continue;}
		if(i>0)//字符數組內容不為空,即詞存在
		{
				int s1=0;
				if(a[0]>=0xb0)
				{
					s1=(a[0]-0xb0)*96+(a[1]-0xa0);if(s1>6920||s1<0)printf("創建字典錯誤");	
				}
				if(a[0]<0xb0 && a[0]>=0xa1)
				{  // continue;
					s1=(a[0]-0xa1)*96+(a[1]-0xa0)+7000;
					if(s1>8000||s1<0){printf("創建字典標點-錯誤\n");printf("%d\n",s1);}
				}
		//	printf("%s:%d\t",a,temp);
		//4.2判斷詞是否已經在節點中,這部分作為字典導入內存用可以直接刪除

				ct *head=ctou[s1].head;
				while(head!=NULL)
				{	
					if(compare(head->cc,head->length,a,i)==0)//兩詞相等
					{head->freq++;head->ym_cx[temp]++;break;}						
					head=head->next;
				}	
		//4.3將新詞寫入字典		
				if(head==NULL)//如果詞條為空,新建詞條,將詞條寫入
				{	
					struct ct *p=new ct();
					p->freq=1;
					for(int j=0;j<44;j++)
						p->ym_cx[j]=0;
					strcopy(p->cc,a,i);			
					p->next=NULL;
					p->length=i/2;
					if(ctou[s1].count==0)
					{
						ctou[s1].head=p;
						ctou[s1].tail=p;
					}
					else{ctou[s1].tail->next=p;ctou[s1].tail=p;}				
					ctou[s1].count++;
				}
		}
	//4-end 寫入詞典結束
	} //循環結束,字典構建結束。

fclose(fp);

	 
	 return 1;
}

//------------------------------------------------------
int xl_compute(char * str)
{
	unsigned char a[60];//30字符,15詞;
	FILE *fp;
	fp=fopen(str,"r");//讀入文件,用于創建字典的語料庫文件
	if (fp==NULL)
	{	printf("cannot open thi file\n");}

//循環處理,字典構建開始
	unsigned char c1;	int i=0;int temp=0;//用于處理讀取詞性的結果
	while(!feof(fp))
	{
		int flag_c_cx=0;//處理詞,詞性標志位;
		int writeddown=0;i=0;		
		int j=0;
		for(j=0;j<60;j++) 
			a[j]=0;

//取token:同時讀取詞性(讀取詞 到a[],讀取詞性 到temp )
		do{		//如果不是空格 讀入字符到數組.
			c1 =fgetc(fp);	//讀入一位
			if(c1==255){break;}//如果是文章結尾則跳出

	//1 根據 '/' 和 ' '修改 當前狀態(1 詞性 0 詞 )
			if(c1=='/')
			{
				flag_c_cx=1;continue;//轉為處理詞性狀態
			}
			if(c1==32 && flag_c_cx==1)
			{
				flag_c_cx=0;//結束處理詞性狀態,轉為處理詞狀態
			}

	//2 處理詞性部分;			
			if(flag_c_cx==1)//處理詞性部分;
			{
				unsigned char c2=fgetc(fp);//取下一詞
				if(c2==' ' || c2==255)
				{			//本字符是單字符
					temp=c1-97; 						
					c1=c2; 	flag_c_cx=0;
					continue;
				}
				else{//本字符是雙字符
					temp=c2+c1;		
				switch(temp)
				{
				case 168:	temp=26;break;//Ag	
				case 169:	temp=27;break;//Bg(s)------------存在問題
				case 171:	temp=28;break;//Dg
				case 180:	temp=29;break;//180  Mg		(s)	
				case 181:	temp=30;break;//Ng
				case 185:	temp=31;break;//Rg(s)
				case 187:	temp=32;break;//Tg
				case 189:   temp=33;break;//Vg		
				case 192:	temp=34;break;//192 Yg(只出現過一次:耳)	
				case 197:	temp=35;break;//ad
				case 207:   temp=36;break;//an	
				case 218:	temp=37;break;//vd
				case 224:	temp=38;break;//nv
				case 225:	temp=39;break;//ns
				case 226:	temp=40;break;//nt
				case 228:	temp=41;break;//vn
				case 230:   temp=42;break;//nx
				case 232:	temp=43;break;//nz
				}	
				c1=c2;	flag_c_cx=0;continue;
				}			
			}//end-if
	//3處理空格
			if(c1==32){continue;}

			a[i]=c1;writeddown=1;i++;			/*	*/	
		}while(c1!=32||writeddown==0);//如果是token前的空格,循環;	

		if(c1==-1){printf("end-here");break;}
		a[i]='\0';
	

	//4寫入字典(詞和詞性都已經處理完畢)
		//4.1計算地址
		if(a[0]<0xa1 && a[0]>0xf7){printf("超出處理范圍錯誤\n");continue;}
		if(i>0)//字符數組內容不為空,即詞存在
		{
				int s1=0;
				if(a[0]>=0xb0)
				{
					s1=(a[0]-0xb0)*96+(a[1]-0xa0);if(s1>6920||s1<0)printf("創建字典錯誤");	
				}
				if(a[0]<0xb0 && a[0]>=0xa1)
				{  
					s1=(a[0]-0xa1)*96+(a[1]-0xa0)+7000;
					if(s1>8000||s1<0){printf("創建字典標點-錯誤\n");printf("%d\n",s1);}
				}
		//4.2判斷詞是否已經在節點中
				ct *head=ctou[s1].head;
				while(head!=NULL)
				{	
					if(compare(head->cc,head->length,a,i)==0)//兩詞相等
					{head->freq++;head->ym_cx[temp]++;break;}						
					head=head->next;
				}	

		}
	//4-end 寫入詞典結束
	} //循環結束,字典構建結束。

fclose(fp);

	 
	 return 1;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品麻豆久久久| 狠狠色2019综合网| 久久精品国产免费| 波多野洁衣一区| 欧美酷刑日本凌虐凌虐| 国产欧美一区在线| 麻豆91在线观看| 一本大道久久a久久综合| 久久久精品2019中文字幕之3| 亚洲国产精品自拍| 97se亚洲国产综合自在线观| 久久综合国产精品| 奇米色一区二区三区四区| 色综合激情五月| 中文字幕av不卡| 国产精品一二三区| 日韩精品一区二区三区蜜臀 | 在线国产电影不卡| 中文字幕 久热精品 视频在线| 日本va欧美va精品发布| 欧美在线一二三| 亚洲欧美激情视频在线观看一区二区三区 | 日韩在线一区二区| 91日韩在线专区| 中文字幕一区二区三区av| 国产91在线|亚洲| 国产日韩欧美综合在线| 国产一区在线观看视频| 精品毛片乱码1区2区3区| 日本vs亚洲vs韩国一区三区 | 色悠悠久久综合| 中文字幕一区二区三区蜜月| 国产成人免费视频精品含羞草妖精| 精品久久一区二区| 黄页网站大全一区二区| 久久久久国色av免费看影院| 国产精品一区二区久久精品爱涩| 精品国产一区二区三区av性色 | 亚洲第一主播视频| 欧美日韩一级二级| 日韩电影免费在线| 日韩一级免费观看| 狠狠色丁香久久婷婷综合丁香| 精品粉嫩超白一线天av| 精品一区二区免费在线观看| 久久嫩草精品久久久久| 国产成人午夜99999| 亚洲欧洲性图库| 欧美羞羞免费网站| 青青青伊人色综合久久| 久久综合久久综合久久| 播五月开心婷婷综合| 悠悠色在线精品| 91麻豆精品国产91久久久久 | 亚洲国产另类av| 精品国产123| 91在线观看免费视频| 香蕉av福利精品导航| 亚洲成av人影院在线观看网| 6080午夜不卡| 国产精品一区二区三区四区| 亚洲三级小视频| 欧美人妇做爰xxxⅹ性高电影| 久草在线在线精品观看| 亚洲欧洲日本在线| 3d成人h动漫网站入口| 国产一区二区三区国产| 亚洲精品日韩综合观看成人91| 欧美日韩在线播| 国产福利精品一区二区| 亚洲一区免费在线观看| 久久日韩粉嫩一区二区三区| 91香蕉视频在线| 麻豆精品国产传媒mv男同| 国产精品久久福利| 欧美一区二区视频在线观看2020 | 日本韩国精品一区二区在线观看| 五月天国产精品| 国产精品免费丝袜| 日韩欧美三级在线| 一本大道久久a久久综合婷婷| 狠狠色丁香久久婷婷综| 亚洲va欧美va人人爽午夜| 国产欧美一区二区三区网站| 亚洲欧洲精品一区二区三区不卡| 欧美欧美欧美欧美| 99久久国产综合精品麻豆| 麻豆极品一区二区三区| 一区二区免费看| 亚洲国产成人私人影院tom| 日韩午夜中文字幕| 91丨porny丨国产| 国产成人午夜精品影院观看视频| 免费在线观看一区| 亚洲一区二区影院| 综合久久久久久| 久久久久九九视频| 日韩欧美区一区二| 69成人精品免费视频| 欧美三级乱人伦电影| 99re这里只有精品首页| 国v精品久久久网| 国产尤物一区二区在线| 久久国产婷婷国产香蕉| 日本不卡视频一二三区| 天天av天天翘天天综合网| 亚洲黄色小视频| 亚洲欧美视频在线观看| 国产精品久久久久婷婷二区次| 久久久久久免费网| 精品国产乱码久久久久久免费| 欧美一区二区三区在线视频| 91精品视频网| 欧美一区二区大片| 欧美一区二区三区性视频| 欧美一区二区在线免费播放 | 日本丰满少妇一区二区三区| 99热精品国产| 色香色香欲天天天影视综合网| 99久久精品免费看国产免费软件| 成人国产亚洲欧美成人综合网| 成人短视频下载| 91网址在线看| 91国产免费看| 欧美精选一区二区| 欧美一区二区三级| 久久综合九色综合久久久精品综合| 久久久天堂av| 国产精品少妇自拍| 亚洲欧美激情插| 天堂在线亚洲视频| 激情六月婷婷久久| 成人毛片视频在线观看| 91亚洲精华国产精华精华液| 在线观看亚洲a| 91精品国产综合久久香蕉的特点 | 欧美欧美欧美欧美| 亚洲精品一区二区三区影院| 中文字幕不卡的av| 亚洲精品亚洲人成人网| 青椒成人免费视频| 国产精品一区一区三区| 99久久夜色精品国产网站| 欧美色爱综合网| 精品国产免费视频| 国产精品国产三级国产a| 亚洲一二三区不卡| 黑人巨大精品欧美黑白配亚洲| 99在线热播精品免费| 91精品国产综合久久蜜臀| 国产欧美日韩综合精品一区二区| 亚洲另类在线制服丝袜| 麻豆精品在线看| 99久久精品免费看国产免费软件| 91精品国产综合久久久久| 久久九九99视频| 亚洲高清一区二区三区| 国产成人8x视频一区二区| 欧美亚洲自拍偷拍| 欧美激情综合在线| 日韩综合一区二区| 99久久精品情趣| 久久婷婷一区二区三区| 亚洲bt欧美bt精品777| 成人激情午夜影院| 欧美一区二区精品久久911| 自拍av一区二区三区| 精品一区二区日韩| 欧美日韩精品久久久| 国产精品成人免费精品自在线观看| 奇米888四色在线精品| 色综合咪咪久久| 国产清纯白嫩初高生在线观看91| 香蕉加勒比综合久久| 色综合久久久久综合体| 久久精品人人做人人爽人人| 日本在线不卡一区| 欧美性大战久久| √…a在线天堂一区| 国产精品66部| 日韩欧美区一区二| 天天影视涩香欲综合网| 色婷婷激情综合| 国产精品国产成人国产三级 | 在线视频欧美精品| 国产精品嫩草影院com| 国精产品一区一区三区mba视频 | 精品亚洲porn| 欧美日韩国产高清一区| 伊人开心综合网| 99re66热这里只有精品3直播| 国产网站一区二区| 国产精品羞羞答答xxdd| 日韩精品最新网址| 理论片日本一区| 欧美成人a∨高清免费观看| 天堂精品中文字幕在线| 欧美写真视频网站| 日韩综合在线视频| 欧美影院一区二区|