Slide 1

Slide 1 text

バクラクのAI-OCR機能の体験を支える 良質なデータセット作成の仕組み 1Jun.2023 第1回 Data-Centric AI勉強会 Yuya Matsumura(株式会社LayerX ) @yu-ya4

Slide 2

Slide 2 text

Confidential © 2023 LayerX Inc. 2 画像を入れてね 自己紹介 松村 優也(Yuya Matsumura) ● 京都大学大学院 情報学研究科 修士課程修了 ● 株式会社LayerX ML Team Manager ● ウォンテッドリー株式会社 ML領域 技術顧問 ● NewsPicks AI領域プロピッカー ● 共著 『推薦システム実践入門』 ● 大学にて非常勤講師やスタートアップの技術支援等 @yu___ya4 @yu-ya4

Slide 3

Slide 3 text

© 2023 LayerX Inc. 3 会社概要 すべての経済活動を、デジタル化する。 ※ 一部抜粋 会社名 代表取締役 創業 従業員数 資本金 事業概要 関連会社 お取引先 (一部) 株式会社LayerX(レイヤーエックス) 代表取締役CEO 福島 良典 代表取締役CTO 松本 勇気 2018年 8月1日 149名(2023年1月現在) 86億円(資本準備金含む) バクラク(SaaS)事業、Fintech事業、Privacy Tech事業 三井物産デジタル・アセットマネジメント (三井物産、LayerX、三井住友信託銀行、SMBC日興証券、JA三井リース、イデラキャピタルマネジメントによる合弁会社)

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

背景・取り組んでいるタスク

Slide 9

Slide 9 text

© 2023 LayerX Inc. 9 解決したい課題 ● 請求書に記入されている項目(支払期日や支払金 額、取引先名など)を目視で確認して、ミスなく入 力・管理することはとても負荷の高い仕事 ○ 対応する枚数が数十、数百枚と増えるにつ れてミスが起こりやすい ○ 帳票のフォーマットが多種に渡り読み取る ことが単純に大変 ○ ミスは許されないためダブルチェック等確 認作業にもコストがかかってしまう 受けとった請求書を手入力でデータ化するという負荷の大きい作業をバクラクにする

Slide 10

Slide 10 text

© 2023 LayerX Inc. 10 バクラク請求書 AI-OCR(請求書読み取り)機能のデモ

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

© 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の利用とルールベースによって実現

Slide 14

Slide 14 text

© 2023 LayerX Inc. 14 ルールベースの限界 プロダクトの成長に伴うデータ量の増加・フォーマットの多様化により限界を迎える ● 対応コストの増加 ○ 対応すべきサンプル数が加速的に増加 ○ 対応の難しいフォーマットが増加 ○ 大量の既存のルールを壊さずに新しいルールを追加することが困難 ● 維持コストの増加 ○ コードベースの複雑化が進み負債化・属人化が進行 ○ 新規メンバーのオンボーディングが辛い

Slide 15

Slide 15 text

© 2023 LayerX Inc. 15 AI-OCR機能における機械学習の活用 請求書ファイル (画像・PDF) 請求書に記載の 項目ごとの値 { “bbox”: [{"x": 0.3421, "y": 0.567},...], "word": “2021/2/28” },... 請求書内の 文字と座標 項目推定 文字検出 文字認識 500,000 2021/02/28 株式会社テンプレ 支払期日 支払金額 取引先名 外部のAPIを利用 テキストや位置情報 に基づいてルール ベースで判定 これまで「ルールベース」で実現していた「項目推定」のタスクを「機械学習」で実現する 機械学習で実現

Slide 16

Slide 16 text

データセットの作成

Slide 17

Slide 17 text

© 2023 LayerX Inc. 17 データセットの作成 正解ラベルつきのデータセットを大きく2つの方針で作成 アノテーション プロダクト上でユーザー が採用した値を利用

Slide 18

Slide 18 text

© 2023 LayerX Inc. 18 データセットの作成 正解ラベルつきのデータセットを大きく2つの方針で作成 アノテーション プロダクト上でユーザー が採用した値を利用

Slide 19

Slide 19 text

