JP2017182724A - Item recommendation program, item recommendation method, and item recommendation apparatus - Google Patents
Item recommendation program, item recommendation method, and item recommendation apparatus Download PDFInfo
- Publication number
- JP2017182724A JP2017182724A JP2016073265A JP2016073265A JP2017182724A JP 2017182724 A JP2017182724 A JP 2017182724A JP 2016073265 A JP2016073265 A JP 2016073265A JP 2016073265 A JP2016073265 A JP 2016073265A JP 2017182724 A JP2017182724 A JP 2017182724A
- Authority
- JP
- Japan
- Prior art keywords
- item
- user
- characteristic
- clustering
- vector
- 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.)
- Granted
Links
Images
Abstract
Description
本発明の実施形態は、アイテム推薦プログラム、アイテム推薦方法およびアイテム推薦装置に関する。 Embodiments described herein relate generally to an item recommendation program, an item recommendation method, and an item recommendation device.
従来、番組などの多数のアイテムの中からユーザに適したアイテムを検索して推薦するアイテム推薦装置がある。推薦するアイテムの検索には、ユーザベースによるもの、アイテムベースによるものおよびユーザベースとアイテムベースとを組み合わせたハイブリッドベースによるものがある。 2. Description of the Related Art Conventionally, there is an item recommendation device that searches and recommends an item suitable for a user from a large number of items such as a program. Searches for recommended items include a user base, an item base, and a hybrid base combining a user base and an item base.
ユーザベースによるアイテム検索は、ユーザの行動履歴から関心が類似するユーザを抽出し、抽出されたユーザがアクセスしたアイテムを推薦する。アイテムベースによるアイテム検索は、ユーザが過去にアクセスしたアイテムや、選択されたアイテムと類似するアイテムを推薦する。ハイブリッドベースによるアイテム検索は、ユーザのプロファイル、アイテムの内容およびユーザの行動履歴を組み合わせた類似度によりアイテムを推薦する。ユーザベースでは行動履歴の少ない新規ユーザへのアイテム推薦が困難な場合がある。また、アイテムベースでは自分と類似するユーザの情報がアイテム推薦に反映されない。これに対し、ハイブリッドベースでは、行動履歴の少ない新規ユーザへのアイテム推薦や、自分と類似するユーザの情報を反映したアイテム推薦を実現できる。 In the user-based item search, users with similar interests are extracted from the user's behavior history, and the items accessed by the extracted users are recommended. The item-based item search recommends items that the user has accessed in the past or items similar to the selected item. In the hybrid-based item search, an item is recommended based on a similarity obtained by combining a user profile, an item content, and a user action history. In the user base, it may be difficult to recommend items to new users with a small behavior history. In addition, in the item base, the user information similar to the user is not reflected in the item recommendation. On the other hand, in the hybrid base, it is possible to realize item recommendation for a new user with a small action history and item recommendation reflecting information of a user similar to himself / herself.
しかしながら、ハイブリッドベースによるアイテム推薦では、各ユーザのプロファイル、アイテムの内容およびユーザの行動履歴の要素による多次元行列(高階テンソル、多次元配列)のデータ量が膨大なものとなり、アイテム推薦にかかる計算負荷が大きいという問題がある。このように、アイテム推薦にかかる計算負荷が大きい場合には、計算時間が長くなり、実用時間内に処理を終えることが困難なものとなる。 However, in the item recommendation by the hybrid base, the amount of data of the multidimensional matrix (higher order tensor, multidimensional array) due to the profile of each user, the contents of the item, and the elements of the user's behavior history becomes enormous, and the calculation for item recommendation There is a problem that the load is large. Thus, when the calculation load for item recommendation is large, the calculation time becomes long, and it becomes difficult to finish the processing within the practical time.
1つの側面では、アイテム推薦にかかる計算負荷を小さくすることができるアイテム推薦プログラム、アイテム推薦方法およびアイテム推薦装置を提供することを目的とする。 In one aspect, an object is to provide an item recommendation program, an item recommendation method, and an item recommendation device that can reduce the calculation load for item recommendation.
第1の案では、アイテム推薦プログラムは、作成する処理と、クラスタリングする処理と、抽出する処理とをコンピュータに実行させる。作成する処理は、ユーザごとに、アイテムごとの当該アイテムにおける各特性と、特性をまとめるグループ情報とを有するアイテム特性行列のうち、少なくとも一つのグループ情報を用いて縮約したアイテム特性行列に前記ユーザが選択したアイテムの履歴情報を掛けあわせて前記アイテムの各特性に対するユーザの嗜好を示すベクトルを求め、当該ベクトルに前記ユーザのプロファイルを付与してユーザ嗜好特性ベクトルを作成する。クラスタリングする処理は、ユーザごとに作成されたユーザ嗜好特性ベクトルに基づいてユーザをクラスタリングする。抽出する処理は、クラスタごとに、当該クラスタに属するユーザの履歴情報を集計して選択頻度の高いアイテムを推薦するアイテムとして抽出する。 In the first plan, the item recommendation program causes the computer to execute a process to create, a process to cluster, and a process to extract. The processing to be created includes, for each user, an item characteristic matrix contracted by using at least one group information among item characteristic matrices having each characteristic of the item for each item and group information for collecting the characteristics. Is multiplied by the history information of the selected item to obtain a vector indicating the user's preference for each characteristic of the item, and the user's profile is added to the vector to create a user preference characteristic vector. In the clustering process, the users are clustered based on the user preference characteristic vector created for each user. In the process of extracting, for each cluster, the history information of users belonging to the cluster is aggregated and an item with a high selection frequency is extracted as an item to be recommended.
本発明の1実施態様によれば、アイテム推薦にかかる計算負荷を小さくすることができる。 According to one embodiment of the present invention, the calculation load for item recommendation can be reduced.
以下、図面を参照して、実施形態にかかるアイテム推薦プログラム、アイテム推薦方法およびアイテム推薦装置を説明する。実施形態において同一の機能を有する構成には同一の符号を付し、重複する説明は省略する。なお、以下の実施形態で説明するアイテム推薦プログラム、アイテム推薦方法およびアイテム推薦装置は、一例を示すに過ぎず、実施形態を限定するものではない。また、以下の各実施形態は、矛盾しない範囲内で適宜組みあわせてもよい。 Hereinafter, an item recommendation program, an item recommendation method, and an item recommendation device according to embodiments will be described with reference to the drawings. In the embodiment, configurations having the same functions are denoted by the same reference numerals, and redundant description is omitted. Note that the item recommendation program, the item recommendation method, and the item recommendation device described in the following embodiments are merely examples, and do not limit the embodiments. In addition, the following embodiments may be appropriately combined within a consistent range.
図1は、実施形態にかかるアイテム推薦装置の機能構成を例示するブロック図である。図1に示すように、アイテム推薦装置1は、分析部10、クラスタリング部20および出力部30を有し、アイテムDB11における多数のアイテム(番組など)の中からユーザに適したアイテムを検索してユーザ推薦リストテーブル17を出力する装置である。
FIG. 1 is a block diagram illustrating a functional configuration of an item recommendation device according to the embodiment. As shown in FIG. 1, the
なお、本実施形態では、ユーザに推薦するアイテムとして、ビデオ・オン・デマンド(VOD)で提供する映像番組(コンテンツ)を例示する。ユーザに推薦するアイテムの種別は、映像番組に限定するものではなく、例えば通販サイトにおいて取り扱う商品などであってもよい。 In this embodiment, a video program (content) provided by video on demand (VOD) is exemplified as an item recommended to the user. The type of item recommended to the user is not limited to a video program, and may be a product handled on a mail order site, for example.
分析部10には、アイテムDB11よりアイテム(映像番組)の内容(特性)を抽出した映像番組ごとのアイテムキーワードテーブル12、ユーザが過去に選択(視聴)した番組の履歴を示すユーザごとの視聴履歴データ13およびユーザプロファイルDB18よりロードしたユーザごとのユーザプロファイル14が入力される。
The
アイテムキーワードテーブル12における映像番組ごとの内容(特性)としては、映像番組のジャンル、出演者、説明文に含まれるキーワード、登場地域などがある。なお、映像番組における各特性については、上記の種類に限定するものではなく、映像番組の特徴を示すものであればいずれであってもよい。 The contents (characteristics) for each video program in the item keyword table 12 include the genre of the video program, the performers, the keywords included in the description, the appearance area, and the like. The characteristics of the video program are not limited to the above-mentioned types, and any characteristic may be used as long as it shows the characteristics of the video program.
ユーザプロファイル14におけるユーザのプロファイルとしては、ユーザの性別、年齢、所在地などがある。なお、ユーザのプロファイルについては、上記の種類に限定するものではなく、ユーザの特性(特徴)を示すのであればいずれであってもよい。
The user profile in the
分析部10は、ユーザプロファイル14を用いたユーザの嗜好の類似性、アイテムキーワードテーブル12を用いた映像番組の内容の類似性および視聴履歴データ13を用いた視聴履歴の類似性をハイブリッドベースで分析する。分析部10は、この分析結果をユーザ行動分析テーブル15として出力する。
The
クラスタリング部20は、ユーザ行動分析テーブル15をもとに類似するユーザのクラスタを作成する。そして、クラスタリング部20は、クラスタごとに、クラスタに属するユーザの視聴履歴を集計して選択頻度の高い映像番組を推薦する映像番組として抽出する。クラスタリング部20は、クラスタごとに抽出した映像番組を選択頻度の高い順に並べて基本推薦リストテーブル16を出力する。
The
出力部30は、基本推薦リストテーブル16をもとに、ユーザが属するクラスタより抽出された映像番組のユーザ推薦リストテーブル17を出力する。具体的には、出力部30は、ユーザの視聴履歴データ13を参照し、ユーザが属するクラスタより抽出された映像番組のリストからユーザが既に視聴済み(選択済み)である映像番組を除外する。そして、出力部30は、ユーザが未視聴(未選択)の映像番組のリストをユーザ推薦リストテーブル17として出力する。これにより、アイテム推薦装置1は、ユーザが未視聴の映像番組を推薦することができる。
The
ハイブリッドベースでのアイテム推薦では、多次元行列における要素数が増えると計算負荷が大きくなる。例えば、ユーザ数が1000万いるビデオ・オン・デマンドサービスにおいて約5万の番組の中からユーザに番組を推薦する場合を想定する。この場合、ユーザごとに視聴履歴を保持する2次元行列(配列)の要素数は、(アイテム、ユーザ)→5・10^4×1・10^7=5・10^11と巨大な数となる(「^」記号はべき乗を表す。以下同様)。これに、ユーザのプロファイルとして性別(男女の2階層)、年齢(5才毎に層別化して20階層)などの情報を加えた多次元行列(高階テンソル、多次元配列)の要素数は次のとおりに10テラオーダとなる。
(アイテム、ユーザ、性別)→5・10^11×2=1・10^12
(アイテム、ユーザ、性別、年齢)→1・10^12×20=2・10^13
In the item recommendation on a hybrid basis, the calculation load increases as the number of elements in the multidimensional matrix increases. For example, assume a case in which a program is recommended to a user from about 50,000 programs in a video-on-demand service with 10 million users. In this case, the number of elements of the two-dimensional matrix (array) holding the viewing history for each user is (item, user) → 5 · 10 ^ 4 × 1 · 10 ^ 7 = 5 · 10 ^ 11 ("^" Sign represents power, and so on). The number of elements of a multidimensional matrix (higher tensor, multidimensional array) including information such as sex (two levels of men and women) and age (stratified by every five years and 20 levels) as the user profile is as follows: As shown in the figure, it becomes 10 tera orders.
(Item, user, gender) → 5 · 10 ^ 11 × 2 = 1 · 10 ^ 12
(Item, user, gender, age) → 1 · 10 ^ 12 × 20 = 2 · 10 ^ 13
さらに、アイテムの内容を追加していくと、多次元行列のデータ量はペタオーダーを超えるものとなる。このような多次元行列を利用してユーザ同士の類似度を算出する場合には、行列の特異値分解をテンソルに拡張したテンソル特異値分解を用いる。この特異値分解の計算量は要素数の2乗に比例するので、データ量がペタオーダー(10^12)の場合には、特異値分解にかかる計算量は(10^12)^4=10^48となり、計算負荷が大きなものとなる。 Furthermore, as the contents of the items are added, the data amount of the multidimensional matrix exceeds the peta order. When calculating the degree of similarity between users using such a multidimensional matrix, tensor singular value decomposition obtained by extending the singular value decomposition of the matrix to a tensor is used. Since the calculation amount of this singular value decomposition is proportional to the square of the number of elements, when the data amount is peta-order (10 ^ 12), the calculation amount required for singular value decomposition is (10 ^ 12) ^ 4 = 10. ^ 48, which increases the calculation load.
そこで、アイテム推薦装置1の分析部10は、映像番組(アイテム)ごとの各特性を有するアイテムキーワードテーブル12(アイテム特性行列)にユーザの視聴履歴データ13を掛けあわせて、映像番組の各特性に対するユーザの嗜好を示すベクトルを求め、ユーザプロファイル14を付与してユーザ嗜好特性ベクトルを作成する。すなわち、分析部10は、アイテムキーワードテーブル12、視聴履歴データ13およびユーザプロファイル14における多次元行列(テンソル)の縮約を行う。
Accordingly, the
分析部10は、ユーザ嗜好特性ベクトルをユーザ毎に求め、ユーザ行動分析テーブル15として出力する。クラスタリング部20は、ユーザ行動分析テーブル15を参照し、ユーザごとのプロファイル・嗜好を有するユーザ嗜好特性ベクトルをもとに、ユーザをクラスタリングする。このように、アイテム推薦装置1では、アイテムキーワードテーブル12、視聴履歴データ13およびユーザプロファイル14における多次元行列(テンソル)の縮約を行うことで、計算にかかるデータ量を削減し、計算負荷を小さくすることができる。
The
ここで、アイテム推薦装置1の動作の詳細を説明する。なお、以下の説明で使用する記号を次のように定義する。
I:アイテム(映像番組)数
J:ユーザ数
K:アイテム特性のグループ数/ユーザのクラスタ数
L[k]:k番目のアイテム特性のグループの項目数
M:ユーザプロファイルの項目数
N:アイテムにおける全特性の項目数
Here, the detail of operation | movement of the
I: number of items (video programs) J: number of users K: number of groups of item characteristics / number of clusters of users L [k]: number of items of groups of k-th item characteristics M: number of items of user profile N: in item Number of items for all characteristics
図2は、実施形態にかかるアイテム推薦装置1の動作例を示すフローチャートである。図2に示すように、処理が開始されると、分析部10は、アイテムキーワードテーブル12、視聴履歴データ13およびユーザプロファイル14の入力を受け付ける。次いで、分析部10は、視聴履歴データ13をもとに、全ユーザについて、映像番組ごとの視聴時間比率を要素とする視聴時間比率ベクトルを作成する(S1)。
FIG. 2 is a flowchart illustrating an operation example of the
具体的には、分析部10は、各ユーザの視聴履歴データ13をもとに、全ユーザの視聴時間比率行列Rを作成する。この視聴時間比率行列Rは、列インデックスで各ユーザを、行インデックスで各アイテム(映像番組)を識別し、次のとおりに表記する。
視聴時間比率行列:R[i,j]=vtime[i,j]/ptime[i]
ユーザインデックス:j=1,2,…,J
アイテムインデックス:i=1,2,…,I
Specifically, the
Viewing time ratio matrix: R [i, j] = vtime [i, j] / ptime [i]
User index: j = 1, 2,..., J
Item index: i = 1, 2,..., I
ここで、vtime[i,j]は、ユーザ(j)がアイテム(i)を視聴した時間である。また、ptime[i]は、アイテム(i)の再生時間である。視聴時間比率行列R[i,j]の算出に用いる視聴履歴データ13は、現在から過去に一定期間(例えば1年間)遡った履歴を用いる。この履歴を用いる期間は、1ヶ月、3ヶ月、半年などのように任意に設定できるものとする。また、分析部10は、視聴時間比率行列R[i,j]を一定期間(例えば3ヶ月)ごとに再計算する。この再計算の期間についても、1ヶ月、2週間などのように任意に設定できるものとする。
Here, vtime [i, j] is the time when the user (j) viewed the item (i). Also, ptime [i] is the playback time of item (i). The
なお、本実施形態ではアイテムの履歴情報(映像番組の視聴履歴)をもとに、映像番組の視聴時間を算出しているが、アイテムが商品の場合には、ユーザ(j)がアイテム(i)を購入した数を要素値として求めてもよい。 In this embodiment, the viewing time of the video program is calculated based on the item history information (video program viewing history). However, if the item is a product, the user (j) ) May be obtained as an element value.
次いで、分析部10は、アイテムキーワードテーブル12をもとに、全アイテムの内容(特性)を行列で表現するアイテム特性行列X[i,g[k,l]]を作成する(S2)。なお、アイテム特性行列X[i,g[k,l]]では、アイテム(i)がアイテム内容項目G[k,l]を含んでいれば「1」、含んでいなければ「0」の値を持つものとし、次のとおりに定義する。
アイテム特性行列:X[i,g[k,l]]=0 or 1
アイテム特性項目行列:G[k,l]
アイテム特性通し番号インデックス:g[k,l]
アイテム特性グループインデックス:k=1,2,…,K
グループ内インデックス:l=1,2,…,L[k]
Next, the
Item characteristic matrix: X [i, g [k, l]] = 0 or 1
Item characteristic item matrix: G [k, l]
Item characteristic serial number index: g [k, l]
Item characteristic group index: k = 1, 2,..., K
In-group index: l = 1, 2,..., L [k]
L[k]はグループごとに異なる値を持つ。グループとは、ジャンル(k=1)、出演者(k=2)、監督(k=3)、説明文のキーワード(k=4)、登場地域(k=5)、公開年(k=6)…などのように、アイテム(映像番組)を分類するために使用される特性である。なお、本実施例では、説明のために、出演者、監督といった非常に多くのフラグを含む大きなグループに簡略化して表現しているが、それぞれのグループはクラスタリングした場合にユーザ特性が現れる程度に細分化したグループを用意してもよい。 L [k] has a different value for each group. A group is a genre (k = 1), performer (k = 2), director (k = 3), explanatory keyword (k = 4), appearance area (k = 5), release year (k = 6) )... Is a characteristic used to classify items (video programs). In the present embodiment, for the sake of explanation, a large group including a very large number of flags, such as performers and directors, is simply expressed, but each group has a degree of user characteristics when clustered. A subdivided group may be prepared.
アイテム内容項目は、ジャンルならばG[1,]=[SF、スポーツ、時代劇、ドキュメント、音楽、…]、出演者ならばG[2,]=[○○○○、××××、…]、ジャンル(k)ならばG[k,]=[AAAA、BBBB、…]などのように、アイテムを特徴づける具体的な項目である。また、キーワードは、アイテムの説明文に含まれている名詞、形容詞、動詞などである。 If the item content item is a genre, G [1,] = [SF, sports, historical drama, document, music,...], If the performer is G [2,] = [XXXXXX, XXXXXX, ..], If it is a genre (k), it is a specific item that characterizes the item, such as G [k,] = [AAAA, BBBB,. The keywords are nouns, adjectives, verbs, etc. included in the description of the item.
アイテムのキーワードについては、次の(1)〜(4)を実行することで収集する。
(1)アイテム内容を記述した説明文(テレビ番組の場合はEPG(電子番組ガイド)、オンデマンドビデオ番組の場合は内容紹介テキスト)からテキストマイニングにより、固有名詞、一般名詞、動詞、形容詞を収集する。
(2)アイテムに関するSNS(ソーシャル・ネットワーキング・サービス)上のレビュー文章を検索してテキストマイニングを行うことで、(1)で収集できていない新たなキーワードを収集する。
(3)アイテムの提供者側が追加したほうが良いと判断して登録されているキーワードを付加する。
(4)アイテムについて視聴者がコメントした意見よりテキストマイニングして得られたキーワードを付加する。
About the keyword of an item, it collects by performing following (1)-(4).
(1) Collecting proper nouns, common nouns, verbs, and adjectives by text mining from explanations (EPG (electronic program guide) for TV programs, content introduction text for on-demand video programs) that describe item contents To do.
(2) A new keyword that cannot be collected in (1) is collected by searching a review sentence on SNS (Social Networking Service) related to the item and performing text mining.
(3) The registered keyword is added because it is determined that the item provider should add the item.
(4) A keyword obtained by text mining from an opinion commented by the viewer on the item is added.
アイテム特性通し番号インデックスは、あるアイテム内容項目が全グループを通して見た時に、何番目の項目かを表すインデックスである。たとえば、ジャンルが100項目、出演者が1000項目、監督が100項目ある場合、g「1,100」=100、g[2,1]=100+1=101、g[2,2]=100+2=102、g[3,1]=100+1000+1=1101などとなる。 The item characteristic serial number index is an index representing the item number when an item content item is viewed through all groups. For example, if there are 100 genres, 1000 performers, and 100 directors, g “1,100” = 100, g [2,1] = 100 + 1 = 101, g [2,2] = 100 + 2 = 102 , G [3,1] = 100 + 1000 + 1 = 1101.
なお、分析部10は、上述した手法でアイテムキーワードテーブル12よりアイテム特性行列X[i,g[k,l]]を作成する際に、内容項目数を制限してもよい。具体的には、分析部10は、全アイテムに対する特性を表すキーワードの和集合を作成して、共通内容キーワードとすることで、項目数を減らすことができる。
The
なお、共通内容キーワードの要素数は膨大な数になる可能性があることから、分析部10は、取捨選択のルールを予め設けておき、要素数が爆発することを防止する。一例として、例えば古いレビューは捨てる、和集合を作成する時に出現頻度の小さいキーワードは捨てる、視聴回数の少ないアイテムに関するキーワードは捨てるなどのルールを適用してもよい。また、特性項目の要素数は、ユーザ嗜好特性ベクトルのクラスタリングが実用的な計算時間内で終了するようにすることからも、制限が生じる場合がある。
Since the number of elements of the common content keyword may be enormous, the
次いで、分析部10は、S2で作成したアイテム特性行列X[i,g[k,l]]と、視聴時間比率行列:R[i,j]とを掛けあわせて嗜好特性行列V0[j,g[k,l]](行列の各行が各ユーザの嗜好を示すベクトル)を作成する(S3)。
Next, the
具体的には、分析部10は、嗜好特性行列V0[j,g[k,l]]は次の式(1)で作成する。
Specifically, the
次いで、分析部10は、ユーザごとに、ユーザ特性(ユーザプロファイル14)を付加してユーザ嗜好特性ベクトルに拡張する(S4)。具体的には、分析部10は、嗜好特性行列V0[j,g[k,l]]に、ユーザプロファイル14に基づくユーザプロファイル特性行列を付加した嗜好特性行列V[j,n]を作成する。なお、ユーザプロファイル特性行列は、列インデックスで各ユーザを、行インデックスで各プロファイルを識別する行列であり、次のとおりである。
ユーザプロファイル特性行列:P[j,m]
ユーザインデックス:j=1,2,…,J
プロファイルインデックス:m=1,2,…,M
Next, the
User profile characteristic matrix: P [j, m]
User index: j = 1, 2,..., J
Profile index: m = 1, 2,..., M
ユーザプロファイル特性行列の各要素で示されるユーザのプロファイルについては、男女や都道府県名などの非数値の場合もあるが、クラスタリングにおける距離計算が可能となるように数値化する。例えば、男女の場合は男=1、女=0のように数値化する。また、都道府県名の場合は、北海道から沖縄までを北海道=1、青森=2…のように、通し番号を振って数値化する。また、年齢や年収金額などのように、数値化番号が大きくなる要素は、適当に階層に分割して番号を振り分けるものとする。例えば、年齢の場合は10歳ごと、年収金額の場合は100万円ごとに数値化する。なお、これらの数値化にかかる規則は任意に設定できるものとする。 The user profile indicated by each element of the user profile characteristic matrix may be a non-numeric value such as gender or prefecture name, but is digitized so that distance calculation in clustering is possible. For example, in the case of males and females, the numerical values are such that male = 1 and female = 0. In the case of the name of the prefecture, the numbers from Hokkaido to Okinawa are digitized by assigning serial numbers such as Hokkaido = 1, Aomori = 2, etc. In addition, elements such as age and annual income that have a large numerical number are appropriately divided into hierarchies and assigned numbers. For example, in the case of age, it is digitized every 10 years, and in the case of annual income, it is digitized every 1 million yen. It should be noted that these rules for digitization can be arbitrarily set.
なお、嗜好特性行列V[j,n]については、例えばアイテム内容要素(嗜好特性行列V0[j,g[k,l]])の前にユーザプロファイル要素(ユーザプロファイル特性行列P[j,m])を付加して作成する。すなわち、嗜好特性行列V[j,n]については、次のとおりとなる。
(P[j,1],P[j,2],…,P[j,M],
V0[j,[1,1]],V0[j,[1,2]],…,V0[j,[1,L1]],V0[j,[2,1]],V0[j,[2,2]],…,V0[j,[2,L2]],…,
V0[j,[K,1]],V0[j,[K,2]],…,V0[j,[K,LK])
For the preference characteristic matrix V [j, n], for example, the user profile element (user profile characteristic matrix P [j, m] before the item content element (preference characteristic matrix V0 [j, g [k, l]]) is used. ]). That is, the preference characteristic matrix V [j, n] is as follows.
(P [j, 1], P [j, 2], ..., P [j, M],
V0 [j, [1,1]], V0 [j, [1,2]], ..., V0 [j, [1, L1]], V0 [j, [2,1]], V0 [j, [2,2]], ..., V0 [j, [2, L2]], ...,
V0 [j, [K, 1]], V0 [j, [K, 2]], ..., V0 [j, [K, LK])
ここで、ユーザプロファルの特性数はM、アイテム内容特性のアイテムグループ数はK、各グループの項目数はL1,L2,…LKであるものとしている。このユーザごとの嗜好特性ベクトルを行要素にもつ行列が、嗜好特性行列V[j,n](j=1,…,J,,n=1,…,N=M+L1+…+LK)である。分析部10は、作成した嗜好特性行列V[j,n]をユーザ行動分析テーブル15として出力する。
Here, it is assumed that the number of characteristics of the user profile is M, the number of item groups of the item content characteristics is K, and the number of items of each group is L1, L2,. A matrix having the preference characteristic vector for each user as a row element is a preference characteristic matrix V [j, n] (j = 1,..., J, n = 1,..., N = M + L1 +... + LK). The
図3は、ユーザ嗜好特性ベクトルの作成を説明する説明図である。図3に示すデータテーブルT10は、各アイテム(Item1,Item2…ItemI)のアイテム特性行列に、1ユーザについての視聴時間比率ベクトルを掛けあわせたものである。図3に示すように、分析部10は、アイテム特性行列にユーザの視聴時間比率ベクトルを掛けあわせ、列ごとに集計してユーザの嗜好を示すベクトル(最下段)を求める。
FIG. 3 is an explanatory diagram illustrating creation of a user preference characteristic vector. The data table T10 shown in FIG. 3 is obtained by multiplying the item characteristic matrix of each item (Item1, Item2 ... ItemI) by the viewing time ratio vector for one user. As illustrated in FIG. 3, the
図4は、ユーザ行動分析テーブル15を説明する説明図である。図4に示すように、ユーザ行動分析テーブル15は、ユーザごとに求めた、ユーザの嗜好を示すベクトル(図3の最下段)にユーザプロファイル(特性1〜特性M)を付加したものである。なお、ユーザプロファイルについては、実際には数値化されているものとする。 FIG. 4 is an explanatory diagram for explaining the user behavior analysis table 15. As shown in FIG. 4, the user behavior analysis table 15 is obtained by adding a user profile (characteristic 1 to characteristic M) to a vector (the lowest level in FIG. 3) indicating the user's preference obtained for each user. Note that the user profile is actually digitized.
なお、S4においてユーザ特性を付加したユーザ嗜好特性ベクトルについては、ユーザプロファイルとアイテムに対するユーザの嗜好との要素における数値の大きさが異なり、不揃いとなる。このようなユーザ嗜好特性ベクトルをもとにクラスタリングを行うと、数値の大きい特性でクラスタが決まってしまう場合がある。したがって、分析部10は、S4においてユーザ嗜好特性ベクトルを規格化した上で、ユーザ行動分析テーブル15として出力する。
Note that the user preference characteristic vector to which the user characteristic is added in S4 has different numerical values in the elements of the user profile and the user's preference with respect to the items, and is not uniform. When clustering is performed based on such user preference characteristic vectors, clusters may be determined with characteristics having large numerical values. Therefore, the
具体的には、分析部10は、規格化されたユーザ嗜好特性行列をNV[j,n](j=1,…,J,,n=1,…,N=M+L1+…+LK)とすると、以下の式(2)を用いて規格化する。
Specifically, the
また、推薦するアイテムのリストを作成するにあたり、ユーザのクラスタリング時にどの特性グループを重視するか、人為的に調整する場合がある。このような調整を行うために、特性のグループごとに重み係数ベクトルを導入してもよい。 In addition, when creating a list of recommended items, it may be artificially adjusted which characteristic group is important when clustering users. In order to perform such adjustment, a weight coefficient vector may be introduced for each group of characteristics.
具体的には、ユーザプロファイルまたはアイテム内容について次の重み係数ベクトルを導入する。例えば、wc[k=4]=0であれば、4番めの特性グループを考慮しないでクラスタリングを行うこととなる。
ユーザプロファイル重み係数:wu[m],m=1,…,M,(0≦wu[m]≦1)
アイテム内容グループ重み係数:wc[k],k=1,…,K,(0≦wc[k]≦1)
Specifically, the following weight coefficient vector is introduced for the user profile or item content. For example, if wc [k = 4] = 0, clustering is performed without considering the fourth characteristic group.
User profile weight coefficient: wu [m], m = 1,..., M, (0 ≦ wu [m] ≦ 1)
Item content group weight coefficient: wc [k], k = 1,..., K, (0 ≦ wc [k] ≦ 1)
次いで、クラスタリング部20は、S4までの処理により分析部10により作成されたユーザ行動分析テーブル15を参照し、ユーザをユーザグループ(クラスタ)に分割するクラスタリングの処理を行う(S5)。
Next, the
具体的には、クラスタリング部20は、ユーザのクラスタリングにおいて、ユーザ行動分析テーブル15におけるユーザ嗜好特性行列NV[j,n]を構成する行ベクトルのクラスタリングを行う。クラスタリングを行うため、まず、上述した重み係数を乗じたユーザ嗜好特性行列WV[j,n]を算出する。なお、重み付きのユーザ嗜好特性行列WV[j,n]の各行の要素値は次のように算出される。
ユーザプロファイル部分:
WV[j,n]=wu[n]×NV[j,n],n=1,…,M
アイテム内容部分:
グループ1:WV[j,n]=wc[1]×NV[j,n],n=M+1,…,M+L1
グループ2:WV[j,n]=wc[2]×NV[j,n],n=M+L1+1,…,M+L1+L2
:
グループK:WV[j,n]=wc[K]×NV[j,n],n=N−LK,…,N
Specifically, the
User profile part:
WV [j, n] = wu [n] × NV [j, n], n = 1,.
Item content part:
Group 1: WV [j, n] = wc [1] × NV [j, n], n = M + 1,..., M + L1
Group 2: WV [j, n] = wc [2] × NV [j, n], n = M + L1 + 1,..., M + L1 + L2
:
Group K: WV [j, n] = wc [K] × NV [j, n], n = N−LK,.
すなわち、行ベクトル要素は次のようになる。
(wu[1]NV[j,1],wu[2]NV[j,2],…,wu[M]NV[j,M],
wc[1]NV[j,M+1],wc[1]NV[j,M+2],…,wc[1]NV[j,M+L1],
wc[2]NV[j,M+L1+1],wc[2]NV[j,M+L1+2],…,wc[2]NV[j,M+L1+L2],
:
wc[K]NV[j,N−LK],wc[K]NV[j,N−LK+1],…,wc[K]NV[j,N])
That is, the row vector element is as follows.
(Wu [1] NV [j, 1], wu [2] NV [j, 2], ..., wu [M] NV [j, M],
wc [1] NV [j, M + 1], wc [1] NV [j, M + 2], ..., wc [1] NV [j, M + L1],
wc [2] NV [j, M + L1 + 1], wc [2] NV [j, M + L1 + 2], ..., wc [2] NV [j, M + L1 + L2],
:
wc [K] NV [j, N-LK], wc [K] NV [j, N-LK + 1], ..., wc [K] NV [j, N])
クラスタリング部20は、重み付きのユーザ嗜好特性行列WV[j,n]を使用してクラスタリングを行う。クラスタリング手法には多くのモデルがある。本実施形態では、ユーザ数(j)が100万以上で場合によっては1000万オーダーに達することも考えられるので、計算量がO(j^2)以上になる階層的クラスタリング手法は現実的ではない。よって、O(クラスタ数×ユーザ数(j))以下の計算量でクラスタリングが行える非階層的な分割最適化クラスタリング手法を採用する。
The
クラスタリング計算においては、類似度の指標となる多次元ベクトルの距離を用いるので、まず距離の計算方法を定義しておく。重み付きのユーザ嗜好特性行列WV[j,n]の行要素から構成されるj行目の行ベクトルをwvjと書くと次の式(3)のように表すことができる。 In the clustering calculation, since the distance of a multidimensional vector that is an index of similarity is used, a distance calculation method is first defined. When a row vector of the j-th row composed of row elements of the weighted user preference characteristic matrix WV [j, n] is written as wv j , it can be expressed as the following equation (3).
行ベクトルwvjと行ベクトルwviの距離をdji(wvj,wvi)と書くと2乗ユークリッド距離とマンハッタン距離は以下の式(4)のように定義される。なお、2乗ユークリッド距離またはマンハッタン距離のどちらの距離を採用するかは、クラスタリング結果の良し悪しを見てユーザが決定してもよい。 When the distance between the row vector wv j and the row vector wv i is written as d ji (wv j , wv i ), the squared Euclidean distance and the Manhattan distance are defined as the following Expression (4). Note that the user may determine whether to adopt the squared Euclidean distance or the Manhattan distance, based on whether the clustering result is good or bad.
分割最適化クラスタリング手法としては、例えばk−means法を採用する。k−means法は以下の式(5)の目的関数を最小化する。 For example, the k-means method is adopted as the division optimization clustering method. The k-means method minimizes the objective function of the following equation (5).
ただし、wvj∈ckの意味はk番目のクラスタに属するユーザについての和をとることを意味する。また、クラスタ数はKであり、ckがk番目のクラスタ中心座標ベクトルであることを仮定している。 However, the meaning of wv j εc k means taking the sum of users belonging to the kth cluster. Further, it is assumed that the number of clusters is K, and ck is the k-th cluster center coordinate vector.
実際のクラスタ分割処理は以下の(1)〜(4)のとおりとなる。
(1)K個の中心座標ckをランダムに生成する。
(2)初回計算時でない場合は中心座標を以下の式(6)で計算する。
The actual cluster division processing is as follows (1) to (4).
(1) K central coordinates ck are randomly generated.
(2) If it is not at the time of the first calculation, the center coordinates are calculated by the following equation (6).
(3)ユーザベクトルwvjをminkdjk(wvj,ck)となるクラスタkに割り当てる。
(4)前回算出したクラスタメンバーから変化が無ければ計算を終了する。変化がある場合は(2)へ処理を戻す。
(3) The user vector wv j is assigned to the cluster k that becomes min k d jk (wv j , c k ).
(4) If there is no change from the previously calculated cluster member, the calculation is terminated. If there is a change, the process returns to (2).
k−means法は、ランダムに初期中心点を決定しているので、大域的な最小値が得られることを保障しない。よって、実際は何セットかの初期中心点を使ってクラスタリングを行い、そのうちの目的関数が最小のクラスタ分割を採用する。 Since the k-means method randomly determines the initial center point, it does not guarantee that a global minimum value is obtained. Therefore, in practice, clustering is performed using several sets of initial center points, and cluster division with the smallest objective function is adopted.
また、計算時間が実用上問題となる場合は、10%程度のユーザをランダムにサンプルしてk−means法を行い、中心点ckを固定してから全ユーザのクラスタリングを行うものとする。この場合、全ユーザに対するクラスタリングでは、クラスタの割り当て処理が1回で済むので、計算時間を短縮することができる。 When the calculation time becomes a problem in practice, about 10% of users are randomly sampled, the k-means method is performed, and the center point ck is fixed, and then all users are clustered. In this case, in the clustering for all the users, the cluster allocation process is performed only once, so that the calculation time can be shortened.
これまでの説明では、クラスタ数(K)は、アイテムのリストを作成する作成者が予め与えることを暗に仮定している。しかしながら、実際はクラスタ数を予め与えることは困難な場合がある。ただし、ビデオ・オン・デマンドなどの分野における知見に基づき設定できる場合は、クラスタ数を設定してもよい。例えば、映画やビデオ番組などのジャンルは大分類と中分類の組み合わせが百数十あるので、その程度の値を設定する。一方、知見よりクラスタ数を決定できない分野においては、最適クラスタ数を推定するいくつかの手法を利用して決定する。 In the description so far, it is assumed that the number of clusters (K) is given in advance by the creator who creates the list of items. However, in practice, it may be difficult to give the number of clusters in advance. However, the number of clusters may be set if it can be set based on knowledge in a field such as video on demand. For example, since there are hundreds of combinations of major classifications and middle classifications for genres such as movies and video programs, such a value is set. On the other hand, in a field where the number of clusters cannot be determined based on knowledge, some methods are used to estimate the optimal number of clusters.
クラスタ数の推定手法には、「石岡恒憲(2006): x−means 法改良の一提案−k−means法の逐次繰り返しとクラスターの再併合−, 『計算機統計学』, 18(1),p.3−13」のように、多くのモデルがある。ここでは、Integrated classification likelihood(ICL)基準法、elbow−point法を使用するが、他の手法の使用に制限はない。例えば、ICL基準法については、「Biernacki, C., et.al(1998): Assessing a Mixture Model for Clustering with the Integrated Classiffcation Likelihood, Rapport de Recherche 3521, INRIA.」が知られている。また、elbow−point法については、「Salvador, S. and Chan, P.(2004): Determining the Number of Clusters/Segments in Hierarchical Clustering/Segmentation Algorithms, Proc. of 16th IEEE Int. Conf. on Tools with Artificial Intelligence, pp.576 − 584」が知られている。 The method for estimating the number of clusters is described in “Tsunenori Ishioka (2006): Proposal for improving the x-means method—sequential iteration of k-means method and re-merging of clusters—,“ Computer Statistics ”, 18 (1) There are many models such as “p.3-13”. Here, an integrated classification likelihood (ICL) standard method and an elbow-point method are used, but there is no limitation on the use of other methods. For example, with respect to the ICL standard method, “Biernacki, C., et.al (1998): Assessing a Mixture for clustering the Integrated Classification Derivatives, Rapport, 21”. The elbow-point method is described in “Salvador, S. and Chan, P. (2004): Determining the Number of Clusters in Segmental on the Ill. Of the Institute for Education.” Intelligence, pp. 576-584 ”is known.
ICL基準法では、ICL値が最大となるクラスタ数を最適クラスタ数に採用する。ICL値の算出は次の近似式(7)を用いる。ここで、Kはクラスタ数、Jはユーザ数、JKはクラスタKに属するユーザ数、Nはユーザ嗜好特性ベクトルの次元である。 In the ICL standard method, the number of clusters with the maximum ICL value is adopted as the optimum number of clusters. The calculation of the ICL value uses the following approximate expression (7). Here, K is the number of clusters, J is the number of users, J K is the number of users belonging to the cluster K, and N is the dimension of the user preference characteristic vector.
elbow−point法は、knee−point法ともL字法とも呼ばれるように、クラスタ内距離の総和SSW(K)をクラスタ数の関数としたとき、急速に減る領域からほとんど減らなくなる領域への変化点クラスタ数をもって、最適クラスタ数とする手法である。SSW(K)はクラスタ数の連続関数ではないので、2次微分係数を差分近似で求め、その値が負の最大となるクラスタ数をもって最適クラスタ数とする。すなわち次の式(8)を最小とするKを求める。ここで、SDの相対的な大きさしか見ないので、差分近似式の共通因子である除数2は落としている。
The elbow-point method is called a knee-point method or an L-shaped method. When the sum SSW (K) of intra-cluster distances is a function of the number of clusters, the transition point from a rapidly decreasing region to a region that hardly decreases. This is a method of obtaining the optimum number of clusters by the number of clusters. Since SSW (K) is not a continuous function of the number of clusters, a secondary differential coefficient is obtained by difference approximation, and the number of clusters whose value is the maximum negative is determined as the optimum number of clusters. That is, K that minimizes the following equation (8) is obtained. Here, since only the relative size of SD is seen, the
図5−1は、クラスタ数とSD(K)の関係を示すグラフである。図5−1の例では、最小となるk=6を最適クラスタ数とする。ただし、クラスタ数とSSW(K)の関係を確認し、最適クラスタ数として正しいかどうかをユーザが判断して決めてもよい。 FIG. 5A is a graph illustrating the relationship between the number of clusters and SD (K). In the example of FIG. 5A, the minimum k = 6 is set as the optimum number of clusters. However, the relationship between the number of clusters and SSW (K) may be confirmed, and the user may determine whether the optimum number of clusters is correct.
図5−2は、クラスタ数とSSW(K)の関係を示すグラフである。図5−2に示すように、クラスタ数とSSW(K)の関係を示すグラフをモニタ103(図9参照)などに表示し、ユーザが目視で確認してもよい。クラスタ数とSSW(K)の関係を示すグラフから正しくないと判断した場合、ユーザは、入力装置102(図9参照)より最適変化点を入力する。 FIG. 5B is a graph illustrating the relationship between the number of clusters and SSW (K). As shown in FIG. 5B, a graph showing the relationship between the number of clusters and SSW (K) may be displayed on the monitor 103 (see FIG. 9) or the like, and the user may confirm it visually. If it is determined from the graph indicating the relationship between the number of clusters and SSW (K) that the data is not correct, the user inputs the optimum change point from the input device 102 (see FIG. 9).
また、クラスタリング部20は、高次元データのクラスタリングにおいて生じる、いわゆる「次元の呪い」の発生を抑止するため、クラスタリングにおいて次元縮約法を用いてもよい。
Further, the
例えば、クラスタリング部20は、次元縮約法として次のi〜iiiの3つの手法のいずれかを用いる。
i.1つ目の手法は、ユーザ嗜好ベクトルに含まれる各特性を、特性の種別などに着目した所定のグループごとにまとめ、予め設定されたクラスタリングで有効でないグループを除去して縮約したユーザ嗜好特性ベクトルを求める方法である。
ii.2つ目の手法は、ユーザ嗜好ベクトルに含まれる各特性を、特性の種別などに着目した所定のグループごとにまとめて縮約した上でクラスタリングし、各クラスタにおいて、縮約前のユーザ嗜好特性ベクトルに基づいてユーザをクラスタリングする方法である(詳細は後述する)。この手法では、全グループ特性を利用したクラスタリングであるが、アイテムの内容特性の細かな違いは反映できないため、2段階クラスタリングを実行している。
iii.3つ目の手法は、アイテム特性行列X[i,g[k,l]]で各列の和をとったベクトルsumX[g[k,l]](各要素値は各特性項目の出現回数となる)を作成して、各グループ内で出現数が相対的に小さい項目を除外する方法である。
For example, the
i. The first method is a method of collecting user characteristics that are included in the user preference vector for each predetermined group that focuses on the type of characteristics, etc., and that is reduced by removing groups that are not valid using preset clustering. This is a method for obtaining a vector.
ii. In the second method, each characteristic included in the user preference vector is clustered after being reduced for each predetermined group focusing on the type of characteristic, and the user preference characteristics before reduction are clustered in each cluster. This is a method of clustering users based on vectors (details will be described later). In this method, clustering is performed using all group characteristics. However, since a small difference in item content characteristics cannot be reflected, two-stage clustering is executed.
iii. The third method is a vector sumX [g [k, l]] obtained by summing each column in the item characteristic matrix X [i, g [k, l]] (each element value is the number of appearances of each characteristic item). This is a method of excluding items having a relatively small number of occurrences in each group.
ここで、上述した2つ目の手法(ii)について詳細に説明する。2つ目の手法(ii)では、クラスタリング部20は、ユーザ嗜好特性ベクトルに含まれる各特性を、特性の種別などに着目した所定のグループごとにまとめて縮約する。次いで、クラスタリング部20は、縮約後のユーザ嗜好特性ベクトルに基づいてユーザをクラスタリングする(第1のクラスタリング)。次いで、クラスタリング部20は、第1のクラスタリング後の各クラスタにおいて、縮約前のユーザ嗜好特性ベクトルに基づいてユーザをクラスタリングする(第2のクラスタリング)。このように多段階の階層ごとのクラスタリングを行うことで、アイテム推薦装置1は、高次元データのクラスタリングにおいて生じる、いわゆる「次元の呪い」の発生を抑止することができる。
Here, the second method (ii) described above will be described in detail. In the second method (ii), the
図6は、クラスタリング処理の一例を示すフローチャートである。図6に示すように、処理が開始されると、クラスタリング部20は、ユーザ嗜好特性ベクトルwvjの要素を特性グループごとにまとめる(S10)。
FIG. 6 is a flowchart illustrating an example of the clustering process. As shown in FIG. 6, when the process is started, the
ここで、ユーザ嗜好特性ベクトルwvjについて、特性グループごとにまとめたベクトル要素の算出方法を説明する。この算出方法は、ユーザ嗜好特性ベクトルwvjの特性グループごとの要素値の和をとって、以下の式(9)に示す次元縮約ベクトルrvjに変換することである。 Here, the calculation method of the vector element put together for every characteristic group about the user preference characteristic vector wv j is demonstrated. This calculation method, taking the sum of the element value of each characteristic group of the user preference feature vector wv j, is to convert the Dimension Reduction vector rv j as shown in formula (9).
なお、ユーザプロファイル特性部分の(NV[j,1],P[j,2],…,NV[j,M])は、1グループ1特性なので、要素の和をとらなくてもよい。また、グループごとに特性項目数は異なるので、規格化のために(L1,L2,…,LK)で各グループ要素値を除している。
Note that (NV [j, 1], P [j, 2],..., NV [j, M]) in the user profile characteristic portion is one
ただし、この次元縮約ベクトルrvjをこのまま単純につかってクラスタリングを行うと、問題が生じる場合がある。例えば、監督グループでは1アイテムに1監督なので、特性グループごとにまとめたベクトル要素がクラスタリングに有効なものとはならない。また、出演者グループの場合は出演者が多いか否かでクラスタリングが行われる場合がある。また、アイテムが映像番組ではなく商品の場合も同様である。例えば、加工食品の原材料をグループとして、各原料を特性項目にしているものとする。ここで、グループ内の和を取ることは、ある加工食品がどの程度の数の原料を使っているかを意味することになり、購入者がどの材料が好きかを反映したものではなくなる。このように、次元縮約によりユーザの嗜好などについての情報が失われる場合がある。 However, if this dimension reduction vector rv j is simply used as it is for clustering, a problem may occur. For example, since there is one director per item in the director group, the vector elements collected for each characteristic group are not effective for clustering. In the case of a performer group, clustering may be performed depending on whether there are many performers. The same applies when the item is not a video program but a product. For example, assume that raw materials of processed food are grouped and each raw material is a characteristic item. Here, taking the sum within a group means how many ingredients a certain processed food uses, and does not reflect which ingredients the purchaser likes. In this way, information about user preferences may be lost due to dimension reduction.
そこで、本実施形態では、各グループに対するユーザの評価重みを導入してクラスタリングを行う。この評価重みは、ユーザがどのグループの特性を重視してアイテム(映像番組)を選択する傾向があるかを反映するものである。具体的には、クラスタリング部20は、入力装置102(図9参照)からのユーザ設定をもとに、特性グループごとの重み設定を行う(S11)。この重み設定により、次元縮約する場合であっても、似たような選択基準を持つユーザに分類することができる。
Therefore, in this embodiment, clustering is performed by introducing user evaluation weights for each group. This evaluation weight reflects which group's characteristics the user tends to select items (video programs). Specifically, the
クラスタリング部20は、ユーザ設定をもとに、各グループに対するユーザの評価重みwg[k],k=1,…,K,(0≦wg[k]≦1)を導入する。さらに、クラスタリング部20は、混合比率をδ(0≦δ≦1)とし、以下の式(10)に示すベクトルを作成してクラスタリング(第1段階)を行う(S12)。なお、混合比率δはS11においてユーザが設定するものとする。
The
次いで、クラスタリング部20は、第1段階のクラスタリングで求めた各クラスタ内のユーザに対して、縮約前のユーザ全ての特性項目(ユーザ嗜好特性ベクトルwvj)を使ってクラスタリング(第2段階)する(S13)。
Next, the
図2に戻り、クラスタリング部20は、クラスタごとに、クラスタに属するユーザの視聴履歴を集計して選択頻度の高い映像番組を推薦する映像番組として抽出する。クラスタリング部20は、クラスタごとに抽出した映像番組を選択頻度の高い順に並べて基本推薦リストテーブル16を作成する(S6)。
Returning to FIG. 2, for each cluster, the
図7は、基本推薦リストテーブル16の作成を説明する説明図である。図7に示すように、クラスタリング部20は、クラスタリングにより、ユーザごとに、ユーザが属するクラスタを示すデータテーブルT11を生成する。次いで、クラスタリング部20は、データテーブルT11をもとに、クラスタごとに、クラスタに属するユーザの視聴履歴を集計して選択頻度の高い映像番組を抽出する。例えば、図示例では、「1」のクラスタについては、「user5、user7」の視聴履歴を集計して選択頻度の高い映像番組「11、25、98、4、62」が抽出され、選択頻度の高い順に推薦順位が付与される。このようにして、クラスタリング部20は、全クラスタについての推薦順位のリストを求め、基本推薦リストテーブル16として出力する。
FIG. 7 is an explanatory diagram for explaining the creation of the basic recommendation list table 16. As illustrated in FIG. 7, the
次いで、出力部30は、基本推薦リストテーブル16と、視聴履歴データ13とをもとに、各ユーザについてのユーザ推薦リストテーブル17を出力する(S7)。図8は、ユーザ推薦リストテーブル17の作成を説明する説明図である。
Next, the
図8に示すように、出力部30は、ユーザの視聴履歴データ13を参照し、ユーザが属するクラスタより抽出された基本推薦リストテーブル16からユーザが既に視聴済み(選択済み)である映像番組を除外する。そして、出力部30は、ユーザが未視聴(未選択)の映像番組のリストをユーザ推薦リストテーブル17として出力する。
As illustrated in FIG. 8, the
例えば、図8の例では、「1」のユーザは、「4」のクラスタに属しており、「6、12、25、62、99」の番組を視聴済みである。また、「4」のクラスタについては、「6、88、62、13、78」が推薦リストとして集計されている。したがって、「1」のユーザについては、集計された推薦リストの中で未視聴の「88、13、78」が出力されることとなる。これにより、アイテム推薦装置1は、ユーザが未視聴の映像番組を推薦することができる。
For example, in the example of FIG. 8, the user “1” belongs to the cluster “4”, and the program “6, 12, 25, 62, 99” has been viewed. For the cluster “4”, “6, 88, 62, 13, 78” is tabulated as a recommendation list. Therefore, for the user of “1”, “88, 13, 78” which has not been viewed in the totaled recommendation list is output. Thereby, the
また、出力部30は、ユーザ推薦リストテーブル17におけるユーザごとに推薦するアイテムについての評価値を算出して出力してもよい。具体的には、出力部30は、推薦するアイテムの評価値として、precision、recall、F−measureを算出する。それぞれの定義は以下の式(11)のとおりである。
The
たとえば、上記の評価値の算出は、ユーザのユーザ推薦リストテーブル17のトップNのアイテムを使用して、全ユーザおよびクラスタごとのユーザに対して行う。トップNの「N」の値は、ユーザが任意に設定可能なものであってよく、暗黙値として例えば「10」を設定しておく。 For example, the calculation of the evaluation value is performed for all users and users for each cluster using the top N items of the user recommendation list table 17 of the users. The value of “N” for the top N may be arbitrarily set by the user, and for example, “10” is set as an implicit value.
評価値の算出に使用する視聴履歴データ13は、ユーザ推薦リストテーブル17の作成の前と後とで異なる。ユーザ推薦リストテーブル17の作成前は、視聴履歴データ13を適当な評価期間に分割して評価すればよい。ただし、この分割割合はユーザが任意に設定するものとする。ユーザ推薦リストテーブル17の作成後は、新規の視聴履歴データ13が獲得できるので、ある期間分の視聴履歴データ13が蓄積できたところで評価を行う。ただし、この蓄積に要する期間はユーザが任意に設定するものとする。
The
ユーザは、出力された評価値を確認することで、入力装置102(図9参照)より諸設定を更新して処理の改善を試みることができる。たとえば、ユーザは、評価値が小さく、推薦の効果が悪いと判断した場合は、グループ特性重みの調整や新たな特性の項目を追加する設定を入力装置102(図9参照)より行うなどして改善を試みることができる。 By checking the output evaluation value, the user can update various settings from the input device 102 (see FIG. 9) and try to improve the process. For example, when the user determines that the evaluation value is small and the recommendation effect is bad, the user performs adjustment of the group characteristic weight or setting for adding a new characteristic item from the input device 102 (see FIG. 9). You can try to improve.
また、アイテム推薦装置1で行われる各種処理機能は、CPU(またはMPU、MCU(Micro Controller Unit)等のマイクロ・コンピュータ)上で、その全部または任意の一部を実行するようにしてもよい。また、各種処理機能は、CPU(またはMPU、MCU等のマイクロ・コンピュータ)で解析実行されるプログラム上、またはワイヤードロジックによるハードウエア上で、その全部または任意の一部を実行するようにしてもよいことは言うまでもない。また、アイテム推薦装置1で行われる各種処理機能は、クラウドコンピューティングにより、複数のコンピュータが協働して実行してもよい。
Various processing functions performed by the
ところで、上記の実施形態で説明した各種の処理は、予め用意されたプログラムをコンピュータで実行することで実現できる。そこで、以下では、上記の実施形態と同様の機能を有するプログラムを実行するコンピュータ(ハードウエア)の一例を説明する。図9は、実施形態にかかるアイテム推薦装置1のハードウエア構成の一例を示すブロック図である。
By the way, the various processes described in the above embodiments can be realized by executing a program prepared in advance by a computer. Therefore, in the following, an example of a computer (hardware) that executes a program having the same function as the above embodiment will be described. FIG. 9 is a block diagram illustrating an example of a hardware configuration of the
図9に示すように、アイテム推薦装置1は、各種演算処理を実行するCPU101と、データ入力を受け付ける入力装置102と、モニタ103と、スピーカ104とを有する。また、アイテム推薦装置1は、記憶媒体からプログラム等を読み取る媒体読取装置105と、各種装置と接続するためのインタフェース装置106と、有線または無線により外部機器と通信接続するための通信装置107とを有する。また、アイテム推薦装置1は、各種情報を一時記憶するRAM108と、ハードディスク装置109とを有する。また、アイテム推薦装置1内の各部(101〜109)は、バス110に接続される。
As illustrated in FIG. 9, the
ハードディスク装置109には、上記の実施形態で説明した分析部10、クラスタリング部20および出力部30における各種の処理を実行するためのプログラム111が記憶される。また、ハードディスク装置109には、プログラム111が参照する各種データ112(アイテムキーワードテーブル12、視聴履歴データ13など)が記憶される。入力装置102は、例えば、アイテム推薦装置1の操作者から操作情報の入力を受け付ける。モニタ103は、例えば、操作者が操作する各種画面を表示する。インタフェース装置106は、例えば印刷装置等が接続される。通信装置107は、LAN(Local Area Network)等の通信ネットワークと接続され、通信ネットワークを介した外部機器との間で各種情報をやりとりする。
The hard disk device 109 stores a program 111 for executing various processes in the
CPU101は、ハードディスク装置109に記憶されたプログラム111を読み出して、RAM108に展開して実行することで、各種の処理を行う。なお、プログラム111は、ハードディスク装置109に記憶されていなくてもよい。例えば、アイテム推薦装置1が読み取り可能な記憶媒体に記憶されたプログラム111を読み出して実行するようにしてもよい。アイテム推薦装置1が読み取り可能な記憶媒体は、例えば、CD−ROMやDVDディスク、USB(Universal Serial Bus)メモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリ、ハードディスクドライブ等が対応する。また、公衆回線、インターネット、LAN等に接続された装置にこのプログラム111を記憶させておき、アイテム推薦装置1がこれらからプログラム111を読み出して実行するようにしてもよい。
The CPU 101 reads out the program 111 stored in the hard disk device 109, develops it in the
1…アイテム推薦装置
10…分析部
11…アイテムDB
12…アイテムキーワードテーブル
13…視聴履歴データ
14、18…ユーザプロファイル
15…ユーザ行動分析テーブル
16…基本推薦リストテーブル
17…ユーザ推薦リストテーブル
20…クラスタリング部
30…出力部
101…CPU
102…入力装置
103…モニタ
104…スピーカ
105…媒体読取装置
106…インタフェース装置
107…通信装置
108…RAM
109…ハードディスク装置
110…バス
111…プログラム
112…各種データ
T10、T11…データテーブル
1 ...
12 ... Item keyword table 13 ...
102 ... Input device 103 ...
109 ... Hard disk device 110 ... Bus 111 ... Program 112 ... Various data T10, T11 ... Data table
Claims (8)
前記ユーザごとに作成されたユーザ嗜好特性ベクトルに基づいてユーザをクラスタリングし、
クラスタごとに、当該クラスタに属するユーザの履歴情報を集計して選択頻度の高いアイテムを推薦するアイテムとして抽出する
処理をコンピュータに実行させることを特徴とするアイテム推薦プログラム。 For each user, the item selected by the user in the item characteristic matrix contracted using at least one group information out of the item characteristic matrix having each characteristic in the item for each item and group information for grouping the characteristics. To obtain a vector indicating the user's preference for each characteristic of the item by multiplying the history information, to create a user preference characteristic vector by adding the user profile to the vector,
Clustering users based on user preference characteristic vectors created for each user,
An item recommendation program that causes a computer to execute a process of collecting, for each cluster, history information of users belonging to the cluster and extracting items with high selection frequency as recommended items.
ことを特徴とする請求項1に記載のアイテム推薦プログラム。 The clustering process includes a first clustering that reduces the characteristics included in the user preference characteristic vector collectively for each predetermined group, and clusters users based on the reduced user preference characteristic vector; 2. The item recommendation program according to claim 1, wherein in each cluster after the first clustering, second clustering is performed for clustering users based on the user preference characteristic vector before contraction.
ことを特徴とする請求項1に記載のアイテム推薦プログラム。 The clustering process is performed by reducing each characteristic included in the user preference characteristic vector by excluding a predetermined group, and clustering users based on the reduced user preference characteristic vector; and 2. The item recommendation program according to claim 1, wherein in each cluster after the first clustering, second clustering is performed for clustering users based on the user preference characteristic vector before contraction.
ことを特徴とする請求項2または3に記載のアイテム推薦プログラム。 The item recommendation program according to claim 2 or 3, wherein in the clustering process, a weight is set for each group to be reduced in the first clustering.
ことを特徴とする請求項1乃至4のいずれか一項に記載のアイテム推薦プログラム。 5. The process according to claim 1, wherein the creating process normalizes each element indicating a user preference and a profile of the user included in the user preference characteristic vector. 5. Item recommendation program given in one paragraph.
ことを特徴とする請求項1乃至5のいずれか一項に記載のアイテム推薦プログラム。 The computer according to any one of claims 1 to 5, wherein the computer further executes a process of outputting an unselected item by the user based on the history information from recommended items extracted from a cluster to which the user belongs. Item recommendation program given in any 1 paragraph.
前記ユーザごとに作成されたユーザ嗜好特性ベクトルに基づいてユーザをクラスタリングし、
クラスタごとに、当該クラスタに属するユーザの履歴情報を集計して選択頻度の高いアイテムを推薦するアイテムとして抽出する
処理をコンピュータが実行することを特徴とするアイテム推薦方法。 For each user, the item selected by the user in the item characteristic matrix contracted using at least one group information out of the item characteristic matrix having each characteristic in the item for each item and group information for grouping the characteristics. To obtain a vector indicating the user's preference for each characteristic of the item by multiplying the history information, to create a user preference characteristic vector by adding the user profile to the vector,
Clustering users based on user preference characteristic vectors created for each user,
An item recommendation method characterized in that, for each cluster, a computer executes a process of aggregating history information of users belonging to the cluster and extracting an item with a high selection frequency as an item to be recommended.
前記ユーザごとに作成されたユーザ嗜好特性ベクトルに基づいてユーザをクラスタリングし、クラスタごとに、当該クラスタに属するユーザの履歴情報を集計して選択頻度の高いアイテムを推薦するアイテムとして抽出するクラスタリング部と
を有することを特徴とするアイテム推薦装置。 For each user, the item selected by the user in the item characteristic matrix contracted using at least one group information out of the item characteristic matrix having each characteristic in the item for each item and group information for grouping the characteristics. A vector indicating user preferences for each characteristic of the item by multiplying the history information, and an analysis unit for creating a user preference characteristic vector by adding the user profile to the vector;
A clustering unit for clustering users based on the user preference characteristic vector created for each user, and for each cluster, collecting history information of users belonging to the cluster and extracting items with a high selection frequency as recommended items; An item recommendation device comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016073265A JP6668892B2 (en) | 2016-03-31 | 2016-03-31 | Item recommendation program, item recommendation method and item recommendation device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016073265A JP6668892B2 (en) | 2016-03-31 | 2016-03-31 | Item recommendation program, item recommendation method and item recommendation device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017182724A true JP2017182724A (en) | 2017-10-05 |
JP6668892B2 JP6668892B2 (en) | 2020-03-18 |
Family
ID=60007100
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016073265A Active JP6668892B2 (en) | 2016-03-31 | 2016-03-31 | Item recommendation program, item recommendation method and item recommendation device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6668892B2 (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110134827A (en) * | 2019-03-28 | 2019-08-16 | 北京达佳互联信息技术有限公司 | A kind of determination method, apparatus, electronic equipment and storage medium for recommending video |
JP2021108167A (en) * | 2020-05-21 | 2021-07-29 | ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッドBeijing Baidu Netcom Science Technology Co., Ltd. | Method, device, and apparatus for recommending content |
KR20220152013A (en) * | 2021-05-07 | 2022-11-15 | 경희대학교 산학협력단 | Apparatus and method for recommending items based on big-data of reviews |
US20220382818A1 (en) * | 2021-05-26 | 2022-12-01 | Walmart Apollo, Llc | Methods and apparatus for correcting search queries |
WO2024014879A1 (en) * | 2022-07-14 | 2024-01-18 | 주식회사 메디컬에이아이 | Method for training model that recommends products to consumer on basis of biological signals, product recommendation method using same, and computer program |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005165632A (en) * | 2003-12-02 | 2005-06-23 | Sony Corp | Information processor and information processing method and its program and information processing system and method |
WO2012093046A2 (en) * | 2011-01-05 | 2012-07-12 | Thomson Licensing | Hybrid content recommendation system using matrices breakdowns |
US20140181121A1 (en) * | 2012-12-21 | 2014-06-26 | Microsoft Corporation | Feature embedding in matrix factorization |
JP2015232905A (en) * | 2015-08-19 | 2015-12-24 | シャープ株式会社 | Information processing unit and information providing method |
-
2016
- 2016-03-31 JP JP2016073265A patent/JP6668892B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005165632A (en) * | 2003-12-02 | 2005-06-23 | Sony Corp | Information processor and information processing method and its program and information processing system and method |
WO2012093046A2 (en) * | 2011-01-05 | 2012-07-12 | Thomson Licensing | Hybrid content recommendation system using matrices breakdowns |
US20140181121A1 (en) * | 2012-12-21 | 2014-06-26 | Microsoft Corporation | Feature embedding in matrix factorization |
JP2015232905A (en) * | 2015-08-19 | 2015-12-24 | シャープ株式会社 | Information processing unit and information providing method |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110134827A (en) * | 2019-03-28 | 2019-08-16 | 北京达佳互联信息技术有限公司 | A kind of determination method, apparatus, electronic equipment and storage medium for recommending video |
CN110134827B (en) * | 2019-03-28 | 2021-07-09 | 北京达佳互联信息技术有限公司 | Method and device for determining recommended video, electronic equipment and storage medium |
JP2021108167A (en) * | 2020-05-21 | 2021-07-29 | ベイジン バイドゥ ネットコム サイエンス テクノロジー カンパニー リミテッドBeijing Baidu Netcom Science Technology Co., Ltd. | Method, device, and apparatus for recommending content |
JP7269275B2 (en) | 2020-05-21 | 2023-05-08 | 阿波▲羅▼智▲聯▼(北京)科技有限公司 | CONTENT RECOMMENDATION METHOD, APPARATUS AND DEVICE |
KR20220152013A (en) * | 2021-05-07 | 2022-11-15 | 경희대학교 산학협력단 | Apparatus and method for recommending items based on big-data of reviews |
KR102583679B1 (en) * | 2021-05-07 | 2023-09-27 | 경희대학교 산학협력단 | Apparatus and method for recommending items based on big-data of reviews |
US20220382818A1 (en) * | 2021-05-26 | 2022-12-01 | Walmart Apollo, Llc | Methods and apparatus for correcting search queries |
WO2024014879A1 (en) * | 2022-07-14 | 2024-01-18 | 주식회사 메디컬에이아이 | Method for training model that recommends products to consumer on basis of biological signals, product recommendation method using same, and computer program |
Also Published As
Publication number | Publication date |
---|---|
JP6668892B2 (en) | 2020-03-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220035827A1 (en) | Tag selection and recommendation to a user of a content hosting service | |
US11182422B2 (en) | Media unit retrieval and related processes | |
US11216496B2 (en) | Visual interactive search | |
CN107220365B (en) | Accurate recommendation system and method based on collaborative filtering and association rule parallel processing | |
US10606883B2 (en) | Selection of initial document collection for visual interactive search | |
US20170039198A1 (en) | Visual interactive search, scalable bandit-based visual interactive search and ranking for visual interactive search | |
JP2022508163A (en) | User tag generation method and its devices, computer programs and computer equipment | |
JP6668892B2 (en) | Item recommendation program, item recommendation method and item recommendation device | |
US20190318407A1 (en) | Method for product search using the user-weighted, attribute-based, sort-ordering and system thereof | |
JP6767342B2 (en) | Search device, search method and search program | |
US8943012B2 (en) | Information processing device, information processing method, and program | |
US9875443B2 (en) | Unified attractiveness prediction framework based on content impact factor | |
JP6310529B1 (en) | SEARCH DEVICE, SEARCH METHOD, AND SEARCH PROGRAM | |
Huang et al. | Rough-set-based approach to manufacturing process document retrieval | |
US20180253515A1 (en) | Characterizing model performance using hierarchical feature groups | |
EP3139279A1 (en) | Media unit retrieval and related processes | |
EP3139281A1 (en) | Media unit retrieval and related processes | |
EP3139284A1 (en) | Media unit retrieval and related processes | |
EP3139282A1 (en) | Media unit retrieval and related processes | |
CN116304303B (en) | Asset recommendation method and system based on knowledge graph | |
CN117421471A (en) | Diversity perception model training method, recommendation ordering method and device | |
EP3139280A1 (en) | Media unit retrieval and related processes | |
EP3139286A1 (en) | Media unit retrieval and related processes | |
EP3139285A1 (en) | Media unit retrieval and related processes | |
Severinski | Augmenting probabilistic matrix factorization models for rare users |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190115 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20191128 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20191203 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20200109 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20200128 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200210 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6668892 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |