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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? childfrm.cpp

?? 計(jì)算機(jī)英漢機(jī)器翻譯系統(tǒng)中的英語(yǔ)詞性標(biāo)注方法實(shí)現(xiàn)
?? CPP
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
		{
			for ( j=0;j<viterbiAnn[i].GetSize()-1;j++ )
			{
				if ( viterbiPro[i][0]<viterbiPro[i][j+1] )
				{
					viterbiPro[i][0]=viterbiPro[i][j+1];
					viterbiAnn[i][0]=viterbiAnn[i][j+1];
					viterbiPos[i][0]=viterbiPos[i][j+1];
				}
			}
			posAnnotate.Add(viterbiAnn[i][0]);
//			fprintf(fpOutput,viterbiAnn[i][0]);
		}
		else
		{
			for ( j=0;j<viterbiAnn[i].GetSize();j++ )
			{
				if ( viterbiAnn[i][j]==viterbiPos[i+1][0] )
				{
					posAnnotate.Add(viterbiAnn[i][j]);
//					fprintf(fpOutput,viterbiAnn[i][j]);
					viterbiPos[i][0]=viterbiPos[i][j];
					break;
				}
			}
		}
	}
//    fclose(fpOutput);
	fclose(fpInput2);

	for (  l=0;l<200;l++ )
	{
		viterbiPos[l].RemoveAll();
		viterbiAnn[l].RemoveAll();
	}

	CurNode = g_objMorSent.m_pWordFirst;

	for ( l=posAnnotate.GetSize()-1;l>=0;l-- )
	{
		strcpy(crTmp,posAnnotate[l]);
		CurNode->m_pszPostag = new char[5];
		strcpy(CurNode->m_pszPostag, crTmp);
		strTmp2=CurNode->m_pszEnglish;
		strTmp2=strTmp2+"/"+crTmp+" ";
		fputs(strTmp2,fpOutput1);
		CurNode = CurNode->m_pNextWordNode;	
	}
/*
	CString signTmp;
	CStringArray CTemp;
	DictChin *pDicChin1;
	int nCate,n;
	CMTNodeList *MTSenNodeList;
	MTSenNodeList= new CMTNodeList;

	CMTNode *MTCurNode;
	MTCurNode = new CMTNode;
	MTSenNodeList->m_pSentBegin = MTCurNode;
	MTCurNode->m_pListPrev=NULL;
	for ( l=posAnnotate.GetSize()-1;l>=0;l-- )
	{
		MTCurNode->m_psWord=CurNode->m_pszEnglish;
		MTCurNode->m_psAmbig=CurNode->m_pszAmbig;
//最佳系統(tǒng)詞性序列輸出
		strcpy(crTmp,posAnnotate[l]);
		while ( CurNode!=NULL )
		{
			pDicChin1 = CurNode->m_pFirstChin;
			signTmp="";
			while ( pDicChin1 != NULL )
			{
				nCate=pDicChin1->m_nCate; //得到詞性值后,獲得詞性
			   	strTmp1=NumChangeCate(nCate);//獲得詞性后再賦給strTmp2
				strcpy(Test,strTmp1);
				strTmp2=CateChangePenn(Test);
				if  ( strstr(strTmp2,crTmp) != NULL )
				{
					CTemp.Add(strTmp1);
					n=CTemp.GetSize();
					MTCurNode->m_psPOS = CTemp[n-1].GetBuffer(CTemp[n-1].GetLength());
					CTemp[n-1].ReleaseBuffer();
					MTCurNode->m_pListNext = new CMTNode;
					MTCurNode->m_pListNext->m_pListPrev = MTCurNode;
					MTCurNode = MTCurNode->m_pListNext;

					strTmp2=CurNode->m_pszEnglish;
					strTmp2=strTmp2+"/"+strTmp1;
					signTmp=strTmp2;
					fputs(strTmp2,fpOutput1);
					fputs(" ",fpOutput1);
					break;
				}
				else
					pDicChin1 = pDicChin1->m_pNextChin;
			}
			if ( strcmp(signTmp,"")==0 )
			{
				strTmp1=PennContrast(crTmp);

				CTemp.Add(strTmp1);
				n=CTemp.GetSize();
				MTCurNode->m_psPOS = CTemp[n-1].GetBuffer(CTemp[n-1].GetLength());
				CTemp[n-1].ReleaseBuffer();
				MTCurNode->m_pListNext = new CMTNode;
				MTCurNode->m_pListNext->m_pListPrev = MTCurNode;
				MTCurNode = MTCurNode->m_pListNext;

				strTmp2=CurNode->m_pszEnglish;
				strTmp2=strTmp2+"/"+strTmp1;
				fputs(strTmp2,fpOutput1);
				fputs(" ",fpOutput1);
			}
			break;
		}		
		CurNode = CurNode->m_pNextWordNode;	

	}

	MTCurNode->m_pListPrev->m_pListNext = NULL; 
	MTSenNodeList->m_pSentEnd = MTCurNode->m_pListPrev;
*/
	fputs("\n",fpOutput1);

	posAnnotate.RemoveAll();	

	for ( j=0;j<200;j++ )
	{
		for ( l=0;l<44;l++ )
		{
			viterbiPro[j][l]=0;
		}
	}

	fclose(fpInput3);
	fclose(fpInput4);
}

