AI開発でよく耳にする「アノテーション」とは?


上記の画像は、人気のアノテーションツールbratで作られたものです。

 2019-03-15
Charly Walther (Gengo)

人工知能(AI)の領域には、さまざまな専門用語があります。

「よく耳にするけど、実はあまり分かっていない」というキーワードも少なくありません。

今回は、そういった用語の中から「アノテーション」を取り上げ、その意味を解説します。



そもそもアノテーションとは?

 アノテーションはテキストや音声、画像などあらゆる形態のデータにタグを付ける作業のことです。
 機械学習アルゴリズムタグが付いたデータを取り込むことで、パターンを認識できるようになります。

そのためAI開発者は、機械学習アルゴリズムを学習させるために、タグが付いた状態のデータを用意することが必須となります。正確にタグ付けできていないデータを取り込んでも、AIは正しく学習できません。そのため、アノテーションは機械学習における、不可欠な前処理とも言えるのです。

 

*さまざまなアノテーションの種類
 一口に「アノテーション」といっても、さまざまな種類があります。代表的なものを幾つか紹介します。

 

*意味的(セマンティック)アノテーション:

 意味的アノテーションは、「人」「物」「企業名」などテキスト内のさまざまな単語に意味付けをするタグ付けです。機械学習アルゴリズムがデータを読み込めるようにするのが目的です。

意味的アノテーションの活用事例には、検索エンジンの関連性の改良やチャットボットの学習などがあります。

 

*画像・映像アノテーション:

 機械学習による画像認識や映像処理は、機密情報の自動認識・漏えい防止、自動車の自動運転、電子商取引での商品リストの分類など幅広く活用されています。
 これらの機械学習モデルは、画像や映像の内容を理解しなければ機能しません

データサイエンティストは、機械学習アルゴリズムに画像認識や映像処理を学習させるために、グラウンドトゥルース(現場測定データ)として利用できる、正確にタグ付けされた大量のデータを必要とします。
 一般的に画像や映像のアノテーションでは、画像に描かれた架空の箱であるバウンディングボックスを使用します。機械学習モデルが、バウンディングボックスの中のものをそれぞれ異なる種類の情報だと認識できるように、タグが付けられています。

 

*テキスト・コンテンツ分類:

 テキストやコンテンツ分類も「アノテーション」に含まれるものです。

これは、前もって定義されたカテゴリをフリーテキストで書かれた文書に割り当てる作業です。

例えば、文書の中の文や段落を、トピックごとにタグ付けすることができます。

コンテンツ分類の代表的な例としては、国内、国際、スポーツ、娯楽など主題別のカテゴリでニュース記事を分類することが挙げられます。

 

*エンティティアノテーション:

 「エンティティ」とは、データ構築の際に、人・物・場所・事象・概念・サービスといった対象物を同一のカテゴリでまとめたものです。
 エンティティアノテーションは、エンティティに基づいてAIが文章を読めるように、非構造化文章に情報をタグ付けするプロセスのことです。
 例えば、弊社が提供している「GengoAI」の裏側をお話すると、学習データを作成するために、2万2000人以上のクラウドワーカーが手作業でタグ付けをしています。

対象となる非構造化テキスト(記事など)の中で、どれが人の名前で、どの単語が組織の名前なのか、どの単語が場所の名前でどれが会社の名前なのか、単語一つひとつにタグを付けています。
 エンティティアノテーションはさまざまな種類があります。

多くのソリューションではこれらのうち複数がシステムに組み込まれているので、データサイエンティストは用途に応じて、適した方法を用いてデータを操作することができます。

全てをここで紹介することはできませんが、以下の代表例だけでも、その多様性をお分かりいただけると思います。

 

*文節チャンキング:

 文節チャンキングは、品詞(名詞、動詞、形容詞など)に品詞名をタグ付けすることから成ります。

