Sumber untuk antarmuka obrolan dua orang yang digunakan untuk mengumpulkan dataset visdial (arxiv.org/abs/1611.08669) di Amazon Mechanical Turk.
Jika Anda menemukan kode ini bermanfaat, pertimbangkan mengutip pekerjaan kami:
@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}
}
Antarmuka obrolan real-time dibangun menggunakan node.js dan socket.io. Kami menggunakan Redis untuk mempertahankan kumpulan gambar untuk hit langsung dan semua data akhirnya berada di database MySQL.
Tabel database menyimpan gambar dari dataset Coco masing -masing dengan keterangan yang dipetik secara acak. Batch gambar dari tabel ini kemudian didorong ke daftar Redis untuk meluncurkan hit. Server web yang sesuai dengan antarmuka obrolan memasangkan dua pekerja AMT, memberikan peran (penanya atau penjawab) dan menunjukkan antarmuka yang sesuai, memilih gambar dari daftar Redis untuk mengumpulkan data dan menyimpan percakapan mereka dalam database, juga menandai gambar itu sebagai 'lengkap' setelah hit selesai. Ini terjadi secara paralel sehingga pekerja tidak dibiarkan menunggu, dan server memastikan pekerja memiliki ID yang unik. Putusan ditangani dengan anggun - pekerja yang tersisa diminta untuk terus mengajukan pertanyaan atau memberikan fakta (teks) hingga 10 pesan. Setelah hit selesai, skrip di mturk_scripts/approve dapat digunakan untuk meninjau, menyetujui, menolak hit dan membayar pekerja.
Gambar pops dari daftar redis, mengambil data yang relevan dari tabel mysql, membuat antarmuka obrolan dan memasangkan pekerja di AMT, menyimpan data yang dikirimkan ke tabel mysql
npm install (dari folder nodejs )example.config.js ke config.js , dan atur kredensial mysql dan redisstatic/dataset ke /path/to/mscoco/images/index.html 276node index.js sekarang harus melayani antarmuka di 127.0.0.1:5000Skrip untuk mengatur database mysql, mengisi daftar redis, dan menyetujui/menolak hits
example.config.json ke config.json , dan atur kredensial MySQL. from_timestamp adalah cap waktu UNIX sebelum meluncurkan sejumlah hitcreateDatabase.py dan fillDatabase.py membuat tabel mysql, mengisinya dengan gambar dan teks coco dan menghasilkan daftar redis untuk batch hitscreateHits.py meluncurkan hit di AMT mturk_scripts/approve )example.config.json ke config.json , dan atur kredensial mysqlexample.constants.py ke constants.py , dan atur kredensial AMTreviewHits.py akan menyelesaikan hit dan menyimpannya ke amthitsQues.csv dan amthitsAns.csv untuk ditinjauapproveHits.py untuk menandai hit yang disetujui untuk pembayaran dan reviewRejectedHits.py , rejectHits.py untuk menolak hit, dan akhirnya payWorkers.py untuk memproses pembayaran untuk memproses pembayaranBagian dari kode ini (skrip Mturk) diadaptasi dari proyek sederhana @jcjohnson.
BSD