© 2023 LayerX Inc. 19 プロダクト上でユーザーが採用した値を利用 ユーザーはOCRが読み取った値を確認し、必要に応じて修正した上で採用するので、 「ユーザーが採用した値」を「請求書に記載の値」の正解データとして利用できそう 請求書に記載の値 OCRが 読み取った値 ユーザーが 採用した値 必要に応じて ユーザーが修正 ユーザーに表示 正解データとして利用できそう! ルールベースOCR 真の正解データ

Slide 20

Slide 20 text

© 2023 LayerX Inc. 20 ルールベースOCR 「ユーザーが採用した値」を正解データとする上での問題 必ずしも「ユーザーが採用した値」が「請求書に記載の値」に一致するとは限らない OCRが 読み取った値 必要に応じて ユーザーが修正 ユーザーに表示 ユーザーが 採用した値 正解データとして利用できそう! 請求書に記載の値 真の正解データ

Slide 21

Slide 21 text

© 2023 LayerX Inc. 21 顧客が真に求めている出力(ユーザーが採用する値) ケース1 支払期日として2021年2月28日(日)を検出 顧客「実際に支払うのは平日の26日(金)だから変更しないと!」 ケース2 支払金額として500,000円を検出 顧客「実際に支払うのは源泉税10.21%を差し引いた448,950円だから変更しないと!」 ユーザーが本当に欲しいのは「請求書に記載の値」ではなく「実際の運用に即した値」

Slide 22

Slide 22 text

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

Slide 23

Slide 23 text

© 2023 LayerX Inc. 23 解決策:「実際の運用に即した値」が「請求書に記載の値」と一致するケースのみ利用 ルールベースOCRが読み取った値をユーザーが修正せずに採用した場合に正解とする 請求書に記載の値 OCRが 読み取った値 ユーザーが 採用した値 ユーザーが修正せず ユーザーに表示 正解データとして利用できそう! ルールベースOCR 真の正解データ

Slide 24

Slide 24 text

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

Slide 25

Slide 25 text

© 2023 LayerX Inc. 25 データセットの作成 正解ラベルつきのデータセットを大きく2つの方針で作成 アノテーション プロダクト上でユーザー が採用したデータを利用

Slide 26

Slide 26 text

© 2023 LayerX Inc. 26 アノテーション アノテーション対象の選定 アノテーションツールの内製 アノテーションルールの整備 アノテーションで質の高いデータセットを作成するための工夫 アノテーションチームの組成

Slide 27

Slide 27 text

© 2023 LayerX Inc. 27 アノテーション アノテーションルールの整備 アノテーションで質の高いデータセットを作成するための工夫 アノテーションチームの組成 アノテーションツールの内製 アノテーション対象の選定

Slide 28

Slide 28 text

© 2023 LayerX Inc. 28 アノテーション対象の選定 基本的に「プロダクト上でユーザーが採用した値を利用」することでは得られないデー タ、つまり今OCRで読み取れていない書類を優先する方針 セールスチームとの連携 人の目での確認 ダッシュボード・アラートの仕組み プロダクトや書類種別、企業さまごと などに読み取り性能やアノテーション 状況を確認できるダッシュボードの構 築とアラートを設定。定量的な基準を 決めてアノテーション優先度を決定す る。 毎日のチームの朝会にて、ダッシュ ボードなどをもとにいくつか書類を ピックアップして生のデータを確認。定 性的な観点も入れつつアノテーション 優先度に反映させたり、ドメイン知識 の獲得や開発方針への反映を行う。 セールスチームを通じてお客様からの 改善要望や商談状況を受け取り、アノ テーションや開発の優先度に反映させ る。必要に応じてお客様にご連絡し、 追加で書類データをいただくことも。

Slide 29

Slide 29 text

© 2023 LayerX Inc. 29 アノテーション アノテーション対象の選定 アノテーションルールの整備 アノテーションで質の高いデータセットを作成するための工夫 アノテーションチームの組成 アノテーションツールの内製

Slide 30

Slide 30 text

© 2023 LayerX Inc. 30 アノテーションの課題 手入力でのアノテーションがつらい。そもそも負荷の大きい課題だから解決しようとしている。

Slide 31

Slide 31 text

© 2023 LayerX Inc. 31 アノテーションツールの内製 アノテーション作業もバクラクにするためのツールの内製(バクラクデータ管理)

