振り込め詐欺とパターン認識

NHKの新番組、追跡AtoZを見た。バンキシャNHK版のような構成だが、NHKだから取材力が段違い。

今日のテーマは振り込み詐欺(オレオレ詐欺)。振り込め詐欺を行うためには、金を引き出せる他人名義の銀行口座がいる。この銀行口座がどのように供給されているのかに踏み込んでいる。結論から言えば、派遣切りやフリーターなどを中心とする生活困窮者が、犯罪組織に売り渡してしまう。その価格の安いこと安いこと。4口座が2万とか、5口座で6万とか。

さらに、銀行口座は子供でも作れるので、親が生活に困り、子供名義で銀行口座を作って売ってしまうということもよくあるらしい。口座を売ったのがばれると私文書偽造になり、前科が付く上、その口座の名義人は一生、銀行口座を作れなくなる。親が自分名義で口座を売ってしまったために、一生口座を作れなくなる可能性が高い子供が増加しているとか。

で、銀行側も手をこまねいているわけではない。この番組では「みずほ銀行」を取材した。銀行側の従来の対策は、被害の電話がかかってきてから、口座の入出金パターンを見て、明らかに怪しそうだったら口座を凍結する、というもの。で、その映像を見ていたのだが、本当に預金通帳に印刷されるような入出金パターンを、銀行員が目で見て判断していた。機械学習パターン認識をかじっている自分のような人間からすると、もう、ここで、ピクッとなる。

え、これ、思いっきり機械学習パターン認識)向きの問題じゃね?凍結された口座を教師データにして教師付き学習して、怪しげな口座を犯罪に使われる前にリストアップさせれば警戒できるんじゃね?

だって、まず、銀行口座の入出金情報って定型データじゃない。非定型データより、処理しやすい。また、みずほ銀行の銀行口座を全部あわせても2500万件らしい。その中で毎日動いている口座がどれぐらいあるのかわからないが、技術的には、十分、処理可能な量だと思う。さらに、銀行は24時間365日のシステムではないはずなので、処理時間に余裕もあるのではないだろうか。

具体的には、これまでに凍結された銀行口座を教師データにして、教師付き学習に落とせばいい。「小額入金後、すぐ出金しているケース場があるか」(口座凍結確認)とか「口座にお金を振り込む人の数が、突然増えたりしていないか」など、思いつく限りの特徴量を列挙していって、特徴ベクトルを作ればいい。もちろん、年齢とか性別とか、人に関する特徴量も入れることは技術的には可能。実際に、どの特徴量が実際に有効なのかは、教師付き学習が勝手に決めてくれる。間違って、全く効かない特徴量を入れてしまっても、そういう特徴量は学習の過程で「有効でない」ということが自動的に獲得され、判断基準からはずされるから大丈夫。

どの手法を使うべきかは場合によるけど、オーソドックスには、まずSVMのGaussianカーネルを試してみて、学習に時間がかかりすぎるようだったら、高速に学習できるonlineな手法を使う、とかでよいのではないだろうか。

で、そうやって思ってみていると、既に、今年から、みずほ銀行も、警戒システムを導入しているらしい。ただし、自分のところで作成したりはしていなくて、このFORTENTという外資系と思われる企業のシステムを、そのまま導入しているだけっぽい。このFORTENTのシステムが、機械学習を使っているかどうかは不明。ただ、番組では、この警戒システムが、怪しい口座として出力する口座の数が多すぎて対処できない、という問題が述べられていた。

思うに、どの入出金パターンを怪しいと見なすべきかは、国や制度によって大きく違うのではなかろうか。ある国で怪しいと思われる入出金パターンと同じようなパターンを取る職業が、他の国ではあるかもしれない。日本特有の商習慣にも多く依存するわけなのだから、警戒システムの作成にあたっては技術よりも、「日本の銀行員」が、大量の「日本人の口座」の入出金パターンを見て獲得した、「怪しい」という直感をコンピュータに伝えることが重要だと思う。そのためには、やはり、警戒システムを大量の「日本人の口座」に触れさせて、銀行員の直感を覚えさせるしかないのではないかと思う。で、これをやっているのが、教師付き学習。

さて、この程度のことは、誰か他の人が思いついてやっていると思うのだが、どれぐらいやられているのだろうか。詳しい方がいらっしゃったら、教えてください。