Amazon Mechanical Turk에서 Visdial DataSet (arxiv.org/abs/1611.08669)을 수집하는 데 사용되는 2 인 채팅 인터페이스 소스.
이 코드가 유용하다면 우리의 작업을 인용하는 것을 고려하십시오.
@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를 보장합니다. 단절은 우아하게 처리됩니다. 조회수가 완료되면 mturk_scripts/approve 의 스크립트를 사용하여 검토, 승인, 히트를 거부하고 근로자를 지불 할 수 있습니다.
Redis 목록의 POPS 이미지, MySQL 테이블에서 관련 데이터를 검색하고 채팅 인터페이스를 렌더링하고 AMT에서 작업자를 쌍으로, MySQL 테이블에 제출 된 데이터를 저장합니다.
npm install 사용하여 종속성 설치 ( nodejs 폴더에서)example.config.js config.js 로 복사하고 mysql 및 redis 자격 증명을 설정하십시오.static/dataset 에서 /path/to/mscoco/images/index.html line 276의 앱 경로를 업데이트하십시오node index.js 이제 127.0.0.1:5000에서 인터페이스를 제공해야합니다.MySQL 데이터베이스를 설정하고 Redis 목록을 채우고 HIT를 승인/거부하는 스크립트
config.json 으로 example.config.json 을 복사하고 mysql 자격 증명을 설정하십시오. from_timestamp 히트의 배치를 시작하기 전에 Unix 타임 스탬프입니다.createDatabase.py 및 fillDatabase.py MySQL 테이블을 만들고 코코 이미지와 캡션으로 채우고 히트의 배치에 대한 Redis 목록을 생성합니다.createHits.py AMT에서 히트를 시작합니다 mturk_scripts/approve )config.json 으로 example.config.json 을 복사하고 mysql 자격 증명을 설정하십시오.example.constants.py constants.py 상수로 복사하고 AMT 자격 증명을 설정하십시오.reviewHits.py 히트를 완료하고 amthitsQues.csv 및 amthitsAns.csv 에 저장합니다.reviewRejectedHits.py 드 approveHits.py , hits를 rejectHits.py , 결제 업무자에게 지불하는 히트 곡을 표시하고 프로세스 결제에 대한 payWorkers.py이 코드의 일부 (mturk 스크립트)는 @jcjohnson의 Simple-AMT 프로젝트에서 수정되었습니다.
BSD