Upgrade to Pro — share decks privately, control downloads, hide ads and more …

アノテーションツール_Label_Studio_の紹介.pdf

 アノテーションツール_Label_Studio_の紹介.pdf

NLP Hacks vol.4で発表したLTのスライドです。
Label Studioというアノテーションツールについて
https://connpass.com/event/243929/

B125a3cabb3656962c27cee0d217dfc0?s=128

nasuka

May 20, 2022
Tweet

Other Decks in Programming

Transcript

  1. アノテーションツール 「Label Studio」の紹介 NSK @naohachi89 1

  2. aaa 自己紹介 • 経歴 ◦ 機械学習エンジニア@リクルート ◦ 機械学習エンジニア、プロダクトマネージャー @ベンチャー企業 •

    趣味 ◦ 🍺 ◦ ストリートダンス・ダブルダッチ ◦ 機械学習コンペ ▪ 最近はKaggle Days Championshipという Kaggler天下一武道会的なイベントにハマってます 2
  3. aaa 今日お話すること • アノテーションの重要性と自然言語データにおけるアノテーションについて • アノテーションツール「Label Studio」について 3

  4. aaa 機械学習プロジェクトのライフサイクルとアノテーション • 機械学習プロジェクトにおいてデータ収集は欠かせない要素 ◦ プロジェクトによってはアノテーションは必要ないケースもあるが、そうでない場合は教師 あり学習を行う上でアノテーションは必須 • モデルの性能を向上させるには、良い学習データを収集することが重要 ◦

    アルゴリズムの改善よりも、データの収集と品質改善をすることによって大幅に精度を向 上した事例が報告されている[1] ◦ -> 機械学習モデルの精度を向上させる上でアノテーションは非常に重要 4 データ収集 プロジェクトの スコープ定義 モデル学習 デプロイ MLOps: From Model-centric to Data-centric AI より引用
  5. • Spreadsheetで問題ないケースも多分にある ◦ 以下のようなケースでは恐らくspreadsheetでも十分 ▪ 数クラスのテキスト分類タスクのアノテーション ▪ レビューを行わない/複数人のアノテーターが共同作業しないケース • 一方で、専用のアノテーションツールを使ったほうが効率的

    な場合もある ◦ クラス数が膨大な分類タスクのアノテーション ◦ 系列ラベリングタスクのような複雑な構造のラベルのアノテーション ◦ アノテーション結果のレビューを行うなど、複数人で共同作業するケース 5 Q. アノテーションが大事なのはわかったけど、Spreadsheetじゃだめなの?
  6. aaa 自然言語処理における主要なアノテーションタスク例 タスク 概要 応用例 分類/ラベリング テキストに対して 1:1 ないし 1:N

    で クラス/ラベルを付与する ニュースのカテゴリ分 類 系列ラベリング テキストを単語などから成る系列とみなし、 系列の構成要素に対してラベルを付与す る 固有表現抽出 Seq2Seq テキストを単語などから成る系列とみなし、 与えられた系列に対して異なる系列を付与 する 機械翻訳 要約 Text2SQL 6
  7. aaa アノテーションツール「Label Studio」とは • OSS(&SaaS)の様々なデータ形式に対応するアノテーションツール ◦ テキスト、音声、画像、時系列、マルチモーダルに対応 • 導入が容易 ◦

    コマンド一つでインストール可能 • ビジネスユースに必要な機能を用意 ◦ ユーザー管理、権限管理、etc • その他便利機能多数 ◦ 豊富なアノテーションテンプレート、クラウドストレージ連携、 Active Learning、 Webhook連携、etc 7
  8. aaa 製品プランと特徴 • Community/Team/Enterprise という3種の料金体系 • Communityは無償 & self hosted

    • Team/Enterpriseは有償 & SaaS形式で提供 https://heartex.com/ より引用。テキスト翻訳にgoogle翻訳を利用。 8
  9. aaa デモ動画 9 こちらの動画をご覧ください https://www.youtube.com/watch?v=nfI0qWY8JZw

  10. aaa Label Studioを用いたアノテーションプロセス 1. プロジェクトの作成 2. アノテーションインターフェースの設定 3. データのインポート 4.

    アノテーション 5. (アノテーションのレビュー) 6. アノテーションされたデータのエクスポート 7. (Active Learningによるアノテーションすべきデータのサジェスト) 8. -> 4に戻る ※()付きはEnterprise版でのみ利用可能な機能 10
  11. aaa 1. プロジェクトの作成 • アノテーションのプロジェクトを作成する • 複数のプロジェクトを作成し、 プロジェクト単位でアノテーションするタスク・ データを切り替えられる 11

  12. aaa 2. アノテーションインターフェースの設定 • Label Studio内で作成するプロジェクト単位で インターフェースを設定可能 • インターフェースの記述はXMLで設定 ◦

    スクラッチでも記述可能だが、恐らく後述のテンプ レートをカスタマイズするのが基本 • 豊富なテンプレートが用意されており、 テンプレートベースでの設定も可能 ◦ NLPであればテキスト分類・質問応答・ 固有表現抽出・機械翻訳・要約・関係抽出 などのテンプレートが用意されている 12
  13. aaa 3. データのインポート • ファイルアップロード or Cloud Storage連携 or URL指定を行い、プロジェクトに

    データをインポートできる • Cloud StorageはAWS・GCP・Azureなどの主要なパブリッククラウドで連携可能 13
  14. aaa 4-1. アノテーション: 基本的な操作 • 設定したアノテーションインターフェー スに基づいてアノテーションを実施 • アノテーション前・最中にガイドラインを 表示することが可能

    • 判断に迷った場合はスキップ可能 ◦ スキップしたタスクをフィルタして 後からアノテートすることも可能 14
  15. aaa 4-2. アノテーション: ショートカットによる効率化 • ショートカットを利用し、効率的にアノテーションを進めることが可能 ◦ スクショの固有表現抽出の例では、 {1, 2,

    3, 4}といったショートカットキーを押すと固有 表現のラベルが選択できる 15
  16. aaa 5. アノテーションのレビュー(Enterprise版のみ) • アノテーション済みのデータ(タスク)を他のアノテーターがレビューできる ◦ タスクに対してレビュー担当者を割り当てられる • なぜアノテーションのレビューが必要か? ◦

    アノテーションの品質を担保できる ◦ 判別が難しいデータをスキルの高いアノテーターにアサインできる ◦ アノテーターの教育が出来る 16
  17. aaa 6. アノテーションされたデータのエクスポート • アノテーション済みデータを様々なフォーマットで 出力可能 ◦ JSON、CSVなどの汎用的なものから、CoNLL2003 などのタスク依存のものも用意 •

    (本筋とは関係ないが) 使いたいフォーマットがない場合のフィードバック先の動線 があるのがgood 17
  18. aaa 7-1. Active Learningによるサジェスト(Enterpriseのみ) • Active Learningとは ◦ 機械学習モデルの精度を効率的に向上させるために、アノテーションすべきデータを 選定・優先順位づけする技術

    • 機械学習モデルをホスティングする ML backend を設定すると、Active Learningを用いて アノテーションすべきデータがサジェストされる 18 https://labelstud.io/guide/active_learning.html#mainより引用
  19. aaa 7-2. Active Learningに関する補足: サンプリング戦略 • 不確実性サンプリング ◦ モデルが確信を持って予測できていないデータを優先的にサンプルする戦略 ▪

    e.g. クラス分類でconfidenceの最大値が最も低いデータをサンプルする ◦ Label Studioにはこの戦略が搭載されている ◦ 決定境界を学習しやすいが多様性に欠けるリスクがある。また、モデルに依存してデータに バイアスがかかるリスクがある • 多様性サンプリング ◦ 学習データが多様になるようにサンプルする戦略 ▪ e.g. multi lingual なデータセットにおいて多様な言語のデータをサンプルする ◦ 多様性は向上しやすいが決定境界が学習しにくくなる • それぞれ一長一短あり、上記の戦略とランダムサンプリングを組み合わせるのが 良いらしい[2] 19
  20. aaa その他のアノテーションツールについて 20 ツール名 特徴 提供体系 doccano ・チームコラボレーション機能 ・主要な自然言語タスクの他、画像分類もサ ポート

    ・TIS社が開発 OSS prodigy ・チームコラボレーション機能 ・主要な自然言語タスクの他、画像・動画・音 声など様々なデータ形式に対応 ・spaCyを提供するExplosion社が開発 Personal: $390(買い切り) Company: $490 ~ 買い切り・無償アップグレードは 12ヶ月まで
  21. aaa まとめ • 自然言語データにおけるアノテーションについて紹介した ◦ タスクによってはSpreadsheetを用いたアノテーションが非効率なため、 専用のアノテーションツールを利用する方が効率的 • アノテーションツール「Label Studio」の機能・特徴について紹介した

    ◦ アノテーションを効率的に行うための便利機能を備えている他、ビジネスユースを意 識した機能も搭載されている 21
  22. aaa 参考文献 • [1] Andrew Ng, MLOps: From Model-centric to

    Data-centric AI, https://www.deeplearning.ai/wp-content/uploads/2021/06/MLOps-From-M odel-centric-to-Data-centric-AI.pdf • [2] Robert Monarch, Human-in-the-Loop Machine Learning, https://www.manning.com/books/human-in-the-loop-machine-learning 22