NineOCRの改善を⽀えるFeature Store / Feature Store Supporting NineOCR Improvements
by
Sansan R&D
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
NineOCRの改善を⽀える Feature Store Sansan株式会社 研究開発部 ⼋藤丸 諒⼠ Sansan R&D TECH SHOWCASE
Slide 2
Slide 2 text
写真が入ります ⼋藤丸 諒⼠ R&Dエンジニア 前職ではナビゲーションサービスの運営会社でWebAPI の設計・開発を担当。2020年にSansan株式会社へ⼊社 し、Sansan事業部プロダクト開発部に所属。現在は、 研究開発部 Automation GroupにてDevOps/MLOpsを担 当し、名刺やビジネス⽂書のデータ化を効率化・⾃動 化する技術の研究開発に従事。関⻄⽀店勤務。
Slide 3
Slide 3 text
- 名刺データ⼊⼒の⾃動化を⽀えているNineOCRの改善に使われている Feature Storeの役割について理解してもらう。 - Feature Store導⼊の背景や導⼊によって改善されたこと、実際に研究員に どのように活⽤されているかを紹介する。 本発表の⽬的
Slide 4
Slide 4 text
- データ化における⼈とコンピュータには、それぞれ⻑所と短所があり、 データ化精度とコストの間にはトレードオフがある - 研究開発部は、精度を保ちながらコストを削減するためのエンジンを 提供している GEES - ⼈とコンピュータが協働する名刺データ化システム -
Slide 5
Slide 5 text
NineOCR - 名刺に特化したOCRエンジン - 5 ⽂字列検出器と⽂字認識器を別々に学習して組み合わせている 検出器 認識器 株式会社 サン・グローバルジャパン ⽔上␣弘太郎
[email protected]
ピース切り出し
Slide 6
Slide 6 text
GEESとNineOCRの関係 6 GEESの中でNineOCRが使われている GEESは昔から⾼精度な⼊⼒を⽬指した設計であったので、学習データはクリーンな 状態で取得可能 下記は名刺のデータ化(GEES)のフロー NineOCR
Slide 7
Slide 7 text
- データ収集に時間がかかるため学習を頻繁に回せない、分析着⼿に時間が かかるという課題があった - データ収集に時間がかかっていた要因 - GEESと学習データで形式が異なり、補正ロジックが必要 - 様々なリソース(Elasticsearch, S3, RDS, NineOCR など)にアクセスする必要が あり、⼿間がかかる - 従来は⼿動実⾏ - ⽣成したデータを契約に則って永続化する仕組みがない 当時の課題
Slide 8
Slide 8 text
当時の課題 8 学習のたびに⼿動で様々なリソースにアクセス(30⽇かかるようなケースもある) 時間をかけて頑張って集めたデータを永続化できない
Slide 9
Slide 9 text
- Feature Storeは、データ化プロセスで⽣成されたOCR結果のキャッシュを、 学習に適した形式に変換して、保存・共有・管理するための基盤 - Feature Storeを導⼊することで、常に最新のデータを含む⼤量のデータから 必要な情報を⾼速にピックアップしてすぐに学習に取り掛かれるようになる と想定 - 課題 - 解約によるデータ削除 - 照合⽤データを取得するタイミング - どのようにGEESと連携するか 解決策としてのFeature Store
Slide 10
Slide 10 text
Feature StoreとしてのOpenSearch 名刺ID 対象IDの名刺情報 会社名 + Sansan株式会社 対象の名刺情報⼀覧 データ⼊⼒フローを通った名刺の学習データをOpenSearchに貯める仕組み 貯めた学習データからフィルタリングによって必要なデータのみを取得可能
Slide 11
Slide 11 text
Feature Storeの構成
Slide 12
Slide 12 text
Feature Storeの構成
Slide 13
Slide 13 text
Feature Storeの構成
Slide 14
Slide 14 text
Feature Storeの構成
Slide 15
Slide 15 text
- 改善されたこと - データ収集の所要時間が30⽇→8時間に短縮 - 活⽤事例 - 回転判定の更新 - 更新前 - ⽂字認識器と回転判定器に依存関係があり、常に⽚⽅のモデルのみを更新するこ とができなかった - 更新後 - モデル間の結合がなくなり、⾮同期に改善を⾛らせることが可能になった - 着⼿から2週間でリリース - 軽微なモデル変更でもデータ収集がボトルネックとなっていたが、Feature Store の導⼊で解消された Feature Storeによって改善されたこと・活⽤事例①
Slide 16
Slide 16 text
- 改善されたこと - 新しいデータの継続的な流⼊ - 活⽤事例 - ⽂字列検出器の更新 - 従来の学習データ - ピースを⼿動で切り抜くサービスを利⽤していたため、データを増やす ことが困難 - データドリフトへの対応が不可能 - Feature Store導⼊後の学習データ - 常に最新の学習データから検出器に適したデータをフィルタリングして 学習 Feature Storeによって改善されたこと・活⽤事例②
Slide 17
Slide 17 text
- 改善されたこと - 検索が可能になった - 活⽤事例 - 異体字候補画像の抽出 - 異体字を含む名刺を検索、学習に使⽤ - ex) 「吉-𠮷」 - 結果 - ほぼ全ての項⽬で精度が向上 - コスト削減 - 異体字候補を含む⽂字列は⼿動⼊⼒されていた - 縦横混在ピースの抽出 - 特徴的なミスをするので、苦⼿なパターンで検索 - ex) 「〒四」「〒の」 Feature Storeによって改善されたこと・活⽤事例③
Slide 18
Slide 18 text
- リリースサイクルの完全⾃動化 - 評価項⽬の拡充が課題 - 現状 - 共通データ基盤”Colossus”に⽇々のNineOCRの評価を貯める仕組みは構築済み - LookerStudioで可視化しており、リリースの結果等を定例で確認している - カナリアリリース→全展開 or ロールバックまでの間GEESで検証 - 今後 - ビジネスKPIに直結するより多くの指標も監視対象に加えることで、改善サイクル を効率化、将来的には完全⾃動化することができると期待 今後の展望
Slide 19
Slide 19 text
NineOCRにとってのMLOpsの理想形 Source repository CI / CD テスト・デプロイ ML Prediction Service 精度監視 Model registry 検証・分析・モデル作成 Feature Store
Slide 20
Slide 20 text
Sansan 研究開発部 募集ポジション紹介 https://media.sansan-engineering.com/randd
Slide 21
Slide 21 text
No content