LSTM的PTB数据集
用于LSTM自然语言处理的经典数据集,本来想免费的,现在CSDN最低两分,各位对不住了
代码片段和文件信息
#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
“);
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(“
“);
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;
}
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。
评论列表(条)