2021年のプロダクトリリースから約2年半、導入者数は6000社を突破しデータ数も急速に増える中、AI-OCR機能の精度を担保をするために様々な取り組みをしてきました。今回はデータのアノテーションという観点でリリース前から現在までの取り組みの変遷を紹介します。
© 2023 LayerX Inc.1バクラクのAI-OCR機能を支えるアノテーションの仕組み2023/09/20 第34回 MLOps 勉強会Tomoaki Kitaoka (株式会社LayerX)
View Slide
© 2023 LayerX Inc.2自己紹介
© 2023 LayerX Inc.33自己紹介画像を入れてね北岡 知晃(Tomoaki Kitaoka)2019年〜現在株式会社LayerX バクラク事業部● MLチーム Software Engineer● バクラクのリリース初期から AI-OCR機能の開発趣味● 運動(クロスフィット・ウエイトリフティング)● ソーイング@tapioca_pudd
© 2023 LayerX Inc.4会社概要・サービス概要
© 2023 LayerX Inc.5* 資本準備金含む ** 全事業含む会社名 代表取締役 創業 資本金*拠点関連会社取得認証| 株式会社LayerX(レイヤーエックス)| 代表取締役CEO 福島 良典 代表取締役CTO 松本 勇気| 2018年| 112.6億円| バクラク事業、Fintech事業、Privacy Tech事業| 東京本社・中部支社・関西支社・九州支社| 三井物産デジタル・アセットマネジメント 三井物産、LayerX、三井住友信託銀行、SMBC日興証券、JA三井リースによる合弁会社| 情報セキュリティマネジメントシステム、 JIIMA認証提供プロダクトIS 747702 / ISO 27001次世代プライバシー保護/秘匿化技術国土交通省の「不動産情報の更なる利活用に向けた調査・検証業務」におけるプライバシー保護技術検証も受託バクラク事業企業活動のインフラとなる法人支出管理( BSM)SaaSを開発・提供Fintech事業三井物産/三井住友信託銀行等との合弁会社にて証券事業を展開デジタル証券で資産運用できるサービス「ALTERNA」を提供Privacy Tech事業LayerXの概要
6 © LayerX Inc.圧倒的に使いやすいプロダクトでわくわくする働き方を。企業活動を支えるコーポレート業務は、ミスができない難しい業務。バクラクはそんな業務の負担を少しでも軽くし、日常の業務がわくわくするような体験を届けます。使いやすさへの圧倒的なこだわりと、深い顧客理解で業務効率化を実現。手作業、ハンコ、紙のやり取りから脱却し、事業と組織を支える本来の仕事に向き合えるようサポートします。
© LayerX Inc.7バクラクシリーズとは支出管理業務を一元管理できる経理業務支援サービスワークフローから支払までの業務を一本化し、業務効率化と法令対応の両立を実現請求書の発行と受取のツールを統一。発送もカンタン。「請求書支払」「経費精算」「カード支払」の手間を効率化。振込データも自動作成。一度登録された仕訳データを学習して自動入力。電子帳簿保存法に対応し、電子上で保管が可能。紙の管理の手間を削減。請求 支払い 仕訳 保管ワークフローと各種支払いツールを連携し、内部統制を強化。ワークフロー
© LayerX Inc.8バクラクシリーズラインナップ稟議・支払申請・経費精算 仕訳・支払処理効率化 法人カードの発行・管理帳票保存・ストレージ 帳票発行* 経費精算のSlack連携は申請内容の通知のみ・AIが領収書を5秒でデータ化・スマホアプリとSlack連携あり・領収書の重複申請などミス防止機能・AIが請求書を5秒でデータ化・仕訳・振込データを自動作成・稟議から会計までスムーズに連携・年会費無料で何枚でも発行可・インボイス制度・電帳法対応・すべての決済で1%以上の還元・AIが書類を5秒でデータ化・あらゆる書類の電子保管に対応・電子取引・スキャナ保存に完全対応・帳票の一括作成も個別作成も自由自在・帳票の作成・稟議・送付・保存を一本化・レイアウトや項目のカスタマイズも可能
© LayerX Inc.9仕訳データ振込データ⼊⾦データ取引先発注請求発注請求債権管理債務管理従業員 経理バクラクは、企業取引の前段となる「稟議の統⼀」と「債権‧債務の⼀元管理」が可能従業員‧経理のそれぞれが係る業務領域において、なめらかな業務連携により企業経営を加速させます※ 開発予定の機能を含む銀⾏会計ソフト請求書処理経費精算振込稟議法⼈カード請求書発⾏稟議(※)仕訳(※)⼊⾦消込(※)仕訳バクラクシリーズの全体像
© LayerX Inc.10シリーズ累計導入社数 6,000社以上卸売・小売 士業事務所 非営利法人製造 不動産・物品賃貸 情報通信建設・運輸 施設・店舗運営 金融・保険製造建設・運輸卸売・小売不動産・物品賃貸施設・店舗運営士業事務所情報通信金融・保険非営利法人※一部企業様を抜粋して掲載しています(2023年5月時点)。
© 2023 LayerX Inc.11AI-OCR機能について
© 2023 LayerX Inc.12解決したい課題● 請求書に記入されている項目(支払期日や支払金額、取引先名など)を目視で確認して、ミスなく入力・管理することはとても負荷の高い仕事○ 対応する枚数が数十、数百枚と増えるにつれてミスが起こりやすい○ 帳票のフォーマットが多種に渡り読み取ることが単純に大変○ ミスは許されないためダブルチェック等確認作業にもコストがかかってしまう受けとった請求書を手入力でデータ化するという負荷の大きい作業をバクラクにする
© 2023 LayerX Inc.13バクラク請求書 AI-OCR(請求書読み取り)機能のデモ
© 2023 LayerX Inc.14AI-OCR機能の入力と出力請求書ファイル(画像・PDF)請求書に記載の項目ごとの値500,0002021/02/28株式会社テンプレ支払期日支払金額取引先名請求書ファイルを入力し、請求書に記載の必要項目ごとの値を出力してユーザーに提示
© 2023 LayerX Inc.15AI-OCR機能で解いているタスク請求書ファイル(画像・PDF)請求書に記載の項目ごとの値{“bbox”: [{"x": 0.3421,"y": 0.567},...],"word": “2021/2/28”},...請求書内の文字と座標項目推定文字検出文字認識500,0002021/02/28株式会社テンプレ支払期日支払金額取引先名「文字検出・文字認識」と「項目推定」のタスクに分解
© 2023 LayerX Inc.16AI-OCR機能の歴史
© 2023 LayerX Inc.17AI-OCR機能の実現方法請求書ファイルのアップロード(画像・PDF)請求書に記載の項目ごとの値を推定する{“bbox”: [{"x": 0.3421,"y": 0.567},...],"word": “2021/2/28”},...外部APIを使用して請求書内の文字と座標を取得500,0002021/02/28株式会社テンプレ支払期日支払金額取引先名文字検出を行ってから項目推定を行う二段階で推定1 2 3文字検出 項目推定
© 2023 LayerX Inc.18リリース初期の項目推定(ルールベースのモデル)● ドメイン知識を駆使してルールベースで愚直に実装していた。○ スピード感が求められるスタートアップにおいては正しい。● 一箇所変更するとこれまで読み取れていたものが読み取れなくなったりとルールが複雑化。● 職人芸のような作業であり、特に新しく入ったエンジニアは改修が難しく属人化してしまう。「請求日」の右側に日付があったら請求日「合計金額」の右側に金額があったら支払金額辛い
© 2023 LayerX Inc.19直近の項目推定(機械学習ベースのモデル)● 多様なフォーマットの書類に順応するために機械学習ベースのモデルを開発● RoBERTa, LayoutLM系のモデルを検討● 2022/04にキックオフし、2022/10から機械学習ベースのモデルに順次移行LayerXにおける機械学習を活用した OCR機能の改善に関する取り組みhttps://arxiv.org/pdf/1810.04805
© 2023 LayerX Inc.20導入社数の推移とモデルの変遷ルールベースのモデルが中心機械学習のモデルが中心2021/01 2021/04 2021/11 2022/05 2022/08 2023/09
© 2023 LayerX Inc.21なぜアノテーションが必要なのか
© 2023 LayerX Inc.22データセットの作成正解ラベルつきのデータセットを大きく2つの方針で作成アノテーションプロダクト上でユーザーが採用した値を利用
© 2023 LayerX Inc.23「ユーザーが採用した値」を正解データとする上での問題ルールベースOCR必ずしも「ユーザーが採用した値」が「請求書に記載の値」に一致するとは限らないOCRが読み取った値必要に応じてユーザーが修正ユーザーに表示ユーザーが採用した値正解データとして利用できそう!請求書に記載の値真の正解データ
© 2023 LayerX Inc.24顧客が真に求めている出力(ユーザーが採用する値)ケース1支払期日として2021年2月28日(日)を検出顧客「実際に支払うのは平日の26日(金)だから変更しないと!」ケース2支払金額として500,000円を検出顧客「実際に支払うのは源泉税10.21%を差し引いた448,950円だから変更しないと!」ユーザーが本当に欲しいのは「請求書に記載の値」ではなく「実際の運用に即した値」
© 2023 LayerX Inc.25良質データセット作成に関して詳しくはこちらhttps://speakerdeck.com/yuya4/data-centric-ai-bakuraku-dataset
© 2023 LayerX Inc.26アノテーションのツールと体制の遷移
© 2023 LayerX Inc.27リリース前〜初期:スプレッドシートフル活用2021/01 2021/04 2021/11 2022/05 2022/08 2023.09● 事業が存続するかもわからない、データセットもゼロからのスタート● MVP作成のために最初はスプレッドシートにてアノテーションを行った● 体制はエンジニア中心 (2~3名)
© 2023 LayerX Inc.28リリース前〜初期:スプレッドシートフル活用● 良かったこと○ 素早く構築できた○ リグレッションテストもデータセットを csvで出力してS3にセットすることで高速に構築○ 簡単な分析(集計やご検知の分析など)やグラフの作成が容易だった○ エンジニアがアノテーションもすることで同時にドメイン知識を獲得することができた● 問題点○ ファイルを別でプレビューして照らし合わせるのが大変○ ローカルにファイルを落とす作業があり、セキュリティ的に懸念あり○ 件数が増えてくると分析内容の管理が大変になる
© 2023 LayerX Inc.29リリース1年目〜2年目: アノテーション基盤の内製(v1)2021/01 2021/04 2021/11 2022/05 2022/08 2023.09● ファイルをプレビューしながらアノテーションできるシステムを構築● ファイルに対してメモやタグをつける機能を搭載● 体制は専任のアノテーター 1名 + エンジニアが不定期が参加● まだルールベースのモデルが中心
© 2023 LayerX Inc.30リリース1年目〜2年目: アノテーション基盤の内製(v1)● 良かったこと○ スプレッドシートの問題点を解決■ ローカルへのファイルのダウンロードなしでファイルをプレビューしながらアノテーションが可能に■ メモやタグづけをすることでファイルの管理が圧倒的に楽に○ OCRで読み取った値で事前に項目を埋めておくことで、 OCRが間違えてる項目のみ修正するだけになり、アノテーションコストが大幅減○ 内製したことにより後から便利な機能を色々追加実装できた● 問題点○ マルチモーダル系の機械学習モデルの検討を始めるにあたり、後から座標の情報も保存したくなった○ 事前アノテーションによりコストは減ったものの、大量のデータを扱うので少しの手入力がスピードと品質の低下につながっていた
© 2023 LayerX Inc.31そもそもなぜ内製したのか● エンジニアがアノテーションすると同時に OCRに失敗しているファイルのエラー分析を同時にできるアノテーション基盤が欲しかったから● 従来のアノテーションツールは、アノテーション作業のみに特化しており、 OCRの過程で生成される中間生成ファイルの情報やデバッグも同時にできる基盤が欲しかったから● 元々アプリケーション開発をしていたエンジニアで構成されたチームだったので、内製のハードルが低かったから
© 2023 LayerX Inc.32リリース2年目〜現在: アノテーション基盤の内製(v2)2021/01 2021/04 2021/11 2022/05 2022/08 2023.09● UIはさほど変わらないが、 v1から根本的作り直した● 画像から正解ラベルに対応する座標のアノテーションが可能に● 複数のモデルの結果をサジェスト● 座標内の文字列を抽出し、サジェストすることで手入力を撲滅● 体制は専任のアノテーター 3名
© 2023 LayerX Inc.33デモ動画
© 2023 LayerX Inc.34リリース2年目〜現在: アノテーション基盤の内製(v2)● 良かったこと○ v1の課題が解決■ 座標のアノテーションが可能になりマルチモーダルのモデルの開発に活用できるようになった■ 事前アノテーションが誤っていても、座標内から文字列を抽出することで手入力が不要になった○ 複数のモデルの読み取り結果を表示することで、アノテーターの入力補助がより強化され、エンジニアはモデル間の性能比較が可能になった● 問題点○ 専任のアノテーターが増え、新規のアノテーターのオンボーディング、アノテーター間でアノテーションのルールの共有の難易度が高い○ お客様や提供サービスが増加したことにより、多様な書類のアノテーションが必要になっており、アノテーションの難易度自体が高くなっている
© 2023 LayerX Inc.35課題とこれから
© 2023 LayerX Inc.36課題とこれから● 新規のサービスや新規の読み取り項目に、アノテーションツールが対応する必要がある○ → 自由度が高い分メンテナンスのコストも ...● データは溜まっているがまだまだ活用しきれていない○ → いろんなデータセットでいろんなモデルの検証を進めている途中だが全然手が回っていない...● モデルの検証はしたもののデリバリーまで持って行けてないプロジェクトも○ → デリバリーまで持っていくソフトウェアエンジニアが足りてない ...
© 2023 LayerX Inc.37We are hiring!!ML・ML Opsに関するあらゆる職種がオープンしています。あなたの力を貸してください!● データエンジニア● アナリティクスエンジニア● データアナリスト● データサイエンティスト● 機械学習エンジニア● MLOpsエンジニア● etcカジュアル面談からお気軽にどうぞ採用情報カジュアル面談