【AI開発】アノテーションツールの選び方について解説!
近年では、AI技術が急速に進歩し、テクノロジーに関わる業界に限らず、様々な業界でAI導入するケースが増えてきています。
AI開発の工程の中で、大量のデータを識別するためのアノテーション作業に欠かせないアノテーションツール。インターネットで調べてみると、様々なアノテーションツールが出てくるものの、違いがわからないという方も多いのではないでしょうか。
この記事では、AI開発におけるアノテーションの位置づけとアノテーションのフリーソフトを検討する際のポイントについて解説します。
目次
1.AI開発において重要なこととは?
業務にAIを導入するには、まず現状の課題を明確化し、その課題にあったAIを開発しなければなりません。AIは入力するとすべてを解決してくれるような夢の技術と認識されることが多いですが、実際には、目的に応じた特定の作業を行うのに適した技術です。
そしてAI開発において、精度を左右するのが機械学習させるデータの量と、アノテーションされた「教師データ」の質です。まずは教師データ、アノテーションについて確認していきます。
2.AIに使われている基本的な技術
機械学習
AIの技術の一つに機械学習(Machine Learning)があります。大量のデータを読み込ませ、データの中の対象物の特徴やパターンを機械が自動で学習して認識できるようになることで、対象を自動的に検出できるようにすることです。データの中の規則性を学び、対象物について規則の通りにAの特徴を持つものはA、Bの特徴を持つものはBと判断することができるようになります。
そしてさらに、機械学習は「強化学習」「教師あり学習」「教師なし学習」という3つの手法に分けることができます。いずれも大量のデータを読み込ませることには変わりはありませんが、それぞれの学習において準備するデータに違いがあります。
強化学習とは、正解を与える代わりに将来の価値を最大化するために学習させる手法のことをいい、動的環境の中で試行錯誤のやり取りを重ねることでタスクを実行します。
「教師あり/なし」とは、教師データを用いて学習させるか、そうでないかの違いとなります。
教師データ
教師データとは教師というその言葉の指すイメージから、「入力されたテキスト・音声・画像に対する正しい出力(応答)について記載した正解データ」のことを指します。AIが実利用される際には、「教師あり学習」が利用されることが多いですが、このデータの質の高さがAIの精度を左右するのです。
アノテーション
アノテーション(annotation)とは、英語の辞書で調べてみると「注釈をつけること」と出てきます。これがAI分野においては「特定のデータに対して情報タグ(メタデータ)を付け加える」という意味になります。
さらに詳しく説明すると、「教師データを作成する際に、テキストや音声、画像などのデータ情報タグ(メタデータ)を付加する作業」のこととなります。機械学習においてデータ収集した後、データにラベリングすることでそのラベルごとに仕分けをして、そのラベルの目的に沿った学習を行うことができるようになります。
つまり、AI開発におけるアノテーションとは「教師データを作る作業」のことを指しています。
3.AI開発におけるアノテーションの位置づけ
AI開発では下記図のように、大きく分かれて5つの工程があります。
AI開発にはまず、学習させるためのデータが必要になります。しかしそのデータを活用するためには、データの整理をしなければなりません。そしてまだまだ社内でデータが蓄積していない場合は、データの収集から始めることが必要になります。
AI開発にはデータ収集とアノテーションの両輪相まって初めて、AI学習を始めることができます。
データ収集についてはこちらのコラムにて詳しく解説しています。⇒https://harbest.io/documents/459/
4.アノテーションの種類と方法
アノテーションには用途に応じて様々な種類があります。ここではよく使われている「テキスト」「音声」「画像・動画」のアノテーションについて紹介します。
4-1.テキストのアノテーション
テキストのアノテーションはAIの活用方法で例として挙げた、お問い合わせのチャットボット、ネットで検索する際に出てくる予測検索結果などで活用されています。文章に対して、タグやメタデータ(データについてより詳しく説明するデータ)などのラベル付けをする作業のことを指します。
テキストのアノテーションの中には、テキストに含まれている感情や態度をラベル付けして分けるものや、書かれたテキストの背後にある意図を分析してカテゴリに分類するものもあります。
意味的アノテーション(セマンテックアノテーション)
最近多くのサービスで見かけるようになったお問い合わせ窓口などで使用されているチャットボットの学習や、検索エンジンにおける関連付けの性能の改善などに使われるアノテーションです。人の名前や企業名、商品名など、テキスト内の単語に対して意味づけを行うものを指します。
文節チャンキング
意味的アノテーションに関連して、こちらもチャットボットの開発に欠かせないアノテーションです。チャンキングとは心理学や認知心理学、記憶術、ビジネスでよく使われるchunkingという単語で、断片を集めて一つのかたまりとしたり、一方で一つの情報のかたまりを複数の情報に分けたりすることを指します。
そこから、テキストアノテーションにおいては、名刺、動詞、形容詞などの言葉の品詞にタグ付けを行います。同じ言葉であっても文脈によって意味合いが大きく変化することもあるため、文章の意味を正しく読み取らせるために重要な役割を果たしています。
意図抽出
こちらもチャットボットで使用されているアノテーションです。ユーザーの質問のニュアンスを正しく認識させるために使用されています。文脈によって複数の意味を持つ言葉に対して、語句や文レベルでのタグ付けを行うことで、その文脈に応じて正しく意味を認識できるようになります。
エンティティアノテーション
エンティティ(entity)とは、英語で実体、存在、本体という意味を持つ単語ですが、データベースや情報処理の領域では、データの対象物という意味があります。
データ整理や構築の際に「人」「物」「サービス」「場所」「事象」などの具体的なカテゴリや分類単位として認識される対象のことを指します。例えば、「日本」をAIがただの文字列としてではなく、それが「国」や「地名」であることを示すタグを付けることで、特定の場所を表す言葉として正確に認識できるようになります。
4-2.音声のアノテーション
音声のアノテーションは人間が話した言葉の意味にタグ付けを行う場合や音の種類に対してタグ付けを行う場合があります。例えばスマートフォンやスマートスピーカーに向かって話しかけるとそれに応答してくれますが、それには音声のアノテーションが活用されています。人間の話す音声を認識して正しい返答をするためには、音声データを文字起こししてテキスト化し、それぞれの単語に意味をタグ付けしていかなければなりません。また、それだけでなく、言語、話す人の性別や年齢、声の高さ低さの違いによっても認識しなければならないため、膨大な質の高い教師データが必要となります
4-3.画像・動画のアノテーション
商品の不良品検出や自動車の自動運転技術などに活用されています。
画像・動画アノテーションには大きく5つの種類に分けられます。
画像分類(クラスィフィケーション)
こちらは最もシンプルで、対象の画像1枚に対してこれは何か、どんな形をしているか、どんな色をしているかという1つの属性だけでタグ付けを行う手法です。例えば富士山の写真に対して「富士山かどうか」というラベリングを行います。画像や動画を効率的に分類できる一方で、対象物が画像のどこにあるかなどは示されないため、あいまいな情報となってしまうデメリットもあります。
物体検出(バウンディングボックス)
アノテーターに画像内でラベリングをする必要がある特定の対象物が与えられ、それを検出して意味づけを行う手法です。例えば、ある画像内に鳥がいると分類された場合、どこに鳥が飛んでいるのを具体的示すことで、もう一つ踏み込んだ情報を提供することができます。物体検出はいくつかの手法に分けられます。
・2Ⅾバウンディングボックス
請求書や領収書の順番や種類がバラバラになってしまった、どの取引先からのモノだろうか。と困ることはありませんか。そういった際に長方形や正方形などの四角形(頂点が4つ)で領域を設定して、ターゲットとなるオブジェクトの位置を定義します。書類をスマートフォンでスキャンをしようとしたときに、その書類の周りを囲んでくれる線が現れるときと同じようなイメージです。
・3Ⅾバウンディングボックス
アノテーションの対象物に立方体(頂点が8つ)を適用して、その対象物の位置と深さを定義します。最近ではスマートフォンやタブレットを部屋の中でかざすと映っているものの長さを測れるアプリケーションがあります。画角に収まらないものでもスマートフォンやタブレットを動かすことで長さをほぼ正確に測れるようになっています。
領域検出(セグメンテーション)
特定の領域を選択して、タグ付けを行う作業です。例えば、自転車と橋と人が映っている写真で、自転車のブランドを見たいと思い、自転車の領域だけを指定してタグ付けをします。他にもスマートフォンのロック解除やカメラの写真撮影機能のように目印となるものを検出するランドマークアノテーションというものもあります。これは顔の認識によく使われるアノテーション作業で、目、眉、鼻、口、輪郭といった顔のパーツを点で指定する形で行います。また、人物の姿勢推定モデルでは画像内の肩、肘、腰、膝、足首などの関節点に点を指定するものもあり、これを使用することで姿勢や野球の打球フォームなどの分析にも使われています。
多角形ポリゴン(ポリゴンセグメンテーション)
複雑な形状の物体に対して、多角形で領域を指定してアノテーションを行うもので、正確に領域をアノテーションすることが可能です。
領域分類(セマンティックセグメンテーション)
上記は画像全体や画像の一部の検出でしたが、そうではなく、ピクセル(画素)一つ一つに対して意味づけをするアノテーションを行います。
このようにアノテーションは多岐にわたる方法があり、目的やプロジェクトによって使われる手法が異なっています。
5.アノテーションの実施する方法とは?
アノテーションには様々種類があることがここまででお分かりいただけたと思います。
それでは実際にアノテーションを行う方法について解説します。
データセットを活用する
アノテーションを行うデータの内容や付与するラベルがシンプルなものである場合は、世界中の企業や国などが提供しているアノテーション済みのデータセットで済む場合があります。
もちろん使用する場合は、AI開発の目的やアノテーションの要件に合致している必要がありますが、合致している場合は、工程を省けることに加え、無料で配布されているデータもあるため、短時間かつ低コストで機械学習のプロセスへたどり着くことができます。
クラウドソーシングで委託する
アノテーションには専門知識が必要となるため、アノテーションに関して精通している従業員がいない場合や予算が限られている場合は、クラウドソーシングも有効な手段となり得るでしょう。
近年、クラウドソーシング連動サービスも出てきているので、アノテーション作業の依頼も簡単になってきています。
クラウドワーカーに依頼することで予算を低く抑えることができる反面、品質は依頼するアノテーターに左右されるため、委託する前に実績やユーザーによる評価をしっかりと確認する必要があります。
アノテーション代行会社を利用する
自社にノウハウの蓄積、人材がいない場合は、アノテーションの代行会社と契約、委託するのも有効な手段と言えるでしょう。委託会社の選定や契約、条件のすり合わせなどのコミュニケーションが重要となります。
クラウドソーシングを利用する場合と比べてコストがかかってしまう反面、データの活用目的に沿っている適切で高品質のアノテーション作業を期待できるでしょう。
フリーソフトやアノテーションツールを利用する
アノテーションツールは大きく分けて4つの方法で利用することができます。
・アノテーションツールを内製化する(インハウス)
・OSS(オープンソースソフトウェア
・ベンダーのアノテーションサービスを利用
・アノテーション自動ツール
最近では様々なAI開発企業が様々な領域に特化したサービス、プロダクトを提供しています。それだけでなく、AIによって自動的にアノテーションを行ってくれるツールまで登場しています。さらに、品質を上げるためのアノテーターによるチェックまでをサービスとして提供している企業もあり、様々な選択肢から自社にあった方法を選べるようになってきています。
6.アノテーションツールを選ぶときのポイント
ここまで、アノテーションの種類と実施方法を見てきました。本記事では最後にアノテーションツールを選ぶ際に考慮すべきポイントについて紹介します。
そのポイントは多岐にわたりますので、一つ一つ詳しく解説します。
対応フォーマットとデータタイプ
ツールがサポートするデータフォーマットや種類に注意が必要です。画像、テキスト、音声、動画など、対応しているデータ形式がプロジェクトのニーズと一致しているか確認しましょう。
ラベリングの種類
ツールがサポートするアノテーションかどうかの確認をしましょう。物体検出、セグメンテーションなど、プロジェクトに必要なラベリングがサポートされていることが重要です。
AIモデル出力形式への対応
アノテーションツールによって出力できる形式とできない形式があり、形式が対応しているかの確認が必要となります。データ形式をあとから変換することも可能ですが、ツールによっては複数の出力形式に対応しているため、ツールの比較の際のポイントとなります。
ユーザビリティと機能の使いやすさ
ユーザーインターフェースが直感的で使いやすいかどうか確認しましょう。アノテーションは複数の作業者(アノテーター)が作業することを想定して、迅速かつ正確にアノテーション作業を行えるかが重要です。
また、操作性としては動作が軽いかということや、わからないことがあればすぐに調べられるマニュアルが備わっているかどうかということや、マニュアルがなくても使い方がわかるものを選ぶと良いでしょう。
ツールの導入のしやすさ
アノテーションツールはインストールして使用するアプリ/インストール型と、クラウド上で使用するクラウド型に分かれています。クラウド上で使用できるものはブラウザから操作が可能なため、導入しやすいという特徴があります。
データの秘匿性
導入しやすいクラウド型の一方で、目的によってはクラウド上(外部)にアップしたくないデータを取り扱うという可能性もあり得ます。その場合は、ローカルでの作業ができる、アプリ/インストール型が適しています。PCの環境を整えたり、アプリのバージョン管理を行うシステムGitというツールを導入したりする必要もありますが、秘匿性を重視する場合はアプリ/インストール型を選ぶと良いでしょう。
作業者の管理
複数の作業者が同時にプロジェクトに参加する場合、作業者を管理する機能が必要です。また、ユーザーアクセスの管理や進捗のトラッキングがスムーズに行えるかの確認が必要です。進捗管理を行うことができるアノテーションツールは有料のものがほとんどのため、コスト面との兼ね合いを考える必要があります。
コラボレーション機能
チームメンバーとのコミュニケーションや共同作業をサポートする機能があるかどうかを確認しましょう。コメントやフィードバック機能があると、プロジェクトの円滑な進行に役立ちます。
品質管理と検証のしやすさ
ラベリングの品質管理や検証機能があるかどうか確認しましょう。どのデータを誰が行ったのかを分かるようになっていたり、作業者(アノテーター)にフィードバックができる機能がついている必要があります。
これらの機能は有料のツールの場合が多いため、品質を高く保ちながら膨大なデータをアノテーションする必要があれば、有料のツールを選択することをおすすめします。
拡張性とカスタマイズ性
プロジェクトが成長するにつれてツールがどれだけ拡張可能であるか、カスタマイズ可能であるか確認してください。新しいラベリングのタイプや要件に柔軟に対応できるかが重要です。
コスト
ツールの価格体系を確認し、プロジェクトの予算に合致しているか検討してください。無料トライアルを利用して機能やパフォーマンスを評価することも重要です。
これらのポイントを考慮して、プロジェクトの要件に最適なアノテーションツールを選択することが重要です。
アノテーション作業はAI開発において80%を占めると言われているほど、AIの精度大きく左右します。自社で賄う場合は人員のみならず、専門知識を持った人材とツール、ノウハウが重要となってきます。これまで自社でAI開発を行ったことがないという場合は要件定義や見積もりのためにAIベンダーに相談することをおすすめいたします。
最後に
いかがでしたでしょうか。アノテーション作業をする上で、コスト面のみならず、目的や条件に合致するツールを選ぶことが質の高いAI開発、ひいてはプロジェクトの成功につながることがお分かりいただけたと思います。
harBest(ハーベスト)では業務効率化や自動化、DX推進の必要性を感じていてもなかなか踏み出せない、AI開発に不安を持つお客様に寄り添い、その一歩を踏み出すための課題設定からAI実装まで包括的なサポートをしております。
そしてAI開発において重要な教師データの作成には、弊社の多数のクラウドワーカーによる高品質なデータ作成とWEBでの発注による、スピーディーかつコストパフォーマンスの高いデータセットの準備が可能です。AI開発につきましては、下記よりお気軽にお問い合わせください。