JP2016103107A - クラスタリング装置、情報端末、情報提示システム、及びプログラム - Google Patents

クラスタリング装置、情報端末、情報提示システム、及びプログラム Download PDF

Info

Publication number
JP2016103107A
JP2016103107A JP2014240380A JP2014240380A JP2016103107A JP 2016103107 A JP2016103107 A JP 2016103107A JP 2014240380 A JP2014240380 A JP 2014240380A JP 2014240380 A JP2014240380 A JP 2014240380A JP 2016103107 A JP2016103107 A JP 2016103107A
Authority
JP
Japan
Prior art keywords
class
clustering
probability
items
item
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2014240380A
Other languages
English (en)
Inventor
竜也 岩瀬
Tatsuya Iwase
竜也 岩瀬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toyota Central R&D Labs Inc
Original Assignee
Toyota Central R&D Labs Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toyota Central R&D Labs Inc filed Critical Toyota Central R&D Labs Inc
Priority to JP2014240380A priority Critical patent/JP2016103107A/ja
Publication of JP2016103107A publication Critical patent/JP2016103107A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】ユーザの行動履歴に応じた適切な選択肢を提示することができるようにする。【解決手段】選択確率計算部38が、特定ユーザの行動履歴データに基づいて、特定ユーザが各アイテムjに対して所定の行動をとる確率を表す選択確率を計算する。初期クラスタリング部40が、複数のアイテムjの各々について抽出された特徴量に基づいて、複数のアイテムjを複数のクラスkにクラスタリングする。情報量最大化クラスタリング部42が、クラスタリング結果に基づいて、選択確率から特定ユーザがクラスkを選択する確率を表すクラス確率を算出し、クラスkに対するクラス確率が大きいほど、クラスkに属するアイテムの各々の特徴量の標準偏差を小さくし、クラスkに対するクラス確率が小さいほど、クラスkに属するアイテムの各々の特徴量の標準偏差を大きくするように、複数のアイテムjを複数のクラスkにクラスタリングする。【選択図】図1

Description

