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/

nasuka

May 20, 2022
Tweet

Other Decks in Programming

Transcript

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

    View Slide

  2. aaa
    自己紹介
    ● 経歴
    ○ 機械学習エンジニア@リクルート
    ○ 機械学習エンジニア、プロダクトマネージャー
    @ベンチャー企業
    ● 趣味
    ○ 🍺
    ○ ストリートダンス・ダブルダッチ
    ○ 機械学習コンペ
    ■ 最近はKaggle Days Championshipという
    Kaggler天下一武道会的なイベントにハマってます
    2

    View Slide

  3. aaa
    今日お話すること
    ● アノテーションの重要性と自然言語データにおけるアノテーションについて
    ● アノテーションツール「Label Studio」について
    3

    View Slide

  4. aaa
    機械学習プロジェクトのライフサイクルとアノテーション
    ● 機械学習プロジェクトにおいてデータ収集は欠かせない要素
    ○ プロジェクトによってはアノテーションは必要ないケースもあるが、そうでない場合は教師
    あり学習を行う上でアノテーションは必須
    ● モデルの性能を向上させるには、良い学習データを収集することが重要
    ○ アルゴリズムの改善よりも、データの収集と品質改善をすることによって大幅に精度を向
    上した事例が報告されている[1]
    ○ -> 機械学習モデルの精度を向上させる上でアノテーションは非常に重要
    4
    データ収集
    プロジェクトの
    スコープ定義
    モデル学習 デプロイ
    MLOps: From Model-centric to Data-centric AI より引用

    View Slide

  5. ● Spreadsheetで問題ないケースも多分にある
    ○ 以下のようなケースでは恐らくspreadsheetでも十分
    ■ 数クラスのテキスト分類タスクのアノテーション
    ■ レビューを行わない/複数人のアノテーターが共同作業しないケース
    ● 一方で、専用のアノテーションツールを使ったほうが効率的
    な場合もある
    ○ クラス数が膨大な分類タスクのアノテーション
    ○ 系列ラベリングタスクのような複雑な構造のラベルのアノテーション
    ○ アノテーション結果のレビューを行うなど、複数人で共同作業するケース
    5
    Q. アノテーションが大事なのはわかったけど、Spreadsheetじゃだめなの?

    View Slide

  6. aaa
    自然言語処理における主要なアノテーションタスク例
    タスク 概要 応用例
    分類/ラベリング
    テキストに対して 1:1 ないし 1:N で
    クラス/ラベルを付与する
    ニュースのカテゴリ分

    系列ラベリング
    テキストを単語などから成る系列とみなし、
    系列の構成要素に対してラベルを付与す
    る 固有表現抽出
    Seq2Seq
    テキストを単語などから成る系列とみなし、
    与えられた系列に対して異なる系列を付与
    する
    機械翻訳
    要約
    Text2SQL
    6

    View Slide

  7. aaa
    アノテーションツール「Label Studio」とは
    ● OSS(&SaaS)の様々なデータ形式に対応するアノテーションツール
    ○ テキスト、音声、画像、時系列、マルチモーダルに対応
    ● 導入が容易
    ○ コマンド一つでインストール可能
    ● ビジネスユースに必要な機能を用意
    ○ ユーザー管理、権限管理、etc
    ● その他便利機能多数
    ○ 豊富なアノテーションテンプレート、クラウドストレージ連携、
    Active Learning、
    Webhook連携、etc
    7

    View Slide

  8. aaa
    製品プランと特徴
    ● Community/Team/Enterprise
    という3種の料金体系
    ● Communityは無償
    & self hosted
    ● Team/Enterpriseは有償
    & SaaS形式で提供
    https://heartex.com/ より引用。テキスト翻訳にgoogle翻訳を利用。 8

    View Slide

  9. aaa
    デモ動画
    9
    こちらの動画をご覧ください
    https://www.youtube.com/watch?v=nfI0qWY8JZw

    View Slide

  10. aaa
    Label Studioを用いたアノテーションプロセス
    1. プロジェクトの作成
    2. アノテーションインターフェースの設定
    3. データのインポート
    4. アノテーション
    5. (アノテーションのレビュー)
    6. アノテーションされたデータのエクスポート
    7. (Active Learningによるアノテーションすべきデータのサジェスト)
    8. -> 4に戻る
    ※()付きはEnterprise版でのみ利用可能な機能 10

    View Slide

  11. aaa
    1. プロジェクトの作成
    ● アノテーションのプロジェクトを作成する
    ● 複数のプロジェクトを作成し、
    プロジェクト単位でアノテーションするタスク・
    データを切り替えられる
    11

    View Slide

  12. aaa
    2. アノテーションインターフェースの設定
    ● Label Studio内で作成するプロジェクト単位で
    インターフェースを設定可能
    ● インターフェースの記述はXMLで設定
    ○ スクラッチでも記述可能だが、恐らく後述のテンプ
    レートをカスタマイズするのが基本
    ● 豊富なテンプレートが用意されており、
    テンプレートベースでの設定も可能
    ○ NLPであればテキスト分類・質問応答・
    固有表現抽出・機械翻訳・要約・関係抽出
    などのテンプレートが用意されている
    12

    View Slide

  13. aaa
    3. データのインポート
    ● ファイルアップロード or Cloud Storage連携 or URL指定を行い、プロジェクトに
    データをインポートできる
    ● Cloud StorageはAWS・GCP・Azureなどの主要なパブリッククラウドで連携可能
    13

    View Slide

  14. aaa
    4-1. アノテーション: 基本的な操作
    ● 設定したアノテーションインターフェー
    スに基づいてアノテーションを実施
    ● アノテーション前・最中にガイドラインを
    表示することが可能
    ● 判断に迷った場合はスキップ可能
    ○ スキップしたタスクをフィルタして
    後からアノテートすることも可能
    14

    View Slide

  15. aaa
    4-2. アノテーション: ショートカットによる効率化
    ● ショートカットを利用し、効率的にアノテーションを進めることが可能
    ○ スクショの固有表現抽出の例では、
    {1, 2, 3, 4}といったショートカットキーを押すと固有
    表現のラベルが選択できる
    15

    View Slide

  16. aaa
    5. アノテーションのレビュー(Enterprise版のみ)
    ● アノテーション済みのデータ(タスク)を他のアノテーターがレビューできる
    ○ タスクに対してレビュー担当者を割り当てられる
    ● なぜアノテーションのレビューが必要か?
    ○ アノテーションの品質を担保できる
    ○ 判別が難しいデータをスキルの高いアノテーターにアサインできる
    ○ アノテーターの教育が出来る
    16

    View Slide

  17. aaa
    6. アノテーションされたデータのエクスポート
    ● アノテーション済みデータを様々なフォーマットで
    出力可能
    ○ JSON、CSVなどの汎用的なものから、CoNLL2003
    などのタスク依存のものも用意
    ● (本筋とは関係ないが)
    使いたいフォーマットがない場合のフィードバック先の動線
    があるのがgood
    17

    View Slide

  18. aaa
    7-1. Active Learningによるサジェスト(Enterpriseのみ)
    ● Active Learningとは
    ○ 機械学習モデルの精度を効率的に向上させるために、アノテーションすべきデータを
    選定・優先順位づけする技術
    ● 機械学習モデルをホスティングする
    ML backend
    を設定すると、Active Learningを用いて
    アノテーションすべきデータがサジェストされる
    18
    https://labelstud.io/guide/active_learning.html#mainより引用

    View Slide

  19. aaa
    7-2. Active Learningに関する補足: サンプリング戦略
    ● 不確実性サンプリング
    ○ モデルが確信を持って予測できていないデータを優先的にサンプルする戦略
    ■ e.g. クラス分類でconfidenceの最大値が最も低いデータをサンプルする
    ○ Label Studioにはこの戦略が搭載されている
    ○ 決定境界を学習しやすいが多様性に欠けるリスクがある。また、モデルに依存してデータに
    バイアスがかかるリスクがある
    ● 多様性サンプリング
    ○ 学習データが多様になるようにサンプルする戦略
    ■ e.g. multi lingual なデータセットにおいて多様な言語のデータをサンプルする
    ○ 多様性は向上しやすいが決定境界が学習しにくくなる
    ● それぞれ一長一短あり、上記の戦略とランダムサンプリングを組み合わせるのが
    良いらしい[2] 19

    View Slide

  20. aaa
    その他のアノテーションツールについて
    20
    ツール名 特徴 提供体系
    doccano
    ・チームコラボレーション機能
    ・主要な自然言語タスクの他、画像分類もサ
    ポート
    ・TIS社が開発
    OSS
    prodigy
    ・チームコラボレーション機能
    ・主要な自然言語タスクの他、画像・動画・音
    声など様々なデータ形式に対応
    ・spaCyを提供するExplosion社が開発
    Personal: $390(買い切り)
    Company: $490 ~
    買い切り・無償アップグレードは
    12ヶ月まで

    View Slide

  21. aaa
    まとめ
    ● 自然言語データにおけるアノテーションについて紹介した
    ○ タスクによってはSpreadsheetを用いたアノテーションが非効率なため、
    専用のアノテーションツールを利用する方が効率的
    ● アノテーションツール「Label Studio」の機能・特徴について紹介した
    ○ アノテーションを効率的に行うための便利機能を備えている他、ビジネスユースを意
    識した機能も搭載されている
    21

    View Slide

  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

    View Slide