AI構築を行う上で重要な作業となるアノテーション。アノテーションとは、テキスト・音声・画像などのデータに対してタグをつけて「意味」を付与する作業のことです。AIの学習データとして利用できるようにするためには人手でタグ付けを実施する必要があります。この作業がアノテーションです。アノテーションの品質は、構築するモデルの精度に影響する重要な要素となります。
使用するデータ量が多ければ多いほど、アノテーション作業のボリュームは増え、多くのメンバーで対応する必要が生じます。自社のリソースでの対応が難しい場合、アノテーション作業の外部委託も選択肢となるでしょう。委託先に作業を効率的かつ高品質で実施してもらうためには、実施内容を整理し、仕様書としてまとめる必要がありますが、アノテーション作業発注のための仕様書はどのように作成すればよいのでしょうか。
この記事では、アノテーション仕様書の作成方法について解説します。
アノテーション作業の自動化は難しいケースが多いため、大量のデータに対してアノテーションを実施するためには複数人の作業者(アノテーター)に作業を実施してもらう必要があります。自社リソースで十分にアノテーターを確保できれば良いですが、難しい場合は作業を外部へ委託することになります。この際、委託条件として定義するのがアノテーション仕様書です。
利用できるデータが多ければ多いほど、AIの性能を向上させられる可能性があります。よって、AIの開発においては大量のデータを用意する必要があります。
アノテーションの良し悪しは開発するAIの性能に直結します。いかに優れたAIモデルを構築したとしても、学習させるデータの品質が悪ければAIは十分な精度で処理を行うことはできません。正しいアノテーション作業により正しくタグ付けされたデータを用いることで、AIの性能を最大限引き出すことができるようになります。
作業を外部委託する際には、仕様を明確にする必要があります。こちらの意図通りの作業がされなければ、せっかくコストや時間をかけてアノテーション作業を行ったとしても、高い品質の教師データを作成することはできません。
そこで、アノテーションの実施方法や実施内容、対象とするデータの量や種類などをドキュメントとして整理し、契約条件として明確化する必要があります。
それでは、アノテーション仕様書はどのように作成していけばよいのでしょうか。以下では、アノテーション仕様書の作成手順について紹介します。
構築する機械学習モデルによって必要となるアノテーションデータは異なります。アノテーションはモデル構築のために実施するものであり、当然ながらアノテーション作業の発注を行うためには機械学習モデルの構築内容が固まっている必要があります。
たとえば、工場における外観検査を実施する機械学習モデルを開発する場合、一例として考えられる必要なデータは「良品」「不良品」の画像データとなります。これらに対して、精度よく分類を行うためには、各画像データの「良品」「不良品」のタグ付けに加え、キズやへこみ、欠けなどに対してタグ付けをする必要があります。
このように、構築するAIモデルにおいてどのような学習データが必要となるかを前提として、アノテーションの仕様を検討していきます。
続いて、どのようなアノテーション作業を行うかを具体的に整理します。
まずは、アノテーション作業のボリューム感を定義します。上述した外観検査の機械学習モデル構築を例にすると、「良品」の画像データ1,000枚と「不良品」の画像データを1,000枚など、学習を行うために必要と考えられる量を対象とします。アノテーション作業の発注先候補から見積を取得する際に、作業のボリューム感は重要な情報となるため、確実に定義しておきます。
また、どのようなアノテーション作業を依頼するかも明確化します。AI開発に精通しておらず、具体的な記述が難しい場合は、AIの開発を委託している企業や、アノテーション作業の発注先候補と相談しながら内容を詰めていきます。たとえば製品の外観検査においては、良品・不良品の分類に有効なキズやへこみの区別、色による分類などが作業内容となります。
加えて、アノテーション作業を実施する際に品質を担保するためには、ルールの整備も重要です。自社でアノテーションルールの整備が難しい場合は、この作業も併せて委託を行うとよいでしょう。アノテーション仕様書を作成する際には、ルールの作成も依頼するのかどうか明記します。
アノテーションルールが明確かつ分かりやすくなっていないと、アノテーターごとに独自のルールでアノテーションを行ってしまいます。結果としてアノテーションの品質が下がる原因になるため注意が必要です。
作業の品質を高めるためには、作業自体の内容以外にも関連する要素について仕様として定義するべきです。具体的には以下の内容を定義することをおすすめします。
可能であれば、アノテーション作業の進め方も仕様書として整理しておくとよいでしょう。アノテーションの精度を上げるためには、レビュワーによるダブルチェックも効果的です。仕様書として、実際にアノテーションを行うアノテーターに加えて、レビュワーとしてアノテーション結果をチェックする役割を置くように求めることも検討できます。また、アノテーションルールを改善するために、一定期間アノテーション作業を実施したらルールの見直しを行うよう、仕様として要求を行うことも有効でしょう。
特に機密性の高いデータのアノテーションを依頼する場合には、セキュリティ面の考慮も必要です。契約書にて機密保持条項を設定することで契約面で担保することはもちろんですが、実際の作業レベルにおいてもセキュリティ対策を求めるべきです。
たとえば、自社に情報管理の基準が存在する場合はそれを共有したうえで順守することを求めます。そのような基準がない場合は、委託先候補と相談しつつ、必要な対策を検討するとよいでしょう。
加えて、実務上はアノテーション結果の格納方法やファイル形式などを定めることも必要です。AI開発を委託している企業とアノテーション作業の委託先が異なる場合、両者の認識が異なることによりAI開発委託先が欲しい形でデータが得られない可能性があります。AI開発委託先の要望を確認しつつ、どのような形式でアノテーションの作業結果を納品してもらえばよいかを定義します。
本稿では、アノテーション作業の外部委託を行う際に必要となる仕様書の作成方法について解説を行いました。AI開発に精通していない場合、アノテーション作業を委託する仕様書の作成は難しい作業となるのではないでしょうか。当社を含め、アノテーション作業を請け負う企業に仕様書の作成を相談してみることも選択肢のひとつです。アノテーション作業の発注にお困りの場合はお声がけください。