Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
アノテーションツール_Label_Studio_の紹介.pdf
Search
nasuka
May 20, 2022
Programming
0
440
アノテーションツール_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
Stackless и stackful? Корутины и асинхронность в Go
lamodatech
0
940
iOS開発におけるCopilot For XcodeとCode Completion / copilot for xcode
fuyan777
1
110
Beyond ORM
77web
8
1.2k
PHPとAPI Platformで作る本格的なWeb APIアプリケーション(入門編) / phpcon 2024 Intro to API Platform
ttskch
0
300
KMP와 kotlinx.rpc로 서버와 클라이언트 동기화
kwakeuijin
0
180
Итераторы в Go 1.23: зачем они нужны, как использовать, и насколько они быстрые?
lamodatech
0
950
htmxって知っていますか?次世代のHTML
hiro_ghap1
0
350
Effective Signals in Angular 19+: Rules and Helpers
manfredsteyer
PRO
0
130
GitHubで育つ コラボレーション文化 : ニフティでのインナーソース挑戦事例 - 2024-12-16 GitHub Universe 2024 Recap in ZOZO
niftycorp
PRO
0
110
testcontainers のススメ
sgash708
1
130
生成AIでGitHubソースコード取得して仕様書を作成
shukob
0
530
KubeCon + CloudNativeCon NA 2024 Overviewat Kubernetes Meetup Tokyo #68 / amsy810_k8sjp68
masayaaoyama
0
260
Featured
See All Featured
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
33
2k
Keith and Marios Guide to Fast Websites
keithpitt
410
22k
How to Think Like a Performance Engineer
csswizardry
22
1.2k
The Cost Of JavaScript in 2023
addyosmani
46
7k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
26
1.9k
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.3k
Building Applications with DynamoDB
mza
91
6.1k
Java REST API Framework Comparison - PWX 2021
mraible
28
8.3k
Agile that works and the tools we love
rasmusluckow
328
21k
Writing Fast Ruby
sferik
628
61k
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