(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-11-04
(45)【発行日】2022-11-14
(54)【発明の名称】出力装置、出力方法及び出力プログラム
(51)【国際特許分類】
G06Q 30/08 20120101AFI20221107BHJP
【FI】
G06Q30/08
(21)【出願番号】P 2020105478
(22)【出願日】2020-06-18
【審査請求日】2021-08-19
(73)【特許権者】
【識別番号】319013263
【氏名又は名称】ヤフー株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】塚原 剛
【審査官】萩島 豪
(56)【参考文献】
【文献】米国特許出願公開第2017/0221075(US,A1)
【文献】特許第4377443(JP,B1)
【文献】国際公開第2020/044814(WO,A1)
【文献】特開2019-067270(JP,A)
【文献】特開2010-097450(JP,A)
【文献】特表2020-509498(JP,A)
【文献】米国特許出願公開第2018/0046939(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00 - 99/00
(57)【特許請求の範囲】
【請求項1】
オークションにおける所定の購買行動を示し、当該所定の購買行動が、検知対象となる不正な行動であるかを示す履歴に基づいて、当該履歴を分類する分類条件
であって、前記オークションにおける購買行動が前記不正な行動であるかを判定するために使用される条件であり、前記オークションの購入者の評価を含み、かつ、前記所定の購買行動の決済金額、前記所定の購買行動の取引対象の種別及び前記取引対象の出品数のうちの少なくとも1つを含む分類条件を
決定する取得部と、
前記分類条件の組み合わせのうち、当該分類条件の組み合わせを満たす行動のうち、
前記検知対象となる
不正な行動の割合が所定の条件を満たす分類条件の組み合わせを特定する特定部と、
前記特定部によって特定された分類条件の組み合わせを、前記検知対象となる
不正な行動を検知するための検知条件として出力する出力部と
を備えることを特徴とする出力装置。
【請求項2】
前記取得部は、前記履歴から、条件判定によって行動が検知対象であるかを予測する予測モデルを生成し、生成された予測モデルから、前記分類条件を取得する
ことを特徴とする請求項1に記載の出力装置。
【請求項3】
前記取得部は、前記予測モデルとして、行動が検知対象であるかを予測する決定木を生成し、生成された決定木の少なくとも1つのノードにそれぞれ対応する少なくとも1つの分岐条件を、前記分類条件として取得する
ことを特徴とする請求項2に記載の出力装置。
【請求項4】
前記特定部は、前記取得部によって、前記分類条件として取得された少なくとも1つの分岐条件から、前記分類条件の組み合わせを満たす行動のうち検知対象となる行動の割合が前記所定の条件を満たす前記分類条件の組み合わせとして、不純度に関する条件を満たす分岐条件の組み合わせを特定する
ことを特徴とする請求項3に記載の出力装置。
【請求項5】
前記特定部は、前記少なくとも1つのノードから、不純度が閾値を下回り、かつクラスが検知対象であるリーフノードを特定し、前記決定木を特定されたリーフノードからルートノードまでたどることによって、前記不純度に関する条件を満たす分岐条件の組み合わせを特定する
ことを特徴とする請求項4に記載の出力装置。
【請求項6】
コンピュータが実行する出力方法であって、
オークションにおける所定の購買行動を示し、当該所定の購買行動が、検知対象となる不正な行動であるかを示す履歴に基づいて、当該履歴を分類する分類条件
であって、前記オークションにおける購買行動が前記不正な行動であるかを判定するために使用される条件であり、前記オークションの購入者の評価を含み、かつ、前記所定の購買行動の決済金額、前記所定の購買行動の取引対象の種別及び前記取引対象の出品数のうちの少なくとも1つを含む分類条件を
決定する取得工程と、
前記分類条件の組み合わせのうち、当該分類条件の組み合わせを満たす行動のうち、
前記検知対象となる
不正な行動の割合が所定の条件を満たす分類条件の組み合わせを特定する特定工程と、
前記特定工程によって特定された分類条件の組み合わせを、前記検知対象となる
不正な行動を検知するための検知条件として出力する出力工程と
を含むことを特徴とする出力方法。
【請求項7】
オークションにおける所定の購買行動を示し、当該所定の購買行動が、検知対象となる不正な行動であるかを示す履歴に基づいて、当該履歴を分類する分類条件
であって、前記オークションにおける購買行動が前記不正な行動であるかを判定するために使用される条件であり、前記オークションの購入者の評価を含み、かつ、前記所定の購買行動の決済金額、前記所定の購買行動の取引対象の種別及び前記取引対象の出品数のうちの少なくとも1つを含む分類条件を
決定する取得手順と、
前記分類条件の組み合わせのうち、当該分類条件の組み合わせを満たす行動のうち、
前記検知対象となる
不正な行動の割合が所定の条件を満たす分類条件の組み合わせを特定する特定手順と、
前記特定手順によって特定された分類条件の組み合わせを、前記検知対象となる
不正な行動を検知するための検知条件として出力する出力手順と
をコンピュータに実行させることを特徴とする出力プログラム。
【請求項8】
前記取得手順は、前記履歴から、条件判定によって行動が検知対象であるかを予測する予測モデルを生成し、生成された予測モデルから、前記分類条件を取得する
ことを特徴とする請求項
7に記載の出力プログラム。
【請求項9】
前記取得手順は、前記予測モデルとして、行動が検知対象であるかを予測する決定木を生成し、生成された決定木の少なくとも1つのノードにそれぞれ対応する少なくとも1つの分岐条件を、前記分類条件として取得する
ことを特徴とする請求項
8に記載の出力プログラム。
【請求項10】
前記特定手順は、前記取得手順によって、前記分類条件として取得された少なくとも1つの分岐条件から、前記分類条件の組み合わせを満たす行動のうち検知対象となる行動の割合が前記所定の条件を満たす前記分類条件の組み合わせとして、不純度に関する条件を満たす分岐条件の組み合わせを特定する
ことを特徴とする請求項
9に記載の出力プログラム。
【請求項11】
前記特定手順は、前記少なくとも1つのノードから、不純度が閾値を下回り、かつクラスが検知対象であるリーフノードを特定し、前記決定木を特定されたリーフノードからルートノードまでたどることによって、前記不純度に関する条件を満たす分岐条件の組み合わせを特定する
ことを特徴とする請求項
10に記載の出力プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、出力装置、出力方法及び出力プログラムに関する。
【背景技術】
【0002】
従来、各種行動を検知するための技術が提案されている。例えば、不正行為を行った特定のユーザと、この特定のユーザとつながりを持つユーザとを示すグラフを使用することによって、不正行為を行ったユーザを推定することが提案されている(特許文献1)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上記の従来技術では、検知対象となる行動の検知に有用な条件を得ることができるとは限らない。例えば、上記の従来技術では、検知対象となる行動の検知に有用な条件が、不正行為を行った特定のユーザと、この特定のユーザとつながりを持つユーザとを示すグラフから得られるとは限らない。
【0005】
本願は、上記に鑑みてなされたものであって、検知対象となる行動の検知に有用な条件を得ることを目的とする。
【課題を解決するための手段】
【0006】
本開示の実施形態に係る出力装置は、所定の行動の履歴に基づいて、当該履歴を分類する分類条件を取得する取得部と、前記分類条件の組み合わせのうち、当該分類条件の組み合わせを満たす行動のうち、検知対象となる行動の割合が所定の条件を満たす分類条件の組み合わせを特定する特定部と、前記特定部によって特定された分類条件の組み合わせを、前記検知対象となる行動を検知するための検知条件として出力する出力部とを備える。
【発明の効果】
【0007】
実施形態の一態様によれば、検知対象となる行動の検知に有用な検知条件を得ることができる。
【図面の簡単な説明】
【0008】
【
図1A】
図1Aは、本開示の例示的な実施形態に係る、決定木モデルを使用して判定ルールを生成する判定ルール生成処理の一例を示す説明図である。
【
図1B】
図1Bは、本開示の例示的な実施形態に係る、決定木モデルを使用して判定ルールを生成する判定ルール生成処理の一例を示す説明図である。
【
図1C】
図1Cは、本開示の例示的な実施形態に係る、決定木モデルを使用して判定ルールを生成する判定ルール生成処理の一例を示す説明図である。
【
図1D】
図1Dは、本開示の例示的な実施形態に係る、決定木モデルを使用して判定ルールを生成する判定ルール生成処理の一例を示す説明図である。
【
図2】
図2は、実施形態に係る情報出力システムの一例を示す図である。
【
図3】
図3は、実施形態に係る情報出力装置によって実行される、決定木モデルを使用して不正判定ルールを自動生成するための処理の一例を示すフローチャートである。
【
図4】
図4は、ハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【0009】
以下、本開示の実施形態について、図面を参照しつつ詳細に説明する。なお、この実施形態により本発明が限定されるものではない。1つまたは複数の実施形態の詳細は、以下の説明および図面に記載される。また、複数の実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。また、以下の1つまたは複数の実施形態において同一の部位には同一の符号を付し、重複する説明は省略する。
【0010】
〔1.例示的な実施形態〕
まず、
図1を参照して、本開示の例示的な実施形態について詳細に説明する。
【0011】
〔1-1.例示的な実施形態の概要〕
例示的な実施形態に係る情報出力装置は、不正判定のためのモデルアルゴリズムとして、決定木を採用する。そして、情報出力装置は、決定木の中から、不純度の低いノードを分岐条件として抽出することによって、高い適合率かつ説明性の高い判定ルールを、自動的に生成する。
【0012】
〔1-2.例示的な実施形態の序論〕
一般的に、不正判定は、ルールベースの判定手法や、機械学習ベースの判定手法に基づいて行われる。しかしながら、ルールベースの判定手法および機械学習ベースの判定手法に関しては、次のような問題がでてくる場合がある。
【0013】
(ルールベースの判定手法に関する問題の一例)
人手によるルールの作成は、時間と労力を要する。また、ルールを分析して検証するのに時間がかかる。加えて、不正の傾向変化に追従してルールを修正することが難しい。
【0014】
(機械学習ベースの判定手法に関する問題の一例)
モデルの説明性を重視することが求められる場合に、ビジネスの要件を満たす高い精度のモデルを作ることが難しい。また、高い精度のモデル(例えば、勾配ブースティング木、Deep Learning等)の判断を解釈することが難しい。このようなモデルは、一般的に、ブラックボックスモデルである。すなわち、モデルの精度と説明性との間のトレードオフが存在する。
【0015】
上記のような問題に加えて、不正判定に特有の問題が存在する。不正判定に特有の問題は、偽陽性判定(False Positive、FP)を極力避けることが求められることである。言い換えると、高い適合率が、不正判定において求められる。比喩的に言えば、不正判定システムの管理者は、ユーザを誤って誤爆すること(すなわち、FP)を避けたい。ターゲティング広告といった分野では、広告配信システムの管理者は、いくつかの広告が適切なターゲットを外れたとしても、広告の多くが、適切なターゲットに配信されるという方針をとることもある。しかしながら、不正判定の分野では、ユーザ体験を損なうことを避けるために、可能な限り誤判定を防ぐことが求められる。
【0016】
したがって、不正判定では、高い説明性(例えば、なぜ行動が不正と判断されたのか)が求められる。高い説明性の観点からは、不正判定の処理の全てを、機械学習モデルに任せることは難しい。そこで、ルールベースの不正判定が求められている。ルールベースの不正判定は、ドメインルールに基づく判定である。例えば、ドメインルールに基づく判定は、規約違反、ブラックリスト判定等の判定である。このようなルールは、特定の行動を一律に不正行動としてとらえる。
【0017】
そこで、例示的な実施形態に係る情報出力装置は、上述のような高い説明性を満たす判定ルールを自動的に生成するために、以下に説明される判定ルール生成処理を実行する。
【0018】
〔1-3.判定ルール生成処理〕
以下では、
図1A~
図1Dを参照して、例示的な実施形態に係る判定ルール生成処理について説明する。
【0019】
図1A~
図1Dは、本開示の例示的な実施形態に係る、決定木モデルを使用して判定ルールを生成する判定ルール生成処理の一例を示す説明図である。例示的な実施形態では、判定ルール生成処理が、
図2を参照して後述する情報出力装置100によって行われる。情報出力装置100は、出力装置の一例である。
【0020】
図1A~
図1Dの例では、情報出力装置100は、不正決済への対策のために、決定木モデルを使用した不正判定ルールを生成する。
【0021】
図1Aを参照すると、はじめに、情報出力装置100は、過去の不正データを使用することによって、決定木アルゴリズムによる分類モデルを作成する(ステップS1)。
【0022】
図1Aの例では、情報出力装置100は、過去の不正データから、決定木DT1を作成する。過去の不正データは、例えば、過去の不正判定のログである。情報出力装置100は、過去の不正データを、訓練データとして決定木アルゴリズムに与え、決定木アルゴリズムによる分類モデルを作成する。決定木DT1は、ルートノードRN1を含む、複数のノードを有する。
【0023】
図1Aに示された「丸」は、通常の決済に対応するノードである。丸いノードでは、通常の決済の数が、不正な決済の数よりも多い。丸いノードのクラスは、「通常」である。一方、
図1Aに示された「四角」は、不正の決済に対応するノードである。四角いノードでは、不正の決済の数が、通常の決済の数よりも多い。四角いノードのクラスは、「不正」である。
【0024】
図1Bを参照すると、
図1AのステップS1の後に、情報出力装置100は、生成された分類モデルの中から、不正判定かつジニ不純度の低いノードを抽出する(ステップS2)。
【0025】
例えば、情報出力装置100は、ノードの不純度が閾値(例えば、「0.2」)以下であり、かつクラスが不正であるノードを抽出する。
図1Bの例では、情報出力装置100は、不正判定かつジニ不純度の低いノードとして、リーフノードLN1を抽出すると仮定する。なお、ノードは、「gini属性」、「sample属性」、「value属性」および「class属性」を有する。
【0026】
ノードの「gini属性」は、ノードの不純度を示す。
図1Bの例では、リーフノードLN1の不純度は、「0.0」である。ノードの「sample属性」は、ノードによって処理された訓練インスタンスの数(例えば、過去の不正判定のログの数)を示す。
図1Bの例では、リーフノードLN1の訓練インスタンスの数は、「14」である。ノードの「value属性」は、各クラスの訓練インスタンスのうちのノードの条件に当てはまるインスタンスの数を示す。
図1Bの例では、リーフノードLN1の条件に当てはまる不正クラスの訓練インスタンスの数が「0」であり、リーフノードLN1の条件に当てはまる通常クラスの訓練インスタンスの数が「14」である。ノードの「class属性」は、ノードのクラスを示す。
図1Bの例では、リーフノードLN1のクラスは、「black(不正)」である。
【0027】
図1Cを参照すると、
図1BのステップS2の後に、情報出力装置100は、抽出されたノードの分岐条件を、ルールとして抽出する(ステップS3)。
【0028】
一般的に、高い不正の確率のノードは、クラスが不正であり(すなわち、不正のログの数が、通常のログの数よりも多い)、不純度が低いノードである。そして、このような高い不正の確率のノードからルートノードに辿りつくまでのライン(すなわち、経路)は、いくつかの分岐条件を含む。情報出力装置100は、抽出されたノードに辿りつく分岐条件を抽出する。
【0029】
図1Cの例では、抽出されたノードLN1の分岐条件として、内部ノードIN1、内部ノードIN2、内部ノードIN3およびルートノードRN1にそれぞれ対応する4つの分岐条件を抽出する。
図1Cの例では、4回の分岐が、ノードLN1からルートノードRN1に辿りつくまでのラインで発生している。
【0030】
内部ノードIN1、内部ノードIN2、内部ノードIN3およびルートノードRN1にそれぞれ対応する4つの分岐条件は、「settle_price>50000」、「category_id=3333」、「quantity<5」および「buyer_rate<1」である。「settle_price>50000」は、決済金額が5万円より大きいことを示す。「category_id=3333」は、商品が特定のカテゴリに属することを示す。「quantity<5」は、出品数が「5」未満であることを示している。「buyer_rate<1」は、購入者の評価が「1」未満であることを示す。
【0031】
図1Cの例では、情報出力装置100は、「settle_price>50000」かつ「category_id=3333」かつ「quantity<5」かつ「buyer_rate<1」を、第1のルールR1として作成する。すなわち、第1のルールR1は、「settle_price>50000」かつ「category_id=3333」かつ「quantity<5」かつ「buyer_rate<1」という条件を満たす決済を、不正決済として判定するものである。
【0032】
同様に、情報出力装置100は、抽出された他のノードの分岐条件を、他のルール(例えば、第2のルール、第3のルール)として抽出する。このようにして、情報出力装置100は、ルール群を作成する。
【0033】
図1Dを参照すると、
図1CのステップS3の後に、情報出力装置100は、作成されたルール群を検証用の過去の不正データに照合し、適合率の高いルールを採用する(ステップS4)。
図1Dに示された「precision」は、適合率を示す。
図1Dの例では、情報出力装置100は、適合率が「0.7」以上であるルールを採用すると仮定する。この例では、情報出力装置100は、適合率の高いルールとして、第1のルールR1を採用する。
【0034】
その後、情報出力装置100は、採用されたルールを、既存のルール管理システムに登録する(ステップS5)。
図1Dの例では、情報出力装置100は、第1のルールR1を、ルール管理システムRMS1に登録する。
図1Dに示されるように、第1のルールR1は、条件グループCG1に追加される。第1のルールR1は、条件グループCG1に含まれる他のルールと同様に扱われ得る。情報出力装置100は、ルール管理システムRMS1に自動的に連携することができる。
【0035】
〔1-4.例示的な実施形態の効果〕
上述のように、例示的な実施形態に係る情報出力装置100は、不正判定ルールの作成を自動化することができる。作成された不正判定ルール自体は、過去の不正データに基づく、機械学習の決定木を使用して作成されている。このため、情報出力装置100は、決定木を更新することによって、不正の傾向変化に追従することができる。
【0036】
また、決定木の計算リソースは、ディープラーニング等のアルゴリズムの計算リソースよりも少なく、決定木は、短時間の計算で、処理結果を出力することができる。このため、情報出力装置100は、決定木の中の分岐条件を、部分的に採用することによって、高い適合率かつ説明性の高い判定ルール(すなわち、判定条件)を、少ない計算リソースで生成することができる。これにより、情報出力装置100は、高い適合率かつ説明性の高い判定ルールを、既存のルールベースの運用に統合することができる。
【0037】
不正判定の精度に関しては、生成された決定木モデルの全体が普通に使用される場合に、不正判定かつジニ不純度の高いノードも、不正判定の結果につながる。この場合、新たなインスタンス(例えば、テストセット)に対する予測の精度は、高くない場合がある。一方、情報出力装置100は、決定木モデルのノードの中から、不正判定かつジニ不純度の低いノードを抽出することによって、不正判定のカバー率は低いが、適合率が高い判定ルールを採用することができる。このため、情報出力装置100は、決定木モデルのノードに対応する判定ルールから、適合率が高い判定ルールを部分的に採用することができる。
【0038】
以下、このような判定ルール生成処理を行う情報出力装置100について詳細に説明する。
【0039】
〔2.情報出力システム〕
次に、
図2を参照して、情報出力装置100を含むシステムの構成例について説明する。
【0040】
〔2-1.情報出力システムの構成要素〕
図2は、実施形態に係る情報出力システム1の一例を示す図である。
図2に示されるように、情報出力システム1は、情報出力装置100、情報提供装置200およびユーザ装置300等の構成要素を含む。
図1中では図示していないが、情報出力システム1は、複数台の情報出力装置100や、複数台の情報提供装置200や、複数台のユーザ装置300を含んでもよい。また、情報出力システム1は、情報出力装置100に関係するエンティティ(例えば、業者、エンドユーザ)の装置等の、他の構成要素を含んでもよい。
【0041】
情報出力システム1において、情報出力装置100、情報提供装置200およびユーザ装置300は、それぞれネットワークNと有線又は無線により接続される。ネットワークNは、例えば、インターネット、WAN(Wide Area Network)、LAN(Local Area Network)等のネットワークである。情報出力システム1の構成要素は、ネットワークNを介して互いに通信を行うことができる。
【0042】
情報出力装置100(出力装置の一例に相当)は、各種行動の検知のための処理を実行する情報処理装置である。例えば、情報出力装置100は、各種行動を検知するための検知条件を出力する。各種行動の一例は、オークション、ショッピング、フリーマーケットといった電子商取引サービスにおける不正行為である。
【0043】
情報出力装置100は、サーバを含む、任意のタイプの情報処理装置であってもよい。複数台の情報出力装置100が、ウェブサーバ、アプリケーションサーバ、データベースサーバ等の各種サーバの機能をそれぞれ提供してもよい。情報出力装置100の構成例は、次の節で詳述される。
【0044】
情報提供装置200は、情報出力装置100に各種情報を提供する情報処理装置である。情報提供装置200は、上述の各種行動の検知のための処理に使用される各種情報(例えば、ユーザ情報)を、情報出力装置100に提供する。情報提供装置200は、サーバを含む、任意のタイプの情報処理装置であってもよい。
【0045】
一例として、情報提供装置200は、オークション、ショッピング、フリーマーケットといった電子商取引サービスを、ユーザ装置300のユーザに提供する。情報提供装置200は、電子商取引サービスの提供を通じて、ユーザの行動履歴を収集することができる。ユーザの行動履歴の例は、オークション、ショッピングまたはフリーマーケットの購入ログ等を含む。情報提供装置200において、このような購入ログは、購入ログが通常のログであることを示すタグや、購入ログが不正行為(例えば、商品キャンセル、架空取引、不正ログイン)に対応することを示すタグに関連付けられる。情報提供装置200は、通常または不正のタグに関連付けられた購入ログを、情報出力装置100に提供することができる。
【0046】
ユーザ装置300は、ユーザによって利用される情報処理装置である。ユーザ装置300は、情報提供装置200によって提供される電子商取引サービスへのアクセスを要求することができる。ユーザ装置300は、スマートフォン、デスクトップ型PC(Personal Computer)、ノート型PC、タブレット型PC等のクライアント装置を含む、任意のタイプの情報処理装置であってもよい。
【0047】
一例として、ユーザ装置300のユーザは、上述の電子商取引サービスを利用する。購入ログ等の行動履歴は、電子商取引サービスを介して、情報提供装置200によって収集される。
【0048】
〔2-2.情報出力装置の構成〕
図2に示されるように、情報出力装置100は、通信部110と、記憶部120と、制御部130とを有する。なお、情報出力装置100は、情報出力装置100を利用する管理者等から各種操作を受け付ける入力部(例えば、キーボードやマウス等)や、各種情報を表示するための表示部(液晶ディスプレイ等)を有してもよい。
【0049】
(通信部110)
通信部110は、例えば、NIC(Network Interface Card)等によって実現される。通信部110は、有線または無線によりネットワーク網と接続される。通信部110は、情報提供装置200およびユーザ装置300に、ネットワークNを介して、通信可能に接続されてもよい。通信部110は、情報提供装置200およびユーザ装置300との間で、ネットワーク網を介して、情報の送受信を行うことができる。
【0050】
(記憶部120)
記憶部120は、例えば、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。
図2に示されるように、記憶部120は、ユーザ情報記憶部121と、モデル記憶部122とを有する。
【0051】
(ユーザ情報記憶部121)
ユーザ情報記憶部121は、ユーザ情報を記憶する。ユーザ情報は、各種行動の検知のための処理に使用される情報である。例えば、ユーザ情報は、オークション、ショッピング、フリーマーケットといった電子商取引サービスを利用するユーザの行動情報や属性情報を含む。
【0052】
ユーザ情報は、例えば、電子商取引サービスにおける取引のログを含み得る。取引のログの一例は、オークション、ショッピングまたはフリーマーケットの購入ログである。購入ログは、決済金額、カテゴリの識別子、購入者の評価等のデータを含む。
【0053】
また、ユーザ情報は、ログに関連付けられたラベルを含み得る。ラベルは、例えば、取引が不正であるかを示す。一例として、ラベルは、不正の有無(「0」または「1」のラベル)を示す値である。
【0054】
一例では、ユーザ情報は、過去の不正データである。
図1Aを参照して上述したように、例えば、過去の不正データは、過去の不正判定のログである。
【0055】
(モデル記憶部122)
モデル記憶部122は、モデル(すなわち、機械学習モデル)を記憶する。モデル記憶部122は、後述する取得部132によって生成された予測モデル(例えば、機械学習モデルのデータ)を記憶することができる。いくつかの実施形態では、後述する受信部131によって受信されたモデルを記憶してもよい。
【0056】
一例では、モデルは、過去の不正データで構築された決定木である。
図1Cを参照して上述したように、決定木のノードは、「settle_price>50000」(「決済金額が5万円より大きいか」)、「category_id=3333」(「商品が特定のカテゴリ(例えば、商品カテゴリの識別子「3333」であるか」)、「quantity<5」(「出品数が5個未満であるか」)、「buyer_rate<1」(「購入者の評価が1未満であるか」)等を尋ねてくる。決定木は、決済に関連する他の質問(すなわち、分岐条件)に対応する他のノードも含み得る。例えば、他の質問は、「送料が5万円以上であるか」であってもよい。また、例えば、他の質問は、「ユーザのIDが作成されてからn日(nは任意の自然数)が経過したか」であってもよい。
【0057】
(制御部130)
制御部130は、コントローラ(controller)であり、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)等のプロセッサによって、情報出力装置100内部の記憶装置に記憶されている各種プログラム(出力プログラムの一例に相当)がRAM等を作業領域として実行されることにより実現される。また、制御部130は、コントローラ(controller)であり、例えば、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)、GPGPU(General Purpose Graphic Processing Unit)等の集積回路により実現されてもよい。
【0058】
制御部130は、
図2に示されるように、受信部131と、取得部132と、特定部133と、出力部134とを有し、以下に説明する情報処理の機能や作用を実現又は実行する。また、制御部130は、
図1A~
図1Dを参照して上述した判定ルール生成処理を実現することができる。情報出力装置100の1つまたは複数のプロセッサは、情報出力装置100の1つまたは複数のメモリに記憶された命令を実行することによって、制御部130内の各制御部の機能を実現することができる。なお、制御部130の内部構成は、
図2に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。例えば、特定部133は、特定部133以外の部に関して後述する情報処理の全部または一部を行ってもよい。
【0059】
(受信部131)
受信部131は、各種行動の検知のための処理に使用される各種情報を受信することができる。例えば、受信部131は、上述のユーザ情報を受信することができる。受信部131は、モデル(例えば、決定木モデル)を受信してもよい。受信部131は、情報提供装置200から、各種情報を受信することができる。
【0060】
受信部131は、特徴情報等の各種情報を、所定の情報処理装置(例えば、情報出力装置100に関係するエンティティ(例えば、特定のインターネット企業)の装置)から受信することができる。また、例えば、受信部131は、情報出力装置100を利用する管理者から、ユーザインタフェースを介して、このような情報を受信することができる。受信部131は、ユーザ情報記憶部121に、受信されたユーザ情報を格納してもよい。また、受信部131は、モデル記憶部122に、受信されたモデルを格納してもよい。
【0061】
(取得部132)
取得部132は、各種行動の検知のための処理に使用される各種情報を取得することができる。取得部132は、記憶部120から各種情報を取得することができる。例えば、取得部132は、上述のユーザ情報を、ユーザ情報記憶部121から取得することができる。また、例えば、モデルを、モデル記憶部122から取得することができる。
【0062】
少なくとも1つの実施形態では、取得部132は、所定の行動の履歴に基づいて、この履歴を分類する分類条件を取得する。
【0063】
少なくとも1つの実施形態では、取得部132は、履歴から、条件判定によって行動が検知対象であるかを予測する予測モデルを生成し、生成された予測モデルから、分類条件を取得する。例えば、取得部132は、予測モデルとして、行動が検知対象であるかを予測する決定木を生成し、生成された決定木の少なくとも1つのノードにそれぞれ対応する少なくとも1つの分岐条件を、分類条件として取得する。
【0064】
少なくとも1つの実施形態では、取得部132は、所定の行動として、所定の購買行動を示し、この所定の購買行動が、検知対象となる不正な行動であるかを示す履歴に基づいて、分類条件として、購買行動がこの不正な行動であるかを判定するための分類条件を決定する。例えば、取得部132は、履歴に基づいて、分類条件として、所定の購買行動の購入金額又は所定の購買行動の取引対象の種別によって購買行動が不正な行動であるかを判定するための分類条件を決定する。
【0065】
一例では、取得部132は、過去の不正データを使用することによって、決定木アルゴリズムによる分類モデルを作成する。
【0066】
図1Aを参照して上述したように、取得部132は、過去の不正データから、決定木を作成する。過去の不正データは、例えば、過去の不正判定のログである。取得部132は、過去の不正データを、訓練データとして決定木アルゴリズムに与え、決定木アルゴリズムによる分類モデルを作成する。
【0067】
より一般的には、取得部132は、過去の不正データから、ルールベースモデルを作成することができる。作成されたルールベースモデルは、過去の不正データに適合することができる。また、作成されたルールベースモデルは、条件分岐等の分類規則を与え得る。
【0068】
取得部132は、作成された予測モデル(例えば、分類モデル)を、モデル記憶部122に格納することができる。
【0069】
(特定部133)
特定部133は、分類条件の組み合わせを特定することができる。分類条件の組み合わせは、各種行動を検知するための条件として使用され得る。
【0070】
少なくとも1つの実施形態では、特定部133は、分類条件の組み合わせのうち、この分類条件の組み合わせを満たす行動のうち、検知対象となる行動の割合が所定の条件を満たす分類条件の組み合わせを特定する。
【0071】
少なくとも1つの実施形態では、特定部133は、取得部132によって、分類条件として取得された少なくとも1つの分岐条件から、分類条件の組み合わせを満たす行動のうち検知対象となる行動の割合が所定の条件を満たす分類条件の組み合わせとして、不純度に関する条件を満たす分岐条件の組み合わせを特定する。例えば、特定部133は、少なくとも1つのノードから、不純度が閾値を下回り、かつクラスが検知対象であるリーフノードを特定し、決定木を特定されたリーフノードからルートノードまでたどることによって、不純度に関する条件を満たす分岐条件の組み合わせを特定する。
【0072】
一例では、特定部133は、取得部132によって生成された分類モデルの中から、不正判定かつジニ不純度の低いノードを抽出する。
図1Bを参照して上述したように、例えば、特定部133は、ノードの不純度が閾値以下であり、かつクラスが不正であるノードを抽出する。
【0073】
一例では、特定部133は、抽出されたノードの分岐条件を、ルールとして抽出する。
図1Cを参照して上述したように、高い不正の確率のノードからルートノードに辿りつくまでのラインは、少なくとも1つの分岐条件を含む。特定部133は、抽出されたノードに辿りつく少なくとも1つの分岐条件を抽出する。そして、特定部133は、この少なくとも1つの分岐条件の組み合わせを、ルールとして抽出する。特定部133は、このような抽出処理を繰り返すことによって、ルール群を作成する。
【0074】
(出力部134)
出力部134は、検知対象となる行動を検知するための検知条件を出力する。検知条件は、例えば、所定の対象に対する不正の有無を予測するために使用され得る。所定の対象は、例えば、電子商取引サービスであり得る。この場合、不正は、例えば、不正な取引であり得る。
【0075】
少なくとも1つの実施形態では、出力部134は、特定部133によって特定された分類条件の組み合わせを、検知対象となる行動を検知するための検知条件として出力する。
【0076】
一例では、出力部134は、特定部133によって作成されたルール群を検証用の過去の不正データに照合し、適合率の高いルールを採用する。
図1Dを参照して上述したように、出力部134は、適合率が閾値以上であるルールを採用する。そして、出力部134は、採用されたルールを、既存のルール管理システムに登録する。
【0077】
〔3.判定ルール生成処理のフロー〕
次に、
図3を参照して、実施形態に係る情報出力装置100による判定ルール生成処理の手順について説明する。
【0078】
図3は、実施形態に係る情報出力装置100によって実行される、決定木モデルを使用して不正判定ルールを自動生成するための処理の一例を示すフローチャートである。
【0079】
図3に示されるように、はじめに、情報出力装置100の取得部132は、情報出力装置100のユーザ情報記憶部121から、不正データを取得する(ステップS101)。
【0080】
次いで、取得部132は、取得された不正データを使用して決定木分類アルゴリズムを訓練することによって、決定木モデルを作成する(ステップS102)。
【0081】
取得された不正データは、説明変数に対応するインスタンス(例えば、ログ)と、目的変数に対応し、インスタンスに関連付けられたラベルとを含む。例えば、説明変数(例えば、ログのレコード)は、決済金額、カテゴリの識別子、購入者の評価等の評価スコアを含む。一方、目的変数は、不正の有無(「0」または「1」のラベル)である。すなわち、不正データは、不正あり無しの両方のログを含む。例えば、ユーザの行動(例えば、決済金額)や属性(例えば、購入者の評価)が、ログのレコードに存在する。
【0082】
このような不正データに含まれるログは、例えば、オークション、ショッピング、フリーマーケットといった電子商取引サービスの利用に際して蓄積される。例えば、1つのログのレコードは、売買が成立し、決済が発生したタイミングで発生する。そして、電子商取引サービスは、1つのログのレコードに、不正の有無を示すラベルを関連付ける。このようにして、不正データが、作成され得る。
【0083】
次いで、情報出力装置100の特定部133は、取得された不正データによって作成された決定木モデルから、不正判定かつジニ不純度の低いノードを抽出する(ステップS103)。例えば、特定部133は、クラスが不正で、かつジニ不純度が閾値以下のリーフノードを抽出する。
【0084】
次いで、情報出力装置100の特定部133は、抽出されたノードから、分岐条件を抽出し、ルールを作成する(ステップS104)。
【0085】
例えば、特定部133は、決定木モデルを抽出されたノードからルートノードまでの経路に含まれるノードに対応する分岐条件を組み合わせることによって、判定ルールを作成する。判定ルールは、例えば、複数の分岐条件の組み合わせであり、これらの複数の分岐条件は、「AND」で結合する。
【0086】
次いで、情報出力装置100の出力部134は、特定部133によって作成されたルールの中から、適合率の高いルールを採用する(ステップS105)。
【0087】
例えば、出力部134は、ユーザ情報記憶部121から検証用の過去の不正データを取得する。そして、出力部134は、特定部133によって作成されたルールを、検証用の過去の不正データに照合することによって、作成されたルールの適合率が高いかを検証する。例えば、出力部134は、作成されたルールの適合率が閾値を超える場合に、このルールを採用する。
【0088】
次いで、出力部134は、採用されたルールを、既存のルール管理システムに登録する(ステップS106)。例えば、人間によって考えられた判定ルールが、既存のルール管理システムに、予め登録されている。採用されたルールは、この既存のルール管理システムに登録されたルールに追加される。
【0089】
〔4.他の実施形態〕
上述の実施形態に係る情報出力装置100は、上述の実施形態以外にも、種々の異なる形態で実施されてよい。そこで、以下では、上記の情報出力装置100の他の実施形態について説明する。
【0090】
〔4-1.モデルの更新〕
情報出力装置100(例えば、受信部131)が新しいユーザ情報を受信した場合に、報出力装置100は、新たなユーザ情報に基づいて、「モデルの生成」、「分類条件の取得」、「分類条件の組み合わせの特定」および「検知条件の出力」の一連の処理ステップを、再び実行してもよい。これにより、情報出力装置100は、新しいユーザ情報(例えば、新しい不正データ)に基づいて、検知条件(例えば、不正判定ルール)を更新することができる。情報出力装置100は、高い精度の分類条件を、ルール管理システムに、新たな分類条件として登録することができる。
【0091】
〔5.その他〕
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の一部を手動的に行うこともできる。あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【0092】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【0093】
例えば、
図2に示した記憶部120の一部又は全部は、情報出力装置100によって保持されるのではなく、ストレージサーバ等に保持されてもよい。この場合、情報出力装置100は、ストレージサーバにアクセスすることで、ユーザ情報やモデル等の各種情報を取得する。
【0094】
〔6.ハードウェア構成〕
また、上述してきた実施形態に係る情報出力装置100は、例えば
図4に示すような構成のコンピュータ1000によって実現される。
図4は、ハードウェア構成の一例を示す図である。コンピュータ1000は、出力装置1010、入力装置1020と接続され、演算装置1030、一次記憶装置1040、二次記憶装置1050、出力IF(Interface)1060、入力IF1070、ネットワークIF1080がバス1090により接続された形態を有する。
【0095】
演算装置1030は、一次記憶装置1040や二次記憶装置1050に格納されたプログラムや入力装置1020から読み出したプログラム等に基づいて動作し、各種の処理を実行する。一次記憶装置1040は、RAM等、演算装置1030が各種の演算に用いるデータを一時的に記憶するメモリ装置である。また、二次記憶装置1050は、演算装置1030が各種の演算に用いるデータや、各種のデータベースが登録される記憶装置であり、ROM(Read Only Memory)、HDD(Hard Disk Drive)、フラッシュメモリ等により実現される。
【0096】
出力IF1060は、モニタやプリンタといった各種の情報を出力する出力装置1010に対し、出力対象となる情報を送信するためのインタフェースであり、例えば、USB(Universal Serial Bus)やDVI(Digital Visual Interface)、HDMI(登録商標)(High Definition Multimedia Interface)といった規格のコネクタにより実現される。また、入力IF1070は、マウス、キーボード、およびスキャナ等といった各種の入力装置1020から情報を受信するためのインタフェースであり、例えば、USB等により実現される。
【0097】
なお、入力装置1020は、例えば、CD(Compact Disc)、DVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等から情報を読み出す装置であってもよい。また、入力装置1020は、USBメモリ等の外付け記憶媒体であってもよい。
【0098】
ネットワークIF1080は、ネットワークNを介して他の機器からデータを受信して演算装置1030へ送り、また、ネットワークNを介して演算装置1030が生成したデータを他の機器へ送信する。
【0099】
演算装置1030は、出力IF1060や入力IF1070を介して、出力装置1010や入力装置1020の制御を行う。例えば、演算装置1030は、入力装置1020や二次記憶装置1050からプログラムを一次記憶装置1040上にロードし、ロードしたプログラムを実行する。
【0100】
例えば、コンピュータ1000が情報出力装置100として機能する場合、コンピュータ1000の演算装置1030は、一次記憶装置1040上にロードされたプログラムを実行することにより、制御部130の機能を実現する。
【0101】
〔7.効果〕
上述してきたように、実施形態に係る情報出力装置100は、取得部132と、特定部133と、出力部134とを有する。
【0102】
実施形態に係る情報出力装置100において、取得部132は、所定の行動の履歴に基づいて、この履歴を分類する分類条件を取得する。また、実施形態に係る情報出力装置100において、特定部133は、分類条件の組み合わせのうち、この分類条件の組み合わせを満たす行動のうち、検知対象となる行動の割合が所定の条件を満たす分類条件の組み合わせを特定する。また、実施形態に係る情報出力装置100において、出力部134は、特定部133によって特定された分類条件の組み合わせを、検知対象となる行動を検知するための検知条件として出力する。
【0103】
また、実施形態に係る情報出力装置100において、取得部132は、履歴から、条件判定によって行動が検知対象であるかを予測する予測モデルを生成し、生成された予測モデルから、分類条件を取得する。
【0104】
また、実施形態に係る情報出力装置100において、取得部132は、予測モデルとして、行動が検知対象であるかを予測する決定木を生成し、生成された決定木の少なくとも1つのノードにそれぞれ対応する少なくとも1つの分岐条件を、分類条件として取得する。
【0105】
また、実施形態に係る情報出力装置100において、特定部133は、取得部132によって、分類条件として取得された少なくとも1つの分岐条件から、分類条件の組み合わせを満たす行動のうち検知対象となる行動の割合が所定の条件を満たす分類条件の組み合わせとして、不純度に関する条件を満たす分岐条件の組み合わせを特定する。
【0106】
また、実施形態に係る情報出力装置100において、特定部133は、少なくとも1つのノードから、不純度が閾値を下回り、かつクラスが検知対象であるリーフノードを特定し、決定木を特定されたリーフノードからルートノードまでたどることによって、不純度に関する条件を満たす分岐条件の組み合わせを特定する。
【0107】
また、実施形態に係る情報出力装置100において、取得部132は、所定の行動として、所定の購買行動を示し、この所定の購買行動が、検知対象となる不正な行動であるかを示す履歴に基づいて、分類条件として、購買行動がこの不正な行動であるかを判定するための分類条件を決定する。
【0108】
また、実施形態に係る情報出力装置100において、取得部132は、履歴に基づいて、分類条件として、所定の購買行動の購入金額又は所定の購買行動の取引対象の種別によって購買行動が不正な行動であるかを判定するための分類条件を決定する。
【0109】
上述した各処理により、情報出力装置100は、検知対象となる行動の検知に有用な条件を得ることができる。
【0110】
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【0111】
また、上述した情報出力装置100は、複数のサーバコンピュータで実現してもよく、また、機能によっては外部のプラットフォーム等をAPI(Application Programming Interface)やネットワークコンピューティングなどで呼び出して実現するなど、構成は柔軟に変更できる。
【0112】
また、上述してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、出力部は、出力手段や出力回路に読み替えることができる。
【符号の説明】
【0113】
1 情報出力システム
100 情報出力装置
110 通信部
120 記憶部
121 ユーザ情報記憶部
122 モデル記憶部
130 制御部
131 受信部
132 取得部
133 特定部
134 出力部
200 情報提供装置
300 ユーザ装置