แหล่งที่มาสำหรับอินเทอร์เฟซแชทสองคนที่ใช้ในการรวบรวมชุดข้อมูล visdial (arxiv.org/abs/1611.08669) บน Amazon Mechanical Turk
หากคุณพบว่ารหัสนี้มีประโยชน์ให้พิจารณาการอ้างถึงผลงานของเรา:
@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
ตารางฐานข้อมูลเก็บภาพจากชุดข้อมูล Coco แต่ละชุดด้วยคำบรรยายภาพแบบสุ่มเลือก ชุดของภาพจากตารางนี้จะถูกส่งไปยังรายการ Redis เพื่อเปิดตัวฮิต เว็บเซิร์ฟเวอร์ที่สอดคล้องกับอินเทอร์เฟซแชทจับคู่คนงาน AMT สองคนกำหนดบทบาท (ผู้ถามหรือผู้ตอบคำถาม) และแสดงอินเทอร์เฟซที่เกี่ยวข้องเลือกภาพจากรายการ Redis เพื่อรวบรวมข้อมูลและบันทึกการสนทนาในฐานข้อมูล สิ่งนี้เกิดขึ้นในแบบคู่ขนานดังนั้นคนงานจะไม่รอคอยและเซิร์ฟเวอร์ทำให้มั่นใจได้ว่าคนงานมี ID ที่ไม่ซ้ำกัน การตัดการเชื่อมต่อได้รับการจัดการอย่างสง่างาม - คนงานที่เหลือจะถูกขอให้ถามคำถามต่อไปหรือให้ข้อเท็จจริง (คำบรรยาย) สูงสุด 10 ข้อความ เมื่อความนิยมเสร็จสมบูรณ์สคริปต์ใน mturk_scripts/approve สามารถใช้ในการตรวจสอบอนุมัติปฏิเสธการเข้าชมและพนักงานจ่ายเงิน
ปรากฏภาพจากรายการ Redis ดึงข้อมูลที่เกี่ยวข้องจากตาราง MySQL แสดงผลการแชทอินเทอร์เฟซและคู่พนักงานบน AMT บันทึกข้อมูลที่ส่งไปยังตาราง MySQL
npm install (จากโฟลเดอร์ nodejs )example.config.js เป็น config.js และตั้งค่าข้อมูลรับรอง mysql และ redisstatic/dataset ไปยัง /path/to/mscoco/images/index.html line 276node index.js ควรให้บริการอินเทอร์เฟซที่ 127.0.0.1:5000สคริปต์เพื่อตั้งค่าฐานข้อมูล MySQL เติมรายการ Redis และอนุมัติ/ปฏิเสธการเข้าชม
example.config.json เป็น config.json และตั้งค่าข้อมูลรับรอง MySQL from_timestamp เป็นเวลา unix timestamp ก่อนที่จะเปิดตัวชุดฮิตcreateDatabase.py และ fillDatabase.py สร้างตาราง mysql เติมด้วยภาพและคำอธิบายภาพและสร้างรายการ Redis สำหรับชุดของการโจมตีcreateHits.py เปิดตัว Hits on AMT mturk_scripts/approve )example.config.json เป็น config.json และตั้งค่าข้อมูลรับรอง mysqlexample.constants.py เป็น constants.py และตั้งค่าข้อมูลรับรอง AMTreviewHits.py ได้รับการโจมตีเสร็จสมบูรณ์และบันทึกไว้ใน amthitsQues.csv และ amthitsAns.csv เพื่อตรวจสอบrejectHits.py เข้า payWorkers.py ในไฟล์ CSV (โดยการเปลี่ยน 'NotApprove' เป็น 'ReviewReject' หรือ 'อนุมัติ') ให้เรียกใช้ approveHits.py เพื่อทำเครื่องหมาย HITs ที่ได้รับการอนุมัติสำหรับการชำระเงินและ reviewRejectedHits.pyบางส่วนของรหัสนี้ (สคริปต์ mTurk) ถูกดัดแปลงจากโครงการ Simple-AMT ของ @JCJohnson
BSD