AI技術とアノテーション

アノテーションとは何か

アノテーション(annotation)は、日本語では「注記」や「注釈」と訳されます。AI技術に欠かせないアノテーションは、機械学習に関係があります。機械学習にはたくさんのデータを必要としますが、このデータに注記を付けて教師データを作り出す作業を「アノテーション」と言います。

機械学習とは、機械が学習した結果をベースに何らかの判断をコンピューターに行わせる仕組みのことです。AIには答えの正確さが求められるため、学習データを活用することで判断の制度を向上させる必要がありますが、人間のように勉強していけばいくほど、精度が上がるのです。

機械が学習して、正解率を上げていくためには、問題とその正解が必要です。正解のない問題集がないように、機械の学習も同様に、問題と答えが両方ありますが、教師あり学習では、人間がたくさんのデータを準備してあげる必要があります。

この、AIに学習させるために必要となるたくさんのデータの基になるものがデータセットと言われるものであり、それらのデータセットに注釈をつけることにより教師データを作成することをアノテーションと言います。構築しようとするAIやデータセットの種類により、求められるアノテーションも全く異なります。

アノテーション作業の種類

アノテーションには、求められるAIに合わせて様々な種類があります。今回は、「画像」「テキスト」「音声」の3つについて説明していきます。

① 画像や動画についてのアノテーション作業

画像のアノテーションには様々なものがありますが、代表的なものは以下のような手法があります。

  • 「バウンディングボックスによる物体検出(Object Detection)」
    画像に写っているものの中から物体を見つけて、「電車」「道路」など、それに沿ってタグ付けをするアノテーションです。
  • 「セグメンテーションによる領域抽出(Image Semantic Segmentation)」
    画像の中の領域を特定し、その領域にタグ付けをします。「この領域は山」のように、領域部分にタグ付けをするアノテーションです。
  • 「キーポイントによる画像への特徴点付与(Keypoint)」
    画像に写っている人などの対象物の特徴点に座標情報をタグ付けを行うアノテーションです。
  • 「画像分類 (Image Classification)」
    画像に対して、属性をタグ付けもしくは分類します。例えば、「犬か猫か」「どんな模様か」「どんな色か」などを分類します。

アノテーションによって精度の高い教師データを作成し、AIが学習することでさらに分類や検出の精度を向上させることができます。そのようにして構築されたAIによって、テレビやSNSなどの動画から特定の場面を抜き出す作業などにも使われています。

② テキストのアノテーション

テキストデータもいろいろな場面でアノテーションが行われています。例えば、複数のシステムに散らばる大量のデータから顧客になりそうなデータのみを抽出するといったAIに求められる学習データは、事前に決めた分類項目に従ってタグを付け、集計や分析が簡単にできるようにします。
ほかにも、SNSやブログなどの文章から情報を分類したり、不適切なコンテンツを取り除いたりするAIにも、教師データとしてアノテーション済のテキスト情報が使われます。

③ 音声データのアノテーション

音声データのアノテーションを行うことにより、あらかじめもタグ付けされたテキストデータとセットにすることで、音声から文字おこしを行う事が出来るAIシステムを構築することが可能となります。そのような場合は、音声データを教師データとするためにアノテーションを実施することになります。

教師データの集め方

機械学習のために、たくさんのデータが必要になることは既に述べました。ではデータが必要になった時、教師データをどのように集めることができるでしょうか。ここでは教師データを作成するために必要となる、データセットが必要になった時の入手方法について説明します。

自力で収集

例えば大量の画像データなど、教師データとして使えるデータ自体がすでに保有している場合は、自分で用意することができます。しかし、データの精度など、全てのデータが使えるかどうかはあらかじめ確認する必要があります。

他者から入手

データセットが手元にない場合は、教師データの作成依頼をする場合に、データの準備自体も依頼することが可能となる場合もあります。構築しようとするAIに沿ったデータセットを依頼可能となるため、無駄な作業が発生せず、一番手離れは良いですが、比較的高額になることが一般的です。

汎用的なデータセットを使用

研究機関などから公開されているデータセットを利用する方法もあります。制限付きの場合もありますが、無料可能なものもあるため、必要に応じて利用してみるのもよいでしょう。

データはクレンジングが必要

データクレンジング(データクリーニング)とは、教師データとして使えない、破損したデータ、不正確なデータ、無関係のデータなどを使えるデータにする、あるいはアノテーション対象データから外すための前処理です。 データクレンジングは、アノテーションを実施するための第1ステップとして必ず必要な作業です。これらのクレンジング前のエラーや矛盾を含むデータは「ダーティデータ」と呼ばれています。

AIにおける学習データの種類

できるだけ多くの教師データを学習させることにより、AIシステムの精度は向上しますが、全てのデータセットに対してアノテーションを実施してAIに学習させてはいけません。必ず検証用のデータを一部分残しておく必要があります。その理由は、検証用のデータをAIに学習させてしまうと、当然のことながらテストデータに対する正解率は向上するため、本番利用におけるAIシステムの精度とずれてしまうことになるからです。そのような理由でデータセットを全てAIに学習させることはせずに、大きく分けるとトレーニングデータと検証データ(テストデータ)に分けた上で、トレーニングデータのみ学習対象に使われます。

学習データ(トレーニングデータ)

学習データは機械学習の訓練のために使われるデータです。このデータはデータセット全体の中でも大部分を占めますが、構築するAIにより、全データの約70%~90%とすることが一般的です。

検証データ(テストデータ)

学習済のAIに対して、入力値に対してどれぐらい正解であるかという精度を測定する必要が出てきます。その手法として一般的なものは、データセットの一部をAIに学習させずにテスト用データとしてキープしておき、評価用として使われることが一般的です。

まとめ

近年のAI技術の発展はめざましいものがあります。今後はさらに、人間の感情や曖昧な表現を理解するようなAI技術が開発され、汎用的なAIが生み出される日もいずれ来ることが期待されています。

ライター:Endo

御相談、ご質問はこちら

サービスご案内資料や、特別資料「機械学習の精度を向上させる方法とは?」がダウンロードできます。

最新事例の公開情報や、イベント・セミナー情報をお届けします。

pagetop ボタン
サイバーテックお知らせ画像
©2018 CyberTech corporation ltd. All Rights Reserved.