$30 off During Our Annual Pro Sale. View Details »

バクラクのAI-OCR機能の体験を支える良質なデータセット作成の仕組み / data-cent...

バクラクのAI-OCR機能の体験を支える良質なデータセット作成の仕組み / data-centric-ai-bakuraku-dataset

2023年6月1日 第1回 Data-Centric AI勉強会(https://dcai-jp.connpass.com/event/282385/) における登壇資料です。

バクラクのAI-OCR機能における機械学習活用に際してどのように質の高いデータセットを作成してきたかについてお話ししました。

Yuya Matsumura

June 01, 2023
Tweet

More Decks by Yuya Matsumura

Other Decks in Technology

Transcript

  1. Confidential © 2023 LayerX Inc. 2 画像を入れてね 自己紹介 松村 優也(Yuya

    Matsumura) • 京都大学大学院 情報学研究科 修士課程修了 • 株式会社LayerX ML Team Manager • ウォンテッドリー株式会社 ML領域 技術顧問 • NewsPicks AI領域プロピッカー • 共著 『推薦システム実践入門』 • 大学にて非常勤講師やスタートアップの技術支援等 @yu___ya4 @yu-ya4
  2. © 2023 LayerX Inc. 3 会社概要 すべての経済活動を、デジタル化する。 ※ 一部抜粋 会社名

    代表取締役 創業 従業員数 資本金 事業概要 関連会社 お取引先 (一部) 株式会社LayerX(レイヤーエックス) 代表取締役CEO 福島 良典 代表取締役CTO 松本 勇気 2018年 8月1日 149名(2023年1月現在) 86億円(資本準備金含む) バクラク(SaaS)事業、Fintech事業、Privacy Tech事業 三井物産デジタル・アセットマネジメント (三井物産、LayerX、三井住友信託銀行、SMBC日興証券、JA三井リース、イデラキャピタルマネジメントによる合弁会社)
  3. © 2023 LayerX Inc. 4 3つの事業 バクラク事業 企業活動のインフラとなる法人支出管 理(BSM)SaaSを開発・提供 ソフトウェアを駆使したアセットマネジメ

    ント・証券事業を合弁会社にて展開 パーソナルデータの利活用とプライバシー 保護を両立するソリューションの提供 バクラク事業 Fintech事業 PrivacyTech事業
  4. © 2023 LayerX Inc. 5 3つの事業 バクラク事業 企業活動のインフラとなる法人支出管 理(BSM)SaaSを開発・提供 ソフトウェアを駆使したアセットマネジメ

    ント・証券事業を合弁会社にて展開 パーソナルデータの利活用とプライバシー 保護を両立するソリューションの提供 バクラク事業 Fintech事業 PrivacyTech事業
  5. © 2023 LayerX Inc. 6 法人支出管理(BSM)SaaS「バクラク」を展開 * 経費精算のSlack連携は申請内容の通知のみ 稟議・支払申請・経費精算・ワークフロー ・AIが領収書を5秒でデータ化

    ・承認はチャットアプリから ・シームレスな内部統制構築 仕訳・支払処理効率化 ・AIが請求書を5秒でデータ化 ・仕訳データを自動学習、 手入力ゼロへ ・改正電子帳簿保存法に対応 ・利用料無料 ・即時追加発行 ・最大1億円決済可能 法人向けクレジットカード ・無料で始められる ・手入力ゼロで証憑管理 ・改正電子帳簿保存法に対応 帳票保存・ストレージ バクラクでは AI-OCR 機能をはじめ、機械学習がコア技術として活用されています
  6. © 2023 LayerX Inc. 7 本日のテーマ * 経費精算のSlack連携は申請内容の通知のみ 稟議・支払申請・経費精算・ワークフロー ・AIが領収書を5秒でデータ化

    ・承認はチャットアプリから ・シームレスな内部統制構築 仕訳・支払処理効率化 ・AIが請求書を5秒でデータ化 ・仕訳データを自動学習、 手入力ゼロへ ・改正電子帳簿保存法に対応 ・利用料無料 ・即時追加発行 ・最大1億円決済可能 法人向けクレジットカード ・無料で始められる ・手入力ゼロで証憑管理 ・改正電子帳簿保存法に対応 帳票保存・ストレージ 「バクラク請求書」の請求書を自動でデータ化する機能における機械学習活用の取り組み紹介
  7. © 2023 LayerX Inc. 9 解決したい課題 • 請求書に記入されている項目(支払期日や支払金 額、取引先名など)を目視で確認して、ミスなく入 力・管理することはとても負荷の高い仕事

    ◦ 対応する枚数が数十、数百枚と増えるにつ れてミスが起こりやすい ◦ 帳票のフォーマットが多種に渡り読み取る ことが単純に大変 ◦ ミスは許されないためダブルチェック等確 認作業にもコストがかかってしまう 受けとった請求書を手入力でデータ化するという負荷の大きい作業をバクラクにする
  8. © 2023 LayerX Inc. 11 AI-OCR機能の入力と出力 請求書ファイル (画像・PDF) 請求書に記載の 項目ごとの値

    500,000 2021/02/28 株式会社テンプレ 支払期日 支払金額 取引先名 請求書ファイルを入力し、請求書に記載の必要項目ごとの値を出力してユーザーに提示
  9. © 2023 LayerX Inc. 12 AI-OCR機能で解いているタスク 請求書ファイル (画像・PDF) 請求書に記載の 項目ごとの値

    { “bbox”: [{"x": 0.3421, "y": 0.567},...], "word": “2021/2/28” },... 請求書内の 文字と座標 項目推定 文字検出 文字認識 500,000 2021/02/28 株式会社テンプレ 支払期日 支払金額 取引先名 「文字検出・文字認識」と「項目推定」のタスクに分解
  10. © 2023 LayerX Inc. 13 リリース当初のAI-OCR機能の実現方法 請求書ファイル (画像・PDF) 請求書に記載の 項目ごとの値

    { “bbox”: [{"x": 0.3421, "y": 0.567},...], "word": “2021/2/28” },... 請求書内の 文字と座標 項目推定 文字検出 文字認識 500,000 2021/02/28 株式会社テンプレ 支払期日 支払金額 取引先名 外部のAPIを利用 テキストや位置情報 に基づいてルール ベースで判定 外部APIの利用とルールベースによって実現
  11. © 2023 LayerX Inc. 14 ルールベースの限界 プロダクトの成長に伴うデータ量の増加・フォーマットの多様化により限界を迎える • 対応コストの増加 ◦

    対応すべきサンプル数が加速的に増加 ◦ 対応の難しいフォーマットが増加 ◦ 大量の既存のルールを壊さずに新しいルールを追加することが困難 • 維持コストの増加 ◦ コードベースの複雑化が進み負債化・属人化が進行 ◦ 新規メンバーのオンボーディングが辛い
  12. © 2023 LayerX Inc. 15 AI-OCR機能における機械学習の活用 請求書ファイル (画像・PDF) 請求書に記載の 項目ごとの値

    { “bbox”: [{"x": 0.3421, "y": 0.567},...], "word": “2021/2/28” },... 請求書内の 文字と座標 項目推定 文字検出 文字認識 500,000 2021/02/28 株式会社テンプレ 支払期日 支払金額 取引先名 外部のAPIを利用 テキストや位置情報 に基づいてルール ベースで判定 これまで「ルールベース」で実現していた「項目推定」のタスクを「機械学習」で実現する 機械学習で実現
  13. © 2023 LayerX Inc. 20 ルールベースOCR 「ユーザーが採用した値」を正解データとする上での問題 必ずしも「ユーザーが採用した値」が「請求書に記載の値」に一致するとは限らない OCRが 読み取った値

    必要に応じて ユーザーが修正 ユーザーに表示 ユーザーが 採用した値 正解データとして利用できそう! 請求書に記載の値 真の正解データ
  14. © 2023 LayerX Inc. 21 顧客が真に求めている出力(ユーザーが採用する値) ケース1 支払期日として2021年2月28日(日)を検出 顧客「実際に支払うのは平日の26日(金)だから変更しないと!」 ケース2

    支払金額として500,000円を検出 顧客「実際に支払うのは源泉税10.21%を差し引いた448,950円だから変更しないと!」 ユーザーが本当に欲しいのは「請求書に記載の値」ではなく「実際の運用に即した値」
  15. © 2023 LayerX Inc. 22 「ユーザーが採用した値」を正解データとすると問題になる理由 請求書ファイル (画像・PDF) 支払期日 支払金額

    2021/02/28 取引先名 500,000 株式会社テンプレ 請求書に記載の 項目ごとの値 支払期日 支払金額 2021/02/26 取引先名 448,950 株式会社テンプレ 請求書に記載の 項目ごとの値に基づいた 実際の運用に即した値 請求書に記載の値は読み取れて いるが、実際に運用に合わせて ユーザーが修正 OCR ユーザーが採用するのはあくまで「実際の運用に即した値」であり、 正解データである「請求書に記載の値」と一致しないケースが少なくない数あるから
  16. © 2023 LayerX Inc. 24 ルールベースOCRが読み取った値を修正せずに採用した場合に正解とする際の問題 データの偏り 運用面 データの質 •

    「請求書に記載の値」と「実際の運用に即した値」が一致しないケースを捨てている。こ のようなケースは少なくない割合存在し、かつ企業ごとの運用によるところも大きい ため特定の利用企業さまのデータが著しく少なくなることも。 • ルールベースOCRが正しい値を読み取れている場合のデータしか得られない。新しい サンプルはルールベースの対応が追いつかないため、その傾向はさらに大きくなる。 • ルールベースが正解しているサンプルだけを学習した機械学習モデルではルールベー スの性能を超えるのが難しい。 • ルールベースOCRが「実際の運用に即した値」をたまたま間違って読み取り、ユーザー が修正せずに採用するケースもしばしば。この際は必要な「請求書に記載の値」の正解 データが得られない。 • ルールベースOCRの読み取り結果が間違っていたとしても、修正せずにそのまま採用 するケースもちらほら(運用の違い・修正までのリードタイム)。 • ルールベースOCRから早く脱却したいので依存したくない。 いろいろと問題があるのでアノテーションは必要!
  17. © 2023 LayerX Inc. 28 アノテーション対象の選定 基本的に「プロダクト上でユーザーが採用した値を利用」することでは得られないデー タ、つまり今OCRで読み取れていない書類を優先する方針 セールスチームとの連携 人の目での確認

    ダッシュボード・アラートの仕組み プロダクトや書類種別、企業さまごと などに読み取り性能やアノテーション 状況を確認できるダッシュボードの構 築とアラートを設定。定量的な基準を 決めてアノテーション優先度を決定す る。 毎日のチームの朝会にて、ダッシュ ボードなどをもとにいくつか書類を ピックアップして生のデータを確認。定 性的な観点も入れつつアノテーション 優先度に反映させたり、ドメイン知識 の獲得や開発方針への反映を行う。 セールスチームを通じてお客様からの 改善要望や商談状況を受け取り、アノ テーションや開発の優先度に反映させ る。必要に応じてお客様にご連絡し、 追加で書類データをいただくことも。
  18. © 2023 LayerX Inc. 37 アノテーションルールの整備 請求書などの書類は多様で複雑なものも多く、その解釈が分かれることもしばしば 社内ドメインエキスパート 密なコミュニケーション ドキュメント整備

    当たり前であるが、当たり前が最も難 しい。書類種別や読み取り項目ごと に、様々なケースにおける入力ルール を明文化、notionに集約。 アノテーションチームも会社のslack に参加しており、迷うことがあればす ぐに同期・非同期でsyncする体制を 構築。隔週でMLチームとの定例の時 間を設け、疑問解消や認識合わせ、 FBの時間を儲ける。結果はドキュメン トに反映。 もともと経理業務などに携わってい たドメインごとの有識者が社内にPM などのポジションで在籍しており、判 断に迷う場合は相談可能。
  19. © 2023 LayerX Inc. 39 アノテーションチームの組成 どれだけ仕組みが整っていても、結局は人次第 当たり前かもしれないですが、いい人を採用していいチームを作ろうとしています。フルタイムでは ないし、雇用形態は正社員ではないかもしれませんが、一緒にプロダクトを良くする仲間としてプ ロジェクトを進めています。

    具体的には、先ほどのMLチームのシンクアップの時間を取るであるとか、「なぜアノテーションを行 う必要があるのか」をきちんとお伝えするであるとか、実際に改善が進んで読み取れるようになっ た書類やご利用いただけるようになった企業さまを共有して一緒に喜ぶとか、打ち上げの懇親会 をMLチームと一緒に開催するとか。本当に通常の開発チームと同じような形で並走しています。 ただ正解データを入力するだけではなく、大量のデータを見ていく中で気づいた企業さまごとの 特徴や、新しいモデルが苦手そうなフォーマットについてまでFBをくれるアノテーションチームは、 なかなかいないのではないでしょうか?(自慢です)
  20. © 2023 LayerX Inc. 41 まとめ:LayerXにおける機械学習を活用した請求書OCR機能に関する取り組み • 背景・取り組んでいるタスク ◦ 解決したい課題:受け取った請求書を手入力でデータ化するという負荷の大きい作業をバクラ

    クにする ◦ 取り組み内容:請求書AI-OCR機能において「ルールベース」で実現していた「項目推定」のタス クを「機械学習」で実現 • データセットの作成 ◦ プロダクトでユーザーが採用した値を利用 ▪ 既存のルールベースOCRが読み取った値をユーザーが修正せずに採用した場合に、「請 求書に記載の値」の正解として利用 ◦ アノテーション ▪ 対象の選定、ツールの内製、ルールの整備、チームの組成など工夫しながら進める ▪ 結局は人