Slide 32

Slide 32 text

© 2023 LayerX Inc. 32 アノテーションの手入力をなくすバクラクデータ管理の特徴① 複数のモデルの予測結果やユーザーさまの採用した値を用いた入力補完機能

Slide 33

Slide 33 text

© 2023 LayerX Inc. 33 画像上で囲った座標の抽出機能 アノテーションの手入力をなくすバクラクデータ管理の特徴②

Slide 34

Slide 34 text

© 2023 LayerX Inc. 34 画像上で囲った文字の抽出機能 アノテーションの手入力をなくすバクラクデータ管理の特徴③

Slide 35

Slide 35 text

© 2023 LayerX Inc. 35 バクラクデータ管理についてもっと知りたい方は... 昨日(5/31)にブログを公開しましたのでより詳しく知りたい方は是非ご覧ください! https://tech.layerx.co.jp/entry/2023/05/31/173021

Slide 36

Slide 36 text

© 2023 LayerX Inc. 36 アノテーション アノテーション対象の選定 アノテーションで質の高いデータセットを作成するための工夫 アノテーションチームの組成 アノテーションツールの内製 アノテーションルールの整備

Slide 37

Slide 37 text

© 2023 LayerX Inc. 37 アノテーションルールの整備 請求書などの書類は多様で複雑なものも多く、その解釈が分かれることもしばしば 社内ドメインエキスパート 密なコミュニケーション ドキュメント整備 当たり前であるが、当たり前が最も難 しい。書類種別や読み取り項目ごと に、様々なケースにおける入力ルール を明文化、notionに集約。 アノテーションチームも会社のslack に参加しており、迷うことがあればす ぐに同期・非同期でsyncする体制を 構築。隔週でMLチームとの定例の時 間を設け、疑問解消や認識合わせ、 FBの時間を儲ける。結果はドキュメン トに反映。 もともと経理業務などに携わってい たドメインごとの有識者が社内にPM などのポジションで在籍しており、判 断に迷う場合は相談可能。

Slide 38

Slide 38 text

© 2023 LayerX Inc. 38 アノテーション アノテーション対象の選定 アノテーションで質の高いデータセットを作成するための工夫 アノテーションツールの内製 アノテーションルールの整備 アノテーションチームの組成

Slide 39

Slide 39 text

© 2023 LayerX Inc. 39 アノテーションチームの組成 どれだけ仕組みが整っていても、結局は人次第 当たり前かもしれないですが、いい人を採用していいチームを作ろうとしています。フルタイムでは ないし、雇用形態は正社員ではないかもしれませんが、一緒にプロダクトを良くする仲間としてプ ロジェクトを進めています。 具体的には、先ほどのMLチームのシンクアップの時間を取るであるとか、「なぜアノテーションを行 う必要があるのか」をきちんとお伝えするであるとか、実際に改善が進んで読み取れるようになっ た書類やご利用いただけるようになった企業さまを共有して一緒に喜ぶとか、打ち上げの懇親会 をMLチームと一緒に開催するとか。本当に通常の開発チームと同じような形で並走しています。 ただ正解データを入力するだけではなく、大量のデータを見ていく中で気づいた企業さまごとの 特徴や、新しいモデルが苦手そうなフォーマットについてまでFBをくれるアノテーションチームは、 なかなかいないのではないでしょうか?(自慢です)

Slide 40

Slide 40 text

まとめ

Slide 41

Slide 41 text

© 2023 LayerX Inc. 41 まとめ:LayerXにおける機械学習を活用した請求書OCR機能に関する取り組み ● 背景・取り組んでいるタスク ○ 解決したい課題:受け取った請求書を手入力でデータ化するという負荷の大きい作業をバクラ クにする ○ 取り組み内容:請求書AI-OCR機能において「ルールベース」で実現していた「項目推定」のタス クを「機械学習」で実現 ● データセットの作成 ○ プロダクトでユーザーが採用した値を利用 ■ 既存のルールベースOCRが読み取った値をユーザーが修正せずに採用した場合に、「請 求書に記載の値」の正解として利用 ○ アノテーション ■ 対象の選定、ツールの内製、ルールの整備、チームの組成など工夫しながら進める ■ 結局は人