-
大小: 93.28MB文件類型: .tar金幣: 1下載: 0 次發布日期: 2022-09-24
- 語言: 其他
- 標簽: tensorflow??RNN??PTB??
資源簡介
來源于 Tomas Mikolov 網站上的 PTB 數據集http://www.fit.vutbr.cz/~imikolov/rnnlm/simple-examples.tgz。
該數據集已經預先處理過并且包含了全部的 10000 個不同的詞語,其中包括語句結束標記符,以及標記稀有詞語的特殊符號 () 。我們在 reader.py 中轉換所有的詞語,讓他們各自有唯一的整型標識符,便于神經網絡處理。
代碼片段和文件信息
#include?
#include?
void?main(int?argc?char?**argv)
{
????int?a?b?i?cn?bestwcn?wcn?last_nbest?nbest;
????float?bestscore?score?acscore?lmscore?rnnscore;
????float?LM_SCALE?WI_PENALTY;
????char?st[1000];
????char?best[1000][1000];
????char?curr[1000][1000];
????FILE?*f1?*f2;
????
????if?(argc<=2)?{
printf(“Need?2?arguments?-?score?file?&?nbest?list\n“);
exit(1);
????}
????
????f1=fopen(argv[1]?“rb“);
????f2=fopen(argv[2]?“rb“);
????
????
????i=0;
????bestwcn=0;
????bestscore=-1000000;
????last_nbest=0;
????while?(1)?{
fscanf?(f1?“%f“?&rnnscore);
fscanf?(f2?“%d“?&nbest);
if?((last_nbest!=nbest)?||?feof(f2))?{
????for?(a=0;?a ????printf(“\n“);
????bestwcn=0;
????bestscore=-1000000;
}
last_nbest=nbest;
if?(feof(f1))?break;
fscanf?(f2?“%f“?&acscore);
fscanf?(f2?“%f“?&lmscore);
fscanf?(f2?“%d“?&wcn);
wcn=0;
fscanf?(f2?“%s“?st);
fscanf?(f2?“%s“?st);
while?(1)?{
????fscanf?(f2?“%s“?curr[wcn]);
????
????if?(!strcmp(curr[wcn]?““))?break;
????
????wcn++;
}
fscanf?(f2?“%s“?st);
LM_SCALE=14;
WI_PENALTY=0;
score=acscore?+?rnnscore*LM_SCALE?+?wcn*WI_PENALTY/(2.718);
//score=acscore?+?(rnnscore+lmscore)/2*LM_SCALE?+?wcn*WI_PENALTY/(2.718); //optionally?the?LM?scores?from?lattices?can?be?used?like?this
if?(score>bestscore)?{
????for?(a=0;?a ????bestwcn=wcn;
????bestscore=score;
}
????}
}
評論
共有 條評論