医療用人工知能研究に求められるデータ生成・監査タスクを海外委託する

この記事は12分で読めます

サマリー

 医療用人工知能の学習データの作成には時間とコストがかかります。そこで、インターネットを活用して軽作業を委託する「クラウドソーシング」を通じて海外の医療従事者に作業を委託する試みを行いました。今回の試みでは、利用者の多いクラウドソーシングサイトである「UpWork」を利用し、スリランカ在住の医師に自動的に生成した文献データの医学的な監査作業を委託しました。UpWorkでは委託管理のシステムが確立されていため、実作業において、応募・作業・決済はスムーズに進みました。また、作業履歴も遠隔で確認することができ、結果的に研究利用するうえで十分な品質のデータが完成しています。最終的に、国内医師を雇用するケースに比べて5分の1程度のコストで監査作業を行うことができました。合わせて行った作業者へヒアリングを行ったところ、作業者側にとっても大きなストレスなく作業を行えることが確認できています。クラウドソーシングを利用した作業委託は応用範囲が広いため、今後は医療用人工知能の研究開発への活用が期待できそうです。

海外に作業を委託する理由

 近年、人工知能の研究開発が活発になっています。その中でも目覚ましい成果を上げているのが機械学習によって能力を向上させていくタイプの人工知能です。この種の人工知能では多かれ少なかれデータが必要になるため、データをどのように集め、学習させ、検証するかが人工知能研究の鍵になってきます。この人工知能研究に必要となるデータの作成には、人間が関与せざるをえない部分が少なからず存在し、殆どの場合は膨大な単純作業を必要とします。これは人手と時間がかかる作業で、大きな課題となっていました。

 これは医療用人工知能研究でも変わりません。プログラムが出力したデータが医学的に正しいか、有用であるかはその領域に関する知識と経験の豊富な人間が判断するしかなく、信頼のおける医療従事者が必要不可欠となります。しかし、国内の医療従事者の人件費は高く、一般的な人工知能研究に比べてデータ生成にかかるコストが高額となってしまうのです。この状況は、日本の医療用人工知能研究の研究コストを増加させることとなり、人工知能の研究開発が進まない一因となっています。また、問題は開発コストだけではありません。医師は精神的な集中を要求される膨大な単純作業を好まないため、予算があったとしても協力者の確保は簡単なことではありません。

 もし、海外の医療従事者を効率的にリクルートし、データ生成業務を委託することが出来れば、この人件費の問題と研究協力者の確保の問題が解決する可能性が出てきます。とりわけ、データ作成の多くは単純作業であることから、コミュニケーションにハードルがある海外医療従事者であっても必要事項の伝達は容易であり、データ生成業務の委託も現実的な選択肢として考えられるようになります。 加えて、クラウドソーシングサービスが発達したことで、最近では海外の単純作業者を探すことも容易になっています。大規模なものになると世界数十カ国から一千万人以上のワーカーが集まり、総額一千億円以上の取引がなされる巨大な労働市場が形成されています。言語を問わなければ有望な労働者をすぐに見つけられるでしょう。具体的には、作業ジャンルを問わないクラウドサービスとして「UpWork」「Freelancer.com」が存在し、特定の作業に特化したサービスとしては「Amazon Mechanical Turk」などが知られています。

 このクラウドソーシングを利用することで、委託者は海外の賃金の安い作業者を簡単に確保でき、作業者は自国の賃金よりも高い報酬で作業ができることも多いため、多くの医師やエンジニアが海外の作業を受注しています。そこで、こうしたサービスを利用することで、安価に医療用人工知能研究のデータ生成ができないか検証を試みました。

委託内容と作業手順

 今回クラウドサービスで委託する業務として取り上げるのは「医療に関するウェブページの内容検証作業」です。ここで検証するウェブページは、医療関係のウェブサイトの中から有用と考えられるものをアルゴリズムが自動的に選んだ結果です。具体的な検証作業としては、ウェブサイトの名称やURLなどが含まれている一覧ファイルに対し、作業者は各URLの内容を確認し、それが特定の疾患に関する医学的に有用なウェブサイトかどうかを判断するというものです。

