AIの活用においては学習のために教師データを用意しなければなりません。多くのケースにおいて、教師データを用意するためにはアノテーション作業が必要となります。
しかし、アノテーション作業とはいったいどのようなものなのでしょうか。また、具体的にどのようなプロセスで進められるものなのでしょうか。
この記事では、アノテーション作業の中身、必要性、具体的な作業プロセスについて解説します。
アノテーションとは、AIを開発する上で必要となる教師データを作成するために必要となる、テキスト・音声・画像などのデータに対して「ラベル」を付与する作業のことです。
たとえば、自動運転に向けて信号機を認識するAIを開発する際には、どのような形状の画像が信号機であるかを認識できるように、あらかじめ識別された画像データを用意しなければなりません。AIが学習をするためには、このような「教師データ」が必要です。
一方で、通常はこのようなデータを自然に得ることはできません。よって、実際の信号機などの画像に対してラベル付けすることで教師データを作成する必要があります。この作業がアノテーションです。
アノテーションを実施する方法は大きく「人手」と「機械による自動化」の2つとなります。
人手で実施する場合、品質の高い教師データの作成が可能となりますが、当然ながら作業のために人的なリソースや作業期間が必要です。
もう一つが、機械によるアノテーション作業の自動化というアプローチです。活用できる領域が限定されることや現時点の技術水準では精度が担保しにくいといった面から、現時点では限られた用途でのみ利用できるのが現状です。人手で行うアノテーションをサポートするツールという形で機械を活用するのが主な利用方法といえるでしょう。
アノテーションの対象となる主なデータの種類は以下のとおりです。
画像データにおいては、写真に写る人物や物体の名称、領域抽出のためのセグメンテーション、表情や感情認識などの情報を付与し、教師データを作成します。また、動画データにおいてはトラッキングや軌跡・行動の予測を実現するために教師データを作成します。画像の代表的なアノテーションには以下があります。
画像内の物体を特定し、「人間」「自動車」「自転車」など、対象に応じた意味のあるラベルを付けます。
画像内の特定の領域にラベルを付けます。例えば、「この部分は人間」「この部分は犬」「この部分は道路」など、選択した領域の意味を特定します。
全体の画像を特定のカテゴリーに分類する作業です。例えば、「画像は犬を描いているのか猫を描いているのか?」「風景は海岸か山岳か?」「料理は日本食かフレンチか?」など、全体の画像に対してラベルを付けることで、画像の主要な特徴や内容を判別する基準を提供します。
特定の目印を検出するためのアノテーション手法で、主に顔認識において使用されます。これは、顔の特定の全体の画像を特定のカテゴリーに分類する作業です。
顔の表情から感情を読み取ることが可能となります。表情認識AIとも呼ばれ、精確なアノテーションによって喜び、怒り、悲しみ、楽しみ、あるいは興味を示す度合いといった微妙な感情の変動を読み取ることができます。企業内のストレスチェックや、空港における入国審査などで活用されています。
音声データのアノテーションは、音声認識AIの開発に不可欠です。音声データからテキストデータへ変換するAIを構築するためには、発話内容に対応したテキスト情報を付与した教師データが必要です。
たとえば、感情分析AIの開発において、音声データに対して「楽しい」「悲しい」などの感情情報を付与した教師データが必要となります。ここでは、声質や音調の変化などを考慮し、音声の中に潜む感情の豊かさを解析するための複雑なアノテーションが必要となります。
テキストデータのアノテーションは、自然言語処理(NLP)の中心的なタスクです。テキストから何らかの情報を抽出するためには、抽出方法に応じた教師データが必要です。
たとえば人物名や組織名、日付、金額などの固有表現を抽出する「固有表現抽出」のタスクでは、固有表現情報を特定してマークアップします。単語間の関係性を抽出する「依存関係解析」では、文節間の依存関係を指定します。
イベント情報を抽出する場合は、文中の主語、動詞、目的語などの役割を明確にするためのアノテーションが必要となります。これらのアノテーションは、AIが自然言語を理解し、それを利用して意味のあるアクションを取る能力を高めるためには欠かせません。
アノテーションが必要な主な理由は、AIが「教師あり学習」を通じて情報を学習し、精度を高めるために、適切な教師データが必要となるからです。教師データとは、写真や音声、テキストといったデータに対して、人間が適切なラベルを付けて生成されたデータを指します。
教師あり学習では、AIは各データが何を示しているのかを学ぶために、データとそれに対応するラベルの組み合わせを学習します。例えば、ある画像が犬を示しているのか、猫を示しているのかをAIが理解するためには、それぞれの画像に「犬」や「猫」のラベルが付与されたデータセットが必要です。
したがって、教師データが少なければ少ないほど、AIが新しい情報を正確に分類したり、予測したりする能力は低下します。これは、学習データが少ないと、AIが適切なモデルを学習するための「範例」が少なくなるからです。
逆に、教師データが多ければ多いほど、AIはより多くの「範例」を学習し、新しいデータに対する予測の精度を高めることが可能となります。
このように、アノテーションは教師あり学習によるAIの精度向上を支える重要な作業であり、十分な量と質の教師データを確保するために必要となるのです。
以下では、具体的なアノテーションのプロセスについて紹介します。ここでは、手作業によるアノテーションを対象に解説を行います。アノテーションの一般的なプロセスフローは以下のとおりです。
① 実施方法の検討 ② 要件定義 ③ アノテーションの実施 ④ 教師データ納品・AIへの活用 |
まず、アノテーションの実施方法を検討します。人手で実施するのが基本となりますが、実施内容に応じてツールなどの活用により自動化できる範囲についても検討します。このステップでは以下の課題があります。
・必要な人的リソースの確保
・アノテーション作業の委託先を見つける
・どのツールや手法が最も適しているかを選択する
人手で実施する場合、アノテーションの作業には一定の人的リソースが必要となります。AI開発において自社でアノテーションのためのリソースをすべて用意することは難しい場合が多いといえます。
アノテーション作業の委託先についても検討が必要となります。また、アノテーションを支援するツールを用いる場合はどのようなツール・手法でアノテーションを実施するかを検討します。
アノテーション作業の委託を行う場合、具体的にどのような作業内容を委託するのか要件定義を行います。
具体的には、作業内容の定義として「どのような画像・音声・テキストデータに対して」「どのようにタグを付与するか」という内容を整理します。
また、作業ボリュームとしてどの程度の量の写真や音声、テキストデータに対してタグを付与するかも検討します。これらの内容に基づき、費用見積や実際の作業が行われることになりますので、要望をできるだけ具体的かつ正確に整理します。
アノテーションを実際に実施する際には、ルールの整備が重要です。アノテーション作業はボリュームが大きいものであり、一般的には複数名で行うことになります。
アノテーション品質を担保するために、明確かつ分かりやすいルールを作成したうえで、ルールを順守した作業を実施していきます。アノテーションルールは実際に作業を開始して一定期間たった後に見直しを行うなどすると、さらに効果的といえるでしょう。当初作成したルールではうまく分類ができないケースなどにも対応しやすくなります。
品質向上施策としては、複数のアノテーターによるダブルチェックも有効です。コストはかかるものの、品質の担保につながります。
委託先が作成した教師データの納品を受けます。作成した教師データは、AIの開発において活用するため、AIへインプットしやすい形式で受け取ります。事前に納品方法やファイル形式を定めておくことをおすすめします。
この記事では、この記事では、アノテーションの概要や具体的な作業プロセスについて解説しました。近年のAI開発は教師あり学習に分類されるアルゴリズムを用いるケースが多く、AI開発においては教師データの用意についても併せて検討していかなければなりません。
一方で、特にAI開発に慣れていないとアノテーション作業の重要性に気づきにくいのも事実です。AIの品質向上のためにも、アノテーション作業についても意識が必要でしょう。