本発明は、クラスタリング装置、情報端末、情報提示システム、及びプログラムに関する。
従来より、ユーザが検索のために入力したクエリに基づいて、ユーザの検索意図を推測し、クエリの意味に追従し、話題となっているドキュメントをレコメンドするサーバが知られている(例えば、特許文献1を参照。)。
また、協調フィルタリングによる処理に基づいて、特定ユーザと似ているユーザが選んだアイテムを推薦するinteractiveレコメンドに関する技術が知られている。
特開2010−118021号公報
しかし、従来の技術では、特定ユーザに対するレコメンドの精度を高くすると粒度が粗くなり、レコメンドの粒度を細かくすると精度が低くなるため、精度と粒度とのトレードオフが発生し、適切な選択肢をユーザに提示することができない、という問題があった。
本発明は、上記の事情に鑑みてなされたもので、ユーザの行動履歴に応じた適切な選択肢を提示することができるクラスタリング装置、情報端末、情報提示システム、及びプログラムを提供することを目的とする。
上記目的を達成するために、第1の発明のクラスタリング装置は、特定ユーザが各アイテムjに対して所定の行動をとった行動履歴データに基づいて、前記特定ユーザが各アイテムjに対して所定の行動をとる確率を表す選択確率を計算する選択確率計算手段と、複数のアイテムjの各々について抽出された特徴量に基づいて、複数のアイテムjを複数のクラスkにクラスタリングする第1のクラスタリング手段と、前記第1のクラスタリング手段によって計算されたクラスタリング結果に基づいて、複数のクラスkの各々について、前記選択確率計算手段によって計算された、前記クラスkに属する前記アイテムjの各々に対しての前記選択確率から、前記特定ユーザが前記クラスkを選択する確率を表すクラス確率を算出し、前記複数のアイテムjの各々から抽出された特徴量に基づいて、前記クラスkに対する前記クラス確率が大きいほど、前記クラスkに属する前記アイテムの各々の特徴量の標準偏差を小さくし、前記クラスkに対する前記クラス確率が小さいほど、前記クラスkに属する前記アイテムの各々の特徴量の標準偏差を大きくするように、複数のアイテムjを複数のクラスkにクラスタリングする第2のクラスタリング手段と、を含んで構成されている。
第2の発明に係るプログラムは、コンピュータを、特定ユーザが各アイテムjに対して所定の行動をとった行動履歴データに基づいて、前記特定ユーザが各アイテムjに対して所定の行動をとる確率を表す選択確率を計算する選択確率計算手段、複数のアイテムjの各々について抽出された特徴量に基づいて、複数のアイテムjを複数のクラスkにクラスタリングする第1のクラスタリング手段、及び前記第1のクラスタリング手段によって計算されたクラスタリング結果に基づいて、複数のクラスkの各々について、前記選択確率計算手段によって計算された、前記クラスkに属する前記アイテムjの各々に対しての前記選択確率から、前記特定ユーザが前記クラスkを選択する確率を表すクラス確率を算出し、前記複数のアイテムjの各々から抽出された特徴量に基づいて、前記クラスkに対する前記クラス確率が大きいほど、前記クラスkに属する前記アイテムの各々の特徴量の標準偏差を小さくし、前記クラスkに対する前記クラス確率が小さいほど、前記クラスkに属する前記アイテムの各々の特徴量の標準偏差を大きくするように、複数のアイテムjを複数のクラスkにクラスタリングする第2のクラスタリング手段として機能させるためのプログラムである。
第1の発明及び第2の発明によれば、選択確率計算手段によって、特定ユーザが各アイテムjに対して所定の行動をとった行動履歴データに基づいて、特定ユーザが各アイテムjに対して所定の行動をとる確率を表す選択確率を計算する。
そして、第1のクラスタリング手段によって、複数のアイテムjの各々について抽出された特徴量に基づいて、複数のアイテムjを複数のクラスkにクラスタリングする。
そして、第2のクラスタリング手段によって、第1のクラスタリング手段によって計算されたクラスタリング結果に基づいて、複数のクラスkの各々について、選択確率計算手段によって計算された、クラスkに属するアイテムjの各々に対しての選択確率から、特定ユーザがクラスkを選択する確率を表すクラス確率を算出し、複数のアイテムjの各々から抽出された特徴量に基づいて、クラスkに対するクラス確率が大きいほど、クラスkに属するアイテムの各々の特徴量の標準偏差を小さくし、クラスkに対するクラス確率が小さいほど、クラスkに属するアイテムの各々の特徴量の標準偏差を大きくするように、複数のアイテムjを複数のクラスkにクラスタリングする。
このように、特定ユーザの行動履歴データに基づいて、特定ユーザが各アイテムjに対して所定の行動をとる確率を表す選択確率を計算し、複数のアイテムjを複数のクラスkにクラスタリングしたクラスタリング結果に基づいて、複数のクラスkの各々について、特定ユーザがクラスkを選択する確率を表すクラス確率を算出し、クラスkに対するクラス確率が大きいほど、クラスkに属するアイテムの各々の特徴量の標準偏差を小さくし、クラスkに対するクラス確率が小さいほど、クラスkに属するアイテムの各々の特徴量の標準偏差を大きくするように、複数のアイテムjを複数のクラスkにクラスタリングすることにより、ユーザの行動履歴に応じた適切な選択肢を提示することができる。
第1の発明及び第2の発明の前記第2のクラスタリング手段は、前記第1のクラスタリング手段によって計算されたクラスタリング結果に基づいて、複数のクラスkの各々について、前記クラス確率を算出し、前記複数のアイテムjの各々から抽出された特徴量に基づいて、前記クラスkに対する前記クラス確率が前記クラス確率の平均値より大きい場合に、前記クラスkに属する前記アイテムの各々の特徴量の標準偏差を小さくし、前記クラスkに対する前記クラス確率が前記クラス確率の平均値以下の場合に、前記クラスkに属する前記アイテムの各々の特徴量の標準偏差を大きくするように、複数のアイテムjを複数のクラスkにクラスタリングするようにすることができる。
第1の発明及び第2の発明の前記第2のクラスタリング手段は、前記特定ユーザが前記クラスkを選択する確率を表すクラス確率の標準偏差が、予め定められた閾値以下になるまで、複数のアイテムjを複数のクラスkにクラスタリングすることを繰り返すようにすることができる。
第1の発明及び第2の発明は、複数のユーザiの各々が各アイテムjに対して所定の行動をとった行動履歴データに基づいて、複数のユーザiの各々が各アイテムjに対して所定の行動をとった度合いを表すレートを要素にもつレート行列を生成するレート行列生成手段と、前記レート行列生成手段によって生成されたレート行列に基づいて、前記レート行列のうち、前記特定ユーザについての0である要素のレートを推定し、前記レート行列生成手段によって生成された前記レート行列を更新するフィルタリング手段とを更に含み、前記選択確率計算手段は、前記フィルタリング手段によって更新された前記レート行列に基づいて、前記特定ユーザが各アイテムjに対して所定の行動をとる確率を表す選択確率を計算するようにすることができる。
第1の発明及び第2の発明は、前記第2のクラスタリング手段によって計算されたクラスタリング結果と、前記レート行列生成手段によって生成されたレート行列とに基づいて、複数のユーザiの各々が各クラスkに属するアイテムに対して所定の行動をとる度合いを表すレートを要素にもつ第2レート行列を生成し、前記生成された第2レート行列に基づいて、前記第2レート行列のうち、前記特定ユーザについての0である要素のレートを推定し、前記第2レート行列を更新する第2のフィルタリング手段を更に含むようにすることができる。
また、前記アイテムは、商品であって、前記所定の行動は、商品の閲覧、購入、又は評価であるようにすることができる。
また、前記アイテムは、場所であって、前記所定の行動は、場所への訪問又は場所の評価であるようにすることができる。
第3の発明に係る情報端末は、第1の発明のクラスタリング装置によって計算された前記第2レート行列において、前記特定ユーザについてのレートが高い順に並び替えられたクラスの情報を取得する通信手段と、前記通信手段によって取得されたクラスの情報を提示する提示手段と、を含んで構成されている。
第4の発明に係る情報提示システムは、第1の発明のクラスタリング装置と、第3の発明の情報端末とを含んで構成されている。
なお、本発明のプログラムを記憶する記憶媒体は、特に限定されず、ハードディスクであってもよいし、ROMであってもよい。また、CD−ROMやDVDディスク、光磁気ディスクやICカードであってもよい。更にまた、該プログラムを、ネットワークに接続されたサーバ等からダウンロードするようにしてもよい。
以上説明したように、本発明のクラスタリング装置、情報端末、情報提示システム、及びプログラムによれば、特定ユーザの行動履歴データに基づいて、特定ユーザが各アイテムjに対して所定の行動をとる確率を表す選択確率を計算し、複数のアイテムjを複数のクラスkにクラスタリングしたクラスタリング結果に基づいて、複数のクラスkの各々について、特定ユーザがクラスkを選択する確率を表すクラス確率を算出し、クラスkに対するクラス確率が大きいほど、クラスkに属するアイテムの各々の特徴量の標準偏差を小さくし、クラスkに対するクラス確率が小さいほど、クラスkに属するアイテムの各々の特徴量の標準偏差を大きくするように、複数のアイテムjを複数のクラスkにクラスタリングすることにより、ユーザの行動履歴に応じた適切な選択肢を提示することができる、という効果が得られる。
本発明の実施の形態に係る情報提示システムの機能的構成を示すブロック図である。 レート行列の一例を示す図である。 情報端末に表示される画面の一例と当該画面の選択肢数との関係を説明するための図である。 本発明の実施の形態におけるクラスタリング処理ルーチンの内容を示すフローチャートである。 本発明の実施の形態における初期クラスタリング処理ルーチンの内容を示すフローチャートである。 本発明の実施の形態における情報量最大化クラスタリング処理ルーチンの内容を示すフローチャートである。 情報端末に表示される画面の階層を説明するための図である。 複数のユーザの各アイテムに対する評価行動の概念図を示す図である。
<概要>
本発明の実施の形態では、ユーザの行動履歴データに基づいて、ユーザが各アイテムに対してとる行動についての情報量が大きくなるように、複数のアイテムをクラスタリングする。具体的には、本実施の形態では、ユーザの興味のあるアイテム群については細かくクラスを生成し、ユーザの興味のないアイテム群は粗くクラスを生成し、クラスに対応する選択肢を提示することにより、少ない選択操作でユーザにマッチしたアイテムを決定することができる。
以下、図面を参照して本発明の実施の形態を詳細に説明する。本実施の形態では、ユーザの行動履歴データに基づいて複数のアイテムをクラスタリングし、当該ユーザに対してクラスタリング結果に応じた情報を提示する情報提示システムに本発明を適用した場合を例に説明する。
<情報提示システムのシステム構成>
図1に示すように、本発明の実施の形態に係る情報提示システム10は、複数の情報端末12と、複数の情報端末12から送信された情報を受信して、情報端末12を持つ複数のユーザの行動履歴データを取得し、複数のユーザの各々に対して情報を提供するサーバ14とを備えている。複数の情報端末12とサーバ14とは、インターネットなどのネットワーク16を介して接続されている。なお、サーバ14は、クラスタリング装置の一例である。
情報端末12は、ユーザによって入力された行先としての訪問場所の情報を受け付ける入力部20と、入力部20によって受け付けた訪問場所の情報に対応するアイテムIDをユーザIDと共にサーバ14へ逐次送信すると共に、ユーザIDを含む選択肢提示要求をサーバ14へ送信し、選択肢の一覧を受信する通信部22と、受信した選択肢の一覧をユーザに提示する提示部24とを備えている。なお、提示部24によってユーザへ提示される選択肢の数は予め定められている。またユーザIDは、情報端末12に予め設定されている。なお、本実施の形態では、アイテムが、特定の場所を表すPOI(Point of Interest)である場合を例に説明する。また、本実施の形態では、情報端末12が、車両に搭載されたカーナビゲーションシステムである場合を例に説明する。
サーバ14は、CPU、後述するクラスタリング処理ルーチンを実現するためのプログラム等を記憶したROM、データを一時的に記憶するRAM、記憶手段としてのメモリ、ネットワークインタフェース等を含むサーバで構成されており、機能的には、通信部30、行動履歴データベース32、レート行列生成部34、協調フィルタリング部36、選択確率計算部38、初期クラスタリング部40、情報量最大化クラスタリング部42、及び最適粒度協調フィルタリング部44を含んだ構成で表すことができる。協調フィルタリング部36は、フィルタリング手段の一例であり、初期クラスタリング部40は、第1のクラスタリング手段の一例であり、情報量最大化クラスタリング部42は、第2のクラスタリング手段の一例であり、最適粒度協調フィルタリング部44は、第2のフィルタリング手段の一例である。
通信部30は、情報端末12から送信されたユーザID及びアイテムIDを受信し、行動履歴データベース32に格納するように制御する。通信部30は、情報端末12から送信された選択肢提示要求を受信すると、レート行列生成部34へ出力し、最適粒度協調フィルタリング部44により出力されたクラスタリング結果に応じた選択肢を、当該情報端末12へ送信する。
行動履歴データベース32には、通信部30によって受信したユーザID及びアイテムIDを蓄積し、ユーザID毎に、アイテムIDに対応するアイテムを訪問した回数を表す行動履歴データを記憶する。
レート行列生成部34は、通信部30によって選択肢提示要求を受信すると、ユーザID毎の行動履歴データを、行動履歴データベース32から読み込む。そして、レート行列生成部34は、複数のユーザiの各々が各アイテムjを訪問した行動履歴データに基づいて、複数のユーザiの各々が各アイテムjを訪問する度合いを表すレートを要素にもつレート行列を生成する。具体的には、レート行列生成部34は、行動履歴データベース32から読み込んだ複数の行動履歴データから、図2(A)に示されるようなレート行列を生成する。本実施の形態では、アイテムが場所であって、所定の行動は当該場所への訪問であり、レートが訪問回数を表す。なお、レート行列の各要素のうち、該当する行動履歴データのない要素は0となる。
協調フィルタリング部36は、レート行列生成部34によって生成されたレート行列に基づいて、レート行列のうち、選択肢提示要求を送信した特定ユーザについての0である要素のレートを推定し、レート行列生成部34によって生成されたレート行列を更新する。具体的には、協調フィルタリング部36は、例えば参考文献(Koren,“Matrix Factorization Techniques For Recommender Systems”,2009)に記載の手法を用いて、図2(B)に示されるように、レート行列生成部34によって生成されたレート行列のデータ欠損要素(0要素)を推定し、補完する。
選択確率計算部38は、協調フィルタリング部36によって更新されたレート行列に基づいて、選択肢提示要求を送信した特定ユーザが各アイテムjを訪問する確率を表す選択確率を計算する。具体的には、選択確率計算部38は、協調フィルタリング部36によって欠損補完されたレート行列の値に基づいて、選択肢提示要求を送信した特定ユーザiのアイテムjの選択確率を以下の式(1)に従って推定する。
初期クラスタリング部40は、複数のアイテムjの各々について抽出された特徴量に基づいて、複数のアイテムjを複数のクラスkにクラスタリングする。具体的には、初期クラスタリング部40は、例えばK−meansアルゴリズムや、EMアルゴリズム等(例えば、参考文献(C.M.ビショップ著、元田他4名監訳、「パターン認識と機械学習」、シュプリンガー・ジャパン、2012)を参照。)のクラスタリングアルゴリズムを用いて、各アイテムjについて得られるアイテムの特徴量に基づいて、複数のアイテムjをK個のクラスにクラスタリングする。なお、クラスの数Kは予め定められており、本実施の形態では、クラスの数Kは情報端末12によってユーザへ提示される選択肢の数Mよりも大きい値であるとする。また、アイテムの特徴量としては、アイテムが表す場所のジャンル情報などを用い、例えば、「ラーメン屋」「床屋」等のジャンル情報が挙げられる。また、協調フィルタリング部36によって得られたレート行列のユーザ毎のレートベクトルも特徴量として用いることができる。
本実施の形態では、混合ガウス分布とEMアルゴリズムとを用いてクラスタリングする場合を例に説明する。初期クラスタリング部40によるクラスタリングによって、アイテムjのクラスkの負担率rjkと、クラスkの平均μと、クラスkの標準偏差sと、混合ガウス分布の混合係数πとが算出される。
まず、初期クラスタリング部40は、複数のクラスkの各々について、当該クラスkの平均μ、分散s 、及び混合係数πを初期化する。ここで、初期化の方法としては、平均μ、分散s 、及び混合係数πをランダムな値に設定するか、又は任意の定数を設定する。
次に、初期クラスタリング部40は、EMアルゴリズムのEステップにおいて、以下の式(2)に従って、複数のクラスkの各々について、各アイテムjに対し、アイテムjのクラスkの負担率rjkを更新する。
なお、上記式(2)における、xはアイテムjの特徴量ベクトルを表し、N(x|μ、s )は、平均μ、標準偏差sの正規分布を表し、πは後述する式(6)において計算される混合係数を表す。
次に、初期クラスタリング部40は、EMアルゴリズムのMステップにおいて、以下の式(3)〜(6)に従って、複数のクラスkの各々について、当該クラスkの平均μ、分散s 、及び混合係数πを更新する。
なお、上記式(3)〜(6)における、Nは、クラスkに属するアイテムjの数を表し、Nはアイテムの総数を表す。
そして、初期クラスタリング部40は、上記Eステップ及びMステップを、収束するまで繰り返す。
情報量最大化クラスタリング部42は、初期クラスタリング部40によって計算されたクラスタリング結果に基づいて、複数のクラスkの各々について、選択確率計算部38によって計算された、クラスkに属するアイテムjの各々に対しての選択確率から、特定ユーザがクラスkを選択する確率を表すクラス確率を算出する。
そして、情報量最大化クラスタリング部42は、複数のクラスkの各々について、複数のアイテムjの各々から抽出された特徴量に基づいて、クラスkに対するクラス確率が大きいほど、クラスkに属するアイテムの各々の特徴量の標準偏差を小さくし、クラスkに対するクラス確率が大きいほど、クラスkに属するアイテムの各々の特徴量の標準偏差を大きくするように、複数のアイテムjを複数のクラスkにクラスタリングする。
具体的には、情報量最大化クラスタリング部42は、複数のクラスkの各々について、クラスkに属するアイテムjの各々に対しての選択確率から、特定ユーザがクラスkを選択する確率を表すクラス確率を算出し、クラス確率の平均値を算出する。そして、情報量最大化クラスタリング部42は、複数のクラスkの各々について、複数のアイテムjの各々から抽出された特徴量に基づいて、クラスkに対するクラス確率がクラス確率の平均値より大きい場合に、クラスkに属するアイテムの各々の特徴量の標準偏差を小さくし、クラスkに対するクラス確率がクラス確率の平均値以下の場合に、クラスkに属するアイテムの各々の特徴量の標準偏差を大きくするように、複数のアイテムjを複数のクラスkにクラスタリングする。
まず、情報量最大化クラスタリング部42は、初期クラスタリング部40によって計算されたクラスタリング結果をクラスの初期値とする。そして、情報量最大化クラスタリング部42は、特定ユーザがクラスkを選択する確率を表すクラス確率の標準偏差が、予め定められた閾値以下になるまで、複数のアイテムjを複数のクラスkにクラスタリングすることを繰り返す。具体的には、情報量最大化クラスタリング部42は、以下の(A)〜(D)の処理を繰り返す。
(A)情報量最大化クラスタリング部42は、選択確率計算部38によって計算された、クラスkに属するアイテムjの各々に対しての選択確率から、特定ユーザについての各クラスkのクラス確率pikを以下の式(7)に従って計算する。rjkは初期クラスタリングによって得られるクラス負担率、又は後述する(C)で前回更新されたクラス負担率を示す。また、情報量最大化クラスタリング部42は、クラス確率の平均値を算出する。
(B)次に、情報量最大化クラスタリング部42は、クラス確率が平均値より大きいクラスの標準偏差を小さく(m倍)し、クラス確率が平均値以下のクラスの標準偏差を大きく(1/m倍)する。なお、mは予め定められた1未満の定数である。
(C)次に、情報量最大化クラスタリング部42は、EMアルゴリズムのMステップにおいて、上記式(2)に従って、複数のクラスkの各々について、各アイテムjに対し、アイテムjのクラスkの負担率rjkを更新する。
(D)次に、情報量最大化クラスタリング部42は、EMアルゴリズムのMステップにおいて、上記式(3)、(4)、及び(6)に従って、複数のクラスkの各々について、当該クラスkの平均μ、及び混合係数πを更新する。
そして、情報量最大化クラスタリング部42は、以下の式(8)に従って計算される、クラス確率の標準偏差sが、予め定められた閾値以下であるか否かを判定する。クラス確率の標準偏差sが、予め定められた閾値より大きい場合には、(A)〜(D)の処理を繰り返す。一方、クラス確率の標準偏差sが、予め定められた閾値以下である場合には、クラスタリングの処理を終了する。
情報量最大化クラスタリング部42によるクラスタリング処理によって、以下の式(9)の情報量が大きくなるように、各アイテムがクラスタリングされる。
最適粒度協調フィルタリング部44は、情報量最大化クラスタリング部42によって計算されたクラスタリング結果と、レート行列生成部34によって生成されたレート行列とに基づいて、複数のユーザiの各々が各クラスkに属するアイテムを訪問する度合いを表すレートを要素にもつ第2レート行列を生成する。
そして、最適粒度協調フィルタリング部44は、生成された第2レート行列に基づいて、第2レート行列のうち、選択肢提示要求を送信した特定ユーザについての0である要素のレートを推定し、第2レート行列を更新する。具体的には、最適粒度協調フィルタリング部44は、情報量最大化クラスタリング部42によって計算されたクラスタリング結果の各クラスを使って、図2(C)に示されるような第2レート行列を生成する。本実施の形態では、アイテムが場所に対応するため、レートは、クラスに属する各アイテムの訪問回数の合計となる。
また、最適粒度協調フィルタリング部44は、協調フィルタリング部36と同様に上記図2(B)に示されるように、生成された第2レート行列に対し協調フィルタリングを行い、第2レート行列を更新する。
また、最適粒度協調フィルタリング部44は、協調フィルタリングによって更新された第2レート行列から、レート行列生成部34によって受け付けた選択肢提示要求に含まれるユーザIDに対応する特定ユーザについて、当該特定ユーザの各クラスに対する第2レートの値が高い順に、クラスの各々を並び替え、並び替えられたクラスの各々を示す選択肢の一覧を、通信部30により情報端末12へ送信する。例えば、選択肢の数Mが5であって、クラスの数Kが10である場合、最適粒度協調フィルタリング部44は、特定ユーザの各クラスに対する第2レートの値が高い順に、クラスの各々を並び替え、並び替えられた上位5個のクラスの各々を示す選択肢の一覧を、通信部30により情報端末12へ送信する。
情報端末12の通信部22は、通信部30により送信された選択肢の一覧を取得する。
情報端末12の提示部24は、通信部22によって取得された選択肢の一覧を提示する。図3に提示部24によって提示される選択肢の一覧の一例を示す。図3(A)に示されるように、情報端末12には、例えば「和食」「中華」「洋食」「遊ぶ・泊まる」「買う・見る」が各選択肢として提示される。図3(B)に示されるように、サーバ14によって計算されたクラスタリング結果は、上記図3(A)の選択肢として対応付けられる。そして、上記図3(A)に示されるように、特定ユーザの興味の有りそうな箇所については細かくクラスタリングされ、特定ユーザの興味の無さそうな箇所は粗くクラスタリングされた結果が表示される。
なお、各クラスに対応する選択肢の名称は、例えば当該クラスに属する各アイテムのジャンル情報に基づいて決定される。また、各クラスに対応する選択肢の名称は、当該クラスに属する各アイテムの名称から決定してもよい。
<情報提示システムの作用>
次に、情報提示システム10の作用について説明する。
まず、複数の情報端末12が、逐次、ユーザID及びアイテムIDを、サーバ14へ送信し、サーバ14は、受信したユーザID及びアイテムIDを、行動履歴データベース32に蓄積する。
また、情報端末12が、ユーザIDを含む選択肢提示要求を、サーバ14へ送信したときに、サーバ14は図4に示すクラスタリング処理ルーチンを実行する。
まず、ステップS100において、レート行列生成部34によって、行動履歴データベース32から、受信した選択肢提示要求に含まれるユーザIDに対応する行動履歴データを含む行動履歴データ集合を取得する。
次のステップS102において、レート行列生成部34によって、上記ステップS100で取得した行動履歴データ集合に基づいて、複数のユーザiの各々が各アイテムjを訪問する度合いを表すレートを要素にもつレート行列を生成する。
そして、ステップS104において、協調フィルタリング部36によって、上記ステップS102で生成されたレート行列に基づいて、レート行列のうち、選択肢提示要求を送信した特定ユーザについての0である要素のレートを推定し、上記ステップS102で生成されたレート行列を更新する。
ステップS106において、選択確率計算部38によって、上記ステップS104で更新されたレート行列に基づいて、選択肢提示要求を送信した特定ユーザが各アイテムjを訪問する確率を表す選択確率を計算する。
そして、ステップS108において、初期クラスタリング部40によって、複数のアイテムjの各々について抽出された特徴量に基づいて、複数のアイテムjを複数のクラスkにクラスタリングする。ステップS108は、図5に示す初期クラスタリング処理ルーチンによって実現される。
<初期クラスタリング処理ルーチン>
まず、ステップS200において、複数のアイテムjの各々について抽出された特徴量を取得する。
ステップS202において、複数のクラスkの各々について、当該クラスkの平均μ、分散s 、及び混合係数πを初期化する。
ステップS204において、EMアルゴリズムのEステップにおいて、上記ステップS202で初期化された各値、又は後述するステップS206で前回更新された各値に基づいて、上記式(2)に従って、複数のクラスkの各々について、各アイテムjに対し、アイテムjのクラスkの負担率rjkを更新する。
ステップS206において、EMアルゴリズムのMステップにおいて、上記ステップS204で更新された負担率rjkと、上記ステップS202で初期化された各値、又は本ステップS206で前回更新された各値に基づいて、上記式(3)〜(6)に従って、複数のクラスkの各々について、当該クラスkの平均μ、分散s 、及び混合係数πを更新する。
ステップS208において、上記ステップS204及び上記ステップS206の更新処理が収束したか否かを判定する。更新処理が収束したと判定した場合には、ステップS210へ進む。一方、更新処理が収束したと判定した場合には、ステップS204へ戻る。
ステップS210において、上記ステップS204で更新されたクラスkの各々についての各アイテムjに対するクラスkの負担率rjkと、上記ステップS206で更新された、クラスkの各々についての、平均μ、分散s 、及び混合係数πと、各クラスkに属するアイテムjの各々の情報とをクラスタリング結果として出力して、初期クラスタリング処理ルーチンを終了する。
次に、クラスタリング処理ルーチンに戻り、ステップS110において、情報量最大化クラスタリング部42によって、上記ステップS108で計算されたクラスタリング結果に基づいて、複数のクラスkの各々について、上記ステップS106で計算された、クラスkに属するアイテムjの各々に対しての選択確率から、特定ユーザがクラスkを選択する確率を表すクラス確率を算出する。
そして、ステップS110において、情報量最大化クラスタリング部42によって、複数のクラスkの各々について、複数のアイテムjの各々から抽出された特徴量に基づいて、クラスkに対するクラス確率が平均値より大きい場合に、クラスkに属するアイテムの各々の特徴量の標準偏差を小さくし、クラスkに対するクラス確率が平均値以下である場合に、クラスkに属するアイテムの各々の特徴量の標準偏差を大きくするように、複数のアイテムjを複数のクラスkにクラスタリングする。ステップS110は、図6に示す情報量最大化クラスタリング処理ルーチンによって実現される。
<情報量最大化クラスタリング処理ルーチン>
まず、ステップS300において、上記ステップS108で計算されたクラスタリング結果を取得する。
ステップS302において、上記ステップS300で取得されたクラスタリング結果を、各クラスkの初期値として設定する。
ステップS304において、選択確率計算部38によって計算された、クラスkに属するアイテムjの各々に対しての選択確率に基づいて、特定ユーザについてのクラス確率pikを上記式(7)に従って計算する。また、情報量最大化クラスタリング部42によって、クラス確率の平均値を算出する。
ステップS306において、各クラスkについて、上記ステップS304で計算されたクラス確率pikと平均値とに基づいて、クラス確率が平均値より大きいクラスの標準偏差sを小さく(m倍)する。
ステップS308において、各クラスkについて、上記ステップS304で計算されたクラス確率pikと平均値とに基づいて、クラス確率が平均値以下のクラスの標準偏差sを大きく(1/m倍)する。
ステップS310において、EMアルゴリズムのMステップにおいて、上記ステップS306及びS308で更新された各クラスkの標準偏差sと、上記ステップS302で設定された初期値又は後述するステップS312で前回更新された各値とに基づいて、複数のクラスkの各々について、各アイテムjに対し、アイテムjのクラスkの負担率rjkを更新する。
ステップS312において、EMアルゴリズムのMステップにおいて、上記ステップS310で更新されたクラスkの負担率rjkと、上記ステップS306及びS308で更新された各クラスkの標準偏差sと、上記ステップS302で設定された初期値又は本ステップS312で前回更新された各値とに基づいて、上記式(3)、(4)、及び(6)に従って、複数のクラスkの各々について、当該クラスkの平均μ、及び混合係数πを更新する。
ステップS314において、上記式(8)に従って計算される、クラス確率の標準偏差sが、予め定められた閾値以下であるか否かを判定する。クラス確率の標準偏差sが予め定められた閾値より大きい場合には、ステップS304へ戻る。一方、クラス確率の標準偏差sが予め定められた閾値以下である場合には、ステップS316へ進む。
ステップS316において、上記ステップS310で更新されたクラスkの各々についての各アイテムjに対するクラスkの負担率rjkと、上記ステップS312で更新された、クラスkの各々についての、平均μ及び混合係数πと、各クラスkに属するアイテムjの各々の情報とをクラスタリング結果として出力して、情報量最大化クラスタリング処理ルーチンを終了する。
次に、クラスタリング処理ルーチンに戻り、最適粒度協調フィルタリング部44によって、ステップS112において、上記ステップS110で出力されたクラスタリング結果と、上記ステップS102で生成されたレート行列とに基づいて、複数のユーザiの各々が各クラスkに属するアイテムを訪問する度合いを表すレートを要素にもつ第2レート行列を生成する。
ステップS114において、最適粒度協調フィルタリング部44によって、上記ステップS112で生成された第2レート行列に基づいて、第2レート行列のうち、選択肢提示要求を送信した特定ユーザについての0である要素のレートを推定し、第2レート行列を更新する。
ステップS116において、最適粒度協調フィルタリング部44によって、上記ステップS114で更新された第2レート行列から、上記で受け付けた選択肢提示要求に含まれるユーザIDに対応する特定ユーザについて、当該特定ユーザの各クラスに対する第2レートの値が大きい順に、クラスの各々を並び替え、並び替えられたクラスの各々を示す選択肢の一覧を結果として出力する。
そして、ステップS118において、通信部30によって、上記ステップS116で出力された選択肢の一覧を情報端末12へ送信する。
情報端末12の通信部22は、サーバ14より送信された選択肢の一覧を受け付け、提示部24へ出力する。そして、提示部24は、通信部22により出力された選択肢の一覧を提示する。
図7に、情報端末12の提示部24によって提示される選択肢の階層を説明するための図を示す。図7(A)に示されるように、情報端末12の提示部24によって提示される選択肢の一覧は、ユーザの興味の無さそうな箇所は粗く表示され、ユーザの興味の有りそうな箇所は細かく表示される。また、図7(A)に示されるように、選択肢は階層構造となっている。例えば、ユーザが選択肢「和食」を選択すると、「和食」に属する選択肢の一覧が更に表示される。
上記図7(A)に示されるような階層構造を実現するために、ユーザが選択肢を選択すると、情報端末12は、選択された選択肢の情報をサーバ14へ送信し、サーバ14が情報端末12によって送信された選択肢の情報を受信すると、上記クラスタリング処理ルーチンが実行される。そして、サーバ14によって、図7(B)に示されるように、ユーザによって選択された選択肢に対応するクラスに属するアイテムの集合に対して更にクラスタリングが行われ、再度、サーバ14が、クラスタリングの結果に応じた選択肢の一覧を情報端末12へ送信し、一段下層の選択肢の一覧が提示部24によって提示される。なお、ユーザが選択肢を選択する毎に、情報端末12は当該選択肢の情報をサーバ14へ送信し、サーバ14によってクラスタリング処理ルーチンが実行される。
以上説明したように、本発明の実施の形態に係る情報提示システムによれば、特定ユーザの行動履歴データに基づいて、特定ユーザが各アイテムjに対して所定の行動をとる確率を表す選択確率を計算し、複数のアイテムjを複数のクラスkにクラスタリングしたクラスタリング結果に基づいて、複数のクラスkの各々について、特定ユーザがクラスkを選択する確率を表すクラス確率を算出し、複数のアイテムjの各々から抽出された特徴量に基づいて、クラスkに対するクラス確率が大きいほど、クラスkに属するアイテムの各々の特徴量の標準偏差を小さくし、クラスkに対するクラス確率が小さいほど、クラスkに属するアイテムの各々の特徴量の標準偏差を大きくするように、複数のアイテムjを複数のクラスkにクラスタリングすることにより、ユーザの行動履歴に応じた適切な選択肢を提示することができる。
また、複数のアイテムjの各々から抽出された特徴量に基づいて、クラスkに対するクラス確率が大きいほど、クラスkに属するアイテムの各々の特徴量の標準偏差を小さくし、クラスkに対するクラス確率が小さいほど、クラスkに属するアイテムの各々の特徴量の標準偏差を大きくするように、複数のアイテムjを複数のクラスkにクラスタリングすることにより、情報量が大きくなるように、複数のアイテムをクラスタリングすることができる。
また、ユーザの行動から得られる情報量を最大化するように、ユーザの興味のある部分は細かく、興味のない部分は粗くなるよう選択肢を設計可能であるため、情報端末に対する最小の操作回数で、ユーザの希望するアイテムを特定することができる。
なお、上記実施の形態では、情報端末を車両等の移動体に搭載した形態を想定しているが、歩行者が情報端末を携帯している形態としてもよい。
また、上記実施の形態では、アイテムが場所を表し、所定の行動は当該場所への訪問である場合を例に説明したがこれに限定されるものではない。例えば、図8に示されるように、アイテムが商品であって、所定の行動が評価であっても良い。図8では、サムアップのマークが良評価を表し、サムダウンのマークが悪評価を表す。
また、アイテムが商品であって、所定の行動が商品の閲覧又は購入であっても良い。例えば、商品の一例として映画が挙げられ、商品が映画である場合の特徴量としては、当該映画の撮影年度、監督、ジャンル情報等を特徴量として用いることができる。
また、アイテムが場所であって、所定の行動が場所の評価であってもよい。
また、上記実施の形態では、レート行列生成部34が、複数のユーザiの各々が各アイテムjに対して所定の行動をとった行動履歴データに基づいて、複数のユーザiの各々が各アイテムjに対して所定の行動をとった度合いを表すレートを要素にもつレート行列を生成し、協調フィルタリング部36が、生成されたレート行列に基づいて、レート行列のうち、特定ユーザについての0である要素のレートを推定し、生成されたレート行列を更新する場合を例に説明したがこれに限定されるものではない。例えば、レート行列を生成せずに、特定ユーザが各アイテムjに対して所定の行動をとった行動履歴データに基づいて、特定ユーザが各アイテムjに対して所定の行動をとる確率を表す選択確率を計算するようにしてもよい。
また、上記実施の形態では、選択肢の一覧が階層構造である場合に、ユーザが選択肢を選択する毎に、情報端末12は当該選択肢の情報をサーバ14へ送信し、サーバ14によってクラスタリング処理ルーチンが実行される場合を例に説明したがこれに限定されるものではない。例えば、選択肢の一覧が階層構造である場合には、階層毎のクラスタリングをサーバ14によって予め実行しておき、情報端末12はサーバ14によって実行されたクラスタリング結果に基づく選択肢の階層構造を予め取得し、ユーザによって選択肢が選択される毎に、下層の選択肢を提示してもよい。
また、サーバ14によるクラスタリング結果を用いて、ユーザに選択肢を提示する場合を例に説明したが、これに限定されるものではなく、クラスタリング結果を用いて、選択肢を提示する以外の処理を行ってもよい。
また、クラスタリング処理を実行する装置が、サーバ14として実装される場合を例に説明したが、これに限定されるものではなく、情報端末上に、クラスタリング処理を実行する装置が実装されるようにしてもよい。
10 情報提示システム
12 情報端末
14 サーバ
16 ネットワーク
20 入力部
22,30 通信部
24 提示部
32 行動履歴データベース
34 レート行列生成部
36 協調フィルタリング部
38 選択確率計算部
40 初期クラスタリング部
42 情報量最大化クラスタリング部
44 最適粒度協調フィルタリング部

