JP6668892B2 - アイテム推薦プログラム、アイテム推薦方法およびアイテム推薦装置 - Google Patents

アイテム推薦プログラム、アイテム推薦方法およびアイテム推薦装置 Download PDF

Info

Publication number
JP6668892B2
JP6668892B2 JP2016073265A JP2016073265A JP6668892B2 JP 6668892 B2 JP6668892 B2 JP 6668892B2 JP 2016073265 A JP2016073265 A JP 2016073265A JP 2016073265 A JP2016073265 A JP 2016073265A JP 6668892 B2 JP6668892 B2 JP 6668892B2
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.)
Active
Application number
JP2016073265A
Other languages
English (en)
Other versions
JP2017182724A (ja
Inventor
康紀 深堀
康紀 深堀
博巳 楠本
博巳 楠本
則生 岸田
則生 岸田
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2016073265A priority Critical patent/JP6668892B2/ja
Publication of JP2017182724A publication Critical patent/JP2017182724A/ja
Application granted granted Critical
Publication of JP6668892B2 publication Critical patent/JP6668892B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明の実施形態は、アイテム推薦プログラム、アイテム推薦方法およびアイテム推薦装置に関する。
従来、番組などの多数のアイテムの中からユーザに適したアイテムを検索して推薦するアイテム推薦装置がある。推薦するアイテムの検索には、ユーザベースによるもの、アイテムベースによるものおよびユーザベースとアイテムベースとを組み合わせたハイブリッドベースによるものがある。
ユーザベースによるアイテム検索は、ユーザの行動履歴から関心が類似するユーザを抽出し、抽出されたユーザがアクセスしたアイテムを推薦する。アイテムベースによるアイテム検索は、ユーザが過去にアクセスしたアイテムや、選択されたアイテムと類似するアイテムを推薦する。ハイブリッドベースによるアイテム検索は、ユーザのプロファイル、アイテムの内容およびユーザの行動履歴を組み合わせた類似度によりアイテムを推薦する。ユーザベースでは行動履歴の少ない新規ユーザへのアイテム推薦が困難な場合がある。また、アイテムベースでは自分と類似するユーザの情報がアイテム推薦に反映されない。これに対し、ハイブリッドベースでは、行動履歴の少ない新規ユーザへのアイテム推薦や、自分と類似するユーザの情報を反映したアイテム推薦を実現できる。
特開2002−369090号公報 特開2000−13708号公報
しかしながら、ハイブリッドベースによるアイテム推薦では、各ユーザのプロファイル、アイテムの内容およびユーザの行動履歴の要素による多次元行列(高階テンソル、多次元配列)のデータ量が膨大なものとなり、アイテム推薦にかかる計算負荷が大きいという問題がある。このように、アイテム推薦にかかる計算負荷が大きい場合には、計算時間が長くなり、実用時間内に処理を終えることが困難なものとなる。
1つの側面では、アイテム推薦にかかる計算負荷を小さくすることができるアイテム推薦プログラム、アイテム推薦方法およびアイテム推薦装置を提供することを目的とする。
第1の案では、アイテム推薦プログラムは、作成処理と、クラスタリング処理と、抽出処理とをコンピュータに実行させる。作成処理は、ユーザごとに、アイテムごとの当該アイテムにおける各特性と、特性をまとめるグループ情報とを有するアイテム特性行列のうち、少なくとも一つのグループ情報を用いて縮約したアイテム特性行列に前記ユーザが選択したアイテムの履歴情報を掛けあわせて前記アイテムの各特性に対するユーザの嗜好を示すベクトルを求め、当該ベクトルに前記ユーザのプロファイルを付与してユーザ嗜好特性ベクトルを作成する。クラスタリング処理は、ユーザごとに作成されたユーザ嗜好特性ベクトルに基づいてユーザをクラスタリングする。抽出処理は、クラスタごとに、当該クラスタに属するユーザの履歴情報を集計して選択頻度の高いアイテムを推薦するアイテムとして抽出する。
本発明の1実施態様によれば、アイテム推薦にかかる計算負荷を小さくすることができる。
図1は、実施形態にかかるアイテム推薦装置の機能構成を例示するブロック図である。 図2は、実施形態にかかるアイテム推薦装置の動作例を示すフローチャートである。 図3は、ユーザ嗜好特性ベクトルの作成を説明する説明図である。 図4は、ユーザ行動分析テーブルを説明する説明図である。 図5−1は、クラスタ数とSD(K)の関係を示すグラフである。 図5−2は、クラスタ数とSSW(K)の関係を示すグラフである。 図6は、クラスタリング処理の一例を示すフローチャートである。 図7は、基本推薦リストテーブルの作成を説明する説明図である。 図8は、ユーザ推薦リストテーブルの作成を説明する説明図である。 図9は、実施形態にかかるアイテム推薦装置のハードウエア構成の一例を示すブロック図である。
以下、図面を参照して、実施形態にかかるアイテム推薦プログラム、アイテム推薦方法およびアイテム推薦装置を説明する。実施形態において同一の機能を有する構成には同一の符号を付し、重複する説明は省略する。なお、以下の実施形態で説明するアイテム推薦プログラム、アイテム推薦方法およびアイテム推薦装置は、一例を示すに過ぎず、実施形態を限定するものではない。また、以下の各実施形態は、矛盾しない範囲内で適宜組みあわせてもよい。
図1は、実施形態にかかるアイテム推薦装置の機能構成を例示するブロック図である。図1に示すように、アイテム推薦装置1は、分析部10、クラスタリング部20および出力部30を有し、アイテムDB11における多数のアイテム(番組など)の中からユーザに適したアイテムを検索してユーザ推薦リストテーブル17を出力する装置である。
なお、本実施形態では、ユーザに推薦するアイテムとして、ビデオ・オン・デマンド(VOD)で提供する映像番組(コンテンツ)を例示する。ユーザに推薦するアイテムの種別は、映像番組に限定するものではなく、例えば通販サイトにおいて取り扱う商品などであってもよい。
分析部10には、アイテムDB11よりアイテム(映像番組)の内容(特性)を抽出した映像番組ごとのアイテムキーワードテーブル12、ユーザが過去に選択(視聴)した番組の履歴を示すユーザごとの視聴履歴データ13およびユーザプロファイルDB18よりロードしたユーザごとのユーザプロファイル14が入力される。
アイテムキーワードテーブル12における映像番組ごとの内容(特性)としては、映像番組のジャンル、出演者、説明文に含まれるキーワード、登場地域などがある。なお、映像番組における各特性については、上記の種類に限定するものではなく、映像番組の特徴を示すものであればいずれであってもよい。
ユーザプロファイル14におけるユーザのプロファイルとしては、ユーザの性別、年齢、所在地などがある。なお、ユーザのプロファイルについては、上記の種類に限定するものではなく、ユーザの特性(特徴)を示すのであればいずれであってもよい。
分析部10は、ユーザプロファイル14を用いたユーザの嗜好の類似性、アイテムキーワードテーブル12を用いた映像番組の内容の類似性および視聴履歴データ13を用いた視聴履歴の類似性をハイブリッドベースで分析する。分析部10は、この分析結果をユーザ行動分析テーブル15として出力する。
クラスタリング部20は、ユーザ行動分析テーブル15をもとに類似するユーザのクラスタを作成する。そして、クラスタリング部20は、クラスタごとに、クラスタに属するユーザの視聴履歴を集計して選択頻度の高い映像番組を推薦する映像番組として抽出する。クラスタリング部20は、クラスタごとに抽出した映像番組を選択頻度の高い順に並べて基本推薦リストテーブル16を出力する。
出力部30は、基本推薦リストテーブル16をもとに、ユーザが属するクラスタより抽出された映像番組のユーザ推薦リストテーブル17を出力する。具体的には、出力部30は、ユーザの視聴履歴データ13を参照し、ユーザが属するクラスタより抽出された映像番組のリストからユーザが既に視聴済み(選択済み)である映像番組を除外する。そして、出力部30は、ユーザが未視聴(未選択)の映像番組のリストをユーザ推薦リストテーブル17として出力する。これにより、アイテム推薦装置1は、ユーザが未視聴の映像番組を推薦することができる。
ハイブリッドベースでのアイテム推薦では、多次元行列における要素数が増えると計算負荷が大きくなる。例えば、ユーザ数が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
さらに、アイテムの内容を追加していくと、多次元行列のデータ量はペタオーダーを超えるものとなる。このような多次元行列を利用してユーザ同士の類似度を算出する場合には、行列の特異値分解をテンソルに拡張したテンソル特異値分解を用いる。この特異値分解の計算量は要素数の2乗に比例するので、データ量がペタオーダー(10^12)の場合には、特異値分解にかかる計算量は(10^12)^4=10^48となり、計算負荷が大きなものとなる。
そこで、アイテム推薦装置1の分析部10は、映像番組(アイテム)ごとの各特性を有するアイテムキーワードテーブル12(アイテム特性行列)にユーザの視聴履歴データ13を掛けあわせて、映像番組の各特性に対するユーザの嗜好を示すベクトルを求め、ユーザプロファイル14を付与してユーザ嗜好特性ベクトルを作成する。すなわち、分析部10は、アイテムキーワードテーブル12、視聴履歴データ13およびユーザプロファイル14における多次元行列(テンソル)の縮約を行う。
分析部10は、ユーザ嗜好特性ベクトルをユーザ毎に求め、ユーザ行動分析テーブル15として出力する。クラスタリング部20は、ユーザ行動分析テーブル15を参照し、ユーザごとのプロファイル・嗜好を有するユーザ嗜好特性ベクトルをもとに、ユーザをクラスタリングする。このように、アイテム推薦装置1では、アイテムキーワードテーブル12、視聴履歴データ13およびユーザプロファイル14における多次元行列(テンソル)の縮約を行うことで、計算にかかるデータ量を削減し、計算負荷を小さくすることができる。
ここで、アイテム推薦装置1の動作の詳細を説明する。なお、以下の説明で使用する記号を次のように定義する。
I:アイテム(映像番組)数
J:ユーザ数
K:アイテム特性のグループ数/ユーザのクラスタ数
L[k]:k番目のアイテム特性のグループの項目数
M:ユーザプロファイルの項目数
N:アイテムにおける全特性の項目数
図2は、実施形態にかかるアイテム推薦装置1の動作例を示すフローチャートである。図2に示すように、処理が開始されると、分析部10は、アイテムキーワードテーブル12、視聴履歴データ13およびユーザプロファイル14の入力を受け付ける。次いで、分析部10は、視聴履歴データ13をもとに、全ユーザについて、映像番組ごとの視聴時間比率を要素とする視聴時間比率ベクトルを作成する(S1)。
具体的には、分析部10は、各ユーザの視聴履歴データ13をもとに、全ユーザの視聴時間比率行列Rを作成する。この視聴時間比率行列Rは、列インデックスで各ユーザを、行インデックスで各アイテム(映像番組)を識別し、次のとおりに表記する。
視聴時間比率行列:R[i,j]=vtime[i,j]/ptime[i]
ユーザインデックス:j=1,2,…,J
アイテムインデックス: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週間などのように任意に設定できるものとする。
なお、本実施形態ではアイテムの履歴情報(映像番組の視聴履歴)をもとに、映像番組の視聴時間を算出しているが、アイテムが商品の場合には、ユーザ(j)がアイテム(i)を購入した数を要素値として求めてもよい。
次いで、分析部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]
L[k]はグループごとに異なる値を持つ。グループとは、ジャンル(k=1)、出演者(k=2)、監督(k=3)、説明文のキーワード(k=4)、登場地域(k=5)、公開年(k=6)…などのように、アイテム(映像番組)を分類するために使用される特性である。なお、本実施例では、説明のために、出演者、監督といった非常に多くのフラグを含む大きなグループに簡略化して表現しているが、それぞれのグループはクラスタリングした場合にユーザ特性が現れる程度に細分化したグループを用意してもよい。
アイテム内容項目は、ジャンルならばG[1,]=[SF、スポーツ、時代劇、ドキュメント、音楽、…]、出演者ならばG[2,]=[○○○○、××××、…]、ジャンル(k)ならばG[k,]=[AAAA、BBBB、…]などのように、アイテムを特徴づける具体的な項目である。また、キーワードは、アイテムの説明文に含まれている名詞、形容詞、動詞などである。
アイテムのキーワードについては、次の(1)〜(4)を実行することで収集する。
(1)アイテム内容を記述した説明文(テレビ番組の場合はEPG(電子番組ガイド)、オンデマンドビデオ番組の場合は内容紹介テキスト)からテキストマイニングにより、固有名詞、一般名詞、動詞、形容詞を収集する。
(2)アイテムに関するSNS(ソーシャル・ネットワーキング・サービス)上のレビュー文章を検索してテキストマイニングを行うことで、(1)で収集できていない新たなキーワードを収集する。
(3)アイテムの提供者側が追加したほうが良いと判断して登録されているキーワードを付加する。
(4)アイテムについて視聴者がコメントした意見よりテキストマイニングして得られたキーワードを付加する。
アイテム特性通し番号インデックスは、あるアイテム内容項目が全グループを通して見た時に、何番目の項目かを表すインデックスである。たとえば、ジャンルが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などとなる。
なお、分析部10は、上述した手法でアイテムキーワードテーブル12よりアイテム特性行列X[i,g[k,l]]を作成する際に、内容項目数を制限してもよい。具体的には、分析部10は、全アイテムに対する特性を表すキーワードの和集合を作成して、共通内容キーワードとすることで、項目数を減らすことができる。
なお、共通内容キーワードの要素数は膨大な数になる可能性があることから、分析部10は、取捨選択のルールを予め設けておき、要素数が爆発することを防止する。一例として、例えば古いレビューは捨てる、和集合を作成する時に出現頻度の小さいキーワードは捨てる、視聴回数の少ないアイテムに関するキーワードは捨てるなどのルールを適用してもよい。また、特性項目の要素数は、ユーザ嗜好特性ベクトルのクラスタリングが実用的な計算時間内で終了するようにすることからも、制限が生じる場合がある。
次いで、分析部10は、S2で作成したアイテム特性行列X[i,g[k,l]]と、視聴時間比率行列:R[i,j]とを掛けあわせて嗜好特性行列V0[j,g[k,l]](行列の各行が各ユーザの嗜好を示すベクトル)を作成する(S3)。
具体的には、分析部10は、嗜好特性行列V0[j,g[k,l]]は次の式(1)で作成する。
Figure 0006668892
次いで、分析部10は、ユーザごとに、ユーザ特性(ユーザプロファイル14)を付加してユーザ嗜好特性ベクトルに拡張する(S4)。具体的には、分析部10は、嗜好特性行列V0[j,g[k,l]]に、ユーザプロファイル14に基づくユーザプロファイル特性行列を付加した嗜好特性行列V[j,n]を作成する。なお、ユーザプロファイル特性行列は、列インデックスで各ユーザを、行インデックスで各プロファイルを識別する行列であり、次のとおりである。
ユーザプロファイル特性行列:P[j,m]
ユーザインデックス:j=1,2,…,J
プロファイルインデックス:m=1,2,…,M
ユーザプロファイル特性行列の各要素で示されるユーザのプロファイルについては、男女や都道府県名などの非数値の場合もあるが、クラスタリングにおける距離計算が可能となるように数値化する。例えば、男女の場合は男=1、女=0のように数値化する。また、都道府県名の場合は、北海道から沖縄までを北海道=1、青森=2…のように、通し番号を振って数値化する。また、年齢や年収金額などのように、数値化番号が大きくなる要素は、適当に階層に分割して番号を振り分けるものとする。例えば、年齢の場合は10歳ごと、年収金額の場合は100万円ごとに数値化する。なお、これらの数値化にかかる規則は任意に設定できるものとする。
なお、嗜好特性行列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]
ここで、ユーザプロファルの特性数はM、アイテム内容特性のアイテムグループ数はK、各グループの項目数はL1,L2,…LKであるものとしている。このユーザごとの嗜好特性ベクトルを行要素にもつ行列が、嗜好特性行列V[j,n](j=1,…,J,,n=1,…,N=M+L1+…+LK)である。分析部10は、作成した嗜好特性行列V[j,n]をユーザ行動分析テーブル15として出力する。
図3は、ユーザ嗜好特性ベクトルの作成を説明する説明図である。図3に示すデータテーブルT10は、各アイテム(Item1,Item2…ItemI)のアイテム特性行列に、1ユーザについての視聴時間比率ベクトルを掛けあわせたものである。図3に示すように、分析部10は、アイテム特性行列にユーザの視聴時間比率ベクトルを掛けあわせ、列ごとに集計してユーザの嗜好を示すベクトル(最下段)を求める。
図4は、ユーザ行動分析テーブル15を説明する説明図である。図4に示すように、ユーザ行動分析テーブル15は、ユーザごとに求めた、ユーザの嗜好を示すベクトル(図3の最下段)にユーザプロファイル(特性1〜特性M)を付加したものである。なお、ユーザプロファイルについては、実際には数値化されているものとする。
なお、S4においてユーザ特性を付加したユーザ嗜好特性ベクトルについては、ユーザプロファイルとアイテムに対するユーザの嗜好との要素における数値の大きさが異なり、不揃いとなる。このようなユーザ嗜好特性ベクトルをもとにクラスタリングを行うと、数値の大きい特性でクラスタが決まってしまう場合がある。したがって、分析部10は、S4においてユーザ嗜好特性ベクトルを規格化した上で、ユーザ行動分析テーブル15として出力する。
具体的には、分析部10は、規格化されたユーザ嗜好特性行列をNV[j,n](j=1,…,J,,n=1,…,N=M+L1+…+LK)とすると、以下の式(2)を用いて規格化する。
Figure 0006668892
また、推薦するアイテムのリストを作成するにあたり、ユーザのクラスタリング時にどの特性グループを重視するか、人為的に調整する場合がある。このような調整を行うために、特性のグループごとに重み係数ベクトルを導入してもよい。
具体的には、ユーザプロファイルまたはアイテム内容について次の重み係数ベクトルを導入する。例えば、wc[k=4]=0であれば、4番めの特性グループを考慮しないでクラスタリングを行うこととなる。
ユーザプロファイル重み係数:wu[m],m=1,…,M,(0≦wu[m]≦1)
アイテム内容グループ重み係数:wc[k],k=1,…,K,(0≦wc[k]≦1)
次いで、クラスタリング部20は、S4までの処理により分析部10により作成されたユーザ行動分析テーブル15を参照し、ユーザをユーザグループ(クラスタ)に分割するクラスタリングの処理を行う(S5)。
具体的には、クラスタリング部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
すなわち、行ベクトル要素は次のようになる。
(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))以下の計算量でクラスタリングが行える非階層的な分割最適化クラスタリング手法を採用する。
クラスタリング計算においては、類似度の指標となる多次元ベクトルの距離を用いるので、まず距離の計算方法を定義しておく。重み付きのユーザ嗜好特性行列WV[j,n]の行要素から構成されるj行目の行ベクトルをwvと書くと次の式(3)のように表すことができる。
Figure 0006668892
行ベクトルwvと行ベクトルwvの距離をdji(wv,wv)と書くと2乗ユークリッド距離とマンハッタン距離は以下の式(4)のように定義される。なお、2乗ユークリッド距離またはマンハッタン距離のどちらの距離を採用するかは、クラスタリング結果の良し悪しを見てユーザが決定してもよい。
Figure 0006668892
分割最適化クラスタリング手法としては、例えばk−means法を採用する。k−means法は以下の式(5)の目的関数を最小化する。
Figure 0006668892
ただし、wv∈cの意味はk番目のクラスタに属するユーザについての和をとることを意味する。また、クラスタ数はKであり、cがk番目のクラスタ中心座標ベクトルであることを仮定している。
実際のクラスタ分割処理は以下の(1)〜(4)のとおりとなる。
(1)K個の中心座標cをランダムに生成する。
(2)初回計算時でない場合は中心座標を以下の式(6)で計算する。
Figure 0006668892
(3)ユーザベクトルwvをminjk(wv,c)となるクラスタkに割り当てる。
(4)前回算出したクラスタメンバーから変化が無ければ計算を終了する。変化がある場合は(2)へ処理を戻す。
k−means法は、ランダムに初期中心点を決定しているので、大域的な最小値が得られることを保障しない。よって、実際は何セットかの初期中心点を使ってクラスタリングを行い、そのうちの目的関数が最小のクラスタ分割を採用する。
また、計算時間が実用上問題となる場合は、10%程度のユーザをランダムにサンプルしてk−means法を行い、中心点cを固定してから全ユーザのクラスタリングを行うものとする。この場合、全ユーザに対するクラスタリングでは、クラスタの割り当て処理が1回で済むので、計算時間を短縮することができる。
これまでの説明では、クラスタ数(K)は、アイテムのリストを作成する作成者が予め与えることを暗に仮定している。しかしながら、実際はクラスタ数を予め与えることは困難な場合がある。ただし、ビデオ・オン・デマンドなどの分野における知見に基づき設定できる場合は、クラスタ数を設定してもよい。例えば、映画やビデオ番組などのジャンルは大分類と中分類の組み合わせが百数十あるので、その程度の値を設定する。一方、知見よりクラスタ数を決定できない分野においては、最適クラスタ数を推定するいくつかの手法を利用して決定する。
クラスタ数の推定手法には、「石岡恒憲(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」が知られている。
ICL基準法では、ICL値が最大となるクラスタ数を最適クラスタ数に採用する。ICL値の算出は次の近似式(7)を用いる。ここで、Kはクラスタ数、Jはユーザ数、JはクラスタKに属するユーザ数、Nはユーザ嗜好特性ベクトルの次元である。
Figure 0006668892
elbow−point法は、knee−point法ともL字法とも呼ばれるように、クラスタ内距離の総和SSW(K)をクラスタ数の関数としたとき、急速に減る領域からほとんど減らなくなる領域への変化点クラスタ数をもって、最適クラスタ数とする手法である。SSW(K)はクラスタ数の連続関数ではないので、2次微分係数を差分近似で求め、その値が負の最大となるクラスタ数をもって最適クラスタ数とする。すなわち次の式(8)を最小とするKを求める。ここで、SDの相対的な大きさしか見ないので、差分近似式の共通因子である除数2は落としている。
Figure 0006668892
図5−1は、クラスタ数とSD(K)の関係を示すグラフである。図5−1の例では、最小となるk=6を最適クラスタ数とする。ただし、クラスタ数とSSW(K)の関係を確認し、最適クラスタ数として正しいかどうかをユーザが判断して決めてもよい。
図5−2は、クラスタ数とSSW(K)の関係を示すグラフである。図5−2に示すように、クラスタ数とSSW(K)の関係を示すグラフをモニタ103(図9参照)などに表示し、ユーザが目視で確認してもよい。クラスタ数とSSW(K)の関係を示すグラフから正しくないと判断した場合、ユーザは、入力装置102(図9参照)より最適変化点を入力する。
また、クラスタリング部20は、高次元データのクラスタリングにおいて生じる、いわゆる「次元の呪い」の発生を抑止するため、クラスタリングにおいて次元縮約法を用いてもよい。
例えば、クラスタリング部20は、次元縮約法として次のi〜iiiの3つの手法のいずれかを用いる。
i.1つ目の手法は、ユーザ嗜好ベクトルに含まれる各特性を、特性の種別などに着目した所定のグループごとにまとめ、予め設定されたクラスタリングで有効でないグループを除去して縮約したユーザ嗜好特性ベクトルを求める方法である。
ii.2つ目の手法は、ユーザ嗜好ベクトルに含まれる各特性を、特性の種別などに着目した所定のグループごとにまとめて縮約した上でクラスタリングし、各クラスタにおいて、縮約前のユーザ嗜好特性ベクトルに基づいてユーザをクラスタリングする方法である(詳細は後述する)。この手法では、全グループ特性を利用したクラスタリングであるが、アイテムの内容特性の細かな違いは反映できないため、2段階クラスタリングを実行している。
iii.3つ目の手法は、アイテム特性行列X[i,g[k,l]]で各列の和をとったベクトルsumX[g[k,l]](各要素値は各特性項目の出現回数となる)を作成して、各グループ内で出現数が相対的に小さい項目を除外する方法である。
ここで、上述した2つ目の手法(ii)について詳細に説明する。2つ目の手法(ii)では、クラスタリング部20は、ユーザ嗜好特性ベクトルに含まれる各特性を、特性の種別などに着目した所定のグループごとにまとめて縮約する。次いで、クラスタリング部20は、縮約後のユーザ嗜好特性ベクトルに基づいてユーザをクラスタリングする(第1のクラスタリング)。次いで、クラスタリング部20は、第1のクラスタリング後の各クラスタにおいて、縮約前のユーザ嗜好特性ベクトルに基づいてユーザをクラスタリングする(第2のクラスタリング)。このように多段階の階層ごとのクラスタリングを行うことで、アイテム推薦装置1は、高次元データのクラスタリングにおいて生じる、いわゆる「次元の呪い」の発生を抑止することができる。
図6は、クラスタリング処理の一例を示すフローチャートである。図6に示すように、処理が開始されると、クラスタリング部20は、ユーザ嗜好特性ベクトルwvの要素を特性グループごとにまとめる(S10)。
ここで、ユーザ嗜好特性ベクトルwvについて、特性グループごとにまとめたベクトル要素の算出方法を説明する。この算出方法は、ユーザ嗜好特性ベクトルwvの特性グループごとの要素値の和をとって、以下の式(9)に示す次元縮約ベクトルrvに変換することである。
Figure 0006668892
なお、ユーザプロファイル特性部分の(NV[j,1],P[j,2],…,NV[j,M])は、1グループ1特性なので、要素の和をとらなくてもよい。また、グループごとに特性項目数は異なるので、規格化のために(L1,L2,…,LK)で各グループ要素値を除している。
ただし、この次元縮約ベクトルrvをこのまま単純につかってクラスタリングを行うと、問題が生じる場合がある。例えば、監督グループでは1アイテムに1監督なので、特性グループごとにまとめたベクトル要素がクラスタリングに有効なものとはならない。また、出演者グループの場合は出演者が多いか否かでクラスタリングが行われる場合がある。また、アイテムが映像番組ではなく商品の場合も同様である。例えば、加工食品の原材料をグループとして、各原料を特性項目にしているものとする。ここで、グループ内の和を取ることは、ある加工食品がどの程度の数の原料を使っているかを意味することになり、購入者がどの材料が好きかを反映したものではなくなる。このように、次元縮約によりユーザの嗜好などについての情報が失われる場合がある。
そこで、本実施形態では、各グループに対するユーザの評価重みを導入してクラスタリングを行う。この評価重みは、ユーザがどのグループの特性を重視してアイテム(映像番組)を選択する傾向があるかを反映するものである。具体的には、クラスタリング部20は、入力装置102(図9参照)からのユーザ設定をもとに、特性グループごとの重み設定を行う(S11)。この重み設定により、次元縮約する場合であっても、似たような選択基準を持つユーザに分類することができる。
クラスタリング部20は、ユーザ設定をもとに、各グループに対するユーザの評価重みwg[k],k=1,…,K,(0≦wg[k]≦1)を導入する。さらに、クラスタリング部20は、混合比率をδ(0≦δ≦1)とし、以下の式(10)に示すベクトルを作成してクラスタリング(第1段階)を行う(S12)。なお、混合比率δはS11においてユーザが設定するものとする。
Figure 0006668892
次いで、クラスタリング部20は、第1段階のクラスタリングで求めた各クラスタ内のユーザに対して、縮約前のユーザ全ての特性項目(ユーザ嗜好特性ベクトルwv)を使ってクラスタリング(第2段階)する(S13)。
図2に戻り、クラスタリング部20は、クラスタごとに、クラスタに属するユーザの視聴履歴を集計して選択頻度の高い映像番組を推薦する映像番組として抽出する。クラスタリング部20は、クラスタごとに抽出した映像番組を選択頻度の高い順に並べて基本推薦リストテーブル16を作成する(S6)。
図7は、基本推薦リストテーブル16の作成を説明する説明図である。図7に示すように、クラスタリング部20は、クラスタリングにより、ユーザごとに、ユーザが属するクラスタを示すデータテーブルT11を生成する。次いで、クラスタリング部20は、データテーブルT11をもとに、クラスタごとに、クラスタに属するユーザの視聴履歴を集計して選択頻度の高い映像番組を抽出する。例えば、図示例では、「1」のクラスタについては、「user5、user7」の視聴履歴を集計して選択頻度の高い映像番組「11、25、98、4、62」が抽出され、選択頻度の高い順に推薦順位が付与される。このようにして、クラスタリング部20は、全クラスタについての推薦順位のリストを求め、基本推薦リストテーブル16として出力する。
次いで、出力部30は、基本推薦リストテーブル16と、視聴履歴データ13とをもとに、各ユーザについてのユーザ推薦リストテーブル17を出力する(S7)。図8は、ユーザ推薦リストテーブル17の作成を説明する説明図である。
図8に示すように、出力部30は、ユーザの視聴履歴データ13を参照し、ユーザが属するクラスタより抽出された基本推薦リストテーブル16からユーザが既に視聴済み(選択済み)である映像番組を除外する。そして、出力部30は、ユーザが未視聴(未選択)の映像番組のリストをユーザ推薦リストテーブル17として出力する。
例えば、図8の例では、「1」のユーザは、「4」のクラスタに属しており、「6、12、25、62、99」の番組を視聴済みである。また、「4」のクラスタについては、「6、88、62、13、78」が推薦リストとして集計されている。したがって、「1」のユーザについては、集計された推薦リストの中で未視聴の「88、13、78」が出力されることとなる。これにより、アイテム推薦装置1は、ユーザが未視聴の映像番組を推薦することができる。
また、出力部30は、ユーザ推薦リストテーブル17におけるユーザごとに推薦するアイテムについての評価値を算出して出力してもよい。具体的には、出力部30は、推薦するアイテムの評価値として、precision、recall、F−measureを算出する。それぞれの定義は以下の式(11)のとおりである。
Figure 0006668892
たとえば、上記の評価値の算出は、ユーザのユーザ推薦リストテーブル17のトップNのアイテムを使用して、全ユーザおよびクラスタごとのユーザに対して行う。トップNの「N」の値は、ユーザが任意に設定可能なものであってよく、暗黙値として例えば「10」を設定しておく。
評価値の算出に使用する視聴履歴データ13は、ユーザ推薦リストテーブル17の作成の前と後とで異なる。ユーザ推薦リストテーブル17の作成前は、視聴履歴データ13を適当な評価期間に分割して評価すればよい。ただし、この分割割合はユーザが任意に設定するものとする。ユーザ推薦リストテーブル17の作成後は、新規の視聴履歴データ13が獲得できるので、ある期間分の視聴履歴データ13が蓄積できたところで評価を行う。ただし、この蓄積に要する期間はユーザが任意に設定するものとする。
ユーザは、出力された評価値を確認することで、入力装置102(図9参照)より諸設定を更新して処理の改善を試みることができる。たとえば、ユーザは、評価値が小さく、推薦の効果が悪いと判断した場合は、グループ特性重みの調整や新たな特性の項目を追加する設定を入力装置102(図9参照)より行うなどして改善を試みることができる。
また、アイテム推薦装置1で行われる各種処理機能は、CPU(またはMPU、MCU(Micro Controller Unit)等のマイクロ・コンピュータ)上で、その全部または任意の一部を実行するようにしてもよい。また、各種処理機能は、CPU(またはMPU、MCU等のマイクロ・コンピュータ)で解析実行されるプログラム上、またはワイヤードロジックによるハードウエア上で、その全部または任意の一部を実行するようにしてもよいことは言うまでもない。また、アイテム推薦装置1で行われる各種処理機能は、クラウドコンピューティングにより、複数のコンピュータが協働して実行してもよい。
ところで、上記の実施形態で説明した各種の処理は、予め用意されたプログラムをコンピュータで実行することで実現できる。そこで、以下では、上記の実施形態と同様の機能を有するプログラムを実行するコンピュータ(ハードウエア)の一例を説明する。図9は、実施形態にかかるアイテム推薦装置1のハードウエア構成の一例を示すブロック図である。
図9に示すように、アイテム推薦装置1は、各種演算処理を実行するCPU101と、データ入力を受け付ける入力装置102と、モニタ103と、スピーカ104とを有する。また、アイテム推薦装置1は、記憶媒体からプログラム等を読み取る媒体読取装置105と、各種装置と接続するためのインタフェース装置106と、有線または無線により外部機器と通信接続するための通信装置107とを有する。また、アイテム推薦装置1は、各種情報を一時記憶するRAM108と、ハードディスク装置109とを有する。また、アイテム推薦装置1内の各部(101〜109)は、バス110に接続される。
ハードディスク装置109には、上記の実施形態で説明した分析部10、クラスタリング部20および出力部30における各種の処理を実行するためのプログラム111が記憶される。また、ハードディスク装置109には、プログラム111が参照する各種データ112(アイテムキーワードテーブル12、視聴履歴データ13など)が記憶される。入力装置102は、例えば、アイテム推薦装置1の操作者から操作情報の入力を受け付ける。モニタ103は、例えば、操作者が操作する各種画面を表示する。インタフェース装置106は、例えば印刷装置等が接続される。通信装置107は、LAN(Local Area Network)等の通信ネットワークと接続され、通信ネットワークを介した外部機器との間で各種情報をやりとりする。
CPU101は、ハードディスク装置109に記憶されたプログラム111を読み出して、RAM108に展開して実行することで、各種の処理を行う。なお、プログラム111は、ハードディスク装置109に記憶されていなくてもよい。例えば、アイテム推薦装置1が読み取り可能な記憶媒体に記憶されたプログラム111を読み出して実行するようにしてもよい。アイテム推薦装置1が読み取り可能な記憶媒体は、例えば、CD−ROMやDVDディスク、USB(Universal Serial Bus)メモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリ、ハードディスクドライブ等が対応する。また、公衆回線、インターネット、LAN等に接続された装置にこのプログラム111を記憶させておき、アイテム推薦装置1がこれらからプログラム111を読み出して実行するようにしてもよい。
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…データテーブル

Claims (8)

  1. ユーザごとに、アイテムごとの当該アイテムにおける各特性と、該特性をまとめるグループ情報とを有するアイテム特性行列のうち、少なくとも一つのグループ情報を用いて縮約したアイテム特性行列に前記ユーザが選択したアイテムの履歴情報を掛けあわせて前記アイテムの各特性に対するユーザの嗜好を示すベクトルを求め、当該ベクトルに前記ユーザのプロファイルを付与してユーザ嗜好特性ベクトルを作成する作成処理と、
    前記ユーザごとに作成されたユーザ嗜好特性ベクトルに基づいてユーザをクラスタリングするクラスタリング処理と、
    クラスタごとに、当該クラスタに属するユーザの履歴情報を集計して選択頻度の高いアイテムを推薦するアイテムとして抽出する抽出処理と、
    をコンピュータに実行させることを特徴とするアイテム推薦プログラム。
  2. 前記クラスタリング処理は、前記ユーザ嗜好特性ベクトルに含まれる各特性を所定のグループごとにまとめて縮約し、縮約後の前記ユーザ嗜好特性ベクトルに基づいてユーザをクラスタリングする第1のクラスタリングと、当該第1のクラスタリング後の各クラスタにおいて、縮約前の前記ユーザ嗜好特性ベクトルに基づいてユーザをクラスタリングする第2のクラスタリングとを行う
    ことを特徴とする請求項1に記載のアイテム推薦プログラム。
  3. 前記クラスタリング処理は、前記ユーザ嗜好特性ベクトルに含まれる各特性を所定のグループを除外して縮約し、縮約後の前記ユーザ嗜好特性ベクトルに基づいてユーザをクラスタリングする第1のクラスタリングと、当該第1のクラスタリング後の各クラスタにおいて、縮約前の前記ユーザ嗜好特性ベクトルに基づいてユーザをクラスタリングする第2のクラスタリングとを行う
    ことを特徴とする請求項1に記載のアイテム推薦プログラム。
  4. 前記クラスタリング処理は、前記第1のクラスタリングにおいて縮約するグループごとに重み付けを設定する
    ことを特徴とする請求項2または3に記載のアイテム推薦プログラム。
  5. 前記作成処理は、前記ユーザ嗜好特性ベクトルに含まれる、前記アイテムの各特性に対するユーザの嗜好および前記ユーザのプロファイルを示す各要素を規格化する
    ことを特徴とする請求項1乃至4のいずれか一項に記載のアイテム推薦プログラム。
  6. 前記ユーザが属するクラスタより抽出された推薦するアイテムの中から、前記履歴情報に基づいて前記ユーザが未選択のアイテムを出力する処理をさらにコンピュータに実行させる
    ことを特徴とする請求項1乃至5のいずれか一項に記載のアイテム推薦プログラム。
  7. ユーザごとに、アイテムごとの当該アイテムにおける各特性と、該特性をまとめるグループ情報とを有するアイテム特性行列のうち、少なくとも一つのグループ情報を用いて縮約したアイテム特性行列に前記ユーザが選択したアイテムの履歴情報を掛けあわせて前記アイテムの各特性に対するユーザの嗜好を示すベクトルを求め、当該ベクトルに前記ユーザのプロファイルを付与してユーザ嗜好特性ベクトルを作成し、
    前記ユーザごとに作成されたユーザ嗜好特性ベクトルに基づいてユーザをクラスタリングし、
    クラスタごとに、当該クラスタに属するユーザの履歴情報を集計して選択頻度の高いアイテムを推薦するアイテムとして抽出する
    処理をコンピュータが実行することを特徴とするアイテム推薦方法。
  8. ユーザごとに、アイテムごとの当該アイテムにおける各特性と、該特性をまとめるグループ情報とを有するアイテム特性行列のうち、少なくとも一つのグループ情報を用いて縮約したアイテム特性行列に前記ユーザが選択したアイテムの履歴情報を掛けあわせて前記アイテムの各特性に対するユーザの嗜好を示すベクトルを求め、当該ベクトルに前記ユーザのプロファイルを付与してユーザ嗜好特性ベクトルを作成する分析部と、
    前記ユーザごとに作成されたユーザ嗜好特性ベクトルに基づいてユーザをクラスタリングし、クラスタごとに、当該クラスタに属するユーザの履歴情報を集計して選択頻度の高いアイテムを推薦するアイテムとして抽出するクラスタリング部と
    を有することを特徴とするアイテム推薦装置。
JP2016073265A 2016-03-31 2016-03-31 アイテム推薦プログラム、アイテム推薦方法およびアイテム推薦装置 Active JP6668892B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016073265A JP6668892B2 (ja) 2016-03-31 2016-03-31 アイテム推薦プログラム、アイテム推薦方法およびアイテム推薦装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016073265A JP6668892B2 (ja) 2016-03-31 2016-03-31 アイテム推薦プログラム、アイテム推薦方法およびアイテム推薦装置

Publications (2)

Publication Number Publication Date
JP2017182724A JP2017182724A (ja) 2017-10-05
JP6668892B2 true JP6668892B2 (ja) 2020-03-18

Family

ID=60007100

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016073265A Active JP6668892B2 (ja) 2016-03-31 2016-03-31 アイテム推薦プログラム、アイテム推薦方法およびアイテム推薦装置

Country Status (1)

Country Link
JP (1) JP6668892B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110134827B (zh) * 2019-03-28 2021-07-09 北京达佳互联信息技术有限公司 一种推荐视频的确定方法、装置、电子设备及存储介质
CN113704597A (zh) * 2020-05-21 2021-11-26 阿波罗智联(北京)科技有限公司 内容推荐方法、装置和设备
KR102583679B1 (ko) * 2021-05-07 2023-09-27 경희대학교 산학협력단 리뷰 빅데이터 기반의 아이템 추천 장치 및 그 방법
US20220382818A1 (en) * 2021-05-26 2022-12-01 Walmart Apollo, Llc Methods and apparatus for correcting search queries
WO2024014879A1 (ko) * 2022-07-14 2024-01-18 주식회사 메디컬에이아이 생체 신호를 기초로 소비자에게 상품을 추천하는 모델을 학습시키는 방법, 이를 이용한 상품 추천 방법 및 컴퓨터 프로그램

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4428036B2 (ja) * 2003-12-02 2010-03-10 ソニー株式会社 情報処理装置および方法、プログラム、並びに、情報処理システムおよび方法
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
JP6187786B2 (ja) * 2015-08-19 2017-08-30 シャープ株式会社 情報処理装置、および情報提供方法

Also Published As

Publication number Publication date
JP2017182724A (ja) 2017-10-05

Similar Documents

Publication Publication Date Title
US20220035827A1 (en) Tag selection and recommendation to a user of a content hosting service
US11216496B2 (en) Visual interactive search
US11182422B2 (en) Media unit retrieval and related processes
CN106855876B (zh) 基于媒体内容的推荐的属性加权
US11756245B2 (en) Machine learning to generate and evaluate visualizations
JP6668892B2 (ja) アイテム推薦プログラム、アイテム推薦方法およびアイテム推薦装置
US10606883B2 (en) Selection of initial document collection for visual interactive search
CN109753601B (zh) 推荐信息点击率确定方法、装置及电子设备
CN102521233A (zh) 自适应图像检索数据库
JP6412541B2 (ja) 情報処理装置、情報処理方法、およびプログラム
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
EP3139286A1 (en) Media unit retrieval and related processes
EP3139280A1 (en) Media unit retrieval and related processes
EP3139285A1 (en) Media unit retrieval and related processes
EP3139283A1 (en) Media unit retrieval and related processes
WO2017064563A2 (en) Visual interactive search, scalable bandit-based visual interactive search and ranking for visual interactive search
WO2017064561A2 (en) Selection of initial document collection for visual interactive search

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 Written amendment

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