CString CChildFrame::PennContrast(char crTmp[200])
{
	CString strTmp,linTmp,posTmp;
	const int c_nMaxLineLen=150;
	char szOneLine[c_nMaxLineLen];

	char szPennTableName[]="cdqprg\\conmarker.txt";
	FILE* fpInput;
	fpInput=fopen(szPennTableName,"rb");
	if ( fpInput == NULL )
	{
		char stErrorMsg[200];
		sprintf(stErrorMsg,"Error Open %s !",szPennTableName);
		AfxMessageBox(stErrorMsg);
	}
	strTmp=" ";
	strTmp=strTmp+crTmp;
	strTmp=strTmp+"  ";
		
	for ( int i=0; i<44; i++ )
	{//映射為Penn Treebank 標(biāo)注符號(hào)
		fgets(szOneLine,c_nMaxLineLen,fpInput);
		linTmp=szOneLine;
		if ( strstr(linTmp,strTmp) != NULL )
		{
			linTmp=linTmp.Right(linTmp.GetLength()-linTmp.Find("  ")-2);
			posTmp=linTmp.Left(linTmp.Find("  "));
		}
	}
	
	fclose(fpInput);
	return posTmp;
}
/*
CString CateChangePenn(char Test[10])
{
	CString posTmp;
	CString linTmp,strTmp;
	const int c_nMaxLineLen=150;
	char szOneLine[c_nMaxLineLen];

	char szPennTableName[]="cdqprg\\conmarker.txt";
	FILE* fpInput;
	fpInput=fopen(szPennTableName,"rb");
	if ( fpInput == NULL )
	{
		char stErrorMsg[200];
		sprintf(stErrorMsg,"Error Open %s !",szPennTableName);
		AfxMessageBox(stErrorMsg);
	}

	strTmp=" ";
	strTmp=strTmp+Test;
	strTmp=strTmp+"  ";
		
	for ( int i=0; i<44; i++ )
	{//映射為Penn Treebank 標(biāo)注符號(hào)
		fgets(szOneLine,c_nMaxLineLen,fpInput);
		linTmp=szOneLine;
		if ( strstr(linTmp,strTmp) != NULL )
		{
			linTmp=linTmp.Left(linTmp.Find("  "));
			posTmp=posTmp+linTmp.Right(linTmp.GetLength()-1);
			continue;
		}
	}
	
	fclose(fpInput);
	return posTmp;
}

*/
void  CChildFrame::Find(CString OneWord, CStringArray& arDictContent)
{
	char dicindexFileName[]="cdqprg\\dicindex.txt";
	FILE* fpFile;
	fpFile=fopen(dicindexFileName,"rb");
	if ( fpFile == NULL )
	{
		char stErrorMsg[200];
		sprintf(stErrorMsg,"Error Open %s !",dicindexFileName);
		AfxMessageBox(stErrorMsg);
		return;
	}

	char CodeTabFileName[]="dictres\\CodeTab.txt";
	FILE* fpInput;
	fpInput=fopen(CodeTabFileName,"rb");
	if ( fpInput == NULL )
	{
		char stErrorMsg[200];
		sprintf(stErrorMsg,"Error Open %s !",CodeTabFileName);
		AfxMessageBox(stErrorMsg);
		return;
	}
	const int c_nMaxLineLen=1500;
	char szOneLine[c_nMaxLineLen];


	struct	DictNode *NewDicNode;
	CString strTmp;
	int n_Cate;
	char *Word,vocable[150];
    IX_DESC g_DictInd;
	ENTRY    entry;
    open_index("cdqprg\\DicyInd.idx", &g_DictInd, 0);

	strcpy(vocable,OneWord);
	Word=vocable;
    strcpy(entry.key, OneWord);
	
    if( find_key(&entry, &g_DictInd) )
	{
		ReadDictData(entry.recptr,fpFile,arDictContent);
	}
	else
	{
/*		char sMsg[200];
		sprintf(sMsg, "Not Find %s!\nNeed Restore! ",entry.key);
		AfxMessageBox(sMsg);	
*/
		//從語(yǔ)料生成的字典中找不到的詞,
		//要從系統(tǒng)的字典中找出其各種詞性	

		NewDicNode = WordRestore(Word,SEARCH_ALLCH);
		
		if( NewDicNode->m_nLxhCate != NULL && 
			strstr(NewDicNode->m_nLxhCate,"!")==NULL )
		{
			strcpy(vocable,NewDicNode->m_nLxhCate);
			if (strstr(vocable,"v")!=0 && !isupper(OneWord[0]))
			{
				if (strstr(OneWord,"ing")!=0)
					strcpy(vocable,"VBG");
				else if (strstr(OneWord,"ed")!=0)
				{
					strcpy(vocable,"VBD");
					strcat(vocable,"  1\n");
					strTmp=vocable;
					arDictContent.Add(strTmp);
					strcpy(vocable,"VBN");
				}
				else if (strstr(OneWord,"s")!=0)
					strcpy(vocable,"VBZ");
				else
				{
					strcpy(vocable,"VB");
					strcat(vocable,"  1\n");
					strTmp=vocable;
					arDictContent.Add(strTmp);
					strcpy(vocable,"VBP");
				}
			}
			else if (strcmp(vocable,"ns")==0 )
				strcpy(vocable,"PRP$");
			else if (isupper(OneWord[0]))
			{
				if( strstr(OneWord,"s")!=0)
					strcpy(vocable,"NNPS");
				else
					strcpy(vocable,"NNP");
			}
			else
			{
				if( strstr(OneWord,"s")!=0)
					strcpy(vocable,"NNS");
				else
					strcpy(vocable,"NN");
			}
			strcat(vocable,"  1\n");
			strTmp=vocable;
			arDictContent.Add(strTmp);
		}
		else if ( NewDicNode->m_pFirstChin == NULL )
		{
			NewWordContent(arDictContent);	
		}
		else
		{
			while(NewDicNode->m_pFirstChin != NULL )
			{
				n_Cate=NewDicNode->m_pFirstChin->m_nCate; //得到詞性值后,獲得詞性
				for(int i=0;i<n_Cate;i++)
				{
					fgets(szOneLine,c_nMaxLineLen,fpInput);	
				}
				fseek(fpInput,0L,SEEK_SET);
				strTmp=szOneLine;
				strTmp=strTmp.Right(strTmp.GetLength()-strTmp.Find('=')-1);	
				strTmp=strTmp.Left(strTmp.Find(' '));
				strTmp=strTmp+"  1\n";
				if(arDictContent.GetSize()==0)
					arDictContent.Add(strTmp);
				else
				{
					for(i=0;i<arDictContent.GetSize();i++)
					{
						if (strcmp(arDictContent[i],strTmp)==0)
							break;
						else if(i==arDictContent.GetSize()-1)
							arDictContent.Add(strTmp);
					}
				}				
		   		NewDicNode->m_pFirstChin = NewDicNode->m_pFirstChin->m_pNextChin;
			}
		}

	}

	fclose(fpFile);
	fclose(fpInput);
   	close_index(&g_DictInd);

}

