(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024125818
(43)【公開日】2024-09-19
(54)【発明の名称】情報処理方法、情報処理装置および情報処理プログラム
(51)【国際特許分類】
G06F 21/45 20130101AFI20240911BHJP
【FI】
G06F21/45
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2023033900
(22)【出願日】2023-03-06
(71)【出願人】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】100121083
【弁理士】
【氏名又は名称】青木 宏義
(74)【代理人】
【識別番号】100138391
【弁理士】
【氏名又は名称】天田 昌行
(74)【代理人】
【識別番号】100074099
【弁理士】
【氏名又は名称】大菅 義之
(72)【発明者】
【氏名】花田 雄一
(72)【発明者】
【氏名】安部 登樹
(72)【発明者】
【氏名】松山 佳彦
(57)【要約】
【課題】照合情報のキャッシュへの登録を行うクラスタの選定効率を向上させる。
【解決手段】3軒の店舗がそれぞれ所属しているクラスタAとクラスタBとのそれぞれについて、ユーザ1の来店経験がある店舗数についての所属店舗数に対する割合である利用経験率を、ユーザ1の各店舗の利用傾向を示す利用傾向情報として算出する。この利用経験率が所定の閾値よりも高いクラスタAでは、クラスタAに所属している全ての店舗A、B、及びCのための、キャッシュ認証に用いるそれぞれのキャッシュに、ユーザ1の照合情報を登録する。一方、利用経験率が当該所定の閾値よりも高いクラスタBでは、ユーザ1の来店経験がある店舗Dのための当該キャッシュにのみ当該照合情報を登録し、店舗E及びFのための当該キャッシュには当該照合情報を登録しない。
【選択図】
図12
【特許請求の範囲】
【請求項1】
キャッシュに登録されているユーザの照合情報を用いてキャッシュ認証を行う複数の認証ポイントと前記複数の認証ポイントそれぞれが所属する複数のクラスタとの関係を示すクラスタ情報と、前記ユーザの前記認証ポイントの利用傾向を示す利用傾向情報とを取得することと、
前記複数のクラスタそれぞれについて、前記照合情報の前記キャッシュへの登録を行う対象のクラスタとするかどうかの判定を、前記利用傾向情報に基づいて行うことと、
を含む処理をコンピュータが行う情報処理方法。
【請求項2】
前記利用傾向情報は、前記複数の認証ポイントそれぞれについての前記ユーザの利用経験の有無を示す情報であり、
前記処理は、前記複数のクラスタのそれぞれについて、所属する認証ポイントの数に対する前記ユーザの利用経験がある認証ポイントの数の割合である利用経験率を、前記利用傾向情報に基づいて算出することを更に含み、
前記判定は、前記利用経験率に基づいて行われる、
請求項1に記載の情報処理方法。
【請求項3】
前記判定では、
前記複数のクラスタのうちで前記利用経験率が第1の閾値よりも高いクラスタと、
前記複数のクラスタのうちの、前記利用経験率の高い順に所定個数のクラスタと
のうちのどちらか一方を、前記対象のクラスタとする
請求項2に記載の情報処理方法。
【請求項4】
前記処理は、前記複数のクラスタそれぞれについての前記利用経験率を前記複数のクラスタそれぞれについての前記利用経験率の総和で正規化することによって、前記複数のクラスタそれぞれについての前記ユーザの所属確率を算出することを更に含み、
前記判定は、前記ユーザの所属確率に基づいて行われる、
請求項2に記載の情報処理方法。
【請求項5】
前記判定では、
前記複数のクラスタから前記ユーザの所属確率の高い順に特定されるクラスタであって、該特定されるクラスタのそれぞれについての前記ユーザの所属確率の合計値が第2の閾値以下である該特定されるクラスタと、
前記複数のクラスタのうちの、前記ユーザの所属確率の高い順に所定個数のクラスタと
のうちのどちらか一方を、前記対象のクラスタとする、
請求項4に記載の情報処理方法。
【請求項6】
前記複数の認証ポイントそれぞれの前記複数のクラスタそれぞれへの所属確率を前記利用傾向情報に基づいて算出し、前記複数の認証ポイントそれぞれを、前記複数のクラスタのうちで前記認証ポイントの所属確率が第3の閾値よりも高いクラスタへ所属させることによって、前記クラスタ情報が取得され、
前記複数の認証ポイントのうちの1つの認証ポイントが、前記複数のクラスタのうちの2つ以上のクラスタに重複して所属する場合には、前記判定では、
前記2つ以上のクラスタのうちの、前記1つの認証ポイントの所属確率が最高であるクラスタを除く残余のクラスタのうちで、前記利用経験率が第4の閾値よりも高いクラスタと、
前記残余のクラスタのうちの、前記利用経験率の高い順に所定個数のクラスタと
のどちらか一方と、
前記2つ以上のクラスタを除く前記複数のクラスタ、及び、前記1つの認証ポイントの所属確率が最高であるクラスタのうちで、前記ユーザの利用経験がある認証ポイントが所属するクラスタと、
を前記対象のクラスタとする、
請求項2に記載の情報処理方法。
【請求項7】
前記複数の認証ポイントそれぞれの前記複数のクラスタそれぞれへの所属確率を前記利用傾向情報に基づいて算出し、前記複数の認証ポイントそれぞれを、前記複数のクラスタのうちで前記認証ポイントの所属確率が第3の閾値よりも高いクラスタへ所属させることによって、前記クラスタ情報が取得され、
前記複数の認証ポイントのうちの1つの認証ポイントが、前記複数のクラスタのうちの2つ以上のクラスタに重複して所属する場合には、前記判定では、
前記2つ以上のクラスタのうちの、前記1つの認証ポイントの所属確率が最高であるクラスタを除く残余のクラスタから、前記ユーザの所属確率の高い順に特定されるクラスタであって、該特定されるクラスタのそれぞれについての前記ユーザの所属確率の合計値が第5の閾値以下である該特定されるクラスタと、
前記残余のクラスタのうちの、前記ユーザの所属確率の高い順に所定個数のクラスタと
のどちらか一方と、
前記2つ以上のクラスタを除く前記複数のクラスタ、及び、前記1つの認証ポイントの所属確率が最高であるクラスタのうちで、前記ユーザの利用経験がある認証ポイントが所属するクラスタと、
を前記対象のクラスタとする、
請求項4に記載の情報処理方法。
【請求項8】
前記処理は、前記判定の結果に従って、前記対象のクラスタに所属する全ての前記認証ポイントについての前記キャッシュに前記照合情報を登録することを更に含む請求項1から7のうちのいずれか一項に記載の情報処理方法。
【請求項9】
キャッシュに登録されているユーザの照合情報を用いてキャッシュ認証を行う複数の認証ポイントと前記複数の認証ポイントそれぞれが所属する複数のクラスタとの関係を示すクラスタ情報と、前記ユーザの前記認証ポイントの利用傾向を示す利用傾向情報とを取得する取得部と、
前記複数のクラスタそれぞれについて、前記照合情報の前記キャッシュへの登録を行う対象のクラスタとするかどうかの判定を、前記利用傾向情報に基づいて行う判定部と、
を備える情報処理装置。
【請求項10】
キャッシュに登録されているユーザの照合情報を用いてキャッシュ認証を行う複数の認証ポイントと前記複数の認証ポイントそれぞれが所属する複数のクラスタとの関係を示すクラスタ情報と、前記ユーザの前記認証ポイントの利用傾向を示す利用傾向情報とを取得することと、
前記複数のクラスタそれぞれについて、前記照合情報の前記キャッシュへの登録を行う対象のクラスタとするかどうかの判定を、前記利用傾向情報に基づいて行うことと、
を含む処理をコンピュータに実行させる情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理方法、情報処理装置および情報処理プログラムに関する。
【背景技術】
【0002】
複数の認証方式を組み合わせて行うマルチ認証という認証技術が広く知られている。
【0003】
マルチ認証において、組み合わせる一方の認証として、例えば、手のひらの静脈を生体情報として用いる生体認証とする場合に、組み合わせる他方の認証として、指紋情報を用いて行う他の生体認証や、パスコードを用いて行う認証を選択することが考えられる。しかしながら、指紋情報やパスコードを用いる認証では、認証対象者の手間が増えてしまうことが考えられる。一方、顔情報を用いて行う生体認証を当該他方の認証方式として選択することは、認証対象者に特段の意識をさせることなく認証を行うことが可能である点において有益である。
【0004】
指紋、静脈、顔情報等の生体情報を認証のための照合情報として用いる生体認証のみを複数組み合わせて行うマルチ認証は、マルチ生体認証と称されている。例えば、手のひらの静脈による生体認証が1/1万の精度(1万人から1人を識別可能な精度)を有していて、顔情報による生体認証が1/100の精度を有していると、両者を組み合わせるマルチ生体認証では100万人を認証対象者とすることが可能である。
【0005】
マルチ生体認証の更なる普及には、精度を向上させて利用可能人数を更に増やすことが必要である。例えば、手のひらの静脈による生体認証の精度を1/10万とし、顔情報による生体認証の精度を1/1000とすることができれば、手のひらの静脈と顔情報とを用いるマルチ生体認証は認証対象者を1億人とすることが可能になる。
【0006】
しかしながら、生体認証、とりわけ手のひらの静脈を用いる生体認証は、照合情報として用いる生体特徴量のデータ量が顕著に多いため、精度の向上において認証処理の処理時間が問題となることがある。
【0007】
処理時間の増加を抑制しつつ認証精度を向上させる認証の手法として、キャッシュ認証が知られている。キャッシュ認証は、例えば、利用頻度や属性・特徴の類似性などといった特定の条件によって全ユーザから抽出した各人物についての照合情報をキャッシュメモリに登録し、キャッシュメモリ上の登録データを優先して用いて照合を行うという手法である。なお、以下の説明では、キャッシュメモリを単に「キャッシュ」と称することもある。
【0008】
このようなキャッシュ認証に関して幾つかの技術が知られている(例えば特許文献1~特許文献6参照)。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】特開2014-160439号公報
【特許文献2】特開2021-61030号公報
【特許文献3】特開2010-277557号公報
【特許文献4】特開2003-44442号公報
【特許文献5】米国特許出願公開第2015/0254446号明細書
【特許文献6】米国特許出願公開第2017/0308694号明細書
【発明の概要】
【発明が解決しようとする課題】
【0010】
ある店舗のユーザは、当該店舗と何らかの類似性を有している店舗である類似店舗を利用するという仮定の下で、キャッシュ認証を適用する手法を考える。
【0011】
まず、認証を実施するATMがそれぞれ設置されている類似店舗をクラスタリングし、あるクラスタに所属する店舗に来店したユーザについての照合情報を当該クラスタの全ての店舗についてのキャッシュに登録して共用するという手法が考えられる。この手法を「店舗クラスタリング」と称することとする。なお、ATMとはAutomatic Teller Machineの略であって、現金自動預け払い機のことを示している。このようにして照合情報を共用すると、同一クラスタの類似店舗に初めて来店したユーザに対して行われる認証処理でも当該ユーザの照合情報がキャッシュでヒットするので、精度の高い認証が短時間で可能となる。
【0012】
但し、店舗クラスタリングでは、特徴あるいは傾向がはっきりしないため、1つの店舗が複数のクラスタに跨って所属することがある。このような店舗にユーザが来店した場合には、当該ユーザの照合情報が複数のクラスタのいずれかに属する店舗の全てのキャッシュに登録されることになる。従って、単なる店舗クラスタリングでは、各店舗について用意されているキャッシュで保持されている照合情報の数、すなわちキャッシュサイズが増大することになり、認証処理時間の低減効果が薄れてしまう。
【0013】
ここで、複数のクラスタに跨って属する店舗にユーザが来店した場合には、当該複数のクラスタのうちから、当該ユーザの照合情報を所属店舗のキャッシュに登録するクラスタを1つのみ選定するという手法が考えられる。しかしながら、この手法では、選定されなかった残余のクラスタに所属する店舗に当該ユーザが来店した場合には、当該照合情報がキャッシュでヒットしないため、キャッシュ認証に失敗する。この場合には、ユーザの照合情報と全認証対象者の登録データとの照合による通常の認証を行うこととなり、キャッシュ認証による認証処理時間の低減効果が得られないことになる。
【0014】
1つの側面において、本発明は、照合情報のキャッシュへの登録を行うクラスタの選定効率を向上させることを目的とする。
【課題を解決するための手段】
【0015】
1つの案では、クラスタ情報と利用傾向情報とを取得することと、複数のクラスタそれぞれについて、照合情報のキャッシュへの登録を行う対象のクラスタとするかどうかの判定を、利用傾向情報に基づいて行うこととを含む処理をコンピュータが行う。なお、クラスタ情報は、キャッシュに登録されているユーザの照合情報を用いてキャッシュ認証を行う複数の認証ポイントと当該複数の認証ポイントそれぞれが所属する複数のクラスタとの関係を示す情報である。また、利用傾向情報は、当該ユーザの認証ポイントの利用傾向を示す情報である。
【発明の効果】
【0016】
1つの側面によれば、照合情報のキャッシュへの登録を行うクラスタの選定効率を向上させることができる。
【図面の簡単な説明】
【0017】
【
図1】店舗クラスタリングの第1の例を示した図である。
【
図2】店舗クラスタリングの第2の例を示した図である。
【
図3】ユーザクラスタリングの一例を示した図である。
【
図7】コンピュータのハードウェア構成例を示す図である。
【
図8】認証処理の処理内容の一例を示したフローチャートである。
【
図9】キャッシュ登録処理の第1の例の処理内容を示したフローチャートである。
【
図11】各店舗の各クラスタへの所属確率の算出結果の第1の例を示したテーブルである。
【
図12】利用経験率に基づいたユーザ照合情報のキャッシュ登録を説明する図である。
【
図13】クラスタへのキャッシュ登録処理の第1の例の処理内容を示したフローチャートである。
【
図14】クラスタへのキャッシュ登録処理の第2の例の処理内容を示したフローチャートである。
【
図15】クラスタへのキャッシュ登録処理の第3の例の処理内容を示したフローチャートである。
【
図16】クラスタへのキャッシュ登録処理の第4の例の処理内容を示したフローチャートである。
【
図17】各店舗の各クラスタへの所属確率の算出結果の第2の例を示したテーブルである。
【
図18】各ユーザの各クラスタへの利用経験率の算出結果の一例を示したテーブルである。
【
図19】キャッシュ登録処理の第2の例の処理内容を示したフローチャートである。
【
図20】クラスタへのキャッシュ登録処理の第5の例の処理内容を示したフローチャートである。
【
図21】クラスタへのキャッシュ登録処理の第6の例の処理内容を示したフローチャートである。
【
図22】クラスタへのキャッシュ登録処理の第7の例の処理内容を示したフローチャートである。
【
図23】クラスタへのキャッシュ登録処理の第8の例の処理内容を示したフローチャートである。
【発明を実施するための形態】
【0018】
以下、図面を参照しながら、実施形態を詳細に説明する。
【0019】
ここでは、チェーン展開しているコンビニエンスストアの各店舗を認証が実施される認証ポイントとし、各店舗に設置されている金融機関のATMをクライアント装置として含む認証システムにおいてキャッシュ認証を実施する形態について説明する。
【0020】
なお、以下の説明では、簡単のために、ユーザが店舗に来店するという説明によって、当該ユーザが当該店舗に来店して、当該店舗に設置されているATMを使用して認証を実施することを表すものとする。また、照合情報を店舗にキャッシュ登録するという説明によって、当該店舗に設置されているATMについてのキャッシュに当該照合情報を登録することを表するものとする。更に、照合情報をクラスタにキャッシュ登録するという説明によって、当該クラスタに所属する全ての店舗にそれぞれ設置されているATMについてのキャッシュに当該照合情報を登録することを表するものとする。
【0021】
初めに、ユーザクラスタリングについて説明する。
【0022】
前述したように、店舗クラスタリングは、何らかの類似性を有している類似店舗同士をクラスタリングし、クラスタに所属する店舗に来店したユーザの照合情報を当該クラスタにキャッシュ登録するという手法である。ユーザクラスタリングとの対比を行うために、まず、店舗クラスタリングについての更に詳細な説明を行う。
【0023】
図1は、店舗クラスタリングの第1の例を示している。
【0024】
この第1の例において、店舗「A」、「B」、及び「C」は類似店舗であって、いずれもクラスタ「A」に所属していることを表しており、また、ユーザ「1」は店舗「A」及び「C」に来店の経験があるが、店舗「B」には来店の経験がないことを表している。
【0025】
この例の場合には、店舗「A」及び「C」にはユーザ「1」が来店したときにユーザ「1」の照合情報がキャッシュ登録される。更に、ユーザ「1」の来店の経験がない店舗「B」についても、店舗「A」及び「C」と共にクラスタ「A」に所属しているので、ユーザ「1」の照合情報がキャッシュ登録される。このようにしてユーザ「1」の照合情報をクラスタ「A」にキャッシュ登録する手法が店舗クラスタリングである。店舗クラスタリングによって店舗「B」にも照合情報がキャッシュ登録されたので、この後にユーザ「1」が初めて店舗「B」に来店した場合にも、ユーザ「1」の照合情報がキャッシュでヒットする。従って、キャッシュ認証による認証処理時間の低減効果が得られる。
【0026】
この店舗クラスタリングは、特徴あるいは傾向がはっきりしている店舗のみである場合は特に有効であるが、特徴あるいは傾向がはっきりしていない店舗が存在する場合もある。
【0027】
次に、
図2に示す、店舗クラスタリングの第2の例について説明する。
【0028】
この第2の例では、店舗「A」、「B」、「C」、及び「D」は類似店舗であって、いずれもクラスタ「A」に所属することを表している。ところが、このうちの店舗「C」及び「D」は、店舗「E」及び「F」が所属するクラスタ「B」にも所属していることが表されている。例えば、クラスタ「A」には若者が利用する店舗が所属し、クラスタ「B」には男性が利用する店舗であるとする。店舗「C」及び「D」が、若者が利用する傾向と男性が利用する傾向との両方を有している場合には、第2の例のようなクラスタリング結果が生じることになる。
【0029】
この第2の例において、ユーザ「1」が来店の経験がある店舗が店舗「A」及び「C」であるとすると、ユーザ「1」の照合情報は、クラスタ「A」にキャッシュ登録されるだけではなく、クラスタ「B」についてもキャッシュ登録されてしまう。つまり、この第2の例では、ユーザ「1」の来店の可能性が低いと推定される店舗「E」及び「F」にも照合情報がキャッシュ登録されることになる。この結果、各店舗について用意されているキャッシュで保持されている照合情報の数、すなわちキャッシュサイズが増大することになって、キャッシュ認証による認証処理時間の低減効果が薄れてしまう。
【0030】
次に、ユーザクラスタリングについて説明する。
【0031】
【0032】
図3の例における各クラスタに対する各店補の所属関係は、
図2と同一である。
【0033】
図3の例では、まず、各クラスタに対してユーザが所属する確率を求めている。詳細は後述するが、本実施形態では、この確率として、クラスタに所属する店舗の軒数に対するユーザの利用経験がある店舗の軒数の割合である利用経験率を用いる。なお、ユーザの利用経験がある店舗にはユーザの照合情報が利用時にキャッシュ登録されるので、利用経験率は、クラスタに所属する店舗の軒数に対するユーザの照合情報がキャッシュ登録されている店舗の軒数の割合ともいえる。
【0034】
なお、各クラスタに対してユーザが所属する確率を、各店舗と各ユーザについての各店舗の利用経験との関係に対して、PLSA法などの周知のクラスタリング手法を適用することによって算出してもよい。なお、PLSAは略称であって、確率的潜在意味解析(Probabilistic Latent Semantic Analysis)のことを表している。
【0035】
ユーザクラスタリングでは、このようにして得られた確率に基づき、当該確率が最も高いクラスタにのみ照合情報のキャッシュ登録を行うようにする。
【0036】
図3の例では、クラスタ「A」にユーザ「1」が所属する確率が90%であり、クラスタ「B」にユーザ「1」が所属する確率が10%であったことを表している。この場合、当該確率が最も高いクラスタ「A」についてはユーザ「1」の照合情報のキャッシュ登録を行い、残余のクラスタ「B」についてはユーザ「1」の照合情報のキャッシュ登録を行わない。すなわち、この場合、クラスタ「B」に所属する店舗のうち、店舗「C」及び「D」には照合情報がキャッシュ登録されるが、店舗「E」及び「F」にはキャッシュ登録されない。従って、キャッシュサイズの増大が抑制され、キャッシュ認証による認証処理時間の低減効果が確保される。
【0037】
但し、このユーザクラスタリングでは、店舗「E」及び「F」にユーザ「1」が初めて来店した場合には、キャッシュ認証に失敗して通常の認証が行われる。従って、この場合には、認証処理に時間を要することになる。
【0038】
そこで、これより説明する実施形態のひとつでは、複数のクラスタのそれぞれについての、所属する店舗についてのユーザの来店傾向に応じて、照合情報のキャッシュ登録を行うクラスタと行わないクラスタとの振り分けを行うようにする。ユーザクラスタリングの手法をこのように改良して、照合情報のキャッシュ登録を行うクラスタを、前述した確率が最も高いクラスタにのみには限定しないようにすることで、照合情報のキャッシュ登録を行うクラスタの選定効率を向上させる。
【0039】
以下、キャッシュ認証を行う認証システムの実施形態について、更に詳細に説明する。
【0040】
まず、
図4について説明する。
図4は認証システム10の構成例を示している。この認証システム10は、ユーザの手のひらの静脈や顔情報などの生体情報を照合情報として用いる生体認証を行うシステムである。
【0041】
認証システム10は、複数のクライアント装置20とサーバ装置30とが不図示の通信ネットワークを経由して接続されて構成されている。なお、
図4では、簡単のため、クライアント装置20を1台のみ表している。
【0042】
クライアント装置20は、キャッシュに登録されているユーザの照合情報を用いてキャッシュ認証を行う認証ポイントである店舗に設置されている金融機関のATMである。
【0043】
なお、本実施形態では、クライアント装置20が店舗毎に1台ずつ設置されているものとする。従って、各店舗を識別する情報を用いることによって複数のクライアント装置20のそれぞれを識別可能である。
【0044】
クライアント装置20は、カメラ21、静脈センサ22、センサ制御部23、認証要求部24、入力部25、クライアント制御部26、通信部27、及び表示部28を備えている。
【0045】
カメラ21は、店舗にATMとして設置されているクライアント装置20を利用する人物であるユーザ(認証対象者)の顔の画像を取得する。
【0046】
静脈センサ22は、ユーザの静脈の画像を取得する。
【0047】
センサ制御部23は、カメラ21及び静脈センサ22を制御して、ユーザの顔若しくは静脈の画像の取得を行わせ、得られた画像を表している画像データを、当該ユーザの生体情報として出力する。
【0048】
認証要求部24は、センサ制御部23から受け取った生体情報を照合情報として含む認証要求であって、店舗若しくはクライアント装置20を識別する情報を更に含む当該認証要求を作成して出力する。
【0049】
入力部25は例えばカード読み取り機であり、ユーザが携帯しているICカードから、ユーザについての識別情報(Identification、以下「ID」と記す)を読み出して取得する。
【0050】
クライアント制御部26はクライアント装置20全体の制御を行う。クライアント制御部26は、例えば、認証要求部24から送られてくる認証要求を出力する。
【0051】
通信部27は、不図示の通信ネットワークを介してサーバ装置30との間でデータ通信を行う。例えば、通信部27は、クライアント制御部26から出力される認証要求を、サーバ装置30へ宛てて送出する。また、通信部27は、例えば、送出した認証要求に基づいて行われた認証の結果を示す情報などといった、サーバ装置30から送られてくる各種の情報を受信してクライアント制御部26へ出力する。
【0052】
クライアント制御部26は、表示部28を制御して、通信部27から受け取った認証結果の情報を表示部28に表示させる。
【0053】
表示部28は例えばディスプレイ装置であり、クライアント制御部26による制御の下で認証結果の表示を行う。
【0054】
一方、サーバ装置30は、クライアント装置20によりユーザに対して行われるキャッシュ認証及び通常の認証の機能の提供を支援する情報処理装置である。
【0055】
サーバ装置30は、通信部31、認証制御部32、キャッシュ認証部33、キャッシュ管理部34、通常認証部35、キャッシュ登録部36、認証履歴記憶部37、クラスタリング処理部38、及びクラスタ振り分け処理部39を備えている。
【0056】
通信部31は、不図示の通信ネットワークを介してクライアント装置20との間でデータ通信を行う。例えば、通信部31は、生体情報が照合情報として含まれている認証要求をクライアント装置20から受信する。また、例えば、通信部31は、認証制御部32から出力される、認証要求に応じて行われた認証の結果を示す情報を、クライアント装置20へ宛てて送出する。
【0057】
認証制御部32は、サーバ装置30全体の制御を行う。認証制御部32は、例えば、キャッシュ認証部33により行われるキャッシュ認証処理と通常認証部35により行われる通常認証処理との制御、これらの認証の結果についての認証履歴記憶部37への記録、認証結果の通信部31への出力を行う。
【0058】
キャッシュ認証部33は、クライアント装置20から送られてくる認証要求に照合情報として含まれている生体情報と、キャッシュ管理部34から送られてくる、クライアント装置20についてのキャッシュ情報とを照合するキャッシュ認証処理を行う。また、キャッシュ認証部33は、このキャッシュ認証処理による認証結果をキャッシュ登録部36へ出力する。
【0059】
キャッシュ管理部34は、アクセス速度の高速な記憶部をキャッシュとして複数備えており、このキャッシュの管理を行う。この複数のキャッシュは、複数のクライアント装置20に1つずつ対応付けられている。前述したように、本実施形態では、クライアント装置20が店舗毎に1台ずつ設置されるとしているので、各キャッシュは各店舗に対応付けられているともいえる。クライアント装置20から送られてきた認証要求に応じて行われるキャッシュ認証処理では、当該認証要求の発信元のクライアント装置20に対応付けられているキャッシュに登録されている照合情報がキャッシュ情報として用いられる。キャッシュ管理部34は、キャッシュに対する照合情報の登録や、当該照合情報のキャッシュでの保持期限経過後の削除などの制御を行う。
【0060】
通常認証部35は、認証システム10を提供している金融機関に取引口座を有する全てのユーザの照合情報が、各ユーザのIDに対応付けられて登録されているデータベースを備えている。通常認証部35は、これらの照合情報と、クライアント装置20から送られてくる認証要求に含まれている照合情報として含まれている生体情報とを照合する通常認証処理を行い、認証結果をキャッシュ登録部36へ出力する。
【0061】
キャッシュ登録部36は、キャッシュ管理部34で管理されているキャッシュに照合情報の登録を行う。
【0062】
ここで、キャッシュに登録されるキャッシュ情報について、
図5のキャッシュ情報の例を参照しながら説明する。
【0063】
キャッシュ登録部36は、例えば、クライアント装置20から送られてきた認証要求に応じて通常認証部35で行われる通常認証処理の結果が成功であった場合に、当該認証での認証対象者であるユーザの照合情報をキャッシュに登録する。キャッシュ登録部36は、この場合に、認証対象者であるユーザとIDが一致している登録者についての照合情報を通常認証部35から受け取る。そして、当該照合情報と、直近の認証日時の情報としての当該通常認証処理の実施日時とを当該IDに対応付けたデータを、キャッシュ情報として、認証要求の発信元のクライアント装置20に対応付けられているキャッシュに登録する。
【0064】
なお、キャッシュ管理部34は、キャッシュ認証部33で行われるキャッシュ認証処理の結果が成功であった場合に、認証対象者であるユーザのIDに対応付けられてキャッシュに登録されている直近の認証日時の情報を当該キャッシュ認証の実施日時に更新する。
【0065】
図4の説明に戻る。認証履歴記憶部37は、サーバ装置30で実施された認証処理の結果を認証履歴として記憶する記憶部である。
【0066】
ここで
図6について説明する。
図6は、認証履歴記憶部37に記憶される認証履歴の例を表している。
【0067】
認証制御部32は、クライアント装置20から送られてきた認証要求に応じてサーバ装置30において認証処理が行われる度に、当該認証処理の結果を、認証履歴として、認証要求の発信元のクライアント装置20毎に認証履歴記憶部37に記憶させる。認証履歴には、認証処理を実行した日時の情報、キャッシュ認証部33によるキャッシュ認証の成否、通常認証部35による通常の認証が行われた場合には当該通常の認証の成否、及び、認証対象者であるユーザのIDが含まれる。但し、ユーザのIDは、キャッシュ認証処理と通常認証処理とのどちらかで認証結果が成功であった場合に認証履歴として登録され、キャッシュ認証処理と通常認証処理とのどちらの認証結果も失敗であった場合には登録されない。
【0068】
図4の説明に戻る。クラスタリング処理部38は、クライアント装置20がそれぞれ設置されている複数の店舗に対してクラスタリング処理を実行することによって類似店舗同士でクラスタを形成する。本実施形態では、クラスタリング処理部38は、認証履歴記憶部37に記憶されている、クライアント装置20毎、すなわち店舗毎の認証履歴を用いてクラスタの形成を行う。
【0069】
クラスタ振り分け処理部39は、クラスタリング処理部38により生成された各クラスタを、キャッシュ登録を行うクラスタと、キャッシュ登録を行わないクラスタとに振り分ける。本実施形態では、クラスタ振り分け処理部39は、認証履歴記憶部37に記憶されている履歴情報から、ユーザの各店舗の利用傾向を示す利用傾向情報を取得し、前述した振り分けを、当該利用傾向情報に基づいて行う。なお、クラスタ振り分け処理部39は、後述する一部の実施形態では、キャッシュ登録を行うクラスタを、更に、店舗クラスタリングによりキャッシュ登録を行うクラスタと、ユーザクラスタリングによりキャッシュ登録を行うクラスタとに振り分ける。
【0070】
なお、キャッシュ登録部36は、クラスタ振り分け処理部39による振り分けの結果に従って、キャッシュ管理部34で管理されているキャッシュへの照合情報の登録も行う。
【0071】
図4に例示した認証システム10は、以上の各構成要素を備えている。
【0072】
なお、認証システム10におけるサーバ装置30を、コンピュータとソフトウェアとの組合せにより構成するようにしてもよい。
【0073】
図7はコンピュータ40のハードウェア構成例を示している。
【0074】
コンピュータ40は、構成要素として、例えば、プロセッサ41、メモリ42、記憶装置43、読取装置44、通信インタフェース46、及び入出力インタフェース47の各ハードウェアを備えている。これらの構成要素はバス48を介して接続されており、構成要素間で相互にデータの授受を行える。
【0075】
プロセッサ41は、例えば、シングルプロセッサであっても、マルチプロセッサ及びマルチコアであってもよい。プロセッサ41は、メモリ42を利用して、例えば、後述する処理の手順を記述したプログラムを実行する。
【0076】
メモリ42は、例えば半導体メモリであり、RAM領域及びROM領域を含む。なお、RAMは、Random Access Memoryの略称である。また、ROMは、Read Only Memoryの略称である。コンピュータ40を用いてサーバ装置30を構成する場合には、例えばメモリ42が、キャッシュ管理部34が備えているキャッシュの機能を提供する。
【0077】
記憶装置43は、例えばハードディスク、フラッシュメモリ等の半導体メモリ、または外部記憶装置である。コンピュータ40を用いてサーバ装置30を構成する場合には、例えば記憶装置43が、通常認証部35に備えられている前述したデータベースや、認証履歴記憶部37の機能を提供する。
【0078】
読取装置44は、プロセッサ41の指示に従って着脱可能記憶媒体45にアクセスする。着脱可能記憶媒体45は、例えば、半導体デバイス(USBメモリ等)、磁気的作用により情報が入出力される媒体(磁気ディスク等)、光学的作用により情報が入出力される媒体(CD-ROM、DVD等)などにより実現される。なお、USBは、Universal Serial Busの略称である。CDは、Compact Discの略称である。DVDは、Digital Versatile Diskの略称である。
【0079】
通信インタフェース46は、例えば、プロセッサ41の指示に従って不図示の通信ネットワークを介してデータを送受信する。コンピュータ40を用いてサーバ装置30を構成する場合には、通信インタフェース46が通信部31の機能を提供する。
【0080】
入出力インタフェース47は、例えばキーボードやマウス装置等の入力デバイスやディスプレイ装置等の出力デバイスとのインタフェースを提供する。
【0081】
このコンピュータ40のプロセッサ41により実行されるプログラムは、例えば、下記の形態で提供される。
【0082】
(1)記憶装置43に予めインストールされている。
(2)着脱可能記憶媒体45により提供される。
(3)プログラムサーバなどから通信網を介して通信インタフェース46へ提供される。
【0083】
なお、コンピュータ40のハードウェア構成は、例示であり、実施形態はこれに限定されるものではない。例えば、上述の機能部の一部または全部の機能がFPGA及びSoCなどによるハードウェアとして実装されてもよい。なお、FPGAは、Field Programmable Gate Arrayの略称である。SoCは、System-on-a-chipの略称である。
【0084】
次に、
図4の認証システム10におけるサーバ装置30が行う、各店舗のクラスタリングの処理、クラスタの振り分けの処理、照合情報のキャッシュへの登録の処理、認証の処理などの各種の情報処理について説明する。
【0085】
図7のコンピュータ40とソフトウェアとの組合せによりサーバ装置30を構成する場合には、これより説明する情報処理を記述した情報処理プログラムをプロセッサ41に実行させるようにする。このようにすることで、サーバ装置30が行う各種の情報処理方法がコンピュータ40により行われる。
【0086】
初めに認証処理について説明する。認証処理は、ユーザに対するキャッシュ認証と、必要に応じて通常の認証とを行い、これらの認証の結果を認証履歴として記録すると共に、通常の認証を行った場合には当該ユーザの照合情報をキャッシュに登録する処理である。
【0087】
図8は、認証処理の処理内容の一例を示したフローチャートである。
【0088】
図8の処理が開始されると、まず、S101では、クライアント装置20から発信される認証要求を受信して取得する処理が行われる。この処理は通信部31により行われる処理である。
【0089】
次に、S102では、S101の処理によって認証要求が取得されたか否かを判定する処理が行われる。この処理は認証制御部32により行われる処理である。この処理において、認証要求を取得したと判定されたとき(判定結果がYESのとき)にはS103に処理を進める。一方、この処理において、認証要求を取得していないと判定されたとき(判定結果がNOのとき)にはS101へ処理を戻して、認証要求の取得の処理が継続して行われる。
【0090】
S103では、キャッシュ認証による認証処理が行われる。キャッシュ認証による認証処理はキャッシュ認証部33により行われる処理である。
【0091】
キャッシュ認証による認証処理では、まず、キャッシュ管理部34で管理されている複数のキャッシュのうちの、認証要求に含まれている情報により識別される店舗に対応付けられているキャッシュから、キャッシュ情報を全て取得する処理が行われる。次に、取得した認証要求に含まれている、認証対象者であるユーザの顔若しくは静脈の画像データから特徴量を取得する処理が行われる。次に、当該ユーザの顔若しくは静脈について照合が行われる。この照合では、当該ユーザについての顔若しくは静脈についての特徴量と、取得したキャッシュ情報のそれぞれに照合情報として含まれている登録者の特徴量データとについての類似度が算出される。そして、顔若しくは静脈について、算出した類似度と所定の類似度閾値との大小比較が行われることによって、認証対象者が登録者と同一人物であるか否かの判定が行われる。
【0092】
S104では、S103のキャッシュ認証による認証処理が成功し、認証対象者であるユーザに対応する登録者の特定ができたか否かを判定する処理が行われる。この判定処理は認証制御部32により行われる処理である。この判定処理において、当該ユーザに対応する登録者の特定ができたと判定されたとき(判定結果がYESのとき)にはS106に処理を進める。一方、S103のキャッシュ認証による認証処理において、当該ユーザに対応する登録者の特定ができなかったと判定されたとき(判定結果がNOのとき)にはS105に処理を進める。
【0093】
S105では、通常の認証による認証処理が行われる。通常の認証による認証処理は通常認証部35により行われる処理である。
【0094】
通常の認証による認証処理では、まず、取得した認証要求に含まれている、認証対象者であるユーザの顔若しくは静脈それぞれの画像データから特徴量を取得する処理が行われる。次に、認証対象者の顔若しくは静脈について照合が行われる。この照合では、認証対象者についての顔若しくは静脈の特徴量と、通常認証部35が備えているデータベースに登録されている各登録者についての照合情報とについての類似度が算出される。そして、顔若しくは静脈について、算出した類似度と所定の類似度閾値との大小比較が行われることによって、当該ユーザが登録者と同一人物であるか否かの判定が行われる。このS105の処理を終えるとS106に処理を進める。
【0095】
なお、S103のキャッシュ認証による認証処理やS105の通常の認証による認証処理において、例えば、認証対象者の顔と静脈との両方を照合の対象として照合を行うマルチ生体認証を行うようにしてもよい。
【0096】
S106では、S101の処理により取得した認証要求に応じて行われた認証の結果を、当該認証要求に含まれている情報により識別される店舗についての認証履歴として、認証履歴記憶部37に記録する処理が行われる。この処理は認証制御部32により行われる処理である。この処理により記録される認証履歴には、
図6に示したように、認証処理の実行の日時の情報、キャッシュ認証部33によるキャッシュ認証の成否、通常認証部35による認証が行われた場合における通常の認証の成否、及び、認証対象者のIDが含まれる。但し、認証対象者であるユーザのIDは、キャッシュ認証処理と通常認証処理とのどちらかで認証結果が成功であった場合に記録され、キャッシュ認証と通常の認証とのどちらの認証結果も失敗であった場合には記録されない。
【0097】
S107では、S101の処理により取得した認証要求に応じて行われた認証の結果を、当該認証要求の発信元のクライアント装置20へ宛てて送付する処理が行われる。この処理は通信部31により行われる処理である。
【0098】
S108では、S101の処理により取得した認証要求に応じて行われた認証において、S105の処理である通常の認証の処理が実行され、且つ、当該通常の認証の処理結果が成功であったか否かを判定する処理が行われる。この判定処理は認証制御部32により行われる処理である。この判定処理において、通常の認証の処理が実行され、且つ、当該通常の認証の処理結果が成功であったと判定されたとき(判定結果がYESのとき)には109に処理を進める。一方、この判定処理による判定結果がNOのときには、S101へ処理を戻して、これまでに説明した処理が再度行われる。なお、この判定処理による判定結果がNOとなる場合とは、通常の認証の処理が実行されなかった場合と、すなわち、S103のキャッシュ認証による認証処理が成功した場合と、通常の認証の処理結果が失敗であった場合とがある。
S109ではキャッシュ登録処理が行われる。この処理の詳細については後述する。
【0099】
S109の処理が完了したときにはS101へ処理を戻して、これまでに説明した処理が再度行われる。
【0100】
以上までの処理が認証処理である。
【0101】
次に、
図8におけるS109の処理であるキャッシュ登録処理について説明する。この処理は、
図8のS105の処理である通常の認証の処理に成功した場合に、認証対象者であるユーザの照合情報を、キャッシュ管理部34で管理されているキャッシュに登録する処理である。
【0102】
まず
図9について説明する。
図9は、キャッシュ登録処理の第1の例の処理内容を示したフローチャートである。
【0103】
図9の処理が開始されると、まず、S201では、認証履歴記憶部37で保存されている、全ての店舗についての認証履歴を取得する処理がクラスタリング処理部38により行われる。
【0104】
次に、S202では、S201の処理により取得された店舗を利用するユーザと、各店舗の利用経験の有無との関係を表した行列Lを作成する処理がクラスタリング処理部38により行われる。
【0105】
行列Lは、各ユーザについての各店舗の利用傾向を示す情報である。この行列Lについて、
図10に示した行列Lの一例を参照しながら説明する。
【0106】
行列Lでは、各行はm人のユーザの個別に表しており、各列はn軒の店舗を個別に表している。但し、m及びnは1以上の整数である。また、行列Lの各成分の値は、当該ユーザについての当該店舗の利用経験の有無を示しており、値「1」は利用経験があることを、また、値「0」は利用経験がないことを表している。
【0107】
図10の例では、例えば、ユーザ「1」についての、店舗「1」、「3」、及び「n」の各成分の値は「1」であり、店舗「2」、「n-2」、及び「n-1」の各成分の値は「0」である。従って、この例は、ユーザ「1」は、店舗「1」、「3」、及び「n」については来店して利用した経験があり、店舗「2」、「n-2」、及び「n-1」については来店したことがなく、利用経験がないことを表している。
【0108】
図9において、S203では、S202の処理により作成した行列Lから、各店舗についての各クラスタへの所属確率を算出する処理がクラスタリング処理部38により行われる。本実施形態では、クラスタリング処理部38は、行列Lに対して、形成するクラスタの数をクラス数とする前述したPLSAを適用することによって、この所属確率を算出するようにする。この処理によって得られる、各店舗の各クラスタへの所属確率の算出結果の第1の例を
図11に示す。
【0109】
図11に示されているテーブルは、形成するクラスタ数を4とした場合の例である。このテーブルにおいて、各行はn軒の店舗を個別に表しており、各列は4つのクラスタを個別に表している。また、このテーブルの各セルには、当該店舗についての当該クラスタへの所属確率の値が示されている。
【0110】
図11の例では、例えば、店舗「1」については、クラスタ「1」、「2」、「3」、及び「4」への所属確率が、それぞれ、「0.99」、「0.01」、「0」、及び「0」であったことを表している。
【0111】
図9において、S204では、S203の処理により店舗毎に算出された各クラスタへの所属確率に基づき、各店舗が所属するクラスタを特定する処理がクラスタリング処理部38により行われる。
【0112】
本実施形態では、クラスタリング処理部38は、例えば、店舗毎に、各クラスタのうちで所属確率が最高であるクラスタを、当該店舗が所属するクラスタとして特定する。従って、
図11の例では、例えば、店舗「1」は、クラスタ「1」、「2」、「3」、及び「4」のうちで、所属確率が「0.99」であって最高であるクラスタ「1」に所属する。
【0113】
なお、
図11の例では、店舗「n-2」については、クラスタ「2」及び「3」への所属確率がどちらも「0.45」であって最高である。このような、店舗についての複数のクラスタへの所属確率が最高であって同一値である場合には、当該店舗を当該複数のクラスタに所属させる。従って、店舗「n-2」については、クラスタ「2」とクラスタ「3」との両方に所属させる。また、最高の所属確率とは同一ではないが、その差が小さく所定値以下であるクラスタについても、所属確率が最高であるクラスタと共に、当該店舗を所属させるようにしてもよい。
【0114】
以上の
図9のS203及びS204の処理によって、複数の認証ポイントである各店舗と、各店舗が所属するクラスタとの関係を示すクラスタ情報が、クラスタリング処理部38によって取得される。つまり、クラスタリング処理部38は、このクラスタ情報と、各ユーザについての各店舗の利用傾向を示す情報である行列Lとを取得する取得部の一例である。
【0115】
次に、S205では、S202の処理により作成された行列Lと、上述したクラスタ情報とを用いて、各クラスタについての各ユーザの利用経験率を算出する処理が、クラスタ振り分け処理部39により行われる。そして、続くS206において、クラスタへのキャッシュ登録処理がクラスタ振り分け処理部39及びキャッシュ登録部36により行われる。クラスタへのキャッシュ登録処理は、利用経験率を利用して各クラスタのキャッシュ登録を行うクラスタと行わないクラスタとに振り分け、キャッシュ登録を行うクラスタに対して、ユーザの照合情報のキャッシュ登録を実際に行う処理である。
【0116】
S206のクラスタへのキャッシュ登録処理の具体的な処理内容は後述するが、ここで、利用経験率に基づいた各クラスタの振り分けの概要について、
図12を用いて説明する。
【0117】
図12の例は、ユーザ「1」が店舗「A」、「C」、及び「D」に来店して利用した経験があること、並びに、クラスタ「A」には店舗「A」、「B」、及び「C」が所属し、クラスタ「B」には店舗「D」、「E」、及び「F」が所属していることを表している。つまり、この
図12の例は、複数のクラスタそれぞれに所属している各店舗についてのユーザ「1」の利用傾向を示している。なお、各店舗についてのユーザ「1」の利用経験の有無は行列Lにより表され、各店舗の各クラスタへの所属関係はクラスタ情報により表される。
【0118】
利用経験率は、各クラスタについて、所属する店舗の軒数に対する、ユーザが利用経験のある店舗の軒数の割合である。
【0119】
図12の例で示されている利用傾向を用いて、各クラスタについてのユーザ「1」の利用経験率を算出してみる。クラスタ「A」は3つの店舗が所属しており、ユーザ「1」は、そのうちの2つの店舗について利用経験があるので、クラスタ「A」についてのユーザ「1」の利用経験率は、2/3×100=66パーセントと算出される。一方、クラスタ「B」は3つの店舗が所属しており、ユーザ「1」は、そのうちの1つの店舗のみについて利用経験があるので、クラスタ「B」についてのユーザ「1」の利用経験率は、1/3×100=33パーセントと算出される。
【0120】
クラスタ振り分け処理部39は、このようにして算出される利用経験率を用いて、各クラスタの振り分けを行う。つまり、クラスタ振り分け処理部39は、各クラスタについて、ユーザの照合情報のキャッシュへの登録を行う対象のクラスタとするかどうかの判定を、各店舗についての各ユーザの利用傾向を示す情報である行列Lに基づいて行う判定部の一例である。
【0121】
図12の例では、クラスタ振り分け処理部39は、利用経験率が66パーセントと高い値であるクラスタ「A」についてはキャッシュ登録を行うクラスタに振り分ける。一方、利用経験率が33パーセントと低い値であるクラスタ「B」についてはキャッシュ登録を行わないクラスタに振り分ける。
【0122】
キャッシュ登録部36は、各クラスタに対する、ユーザの照合情報のキャッシュ登録を、クラスタ振り分け処理部39による振り分けの結果に従って行う。
【0123】
例えば、キャッシュ登録を行うクラスタに振り分けられたクラスタ「A」については、クラスタ「A」に所属する店舗「A」、「C」、及び「C」の全てについてのキャッシュにユーザ「1」の照合情報が登録される。一方、キャッシュ登録を行わないクラスタに振り分けられたクラスタ「B」に対しては照合情報のキャッシュ登録は行われない。
【0124】
但し、
図9のキャッシュ登録処理の第1の例では、S206の処理に続いてS207の判定処理がキャッシュ登録部36により行われる。
【0125】
S207の判定処理では、S206のクラスタへのキャッシュ登録処理によって、
図8のS101の処理により取得された認証要求の発信元の店舗についてのキャッシュに、認証対象者であるユーザの照合情報が登録されているか否かが判定される。
【0126】
この判定処理において、認証要求の発信元の店舗についてのキャッシュにユーザの照合情報が登録されていないと判定されたとき(判定結果がNOのとき)には、S208に処理を進める。そして、S208において、認証要求の発信元の店舗に、ユーザの照合情報をキャッシュ登録する処理がキャッシュ登録部36により行われ、その後は
図9の処理が終了し、
図8の認証処理へと処理を戻す。一方、この判定処理において、認証要求の発信元の店舗についてのキャッシュにユーザの照合情報が登録されていると判定されたとき(判定結果がYESのとき)には、S208の処理をスキップして
図9の処理が終了し、
図8の認証処理へと処理を戻す。
【0127】
以上までの処理がキャッシュ登録処理の第1の例である。
【0128】
前述したように、
図12の例では、クラスタ振り分け処理部39は、クラスタ「B」を、キャッシュ登録を行わないクラスタに振り分ける。従って、クラスタ「B」に所属している店舗「E」及び「F」についてのキャッシュには、ユーザ「1」の照合情報が登録されない。しかしながら、ユーザ「1」が来店して利用した経験がある店舗「D」については、クラスタ「B」に所属しているが、キャッシュ登録部36が
図9のS207及びS208の処理を実行することにより、ユーザ「1」の照合情報がキャッシュ登録される。
【0129】
次に、
図9のS206の処理である、クラスタへのキャッシュ登録処理の具体的な処理内容として、4つの例を説明する。
【0130】
まず、
図13について説明する。
図13は、クラスタへのキャッシュ登録処理の第1の例の処理内容を示したフローチャートである。この第1の例は、複数のクラスタのうちで、認証対象者であるユーザの利用経験率が所定の第1の閾値よりも高いクラスタに対して、当該ユーザの照合情報のキャッシュ登録を行う処理である。
【0131】
図13において、まず、S211では、複数のクラスタのうちから、繰り返し実行されるこのS211の処理により選択がされていないクラスタを1つ選択する処理が、クラスタ振り分け処理部39により行われる。
【0132】
次に、S212では、直近に実行されたS211の処理により選択したクラスタについての、認証対象者であるユーザの利用経験率が第1の閾値よりも高いか否かを判定する処理がクラスタ振り分け処理部39により行われる。このS212の処理により、各クラスタについて、キャッシュ登録を行う対象のクラスタとするかどうかの判定が、ユーザの利用経験率に基づいて行われる。
【0133】
S212の判定処理において、利用経験率が第1の閾値よりも高いと判定されたとき(判定結果がYESのとき)には、S213に処理を進める。一方、この判定処理において、利用経験率が第1の閾値以下の高さであると判定されたとき(判定結果がNOのとき)には、S213の処理をスキップして、S214に処理を進める。
【0134】
S213では、認証対象者であるユーザについての認証情報を、直近に実行されたS211の処理により選択されたクラスタにキャッシュ登録する処理がキャッシュ登録部36により行われる。この処理では、当該ユーザについての認証情報が、通常認証部35に備えられている前述したデータベースから取得されてキャッシュ管理部34に送付され、選択されたクラスタに所属する全ての店舗についてのキャッシュに当該認証情報が登録される。
【0135】
S214では、複数のクラスタの全てがS211の処理によって選択されたか否かを判定する処理がクラスタ振り分け処理部39により行われる。この判定処理において、全てのクラスタが選択されたと判定されたとき(判定結果がYESのとき)には、この
図13の処理が終了し、
図9のキャッシュ登録処理の第1の例へと処理を戻す。一方、この判定処理において、未選択のクラスタが残っていると判定されたとき(判定結果がNOのとき)には、S211へと処理を戻して、未選択のクラスタを対象としてS211以降の処理が繰り返される。
【0136】
以上までの処理がクラスタへのキャッシュ登録処理の第1の例である。
【0137】
次に、
図14について説明する。
図14は、クラスタへのキャッシュ登録処理の第2の例の処理内容を示したフローチャートである。この第2の例は、複数のクラスタのうちの、認証対象者であるユーザの利用経験率の高い順に所定個数のクラスタに対して、当該ユーザの照合情報のキャッシュ登録を行う処理である。
【0138】
図14において、まず、S221では、繰り返し実行されるS221の処理により未だ特定がされていないクラスタのうちで認証対象者であるユーザの利用経験率が最高であるクラスタを複数のクラスタから特定する処理が行われる。この処理は、クラスタ振り分け処理部39により行われる処理である。
【0139】
S222では、認証対象者であるユーザについての認証情報を、この処理の直前に実行されたS221の処理によって特定されたクラスタにキャッシュ登録する処理がキャッシュ登録部36により行われる。この処理の詳細は、
図13に示した第1の例におけるS213の処理と同様である。
【0140】
S223では、S221の処理の繰り返しによって複数のクラスタから特定したクラスタの数が所定個数に達したか否かを判定する処理がクラスタ振り分け処理部39により行われる。この判定処理において、所定個数のクラスタが特定されたと判定されたとき(判定結果がYESのとき)には、この
図14の処理が終了し、
図9のキャッシュ登録処理の第1の例へと処理を戻す。一方、この判定処理において、特定したクラスタの数が所定個数に満たないと判定されたとき(判定結果がNOのとき)には、S221へと処理を戻して、未特定のクラスタを対象としてS221以降の処理が繰り返される。
【0141】
以上までの処理がクラスタへのキャッシュ登録処理の第2の例である。この処理により、各クラスタについて、キャッシュ登録を行う対象のクラスタとするかどうかの判定がユーザの利用経験率に基づいて行われ、当該ユーザの照合情報のキャッシュ登録が当該対象のクラスタに対して行われる。
【0142】
次に、クラスタへのキャッシュ登録処理の第3及び第4の例について説明する。この第3及び第4の例は、各クラスタについて、キャッシュ登録を行う対象のクラスタとするかどうかの判定を、各クラスタについてのユーザの利用経験率を正規化した値を用いて行うというものである。
【0143】
これより説明する実施形態では、まず、各クラスタについてのユーザの利用経験率を、各クラスタについての当該利用経験率の総和で正規化し、この正規化後の値を、各クラスタについてのユーザの所属確率とする。例えば、10個のクラスタのそれぞれについての、あるユーザの利用経験率がそれぞれ下記の値であったとする。
【0144】
[0.225, 0.0, 0.45, 0.9, 0.0, 0.45, 0.1125, 0.0, 0.0675, 0.045]
【0145】
上記の10個の利用経験率の総和は2.25である。従って、この総和の値が1.0となるように正規化して当該10個のクラスタのそれぞれについての当該ユーザの所属確率を算出すると、この所属確率は、上記のそれぞれの利用経験率の値を2.25で除算した下記の値となる。
【0146】
[0.1, 0.0, 0.2, 0.4, 0.0, 0.2, 0.05, 0.0, 0.03, 0.02]
【0147】
これより説明する第3及び第4の例では、このようにして算出される、各クラスタについてのユーザの所属確率を用いて、キャッシュ登録を行う対象のクラスタとするかどうかの判定が行われる。
【0148】
まず
図15について説明する。
図15は、クラスタへのキャッシュ登録処理の第3の例の処理内容を示したフローチャートである。この第3の例は、複数のクラスタから認証対象者であるユーザの所属確率の高い順に特定されるクラスタに対して当該ユーザの照合情報のキャッシュ登録を行う処理である。但し、特定されるクラスタのそれぞれについての当該所属確率の合計値が所定の第2の閾値以下に留まるように、クラスタの特定が行われる。
【0149】
図15において、まず、S231では、複数のクラスタのそれぞれについて、認証対象者であるユーザの利用経験率を前述のようにして正規化することによって、当該ユーザの所属確率を算出する処理がクラスタ振り分け処理部39により行われる。
【0150】
次に、S232では、繰り返し実行されるこのS232の処理により未だ特定がされていないクラスタのうちで当該ユーザの所属確率が最高であるクラスタを複数のクラスタのうちから特定する処理がクラスタ振り分け処理部39により行われる。
【0151】
次に、S233では、S232の処理の繰り返しにより特定されたクラスタそれぞれについての、当該ユーザの所属確率の合計値を算出する処理がクラスタ振り分け処理部39により行われる。
【0152】
次に、S234では、S233の処理により算出された合計値が第2の閾値以下であるか否かを判定する処理がクラスタ振り分け処理部39により行われる。この判定処理において、当該合計値が第2の閾値以下であると判定されたとき(判定結果がYESのとき)には、S235に処理を進める。一方、この判定処理において、当該合計値が第2の閾値を超えたと判定されたとき(判定結果がNOのとき)には、この
図15の処理が終了し、
図9のキャッシュ登録処理の第1の例へと処理を戻す。
【0153】
S235では、この処理の直近に実行されたS232の処理において特定されたクラスタに、認証対象者であるユーザの照合情報をキャッシュ登録する処理がキャッシュ登録部36により行われる。そして、この後はS232に処理を戻して、未特定のクラスタを対象としてS232以降の処理が繰り返される。
【0154】
以上までの処理がクラスタへのキャッシュ登録処理の第3の例である。この処理により、各クラスタについて、キャッシュ登録を行う対象のクラスタとするかどうかの判定がユーザの所属確率に基づいて行われ、当該ユーザの照合情報のキャッシュ登録が当該対象のクラスタに対して行われる。
【0155】
次に、
図16について説明する。
図16は、クラスタへのキャッシュ登録処理の第4の例の処理内容を示したフローチャートである。この第4の例は、複数のクラスタのうちの、認証対象者であるユーザの所属確率の高い順に所定個数のクラスタに対して、当該ユーザの照合情報のキャッシュ登録を行う処理である。
【0156】
図16において、まず、S241では、複数のクラスタのそれぞれについて、認証対象者であるユーザの利用経験率を前述のようにして正規化することによって、当該ユーザの所属確率を算出する処理がクラスタ振り分け処理部39により行われる。この処理は、
図15に示した第3の例におけるS231と同様の処理である。
【0157】
次に、S242では、繰り返し実行されるS242の処理により未だ特定がされていないクラスタのうちで認証対象者であるユーザの所属確率が最高であるクラスタを複数のクラスタから特定する処理がクラスタ振り分け処理部39により行われる。
【0158】
S243では、認証対象者であるユーザについての認証情報を、直近に実行されたS242の処理により特定されたクラスタにキャッシュ登録する処理がキャッシュ登録部36により行われる。この処理の詳細は、
図13に示した第1の例におけるS213の処理や、
図14に示した第2の例におけるS222の処理と同様である。
【0159】
S244では、S242の処理によって複数のクラスタから特定したクラスタの数が所定個数に達したか否かを判定する処理がクラスタ振り分け処理部39により行われる。この判定処理において、所定個数のクラスタが特定されたと判定されたとき(判定結果がYESのとき)には、この
図16の処理が終了し、
図9のキャッシュ登録処理の第1の例へと処理を戻す。一方、この判定処理において、特定したクラスタの数が所定個数に満たないと判定されたとき(判定結果がNOのとき)には、S242へと処理を戻して、未特定のクラスタを対象としてS242以降の処理が繰り返される。
【0160】
以上までの処理がクラスタへのキャッシュ登録処理の第4の例である。この処理により、各クラスタについて、キャッシュ登録を行う対象のクラスタとするかどうかの判定がユーザの所属確率に基づいて行われ、当該ユーザの照合情報のキャッシュ登録が当該対象のクラスタに対して行われる。
【0161】
図4の認証システム10におけるサーバ装置30が、これまでに説明した各種の情報処理を実行することによって、認証対象者であるユーザの照合情報のキャッシュ登録を行うクラスタの選定が適切に行われ、その選定効率が向上する。
【0162】
次に、キャッシュ登録処理の第2の例について説明する。
【0163】
まず
図17のテーブルを説明する。このテーブルは、各店舗の各クラスタへの所属確率の算出結果の第2の例を示しており、
図9に示したキャッシュ登録処理の第1の例におけるS201からS203までの処理による算出結果の一例を示したものである。
【0164】
図17に示されているテーブルは、10軒の店舗から形成するクラスタ数を4とした場合の例である。このテーブルにおいて、各行は10軒の店舗を個別に表しており、各列は4つのクラスタを個別に表している。また、このテーブルの各セルには、当該店舗についての当該クラスタへの所属確率の値が示されている。
【0165】
例えば、
図17の例において、店舗の所属確率が最も高いクラスタに当該店舗を所属させた場合、各クラスタには各店舗が下記のように所属することになる。
【0166】
・クラスタ「1」:店舗「1」、「4」
・クラスタ「2」:店舗「2」、「3」、「8」
・クラスタ「3」:店舗「5」、「7」、「9」
・クラスタ「4」:店舗「6」、「10」
【0167】
このテーブルにおいて、店舗「7」の所属確率に注目すると、クラスタ「3」についての所属確率が最も高いものの、その値は顕著に高いものではなく、クラスタ「1」についての所属確率との差が比較的小さい。また、店舗「8」の所属確率に注目すると、クラスタ「2」についての所属確率が最も高いものの、この値も顕著に高いものではなく、クラスタ「3」についての所属確率との差は比較的小さい。
【0168】
そこで、これより説明するキャッシュ登録処理の第2の例では、まず、店舗の所属確率が所定の第3の閾値よりも高いクラスタに当該店舗を所属させるようにする。
【0169】
例えば第3の閾値が0.2であるとすると、
図17の例では、各クラスタには各店舗が下記のように所属することになる。
【0170】
・クラスタ「1」:店舗「1」、「4」、「7」
・クラスタ「2」:店舗「2」、「3」、「8」
・クラスタ「3」:店舗「5」、「7」、「8」、「9」
・クラスタ「4」:店舗「6」、「10」
【0171】
各クラスタに各店舗をこのように所属させると、クラスタ「1」及びクラスタ「3」では、前述した、店舗の所属確率が最も高いクラスタに当該店舗を所属させた場合から、所属する店舗の軒数が増加している。このため、このようにして所属関係を定めた場合に各クラスタについて店舗クラスタリングによるキャッシュ登録を行うと、クラスタ「1」及びクラスタ「3」のそれぞれではキャッシュサイズが増大することになる。
【0172】
そこで、キャッシュ登録処理の第2の例では、1つの店舗が2つ以上のクラスタに重複して所属する場合、店舗の所属確率が最も高いクラスタ以外の残余のクラスタについては、前述したユーザクラスタリングによるキャッシュ登録を行うようにする。なお、
図17の例では、クラスタ「1」及び「3」が、残余のクラスタに該当する。
【0173】
なお、以下の説明では、2つ以上のクラスタに重複して所属する店舗を「重複店舗」と称することとする。
【0174】
図18に示すテーブルは、各ユーザの各クラスタへの利用経験率の算出結果の一例を示したものである。なお、この例では、10軒の店舗と4つのクラスタとが前述した所属関係を有しており、店舗「7」及び「8」が重複店舗であるものとする。
【0175】
この
図18の例において、前述した
図13の第1の例の手法により、ユーザクラスタリングによるクラスタへのキャッシュ登録を行うことを考える。また、この場合における第1の閾値の値を0.5とする。
【0176】
図18の例において、クラスタ「1」に注目すると、利用経験率が0.5以上であるユーザ「1」、「4」、若しくは「m」が認証対象者である場合には、当該ユーザの照合情報は、クラスタ「1」にキャッシュ登録される。つまり、クラスタ「1」に所属している店舗「1」、「4」、「7」の全てに当該照合情報がキャッシュ登録される。一方、例えば、利用経験率が0.5未満であるユーザ「3」が認証対象者である場合には、当該ユーザの照合情報についてのクラスタ「1」へのキャッシュ登録は行われない。なお、クラスタ「1」に所属する店舗のうちのユーザ「3」が利用経験のある店舗のキャッシュには、当該店舗の利用時に当該ユーザの照合情報がキャッシュ登録されている。
【0177】
このように、キャッシュ登録処理の第2の例は、重複店舗が所属するクラスタのうち、重複店舗の所属確率が最も高いクラスタ以外の残余のクラスタに対して、ユーザクラスタリングによるキャッシュ登録を行うようにして、キャッシュサイズの増大を抑制する。
【0178】
以下、キャッシュ登録処理の第2の例の具体的な処理内容について、
図19に示したフローチャートを参照しながら説明する。
【0179】
この
図19の処理は、
図9に示した第1の例と同様に、
図8の認証処理におけるS109の処理として実行される。
【0180】
まず、
図19におけるS301からS303までの処理は、
図9に示した第1の例におけるS201からS203までの処理と同一であり、各店舗の各クラスタへの所属確率を、各店舗についての各ユーザの利用傾向を示す情報に基づいて算出する処理である。
【0181】
すなわち、まず、S301では、認証履歴記憶部37で保存されている、全ての店舗についての認証履歴を取得する処理がクラスタリング処理部38により行われる。次に、S302では、前述した行列L、すなわち、S301の処理により取得された店舗を利用するユーザと、各店舗の利用経験の有無との関係を表した行列Lを作成する処理がクラスタリング処理部38により行われる。そして、続くS303では、S302の処理により作成した行列Lから、各店舗についての各クラスタへの所属確率を算出する処理がクラスタリング処理部38により行われる。
【0182】
次に、S304では、S303の処理により店舗毎に算出された各クラスタへの所属確率に基づき、各店舗が所属するクラスタを特定する処理がクラスタリング処理部38により行われる。但し、S304では、店舗の所属確率が所定の第3の閾値よりも高いクラスタが、当該店舗を所属させるクラスタとして特定される。
【0183】
以上のS304までの処理によって、各店舗と各店舗が所属するクラスタとの関係を示すクラスタ情報が、クラスタリング処理部38によって取得される。
【0184】
次に、S305では、S302の処理により作成された行列Lと、上述したクラスタ情報とを用いて、各クラスタについての各ユーザの利用経験率を算出する処理が、クラスタ振り分け処理部39により行われる。この処理は、
図9に示した第1の例におけるS205の処理と同一である。
【0185】
次に、S306では、上述したクラスタ情報を参照して、重複店舗が所属するクラスタを特定する処理がクラスタ振り分け処理部39により行われる。前述したように、重複店舗とは、2つ以上のクラスタに重複して所属する店舗である。
【0186】
次に、S307では、S306の処理により特定したクラスタのうちの、重複店舗の所属確率が最高であるクラスタを除く残余のクラスタに対して、ユーザクラスタリングフラグをセットする処理がクラスタ振り分け処理部39により行われる。ユーザクラスタリングフラグは、ユーザクラスタリングによるキャッシュ登録を行うと定めたクラスタに対してセットされるフラグである。
【0187】
なお、以下の説明では、ユーザクラスタリングフラグを、簡単のため、単に「フラグ」と称することもある。
【0188】
次に、S308では、クラスタへのキャッシュ登録処理がクラスタ振り分け処理部39及びキャッシュ登録部36により行われる。この処理は、S307の処理によりフラグがセットされたクラスタに対してはユーザクラスタリングによるキャッシュ登録を行い、その他の、フラグがセットされていないクラスタに対しては店舗クラスタリングによるキャッシュ登録を行う処理である。この処理の具体的な処理内容は後述する。
【0189】
S308の処理に続くS309及びS310の処理は、
図9に示した第1の例におけるS207及びS208の処理とそれぞれ同一である。
【0190】
すなわち、S309では、S308のクラスタへのキャッシュ登録処理によって、
図8のS101の処理により取得された認証要求の発信元の店舗についてのキャッシュに、認証対象者であるユーザの照合情報が登録されているか否かが判定される。
【0191】
この判定処理において、認証要求の発信元の店舗についてのキャッシュにユーザの照合情報が登録されていないと判定されたとき(判定結果がNOのとき)には、S310に処理を進める。そして、S310において、認証要求の発信元の店舗に、ユーザの照合情報をキャッシュ登録する処理がキャッシュ登録部36により行われ、その後は
図9の処理が終了し、
図8の認証処理へと処理を戻す。一方、この判定処理において、認証要求の発信元の店舗についてのキャッシュにユーザの照合情報が登録されていると判定されたとき(判定結果がYESのとき)には、S310の処理をスキップして
図19の処理が終了し、
図8の認証処理へと処理を戻す。
【0192】
以上までの処理がキャッシュ登録処理の第2の例である。
【0193】
次に、
図19のS308の処理である、クラスタへのキャッシュ登録処理の具体的な処理内容として、4つの例を説明する。
【0194】
まず、
図20について説明する。
図20は、クラスタへのキャッシュ登録処理の第5の例の処理内容を示したフローチャートである。この第5の例は、ユーザクラスタリングフラグがセットされているクラスタに対しては、
図13に処理内容を示した第1の例と同様の処理によるキャッシュ登録を行い、その他のクラスタに対しては店舗クラスタリングによるキャッシュ登録を行う処理である。
【0195】
図20において、まず、S311では、複数のクラスタのうちから、繰り返し実行されるこのS311の処理により選択がされていないクラスタを1つ選択する処理が、クラスタ振り分け処理部39により行われる。
【0196】
次に、S312では、直近に実行されたS311の処理により選択したクラスタに対して、前述した
図19のS307の処理によってフラグがセットされているか否かを判定する処理が、クラスタ振り分け処理部39により行われる。この判定処理において、フラグがセットされていると判定されたとき(判定結果がYESのとき)にはS313に処理を進め、フラグがセットされていないと判定されたとき(判定結果がNOのとき)にはS315に処理を進める。
【0197】
S313及びS314の処理は、フラグがセットされているクラスタに対してユーザクラスタリングによるキャッシュ登録を行う処理であって、それぞれ、
図13に示した第1の例におけるS212及びS213の処理と同様の処理である。
【0198】
すなわち、S313では、直近に実行されたS311の処理により選択したクラスタについての、認証対象者であるユーザの利用経験率が所定の第4の閾値よりも高いか否かを判定する処理がクラスタ振り分け処理部39により行われる。この判定処理において、利用経験率が第4の閾値よりも高いと判定されたとき(判定結果がYESのとき)には、S314に処理を進める。一方、この判定処理において、利用経験率が第4の閾値以下の高さであると判定されたとき(判定結果がNOのとき)には、S314の処理をスキップして、S317に処理を進める。
【0199】
S314では、認証対象者であるユーザについての認証情報を、直近に実行されたS311の処理により選択されたクラスタにキャッシュ登録する処理がキャッシュ登録部36により行われる。この処理では、当該ユーザについての認証情報が、通常認証部35に備えられている前述したデータベースから取得されてキャッシュ管理部34に送付され、選択されたクラスタに所属する全ての店舗についてのキャッシュに当該認証情報が登録される。
【0200】
以上のS313及びS314の処理により、フラグがセットされているクラスタのうちで、認証対象者であるユーザの利用経験率が第4の閾値よりも高いクラスタに対してキャッシュ登録が行われる。なお、クラスタへのフラグのセットは、前述した
図19のS306及びS307の処理によって行われる。従って、フラグがセットされているクラスタとは、重複店舗が所属する2つ以上のクラスタのうちの、当該重複店舗の所属確率が最高であるクラスタを除く残余のクラスタである。
【0201】
S314の処理の後には、S317に処理を進める。
【0202】
S315及びS316の処理は、フラグがセットされていないクラスタに対して店舗クラスタリングによるキャッシュ登録を行う処理である。なお、フラグがセットされていないクラスタとは、全てのクラスタから重複店舗が所属する2つ以上のクラスタを除いたクラスタ、及び、当該2つ以上のクラスタのうちで当該重複店舗の所属確率が最高であるクラスタである。
【0203】
まず、S315では、直近に実行されたS311の処理により選択したクラスタに、認証対象者であるユーザの利用経験のある店舗が所属しているか否かを判定する処理がクラスタ振り分け処理部39により行われる。この判定は、
図19のS302の処理により作成した行列Lを参照することによって行うことが可能である。この判定処理において、ユーザの利用経験のある店舗が所属すると判定されたとき(判定結果がYESのとき)には、S316に処理を進める。一方、この判定処理において、ユーザの利用経験のある店舗は所属していないと判定されたとき(判定結果がNOのとき)には、S316の処理をスキップして、S317に処理を進める。
【0204】
S316では、認証対象者であるユーザについての認証情報を、直近に実行されたS311の処理により選択されたクラスタにキャッシュ登録する処理がキャッシュ登録部36により行われる。この処理は、前述したS314の処理と同一の処理である。
【0205】
S317では、複数のクラスタの全てがS311の処理によって選択されたか否かを判定する処理がクラスタ振り分け処理部39により行われる。この判定処理において、全てのクラスタが選択されたと判定されたとき(判定結果がYESのとき)には、この
図20の処理が終了し、
図19のキャッシュ登録処理の第2の例へと処理を戻す。一方、この判定処理において、未選択のクラスタが残っていると判定されたとき(判定結果がNOのとき)には、S311へと処理を戻して、未選択のクラスタを対象としてS311以降の処理が繰り返される。
【0206】
以上までの処理がクラスタへのキャッシュ登録処理の第5の例である。
【0207】
次に
図21について説明する。
図21は、クラスタへのキャッシュ登録処理の第6の例の処理内容を示したフローチャートである。この第6の例は、ユーザクラスタリングフラグがセットされているクラスタに対しては、
図14に処理内容を示した第2の例と同様の処理によるキャッシュ登録を行い、その他のクラスタに対しては店舗クラスタリングによるキャッシュ登録を行う処理である。
【0208】
図21において、まず、S321では、複数のクラスタのうちから、繰り返し実行されるこのS321の処理により選択がされていないクラスタを1つ選択する処理が、クラスタ振り分け処理部39により行われる。
【0209】
次に、S322では、直近に実行されたS321の処理により選択したクラスタに対して、前述した
図19のS307の処理によってフラグがセットされているか否かを判定する処理が、クラスタ振り分け処理部39により行われる。この判定処理において、フラグがセットされていると判定されたとき(判定結果がYESのとき)にはS325に処理を進め、フラグがセットされていないと判定されたとき(判定結果がNOのとき)にはS323に処理を進める。
【0210】
S323及びS324の処理は、フラグがセットされていないクラスタに対して店舗クラスタリングによるキャッシュ登録を行う処理であって、
図19に示した第5の例におけるS315及びS316の処理と同一の処理である。
【0211】
すなわち、S323では、直近に実行されたS321の処理により選択したクラスタに、認証対象者であるユーザの利用経験のある店舗が所属しているか否かを判定する処理がクラスタ振り分け処理部39により行われる。この判定処理において、ユーザの利用経験のある店舗が所属すると判定されたとき(判定結果がYESのとき)には、S324に処理を進める。一方、この判定処理において、ユーザの利用経験のある店舗は所属していないと判定されたとき(判定結果がNOのとき)には、S324の処理をスキップして、S325に処理を進める。
【0212】
S324では、認証対象者であるユーザについての認証情報を、直近に実行されたS321の処理により選択されたクラスタにキャッシュ登録する処理がキャッシュ登録部36により行われる。
【0213】
S325では、複数のクラスタの全てがS321の処理によって選択されたか否かを判定する処理がクラスタ振り分け処理部39により行われる。この判定処理において、全てのクラスタが選択されたと判定されたとき(判定結果がYESのとき)にはS326に処理を進める。一方、この判定処理において、未選択のクラスタが残っていると判定されたとき(判定結果がNOのとき)には、S321へと処理を戻して、未選択のクラスタを対象としてS321以降の処理が繰り返される。
【0214】
以上のS321からS325までの処理の繰り返しにより、フラグがセットされていないクラスタの全てに対して店舗クラスタリングによるキャッシュ登録が行われる。
【0215】
S326からS328までの処理は、フラグがセットされているクラスタに対してユーザクラスタリングによるキャッシュ登録を行う処理であって、
図14に示した第2の例におけるS221からS223までの処理と同様の処理である。
【0216】
すなわち、まず、S326では、繰り返し実行されるS326の処理により未だ特定がされていないクラスタのうちで認証対象者であるユーザの利用経験率が最高であるクラスタを、フラグがセットされているクラスタから特定する処理が行われる。この処理は、クラスタ振り分け処理部39により行われる。
【0217】
S327では、認証対象者であるユーザについての認証情報を、この処理の直前に実行されたS326の処理によって特定されたクラスタにキャッシュ登録する処理がキャッシュ登録部36により行われる。
【0218】
S328では、フラグがセットされているクラスタからS326の処理の繰り返しによって特定したクラスタの数が所定個数に達したか否かを判定する処理がクラスタ振り分け処理部39により行われる。この判定処理において、所定個数のクラスタが特定されたと判定されたとき(判定結果がYESのとき)には、この
図21の処理が終了し、
図19のキャッシュ登録処理の第2の例へと処理を戻す。一方、この判定処理において、特定したクラスタの数が所定個数に満たないと判定されたとき(判定結果がNOのとき)には、S326へと処理を戻して、未特定のクラスタを対象としてS326以降の処理が繰り返される。
【0219】
以上のS326からS328までの処理の繰り返しにより、フラグがセットされているクラスタのうちの、認証対象者であるユーザの利用経験率の高い順に所定個数のクラスタに対して、当該ユーザの照合情報のキャッシュ登録が行われる。前述したように、フラグがセットされているクラスタとは、重複店舗が所属する2つ以上のクラスタのうちの、当該重複店舗の所属確率が最高であるクラスタを除く残余のクラスタである。
【0220】
以上までの処理がクラスタへのキャッシュ登録処理の第6の例である。
【0221】
次に
図22について説明する。
図22は、クラスタへのキャッシュ登録処理の第7の例の処理内容を示したフローチャートである。この第7の例は、ユーザクラスタリングフラグがセットされているクラスタに対しては、
図15に処理内容を示した第3の例と同様の処理によるキャッシュ登録を行い、その他のクラスタに対しては店舗クラスタリングによるキャッシュ登録を行う処理である。
【0222】
図22において、S331からS335までの処理は、フラグがセットされていないクラスタの全てに対して店舗クラスタリングによるキャッシュ登録を行う処理である。このS331からS335までの処理は、
図21の第6の例におけるS321からS325までの処理と同一であるので、詳細な説明は省略する。
【0223】
S336からS340までの処理は、フラグがセットされているクラスタに対してユーザクラスタリングによるキャッシュ登録を行う処理であって、
図15に示した第3の例におけるS231からS235までの処理と同様の処理である。
【0224】
すなわち、まず、S336では、複数のクラスタのそれぞれについて、認証対象者であるユーザの利用経験率を前述のようにして正規化することによって、当該ユーザの所属確率を算出する処理がクラスタ振り分け処理部39により行われる。
【0225】
次に、S337では、繰り返し実行されるこのS337の処理により未だ特定がされていないクラスタのうちで当該ユーザの所属確率が最高であるクラスタを、フラグがセットされているクラスタから特定する処理がクラスタ振り分け処理部39により行われる。
【0226】
次に、S338では、S337の処理の繰り返しにより特定されたクラスタそれぞれについての、当該ユーザの所属確率の合計値を算出する処理がクラスタ振り分け処理部39により行われる。
【0227】
次に、S339では、S338の処理により算出された合計値が所定の第5の閾値以下であるか否かを判定する処理がクラスタ振り分け処理部39により行われる。この判定処理において、当該合計値が第5の閾値以下であると判定されたとき(判定結果がYESのとき)には、S340に処理を進める。一方、この判定処理において、当該合計値が第5の閾値を超えたと判定されたとき(判定結果がNOのとき)には、この
図22の処理が終了し、
図19のキャッシュ登録処理の第2の例へと処理を戻す。
【0228】
S340では、この処理の直近に実行されたS337の処理において特定されたクラスタに、認証対象者であるユーザの照合情報をキャッシュ登録する処理がキャッシュ登録部36により行われる。そして、この後はS337に処理を戻して、未特定のクラスタを対象としてS337以降の処理が繰り返される。
【0229】
以上のS337からS340までの処理の繰り返しにより、フラグがセットされているから認証対象者であるユーザの所属確率の高い順に特定されるクラスタに対して当該ユーザの照合情報のキャッシュ登録が行われる。但し、特定されるクラスタのそれぞれについての当該ユーザの所属確率の合計値が第5の閾値以下に留まるように、クラスタの特定が行われる。前述したように、フラグがセットされているクラスタとは、重複店舗が所属する2つ以上のクラスタのうちの、当該重複店舗の所属確率が最高であるクラスタを除く残余のクラスタである。
【0230】
以上までの処理がクラスタへのキャッシュ登録処理の第7の例である。
【0231】
次に
図23について説明する。
図23は、クラスタへのキャッシュ登録処理の第8の例の処理内容を示したフローチャートである。この第8の例は、ユーザクラスタリングフラグがセットされているクラスタに対しては、
図16に処理内容を示した第4の例と同様の処理によるキャッシュ登録を行い、その他のクラスタに対しては店舗クラスタリングによるキャッシュ登録を行う処理である。
【0232】
図23において、S341からS345までの処理は、フラグがセットされていないクラスタの全てに対して店舗クラスタリングによるキャッシュ登録を行う処理である。このS341からS345までの処理は、
図21の第6の例におけるS321からS325までの処理と同一であるので、詳細な説明は省略する。
【0233】
S346からS349までの処理は、フラグがセットされているクラスタに対してユーザクラスタリングによるキャッシュ登録を行う処理であって、
図16に示した第4の例におけるS241からS244までの処理と同様の処理である。
【0234】
すなわち、まず、S346では、複数のクラスタのそれぞれについて、認証対象者であるユーザの利用経験率を前述のようにして正規化することによって、当該ユーザの所属確率を算出する処理がクラスタ振り分け処理部39により行われる。
【0235】
次に、S347では、繰り返し実行されるS347の処理により未だ特定がされていないクラスタのうちで認証対象者であるユーザの所属確率が最高であるクラスタを複数のクラスタから特定する処理がクラスタ振り分け処理部39により行われる。
【0236】
S348では、認証対象者であるユーザについての認証情報を、直近に実行されたS242の処理により特定されたクラスタにキャッシュ登録する処理がキャッシュ登録部36により行われる。
【0237】
S349では、フラグがセットされているクラスタからS347の処理の繰り返しによって特定したクラスタの数が所定個数に達したか否かを判定する処理がクラスタ振り分け処理部39により行われる。この判定処理において、所定個数のクラスタが特定されたと判定されたとき(判定結果がYESのとき)には、この
図23の処理が終了し、
図19のキャッシュ登録処理の第2の例へと処理を戻す。一方、この判定処理において、特定したクラスタの数が所定個数に満たないと判定されたとき(判定結果がNOのとき)には、S347へと処理を戻して、未特定のクラスタを対象としてS347以降の処理が繰り返される。
【0238】
以上のS347からS349までの処理の繰り返しにより、フラグがセットされているクラスタのうちの、認証対象者であるユーザの所属確率の高い順に所定個数のクラスタに対して、当該ユーザの照合情報のキャッシュ登録が行われる。前述したように、フラグがセットされているクラスタとは、重複店舗が所属する2つ以上のクラスタのうちの、当該重複店舗の所属確率が最高であるクラスタを除く残余のクラスタである。
【0239】
以上までの処理がクラスタへのキャッシュ登録処理の第8の例である。
【0240】
図4のサーバ装置30による
図19から
図23までの各処理の実行によって、重複店舗が所属するクラスタのうち、重複店舗の所属確率が最も高いクラスタ以外の残余のクラスタに対してはユーザクラスタリングによるキャッシュ登録が行われる。この結果、キャッシュサイズの増大が抑制される。
【0241】
以上、開示の実施形態とその利点について詳しく説明したが、当業者は、特許請求の範囲に明確に記載した本発明の範囲から逸脱することなく、様々な変更、追加、省略をすることができるであろう。
【0242】
例えば、前述した実施形態では、キャッシュ認証の失敗後の通常の認証に成功したときに、認証対象者であるユーザの照合情報の所定のクラスタへのキャッシュ登録が直ちに行われる。この代わりに、当該ユーザの照合情報の所定のクラスタへのキャッシュ登録を、通常の認証の成功から所定の時間が経過した後、例えば、認証の実施した日の夜間などに行うようにしてもよい。
【符号の説明】
【0243】
10 認証システム
20クライアント装置
21 カメラ
22 静脈センサ
23 センサ制御部
24 認証要求部
25 入力部
26 クライアント制御部
27、31 通信部
28 表示部
30 サーバ装置
32 認証制御部
33 キャッシュ認証部
34 キャッシュ管理部
35 通常認証部
36 キャッシュ登録部
37 認証履歴記憶部
38 クラスタリング処理部
39 クラスタ振り分け処理部
40 コンピュータ
41 プロセッサ
42 メモリ
43 記憶装置
44 読取装置
45 着脱可能記憶媒体
46 通信インタフェース
47 入出力インタフェース
48 バス