(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024034014
(43)【公開日】2024-03-13
(54)【発明の名称】情報処理装置、情報処理方法及びプログラム
(51)【国際特許分類】
G06Q 20/40 20120101AFI20240306BHJP
G06Q 30/0207 20230101ALI20240306BHJP
【FI】
G06Q20/40
G06Q30/02 320
【審査請求】未請求
【請求項の数】16
【出願形態】OL
(21)【出願番号】P 2022137997
(22)【出願日】2022-08-31
(71)【出願人】
【識別番号】523303688
【氏名又は名称】LINE WORKS株式会社
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】岡本 大和
【テーマコード(参考)】
5L049
5L055
【Fターム(参考)】
5L049BB07
5L055AA72
(57)【要約】
【課題】レシート画像を用いて報酬を付与するためのシステムにおいて、レシート画像の不正検出精度向上を図ることができる情報処理装置等を提供する。
【解決手段】情報処理装置は、商品等の購入時に発行されたレシートが撮影されたレシート画像を取得する取得部と、取得部が取得したレシート画像が不正に加工された不正画像であるか否かを判定する判定部と、を備える。判定部は、取得部が取得したレシート画像及び判定部により不正画像でないと既に判定済みであるレシート画像のそれぞれのレシートにおける一連の文字列が記載された領域を特定し、特定した領域に記載された文字列を抽出し、特定した領域の位置を検出し、抽出した文字列と検出した位置とに基づいてグループ化し、抽出した文字列をグループごとに比較して類似度を算出し、それぞれのグループごとの類似度を用いて取得部が取得したレシート画像が不正画像であるか否かを判定する。
【選択図】
図3
【特許請求の範囲】
【請求項1】
情報処理装置であって、
商品等の購入時に発行されたレシートが撮影されたレシート画像を取得する取得部と、
前記取得部が取得したレシート画像が不正に加工された不正画像であるか否かを判定する判定部と、を備え、
前記判定部は、
前記取得部が取得したレシート画像及び前記判定部により不正画像でないと既に判定済みであるレシート画像の両者のそれぞれのレシートにおける一連の文字列が記載された領域を特定し、
前記特定した領域に記載された文字列を抽出し、
前記特定した領域のレシートにおける位置を検出し、
前記抽出した文字列と前記検出した位置とに基づいて2以上のグループにグループ化し、
前記両者について前記抽出した文字列を前記グループごとに比較して類似度を算出し、
それぞれの前記グループごとの類似度を用いて前記取得部が取得したレシート画像が不正画像であるか否かを判定する。
【請求項2】
請求項1に記載の情報処理装置であって、
前記判定部は、
前記抽出した文字列と前記検出した位置とから、機械学習により生成した学習済みモデルを用いて前記グループ化を行う。
【請求項3】
情報処理装置であって、
商品等の購入時に発行されたレシートが撮影されたレシート画像を取得する取得部と、
前記取得部が取得したレシート画像が不正に加工された不正画像であるか否かを判定する判定部と、を備え、
前記判定部は、
前記取得部が取得したレシート画像及び前記判定部により不正画像でないと既に判定済みであるレシート画像の両者のそれぞれのレシートにおける一連の文字列が記載された領域を特定し、
前記特定した領域に記載された文字列を抽出し、
前記特定した領域のレシートにおける位置を検出し、
前記抽出した文字列と前記検出した位置とから、機械学習により生成した学習済みモデルを用いて特徴量を推論し、
前記両者について前記推論した特徴量を比較して類似度を算出し、
前記算出した類似度を用いて前記取得部が取得したレシート画像が不正画像であるか否かを判定する。
【請求項4】
情報処理装置であって、
商品等の購入時に発行されたレシートが撮影されたレシート画像を取得する取得部と、
前記取得部が取得したレシート画像が不正に加工された不正画像であるか否かを判定する判定部と、を備え、
前記判定部は、
前記取得部が取得したレシート画像及び前記判定部により不正画像でないと既に判定済みであるレシート画像のそれぞれのレシートに記載された情報を比較して類似度を算出し、前記算出した類似度を用いて前記取得部が取得したレシート画像が不正画像であるか否かを判定する。
【請求項5】
請求項4に記載の情報処理装置であって、
前記判定部は、
前記取得部が取得したレシート画像及び前記判定部により不正画像でないと既に判定済みであるレシート画像のそれぞれのレシートを2以上の領域に分割し、分割した領域ごとに記載された情報を比較して類似度を算出し、それぞれの領域ごとの類似度を用いて前記取得部が取得したレシート画像が不正画像であるか否かを判定する。
【請求項6】
請求項5に記載の情報処理装置であって、
前記判定部により前記取得部が取得したレシート画像が不正画像でないと判定された場合に、当該レシート画像のレシートに記載された情報が予め設定された条件を満たしていれば報酬を付与する報酬付与部をさらに備え、
前記判定部は、
前記取得部が取得したレシート画像及び前記報酬付与部により既に報酬を付与済みであるレシート画像のそれぞれのレシートを2以上の領域に分割し、分割した領域ごとに記載された情報を比較して類似度を算出し、それぞれの領域ごとの類似度を用いて前記取得部が取得したレシート画像が不正画像であるか否かを判定する。
【請求項7】
請求項5又は請求項6に記載の情報処理装置であって、
前記判定部は、レシート画像のレシートに記載された文字を抽出し、抽出した文字を前記領域ごとに結合し、前記領域ごとに結合文字列を比較して類似度を算出する。
【請求項8】
請求項7に記載の情報処理装置であって、
前記判定部は、前記領域ごとの結合文字列の長さが予め設定された基準文字列長以上となるように、比較するレシート画像のそれぞれのレシートを前記領域に分割する。
【請求項9】
請求項7又は請求項8に記載の情報処理装置であって、
前記判定部は、予め設定された特定の文字列が含まれる前記領域を比較対象から除外する。
【請求項10】
請求項7又は請求項8に記載の情報処理装置であって、
前記判定部は、予め設定された分割用文字列が記載された位置でレシート画像のレシートを前記領域に分割する。
【請求項11】
請求項7又は請求項8に記載の情報処理装置であって、
前記判定部は、レシート画像のレシートに文字が記載された範囲を等分割することで、レシート画像のレシートを前記領域に分割する。
【請求項12】
情報処理装置のコンピュータが実行する情報処理方法であって、
商品等の購入時に発行されたレシートが撮影されたレシート画像を取得する取得段階と、
前記取得段階で取得したレシート画像が不正に加工された不正画像であるか否かを判定する判定段階、を備え、
前記判定段階は、
前記取得段階で取得したレシート画像及び不正画像でないと既に判定済みであるレシート画像の両者のそれぞれのレシートにおける一連の文字列が記載された領域を特定し、
前記特定した領域に記載された文字列を抽出し、
前記特定した領域のレシートにおける位置を検出し、
前記抽出した文字列と前記検出した位置とに基づいて2以上のグループにグループ化し、
前記両者について前記抽出した文字列を前記グループごとに比較して類似度を算出し、
それぞれの前記グループごとの類似度を用いて前記取得段階で取得したレシート画像が不正画像であるか否かを判定する。
【請求項13】
情報処理装置のコンピュータが実行する情報処理方法であって、
商品等の購入時に発行されたレシートが撮影されたレシート画像を取得する取得段階と、
前記取得段階で取得したレシート画像が不正に加工された不正画像であるか否かを判定する判定段階と、を備え、
前記判定段階は、
前記取得段階で取得したレシート画像及び不正画像でないと既に判定済みであるレシート画像の両者のそれぞれのレシートにおける一連の文字列が記載された領域を特定し、
前記特定した領域に記載された文字列を抽出し、
前記特定した領域のレシートにおける位置を検出し、
前記抽出した文字列と前記検出した位置とから、機械学習により生成した学習済みモデルを用いて特徴量を推論し、
前記両者について前記推論した特徴量を比較して類似度を算出し、
前記算出した類似度を用いて前記取得段階で取得したレシート画像が不正画像であるか否かを判定する。
【請求項14】
情報処理装置のコンピュータが実行する情報処理方法であって、
商品等の購入時に発行されたレシートが撮影されたレシート画像を取得する取得段階と、
前記取得段階で取得したレシート画像が不正に加工された不正画像であるか否かを判定する判定段階と、を備え、
前記判定段階は、
前記取得段階で取得したレシート画像及び不正画像でないと既に判定済みであるレシート画像のそれぞれのレシートに記載された情報を比較して類似度を算出し、前記算出した類似度を用いて不正画像であるか否かを判定する。
【請求項15】
請求項14に記載の情報処理方法であって、
前記判定段階は、
前記取得段階で取得したレシート画像及び不正画像でないと既に判定済みであるレシート画像のそれぞれのレシートを2以上の領域に分割し、分割した領域ごとに記載された情報を比較して類似度を算出し、それぞれの領域ごとの類似度を用いて不正画像であるか否かを判定する。
【請求項16】
請求項12から請求項15のいずれか一項に記載の情報処理方法を情報処理装置のコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、情報処理装置、情報処理方法及びプログラムに関するものである。
【背景技術】
【0002】
商品等の購入時に発行されたレシートを利用した販売促進を支援する販売促進支援サーバであって、前記レシートを撮影したレシート画像をネットワーク端末から受信するレシート画像受信手段と、前記レシート画像から読み取った所定の情報から、特典付与の対象から除外される不正なレシートの条件に該当しないかを判定する不正判定手段と、前記不正判定手段により不正なレシートの条件に該当しないと判定されると、前記レシート画像から読み取った所定の情報から、特典付与の対象となる条件に該当するかを判定する特典判定手段と、を備えたサーバが知られている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
特許文献1に示される技術においては、過去の購入実績に関する情報の中に、レシート画像から読み取った所定の情報と近似するものがある場合に不正なレシートの条件に該当すると判定し、近似すると判断する条件は、購入した一部の商品の数量を除き全ての情報が一致する、精算日時を除き全ての情報が一致する、といった一部の情報のみが相違して他が一致する場合としている。しかしながら、このような購入した一部の商品の数量や、精算日時等の特定の一部の情報が相違するか否かに基づいてレシート画像の不正を判定する場合、これら以外の情報が改変された不正なレシート画像を不正であると判定することが困難である。また、仮に、単に一部の情報のみが相違して他が一致する場合に不正であると判定するとした場合、正当なレシートを不正であると判定する可能性があり、不正判定精度の低下を招いてしまう。
【0005】
本開示は、このような課題を解決するためになされたものである。その目的は、レシート画像の不正検出精度向上を図ることができる情報処理装置、情報処理方法及びプログラムを提供することにある。
【課題を解決するための手段】
【0006】
本開示に係る情報処理装置は、商品等の購入時に発行されたレシートが撮影されたレシート画像を取得する取得部と、前記取得部が取得したレシート画像が不正に加工された不正画像であるか否かを判定する判定部と、を備え、前記判定部は、前記取得部が取得したレシート画像及び前記判定部により不正画像でないと既に判定済みであるレシート画像の両者のそれぞれのレシートにおける一連の文字列が記載された領域を特定し、前記特定した領域に記載された文字列を抽出し、前記特定した領域のレシートにおける位置を検出し、前記抽出した文字列と前記検出した位置とに基づいて2以上のグループにグループ化し、前記両者について前記抽出した文字列を前記グループごとに比較して類似度を算出し、それぞれの前記グループごとの類似度を用いて前記取得部が取得したレシート画像が不正画像であるか否かを判定する。
【0007】
あるいは、本開示に係る情報処理装置は、商品等の購入時に発行されたレシートが撮影されたレシート画像を取得する取得部と、前記取得部が取得したレシート画像が不正に加工された不正画像であるか否かを判定する判定部と、を備え、前記判定部は、前記取得部が取得したレシート画像及び前記判定部により不正画像でないと既に判定済みであるレシート画像の両者のそれぞれのレシートにおける一連の文字列が記載された領域を特定し、前記特定した領域に記載された文字列を抽出し、前記特定した領域のレシートにおける位置を検出し、前記抽出した文字列と前記検出した位置とから、機械学習により生成した学習済みモデルを用いて特徴量を推論し、前記両者について前記推論した特徴量を比較して類似度を算出し、前記算出した類似度を用いて前記取得部が取得したレシート画像が不正画像であるか否かを判定する。
【0008】
あるいは、本開示に係る情報処理装置は、商品等の購入時に発行されたレシートが撮影されたレシート画像を取得する取得部と、前記取得部が取得したレシート画像が不正に加工された不正画像であるか否かを判定する判定部と、を備え、前記判定部は、前記取得部が取得したレシート画像及び前記判定部により不正画像でないと既に判定済みであるレシート画像のそれぞれのレシートに記載された情報を比較して類似度を算出し、前記算出した類似度を用いて前記取得部が取得したレシート画像が不正画像であるか否かを判定する。
【0009】
本開示に係る情報処理方法は、情報処理装置のコンピュータが実行する情報処理方法であって、商品等の購入時に発行されたレシートが撮影されたレシート画像を取得する取得段階と、前記取得段階で取得したレシート画像が不正に加工された不正画像であるか否かを判定する判定段階、を備え、前記判定段階は、前記取得段階で取得したレシート画像及び不正画像でないと既に判定済みであるレシート画像の両者のそれぞれのレシートにおける一連の文字列が記載された領域を特定し、前記特定した領域に記載された文字列を抽出し、前記特定した領域のレシートにおける位置を検出し、前記抽出した文字列と前記検出した位置とに基づいて2以上のグループにグループ化し、前記両者について前記抽出した文字列を前記グループごとに比較して類似度を算出し、それぞれの前記グループごとの類似度を用いて前記取得段階で取得したレシート画像が不正画像であるか否かを判定する。
【0010】
あるいは、本開示に係る情報処理方法は、情報処理装置のコンピュータが実行する情報処理方法であって、商品等の購入時に発行されたレシートが撮影されたレシート画像を取得する取得段階と、前記取得段階で取得したレシート画像が不正に加工された不正画像であるか否かを判定する判定段階と、を備え、前記判定段階は、前記取得段階で取得したレシート画像及び不正画像でないと既に判定済みであるレシート画像の両者のそれぞれのレシートにおける一連の文字列が記載された領域を特定し、前記特定した領域に記載された文字列を抽出し、前記特定した領域のレシートにおける位置を検出し、前記抽出した文字列と前記検出した位置とから、機械学習により生成した学習済みモデルを用いて特徴量を推論し、前記両者について前記推論した特徴量を比較して類似度を算出し、前記算出した類似度を用いて前記取得段階で取得したレシート画像が不正画像であるか否かを判定する。
【0011】
あるいは、本開示に係る情報処理方法は、情報処理装置のコンピュータが実行する情報処理方法であって、商品等の購入時に発行されたレシートが撮影されたレシート画像を取得する取得段階と、前記取得段階で取得したレシート画像が不正に加工された不正画像であるか否かを判定する判定段階と、を備え、前記判定段階は、前記取得段階で取得したレシート画像及び不正画像でないと既に判定済みであるレシート画像のそれぞれのレシートに記載された情報を比較して類似度を算出し、前記算出した領域ごとの類似度を用いて不正画像であるか否かを判定する。
【0012】
本開示に係るプログラムは、上記の情報処理方法を情報処理装置のコンピュータに実行させるためのプログラムである。
【発明の効果】
【0013】
本開示に係る情報処理装置、端末、情報処理方法及びプログラムによれば、レシート画像の不正検出精度向上を図ることができるという効果を奏する。
【図面の簡単な説明】
【0014】
【
図1】実施の形態1に係る報酬付与システムの全体構成を示す図である。
【
図2】実施の形態1に係る報酬付与システムが備える端末の構成を示すブロック図である。
【
図3】実施の形態1に係る報酬付与システムが備えるサーバの構成を示すブロック図である。
【
図4】実施の形態1に係る不正レシート画像の類型の一例を説明する図である。
【
図5】実施の形態1に係る不正レシート画像の具体例を示す図である。
【
図6】実施の形態1に係る不正レシート画像の類型の別例を説明する図である。
【
図7】実施の形態1に係る不正レシート画像の具体例を示す図である。
【
図8】実施の形態1に係る報酬付与システムの類似度算出方法の例を説明する図である。
【
図9】実施の形態1に係る報酬付与システムの類似度算出方法の別例を説明する図である。
【
図10】実施の形態1に係る報酬付与システムの類似度算出方法の別例を説明する図である。
【
図11】実施の形態1に係る報酬付与システムが備えるサーバの動作例を示すフローチャートである。
【
図12】実施の形態1に係る転置インデックスの一例を示す図である。
【
図13】実施の形態1に係る転置インデックスの別例を示す図である。
【発明を実施するための形態】
【0015】
本開示に係る情報処理装置、情報処理方法及びプログラムを実施するための形態について添付の図面を参照しながら説明する。各図において、同一又は相当する部分には同一の符号を付して、重複する説明は適宜に簡略化又は省略する。以下の説明においては便宜上、図示の状態を基準に各構造の位置関係を表現することがある。なお、本開示は以下の実施の形態に限定されることなく、本開示の趣旨を逸脱しない範囲において、各実施の形態の自由な組み合わせ、各実施の形態の任意の構成要素の変形、又は各実施の形態の任意の構成要素の省略が可能である。
【0016】
実施の形態1.
図1から
図11を参照しながら、本開示の実施の形態1について説明する。
図1は報酬付与システムの全体構成を示す図である。
図2は報酬付与システムが備える端末の構成を示すブロック図である。
図3は報酬付与システムが備えるサーバの構成を示すブロック図である。
図4は不正レシート画像の類型の一例を説明する図である。
図5は不正レシート画像の具体例を示す図である。
図6は不正レシート画像の類型の別例を説明する図である。
図7は不正レシート画像の具体例を示す図である。
図8は報酬付与システムの類似度算出方法の例を説明する図である。
図9及び
図10は報酬付与システムの類似度算出方法の別例を説明する図である。
図11は報酬付与システムが備えるサーバの動作例を示すフローチャートである。
図12は転置インデックスの一例を示す図である。
図13は転置インデックスの別例を示す図である。
【0017】
図1に示すように、この実施の形態に係る報酬付与システム400は、サーバ100と、端末200とを備えている。報酬付与システム400では、サーバ100と端末200とが、ネットワーク300を介して通信可能に接続されている。ここで説明する構成例では、サーバ100は、ネットワーク300を介してユーザが所有する端末200に、ポイント、クーポン等の報酬を付与するサービス等を提供する。なお、ネットワーク300に接続される端末200の数は1台に限られず、2台以上であってもよい。
【0018】
ネットワーク300は、1以上の端末200と、1以上のサーバ100とを接続する役割を担う。すなわち、ネットワーク300は、端末200がサーバ100に接続した後、データを送受信することができるように接続経路を提供する通信網を意味する。ネットワーク300のうちの1つ又は複数の部分は、有線ネットワークや無線ネットワークであってもよいし、そうでなくてもよい。
【0019】
ネットワーク300は、例えば、アドホック・ネットワーク(Ad Hoc Network)、イントラネット、エクストラネット、仮想プライベート・ネットワーク(Virtual Private Network:VPN)、ローカル・エリア・ネットワーク(Local Area Network:LAN)、ワイヤレスLAN(Wireless LAN:WLAN)、広域ネットワーク(Wide Area Network:WAN)、ワイヤレスWAN(Wireless WAN:WWAN)、大都市圏ネットワーク(Metropolitan Area Network:MAN)、インターネットの一部、公衆交換電話網(Public Switched Telephone Network:PSTN)の一部、携帯電話網、ISDN(Integrated Service Digital Networks)、無線LAN、LTE(Long Term Evolution)、CDMA(Code Division Multiple Access)、ブルートゥース(Bluetooth(登録商標))、又は、衛星通信等、もしくは、これらの2つ以上の組合せを含むことができる。ネットワーク300は、1つ又は複数のネットワーク300を含むことができる。
【0020】
端末200は、本開示に係る実施形態の機能を実現できる情報処理端末であればどのような端末であってもよい。端末200は、例えば、スマートフォン、携帯電話(フィーチャーフォン)、コンピュータ(例えば、デスクトップPC、ラップトップPC、タブレットPC等)、メディアコンピュータプラットホーム(例えば、ケーブル、衛星セットトップボックス、デジタルビデオレコーダ)、ハンドヘルドコンピュータデバイス(例えば、PDA(Personal Digital Assistant)、電子メールクライアント等)、ウェアラブル端末(メガネ型デバイス、時計型デバイス等)、又は他種のコンピュータ、又はコミュニケーションプラットホームを含む。また、端末200は情報処理端末と表現されてもよい。
【0021】
サーバ100は、端末200に対して、所定のサービスを提供する機能を備える。サーバ100は、本開示に係る実施形態の機能を実現できる情報処理装置であればどのような装置であってもよい。サーバ100は、例えば、サーバ装置、コンピュータ(例えば、デスクトップPC、ラップトップPC、タブレットPC等)、メディアコンピュータプラットホーム(例えば、ケーブル、衛星セットトップボックス、デジタルビデオレコーダ)、ハンドヘルドコンピュータデバイス(例えば、PDA、電子メールクライアント等)、あるいは他種のコンピュータ、又はコミュニケーションプラットホームを含む。また、サーバ100は情報処理装置と表現されてもよい。サーバ100と端末200とを区別する必要がない場合は、サーバ100と端末200とは、それぞれ情報処理装置と表現されてもよいし、されなくてもよい。
【0022】
次に、
図2を参照しながら、端末200の構成について説明する。端末200は、端末制御部230、端末記憶部220、端末通信部210、入出力部240、表示部250、マイク260、スピーカ270及びカメラ280を備える。端末200のハードウェアの各構成要素は、例えば、バスを介して相互に接続されている。なお、端末200のハードウェア構成として、ここで説明する全ての構成要素を含むことは必須ではない。例えば、端末200は、カメラ280等の個々の構成要素、又は複数の構成要素を取り外すような構成であってもよいし、そうでなくてもよい。
【0023】
端末通信部210は、ネットワーク300を介して各種データの送受信を行う。当該通信は、有線、無線のいずれで実行されてもよく、互いの通信が実行できるのであれば、どのような通信プロトコルを用いてもよい。端末通信部210は、ネットワーク300を介して、サーバ100との通信を実行する機能を有する。
【0024】
端末通信部210は、端末送信部211及び端末受信部212を含んでいる。端末送信部211は、各種データを端末制御部230からの指示に従って、サーバ100に送信する。端末受信部212は、サーバ100から送信された各種データを受信し、端末制御部230に伝達する。なお、端末通信部210を端末通信I/F(インタフェース)と表現する場合もある。また、端末通信部210が物理的に構造化された回路で構成される場合には、端末通信回路と表現する場合もある。
【0025】
入出力部240は、入力部及び出力部を含む。入力部は、端末200に対する各種操作を入力する装置である。出力部は、端末200で処理された処理結果を出力する装置である。入出力部240は、入力部と出力部が一体化していてもよいし、入力部と出力部に分離していてもよいし、そうでなくてもよい。
【0026】
入力部は、ユーザからの入力を受け付けて、当該入力に係る情報を端末制御部230に伝達できる全ての種類の装置のいずれか、又は、その組み合わせにより実現される。入力部は、例えば、タッチパネル、タッチディスプレイ、キーボード等のハードウェアキーや、マウス等のポインティングデバイス等を含み得る。
【0027】
出力部は、端末制御部230で処理された処理結果を出力することができる全ての種類の装置のいずれか、又は、その組み合わせにより実現される。出力部は、例えば、タッチパネル、タッチディスプレイ、スピーカ(音声出力)、レンズ(例えば3D(Three Dimensions)出力や、ホログラム出力)、プリンター等を含み得る。
【0028】
表示部250は、フレームバッファに書き込まれた表示データに従って、表示することができる全ての種類の装置のいずれか、又は、その組み合わせにより実現される。表示部250は、例えば、タッチパネル、タッチディスプレイ、モニタ(例えば、液晶ディスプレイやOELD(Organic Electroluminescence Display)等)、ヘッドマウントディスプレイ(HDM:Head Mounted Display)、プロジェクションマッピング、ホログラム、空気中等(真空であってもよいし、そうでなくてもよい)に画像やテキスト情報等を表示可能な装置を含み得る。なお、これらの表示部250は、3Dで表示データを表示可能であってもよいし、そうでなくてもよい。
【0029】
なお、入出力部240がタッチパネルを有する場合、入出力部240と表示部250とは、略同一の大きさ及び形状で対向して配置されていてもよい。
【0030】
端末制御部230は、プログラム内に含まれたコード又は命令によって実現する機能を実行するために物理的に構造化された回路を有し、例えば、ハードウェアに内蔵されたデータ処理装置により実現される。そのため、端末制御部230は、制御回路と表現されてもよいし、されなくてもよい。
【0031】
端末制御部230は、例えば、中央処理装置(CPU:Central Processing Unit)、マイクロプロセッサ(Microprocessor)、プロセッサコア(Processor Core)、マルチプロセッサ(Multiprocessor)、ASIC(Application-Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)等を含む。
【0032】
端末記憶部220は、端末200が動作するうえで必要とする各種プログラムや各種データを記憶する機能を有する。端末記憶部220は、例えば、HDD(Hard Disk Drive)、SSD(Solid State Drive)、フラッシュメモリ、RAM(Random Access Memory)、ROM(Read Only Memory)等各種の記憶媒体を含む。また、端末記憶部220は、メモリ(Memory)と表現されてもよいし、されなくてもよい。
【0033】
端末200は、プログラムを端末記憶部220に記憶し、このプログラムを実行することで、端末制御部230が、端末制御部230に含まれる各部としての処理を実行する。つまり、端末記憶部220に記憶されるプログラムは、端末200に、端末制御部230が実行する各機能を実現させる。換言すれば、端末200においてメモリに記憶されたプログラムをプロセッサが実行し、端末200のハードウェアとソフトウェアとが協働することによって、端末200が備える各部の機能が実現される。なお、このプログラムは、プログラムモジュールと表現されてもよいし、されなくてもよい。
【0034】
マイク260は、音声データの入力に利用される。スピーカ270は、音声データの出力に利用される。カメラ280は、動画像データ及び/又は静止画像データの取得に利用される。
【0035】
次に、
図3を参照しながら、サーバ100の構成について説明する。サーバ100は、サーバ制御部130、サーバ記憶部120及びサーバ通信部110を備えている。サーバ100のハードウェアの各構成要素は、例えば、バスを介して相互に接続されている。
【0036】
サーバ制御部130は、プログラム内に含まれたコード又は命令によって実現する機能を実行するために物理的に構造化された回路を有し、例えば、ハードウェアに内蔵されたデータ処理装置により実現される。サーバ制御部130は、代表的には中央処理装置(CPU)であり、その他にマイクロプロセッサ、プロセッサコア、マルチプロセッサ、ASIC、FPGA等であってもよいし、そうでなくてもよい。本開示において、サーバ制御部130は、これらに限定されない。
【0037】
サーバ記憶部120は、サーバ100が動作するうえで必要とする各種プログラムや各種データを記憶する機能を有する。サーバ記憶部120は、HDD、SSD、フラッシュメモリ等各種の記憶媒体により実現される。ただし、本開示において、サーバ記憶部120は、これらに限定されない。また、サーバ記憶部120は、メモリ(Memory)と表現されてもよいし、されなくてもよい。
【0038】
サーバ通信部110は、ネットワーク300を介して各種データの送受信を行う。当該通信は、有線、無線のいずれで実行されてもよく、互いの通信が実行できるのであれば、どのような通信プロトコルを用いてもよい。サーバ通信部110は、ネットワーク300を介して、端末200との通信を実行する機能を有する。
【0039】
サーバ通信部110は、サーバ送信部111及びサーバ受信部112を含んでいる。サーバ送信部111は、各種データをサーバ制御部130からの指示に従って、端末200に送信する。また、サーバ受信部112は、端末200から送信された各種データを受信し、サーバ制御部130に伝達する。
【0040】
サーバ通信部110をサーバ通信I/F(インタフェース)と表現する場合もある。また、サーバ通信部110が物理的に構造化された回路で構成される場合には、サーバ通信回路と表現する場合もある。
【0041】
なお、サーバ100は、ハードウェア構成として、入出力部及びディスプレイを備えてもよい。入出力部は、サーバ100に対する各種操作を入力する装置により実現される。入出力部は、ユーザからの入力を受け付けて、当該入力に係る情報をサーバ制御部130に伝達できる全ての種類の装置のいずれか、又は、その組み合わせにより実現される。ディスプレイは、代表的にはモニタ(例えば、液晶ディスプレイやOELD等)で実現される。この場合、例えば、サーバ100のハードウェアは、ディスプレイを取り外すような構成であってもよいし、そうでなくてもよい。
【0042】
サーバ100は、プログラムをサーバ記憶部120に記憶し、このプログラムを実行することで、サーバ制御部130が、サーバ制御部130に含まれる各部としての処理を実行する。つまり、サーバ記憶部120に記憶されるプログラムは、サーバ100に、サーバ制御部130が実行する各機能を実現させる。換言すれば、サーバ100においてメモリに記憶されたプログラムをプロセッサが実行し、サーバ100のハードウェアとソフトウェアとが協働することによって、サーバ100が備える各部の機能が実現される。なお、このプログラムは、プログラムモジュールと表現されてもよいし、されなくてもよい。
【0043】
なお、端末200の端末制御部230、及び/又は、サーバ100のサーバ制御部130は、制御回路を有するCPUだけでなく、集積回路(IC(Integrated Circuit)チップ、LSI(Large Scale Integration))等に形成された論理回路(ハードウェア)や専用回路によって各処理を実現してもよいし、そうでなくてもよい。また、これらの回路は、1又は複数の集積回路により実現されてよく、本開示に係る実施形態に示す複数の処理を1つの集積回路により実現されることとしてもよいし、そうでなくてもよい。また、LSIは、集積度の違いにより、VLSI、スーパーLSI、ウルトラLSI等と呼称されることもある。
【0044】
また、本開示に係る実施形態のプログラム(例えば、ソフトウェアプログラム、コンピュータプログラム、又はプログラムモジュール)は、コンピュータに読み取り可能な記憶媒体に記憶された状態で提供されてもよいし、されなくてもよい。記憶媒体は、「一時的でない有形の媒体」に、プログラムを記憶可能である。また、プログラムは、本開示に係る実施形態の機能の一部を実現するためのものであってもよいし、そうでなくてもよい。さらに、本開示に係る実施形態の機能を記憶媒体に既に記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよいし、そうでなくてもよい。
【0045】
記憶媒体は、1つ又は複数の半導体ベースの、又は他の集積回路(IC)(例えば、フィールド・プログラマブル・ゲート・アレイ(FPGA)又は特定用途向けIC(ASIC)等)、ハード・ディスク・ドライブ(HDD)、ハイブリッド・ハード・ドライブ(HHD)、光ディスク、光ディスクドライブ(ODD)、光磁気ディスク、光磁気ドライブ、フロッピィ・ディスケット、フロッピィ・ディスク・ドライブ(FDD)、磁気テープ、固体ドライブ(SSD)、RAMドライブ、セキュア・デジタル・カード、又はドライブ、任意の他の適切な記憶媒体、もしくは、これらの2つ以上の適切な組合せを含むことができる。記憶媒体は、適切な場合、揮発性、不揮発性、又は揮発性と不揮発性の組合せでよい。なお、記憶媒体はこれらの例に限られず、プログラムを記憶可能であれば、どのようなデバイス又は媒体であってもよい。また、記憶媒体をメモリ(Memory)と表現されてもよいし、されなくてもよい。
【0046】
また、本開示のプログラムは、当該プログラムを伝送可能な任意の伝送媒体(通信ネットワークや放送波等)を介して、サーバ100及び/又は端末200に提供されてもよいし、されなくてもよい。プログラムが伝送媒体を介して提供される場合、サーバ100及び/又は端末200は、例えば、インターネット等を介してダウンロードしたプログラムを実行することにより、各実施形態に示す複数の機能部の機能を実現することが可能である。
【0047】
また、本開示に係る実施形態は、プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。また、サーバ100及び/又は端末200における処理の少なくとも一部は、1以上のコンピュータにより構成されるクラウドコンピューティングにより実現されていてもよいし、そうでなくてもよい。また、端末200における処理の少なくとも一部を、サーバ100により行う構成としてもよいし、そうでなくてもよい。この場合、端末200の端末制御部230の各機能部の処理のうち少なくとも一部の処理を、サーバ100で行う構成としてもよいし、そうでなくてもよい。また、サーバ100における処理の少なくとも一部を、端末200により行う構成としてもよいし、そうでなくてもよい。この場合、サーバ100のサーバ制御部130の各機能部の処理のうち少なくとも一部の処理を、端末200で行う構成としてもよいし、そうでなくてもよい。
【0048】
なお、本開示のプログラムは、例えば、ActionScript、JavaScript(登録商標)等のスクリプト言語、Objective-C、Java(登録商標)等のオブジェクト指向プログラミング言語、HTML5等のマークアップ言語等を用いて実装され得る。
【0049】
本開示に係る報酬付与システム400は、ユーザが特定の購買行動をとった場合に当該ユーザに対し報酬を付与するものである。特定の購買行動とは、例えば、予め決められた特定の商品(以下、「対象商品」ともいう)を、予め決められた金額(以下、「規定金額」ともいう)以上購入する等である。付与する報酬としては、例えば、特定のサービスで使用可能なポイント、割引クーポン等を挙げることができる。
【0050】
本開示に係る報酬付与システム400では、ユーザが特定の購買行動をとったことを証明するために、いわゆるレシートを利用している。レシートは、商品等の購入時に発行される受取証書あるいは領収証であり、レジスター等により所定の事項が印字された紙片である。レシートには、例えば、購入商品名、購入点数、購入金額、購入した店舗名、購入日時、支払い方法、預かり金額、お釣りの額等が印字されている。
【0051】
ユーザは、報酬付与の対象となる商品の購入時に発行されたレシートを、端末200のカメラ280で撮影する。この撮影により、カメラ280からレシート画像が出力される。レシート画像は、レシートが撮影された画像である。換言すれば、レシート画像にはレシートが写っている。端末送信部211は、カメラ280から出力されたレシート画像をサーバ100に送信する。そして、サーバ100のサーバ受信部112は、端末200から送信されたレシート画像を受信する。
【0052】
この実施の形態に係る報酬付与システム400においては、サーバ100は、サーバ制御部130により実現される機能として、レシート画像取得部131、不正画像判定部132及び報酬付与部133を備えている。レシート画像取得部131は、サーバ受信部112が受信したレシート画像を取得する。換言すれば、レシート画像取得部131は、商品等の購入時に発行されたレシートが撮影されたレシート画像を取得する。
【0053】
不正画像判定部132は、レシート画像取得部131が取得したレシート画像が不正に加工された不正画像であるか否かを判定する。レシート画像が不正画像であるか否かの判定の詳細については後述する。
【0054】
報酬付与部133は、レシート画像取得部131が取得したレシート画像に基づいて、報酬を付与するか否かを決定する。そして、報酬付与部133は、報酬を付与すると決定した場合には、報酬付与処理を行う。報酬付与部133は、次の2つの条件が同時に満たされた場合に、報酬を付与すると決定する。
・不正画像判定部132により当該レシート画像が不正画像でないと判定される。
・当該レシート画像のレシートに記載された情報が予め設定された報酬付与条件を満たしている。
【0055】
報酬付与条件は、前述した特定の購買行動がユーザにより為されたと認められる条件である。例えば、報酬付与の対象となる購買行動が、対象商品を規定金額以上購入することである場合、報酬付与条件は、当該レシート画像のレシートに記載された購入品名に対象商品が含まれており、当該レシートに記載された当該対象商品の購入金額が規定金額以上であることである。
【0056】
この判定のため、報酬付与部133は、レシート画像のレシートに記載された文字を抽出してもよい。この場合、例えば、報酬付与部133はレシート画像にOCR(Optical Character Recognition/Reader:光学的文字認識)処理を施すことにより、レシート画像のレシートに記載された文字を抽出する。この際、報酬付与部133は、抽出した文字のレシート画像中における位置座標を検出してもよい。
【0057】
報酬付与部133は、抽出した文字列に対象商品を示す文字列が含まれているかを判定する。抽出した文字列に対象商品を示す文字列が含まれている場合、報酬付与部133は、この対象商品を示す文字列の上下方向の位置が同じである数字列を、当該対象商品の購入金額であるとして取得する。そして、報酬付与部133は、取得した対象商品の購入金額が規定金額以上であれば、当該レシート画像のレシートに記載された情報が予め設定された報酬付与条件を満たしていると判定する。
【0058】
報酬付与部133は、報酬を付与すると判定した場合には報酬付与処理を行い、当該レシート画像を送信した端末200のユーザに対し、ポイント、クーポン等の報酬を付与する。そして、報酬付与の対象となったレシート画像をサーバ記憶部120のレシート画像記憶部121に記憶する。このようにして、レシート画像記憶部121には、報酬付与部133により既に報酬を付与済みであるレシート画像が記憶される。
【0059】
次に、不正画像判定部132によるレシート画像が不正画像であるか否かの判定について説明する。レシート画像は、画像編集アプリケーション等を用いることで比較的容易に改変できてしまう。このため、以上のようなレシート画像を用いた報酬付与においては、改変された不正なレシート画像が使用されてしまうおそれがある。
【0060】
例えば、
図4に示すように、レシート画像に記載された対象商品「〇〇」の購入金額を「¥1,000」から「¥9,000」に書き換えることで、購入金額を実際より大きく見せるという不正が考えられる。
図5に示すのは、このような改変に係る、さらに具体的な不正レシート画像の例である。同図に示す例では、全ての購入商品の購入金額の末尾に「0」が追加されており、購入金額が実際の10倍になるように改変されている。
【0061】
また、他に例えば、
図6に示すように、複数枚のレシートをつなぎ合わせたり、重ね合わせたりすることで、あたかも新たな別のレシートであるように見せかけるという不正も考えられる。このようにすることで、報酬付与条件を満たす1枚のレシートから、報酬付与条件を満たしていように見える複数の異なるレシート画像を作ることができてしまう。
【0062】
この場合、画像編集アプリケーション等を用いてレシート画像でそのような改変を行うこともできるし、被写体となるレシートに細工を施した上で端末200等のカメラ280で撮影することもできる。被写体となるレシートに細工を施す場合、例えば、レシートを途中で折り曲げ、あるいは、切断した上で、つなぎ合わせたり、重ね合わせたりすることが考えられる。
【0063】
図7に示すのは、このような改変に係る、具体的な不正レシート画像の例である。同図に示す例では、図中の破線よりも上側の部分(以下、当該部分をレシートの「ヘッダ部分」ともいう)を他の店舗のレシートのものと入れ換えている。破線よりも下側の部分は両者同一である。このようにすることで、購入品目及び金額が同一で、購入店舗、購入日時等が異なる複数の異なるレシート画像を作ることができてしまう。そして、実際には「〇〇○ストア」でしか報酬付与条件を満たす購買行動を行っていないにも関わらず、あたかも「△△△ショップ」でも報酬付与条件を満たす購買行動を行ったかのように見せかけることができる。
【0064】
この実施の形態に係る不正画像判定部132は、レシート画像がこのような不正なものであるか否かを判定する機能を有する。これまでに説明したように、不正なレシート画像の類型は、報酬付与条件を満たす正当なレシート画像の一部を改変することによるものが多い。そこで、不正画像判定部132は、レシート画像取得部131が取得したレシート画像を、報酬付与部133により既に報酬を付与済みであるレシート画像と比較して、レシート画像取得部131が取得したレシート画像が不正画像であるか否かを判定する。
【0065】
ここで、前述したように、報酬付与部133により既に報酬を付与済みであるレシート画像は、サーバ記憶部120のレシート画像記憶部121に記憶されている。したがって、不正画像判定部132は、レシート画像取得部131が取得したレシート画像をレシート画像記憶部121に記憶されているレシート画像と比較して、レシート画像取得部131が取得したレシート画像が不正画像であるか否かを判定する。
【0066】
不正画像判定部132は、比較するレシート画像のそれぞれのレシートを2以上の領域に分割する。レシート画像におけるレシートの分割については、いくつかの方法が考えられる。第1の分割方法は、予め設定された分割用文字列が記載された位置でレシート画像のレシートを上下に分割する方法である。この方法では、不正画像判定部132は、まず、レシート画像のレシートに記載された文字を抽出する。レシートに記載された文字の抽出は、前述した報酬付与部133によるものと同様に、レシート画像にOCR処理を施すことにより行ってもよい。また、この際、不正画像判定部132は、抽出した文字のレシート画像中における位置座標を検出してもよい。
【0067】
不正画像判定部132は、抽出した文字列に分割用文字列が含まれているか否かを判定する。そして、不正画像判定部132は、抽出した文字列に分割用文字列が含まれていれば、当該分割用文字列が記載された位置で、レシート画像のレシートを分割する。
【0068】
分割用文字列は、レシートの特定の位置に記載されることが一般的である文字列である。このような、分割用文字列の具体例として、「領収書」を挙げることができる。多くのレシートでは、「領収書」の記載より上側の部分が前述したヘッダ部分であることが一般的である。そこで、分割用文字列として「領収書」を設定することで、レシートをヘッダ領域とその余の領域とに分割できる。また、他の分割用文字列の具体例として、「上記正に領収いたしました」、あるいは、これに類する文字列を挙げることができる。多くのレシートでは、「上記正に領収いたしました」等の記載より下側の部分は、定型的な記載内容のフッタ部分であることが一般的である。そこで、分割用文字列として「上記正に領収いたしました」等レシートをフッタ領域とその余の領域とに分割できる。
【0069】
第2の分割方法は、レシート画像のレシートに文字が記載された範囲について上下に等分割する方法である。この方法でも、第1の分割方法と同様に、不正画像判定部132は、まず、レシート画像のレシートに記載された文字を抽出する。レシートに記載された文字の抽出は、前述と同様に、レシート画像にOCR処理を施すことにより行ってもよい。また、この際、不正画像判定部132は、抽出した文字のレシート画像中における位置座標を検出してもよい。
【0070】
そして、不正画像判定部132は、抽出した文字の最上端位置と最下端位置と間の距離を求め、この距離を等分することで、レシートを分割する位置を決定する。この場合、レシートを二等分、又は、三等分するとよい。レシートを二等分することで、上側の領域の大部分が前述したヘッダ領域となるように分割できる。また、レシートを三等分することで、上中下の3つの領域のうち、上側の領域の大部分が前述したヘッダ領域となり、かつ、下側の領域の大部分が前述したフッタ領域となるように分割できる。
【0071】
次に、不正画像判定部132は、このようにして分割したそれぞれの領域(以下、「分割領域」ともいう)ごとに記載された情報を比較して類似度を算出する。この類似度の算出方法についても、いくつかの方法が考えられる。第1の類似度算出方法について、
図8を参照しながら説明する。この第1の類似度算出方法では、不正画像判定部132は、まず、レシート画像のレシートに記載された文字を抽出する。次に、不正画像判定部132は、抽出した文字をそれぞれの分割領域ごとに結合し、1つの分割領域につき1つずつ結合文字列を得る。
【0072】
そして、不正画像判定部132は、対応するそれぞれの分割領域同士について、結合文字列を比較して類似度を算出する。ここで、対応する分割領域とは、比較するレシート同士において、上下の順位が同じである分割領域同士のことをいう。例えば、レシートを三等分した場合、上側の分割領域同士が対応し、中間の分割領域同士が対応し、下側の分割領域同士が対応する。結合文字列の類似度は、既知の方法により算出できる。
【0073】
第2の類似度算出方法について、
図9を参照しながら説明する。この第2の類似度算出方法では、不正画像判定部132は、まず、レシート画像のレシートに記載された文字を抽出する。次に、不正画像判定部132は、抽出した文字から特定の項目についてその内容を取得する。特定の項目は、例えば、購入時刻、店舗の電話番号、合計購入金額、支払金額等である。これらの項目の内容は、同時に偶然一致することは稀であると考えられる。そこで、比較するレシート同士におけるこれらの項目の内容の一致度を類似度とすることで、不正画像か否かを判定できる。不正画像判定部132は、対応するそれぞれの分割領域同士について、内容が完全に一致している項目数の割合を類似度とする。なお、
図10に示すように、これらの特定項目の内容が完全一致しているか否かでなく、これらの特定項目の文字列の一致率により類似度を算出してもよい。
【0074】
不正画像判定部132は、このようにして算出したそれぞれの分割領域ごとの類似度を用いて、レシート画像取得部131が取得したレシート画像が不正画像であるか否かを判定する。例えば、不正画像判定部132は、それぞれの分割領域ごとの類似度の最大値を、レシート画像同士の類似度とする。そして、レシート画像同士の類似度が予め設定された基準値(例えば90%等)以上の場合、レシート画像取得部131が取得したレシート画像が不正画像であると判定する。
【0075】
また、不正画像判定部132は、それぞれの分割領域ごとの類似度の平均値を、レシート画像同士の類似度としてもよい。この際の平均値は、例えば、算術平均であってもよいし、加重平均であってもよい。
【0076】
不正画像判定部132は、予め設定された特定の文字列が含まれる分割領域を比較対象から除外してもよい。特定の文字列とは、例えば、店舗名を示す文字列等である。なお、分割領域ごとの類似度の加重平均値をレシート画像同士の類似度とする場合、重み付けの係数を0にすることが、比較対象からの除外に相当する。このようにすることで、不正でなくとも偶然に一致することがあるヘッダ領域等を不正判定対象から除外することができ、不正判定精度の向上を図ることができる。
【0077】
また、不正画像判定部132は、分割領域ごとの結合文字列の長さが予め設定された基準文字列長以上となるように、比較するレシート画像のそれぞれのレシートを分割するようにしてもよい。分割領域に含まれる文字数が極めて少ないと、分割領域同士の類似度が不正でなくとも偶然に高くなってしまう可能性が高くなる。そこで、分割領域に含まれる文字数が一定以上になるように比較するレシート画像のそれぞれのレシートを分割することで、偶然に一致してしまう頻度を低減させ、不正判定精度の向上を図ることができる。
【0078】
報酬付与部133における文字抽出処理と、不正画像判定部132における文字抽出処理とは、別々に行ってもよいし、まとめて行ってもよい。レシート画像からの文字抽出処理をまとめて行う場合、サーバ制御部130は、
図3に示すように、文字抽出部134をさらに備えていてもよい。文字抽出部134は、レシート画像のレシートに記載された文字を抽出する。レシートに記載された文字の抽出は、前述と同様に、レシート画像にOCR処理を施すことにより行ってもよい。また、この際、文字抽出部134は、抽出した文字のレシート画像中における位置座標を検出してもよい。そして、報酬付与部133及び不正画像判定部132は、文字抽出部134により抽出された文字及びその位置座標を用いて、それぞれの処理を行う。
【0079】
次に、以上のように構成された報酬付与システム400の特にサーバ100動作例について、
図11のフローチャートを参照しながら説明する。まず、ステップS11において、端末200のカメラ280で商品の購入時に発行されたレシートを撮影する。続くステップS12において、端末送信部211は、カメラ280により撮影されたレシート画像をサーバ100に送信する。
【0080】
ステップS21において、サーバ100のサーバ受信部112は、ステップS12で端末200から送信されたレシート画像を受信する。続くステップS22で、レシート画像取得部131は、レシートが撮影されたレシート画像を取得する。ステップS22の後、サーバ制御部130は次にステップS23の処理を行う。
【0081】
ステップS23においては、サーバ制御部130の不正画像判定部132は、ステップS22でレシート画像取得部131が取得したレシート画像が不正画像であるか否かを判定する。このステップS23では、不正画像判定部132は、報酬付与部133により既に報酬を付与済みであるレシート画像との比較により、レシート画像取得部131が取得したレシート画像が不正画像であるか否かを判定する。より詳しくは、不正画像判定部132は、比較するレシート画像のそれぞれのレシートを2以上の領域に分割し、分割した領域ごとに記載された情報を比較して類似度を算出し、それぞれの領域ごとの類似度を用いて不正画像であるか否かを判定する。そして、レシート画像取得部131が取得したレシート画像が不正画像であると判定された場合、報酬は付与されることなく一連の処理は終了する。
【0082】
一方、レシート画像取得部131が取得したレシート画像が不正画像でないと判定された場合、サーバ制御部130は次にステップS24の処理を行う。ステップS24においては、サーバ制御部130の報酬付与部133は、ステップS22でレシート画像取得部131が取得したレシート画像のレシートに記載された情報が報酬付与条件を満たしているか否かを判定する。そして、レシートに記載された情報が報酬付与条件を満たしていない場合、報酬は付与されることなく一連の処理は終了する。
【0083】
一方、レシートに記載された情報が報酬付与条件を満たしている場合、報酬付与部133は、ステップS25の報酬付与処理を行う。そして、続くステップS26において、サーバ記憶部120のレシート画像記憶部121は、報酬付与の対象となったレシート画像を記憶する。ステップS26の処理が完了すれば一連の処理は終了となる。
【0084】
以上のように構成された本実施の形態に係る報酬付与システムでは、既に報酬を付与済みであるレシート画像と比較することで、レシート画像が不正画像であるか否かを判定する。そして、この判定においては、比較するレシート画像のそれぞれのレシートに記載された情報を比較して類似度を算出して用いる。これにより、レシート画像の不正検出精度向上を図ることができる。この際、特に、比較するレシート画像のそれぞれのレシートを2以上の領域に分割し、分割した領域ごとに記載された情報を比較して類似度を算出し、それぞれの領域ごとの類似度を用いることで、レシートに記載された特定の一部の項目のみに依存することなく、レシート画像が不正であるか否かを判定することができ、レシート画像の不正検出精度向上を図ることができる。また、異なる店で発行されたレシートであっても、これらのレシートに共通するフォーマット(例えばヘッダ部分、フッタ部分等)の特徴を活かした不正判定が可能であり、不正判定に用いるレシートの記載項目を事前に設定しなくとも、不正なレシート画像の不正検出精度向上を図ることができる。
【0085】
なお、以上においては、1つのサーバ100に不正画像判定部132と報酬付与部133とを設けた構成例について説明したが、不正画像判定部132と報酬付与部133とは、同一のサーバ100に設けられていなくともよい。すなわち、主にレシート画像が不正か否かの判定を行うサーバと、レシート画像に基づく報酬付与を行うサーバとが別々のサーバであってもよい。この場合、例えば、サーバ100は不正画像判定部132を備える一方で、報酬付与部133を備えていなくともよい。
【0086】
また、レシート画像が不正か否かの判定は、既に報酬を付与済みであるレシート画像との比較によるものでなくともよい。例えば、不正画像判定部132は、レシート画像取得部131が取得したレシート画像を、不正画像判定部132により不正画像でないと既に判定済みであるレシート画像と比較して、レシート画像取得部131が取得したレシート画像が不正画像であるか否かを判定する。この場合、不正画像判定部132により不正画像でないと既に判定済みであるレシート画像は、サーバ記憶部120のレシート画像記憶部121に記憶しておく。そして、不正画像判定部132は、レシート画像取得部131が取得したレシート画像をレシート画像記憶部121に記憶されているレシート画像と比較して、レシート画像取得部131が取得したレシート画像が不正画像であるか否かを判定する。
【0087】
次に、この実施の形態に係る報酬付与システムの変形例について説明する。まず、第1変形例では、不正画像判定部132は、比較するレシート画像のそれぞれのレシートにおいて、一連の文字列が記載された領域を特定する。ここでいう一連の文字列とは、1つの以上の文字が連続してひと固まりになっているものである。例えば、
図7に示すレシートの例では、「○○○ストア」、「XX店」、「電話:00-808-5677」、「2022年4月26日」、「17:34」、「カップラーメン」、「トマトジュース」、「ヤサイジュース」、「¥757」、「7個」等のそれぞれが一連の文字列に該当する。不正画像判定部132は、これらのような一連の文字列が記載された各領域を特定する。
【0088】
次に、不正画像判定部132は、特定した領域のそれぞれに記載された文字列を抽出する。この文字列の抽出は、前述したOCR処理等を用いることで行うことができる。また、不正画像判定部132は、一連の文字列が記載された各領域について、レシートにおける位置を検出する。そして、不正画像判定部132は、抽出した文字列と検出した位置とに基づいて、抽出した文字列を2以上のグループにグループ化する。
【0089】
例えば、不正画像判定部132は、Parsing(構造解析)により、抽出した文字列をグループ化する。構造解析によるグループ化のルールは、人手により予め設定しておいてもよい。この場合、文字列の特徴、例えば、電話番号、日付、時刻を表すフォーマットであるか否かであるとか、価格を表す「¥」記号が含まれるか否か等や、レシートにおける文字列の位置、例えば、レシートの上部にあるとか、下部にあるとか等を活用して構造解析を行う。そして、各文字列を、例えば「items」、「payment info」、「store info」、「price」等のグループに分類すする。この例では、「items」は購入商品を表す文字列が属するグループである。「payment info」は支払い日時を表す文字列が属するグループである。「store info」は購入店舗を表す文字列が属するグループである。そして、「price」は購入価格、購入点数を表す文字列が属するグループである。
【0090】
あるいは、構造解析によるグループ化を、機械学習を用いて行ってもよい。この場合、不正画像判定部132は、機械学習により生成した学習済みモデルにより、抽出した文字列と検出した位置とから当該文字列に付与すべきラベルを推論する。そして、不正画像判定部132は、推論されたラベルに基づいて文字列をグループ化する。換言すれば、不正画像判定部132は、抽出した文字列と検出した位置とから、機械学習により生成した学習済みモデルを用いてグループ化を行う。ここでいうラベルは、前述の「items」、「payment info」、「store info」、「price」等に該当する。
【0091】
学習済みモデルを生成する機械学習のアルゴリズムは既知のものを使用できる。例えば、学習済みモデルとしてニューラルネットワークモデルを採用し、いわゆる教師あり学習により、抽出した文字列と検出した位置とから当該文字列に付与すべきラベルを学習する。他に例えば、いわゆる教師なし学習によりクラスタリングを行う学習済みモデルを生成して用いてもよい。生成された学習済みモデルは、例えば、サーバ記憶部120に予め記憶される。
【0092】
不正画像判定部132は、比較するレシート画像のそれぞれについて抽出した文字列を、グループごとに比較して類似度を算出する。そして、不正画像判定部132は、それぞれのグループごとの類似度を用いて、レシート画像取得部131が取得したレシート画像が不正画像であるか否かを判定する。例えば、不正画像判定部132は、それぞれのグループごとの類似度の最大値又は平均値を、レシート画像同士の類似度とする。そして、レシート画像同士の類似度が予め設定された基準値(例えば90%等)以上の場合、レシート画像取得部131が取得したレシート画像が不正画像であると判定する。
【0093】
グループごとの類似度の算出には、例えば、転置インデックスを用いてもよい。次に、転置インデックスを用いたグループごとの類似度の算出手法について説明する。不正画像判定部132は、それぞれのレシート画像のレシートごとに、当該レシートに含まれている文字列を列挙する。こうして得られるデータは、レシートをキーとして、当該レシートに含まれる文字列を特定可能なものである。そして、このデータにおけるレシートと文字列との関係を転置することで、転置インデックスデータを作成する。このようにして作成された転置インデックスデータは、文字列からレシートを逆引きする、すなわち、文字列をキーとして、当該文字列を含むレシートを特定可能なものである。作成された転置インデックスデータは、例えば、サーバ記憶部120に記憶される。
【0094】
図12に、このような転置インデックスの一例を示す。同図に示す例では、グループとして、「items」、「payment info」、「store info」、「price」が設定されている。そして、「items」グループには、「カップラーメン」、「ヤサイジュース」が属している。「payment info」グループには、「2022年4月26日」、「2021年9月10日」、「12:10:40」、「17:48:05」が属している。「store info」グループには、「○○○ストア」、「△△△ショップ」、「XX店」が属している。「price」グループには、「7個」、「7点」、「¥757」、「¥57」、「1,200円」が属している。
【0095】
同図では、それぞれの文字列について、当該文字列を含むレシートに「1」が記入されもいる。同図に示す例では、レシートAには、「カップラーメン」、「ヤサイジュース」、「2021年9月10日」、「17:48:05」、「○○○ストア」、「XX店」、「7個」、「¥757」、「¥57」の文字列が含まれている。レシートB、Cについても同様に「1」となっている文字列が含まれている。
【0096】
そして、同図に示す例では、レシートAとレシートBとを比較すると、「store info」グループで部分的な一致が見られるものの、他の3つのグループで全く一致していない。よって、レシートBが既に不正でないと判定されたものであり、レシートAが今回の不正判定対象である場合、レシートBとの関係で言えば、レシートAは不正画像でないと判定される。一方、レシートAとレシートCとを比較すると、「payment info」、「store info」及び「price」の3つのグループで、含まれる文字列が完全に一致しており、「items」グループでも一部一致している。よって、レシートCが既に不正でないと判定されたものであり、レシートAが今回の不正判定対象である場合、レシートCとの関係において、不正画像判定部132は、レシートAが不正画像であると判定する。
【0097】
図13に示すのは、このような転置インデックスの別例である。この例では、いわゆるN-gram法を用いて転置インデックスを作成したものである。N-gram法は、文字列をN文字ずつ分解して用いるものである。ここで、Nは1以上の整数である。同図に示す例は、5-gramによるものである。例えば、「ヤサイジュース」という7文字の単語は、「ヤサイジュ」、「サイジュー」及び「イジュース」という5文字の文字列に分解される。
【0098】
図12に示すような単語単位でインデックス化するものでは、例えば各単語の一部分の文字のみが改変された場合等には異なる単語であると判定されるために類似度が低下する傾向がある。これに対し、N-gram法による転置インデックスを用いるものでは、1つの単語の一部分の文字のみが改変された場合に、当該単語の改変されていない部分での一致が類似度に反映される。このため、各単語を部分的に少しずつ改変したような不正画像についても見逃すことなく不正を検出できる。
【0099】
図13に示す例で、レシートDが既に不正でないと判定されたものであり、レシートEが今回の不正判定対象であるとする。同図の例では、購入時刻を表す文字列が、レシートDでは「12:10:40」であるのに対し、レシートEでは「12:10:41」に改変されている。この文字列について5-gramで比較すると、「12:10」、「2:10:」及び「:10:4」についてはレシートD、Eの両者で一致し、「10:40」と「10:41」とについてのみ両者で異なる。このため、「payment info」グループにおいては、両者の類似度が高くなる。そして、改変されていない他のグループについても高い類似度であることから、不正画像判定部132は、レシートDが不正画像であると判定する。
【0100】
このような第1変形例では、比較するレシート画像のそれぞれのレシートに記載された文字列を2以上のグループにグループ化し、グループごとに文字列を比較して類似度を算出し、それぞれのグループごとの類似度を用いてレシート画像が不正であるか否かを判定する。これにより、レシートに記載された特定の一部の項目のみに依存することなく、レシート画像が不正であるか否かを判定することができ、レシート画像の不正検出精度向上を図ることができる。また、異なる店で発行されたレシートであっても、これらのレシートに共通するフォーマット(例えばヘッダ部分、フッタ部分等)の特徴を活かした不正判定が可能であり、不正判定に用いるレシートの記載項目を事前に設定しなくとも、不正なレシート画像の不正検出精度向上を図ることができる。
【0101】
次に、この実施の形態に係る報酬付与システムの第2変形例について説明する。この第2変形例においても、第1変形例と同様に、不正画像判定部132は、比較するレシート画像のそれぞれのレシートにおいて、一連の文字列が記載された領域を特定する。次に、不正画像判定部132は、特定した領域のそれぞれに記載された文字列を抽出する。この文字列の抽出は、前述したOCR処理等を用いることで行うことができる。また、不正画像判定部132は、一連の文字列が記載された各領域について、レシートにおける位置を検出する。ここまでは、前述した第1変形例と同様である。
【0102】
そして、この第2変形例においては、不正画像判定部132は、抽出した文字列と検出した位置とに基づいて、当該レシートの記載内容についての特徴量を推論する。この特徴量の推論には機械学習を用いる。すなわち、不正画像判定部132は、機械学習により生成した学習済みモデルにより、抽出した文字列と検出した位置とから当該レシートの特徴量を推論する。例えば、不正画像判定部132は、抽出した文字列と検出した位置座標とを連結して1つの文字列を得る。そして、こうして得られた連結文字列を学習済みモデルへ入力する。学習済みモデルは、入力に応じて推論した特徴量を出力する。
【0103】
学習済みモデルを生成する機械学習のアルゴリズムは既知のものを使用できる。例えば、学習済みモデルとしてニューラルネットワークモデルを採用し、いわゆる教師あり学習により、抽出した文字列と検出した位置に応じた特徴量を学習する。この特徴量は、例えばn次元の潜在変数である。学習済みモデルを生成する際には、レシートの記載内容同士が類似しているほど、出力される特徴量同士も類似するような学習用データを用いて学習を行う。生成された学習済みモデルは、例えば、サーバ記憶部120に予め記憶される。
【0104】
不正画像判定部132は、比較するレシート画像のそれぞれについて推論した特徴量を比較して類似度を算出する。そして、不正画像判定部132は、算出した類似度を用いて、レシート画像取得部131が取得したレシート画像が不正画像であるか否かを判定する。例えば、特徴量の類似度をレシート画像同士の類似度とする。そして、レシート画像同士の類似度が予め設定された基準値(例えば90%等)以上の場合、レシート画像取得部131が取得したレシート画像が不正画像であると判定する。
【0105】
このような第2変形例では、比較するレシート画像のそれぞれのレシートに記載された文字列とその記載位置とを入力データとして、機械学習により生成した学習済みモデルを用いてレシートの特徴量を推論する。そして、推論された特徴量の類似度を用いて、レシート画像が不正であるか否かを判定する。これにより、レシートに記載された特定の一部の項目のみに依存することなく、レシート画像が不正であるか否かを判定することができ、レシート画像の不正検出精度向上を図ることができる。また、異なる店で発行されたレシートであっても、これらのレシートに共通するフォーマット(例えばヘッダ部分、フッタ部分等)の特徴を活かした不正判定が可能であり、不正判定に用いるレシートの記載項目を事前に設定しなくとも、不正なレシート画像の不正検出精度向上を図ることができる。
【0106】
本開示に係る情報処理装置、情報処理方法及びプログラムは、商品等の購入時に発行されたレシートが撮影されたレシート画像を用いて報酬を付与するための報酬付与システムにおいて、レシート画像の不正を検出するための情報処理装置、情報処理方法及びプログラムとして活用することができる。
【符号の説明】
【0107】
100 サーバ
110 サーバ通信部
111 サーバ送信部
112 サーバ受信部
120 サーバ記憶部
121 レシート画像記憶部
130 サーバ制御部
131 レシート画像取得部
132 不正画像判定部
133 報酬付与部
134 文字抽出部
200 端末
210 端末通信部
211 端末送信部
212 端末受信部
220 端末記憶部
230 端末制御部
240 入出力部
250 表示部
260 マイク
270 スピーカ
280 カメラ
300 ネットワーク
400 報酬付与システム