例えば、機械学習データセットの幾つかは、全ての単語に品詞(名詞、動詞など)をタグ付けする必要があります。

 

*意図(インテント)抽出:

 チャットボットでは、ユーザーの質問からアルゴリズムが正確にその意図を判断することが重要です。

例えば、レストランのウェブサイトのチャットボットに対する次のような問い合わせについて考えてみましょう。

  • キャンセル料の支払って、予約をキャンセルします。
  • キャンセル料はいくらですか?
  • 連絡なしで行かない場合は、キャンセル料を取られますか?
 これらの例文は全て「キャンセル料」という言葉を含んでいますが、意図は3つとも異なります
最初の文では、チャットボットに予約のキャンセルという行為を行ってほしいという意図を示しています。
それに対して、2番目と3番目の文はそれぞれ、レストランのキャンセルポリシーに関して詳しい情報を尋ねています。
 チャットボットがこの差を認識できなければ、ユーザーはキャンセルポリシーに応じてキャンセルするかどうかを決めようとしているのに、レストランの予約がキャンセルされてしまうことになってしまします。
意図抽出は、上記のような問題に対処するための技術的なソリューションです。
意図抽出では、語句や文のレベルでデータにユーザーの意図を明確にタグ付けします。
このようにして、特定の要求を行うために用いる表現のライブラリが構築されるので、アルゴリズムはそのグラウンドトゥルースに基づいて新しい文章の意味を推定し始めることができます。


*エンティティリンキング:

 エンティティリンキングはテキスト中で関連する複数の言葉をひも付けるプロセスです。

例えば、企業と従業員、人と居住地などを関連付けすることができます。また他のテキストや情報ソースの内容とひも付けることもあります。


*固有表現認識:

 固有表現認識は単語やフレーズに名前、番号、場所の名称、日付、会社名など、そのままの意味をもたせるタグ付けをするプロセスです。簡単な作業に思えますが、プロジェクトごとに内容と複雑度が大きく異なり、時には何層ものカテゴリにまで及ぶケースもあります。

 

 上記の画像は人気のアノテーションツールbratで作られたものです。他にもGATEという複雑なタグ付けも対応できるサービスや、画像用のLabelImgなどさまざまなアノテーションツールがローンチされています。

 ここまで解説してきましたが、アノテーションは非常に複雑な作業のように感じるかと思います。
 しかし、AI開発者は、自分で何時間もアノテーションに取り組む必要はありません。

アノテーションを支援する第三者の企業や個人がたくさん存在するからです。

クラウドソーシングサービスである「Gengo AI」も、テキスト、画像、音声などのデータセットのタグ付けをお手伝いしています。どのようなアノテーションサービスが必要なのかを定義し、サードパーティーの作業者に明確な指示を出すことによって、ROI(投資利益率)を高めることができます。

機械学習アルゴリズムの構築を成功に導く適切なパートナーを見つけることが、AI開発の近道です。 


 

 ☞ タグ付け とは、コンピュータ上に存在するファイルなどにタグという目印を付けて整理する手法。HTMLタグなどを記述する行為をさすこともある。

 

タグの数は無数に存在しますが、最低限知っておくべき種類は大別すると3つに分類できます。これらを知っているだけで、製作会社の方やクライアントと円滑に情報のやりとりができるようになります。 

 

1.htmlタグ
  どのようなページなのかという情報や、ページ上のテキスト、画像、リンクなどを表示する際に必要なものです。


2.コンバージョンタグ
  購入数、申込数、資料請求数などのコンバージョンを測定するためのタグです。


3.ツール用制御タグ
  Google Analytics、ヒートマップABテストツールなどを使用するために埋め込むタグです。

** ABテストや、ヒートマップといったツールの制御タグをウェブページに埋め込むことで、画像を切り替える(ABテストツール)、ユーザのマウスの動きを取得する(ヒートマップツール)


メール・BLOG の転送厳禁です!!  よろしくお願いします。