ウェブサイトの名称・URL・疾患名などが含まれる一覧ファイル
(ウェブサイトの名称・URL・疾患名などが含まれる一覧ファイル)

 この一覧データに含まれるURLを「明らかに病気と無関係のデータ」や「有用性の低いデータ」として正しく判定することで、アルゴリズムの性能向上に役立てることができます。リストに含まれるウェブサイトの種類は多岐に渡り、公的機関の情報提供サイトや医学論文の概要を含むサイトもあればニュースの記事や製薬会社のホームページなども含まれています。こうした理由から、作業者は専門知識を有する医師が望ましいでしょう。

 判定作業自体は極めてシンプルです。病名とURLが含まれるリストを渡された作業者はURLを1つ1つ確認しながら、有用なサイトには「Useful」とラベルを付けます。そうでないサイトには「Non medical」「Mismatch」「Poor」「List」「Other」「Garbage」「Non-English」のいずれかのラベルをつけます。この場合、「Useful」以外は不適切なサイトとして扱われることになります。

作業委託に使ったツール

 この作業には時間がかかるため、Googleスプレッドシートのスクリプトを活用し、作業効率の向上が図られました。具体的には、リストの中で判定に必要となる「病名」「URL」「ウェブサイトのサムネイル」「ラベル(選択肢)」のみが画面表示され、作業者はサムネイルだけで判断できる場合はラベルをクリックして先に進み、判断が難しい場合にURLをクリックして詳細を確認します。マウスのみでの作業も可能となっており、100個のURLを20-30分程度で判定できるGoogleスプレッドシートのスクリプトを用意しました。
このツールを実現するために「判定に利用するウェブサイトのサムネイル作成」「URLリストの分割」「Googleスプレッドシートの作成」「スプレッドシートへのスクリプトの埋め込み」等の環境整備を予め行い、作業者が判定作業を行った後に「データのダウンロード」と「集計」を行って結果を出力する体制も整えておきました。

ラベルとサムネイルが表示されている判定画面
(ラベルとサムネイルが表示されている判定画面)

クラウドサービス上で作業者を募集する

今回利用したクラウドサービス「UpWork」のホームページ
(今回利用したクラウドサービス「UpWork」のホームページ)

 今回、作業者を探すのに使ったクラウドサービスは「UpWork」です。oDeskとして2003年にサービスをスタートさせたUpWorkは、2017年の時点で全世界180カ国1400万人がユーザー登録しており、クラウドサービスとしては世界トップレベルの規模を誇ります。雇用者側が負担する手数料は支払額の2.75%、作業者側は報酬に応じて5%-20%の手数料が取られます(2018年1月時点)。高額の報酬になるほど手数料が減るシステムとなっているのも大きな特徴の一つです。

 会員登録の段階ではクレジットカード情報などは不要で、必要な情報を入力したらすぐに仕事を作成して募集をかけることができます。一般募集はせずにワーカーを検索して直接依頼する事も可能です。また、ユーザー登録せずにワーカーを探すこともでき、利用の敷居を下げるための多くの工夫がこらされています。ただし、ユーザー登録をしなければコンタクトを取ることはできず、プロジェクトを作成しての募集もできません。とりあえずワーカーを探してみて、見つかったら登録するという形で利用することできるでしょう。

UpWorkの求人票情報作成画面。ワーカーのレーティングなどを絞りこめる
(UpWorkの求人票情報作成画面。ワーカーのレーティングなどを絞りこめる)

 求人票を作成するために入力可能な情報は様々ですが、業務内容の説明さえ記入すればとりあえずの求人はできます。ただし、時給制かプロジェクト単位の支払いになるかは最初の段階で決めておく必要があります。業務内容を説明する項目では必要なスキルなども記載することが一般的で、通常はこちらに記載する形で募集するのが良いでしょう。その他にも、UpWork内での実績やレーティングを指定して絞り込むことも可能で、UpWorkのシステムを理解してきたらより細かな条件で作業者を探すこともできるようになっています。また、応募の際にワーカーが答える質問事項なども用意できるため、スキルの有無や実績についての質問を用意しておけば、応募者の選定が容易になるはずです。

 求人票の提示段階では支払い方法の登録などは不要です。しかし、ワーカーと実際に契約する際には支払いに必要な情報を登録する必要があります。方法はクレジットカードの他にPaypalがあり、クレジットカードの場合は承認後に返金される数ドル程度事前課金(デポジット)が行われます。クレジットカードの課金がすぐに確認できない場合には承認にやや時間がかかるため、早めに対応しておくことが望ましいでしょう。

