【機能紹介】Amazon Mechanical Turkをサクッと調べてみた！！！

いつも記事を読んでいただきありがとうございます！
モブエンジニア（[@mob-engineer](https://qiita.com/mob_engineer))です！

AWS MLA-C01の勉強を行っている中で**Amazon Mechani Turk**といったサービスが出てきたので、自身のキャッチアップの一環として調べた内容を記事でまとめてみました。

分量としてそこまで多くないので、気軽に読んでいただければ幸いです。

# 目次
- 想定読者層
- Amazon Mechani Turkとは
- 利用方法
- まとめ

## 想定読者層

**Amazon Mechani Turkの概要についてざっくり知りたい方**や、**機械学習用データのラベル付け方法を知りたい方**に役立つ記事かと思います。

## Amazon Mechani Turkとは
サービスページを見ると以下のように記載されています。

>Amazon Mechanical Turk (MTurk) は、クラウドソーシング マーケットプレイスです。個人や企業が、分散した労働力にプロセスや仕事をアウトソーシングして、これらのタスクを仮想的に実行することを容易にします。これには、単純なデータ検証や調査の実施から、アンケートへの参加、コンテンツのモデレーションなどのより主観的なタスクまで、あらゆるものが含まれます。MTurk を使用すると、企業はグローバルな労働力の集合知、スキル、洞察を活用して、ビジネス プロセスを合理化し、データの収集と分析を強化し、機械学習の開発を加速できます。

引用元:[Amazon Mechanical Turk](https://www.mturk.com/)

凄く分かりやすく言えば、クラウド利用時に発生する単純タスク（例：画像データへのラベル付け対応など）を外部委託するのを支援するサービスのようです。

ビジネス視点で考えてみると、**社内リソースをコア業務に集中できるため、より利益貢献につなげられる**といったメリットがあるのかなぁと思いました。

ユースケースとして次のように記載されていました。

- 機械学習ワークフローの構築、管理、評価
    - AI2を活用した業務フロー（例：AIが生成した記事を人間がチェックするなど）に活用するイメージです
- ビジネスプロセスアウトソーシング
    - 単純作業（ノンコア業務）を外部委託することで、社内リソースをコア業務へ集中できるイメージですね

機能サイトを見てみると、AWS SDKをサポートしているようですので、何かしらのトリガーをもとに、API実行し、Amazon Mechanical Turkへタスクを依頼するといったユースケースも考えられるのかなぁと思いました。

また、以下機能は個人的に興味深かった印象を持ちました。
>資格は、リクエスタがどのワーカーにタスクの表示と作業を許可するかを細かく制御するための強力なメカニズムを提供します。独自のカスタム資格タイプを作成することも、MTurk が提供する資格タイプを使用して、従業員を資格認定および管理することもできます。

引用元:[特徴](https://www.mturk.com/product-details)

端的に言えば、**外部委託したタスクに対してスペシャリストへ委託することも可能**といったニュアンスかと思います。

ビジネスプロセスアウトソーシングを考えている事業会社さんは**Amazon Mechanical Turkを利用するのも一つの手**なのかなぁと思いました。

:::note warn
利用料に関しては外部委託する業者によって異なるそうですので計画的に利用することをおススメします。
基本的な計算式としては以下の通りです。
- 労働者に支払う報酬およびボーナス額（ある場合）の 20% の手数料。
- 10 件以上の割り当てがある HIT には、ワーカーに支払う報酬に対して 20% の追加手数料が請求されます。
- 最低料金は、割り当てまたはボーナス支払いごとに 0.01 ドルです。
- マスター資格利用の場合は、手数料はワーカーに支払う報酬の 5% です。
- プレミアム資格利用の場合は、課題ごとの追加料金は 0.05 ドルから始まり、資格によって異なります

引用元：[価格](https://www.mturk.com/pricing)
:::

また、FAQページに各ユースケースに対する適切な利用方法も示されているのでそちらも確認するとよいかと思います。

#### Amazon Mechanical Turk FAQ

https://www.mturk.com/help

## 利用方法
サービス画面の**Amazon Mechanical Turkを使い始める**ボタンをクリックすることで、ログイン画面が表示されます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3846878/5a8d6690-75a7-3937-a2a7-1a86c6593aee.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3846878/1e36deeb-6cca-e226-3608-c6f17ec647cf.png)

:::note info
リクエスト者アカウントを作成する場合、AWS or AmazonアカウントからMechanical Turkを別途作成する必要があります。（私の環境ではエラーとなったため作成できていないですが）

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3846878/9b6ec6b5-379c-b451-f144-136cb7517b48.png)

ちなみに、**ワーカーアカウントをリクエストする**をクリックした場合は、Amazonアカウントのログイン画面が表示されたため、おそらく、Amazonアカウントのみで問題ないかと思います。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3846878/f5d24478-53a2-db9d-3581-c4ceafc9bc94.png)
:::

ざっくり利用手順を見てみましたが、Amazonの注文と同じような感じの処理なのかなあと思いました。
そのうえで、画像データのラベル付けなどの機械学習に特化したタスクは**Amazon SageMaker Ground Truth**で実現可能なので、BPO視点での利用が中心なのかなぁと思いました。

:::note warn
他ブログの情報を見てみるとワーカーとのやり取りは基本英語になってしまうので、日本企業の場合はすこし利用ハードルが高いのかなぁと思います
:::

## まとめ
簡単ですがAmazon Mechanical Turkについて調べて見ました。
調べて見て感じたこととして、**機械学習に関する単純タスク（ラベル付けなど）以外のBPOに関してもうまい感じで利用できれば、業務改善⇒ビジネス創造につながる可能性がある**と個人的に思いました。

そのうえで、情報リソースが少ないため（国内・国外ともに）ように見受けられたため、実運用に落とし込むためには、ある程度本腰を入れて調べる必要があるのかなぁと思いました。

### 参考サイト

https://zenn.dev/takumi1001/articles/065162600b9211

https://en.wikipedia.org/wiki/Amazon_Mechanical_Turk

https://qiita.com/ssmsaito/items/9ea350cc19e02c991aad

最後まで記事を読んでいただきありがとうございます！！