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

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

▶ 楽天株式会社の特許一覧

特許7591626不正検知システム、不正検知方法、及びプログラム
<>
  • 特許-不正検知システム、不正検知方法、及びプログラム 図1
  • 特許-不正検知システム、不正検知方法、及びプログラム 図2
  • 特許-不正検知システム、不正検知方法、及びプログラム 図3
  • 特許-不正検知システム、不正検知方法、及びプログラム 図4
  • 特許-不正検知システム、不正検知方法、及びプログラム 図5
  • 特許-不正検知システム、不正検知方法、及びプログラム 図6
  • 特許-不正検知システム、不正検知方法、及びプログラム 図7
  • 特許-不正検知システム、不正検知方法、及びプログラム 図8
  • 特許-不正検知システム、不正検知方法、及びプログラム 図9
  • 特許-不正検知システム、不正検知方法、及びプログラム 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2024-11-20
(45)【発行日】2024-11-28
(54)【発明の名称】不正検知システム、不正検知方法、及びプログラム
(51)【国際特許分類】
   G06Q 20/42 20120101AFI20241121BHJP
【FI】
G06Q20/42
【請求項の数】 15
(21)【出願番号】P 2023128576
(22)【出願日】2023-08-07
【審査請求日】2023-08-07
(73)【特許権者】
【識別番号】399037405
【氏名又は名称】楽天グループ株式会社
(74)【代理人】
【識別番号】110000154
【氏名又は名称】弁理士法人はるか国際特許事務所
(72)【発明者】
【氏名】友田 恭輔
【審査官】宮地 匡人
(56)【参考文献】
【文献】米国特許出願公開第2009/0307028(US,A1)
【文献】国際公開第2020/261426(WO,A1)
【文献】特許第7165841(JP,B1)
【文献】特表2021-513169(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00-99/00
(57)【特許請求の範囲】
【請求項1】
第1サービスにおける不正検知の対象となる対象ユーザが利用する第2サービスの第2サービスシステムから、前記対象ユーザによる前記第2サービスの利用状況に関する対象状況データを取得する対象状況データ取得部と、
前記対象状況データと、前記第1サービスにおける不正を検知するための機械学習に関する不正検知モデルであって、当該不正検知モデルの学習のための学習ユーザによる前記第2サービスの利用状況に関する学習状況データと、前記第1サービスにおける当該学習ユーザの不正の有無と、の関係が学習された学習済みの前記不正検知モデルと、に基づいて、前記第1サービスにおける前記対象ユーザの不正を検知する不正検知部と、
前記不正検知部の処理結果に基づいて、所定の処理を実行する処理実行部と、
を含む不正検知システム。
【請求項2】
前記処理実行部は、前記対象ユーザが不正であるか否かに関する処理結果データを前記第1サービスの第1サービスシステムに送信する第1送信処理を、前記所定の処理として実行する、
請求項1に記載の不正検知システム。
【請求項3】
前記対象状況データ取得部は、複数の前記第2サービスの各々の前記第2サービスシステムから、前記対象ユーザによる当該第2サービスの利用状況に関する前記対象状況データを取得し、
前記不正検知部は、前記複数の第2サービスの各々の前記第2サービスシステムから取得された前記対象状況データと、前記不正検知モデルと、に基づいて、前記第1サービスにおける前記対象ユーザの不正を検知する、
請求項1又は2に記載の不正検知システム。
【請求項4】
前記対象状況データ取得部は、前記複数の第2サービスの各々の前記第2サービスシステムから、互いに異なる種類の利用状況に関する前記対象状況データを取得し、
前記不正検知部は、前記複数の第2サービスの各々の前記第2サービスシステムから取得された前記互いに異なる種類の利用状況に関する前記対象状況データと、前記不正検知モデルと、に基づいて、前記第1サービスにおける前記対象ユーザの不正を検知する、
請求項に記載の不正検知システム。
【請求項5】
前記対象状況データ取得部は、前記複数の第2サービスの各々の前記第2サービスシステムから、前記対象ユーザによる当該第2サービスの利用状況に関する数値を示す前記対象状況データを取得し、
前記不正検知部は、
前記複数の第2サービスの各々の前記第2サービスシステムから取得された前記対象状況データが示す前記数値に基づいて、評価値を計算し、
当該計算された評価値と、前記不正検知モデルと、に基づいて、前記第1サービスにおける前記対象ユーザの不正を検知する、
請求項に記載の不正検知システム。
【請求項6】
第1サービスにおける不正検知の対象となる対象ユーザが利用する複数の第2サービスの各々の第2サービスシステムから、前記対象ユーザによる当該第2サービスの利用状況に関する数値を示す対象状況データを取得する対象状況データ取得部と、
前記複数の第2サービスの各々の前記第2サービスシステムから取得された前記対象状況データが示す前記数値の中から、代表値を特定し、当該特定された代表値と、前記第1サービスにおける不正を検知するための不正検知モデルと、に基づいて、前記第1サービスにおける前記対象ユーザの不正を検知する不正検知部と、
前記不正検知部の処理結果に基づいて、所定の処理を実行する処理実行部と、
を含む不正検知システム。
【請求項7】
第1サービスにおける不正検知の対象となる対象ユーザが利用する複数の第2サービスの各々の第2サービスシステムから、前記対象ユーザによる当該第2サービスの利用状況に関する対象状況データを取得する対象状況データ取得部と、
前記複数の第2サービスの各々の前記第2サービスシステムから取得された前記対象状況データと、前記第1サービスにおける不正を検知するための不正検知モデルと、に基づいて、前記第1サービスにおける前記対象ユーザの不正を検知する不正検知部と、
前記不正検知部の処理結果に基づいて、前記複数の第2サービスの中から、前記第1サービスにおける前記対象ユーザの不正の検知で有効な少なくとも1つの前記第2サービスを特定し、当該特定された少なくとも1つの第2サービスに関する有効サービスデータを前記第1サービスの第1サービスシステムに送信する第2送信処理を実行する処理実行部と、
を含む不正検知システム。
【請求項8】
前記不正検知システムは、前記第1サービスシステムを更に含み、
前記第1サービスシステムは、
前記有効サービスデータに基づいて、前記第1サービスシステム独自の不正検知モデルを作成する作成部と、
前記作成部により作成された前記独自の不正検知モデルに基づいて、前記対象ユーザの不正を検知する独自検知部と、
を含む請求項に記載の不正検知システム。
【請求項9】
第1サービスにおける不正検知の対象となる対象ユーザが利用する複数の第2サービスの各々の第2サービスシステムから、前記対象ユーザによる当該第2サービスの利用状況に関する対象状況データを取得する対象状況データ取得部と、
前記複数の第2サービスの各々で不正が発生した場合に、当該不正が発生した順序に関する順序データを取得する順序データ取得部と、
前記複数の第2サービスの各々の前記第2サービスシステムから取得された前記対象状況データと、前記順序データと、前記第1サービスにおける不正を検知するための不正検知モデルと、に基づいて、前記第1サービスにおける前記対象ユーザの不正を検知する不正検知部と、
前記不正検知部の処理結果に基づいて、所定の処理を実行する処理実行部と、
を含む不正検知システム。
【請求項10】
第1サービスにおける不正検知の対象となる対象ユーザが利用する複数の第2サービスの各々の第2サービスシステムから、前記対象ユーザによる当該第2サービスの利用状況に関する対象状況データを取得する対象状況データ取得部と、
前記複数の第2サービスの各々の前記第2サービスシステムから取得された前記対象状況データと、前記第1サービスにおける不正を検知するための不正検知モデルと、に基づいて、前記第1サービスにおける前記対象ユーザの不正を検知する不正検知部と、
前記不正検知部の処理結果に基づいて、前記複数の第2サービスの中から、前記第1サービスにおける前記対象ユーザの不正の検知で有効な少なくとも1つの前記第2サービスを特定し、当該特定された少なくとも1つの第2サービスの前記第2サービスシステムに、前記第1サービスにおいて不正が検知された前記対象ユーザに関する対象ユーザデータを送信する第3送信処理を実行する処理実行部と、
を含む不正検知システム。
【請求項11】
第1サービスにおける不正検知の対象となる対象ユーザが利用する第2サービスの第2サービスシステムから、前記対象ユーザによる前記第2サービスの利用状況に関する複数の項目を含む対象状況データを取得する対象状況データ取得部と、
前記対象状況データと、前記第1サービスにおける不正を検知するための不正検知モデルと、に基づいて、前記第1サービスにおける前記対象ユーザの不正を検知する不正検知部と、
前記不正検知部の処理結果に基づいて、前記複数の項目の中から、前記第1サービスにおける前記対象ユーザの不正の検知で有効な項目を特定し、当該特定された項目に関する項目データを前記第1サービスの第1サービスシステムに送信する第4送信処理を実行する処理実行部と、
を含む不正検知システム。
【請求項12】
前記不正検知システムは、前記第1サービスシステムを更に含み、
前記第1サービスシステムは、
前記項目データに基づいて、前記第1サービスシステム独自の不正検知モデルを作成する作成部と、
前記作成部により作成された前記独自の不正検知モデルに基づいて、前記対象ユーザの不正を検知する独自検知部と、
を含む請求項1に記載の不正検知システム。
【請求項13】
前記第2サービスシステムでは、前記第2サービスで不正が検知された不正ユーザに関するリストが生成され、
前記対象ユーザは、前記リストにないユーザである、
請求項1又は2に記載の不正検知システム。
【請求項14】
コンピュータが、
第1サービスにおける不正検知の対象となる対象ユーザが利用する第2サービスの第2サービスシステムから、前記対象ユーザによる前記第2サービスの利用状況に関する対象状況データを取得する対象状況データ取得ステップと、
前記対象状況データと、前記第1サービスにおける不正を検知するための機械学習に関する不正検知モデルであって、当該不正検知モデルの学習のための学習ユーザによる前記第2サービスの利用状況に関する学習状況データと、前記第1サービスにおける当該学習ユーザの不正の有無と、の関係が学習された学習済みの前記不正検知モデルと、に基づいて、前記第1サービスにおける前記対象ユーザの不正を検知する不正検知ステップと、
前記不正検知ステップの処理結果に基づいて、所定の処理を実行する処理実行ステップと、
実行する不正検知方法。
【請求項15】
第1サービスにおける不正検知の対象となる対象ユーザが利用する第2サービスの第2サービスシステムから、前記対象ユーザによる前記第2サービスの利用状況に関する対象状況データを取得する対象状況データ取得部、
前記対象状況データと、前記第1サービスにおける不正を検知するための機械学習に関する不正検知モデルであって、当該不正検知モデルの学習のための学習ユーザによる前記第2サービスの利用状況に関する学習状況データと、前記第1サービスにおける当該学習ユーザの不正の有無と、の関係が学習された学習済みの前記不正検知モデルと、に基づいて、前記第1サービスにおける前記対象ユーザの不正を検知する不正検知部、
前記不正検知部の処理結果に基づいて、所定の処理を実行する処理実行部、
としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、不正検知システム、不正検知方法、及びプログラムに関する。
【背景技術】
【0002】
従来、所定のサービスにおけるユーザの不正を検知するための技術が知られている。例えば、特許文献1には、所定のサービスに加盟する複数の加盟店の各々のサーバが、自身の加盟店で不正をした不正ユーザに関する不正取引者データベースを共有し、自身が管理する不正取引者データベースだけではなく、他の加盟店のサーバが管理する不正取引者データベースに基づいて、ユーザの不正を検知する技術が記載されている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2016-099913号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1の技術では、複数の加盟店の各々のサーバは、不正取引者データベースに登録されていないユーザの不正を検知することはできない。特許文献1の技術では、複数の加盟店の各々のサーバは、当該加盟店における利用状況に基づいて、不正取引者データベースに登録されていないユーザの不正を検知することしかできなかった。この点は、特許文献1のように不正取引者データベースが共有される技術以外の他の技術でも同様である。従来の技術では、不正検知の精度が十分ではなかった。
【0005】
本開示の目的の1つは、不正検知の精度を高めることである。
【課題を解決するための手段】
【0006】
本開示に係る不正検知システムは、第1サービスにおける不正検知の対象となる対象ユーザが利用する第2サービスの第2サービスシステムから、前記対象ユーザによる前記第2サービスの利用状況に関する対象状況データを取得する対象状況データ取得部と、前記対象状況データと、前記第1サービスにおける不正を検知するための不正検知モデルと、に基づいて、前記第1サービスにおける前記対象ユーザの不正を検知する不正検知部と、前記不正検知部の処理結果に基づいて、所定の処理を実行する処理実行部と、を含む。
【発明の効果】
【0007】
本開示によれば、不正検知の精度を高めることができる。
【図面の簡単な説明】
【0008】
図1】不正検知システムのハードウェア構成の一例を示す図である。
図2】ユーザが第1サービス及び第2サービスの各々を利用する様子の一例を示す図である。
図3】不正検知モデルの入力及び出力の一例を示す図である。
図4】不正検知システムで実現される機能の一例を示す図である。
図5】訓練データベースの一例を示す図である。
図6】処理結果データベースの一例を示す図である。
図7】第1ユーザデータベースの一例を示す図である。
図8】第2ユーザデータベースの一例を示す図である。
図9】不正検知システムで実行される処理の一例を示す図である。
図10】変形例の不正検知システムで実現される機能の一例を示す図である。
【発明を実施するための形態】
【0009】
[1.不正検知システムのハードウェア構成]
本開示に係る不正検知システム、不正検知方法、及びプログラムの実施形態の一例である実施形態を説明する。図1は、不正検知システムのハードウェア構成の一例を示す図である。例えば、不正検知システム1は、インターネット又はLAN等のネットワークNに接続される。ネットワークNには、第1サービスシステム2、第2サービスシステム3、及びユーザ端末40も接続される。
【0010】
不正検知システム1は、第1サービスにおける不正を検知するシステムである。第1サービスは、不正の検知対象となるサービスである。本実施形態では、決済サービスが第1サービスに相当する場合を例に挙げる。決済サービスは、電子決済を代行するサービスである。決済サービスは、任意の決済手段に対応可能である。例えば、決済サービスは、クレジットカード、電子マネー、ポイント、銀行口座、銀行以外の金融機関の口座、金融機関以外の口座、暗号資産、又はその他の決済手段に対応可能である。
【0011】
不正とは、第1サービスの利用規約に違反する行為、法律に違反する行為、官公庁の要請に違反する行為、又はその他の迷惑行為である。不正の検知とは、不正な行為の検知、又は、不正の疑いがある行為の検知(不正の可能性の検知)である。不正の検知は、不正の推定ということもできる。このため、本実施形態で検知と記載した箇所は、推定と読み替えることもできる。例えば、第1サービスが決済サービスであれば、あるユーザが他のユーザの決済手段を利用する行為は、不正に相当する。あるユーザが、自身の決済手段で支払を禁じられている商品又はサービスを購入する行為は、不正に相当する。
【0012】
なお、第1サービスは、任意のサービスであってよい。第1サービスは、決済サービスに限られない。例えば、第1サービスは、電子商取引サービス、金融サービス、通信サービス、動画配信サービス、楽曲配信サービス、SNS、又はその他のサービスであってもよい。不正検知システム1が検知する不正は、第1サービスにおいて発生しうる行為であればよい。例えば、第1サービスが電子商取引サービスであれば、あるユーザが他のユーザになりすまして商品を注文する行為は、不正に相当する。第1サービスが金融サービスであれば、あるユーザが他のユーザになりすまして送金する行為は、不正に相当する。
【0013】
例えば、不正検知システム1は、不正検知サーバ10を含む。不正検知サーバ10は、サーバコンピュータである。不正検知サーバ10は、制御部11、記憶部12、及び通信部13を含む。制御部11は、少なくとも1つのプロセッサを含む。記憶部12は、RAM等の揮発性メモリと、フラッシュメモリ等の不揮発性メモリと、の少なくとも一方を含む。通信部13は、有線通信用の通信インタフェースと、無線通信用の通信インタフェースと、の少なくとも一方を含む。
【0014】
なお、記憶部12に記憶されるプログラムは、ネットワークNを介して、不正検知サーバ10に供給されてもよい。また、コンピュータ読み取り可能な情報記憶媒体に記憶されたプログラムが、情報記憶媒体を読み取る読取部(例えば、光ディスクドライブやメモリカードスロット)、又は、外部機器とデータの入出力をするための入出力部(例えば、USBポート)を介して、不正検知サーバ10に供給されてもよい。
【0015】
また、不正検知システム1は、少なくとも1つのコンピュータを含めばよい。不正検知システム1のハードウェア構成は、図1の例に限られない。例えば、不正検知システム1は、不正検知サーバ10と、他のコンピュータ(例えば、他のサーバコンピュータ又はパーソナルコンピュータ)と、を含んでもよい。不正検知システム1は、第1サービスシステム2、第2サービスシステム3、及びユーザ端末40の少なくとも1つを含んでもよい。
【0016】
第1サービスシステム2は、ユーザに第1サービスを提供するシステムである。例えば、第1サービスシステム2は、第1サービスサーバ20を含む。第1サービスサーバ20は、サーバコンピュータである。第1サービスサーバ20は、制御部21、記憶部22、及び通信部23を含む。制御部21、記憶部22、及び通信部23の物理的構成は、それぞれ制御部11、記憶部12、及び通信部13と同様であってよい。なお、記憶部22に記憶されるプログラムがネットワークN等を介して第1サービスサーバ20に供給されてもよい点と、第1サービスシステム2のハードウェア構成が図1の例に限られない点と、は不正検知システム1と同様である。
【0017】
第2サービスシステム3は、ユーザに第2サービスを提供するシステムである。第2サービスは、第1サービスとは異なる他のサービスである。第2サービスは、第1サービスにおける不正の検知で参考にされる他のサービスである。本実施形態では、電子商取引サービスが第2サービスに相当する場合を例に挙げる。第2サービスは、任意のサービスであってよい。第2サービスは、電子商取引サービスに限られない。第2サービスは、第1サービスで例示したサービスのうち、第1サービスとは異なるサービスであってもよい。第1サービスが第1の決済サービスであり、第2サービスが第2の決済サービスといったように、第1サービス及び第2サービスは、同種のサービスであってもよい。
【0018】
例えば、第2サービスシステム3は、第2サービスサーバ30を含む。第2サービスサーバ30は、サーバコンピュータである。第2サービスサーバ30は、制御部31、記憶部32、及び通信部33を含む。制御部31、記憶部32、及び通信部33の物理的構成は、それぞれ制御部11、記憶部12、及び通信部13と同様であってよい。なお、記憶部32に記憶されるプログラムがネットワークN等を介して第2サービスサーバ30に供給されてもよい点と、第2サービスシステム3のハードウェア構成が図1の例に限られない点と、は不正検知システム1と同様である。
【0019】
ユーザ端末40は、ユーザのコンピュータである。ユーザは、第1サービス及び第2サービスの両方を利用する。例えば、ユーザ端末40は、スマートフォン、タブレット、パーソナルコンピュータ、又はウェアラブル端末である。ユーザ端末40は、制御部41、記憶部42、通信部43、操作部44、及び表示部45を含む。制御部41、記憶部42、及び通信部43の物理的構成は、それぞれ制御部11、記憶部12、及び通信部13と同様であってよい。操作部44は、キーボード又はタッチパネル等の入力デバイスである。表示部45は、液晶又は有機ELのディスプレイである。
【0020】
[2.不正検知システムの概要]
図2は、ユーザが第1サービス及び第2サービスの各々を利用する様子の一例を示す図である。例えば、ユーザは、ユーザ端末40にインストールされた第1アプリAP1の画面SC1から、第1サービスを利用する。第1アプリAP1は、第1サービス用のアプリケーションである。ユーザは、第1アプリAP1以外の他の手段から、第1サービスを利用してもよい。例えば、ユーザは、ユーザ端末40にインストールされたブラウザから、第1サービスを利用してもよい。本実施形態のように、第1サービスが決済サービスであれば、ユーザは、ユーザ端末40のICチップから、第1サービスを利用してもよい。
【0021】
例えば、ユーザは、ユーザ端末40にインストールされた第2アプリAP2の画面SC2から、第2サービスを利用する。第2アプリAP2は、第2サービス用のアプリケーションである。ユーザは、第2アプリAP2以外の他の手段から、第2サービスを利用してもよい。例えば、ユーザは、ユーザ端末40にインストールされたブラウザから、第2サービスを利用してもよい。図2の例では、ユーザは、第1サービスの支払元と同じクレジットカードを利用して、第2サービスで商品を購入している。
【0022】
例えば、ユーザは、特定の端末識別情報のユーザ端末40から、特定のクレジットカードで、第2サービスを利用する。端末識別情報は、ユーザ端末40を識別可能な情報である。例えば、端末識別情報は、ユーザ端末40のシリアル番号(個体識別情報)、SIMカード内のID、IPアドレス、第1サービスシステム2が発行したID、第2サービスシステム3が発行したID、又はその他の情報である。
【0023】
例えば、正当なユーザが第2サービスを繰り返し利用する場合、ユーザ端末40及びクレジットカードの組み合わせは、基本的に、同じであることが多い。更に、正当なユーザは、第1サービスでも、同じ端末識別情報のユーザ端末40から、同じクレジットカードを利用することが多い。このため、第1サービスで利用されようとしているユーザ端末40及びクレジットカードの組み合わせが第2サービスでも利用されていれば、第1サービスで不正が発生しないことが多い。図2の例では、正当なユーザは、同じユーザ端末40及びクレジットカードの組み合わせで、第1サービス及び第2サービスの各々を利用している。
【0024】
一方、悪意のあるユーザが、正当なユーザになりすまして、第1サービスにログインしたとする。更に、悪意のあるユーザは、第2サービスでは、なりすましをしていないものとする。この場合、第1サービスで利用されようとしているクレジットカードは、正当なユーザにより第2サービスで利用されていることがある。しかしながら、第1サービスで利用されようとしているユーザ端末40及びクレジットカードの「組み合わせ」は、第2サービスでは利用されていない。即ち、悪意のあるユーザのユーザ端末40は、第2サービスでは利用されていない。この場合、不正検知サーバ10は、第1サービスにおける不正を検知する。
【0025】
例えば、不正検知サーバ10は、第1サービスシステム2に対し、第1サービスにおける不正が検知されたことを通知する。第1サービスサーバ20は、通知を受信すると、第1サービスで追加の認証を発動させる。追加の認証は、第1サービスへのログイン以外の他の認証である。例えば、追加の認証は、3Dセキュア認証、セキュリティコード認証、第1サービスへのログイン時に利用されるパスワード以外の他のパスワードが利用されるパスワード認証、生体認証、クレジットカードの所持認証、又は他の認証であってよい。悪意のあるユーザは、原則として追加の認証を成功させることができない。
【0026】
例えば、第1サービスが第2サービスのブラックリストを参考にするような技術は、従来から知られている。このような技術では、第2サービスのブラックリストが作成されているので、第2サービスで不正が発生することが前提である。一方で、本実施形態の不正検知システム1は、第2サービスで不正が発生していなかったとしても、第2サービスにおけるユーザ端末40及びクレジットカードの組み合わせを、第1サービスにおける不正の検知の参考にする。
【0027】
なお、第1サービスにおける不正の検知で参考可能な情報は、ユーザ端末40及びクレジットカードの組み合わせに限られない。第2サービスにおける他の利用状況も、第1サービスにおける不正の件の参考になることがある。例えば、あるユーザIDで第2サービスにおける決済額が急激に増加した後に、当該ユーザIDで第1サービスにおける不正が発生する傾向があれば、第2サービスにおける決済額は、第1サービスにおける不正の検知で参考になる。
【0028】
例えば、あるユーザIDで第2サービスにおける配送先が変更された後に、当該ユーザIDで第1サービスにおける不正が発生する傾向があれば、第2サービスにおける配送先は、第2サービスにおける不正の検知で参考になる。あるユーザIDで第2サービスにおけるログイン回数が急激に増加した後に、当該ユーザIDで第1サービスにおける不正が発生する傾向があれば、第2サービスにおけるログイン回数は、第2サービスにおける不正の検知で参考になる。
【0029】
そこで、本実施形態の不正検知サーバ10は、第2サービスにおける利用状況のうち、第1サービスにおける不正の有無と因果関係(相関関係)のある利用状況に基づいて、第1サービスにおける不正を検知する。以降、不正の検知で利用されるプログラムを、不正検知モデルという。詳細は後述するが、本実施形態の不正検知モデルは、機械学習に関するモデルである。例えば、不正検知サーバ10は、第2サービスにおける利用状況と、機械学習に関する不正検知モデルと、に基づいて、第1サービスにおける不正を検知する。
【0030】
図3は、不正検知モデルの入力及び出力の一例を示す図である。図3のように、不正検知モデルMには、第2サービスにおける利用状況に関するデータ(図3の例では、端末識別情報、クレジットカード番号、決済額、及び配送先)が入力される。本実施形態では、不正検知モデルMには、第2サービスだけではなく、第1サービスにおける利用状況に関するデータ(図3の例では、端末識別情報、クレジットカード番号、決済額、及び利用中心地からの距離)も入力されるものとする。
【0031】
例えば、不正検知モデルMには、第1サービス及び第2サービスの各々における利用状況と、第1サービスにおける不正の有無と、の関係が予め学習されている。不正検知モデルMの学習のための処理の詳細は、後述する。学習済みの不正検知モデルMは、自身に入力されたデータの特徴量を計算する。不正検知モデルMは、当該計算された特徴量に応じた出力を行う。本実施形態では、不正検知モデルMは、第1サービスにおける不正の有無を示す値を出力する。
【0032】
以上のように、本実施形態の不正検知システム1は、少なくとも第2サービスの利用状況と、不正検知モデルMと、に基づいて、第1サービスにおける不正を検知する。これにより、不正検知システム1は、第1サービス以外の他のサービスである第2サービスの利用状況を参考にして、第1サービスにおける不正を検知できるようになる。このため、不正検知システム1は、第1サービスにおける不正検知の精度を高めることができる。以降、不正検知システム1の詳細を説明する。
【0033】
[3.不正検知システムで実現される機能]
図4は、不正検知システム1で実現される機能の一例を示す図である。図4では、第1サービスシステム2及び第2サービスシステム3の各々で実現される機能の一例も示されている。
【0034】
[3-1.不正検知サーバで実現される機能]
例えば、不正検知サーバ10は、データ記憶部100、学習部101、対象状況データ取得部102、不正検知部103、及び処理実行部104を含む。データ記憶部100は、記憶部12により実現される。学習部101、対象状況データ取得部102、不正検知部103、及び処理実行部104は、制御部11により実現される。
【0035】
[データ記憶部]
データ記憶部100は、第1サービスにおける不正の検知に必要なデータを記憶する。例えば、データ記憶部100は、学習済みの不正検知モデルM、訓練データベースDB1、及び処理結果データベースDB2を記憶する。
【0036】
本実施形態では、不正検知モデルMは、機械学習に関するモデルである。機械学習の手法は、公知の種々の手法を利用可能である。例えば、不正検知モデルMは、教師有り学習又は半教師有り学習のモデルに限られず、教師無し学習のモデルであってもよい。より具体的には、不正検知モデルMは、ニューラルネットワーク、サポートベクターマシン、ランダムフォレスト、ロジスティック回帰、決定木、又はその他の手法のモデルであってもよい。例えば、不正検知モデルMは、特徴量の計算等を実行するプログラム部分と、プログラム部分によって参照されるパラメータ部分と、を含む。
【0037】
本実施形態では、不正検知モデルMには、当該不正検知モデルMの学習のための学習ユーザによる第2サービスの利用状況に関する学習状況データと、第1サービスにおける当該学習ユーザの不正の有無と、の関係が学習されている。学習によって、パラメータ部分が変更される。学習部101による学習が実行される前には、データ記憶部100は、パラメータ部分が初期値の不正検知モデルMを記憶する。学習部101による学習が完了すると、学習前の不正検知モデルMのパラメータ部分が上書きされる。
【0038】
学習ユーザは、第1サービス及び第2サービスを利用するユーザのうち、不正検知モデルMの学習のために利用状況が参照されるユーザである。学習ユーザは、実在するユーザではなく、不正検知のための仮想的なユーザであってもよい。どのユーザが学習ユーザとして選ばれるかは、不正検知システム1の管理者が指定可能であってもよいし、ランダムに選択されたユーザが学習ユーザに相当してもよい。
【0039】
第2サービスの利用状況とは、第2サービスの利用に応じて更新されるデータである。例えば、第2サービスがどのように利用されているか、又は、第2サービスがどの程度されているか、は第2サービスの利用状況に相当する。第2サービスの利用状況は、静的なデータではなく、動的なデータである。第2サービスの利用状況は、ユーザ端末40から受信したデータに基づいて更新されるデータということもできる。第1サービスの利用状況も、第1サービスのものという点で第2サービスの利用状況とは異なるが、同様の意味である。
【0040】
学習状況データは、第2サービスの利用状況に関する利用状況データのうち、不正検知モデルMの学習で利用される利用状況データである。学習状況データには、第2サービスの利用状況に関する複数の項目のうち、不正の有無との間に因果関係があると思われる少なくとも項目が示される。項目は、データが示す具体的な内容である。どの項目に因果関係があるかは、不正検知システム1の管理者が指定可能であってもよいし、ランダムフォレスト等の手法によって計算される特徴量重要度に基づいて決定されてもよい。
【0041】
図3の例であれば、学習状況データは、学習ユーザが第2サービスで利用したユーザ端末40の端末識別情報、学習ユーザが第2サービスにおける決済で利用したクレジットカードの番号、当該決済の決済額、及び学習ユーザが第2サービスで指定した配送先といった項目の値を示す。図3の例では、不正検知モデルMには、学習ユーザによる第1サービスの利用状況に関する学習状況データも学習される。第1サービスの学習状況データは、第1サービスにおける利用状況に関するデータという点で、第2サービスの学習状況データとは異なるが、他の点については同様である。
【0042】
以降、第1サービスの利用状況に関する学習状況データを、第1学習状況データという。第2サービスの利用状況に関する学習状況データを、第2学習状況データという。図3の例では、第1学習状況データは、一部の項目(例えば、利用中心地からの距離)が第2学習データとは異なる。例えば、第1学習状況データは、学習ユーザが第1サービスで利用したユーザ端末40の端末識別情報、学習ユーザが第1サービスにおける決済で利用したクレジットカードの番号、当該決済の決済額、及び利用中心地からの距離といった項目の値を示す。第1学習状況データに含まれる項目と、第2学習データに含まれる項目と、は同じであってもよい。
【0043】
なお、不正検知モデルMには、学習ユーザに関するデータであって、第1学習状況データ及び第2学習状況データ以外の他のデータが学習されてもよい。例えば、不正検知モデルMには、学習ユーザの利用状況ではなく、デモグラフィックデータ(例えば、性別、年齢、居住地、職業、又はこれらの組み合わせ)のような静的なデータが学習されてもよい。例えば、不正検知モデルMには、第1学習状況データが学習されなくてもよい。不正検知モデルMは、第2学習状況データだけが学習されてもよい。不正検知モデルMには、第1サービスにおける不正の有無と因果関係のあるデータが学習されていればよい。
【0044】
また、不正検知モデルMは、機械学習以外の他の手法のモデルであってもよい。例えば、不正検知モデルMは、機械学習以外の手法で作成されたルールベースのモデルであってもよい。不正検知モデルMは、機械学習の手法のモデルと、ルールベースのモデルと、が組み合わされたモデルであってもよい。他にも例えば、不正検知モデルMは、機械学習及びルールベースとは異なるプログラムであってもよい。不正検知モデルMとして採用可能なモデルは、公知の不正検知で利用されている種々のモデルであってよい。
【0045】
図5は、訓練データベースDB1の一例を示す図である。訓練データベースDB1は、不正検知モデルMに学習させる訓練データが格納されたデータベースである。例えば、訓練データベースDB1には、複数の訓練データが格納される。個々の訓練データは、入力部分と、出力部分と、のペアである。訓練データの入力部分及び出力部分は、原則として、推定時における不正検知モデルMの入力及び出力と同じ形式である。出力部分は、学習時における正解ということもできる。例えば、訓練データは、管理者により手動で作成されてもよいし、何らかの作成ツールが利用されてもよい。
【0046】
例えば、不正検知モデルMの訓練データの入力部分は、少なくとも第2学習状況データを含む。本実施形態では、入力部分は、第1学習状況データ及び第2学習状況データを含む。不正検知モデルMの訓練データの出力部分は、第1サービスにおける不正の有無に関する情報である。本実施形態では、不正検知モデルMの訓練データの出力部分は、不正であるか否かを示すラベルである場合を説明するが、当該出力部分は、不正の疑いを示すスコアであってもよい。
【0047】
例えば、先述した端末識別情報及びクレジットカード番号の組み合わせであれば、第1学習状況データが示す当該組み合わせと、第2学習状況データが示す当該組み合わせと、が同じである訓練データの入力部分には、正当であることを示す出力部分が関連付けられている。第1学習状況データが示す当該組み合わせと、第2学習状況データが示す当該組み合わせと、が異なる訓練データの入力部分には、不正であることを示す出力部分が関連付けられている。
【0048】
なお、訓練データの入力部分は、第1サービスにおける不正の有無と何らかの因果関係があるデータを含めばよい。例えば、第1サービス及び第2サービスの少なくとも一方に登録された学習ユーザのデモグラフィックデータと、第1サービスにおける不正の有無と、の間に因果関係がある場合には、訓練データの入力部分は、当該デモグラフィックデータを含んでもよい。先述したように、第1学習状況データは、不正検知モデルMに学習されなくてもよいので、訓練データの入力部分は、第1学習状況データを含まなくてもよい。
【0049】
例えば、先述した第2サービスにおける決済額の変化であれば、第2学習状況データが示す決済額の変化量が閾値未満である入力部分には、正当であることを示す出力部分が関連付けられている。第2学習状況データが示す決済額の変化量が閾値以上である入力部分には、不正であることを示す出力部分が関連付けられている。他にも例えば、第2学習状況データに配送先の変更が示されていない入力部分には、正当であることを示す出力部分が関連付けられている。第2学習状況データに配送先の変更が示されている入力部分には、不正であることを示す出力部分が関連付けられている。
【0050】
なお、第1学習状況データ及び第2学習状況データの各々が複数の項目を含む場合には、訓練データの入力部分に関連付けられる出力部分は、これら複数の項目が総合的に考慮された値となる。即ち、端末識別情報及びクレジットカード番号の組み合わせといった単一の項目だけではなく、第2サービスにおける決済額の変化等の他の項目が総合的に考慮されて、訓練データの出力部分が定められるものとする。
【0051】
図6は、処理結果データベースDB2の一例を示す図である。処理結果データベースDB2は、不正検知の処理結果に関する各種データが格納されたデータベースである。例えば、処理結果データベースDB2には、対象ユーザのユーザIDと、処理結果データと、が格納される。処理結果データベースDB2には、任意の情報が格納されてよく、処理結果データベースDB2に格納される情報は、図6の例に限られない。例えば、処理結果データベースDB2には、不正検知が実行された日時が格納されてもよい。
【0052】
例えば、ユーザIDは、ユーザが第1サービス及び第2サービスの各々にログインするための情報である。ユーザIDは、ユーザを識別可能なユーザ識別情報の一例である。ユーザ識別情報は、何らかの形でユーザを識別可能な情報であればよい。ユーザ識別情報は、ユーザIDに限られない。例えば、ユーザ識別情報は、メールアドレス、電話番号、又は端末識別情報であってもよい。ユーザ識別情報は、第1サービス及び第2サービスで共通ではなくてもよい。この場合、第1サービスのユーザ識別情報と、第2サービスのユーザ識別情報と、の対応関係が、データ記憶部100に予め定義されているものとする。
【0053】
処理結果データは、不正検知部103の処理結果に関するデータである。本実施形態では、処理結果データは、対象ユーザが不正であるか否かを示す。例えば、処理結果データは、対象ユーザが不正であることを示す値、又は、対象ユーザが不正ではないことを示す値の何れかを示す。処理結果データは、対象ユーザの不正の疑いに関するスコアを示してもよい。スコアは、数値、文字、記号、又はこれらの組み合わせによって表現される。スコアは、対象ユーザが不正であることの蓋然性(確度)ということもできる。
【0054】
なお、データ記憶部100が記憶するデータは、上記の例に限られない。データ記憶部100は、任意のデータを記憶可能である。例えば、データ記憶部100は、第1サービスにおける不正検知に必要なデータを記憶すればよい。データ記憶部100は、不正検知モデルMの学習に必要なプログラムを記憶してもよい。データ記憶部100は、第2サービスにおける不正検知のためのデータを記憶してもよい。
【0055】
[学習部]
学習部101は、訓練データベースDB1に格納された訓練データに基づいて、不正検知モデルMの学習を実行する。不正検知モデルMの学習は、不正検知モデルMのパラメータを調整することである。例えば、学習部101は、訓練データベースDB1に格納された複数の訓練データの全部又は一部を、不正検知モデルMに学習させる。不正検知モデルMの学習自体は、公知の機械学習の手法を利用可能であり、例えば、誤差逆伝播法又は勾配降下法を利用してもよい。不正検知モデルMの学習で用いられる損失関数等も、公知の手法であってよい。学習部101は、訓練データベースDB1に格納された訓練データの入力部分が入力された場合に、当該訓練データの出力部分が出力されるように、不正検知モデルMの学習を実行する。学習部101は、訓練データに基づいて、不正検知モデルMのパラメータ部分を調整する。
【0056】
[対象状況データ取得部]
対象状況データ取得部102は、第1サービスにおける不正検知の対象となる対象ユーザが利用する第2サービスの第2サービスシステム3から、対象ユーザによる第2サービスの利用状況に関する対象状況データを取得する。対象ユーザは、第1サービスの複数のユーザのうちの何れかである。本実施形態では、どのユーザが対象ユーザとして選択されるかは、第1サービスサーバ20により決定されるものとするが、第1サービスの管理者等が手動で対象ユーザを指定してもよい。
【0057】
対象状況データは、第2サービスの利用状況に関する利用状況データのうち、対象ユーザの利用状況データである。以降、第2サービスの対象状況データを、第2対象状況データという。本実施形態では、第1サービスの利用状況に関する利用状況データも不正検知で利用される。以降、対象ユーザの第1サービスの利用状況データを、第1対象状況データという。第1対象状況データ及び第2対象状況データは、それぞれ学習時に利用される第1学習状況データ及び第2学習状況データと同じ形式である。
【0058】
例えば、第1サービスサーバ20は、あるユーザが第1サービスを利用すると、当該ユーザを、対象ユーザとして決定する。第1サービスサーバ20は、不正検知システム1に対し、対象ユーザのユーザIDと、対象ユーザの第1対象状況データと、を送信する。不正検知サーバ10は、第1サービスサーバ20から、対象ユーザのユーザID及び第1対象状況データを受信する。不正検知サーバ10は、第2サービスシステム3に対し、対象ユーザのユーザIDに関連付けられた第2対象状況データを要求する。
【0059】
例えば、第2サービスサーバ30は、不正検知サーバ10からの要求を受け付けると、後述の第2ユーザデータベースDB4に基づいて、対象ユーザのユーザIDに関連付けられた第2対象状況データを取得する。第2サービスサーバ30は、不正検知システム1に対し、対象ユーザのユーザIDに関連付けられた第2対象状況データを送信する。対象状況データ取得部102は、第2サービスサーバ30から、対象ユーザのユーザIDに関連付けられた第2対象状況データを取得する。
【0060】
なお、対象ユーザの決定方法は、予め定められた方法であればよい。対象ユーザの決定方法は、上記の例に限られない。例えば、第1サービスサーバ20は、第1サービスの複数のユーザの中から、対象ユーザをランダムに決定してもよい。第1サービスサーバ20は、第1サービスにおける利用状況が所定の条件(例えば、利用額が閾値以上、又は、利用頻度が閾値以上)を満たしたユーザを、対象ユーザとして決定してもよい。対象ユーザは、第1サービスサーバ20ではなく、不正検知サーバ10、第2サービスサーバ30、又は他のコンピュータによって決定されてもよい。
【0061】
[不正検知部]
不正検知部103は、第2対象状況データと、第1サービスにおける不正を検知するための不正検知モデルMと、に基づいて、第1サービスにおける対象ユーザの不正を検知する。本実施形態では、不正検知モデルMは、機械学習に関するモデルなので、不正検知部103は、第2対象状況データと、学習済みの不正検知モデルMと、に基づいて、第1サービスにおける対象ユーザの不正を検知する。不正検知部103は、不正検知モデルMの出力が不正を示す場合、又は、不正検知モデルMのスコアが閾値以上である場合に、第1サービスにおける対象ユーザの不正を検知する。
【0062】
本実施形態では、第2対象状況データだけではなく、第1対象状況データも不正検知で利用されるので、不正検知部103は、学習済みの不正検知モデルMに対し、第1対象状況データ及び第2対象状況データを入力する。不正検知部103は、第1対象状況データ及び第2対象状況データに対し、集計又は正規化等の前処理を実行したうえで、学習済みの不正検知モデルMに対し、当該前処理が実行された第1対象状況データ及び第2対象状況データを入力してもよい。
【0063】
例えば、不正検知モデルMは、学習によって調整されたパラメータ部分に基づいて、自身に入力された第1対象状況データ及び第2対象状況データの特徴量を計算する。不正検知モデルMは、当該計算された特徴量に基づいて、対象ユーザの不正に関する推定結果を出力する。本実施形態では、不正検知モデルMは、対象ユーザが不正であるか否かを示す推定結果として出力する。推定結果は、対象ユーザが不正であることを示す値、又は、対象ユーザが不正ではないことを示す値の何れかとなる。不正検知モデルMは、対象ユーザの不正に関するスコアを出力してもよい。
【0064】
なお、第1学習状況データ及び第2学習状況データ以外の他のデータが不正検知モデルMに学習されている場合には、不正検知部103は、第1対象状況データ及び第2対象状況データだけではなく当該他のデータも、不正検知モデルMに入力してもよい。当該他のデータも、集計又は正規化等の前処理が実行されてもよい。第2学習状況データだけが不正検知モデルMに学習されている場合には、不正検知部103は、第2対象状況データだけを、不正検知モデルMに入力してもよい。
【0065】
例えば、不正検知モデルMが機械学習以外の手法で作成される場合には、不正検知部103は、機械学習以外の手法で作成された不正検知モデルMに対し、第1学習状況データ及び第2学習状況データを入力すればよい。不正検知モデルMがルールベースのモデルである場合には、不正検知部103は、第1学習状況データ及び第2学習状況データが、不正検知モデルMに定められたルールを満たすか否かを判定する。
【0066】
例えば、不正検知モデルMがルールベースのモデルである場合には、個々のルールには、不正の有無が関連付けられている。不正検知部103は、第1学習状況データ及び第2学習状況データが第1のルールを満たす場合に、対象ユーザが不正であると判定する。不正検知部103は、第1学習状況データ及び第2学習状況データが第2のルールを満たす場合に、対象ユーザが不正ではないと判定する。不正検知モデルMがルールベースのモデルである場合も、不正検知部103は、不正検知モデルMに対し、第1学習状況データ及び第2学習状況データ以外の他のデータを入力してもよい。不正検知部103は、不正検知モデルMに対し、第2学習状況データだけを入力してもよい。
【0067】
[処理実行部]
処理実行部104は、不正検知部103の処理結果に基づいて、所定の処理を実行する。所定の処理は、不正検知部103の処理結果に基づいて実行の要否が決まる処理、又は、不正検知部103の処理結果に関するデータに基づいて実行される処理である。本実施形態では、処理実行部104は、対象ユーザが不正であるか否かに関する処理結果データを第1サービスの第1サービスシステム2に送信する第1送信処理を、所定の処理として実行する。なお、所定の処理は、第1送信処理に限られない。所定の処理の他の例は、後述の変形例で説明する。
【0068】
本実施形態では、処理結果データは、対象ユーザが不正であるか否かを示す。例えば、処理結果データは、対象ユーザが不正であることを示す値、又は、対象ユーザが不正ではないことを示す値の何れかとなる。処理結果データは、対象ユーザの不正に関するスコアを示してもよい。例えば、処理実行部104は、不正検知部103により不正が検知された場合に、第1サービスシステム2に対し、対象ユーザが不正であることを示す処理結果データを送信する。処理実行部104は、不正検知部103により不正が検知されなかった場合に、第1サービスシステム2に対し、対象ユーザが不正ではないことを示す処理結果データを送信する。
【0069】
[3-2.第1サービスシステムで実現される機能]
例えば、第1サービスサーバ20は、データ記憶部200、送信部201、及び受信部202を含む。データ記憶部200は、記憶部22により実現される。送信部201及び受信部202は、制御部21により実現される。
【0070】
[データ記憶部]
データ記憶部200は、第1サービスにおける不正の検知に必要なデータを記憶する。例えば、データ記憶部200は、第1ユーザデータベースDB3を記憶する。
【0071】
図7は、第1ユーザデータベースDB3の一例を示す図である。第1ユーザデータベースDB3は、第1サービスにおけるユーザに関するデータが格納されたデータベースである。例えば、第1ユーザデータベースDB3には、ユーザIDと、第1サービスの利用状況データである第1利用状況データと、が格納される。第1ユーザデータベースDB3には、任意の情報が格納されてよく、第1ユーザデータベースDB3に格納される情報は、図7の例に限られない。例えば、第1ユーザデータベースDB3には、第1利用状況データの生成日時が格納されてもよい。
【0072】
第1利用状況データは、第1対象状況データ又は第1学習状況データの何れとしても利用可能である。例えば、第1サービスサーバ20は、あるユーザが第1サービスを利用すると、当該ユーザによる第1サービスの利用状況に基づいて、当該ユーザの第1利用状況データを生成する。図3の例であれば、第1サービスサーバ20は、ユーザ端末40から受信したデータに基づいて、ユーザ端末40の端末ID、ユーザが利用したクレジットカードの情報、ユーザによる決済額、利用中心地からの距離、又はその他の項目を含む第1利用状況データを生成する。第1サービスサーバ20は、ユーザのユーザIDに関連付けて、当該生成された第1利用状況データを、第1ユーザデータベースDB3に格納する。
【0073】
[送信部]
送信部201は、不正検知システム1に対し、種々のデータを送信する。例えば、送信部201は、不正検知システム1に対し、対象ユーザの第1利用状況データを、第1対象状況データとして送信する。送信部201は、不正検知システム1に対し、学習ユーザの第1利用状況データを、第1学習状況データとして送信する。
【0074】
[受信部]
受信部202は、不正検知システム1から、種々のデータを受信する。例えば、受信部202は、不正検知システム1から、処理結果データを受信する。
【0075】
[3-3.第2サービスシステムで実現される機能]
例えば、第2サービスサーバ30は、データ記憶部300、送信部301、及び受信部302を含む。データ記憶部300は、記憶部32により実現される。送信部301及び受信部302は、制御部31により実現される。
【0076】
[データ記憶部]
データ記憶部300は、第1サービスにおける不正の検知に必要なデータを記憶する。例えば、データ記憶部300は、第2ユーザデータベースDB4を記憶する。
【0077】
図8は、第2ユーザデータベースDB4の一例を示す図である。第2ユーザデータベースDB4は、第2サービスにおけるユーザに関するデータが格納されたデータベースである。例えば、第2ユーザデータベースDB4には、ユーザIDと、第2サービスの利用状況データである第2利用状況データと、が格納される。第2ユーザデータベースDB4には、任意の情報が格納されてよく、第2ユーザデータベースDB4に格納される情報は、図8の例に限られない。例えば、第2ユーザデータベースDB4には、第2利用状況データの生成日時が格納されてもよい。
【0078】
第2利用状況データは、第2対象状況データ又は第2学習状況データの何れとしても利用可能である。例えば、第2サービスサーバ30は、あるユーザが第2サービスを利用すると、当該ユーザによる第2サービスの利用状況に基づいて、当該ユーザの第2利用状況データを生成する。図3の例であれば、第2サービスサーバ30は、ユーザ端末40から受信したデータに基づいて、ユーザ端末40の端末ID、ユーザが利用したクレジットカードの情報、ユーザによる決済額、利用中心地からの距離、又はその他の項目を含む第2利用状況データを生成する。第2サービスサーバ30は、ユーザのユーザIDに関連付けて、当該生成された第2利用状況データを、第2ユーザデータベースDB4に格納する。
【0079】
例えば、第2サービスシステム3では、第2サービスで不正が検知された不正ユーザに関するリストが生成されてもよい。この場合、データ記憶部300は、当該リストを記憶する。当該リストは、ブラックリストと呼ばれることもある。リストの生成方法自体は、公知の方法であってよい。例えば、第2サービスの管理者が不正と認定したユーザのユーザID等の情報がリストに示される。第2サービスシステム3で独自の不正検知が実行される場合には、当該独自の不正検知によって不正と認定されたユーザのユーザID等の情報がリストに示される。対象ユーザは、これらのリストにないユーザであってもよい。対象ユーザは、これらのリストに載っているユーザであってもよい。
【0080】
[送信部]
送信部301は、不正検知システム1に対し、種々のデータを送信する。例えば、送信部301は、不正検知システム1に対し、対象ユーザの第2利用状況データを、第2対象状況データとして送信する。送信部301は、不正検知システム1に対し、学習ユーザの第2利用状況データを、第2学習状況データとして送信する。
【0081】
[受信部]
受信部302は、不正検知システム1から、種々のデータを受信する。例えば、受信部302は、不正検知システム1から、第2対象状況データの要求を受信する。
【0082】
[4.不正検知システムで実行される処理]
図9は、不正検知システム1で実行される処理の一例を示す図である。図9の処理は、制御部11,21,31がそれぞれ記憶部12,22,32に記憶されたプログラムに従って動作することによって実行される。図9のように、不正検知サーバ10は、訓練データベースDB1に格納された訓練データに基づいて、不正検知モデルMの学習を行う(S1)。第1サービスサーバ20は、第1ユーザデータベースDB3に基づいて、不正検知サーバ10に対し、不正検知モデルMに不正の有無を推定させたい対象ユーザのユーザIDと、当該対象ユーザによる第1サービスの利用状況に関する第1対象状況データと、を送信する(S2)。
【0083】
不正検知サーバ10は、第1サービスサーバ20から、対象ユーザのユーザID及び第1対象状況データを受信する(S3)。不正検知サーバ10は、第2サービスサーバ30に対し、対象ユーザのユーザIDに関連付けられた第2対象状況データを要求する(S4)。第2サービスサーバ30は、不正検知サーバ10から要求を受信する(S5)。第2サービスサーバ30は、第2ユーザデータベースDB4に基づいて、不正検知サーバ10に対し、対象ユーザのユーザIDに関連付けられた第2対象状況データを送信する(S6)。
【0084】
不正検知サーバ10は、第2サービスサーバ30から、第2対象状況データを受信する(S7)。不正検知サーバ10は、対象ユーザの第1対象状況データ及び第2対象状況データと、学習済みの不正検知モデルMと、に基づいて、対象ユーザの不正を検知する(S8)。不正検知サーバ10は、S8における処理結果に基づいて、対象ユーザが不正であるか否かに関する処理結果データを送信する(S9)。
【0085】
第1サービスサーバ20は、不正検知サーバ10から、処理結果データを受信する(S10)。第1サービスサーバ20は、処理結果データに基づいて、第1サービスの管理者に対する通知を行い(S11)、本処理は終了する。S11では、第1サービスサーバ20は、任意の手段を利用して、管理者に対する通知を行うことができる。例えば、当該手段は、電子メール、プッシュ通知、管理ツール上の通知、又はその他の手段であってもよい。
【0086】
[5.実施形態のまとめ]
本実施形態の不正検知システム1は、第2サービスシステム3から第2対象状況データを取得する。不正検知システム1は、第2対象状況データと、第1サービスにおける不正を検知するための不正検知モデルMと、に基づいて、第1サービスにおける対象ユーザの不正を検知する。不正検知システム1は、不正検知部103の処理結果に基づいて、所定の処理を実行する。不正検知システム1は、第1サービスにおける対象ユーザの情報では特定できないような不正の傾向を、第2対象状況データによって分析できるので、不正検知の精度を高めることができる。例えば、悪意のある第三者が、第2サービスで利用されていない端末ID及びクレジットカード番号の組み合わせを、第1サービスで利用しようとしたとする。端末ID及びクレジットカード番号の組み合わせが第2対象状況データに示されている場合に、不正検知モデルMは、悪意のある第三者が、第2対象状況データに示されていない端末ID及びクレジットカード番号の組み合わせを利用しようとしていることを特定できる。このため、不正検知システム1は、不正検知の精度を高めることができる。
【0087】
また、不正検知モデルMは、機械学習に関するモデルである。不正検知モデルMには、第2学習状況データと、第1サービスにおける学習ユーザの不正の有無と、の関係が学習されている。不正検知システム1は、第2対象状況データと、学習済みの不正検知モデルMと、に基づいて、第1サービスにおける対象ユーザの不正を検知する。不正検知システム1は、機械学習の不正検知モデルMを利用して、不正検知の精度を高めることができる。例えば、不正検知システム1は、未知のデータが入力された場合にも対応できる。
【0088】
また、不正検知システム1は、対象ユーザが不正であるか否かに関する処理結果データを第1サービスシステム2に送信する第1送信処理を、所定の処理として実行する。不正検知システム1は、第1サービスシステム2に対し、対象ユーザが不正であるか否かを伝えることができる。これにより、不正検知システム1は、第1サービスにおける不正を防止したり、第1サービスで発生した不正を早期に特定したりすることができる。
【0089】
また、第2サービスシステム3では、第2サービスで不正が検知された不正ユーザに関するリストが生成される。対象ユーザは、リストにないユーザである。不正検知システム1は、第2サービスで不正が検知されていない対象ユーザだったとしても、不正を検知できる。
【0090】
[6.変形例]
なお、本開示は、実施形態に限定されない。本開示は、本開示の趣旨を逸脱しない範囲で、適宜変更可能である。
【0091】
図10は、変形例の不正検知システム1で実現される機能の一例を示す図である。例えば、不正検知サーバ10は、順序データ取得部105を含む。順序データ取得部105は、制御部11により実現される。第1サービスサーバ20は、作成部203及び独自検知部204を含む。作成部203及び独自検知部204の各々は、制御部21により実現される。
【0092】
[6-1.変形例1]
例えば、不正検知サーバ10が第1サービスにおける不正検知で参考する第2サービスは、複数存在してもよい。変形例1のネットワークNには、複数の第2サービスシステム3の各々が接続される。個々の第2サービスシステム3のハードウェア構成及び機能は、実施形態と同様であってよい。複数の第2サービスの各々のサービス提供者は、互いに同じであってもよいし、互いに異なってもよい。
【0093】
変形例1では、実施形態と同様、第1サービスのユーザIDと、第2サービスのユーザIDと、が共通である場合を例に挙げる。ある第2サービスのユーザIDと、他の第2サービスのユーザIDと、は互いに異なってもよい。この場合、これらのユーザIDの関係がデータ記憶部100及びデータ記憶部200の少なくとも一方に定義されているものとする。変形例1では、第2サービスの数を2つとする。なお、第2サービスの数は、2つに限られない。第2サービスの数は、3つ以上であってもよい。
【0094】
例えば、1つ目の第2サービスは、実施形態と同様の電子商取引サービスである。1つ目の第2サービスの第2サービスシステム3は、実施形態の第2サービスシステム3と同様である。2つ目の第2サービスの一例として、金融サービスを説明する。例えば、金融サービスは、銀行又は証券会社等の金融機関が提供するサービスである。ユーザは、ユーザ端末40にインストールされた金融アプリ又はブラウザから金融サービスを利用する。金融アプリは、金融機関が提供するアプリケーションである。第2サービスが任意のサービスであってよい点は、実施形態と同様である。
【0095】
複数の第2サービスの各々の第2サービスシステム3は、自身の利用状況に基づいて、自身が管理する第2ユーザデータベースDB4を更新する。個々の第2サービスシステム3が第2利用状況データを更新する処理は、実施形態で説明した通りである。例えば、2つ目の第2サービスの第2サービスシステム3は、ユーザが金融アプリ又はブラウザからオンラインバンキング等を利用すると、第2利用状況データを更新する。例えば、2つ目の第2サービスの第2利用状況データは、ユーザが利用したユーザ端末40の端末ID、決済で利用されたクレジットカード番号、決済額、送金先、利用日時、又はこれらの組み合わせを示す。
【0096】
変形例1の対象状況データ取得部102は、複数の第2サービスの各々の第2サービスシステム3から、対象ユーザによる当該第2サービスの利用状況に関する第2対象状況データを取得する。対象状況データ取得部102が個々の第2サービスシステム3から第2対象状況データを取得する処理は、実施形態と同様である。対象状況データ取得部102は、複数の第2サービスの各々の第2サービスシステム3の各々に対し、対象ユーザの第2対象状況データを要求する。個々の第2サービスサーバ30は、自身の第2ユーザデータベースDB4に基づいて、不正検知システム1に対し、第2対象状況データを送信する。対象状況データ取得部102は、個々の第2サービスシステム3から、第2対象状況データを取得する。
【0097】
変形例1の不正検知モデルMには、複数の第2サービスの各々の第2サービスシステム3の第2学習状況データと、学習ユーザの不正の有無と、の関係が学習されている。変形例1の訓練データの入力部分は、複数の第2サービスの各々の第2サービスシステム3の第2学習状況データを含む。訓練データの入力部分が実施形態とは異なるが、学習部101の処理自体は、実施形態と同様である。即ち、不正検知モデルMの学習方法自体は、実施形態と同様である。
【0098】
変形例1の不正検知部103は、複数の第2サービスの各々の第2サービスシステム3から取得された第2対象状況データと、不正検知モデルMと、に基づいて、第1サービスにおける対象ユーザの不正を検知する。変形例1の不正検知部103は、ある1つの第2サービスシステム3から取得された第2対象状況データだけではなく、複数の第2サービスシステム3の各々から取得された第2対象状況データを、不正検知モデルMに入力する。不正検知モデルMは、学習によって調整されたパラメータ部分に基づいて、複数の第2サービスシステム3の各々から取得された第2対象状況データに基づく特徴量を計算する。不正検知モデルMは、当該計算された特徴量に基づいて、対象ユーザの不正に関する推定結果を出力する。推定結果が出力された後の処理は、実施形態と同様である。
【0099】
変形例1の不正検知システム1は、複数の第2サービスの各々の第2サービスシステム3から、対象ユーザの第2対象状況データを取得する。不正検知システム1は、複数の第2サービスの各々の第2サービスシステム3から取得された第2対象状況データと、不正検知モデルMと、に基づいて、第1サービスにおける対象ユーザの不正を検知する。変形例1の不正検知システム1は、複数の第2サービスの各々における傾向を総合的に考慮して、第1サービスにおける不正を検知できるので、不正検知の精度を、より高めることができる。
【0100】
[6-2.変形例2]
例えば、変形例1において、ある第2サービスシステム3から取得された第2対象状況データに含まれる項目と、他の第2サービスシステム3から取得された第2対象状況データに含まれる項目と、が互いに異なってもよい。変形例2の対象状況データ取得部102は、複数の第2サービスの各々の第2サービスシステム3から、互いに異なる種類の利用状況に関する第2対象状況データを取得する。
【0101】
変形例2では、変形例1と同様、1つ目の第2サービスが電子商取引サービスである場合を例に挙げる。2つ目の第2サービスが金融サービスである場合を例に挙げる。例えば、1つ目の第2サービスの第2対象状況データは、1つ目の第2サービスに特有の項目である配送先を含む。2つ目の第2サービスの第2対象状況データは、2つ目の第2サービスに特有の項目である送金先を含む。1つ目の第2サービスの第2対象状況データと、2つ目の第2サービスの第2対象状況データと、で2つ以上の項目が異なってもよい。
【0102】
変形例2の不正検知部103は、複数の第2サービスの各々の第2サービスシステム3から取得された互いに異なる種類の利用状況に関する第2対象状況データと、不正検知モデルMと、に基づいて、第1サービスにおける対象ユーザの不正を検知する。第2対象状況データに含まれる項目が互いに異なるという点は、変形例1でも多少説明した通りである。複数の第2サービスの各々の第2対象状態データは、全ての項目が異なってもよいし、一部の項目だけが異なってもよい。不正検知部103が実行する処理自体は、変形例1と同様である。
【0103】
なお、変形例2の不正検知モデルMには、互いに異なる種類の利用状況に関する第2学習状況データが学習されている。第2学習状況データに含まれる項目は、原則として第2対象状況データに含まれる項目と同様である。複数の第2サービスの各々の第2学習状態データは、全ての項目が異なってもよいし、一部の項目だけが異なってもよい。不正検知モデルMの学習方法自体は、変形例1と同様である。
【0104】
変形例2の不正検知システム1は、複数の第2サービスの各々の第2サービスシステム3から、互いに異なる種類の利用状況に関する第2対象状況データを取得する。不正検知システム1は、複数の第2サービスの各々の第2サービスシステム3から取得された互いに異なる種類の利用状況に関する第2対象状況データと、不正検知モデルMと、に基づいて、第1サービスにおける対象ユーザの不正を検知する。変形例2の不正検知システム1は、個々の第2サービスに特有の項目を考慮して、第1サービスにおける対象ユーザの不正を検知できるので、不正検知の精度を、より高めることができる。
【0105】
[6-3.変形例3]
例えば、変形例1,2において、第2対象状況データは、決済額のように、数値で示される利用状況を含むことがある。この場合に、複数の第2サービスの各々の当該数値に基づいて、評価値が計算されたうえで、第1サービスにおける不正が検知されてもよい。評価値は、不正検知モデルMが不正を検知するために参照する値である。変形例3では、評価値の一例として合計値を説明するが、評価値は、複数の第2サービスの各々の当該数値を所定の計算式に代入して得られる値であればよい。例えば、評価値は、平均値、分散、標準偏差、又はその他の値であってもよい。
【0106】
変形例3の対象状況データ取得部102は、複数の第2サービスの各々の第2サービスシステム3から、対象ユーザによる当該第2サービスの利用状況に関する数値を示す第2対象状況データを取得する。数値は、任意の利用状況を示してよく、例えば、個々の決済額、平均決済額、決済額の合計値、利用回数、利用頻度、利用時間、又はその他の数値であってよい。第2対象状況データが数値を示すという点は、実施形態及び変形例1,2で多少説明した通りである。対象状況データ取得部102の他の点は、実施形態及び変形例1,2と同様である。
【0107】
変形例3の不正検知モデルMには、第2学習状況データに基づいて計算された評価値と、学習ユーザの不正の有無と、の関係が学習されているものとする。学習部101は、第2学習状況データに基づいて評価値を計算したうえで、不正検知モデルMの学習を行う。評価値は、事前に計算されて訓練データの入力部分に含められてもよい。変形例3の訓練データの入力部分は、複数の第2サービスの各々の第2サービスシステム3の第2学習状況データから計算された評価値を含んでもよい。学習部101の処理自体は、実施形態と同様である。
【0108】
変形例3の不正検知部103は、複数の第2サービスの各々の第2サービスシステム3から取得された第2対象状況データが示す数値に基づいて、評価値を計算する。不正検知部103は、当該計算された評価値と、不正検知モデルMと、に基づいて、第1サービスにおける対象ユーザの不正を検知する。評価値の計算で利用される計算式は、データ記憶部100に予め記憶されているものとする。不正検知部103は、複数の第2サービスの各々の第2サービスシステム3から取得された第2対象状況データが示す数値と、当該計算式と、に基づいて、評価値を計算する。
【0109】
変形例3では、合計値が評価値に相当する場合を例に挙げるので、不正検知部103は、複数の第2サービスの各々の第2サービスシステム3から取得された第2対象状況データが示す数値の合計値を、評価値として計算する。不正検知部103は、当該計算された合計値と、不正検知モデルMと、に基づいて、第1サービスにおける対象ユーザの不正を検知する。例えば、不正検知部103は、当該合計値を不正検知モデルMに入力する。不正検知モデルMは、当該合計値に基づいて特徴量を計算する。不正検知モデルMは、当該計算された特徴量に応じた推定結果を出力する。
【0110】
変形例3の不正検知システム1は、複数の第2サービスの各々の第2サービスシステム3から、対象ユーザによる当該第2サービスの利用状況に関する数値を示す第2対象状況データを取得する。不正検知システム1は、複数の第2サービスの各々の第2サービスシステム3から取得された第2対象状況データが示す数値に基づいて、評価値を計算する。不正検知システム1は、当該計算された評価値と、不正検知モデルMと、に基づいて、第1サービスにおける対象ユーザの不正を検知する。変形例3の不正検知システム1は、複数の第2サービスの各々の利用状況が統合された評価値を考慮することによって、不正検知の精度を、より高めることができる。
【0111】
[6-4.変形例4]
例えば、変形例3では、評価値が計算される場合を例に挙げたが、評価値の計算ではなく、複数の第2サービスの各々の第2対象状況データが示す数値の中から代表値が特定されてもよい。代表値は、不正検知で利用される数値である。変形例4では、最大値が代表値に相当する場合を例に挙げるが、例えば、代表値は、最小値、中間値、又はその他の値であってもよい。なお、変形例4の対象状況データ取得部102の処理は、変形例3と同様である。1つの代表値だけではなく、複数の代表値が特定されてもよい。
【0112】
変形例4の不正検知モデルMには、学習状況データに基づいて特定された代表値と、学習ユーザの不正の有無と、の関係が学習されているものとする。学習部101は、第2学習状況データに基づいて代表値を特定したうえで、不正検知モデルMの学習を行う。代表値は、事前に特定されて訓練データの入力部分に含められてもよい。変形例4の訓練データの入力部分は、複数の第2サービスの各々の第2サービスシステム3の第2学習状況データから特定された代表値を含んでもよい。学習部101の処理自体は、実施形態と同様である。
【0113】
変形例4の不正検知部103は、複数の第2サービスの各々の第2サービスシステム3から取得された第2対象状況データが示す数値の中から、代表値を特定する。不正検知部103は、当該特定された代表値と、不正検知モデルMと、に基づいて、第1サービスにおける対象ユーザの不正を検知する。変形例4では、最大値が代表値に相当する場合を例に挙げるので、不正検知部103は、複数の第2サービスの各々の第2サービスシステム3から取得された第2対象状況データが示す数値の中から最大値を特定する。不正検知部103は、当該特定された最大値と、不正検知モデルMと、に基づいて、第1サービスにおける対象ユーザの不正を検知する。例えば、不正検知部103は、当該最大値を不正検知モデルMに入力する。不正検知モデルMは、当該最大値に基づいて特徴量を計算する。不正検知モデルMは、当該計算された特徴量に応じた推定結果を出力する。
【0114】
変形例4の不正検知システム1は、複数の第2サービスの各々の第2サービスシステム3から、対象ユーザによる当該第2サービスの利用状況に関する数値を示す第2対象状況データを取得する。不正検知システム1は、複数の第2サービスの各々の第2サービスシステム3から取得された第2対象状況データが示す数値の中から、代表値を特定する。不正検知システム1は、当該特定された代表値と、不正検知モデルMと、に基づいて、第1サービスにおける対象ユーザの不正を検知する。変形例4の不正検知システム1は、複数の第2サービスの各々の利用状況のうち、代表的な値に着目することによって、不正検知の精度を、より高めることができる。
【0115】
[6-5.変形例5]
例えば、実施形態では、第1サービスシステム2に処理結果データを送信する第1送信処理が、処理実行部104が実行する所定の処理に相当する場合を例に挙げた。処理実行部104が実行する所定の処理は、不正検知部103の処理結果に基づく処理であればよい。処理実行部104が実行する所定の処理は、実施形態の例に限られない。変形例5では、処理実行部104が実行する所定の処理の他の例を説明する。
【0116】
変形例5の処理実行部104は、不正検知部103の処理結果に基づいて、複数の第2サービスの中から、第1サービスにおける対象ユーザの不正の検知で有効な少なくとも1つの第2サービスを特定する。処理実行部104は、当該特定された少なくとも1つの第2サービスに関する有効サービスデータを第1サービスの第1サービスシステム2に送信する第2送信処理を、所定の処理として実行する。
【0117】
不正の検知で有効とは、不正の有無の推定で重要となることである。機械学習の不正検知モデルMであれば、特徴量重要度が高いことは、不正の検知で有効であることに相当する。特徴量重要度は、機械学習における推定結果に寄与する度合いである。特徴量重要度は、インパクトといった他の名前で呼ばれることもある。機械学習以外の不正検知モデルMであれば、不正と判定されるルールを満たす母数が多いことは、不正の検知で有効であることに相当する。
【0118】
変形例5では、特徴量重要度が高いことが、不正の検知で有効であることに相当する場合を例に挙げる。特徴量重要度の計算方法自体は、公知の方法であってよい。例えば、ランダムフォレスト、順列重要度、SHAP(SHapley Additive exPlanations)、又はその他の方法が利用されてよい。処理実行部104は、これらの方法に基づいて、特徴量重要度を計算する。処理実行部104は、特徴量重要度が相対的に高い第2対象状況データに対応する第2サービスを特定する。例えば、処理実行部104は、特徴量重要度が最も高い第2対象状況データ、特徴量重要度が上位所定数の第2対象状況データ、又は特徴量重要度が閾値以上の第2対象状況データに対応する第2サービスを特定する。
【0119】
有効サービスデータは、不正の検知で有効である第2サービスを識別可能なデータである。例えば、有効サービスデータは、当該第2サービスの名前、第2サービスサーバ30の名前、又はその他のデータであってよい。処理実行部104は、第1サービスシステム2に対し、不正の検知で有効であることが特定された第2サービスを示す有効サービスデータを送信することによって、第2送信処理を実行する。
【0120】
変形例5の第1サービスサーバ20は、不正検知システム1から、有効サービスデータを受信する。第1サービスサーバ20は、有効サービスデータをデータ記憶部200に記録する。有効サービスデータは、任意の用途で利用可能である。例えば、第1サービスサーバ20は、有効サービスデータが示す第2サービスを、第1サービスの管理者に通知する。有効サービスデータの内容は、第1サービスの管理者の端末に表示されてよい。第1サービスの管理者は、当該第2サービスを把握する。第1サービスの管理者は、当該第2サービスの管理者と連絡を取り、互いの不正検知のアルゴリズムを連携する。有効サービスデータは、第1サービスにおける独自の不正検知のアルゴリズムに活用されてもよい。
【0121】
変形例5の不正検知システム1は、不正検知部103の処理結果に基づいて、複数の第2サービスの中から、第1サービスにおける対象ユーザの不正の検知で有効な少なくとも1つの第2サービスを特定する。不正検知システム1は、当該特定された少なくとも1つの第2サービスに関する有効サービスデータを第1サービスの第1サービスシステム2に送信する第2送信処理を、所定の処理として実行する。変形例5の不正検知システム1は、第1サービスシステム2に対し、第1サービスにおける不正の検知で有益な情報を提供できる。
【0122】
[6-6.変形例6]
例えば、変形例5において、第1サービスシステム2は、有効サービスデータに基づいて、独自の不正検知モデルを作成してもよい。独自の不正検知モデルは、不正検知システム1ではなく、第1サービスシステム2自らが不正検知を行うためのモデルである。変形例6では、独自の不正検知モデルが機械学習に関するモデルである場合を例に挙げる。なお、変形例6の不正検知システム1は、第1サービスシステム2を含むものとする。変形例6のデータ記憶部200は、独自の不正検知モデルを記憶する。
【0123】
例えば、機械学習の手法は、公知の種々の手法を利用可能である。例えば、独自の不正検知モデルは、教師有り学習又は半教師有り学習のモデルに限られず、教師無し学習のモデルであってもよい。より具体的には、独自の不正検知モデルは、ニューラルネットワーク、サポートベクターマシン、ランダムフォレスト、ロジスティック回帰、決定木、又はその他の手法のモデルであってもよい。
【0124】
例えば、独自の不正検知モデルは、特徴量の計算等を実行するプログラム部分と、プログラム部分によって参照されるパラメータ部分と、を含む。学習によって、パラメータ部分が変更される。例えば、第1サービスサーバ20又は他のコンピュータが、独自の不正検知モデルの学習を行う。学習が完了すると、学習前の独自の不正検知モデルのパラメータ部分が上書きされる。独自の不正検知モデルには、当該独自の不正検知モデルの学習のための学習ユーザによる第2サービスの利用状況に関する第2学習状況データと、第1サービスにおける当該学習ユーザの不正の有無と、の関係が学習されている。
【0125】
なお、独自の不正検知モデルは、機械学習以外の他の手法のモデルであってもよい。例えば、独自の不正検知モデルは、機械学習以外の手法で作成されたルールベースのモデルであってもよい。独自の不正検知モデルは、機械学習の手法のモデルと、ルールベースのモデルと、が組み合わされたモデルであってもよい。独自の不正検知モデルとして採用可能なモデルは、公知の不正検知で利用されている種々のモデルであってよい。
【0126】
第1サービスシステム2は、作成部203及び独自検知部204を含む。作成部203は、有効サービスデータに基づいて、第1サービスシステム2独自の不正検知モデルを作成する。変形例6のデータ記憶部200は、独自の不正検知モデルの訓練データを記憶する。個々の訓練データは、入力部分と、出力部分と、のペアである。訓練データの入力部分及び出力部分は、原則として、推定時における独自の不正検知モデルの入力及び出力と同じ形式である。出力部分は、学習時における正解ということもできる。例えば、訓練データは、管理者により手動で作成されてもよいし、何らかの作成ツールが利用されてもよい。
【0127】
例えば、独自の不正検知モデルの訓練データの入力部分は、少なくとも第2学習状況データを含む。変形例6では、入力部分は、第1学習状況データ及び第2学習状況データを含む。独自の不正検知モデルの訓練データの出力部分は、第1サービスにおける不正の有無に関する情報である。変形例6では、独自の不正検知モデルの訓練データの出力部分は、不正であるか否かを示すラベルである場合を説明するが、当該出力部分は、不正の疑いを示すスコアであってもよい。
【0128】
例えば、作成部203は、有効サービスデータに基づいて、訓練データの入力部分に含める第2サービスを決定する。作成部203は、複数の第2サービスの中から、有効サービスデータが示す特徴量重要度が最も高い第2サービス、当該特徴量重要度が上位所定順位までの第2サービス、又は当該特徴量重要度が閾値以上の第2サービスの第2学習状況データを、訓練データの入力部分に含める。他の第2サービスの第2学習状況データは、訓練データの入力部分には含まれず、推定時にも利用されない。
【0129】
例えば、作成部203は、訓練データを、独自の不正検知モデルに学習させる。独自の不正検知モデルの学習自体は、公知の機械学習の手法を利用可能であり、例えば、誤差逆伝播法又は勾配降下法を利用してもよい。独自の不正検知モデルの学習で用いられる損失関数等も、公知の手法であってよい。作成部203は、訓練データの入力部分が入力された場合に、当該訓練データの出力部分が出力されるように、独自の不正検知モデルの学習を実行する。
【0130】
変形例6の独自検知部204は、作成部203により作成された独自の不正検知モデルに基づいて、対象ユーザの不正を検知する。変形例6では、独自の不正検知モデルは、機械学習に関するモデルなので、独自検知部204は、第2対象状況データと、学習済みの独自の不正検知モデルと、に基づいて、第1サービスにおける対象ユーザの不正を検知する。独自検知部204は、独自の不正検知モデルの出力が不正を示す場合、又は、独自の不正検知モデルのスコアが閾値以上である場合に、第1サービスにおける対象ユーザの不正を検知する。
【0131】
なお、第1サービスサーバ20は、複数の第2サービスのうち、独自の不正検知モデルによる推定で利用される第2サービスの第2サービスシステム3から、対象ユーザの第2対象状況データを取得すればよい。第1サービスサーバ20が第2対象状況データを取得する流れは、不正検知サーバ10が第2対象状況データを取得する流れと同様であってよい。また、変形例6では、第2対象状況データだけではなく、第1対象状況データも不正検知で利用されるものとする。
【0132】
例えば、独自検知部204は、学習済みの独自の不正検知モデルに対し、第1対象状況データ及び第2対象状況データを入力する。独自検知部204は、第1対象状況データ及び第2対象状況データに対し、集計又は正規化等の前処理を実行したうえで、学習済みの独自の不正検知モデルに対し、当該前処理が実行された第1対象状況データ及び第2対象状況データを入力してもよい。
【0133】
例えば、独自の不正検知モデルは、学習によって調整されたパラメータ部分に基づいて、自身に入力された第1対象状況データ及び第2対象状況データの特徴量を計算する。独自の不正検知モデルは、当該計算された特徴量に基づいて、対象ユーザの不正に関する推定結果を出力する。変形例6では、独自の不正検知モデルは、対象ユーザが不正であるか否かを示す推定結果として出力する。推定結果は、対象ユーザが不正であることを示す値、又は、対象ユーザが不正ではないことを示す値の何れかとなる。独自の不正検知モデルは、対象ユーザの不正に関するスコアを出力してもよい。
【0134】
例えば、第1サービスサーバ20は、独自の不正検知モデルにより不正が検知されたユーザを、第1サービスの管理者に通知する。第1サービスサーバ20は、第1サービスの管理者への通知を要することなく、独自の不正検知モデルにより不正が検知されたユーザによる第1サービスの利用を制限してもよい。独自の不正検知モデルによる不正の検知結果は、任意の用途で利用可能である。
【0135】
変形例6の不正検知システム1は、有効サービスデータに基づいて、第1サービスシステム2独自の不正検知モデルを作成する。不正検知システム1は、独自の不正検知モデルに基づいて、対象ユーザの不正を検知する。変形例6の不正検知システム1は、第1サービスに独自の不正検知モデルを利用することによって、第1サービスにおける不正検知の精度を、より高めることができる。
【0136】
[6-7.変形例7]
例えば、不正を行う不正ユーザは、複数の第2サービスの各々で、所定の順序で不正を行うことがある。ある順序で不正が行われた後に、第1サービスが不正で狙われやすいといった傾向が存在することもある。このため、複数の第2サービスの各々で不正が発生した場合に、不正が発生した順序も考慮されて、不正が検知されてもよい。
【0137】
不正検知システム1は、順序データ取得部105を含む。順序データ取得部105は、複数の第2サービスの各々で不正が発生した場合に、当該不正が発生した順序に関する順序データを取得する。順序データは、不正が発生した第2サービスの順序を示す。不正は、第2サービスの管理者によって検知されるものとする。不正検知システム1は、複数の第2サービスの各々の第2サービスシステム3から、不正が発生したことを示すデータを取得する。順序データ取得部105は、当該データに基づいて、不正が発生した順序を特定して順序データを生成する。
【0138】
変形例7の不正検知部103は、順序データに更に基づいて、第1サービスにおける対象ユーザの不正を検知する。例えば、不正検知部103は、順序データを不正検知モデルMに入力する。変形例7の不正検知モデルMには、順序データと、第1サービスにおける不正の有無と、の関係も学習されているものとする。不正検知モデルMは、順序データに基づいて特徴量を計算する。不正検知モデルMは、当該計算された特徴量に基づいて、第1サービスにおける対象ユーザの不正の有無を推定する。
【0139】
変形例7の不正検知システム1は、複数の第2サービスの各々で不正が発生した場合に、当該不正が発生した順序に関する順序データを取得する。不正検知システム1は、順序データに更に基づいて、第1サービスにおける対象ユーザの不正を検知する。変形例7の不正検知システム1は、複数の第2サービスの各々で発生した不正の順序を更に考慮することによって、不正検知の精度を、より高めることができる。例えば、複数の第2サービスの各々で特定の順序で不正が検知されており、かつ、ある特定の利用状況のユーザが第1サービスで不正を働く傾向にある場合に、不正検知システム1は、第1サービスにおける不正を検知しやすくなる。
【0140】
[6-8.変形例8]
例えば、変形例5では、第1サービスシステム2に有効サービスデータを送信することが、処理実行部104が実行する所定の処理に相当する場合を例に挙げた。変形例8では、処理実行部104が実行する所定の処理の他の例を説明する。変形例8の処理実行部104は、不正検知部103の処理結果に基づいて、複数の第2サービスの中から、第1サービスにおける対象ユーザの不正の検知で有効な少なくとも1つの第2サービスを特定する。この処理は、変形例5と同様である。
【0141】
変形例8の処理実行部104は、上記特定された少なくとも1つの第2サービスの第2サービスシステム3に、第1サービスにおいて不正が検知された対象ユーザに関する対象ユーザデータを送信する第3送信処理を、所定の処理として実行する。変形例8では、対象ユーザのユーザIDが対象ユーザデータに相当する場合を例に挙げるが、対象ユーザデータは、対象ユーザに関する何らかの情報であればよい。例えば、対象ユーザデータは、対象ユーザの第2対象状況データの全部又は一部であってもよいし、対象ユーザの第1対象状況データの全部又は一部であってもよい。対象ユーザデータは、ユーザIDであってもよい。
【0142】
変形例8の第2サービスサーバ30は、不正検知システム1から、対象ユーザデータを受信する。第2サービスサーバ30は、対象ユーザデータをデータ記憶部300に記録する。対象ユーザデータは、任意の用途で利用可能である。例えば、第2サービスサーバ30は、対象ユーザデータの内容を、第2サービスの管理者に通知する。第2サービスの管理者は、当該内容に基づいて、自身の独自の不正検知のアルゴリズムを検討する。
【0143】
変形例8の不正検知システム1は、不正検知部103の処理結果に基づいて、複数の第2サービスの中から、第1サービスにおける対象ユーザの不正の検知で有効な少なくとも1つの第2サービスを特定する。不正検知システム1は、当該特定された少なくとも1つの第2サービスの第2サービスシステムに、第1サービスにおいて不正が検知された対象ユーザに関する対象ユーザデータを送信する第3送信処理を、所定の処理として実行する。変形例8の不正検知システム1は、第2サービスシステム3に対し、第1サービス及び第2サービスの少なくとも一方における不正の検知で有益な情報を提供できる。
【0144】
[6-9.変形例9]
例えば、第2対象状況データは、第2サービスの利用状況に関する複数の項目を含んでもよい。この点は、実施形態の第2対象状況データも同様である。変形例9の処理実行部104は、不正検知部103の処理結果に基づいて、複数の項目の中から、第1サービスにおける対象ユーザの不正の検知で有効な項目を特定する。「不正の検知で有効」の意味は、変形例5で説明した通りである。変形例9では、変形例5と同様に、特徴量重要度が高いことが、不正の検知で有効であることに相当する場合を例に挙げる。
【0145】
変形例9の処理実行部104は、上記特定された項目に関する項目データを第1サービスの第1サービスシステム2に送信する第4送信処理を、所定の処理として実行する。項目データは、不正の検知で有効である項目を識別可能なデータである。例えば、項目データは、当該項目の名前、当該項目のID、又はその他のデータであってよい。処理実行部104は、第1サービスシステム2に対し、不正の検知で有効であることが特定された項目を示す項目データを送信することによって、第4送信処理を実行する。
【0146】
変形例9の第1サービスサーバ20は、不正検知システム1から、項目データを受信する。第1サービスサーバ20は、項目データをデータ記憶部200に記録する。項目データは、任意の用途で利用可能である。例えば、第1サービスサーバ20は、項目データが示す項目を、第1サービスの管理者に通知する。第1サービスの管理者は、当該項目を把握する。第1サービスの管理者は、当該第2サービスの管理者と連絡を取り、互いの不正検知のアルゴリズムを連携する。項目データは、第1サービスにおける独自の不正検知のアルゴリズムに活用されてもよい。
【0147】
変形例9の不正検知システム1は、不正検知部103の処理結果に基づいて、複数の項目の中から、第1サービスにおける対象ユーザの不正の検知で有効な項目を特定する。不正検知システム1は、当該特定された項目に関する項目データを第1サービスシステム2に送信する第4送信処理を、所定の処理として実行する。変形例9の不正検知システム1は、第1サービスシステムに対し、第1サービスにおける不正の検知で有益な情報を提供できる。
【0148】
[6-10.変形例10]
例えば、変形例9において、第1サービスシステム2は、変形例6のようにして、項目データに基づいて、独自の不正検知モデルを作成してもよい。独自の不正検知モデルの意味は、変形例6で説明した通りである。変形例10の不正検知システム1は、第1サービスシステム2を更に含む。第1サービスシステム2は、作成部203及び独自検知部204を含む。
【0149】
変形例10の作成部203は、項目データに基づいて、第1サービスシステム2独自の不正検知モデルを作成する。変形例10の独自の不正検知モデルには、当該独自の不正検知モデルの学習のための学習ユーザによる第2サービスの利用状況に関する第2学習状況データと、第1サービスにおける当該学習ユーザの不正の有無と、の関係が学習されている。変形例10の第2学習状況データには、項目データが示す項目が示されている。
【0150】
変形例10のデータ記憶部200は、独自の不正検知モデルの訓練データを記憶する。例えば、作成部203は、訓練データを、独自の不正検知モデルに学習させる。独自の不正検知モデルの学習自体は、公知の機械学習の手法を利用可能であり、例えば、誤差逆伝播法又は勾配降下法を利用してもよい。独自の不正検知モデルの学習で用いられる損失関数等も、公知の手法であってよい。作成部203は、訓練データの入力部分が入力された場合に、当該訓練データの出力部分が出力されるように、不正検知モデルMの学習を実行する。
【0151】
例えば、作成部203は、項目データに基づいて、訓練データの入力部分に含める第2学習状況データの項目を決定する。作成部203は、複数の項目の中から、項目データが示す特徴量重要度が最も高い項目、当該特徴量重要度が上位所定順位までの項目、又は当該特徴量重要度が閾値以上の項目を含む第2学習状況データを、訓練データの入力部分に含める。他の項目は、訓練データの入力部分には含まれず、推定時にも利用されない。
【0152】
変形例10の独自検知部204は、作成部203により作成された独自の不正検知モデルに基づいて、対象ユーザの不正を検知する。変形例10では、独自の不正検知モデルは、機械学習に関するモデルなので、独自検知部204は、第2対象状況データと、学習済みの独自の不正検知モデルと、に基づいて、第1サービスにおける対象ユーザの不正を検知する。独自検知部204は、独自の不正検知モデルの出力が不正を示す場合、又は、独自の不正検知モデルのスコアが閾値以上である場合に、第1サービスにおける対象ユーザの不正を検知する。
【0153】
変形例10では、第2対象状況データだけではなく、第1対象状況データも不正検知で利用されるものとする。独自検知部204は、学習済みの独自の不正検知モデルに対し、第1対象状況データ及び第2対象状況データを入力する。独自検知部204は、第1対象状況データ及び第2対象状況データに対し、集計又は正規化等の前処理を実行したうえで、学習済みの独自の不正検知モデルに対し、当該前処理が実行された第1対象状況データ及び第2対象状況データを入力してもよい。
【0154】
例えば、独自の不正検知モデルは、学習によって調整されたパラメータ部分に基づいて、自身に入力された第1対象状況データ及び第2対象状況データの特徴量を計算する。独自の不正検知モデルは、当該計算された特徴量に基づいて、対象ユーザの不正に関する推定結果を出力する。変形例10では、独自の不正検知モデルは、対象ユーザが不正であるか否かを示す推定結果として出力する。推定結果は、対象ユーザが不正であることを示す値、又は、対象ユーザが不正ではないことを示す値の何れかとなる。独自の不正検知モデルは、対象ユーザの不正に関するスコアを出力してもよい。
【0155】
例えば、第1サービスサーバ20は、独自の不正検知モデルにより不正が検知されたユーザを、第1サービスの管理者に通知する。第1サービスサーバ20は、第1サービスの管理者への通知を要することなく、独自の不正検知モデルにより不正が検知されたユーザによる第1サービスの利用を制限してもよい。独自の不正検知モデルによる不正の検知結果は、任意の用途で利用可能である。
【0156】
変形例10の不正検知システム1は、項目データに基づいて、第1サービスシステム2独自の不正検知モデルを作成する。不正検知システム1は、独自の不正検知モデルに基づいて、対象ユーザの不正を検知する。変形例10の不正検知システム1は、第1サービスに独自の不正検知モデルを利用することによって、第1サービスにおける不正検知の精度を、より高めることができる。
【0157】
[6-11.その他の変形例]
例えば、上記説明した変形例を組み合わせてもよい。
【0158】
例えば、不正検知サーバ10で実現されるものとして説明した機能は、不正検知システム1における少なくとも1つのコンピュータにより実現されるようにすればよく、複数のコンピュータで機能が分担されてもよい。この場合、複数のコンピュータの各々が、他のコンピュータに対し、自身の処理結果を送信することによって、機能の分担が実現されるようにすればよい。例えば、不正検知サーバ10で実現されるものとして説明した機能は、第1サービスサーバ20及び第2サービスサーバ30の少なくとも一方により実現されてもよい。
【0159】
[7.付記]
例えば、本開示に係る不正検知システムは、下記のような構成も可能である。
(1)
第1サービスにおける不正検知の対象となる対象ユーザが利用する第2サービスの第2サービスシステムから、前記対象ユーザによる前記第2サービスの利用状況に関する対象状況データを取得する対象状況データ取得部と、
前記対象状況データと、前記第1サービスにおける不正を検知するための不正検知モデルと、に基づいて、前記第1サービスにおける前記対象ユーザの不正を検知する不正検知部と、
前記不正検知部の処理結果に基づいて、所定の処理を実行する処理実行部と、
を含む不正検知システム。
(2)
前記不正検知モデルは、機械学習に関するモデルであり、
前記不正検知モデルには、当該不正検知モデルの学習のための学習ユーザによる前記第2サービスの利用状況に関する学習状況データと、前記第1サービスにおける当該学習ユーザの不正の有無と、の関係が学習されており、
前記不正検知部は、前記対象状況データと、学習済みの前記不正検知モデルと、に基づいて、前記第1サービスにおける前記対象ユーザの不正を検知する、
(1)に記載の不正検知システム。
(3)
前記処理実行部は、前記対象ユーザが不正であるか否かに関する処理結果データを前記第1サービスの第1サービスシステムに送信する第1送信処理を、前記所定の処理として実行する、
(1)又は(2)に記載の不正検知システム。
(4)
前記対象状況データ取得部は、複数の前記第2サービスの各々の前記第2サービスシステムから、前記対象ユーザによる当該第2サービスの利用状況に関する前記対象状況データを取得し、
前記不正検知部は、前記複数の第2サービスの各々の前記第2サービスシステムから取得された前記対象状況データと、前記不正検知モデルと、に基づいて、前記第1サービスにおける前記対象ユーザの不正を検知する、
(1)~(3)の何れかに記載の不正検知システム。
(5)
前記対象状況データ取得部は、前記複数の第2サービスの各々の前記第2サービスシステムから、互いに異なる種類の利用状況に関する前記対象状況データを取得し、
前記不正検知部は、前記複数の第2サービスの各々の前記第2サービスシステムから取得された前記互いに異なる種類の利用状況に関する前記対象状況データと、前記不正検知モデルと、に基づいて、前記第1サービスにおける前記対象ユーザの不正を検知する、
(4)に記載の不正検知システム。
(6)
前記対象状況データ取得部は、前記複数の第2サービスの各々の前記第2サービスシステムから、前記対象ユーザによる当該第2サービスの利用状況に関する数値を示す前記対象状況データを取得し、
前記不正検知部は、
前記複数の第2サービスの各々の前記第2サービスシステムから取得された前記対象状況データが示す前記数値に基づいて、評価値を計算し、
当該計算された評価値と、前記不正検知モデルと、に基づいて、前記第1サービスにおける前記対象ユーザの不正を検知する、
(4)又は(5)に記載の不正検知システム。
(7)
前記対象状況データ取得部は、前記複数の第2サービスの各々の前記第2サービスシステムから、前記対象ユーザによる当該第2サービスの利用状況に関する数値を示す前記対象状況データを取得し、
前記不正検知部は、
前記複数の第2サービスの各々の前記第2サービスシステムから取得された前記対象状況データが示す前記数値の中から、代表値を特定し、
当該特定された代表値と、前記不正検知モデルと、に基づいて、前記第1サービスにおける前記対象ユーザの不正を検知する、
(4)~(6)の何れかに記載の不正検知システム。
(8)
前記処理実行部は、
前記不正検知部の処理結果に基づいて、前記複数の第2サービスの中から、前記第1サービスにおける前記対象ユーザの不正の検知で有効な少なくとも1つの前記第2サービスを特定し、
当該特定された少なくとも1つの第2サービスに関する有効サービスデータを前記第1サービスの第1サービスシステムに送信する第2送信処理を、前記所定の処理として実行する、
(4)~(7)の何れかに記載の不正検知システム。
(9)
前記不正検知システムは、前記第1サービスシステムを更に含み、
前記第1サービスシステムは、
前記有効サービスデータに基づいて、前記第1サービスシステム独自の不正検知モデルを作成する作成部と、
前記作成部により作成された前記独自の不正検知モデルに基づいて、前記対象ユーザの不正を検知する独自検知部と、
を含む(8)に記載の不正検知システム。
(10)
前記不正検知システムは、前記複数の第2サービスの各々で不正が発生した場合に、当該不正が発生した順序に関する順序データを取得する順序データ取得部を更に含み、
前記不正検知部は、前記順序データに更に基づいて、前記第1サービスにおける前記対象ユーザの不正を検知する、
(4)~(9)の何れかに記載の不正検知システム。
(11)
前記処理実行部は、
前記不正検知部の処理結果に基づいて、前記複数の第2サービスの中から、前記第1サービスにおける前記対象ユーザの不正の検知で有効な少なくとも1つの前記第2サービスを特定し、
当該特定された少なくとも1つの第2サービスの前記第2サービスシステムに、前記第1サービスにおいて不正が検知された前記対象ユーザに関する対象ユーザデータを送信する第3送信処理を、前記所定の処理として実行する、
(4)~(10)の何れかに記載の不正検知システム。
(12)
前記対象状況データは、前記第2サービスの利用状況に関する複数の項目を含み、
前記処理実行部は、
前記不正検知部の処理結果に基づいて、前記複数の項目の中から、前記第1サービスにおける前記対象ユーザの不正の検知で有効な項目を特定し、
当該特定された項目に関する項目データを前記第1サービスの第1サービスシステムに送信する第4送信処理を、前記所定の処理として実行する、
(1)~(11)の何れかに記載の不正検知システム。
(13)
前記不正検知システムは、前記第1サービスシステムを更に含み、
前記第1サービスシステムは、
前記項目データに基づいて、前記第1サービスシステム独自の不正検知モデルを作成する作成部と、
前記作成部により作成された前記独自の不正検知モデルに基づいて、前記対象ユーザの不正を検知する独自検知部と、
を含む(12)に記載の不正検知システム。
(14)
前記第2サービスシステムでは、前記第2サービスで不正が検知された不正ユーザに関するリストが生成され、
前記対象ユーザは、前記リストにないユーザである、
(1)~(13)の何れかに記載の不正検知システム。
【符号の説明】
【0160】
1 不正検知システム、2 第1サービスシステム、3 第2サービスシステム、10 不正検知サーバ、11,21,31,41 制御部、12,22,32,42 記憶部、13,23,33,43 通信部、20 第1サービスサーバ、30 第2サービスサーバ、40 ユーザ端末、44 操作部、45 表示部、M 不正検知モデル、N ネットワーク、100 データ記憶部、101 学習部、102 対象状況データ取得部、103 不正検知部、104 処理実行部、105 順序データ取得部、200 データ記憶部、201 送信部、202 受信部、203 作成部、204 独自検知部、300 データ記憶部、301 送信部、302 受信部、DB1 訓練データベース、DB2 処理結果データベース、DB3 第1ユーザデータベース、DB4 第2ユーザデータベース。
【要約】
【課題】不正検知の精度を高める。
【解決手段】不正検知システム(1)の対象状況データ取得部(102)は、第1サービスにおける不正検知の対象となる対象ユーザが利用する第2サービスの第2サービスシステム(3)から、対象ユーザによる第2サービスの利用状況に関する対象状況データを取得する。不正検知部(103)は、対象状況データと、第1サービスにおける不正を検知するための不正検知モデル(M)と、に基づいて、第1サービスにおける対象ユーザの不正を検知する。処理実行部(104)は、不正検知部(103)の処理結果に基づいて、所定の処理を実行する。
【選択図】図4
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10