void CChildFrame::NewWordContent(CStringArray& arDictContent)
{

	//出現(xiàn)生詞時(shí)的處理
	
	//把可能的詞性都賦給這個(gè)單詞且發(fā)射概率設(shè)為1
	CString strTmp;
	

	const int c_nMaxLineLen=1500;
	char szOneLine[c_nMaxLineLen];

	char CodeTabFileName[]="dictres\\CodeTab.txt";
	FILE* fpInput;
	fpInput=fopen(CodeTabFileName,"rb");
	if ( fpInput == NULL )
	{
		char stErrorMsg[200];
		sprintf(stErrorMsg,"Error Open %s !",CodeTabFileName);
		AfxMessageBox(stErrorMsg);
		return;
	}

	for ( int i=0;i<25;i++ )
	{
		fgets(szOneLine,c_nMaxLineLen,fpInput);	
	}


	for ( i=0;i<92;i++ )
	{
		fgets(szOneLine,c_nMaxLineLen,fpInput);	
		strTmp=szOneLine;
		strTmp=strTmp.Right(strTmp.GetLength()-strTmp.Find('=')-1);	
		strTmp=strTmp.Left(strTmp.Find(' '));
		strTmp=strTmp+"  1\n";
		arDictContent.Add(strTmp);
	}
	fclose(fpInput);
}

