LoginSignup
5
2

More than 3 years have passed since last update.

Amazon Mechanical Turkを使う時に知っておくべき知識集

Last updated at Posted at 2021-01-26

はじめに

以下では、Amazon Mechanical Turk (MTurk)上で使われる様々な概念について説明を記しておきます。
意味を知りたい時に辞書として引いたり、注意事項が知りたい時に読んでもらえると幸いです。

なお、下記のコンテンツはある程度プログラミングの知識があるリクエスタ視点で書かれています。
一部Amazon Mechanical Turk APIの知識を伴いますので、適宜公式ドキュメントも合わせてご参照ください。

書きかけの記事です。随時更新していきます。

用語

Requester

定義

リクエスターと読みます。HIT(マイクロタスク)を所有し、ワーカーに対して依頼するユーザー。

アカウント作成

ここ(Sandboxはここ)から。Amazon.com(日本のAmazon.co.jpとは異なる)のアカウントでログインし、そこへMTurkリクエスタ用アカウントを別途作成して紐付けることになります。

Worker

定義

ワーカーと読みます。HITを作業し、報酬を受け取るユーザー。2021年1月現在、日本からも登録が可能。
稼いだ報酬は銀行口座に米ドル、またはAmazon.comギフトカードとして換金できる1

アカウント作成

ここ(Sandboxはここ)から。リクエスタと同様、Amazon.com(日本のAmazon.co.jpとは異なる)のアカウントでログインし、そこへMTurkワーカー用アカウントを別途作成して紐付けることになります。
本番アカウントの承認には2日ほどかかる場合があるので注意。

HIT

定義

ヒットと読みます。MTurkにおいてワーカーが実際に作業を行い報酬を得るという手順を踏むための最小単位で、実体としては1つの静的なウェブページを指します。

ワーカーは普段、以下のようなHITグループ(後述)の一覧ページから、

image.png

あるグループにて公開されているHITを確認(Discover)したのち、そのHITの1つを試し見(Preview)するか、あるいは回答権を取得(Accept)します。その時、以下のような画面が提示されます。

image.png

ここでは、「Receipt Transcription」というHITグループに含まれる、1万を超えるHITのうちの1つ(ランダムに選ばれる)がページ内のIFrameとして組み込まれて表示されます。このHITで作業し回答を提出(Submit)した結果が、UI上部に示された額の報酬が支払われる対象となります。この時ウェブページ全体が一度リロードされ、他のHITの回答権がまだあれば、それらのうちどれか一つがランダムに選ばれて表示されます。

Sandbox

定義

本番環境のプラットフォーム(本物のワーカーへタスクを依頼する場所)とそっくりに作られたテスト環境。リクエスタ側・ワーカー側どちらも存在するが、いずれもリクエスタが開発作業中にテストできるようにすることを目的として用意されています。本番環境とは別にMTurkアカウントの作成が必要です

Sandboxプラットフォームに入ると、以下のようにページ上部にオレンジ色の帯が入るのが目印。

image.png

留意事項

HITを開発して本番環境に公開する前に、必ずSandboxで動作テストをしましょう。開発したHITのウェブページは、バグや不具合を含むことで、Submitに失敗する・Submitボタンが押せない・メディアがリンク切れしている・制限時間の設定が短すぎる など、エラーが非常に発生しやすいです。
ここを怠ると、数々のワーカーからのメールへの返信と補填の作業に追われることになります。

Assignment

公式ドキュメント

あるHITにおける、あるワーカーの作業情報を指します。HITがAccept/Submit/承認(Approve)または棄却(Reject)されたときのタイムスタンプや、回答内容そのものの情報を持っています。

AssignmentIdは、ワーカーがHITをAcceptしたタイミングで発行されます。ただし、そのAssignmentにおいてHITがSubmitされない限り、APIからは参照不可能です(存在しないものとして扱われる)。

HITとAssignmentの関係は1対多です。Assignmentの数は、0以上かつHITのMaxAssignmentsの数以下となります。

以前、同じようなタイミングで同じHITをAcceptした異なるワーカーに同一のAsssignmentIdが振られた事例があった気がした... おそらくMTurkのバグ?

HITGroup

HITType

HITLayout

HIT#Question

Qualification

MTurk API

Operations

注意事項があるもののみ記載しています。
全てのOperationリストはこちら(公式ドキュメント)

AssociateQualificationWithWorker [doc]

Qualificationをワーカーに付与する。

  • 付与したらワーカーにメールで知らせるSendNotificationがデフォルトで有効化されている。

CreateHITWithHITType [doc]

HITTypeを作成する。CreateHITするときに指定するとパラメータが少なくなって楽。

  • 消す方法が用意されてない。

GetAccountBalance [doc]

リクエスターアカウントのプリペイド残高を取得する。

  • Sandboxの場合、いつも$10000.00が返る。
  • プリペイドではないAWS Billingに支払い方法を変更した場合、いつも$0.00が返る。

ListHITs [doc]

作成したHIT一覧を返す。

  • 日時昇順
  • MaxResults(一度に返すHIT件数)の上限は100。
  • ListHITsに限ったことではないが)MaxResultsに収まりきらなかったデータは、その時返ってきたNextTokenを次の実行のNextTokenパラメータに渡せばOK。一番後ろにたどり着いた時点でNextToken=Noneとなる。

NotifyWorkers [doc]

ワーカー(複数可)にメールを送る。

  • 一度も自分のHITをSubmitしたことがない(=いずれのHITにもAssignmentの記録が存在しない)ワーカーには送れない。
  • ワーカーからメールが来たor返ってきた時には直接メールに返信でOK。

RejectAssignment [doc]

ワーカー回答を棄却する(=報酬を支払わない)。

  • 棄却した後も、回答から30日以内かつHITが消えていなければApproveAssignmentOverrideRejection=Trueで実行すれば承認できる。

SendBonus [doc]

ワーカーにボーナス(追加の報酬)を支払う。

  • 回答を受け付けた後でないと実行できない。(AssignmentIdパラメータが指定できないので)
  • メールの文面にそのまま載るReasonパラメータで、ボーナス額の根拠をしっかり示してあげるのを推奨。
  • 「基本報酬を安くしてボーナスを沢山支払う」ようなHITはバッドプラクティス。本当に払ってくれるかどうか疑わしいお金は金額に関わらずワーカーに好まれない。基本報酬は満足ラインで保証した上で、報酬額が満たなかった場合に補填したり、良い働きをしたワーカーにチップ的感覚で払うのが健全な使い方。

UpdateExpirationForHIT [doc]

HITの有効期限を変更する。

  • 今すぐ有効期限切れにしたければ今より前の適当な時間を渡せばOK。

  1. Amazon Mechanical Turk FAQs - How do I get paid? https://www.mturk.com/worker/help 

5
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
2