応募者の確認と契約まで

応募者の一覧画面。UpWorkにおける平均時給や実績などが表示される
(応募者の一覧画面。UpWorkにおける平均時給や実績などが表示される)

今回の委託では、医療分野の専門知識を持つワーカーを募集しました。その結果、1週間で10名前後、3週間で18名(辞退3名)の応募者が来ました。新規案件はユーザーに参照されやすいため、募集直後が最も応募者が増えるようです。応募者に対してこの段階でメッセージのやり取りなどをすることが可能で、応募時に用意した質問への回答を深掘りし、実績の詳細情報や医療従事者としての証明書の提示を求めることもできるようになっています。

今回の応募者を見てみると、職種は医師・薬剤師・研究者・医学生・ライターなどと幅広く、医師だけでも5名いました。他にも実績の豊富な医療の専門家と思しきワーカーは6-7名おり、半数以上が作業に適した医療関係者だったことになります。ただ、あくまでプロフィールや質問への回答から確認できるものだけであり、これだけでは信頼できるワーカーかどうかは分かりません。

また、募集してきたワーカーのUpWorkにおける平均時給は時給10ドルから65ドルと幅広いが、これは現在の職業の他に応募者が居住する地域にも大きな影響を受けているため、平均時給が高いからといってスキルのあるワーカーだとは限りません。むしろ、先進国の医師で時給が50ドル前後だった場合には却って注意が必要かもしれません。

UpWork上で確認できるワーカーの実績に関する資料
(UpWork上で確認できるワーカーの実績に関する資料)

 作業者に目星をつけたら、直接メッセージを送って実績を証明できるものを提示してもらうこともできますし、UpWork上で今までの仕事の実績やフィードバックを確認することも可能です。過去の仕事の内容や成果物が提示されているケースもあるため、過去に同様の仕事をこなし、高く評価されているのであれば判断材料となるでしょう。

 しかし、あくまで「本物の医師」に作業を依頼したいという場合には「UpWork上での実績」だけでは不十分です。日本や米国(州ごと)など医師データベースを提供している国ならそれを使用できますが、途上国のようにそうしたシステムが無い場合やそもそも相手がデータベースに登録していない場合には医師免許や学位証明書で医師であることを確認する必要があります。 また、過去の実績や所属病院のウェブサイトを用いた存在確認の方法もあります。所属病院の医師リストと病院のドメインが入ったメールで本人確認すれば良いため、こちらは手軽に行なえます。実際のスキルを確認する場合は、求人票により詳細な質問を加えるか、Skypeでのインタビューの実施、小規模のプロジェクトによる試雇などが考えられます。実施するプロジェクトに応じて、それに合わせた資格・スキルの確認を行うと良いでしょう。

採用した作業者と賃金について

委託したワーカーのプロフィール画面
(委託したワーカーのプロフィール画面)

 検討の結果、今回はスリランカのA医師に依頼することにしました。A氏はスリランカ最大の大学であるコロンボ大学を卒業しており、国の研究機関での勤務経験もありました。UpWork上での実績も豊富で、論文の著者名でも名前が確認できていたため、A氏が専門的な知識を有するワーカーであることはほぼ間違いありませんでしたが、念のために学位証明書の提示を依頼すると快く証明書の写真を送ってくれました。