void CChildFrame::ChangeWordContent(CString strTmp,CStringArray& arDictContent)
{	//把系統(tǒng)字典單詞中的各個(gè)詞性都賦發(fā)射概率1

	CString strAmbig,linTmp;

	while ( strstr(strTmp,"/") != NULL )
	{
		strAmbig = strTmp.Left(strTmp.Find('/'));
/*		if ( strcmp(strAmbig,"v")==0 )
		{
			arDictContent.Add("VB  1\n");
			arDictContent.Add("VBD  1\n");
			arDictContent.Add("VBG  1\n");
			arDictContent.Add("VBN  1\n");
			arDictContent.Add("VBP  1\n");
			arDictContent.Add("VBZ  1\n");
		}
*/		strAmbig = strAmbig+"  1\n";
		arDictContent.Add(strAmbig);

		strTmp = strTmp.Right(strTmp.GetLength()-strTmp.Find('/')-1);
	}
	strTmp = strTmp+"  1\n";
	arDictContent.Add(strTmp);
}

CString CChildFrame::NumChangeCate(int nCate)
{
		char szCodeTableName[]="DictRes\\CodeTab.txt";
		CString linTmp,strTmp1;
		const int c_nMaxLineLen=1500;
		char szOneLine[c_nMaxLineLen];
		
		FILE* fpInput1;
		fpInput1=fopen(szCodeTableName,"rb");
		if ( fpInput1 == NULL )
		{
			char stErrorMsg[200];
			sprintf(stErrorMsg,"Error Open %s !",szCodeTableName);
			AfxMessageBox(stErrorMsg);
		}
		for ( int i=0;i<nCate;i++)
		{//找出對(duì)應(yīng)詞性
			fgets(szOneLine,c_nMaxLineLen,fpInput1);		
		}
		linTmp=szOneLine;
		strTmp1=linTmp.Right(linTmp.GetLength()-linTmp.Find('=')-1);	
		strTmp1=strTmp1.Left(strTmp1.Find(' '));
		fclose(fpInput1);
		return strTmp1;
}