Claims (10)

  1. 特定ユーザが各アイテムjに対して所定の行動をとった行動履歴データに基づいて、前記特定ユーザが各アイテムjに対して所定の行動をとる確率を表す選択確率を計算する選択確率計算手段と、
    複数のアイテムjの各々について抽出された特徴量に基づいて、複数のアイテムjを複数のクラスkにクラスタリングする第1のクラスタリング手段と、
    前記第1のクラスタリング手段によって計算されたクラスタリング結果に基づいて、複数のクラスkの各々について、前記選択確率計算手段によって計算された、前記クラスkに属する前記アイテムjの各々に対しての前記選択確率から、前記特定ユーザが前記クラスkを選択する確率を表すクラス確率を算出し、前記複数のアイテムjの各々から抽出された特徴量に基づいて、前記クラスkに対する前記クラス確率が大きいほど、前記クラスkに属する前記アイテムの各々の特徴量の標準偏差を小さくし、前記クラスkに対する前記クラス確率が小さいほど、前記クラスkに属する前記アイテムの各々の特徴量の標準偏差を大きくするように、複数のアイテムjを複数のクラスkにクラスタリングする第2のクラスタリング手段と、
    を含むクラスタリング装置。
  2. 前記第2のクラスタリング手段は、前記第1のクラスタリング手段によって計算されたクラスタリング結果に基づいて、複数のクラスkの各々について、前記クラス確率を算出し、前記複数のアイテムjの各々から抽出された特徴量に基づいて、前記クラスkに対する前記クラス確率が前記クラス確率の平均値より大きい場合に、前記クラスkに属する前記アイテムの各々の特徴量の標準偏差を小さくし、前記クラスkに対する前記クラス確率が前記クラス確率の平均値以下の場合に、前記クラスkに属する前記アイテムの各々の特徴量の標準偏差を大きくするように、複数のアイテムjを複数のクラスkにクラスタリングする請求項1に記載のクラスタリング装置。
  3. 前記第2のクラスタリング手段は、前記特定ユーザが前記クラスkを選択する確率を表すクラス確率の標準偏差が、予め定められた閾値以下になるまで、複数のアイテムjを複数のクラスkにクラスタリングすることを繰り返す
    請求項1又は請求項2に記載のクラスタリング装置。
  4. 複数のユーザiの各々が各アイテムjに対して所定の行動をとった行動履歴データに基づいて、複数のユーザiの各々が各アイテムjに対して所定の行動をとった度合いを表すレートを要素にもつレート行列を生成するレート行列生成手段と、
    前記レート行列生成手段によって生成されたレート行列に基づいて、前記レート行列のうち、前記特定ユーザについての0である要素のレートを推定し、前記レート行列生成手段によって生成された前記レート行列を更新するフィルタリング手段とを更に含み、
    前記選択確率計算手段は、前記フィルタリング手段によって更新された前記レート行列に基づいて、前記特定ユーザが各アイテムjに対して所定の行動をとる確率を表す選択確率を計算する
    請求項1〜請求項3の何れか1項に記載のクラスタリング装置。
  5. 前記第2のクラスタリング手段によって計算されたクラスタリング結果と、前記レート行列生成手段によって生成されたレート行列とに基づいて、複数のユーザiの各々が各クラスkに属するアイテムに対して所定の行動をとる度合いを表すレートを要素にもつ第2レート行列を生成し、
    前記生成された第2レート行列に基づいて、前記第2レート行列のうち、前記特定ユーザについての0である要素のレートを推定し、前記第2レート行列を更新する第2のフィルタリング手段を更に含む
    請求項4に記載のクラスタリング装置。
  6. 前記アイテムは、商品であって、前記所定の行動は、商品の閲覧、購入、又は評価である請求項1〜請求項5の何れか1項に記載のクラスタリング装置。
  7. 前記アイテムは、場所であって、前記所定の行動は、場所への訪問又は場所の評価である請求項1〜請求項5の何れか1項に記載のクラスタリング装置。
  8. 請求項5〜請求項7の何れか1項に記載のクラスタリング装置によって計算された前記第2レート行列において、前記特定ユーザについてのレートが高い順に並び替えられたクラスの情報を取得する通信手段と、
    前記通信手段によって取得されたクラスの情報を提示する提示手段と、
    を含む情報端末。
  9. 請求項4〜請求項7の何れか1項に記載のクラスタリング装置と、
    請求項8に記載の情報端末とを含む情報提示システム。
  10. コンピュータを、
    特定ユーザが各アイテムjに対して所定の行動をとった行動履歴データに基づいて、前記特定ユーザが各アイテムjに対して所定の行動をとる確率を表す選択確率を計算する選択確率計算手段、
    複数のアイテムjの各々について抽出された特徴量に基づいて、複数のアイテムjを複数のクラスkにクラスタリングする第1のクラスタリング手段、及び
    前記第1のクラスタリング手段によって計算されたクラスタリング結果に基づいて、複数のクラスkの各々について、前記選択確率計算手段によって計算された、前記クラスkに属する前記アイテムjの各々に対しての前記選択確率から、前記特定ユーザが前記クラスkを選択する確率を表すクラス確率を算出し、前記複数のアイテムjの各々から抽出された特徴量に基づいて、前記クラスkに対する前記クラス確率が大きいほど、前記クラスkに属する前記アイテムの各々の特徴量の標準偏差を小さくし、前記クラスkに対する前記クラス確率が小さいほど、前記クラスkに属する前記アイテムの各々の特徴量の標準偏差を大きくするように、複数のアイテムjを複数のクラスkにクラスタリングする第2のクラスタリング手段
    として機能させるためのプログラム。
