thu-spmi / damd-multiwoz

Task-Oriented Dialog Systems that Consider Multiple Appropriate Responses under the Same Context, AAAI 2020.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Data update

qin2021 opened this issue · comments

请问是否可以提供MultiWOZ2.1版本的annotated_user_da_with_span_full.json.zip?

annotated_user_da_with_span_full.json是ConvLab提供的,可以试试联系他们

你好,
annotated_user_da_with_span_full.json仅仅是用来做delexicalization(去词汇化),因为他们把每个value在utterance中的span都标出来了,正好方便拿来做预处理使用,但这个文件不是必须的。MulitiWOZ 2.1已经用于了很多工作并在这些工作中由不同开发者进行过类似的预处理,可以去找相关的repo。此外,通过正则匹配value并替换为placeholder的方法也可以自己编写去词汇化部分的预处理代码。

你好,
我还有一个问题。为什么experiments目录下您提供的模型在eval参数(use_true_prev_bspn等)全部设置为false的情况下仍能取得“match: 92.6 success: 79.1 bleu: 19.5”这么好的效果,但是论文中却是:“76.3 60.4 16.6”,请您解答。

因为repo里默认的evaluation设置是在bsdx模式(DST时只预测slot不预测相应的value)下进行的,此时系统查询数据库仍然使用的是ground truth对话状态而不是自己预测的对话状态。将模式bspn后重新训练系统可以复现文中end2end的结果。

是不是意味着当我使用bsdx模式训练并测试的时候受影响的只是end2end,而其他两个任务的测试结果与bspn模式下的测试结果会是一样的?

是不是意味着当我使用bsdx模式训练并测试的时候受影响的只是end2end,而其他两个任务的测试结果与bspn模式下的测试结果会是一样的?
bspn和bsdx分别是在什么情况下使用的呢?
我想复现您论文中的三个任务,bspn_mode和评价参数又该怎么设置呢?
这几个问题困扰我很久了,请您务必解答,谢谢!

提出MultiWOZ数据集的论文中设置了3个benchmark,分别是dialog state tracking, context-to-response generation以及natural language generation,请仔细阅读原论文了解其目的,输入输出,可以使用的ground truth等。End-to-end dialog modeling是指从用户输入到系统输出的完整建模,系统先进行dialog state tracking,再使用自己维护的dialog state进行数据库查询和context-to-response generation。

本论文主要针对解决context-to-response generation,在这个benchmark的设定中,系统不需要自己预测dialog state,而是可以使用ground truth。因此,可以使用bsdx(只预测用户提到的slot而不预测value)模式,并且可以使用真实dialog state的值(对应use_true_prev_bspn=True, use_true_curr_bspn=True)。文中Table2的1-10行就是这样的设定。用bsdx的原因是因为实验中发现效果比bspn略好,因为这个任务的输入是delexicalized(value替换成placeholder, e.g. cheap -> [value_price])后的用户语句,更简单。

End2End dialog modeling是从用户输入到系统输出的所有过程均由系统自己完成,包括dialog state的预测,因此必须使用bspn模型,且不能使用ground truth信息,对应文中table2的11-12行。

相关信息在MultiWOZ原论文、本论文和本repo的README里都已经写明,请参考。

谢谢老师,多有叨扰,十分抱歉,再次感谢!