UpWorkの契約内容画面。時給や上限などが確認できる
(UpWorkの契約内容画面。時給や上限などが確認できる)

 契約を結ぶ前に金額などの条件についてワーカーと交渉します。A氏のUpWorkにおける平均時給は20ドル。この時給額をそのまま提示したところあっさり契約が成立しました。この時に「Weekly Limit」として週あたりの最大労働時間を設定することができるため、時給制でも予算オーバーは避けられます。また、UpWorkではワーカーの活動ログを測定するアプリを提供しており、アプリを使うことで労働時間の計測もできるようになっていました。アプリによる活動ログの結果をワーカーと依頼者双方の合意のもとに修正できるようになっているため、適宜柔軟に対応することも可能です。

UpWorkで確認できる活動ログ。スクリーンショットと活動頻度が表示される
(UpWorkで確認できる活動ログ。スクリーンショットと活動頻度が表示される)

 この活動ログアプリを用いると、作業中に定期的に撮影されたスクリーンショット画像やキーボードとマウスの使用頻度がUpWork上に保存されます。この画面だけでも記録としては十分ですが、より細かく確認したければ1分おきに記録されたキーボードとマウスの使用状況を見ることができます。

マウスとキーボードの使用ログ
(マウスとキーボードの使用ログ)

 このように、かなり細かくワーカー側の労働状況を確認することができるため、少なくともPC上で作業するタスクを依頼する場合には、労働時間をサバ読んで請求されることはなさそうです。もちろん、スクリーンショットや活動ログを見て作業をしていないと判断できる場合には合意の上で依頼者側が作業時間を調整することも可能です。

UpWorkより発行される請求書
(UpWorkより発行される請求書)

 作業が実施されると、作業ログを元に週毎にUpWorkから請求が行われます。請求書は以上の様な形態となっており、この金額にUpWork手数料(2.75%)を足した金額が週毎にUpWork経由で請求されます。支払いは登録された決済方法で自動的に行われるため、活動ログのチェックはそれまでに済ませなければいけません。
さらに、契約途中での金額変更やボーナスの支払いも可能なシステムになっており、タスクの状況が変化すれば同意の上で時給を変更すれることができます。予想以上の成果を挙げてくれた場合には追加報酬を支払うことで次の仕事に繋げることもできるため、システム上の限られたやり取りであったにも関わらず、かなり柔軟に報酬の設定を行うことができました。

委託の結果、時間あたりの作業量とコスト感

全体及び曜日毎の労働時間と週毎の支払額
(全体及び曜日毎の労働時間と週毎の支払額)

 今回の委託における最終的な作業時間はおよそ35時間で、支払額は約700ドル程度となりました。完了した判定作業は約7000件。作業初期に発生した判定基準の変更による再判定や別件で行ったヒアリングなども作業時間に含まれているため、それらを除いた概算で「1時間あたり約300件」の作業効率となっています。

 作業に慣れる前はもう少し時間がかかっていたものの、最終的にはこの作業速度で落ち着きました。判定作業の品質も問題ありませんでした。さらに、作業に際しては作業の効率化に資する意見なども出して頂き、環境そのものを改善しながら進めることができたため、非常に有益な業務委託となりました。日本の医師の時給はおよそ1万円前後とされているため、仮にこの作業を日本の医師に依頼した場合は5倍のコストがかかることになります。

 日本人の感覚からすると、医師を時給20ドルで働かせることに不安を覚えるかもしれません。しかし、スリランカの医師の月収は600-700ドルの水準であり、これは日本の医師の20分の1です。それを踏まえれば20ドルという時給は高額な部類に入り、今回の支払いだけでも月収に匹敵する収入になります。

 スリランカ以外にも同じ賃金レベルの国は数多く存在するため、最適な作業者を見つけられさえすれば、より大規模な判定作業を行なうとしても同じようなコスト感で作業ができるワーカーを見つけられる可能性は十分にあるでしょう。

作業者の反応

 今回はコストパフォーマンスの極めて高い作業委託となり、依頼者としては満足のいく契約になったが、作業者側はどう感じているのかは疑問です。こうした委託が作業者にとって大きな負担となる場合、より大規模且つ長期間に渡って作業をする場合に問題になります。そのため、A氏に今回の案件に関連して簡単なヒアリングを行ったところ、以下のような返答が得られました。