JP2014240380A 2014-11-27 2014-11-27 クラスタリング装置、情報端末、情報提示システム、及びプログラム Pending JP2016103107A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014240380A JP2016103107A (ja) 2014-11-27 2014-11-27 クラスタリング装置、情報端末、情報提示システム、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014240380A JP2016103107A (ja) 2014-11-27 2014-11-27 クラスタリング装置、情報端末、情報提示システム、及びプログラム

Publications (1)

Publication Number Publication Date
JP2016103107A true JP2016103107A (ja) 2016-06-02

Family

ID=56088979

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014240380A Pending JP2016103107A (ja) 2014-11-27 2014-11-27 クラスタリング装置、情報端末、情報提示システム、及びプログラム

Country Status (1)

Country Link
JP (1) JP2016103107A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019159288A1 (ja) * 2018-02-15 2019-08-22 楽天株式会社 情報処理システム、情報処理方法、及びプログラム
WO2019239544A1 (ja) * 2018-06-14 2019-12-19 日本電気株式会社 表示形式決定装置、表示形式決定方法および記録媒体
CN111353094A (zh) * 2018-12-20 2020-06-30 北京嘀嘀无限科技发展有限公司 一种信息推送方法及装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019159288A1 (ja) * 2018-02-15 2019-08-22 楽天株式会社 情報処理システム、情報処理方法、及びプログラム
JPWO2019159288A1 (ja) * 2018-02-15 2020-04-02 楽天株式会社 情報処理システム、情報処理方法、及びプログラム
WO2019239544A1 (ja) * 2018-06-14 2019-12-19 日本電気株式会社 表示形式決定装置、表示形式決定方法および記録媒体
JPWO2019239544A1 (ja) * 2018-06-14 2021-07-15 日本電気株式会社 表示形式決定装置、表示形式決定方法およびプログラム
JP7103414B2 (ja) 2018-06-14 2022-07-20 日本電気株式会社 表示形式決定装置、表示形式決定方法およびプログラム
CN111353094A (zh) * 2018-12-20 2020-06-30 北京嘀嘀无限科技发展有限公司 一种信息推送方法及装置

