IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ フリー株式会社の特許一覧

<>
  • 特開-プログラム、情報処理装置及び方法 図1
  • 特開-プログラム、情報処理装置及び方法 図2
  • 特開-プログラム、情報処理装置及び方法 図3
  • 特開-プログラム、情報処理装置及び方法 図4
  • 特開-プログラム、情報処理装置及び方法 図5
  • 特開-プログラム、情報処理装置及び方法 図6
  • 特開-プログラム、情報処理装置及び方法 図7
  • 特開-プログラム、情報処理装置及び方法 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024177564
(43)【公開日】2024-12-19
(54)【発明の名称】プログラム、情報処理装置及び方法
(51)【国際特許分類】
   G06Q 30/04 20120101AFI20241212BHJP
   G06V 30/196 20220101ALI20241212BHJP
   G06Q 20/10 20120101ALI20241212BHJP
【FI】
G06Q30/04
G06V30/196 B
G06Q20/10 300
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2024177851
(22)【出願日】2024-10-10
(62)【分割の表示】P 2023083733の分割
【原出願日】2023-05-22
(71)【出願人】
【識別番号】513056101
【氏名又は名称】フリー株式会社
(74)【代理人】
【識別番号】110002815
【氏名又は名称】IPTech弁理士法人
(72)【発明者】
【氏名】山田 健児
(57)【要約】
【課題】請求書をOCR処理により読み取り、読み取ったテキストデータから支払処理を行う技術を提供する。
【解決手段】請求書読取システムのサーバは、ユーザに係る請求書の画像データ(2021)を記憶し、その機能として、請求書の画像データを、OCR処理により読み取ってテキストデータを生成するステップ(S121)と、生成したテキストデータを、請求書の記載項目ごとに分類して分類テキストデータを生成するステップ(S122)と、分類した分類テキストデータに基づき、請求書に対する支払処理を行うために必要な項目が存在するか判定するステップ(S123)と、判定結果が、必要な項目がすべて存在する場合、請求書に対する支払処理を行うための支払データを生成するステップ(S126)と、を実行させる。
【選択図】図7
【特許請求の範囲】
【請求項1】
プロセッサと、メモリとを備えるコンピュータに実行させるためのプログラムであって、
前記メモリは、ユーザに係る請求書の画像データを記憶し、
前記プログラムは、前記プロセッサに、
前記請求書の画像データを、OCR処理により読み取ってテキストデータを生成するステップと、
前記生成したテキストデータを、前記請求書の記載項目ごとに分類して分類テキストデータを生成するステップと、
前記分類した分類テキストデータに基づき、前記請求書に対する支払処理を行うために必要な項目が存在するか判定するステップと、
判定結果が、前記必要な項目がすべて存在する場合、前記請求書に対する支払処理を行うための支払データを生成するステップと、を実行させる、プログラム。
【請求項2】
前記テキストデータを生成するステップにおいて、複数の前記請求書の画像データを含む画像データが順不同に格納されている格納領域から、前記請求書の画像データをOCR処理により読み取る、請求項1に記載のプログラム。
【請求項3】
前記判定するステップにおいて、前記分類テキストデータが前記請求書に基づくものであるか判定し、判定結果が前記請求書に基づくものである場合、前記請求書に対する支払処理を行うために必要な項目が存在するか判定する、請求項1に記載のプログラム。
【請求項4】
前記判定するステップにおいて、前記必要な項目として、前記分類テキストデータにおける請求元の情報、品目の情報、金額の情報、及び期日の情報が存在するか判定する、請求項1に記載のプログラム。
【請求項5】
前記支払データを生成するステップにおいて、前記請求書に対する支払処理を行う金融機関のフォーマットに対応した前記支払データを生成し、
前記プログラムは、さらに、
前記支払データを前記金融機関のサーバへ送信するステップを実行させる、請求項1に記載のプログラム。
【請求項6】
前記プログラムは、さらに、
判定結果が、前記必要な項目のうちの一部が存在しない場合、存在しない一部の前記必要な項目について推測を行って補完するステップを実行させ、
前記支払データを生成するステップにおいて、前記補完した項目に基づき、前記支払データを生成する、請求項1から請求項5のいずれかに記載のプログラム。
【請求項7】
前記必要な項目について補完するステップにおいて、前記分類テキストデータにおける請求元の情報、品目の情報、金額の情報のいずれかまたは複数に基づき、前記請求元に対する過去の支払データを参照し、前記必要な項目について推測を行う、請求項6に記載のプログラム。
【請求項8】
前記プログラムは、さらに、
前記補完した項目をユーザに提示し、ユーザからの承認または修正の入力を受け付けるステップを実行させる、請求項6に記載のプログラム。
【請求項9】
制御部と、記憶部とを備える情報処理装置であって、
前記記憶部は、ユーザに係る請求書の画像データを記憶し、
前記制御部は、
前記請求書の画像データを、OCR処理により読み取ってテキストデータを生成するステップと、
前記生成したテキストデータを、前記請求書の記載項目ごとに分類して分類テキストデータを生成するステップと、
前記分類した分類テキストデータに基づき、前記請求書に対する支払処理を行うために必要な項目が存在するか判定するステップと、
判定結果が、前記必要な項目がすべて存在する場合、前記請求書に対する支払処理を行うための支払データを生成するステップと、を実行する、情報処理装置。
【請求項10】
プロセッサと、メモリとを備えるコンピュータにより実行されるための方法であって、
前記メモリは、ユーザに係る請求書の画像データを記憶し、
前記方法は、前記プロセッサが、
前記請求書の画像データを、OCR処理により読み取ってテキストデータを生成するステップと、
前記生成したテキストデータを、前記請求書の記載項目ごとに分類して分類テキストデータを生成するステップと、
前記分類した分類テキストデータに基づき、前記請求書に対する支払処理を行うために必要な項目が存在するか判定するステップと、
判定結果が、前記必要な項目がすべて存在する場合、前記請求書に対する支払処理を行うための支払データを生成するステップと、を実行する、方法。

