Upgrade to Pro — share decks privately, control downloads, hide ads and more …

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

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  16. データセットの作成

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  40. まとめ

    View Slide

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

    View Slide