Similar Documents

Publication Publication Date Title
KR101573601B1 (ko) 사용자 프로파일과 상황 정보를 이용한 선호도 기반 하이브리드 필터링 콘텐츠 추천 장치 및 방법
Desrosiers et al. A comprehensive survey of neighborhood-based recommendation methods
US8793248B2 (en) Method and system for recommending Geo-tagged items
US8209337B2 (en) Content recommendation apparatus and method using tag cloud
US20100153292A1 (en) Making Friend and Location Recommendations Based on Location Similarities
CN107949843A (zh) 项目推荐系统、项目推荐方法以及程序
US20130185294A1 (en) Recommender system, recommendation method, and program
US20120185481A1 (en) Method and Apparatus for Executing a Recommendation
US20090100094A1 (en) Recommendation system and method for multimedia content
US20140372429A1 (en) Incorporating user usage of consumable content into recommendations
US20120023045A1 (en) Recommender System with Training Function Based on Non-Random Missing Data
CN103414930A (zh) 识别感应用户的遥控系统及其方法
US10134073B2 (en) Information processing device, category displaying method, program, and information storage medium
JP2019113943A (ja) 情報提供装置、情報提供方法、およびプログラム
JP6827305B2 (ja) 選択装置、選択方法および選択プログラム
US8725735B2 (en) Information processing system, information processing method, program, and non-transitory information storage medium
US20200342358A1 (en) Client, server, and client-server system adapted for generating personalized recommendations
US20150161208A1 (en) Search apparatus, search method, search program, and recording medium
KR101708254B1 (ko) 협업적 필터링과 캐릭터 넷을 이용한 스토리 기반의 영화 추전 시스템 및 방법.
JP2016103107A (ja) クラスタリング装置、情報端末、情報提示システム、及びプログラム
JPWO2015198474A1 (ja) 情報処理装置、情報処理方法及び情報処理プログラム
CN108763515B (zh) 一种基于概率矩阵分解的时间敏感个性化推荐方法
JP6960838B2 (ja) 情報提供装置、情報提供方法、およびプログラム
CN106777304B (zh) 主题的推送方法及装置
US20150170035A1 (en) Real time personalization and categorization of entities