BOOL CChildFrame::ReadDictData(long e,FILE* fpFile,CStringArray& arDictContent)
{
	CString linTmp1;
	const int c_nMaxLineLen=1500;
	char szOneLine[c_nMaxLineLen];
	int n;
	fseek(fpFile,e,SEEK_SET);
	fgets(szOneLine,c_nMaxLineLen,fpFile);
	linTmp1=szOneLine;
	if ( !strcmp(linTmp1.Left(1),"0") == 0 )
	{
		fgets(szOneLine,c_nMaxLineLen,fpFile);	//得到的是原型
		fgets(szOneLine,c_nMaxLineLen,fpFile);
		linTmp1=szOneLine;
		n=atoi(linTmp1);
		for ( int i=0;i<n;i++ )
		{
			fgets(szOneLine,c_nMaxLineLen,fpFile);
			linTmp1=szOneLine;
			arDictContent.Add(linTmp1);
		}
	}
	else
	{
		fgets(szOneLine,c_nMaxLineLen,fpFile);
		linTmp1=szOneLine;
		n=atoi(linTmp1);
		for ( int i=0;i<n;i++ )
		{
			fgets(szOneLine,c_nMaxLineLen,fpFile);
			linTmp1=szOneLine;
			arDictContent.Add(linTmp1);
		}
	}

	return TRUE;
}

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产一区二区在线视频| 欧美午夜不卡在线观看免费| 高清不卡一区二区| 精品少妇一区二区三区在线播放| 久久午夜老司机| 亚洲欧洲日韩av| 天天色图综合网| 国产福利一区在线| 久久夜色精品国产欧美乱极品| 欧美变态口味重另类| 国产精品久久久久影院| 午夜国产精品影院在线观看| 国产麻豆成人传媒免费观看| 色噜噜狠狠一区二区三区果冻| 日韩一区二区麻豆国产| 国产精品天天摸av网| 日韩中文字幕av电影| 高清beeg欧美| 51午夜精品国产| 成人欧美一区二区三区在线播放| 日韩高清不卡在线| 99久久伊人网影院| 日韩天堂在线观看| 亚洲美女免费在线| 国产老女人精品毛片久久| 欧美综合天天夜夜久久| 国产亚洲综合在线| 轻轻草成人在线| 色综合久久88色综合天天6| 精品久久久久久久人人人人传媒| 一区二区在线观看免费| 激情六月婷婷久久| 欧美日韩国产免费| 综合激情网...| 国产精品一区二区久久精品爱涩 | 亚洲精品一区二区三区四区高清| 精品伦理精品一区| 日韩一区中文字幕| 国产精品影视网| 欧美精品日韩综合在线| 亚洲天天做日日做天天谢日日欢 | 日韩免费成人网| 一区二区三区在线高清| 成人美女视频在线观看| 精品1区2区在线观看| 天堂精品中文字幕在线| 91成人网在线| 国产精品超碰97尤物18| 国产福利一区在线观看| 精品日韩一区二区| 天堂一区二区在线免费观看| 在线亚洲一区二区| 亚洲天堂网中文字| 久久日一线二线三线suv| 91国模大尺度私拍在线视频| 精品人伦一区二区色婷婷| 亚洲成人综合视频| 色婷婷综合久久久中文字幕| 国产精品网站在线播放| 国产精品亚洲专一区二区三区| 日韩视频中午一区| 日韩高清不卡一区二区三区| 欧美日韩黄视频| 亚洲一二三四区不卡| 91福利国产精品| 亚洲欧美视频在线观看视频| 99精品偷自拍| 综合激情成人伊人| 99久久综合色| 日韩美女视频一区| 91在线视频播放| 亚洲色图丝袜美腿| 色综合咪咪久久| 亚洲靠逼com| 欧美系列日韩一区| 亚洲va欧美va天堂v国产综合| 欧美在线小视频| 亚洲不卡一区二区三区| 4438成人网| 日本成人在线电影网| 日韩欧美国产小视频| 韩国中文字幕2020精品| 久久久国际精品| 高清视频一区二区| 中文字幕一区二区三区精华液| 99国产麻豆精品| 一级中文字幕一区二区| 欧美日韩精品一区二区| 蜜臀av一区二区| 久久亚洲精品国产精品紫薇| 国产成人午夜视频| 亚洲欧美日韩一区二区三区在线观看| 91免费观看视频在线| 亚洲国产一区在线观看| 91精品一区二区三区久久久久久 | 日韩亚洲欧美在线| 韩日欧美一区二区三区| 欧美高清在线精品一区| 国产91精品久久久久久久网曝门| 国产日韩欧美综合在线| 丁香亚洲综合激情啪啪综合| 国产精品灌醉下药二区| 色综合久久综合网欧美综合网| 一区二区日韩av| 欧美一区二区啪啪| 国产精品 欧美精品| 日韩美女久久久| 91精品国产欧美日韩| 国产一区91精品张津瑜| 亚洲精品一二三四区| 777a∨成人精品桃花网| 国产成人精品午夜视频免费| 亚洲激情自拍视频| 精品人在线二区三区| 99精品视频中文字幕| 视频一区二区不卡| 中国色在线观看另类| 欧美日韩日本视频| 国产精品中文欧美| 亚洲动漫第一页| 久久综合精品国产一区二区三区| 色综合天天在线| 九九九久久久精品| 亚洲黄色片在线观看| 精品国产乱码久久| 在线看一区二区| 国产一区91精品张津瑜| 亚洲韩国精品一区| 日本一区二区电影| 日韩精品高清不卡| 精品成人一区二区| 不卡高清视频专区| 视频一区二区三区入口| 国产女主播一区| 欧美卡1卡2卡| www.66久久| 狠狠狠色丁香婷婷综合久久五月| 一区二区三区国产精品| 国产欧美va欧美不卡在线| 欧美丰满嫩嫩电影| 91在线精品一区二区| 韩国中文字幕2020精品| 亚洲大片精品永久免费| 国产精品久久久久国产精品日日 | 亚洲免费观看高清在线观看| 精品国精品自拍自在线| 欧美日韩一区二区三区视频| 成人激情午夜影院| 国产一区二区三区美女| 日韩和欧美一区二区三区| 亚洲精品视频在线观看网站| 国产欧美一区二区精品性色 | 成人毛片在线观看| 成人久久视频在线观看| 国模无码大尺度一区二区三区| 亚洲美女精品一区| 国产日韩欧美麻豆| 精品久久久久一区二区国产| 欧美精品v国产精品v日韩精品 | 91精品国产综合久久福利软件 | 亚洲精品乱码久久久久久久久| 久久久久久久电影| 日韩小视频在线观看专区| 欧美日韩一级片在线观看| 91美女精品福利| 99国产精品久久久久久久久久久 | 久久嫩草精品久久久精品一| 日韩一区二区三区四区| 欧美伦理影视网| 欧美视频一区二区三区四区| 一本一道久久a久久精品| 99久久er热在这里只有精品15| 国产成人精品在线看| 国产麻豆欧美日韩一区| 国内成+人亚洲+欧美+综合在线| 麻豆精品精品国产自在97香蕉| 日韩国产欧美三级| 日韩专区中文字幕一区二区| 五月综合激情婷婷六月色窝| 国产精品综合一区二区| 麻豆成人免费电影| 另类综合日韩欧美亚洲| 老司机一区二区| 激情国产一区二区| 国产综合色视频| 国产成人免费高清| 成人免费毛片a| 91视频com| 欧美亚洲高清一区| 欧美人狂配大交3d怪物一区 | 午夜电影网亚洲视频| 婷婷丁香久久五月婷婷| 日本va欧美va欧美va精品| 午夜不卡av免费| 免费xxxx性欧美18vr| 国产一区免费电影| zzijzzij亚洲日本少妇熟睡| 91视频精品在这里| 在线免费视频一区二区| 69堂国产成人免费视频|