アノテーションとは、機械学習の分類の一つである教師あり学習において、分析対象データにラベルを付与するプロセスです。アノテーションは学習の精度に大きく影響する重要なプロセスですが、高品質なラベル付きデータを揃えるには労力を要することが多いです。
本記事では、アノテーションの定義と重要性、質の高いアノテーションを行うために必要な準備や注意点などについて詳しく解説していきます。
- アノテーションとは
- 具体例(アノテーションタスク)
- アノテーションの重要性
- 作業に必要な準備
- アノテーションを進める際の注意点
- アノテーションのツール・サービスの紹介
- おわりに
- 関連するウェビナー
- 関連するITソリューション
アノテーションとは
AI・機械学習の分野におけるアノテーションとは、分析対象データに対してラベルを付与するプロセスのことを指します。アノテーションは主に、機械学習の分類の一つである教師あり学習において行われるプロセスです。
機械学習のプロセスは「①データ収集、②学習、③評価、④モデルの展開、⑤利用」という流れが一般的です。教師あり学習ではデータ収集プロセスにてアノテーション(データへのラベルを付与)を行い、そのラベルをターゲット(目的変数)として学習を行います。例えば、画像が犬か猫かを判別する機械学習モデルを構築したい場合、犬の画像に対してdog
、猫の画像にcat
といったラベルを付与し、画像データとラベルをもとに学習を行います。この例のように対象データが画像、音声、テキストといった非構造化データの場合は、ラベルの付与を手動で行うケースが多くあります。
次に、アノテーションの具体例や重要性、必要な準備について説明します。
具体例(アノテーションタスク)
アノテーションはデータの種類やラベル付けの方式によって細かく分類されたタスクとして定義されます。主なアノテーションタスク例は下記の通りです。
データ種類 |
ラベル付け方式 |
説明 |
---|---|---|
画像(動画) | カテゴリ分類 | 画像に対して一つまたは複数のラベルを付与すること |
バウンディングボックス(物体検出) | 画像の対象オブジェクトに対して四角の枠線で囲うこと | |
セマンティックセグメンテーション(領域) | 画像のピクセルレベルでラベルを付与すること | |
音声(動画) | カテゴリ分類 | 音声に対して一つまたは複数のラベルを付与すること |
文字起こし | 音声から文字起こしすること | |
話者ダイアライゼーション | 複数人が話している音声に対してどこからどこまでを誰が話しているかラベルを付与すること | |
テキスト | カテゴリ分類 | テキストに対して一つまたは複数のラベルを付与すること |
固有表現抽出(NER) | 文章内の単語や文字に固有表現ラベルを付与すること |
(出所 大和総研作成)
アノテーションの重要性
教師あり学習では訓練データとターゲットの値の関係を学習します。アノテーションはターゲットとなるラベルを付与するプロセスであり、後続の学習精度に大きな影響を与える非常に重要なプロセスです。
機械学習モデル開発のアプローチの一つに「データセントリックアプローチ」という方法があります。データセントリックアプローチとはデータの不確かさを排除する考え方です。不確かさの排除とは、データに対するラベルの誤り・欠損などのノイズを削減すること、収集したデータの分布の偏りを減らすことなどを指します。
機械学習はモデルとデータの2つの要素から成り立ちますが、近年では機械学習の予測精度を向上させるために、モデルセントリックなアプローチ(機械学習のモデルを中心に改善を行うこと)だけでなく、データセントリックなアプローチにも関心が集まっています。昨今、機械学習モデルが大きく進歩し、優れたアルゴリズムが広く使われるようになったことで、データ側の改善に注力することが効果的である、という考え方が注目されている、ということです。実際に、モデルを改善するよりも、データを改善したうえで学習を行ったモデルの方が、高い精度を得られたという事例もあります。
このような背景から、アノテーションの重要性は一層高まっています。
作業に必要な準備
アノテーション作業を開始するためには、主に下記の3点を準備する必要があります。
- データ
- アノテータ
- アノテーションツール
1点目の「データ」に関しては、まずデータを集めることが最初の一歩です。本記事では詳しい説明は割愛します。
以降で「アノテータ」「アノテーションツール」について説明します。
アノテータ
アノテータとは、実際にアノテーション作業を行う担当者を指します。アノテータの担当者・依頼先・募集方法にはいくつかの選択肢があり、タスク内容や求める品質・コスト・スケジュール・セキュリティなどの観点から選択します。アノテータの選択肢ごとにメリット・デメリットを整理すると、下表のようになります。
種類 |
説明 |
メリット |
デメリット |
---|---|---|---|
アウトソーシング | アノテーションを専門としている企業に依頼すること。基本的にはデータとアノテーションの要件を伝えることで学習データを得ることができる | 比較的品質の高いラベルつきデータが得られやすい | 委託先の選定や契約に時間がかかる |
クラウドソーシング | クラウドベンダなどのプラットフォームで不特定多数のアノテータに依頼すること | コストが低い | 指示に対するラベル付けの品質を保つことが難しい |
インハウス | 社内の専門アノテータやデータサイエンティスト・機械学習エンジニアがアノテーションをすること | 継続的な教育コストがかからず迅速かつ柔軟にアノテーションを開始できる。外部企業にデータを公開しないため、セキュリティリスクが軽減される | 人件費(固定費)がかかる |
専門家 | 特定のドメインにおける専門家にアノテーションを依頼すること | 専門家でないと難しいアノテーションが可能になる | 本業によっては時間が取りづらいため大量のラベル付きデータを集めるのが難しい |
(出所 大和総研作成)
アノテーションツール
アノテーション作業には、多くの場合ユーザインタフェースを持ったツールが必要となります。アノテーションツールは既製サービスを利用、自社で内製するといった選択肢があり、下記の観点から選定すると良いでしょう。
クラウドベンダ提供のサービス
マネージドサービスとして提供されるため、ツールの構築・運用コストの削減が可能です。また、アノテータの管理やラベル付けの半自動化など補助機能が充実しているサービスもあります。しかし、対象ベンダのクラウドサービス上に分析対象データがない場合は、データ移行作業が追加で必要となります。
OSS(オープンソースソフトウェア)
多様なOSSから目的にあったツールを選定でき、クラウド・オンプレミスで構築が可能ですが、選定・構築・運用コストがかかります。
内製ソフトウェア
上記のクラウドベンダ提供サービスとOSSは、一般的なアノテーションタスクに対応しており、またカスタマイズのための画面テンプレートが用意されていることが多く、既製ツールでアノテーションが完了するケースがほとんどです。既製ツールでは満たせないアノテーションタスクを行う場合や、UX(ユーザエクスペリエンス)の充実、アノテーション作業を効率化する機能を求めるなどの場合に自社でソフトウェアを内製することがあります。アノテーションに利用するソフトウェアの内製化は、短期的には開発コストが増加しますが、継続的にアノテーションが必要である場合、長期的には費用対効果が見込めます。
アノテーションを進める際の注意点
アノテーションを進めるうえで、以下の点に考慮しておく必要があります。
- アノテーションを始めるまでの事前検討・準備に時間がかかる場合がある
- 高品質かつ大量のラベル付きデータ収集が難しい
これらの注意点について、順番に解説していきます。
アノテーションを始めるまでの事前検討・準備に時間がかかる場合がある
アノテーション対象のデータが無い、十分に揃っていない場合はまずデータの収集作業が必要です。扱う機械学習モデルやアノテーションタスクの性質によっては、十分な質・バリエーションのデータ収集が困難な場合もありますので、事前によく検討しておく必要があります。
次にアノテータに関しては、タスク内容や品質・コスト・スケジュール・セキュリティなどを考慮し選定する必要があります。アウトソーシングや専門家へ依頼する場合は、契約手続きなど作業以外に発生するリードタイムがどの程度かを把握しておきましょう。
アノテーションツールについても、メリットとデメリットを考慮して何を選択するかの検討が必要です。アノテータをアウトソーシングする場合は、ベンダがツールを提供していることがあり、準備が少なくすむこともある一方で、そのほかの選択肢においては各々付随する作業が発生します。
まとめると、各種アノテーションの前提条件や、具体的な検討・各案の採用の組み合わせより、事前作業や準備の時間が大きく異なります。場合によっては、プロジェクトをいくつかのフェーズ(例:プロトタイプ、サンプリング検証、全社運用)に分けて考えると、効率よくプロジェクトを進めていくことができます。
高品質かつ大量のラベル付きデータ収集が難しい
高品質かつ大量のラベル付きデータを集めることが難しいケースがあります。以下のような課題を考慮する必要があります。
品質管理
特にアノテーションをクラウドソーシングで依頼する場合、以下のような品質管理の課題に直面することがあります。
- 単純なタスクにもかかわらずアノテーション要件がうまく伝わらない
- アノテータ各人の認識の違いによってラベリングに差異が生じてしまう
- 大量のアノテーション結果を依頼者が検証するのが困難
これら課題への対策として、アノテータごとの差異を機械的に集計・可視化できるようなツールを用いる、同一データを複数のアノテータに割り当てるなどの工夫が必要になります。
高度な専門知識が必要
例えばレントゲン画像に対するアノテーションは高度な知識をもつ専門家による作業が必要で、短い期間で大量のラベル付きデータを集めることは困難です。このような事態は問題設定時点で避けられないことが多く、研究機関との協力体制の構築(例:共同研究)や、継続的なアノテータの確保に向けた複数企業への依頼など、地道な取り組みが必要になります。
作業の効率化
データサイエンティストや機械学習エンジニア自身がアノテーションを行うことは、スピードを優先するような初期の検証段階であれば、短期かつ少量のデータであるため特に問題ありません。ですが、実運用に向けたモデル改善などの段階に入ると、長期的かつ大量のデータに対してアノテーションを継続的に行う必要が出てきます。この場合、アノテーションの効率化の仕組みを検討する必要があります。例えばアウトソーシングのためのガイドライン整備や、半教師あり学習と呼ばれる効率的にアノテーションを行うための考え方をツールに組み込む手法があります。
アノテーションのツール・サービスの紹介
この章では、アノテーションに関するベンダ各社のサービスを紹介します。
アノテータサービスの一覧
クラウドソーシングやアウトソーシングを提供している主なベンダのサービスを下記にまとめます。(アルファベット順に記載しています。リンクをクリックすると各社のページが開きます)
ベンダ |
製品名・リンク |
種類 |
サービス内容 |
---|---|---|---|
Amazon Web Service | Amazon SageMaker Ground Truth | クラウドソーシング・アウトソーシング | Amazon Mechanical Turkに登録されているクラウドソーシングのアノテータサービス。AWS Marketplaceから利用できるサードパーティーのデータラベリングサービスプロバイダー経由で作業を依頼できる |
Amazon Web Service | Amazon SageMaker Ground Truth Plus | アウトソーシング | 専門スタッフが高品質のアノテーションを提供するサービス。アノテーションの要件とともにデータを提供することで、データラベリングワークフローの設定や管理を代行する |
FastLabel | FastLabel Annotation | クラウドソーシング・アウトソーシング | データ収集・生成、アノテーション済データセット提供、アノテーション代行、アノテーションツール提供を行う。予算やセキュリティ要件に応じて、インハウス(日本)かオフショアのリソースを選ぶことが可能。国内大手企業の実績多数で、全てのプロジェクトに日本人のプロジェクトマネージャーが配置される |
Google Cloud | Vertex AI Labeling Tasks | アウトソーシング | ラベリングタスクを管理するサービスだが、専門スタッフへのラベリングの依頼も可能 |
Microsoft Azure | Azure Machine Learning Data Labeling | アウトソーシング | Azure Marketplace上のサードパーティベンダと契約することでラベリングの依頼が可能 |
(出所 大和総研作成)
アノテーションツールの一覧
ベンダやOSSで提供されているアノテーションの主なツールを下記にまとめます。(リンクをクリックすると各社・各サービスのページが開きます)
ベンダ |
サービス名・リンク |
対応メディア |
対応タスク |
---|---|---|---|
Amazon Web Service | Amazon SageMaker Ground Truth | 動画・画像・テキスト | 動画:分類・オブジェクト検出・オブジェクトトラッキング 画像:分類・オブジェクト検出(バウンディングボックス)・セマンティックセグメンテーション テキスト:分類・名前付きエンティティ認識 |
FastLabel | FastLabel Annotation Platform | 動画・画像・音声・テキスト・3D点群 | 動画:矩形・キーポイント・分類 画像:矩形・多角形・セグメンテーション・キーポイント・分類 音声:セグメンテーション(書き起こし)・分類 テキスト:固有表現抽出・分類 3D点群:矩形・多角形・セグメンテーション・直方体 |
Google Cloud | Vertex AI Labeling Tasks | 動画・画像・テキスト | 動画:分類・動画動作認識・オブジェクトトラッキング 画像:分類・オブジェクト検出(バウンディングボックス)・セマンティックセグメンテーション テキスト:分類・名前付きエンティティ認識 |
Microsoft Azure | Microsoft Azure Machine Learning Data Labeling | 画像・テキスト | 画像:分類・オブジェクト検出(バウンディングボックス)・インスタンスセグメンテーション テキスト:分類・名前付きエンティティ認識 |
(出所 大和総研作成)
おわりに
機械学習の区分の一つである教師あり学習において非構造化データを用いる場合、アノテーションが必要となることが多々あります。一見単純作業のように見えますが、機械学習を行ううえで重要なプロセスであり、高品質なラベル付けされたデータを揃えるには多大な労力がかかるということを認識することが重要です。アノテーションには、データ収集だけでなく、求める品質・コスト・スケジュール・セキュリティといった観点から適切なアノテータとツール選択が不可欠です。ビジネス要求を満たす精度の高いモデルを構築するために、より良いアノテーションを行い、成果につなげていきましょう。
関連するウェビナー
ウェビナー|大和証券グループで"ChatGPT"を使ってみた
関連するITソリューション
※Amazon Web Service、Amazon SageMakerは、米国および/またはその他の諸国における、Amazon.com, Inc.またはその関連会社の商標です。
※Google CloudおよびVertex AIは Google LLC の商標です。
※マイクロソフト、Azure、Azure Machine Learningは、米国 Microsoft Corporationの米国およびその他の国における登録商標または商標です。