Q「今回の賃金には満足していますか?」
A「ええ、当時の平均時給でしたので十分に満足しています。」

Q「作業についてどのような印象を持ちましたか?またやりたいと思いましたか?」
A「今回の作業は私の医学的な知識をフルに使い真剣に情報を評価するもので、退屈どころか興味深いものでした。コンピューターだけで作業ができましたし、作業時間も自由です。気持ちよく作業できましたので、こういった仕事はまたやりたいですね。」

Q「クラウドサービスを通じて作業をしたい医師や医療関係者は多いと思いますか?」
A「途上国では給料も少ないので、副業をしている医師は多いです。私の回りにもUpWorkで作業をしたいと考えている医師は何人かいますが、競争が激しいので最初の仕事を見つけるに苦労していますね。」

Q「UpWork以外でこうした作業を委託する作業者をどうやって見つければ良いと思いますか?」
A「同僚や知人を辿って探すことになるのではないでしょうか。UpWork以外にも作業者を見つける方法はたくさんあると思いますが、先進国のクライアントにとってUpWorkは安価に雇用できる途上国のワーカーを探す魅力的な場になると思います。」

Q「UpWorkで仕事を見つける時にどのような問題がありますか?」
A「興味深いタスクが中々見つからないことですね。提示額が低すぎるケースも多いです。あと、一番の問題は他の応募者との競争が激しいことですね。応募しても中々採用されません。ただ、最近は定期的に招待されるようになったので特に困っていませんが。」

まとめ

 委託者としては国内水準の5分の1という想定以上に安い費用で作業を委託できました。作業者側も満足の行く賃金で作業できたようで、双方にとってメリットのある作業委託になったといえます。海外の作業者とのコミュニケーションは殆どUpWorkのシステム上で行ったものの、契約・作業・支払いまでのプロセスは非常にスムーズに進みました。実作業における作業プロセスが確立していれば、人員を増やしたとしても特に大きな問題はなさそうです。

 一方、UpWorkのシステムではUpWork上で作業した実績しか参照できないため、実績のある作業者に依頼が集中する傾向がみられます。実際、委託する側としても実績のないワーカーには依頼しにくいという事情があるため、結果として最初の1件までのハードルが高くなり、潜在的なワーカーが仕事を得られていない事もヒアリングから明らかとなりました。こうしたワーカーの中から充分なスキルのある人材を見つけ出すこともコストパフォーマンスを高めるためには重要になります。

 プロフィールやメッセージのやり取りを通じて実績やスキルの確認は可能です。単にUpWork上の実績を確認するだけではなく、手間を惜しまずUpWork上で実績の少ないユーザーとメッセージのやりとりをしてスキルの確認をすれば、隠れた有望なワーカーを見つけることもできそうです。

 そして、一旦信頼できるワーカーを見つけられれば、同僚を紹介して貰う形でワーカーを増やすこともできます。大規模な作業の前に小規模な作業を委託し手順を確立した上で、ワーカーを紹介してもらう形で作業者を増やせば、より大きなプロジェクトにも応用できるのではないでしょうか。

 今回の作業はデータの検証作業でしたが、遠隔で作業が可能なシンプルなタスクであれば医療用人工知能のデータ検証以外のタスクにも応用はできます。もちろん、医療分野の他にも各種専門家にタスクを依頼するような作業には有用でしょう。特に人工知能研究ではデータ生成関連の単純作業が多いため、応用範囲は幅広いです。賃金についても、国内と海外の賃金格差の大きな職種ほどクラウドソーシングを使った海外業務委託のメリットは大きく、相対的に賃金の高い日本の研究プロジェクトであれば十分にメリットがあるでしょう。

 また、今回の委託によって研究中のアルゴリズムの精度が概算で現状87%程度あることが確認できました。今回作成したデータを使って再度学習を進めることで、分類プログラムのさらなる性能向上が期待されます。今回の海外作業委託は成功だったと結論づけても良さそうです。このように、クラウドソーシングが人工知能の研究開発に大きなインパクトを有することがご理解頂けたら幸いです。