【発明の詳細な説明】
【技術分野】
【0001】
本開示は、プログラム、情報処理装置及び方法に関する。
【背景技術】
【0002】
紙に出力された帳票などに記載された文書をカメラ、スキャナなどの光学読取装置を用いて認識する光学的文字認識技術(OCR:Optical Character Recognition)が知られている。また、画像解析により、帳票画像を分類する技術も知られている。
【0003】
書類分類システムの技術として、特許文献1には、証憑類の画像情報を解析して証憑類を分類し、格納先を決定して証憑類の画像情報を格納する、書類分類システムについての技術が開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】国際公開第2020/136778号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで、証憑類をOCR処理により読み取った後、読み取ったテキストデータをさらに活用することができれば、顧客に対して便利なサービスを提供することが可能になる。例えば、証憑類の一例である請求書をOCR処理により読み取り、その後の処理、例えば支払処理を行うことができれば、顧客に対する利便性の向上につながるため、そのような機能が求められていた。
【0006】
そこで、本開示では、請求書をOCR処理により読み取り、読み取ったテキストデータから支払処理を行うことを可能にする技術について説明する。
【課題を解決するための手段】
【0007】
本開示の一実施形態によると、プロセッサと、メモリとを備えるコンピュータに実行させるためのプログラムであって、メモリは、ユーザに係る請求書の画像データを記憶し、プログラムは、プロセッサに、請求書の画像データを、OCR処理により読み取ってテキストデータを生成するステップと、生成したテキストデータを、請求書の記載項目ごとに分類して分類テキストデータを生成するステップと、分類した分類テキストデータに基づき、請求書に対する支払処理を行うために必要な項目が存在するか判定するステップと、判定結果が、必要な項目がすべて存在する場合、請求書に対する支払処理を行うための支払データを生成するステップと、を実行させる。
【発明の効果】
【0008】
本開示によれば、請求書をOCR処理により読み取り、読み取ったテキストデータから支払処理を行うために必要な項目が存在するか判定し、支払処理を行うための支払データを生成する。これにより、顧客に対する利便性を向上させることが可能になる。
【図面の簡単な説明】
【0009】
図1】本開示で読み取る請求書の画像データの例を示す図である。
図2】実施の形態1に係る請求書読取システム1の全体構成を示すブロック図である。
図3図2の端末装置10の機能的な構成を示すブロック図である。
図4図2のサーバ20の機能的な構成を示すブロック図である。
図5図4の取引データベース2022のデータ構造の例を示す図である。
図6図4の会計データベース2023のデータ構造の例を示す図である。
図7】請求書読取システム1による支払データ生成処理を行う流れの一例を示すフローチャートである。
図8】請求書読取システム1による支払データ送信処理を行う流れの一例を示すフローチャートである。
【発明を実施するための形態】
【0010】
以下、図面を参照しつつ、本開示の実施の形態について説明する。以下の記載および図面は、本発明を説明するための例示であって、説明の明確化のため、適宜、省略および簡略化がなされている。本発明は、他の種々の形態でも実施する事が可能である。特に限定しない限り、各構成要素は単数でも複数でも構わない。以下の説明では、同一の構成には同一の符号を付してある。それらの名称及び機能も同じである。従って、それらについての詳細な説明は繰り返さない。
【0011】
<概要>
以下、本開示に係る請求書読取システムについて説明する。本開示に係る請求書読取システムは、請求書の画像データをOCR処理により読み取り、読み取ったテキストデータから支払処理を行うために必要な項目が存在するか判定するシステムである。本開示に係る請求書読取システムは、支払処理を行うために必要な項目が存在しない場合、必要な項目について推測を行って補完するように構成されている。また、本開示に係る請求書読取システムは、支払処理を行うために必要な項目が存在する場合、または必要な項目が補完された場合、支払処理を行うための支払データを生成し、支払処理を行う。本開示に係る請求書読取システムは、例えばクラウドサーバ等によりWebサービスとして、いわゆるSaaS(Software as a Service)によって提供されるシステムである。
【0012】
また、本開示に係る請求書読取システムは、ユーザである企業や個人事業主等の事業者における取引データを管理し、会計処理のサービスを提供している。ユーザに対して提供される会計処理のサービスとは、仕入、売上、借入のような入出金の取引を管理することであり、取引を帳簿(仕訳帳、総勘定元帳)に記録(記帳)し、所定の決算期に決算処理として試算表を作成し、財務諸表である損益計算書や貸借対照表を作成している。
【0013】
図1は、本開示で読み取る請求書の画像データの例を示す図である。本開示に係る情報処理システムが読み取る画像データは、図1に例として示す、請求書P1の画像データである。請求書P1は、OCR処理を行う対象である請求書の画像データのもとになる帳票類であり、読取項目の例として、タイトルA1と、請求元会社名A2と、請求先会社名A3と、請求先住所A4と、請求書発行年月日A5と、件名A6と、品目A7と、数量A8と、品目別請求金額A9と、金額小計A10と、消費税額A11と、金額合計A12とが印刷されている。この請求書読取システムでは、図1に示す各読取項目内における、図1に破線で示す位置の情報を領域データとして、例えば請求書P1の左上の端点を原点とする座標の情報を抽出している。また、この領域データに含まれる文字列を、OCR処理により読み取って抽出している。
【0014】
ところで、請求書P1をOCR処理により読み取り、読み取ったテキストデータから支払処理を行うようにすることができれば、顧客に対して便利なサービスを提供することが可能である。支払処理を行うためには、請求書P1の各読取項目から、支払処理を行うために必要な項目を抽出し、支払データを作成する必要がある。
【0015】
そこで、本開示に係る請求書読取システムは、請求書P1を例とする請求書の画像データをOCR処理により読み取り、読み取ったテキストデータから支払処理を行うために必要な項目が存在するか判定する。そして、本開示に係る請求書読取システムは、支払処理を行うために必要な項目が存在する場合、支払処理を行うための支払データを生成する。
【0016】
また、支払処理を行うために必要な項目として、請求書P1の例では、請求先会社名A3、品目A7、金額合計A12が挙げられる。しかし、支払処理を行うために必要な項目として、支払の期日の情報も必要となる。そのため、請求書P1の例では、支払データを作成することができないことになる。
【0017】
そこで、本開示に係る請求書読取システムは、支払処理を行うために必要な項目が存在しない場合、必要な項目について推測を行って補完する。そして、本開示に係る請求書読取システムは、支払処理を行うために必要な項目が補完された場合、支払処理を行うための支払データを生成する。
【0018】
上記のような構成により、請求書の画像データから支払データを自動で生成して支払処理を行うことができるので、顧客に対して便利なサービスを提供することが可能になる。これにより、顧客に対する利便性の向上につなげることを可能にしている。
【0019】
<実施の形態1>
以下、請求書読取システム1について説明する。以下の説明では、例えば、端末装置10がサーバ20へアクセスすることにより、サーバ20が、端末装置10で画面を生成するための情報を応答する。端末装置10は、サーバ20から受信した情報に基づいて画面を生成し表示する。
【0020】
<1 請求書読取システム1の全体構成>
図2は、実施の形態1に係る請求書読取システム1の全体構成を示すブロック図である。図2に示すように、請求書読取システム1は、複数の端末装置(図2では、端末装置10A及び端末装置10Bを示している。以下、総称して「端末装置10」ということもある)と、サーバ20と、外部サーバ30とを含む。端末装置10とサーバ20と外部サーバ30とは、ネットワーク80を介して相互に通信可能に接続されている。ネットワーク80は、有線または無線ネットワークにより構成される。本実施形態では、サーバ20はWebサーバ(クラウドサーバを含む)であり、端末装置10との間でWebページにより情報のやり取りを行う。また、外部サーバ30はWebサーバ(クラウドサーバを含む)であり、サーバ20との間で情報のやり取りを行う。なお、端末装置10にはWebページを閲覧するためのWebページブラウザがインストールされているが、サーバ20のサービスを提供するための専用アプリケーションがインストールされ、専用アプリケーションにより閲覧可能に構成してもよい。
【0021】
端末装置10は、各ユーザが操作する装置である。ここで、ユーザとは、端末装置10を使用して請求書読取システム1の機能である支払処理を行う者であり、例えば事業者である企業の従業員、または個人事業主等である。端末装置10は、据え置き型のPC(Personal Computer)、ラップトップPC等により実現される。この他、端末装置10は、例えば移動体通信システムに対応したタブレットや、スマートフォン等の携帯端末であるとしてもよい。
【0022】
端末装置10は、ネットワーク80を介してサーバ20と通信可能に接続される。端末装置10は、4G、5G、LTE(Long Term Evolution)等の通信規格に対応した無線基地局81、IEEE(Institute of Electrical and Electronics Engineers)802.11等の無線LAN(Local Area Network)規格に対応した無線LANルータ82等の通信機器と通信することにより、ネットワーク80に接続される。図2に端末装置10Bとして示すように、端末装置10は、通信IF(Interface)12と、入力装置13と、出力装置14と、メモリ15と、記憶部16と、プロセッサ19とを備える。
【0023】
通信IF12は、端末装置10が外部の装置と通信するため、信号を入出力するためのインタフェースである。入力装置13は、ユーザからの入力操作を受け付けるための入力装置(例えば、キーボードや、タッチパネル、タッチパッド、マウス等のポインティングデバイス等)である。出力装置14は、ユーザに対し情報を提示するための出力装置(ディスプレイ、スピーカ等)である。メモリ15は、プログラム、及び、プログラム等で処理されるデータ等を一時的に記憶するためのものであり、例えばDRAM(Dynamic Random Access Memory)等の揮発性のメモリである。記憶部16は、データを保存するための記憶装置であり、例えばフラッシュメモリ、HDD(Hard Disc Drive)である。プロセッサ19は、プログラムに記述された命令セットを実行するためのハードウェアであり、演算装置、レジスタ、周辺回路等により構成される。
【0024】
サーバ20は、請求書読取システム1の機能である請求書の画像データをOCR処理により読み取り、読み取ったテキストデータから支払処理を行うために必要な項目が存在するか判定する装置である。サーバ20は、支払処理を行うために必要な項目が存在しない場合、必要な項目について推測を行って補完する。また、サーバ20は、支払処理を行うために必要な項目が存在する場合、または必要な項目が補完された場合、支払処理を行うための支払データを生成し、支払処理を行う。
【0025】
サーバ20は、ネットワーク80に接続されたコンピュータである。サーバ20は、通信IF22と、入出力IF23と、メモリ25と、ストレージ26と、プロセッサ29とを備える。
【0026】
通信IF22は、サーバ20が外部の装置と通信するため、信号を入出力するためのインタフェースである。入出力IF23は、ユーザからの入力操作を受け付けるための入力装置、及び、ユーザに対し情報を提示するための出力装置とのインタフェースとして機能する。メモリ25は、プログラム、及び、プログラム等で処理されるデータ等を一時的に記憶するためのものであり、例えばDRAM(Dynamic Random Access Memory)等の揮発性のメモリである。ストレージ26は、データを保存するための記憶装置であり、例えばフラッシュメモリ、HDD(Hard Disc Drive)である。プロセッサ29は、プログラムに記述された命令セットを実行するためのハードウェアであり、演算装置、レジスタ、周辺回路等により構成される。
【0027】
<1.1 端末装置10の構成>
図3は、図2の端末装置10の機能的な構成を示すブロック図である。図3に示すように、端末装置10は、複数のアンテナ(アンテナ111、アンテナ112)と、各アンテナに対応する無線通信部(第1無線通信部121、第2無線通信部122)と、操作受付部130(キーボード131及びマウス132を含む)と、音声処理部140と、マイク141と、スピーカ142と、ディスプレイ150と、カメラ160と、記憶部170と、制御部180とを含む。端末装置10は、図3では特に図示していない機能及び構成(例えば、電力を保持するためのバッテリー、バッテリーから各回路への電力の供給を制御する電力供給回路等)も有している。図3に示すように、端末装置10に含まれる各ブロックは、バス等により電気的に接続される。図3に示す端末装置10は、移動体通信システムに対応したタブレットや、スマートフォン等の携帯端末として説明するが、据え置き型のPC(Personal Computer)、ラップトップPCであってもよい。
【0028】
アンテナ111は、端末装置10が発する信号を電波として放射する。また、アンテナ111は、空間から電波を受信して受信信号を第1無線通信部121へ与える。
【0029】
アンテナ112は、端末装置10が発する信号を電波として放射する。また、アンテナ112は、空間から電波を受信して受信信号を第2無線通信部122へ与える。
【0030】
第1無線通信部121は、端末装置10が他の無線機器と通信するため、アンテナ111を介して信号を送受信するための変復調処理等を行う。第2無線通信部122は、端末装置10が他の無線機器と通信するため、アンテナ112を介して信号を送受信するための変復調処理等を行う。第1無線通信部121と第2無線通信部122とは、チューナー、RSSI(Received Signal Strength Indicator)算出回路、CRC(Cyclic Redundancy Check)算出回路、高周波回路等を含む通信モジュールである。第1無線通信部121と第2無線通信部122とは、端末装置10が送受信する無線信号の変復調や周波数変換を行い、受信信号を制御部180へ与える。
【0031】
操作受付部130は、制御部180の制御に応じて、ユーザの入力操作を受け付けるための機構を有する。具体的には、操作受付部130は、キーボード131と、マウス132とを含む。なお、操作受付部130は、例えば静電容量方式のタッチパネルを用いることによって、タッチパネルに対するユーザの接触位置を検出する、タッチスクリーンとして構成してもよい。
【0032】
キーボード131は、端末装置10のユーザの入力操作を受け付ける。キーボード131は、文字入力を行う装置であり、入力された文字情報を入力信号として制御部180へ出力する。
【0033】
マウス132は、端末装置10のユーザの入力操作を受け付ける。マウス132は、ディスプレイ150に表示されている表示物を選択等するためのポインティングデバイスであり、画面上で選択された位置情報と、ボタン押下されていることを示す情報とを入力信号として制御部180へ出力する。
【0034】
音声処理部140は、制御部180の制御に応じて、音声信号の変復調を行う。音声処理部140は、マイク141から与えられる信号を変調して、変調後の信号を制御部180へ与える。また、音声処理部140は、音声信号をスピーカ142へ与える。音声処理部140は、例えば音声処理用のプロセッサによって実現される。マイク141は、音声入力を受け付けて、当該音声入力に対応する音声信号を音声処理部140へ与える。スピーカ142は、音声処理部140から与えられる音声信号を音声に変換して当該音声を端末装置10の外部へ出力する。
【0035】
ディスプレイ150は、制御部180の制御に応じて、画像、動画、テキスト等のデータを表示する。ディスプレイ150は、例えばLCD(Liquid Crystal Display)や有機EL(Electro-Luminescence)ディスプレイによって実現される。
【0036】
カメラ160は、制御部180の制御に応じて、受光素子により光を受光して、撮影画像として出力するためのデバイスである。カメラ160は、例えば、デジタルカメラ、ビデオカメラ等の撮像装置により構成されてもよい。
【0037】
記憶部170は、例えばフラッシュメモリ等のメモリ15及び記憶部16により構成され、端末装置10が使用するデータ及びプログラムを記憶する。ある局面において、記憶部170は、ユーザ情報171を記憶する。
【0038】
ユーザ情報171は、端末装置10を使用して、請求書読取システム1の機能である支払処理を行うユーザの情報である。ユーザ情報としては、ユーザを識別する情報(ユーザID)、事業者または担当者の氏名または名称等の情報が含まれる。
【0039】
制御部180は、例えばプロセッサ19により構成され、記憶部170に記憶されるプログラムを読み込んで、プログラムに含まれる命令を実行することにより、端末装置10の動作を制御する。制御部180は、例えば予め端末装置10の記憶部170に格納され、インストールされているアプリケーションである図示しないプログラムに従って動作することにより、入力操作受付部181と、送受信部182と、通知制御部183と、データ処理部184としての機能を発揮する。
【0040】
入力操作受付部181は、キーボード131等の入力装置に対するユーザの入力操作を受け付ける処理を行う。
【0041】
送受信部182は、端末装置10が、サーバ20等の外部の装置と、通信プロトコルに従ってデータを送受信するための処理を行う。
【0042】
通知制御部183は、ユーザに対し情報を提示する処理を行う。通知制御部183は、表示画像をディスプレイ150に表示させる処理、音声をスピーカ142に出力させる処理等を行う。
【0043】
データ処理部184は、端末装置10が入力を受け付けたデータに対し、プログラムに従って演算を行い、演算結果をメモリ等に出力する処理を行う。
【0044】
<1.2 サーバ20の機能的な構成>
図4は、図2のサーバ20の機能的な構成を示すブロック図である。図4に示すように、サーバ20は、通信部201と、記憶部202と、制御部203としての機能を発揮する。
【0045】
通信部201は、サーバ20が外部の装置と通信するための処理を行う。
【0046】
記憶部202は、例えばメモリ25、ストレージ26から構成され、サーバ20が使用するデータ及びプログラムを記憶する。記憶部202は、画像データフォルダ2021と、取引データベース2022と、会計データベース2023等を記憶する。
【0047】
画像データフォルダ2021は、請求書の画像データを保持するためのデータフォルダ(格納領域)である。画像データフォルダ2021は、記憶部202内の所定の記憶エリアに設けられたデータフォルダであり、例えば、請求書の画像データをユーザにより順不同に格納するように構成されている。画像データフォルダ2021は、特にサブフォルダ等により分割されている必要はないが、例えば請求元ごと、時期ごと等により分割されていてもよい。また、画像データフォルダ2021に格納される請求書の画像データは、jpeg、png、bmp、tiff、gif、eps、svg等の任意のデータフォーマットでよい。
【0048】
取引データベース2022は、請求書読取システム1のユーザによる、各種物品等の仕入、販売に係る売上、各種支払等の取引に関するデータ(取引データ)、具体的にはユーザである事業者における入出金に関する情報を保持するためのデータベースである。詳細は後述する。
【0049】
会計データベース2023は、請求書読取システム1のユーザによる、取引に係る会計情報、具体的には企業や個人事業主等に係る仕訳の情報を保持するためのデータベースである。詳細は後述する。
【0050】
制御部203は、サーバ20のプロセッサ29がプログラムに従って処理を行うことにより、各種モジュールとして受信制御モジュール2031、送信制御モジュール2032、画像データ読込モジュール2033、テキストデータ分類モジュール2034、支払データ判定モジュール2035、支払データ補完モジュール2036、ユーザ提示モジュール2037、支払データ生成モジュール2038、及び支払データ送信モジュール2039に示す機能を発揮する。
【0051】
受信制御モジュール2031は、サーバ20が外部の装置から通信プロトコルに従って信号を受信する処理を制御する。
【0052】
送信制御モジュール2032は、サーバ20が外部の装置に対し通信プロトコルに従って信号を送信する処理を制御する。
【0053】
画像データ読込モジュール2033は、画像データフォルダ2021に格納されている請求書の画像データをOCR処理により読み取ってテキストデータを生成する処理を制御する。画像データ読込モジュール2033は、例えば、請求書の画像データの読取項目の位置を示す位置情報に基づき、図1の例における請求元会社名A2、請求先会社名A3、請求先住所A4、・・・の項目ごとにOCR処理を行ってテキストデータを生成してもよく、請求書P1の画像データの記載項目全体について読み取っても(全文OCR処理)よい。画像データ読込モジュール2033は、例えば、読取項目の属性情報に基づき、文字の種類を特定する。例えば読み取った文字が縦棒のような形状であった場合、属性情報に定義されている文字の種類が数字の場合、「1」と判定して読み取り、英字(アルファベット)の場合、小文字の「l」(エル)と判定して読み取る。
【0054】
画像データ読込モジュール2033は、上記のような文字の判定、読み取りの処理を、文字認識を推定するための機械学習モデルを使用して判定してもよい。このような機械学習モデルは、サーバ20の機能として行われた機械学習により生成してもよく、他の装置により機械学習が行われた結果生成された機械学習モデルを取得してもよい。このような機械学習は、所定の教師データを使用した教師あり機械学習により行われてもよく、教師なし機械学習により行われてもよく、ディープラーニングにより行われてもよい。また、画像データ読込モジュール2033による読取結果に対して、さらなる機械学習による学習結果をマージする処理を行ってもよい。
【0055】
画像データ読込モジュール2033は、画像データフォルダ2021に順不同に格納されている請求書の画像データを読み取るが、請求書の画像データの読取の順番が任意でよく、画像データのファイル名の順番でもよく、日付順でもよく、サブフォルダ等により分割されている場合はサブフォルダの名称順でもよい。
【0056】
画像データ読込モジュール2033は、生成したテキストデータを、記憶部202の所定の領域(図示は省略)に格納して記憶させる。
【0057】
テキストデータ分類モジュール2034は、画像データ読込モジュール2033が生成したテキストデータを、請求書の記載項目ごとに分類して分類テキストデータを生成する処理を制御する。テキストデータ分類モジュール2034は、例えば、請求書の画像データから読み取ったテキストデータを、図1の例における請求元会社名A2、請求先会社名A3、請求先住所A4、・・・の項目ごとに分類し、該当する項目名の分類テキストデータを生成する。
【0058】
テキストデータ分類モジュール2034は、画像データ読込モジュール2033が項目ごとにOCR処理を行っている場合、項目ごとのテキストデータに対して項目名を付与することで分類する。また、テキストデータ分類モジュール2034は、画像データ読込モジュール2033が全文OCR処理によりテキストデータを生成している場合、テキストデータを請求書の記載項目を示す項目情報に基づき、テキストデータの文言解釈を行って分類を行い、分類結果に対して項目名を付与する。テキストデータ分類モジュール2034は、上記のようなテキストデータの分類を、テキストデータの記載項目を推定するための機械学習モデルを使用して判定してもよい。
【0059】
テキストデータ分類モジュール2034は、生成した分類テキストデータを、記憶部202の所定の領域(図示は省略)に格納して記憶させる。
【0060】
支払データ判定モジュール2035は、テキストデータ分類モジュール2034が分類した分類テキストデータに基づき、請求書に対する支払処理を行うために必要な項目が存在するか判定する処理を制御する。支払データ判定モジュール2035は、例えば、必要な項目としてあらかじめ設定された項目が分類テキストデータに存在するか判定する。支払データ判定モジュール2035は、例えば、必要な項目として、分類テキストデータにおける請求元の情報(図1の例における請求元会社名A2)、品目の情報(図1の例における品目A7)、金額の情報(図1の例における金額合計A12)、及び期日の情報が存在するか判定してもよい。支払データは、支払相手(請求元)、品目、支払金額、支払期日を特定する必要があるからである。なお、支払処理を行うために必要な項目は、例えば支払相手(請求元)、品目等により異なってもよく、支払相手(請求元)、品目等ごとにあらかじめ設定されていてもよい。
【0061】
また、支払データ判定モジュール2035は、分類テキストデータが画像データフォルダ2021に格納されている請求書に基づくものであるか判定し、判定結果が請求書に基づくものである場合に、上記の必要な項目が存在するか判定してもよい。これは、例えば、画像データフォルダ2021が請求書の画像データに限らず、様々な種類の証憑の画像データが格納されているような場合、まず分類テキストデータが請求書に基づくものであるかを判定する必要があるからである。
【0062】
支払データ補完モジュール2036は、支払データ判定モジュール2035の判定結果が、支払処理を行うために必要な項目のうちの一部が存在しない場合、その存在しない一部の項目について推測を行い、補完する処理を制御する。支払データ補完モジュール2036は、例えば、分類テキストデータにおける請求元の情報(図1の例における請求元会社名A2)、品目の情報(図1の例における品目A7)、及び金額の情報(図1の例における金額合計A12)が存在し、期日の情報が存在しない場合、期日の情報について推測を行い、補完する。
【0063】
支払データ補完モジュール2036は、例えば、当該請求元に対する過去の支払データを参照し、必要な項目について推測を行う。図1の例の場合、支払データ補完モジュール2036は、過去の支払データを参照し、当該請求元への支払期日は請求書発行日(図1の例における請求書発行年月日A5)から3ケ月後である場合、当該分類テキストデータについても同様であると推測し、請求書発行日から3ケ月後の日付を支払期日として補完する。支払データ補完モジュール2036は、上記のような項目の補完を、分類テキストデータの記載項目を補完するための機械学習モデルを使用してもよい。
【0064】
ユーザ提示モジュール2037は、支払データ補完モジュール2036が補完した項目をユーザに提示し、ユーザからの承認または修正の入力を受け付ける処理を制御する。ユーザ提示モジュール2037は、通信部201を介して、支払データ補完モジュール2036が補完した項目の情報を端末装置10へ送信する。端末装置10は、送受信部182を介して、補完した項目の情報を受信し、通知制御部183による処理で補完した項目の情報をディスプレイ150に表示させてユーザに提示する。
【0065】
また、端末装置10は、入力操作受付部181による処理で、ユーザからの承認または修正の入力を受け付けると、送受信部182を介して、ユーザからの承認または修正の入力情報を送信する。ユーザ提示モジュール2037は、通信部201を介して、ユーザからの承認または修正の入力情報を受信して受け付ける。
【0066】
支払データ生成モジュール2038は、支払データ判定モジュール2035の判定結果が、請求書に対する支払処理を行うために必要な項目がすべて存在する場合、請求書に対する支払処理を行うための支払データを生成する処理を制御する。支払処理を行うための支払データとは、請求書に対する支払を行うために金融機関のサーバである外部サーバ30へ送信するデータである。支払データは、例えば、支払処理を行う金融機関のフォーマット(例えば、全銀フォーマット)に対応したものであるが、クレジットカード、その他キャッシュレス決済に対応した支払データであってもよい。
【0067】
また、支払データ生成モジュール2038は、支払データ判定モジュール2035の判定結果が、請求書に対する支払処理を行うために必要な項目が存在しない場合であって、支払データ補完モジュール2036が支払処理を行うために必要な項目を補完した場合にも、請求書に対する支払処理を行うための支払データを生成する。
【0068】
支払データ送信モジュール2039は、支払データ生成モジュール2038が生成した支払データを、金融機関のサーバである外部サーバ30へ送信する処理を制御する。支払データ送信モジュール2039は、例えば、通信部201を介して、支払データを送信する。支払データ送信モジュール2039は、当該支払処理を行う金融機関(クレジットカード、その他キャッシュレス決済の運営機関でもよい)を支払データ等により判定し、該当する金融機関等の外部サーバ30へ送信する。
【0069】
<2 データ構造>
以下、図5及び図6を参照しながら、請求書読取システム1により参照されるデータ構造について説明する。図5は、図4の取引データベース2022のデータ構造の例を示す図である。また、図6は、図4の会計データベース2023のデータ構造の例を示す図である。
【0070】
図5に示すように、取引データベース2022のレコードのそれぞれは、項目「取引先ID」と、項目「取引先名」と、項目「取引詳細情報」等を含む。
【0071】
項目「取引先ID」は、請求書読取システム1における取引先である事業者それぞれを識別する情報である。
【0072】
項目「取引先名」は、請求書読取システム1にて管理する取引先事業者の名称を示す情報であり、例えば、法人名称や個人事業主の個人名が格納されている。
【0073】
項目「取引詳細情報」は、請求書読取システム1にて管理する取引に関する管理情報であり、具体的には、項目「日付」と、項目「摘要」と、項目「品目」と、項目「金額」等を含む。この項目「取引詳細情報」は、事業者、担当者等であるユーザが日々の取引について登録した情報であり、例えば、項目「日付」の順に時系列で、最新の情報がレコードとして追加されるように構成されている。
【0074】
項目「日付」は、請求書読取システム1にて管理する取引が発生した日付の情報である。
【0075】
項目「摘要」は、請求書読取システム1にて管理する取引について、支出(出金)であるか、または収入(入金)であるかを示す情報であり、例えば、支出である場合は「支出」の情報が、収入である場合は「収入」の情報が格納されている。
【0076】
項目「品目」は、請求書読取システム1にて管理する取引について、具体的な物品やサービス等の内容を示す情報である。
【0077】
項目「金額」は、請求書読取システム1にて管理する取引についての入出金の金額を示す情報である。
【0078】
サーバ20は、ユーザから取引に関する情報を受け付けることに伴って、取引データベース2022の項目「取引詳細情報」にレコードを追加する。
【0079】
図6に示すように、会計データベース2023のレコードのそれぞれは、項目「ユーザID」と、項目「ユーザ名」と、項目「仕訳データ詳細情報」等を含む。
【0080】
項目「ユーザID」は、請求書読取システム1にて管理する取引情報の登録を行うユーザある企業等それぞれを識別する情報である。
【0081】
項目「ユーザ名」は、請求書読取システム1にて管理する取引情報の登録を行うユーザである企業の名称(会社名)または個人事業主名である。
【0082】
項目「仕訳データ詳細情報」は、請求書読取システム1にて管理する仕入や売上等の入出金の取引を記帳した仕訳データであり、具体的には、項目「日付」と、項目「借方/貸方」と、項目「摘要」と、項目「金額」等を含む。この項目「仕訳データ詳細情報」は、事業者であるユーザが日々の取引について登録した情報に基づき、仕訳を行い、会計情報として登録した情報であり、例えば、項目「日付」の順に時系列で、最新の情報がレコードとして追加されるように構成されている。
【0083】
項目「日付」は、請求書読取システム1にて管理する取引が発生した日付を示す情報である。
【0084】
項目「借方/貸方」は、仕訳を行った仕訳データの借方または貸方の区別を示す情報であり、例えば、借方である場合は「借方」の情報が、貸方である場合は「貸方」の情報が格納されている。借方及び貸方は、現在帳簿への記帳で一般的に使用されている、複式簿記における記載項目である。
【0085】
項目「摘要」は、仕訳を行った仕訳データの勘定科目を示す情報である。勘定科目は、日々の取引の入力で使用される費目の内容を示す情報であり、例えば図5に示すように、「仕入」、「買掛金」、「仮払消費税」等の内容が格納されている。
【0086】
項目「金額」は、仕訳を行った仕訳データの金額を示す情報である。項目「金額」には、項目「摘要」が示す勘定科目の例である、「仕入」、「買掛金」、「仮払消費税」等の金額が格納されている。
【0087】
サーバ20は、取引に関する情報に基づき仕訳を行い、会計情報として登録することに伴って、会計データベース2023の項目「仕訳データ詳細情報」を更新する。
【0088】
<3 動作>
以下、図7及び図8を参照しながら、実施の形態1における請求書読取システム1による支払データ生成処理、及び支払データ送信処理について説明する。
【0089】
図7は、請求書読取システム1による支払データ生成処理を行う流れの一例を示すフローチャートである。
【0090】
ステップS121において、サーバ20の画像データ読込モジュール2033は、画像データフォルダ2021に格納されている請求書の画像データをOCR処理により読み取ってテキストデータを生成する。ステップS121では、例えば、図1の例における請求元会社名A2、請求先会社名A3、請求先住所A4、・・・の項目ごと、または請求書P1の記載項目全体にOCR処理を行ってテキストデータを生成する。
【0091】
ステップS122において、サーバ20のテキストデータ分類モジュール2034は、ステップS121で生成したテキストデータを、請求書の記載項目ごとに分類して分類テキストデータを生成する。ステップS122では、例えば、請求書の画像データから読み取ったテキストデータを、図1の例における請求元会社名A2、請求先会社名A3、請求先住所A4、・・・の項目ごとに分類し、該当する項目名の分類テキストデータを生成する。
【0092】
ステップS123において、サーバ20の支払データ判定モジュール2035は、ステップS122で分類した分類テキストデータに基づき、請求書に対する支払処理を行うために必要な項目が存在するか判定する。ステップS123では、例えば、支払処理を行うために必要な項目としてあらかじめ設定された項目が分類テキストデータに存在するか判定する。
【0093】
ステップS124において、サーバ20の支払データ補完モジュール2036は、ステップS123の判定結果が、支払処理を行うために必要な項目のうちの一部が存在しない場合、その存在しない一部の項目について推測を行い、補完する。ステップS124では、例えば、分類テキストデータにおける請求元の情報(図1の例における請求元会社名A2)、品目の情報(図1の例における品目A7)、及び金額の情報(図1の例における金額合計A12)が存在し、期日の情報が存在しない場合、期日の情報について推測を行い、補完する。
【0094】
ステップS125において、サーバ20のユーザ提示モジュール2037は、ステップS124で補完した項目をユーザに提示し、ユーザからの承認または修正の入力を受け付ける。ステップS125では、補完した項目の情報を、通信部201を介して端末装置10へ送信する。
【0095】
ステップS115において、端末装置10の送受信部182は、ステップS125で送信された補完した項目の情報を受信する。通知制御部183は、受信した(補完した)項目の情報をディスプレイ150に表示させてユーザに提示する。また、端末装置10の入力操作受付部181は、補完した項目に対する、ユーザからの承認または修正の入力を受け付け、送受信部182を介して、ユーザからの承認または修正の入力情報を送信する。
【0096】
ステップS126において、サーバ20の支払データ生成モジュール2038は、ステップS123の判定結果が、請求書に対する支払処理を行うために必要な項目がすべて存在する場合、請求書に対する支払処理を行うための支払データを生成する。また、ステップS126において、サーバ20の支払データ生成モジュール2038は、ステップS123の判定結果が、請求書に対する支払処理を行うために必要な項目が存在しない場合であって、ステップS124で支払処理を行うために必要な項目を補完した場合、請求書に対する支払処理を行うための支払データを生成する。
【0097】
以上のように、請求書読取システム1では、請求書の画像データをOCR処理により読み取り、読み取ったテキストデータから支払処理を行うために必要な項目が存在するか判定する。そして、請求書読取システム1では、支払処理を行うために必要な項目が存在する場合、支払処理を行うための支払データを生成する。また、請求書読取システム1では、支払処理を行うために必要な項目が存在しない場合であって、支払処理を行うために必要な項目が補完された場合も、支払処理を行うための支払データを生成する。そのため、請求書の画像データから支払データを自動で生成して支払処理を行うことができるので、顧客に対して便利なサービスを提供することが可能になる。これにより、顧客に対する利便性の向上につなげることが可能になる。
【0098】
図8は、請求書読取システム1による支払データ送信処理を行う流れの一例を示すフローチャートである。
【0099】
ステップS221において、サーバ20の支払データ送信モジュール2039は、ステップS126で生成した支払データを、金融機関のサーバである外部サーバ30へ送信する。ステップS221では、支払データを、通信部201を介して金融機関等の外部サーバ30へ送信する。
【0100】
ステップS231において、外部サーバ30は、支払データを受信すると当該支払データに従って支払(決済)処理を行う。
【0101】
以上のように、請求書読取システム1では、支払処理を行うための支払データを金融機関等の外部サーバ30へ送信し、支払処理を行わせる。これにより、自動で支払処理を行うことができるので、顧客に対して便利なサービスを提供することが可能になる。
【0102】
<小括>
以上のように、本実施形態によると、請求書の画像データをOCR処理により読み取り、読み取ったテキストデータから支払処理を行うために必要な項目が存在するか判定する。そして、支払処理を行うために必要な項目が存在する場合、支払処理を行うための支払データを生成する。そのため、請求書の画像データから支払データを自動で生成して支払処理を行うことができるので、顧客に対して便利なサービスを提供することが可能になる。これにより、顧客に対する利便性の向上につなげることが可能になる。
【0103】
また、本実施形態によると、請求書の画像データをOCR処理により読み取り、読み取ったテキストデータから支払処理を行うために必要な項目が存在するか判定する。そして、支払処理を行うために必要な項目が存在しない場合、支払処理を行うために必要な項目を補完し、支払処理を行うための支払データを生成する。そのため、請求書の画像データから、支払処理を行うために必要な項目を補完して支払データを自動で生成して支払処理を行うことができるので、顧客に対して便利なサービスを提供することが可能になる。これにより、顧客に対する利便性の向上につなげることが可能になる。
【0104】
さらに、本実施形態によると、支払処理を行うための支払データを金融機関、決済機関等へ送信し、支払処理を行わせる。これにより、自動で支払処理を行うことができるので、顧客に対して便利なサービスを提供することが可能になる。
【0105】
以上、開示に係る実施形態について説明したが、これらはその他の様々な形態で実施することが可能であり、種々の省略、置換及び変更を行なって実施することができる。これらの実施形態及び変形例ならびに省略、置換及び変更を行なったものは、特許請求の範囲の技術的範囲とその均等の範囲に含まれる。
【0106】
<付記>
以上の各実施形態で説明した事項を、以下に付記する。
【0107】
(付記1)プロセッサ29と、メモリ25とを備えるコンピュータに実行させるためのプログラムであって、メモリ25は、ユーザに係る請求書の画像データ(2021)を記憶し、プログラムは、プロセッサ29に、請求書の画像データを、OCR処理により読み取ってテキストデータを生成するステップ(S121)と、生成したテキストデータを、請求書の記載項目ごとに分類して分類テキストデータを生成するステップ(S122)と、分類した分類テキストデータに基づき、請求書に対する支払処理を行うために必要な項目が存在するか判定するステップ(S123)と、判定結果が、必要な項目がすべて存在する場合、請求書に対する支払処理を行うための支払データを生成するステップ(S126)と、を実行させる、プログラム。
【0108】
(付記2)テキストデータを生成するステップにおいて、複数の請求書の画像データを含む画像データが順不同に格納されている格納領域(2021)から、請求書の画像データをOCR処理により読み取る、(付記1)に記載のプログラム。
【0109】
(付記3)判定するステップにおいて、分類テキストデータが請求書に基づくものであるか判定し、判定結果が請求書に基づくものである場合、請求書に対する支払処理を行うために必要な項目が存在するか判定する、(付記1)に記載のプログラム。
【0110】
(付記4)判定するステップにおいて、必要な項目として、分類テキストデータにおける請求元の情報、品目の情報、金額の情報、及び期日の情報が存在するか判定する、(付記1)に記載のプログラム。
【0111】
(付記5)支払データを生成するステップにおいて、請求書に対する支払処理を行う金融機関のフォーマットに対応した支払データを生成し、プログラムは、さらに、支払データを金融機関のサーバへ送信するステップ(S221)を実行させる、(付記1)に記載のプログラム。
【0112】
(付記6)プログラムは、さらに、判定結果が、必要な項目のうちの一部が存在しない場合、存在しない一部の必要な項目について推測を行って補完するステップ(S124)を実行させ、支払データを生成するステップにおいて、補完した項目に基づき、支払データを生成する、(付記1)から(付記5)のいずれかに記載のプログラム。
【0113】
(付記7)必要な項目について補完するステップにおいて、分類テキストデータにおける請求元の情報、品目の情報、金額の情報のいずれかまたは複数に基づき、請求元に対する過去の支払データを参照し、必要な項目について推測を行う、(付記6)に記載のプログラム。
【0114】
(付記8)プログラムは、さらに、補完した項目をユーザに提示し、ユーザからの承認または修正の入力を受け付けるステップ(S125)を実行させる、(付記6)に記載のプログラム。
【0115】
(付記9)制御部203と、記憶部202とを備える情報処理装置であって、記憶部202は、ユーザに係る請求書の画像データ(2021)を記憶し、制御部203は、請求書の画像データを、OCR処理により読み取ってテキストデータを生成するステップ(S121)と、生成したテキストデータを、請求書の記載項目ごとに分類して分類テキストデータを生成するステップ(S122)と、分類した分類テキストデータに基づき、請求書に対する支払処理を行うために必要な項目が存在するか判定するステップ(S123)と、判定結果が、必要な項目がすべて存在する場合、請求書に対する支払処理を行うための支払データを生成するステップ(S126)と、を実行する、情報処理装置。
【0116】
(付記8)プロセッサ29と、メモリ25とを備えるコンピュータにより実行されるための方法であって、メモリ25は、ユーザに係る請求書の画像データ(2021)を記憶し、方法は、プロセッサ29が、請求書の画像データを、OCR処理により読み取ってテキストデータを生成するステップ(S121)と、生成したテキストデータを、請求書の記載項目ごとに分類して分類テキストデータを生成するステップ(S122)と、分類した分類テキストデータに基づき、請求書に対する支払処理を行うために必要な項目が存在するか判定するステップ(S123)と、判定結果が、必要な項目がすべて存在する場合、請求書に対する支払処理を行うための支払データを生成するステップ(S126)と、を実行する、方法。
【符号の説明】
【0117】
1 :請求書読取システム
10 :端末装置
10A :端末装置
10B :端末装置
13 :入力装置
14 :出力装置
15 :メモリ
16 :記憶部
19 :プロセッサ
20 :サーバ
25 :メモリ
26 :ストレージ
29 :プロセッサ
30 :外部サーバ
201 :通信部
202 :記憶部
203 :制御部
2021 :画像データフォルダ
2022 :取引データベース
2023 :会計データベース
2031 :受信制御モジュール
2032 :送信制御モジュール
2033 :画像データ読込モジュール
2034 :テキストデータ分類モジュール
2035 :支払データ判定モジュール
2036 :支払データ補完モジュール
2037 :ユーザ提示モジュール
2038 :支払データ生成モジュール
2039 :支払データ送信モジュール
図1
図2
図3
図4
図5
図6
図7
図8