-
Notifications
You must be signed in to change notification settings - Fork 47
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
已复现,但指标有些对不上,问题请教下 #11
Comments
@xieyangyi 您好。我也在关注这个任务和该库。但是运行此库代码遇到一些问题,不能跑通。于是放弃,转而直接使用copynet做了实验,得到了跟您类似的结果(仅使用正例训练,9:1划分测试集),BLEU和ROUGE远高于论文中report的结果。请问您在复现时是否修改了此库代码,是否能够提供您修改的方法开放出来呢?十分感谢。 |
恩恩,代码做了修改的,主要修改点:
->
->
无用的代码注释掉
hparam_list 中加入 'encoder_type'
->
->
|
@xieyangyi 您好,我做了和您大致的修改,只有两个地方不太一致 1、beam_search.py hyps = [ |
@Henryflee coverage部分,应该按照你的修改来,谢谢! |
@xieyangyi 暂时还没有到那一步,后续做到了再同步一下。另外, 有一个地方不太清楚,论文中的 lambda ,也就是代码中的 p_ts 和 p_bs (attention_decoder.py 中)好像没有使用,最终的分布没有做加权。(不好意思,大意了,代码是有体现的) |
@Henryflee 我还没注意呢,可以加钉钉吗,我钉钉号 dkj152m |
@xieyangyi @Henryflee 代码已更新。 因公开数据为最新版标注数据,质量有了大幅提高,结果变好是正常的。 |
@xieyangyi 大佬我加了你的钉钉,希望能讨论一下。这里虽然bleu 和 rouge 的指标提升了,但是我这里实际上em的指标下降了 ,而且是0.393挺低的。当然我数据划分和您的不一样。您的0.449是正负样本的均值还是,还是只是针对正样本的呢? |
我也在关注这块,我的微信号15821444815,大家加个群讨论好不 |
@rookiebird 加我微信15821444815,我们讨论下 |
@rookiebird 我的正负样本的em分别是 0.58 和 0.20,你的0.39是综合的吧。 |
是的啊。那其实差不多的。感觉很多改写后的句子比原句变化变化了很多。所以EM没法像论文里面的那么高了吧。您做了实体提取部分的实验了吗?因为是基于字符分词的,我的结果实体往往没法完整提取,比如 骆驼的祥子 -> 祥子 ,傲慢与偏见-> 慢与偏见。然后我基于词来分词,效果非常差,基于词的方式分词,粒度不够细,生成的句子非常不通顺... |
还在尝试分词的效果。 |
@Henryflee 还没有。因为感觉EM确实比论文的结果低太多了,一直在review自己的代码,害怕是有bug。但是感觉应该还是数据集变化了的问题。您说的尝试分词的效果是什么意思?用不同方式分词吗?我之前是直接用jieba 分词,然后用网上找的这个作为词表分词的,取了频率高于600的单词,大概5W多个 https://github.com/ling0322/webdict |
差不多,先看看效果吧。按照作者的说法,现在是优化的数据集的话,EM 应该比论文中的还要高的。 |
|
负样本构造我感觉是个问题,大家讨论下呗,我的微信15821444815 |
例程里面val.sh有什么用呢,怎么感觉没用啊,训练完不就是最新的模型了吗,指教一二 |
@zhangyanbo2007 作者这个code跟普通的每个epoch训练完成后再validate的思路不同,他的val.sh开了一个类似于守护进程的,它每次读取train上保存的最新的模型,不断测试它在dev集上的loss,然后再看是否要保存该checkpoint到eval文件夹下。所以train.sh 和 val.sh 需要同时启动。 |
@liu946 我Fork了一份仓库,能在python3 tensorflow 1.14 下直接跑通,有需要可以看看 https://github.com/SivilTaram/dialogue-utterance-rewriter-py3 |
感谢分享!还不能直接运行
另外,可以启动tensorboard: tensorboard --logdir=log/extractive/train --host=10.186.3.100 --port=8079 |
@wqw547243068 多谢提醒,我当时改了windows的batch script,没有对应更新到linux script上。现在已经fix~ |
@SivilTaram 还是不行。启动train.sh之后,运行val.sh无效,加载模型一直失败,错误原因是shape不一致,我在你的repo下提了一个issue。 |
请问怎么把corpus处理成train.txt,val.txt格式 |
你好,我搜索你的微信的时候显示用户不存在,请问一下能添加一下我的联系方式么15571370691,我也准备把这个运用到对话系统中去 |
上面有人给了新的库,你可以去看看。直接运行那个库的代码或者将那个库中的data文件拷到这个文件夹下应该都可以 |
Our related work is update in https://github.com/NetEase-GameAI/SARG. |
😄 Our related work is here: https://github.com/microsoft/ContextualSP/blob/master/incomplete_utterance_rewriting |
你好,
冒昧的打扰您了,我正在做多轮对话中的改写问题,阅读了您的“Improving Multi-turn Dialogue Modelling with Utterance ReWriter”,深有启发。下载了您的代码,并跑通了结果。但有几个问题想请教您。
1. 您是完全基于github中给出的两万条正样本做训练和预测吗
2. 您的负样本(不需要改写的)是怎么构造的呢,我是通过将正样本中的summarization替换掉current,来构造负样本的,不知道可行不
3. 您训练集和验证集数据有多少呢。我是按照1比3划分的,训练集正负样本共3万条,评测集正负样本共1万条,正负样本比例1:1
4. 您训练集和验证集正负样本比例是1:1吗
5. 我基于pointer-network(LSTM的base网络,没使用coverage机制)的实验结果为,
bleu1: 0.836, bleu2: 0.807, bleu4: 0.746,em_score: 0.449 rouge_1: 0.915, rouge_2: 0.840, rouge_l: 0.865
除了em(exact match)和您给出数据差不多之外,其他两个好得有点离谱了,想请教下
1)您的bleu和rouge怎么计算的呢,不知道是不是我们计算方式不一致。我的计算代码贴在后面
The text was updated successfully, but these errors were encountered: