visdial amt chat
1.0.0
用于收集Amazon Mechanical Turk上的Visdial数据集(arxiv.org/abs/1611.08669)的两人聊天界面的来源。
如果您发现此代码有用,请考虑引用我们的工作:
@inproceedings{visdial,
title={{V}isual {D}ialog},
author={Abhishek Das and Satwik Kottur and Khushi Gupta and Avi Singh
and Deshraj Yadav and Jos'e M.F. Moura and Devi Parikh and Dhruv Batra},
booktitle={Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition},
year={2017}
}
实时聊天接口是使用node.js和socket.io构建的。我们使用REDIS维护活命中的图像池,所有数据最终都位于MySQL数据库中。
数据库表将可可数据集中的图像存储,每个图像都有随机选择的字幕。然后将一批来自该表的图像推到REDIS列表中以启动命中。与聊天接口对应的Web服务器配对两个AMT工人,分配它们的角色(发问器或答案器)并显示相应的接口,从REDIS列表中选择图像以收集数据并将其对话保存在数据库中,也将该图像标记为“完成”一旦命中完成。这是并行发生的,因此工人不会等待,服务器确保工人拥有独特的ID。断开连接是优雅处理的 - 要求其余的工人继续提出问题或提供最多10条消息的事实(字幕)。命中完成后, mturk_scripts/approve中的脚本可用于审查,批准,拒绝命中和付费工人。
从REDIS列表中弹出图像,从MySQL表中检索相关数据,渲染聊天界面和对AMT上的工人对,将已提交的数据保存到MySQL表
npm install安装依赖项(来自nodejs文件夹)example.config.js到config.js ,并设置mysql和redis凭据static/dataset集到/path/to/mscoco/images/符号链接index.html行276node index.js 。脚本设置MySQL数据库,填充REDIS列表并批准/拒绝命中
example.config.json config.json from_timestamp是unix timestamp,然后启动一批命中createDatabase.py and fillDatabase.py创建mysql表,用可可图像和字幕填充它,然后生成一批命中的redis列表createHits.py在AMT上启动热门歌曲mturk_scripts/approve )example.config.json到config.json ,并设置MySQL凭据example.constants.py constants.pyreviewHits.py完成了命中,并将其保存到amthitsQues.csv和amthitsAns.csv供评论approveHits.py ,以标记批准的付款和reviewRejectedHits.py rectectedhits.py, rejectHits.py拒绝payWorkers.py拒绝hits.py,最后是处理付款。此代码的一部分(mturk脚本)改编自 @jcjohnson的Simple-AMT项目。
BSD