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

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

▶ 日本電気株式会社の特許一覧

特許7472496モデル生成装置、モデル生成方法、及び、記録媒体
<>
  • 特許-モデル生成装置、モデル生成方法、及び、記録媒体 図1
  • 特許-モデル生成装置、モデル生成方法、及び、記録媒体 図2
  • 特許-モデル生成装置、モデル生成方法、及び、記録媒体 図3
  • 特許-モデル生成装置、モデル生成方法、及び、記録媒体 図4
  • 特許-モデル生成装置、モデル生成方法、及び、記録媒体 図5
  • 特許-モデル生成装置、モデル生成方法、及び、記録媒体 図6
  • 特許-モデル生成装置、モデル生成方法、及び、記録媒体 図7
  • 特許-モデル生成装置、モデル生成方法、及び、記録媒体 図8
  • 特許-モデル生成装置、モデル生成方法、及び、記録媒体 図9
  • 特許-モデル生成装置、モデル生成方法、及び、記録媒体 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-04-15
(45)【発行日】2024-04-23
(54)【発明の名称】モデル生成装置、モデル生成方法、及び、記録媒体
(51)【国際特許分類】
   G06Q 40/02 20230101AFI20240416BHJP
   G06Q 20/40 20120101ALI20240416BHJP
【FI】
G06Q40/02
G06Q20/40
【請求項の数】 8
(21)【出願番号】P 2020004309
(22)【出願日】2020-01-15
(65)【公開番号】P2021111261
(43)【公開日】2021-08-02
【審査請求日】2022-12-02
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100107331
【弁理士】
【氏名又は名称】中村 聡延
(74)【代理人】
【識別番号】100104765
【弁理士】
【氏名又は名称】江上 達夫
(74)【代理人】
【識別番号】100131015
【弁理士】
【氏名又は名称】三輪 浩誉
(72)【発明者】
【氏名】杉山 洋平
(72)【発明者】
【氏名】榛澤 祐哉
【審査官】山田 倍司
(56)【参考文献】
【文献】特開2019-101959(JP,A)
【文献】特開2017-091516(JP,A)
【文献】中国特許出願公開第108846405(CN,A)
【文献】中国特許出願公開第109598292(CN,A)
【文献】特開2002-109208(JP,A)
【文献】特開2017-102540(JP,A)
【文献】国際公開第2019/092931(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00-99/00
(57)【特許請求の範囲】
【請求項1】
金融機関における取引データから、不正取引を示すデータを正例とし、当該正例以外のデータを負例とする学習データを生成する学習データ生成部と、
前記正例と前記負例を異なる比率で含む学習データを用いて、複数の不正検知モデルを学習するモデル学習部と、
評価データを用いて、学習済みの前記複数の不正検知モデルを評価するモデル評価部と、
を備え
前記学習データ生成部は、
前記取引データに含まれる負例のデータを取引口座の単位でサンプリングして前記負例の学習データを生成するサンプリング部と、
前記取引データに含まれる前記負例のデータを、取引件数及び取引口座に関する属性情報を用いて、前記取引口座の単位で複数のグループにグループ化するグループ化部と、
を備え、
前記サンプリング部は、前記複数のグループから前記負例のデータを均等にサンプリングするモデル生成装置。
【請求項2】
前記モデル評価部は、前記複数の不正検知モデルのうち、不正取引を検知する精度が最も高いものを最適な不正検知モデルと判定する請求項1に記載のモデル生成装置。
【請求項3】
前記正例と前記負例を異なる比率で含む学習データは、前記正例の数が固定数であり、前記負例の数が異なる学習データである請求項1又は2に記載のモデル生成装置。
【請求項4】
前記サンプリング部は、前記取引口座における所定期間の一連の取引をまとめて1つの負例の学習データとしてサンプリングする請求項に記載のモデル生成装置。
【請求項5】
前記属性情報は、前記取引口座の残高、前記取引口座の名義人の年齢、前記名義人の国籍、前記名義人の職業、前記名義人の年収、前記名義人が個人であるか法人であるかを示す情報、取引数のうちの少なくとも1つを含む請求項に記載のモデル生成装置。
【請求項6】
前記グループ化部は、前記取引件数及び前記属性情報をそれぞれ所定数にクラスタリングすることにより前記複数のグループを生成する請求項又はに記載のモデル生成装置。
【請求項7】
コンピュータにより実行されるモデル生成方法であって、
金融機関における取引データから、不正取引を示すデータを正例とし、当該正例以外のデータを負例とする学習データを生成する学習データ生成処理を行い、
前記正例と前記負例を異なる比率で含む学習データを用いて、複数の不正検知モデルを学習するモデル学習処理を行い、
評価データを用いて、学習済みの前記複数の不正検知モデルを評価するモデル評価処理を行い、
前記学習データ生成処理は、
前記取引データに含まれる負例のデータを取引口座の単位でサンプリングして前記負例の学習データを生成するサンプリング処理と、
前記取引データに含まれる前記負例のデータを、取引件数及び取引口座に関する属性情報を用いて、前記取引口座の単位で複数のグループにグループ化するグループ化処理と、
を行い、
前記サンプリング処理は、前記複数のグループから前記負例のデータを均等にサンプリングするモデル生成方法。
【請求項8】
金融機関における取引データから、不正取引を示すデータを正例とし、当該正例以外のデータを負例とする学習データを生成する学習データ生成処理を行い、
前記正例と前記負例を異なる比率で含む学習データを用いて、複数の不正検知モデルを学習するモデル学習処理を行い、
評価データを用いて、学習済みの前記複数の不正検知モデルを評価するモデル評価処理を行い、
前記学習データ生成処理は、
前記取引データに含まれる負例のデータを取引口座の単位でサンプリングして前記負例の学習データを生成するサンプリング処理と、
前記取引データに含まれる前記負例のデータを、取引件数及び取引口座に関する属性情報を用いて、前記取引口座の単位で複数のグループにグループ化するグループ化処理と、
を行い、
前記サンプリング処理は、前記複数のグループから前記負例のデータを均等にサンプリングする処理をコンピュータに実行させるプログラムを記録した記録媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、金融機関における不正取引を検知するモデルを生成する手法に関する。
【背景技術】
【0002】
金融機関の業務において、不正送金や口座の不正利用といった不正取引を自動で検出できるように、取引データから不正取引を検出する仕組みが各種提案されている。例えば、このような不正取引を検出する方法として、金融機関の業務で発生するトランザクションデータに基づいて、不正取引を検出するモデルを学習する方法が挙げられる。特許文献1は、機械学習を用いて、金銭取引の不正スコアを計算する手法を記載している。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2017-91516号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
現実の金融機関の業務において発生する不正取引の数は少ない。このため、不正取引を検知するモデルを学習する際に使用する学習データにおいて、不正取引のデータと正常取引のデータとの不均衡が生じてしまい、モデルによる不正取引の予測精度を向上させることが難しい。
【0005】
本発明は、学習データにおける不正取引のデータと正常取引のデータとの不均衡を解消し、不正取引を高精度で検知可能なモデルを生成することを主な課題とする。
【課題を解決するための手段】
【0006】
本発明の1つの観点では、モデル生成装置は、
金融機関における取引データから、不正取引を示すデータを正例とし、当該正例以外のデータを負例とする学習データを生成する学習データ生成部と、
前記正例と前記負例を異なる比率で含む学習データを用いて、複数の不正検知モデルを学習するモデル学習部と、
評価データを用いて、学習済みの前記複数の不正検知モデルを評価するモデル評価部と、
を備え
前記学習データ生成部は、
前記取引データに含まれる負例のデータを取引口座の単位でサンプリングして前記負例の学習データを生成するサンプリング部と、
前記取引データに含まれる前記負例のデータを、取引件数及び取引口座に関する属性情報を用いて、前記取引口座の単位で複数のグループにグループ化するグループ化部と、
を備え、
前記サンプリング部は、前記複数のグループから前記負例のデータを均等にサンプリングする
【0007】
本発明の他の観点では、モデル生成方法は、
コンピュータにより実行されるモデル生成方法であって、
金融機関における取引データから、不正取引を示すデータを正例とし、当該正例以外のデータを負例とする学習データを生成する学習データ生成処理を行い、
前記正例と前記負例を異なる比率で含む学習データを用いて、複数の不正検知モデルを学習するモデル学習処理を行い、
評価データを用いて、学習済みの前記複数の不正検知モデルを評価するモデル評価処理を行い、
前記学習データ生成処理は、
前記取引データに含まれる負例のデータを取引口座の単位でサンプリングして前記負例の学習データを生成するサンプリング処理と、
前記取引データに含まれる前記負例のデータを、取引件数及び取引口座に関する属性情報を用いて、前記取引口座の単位で複数のグループにグループ化するグループ化処理と、
を行い、
前記サンプリング処理は、前記複数のグループから前記負例のデータを均等にサンプリングする
【0008】
本発明のさらに他の観点では、記録媒体は、
金融機関における取引データから、不正取引を示すデータを正例とし、当該正例以外のデータを負例とする学習データを生成する学習データ生成処理を行い、
前記正例と前記負例を異なる比率で含む学習データを用いて、複数の不正検知モデルを学習するモデル学習処理を行い、
評価データを用いて、学習済みの前記複数の不正検知モデルを評価するモデル評価処理を行い、
前記学習データ生成処理は、
前記取引データに含まれる負例のデータを取引口座の単位でサンプリングして前記負例の学習データを生成するサンプリング処理と、
前記取引データに含まれる前記負例のデータを、取引件数及び取引口座に関する属性情報を用いて、前記取引口座の単位で複数のグループにグループ化するグループ化処理と、
を行い、
前記サンプリング処理は、前記複数のグループから前記負例のデータを均等にサンプリングする処理をコンピュータに実行させるプログラムを記録する。
【発明の効果】
【0009】
本発明によれば、学習データにおける不正取引のデータと正常取引のデータとの不均衡を解消し、不正取引を高精度で検知可能なモデルを生成することが可能となる。
【図面の簡単な説明】
【0010】
図1】実施形態に係るモデル生成装置の概略構成を示す。
図2】モデル生成装置のハードウェア構成を示す。
図3】学習データ生成部の構成を示す。
図4】金融機関における取引データを不正検知モデルの学習に利用する例を示す。
図5】取引口座のグループ化の例を示す。
図6】取引口座のグループ化の他の例を示す。
図7】学習データ生成処理のフローチャートである。
図8】学習部の構成を示す。
図9】正例と負例の比率を変えて不正検知モデルを学習し、評価した例を示す。
図10】モデル生成処理のフローチャートである。
【発明を実施するための形態】
【0011】
以下、図面を参照して、本発明の好適な実施形態について説明する。
[全体構成]
図1は、本発明の実施形態に係るモデル生成装置100の概略構成を示す。モデル生成装置100は、金融機関における取引データに基づいて、不正取引を検知するためのモデル(以下、「不正検知モデル」と呼ぶ。)を生成する。
【0012】
モデル生成装置100は、取引データ記憶部5と、口座情報記憶部6に接続されている。取引データ記憶部5は、金融機関における過去の取引データを記憶している。具体的に、取引データは、金融機関における口座(以下、「取引口座」とも呼ぶ。)に関連付けられて記憶される。即ち、取引データは、取引口座を利用して行われた各種の金融取引のログデータを含む。金融取引は、例えば入金、出金、振り込み(送金)、振替などを含む。この場合の取引は、金融機関の窓口やATMにおいて行われる取引と、いわゆるインターネット取引の両方を含む。
【0013】
口座情報記憶部6は、取引口座毎の関連情報を記憶している。具体的に、口座情報記憶部6には、取引口座の所有者(以下、「名義人」とも呼ぶ。)についての属性情報、例えば、名義人の年齢、国籍、年収、職業、名義人が個人であるか法人であるかを示す情報、取引数などが記憶されている。なお、取引データ記憶部5及び口座情報記憶部6は、通常は金融機関のデータベースなどにより構成される。
【0014】
[モデル生成装置]
(ハードウェア構成)
図2は、モデル生成装置100のハードウェア構成を示すブロック図である。図示のように、モデル生成装置100は、インタフェース(I/F)101と、プロセッサ102と、メモリ103と、記録媒体104と、データベース(DB)105と、入力部106と、表示部107と、を備える。
【0015】
インタフェース101は、取引データ記憶部5や口座情報記憶部6とのデータの送受信に使用される。プロセッサ102は、CPU(Central Processing Unit)などのコンピュータであり、予め用意されたプログラムを実行することにより、モデル生成装置100を制御する。具体的に、プロセッサ102は後述する学習データ生成処理、及び、モデル生成処理を実行する。
【0016】
メモリ103は、ROM(Read Only Memory)、RAM(Random Access Memory)などにより構成される。また、メモリ103は、プロセッサ102による各種の処理の実行中に作業メモリとしても使用される。
【0017】
記録媒体104は、ディスク状記録媒体、半導体メモリなどの不揮発性で非一時的な記録媒体であり、モデル生成装置100に対して着脱可能に構成される。記録媒体104は、プロセッサ102が実行する各種のプログラムを記録している。モデル生成装置100が各種の処理を実行する際には、記録媒体104に記録されているプログラムがメモリ103にロードされ、プロセッサ102により実行される。データベース105は、インタフェース101を介して入力されたデータを記憶する。
【0018】
入力部106は、キーボード、マウスなどにより構成され、ユーザが指示や所定のデータ入力を行う際に使用される。表示部107は、例えば液晶ディスプレイなどであり、モデル生成装置100が行う処理に関連する情報を表示する。
【0019】
(機能構成)
モデル生成装置100は、機能的には、図1に示すように、学習データ生成部10と、学習データ記憶部20と、学習部30と、を備える。学習データ生成部10は、取引データ記憶部5から取得した取引データと、口座情報記憶部6から取得した口座情報とを用いて、不正検知モデルを学習する際に使用する学習データを生成する。学習データ生成部10は、生成した学習データを学習データ記憶部20に記憶する。学習部30は、学習データ記憶部20に記憶された学習データを用いて、不正検知モデルを学習し、学習済みの不正検知モデルを生成する。
【0020】
(1)学習データ生成部
図3は、学習データ生成部10の構成を示す。まず、学習データ生成部10は、取引データ記憶部5に記憶されている取引データのうち、不正取引を示す正例のデータをそのまま学習データ記憶部20に保存する。具体的には、学習データ生成部10は、取引データ記憶部5に保存されている全ての不正口座の取引データを学習データ記憶部20に保存する。
【0021】
また、学習データ生成部10は、取引データ記憶部5に記憶されている取引データのうち、正常取引を示す負例のデータからサンプリングを行う。図3に示すように、学習データ生成部10は、グループ化部11と、サンプリング部12と、を備える。グループ化部11は、取引データ記憶部5に記憶されている負例の取引データを複数のグループにグループ化する。この際、グループ化部11は、ユーザにより設定されるグループ化条件に従いグループ化を行う。また、グループ化部11は、グループ化の際、口座情報記憶部6から取得した口座情報を使用する。サンプリング部12は、グループ化部11により作られた複数のグループから、取引データをサンプリングする。ここで、サンプリングの必要性について説明する。
【0022】
図4は、金融機関における取引データを不正検知モデルの学習に利用する例を示す。図4において、全体の矩形を全取引データとする。また、不正取引が行われた口座を「不正口座」と呼び、不正取引が行われていない口座を「正常口座」と呼ぶ。不正検知モデルを学習する場合には、不正口座において行われた取引データを正例とし、正常口座において行われた取引を負例データとし、その両方を学習データとして使用する。
【0023】
不正検知モデルの学習に使用するデータとしては、学習データと、評価データが必要になる。学習データはモデルを学習するために使用されるデータであり、評価データは学習により得られたモデルの性能を評価するために使用するデータである。そこで、まず、全取引データのうちの1~2割程度を評価データとし、残りを学習データとする。図4における領域51は負例の学習データとして使用できる正常口座の取引データを示し、領域52は正例の学習データとして使用できる不正口座の取引データを示す。また、領域53は評価データとして使用できる正常口座の取引データを示し、領域54は評価データとして使用できる不正口座の取引データを示す。
【0024】
実際に金融機関において発生する不正取引の数は、全体の取引総数と比較するとかなり少ない。よって、領域52に含まれる全取引データを正例の学習データとして使用し、領域51に含まれる全取引データを負例の学習データとして使用すると、正例と負例のバランスが悪いため、学習により得られる不正検知モデルの精度を十分に上げられない可能性がある。そこで、領域51に含まれる全取引データを使用するのではなく、その一部をサンプリングして負例の学習データとして使用する。言い換えると、領域51に含まれる取引データの一部を除外して負例の学習データの数を調整し、正例の学習データとのバランスをとる。
【0025】
但し、単純に領域51に含まれる負例の学習データの数を減らすと、不正検知モデルの学習に使用される負例の特徴に偏りが生じ、結果的に生成された不正検知モデルの性能が向上しないことが考えられる。このため、領域51に含まれる負例の特徴及びその特徴の分布が崩れないようにサンプリングを行う必要がある。そこで、学習データ生成部10は、領域51に含まれる負例の取引データを、特徴が共通する複数のグループに分類し、各グループから均等に負例の取引データをサンプリングする。具体的には、グループ化部11が負例の取引データを共通の特徴を有する複数のグループに分類し、サンプリング部12が各グループから均等に負例の取引データをサンプリングする。これにより、領域51に含まれる多数の負例の取引データから、様々な特徴を有する負例の取引データを偏りなく抽出することができる。
【0026】
次に、グループ化部11によるグループ化の具体例を説明する。グループ化部11は、ユーザにより設定されるグループ化条件に基づいて負例の取引データをグループ化する。なお、取引データは前述のように取引口座毎に紐づけられているので、グループ化部11は、具体的には、取引データを取引口座単位でをグループ化することになる。グループ化条件としては、取引口座の取引件数と、その取引口座に関する口座情報とが使用される。
【0027】
図5は、グループ化条件として、取引口座の取引件数と、取引口座の名義人の年齢とを使用した場合のグループ化の例を示す。なお、この例では、グループ化条件として、1月の取引件数を「5件以下」、「5~10件」、「10~20件」、「20~30件」、「30件以上」の5つのグループに分類すること、及び、名義人の年齢を「20代」、「30代」、「40代」、「50代」、「60歳以上」の5つのグループに分類することが設定されているものとする。この場合、図5に示すように、取引件数と年齢の組み合わせにより作られる合計25のグループについて、該当する取引口座の番号が分類される。各グループに属する取引口座は、取引件数及び名義人の年齢が同じような取引口座の集合となっており、同じような特徴を有すると推測できる。そこで、サンプリング部12は、25個のグループの各々から、同数又は近い数の取引口座をサンプリングする。これにより、25個のグループの各々が有する特徴を偏りなく抽出することができる。
【0028】
なお、上記の例では、グループ化条件として、取引件数と、口座名義人の年齢とを用いているが、名義人の年齢の代わりに、前述した収入、口座残高などの他の属性情報を用いてもよいし、取引件数と、複数の属性情報とを組み合わせてグループ化してもよい。これらのグループ化条件は、ユーザが決定し、グループ化部11に入力、設定すればよい。
【0029】
図6は、グループ化の他の例を示す。図6の例も、グループ化条件として、取引口座の取引件数と、取引口座の名義人の年齢とを使用している。但し、図4の例では、グループ化する際の個々のグループの条件、即ち、1月の取引件数を「5件以下」、「5~10件」などの5つのグループに分類すること、及び、名義人の年齢を「20代」、「30代」などの5つのグループに分類することを指定している。その代わりに、図6の例では、取引件数と名義人の年齢のそれぞれについて、ユーザはグループ数のみを指定し、クラスタリングによりグループを作成する。具体的に、図6の例では、グループ化条件として、取引件数及び名義人の年齢をそれぞれ3グループに分類することを指定している。この場合、グループ化部11は、取引件数及び名義人の年齢をそれぞれ3つのグループ(クラスタ)に分類するようにクラスタリングを行う。図6の例では、取引件数についてのクラスタリングで取引件数がそれぞれ「小数」、「中程度」、「多数」である3つのグループが得られ、名義人の年齢についてのクラスタリングで年齢が「低年齢層」、「中年齢層」、「高年齢層」である3つのグループが得られている。なお、図6の例では、説明の便宜上、各グループに「小数」、「多数」などのグループ名を付与しているが、実際にはグループ名を付与することは必須ではない。このように、クラスタリングの手法を用いると、グループ化条件として、上記の「20代」、「30代」など、個々のグループの詳細な条件を指定する必要がなくなる。
【0030】
グループ化部11では、ニューラルネットワークなどの機械学習を用いることもできる。機械学習によるグループ化では、機械学習から得られた結果に基づきデータ特性が似たデータをグルーピングする。
【0031】
こうして、グループ化部11により取引データに含まれる取引口座がグループ化されると、その結果を用いてサンプリング部12が負例の取引データのサンプリングを行う。ここで、サンプリング部12は、基本的にグループ化により得られた複数のグループから均等に取引口座をサンプリングし、その取引データを取得する。典型的な例では、サンプリング部12は、各グループから同数の取引口座の取引データをサンプリングする。グループ化により作成された各グループの取引口座は基本的に同様又は類似の特徴を有すると考えられるので、各グループから均等な数の取引口座をサンプリングすることにより、取引データの全体に含まれる複数の特徴を偏りなく抽出することができる。なお、各グループからサンプリングする取引口座の数は必ずしも同数には限られず、各グループに属する取引口座の数などに応じて多少調整してもよい。そして、サンプリング部12は、サンプリングした口座の取引データを負例の学習データとして学習データ記憶部20に保存する。
【0032】
なお、取引データ記憶部5に記憶されている各取引データには、正解データが予め付与されている。具体的に、正例の取引データに対してはそれが正例であることを示すフラグなどが正解データとして付与されており、負例の取引データに対してはそれが負例であることを示すフラグなどが正解データとして付与されている。よって、学習データ記憶部20には、既に正解データが付与されている取引データが保存される。なお、取引データ記憶部5に正例、負例のフラグを記憶する代わりに、口座情報記憶部6に記憶される取引履歴などに、その取引が正例であるか負例であるかを示すフラグなどを記憶してもよい。また、各取引データが正例であるか負例であるかを示す情報を、取引データや口座情報とは別の情報として記憶しておき、学習データ記憶部20に保存された各取引データに対してその情報を取得してもよい。こうして、学習データ記憶部20に記憶された学習データは、正解データが付与された状態となっている。
【0033】
図7は、学習データ生成部10による学習データ生成処理のフローチャートである。この処理は、図2に示すプロセッサ102が予め用意されたプログラムを実行し、学習データ生成部10として動作することにより行われる。
【0034】
まず、学習データ生成部10は、取引データ記憶部5に記憶されている取引データのうち、正例の取引データを取得し、学習データ記憶部20に保存する(ステップS10)。次に、グループ化部11は、グループ化条件を取得する(ステップS11)。具体的には、ユーザが入力部106を操作してグループ化条件を入力する。もしくは、ユーザが予め設定したグループ化条件のデータをデータベース105などに記憶しておき、グループ化部11がそれを読み込んでもよい。次に、グループ化部11は、取引データ記憶部5から負例の取引データを取得し、口座情報記憶部6から口座情報を取得する(ステップS12)。次に、グループ化部11は、ステップS11で取得したグループ化条件に従って、負例の取引データを取引口座単位でグループ化する(ステップS13)。
【0035】
次に、サンプリング部12は、グループ化により得られた複数のグループから均等に取引口座をサンプリングし(ステップS14)、サンプリングした取引口座の取引データを負例の学習データとして学習データ記憶部20に保存する(ステップS15)。こうして、負例の取引データの一部が学習データとして抽出される。そして、学習データ生成処理は終了する。
【0036】
(2)学習部
次に、学習部30について詳しく説明する。図8は、学習部30の構成を示すブロック図である。学習部30は、学習データ取得部31と、不正取引検出部32と、モデル学習部33と、モデル記憶部34と、不正取引検出部35と、モデル評価部36と、を備える。
【0037】
学習部30においては、まず、不正取引検出モデルの学習が行われる。学習データ取得部31は、学習データ記憶部20から学習データを取得する。具体的に、学習データ取得部31は、不正取引を示す不正口座の取引データを正例のデータとして取得し、正常取引を示す正常口座の取引データを負例のデータとして取得する。なお、学習データ取得部31は、不正口座及び正常口座の取引データから、所定期間の一連の取引データを取得する。所定期間とは、例えば1週間、2週間、1か月などの期間であり、ユーザにより予め決定される。所定期間の一連の取引データを取得する理由は、同一口座における一連の取引を考察することが不正取引を判定する上で重要だからである。即ち、単発の取引のみではなく、その前後の一連の取引を見ることにより、不正取引を発見しやすくなるからである。学習データ取得部31は、取得した学習データを不正取引検出部32に出力する。
【0038】
不正取引検出部32は、不正取引検出モデルを用いて取引データから不正取引を検出する。モデル記憶部34には未学習の不正取引検出モデルが記憶されており、モデル記憶部34から不正取引検出部32に未学習の不正取引検出モデルが読み込まれる。不正取引検出部32は、不正取引検出モデルを用いて、正例及び負例の学習データから不正取引を検出してモデル学習部33に出力する。
【0039】
モデル学習部33は、学習データ記憶部20から、各学習データに対する正解データを取得する。正解データは、正例の取引データについてそれが不正取引であること示し、負例の取引データについてそれが正常取引であることを示すデータである。そして、モデル学習部33は、不正取引検出部32から入力された不正取引の検出結果と、学習データ記憶部20から取得した正解データとを比較し、その誤差に基づいて不正取引検出部32内の不正取引検出モデルを最適化する。不正取引検出部32による不正取引の検出と、モデル学習部33による不正取引検出モデルの最適化は、所定の条件が具備されるまで、例えば用意された全ての学習データを使用するまで繰り返される。そして、所定の条件が具備されると、モデル学習部33は学習を終了し、そのときの不正取引検出モデルが学習済みモデルとしてモデル記憶部34に保存される。こうして、不正取引検出モデルの学習が終了する。
【0040】
次に、学習済みの不正取引検出モデルの評価が行われる。不正取引検出部35には、モデル記憶部34に保存されている学習済みの不正取引検出モデルが読み込まれる。また、不正取引検出部35には、評価データが入力される。評価データは、図4に示すように実際の取引データの一部であり、不正口座についての正例のデータと、正常口座についての負例のデータとを含む。不正取引検出部35は、学習済みの不正取引検出モデルを用いて評価データが不正取引に該当するか否かを判定し、その結果をモデル評価部36に出力する。モデル評価部36は、予め決められた評価方法で、不正取引検出部35の判定結果を評価する。これにより、学習済みの不正取引検出モデルの精度を評価することができる。
【0041】
学習部30の基本的な動作は以上であるが、学習処理により得られる不正取引検出モデルの精度は、学習に使用する正例と負例の比率により影響を受ける。そこで、本実施形態では、学習に使用する正例と負例の比率を変えて複数の学習済みモデルを生成し、それらを評価して最適なモデルを決定する。
【0042】
前述のように、実際の金融機関において発生する不正取引の数は少ないため、正例の数には限りがある。そこで、正例の数を固定数とし、負例の数を異なる数に変えて複数の不正取引検出モデルを生成し、それらの性能を評価する。図9は、正例と負例の比率を変えて不正検知モデルを学習し、それらを評価した例を示す。この例では、正例と負例の比率を、1:1、1:3、1:5、1:10の4通りとし、それぞれ不正検知モデルを生成した。具体的に、正例と負例の比率が1:1の場合、学習データに含まれる固定数の正例に対し、負例をそれと同数として学習を行った。また、正例と負例の比率が1:3の場合、学習データに含まれる固定数の正例に対し、負例の数を正例の数の3倍として学習を行った。同様に、正例と負例の比率が1:5及び1:10の場合、学習データに含まれる固定数の正例に対し、負例の数をそれぞれ正例の数の5倍及び10倍として学習を行った。図9の例では、モデル評価部36による評価結果として、取引データ100件当たりの正解率を用いているが、評価方法はこれには限られず、例えば精度を示す評価指数などを用いてもよい。図9の例では、正例と負例の比率が1:2である場合に最も高い精度が得られている。よって、モデル評価部36は、正例と負例の比率を1:2として生成した不正取引検知モデルを最適モデルと決定する。
【0043】
このように、学習データに含まれる正例と負例の比率を変えて複数のモデルを生成し、その中から最適なモデルを選択することにより、より精度の高い不正検知モデルを得ることが可能となる。なお、正例と負例の最適な比率は基本的にモデル毎に異なると考えられるので、モデル毎に最適な比率を決定することが望ましい。一言で不正取引検知モデルと言っても、その手法は様々である。例えば、不正取引検出モデルとして、個人の取引口座用と法人の取引口座用に異なるモデルを使用することも考えられる。また、不正取引にもいくつかの種類があり、取引の種類毎に異なるモデルが使用される場合がある。例えば、同じ不正送金を検出するモデルであっても、例えば国内送金用と海外送金用で異なるモデルを使用することも考えられる。よって、実際に使用するモデル毎に正例と負例の比率を変えてモデルの評価を行い、適切なモデルを決定することが好ましい。
【0044】
図10は、学習部30によるモデル生成処理のフローチャートである。この処理は、図2に示すプロセッサ102が予め用意されたプログラムを実行し、学習部30として動作することにより実現される。
【0045】
まず、学習部30は、正例と負例の複数の比率のうちの1つ(例えば1:1)を設定し(ステップS21)、学習部30は、学習データ記憶部20からその比率に応じた数の正例及び負例の学習データを取得する。次に、学習部30は、取得した学習データを用いて不正取引検出モデルを学習し(ステップS22)、学習済みモデルを評価する(ステップS23)。評価結果は一時的に保存される。
【0046】
次に、学習部30は、全ての比率について処理が終了したか否かを判定する(ステップS24)。全ての比率について処理が終了していない場合(ステップS24:No)、処理はステップS21へ戻り、学習部30は次の比率(例えば1:2)を設定し、ステップS21~S23を繰り返す。こうして、全ての比率について処理が終了すると(ステップS24:Yes)、学習部30は各比率に対応するモデルの評価結果に基づいて最適なモデルを決定し(ステップS25)、処理を終了する。
【0047】
その他、上記の各実施形態(変形例を含む、以下同じ)の一部又は全部は、以下の付記のようにも記載され得るが以下には限られない。
【0048】
(付記1)
金融機関における取引データから、不正取引を示すデータを正例とし、当該正例以外のデータを負例とする学習データを生成する学習データ生成部と、
前記正例と前記負例を異なる比率で含む学習データを用いて、複数の不正検知モデルを学習するモデル学習部と、
評価データを用いて、学習済みの前記複数の不正検知モデルを評価するモデル評価部と、
を備えるモデル生成装置。
【0049】
(付記2)
前記モデル評価部は、前記複数の不正検知モデルのうち、不正取引を検知する精度が最も高いものを最適な不正検知モデルと判定する付記1に記載のモデル生成装置。
【0050】
(付記3)
前記正例と前記負例を異なる比率で含む学習データは、前記正例の数が固定数であり、前記負例の数が異なる学習データである付記1又は2に記載のモデル生成装置。
【0051】
(付記4)
前記学習データ生成部は、前記取引データに含まれる負例のデータを取引口座の単位でサンプリングして前記負例の学習データを生成するサンプリング部を備える付記1に記載のモデル生成装置。
【0052】
(付記5)
前記サンプリング部は、前記取引口座における所定期間の一連の取引をまとめて1つの負例の学習データとしてサンプリングする付記4に記載のモデル生成装置。
【0053】
(付記6)
前記学習データ生成部は、前記取引データに含まれる前記負例のデータを、取引件数及び取引口座に関する属性情報を用いて、前記取引口座の単位で複数のグループにグループ化するグループ化部を備え、
前記サンプリング部は、前記複数のグループから前記負例のデータを均等にサンプリングする付記4又は5に記載のモデル生成装置。
【0054】
(付記7)
前記属性情報は、前記取引口座の残高、前記取引口座の名義人の年齢、前記名義人の国籍、前記名義人の職業、前記名義人の年収、前記名義人が個人であるか法人であるかを示す情報、取引数のうちの少なくとも1つを含む付記6に記載のモデル生成装置。
【0055】
(付記8)
前記グループ化部は、前記取引件数及び前記属性情報をそれぞれ所定数にクラスタリングすることにより前記複数のグループを生成する付記6又は7に記載のモデル生成装置。
【0056】
(付記9)
金融機関における取引データから、不正取引を示すデータを正例とし、当該正例以外のデータを負例とする学習データを生成し、
前記正例と前記負例を異なる比率で含む学習データを用いて、複数の不正検知モデルを学習し、
評価データを用いて、学習済みの前記複数の不正検知モデルを評価するモデル生成方法。
【0057】
(付記10)
金融機関における取引データから、不正取引を示すデータを正例とし、当該正例以外のデータを負例とする学習データを生成し、
前記正例と前記負例を異なる比率で含む学習データを用いて、複数の不正検知モデルを学習し、
評価データを用いて、学習済みの前記複数の不正検知モデルを評価する処理をコンピュータに実行させるプログラムを記録した記録媒体。
【0058】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。すなわち、本願発明は、請求の範囲を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。また、引用した上記の特許文献等の各開示は、本書に引用をもって繰り込むものとする。
【符号の説明】
【0059】
5 取引データ記憶部
6 口座情報記憶部
10 学習データ生成部
11 グループ化部
12 サンプリング部
20 学習データ記憶部
30 学習部
32 不正取引検出部
33 モデル学習部
34 モデル記憶部
36 モデル評価部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10