アノテーションとは
機械学習とは、「学習データをコンピュータに学習させて、法則やパターンを見つけて、それに基づいて新しいデータに対する予測を行う」ことです。これを実現するための手法は大きく、教師あり学習、教師なし学習、強化学習の3つのカテゴリに分けることができます。
機械学習の中で、教師あり学習は最も広く使われています。
教師あり学習モデルを訓練するためには、データに教師ラベルを付与し、教師データを用意することが必要です。この作業はアノテーションと呼ばれます。ちなみに、アノテーションの直訳は「注釈」です。
G検定、DS検定に頻繁に出題される概念です。本記事で理解を深めていきましょう。
以下がいくつかのアノテーションの例です。
- 医療診断モデルを構築するために、カルテのデータ1件ずつに「陽性」または「陰性」をタグづける
- 画像認識モデルの訓練のために、画像に写っている物体にクラス名のラベルをつける
- チャットボットの訓練用会話文章のうち、応答精度に重要な単語に対して、タグづける
- 自動運転システムを構築するために、道路標識の画像にそれが示す意味を表すラベルをつける
アノテーション業務はどのように行われる?
シンプルに聞こえるかもしれませんが、ビジネスの場面で教師ラベル(正解ラベル)が完全に付与されたデータを用意することが実に難しいのです。機械学習には膨大なデータが必要となることがあります。そこまで膨大ではなく数百件だけだったとしても手動で1つずつラベルをつけていくのを想像すると疲れそうですね。
アノテーション業務を行う担当者には、AIに関する最低限の知識とともに、集中力と単純作業に耐えられる根性が必要です。また、アノテーションの品質を監督・判断する責任者も必要です。
そこで、機械学習プロジェクトにおいて、膨大なアノテーション作業を「誰が」「どのように」実施するのかを検討しなければいけません。
一般的に以下のような手段が考えられます。
手動でアノテーションを行う
アノテーションを手動で行う場合、一人だけで1つのデータセットのアノテーションを全て担うのではなく、作業者のクセからくる偏り(系統誤差)を防ぐために二人以上で分担することが望ましいです。
部分的にアノテーションを自動化
全作業を手動にするのではなく、一部の作業を自動化することで効率を上げることができます。この場合、人が対応する部分とAIで自動化する部分を明確にします。何度も繰り返す作業を自動化し、本当に人の作業が必要な部分を限定することで、作業プロセスの効率化が期待できるでしょう。
■アクティブラーニング
まず、一部のデータに正解ラベルをつけている状態にします。この一部のデータでモデルを構築します。それをもとに、残りの教師なしのデータの中からモデル学習に効果的なデータ(=既存のAIモデルが判断を迷ったデータ)を抽出し、そのデータに対してのみ人が手動で正解ラベルを付与します。こうして、手動作業を効率化を測っています。
また、教師あり学習と教師なし学習の間の存在である、半教師あり学習も教師ラベルの予測に使われています。
■アノテーションツールを活用
もう1つの自動化の手段は、アノテーションツールを活用することができます。
アノテーションツールにはいくつかのタイプがあります。アノテーションデータの管理、アノテーションの作業進捗の管理、AIによる自動アノテーションなど、機能も色々開発されています。また、アノテーションツールはクラウド型で提供されていることが多いため、個別コンピューターへのインストールの手間も省かれる点で利便性が高いです。
ツールによって、対応できる素材や学習の種類が異なるので、プロジェクトの要件に合わせて慎重に選ぶ必要があります。
例えば、多くの企業に利用されているアノテーションツールFastLabel (FastLabel株式会社が提供)は画像、動画、音声、テキストなど多様なデータに対応できます。
例えば…
・バウンディングボックス(一般物体認識における物体検出)
・セグメンテーション(一般物体認識における領域抽出)
・データ分類/カテゴリ分け
一方で、画像など1つのデータ形式にのみ対応するツールもあります。
アノテーションサービス会社に委託
外部のアノテーションサービス会社に、膨大な数のデータにタグ付けする作業を委託することも考えられます。もちろん外注コストがかかりますが、自社では単純作業にリソースを割くことなく、データ分析や機械学習モデル構築のコア業務に集中できます。アノテーションサービス会社は、クラウドワーカーによる労働の他に、その品質を監修する専門知識や経験を持った従業員を確保できています。作業精度とともにセキュリティも担保し、大規模データへの対応も可能です。
執筆担当者:ヤン ジャクリン (分析官・講師)