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