Источник для интерфейса чата с двумя людьми, используемым для сбора набора данных 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 для сбора данных и сохраняет их разговор в базе данных, а также отмечает это изображение как «полное», как только хит будет выполнен. Это происходит параллельно, поэтому работники не остаются ждать, и сервер гарантирует, что у работников есть уникальные идентификаторы. Отключаемые обрабатываются изящно - оставшегося работника просят продолжать задавать вопросы или предоставлять факты (подписи) до 10 сообщений. После завершения попаданий сценарии в mturk_scripts/approve можно использовать для рассмотрения, утверждения, отклонения хитов и оплаты работников.
Изображения из списка Redis, получая соответствующие данные из таблиц MySQL, отображает интерфейс чата и сочетает работников на AMT, сохраняет представленные данные в таблицах MySQL
npm install (из папки nodejs )example.config.js в config.js и установить учетные данные MySQL и Redisstatic/dataset to /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 запускает хиты на AMT mturk_scripts/approve )example.config.json в config.json и установить учетные данные MySQLexample.constants.py to constants.py и установить учетные данные AMTreviewHits.py получает завершенные хиты и спасает их на amthitsQues.csv и amthitsAns.csv для обзораapproveHits.py , чтобы отметить утвержденные хиты для оплаты и reviewRejectedHits.py payWorkers.py rejectHits.py , чтобы отклонить хиты и, наконец, платежи.Части этого кода (сценарии MTURK) адаптированы из проекта простого AMT от @JCJOHNSON.
BSD