-
Notifications
You must be signed in to change notification settings - Fork 27
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
train_trans.txt和train_tree.txt里面数据含义和作用是什么 #8
Comments
您好,感谢您的关注~ 这里train_trans.txt 中,数据9元组,元组的每一行代表的是: train_tree.txt 中,每一行代表预测时候所需要的tree-path信息(query),它会对应着 train_trans.txt 中的每一个规则(对于整个卡牌代码来说是多行对应一行,如果卡牌inference需要 m 步,则是 m 行对应一行)。 Zeyu |
您好,非常感谢您耐心细致的解答!我为feed_dict输入的batch对应上train_trans.txt,做了个表格,不知道正不正确。 但我仍有一些困惑 再次感谢您的解答,祝生活安康,前路似锦! _, pre, a = sess.run([model.optim, model.correct_prediction, model.cross_entropy], feed_dict={
model.input_NL: batch[0], //输入的自然语言
model.input_NLChar:batch[1], //输入的自然语言字符
model.inputparentlist: batch[5], //?
model.inputrulelist:batch[6], //这里是对应Rule.txt中的信息么?
model.inputrulelistnode:batch[7], //?
model.inputrulelistson:batch[8], //?
model.inputY_Num: batch[9], //要预测出的规则+变量标识符(pointer network)
model.tree_path_vec: batch[12], //tree-path信息,作为decoder的query
model.labels:batch[18], //?
model.loss_mask:loss_mask,
model.antimask: pre_mask(),
model.treemask: batch[16], //?
model.father_mat:batch[17], //?
model.state:state, //?
model.keep_prob: 0.85,
model.rewards: rewards, //?
model.is_train: True
}) |
您好, 这个代码经过了太多次修改,有些没用的代码没有删除,以及有些变量名不大合适,给您带来了麻烦,非常抱歉。 对于第一个问题和表格: 既然表格和代码注释近似同源,我就把信息补充在注释上了 _, pre, a = sess.run([model.optim, model.correct_prediction, model.cross_entropy], feed_dict={
model.input_NL: batch[0], //输入的自然语言
model.input_NLChar:batch[1], //输入的自然语言字符
model.inputparentlist: batch[5], // 用不到
model.inputrulelist:batch[6], // 已经使用过的规则序列(从1开始标号),对应 9元组 中第 6 行
model.inputrulelistnode:batch[7], // Rule.txt中的信息,每个位置中用于 rule definition encoding 的父结点 (通过规则序号查表可得)
model.inputrulelistson:batch[8], // Rule.txt中的信息,每个位置中用于 rule definition encoding 的子结点(最多10个)(通过规则序号查表可得)
model.inputY_Num: batch[9], //要预测出的规则+变量标识符(pointer network)
model.tree_path_vec: batch[12], //tree-path信息,作为decoder的query
model.labels:batch[18], // 用于 模型中的 depth embedding,表示结点在AST中的深度信息
model.loss_mask:loss_mask,
model.antimask: pre_mask(),
model.treemask: batch[16], // Tree Conv 部分所使用的邻接矩阵
model.father_mat:batch[17], // 用不到
model.state:state, // 用不到
model.keep_prob: 0.85,
model.rewards: rewards, // 用不到
model.is_train: True
}) 对于第二个问题: 我们在inference过程中检测了一下:如果预测的规则的父结点和我们要扩展的结点不是同一类型结点,我们就将其过滤掉。 if i < len(Rule) and Rule[i][0] != JavaOut.Node: 这行表示,如果预测的规则号 再次感谢您的关注~如果有什么问题欢迎继续问我~ Zeyu |
您好,我对模型的自回归模式有些疑惑(╯﹏╰)b。 模型的输出 y_result 是整个样本的规则序列,但是在同一个训练样本里,不同的节点(当前预测的rule)使用的tree_path、inputrulelistnode、inputrulelistson和深度信息 labels 是不同的,这是怎么做到的呢? |
抱歉,最近太忙了,回复晚了。 其实输出,在训练和 inference的时候是个矩阵 [输出长度, 输出预测结果],而不是一个自回归的 vector,因而可以用矩阵存下每步的信息。 |
Zeyu您好,@zysszy 我想要请教一个关于第7行数据的问题
在
那么第7行的10003表示copy自然语言中的第3个时,应该是 另外是第一个10012处,应该是其父类 非常感谢! |
这里是HS-B的环境下,我使用了一些semi structural的information。这里我在处理的时候设置了一个特殊的规则(在HS-B里允许copy一整个字段)。10003 代表从0开始数第3个词,应该是 NAME_END,代表copy一整个name。 MinionCard也是copy了一整个字段,同时在HS-B里,我加了一段后处理,使得MinionCard == Minion。 Zeyu |
谢谢您的回复! |
The text was updated successfully, but these errors were encountered: