(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-02-02
(45)【発行日】2024-02-13
(54)【発明の名称】異常行為検出方法、装置、電子機器及びコンピュータプログラム
(51)【国際特許分類】
G06F 21/55 20130101AFI20240205BHJP
【FI】
G06F21/55
(21)【出願番号】P 2022554811
(86)(22)【出願日】2021-07-07
(86)【国際出願番号】 CN2021104999
(87)【国際公開番号】W WO2022037299
(87)【国際公開日】2022-02-24
【審査請求日】2022-09-12
(31)【優先権主張番号】202010840924.8
(32)【優先日】2020-08-20
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】514187420
【氏名又は名称】テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】チェン,ツェハオ
(72)【発明者】
【氏名】ドン,ジンラン
(72)【発明者】
【氏名】チェン,ショウジー
【審査官】平井 誠
(56)【参考文献】
【文献】特開2019-082820(JP,A)
【文献】英国特許出願公開第02574779(GB,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/00-88
(57)【特許請求の範囲】
【請求項1】
電子機器が実行する異常行為検出方法であって、
検出待ち行為情報を取得するステップであって、前記検出待ち行為情報は第一目標対象、第二目標対象及び目標データ量を含む、ステップ;
第一所定対象モデルのうちから、前記第一目標対象に対応する第一目標サブモデルを取得するステップ;
所定モデルパラメータに基づいて、前記第一目標サブモデルのうちから異常データ量を決定し、前記目標データ量と前記異常データ量との対比結果に基づいて、前記検出待ち行為情報に対応する第一検出結果を決定するステップ;
第二所定対象モデルのうちから、前記第二目標対象に対応し、かつ前記第一目標サブモデルとの類似度が最も高い第二目標サブモデルを取得するステップ;
前記第二目標サブモデルに対応する目標最大データ量を取得し、前記目標データ量と前記目標最大データ量との対比結果に基づいて、前記検出待ち行為情報に対応する第二検出結果を決定するステップ;及び
前記第一検出結果及び前記第二検出結果に基づいて、前記検出待ち行為情報の目標検出結果を決定するステップを含む、異常行為検出方法。
【請求項2】
請求項1に記載の異常行為検出方法であって、
前記第一所定対象モデルのうちから、前記第一目標対象に対応する第一目標サブモデルを取得するステップの前に、前記
異常行為検出方法はさらに、
行為情報サンプルを取得するステップ;
第一所定対象類型に基づいて前記行為情報サンプルに対してクラスタリングを行い、各第一対象に対応するデータ量集合を取得し、前記データ量集合に基づいて、各前記第一対象に対応する第一サブモデルを構築し、構築した各前記第一対象に対応する各前記第一サブモデルを前記第一所定対象モデルと決定するステップ;
第二所定対象類型に基づいて前記行為情報サンプルに対してクラスタリングを行い、各第二対象に対応する第一対象集合及び最大データ量を取得するステップ;
前記第一対象集合をトラバースし、トラバースした前記第一対象に対応する前記第一サブモデルに基づいて、少なくとも1つの第二対象サブモデルを構築するステップ;及び
少なくとも1つの前記第二対象サブモデルと前記最大データ量とを、各前記第二対象に対応する第二サブモデルとして組み合わせ、組み合わせた各前記第二対象に対応する各前記第二サブモデルを前記第二所定対象モデルと決定するステップを含む、異常行為検出方法。
【請求項3】
請求項2に記載の異常行為検出方法であって、
前記データ量集合に基づいて、各前記第一対象に対応する第一サブモデルを構築することは、
前記データ量集合内の各データ量に対応するデータ量範囲を得るステップ;
前記データ量範囲に対してセグメント分けを行い、複数の目標セグメントを得るステップ;
前記データ量集合のうちから、複数の前記目標セグメントのうちの各前記目標セグメントに属するデータ量に対応する目標数をカウントするステップ;
前記目標数と、前記データ量集合に対応する集合元素数との比の値を、各前記目標セグメントに対応する確率の値と決定するステップ;及び
決定した複数の前記目標セグメントに対応する複数の前記確率の値を、各前記第一対象に対応する前記第一サブモデルと決定するステップを含む、異常行為検出方法。
【請求項4】
請求項3に記載の異常行為検出方法であって、
前記データ量集合内の各データ量に対応するデータ量範囲を得るステップは、
前記データ量集合内の各前記データ量に対して変換を行い、変換後のデータ量集合を得るステップ;及び
前記変換後のデータ量集合内の各変換後のデータ量に対応する範囲を前記データ量範囲と決定するステップを含み、
前記データ量集合のうちから、複数の前記目標セグメントのうちの各前記目標セグメントに属するデータ量に対応する目標数をカウントするステップは、
前記変換後のデータ量集合のうちから、複数の前記目標セグメントのうちの各前記目標セグメントに属する変換後のデータ量に対応する前記目標数をカウントするステップを含む、異常行為検出方法。
【請求項5】
請求項2乃至4のうちの何れか1項に記載の異常行為検出方法であって、
前記第一対象集合をトラバースし、トラバースした前記第一対象に対応する前記第一サブモデルに基づいて、少なくとも1つの第二対象サブモデルを構築するステップは、
前記第一対象集合をトラバースし、トラバースした1番目の前記第一対象に対応する前記第一サブモデルを現在のサブモデルと決定し、前記現在のサブモデルを含む1番目の現在のサブモデル集合を構築するステップ;
トラバースしたi番目の前記第一対象に対応する前記第一サブモデルと、i-1番目の現在のサブモデル集合内の各前記現在のサブモデルのそれぞれとの対比を行い、類似サブモデルを得るステップであって、2<i≦Iであり、iは値が逓増する正整数型変数であり、Iは前記第一対象集合内の第一対象の数である、ステップ;
i番目の前記第一対象に対応する前記第一サブモデルと、前記類似サブモデルとの間の類似度が第一所定類似度よりも大きいときに、i番目の前記第一対象に対応する前記第一サブモデルと、前記類似サブモデルとを合併して合併後のサブモデルを取得し、前記合併後のサブモデルで前記i-1番目の現在のサブモデル集合内の前記類似サブモデルを置換してi番目の現在のサブモデル集合を得るステップ;
i番目の前記第一対象に対応する前記第一サブモデルと、前記類似サブモデルとの間の類似度が前記第一所定類似度以下のときに、i番目の前記第一対象に対応する前記第一サブモデルを前記i-1番目の現在のサブモデル集合に插入してi番目の現在のサブモデル集合を得るステップ;及び
I番目の現在のサブモデル集合を少なくとも1つの前記第二対象サブモデルと決定するステップを含む、異常行為検出方法。
【請求項6】
請求項5に記載の異常行為検出方法であって、
トラバースしたi番目の前記第一対象に対応する前記第一サブモデルと、i-1番目の現在のサブモデル集合内の各前記現在のサブモデルのそれぞれとの対比を行い、類似サブモデルを得るステップは、
トラバースしたi番目の前記第一対象に対応する前記第一サブモデルのうちから、複数の目標セグメントに対応する複数の第一目標確率の値を得るステップ;
前記i-1番目の現在のサブモデル集合内の各前記現在のサブモデルのうちから、複数の前記目標セグメントに対応する複数の第二目標確率の値を得るステップ;
複数の前記第一目標確率の値と、複数の前記第二目標確率の値とを一対一対応して対比し、複数の最小確率の値を取得し、複数の前記最小確率の値の累積合計を、i番目の前記第一対象に対応する前記第一サブモデルと、各前記現在のサブモデルとの類似度と決定するステップ;及び
決定した、前記i-1番目の現在のサブモデル集合に対応する少なくとも1つの前記類似度のうちから、最高の類似度を選択し、前記i-1番目の現在のサブモデル集合において前記最高の類似度に対応する前記現在のサブモデルを、前記類似サブモデルと決定するステップを含む、異常行為検出方法。
【請求項7】
請求項5に記載の異常行為検出方法であって、
i番目の前記第一対象に対応する前記第一サブモデルと、前記類似サブモデルとを合併して併後のサブモデルを取得することは、
i番目の前記第一対象に対応する前記第一サブモデルのうちから、複数の目標セグメントに対応する複数の第一目標確率の値を得るステップ;
前記類似サブモデルのうちから、複数の前記目標セグメントに対応する複数の合併待ち確率の値を得るステップ;
複数の前記第一目標確率の値と、複数の前記合併待ち確率の値とを一対一対応して対比し、複数の最大確率の値を得るステップ;及び
複数の前記目標セグメントと、複数の前記最大確率の値とを組み合わせて前記合併後のサブモデルを得るステップを含む、異常行為検出方法。
【請求項8】
請求項1乃至4のうちの何れか1項に記載の異常行為検出方法であって、
前記第二所定対象モデルのうちから、前記第二目標対象に対応し、かつ前記第一目標サブモデルとの類似度が最も高い第二目標サブモデルを取得するステップは、
前記第二所定対象モデルのうちから、前記第二目標対象に対応する少なくとも1つの目標第二対象サブモデルを得るステップ;
前記第一目標サブモデルと、少なくとも1つの前記目標第二対象サブモデルのそれぞれとの少なくとも1つの目標類似度を得るステップ;
少なくとも1つの前記目標類似度のうちから最高の目標類似度を得るステップ;及び
少なくとも1つの前記目標第二対象サブモデルのうちから、前記最高の目標類似度に対応する目標第二対象サブモデルを前記第二目標サブモデルと決定するステップを含む、異常行為検出方法。
【請求項9】
請求項8に記載の異常行為検出方法であって、
前記第二目標サブモデルに対応する目標最大データ量を取得することは、
前記最高の目標類似度が第二所定類似度よりも大きいときに、前記第二所定対象モデルにおいて前記第二目標対象に対応する最大データ量を、前記第二目標サブモデルに対応する前記目標最大データ量と決定するステップ;及び
前記最高の目標類似度が前記第二所定類似度以下のときに、所定データ量を前記第二目標サブモデルに対応する
目標最大数と決定するステップを含む、異常行為検出方法。
【請求項10】
請求項1乃至4のうちの何れか1項に記載の異常行為検出方法であって、
前記目標データ量と前記異常データ量との対比結果に基づいて、前記検出待ち行為情報に対応する第一検出結果を決定するステップは、
前記目標データ量が前記異常データ量よりも大きいときに、前記検出待ち行為情報が前記第一目標対象に関して異常であると決定するステップであって、前記第一検出結果は前記検出待ち行為情報が前記第一目標対象に関して異常であることである、ステップ;及び
前記目標データ量が前記異常データ量以下のときに、前記検出待ち行為情報が前記第一目標対象に関して正常であると決定するステップであって、前記第一検出結果は前記検出待ち行為情報が前記第一目標対象に関して正常であることである、ステップを含む、異常行為検出方法。
【請求項11】
請求項1乃至4のうちの何れか1項に記載の異常行為検出方法であって、
前記目標データ量と前記目標最大データ量との対比結果に基づいて、前記検出待ち行為情報に対応する第二検出結果を決定するステップは、
前記目標データ量が前記目標最大データ量よりも大きいときに、前記検出待ち行為情報が前記第二目標対象に関して異常であると決定するステップであって、前記第二検出結果は前記検出待ち行為情報が前記第二目標対象に関して異常であることである、ステップ;及び
前記目標データ量が前記目標最大データ量以下のときに、前記検出待ち行為情報が前記第二目標対象に関して正常であると決定するステップであって、前記第二検出結果は前記検出待ち行為情報が前記第二目標対象に関して正常であることである、ステップを含む、異常行為検出方法。
【請求項12】
請求項1乃至4のうちの何れか1項に記載の異常行為検出方法であって、
前記第一検出結果及び前記第二検出結果に基づいて、前記検出待ち行為情報の目標検出結果を決定するステップは、
前記第一検出結果が「前記検出待ち行為情報が前記第一目標対象に関して異常である」であり、かつ前記第二検出結果が「前記検出待ち行為情報が前記第二目標対象に関して異常である」であるときに、前記検出待ち行為情報が異常であることを含む前記目標検出結果を決定するステップ;
前記第一検出結果が「前記検出待ち行為情報が前記第一目標対象に関して正常である」であり、かつ前記第二検出結果が「前記検出待ち行為情報が前記第二目標対象に関して異常である」であるときに、前記検出待ち行為情報が異常であることを含む前記目標検出結果を決定するステップ;
前記第一検出結果が「前記検出待ち行為情報が前記第一目標対象に関して正常である」であり、かつ前記第二検出結果が「前記検出待ち行為情報が前記第二目標対象に関して正常である」であるときに、前記検出待ち行為情報が正常であることを含む前記目標検出結果を決定するステップ;及び
前記第一検出結果が「前記検出待ち行為情報が前記第一目標対象に関して異常である」であり、かつ前記第二検出結果が「前記検出待ち行為情報が前記第二目標対象に関して正常である」であるときに、前記検出待ち行為情報が正常であることを含む前記目標検出結果を決定するステップを含む、異常行為検出方法。
【請求項13】
異常行為検出装置であって、
情報取得モジュール、第一検出モジュール、第二検出モジュール及び結果決定モジュールを含み、
前記情報取得モジュールは、検出待ち行為情報を取得するように構成され、前記検出待ち行為情報は第一目標対象、第二目標対象及び目標データ量を含み、
前記第一検出モジュールは、第一所定対象モデルのうちから、前記第一目標対象に対応する第一目標サブモデルを取得するように構成され、
前記第一検出モジュールはさらに、所定モデルパラメータに基づいて、前記第一目標サブモデルのうちから異常データ量を決定し、前記目標データ量と前記異常データ量との対比結果に基づいて、前記検出待ち行為情報に対応する第一検出結果を決定するように構成され、
前記第二検出モジュールは、第二所定対象モデルのうちから、前記第二目標対象に対応し、かつ前記第一目標サブモデルとの類似度が最も高い第二目標サブモデルを取得するように構成され、
前記第二検出モジュールはさらに、前記第二目標サブモデルに対応する目標最大データ量を取得し、前記目標データ量と前記目標最大データ量との対比結果に基づいて、前記検出待ち行為情報に対応する第二検出結果を決定するように構成され、
前記結果決定モジュールは、前記第一検出結果及び前記第二検出結果に基づいて、前記検出待ち行為情報の目標検出結果を決定するように構成される、異常行為検出装置。
【請求項14】
異常行為検出機器であって、
コンピュータプログラムを記憶している記憶器と、
前記記憶器に接続される処理器と、を含み、
前記処理器は、前記コンピュータプログラムを実行することで、請求項1乃至12のうちの何れか1項に記載の異常行為検出方法を実現するように構成される、異常行為検出機器。
【請求項15】
コンピュータに、請求項1乃至12のうちの何れか1項に記載の異常行為検出方法を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、2020年08月20日に中国専利局に出願した、出願番号が202010840924.8である中国特許出願に基づく優先権を主張するものであり、その全内容を参照によりここに援用する。
【0002】
本出願は、コンピュータ応用分野における情報処理技術に関し、特に、異常行為検出(abnormal behavior detection)方法、装置、電子機器及びコンピュータプログラムに関する。
【背景技術】
【0003】
コンピュータ応用技術の急速な発展に伴い、様々なネットワーク機能の適用が益々広まっている。しかし、ネットワーク機能の適用プロセスでは、異常な方法により、アクセス数偽造、ハッキングによる支払いなどの悪意のある処理が行われることがしばしば存在する。よって、ネットワークの安全性(セキュリティ)を向上させるために、異常行為検出が益々重要になっている。
【0004】
一般的に言えば、異常行為検出を行うときに、通常、教師無し学習方法が行われる。例えば、履歴行為情報に対してクラスタリングを行って複数のクラスターを取得し、検出待ち行為情報を得た後に、検出待ち行為情報と複数のクラスターとの間の所属関係を判断することで、検出待ち行為情報の異常性を決定する。しかし、このような異常行為検出のプロセスでは、検出待ち行為情報の特徴の次元が低いため、低次元特徴に基づいてクラスタリングを行って検出結果を決定するときに、検出結果に誤差が生じる可能性が高く、異常行為検出の正確さが低くなる恐れがある。
【発明の概要】
【発明が解決しようとする課題】
【0005】
本出願の実施例は、少なくとも、異常行為検出の正確さを向上させることができる異常行為検出方法、装置、電子機器及びコンピュータプログラムを提供することを課題とする。
【課題を解決するための手段】
【0006】
本出願の実施例によれば、電子機器によって実行される異常行為検出方法が提供され、該方法は、
検出待ち行為情報を取得し、前記検出待ち行為情報は第一目標対象(target object)、第二目標対象及び目標データ量を含み;
第一所定対象モデルのうちから、前記第一目標対象に対応する第一目標サブモデルを取得し;
所定モデルパラメータに基づいて、前記第一目標サブモデルのうちから異常データ量を決定し、前記目標データ量と前記異常データ量との対比(比較)結果に基づいて、前記検出待ち行為情報に対応する第一検出結果を決定し;
第二所定対象モデルのうちから、前記第二目標対象に対応し、かつ前記第一目標サブモデルとの類似度が最も高い第二目標サブモデルを取得し;
前記第二目標サブモデルに対応する目標最大データ量を取得し、前記目標データ量と前記目標最大データ量との対比結果に基づいて、前記検出待ち行為情報に対応する第二検出結果を決定し;及び
前記第一検出結果及び前記第二検出結果に基づいて、前記検出待ち行為情報の目標検出結果を決定するステップを含む。
【0007】
本出願の実施例によれば、異常行為検出装置が提供され、該装置は、
検出待ち行為情報を取得するように構成される情報取得モジュールであって、前記検出待ち行為情報は第一目標対象、第二目標対象及び目標データ量を含む、情報取得モジュール;
第一所定対象モデルのうちから、前記第一目標対象に対応する第一目標サブモデルを取得するように構成される第一検出モジュールであって、前記第一検出モデルはさらに、所定モデルパラメータに基づいて、前記第一目標サブモデルのうちから異常データ量を決定し、前記目標データ量と前記異常データ量との対比結果に基づいて、前記検出待ち行為情報に対応する第一検出結果を決定するように構成される、第一検出モジュール;
第二所定対象モデルのうちから、前記第二目標対象に対応し、かつ前記第一目標サブモデルとの類似度が最も高い第二目標サブモデルを取得するように構成される第二検出モジュールであって、前記第二検出モデルはさらに、前記第二目標サブモデルに対応する目標最大データ量を取得し、前記目標データ量と前記目標最大データ量との対比結果に基づいて、前記検出待ち行為情報に対応する第二検出結果を決定するように構成される、第二検出モジュール;及び
前記第一検出結果及び前記第二検出結果に基づいて、前記検出待ち行為情報の目標検出結果を決定するように構成される、結果決定モジュールを含む。
【0008】
本出願の実施例によれば、異常行為検出のための電子機器が提供され、該電子機器は、
実行可能な命令(コンピュータプログラム)を記憶している記憶器;及び
前記記憶器に接続される処理器を含み、
前記処理器は、前記記憶器に記憶されている実行可能な命令を実行するときに、本出願の実施例により提供される異常行為検出方法を実現するように構成される。
【0009】
本出願の実施例によれば、コンピュータ可読記憶媒体が提供され、その中には実行可能な命令が記憶されており、該実行可能な命令は、処理器により実行されるときに、処理器に、本出願の実施例により提供される異常行為検出方法を実行させる。
【発明の効果】
【0010】
本出願の実施例は少なくとも以下の有利な効果を有し、即ち、検出待ち行為情報が第一目標対象、第二目標対象及び目標データ量の3種類の次元特徴を含むときに、目標データ量と、異常データ量及び目標最大データ量のそれぞれとの比較結果により、検出待ち行為情報が異常性を有するかの目標検出結果を決定するプロセスでは、異常データ量が、第一所定対象モデルに基づいて決定された第一目標対象についての異常判断条件であり、目標最大データ量が、第二所定対象モデルに基づいて決定された第二目標対象についての異常判断条件であるので、低次元特徴の下で、第一目標対象及び第二目標対象の2種類の次元から目標データ量が所定区間(範囲)にあるかを判断することで、検出待ち行為情報が異常であるかの目標検出結果を正確に得ることができ、これにより、異常行為検出の正確さを向上させることができる。
【図面の簡単な説明】
【0011】
【
図1】本出願の実施例により提供される異常行為検出システムの1つの選択可能なアーキテクチャを示す図である。
【
図2】本出願の実施例により提供される
図1に示すサーバーの構成を示す図である。
【
図3】本出願の実施例により提供される異常行為検出方法の1つの選択可能なフローを示す図である。
【
図4】本出願の実施例により提供される例示的な異常データ量の決定を示す図である。
【
図5】本出願の実施例により提供される異常行為検出方法のもう1つの選択可能なフローを示す図である。
【
図6a】本出願の実施例により提供される例示的な変換待ちのデータ量を示す図である。
【
図6b】本出願の実施例により提供される例示的なデータ量の変換を示す図である。
【
図7】本出願の実施例により提供される例示的な類似度の取得を示す図である。
【
図8】本出願の実施例により提供される例示的な合併後のサブモデルの取得を示す図である。
【
図9】本出願の実施例により提供される例示的な異常行為検出のフローを示す図である。
【
図10】本出願の実施例により提供される例示的なモデルの取得を示す図である。
【
図11】本出願の実施例により提供される例示的なモデルを示す図である
【発明を実施するための形態】
【0012】
本出願の目的、技術案及び利点をより明確にするために、以下、図面を参照しながら本出願についてさらに説明する。なお、説明される実施例は本出願を限定するものと見なされるべきではない。当業者が創造性のある労働をせずに取得するすべての他の実施例は何れも本出願の保護範囲に属する。
【0013】
以下の説明では、“幾つかの実施例”という記述があり、それはすべての可能な実施例のサブセットを表すが、理解すべきは、“幾つかの実施例”はすべての可能な実施例の同じサブセット又は異なるサブセットであっても良く、また、矛盾が無い限りに互いに組み合わせることもできるということである。
【0014】
また、以下の説明では、“第一/第二”という用語は、類似した対象を区別するためだけのものであり、対象についての特定の順序を表すものではない。理解すべきは、“第一/第二”は、許可される場合、特定の順序又は前後の順序を変えることで、ここで説明される本出願の実施例がここで図示又は説明される順序以外の順序に従って実施され得るようにすることもできるということである。
【0015】
特段の説明がない限り、本出願の実施例で使用されるすべての技術用語及び科学用語は、当業者によって一般的に理解されるものと同じ意味を有する。本出願の実施例で使用される用語は本出願の実施例を説明するためのものに過ぎず、本出願を限定することを意図するものではない。
【0016】
本出願の実施例をさらに詳しく説明する前に、本出願の実施例に係る幾つかの名詞や用語について説明する。本出願の実施例に係るこれらの名詞や用語は次のような解釈に適用可能である。
【0017】
1)異常行為検出:ユーザが操作を行う行為に対応するデータが所定の操作フロー又は実際のプロセスと一致したかの検出、例えば、アカウントを盗んで支払いを行うことの検出、不正行為でアクセス量を増やすことの検出などを指す。
【0018】
2)オフライン環境:データマイニングツール(例えば、“hadoop”、“spark”)に基づいて大量のデータ(例えば、数億のデータ)に対して処理を行うプラットフォームを指し、通常、大きな遅延(例えば、1日の遅延)が存在し、リアルタイム性が低い。
【0019】
3)リアルタイム/オンライン環境:リアルタイムで処理待ちデータを効率的に記憶及び計算するためのプラットフォームであり、通常、遅延がミリ秒レベルであり、複雑度が低く、リアルタイム性が高い。
【0020】
一般的に言えば、異常行為検出を行うには、通常、教師無し学習方法及び教師有り方法が行われる。そのうち、教師無し方法を採用して異常行為検出を行うときに、教師無し学習アルゴリズムを異常行為検出に適用することを指し、例えば、適用シナリオにおける行為情報が混合ガウス分布(Mixture Gaussian Distribution)に従う場合、異常行為検出を行うときに、検出待ち行為情報がガウス分布に従うかを判断することで、検出待ち行為情報が異常であるかを決定でき、また、例えば、履歴行為情報に対してクラスタリングを行って複数のクラスターを取得し、検出待ち行為情報を得た後に、検出待ち行為情報と複数のクラスターとの間の所属関係を判断することで、検出待ち行為情報が異常であるかを決定でき、また、例えば、異常ポイント検出アルゴリズム(例えば、アイソレーションフォレスト(Isolation Forest))を利用して、空間内の孤立した点に対応する行為情報を異常な行為情報と決定できる。しかし、このように教師無し学習方法を採用して異常行為検出を行うプロセスでは、検出待ち行為情報が第一目標対象、第二目標対象及び目標データ量の3次元特徴(例えば、ユーザ、販売者及び金額;ユーザ、商品及び金額;ユーザ、文章及び閲覧量など)を含むときに、特徴の次元が低く、低次元特徴に基づいて教師無し学習方法による検出を行って検出結果を決定するときに、検出結果に誤差が存在する可能性が高いため、異常行為検出の正確さが低くなる恐れがある。また、3種類以上の次元特徴を得て教師無し学習方法による検出を行うときに、特徴の次元/複雑度が高いことで検出の時間が長くなる問題があるため、検出のリアルタイム性が低くなる可能性がある。
【0021】
また、教師有り学習方法を採用して異常行為検出を行うときに、サンプルを注釈することで、サンプルの特徴及び注釈の情報を用いてネットワークモデルを訓練し、そして、ネットワークモデルを用いて検出待ち行為情報が異常であるかを検出することを指す。しかし、このように教師有り学習方法を採用して異常行為検出を行うプロセスでは、サンプルを注釈する必要があり、サンプルのデータ量が大きく、例えば、億レベルに達したときに、注釈の実行可能性が低くなる。例えば、支払いが異常であるかを検出するときに、毎日発生する支払いの回数が億レベルに達しているため、手動で注釈する可能性が低く、また、注釈の時間が長いため、ネットワークモデルを訓練する時間が長くなる恐れがある。ネットワークモデルの訓練を完了した後に、適用シナリオにおける行為情報の変化が速く、適用シナリオの異常行為検出が適時性を具備する場合、訓練済みのネットワークモデルは現在の適用シナリオに適用できなくなる可能性があり、そのため、実行可能性が低くなり、適時性が高い適用シナリオに適用できない。
【0022】
これに基づいて、本出願の実施例では、少なくとも、異常行為の検出を迅速に行うことができるのみならず、適時性が高い適用シナリオに適用することもできる異常行為方法、装置、電子機器及びコンピュータ可読記憶媒体が提供される。
【0023】
以下、本出願の実施例により提供される異常行為検出のための電子機器(以下、異常行為検出機器とも言う)の例示的な応用について説明する。本出願の実施例により提供される異常行為検出機器は、ノートブックコンピュータ、タブレットコンピュータ、デスクトップコンピュータ、セットトップボックス、スマートテレビ、スマートスピーカー、モバイルデバイス(例えば、携帯電話、携帯音楽プレーヤー、パーソナルデジタルアシスタント、専用メッセージングデバイス、携帯ゲームデバイス、車載デバイス、スマートフォン、スマートウォッチ)などの様々な種類の端末として実装でき、また、サーバーとして実装することもできる。以下、機器がサーバーとして実装されるときの例示的な応用について説明する。
【0024】
図1を参照する。
図1は本出願の実施例により提供される異常行為検出システムの1つの選択可能なアーキテクチャを示す図である。
図1に示すように、1つの異常行為検出アプリケーションをサポートするために、異常行為検出システム100では、端末200(一例として、端末200-1及び端末200-2が示されている)はネットワーク300を介してサーバー400(異常行為検出機器)に接続され、ネットワーク300は広域ネットワーク又はローカルエリアネットワークであっても良く、又は、両者の組み合わせであっても良い。また、異常行為検出システム100にはデータベース500がさらに含まれる。
【0025】
データベース500は、第一所定対象モデル及び第二所定対象モデルを記憶し、また、サーバー400に第一所定対象モデル及び第二所定対象モデルを提供することで、異常行為検出を実現するために用いられる。
【0026】
端末200-1は、グラフィカルユーザインタフェース200-11上のコントルール200-111(一例として、支払いボタンが示されている)によりユーザの支払い操作を受け取り、支払い操作に応じてネットワーク300を介してサーバー400に、販売者(第一目標対象)、ユーザ(第二目標対象)及び金額(目標データ量)を含む検出待ち行為情報を送信するために用いられ、さらに、ネットワーク300を介してサーバー400により送信される目標検出結果を受信し、そして、グラフィカルユーザインタフェース(GUI)200-12において該目標検出結果を表示するために用いられる。
【0027】
端末200-2は、グラフィカルユーザインタフェース200-21上のコントルール200-211(一例として、閲覧ボタンが示されている)によりユーザの閲覧操作を受け取り、閲覧操作に応じてネットワーク300を介してサーバー400に、文章(第一目標対象)、ユーザ(第二目標対象)及び閲覧量(目標データ量)を含む検出待ち行為情報を送信するために用いられ、さらに、ネットワーク300を介してサーバー400により送信される目標検出結果を受信し、そして、グラフィカルユーザインタフェース200-22において該目標検出結果を表示するために用いられる。
【0028】
サーバー400は、次のようなことを行うように用いられ、即ち、ネットワーク300を介して端末200から検出待ち行為情報を取得し、検出待ち行為情報は第一目標対象、第二目標対象及び目標データ量を含み;データベース500により提供される第一所定対象モデルのうちから、第一目標対象に対応する第一目標サブモデルを取得し;所定モデルパラメータに基づいて、第一目標サブモデルのうちから異常データ量を取得し、目標データ量と異常データ量との対比を行い、検出待ち行為情報に対応する第一検出結果を決定し;データベース500により提供される第二所定対象モデルのうちから、第二目標対象に対応し、かつ第一目標サブモデルとの類似度が最高である第二目標サブモデルを取得し;第二目標サブモデルに対応する目標最大データ量を取得し、目標データ量と目標最大データ量との対比を行い、検出待ち行為情報に対応する第二検出結果を決定し;及び、第一検出結果及び第二検出結果に基づいて、検出待ち行為情報の目標検出結果を決定することであり、さらに、ネットワーク300を介して端末200に目標検出結果を送信するために用いられる。
【0029】
幾つかの実施例において、サーバー400は独立した物理サーバーであっても良く、複数の物理サーバーからなるサーバー群又は分散型システムであっても良く、さらに、クラウドサービス、クラウドデータベース、クラウドコンピューティング、クラウド関数、クラウドストレージ、ネットワークサービス、クラウド通信、ミッドウェアサービス、ドメイン名サービス、セキュリティサービス、コンテンツデリバリーネットワーク(CDN、Content Delivery Network)、ビッグデータ、人工知能プラットフォームなどの基本クラウドコンピューティングサービスを提供するクラウドサーバーであっても良い。端末及びサーバーは有線又は無線通信の方式で直接又は間接的な接続を行っても良いが、本出願の実施例はこれについて限定しない。
【0030】
図2を参照する。
図2は本出願の実施例により提供される
図1に示すサーバーの構成を示す図である。
図2に示すサーバー400は、少なくとも1つの処理器410、記憶器450、少なくとも1つのネットワークインターフェース420及びユーザインターフェース430を含む。サーバー400における各アセンブリはバスシステム440により互いに接続される。理解すべきは、バスシステム440はこれらのアセンブリの間の接続及び通信を実現するために用いられるということである。バスシステム440はデータバスの他に、電源バス、制御バス及び状態信号バスをも含む。なお、説明の便宜のため、
図2では各種のバスをバスシステム440と記す。
【0031】
処理器410は集積回路チップであっても良く、信号を処理する能力を有し、例えば、汎用処理器、デジタル信号処理器(DSP、Digital Signal Processor)、他のプログラマブルロジックデバイス、ディスクリートゲート、トランジスタロジックデバイス、ディスクリートハードウェアコンポーネントなどであり、そのうち、汎用処理器はマイクロプロセッサ、任意の通常の処理器などであっても良い。
【0032】
ユーザインターフェース430は、1つ又は複数のスピーカー及び/又は1つ又は複数の視覚的表示スクリーンを含む、メディアコンテンツを表示し得る1つ又は複数の出力装置431を含み得る。ユーザインターフェース430はさらに、ユーザの入力を容易にするユーザインターフェース部品、例えば、キーボード、マウス、マイクロフォン、タッチパネル、カメラヘッド、他の入力ボタン及びコントルールを含む1つ又は複数の入力装置432を含んでも良い。
【0033】
記憶器450は取り外し可能、取り外し不可又はそれらの組み合わせであっても良い。例示的なハードウェアデバイスはソリッドステートメモリ、ハードドライブ、光学ドライブなどを含む。記憶器450はオプションで処理器410から物理的に離れた1つ又は複数の記憶装置を含む。
【0034】
記憶器450は揮発性メモリ又は不揮発性メモリを含み、揮発性メモリ及び不揮発性メモリの両方を含んでも良い。不揮発性メモリはリードオンリーメモリ(ROM、Read Only Memory)であっても良く、揮発性メモリはランダムアクセスメモリ(RAM、Random Access Memory)であっても良い。本出願の実施例に記載される記憶器450は任意の適切なタイプの記憶器を含み得る。
【0035】
幾つかの実施例において、記憶器450は各種の操作をサポートするようにデータを記憶することができ、これらのデータは、例えば、プログラム、モジュール、データ構造及びそのサブセット又はスーパーセットを含む。以下、例示的に説明する。
【0036】
オペレーティングシステム451:各種の基本システムサービスを処理し、かつハードウェアに関するタスクを実行するためのシステムプログラム、例えば、フレームワーク層、コアライブラリ層、駆動層などを含み、様々な基本業務を実現し、かつハードウェアベースのタスクを処理するために用いられ;
ネットワーク通信モジュール452:1つ又は複数の(有線又は無線)ネットワークインターフェース420を経由して他の計算装置に至るために用いられ、例示的なネットワークインターフェース420はブルートゥース、Wi-Fi、ユニバーサルシリアルバス(USB、Universal Serial Bus)などを含み;
表示モジュール453:ユーザインターフェース430に関連付けられる1つ又は複数の出力装置431(例えば、表示パネル、スピーカーなど)により情報を表示するために用いられ(例えば、周辺機器を操作し、内容及び情報を表示するためのユーザインターフェースである);
入力処理モジュール454:1つ又は複数の入力装置432のうちの1つからの1つ又は複数のユーザによる入力又はインタラクションに対して検出を行い、検出した入力又はインタラクションを処理(例えば、翻訳)するために用いられる。
【0037】
幾つかの実施例において、本出願の実施例により提供される異常行為検出装置はソフトウェアにより実現され得る。
図2は記憶器450に記憶されている異常行為検出装置455を示しており、それはプログラム、プラグインなどの形式のソフトウェアであっても良く、次のようなソフトウェアモジュール、即ち、情報取得モジュール4551、第一検出モジュール4552、第二検出モジュール4553、結果決定モジュール4554及びモデル取得モジュール4555を含み、また、これらのモジュールは論理的であるため、実現される機能に応じて任意に組み合わせたり、さらに分割したりすることができる。以下、各モジュールの機能について説明する。
【0038】
他の幾つかの実施例において、本出願の実施例により提供される異常行為検出装置はハードウェアの方式で実現されても良い。一例として、本出願の実施例により提供される異常行為検出装置はハードウェア復号プロセッサの形式の処理器であっても良く、それは本出願の実施例により提供される異常行為検出方法を実行するようにプログラミングされる。例えば、ハードウェア復号プロセッサの形式の処理器は1つ又は複数の特定用途向け集積回路(ASIC、Application Specific Integrated Circuit)、DSP、プログラマブルロジックデバイス(PLD、Programmable Logic Device)、コンプレックスプログラマブルロジックデバイス(CPLD、Complex Programmable Logic Device)、フィールドプログラマブルゲートアレイ(FPGA、Field-Programmable Gate Array)又は他の電子デバイスを採用しても良い。
【0039】
以下、本出願の実施例により提供される異常行為検出機器がサーバーとして実装されるときの例示的な応用を例にして、本出願の実施例により提供される異常行為検出方法について説明する。
【0040】
図3を参照する。
図3は本出願の実施例により提供される異常行為検出方法の1つの選択可能なフローを示す図である。以下、
図3に示すステップに基づいて説明を行う。
【0041】
S301:検出待ち行為情報を取得し、検出待ち行為情報は第一目標対象、第二目標対象及び目標データ量を含む。
【0042】
本出願の実施例において、ユーザが端末で機能アプリケーションに対して操作、例えば、支払い、文章の閲覧又は広告のクリックを行うときに、端末はユーザが行った操作に応じて、操作データを生成する。また、端末が操作データをサーバーに送信するときに、サーバーは該検出待ち行為情報を受信でき、即ち、検出待ち行為情報の取得を完了できる。
【0043】
なお、検出待ち行為情報は検出対象であり、第一目標対象、第二目標対象及び目標データ量を含み、そのうち、第一目標対象は被操作対象、例えば、広告、販売者、商品又は文章であり、第二目標対象は操作対象であり、例えば、ユーザなどであり、目標データ量は第二目標対象が第一目標対象に対して操作を行うときに生成されるデータ量、例えば、金額、クリック数又は閲覧数(アクセス数)である。
【0044】
S302:第一所定対象モデルのうちから、第一目標対象に対応する第一目標サブモデルを取得する。
【0045】
本出願の実施例において、サーバーには第一所定対象モデルが事前記憶されており、又は、サーバーは第一所定対象モデルを事前取得できる。該第一所定対象モデルは各々の第一対象に対応するモデルであり、該モデルはデータ量分布情報である。第一目標対象が1つの第一対象であるため、サーバーは第一所定対象モデルのうちから、第一目標対象に対応するモデルを取得でき、このときに第一目標サブモデルを得ている。
【0046】
言い換えれば、第一所定対象モデルは第一対象とデータ量分布情報との間の対応関係である。第一目標対象が1つの第一対象であるため、サーバーは第一対象とデータ量分布情報との間の対応関係を取得し、第一目標対象と、第一対象とデータ量分布情報との間の対応関係における各第一対象とのマッチングを行い、各第一対象のうちからマッチングした第一対象を見つけ、そして、マッチングした第一対象に対応するデータ量分布情報を第一目標サブモデルと決定する。
【0047】
なお、第一目標サブモデルは第一目標対象に対応するデータ量分布情報であり、例えば、販売者Aの金額に関するヒストグラム、又は、文章Bの閲覧数に関する分布である。
【0048】
また、本出願の実施例において、サーバーは、第一所定対象モデルのうちから第一目標対象に対応するモデルを見つけることができない場合、第一目標対象についての第一目標サブモデルを構築し、そして、第一目標対象に対応する第一目標サブモデルを第一所定対象モデルに追加する。
【0049】
S303:所定モデルパラメータに基づいて、第一目標サブモデルのうちから異常データ量を決定し、目標データ量と異常データ量との対比結果に基づいて、検出待ち行為情報に対応する第一検出結果を決定する。
【0050】
本出願の実施例において、サーバーには所定モデルパラメータが予め記憶されており、又は、サーバーは所定モデルパラメータを事前取得できる。該所定モデルパラメータはデータ量分布情報における所定分位点であり、それは第一目標対象に対応するデータ量の所定区間を決定するために用いられ、決定した第一目標対象に対応するデータ量の所定区間は第一目標対象に対応する異常判断条件である。これにより、サーバーは第一目標サブモデルのうちから所定モデルパラメータに対応する目標位置を決定でき、該目標位置に対応するデータ量は異常データ量である。続いて、サーバーは目標データ量と異常データ量との対比を行うことで、対比結果における目標データ量と異常データ量との大小関係に基づいて、目標データ量が第一目標対象に対応するデータ量の所定区間(ゼロから異常データ量までの区間範囲)にあるかを決定でき、このときに、検出待ち行為情報に対応する第一検出結果を取得している。
【0051】
なお、第一検出結果は第一目標対象について決定された検出待ち行為情報が異常であるかの結果である。目標データ量が異常データ量よりも大きいときに、目標データ量が第一目標対象に対応するデータ量の所定区間外にあることを表すため、サーバーは検出待ち行為情報が第一目標対象に関して異常であることを含む第一検出結果を決定する。目標データ量が異常データ量以下のときに、目標データ量が第一目標対象に対応するデータ量の所定区間内にあることを意味するため、サーバーは検出待ち行為情報が第一目標対象に関して正常であることを含む第一検出結果を決定する。
【0052】
一例として、
図4を参照する。
図4は本出願の実施例により提供される例示的な異常データ量の決定を示す図である。
図4に示すように、ヒストグラム4-1(第一目標サブモデル)では、横軸が金額の値であり、縦軸が確率の値であり、所定モデルパラメータが99パーセンタイルのときに、金額の値の「小から大へ」の順序に従ってヒストグラム4-1における各金額セグメントの確率に対して重ね合わせを行い、重ね合わせ結果が99%よりも大きいときに対応する位置14-2(目標位置であり、1つの金額が位置14-2に対応する金額の値よりも小さい確率は99%よりも大きい)に対応する金額の値は異常データ量である。
【0053】
S304:第二所定対象モデルのうちから、第二目標対象に対応し、かつ第一目標サブモデルとの類似度が最も高い第二目標サブモデルを取得する。
【0054】
本出願の実施例において、サーバーには第二所定対象モデルが事前記憶されており、又は、サーバーは第二所定対象モデルを事前取得できる。該第二所定対象モデルは各第二対象に対応する、各第一対象に対応する各データ量分布情報からなるモデル集合である。第二目標対象が1つの第二対象であるため、サーバーは第二所定対象モデルのうちから第二目標対象に対応するモデル組を取得し、そして、取得した、第二目標対象に対応するモデル組のうちから、第一目標サブモデルとの類似度が最も高いモデルをマッチングにより見つけることができ、即ち、第二目標サブモデルを得ている。
【0055】
言い換えれば、サーバーは、第二所定対象モデルにおいて第二目標対象と各第二対象とのマッチングを行い、マッチングした第二対象に対応する各第一対象に対応する各データ量分布情報(モデル組)を取得し、そして、各データ量分布情報のうちから、取得済みの第一目標サブモデルと最も類似したデータ量分布情報を取得し、第一目標サブモデルと最も類似した該データ量分布情報は第二目標サブモデルである。そのうち、第一所定対象モデルにおける各第一対象に対応するデータ量分布情報は第二所定対象モデルにおける各第一対象に対応するデータ量分布情報とは異なり、第二所定対象モデルにおける各第一対象に対応するデータ量分布情報は、第一所定対象モデルにおける各第一対象に対応するデータ量分布情報に対して処理を行うことで取得されるものであり、第二対象に対応する、第一対象に関するデータ量分布情報である。
【0056】
なお、第二目標サブモデルは第二目標対象に対応する、第一目標対象に関するデータ量分布情報であり、例えば、ユーザCの販売者Aに関する金額ヒストグラム、ユーザDの文章Bに関する閲覧量分布である。
【0057】
S305:第二目標サブモデルに対応する目標最大データ量を取得し、目標データ量と目標最大データ量との対比結果に基づいて、検出待ち行為情報に対応する第二検出結果を決定する。
【0058】
本出願の実施例において、サーバーが第二目標サブモデルを得た後に、第二所定対象モデルには各第二対象に対応するモデル組が含まれるだけでなく、各第二対象に対応する最大データ量も含まれるため、このときに、サーバーは第二所定対象モデルにおいて第二目標対象に対応する最大データ量に基づいて、目標最大データ量を決定し、つまり、目標最大データ量は第二目標対象に対応する最大データ量である可能性があり、第二所定対象モデルにおいて第二目標対象に対応する最大データ量に基づいて決定されるものである可能性もあるが、本出願の実施例はこれについて限定しない。
【0059】
ここで、サーバーは目標最大データ量を得た場合、第二目標対象に対応するデータ量の所定区間を決定しており、決定した、第二目標対象に対応するデータ量の所定区間は第二目標対象に対応する異常判断条件である。そのため、サーバーは目標データ量と目標最大データ量との対比を行い、対比結果における目標データ量と目標最大データ量との大小関係に基づいて、目標データ量が第二目標対象に対応するデータ量の所定区間(ゼロから目標最大データ量までの区間範囲)にあるかを決定でき、このときに、検出待ち行為情報に対応する第二検出結果を取得している。
【0060】
なお、第二検出結果は検出待ち行為情報の、第二目標対象に関して決定された異常であるかの結果であり、目標データ量が目標最大データ量よりも大きいときに、目標データ量が第二目標対象に対応するデータ量の所定区間外にあることを表すため、サーバーは、検出待ち行為情報が第二目標対象に関して異常であることを含む第二検出結果を決定する。目標データ量が目標最大データ量以下のときに、目標データ量が第二目標対象に対応するデータ量の所定区間内にあることを意味するため、サーバーは、検出待ち行為情報が第二目標対象に関して正常であることを含む第二検出結果を決定する。
【0061】
S306:第一検出結果及び第二検出結果に基づいて、検出待ち行為情報の目標検出結果を決定する。
【0062】
本出願の実施例において、サーバーは第一検出結果及び第二検出結果を得た後に、第一検出結果及び第二検出結果に基づいて、検出待ち行為情報の目標検出結果を決定する。ここで、目標検出結果とは、検出待ち行為情報が異常であるかを指す。
【0063】
なお、サーバーが第一検出結果及び第二検出結果に基づいて、検出待ち行為情報の目標検出結果を決定するときに、次のようなことが含まれ、即ち、第一検出結果が「検出待ち行為情報が第一目標対象に関して異常である」であり、かつ第二検出結果が「検出待ち行為情報が第二目標対象に関して異常である」であるときに、サーバーは検出待ち行為情報が異常であることを含む目標検出結果を決定し;第一検出結果が「検出待ち行為情報が第一目標対象に関して正常である」であり、かつ第二検出結果が「検出待ち行為情報が第二目標対象に関して異常である」であるときに、サーバーは検出待ち行為情報が異常であることを含む目標検出結果を決定し、サーバーはさらに、検出待ち行為情報が正常であることを含む目標検出結果を決定しても良く、サーバーはさらに、検出待ち行為情報を査定待ち行為情報と決定し、人工の方式やインテリジェント検出処理により更なる検出行っても良く;第一検出結果が「検出待ち行為情報が第一目標対象に関して正常である」であり、かつ第二検出結果が「検出待ち行為情報が第二目標対象に関して正常である」であるときに、サーバーは検出待ち行為情報が正常であることを含む目標検出結果を決定し;第一検出結果が「検出待ち行為情報が第一目標対象に関して異常である」であり、かつ第二検出結果が「検出待ち行為情報が第二目標対象に関して正常である」であるときに、サーバーは検出待ち行為情報が正常であることを含む目標検出結果を決定し、サーバーはさらに、検出待ち行為情報が異常であることを含む目標検出結果を決定しても良く、サーバーはさらに、検出待ち行為情報を査定待ち行為情報と決定し、人工の方式やインテリジェント検出処理により更なる検出を行っても良い。
【0064】
本出願の実施例において、サーバーは目標検出結果を得た後に、さらに、目標検出結果に基づいて目標処理情報を決定しても良い。該目標処理情報は検出待ち行為情報に対しての処理方式であり、例えば、検出待ち行為情報が支払い操作であるときに、目標検出結果が「検出待ち行為情報が異常である」であれば、目標処理情報は支払い操作を遮る処理である。また、例えば、検出待ち行為情報が広告クリックであるときに、目標検出結果が「検出待ち行為情報が異常である」であれば、目標処理情報は広告クリックをブロックする処理である。
【0065】
理解すべきは、検出待ち行為情報が第一目標対象、第二目標対象及び目標データ量の3種類の次元特徴(3次元特徴)を含むときに、目標データ量と、異常データ量及び目標最大データ量のそれぞれとの比較結果に基づいて、検出待ち行為情報が異常性を有するかの目標検出結果を決定するプロセスでは、異常データ量が、第一所定対象モデルに基づいて決定された第一目標対象についての異常判断条件であり、目標最大データ量が、第二所定対象モデルに基づいて決定された第二目標対象についての異常判断条件であるので、低次元特徴の下で、第一目標対象及び第二目標対象の2種類の次元から目標データ量が所定区間にあるかを判断することで、検出待ち行為情報が異常であるかの目標検出結果を正確に得ることができ、そのため、異常行為検出の正確さが高い。
【0066】
図5を参照する。
図5は本出願の実施例により提供される異常行為検出方法のもう1つの選択可能なフローを示す図である。
図5に示すように、本出願の実施例において、S302の前にS307-S311がさらに含まれ、即ち、サーバーが第一所定対象モデルのうちから、第一目標対象に対応する第一目標サブモデルを得る前に、該異常行為検出方法はさらにS307-S311を含む。以下、各ステップについてそれぞれ説明する。
【0067】
S307:行為情報サンプルを取得する。
【0068】
本出願の実施例において、サーバーは現在の周期内の行為情報を得た場合、行為情報サンプル、例えば、最近の1週間(先週)の支払い注文、最近の1か月(先月)の閲覧記録を取得している。ここで、現在の周期とは、最近の所定周期を指す。
【0069】
なお、行為情報サンプルは現在の周期内の第一対象、第二対象及びデータ量に対応する行為情報からなる集合である。そのため、行為情報サンプルにおける各行為情報は何れも第一対象、第二対象及びデータ量を含む。
【0070】
S308:第一所定対象類型(タイプ)に基づいて行為情報サンプルに対してクラスタリングを行い、各第一対象に対応するデータ量集合を取得し、データ量集合に基づいて、各第一対象に対応する第一サブモデルを構築し、構築した各第一対象に対応する各第一サブモデルを第一所定対象モデルと決定する。
【0071】
なお、サーバーは行為情報サンプルを得た後に、行為情報サンプルに対して異なる所定類型に従ってクラスタリングを行うことで、第一所定対象モデル及び第二所定対象モデルを取得する。そのうち、異なる所定類型は第一所定対象類型(例えば、販売者類型又は商品類型)及び第二所定対象類型(例えば、ユーザ)を含み、第一所定対象類型は第一対象の属する対象類型であり、第二所定対象類型は第二対象の属する対象類型である。このようにして、サーバーは第一所定対象類型に従って行為情報サンプルに対してクラスタリングを行い、各第一対象に対応する各データ量を得たときに、各第一対象に対応するデータ量集合を取得している。
【0072】
ここで、各第一対象に対応する対象類型は第一所定対象類型であり、データ量集合は各第一対象の、第二対象に関するデータ量からなる集合である。
【0073】
本出願の実施例において、サーバーはデータ量集合を得た後に、該データ量集合に基づいて各第一対象に対応するデータ量分布情報を得た場合、各第一対象に対応する第一サブモデルの構築を完了している。第一対象に対応する第一サブモデルの構築を完了したときに、各第一対象に対応する各第一サブモデルを取得しており、該各第一対象に対応する各第一サブモデルは第一所定対象モデルになる。ここで、各第一対象とは、各第一対象のうちの任意の1つの対象を指し、第一所定対象モデルとは、各第一対象の第一サブモデルからなる集合を指し、第一目標サブモデルは1つの第一サブモデルである。
【0074】
S309:第二所定対象類型に基づいて行為情報サンプルに対してクラスタリングを行い、各第二対象に対応する第一対象集合及び最大データ量を取得する。
【0075】
本出願の実施例において、サーバーは第二所定対象類型に基づいて行為情報サンプルに対してクラスタリングを行い、各第二対象に対応する各第一対象を得たときに、各第二対象に対応する第一対象集合を取得している。ここで、サーバーは第二所定対象類型に基づいて行為情報サンプルに対してクラスタリングを行うときに、さらに、各第二対象に対応する各データ量を取得し、取得した、各第二対象に対応する各データ量のうちから最大のデータ量を選択した場合、各第二対象に対応する最大データ量を得ている。
【0076】
S310:第一対象集合をトラバースし(即ち、第一対象集合内の要素を1つずつチェックする)、トラバースした(即ち、トラバースすることで得た)第一対象に対応する第一サブモデルに基づいて、少なくとも1つの第二対象サブモデルを構築する。
【0077】
本出願の実施例において、サーバーは第一対象集合を得た後に、第一対象集合内の第一対象をトラバースし、トラバースした第一対象について、第一所定対象モデルにおける第一対象とのマッチングを行い、マッチングした第一対象に対応するモデルは、トラバースした第一対象に対応する第一サブモデルである。ここで、サーバーはトラバースした第一対象に対応する第一サブモデルに基づいて、各第二対象に対応する少なくとも1つの第二対象サブモデルを構築できる。
【0078】
なお、少なくとも1つの第二対象サブモデルは各第二対象と関連付けられた第一対象のデータ量分布からなる集合であり、例えば、ユーザCの販売者Aに関する金額ヒストグラム、販売者Eの金額ヒストグラム、及び販売者Fの金額ヒストグラムである。トラバースした第一対象は第一対象集合内の任意の1つの第一対象である。
【0079】
S311:少なくとも1つの第二対象サブモデルと最大データ量とを、各第二対象に対応する第二サブモデルとして組み合わせ、組み合わせた各第二対象に対応する各第二サブモデルを第二所定対象モデルとして決定する。
【0080】
なお、サーバーは各第二対象に対応する少なくとも1つの第二対象サブモデルを得た後に、少なくとも1つの第二対象サブモデルと最大データ量とを組み合わせ、取得した組み合わせ結果は各第二対象に対応する第二サブモデルである。各第二対象に対応する第二サブモデルを得たときに、各第二対象に対応する各第二サブモデルの第二所定対象モデルを取得している。ここで、各第二対象とは、各第二対象のうちの任意の1つの対象を指し、第二所定対象モデルとは、各第二対象の第二サブモデルからなる集合を指す。
【0081】
本出願の実施例において、S308でサーバーがデータ量集合に基づいて、各第一対象に対応する第一サブモデルを構築することはS3081-S3085を含む。以下、各ステップについてそれぞれ説明する。
【0082】
S3081:データ量集合における各データ量に対応するデータ量範囲を得る。
【0083】
本出願の実施例において、サーバーはデータ量集合内の各データ量のうちから最小のデータ量及び最大のデータ量を抽出し、最小のデータ量及び最大のデータ量に対応する範囲はデータ量範囲である。
【0084】
S3082:データ量範囲に対してセグメント分けを行い、複数の目標セグメントを取得する。
【0085】
本出願の実施例において、サーバーは所定のセグメントのサイズ(大きさ)又は所定のセグメントの数に基づいてデータ量範囲に対してセグメント分けを行った場合、複数の目標セグメントを得ている。
【0086】
S3083:データ量集合のうちから、複数の目標セグメントのうちの各目標セグメントに属するデータ量の目標数をカウント(統計)する。
【0087】
本出願の実施例において、サーバーは複数の目標セグメント及びデータ量集合を得た後に、データ量集合内の各データ量の属する目標セグメントを決定し、そして、複数の目標セグメントのうちの各目標セグメントに属するデータ量の数をカウントする。カウントした各目標セグメントのデータ量の数は各目標セグメントに対応する目標数である。
【0088】
S3084:目標数と、データ量集合に対応する集合元素数との比の値を、各目標セグメントに対応する確率の値と決定する。
【0089】
本出願の実施例において、サーバーはデータ量集合におけるデータ量の数をカウントし、カウントしたデータ量集合内のデータ量の数はデータ量集合に対応する集合元素数である。このときに、目標データ量を分子とし、集合元素の数を分母とすることで、比の値を計算し、取得した比の値の結果は各目標セグメントに対応する確率の値である。各目標セグメントに対応する確率の値の取得を完了したときに、複数の目標セグメントに対応する複数の確率の値を得ており、複数の目標セグメントは複数の確率の値と一対一対応する。
【0090】
S3085:決定した複数の目標セグメントに対応する複数の確率の値を、各第一対象に対応する第一サブモデルと決定する。
【0091】
なお、第一サブモデルは第一対象と関連付けられる複数の目標セグメントに対応する複数の確率の値である。
【0092】
本出願の実施例において、S3081はS30811及びS30812により実現され得る。つまち、サーバーはデータ量集合における各データ量に対応するデータ量の範囲を取得する。S3081はS30811及びS30812を含む。以下、各ステップについてそれぞれ説明する。
【0093】
S30811:データ量集合における各データ量に対して変換を行い、変換後のデータ量集合を取得する。
【0094】
なお、データ量集合内の各データ量に対応する分布が通常、対数正規分布であり、対数正規分布に平滑部分(ロングテール部分)が存在し、該平滑部分に対応する確率が0に近いため、大きなデータ量の場合、検出結果が不正確であり、後続の異常行為検出にデータのサポートを提供できない。よって、異常行為検出の正確さを向上させるために、サーバーはデータ量集合における各データ量に対して変換を行い、平滑部分を除去することで、変換後のデータ量集合内の各変換後のデータ量に対応する分布が標準正規分布に従うようにさせる。
【0095】
ここで、変換は、例えば、対数変換であっても良く、同時に所定倍数の縮小を行っても良く、また、異なる重みを用いて各データ量に対して対応して乗算しても良いが、本出願の実施例はこれについて限定しない。なお、モデル取得プロセスにおいてデータ量に対して変換を行った場合、モデル取得プロセス及びモデル適用プロセスで言うデータ量は何れも、変換後のデータ量である。
【0096】
図6aに示すように、データ量が金額の値である場合、小額の支払いのときに対応する金額の値が比較的小さいときがあり、例えば、数円であり、また、多額の支払いのときに対応する金額の値が比較的大きいときがあり、例えば、数十万円である。そのため、データ量に対応する分布曲線6-1に平滑部分6-11が現れることがあり、該平滑部分6-11に対応する確率分布における確率がほぼ0であり、後続の異常支払い検出にデータのサポートを提供できない。そのうち、
図6aでは、横軸が金額の値であり、縦軸が確率の値である。このときに、自然対数(ln)を利用してデータ量に対して変換を行った場合、
図6aにおける分布曲線6-1は
図6bにおける分布曲線6-2になっている。
図6bでは、横軸が変換後の金額の値であり、縦軸が確率の値である。容易に理解できるのは、金額の値に対して対数をとる計算を行うことで、小額の支払いにおいて、モデルによって数円の変動をコーディングし得るようにさせ、多額の支払いにおいて、モデルによって千円さらには万円の変動をコーディングし得るようにさせることができる。このように小額に敏感であり、多額に不敏感である傾向は対数関数の変化曲線と一致しており、例えば、
【0097】
【0098】
S30812:変換後のデータ量集合における各変換後のデータ量に対応する範囲をデータ量範囲と決定する。
【0099】
なお、サーバーは変換後のデータ量集合を得た後に、変換後のデータ量集合内の各変換後のデータ量のうちから最小の変換後のデータ量及び最大の変換後のデータ量を抽出し、最小の変換後のデータ量及び最大の変換後のデータ量に対応する範囲はデータ量範囲である。
【0100】
それ相応に、S3083でサーバーがデータ量集合のうちから、複数の目標セグメントのうちの各目標セグメントに属するデータ量の目標数をカウントすることは、サーバーが変換後のデータ量集合のうちから、複数の目標セグメントのうちの各目標セグメントに属する変換後のデータ量の目標数をカウントすることを含む。つまり、サーバーは変換後のデータ量集合における各変換後のデータ量の属する目標セグメントを決定し、そして、複数の目標セグメントのうちの各目標セグメントに属する変換後のデータ量の数をカウントし、カウントした各目標セグメントの変換後のデータ量の数は各目標セグメントに対応する目標数である。また、目標データ量などの他のデータ量は何れも変換後の対応するデータ量である。
【0101】
本出願の実施例において、S310はS3101-S3105により実現され得る。つまり、サーバーは第一対象集合をトラバースし、トラバースした第一対象に対応する第一サブモデルに基づいて、少なくとも1つの第二対象サブモデルを構築する。S310はS3101-S3105を含む。以下、各ステップについてそれぞれ説明する。
【0102】
S3101:第一対象集合をトラバースし、トラバースした1番目の第一対象に対応する第一サブモデルを現在のサブモデルと決定し、現在のサブモデルを含む1番目の現在のサブモデル集合を構築する。
【0103】
なお、第一対象集合をトラバースするときに、トラバースした第一対象が1番目のトラバースした第一対象であるときに、関連付けられている第二対象に対応する現在のサブモデル集合は空集合である。このときに、サーバーは1番目のトラバースした第一対象に対応する第一サブモデルを1つの現在のサブモデルとし、現在のサブモデル集合における1つの元素とすることで1番目の現在のサブモデル集合を構築する。
【0104】
S3102:i(繰り返し変数)に基づく反復(iteration)によって以下の処理を行い、即ち、トラバースしたi番目の第一対象に対応する第一サブモデルと、i-1番目の現在のサブモデル集合における各現在のサブモデルのそれぞれとの対比を行い、類似サブモデルを取得し、そのうち、2<i≦Iであり、かつiは値が逓増する正の整数の変数(正整数型変数)であり、Iは第一対象集合内の第一対象の数である。
【0105】
なお、トラバースした第一対象が1番目のトラバースした第一対象の後にトラバースしたもう1つの第一対象であるときに、サーバーは、トラバースしたi番目の第一対象に対応する第一サブモデルと、i-1番目の現在のサブモデル集合における各現在のサブモデルのそれぞれとの対比を行い、対比結果に基づいて、i-1番目の現在のサブモデル集合のうちから、i番目の第一対象に対応する第一サブモデルと最も類似した1つの現在のサブモデルを選択すると、類似サブモデルを得ている。
【0106】
S3103:i番目の第一対象に対応する第一サブモデルと、類似サブモデルとの対応する類似度が第一所定類似度よりも大きいときに、i番目の第一対象に対応する第一サブモデルと、類似サブモデルとを合併して合併後のサブモデルを取得し、合併後のサブモデルでi-1番目の現在のサブモデル集合における類似サブモデルを置換し、i番目の現在のサブモデル集合を取得する。
【0107】
なお、サーバーは類似サブモデルを得た後に、類似サブモデルと、i番目の第一対象に対応する第一サブモデルとの間の類似度と、第一所定類似度との対比を行い、類似サブモデルと、i番目の第一対象に対応する第一サブモデルとの間の類似度が第一所定類似度よりも大きいときに、i番目の第一対象に対応する第一サブモデルに対応する第一対象(例えば、コンビニエンスストアA)と、類似サブモデルに対応する第一対象(例えば、コンビニエンスストアB)とがデータ量の面において類似したことを表す。このときに、サーバーはi番目の第一対象に対応する第一サブモデルと、類似サブモデルとを合併し、合併の結果は合併後のサブモデルである。続いて、サーバーは、合併後のサブモデルでi-1番目の現在のサブモデル集合における類似サブモデルを置換することで、置換後のi-1番目の現在のサブモデル集合、即ち、i番目の現在のサブモデル集合を完成する。
【0108】
S3104:i番目の第一対象に対応する第一サブモデルと、類似サブモデルとの対応する類似度が第一所定類似度以下であるときに、更新待ちサブモデルを現在のサブモデル集合に插入することで、現在のサブモデル集合に対しての更新を完了する。
【0109】
なお、類似サブモデルと、i番目の第一対象に対応する第一サブモデルとの間の類似度が第一所定類似度以下であるときに、i番目の第一対象に対応する第一サブモデルに対応する第一対象(例えば、コンビニエンスストアA)と、類似サブモデルに対応する第一対象(例えば、コンビニエンスストアB)とがデータ量の面において類似しないことを表す。このときに、サーバーはi番目の第一対象に対応する第一サブモデルをi-1番目の現在のサブモデル集合に插入することで、插入後のi-1番目の現在のサブモデル集合、即ち、i番目の現在のサブモデル集合を完成する。
【0110】
S3105:iに基づく反復により取得されたI番目の現在のサブモデル集合を少なくとも1つの第二対象サブモデルと決定する。
【0111】
本出願の実施例において、サーバーは第一対象集合をトラバースするときに、第一対象集合における任意の第一対象について、すべて、S3102乃至S3104のプロセスを採用して現在の第一対象に対応する現在のサブモデル集合を更新し、第一対象集合に対してのトラバースを完了したときに、取得した更新後の現在のサブモデル集合は構築される少なくとも1つの第二対象サブモデルになる。
【0112】
本出願の実施例において、S3102はさらにS31021-S31024を含み、言い換えれば、サーバーが第一所定対象モデルにおける現在の第一対象に対応する更新待ちサブモデルと、各第二対象に対応する現在のサブモデル集合における各現在のサブモデルのそれぞれとの対比を行い、類似サブモデルを得ることはS31021-S31024を含む。以下、各ステップについてそれぞれ説明する。
【0113】
S31021:トラバースしたi番目の第一対象に対応する第一サブモデルのうちから、複数の目標セグメントに対応する複数の第一目標確率の値を得る。
【0114】
なお、各第一対象に対応する第一サブモデルが複数の目標セグメントに対応する複数の確率の値であるため、トラバースしたi番目の第一対象に対応する第一サブモデルは複数の目標セグメントに対応する複数の確率の値も含み、ここで、複数の目標セグメントに対応する複数の第一目標確率の値と称し、即ち、複数の目標セグメントに対応する複数の第一目標確率の値は、更新待ちサブモデルに対応する複数の目標セグメントと、複数の確率の値との間の関係であり、そのうち、複数の目標セグメントは複数の第一目標確率の値と一対一対応する。
【0115】
S31022:i-1番目の現在のサブモデル集合における各現在のサブモデルのうちから、複数の目標セグメントに対応する複数の第二目標確率の値を得る。
【0116】
なお、i-1番目の現在のサブモデル集合における各現在のサブモデルには複数の目標セグメントに対応する複数の確率の値も含まれ、ここで、複数の目標セグメントに対応する複数の第二目標確率の値と称し、即ち、複数の目標セグメントに対応する複数の第二目標確率の値は、各現在のサブモデルに対応する複数の目標セグメントと、複数の確率の値との間の関係であり、そのうち、複数の目標セグメントは複数の第二目標確率の値と一対一対応する。
【0117】
S31023:複数の第一目標確率の値と、複数の第二目標確率の値とを一対一対応して対比することで、複数の最小確率の値を取得し、そして、複数の最小確率の値の累積合計を、i番目の第一対象に対応する第一サブモデルと、各現在のサブモデルとの類似度と決定する。
【0118】
なお、複数の第二目標確率の値が複数の第一目標確率の値と一対一対応するので、サーバーはトラバースしたi番目の第一対象に対応する第一サブモデルの複数の第一目標確率の値と、各現在のサブモデルの複数の第二目標確率の値との対比を行うことで、トラバースしたi番目の第一対象に対応する第一サブモデルと、各現在のサブモデルとの類似度を決定し、トラバースしたi番目の第一対象に対応する第一サブモデルと、各現在のサブモデルとの類似度を得た後に、i-1番目の現在のサブモデル集合における少なくとも1つの現在のサブモデルに対応する少なくとも1つの類似度を取得している。
【0119】
ここで、複数の最小確率の値は複数の第一目標確率の値と一対一対応し、かつ複数の最小確率の値は複数の第二目標確率の値と一対一対応し、i-1番目の現在のサブモデル集合における少なくとも1つの現在のサブモデルは複数の類似度と一対一対応する。
【0120】
図7を参照する。
図7は本出願の実施例により提供される例示的な類似度の取得を示す図である。
図7に示すように、横坐標が対数をとった後の金額の値であり、縦坐標が確率の値である坐標系では、i番目の第一対象に対応する第一サブモデル7-1と、各現在のサブモデル7-2との類似度は領域7-3に対応する面積である。ここで、i番目の第一対象に対応する第一サブモデル7-1に対応する複数の第一目標確率の値がa
jであり、現在のサブモデル7-2に対応する複数の第二目標確率の値がb
iであり、jが2以上の整数であるときに、i番目の第一対象に対応する第一サブモデル7-1と、現在のサブモデル7-2との類似度Sは以下の式(1)に示すとおりである。
【0121】
【数2】
ここで、nは複数の目標セグメントの数である。
【0122】
S31024:決定した、i-1番目の現在のサブモデル集合に対応する少なくとも1つの類似度のうちから、最高の類似度を選択し、そして、i-1番目の現在のサブモデル集合におおいて最高の類似度に対応する現在のサブモデルを類似サブモデルと決定する。
【0123】
本出願の実施例において、サーバーは複数の類似度のうちから最高の類似度を取得し、そして、最高の類似度がi-1番目の現在のサブモデル集合において対応する現在のサブモデルを類似サブモデルとする。
【0124】
本出願の実施例において、S3103でサーバーがi番目の第一対象に対応する第一サブモデルと、類似サブモデルとを合併して合併後のサブモデルを得ることはS31031-S31034を含む。以下、各ステップについてそれぞれ説明する。
【0125】
S31031:i番目の第一対象に対応する第一サブモデルのうちから、複数の目標セグメントに対応する複数の第一目標確率の値を得る。
【0126】
なお、S31031の実現プロセスは、説明したS31021の実現プロセスと同様である。
【0127】
S31032:類似サブモデルのうちから、複数の目標セグメントに対応する複数の合併待ち確率の値を得る。
【0128】
なお、各現在のサブモデルには複数の目標セグメントに対応する複数の確率の値も含まれ、ここで、複数の目標セグメントに対応する複数の第二目標確率の値と称し、即ち、複数の目標セグメントに対応する複数の第二目標確率の値は、各現在のサブモデルに対応する複数の目標セグメントと、複数の確率の値との間の関係であり、そのうち、複数の目標セグメントは複数の合併待ち確率の値と一対一対応する。
【0129】
S31033:複数の第一目標確率の値と、複数の合併待ち確率の値とを一対一対応して対比し、複数の最大確率の値を得る。
【0130】
なお、複数の第一目標確率の値は複数の合併待ち確率の値と一対一対応し、複数の最大確率の値は複数の第一目標確率の値と一対一対応し、かつ複数の最大確率の値は複数の合併待ち確率の値と一対一対応する。
【0131】
S31034:複数の目標セグメントと複数の最大確率の値とを組み合わせて合併後のサブモデルを得る。
【0132】
図8を参照する。
図8は本出願の実施例により提供される例示的な合併後のサブモデルの取得を示す図である。
図8に示すように、横坐標が対数をとった後の金額の値であり、縦坐標が確率の値である坐標系では、i番目の第一対象に対応する第一サブモデル8-1と、類似サブモデル8-2との対応する合併後のサブモデル8-3が示されている。ここで、i番目の第一対象に対応する第一サブモデル8-1に対応する複数の第一目標確率の値がa
jであり、類似サブモデル8-2に対応する複数の合併待ち確率の値がc
jであり、i番目の第一対象に対応する第一サブモデル8-1と、類似サブモデル8-2とを合併して合併後のサブモデル8-3を得るプロセスは次の式(2)により実現され得る。式(2)は以下のとおりである。
【0133】
【数3】
ここで、Cは合併後のサブモデル8-3を表すために用いられる。
【0134】
本出願の実施例において、S304はS3041-S3044により実現でき、つまり、サーバーが第二所定対象モデルのうちから、第二目標対象に対応し、かつ第一目標サブモデルとの類似度が最も高い第二目標サブモデルを取得することはS3041-S3044を含む。以下、各ステップについてそれぞれ説明する。
【0135】
S3041:第二所定対象モデルのうちから、第二目標対象に対応する少なくとも1つの目標第二対象サブモデルを得る。
【0136】
なお、第二所定対象モデルが各第二対象に対応する少なくとも1つの第二対象サブモデルに対して組み合わせることで得られたものであるから、サーバーは第二目標対象と、第二所定対象モデルのうちの各第二対象とのマッチングを行い、マッチングした第二対象に対応する少なくとも1つの第二対象サブモデルは少なくとも1つの目標第二対象サブモデルになる。
【0137】
S3042:第一目標サブモデルと、少なくとも1つの目標第二対象サブモデルのそれぞれとの対応する少なくとも1つの目標類似度を得る。
【0138】
本出願の実施例において、サーバーは第一目標サブモデルと、各目標第二対象サブモデルのそれぞれとを対比することで、第一目標サブモデルと各目標第二対象サブモデルとの目標類似度を得ることができ、即ち、少なくとも1つの目標第二対象サブモデルに対応する少なくとも1つの目標類似度を取得でき、そのうち、少なくとも1つの目標第二対象サブモデルは少なくとも1つの目標類似度と一対一対応する。
【0139】
なお、サーバーが複数の目標類似度を得るプロセスは上述のS31011-S31013での複数の類似度の取得プロセスと類似しているため、ここではその詳しい説明を省略する。
【0140】
S3043:各目標類似度のうちから、最高の目標類似度を取得する。
【0141】
ここで、最高の目標類似度は少なくとも1つの目標第二対象サブモデルに対応する少なくとも1つの目標類似度の各目標類似度のうちの最高の目標類似度である。
【0142】
S3044:少なくとも1つの目標第二対象サブモデルのうち、最高の目標類似度に対応する目標第二対象サブモデルを第二目標サブモデルと決定する。
【0143】
なお、サーバーは最高の目標類似度に従って、少なくとも1つの目標第二対象サブモデルのうちから、対応する目標第二対象サブモデルを選択し、選択した、最高の目標類似度に対応する目標第二対象サブモデルを第二目標サブモデルと決定し、そのうち、第二目標サブモデルと第一目標サブモデルとの類似度が最高である。
【0144】
本出願の実施例において、S305でサーバーが第二目標サブモデルに対応する目標最大データ量を得ることは、最高の目標類似度が第二所定類似度よりも大きいときに、サーバーが第二所定対象モデルにおける、第二目標対象に対応する最大のデータ量を、第二目標サブモデルに対応する目標最大データ量と決定し;最高の目標類似度が第二所定類似度以下のときに、サーバーが所定データ量を、第二目標サブモデルに対応する目標最大数と決定することを含む。ここで、所定データ量は例えば0であり、又は、他の任意の数値であっても良く、また、第一所定類似度は第二所定類似度と同じであっても良く、それとは異なっても良いが、本出願の実施例ではこれについて限定しない。
【0145】
以下、即時通信(インスタントメッセージング)クライアントの支払いのシナリオにおいて支払い注文に対して異常検出を行うプロセスを例にして、本出願の実施例の1つの実際の適用シナリオにおける例示的な応用について説明する。
【0146】
図9を参照する。
図9は本出願の実施例により提供される例示的な異常行為検出フローを示す図である。
図9に示すように、支払いのシナリオでは、ユーザが支払い注文9-1(検出待ち行為情報)を提出した後に、まず、サーバーが支払い注文に基づいて支払いを完了する前に、支払い注文を取得し、支払い注文のうちから、注文三元組9-2、即ち、ユーザ9-21(第一目標対象)、販売者9-22(第一目標対象)及び金額の値9-23(目標データ量)を得る。
【0147】
次に、サーバーは販売者モデル9-31(第一所定対象モデル)のうちから、販売者9-22に対応する販売者ヒストグラム9-311(第一目標サブモデル)を取得し、そして、販売者ヒストグラム9-311の99分位点(所定モデルパラメータ)に基づいて販売者9-22の正常取引閾値t
u(異常データ量)を決定する。正常取引閾値t
uの決定プロセスは
図4を参照できる。容易に分かるように、正常取引閾値t
uは次のようなことを表し、即ち、金額の値が正常取引閾値t
uよりも大きい場合、即ち、該金額の値に対応する支払い注文が99%の正常な場合を超えったときに、該金額の値に対応する支払い注文が販売者側で異常取引であると決定する。ここで、金額の値9-23が正常取引閾値t
uよりも大きいことは、支払い注文9-1が99%の正常な場合を超えたことを示すため、支払い注文9-1が販売者側で異常取引である結果9-41(第一検出結果)を決定する。
【0148】
その後、サーバーはユーザモデル9-32(第二所定対象モデル)のうちから、ユーザ9-21に対応する販売者ヒストグラム組9-321(少なくとも1つの目標第二対象サブモデル)を取得し、そして、販売者ヒストグラム組9-321のうちから、販売者ヒストグラム9-311と最も類似した販売者ヒストグラム9-322(第二目標サブモデル)をサーチする(見つける)。ここで、販売者ヒストグラム9-322と、販売者ヒストグラム組9-321との類似度が0.8(第二所定類似度)よりも大きい場合、ユーザモデル9-32における、ユーザ9-21に対応する履歴(過去)最大取引金額(第二目標対象に対応する最大データ量)を正常取引閾値tv(目標最大データ量)として取得し、そうでない場合、ユーザ9-21と販売者9-22との間の取引が無いことを表すため、正常取引閾値tvを0(所定データ量)として設定する。容易に分かるように、正常取引閾値tvは次のようなことを表し、即ち、金額の値が正常取引閾値tv以下の場合、該金額の値が履歴支払い注文において出現したことがあり、該金額の値に対応する支払い注文がユーザ側で正常取引であると決定する。ここで、金額の値9-23が正常取引閾値tvよりも大きいことは、金額の値9-23が履歴支払い注文において出現したことがないことを表すので、支払い注文9-1がユーザ側で異常取引である結果9-42(第二検出結果)を決定する。
【0149】
最後に、表1に示す決定マトリックスに基づいて、結果9-41及び結果9-42と併せて、支払い注文9-1が異常であり(目標検出結果)、アカウントを盗んだ取引である可能性があると決定し、そして、支払い注文9-1に対して遮る処理9-5を行うことで、ネットワーク安全性を向上させる。
【0150】
【表1】
表1に示す決定マトリックスから容易に分かるように、販売者側で支払い注文が異常支払いであることを表し、かつユーザ側で支払い注文も異常支払いであることを表すときに、支払い注文が異常支払いであると決定し;販売者側で支払い注文が異常支払いであることを表し、かつユーザ側で支払い注文が正常支払いであることを表すときに、支払い注文が正常支払いであると決定し;販売者側で支払い注文が正常支払いであることを表し、かつユーザ側で支払い注文が異常支払いであることを表すときに、支払い注文が疑似異常支払いであると決定し、このときに、実際の状況に応じて支払い注文の異常性を決定し、即ち、実際の状況に応じて支払い注文が正常であると見なしても良く、支払い注文が異常であると見なしても良く;販売者側で支払い注文が正常支払いであることを表し、かつユーザ側で支払い注文も正常支払いであることを表すときに、支払い注文が正常支払いであると決定する。
【0151】
また、本出願の実施例はさらに、もう1つの決定マトリックスを提供し、それは、表2に示すとおりである。
【0152】
【表2】
表2に示す決定マトリックスから容易に分かるように、販売者側で支払い注文が異常支払いであることを表し、かつユーザ側で支払い注文も異常支払いであることを表すときに、支払い注文が異常支払いであると決定し;販売者側で支払い注文が異常支払いであることを表し、かつユーザ側で支払い注文が正常支払いであることを表すときに、支払い注文が疑似異常支払いであると決定し、このときに、実際の状況に応じて支払い注文の異常性を決定し、即ち、実際の状況に応じて支払い注文が正常であると見なしても良く、支払い注文が異常であると見なしても良く;販売者側で支払い注文が正常支払いであることを表し、かつユーザ側で支払い注文が異常支払いであることを表すときに、支払い注文が疑似異常支払いであると決定し、このときに、実際の状況に応じて支払い注文の異常性を決定し、即ち、実際の状況に応じて支払い注文が正常であると決定しても良く、支払い注文が異常であると決定しても良く;販売者側で支払い注文が正常支払いであることを表し、かつユーザ側で支払い注文も正常支払いであることを表すときに、支払い注文が正常支払いであると決定する。
【0153】
なお、サーバーは第一検出結果及び第二検出結果に基づいて目標検出結果を決定するときに他の決定マトリックスをさらに採用しても良いが、本出願の実施例では網羅的な列挙を省略する。
【0154】
また、支払い注文の異常性を決定する上述の処理プロセスはリアルタイムであっても良く、リアルタイム/オンライン環境で実現されても良い。支払い注文の異常性を決定する上述の処理プロセスはさらに、クレジットカードの不正防止や偽造防止などのシナリオに適用することもできる。
【0155】
理解すべきは、即時通信クライアントの支払いのシナリオにおいて、支払い注文に対して異常検出を行い、検出結果に基づいて支払いが異常であると決定するときに支払いブロッキング、本人確認などの処理を行うことで、即時通信クライアントにおける支払いの安全性を保証できるということである。
【0156】
以下、引き続き、支払いシナリオにおける異常行為検出の応用について説明する。
【0157】
図10を参照する。
図10は本出願の実施例により提供される例示的なモデルの取得を示す図である。
図10に示すように、サーバーが最近(現在の所定周期)の履歴支払い注文10-1(行為情報サンプル)を取得し、そのうち、履歴支払い注文10-1における各々支払い注文は何れもユーザ(第二対象)、販売者(第一対象)及び金額(データ量)を含む。
【0158】
まず、履歴支払い注文10-1について販売者(第一所定対象類型)毎にクラスタリングを行い、各販売者の最近のすべてのユーザの取引金額10-2(データ量集合)を取得し;自然対数を用いて各販売者の最近のすべてのユーザの取引金額10-2に対して変換を行った後に、セグメント分けを行い、統計(カウント)によって金額分布ヒストグラム10-31(第一サブモデル)を取得する。
図11に示すようなヒストグラム11-1は
図10における金額分布ヒストグラム10-31であり、坐標系では、横坐標が対数をとった後の金額の値であり、縦坐標が確率の値である。各販売者に対応する金額分布ヒストグラム10-31を組み合わせることで、販売者モデル10-3を得ることができる。
【0159】
次に、履歴支払い注文10-1についてユーザ(第二所定対象類型)毎にクラスタリングを行い、最近各ユーザと取引があった各販売者10-41(第一対象集合)、及び、各ユーザが最近各販売者に支払った金額10-42を取得し、各ユーザが最近各販売者に支払った金額10-42のうちから最大の支払い金額10-421(最大データ量)を履歴最大取引金額として選択する。
【0160】
その後、最近各ユーザと取引があった各販売者10-41をトラバースし、各販売者10-411(i番目の第一対象)について、販売者モデル10-3のうちから対応する販売者金額分布ヒストグラム10-32を得る。各販売者10-411が、トラバースした各販売者10-41のうちの1番目の販売者であるときに、販売者金額分布ヒストグラム10-32をヒストグラム組10-51(現在のサブモデル集合)に直接插入し、各販売者10-411が、トラバースした各販売者10-41のうちの1番目の販売者でないときに、販売者金額分布ヒストグラム10-32と、ヒストグラム組10-51における各ヒストグラムとの対比を行い、対比によってヒストグラム組10-51のうちから類似度が最高であるヒストグラム10-511(類似サブモデル)を取得し、そのうち、対比のプロセスについては
図7を参照できる。ここで、ヒストグラム10-511と、販売者金額分布ヒストグラム10-32との間の類似度が0.8(第一所定類似度)よりも大きい場合、販売者金額分布ヒストグラム10-32をヒストグラム10-511に合併し、合併のプロセスは
図8を参照でき、また、ヒストグラム10-511と販売者金額分布ヒストグラム10-32との間の類似度が0.8以下である場合、販売者金額分布ヒストグラム10-32をヒストグラム組10-51に插入し、このようにして、各販売者10-41に対してのトラバースを完了したときに(ヒストグラム組10-51は少なくとも1つの第二対象サブモデルになる)、各ユーザに対応するヒストグラム組10-51と、最大支払い金額10-421とを組み合わせることで、第二サブモデルを得ることができ、即ち、ユーザモデル10-5(第二所定対象モデル)を取得している。
【0161】
なお、上述の第一所定対象モデル及び第二所定対象モデルの取得プロセスはオフライン環境で実行されても良い。
【0162】
理解すべきは、本出願の実施例により提供される異常行為検出方法が採用するのは教師無し学習方法であり、データに対して注釈する必要がないので、即時通信クライアントの支払いシナリオにおける検出の実行可能性を高めることができ、また、販売者モデル及びユーザモデルの取得プロセスでは販売者、ユーザ及び金額の値のみを必要とするので、3次元特徴の場合にでも即時通信クライアントの支払いシナリオにおける異常行為検出を正確に実現でき、さらに、販売者モデル及びユーザモデルの取得プロセスではデータの注釈を必要としないので、取得の効率を向上させることができ、そして、取得した販売者モデル及びユーザモデルが適時性を有するようにさせ、即時通信クライアントのリアルタイム支払い環境に適用するようにさせることもできるということである。
【0163】
以下、引き続き、本出願の実施例により提供される異常行為検出装置455がソフトウェアモジュールとして実装されるときの例示的な構造について説明する。幾つかの実施例において、
図2に示すように、記憶器450に記憶されている異常行為検出装置455におけるソフトウェアモジュールは次のようなものを含んでも良い。
【0164】
情報取得モジュール4551:検出待ち行為情報を取得するように構成され、前記検出待ち行為情報は第一目標対象、第二目標対象及び目標データ量を含み;
第一検出モジュール4552:第一所定対象モデルのうちから、前記第一目標対象に対応する第一目標サブモデルを取得するように構成され、また、前記第一検出モデル4552はさらに、所定モデルパラメータに基づいて、前記第一目標サブモデルのうちから異常データ量を決定し、前記目標データ量と前記異常データ量との対比結果に基づいて、前記検出待ち行為情報に対応する第一検出結果を決定するように構成され;
第二検出モジュール4553:第二所定対象モデルのうちから、前記第二目標対象に対応し、かつ前記第一目標サブモデルとの類似度が最も高い第二目標サブモデルを取得するように構成され、また、前記第二検出モデル4553はさらに、前記第二目標サブモデルに対応する目標最大データ量を取得し、前記目標データ量と前記目標最大データ量との対比結果に基づいて、前記検出待ち行為情報に対応する第二検出結果を決定するように構成され;
結果決定モジュール4554:前記第一検出結果及び前記第二検出結果に基づいて、前記検出待ち行為情報の目標検出結果を決定するように構成される。
【0165】
本出願の実施例において、前記異常行為検出装置455はモデル取得モジュール4555をさらに含み、それは、行為情報サンプルを取得し;第一所定対象類型に基づいて前記行為情報サンプルに対してクラスタリングを行い、各第一対象に対応するデータ量集合を取得し、前記データ量集合に基づいて、各前記第一対象に対応する第一サブモデルを構築し、構築した各前記第一対象に対応する各前記第一サブモデルを前記第一所定対象モデルと決定し;第二所定対象類型に基づいて前記行為情報サンプルに対してクラスタリングを行い、各第二対象に対応する第一対象集合及び最大データ量を取得し;前記第一対象集合をトラバースし、トラバースした前記第一対象に対応する前記第一サブモデルに基づいて、少なくとも1つの第二対象サブモデルを構築し;及び、少なくとも1つの前記第二対象サブモデルと前記最大データ量とを、各前記第二対象に対応する第二サブモデルとして組み合わせ、組み合わせた各前記第二対象に対応する各前記第二サブモデルを前記第二所定対象モデルとするように構成される。
【0166】
本出願の実施例において、前記モデル取得モジュール4555はさらに、前記データ量集合内の各データ量に対応するデータ量範囲を取得し;前記データ量範囲に対してセグメント分けを行い、複数の目標セグメントを取得し;前記データ量集合のうちから、複数の前記目標セグメントのうちの各前記目標セグメントに属するデータ量に対応する目標数をカウントし;前記目標数と、前記データ量集合に対応する集合元素数との比の値を、各前記目標セグメントに対応する確率の値として決定し;及び、決定した複数の前記目標セグメントに対応する複数の前記確率の値を、各前記第一対象に対応する前記第一サブモデルとして決定するように構成される。
【0167】
本出願の実施例において、前記モデル取得モジュール4555はさらに、前記データ量集合内の各前記データ量に対して変換を行い、変換後のデータ量集合を取得し;及び、前記変換後のデータ量集合内の各変換後のデータ量に対応する範囲を前記データ量範囲として決定するように構成される。
【0168】
本出願の実施例において、前記モデル取得モジュール4555はさらに、前記変換後のデータ量集合のうちから、複数の前記目標セグメントのうちの各前記目標セグメントに属する変換後のデータ量に対応する前記目標数をカウントするように構成される。
【0169】
本出願の実施例において、前記モデル取得モジュール4555はさらに次のように構成され、即ち、前記第一対象集合をトラバースし、トラバースした1番目の前記第一対象に対応する前記第一サブモデルを現在のサブモデルと決定し、また、前記現在のサブモデルを含む1番目の現在のサブモデル集合を構築し;iに基づく反復処理により次のようなことを実行し、即ち、トラバースしたi番目の前記第一対象に対応する前記第一サブモデルと、i-1番目の現在のサブモデル集合内の各前記現在のサブモデルのそれぞれとの対比を行い、類似サブモデルを取得し、そのうち、2<i≦Iであり、かつiは値が逓増する正整数型変数であり、Iは前記第一対象集合における第一対象の数であり;i番目の前記第一対象に対応する前記第一サブモデルと、前記類似サブモデルとの間の類似度が第一所定類似度よりも大きい場合、i番目の前記第一対象に対応する前記第一サブモデルと、前記類似サブモデルとを合併し、合併後のサブモデルを取得し、そして、前記合併後のサブモデルで前記i-1番目の現在のサブモデル集合内の前記類似サブモデルを置換することで、i番目の現在のサブモデル集合を取得し;i番目の前記第一対象に対応する前記第一サブモデルと、前記類似サブモデルとの間の類似度が前記第一所定類似度以下の場合、i番目の前記第一対象に対応する前記第一サブモデルを前記i-1番目の現在のサブモデル集合に插入することで、i番目の現在のサブモデル集合を取得し;及び、iに基づく反復処理を行うことで取得したI番目の現在のサブモデル集合を少なくとも1つの前記第二対象サブモデルと決定する。
【0170】
本出願の実施例において、前記モデル取得モジュール4555はさらに次のように構成され、即ち、トラバースしたi番目の前記第一対象に対応する前記第一サブモデルのうちから、複数の目標セグメントに対応する複数の第一目標確率の値を取得し;前記i-1番目の現在のサブモデル集合内の各前記現在のサブモデルのうちから、複数の前記目標セグメントに対応する複数の第二目標確率の値を取得し;複数の前記第一目標確率の値と、複数の前記第二目標確率の値とを一対一対応して対比することで、複数の最小確率の値を取得し、複数の前記最小確率の値の累積合計を、i番目の前記第一対象に対応する前記第一サブモデルと、各前記現在のサブモデルとの類似度と決定し;及び、決定した、前記i-1番目の現在のサブモデル集合に対応する少なくとも1つの前記類似度のうちから、最高の類似度を選択し、そして、前記i-1番目の現在のサブモデル集合において前記最高の類似度に対応する前記現在のサブモデルを前記類似サブモデルと決定する。
【0171】
本出願の実施例において、前記モデル取得モジュール4555はさらに、i番目の前記第一対象に対応する前記第一サブモデルのうちから、複数の目標セグメントに対応する複数の第一目標確率の値を取得し;前記類似サブモデルのうちから、複数の前記目標セグメントに対応する複数の合併待ち確率の値を取得し;複数の前記第一目標確率の値と、複数の前記合併待ち確率の値とを一対一対応して対比し、複数の最大確率の値を取得し;及び、複数の前記目標セグメントと、複数の前記最大確率の値とを組み合わせて、前記合併後のサブモデルを得るように構成される。
【0172】
本出願の実施例において、前記第二検出モジュール4553はさらに、前記第二所定対象モデルのうちから、前記第二目標対象に対応する少なくとも1つの目標第二対象サブモデルを取得し;前記第一目標サブモデルと、少なくとも1つの前記目標第二対象サブモデルのそれぞれとの対応する少なくとも1つの目標類似度を取得し;少なくとも1つの前記目標類似度のうちから、最高の目標類似度を取得し;及び、少なくとも1つの前記目標第二対象サブモデルのうち、前記最高の目標類似度に対応する目標第二対象サブモデルを前記第二目標サブモデルと決定するように構成される。
【0173】
本出願の実施例において、前記第二検出モジュール4553はさらに、前記最高の目標類似度が第二所定類似度よりも大きい場合、前記第二所定対象モデルにおいて前記第二目標対象に対応する最大のデータ量を、前記第二目標サブモデルに対応する前記目標最大データ量として決定し;及び、前記最高の目標類似度が前記第二所定類似度以下の場合、所定データ量を前記第二目標サブモデルに対応する前記目標最大数として決定するように構成される。
【0174】
本出願の実施例において、前記第一検出モジュール4552はさらに次のように構成され、即ち、前記目標データ量が前記異常データ量よりも大きいときに、前記検出待ち行為情報が前記第一目標対象に関して異常であると決定し、そのうち、前記第一検出結果は「前記検出待ち行為情報が前記第一目標対象に関して異常である」であり;前記目標データ量が前記異常データ量以下のときに、前記検出待ち行為情報が前記第一目標対象に関して正常であると決定し、そのうち、前記第一検出結果は「前記検出待ち行為情報が前記第一目標対象に関して正常である」である。
【0175】
本出願の実施例において、前記第二検出モジュール4553はさらに次のように構成され、即ち、前記目標データ量が前記目標最大データ量よりも大きいときに、前記検出待ち行為情報が前記第二目標対象に関して異常であると決定し、そのうち、前記第二検出結果は「前記検出待ち行為情報が前記第二目標対象に関して異常である」であり;前記目標データ量が前記目標最大データ量以下のときに、前記検出待ち行為情報が前記第二目標対象に関して正常であると決定し、そのうち、前記第二検出結果は「前記検出待ち行為情報が前記第二目標対象に関して正常である」である。
【0176】
本出願の実施例において、前記結果決定モジュール4554はさらに次のように構成され、即ち、前記第一検出結果が「前記検出待ち行為情報が前記第一目標対象に関して異常である」であり、かつ前記第二検出結果が「前記検出待ち行為情報が前記第二目標対象に関して異常である」であるときに、前記検出待ち行為情報が異常であることを含む前記目標検出結果を決定し;前記第一検出結果が「前記検出待ち行為情報が前記第一目標対象に関して正常である」であり、かつ前記第二検出結果が「前記検出待ち行為情報が前記第二目標対象に関して異常である」であるときに、前記検出待ち行為情報が異常であることを含む前記目標検出結果を決定し;前記第一検出結果が「前記検出待ち行為情報が前記第一目標対象に関して正常である」であり、かつ前記第二検出結果が「前記検出待ち行為情報が前記第二目標対象に関して正常である」であるときに、前記検出待ち行為情報が正常であることを含む前記目標検出結果を決定し;前記第一検出結果が「前記検出待ち行為情報が前記第一目標対象に関して異常である」であり、かつ前記第二検出結果が「前記検出待ち行為情報が前記第二目標対象に関して正常である」であるときに、前記検出待ち行為情報が正常であることを含む前記目標検出結果を決定する。
【0177】
本出願の実施例ではコンピュータプログラムプロダクト又はコンピュータプログラムが提供され、該コンピュータプログラムプロダクト又はコンピュータプログラムはコンピュータ命令を含み、該コンピュータ命令はコンピュータ可読記憶媒体に記憶されている。異常行為検出機器の処理器はコンピュータ可読記憶媒体から該コンピュータ命令を読み取り、該処理器は該コンピュータ命令を実行することで、該コンピュータ装置に、本出願の実施例の上述の異常行為検出方法を実行させる。
【0178】
本出願の実施例では実行可能な命令を記憶しているコンピュータ可読記憶媒体が提供され、その中には実行可能な命令が記憶されており、実行可能な命令は処理器により実行されるときに、処理器は本出願の実施例により提供される異常行為検出方法、例えば、
図3に示すような異常行為検出方法を実行する。
【0179】
幾つかの実施例において、コンピュータ可読記憶媒体はFRAM、ROM、PROM、EPROM、EEPROM、フレッシュメモリ、磁気表面メモリ、光ディスク、CD-ROMなどの記憶器であっても良く、これらの記憶器のうちの1つ又は任意の組み合わせの各種の装置であっても良い。
【0180】
幾つかの実施例において、実行可能な命令はプログラム、ソフトウェア、ソフトウェアモジュール、スクリプト又はコードの形式を採用し、あらゆる形式のプログラミング言語(コンパイラ型又はインタプリタ型言語、あるいは、宣言型又は手続き型言語)で書かれても良く、また、任意の形式で構成されても良く、例えば、独立したプログラム、モジュール、コンポーネント、サブルーチン、又はコンピューティング環境での使用に適したその他のユニットとして構成されても良い。
【0181】
一例として、実行可能な命令は必ずファイルシステムにおけるファイルに対応する必要がないが、他のプログラム又はデータを格納するファイルの一部に記憶されても良く、例えば、HTML(Hyper Text Markup Language)ドキュメントにおける1つ又は複数のスクリプトに記憶されても良く、かかるプログラムに専用の単一のファイルに記憶されても良く、又は、複数の関連ファイル(例えば、1つ又は複数のモジュール、サブルーチン又はコードを記憶するファイル)に記憶されても良い。
【0182】
一例として、実行可能な命令は1つの計算装置で実行されるように構成されても良く、又は1つの場合における複数の計算装置で実行されるように構成されても良く、又は、複数の場所に分散しておりかつ通信ネットワークにより互いに接続される複数の計算装置で実行されるように構成されても良い。
【0183】
以上のことから、本出願の実施例により、検出待ち行為情報が第一目標対象、第二目標対象及び目標データ量の3次元特徴を含むときに、目標データ量と、異常データ量及び目標最大データ量のそれぞれとのの比較結果を基づいて、検出待ち行為情報が異常性を有するかの目標検出結果を決定するプロセスでは、異常データ量が、第一所定対象モデルに基づいて決定された、第一目標対象についての異常判断条件であり、目標最大データ量が、第二所定対象モデルに基づいて決定された、第二目標対象についての異常判断条件であるので、低次元特徴の下で、第一目標対象及び第二目標対象の2次元から目標データ量が所定区間にあるかを判断することで、検出待ち行為情報が異常であるかの目標検出結果を正確に得ることができ、異常行為検出の正確さが高い。
【0184】
以上、本出願の好ましい実施例を説明したが、本出願はこの実施例に限定されず、本出願の趣旨を離脱しない限り、本出願に対するあらゆる変更は本出願の技術的範囲に属する。