(57)【要約】【課題】評価データの分布によらず、悪性データを判定できる判定装置、判定方法及び判定プログラムを提供すること。【解決手段】判定装置１は、ユーザ毎の複数のアイテムに対する評価値が格納される評価行列において、評価値の標本に関する累積確率分布を算出する算出部１１と、互いに異なる二つの評価行列それぞれの累積確率分布の差、及び二つの評価行列それぞれにおけるユーザ数に基づく指標が所定の有意水準に基づく条件を満たす場合に、二つの評価行列の母集団が同一でないと判定する判定部１２と、を備える。【選択図】図１
2020119201.tif 000002
【特許請求の範囲】
【請求項１】
ユーザ毎の複数のアイテムに対する評価値が格納される評価行列において、前記評価値の標本に関する累積確率分布を算出する算出部と、
互いに異なる二つの評価行列それぞれの前記累積確率分布の差、及び前記二つの評価行列それぞれにおけるユーザ数に基づく指標が所定の有意水準に基づく条件を満たす場合に、前記二つの評価行列の母集団が同一でないと判定する判定部と、を備える判定装置。
【請求項２】
前記算出部は、前記評価行列に格納された前記評価値の集合を前記標本とし、前記評価値のヒストグラムを表す前記累積確率分布を算出する請求項１に記載の判定装置。
【請求項３】
前記算出部は、前記二つの評価行列における互いに対応する部分を前記標本とし、当該標本における前記評価値の有無のヒストグラムを表す前記累積確率分布を算出する請求項１に記載の判定装置。
【請求項４】
前記算出部は、前記評価行列における前記アイテムの単位の部分行列を前記標本とする請求項３に記載の判定装置。
【請求項５】
前記判定部は、前記二つの評価行列において、前記条件を満たす前記アイテムの個数が所定以上の場合に、前記二つの評価行列の母集団が同一でないと判定する請求項４に記載の判定装置。
【請求項６】
ユーザ毎の複数のアイテムに対する評価値が格納される評価行列において、前記評価値の標本に関する累積確率分布を算出する算出ステップと、
互いに異なる二つの評価行列それぞれの前記累積確率分布の差、及び前記二つの評価行列それぞれにおけるユーザ数に基づく指標が所定の有意水準に基づく条件を満たす場合に、前記二つの評価行列の母集団が同一でないと判定する判定ステップと、をコンピュータが実行する判定方法。
【請求項７】
ユーザ毎の複数のアイテムに対する評価値が格納される評価行列において、前記評価値の標本に関する累積確率分布を算出する算出ステップと、
互いに異なる二つの評価行列それぞれの前記累積確率分布の差、及び前記二つの評価行列それぞれにおけるユーザ数に基づく指標が所定の有意水準に基づく条件を満たす場合に、前記二つの評価行列の母集団が同一でないと判定する判定ステップと、をコンピュータに実行させるための判定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データポイゾニング攻撃を判定する装置に関する。
【背景技術】
【０００２】
推薦システム等で用いられる協調フィルタリングでは、同一システム内のユーザらによる複数のアイテムに対する評価データを用いて、未評価のアイテムに対する評価値を予測する。協調フィルタリングに対する攻撃としては、攻撃者が正規ユーザを装いながら不正にアイテムを評価し、評価データに悪性データを混入させるデータポイゾニング攻撃がある。データポイゾニング攻撃は、予測性能の低下、又は特定アイテムの人気向上若しくは低下を目的とする。
【０００３】
協調フィルタリングに対するデータポイゾニング攻撃への対策としては、例えば非特許文献１で提案されたｔ検定を用いた方法がある。この方法では、評価値の分布が正規分布であることを仮定し、ｔ検定により分布の違いを検出することで、追加で与えられた評価データが悪性データであることを判定する。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Ｂ．  Ｌｉ，  Ｙ．  Ｗａｎｇ，  Ａ．  Ｓｉｎｇｈ，  ａｎｄ  Ｙ．  Ｖｏｒｏｂｅｙｃｈｉｋ：  Ｄａｔａ  Ｐｏｉｓｏｎｉｎｇ  Ａｔｔａｃｋｓ  ｏｎ  Ｆａｃｔｏｒｉｚａｔｉｏｎ−Ｂａｓｅｄ  Ｃｏｌｌａｂｏｒａｔｉｖｅ  Ｆｉｌｔｅｒｉｎｇ，  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  ３ｒｄ  Ｎｅｕｒａｌ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｐｒｏｃｅｓｓｉｎｇ  Ｓｙｓｔｅｍｓ  （ＮＩＰＳ  ２０１６），  ｐｐ．  １−１３，  ２０１６．
【発明の概要】
【発明が解決しようとする課題】
【０００５】
前述の方法では、正規ユーザ及び悪性ユーザの評価値の分布が正規分布であることを仮定しているが、評価値の分布は必ずしも正規分布に従うとは限らない。このため、追加で与えられた悪性データを正しく検出できない場合が多かった。
【０００６】
本発明は、評価データの分布によらず、悪性データを判定できる判定装置、判定方法及び判定プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明に係る判定装置は、ユーザ毎の複数のアイテムに対する評価値が格納される評価行列において、前記評価値の標本に関する累積確率分布を算出する算出部と、互いに異なる二つの評価行列それぞれの前記累積確率分布の差、及び前記二つの評価行列それぞれにおけるユーザ数に基づく指標が所定の有意水準に基づく条件を満たす場合に、前記二つの評価行列の母集団が同一でないと判定する判定部と、を備える。
【０００８】
前記算出部は、前記評価行列に格納された前記評価値の集合を前記標本とし、前記評価値のヒストグラムを表す前記累積確率分布を算出してもよい。
【０００９】
前記算出部は、前記二つの評価行列における互いに対応する部分を前記標本とし、当該標本における前記評価値の有無のヒストグラムを表す前記累積確率分布を算出してもよい。
【００１０】
前記算出部は、前記評価行列における前記アイテムの単位の部分行列を前記標本としてもよい。
【００１１】
前記判定部は、前記二つの評価行列において、前記条件を満たす前記アイテムの個数が所定以上の場合に、前記二つの評価行列の母集団が同一でないと判定してもよい。
【００１２】
本発明に係る判定方法は、ユーザ毎の複数のアイテムに対する評価値が格納される評価行列において、前記評価値の標本に関する累積確率分布を算出する算出ステップと、互いに異なる二つの評価行列それぞれの前記累積確率分布の差、及び前記二つの評価行列それぞれにおけるユーザ数に基づく指標が所定の有意水準に基づく条件を満たす場合に、前記二つの評価行列の母集団が同一でないと判定する判定ステップと、をコンピュータが実行する。
【００１３】
本発明に係る判定プログラムは、ユーザ毎の複数のアイテムに対する評価値が格納される評価行列において、前記評価値の標本に関する累積確率分布を算出する算出ステップと、互いに異なる二つの評価行列それぞれの前記累積確率分布の差、及び前記二つの評価行列それぞれにおけるユーザ数に基づく指標が所定の有意水準に基づく条件を満たす場合に、前記二つの評価行列の母集団が同一でないと判定する判定ステップと、をコンピュータに実行させるためのものである。
【発明の効果】
【００１４】
本発明によれば、評価データの分布によらず、悪性データを判定できる。
【図面の簡単な説明】
【００１５】
【図１】実施形態に係る判定装置の機能構成を示すブロック図である。
【図２】実施形態に係る第１の判定方法の手順を示すフローチャートである。
【図３】実施形態に係る第２の判定方法の手順を示すフローチャートである。
【発明を実施するための形態】
【００１６】
以下、本発明の実施形態の一例について説明する。
本実施形態に係る悪性データの判定方法では、強調フィルタリングに用いられる正規の評価行列に対して、追加で与えられた評価行列が悪性データであることを、コルモゴロフ・スミルノフ検定を用いて判定する。
コルモゴロフ・スミルノフ検定は、正規分布を仮定するｔ検定と異なり、分布によらないノンパラメトリックな検定手法の一つであり、これにより、評価値に関する分布の形状を仮定せずに、正規ユーザによる評価行列と悪性ユーザによる評価行列とが区別される。
【００１７】
ここで、Ｍをｍ人の正規ユーザによるｎ個のアイテムに対する評価行列とする。Ｍｉ，ｊは、評価行列Ｍのｉ番目の行（ユーザ）のｊ番目の列（アイテム）の評価を示す。ただし、Ｍは疎な行列であり、評価が未観測な要素を含む。
協調フィルタリングでは、評価行列Ｍを分析することで、Ｍにおける未観測な要素の値を推定する。
【００１８】
協調フィルタリングに対するデータポイゾニング攻撃では、攻撃者は、正規ユーザになりますし、攻撃目的に応じて不正にアイテムを評価し、学習システムに対して悪性な評価データを追加する。Ｍ’をｍ’人の悪性ユーザによるｎ個のアイテムに対する評価行列とする。
本実施形態の判定装置１は、正規ユーザの評価行列Ｍに対して、評価行列Ｍ’が追加で与えられたときに、この評価行列Ｍ’が正規ユーザによるものか、悪性ユーザにより混入されたものかを判定する。
【００１９】
図１は、本実施形態に係る判定装置１の機能構成を示すブロック図である。
判定装置１は、サーバ装置又はパーソナルコンピュータ等の情報処理装置（コンピュータ）であり、制御部１０及び記憶部２０の他、各種データの入出力デバイス及び通信デバイス等を備える。
【００２０】
制御部１０は、判定装置１の全体を制御する部分であり、記憶部２０に記憶された各種プログラムを適宜読み出して実行することにより、本実施形態における各機能を実現する。制御部１０は、ＣＰＵであってよい。
【００２１】
記憶部２０は、ハードウェア群を判定装置１として機能させるための各種プログラム、及び各種データ等の記憶領域であり、ＲＯＭ、ＲＡＭ、フラッシュメモリ又はハードディスク（ＨＤＤ）等であってよい。具体的には、記憶部２０は、本実施形態の各機能を制御部１０に実行させるためのプログラム（判定プログラム）、及び処理途中の各種データ等を記憶する。
【００２２】
制御部１０は、算出部１１と、判定部１２とを備える。制御部１０は、これらの機能部を動作させることにより、新たに追加された評価行列Ｍ’が既存の評価行列Ｍと同一の母集団に由来するものか否か、すなわち、正規の評価データか悪性の評価データかを判定する。
【００２３】
算出部１１は、ユーザ毎の複数のアイテムに対する評価値が格納される評価行列Ｍ及びＭ’において、評価値の標本に関する累積確率分布を算出する。
算出部１１は、例えば、評価行列Ｍ及びＭ’に格納された観測された評価値の集合を標本とし、評価値のヒストグラムを表す累積確率分布を算出する。
また、算出部１１は、例えば、二つの評価行列Ｍ及びＭ’における互いに対応する部分を標本とし、これらの標本における評価値の有無のヒストグラムを表す累積確率分布を算出する。具体的には、算出部１１は、評価行列Ｍ及びＭ’におけるアイテムの単位の部分行列を標本としてよい。
【００２４】
判定部１２は、互いに異なる二つの評価行列Ｍ及びＭ’それぞれの累積確率分布の差、及び評価行列Ｍ及びＭ’それぞれにおけるユーザ数ｍ及びｍ’に基づく指標が所定の有意水準に基づく条件を満たす場合に、二つの評価行列Ｍ及びＭ’の母集団が同一でないと判定する。
また、判定部１２は、二つの評価行列Ｍ及びＭ’において、条件を満たす部分集合の数（アイテムの個数）が所定以上の場合に、二つの評価行列Ｍ及びＭ’の母集団が同一でないと判定してもよい。
【００２５】
次に、判定装置１による悪性データの判定方法の手順を詳述する。
判定装置１は、例えば、以下に示す第１の判定方法又は第２の判定方法を採用する。また、判定装置１は、第１の判定方法及び第２の判定方法を共に実行し、いずれの方法においても母集団が同一でないと判定される場合に、評価行列Ｍ’が悪性な評価データであると判定してもよい。
【００２６】
［第１の判定方法］
第１の判定方法では、判定装置１は、コルモゴロフ・スミルノフ検定を用いて、評価行列Ｍ及びＭ’のそれぞれに含まれる観測された評価値の累積確率分布の差に基づいて、Ｍ’が悪性ユーザの評価行列であるかどうかを判定する。
【００２７】
図２は、本実施形態に係る第１の判定方法の手順を示すフローチャートである。
なお、コルモゴロフ・スミルノフ検定を用いるにあたって、Ｘを正規ユーザの評価値の標本とし、Ｘ’を悪性ユーザの評価値の標本とする。また、帰無仮説を「ＸとＸ’の母集団が同一である」とする。
【００２８】
ステップＳ１において、算出部１１は、正規ユーザの評価行列Ｍを用いて標本Ｘの累積確率分布Ｐ（ｘ）を算出する。また、算出部１１は、悪性ユーザの評価行列Ｍ’を用いて標本Ｘ’の累積確率分布Ｑ（ｘ）を算出する。
ここで、ｘは、評価行列Ｍ及びＭ’に含まれる観測された評価値である。例えば、評価行列Ｍ及びＭ’の要素として、各アイテムに対する実際の評価値１〜５と、無評価を示す０とが混在する場合、算出部１１は、無評価の０を除く評価値ｘ（＝１〜５）のヒストグラムから、累積確率分布を算出する。
【００２９】
ステップＳ２において、判定部１２は、累積確率分布Ｐ（ｘ）及びＱ（ｘ）に基づいて、以下の式によりコルモゴロフ・スミルノフ統計量Ｄを計算する。
Ｄ＝ｍａｘｘ｜Ｐ（ｘ）−Ｑ（ｘ）｜
【００３０】
ステップＳ３において、判定部１２は、正規ユーザ数ｍ、悪性ユーザ数ｍ’、及び統計量Ｄから、悪性データを判定するための指標としてＤ［ｍｍ’／（ｍ＋ｍ’）］１／２を計算する。
【００３１】
ステップＳ４において、判定部１２は、有意水準αに対して、Ｄ［ｍｍ’／（ｍ＋ｍ’）］１／２の値がＫαより大きいか否かを判定する。ただし、Ｋαは、Ｐｒ［Ｄ［ｍｍ’／（ｍ＋ｍ’）］１／２≦Ｋα］＝１−αを満たす数とする。この判定がＹＥＳの場合、処理はステップＳ５に移り、判定がＮＯの場合、処理はステップＳ６に移る。
【００３２】
ステップＳ５において、判定部１２は、帰無仮説を棄却し、ＸとＸ’の母集団が同一でない、すなわち、評価行列Ｍ’が悪性ユーザにより混入された悪性データであると判定する。
【００３３】
ステップＳ６において、判定部１２は、ＸとＸ’の母集団が同一であり、評価行列Ｍ’が正規ユーザにより与えられた正規データであると判定する。
【００３４】
［第２の判定方法］
第２の判定方法では、判定装置１は、コルモゴロフ・スミルノフ検定を用いて、評価行列Ｍ及びＭ’のそれぞれにおける各アイテムに対する評価の付け方の違いに基づいて、Ｍ’が悪性ユーザの評価行列であるかどうかを判定する。
【００３５】
図３は、本実施形態に係る第２の判定方法の手順を示すフローチャートである。
なお、コルモゴロフ・スミルノフ検定を用いるにあたって、Ｘｊを正規ユーザによるｊ番目のアイテムに対する評価値の標本とし、Ｘｊ’を悪性ユーザによるｊ番目のアイテムに対する評価値の標本とする。ただし、評価値は、０又は１の２値、すなわち、ユーザがｊ番目のアイテムを評価していれば評価の高低に関わらず１、評価していなければ０とする。また、帰無仮説を「ＸｊとＸｊ’の母集団が同一である」とする。
【００３６】
ステップＳ１１において、制御部１０は、ｎ個のアイテムのインデックスｊ、及び悪性データの判定用アイテム数ｋを、０に初期化する。
【００３７】
ステップＳ１２において、判定部１２は、インデックスｊをカウントアップ（ｊ＝ｊ＋１）する。
【００３８】
ステップＳ１３において、算出部１１は、正規ユーザの評価行列Ｍを用いて標本Ｘｊの累積確率分布Ｐ（ｘ）を求める。また、算出部１１は、悪性ユーザの評価行列Ｍ’を用いて標本Ｘｊ’の累積確率分布Ｑ（ｘ）を求める。
ここで、ｘは、前述の０又は１の評価値である。例えば、評価行列Ｍ及びＭ’の要素として、各アイテムに対する実際の評価値１〜５と、無評価を示す０とが混在する場合、算出部１１は、評価なし（ｘ＝０）と評価あり（ｘ＝１）のヒストグラムから、累積確率分布を求める。
【００３９】
ステップＳ１４において、判定部１２は、累積確率分布Ｐ（ｘ）及びＱ（ｘ）に基づいて、以下の式によりコルモゴロフ・スミルノフ統計量Ｄを計算する。
Ｄ＝ｍａｘｘ｜Ｐ（ｘ）−Ｑ（ｘ）｜
【００４０】
ステップＳ１５において、判定部１２は、正規ユーザ数ｍ、悪性ユーザ数ｍ’、及び統計量Ｄから、悪性データを判定するための指標としてＤ［ｍｍ’／（ｍ＋ｍ’）］１／２を計算する。
【００４１】
ステップＳ１６において、判定部１２は、有意水準αに対して、Ｄ［ｍｍ’／（ｍ＋ｍ’）］１／２の値がＫαより大きいか否かを判定する。ただし、Ｋαは、Ｐｒ［Ｄ［ｍｍ’／（ｍ＋ｍ’）］１／２≦Ｋα］＝１−αを満たす数とする。この判定がＹＥＳの場合、処理はステップＳ１７に移り、判定がＮＯの場合、処理はステップＳ１８に移る。
【００４２】
ステップＳ１７において、判定部１２は、帰無仮説を棄却し、ＸｊとＸｊ’の母集団が同一でないと判定し、判定用アイテム数ｋをカウントアップ（ｋ＝ｋ＋１）する。
【００４３】
ステップＳ１８において、判定部１２は、判定用アイテム数ｋが閾値ｔ以上か否かを判定する。この判定がＹＥＳの場合、処理はステップＳ１９に移り、判定がＮＯの場合、処理はステップＳ２０に移る。
【００４４】
ステップＳ１９において、判定部１２は、評価行列Ｍ’が悪性ユーザにより混入された悪性データであると判定し、処理を終了する。
【００４５】
ステップＳ２０において、判定部１２は、インデックスｊがアイテム数ｎと等しい、すなわち、全てのアイテムに関して検定を行ったか否かを判定する。この判定がＹＥＳの場合、処理はステップＳ２１に移り、判定がＮＯの場合、処理はステップＳ１２に戻る。
【００４６】
ステップＳ２１において、判定部１２は、評価行列Ｍ’が正規ユーザにより与えられた正規データであると判定する。
【００４７】
本実施形態によれば、判定装置１は、ノンパラメトリックな検定手法の一つであるコルモゴロフ・スミルノフ検定を用いて、二つの評価行列に格納された評価値の標本に関する累積確率分布に基づき、二つの評価行列が同一の母集団に由来かどうかを判定する。これにより、判定装置１は、正規ユーザ及び悪性ユーザの評価値の分布の形状を仮定せずに、追加された評価行列が悪性データであるかどうかを判定できる。
したがって、判定装置１は、正規分布等の特定の分布形状に従わない評価データを扱う協調フィルタリングシステムにおいても、データポイゾニング攻撃の影響を抑えられる。
【００４８】
判定装置１は、評価行列に格納された評価値の集合を標本とし、観測された評価値毎のヒストグラムを表す累積確率分布を算出することにより、評価値の分布の類似性に基づいて、悪性データを適切に判定できる。
【００４９】
判定装置１は、二つの評価行列における互いに対応する部分を標本とし、当該標本における評価値の有無のヒストグラムを表す累積確率分布を算出することにより、評価行列における特定の部分（例えば、アイテム群）に着目した標本の類似性に基づいて、悪性データを適切に判定できる。
【００５０】
判定装置１は、評価行列におけるアイテムの単位の部分行列を標本とすることにより、評価データ全体の分布だけでなく、アイテム毎の評価値の分布に対してもコルモゴロフ・スミルノフ検定を適用できる。これにより、判定装置１は、攻撃者が正規ユーザの評価値の分布と同一の又は類似の分布を持つように悪性な評価値を決定していても、例えば、悪性ユーザが特定のアイテムだけを評価するようなデータポイゾニング攻撃を検知し、悪性データを排除できる。
このとき、判定装置１は、母集団が同一でないと判定されたアイテムの個数が所定以上の場合に、二つの評価行列の母集団も同一でなく、悪性ユーザの評価データが追加されたと判定してもよい。これにより、判定装置１は、特定のアイテムのみで判定することによる誤検出を抑制し、悪性データを適切に判定できる。
【００５１】
以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、前述した実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、実施形態に記載されたものに限定されるものではない。
【００５２】
判定装置１による判定方法は、ソフトウェアにより実現される。ソフトウェアによって実現される場合には、このソフトウェアを構成するプログラムが、情報処理装置（コンピュータ）にインストールされる。また、これらのプログラムは、ＣＤ−ＲＯＭのようなリムーバブルメディアに記録されてユーザに配布されてもよいし、ネットワークを介してユーザのコンピュータにダウンロードされることにより配布されてもよい。さらに、これらのプログラムは、ダウンロードされることなくネットワークを介したＷｅｂサービスとしてユーザのコンピュータに提供されてもよい。
【符号の説明】
【００５３】
１  判定装置
１０  制御部
１１  算出部
１２  判定部
２０  記憶部
【図１】
2020119201.tif 000003
【図２】
2020119201.tif 000004
【図３】
2020119201.tif 000005