Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
アノテーションツール_Label_Studio_の紹介.pdf
Search
nasuka
May 20, 2022
Programming
0
430
アノテーションツール_Label_Studio_の紹介.pdf
NLP Hacks vol.4で発表したLTのスライドです。
Label Studioというアノテーションツールについて
https://connpass.com/event/243929/
nasuka
May 20, 2022
Tweet
Share
Other Decks in Programming
See All in Programming
5分ぐらいで分かる、トリミング機能の作り方
tsutsuitakumi
0
140
Leverage LLMs in Java with LangChain4j and Quarkus
hollycummins
0
110
MoQとか勉強会#2 発表資料
yuki_uchida
1
120
flutterkaigi_2024.pdf
kyoheig3
0
350
CSC509 Lecture 12
javiergs
PRO
0
170
新規学習のハードルを下げる方法とは?/ How to Make Learning Something New Easier?
nobuoooo
1
130
最新TCAキャッチアップ
0si43
0
250
OnlineTestConf: Test Automation Friend or Foe
maaretp
0
140
3 Effective Rules for Using Signals in Angular
manfredsteyer
PRO
0
160
Jakarta EE meets AI
ivargrimstad
0
350
よくできたテンプレート言語として TypeScript + JSX を利用する試み / Using TypeScript + JSX outside of Web Frontend #TSKaigiKansai
izumin5210
8
3.2k
Thoughts and experiences on Rust and TypeScript
unvalley
2
200
Featured
See All Featured
[RailsConf 2023] Rails as a piece of cake
palkan
52
5k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
We Have a Design System, Now What?
morganepeng
50
7.2k
Building a Scalable Design System with Sketch
lauravandoore
459
33k
Measuring & Analyzing Core Web Vitals
bluesmoon
4
150
Build The Right Thing And Hit Your Dates
maggiecrowley
33
2.4k
Embracing the Ebb and Flow
colly
84
4.5k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
44
2.2k
Unsuck your backbone
ammeep
669
57k
Docker and Python
trallard
40
3.1k
Writing Fast Ruby
sferik
627
61k
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Transcript
アノテーションツール 「Label Studio」の紹介 NSK @naohachi89 1
aaa 自己紹介 • 経歴 ◦ 機械学習エンジニア@リクルート ◦ 機械学習エンジニア、プロダクトマネージャー @ベンチャー企業 •
趣味 ◦ 🍺 ◦ ストリートダンス・ダブルダッチ ◦ 機械学習コンペ ▪ 最近はKaggle Days Championshipという Kaggler天下一武道会的なイベントにハマってます 2
aaa 今日お話すること • アノテーションの重要性と自然言語データにおけるアノテーションについて • アノテーションツール「Label Studio」について 3
aaa 機械学習プロジェクトのライフサイクルとアノテーション • 機械学習プロジェクトにおいてデータ収集は欠かせない要素 ◦ プロジェクトによってはアノテーションは必要ないケースもあるが、そうでない場合は教師 あり学習を行う上でアノテーションは必須 • モデルの性能を向上させるには、良い学習データを収集することが重要 ◦
アルゴリズムの改善よりも、データの収集と品質改善をすることによって大幅に精度を向 上した事例が報告されている[1] ◦ -> 機械学習モデルの精度を向上させる上でアノテーションは非常に重要 4 データ収集 プロジェクトの スコープ定義 モデル学習 デプロイ MLOps: From Model-centric to Data-centric AI より引用
• Spreadsheetで問題ないケースも多分にある ◦ 以下のようなケースでは恐らくspreadsheetでも十分 ▪ 数クラスのテキスト分類タスクのアノテーション ▪ レビューを行わない/複数人のアノテーターが共同作業しないケース • 一方で、専用のアノテーションツールを使ったほうが効率的
な場合もある ◦ クラス数が膨大な分類タスクのアノテーション ◦ 系列ラベリングタスクのような複雑な構造のラベルのアノテーション ◦ アノテーション結果のレビューを行うなど、複数人で共同作業するケース 5 Q. アノテーションが大事なのはわかったけど、Spreadsheetじゃだめなの?
aaa 自然言語処理における主要なアノテーションタスク例 タスク 概要 応用例 分類/ラベリング テキストに対して 1:1 ないし 1:N
で クラス/ラベルを付与する ニュースのカテゴリ分 類 系列ラベリング テキストを単語などから成る系列とみなし、 系列の構成要素に対してラベルを付与す る 固有表現抽出 Seq2Seq テキストを単語などから成る系列とみなし、 与えられた系列に対して異なる系列を付与 する 機械翻訳 要約 Text2SQL 6
aaa アノテーションツール「Label Studio」とは • OSS(&SaaS)の様々なデータ形式に対応するアノテーションツール ◦ テキスト、音声、画像、時系列、マルチモーダルに対応 • 導入が容易 ◦
コマンド一つでインストール可能 • ビジネスユースに必要な機能を用意 ◦ ユーザー管理、権限管理、etc • その他便利機能多数 ◦ 豊富なアノテーションテンプレート、クラウドストレージ連携、 Active Learning、 Webhook連携、etc 7
aaa 製品プランと特徴 • Community/Team/Enterprise という3種の料金体系 • Communityは無償 & self hosted
• Team/Enterpriseは有償 & SaaS形式で提供 https://heartex.com/ より引用。テキスト翻訳にgoogle翻訳を利用。 8
aaa デモ動画 9 こちらの動画をご覧ください https://www.youtube.com/watch?v=nfI0qWY8JZw
aaa Label Studioを用いたアノテーションプロセス 1. プロジェクトの作成 2. アノテーションインターフェースの設定 3. データのインポート 4.
アノテーション 5. (アノテーションのレビュー) 6. アノテーションされたデータのエクスポート 7. (Active Learningによるアノテーションすべきデータのサジェスト) 8. -> 4に戻る ※()付きはEnterprise版でのみ利用可能な機能 10
aaa 1. プロジェクトの作成 • アノテーションのプロジェクトを作成する • 複数のプロジェクトを作成し、 プロジェクト単位でアノテーションするタスク・ データを切り替えられる 11
aaa 2. アノテーションインターフェースの設定 • Label Studio内で作成するプロジェクト単位で インターフェースを設定可能 • インターフェースの記述はXMLで設定 ◦
スクラッチでも記述可能だが、恐らく後述のテンプ レートをカスタマイズするのが基本 • 豊富なテンプレートが用意されており、 テンプレートベースでの設定も可能 ◦ NLPであればテキスト分類・質問応答・ 固有表現抽出・機械翻訳・要約・関係抽出 などのテンプレートが用意されている 12
aaa 3. データのインポート • ファイルアップロード or Cloud Storage連携 or URL指定を行い、プロジェクトに
データをインポートできる • Cloud StorageはAWS・GCP・Azureなどの主要なパブリッククラウドで連携可能 13
aaa 4-1. アノテーション: 基本的な操作 • 設定したアノテーションインターフェー スに基づいてアノテーションを実施 • アノテーション前・最中にガイドラインを 表示することが可能
• 判断に迷った場合はスキップ可能 ◦ スキップしたタスクをフィルタして 後からアノテートすることも可能 14
aaa 4-2. アノテーション: ショートカットによる効率化 • ショートカットを利用し、効率的にアノテーションを進めることが可能 ◦ スクショの固有表現抽出の例では、 {1, 2,
3, 4}といったショートカットキーを押すと固有 表現のラベルが選択できる 15
aaa 5. アノテーションのレビュー(Enterprise版のみ) • アノテーション済みのデータ(タスク)を他のアノテーターがレビューできる ◦ タスクに対してレビュー担当者を割り当てられる • なぜアノテーションのレビューが必要か? ◦
アノテーションの品質を担保できる ◦ 判別が難しいデータをスキルの高いアノテーターにアサインできる ◦ アノテーターの教育が出来る 16
aaa 6. アノテーションされたデータのエクスポート • アノテーション済みデータを様々なフォーマットで 出力可能 ◦ JSON、CSVなどの汎用的なものから、CoNLL2003 などのタスク依存のものも用意 •
(本筋とは関係ないが) 使いたいフォーマットがない場合のフィードバック先の動線 があるのがgood 17
aaa 7-1. Active Learningによるサジェスト(Enterpriseのみ) • Active Learningとは ◦ 機械学習モデルの精度を効率的に向上させるために、アノテーションすべきデータを 選定・優先順位づけする技術
• 機械学習モデルをホスティングする ML backend を設定すると、Active Learningを用いて アノテーションすべきデータがサジェストされる 18 https://labelstud.io/guide/active_learning.html#mainより引用
aaa 7-2. Active Learningに関する補足: サンプリング戦略 • 不確実性サンプリング ◦ モデルが確信を持って予測できていないデータを優先的にサンプルする戦略 ▪
e.g. クラス分類でconfidenceの最大値が最も低いデータをサンプルする ◦ Label Studioにはこの戦略が搭載されている ◦ 決定境界を学習しやすいが多様性に欠けるリスクがある。また、モデルに依存してデータに バイアスがかかるリスクがある • 多様性サンプリング ◦ 学習データが多様になるようにサンプルする戦略 ▪ e.g. multi lingual なデータセットにおいて多様な言語のデータをサンプルする ◦ 多様性は向上しやすいが決定境界が学習しにくくなる • それぞれ一長一短あり、上記の戦略とランダムサンプリングを組み合わせるのが 良いらしい[2] 19
aaa その他のアノテーションツールについて 20 ツール名 特徴 提供体系 doccano ・チームコラボレーション機能 ・主要な自然言語タスクの他、画像分類もサ ポート
・TIS社が開発 OSS prodigy ・チームコラボレーション機能 ・主要な自然言語タスクの他、画像・動画・音 声など様々なデータ形式に対応 ・spaCyを提供するExplosion社が開発 Personal: $390(買い切り) Company: $490 ~ 買い切り・無償アップグレードは 12ヶ月まで
aaa まとめ • 自然言語データにおけるアノテーションについて紹介した ◦ タスクによってはSpreadsheetを用いたアノテーションが非効率なため、 専用のアノテーションツールを利用する方が効率的 • アノテーションツール「Label Studio」の機能・特徴について紹介した
◦ アノテーションを効率的に行うための便利機能を備えている他、ビジネスユースを意 識した機能も搭載されている 21
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