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
470
アノテーションツール_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
React 19アップデートのために必要なこと
uhyo
8
1.6k
Jakarta EE meets AI
ivargrimstad
0
510
Drawing Heighway’s Dragon- Recursive Function Rewrite- From Imperative Style in Pascal 64 To Functional Style in Scala 3
philipschwarz
PRO
0
110
もう僕は OpenAPI を書きたくない
sgash708
6
1.9k
JAWS Days 2025のインフラ
komakichi
1
130
Django NinjaによるAPI開発の効率化とリプレースの実践
kashewnuts
1
290
PHPのバージョンアップ時にも役立ったAST
matsuo_atsushi
0
230
複数のAWSアカウントから横断で 利用する Lambda Authorizer の作り方
tc3jp
0
120
たのしいSocketのしくみ / Socket Under a Microscope
coe401_
8
1.4k
[JAWS DAYS 2025] 最近の DB の競合解決の仕組みが分かった気になってみた
maroon1st
0
140
kintone開発を効率化するためにチームで試した施策とその結果を大放出!
oguemon
0
220
ファインディLT_ポケモン対戦の定量的分析
fufufukakaka
0
940
Featured
See All Featured
Java REST API Framework Comparison - PWX 2021
mraible
29
8.4k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
4 Signs Your Business is Dying
shpigford
183
22k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
21
2.5k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
27
1.6k
Bash Introduction
62gerente
611
210k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
134
33k
Large-scale JavaScript Application Architecture
addyosmani
511
110k
Rails Girls Zürich Keynote
gr2m
94
13k
Being A Developer After 40
akosma
89
590k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
114
51k
Facilitating Awesome Meetings
lara
53
6.3k
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