JP2013105309A - 情報処理装置、情報処理方法、及びプログラム - Google Patents

情報処理装置、情報処理方法、及びプログラム Download PDF

Info

Publication number
JP2013105309A
JP2013105309A JP2011248604A JP2011248604A JP2013105309A JP 2013105309 A JP2013105309 A JP 2013105309A JP 2011248604 A JP2011248604 A JP 2011248604A JP 2011248604 A JP2011248604 A JP 2011248604A JP 2013105309 A JP2013105309 A JP 2013105309A
Authority
JP
Japan
Prior art keywords
feature
information
vector
word
feature information
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
JP2011248604A
Other languages
English (en)
Inventor
Masanori Miyahara
正典 宮原
Naoki Kamimaeda
直樹 上前田
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.)
Sony Corp
Original Assignee
Sony Corp
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 Sony Corp filed Critical Sony Corp
Priority to JP2011248604A priority Critical patent/JP2013105309A/ja
Priority to US13/669,709 priority patent/US20130124536A1/en
Priority to CN2012104402372A priority patent/CN103198089A/zh
Publication of JP2013105309A publication Critical patent/JP2013105309A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9536Search customisation based on social or collaborative filtering

Abstract

【課題】より低い処理負荷で、ユーザの本質的な好みを考慮しつつ、ユーザに斬新さを感じさせるような情報をユーザに提供できるようにすること。
【解決手段】対象ユーザの行動を特徴付ける第1の特徴情報と、当該行動を実施した後で前記対象ユーザが行った行動を特徴付ける第2の特徴情報と、の差を表す差分特徴情報、及び前記対象ユーザが新たに行った行動を特徴付ける第3の特徴情報に応じて、第4の特徴情報を得る差分適用部と、前記第4の特徴情報に応じた情報を抽出する対象抽出部と、を備える、情報処理装置が提供される。
【選択図】図10

Description

本技術は、情報処理装置、情報処理方法、及びプログラムに関する。
近年、コンテンツの視聴履歴やコンテンツの購買履歴などの行動履歴を利用してユーザに推薦すべきコンテンツを検索するシステムの開発が盛んに進められている。例えば、行動の対象となるコンテンツに付与されたメタデータから、そのコンテンツの特徴を表す特徴ベクトルを生成し、その特徴ベクトルの類似度に基づいて推薦すべきコンテンツを抽出する仕組み(内容ベースフィルタリング)が知られている。この仕組みは、ユーザが過去に選択したコンテンツと特徴が類似するコンテンツを推薦するシステムで利用される。内容ベースフィルタリングに関しては、例えば、下記の特許文献1に記載がある。
上記の内容ベースフィルタリングを利用すると、ユーザが過去に選択したコンテンツに類似するコンテンツばかりが推薦されてしまう。そのため、ユーザに斬新さを感じさせるようなコンテンツが推薦されないことで、ユーザが推薦結果に飽きてしまう。
内容ベースフィルタリングと並んで、コンテンツの推薦に広く利用されている仕組みとして協調フィルタリングが知られている。協調フィルタリングは、ユーザの行動履歴を利用する点で内容ベースフィルタリングと似ているが、コンテンツの類似性を考慮するのではなく、ユーザの類似度を考慮する仕組みである。例えば、協調フィルタリングを利用するシステムは、行動履歴から推定されるユーザの特徴に基づき、対象ユーザと類似する類似ユーザを検索し、類似ユーザが過去に選択したコンテンツを対象ユーザに推薦する。協調フィルタリングに関しては、例えば、下記の特許文献2に記載がある。
上記の協調フィルタリングを利用すると、行動が似た類似ユーザが選択したコンテンツが推薦されるため、対象ユーザが過去に選択したコンテンツと類似していないコンテンツが推薦されることがある。つまり、ユーザに斬新さを感じさせるようなコンテンツが推薦される機会がある。しかし、協調フィルタリングを利用するシステムにおいては、システムの利用ユーザ全体において人気のあるコンテンツが推薦されやすく、さらに、対象ユーザの嗜好とは全く関係のないノイズのようなコンテンツが推薦される可能性がある。
特開2002−215665号公報 特開2002−334256号公報
上記のように、内容ベースフィルタリング及び協調フィルタリングは、コンテンツを推薦するシステムに広く利用されている。しかしながら、これらのフィルタリング方法を利用するシステムにおいて、ユーザの本質的な好みを考慮しつつ、ユーザに斬新さを感じさせるようなコンテンツを推薦することは困難である。また、内容ベースフィルタリングと協調フィルタリングとを組み合わせたハイブリッド型の仕組みについても研究が進められているが、システムの複雑さや処理負荷の高さなど、解決すべき課題は多い。
そこで、本技術は、上記のような事情を受けて考案されたものであり、より低い処理負荷で、ユーザの本質的な好みを考慮しつつ、ユーザに斬新さを感じさせるような情報をユーザに提供できるようにすることが可能な、新規かつ改良された情報処理装置、情報処理方法、及びプログラムを提供することを意図している。
本技術のある観点によれば、対象ユーザの行動を特徴付ける第1の特徴情報と、当該行動を実施した後で前記対象ユーザが行った行動を特徴付ける第2の特徴情報と、の差を表す差分特徴情報、及び前記対象ユーザが新たに行った行動を特徴付ける第3の特徴情報に応じて、第4の特徴情報を得る差分適用部と、前記第4の特徴情報に応じた情報を抽出する対象抽出部と、を備える、情報処理装置が提供される。
また、本技術の別の観点によれば、対象ユーザの行動を特徴付ける第1の特徴情報と、当該行動を実施した後で前記対象ユーザが行った行動を特徴付ける第2の特徴情報と、の差を表す差分特徴情報、及び前記対象ユーザが新たに行った行動を特徴付ける第3の特徴情報に応じて、第4の特徴情報を得るステップと、前記第4の特徴情報に応じた情報を抽出するステップと、を含む、情報処理方法が提供される。
また、本技術の別の観点によれば、対象ユーザの行動を特徴付ける第1の特徴情報と、当該行動を実施した後で前記対象ユーザが行った行動を特徴付ける第2の特徴情報と、の差を表す差分特徴情報、及び前記対象ユーザが新たに行った行動を特徴付ける第3の特徴情報に応じて、第4の特徴情報を得る差分適用機能と、前記第4の特徴情報に応じた情報を抽出する対象抽出機能と、をコンピュータに実現させるためのプログラムが提供される。
以上説明したように本技術によれば、より低い処理負荷で、ユーザの本質的な好みを考慮しつつ、ユーザに斬新さを感じさせるような情報をユーザに提供できるようにすることが可能になる。
四項類推の概要について説明するための説明図である。 四項類推に係る処理の流れについて説明するための説明図である。 四項類推の多次元化について説明するための説明図である。 コンテンツメタデータの構造について説明するための説明図である。 四項類推を利用した推薦方法における学習処理(オフライン処理)について説明するための説明図である。 四項類推を利用した推薦方法における推薦処理(オンライン処理)について説明するための説明図である。 本技術の実施形態に係る推薦方法の概要について説明するための説明図である。 本技術の第1実施形態に係る推薦方法(特徴ベクトルベース)の概要について説明するための説明図である。 本技術の第2実施形態に係る推薦方法(ワードベクトルベース)の概要について説明するための説明図である。 本技術の第1実施形態に係る推薦システムの構成について説明するための説明図である。 本技術の第1実施形態に係る推薦システムにおいて利用される特徴データベースの構成例について説明するための説明図である。 本技術の第1実施形態に係る推薦システムにおいて利用される変動データベースの構成例について説明するための説明図である。 本技術の第1実施形態に係る学習処理の流れ(概要)について説明するための説明図である。 本技術の第1実施形態に係る学習処理の流れ(詳細)について説明するための説明図である。 本技術の第1実施形態に係る推薦処理(基本方式)の流れ(概要)について説明するための説明図である。 本技術の第1実施形態に係る推薦処理(基本方式)の流れ(詳細)について説明するための説明図である。 本技術の第1実施形態に係る推薦処理(ユーザ選択方式)の流れ(概要)について説明するための説明図である。 本技術の第1実施形態に係る推薦処理(ユーザ選択方式)の流れ(詳細)について説明するための説明図である。 本技術の第1実施形態に係る推薦理由の表示方法(表示例#1)について説明するための説明図である。 本技術の第1実施形態に係る推薦理由の表示方法(表示例#2)について説明するための説明図である。 本技術の第1実施形態に係るクロスカテゴリ推薦の方法について説明するための説明図である。 本技術の第2実施形態に係る推薦システムの構成について説明するための説明図である。 本技術の第2実施形態に係る学習処理の流れ(概要)について説明するための説明図である。 本技術の第2実施形態に係る学習処理の流れ(詳細)について説明するための説明図である。 本技術の第2実施形態に係る推薦処理の流れ(概要)について説明するための説明図である。 本技術の第2実施形態に係る推薦処理の流れ(詳細)について説明するための説明図である。 本技術の各実施形態に係る推薦システムの各構成要素が有する機能を実現することが可能なハードウェア構成例について説明するための説明図である。
以下に添付図面を参照しながら、本技術に係る好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
[説明の流れについて]
ここで、以下に記載する説明の流れについて簡単に述べる。はじめに、図1及び図2を参照しながら、後述する実施形態の技術を理解する上で参考になる四項類推の概念について説明する。次いで、図3〜図6を参照しながら、四項類推を多次元化する方法及び四項類推を利用した推薦方法の一例について簡単に説明する。次いで、図7〜図9を参照しながら、後述する実施形態の概要について説明する。
次に、図10〜図21を参照しながら、本技術に係る第1実施形態について説明する。まず、図10〜図12を参照しながら、同実施形態に係る推薦システム100の構成について説明する。次いで、図13及び図14を参照しながら、推薦システム100において実施される学習処理の流れについて説明する。次いで、図15〜図18を参照しながら、推薦システム100において実施される推薦処理の流れについて説明する。次いで、図19及び図20を参照しながら、同実施形態に係る推薦理由の表示方法について説明する。次いで、図21を参照しながら、同実施形態に係るクロスカテゴリ推薦の方法について説明する。
次に、図22〜図26を参照しながら、本技術に係る第2実施形態について説明する。まず、図22を参照しながら、同実施形態に係る推薦システム200の構成について説明する。次いで、図23及び図24を参照しながら、推薦システム200において実施される学習処理の流れについて説明する。次いで、図25及び図26を参照しながら、推薦システム200において実施される推薦処理の流れについて説明する。次いで、同実施形態に係る技術(ワードベクトルベース)と第1実施形態に係る技術(特徴ベクトルベース)との組み合わせ方法について説明する。
次に、図27を参照しながら、本技術の各実施形態に係る推薦システムの各構成要素が有する機能を実現することが可能なハードウェア構成例について説明する。最後に、同実施形態の技術的思想について纏め、当該技術的思想から得られる作用効果について簡単に説明する。
(説明項目)
1:はじめに
1−1:四項類推とは
1−2:四項類推の多次元化
1−3:四項類推を利用した推薦方法の一例
1−3−1:オフライン処理
1−3−2:オンライン処理
1−4:実施形態の概要
1−4−1:思想
1−4−2:特徴ベクトルベースの実施例
1−4−3:ワードベクトルベースの実施例
2:第1実施形態(特徴ベクトルベース)
2−1:システム構成
2−2:学習処理の流れ
2−2−1:概要
2−2−2:詳細
2−3:推薦処理の流れ(基本方式)
2−3−1:概要
2−3−2:詳細
2−4:推薦処理の流れ(ユーザ選択方式)
2−4−1:概要
2−4−2:詳細
2−5:推薦理由の表示
2−6:クロスカテゴリ推薦
3:第2実施形態(ワードベクトルベース)
3−1:システム構成
3−2:学習処理の流れ
3−2−1:概要
3−2−2:詳細
3−3:推薦処理の流れ
3−3−1:概要
3−3−2:詳細
3−4:特徴ベクトルベースとの組み合わせ
4:応用可能性について
5:ハードウェア構成例
6:まとめ
<1:はじめに>
はじめに、後述する実施形態の技術を理解する上で参考になる四項類推の概念、四項類推を利用した推薦方法、及び後述する実施形態の概要について説明する。
[1−1:四項類推とは(図1、図2)]
まず、図1を参照しながら、四項類推の概念について説明する。図1は、四項類推の概念について説明するための説明図である。
四項類推とは、人が前提知識に基づいて物事を類推する過程をモデル化したものである。「事例:A→B」を前提知識として持つ人に情報Cを与えた場合、その人が情報Cから類推する情報Xはどのようなものであろうか。例えば、Aとして単語「fish」、Bとして単語「scale」を与えると、人は、AとBとの間にある関係Rとして単語「have」や単語「cover」などで表現される概念を想起するであろう。そして、この人に情報Cとして単語「bird」を与え、関係Rに基づいて情報Xを類推させると、この人は、例えば、単語「feather」や単語「wing」などを類推すると考えられる。このような人の類推過程をモデル化したものが四項類推である。
この四項類推に関し、前提知識として「事例:A→B」を与えられた人が類推する「事例:C→X」の解Xを推定する技術に注目が集まっている。なお、以下では、「事例:A→B」から「事例:C→X」を類推する過程を「A:B=C:X」と表現することがある。「A:B=C:X」の解Xを推定する技術としては、例えば、構造写像理論と呼ばれる推定方法が知られている。この推定方法は、図1に示すように、「事例:A→B」におけるA(以下、状況A)とB(以下、結果B)との関係Rを「事例:C→X」におけるC(以下、状況C)に適用して解X(以下、結果X)を推定するというものである。
つまり、上記の構造写像理論は、前提知識を構成する知識領域(以下、基底領域)の構造を、解Xを求める問題の領域(以下、目標領域)に写像する方法とも言える。構造写像理論に関しては、例えば、D.Gentner,“Structure−Mapping:A Theoretical Framework for Analopy”,Cognitive Science,1983などに記載がある。
上記の構造写像理論を用いると、基底領域の構造を写像する際に生じる無意味な知識を排除して、ある程度妥当な類推結果Xを得ることができる。例えば、図1に示すように、状況Aとして単語「fish」が与えられた場合に、単語「fish」から類推される「青い」「小さい」などの知識を結果Xの推定時に排除することができる。同様に、結果Bとして単語「scale」が与えられた場合に、「硬い」「透明」などの知識を結果Xの推定時に排除することができる。
構造写像理論に基づく結果Xの推定処理は、例えば、図2に示す処理手順で実行される。まず、図2に示すように、状況Aと結果Bとの間の関係Rを推定する処理が実行される(S10)。次いで、ステップS10で推定された関係Rを基底領域から目標領域へ写像する処理が実行される(S11)。次いで、関係Rを状況Cに適用し、結果Xを推定する処理が実行される(S12)。これらステップS10〜S12の処理を実行することにより、「事例:A→B」に基づいて「事例:C→X」の解Xが推定される。
以上、四項類推の概念について簡単に説明した。ここで説明した四項類推の概念をファジィ理論の視点からシステム化する研究がKanekoらによりなされており、その研究成果が報告されている。例えば、Yosuke Kaneko,Kazuhiro Okada,Shinichiro Ito,Takuya Nomura and Tomihiro Takagi,“A Propasal of Analogical Reasoning Based on Structural Mapping and Image Schemas”,5th International Conference on Soft Computing and Intelligent Systems and 11th International Symposium on Advanced Intelligent Systems(SCIS & ISIS 10),2010などの報告がある。これらの報告の中で、Kanekoらは、単語の共起頻度から写像対象となる関係Rを抽出し、単語の品詞情報を構造として利用する推薦システムを提案している。この報告内容も四項類推の概念を理解するための一助となるであろう。
[1−2:四項類推の多次元化(図3、図4)]
次に、図3を参照しながら、四項類推を多次元化する方法について説明する。図3は、四項類推を多次元化する方法について説明するための説明図である。なお、四項類推の多次元化に関しては、例えば、特願2011−18787号明細書に記載の方法が提案されている。この方法について簡単に触れておきたい。
図1の例は、1つの基底領域から1つの目標領域への構造写像に関するものであった。また、図1の例において、状況A、結果B、状況C、結果Xは、それぞれ1つの単語で表現されていた。ここでは四項類推の概念を拡張し、図3に示すように、複数の基底領域から1つの目標領域へと構造を写像する方法ついて考える。また、ここでは状況A、結果B、状況C、結果Xをそれぞれ、1つ又は複数の単語で構成されるワードベクトルにより表現することを前提に考える。なお、ここで考える方法のことを「多次元の四項類推」と呼ぶことにする。以下、多次元の四項類推の概念について簡単に説明する。
図3に示すように、n個の基底領域(基底領域1〜基底領域n)を考える。また、基底領域k(k=1〜n)には、「事例:A→B」が属するものとする。さらに、状況A、結果Bは、複数の単語を含むワードベクトルで表現されるものとする。また、基底領域1〜基底領域nの構造は、1つの目標領域へと写像されるものとする。さらに、この目標領域には、「事例:C→X(j=1〜n)」が属するものとする。但し、状況Aと結果Bとの関係Rは、「事例:C→X」における結果Xの推定に利用される。
例えば、状況A(k=1〜n)は、ある人(以下、対象ユーザ)が過去に選択したコンテンツ群から抽出される対象ユーザの嗜好を特徴付けるワードベクトルにより表現される。また、結果B(k=1〜n)は、状況Aを前提とし、そのコンテンツ群の次に対象ユーザが選択したコンテンツを特徴付けるワードベクトルにより表現される。さらに、関係R(k=1〜n)は、状況Aと結果Bとの関係を特徴付けるワードベクトルにより表現される。そして、状況Cは、新たに対象ユーザが選択したコンテンツを含むコンテンツ群から抽出される対象ユーザの嗜好を特徴付けるワードベクトルにより表現される。また、結果X(k=1〜n)は、状況Cのワードベクトルと、関係Rのワードベクトルとに基づいて類推されるコンテンツを特徴付けるワードベクトルである。
つまり、状況Aと結果Bとの関係R、及び状況Cを用いて結果Xが類推される。同様に、関係R及び状況Cから結果Xが類推され、関係R及び状況Cから結果Xが類推され、…、関係R及び状況Cから結果Xが類推される。なお、各ワードベクトルは、例えば、TF−IDFと呼ばれるアルゴリズムを利用して生成される。このTF−IDFとは、文書中から特徴的な単語を抽出するためのアルゴリズムである。TF−IDFは、TF−IDF値と呼ばれる指標を出力する。このTF−IDF値は、単語の出現頻度を表すTF値と、逆出現頻度を表すIDF値との積で表現される。
例えば、文書d中における単語jの出現回数をN、文書d中に含まれる全単語数をN、全文書数をD、単語jが出現する文書数をDとすると、TF値tf(j,d)は、下記の式(1)により表現される。また、IDF値idf(j)は、下記の式(2)により表現される。そして、TF−IDF値tfidf(j,d)は、下記の式(3)により表現される。つまり、多くの文書中に出現する単語のTF−IDF値は下がり、特定の文書中に頻出する単語のTF−IDF値は上がる。そのため、この指標を用いることにより、個々の文書を特徴付ける単語を抽出することが可能になる。また、TF−IDF値の高い複数の単語を抽出することにより、文書を特徴付けるワードベクトルが生成される。
Figure 2013105309
ここで、料理投稿サイトを情報源として利用する実施例について考えてみたい。料理投稿サイトの多くは、ユーザが自分の創作した料理のレシピを自由に投稿できるように構成されている。また、こうした料理投稿サイトは、この料理投稿サイトを閲覧した他のユーザがレビューを記載できるように構成されている。もちろん、他の情報サイトと同様に、料理投稿サイトには、タイトル、画像、説明文といった欄が設けられている。また、料理投稿サイトの中には、材料、料理の手順、作り方のコツ、料理の生い立ち、登録カテゴリなどの欄を設けているサイトもある。これらの欄は、メタデータにより規定されている。
例えば、図4に示すように、ある料理投稿サイトは、Title、Image、Description、Ingredients、Cooking Procedure、Knacks of Cooking Procedure、Reviews、History、Categoriesなどのメタデータで構造が規定されている。そのうち、Title、Description、Ingredients、Cooking Procedure、Knacks of Cooking Procedure、Reviews、Historyの欄は、多次元の四項類推に利用可能な情報を含む。
例えば、図4に示すように、Ingredients、Cooking Procedure、Knacks of Cooking Procedureの欄は、状況A及び状況Cに関する情報源として利用することができる。また、Title、Description、Reviewsの欄は、結果Bに関する情報源として利用することができる。さらに、Historyの欄は、関係Rに関する情報源として利用することができる。
つまり、状況A及び状況Cに関する情報源は、ユーザの嗜好(この例では材料、料理手順、料理のコツなど)を表す領域に設定される。一方、結果Bに関する情報源は、この料理投稿サイトに記載の料理を実際に食べてみた結果などが表現されている領域に設定される。また、関係Rに関する情報源は、状況Aと結果Bとの関係(この例では、料理投稿サイトに記載の料理が生まれるまでの過程など)が表現されている領域に設定される。このように、メタデータの構造を利用することにより、状況A、結果B、状況C、関係Rに関する情報源を容易に設定することができる。また、各領域に記載の文書から、上記のTF−IDF値などを利用して、状況A、結果B、状況Cに対応するワードベクトルを生成することができる。
ここでは料理投稿サイトを情報源として利用する実施例について考えたが、他種類のサイトに関してもメタデータの構造を参照することにより、状況A、結果B、状況C、関係Rに関する情報源を設定することができる。なお、結果Xに関する情報源は、結果Bに関する情報源と同じメタデータが付された領域に設定される。このようにして情報源が設定されると、ユーザが閲覧したサイトの履歴などから抽出されるワードベクトルを利用して、図3に示すような多次元の四項類推に基づく結果X〜Xの推定が可能になる。
以上、四項類推の概念について簡単に説明した。本件発明者らは、ここで説明したような多次元の四項類推をコンテンツの推薦に応用する仕組みを考案している。この仕組みについては特願2011−72324号明細書に詳しく記載されているが、当該仕組みと後述する実施形態との相違点を明らかにするため、その内容を簡単に紹介しておくことにする。
[1−3:四項類推を利用した推薦方法の一例(図5、図6)]
多次元の四項類推を利用した推薦方法は、情報処理システムにおいて、推薦に利用する事例群を学習処理により生成するオフライン処理方法と、オフライン処理で生成した事例群を利用してコンテンツを推薦するオンライン処理方法とに大きく分けられる。以下、これらオフライン処理方法及びオンライン処理方法について順に説明する。
(1−3−1:オフライン処理(図5))
まず、図5を参照しながら、オフライン処理方法について説明する。上記のように、オフライン処理として実行される主な処理内容は、事例群の生成である。
オフライン処理には、ユーザにより過去に生成されたコンテンツ群が利用される。そのため、図5に示すように、オフライン処理の前にユーザによるコンテンツの生成((1)ユーザ記入)という処理が存在する。図5の例では、コンテンツ1〜n+1のn+1個のコンテンツが用意されている。但し、より大きな番号が付されたコンテンツほど新しく生成されたものとする。まず、情報処理システムは、これらn+1個のコンテンツから古い順にn個のコンテンツを状況Aに関する情報源として選択する。また、情報処理システムは、最も新しいコンテンツを結果Bに関する情報源として選択する。ここでは状況Aに関する情報源として選択されたn個のコンテンツを状況Aと表現し、結果Bに関する情報源として選択されたコンテンツを結果Bと表現する。
同様に、q=1,…,m−1について、情報処理システムは、古い順にn−q個のコンテンツを状況Aに関する情報源として選択する。また、情報処理システムは、q+1番目に新しいコンテンツを結果Bに関する情報源として選択する。q=1,…,m−1のそれぞれについて、状況Aに関する情報源として選択したn−q個のコンテンツを状況A(q+1)と表現し、結果Bに関する情報源として選択されたコンテンツを結果B(q+1)と表現する。但し、mは、状況Aに対応するコンテンツの数が所定数となるように設定される。このようにして状況A(k=1,…,m)と結果Bとの組を抽出すると(2)、情報処理システムは、k=1,…,mのそれぞれについて、状況Aと結果Bとの関係Rを特徴付けるワードベクトルを生成する。
ここでは一例として、状況Aと結果Bとの関係Rを特徴付けるワードベクトルの生成方法について説明する。まず、情報処理システムは、状況Aに対応するn個のコンテンツについて、状況Aに関する情報源として設定された領域(以下、領域A)を参照し、その領域を特徴付けるワードベクトルを生成する(3)。例えば、情報処理システムは、コンテンツ1〜nの領域Aをそれぞれ特徴付けるn本のワードベクトルを生成し、これらn本のワードベクトルを統合して状況Aのワードベクトルに設定する。次いで、情報処理システムは、状況Aのワードベクトルから単語(この例では2単語)を抽出する(4)。なお、以下の説明において、ここで抽出された単語の組を状況Aのワードベクトルと呼ぶ場合もある。
次いで、情報処理システムは、結果Bに対応するコンテンツを対象に、結果Bに関する情報源として設定された領域(以下、領域B)を特徴付けるワードベクトルを生成し、そのワードベクトルを結果Bのワードベクトルに設定する(5)。次いで、情報処理システムは、結果Bのワードベクトルから単語(この例では2単語)を抽出する(6)。なお、以下の説明において、ここで抽出された単語の組を結果Bのワードベクトルと呼ぶ場合もある。次いで、情報処理システムは、状況Aのワードベクトルから抽出した単語を領域Aに含み、かつ、結果Bのワードベクトルから抽出した単語を領域Bに含むコンテンツを検索する(7)。
次いで、情報処理システムは、検索処理により抽出されたコンテンツを対象に、関係Rに関する情報源として設定された領域(以下、領域R)を特徴付けるワードベクトルを生成し、そのワードベクトルを関係Rのワードベクトルに設定する(8)。但し、検索処理により複数のコンテンツが抽出された場合、各コンテンツの領域Rをそれぞれ特徴付ける複数のワードベクトルを生成し、これら複数のワードベクトルを統合して関係Rのワードベクトルに設定する。このようにして生成された関係Rのワードベクトルは、状況Aのワードベクトルから抽出された単語と、結果Bのワードベクトルから抽出された単語とに対応付けて情報処理システムにより保持される。
なお、ワードベクトルから抽出される単語の組み合わせは多数存在する。そのため、上記(4)(6)(7)(8)の処理は、全ての異なる単語の組み合わせについて実行される。そして、順次、上記(8)で生成されたワードベクトルが関係Rのワードベクトルに追加される。また、以上説明した処理は、状況Aと結果Bとの組み合わせについてだけではなく、状況A,…,A、結果B,…,Bの全ての組み合わせについて実行される。そして、関係R,…,Rのワードベクトルが生成される。その結果、後述するオンライン処理に利用する事例群の準備が整う。
以上、多次元の四項類推を利用した推薦方法におけるオフライン処理方法について説明した。
(1−3−2:オンライン処理(図6))
次に、図6を参照しながら、オンライン処理方法について説明する。上記のように、オンライン処理として実行される主な処理内容は、事例群を利用したコンテンツの検索及び検索結果の提示である。なお、ここで言うオンライン処理とは、ユーザから推薦要求を受けた際に実行される処理のことを意味している。
上記の通り、オンライン処理は、推薦要求を受けた際に実行される。つまり、ユーザが新規コンテンツを選択した場合にオンライン処理が実行される。図6に示すように、新規コンテンツが選択されると((1)ユーザ入力)、情報処理システムは、状況Cのワードベクトルを抽出する(2)。このとき、情報処理システムは、まず、ユーザの嗜好を表すワードベクトル(以下、嗜好ベクトル)を抽出し、新規コンテンツの状況Cに関する情報源として設定された領域(以下、領域C)を特徴付ける単語を用いて嗜好ベクトルを更新する。次いで、情報処理システムは、更新後の嗜好ベクトルを状況Cのワードベクトルに設定する。
次いで、情報処理システムは、状況Cのワードベクトルから単語(この例では2単語)を抽出する(3)。次いで、情報処理システムは、オフライン処理で生成した事例群を参照し、関係Rのワードベクトルから単語(この例では1単語)を抽出する(4)。次いで、情報処理システムは、状況Cのワードベクトルから抽出した単語が領域Cに出現し、かつ、関係Rのワードベクトルから抽出した単語が領域Rに出現するコンテンツを検索する(5)。次いで、情報処理システムは、検索処理により抽出されたコンテンツを示すアイテムIDのリスト(以下、推薦リスト)を生成する(6)。
状況Cのワードリストから抽出される単語、及び関係Rのワードリストから抽出される単語の組み合わせは多数存在する。そのため、推薦リストの生成処理は異なる組み合わせについて繰り返し実行され、複数の推薦リストが生成される。情報処理システムは、複数の推薦リストを統合すると共に、各推薦コンテンツに対してスコアを付与する。そして、情報処理システムは、付与したスコアに基づいて推薦対象となる推薦コンテンツの組み合わせを選択し、選択された推薦コンテンツを含む推薦リストを生成する(7)。そして、情報処理システムは、推薦要求を送ったユーザに対して推薦リストを提示する。
以上、多次元の四項類推を利用した推薦方法におけるオンライン処理方法について説明した。
以上説明したように、多次元の四項類推を利用した推薦方法は、ユーザの行動履歴から状況と結果とを結びつける関係を抽出し、この関係と新たな状況とを利用して推薦コンテンツを検索する仕組みに関する。なお、上記説明においては、ユーザの行動履歴として、ユーザによるコンテンツの選択履歴を例に挙げたが、その他の行動履歴に対しても同様のアプローチが可能であると考えられる。つまり、当該推薦方法は、過去の行動と、その行動を原因とする結果との関係性を抽出し、新たな行動を表現した情報と、抽出した関係性を表現した情報とをキー情報として推薦すべきコンテンツを推薦する仕組みであると言える。
但し、上記推薦方法の場合、状況を表現した情報と結果を表現した情報とを直接利用して両者の関係性を抽出しているのではなく、両情報をキー情報として検索した結果の関係性を示す欄に含まれる情報を関係性として利用している点に注意が必要である。後述する実施形態に係る技術は、原因となる行動を特徴付ける情報と、その結果となる行動を特徴付ける情報とを直接的に利用し、原因から結果に至るまでに生じたユーザの嗜好変動を的確に捉え、その嗜好変動を推薦に生かす仕組みに関する。
[1−4:実施形態の概要(図7〜図9)]
以下、簡単に実施形態の概要について説明する。
(1−4−1:思想(図7))
まず、図7を参照しながら、後述する第1及び第2実施形態に共通する技術的思想について簡単に概要を説明する。
本実施形態に係る技術は、ユーザの原因となる行動と、その行動の結果としてユーザがとった行動との間でユーザの嗜好が変動した成分を抽出し、ユーザの固定的な嗜好と変動する嗜好とを考慮して推薦対象を抽出するものである。その概念を模式的に示したのが図7である。図7に示すように、本実施形態に係るシステムは、原因となる行動を特徴付ける特徴情報(以下、原因特徴情報)と、結果となる行動を特徴付ける特徴情報(以下、結果特徴情報)とを用意し、結果特徴情報と原因特徴情報との差を抽出する。さらに、当該システムは、抽出した差を嗜好変動の成分(以下、変動成分)と捉え、ユーザの新たな構造に変動成分を作用させて推薦対象の抽出に用いる特徴情報(以下、推薦要因)を生成する。そして、当該システムは、生成した推薦要因に基づいて推薦対象を検索する。
多次元の四項類推を利用した推薦方法の場合、原因(状況)と結果との関係性を抽出する際、原因の特徴と結果の特徴とをキー情報として利用して両特徴が共起するコンテンツを検索し、その検索結果から関係性を示す情報を抽出していた。そのため、この関係性を示す情報には、原因から結果へと至るまでに生じたユーザの嗜好変動以外にも様々な要素が含まれており、本実施形態に言う変動成分を抽出しているというものではなかった。言い換えると、本実施形態に係る技術はユーザの変動的な嗜好と固定的な嗜好とを分離しているのに対し、多次元の四項類推を利用した推薦方法は嗜好の変動/固定といった概念について特段の考慮をしていなかったと言える。この点において、本実施形態の技術と、多次元の四項類推を利用した推薦方法とは大きく相違している。
以下、本実施形態に係る技術的思想を具現化した実施例の概要について説明する。
(1−4−2:特徴ベクトルベースの実施例(図8))
まず、図8を参照する。ここでは、ユーザの行動を特徴ベクトルで表現し、変動成分を特徴ベクトルの差分で表現して推薦要因を算出する仕組みについて紹介する。この仕組みの具体的な実現方法については、後述する第1実施形態の欄にて詳細に説明する。
図8に示すように、ユーザの行動は、ある特徴量空間Fにおける特徴ベクトルを利用して表現することができる。なお、ユーザの行動としては、例えば、選択、購買、閲覧、書き込み、押下、補給、食事、移動、乗車、歩行、運動、予約、歯磨き、洗濯、料理、仕事、会話、通話、文書作成、運転など、様々な例が挙げられる。これらの行動は、行動の対象となる具体物(以下、対象物)が存在している。例えば、行動「選択」「購買」に対しては、貸し出し物品や販売商品などが対象物になる。また、「補給」に対しては、水分などが対象物になる。さらに、「食事」に対しては、うどん、寿司、焼き肉などが対象物になる。これらの対象物は、単語又は単語群、或いは、写真や音声など、そのものを表現した情報(以下、コンテンツ)を用いて特定することが可能である。但し、テキスト、音楽、映像などが対象物の場合、対象物そのものがコンテンツとなる場合もある。
上記のようなコンテンツは、何らかの特徴量を用いて特徴付けることが可能である。例えば、テキストで表現されたコンテンツは、そのコンテンツを特徴付ける単語群で構成されたワードベクトルにより特徴付けられる。また、音楽データは、例えば、信号波形を解析して得られるテンポやコード進行などの楽曲情報で特徴付けられる。その他にも、様々な機械学習手法を利用してコンテンツの特徴を特徴付ける方法が研究されている。図8の例では、各コンテンツを特徴量空間における特徴ベクトルで表現する方法が示されている。なお、各特徴ベクトルは、ユーザの行動又は当該行動に対応するコンテンツを特徴付けるものである。また、図8には、表記の都合上、特徴量空間を規定する軸が3本(f、f、f)しか記載されていないが、特徴量空間の次元数は3に限定されない。
図8のように、特徴ベクトルを利用すると、原因に相当するユーザの行動は、例えば、特徴ベクトルUPにより表現される。同様に、結果に相当するユーザの行動は、特徴ベクトルCPにより表現される。そのため、原因から結果に至るまでに生じたユーザの嗜好変動を表す変動成分は、特徴ベクトルR(以下、変動ベクトルR)により表現することができる。この特徴ベクトルRは、特徴ベクトルUPと特徴ベクトルCPとの差分である。また、ユーザが新たな行動をとった場合、その新たな行動(新規原因に相当するユーザの行動)は、特徴ベクトルUPで表現される。そのため、新規原因に応じた推薦対象を得たい場合、システムは、推薦要因として、特徴ベクトルUPと変動ベクトルRとを合成して特徴ベクトルCPを算出し、特徴ベクトルCPに対応する推薦対象を抽出する。
なお、特徴ベクトルUPと変動ベクトルRとをそのまま合成して特徴ベクトルCPを得てもよいが、実際には、特徴ベクトルUPと変動ベクトルRとを利用して、両者を合成した特徴ベクトルに近い特徴ベクトルCPを探索する方法が採用される。例えば、システムは、ユーザの行動履歴から原因と結果との組み合わせを多数抽出し、その原因及び結果を特徴量空間に射影して原因、結果、変動成分に対応する特徴ベクトルの組み合わせを用意する。さらに、システムは、これらの特徴ベクトルをクラスタリングし、各クラスタを代表する原因の特徴ベクトル、及び、各クラスタの特徴ベクトルから延びうる変動ベクトルRを用意する。その上で、システムは、特徴ベクトルUPの近傍にあるクラスタを選択し、そのクラスタを代表する特徴ベクトルと変動ベクトルRとを用いて特徴ベクトルCPを探索する。
以上説明したように、本実施形態に係る技術的思想を具現化する方法として、特徴ベクトルを利用した実施例が考えられる。以下では、この実施例に係る方式を特徴ベクトルベースと呼ぶことにする。なお、この方式については、後述する第1実施形態の欄にて詳細に説明する。
(1−4−3:ワードベクトルベースの実施例(図9))
次に、図9を参照する。ここでは、ユーザの行動をワードベクトルで表現し、変動成分をワードベクトルの差で表現して推薦要因を算出する仕組みについて紹介する。この仕組みの具体的な実現方法については、後述する第2実施形態の欄にて詳細に説明する。
図9に示すように、ユーザの行動を特徴付ける各コンテンツは、一又は複数の単語で構成されるワードベクトルにより表現することができる。さらに、ユーザの行動は、一又は複数のワードベクトルで構成される単語集合により特徴付けられる。例えば、原因に相当するユーザの行動は、単語集合Aにより特徴付けられる。また、結果に相当するユーザの行動は、単語集合Bにより特徴付けられる。この場合、原因から結果に至るまでに生じるユーザの嗜好変動は、単語集合Aと単語集合Bとの差を示す変動成分Rで表現される。
図9に示すように、この変動成分Rの要素は、消失単語群と出現単語群とに分けられる。消失単語群は、原因から結果に至る過程で消失した単語群である。つまり、消失単語群は、単語集合Aには存在するが、単語集合Bには存在しない単語の集まりである。一方、出現単語群は、原因から結果に至る過程で新たに出現した単語群である。つまり、出現単語群は、単語集合Aには存在しないが、単語集合Bには存在する単語の集まりである。このように、特徴ベクトルベースの場合には特徴ベクトルで変動成分が表現されていたものが、ワードベクトルベースの場合には単語の消失/出現で変動成分が表現される。しかし、このように異なる表現を用いても、先に説明した本実施形態に係る技術的思想が同様に具現化される点について理解されたい。
例えば、新規原因に相当する単語集合Cが与えられると、システムは、単語集合Cに変動成分Rを作用させて推薦要因となる単語集合Dを生成することができる。ここで言う作用とは、単語集合Cから消失単語群を削除すると共に、単語集合Cに出現単語群を追加する操作を意味する。このような操作を行うことで、原因から結果に至るまでに生じたユーザの嗜好変動が新規原因に反映され、ユーザの固定的な嗜好変動に加え、ユーザの嗜好変動を的確に反映した推薦要因を得ることが可能になる。システムは、このようにして生成した単語集合Dを用いて推薦対象を探索する。なお、このように単語集合を利用する方式であっても、特徴ベクトルベースの場合と同様、クラスタリング手法を用いた実際的な手法を構築することが可能である。また、当該手法と特徴ベクトルベースの手法とを組み合わせて利用することも可能である。
以上説明したように、本実施形態に係る技術的思想を具現化する方法として、単語集合を利用した実施例が考えられる。以下では、この実施例に係る方式をワードベクトルベースと呼ぶことにする。なお、この方式については、後述する第2実施形態の欄にて詳細に説明する。
<2:第1実施形態(特徴ベクトルベース)>
本技術の第1実施形態について説明する。本実施形態は、特徴ベクトルベースの推薦アルゴリズムに関する。
[2−1:システム構成(図10〜図12)]
まず、図10〜図12を参照しながら、本実施形態に係る推薦システム100のシステム構成例について説明する。図10〜図12は、本実施形態に係る推薦システム100のシステム構成例について説明するための説明図である。なお、推薦システム100は、図27に示すハードウェア構成を有する1台の情報処理装置又はその一部機能で構成されていてもよいし、局所又は広域ネットワークで接続された複数台の情報処理装置又はその一部機能で構成されていてもよい。もちろん、ネットワークを構成する通信回線の種別や通信方式など(例えば、LAN、WLAN、WAN、インターネット、携帯電話回線、固定電話回線、ADSL、光ファイバー、GSM、LTEなど)は任意に設定することが可能である。
まず、図10を参照する。図10に示すように、推薦システム100は、主に、ユーザ嗜好抽出エンジン101と、特徴データベース102と、コンテンツ特徴抽出エンジン103と、変動抽出エンジン104と、変動データベース105と、推薦エンジン106と、変動種別データベース107とにより構成される。なお、図中には明示しないが、推薦システム100は、外部の電子機器10、20から情報を取得する手段を有している。また、電子機器10、20は、互いに異なる機器でもよいし、同じ機器でもよい。
ユーザが行動すると、その行動に関する情報が行動履歴としてユーザ嗜好抽出エンジン101及び変動抽出エンジン104に入力される。なお、以下では、説明の都合上、ユーザがコンテンツを選択する行動を例に挙げて説明を進めることにする。この場合、電子機器10を操作してユーザが選択したコンテンツの情報(例えば、メタデータ)が行動履歴としてユーザ嗜好抽出エンジン101及び変動抽出エンジン104に入力される。
行動履歴が入力されると、ユーザ嗜好抽出エンジン101は、入力された行動履歴に含まれるコンテンツのメタデータを参照し、そのコンテンツを特徴付ける特徴情報CPを抽出する。特徴情報CPとしては、例えば、コンテンツを特徴付ける単語群で構成されるワードベクトル、又はそのワードベクトルを次元圧縮した特徴ベクトルが用いられる。以下では、説明の都合上、特徴情報CPとして、ワードベクトルを次元圧縮したワードベクトルを利用する方法について説明する。
ユーザ嗜好抽出エンジン101は、行動履歴に含まれる各コンテンツについて特徴ベクトルを生成すると、生成した特徴ベクトルを特徴データベース102に格納する。なお、以下の説明において、各コンテンツについて生成された特徴ベクトルをCPと表記する。また、ユーザ嗜好抽出エンジン101は、各ユーザの行動履歴に含まれるコンテンツについて生成した特徴ベクトルCPを集め、これらを重ね合わせて当該各ユーザの嗜好を表す特徴ベクトルUPを生成する。そして、ユーザ嗜好抽出エンジン101は、生成した特徴ベクトルUPを特徴データベース102に格納する。
なお、特徴ベクトルUPの生成方法としては、例えば、あるユーザの行動履歴に含まれるコンテンツの特徴ベクトルCPからスコアの高い特徴ベクトルUPを抽出して特徴ベクトルUPに設定する方法が考えられる。また、他の方法として、あるユーザの行動履歴に含まれる各コンテンツからワードベクトルを抽出し、その中からスコアの高い単語を抽出して生成した新たなワードベクトルを次元圧縮して特徴ベクトルUPを生成する方法が考えられる。これらの方法又は他の公知の方法を用い、ユーザ毎に生成された特徴ベクトルCPを直接的又は間接的に重ね合わせることにより、ユーザの行動履歴を特徴付ける特徴ベクトルUPが生成される。
各コンテンツを特徴付ける特徴ベクトルCP及びユーザの行動履歴を特徴付ける特徴ベクトルUPは、例えば、図11に示すような構成で特徴データベース102に格納される。図11の例では、特徴ベクトルの種別(CP又はUP)を示す欄と、各特徴ベクトルを識別するための識別IDと、特徴ベクトルの内容とが対応付けて格納されている。なお、図11に示した特徴データベース102の構成は一例であり、例えば、種別を特定できるように識別IDの付番ルールが設定されていれば、種別の欄は不要になる。また、次元圧縮後の特徴ベクトルを想定しているため、各要素が実数値で表示された特徴ベクトルが例示されているが、特徴量をどのような形式で表現するかに応じて特徴ベクトルの表示形式は適宜変更されうる。
さて、特徴データベース102には、ユーザの行動履歴とは無関係のコンテンツに関する特徴ベクトルCPも格納されうる。こうした特徴ベクトルCPは、コンテンツ特徴抽出エンジン103により生成される。コンテンツ特徴抽出エンジン103は、外部の情報源からコンテンツのメタデータを取得し、取得したメタデータから特徴ベクトルCPを生成する。例えば、コンテンツ特徴抽出エンジン103は、ユーザ嗜好抽出エンジン101が生成した特徴ベクトルCP又はUPと同じ特徴量空間(以下、特徴量空間F)にマッピングする形で特徴ベクトルCPを生成する。
このように、特徴データベース102には、ユーザの行動履歴に含まれるコンテンツ及び外部のコンテンツについて得られた、特徴量空間F上の点に対応する特徴ベクトルCP及びUPが格納されることになる。なお、特徴データベース102は、ユーザ嗜好抽出エンジン101に入力される行動履歴の更新や、コンテンツ特徴抽出エンジン103により取得される外部コンテンツの変化に応じて適宜更新される。
上記のようにして特徴データベース102が構築又は更新されると、変動抽出エンジン104は、特徴データベース102に格納された特徴ベクトルCP及びUPを用いて、原因から結果に至るまで生じたユーザの嗜好変動を表す変動成分Rを抽出する。特徴ベクトルベースの場合、この変動成分Rは、原因に相当する行動履歴から得られた特徴ベクトルUPと、結果に相当する行動履歴から得られた特徴ベクトルCP(以下、UPe)との差分(以下、変動ベクトルR)で表現される。
まず、変動抽出エンジン104は、図13に示すように、行動履歴を原因と結果との組み合わせ(以下、事例)に分ける。そして、変動抽出エンジン104は、各事例に該当する特徴ベクトルUP及びUPeを特徴データベース102から抽出し、それらの差分を計算して変動ベクトルRを生成する。このようにして変動ベクトルRを生成すると、変動抽出エンジン104は、生成した変動ベクトルRを変動データベース105に格納する。この変動データベース105は、例えば、図12に示すような構成となる。図12に示すように、原因に相当する特徴ベクトルUPを特定するための識別IDと、結果に相当する特徴ベクトルUPeを特定するための識別IDと、両者に対応する変動ベクトルRの内容とが対応付けて格納される。なお、特徴データベース102の場合と同様、データベースの表示形式や構成は適宜変更可能である。
上記のようにして特徴データベース102及び変動データベース105が構築されると、これらのデータベースに格納された情報を利用してコンテンツの推薦が可能になる。コンテンツの推薦は、推薦エンジン106の機能により実現される。
まず、ユーザから推薦要求を受けると、推薦エンジン106は、その推薦要求に応じたコンテンツの推薦処理を開始する。この推薦要求は、ユーザの新たな行動に起因して発行される。例えば、ユーザが電子機器20を操作して新たにコンテンツを選択すると、その電子機器20から推薦エンジン106に推薦要求が送られる。このとき、電子機器20は、推薦エンジン106に対してユーザの行動履歴(新たなコンテンツの選択行動などを示す情報)が送られる。この行動履歴を受けると、推薦エンジン106は、その行動履歴に含まれるコンテンツを特徴付ける特徴ベクトルCPから、そのユーザを特徴付ける特徴ベクトルUP’を生成する。
このとき、特徴ベクトルUP’の生成に利用する特徴ベクトルCPが特徴データベース102に格納されている場合、推薦エンジン106は、特徴データベース102から当該特徴ベクトルCPを取得する。一方、特徴データベース102に当該特徴ベクトルCPが格納されていない場合、推薦エンジン106は、電子機器20から受けた行動履歴に含まれるコンテンツのメタデータから当該コンテンツを特徴付ける特徴ベクトルCPを生成する。そして、推薦エンジン106は、特徴ベクトルCPを重ね合わせて特徴ベクトルUP’を生成する。なお、特徴ベクトルUP’の生成方法は、ユーザ嗜好抽出エンジン101による特徴ベクトルUPの生成方法と実質的に同じである。つまり、特徴ベクトルUP’も特徴ベクトルUPを規定する特徴量空間Fにマッピングされる。
特徴ベクトルUP’を生成すると、推薦エンジン106は、特徴ベクトルUP’と変動ベクトルRとを利用して推薦要因となる特徴ベクトルCPを探索する。ここで、特徴ベクトルCPの探索方法について、より詳細に考察してみたい。
変動ベクトルRは、変動データベース105に格納されている。この変動ベクトルRは、原因から結果に至るまでに生じるユーザの嗜好変動を表すものである。例えば、あるユーザAは、「カツ丼」を食べた後で「ホットコーヒー」を飲む傾向にあるとする。一方、あるユーザBは、「カツ丼」を食べた後で「熱い緑茶」を飲む傾向にあるとする。こうしたユーザ毎の嗜好変動が変動ベクトルRで表現されているのである。しかし、同じユーザAであっても、あるときは「ホットコーヒー」を飲み、またあるときは「熱い緑茶」を飲むこともあるだろう。さらに言えば、「カツ丼」の前に食べたものや、「カツ丼」を食べるまでに行なっていた行動によっても結果の行動が変わるであろう。
上記のような結果行動の違いは、事例の違いとして表現される。先に説明したように、ユーザ嗜好抽出エンジン101は、同じユーザの行動履歴について原因と結果との組み合わせを変えて複数の事例を生成し、それらの事例について特徴ベクトルUP及びUPeを得ている。さらに、変動抽出エンジン104は、これらの特徴ベクトルUP及びUPeについて変動ベクトルRを生成している。従って、事例の違いを考慮した様々な変動ベクトルRが変動データベース105に格納されている。そのため、推薦エンジン106は、特徴ベクトルUP’の近傍にある特徴ベクトルUPを始点とする変動ベクトルRを選択する。さらに、推薦エンジン106は、選択した変動ベクトルRを特徴ベクトルUP’に合成した特徴ベクトルUPe’に近い特徴ベクトルCPを選択して推薦要因とする。
但し、似た事例が多数存在する場合には、特徴ベクトルUP及びUPeをそれぞれクラスタリングし、各クラスタを代表する特徴ベクトルUP及びUPeを選出したり、変動ベクトルRを、クラスタ間を結ぶベクトルにマージしたりする方が好ましい。また、特徴ベクトルUPに対応するクラスタに複数の変動ベクトルRが対応付けられていてもよい。さらに、各変動ベクトルRにスコアや重み値が設定されていてもよい。クラスタリングを利用する場合、推薦エンジン106は、特徴ベクトルUP’に近いクラスタを選択し、そのクラスタに対応する変動ベクトルRを取得する。そして、推薦エンジン106は、特徴ベクトルUP’に変動ベクトルRを合成して推薦要因を探索する。
また、推薦エンジン106は、変動ベクトルRを選択した際、選択した変動ベクトルRに対応する変動種別の情報を変動種別データベース107から読み出し、推薦結果と共に変動種別の情報をユーザに提供する。例えば、変動ベクトルRが「こってり」を表す場合、変動種別データベース107には、この変動ベクトルRに対応付けて「こってり」を表すデータ(例えば、テキストデータ、音声データ、画像データなど)が変動種別の情報として格納されている。そのため、推薦エンジン106は、その変動ベクトルR及び特徴ベクトルUP’に基づく推薦要因を利用して検出された推薦結果と共に、推薦理由として「こってり」を表すデータをユーザに提供する(例えば、図19を参照)。なお、変動種別の情報は、変動ベクトルRをユーザに選択させる場合に、その選択肢を識別するための情報として利用されてもよい(例えば、図20を参照)。
以上、本実施形態に係る推薦システム100のシステム構成について説明した。ここで説明したシステム構成は一例であり、実施の態様に応じて一部の構成要素を適宜変更することが可能である。このような変更についても当然に本実施形態の技術的範囲に属することは言うまでもない。
[2−2:学習処理の流れ(図13、図14)]
次に、図13及び図14を参照しながら、本実施形態に係る学習処理の流れについて説明する。なお、ここで言う学習処理とは、特徴データベース102、及び変動データベース105の構築処理を意味する。
(2−2−1:概要(図13))
まず、図13を参照する。図13は、本実施形態に係る学習処理の概要を説明するための説明図である。また、図13に示した処理工程は、本実施形態に係る学習処理の内容を理解しやすくするために処理手順や処理内容を簡略化して表現している点に注意されたい。
図13に示すように、本実施形態に係る学習処理は、事例を生成する処理工程と、各事例について変動ベクトルRを生成する処理工程とを含む。
事例を生成する処理工程では、図13の上段に示しているように、1つの行動履歴から原因と結果との組み合わせを選択抽出する処理が行われる。例えば、図13に示すように、行動履歴の対象となるコンテンツがn+1個存在する場合、最新のコンテンツを結果Bとし、それ以前のコンテンツを原因Aとして事例#1が生成される。同様に、最新のコンテンツを除いたコンテンツ群について、同様に結果Bと原因Aとが選択され、事例#2が生成される。同様の処理を繰り返し、事例#1、…、事例#mが得られる。なお、原因とされるコンテンツの数には最小数が設定されていてもよい。
事例#1、…、事例#mが得られると、各事例について変動ベクトルRを生成する処理工程が実行される。例えば、事例#1について考えると、図13の下段に示しているように、原因Aを構成するコンテンツ群から、このコンテンツ群を特徴付けるワードベクトルWが抽出される。さらに、ワードベクトルWの次元圧縮によって特徴ベクトルUPが得られる。なお、ここでは原因Aを構成する各コンテンツの特徴ベクトルCPから特徴ベクトルUPを得る方法ではなく、ワードベクトルWから直接的に特徴ベクトルUPを得る方法を例示したが、いずれの方法を用いてもよい。
同様に、結果Bを構成するコンテンツから、このコンテンツを特徴付けるワードベクトルW’が抽出される。さらに、ワードベクトルW’の次元圧縮によって特徴ベクトルUPeが得られる。そして、特徴ベクトルUPeから特徴ベクトルUPが減算され、変動ベクトルRが生成される。ここでは事例#1について変動ベクトルRの生成方法を示したが、同様にして事例#2、…、事例#mにそれぞれ対応する変動ベクトルR、…、Rが生成される。上記工程において生成された特徴ベクトルは特徴データベース102に格納され、変動ベクトルは変動データベース105に格納される。
以上、本実施形態に係る学習処理の概要について説明した。なお、事例#1、…、事例#mについて変動ベクトルRが得られた時点で、事例のクラスタリングが実行されてもよい。この場合、クラスタリング後の特徴ベクトル及びマージ後の変動ベクトルが特徴データベース102及び変動データベース105にそれぞれ格納される。
(2−2−2:詳細(図14))
次に、図14を参照する。図14は、本実施形態に係る学習処理の流れについて説明するための説明図である。
図14に示すように、推薦システム100は、まず、コンテンツのメタデータから、そのコンテンツを特徴付けるワードベクトルを生成する(S101)。次いで、推薦システム100は、ステップS101で生成したワードベクトルを次元圧縮し、特徴量空間F上の特徴ベクトルCPを生成する(S102)。次いで、推薦システム100は、ユーザの行動履歴から「原因→結果」の組み合わせ(事例)を抽出する(S103)。
次いで、推薦システム100は、ステップS103で抽出した「原因→結果」の全ての組み合わせについて、「原因」の特徴ベクトルUPと「結果」の特徴ベクトルUPeとの差分を計算し、変動ベクトルRを生成する(S104)。次いで、推薦システム100は、特徴ベクトルUPをクラスタリングすると共に、変動ベクトルRをマージする(S105)。次いで、推薦システム100は、クラスタリング後の特徴ベクトルUP、及び特徴ベクトルCPを特徴データベース102に格納し、マージ後の変動ベクトルRを変動データベース105に格納する(S106)。その後、推薦システム100は、学習処理に係る一連の処理を終了する。
以上、本実施形態に係る学習処理の流れについて説明した。図14の例では特徴ベクトルのクラスタリング及び変動ベクトルのマージを前提として処理の流れを説明したが、クラスタリング処理やマージ処理を行わない場合には当該処理に係るステップを省略することで同様に学習処理を実現することができる。
[2−3:推薦処理の流れ(基本方式)(図15、図16)]
次に、図15及び図16を参照しながら、本実施形態に係る推薦処理の流れについて説明する。なお、ここでは、特徴ベクトルのクラスタリング処理及び変動ベクトルのマージ処理が行われたことを前提に説明を進めることにする。
(2−3−1:概要(図15))
まず、図15を参照する。図15は、本実施形態に係る推薦処理の概要について説明するための説明図である。なお、以下で説明する推薦処理は、主に推薦エンジン106の機能により実現される。
図15に示すように、推薦処理には、ユーザの新たな行動履歴(新規原因X)が利用される。まず、推薦エンジン106は、新規原因Xを成すコンテンツ群を特徴付けるワードベクトルWを抽出する。次いで、推薦エンジン106は、抽出したワードベクトルWを次元圧縮して特徴量空間F上の特徴ベクトルUPを生成する。次いで、推薦エンジン106は、特徴ベクトルUPの近傍にあるクラスタを選択し、そのクラスタを代表する特徴ベクトルUPを得る。
次いで、推薦エンジン106は、変動データベース105からマージ後の変動ベクトルRM1、…、RMnを取得し、それぞれを特徴ベクトルUPと合成する。次いで、推薦エンジン106は、合成処理により生成された特徴ベクトルUP(RM1)、…、UP(RMn)を推薦要因として利用し、推薦候補を検索する。そして、推薦エンジン106は、推薦候補の中から所定数の推薦結果をユーザに提示する。このとき、推薦エンジン106は、推薦結果と共に変動種別の情報(推薦理由)をユーザに提示する。
以上、本実施形態に係る推薦処理の概要について説明した。
(2−3−2:詳細(図16))
次に、図16を参照しながら、本実施形態に係る推薦処理の流れについて説明する。
図16に示すように、推薦エンジン106は、まず、推薦対象となるユーザの行動履歴を取得する(S111)。次いで、推薦エンジン106は、ステップS111で取得した行動履歴から特徴量空間F上の特徴ベクトルUPを生成する(S112)。このとき、推薦エンジン106は、新規原因となるユーザの行動履歴を特徴付けるワードベクトルを次元圧縮して特徴ベクトルUPを生成する。次いで、推薦エンジン106は、特徴ベクトルUPの近傍に位置するクラスタの特徴ベクトルUPを選択する(S113)。
次いで、推薦エンジン106は、特徴ベクトルUPに変動ベクトルRM1、…、RMnを適用した先の付近にある特徴ベクトルCPを探索し、その探索結果から推薦候補を抽出する(S114)。次いで、推薦エンジン106は、各変動ベクトルRM1、…、RMnに対応する推薦候補を推薦理由と共にユーザに対して提示する(S115)。このとき、推薦理由として、各変動ベクトル各変動ベクトルRM1、…、RMnに対応する変動種別の情報が提示される(例えば、図19を参照)。その後、推薦エンジン106は、推薦処理に係る一連の処理を終了する。
以上、本実施形態に係る推薦処理の流れについて説明した。
[2−4:推薦処理の流れ(ユーザ選択方式)(図17、図18)]
ところで、これまでは変動ベクトルRが推薦エンジン106により決められることを前提に説明を進めてきた。しかし、推薦結果を導くにあたって、嗜好変動の方向性をユーザ自身が決めたい場合もあるだろう。そこで、推薦システム100において変動ベクトルRを選択できるようにする仕組み(以下、ユーザ選択方式)について以下で説明する。このような選択性を持たせることにより、推薦システム100は、推薦システムの枠を超えて、新たな関連情報の検索システムとしての機能を実現することが可能になる。
(2−4−1:概要(図17))
まず、図17を参照する。図17は、本実施形態に係る推薦処理(ユーザ選択方式)の概要について説明するための説明図である。なお、以下で説明する推薦処理は、主に推薦エンジン106の機能により実現される。
図17に示すように、推薦処理には、ユーザの新たな行動履歴(新規原因X)が利用される。まず、推薦エンジン106は、新規原因Xを成すコンテンツ群を特徴付けるワードベクトルWを抽出する。次いで、推薦エンジン106は、抽出したワードベクトルWを次元圧縮して特徴量空間F上の特徴ベクトルUPを生成する。次いで、推薦エンジン106は、特徴ベクトルUPの近傍にあるクラスタを選択し、そのクラスタを代表する特徴ベクトルUPを得る。
次いで、推薦エンジン106は、変動データベース105からマージ後の変動ベクトルRM1、…、RMnを取得し、それぞれに対応する変動種別をユーザに提示する。ユーザが変動種別を選択すると、推薦エンジン106は、選択された変動種別に対応する変動ベクトルRMUと特徴ベクトルUPと合成する。次いで、推薦エンジン106は、合成処理により生成された特徴ベクトルUP(RMU)を推薦要因として利用し、推薦候補を検索する。そして、推薦エンジン106は、推薦候補の中から所定数の推薦結果をユーザに提示する。
以上、本実施形態に係る推薦処理(ユーザ選択方式)の概要について説明した。
(2−4−2:詳細(図18))
次に、図18を参照しながら、本実施形態に係る推薦処理(ユーザ選択方式)の流れについて説明する。
図18に示すように、推薦エンジン106は、まず、推薦対象となるユーザの行動履歴を取得する(S121)。次いで、推薦エンジン106は、ステップS121で取得した行動履歴から特徴量空間F上の特徴ベクトルUPを生成する(S122)。このとき、推薦エンジン106は、新規原因となるユーザの行動履歴を特徴付けるワードベクトルを次元圧縮して特徴ベクトルUPを生成する。次いで、推薦エンジン106は、特徴ベクトルUPの近傍に位置するクラスタの特徴ベクトルUPを選択する(S123)。
次いで、推薦エンジン106は、変動ベクトルRM1、…、RMnにそれぞれ対応する変動種別の情報をユーザに提示して選択を要求する(S124;例えば、図20を参照)。次いで、推薦エンジン106は、選択された変動種別に対応する変動ベクトルRMUを特徴ベクトルUPに適用した先の付近にある特徴ベクトルCPを探索し、その探索結果から推薦候補を抽出する(S125)。次いで、推薦エンジン106は、推薦候補をユーザに対して提示する(S126)。その後、推薦エンジン106は、推薦処理に係る一連の処理を終了する。
以上、本実施形態に係る推薦処理の流れについて説明した。
[2−5:推薦理由の表示(図19、図20)]
既に説明したように、推薦エンジン106は、推薦結果をユーザに提示する際、その推薦結果を導出した理由(推薦理由)をユーザに提示する。例えば、ユーザ選択方式でない場合、図19に示すように、推薦エンジン106は、推薦結果と、その推薦結果を得るために利用した変動ベクトルRに対応する推薦理由とを表示させる。また、ユーザ選択方式の場合、図20に示すように、推薦エンジン106は、変動ベクトルRの候補が抽出された段階で、ユーザに各変動ベクトルRに対応する推薦理由を提示し、ユーザに推薦理由を選択させる。そして、推薦エンジン106は、選択された推薦理由に対応する変動ベクトルRを利用して推薦結果を表示させる。
[2−6:クロスカテゴリ推薦(図21)]
さて、これまでは同じ特徴量空間F上で変動ベクトルRを利用した推薦要因の探索方法について説明してきたが、以下では異なる特徴量空間F’に変動ベクトルRを射影して推薦要因の探索を行う方法(以下、クロスカテゴリ推薦)について紹介する。クロスカテゴリ推薦は、例えば、食事に関する行動履歴から抽出されたユーザの嗜好変動を読書に関する行動の推薦に適用するといった事例に当てはまる。
上記の通り、ユーザの行動履歴は、特徴量空間上の特徴ベクトルで表現される。そのため、ユーザの行動履歴から、ある特徴量空間F上で特徴ベクトルUP及びUPeと、変動ベクトルRとが得られる。しかし、原因から結果に至るまでに生じるユーザの嗜好変動は、必ずしも同じ特徴量空間F内でしか表現できないものではない。例えば、嗜好変動が「安い」であるとすると、「より安い食事」の「安い」は食事に関する特徴量空間内で表現されるし、「より安い通信料」の「安い」は通信料に関する特徴量空間内で表現される。つまり、「安い」の対象同士が異なる特徴量空間の間で関係付けられていれば、「安い」の概念を異なる特徴量空間に射影することが可能なのである。
具体的には、ある特徴量空間F上の特徴ベクトルと対応関係があり、かつ、異なる特徴量空間F’上で定義される特徴ベクトルを多数用意しておき、学習により、一方の特徴量空間内の点を他方の特徴量空間内の点に移す写像を得ればよい。この写像を利用すれば、図21に示すように、原因となる特徴ベクトルUPにと結果となる特徴ベクトルCPとに基づいて得られた変動ベクトルRを異なる特徴量空間F’における変動ベクトルR’に変換することができる。そして、この変動ベクトルR’を特徴量空間F’上の新規原因UPに適用することで、推薦要因となる特徴ベクトルCPが得られる。つまり、本実施形態に係る技術を上記の仕組みに応用することで、あるカテゴリに属する嗜好変動を利用して他のカテゴリに属する推薦候補を好適に選出することが可能になるのである。
以上、クロスカテゴリ推薦について説明した。
以上、本技術の第1実施形態について説明した。ここで例示したように特徴ベクトルを利用することにより、本技術の実施形態に係る技術的思想を具現化することができる。
<3:第2実施形態(ワードベクトルベース)>
次に、本技術の第2実施形態について説明する。本実施形態は、ワードベクトルベースの推薦アルゴリズムに関する。
[3−1:システム構成(図22)]
まず、図22を参照しながら、本実施形態に係る推薦システム200のシステム構成例について説明する。図22は、本実施形態に係る推薦システム200のシステム構成例について説明するための説明図である。なお、推薦システム200は、図27に示すハードウェア構成を有する1台の情報処理装置又はその一部機能で構成されていてもよいし、局所又は広域ネットワークで接続された複数台の情報処理装置又はその一部機能で構成されていてもよい。もちろん、ネットワークを構成する通信回線の種別や通信方式など(例えば、LAN、WLAN、WAN、インターネット、携帯電話回線、固定電話回線、ADSL、光ファイバー、GSM、LTEなど)は任意に設定することが可能である。
図22に示すように、推薦システム200は、主に、ユーザ嗜好抽出エンジン201と、特徴データベース202と、コンテンツ特徴抽出エンジン203と、変動抽出エンジン204と、変動データベース205と、推薦エンジン206と、変動種別データベース207とにより構成される。なお、図中には明示しないが、推薦システム200は、外部の電子機器10、20から情報を取得する手段を有している。また、電子機器10、20は、互いに異なる機器でもよいし、同じ機器でもよい。
ユーザが行動すると、その行動に関する情報が行動履歴としてユーザ嗜好抽出エンジン201及び変動抽出エンジン204に入力される。なお、以下では、説明の都合上、ユーザがコンテンツを選択する行動を例に挙げて説明を進めることにする。この場合、電子機器10を操作してユーザが選択したコンテンツの情報(例えば、メタデータ)が行動履歴としてユーザ嗜好抽出エンジン201及び変動抽出エンジン204に入力される。
行動履歴が入力されると、ユーザ嗜好抽出エンジン201は、入力された行動履歴に含まれるコンテンツのメタデータを参照し、そのコンテンツを特徴付ける特徴情報CPを抽出する。本実施形態においては、特徴情報CPとして、コンテンツを特徴付ける単語群で構成されるワードベクトルが用いられる。
ユーザ嗜好抽出エンジン201は、行動履歴に含まれる各コンテンツについてワードベクトルを生成すると、生成したワードベクトルを特徴データベース202に格納する。なお、以下の説明において、各コンテンツについて生成されたワードベクトルをWCPと表記する。また、ユーザ嗜好抽出エンジン201は、各ユーザの行動履歴に含まれるコンテンツについて生成したワードベクトルWCPを集め、これらを重ね合わせて当該各ユーザの嗜好を表すワードベクトルWUPを生成する。そして、ユーザ嗜好抽出エンジン201は、生成したワードベクトルWUPを特徴データベース202に格納する。
なお、ワードベクトルWUPの生成方法としては、例えば、あるユーザの行動履歴に含まれるコンテンツ群を構成する単語からスコアの高い単語を抽出してワードベクトルWUPに設定する方法が考えられる。また、他の方法として、あるユーザの行動履歴に含まれる各コンテンツからワードベクトルWCPを抽出し、スコアの高い単語を、ワードベクトルWCPを組み合わせてワードベクトルWUPを生成する方法が考えられる。これらの方法又は他の公知の方法を用い、ユーザ毎に生成されたワードベクトルWCPを直接的又は間接的に重ね合わせることにより、ユーザの行動履歴を特徴付けるワードベクトルWUPが生成される。
さて、特徴データベース202には、ユーザの行動履歴とは無関係のコンテンツに関するワードベクトルWCPも格納されうる。こうしたワードベクトルWCPは、コンテンツ特徴抽出エンジン203により生成される。コンテンツ特徴抽出エンジン203は、外部の情報源からコンテンツのメタデータを取得し、取得したメタデータからワードベクトルWCPを生成する。このとき、コンテンツ特徴抽出エンジン203は、ユーザ嗜好抽出エンジン201と同様の方法でワードベクトルWCPを生成する。
このように、特徴データベース202には、ユーザの行動履歴に含まれるコンテンツ及び外部のコンテンツについて得られた多数のワードベクトルWCP及びWUPが格納されることになる。なお、特徴データベース202は、ユーザ嗜好抽出エンジン201に入力される行動履歴の更新や、コンテンツ特徴抽出エンジン203により取得される外部コンテンツの変化に応じて適宜更新される。
上記のようにして特徴データベース202が構築又は更新されると、変動抽出エンジン204は、特徴データベース202に格納されたワードベクトルWCP及びWUPを用いて、原因から結果に至るまで生じたユーザの嗜好変動を表す変動成分Rを抽出する。ワードベクトルベースの場合、この変動成分Rは、原因に相当する行動履歴から得られたワードベクトルWUPと、結果に相当する行動履歴から得られたワードベクトルWCP(以下、WUPe)との差で表現される。具体的には、ワードベクトルWUPeに存在するが、ワードベクトルWUPに存在しない単語群(以下、出現単語群)、及び、ワードベクトルWUPに存在するが、ワードベクトルWUPeに存在しない単語群(以下、消失単語群)で変動成分Rが表現される。
まず、変動抽出エンジン204は、上述した第1実施形態の場合と同様に(図13を参照)、行動履歴を原因と結果との組み合わせ(事例)に分ける。そして、変動抽出エンジン204は、各事例に該当するワードベクトルWUP及びWUPeを特徴データベース202から抽出し、それらの差を抽出して変動成分Rを生成する。変動成分Rを生成すると、変動抽出エンジン204は、生成した変動成分Rを変動データベース205に格納する。上記のようにして特徴データベース202及び変動データベース205が構築されると、これらのデータベースに格納された情報を利用してコンテンツの推薦が可能になる。コンテンツの推薦は、推薦エンジン206の機能により実現される。
まず、ユーザから推薦要求を受けると、推薦エンジン206は、その推薦要求に応じたコンテンツの推薦処理を開始する。この推薦要求は、ユーザの新たな行動に起因して発行される。例えば、ユーザが電子機器20を操作して新たにコンテンツを選択すると、その電子機器20から推薦エンジン206に推薦要求が送られる。このとき、電子機器20は、推薦エンジン206に対してユーザの行動履歴(新たなコンテンツの選択行動などを示す情報)が送られる。この行動履歴を受けると、推薦エンジン206は、その行動履歴に含まれるコンテンツを特徴付けるワードベクトルWCPから、そのユーザを特徴付けるワードベクトルWUP’を生成する。
このとき、ワードベクトルWUP’の生成に利用するワードベクトルWCPが特徴データベース202に格納されている場合、推薦エンジン206は、特徴データベース202から当該ワードベクトルWCPを取得する。一方、特徴データベース202に当該ワードベクトルWCPが格納されていない場合、推薦エンジン206は、電子機器20から受けた行動履歴に含まれるコンテンツのメタデータから当該コンテンツを特徴付けるワードベクトルWCPを生成する。そして、推薦エンジン206は、ワードベクトルWCPを重ね合わせてワードベクトルWUP’を生成する。なお、ワードベクトルWUP’の生成方法は、ユーザ嗜好抽出エンジン201によるワードベクトルWUPの生成方法と実質的に同じである。
ワードベクトルWUP’を生成すると、推薦エンジン206は、ワードベクトルWUP’と変動成分Rとを利用して推薦要因となるワードベクトルWCP”の集合を生成する。具体的には、推薦エンジン206が、変動成分Rを選択し、選択した変動成分RをワードベクトルWUP’に合成して推薦要因とする。変動成分Rは、変動データベース205に格納されている。この変動成分Rは、原因から結果に至るまでに生じるユーザの嗜好変動を表すものである。
但し、似た事例が多数存在する場合には、事例をクラスタリングし、各クラスタを代表するワードベクトルWUP及びWUPeを選出したり、変動成分Rをクラスタ間の変動を表現した単語集合にマージしたりする方が好ましい。また、ワードベクトルWUPに対応するクラスタに複数の変動成分Rが対応付けられていてもよい。さらに、各変動成分Rにスコアや重み値が設定されていてもよい。クラスタリングを利用する場合、推薦エンジン206は、ワードベクトルWUP’に近いクラスタを選択し、そのクラスタに対応する変動成分Rを取得する。そして、推薦エンジン206は、ワードベクトルWUP’に変動成分Rを合成して推薦要因を生成する。
また、推薦エンジン206は、変動成分Rを選択した際、選択した変動成分Rに対応する変動種別の情報を変動種別データベース207から読み出し、推薦結果と共に変動種別の情報をユーザに提供する。例えば、変動成分Rが「あっさり」を表す場合、変動種別データベース207には、この変動成分Rに対応付けて「あっさり」を表すデータ(例えば、テキストデータ、音声データ、画像データなど)が変動種別の情報として格納されている。そのため、推薦エンジン206は、その変動成分R及びワードベクトルWUP’に基づく推薦要因を利用して検出された推薦結果と共に、推薦理由として「あっさり」を表すデータをユーザに提供する(例えば、図19を参照)。なお、変動種別の情報は、変動成分Rをユーザに選択させる場合に、その選択肢を識別するための情報として利用されてもよい(例えば、図20を参照)。
以上、本実施形態に係る推薦システム200のシステム構成について説明した。ここで説明したシステム構成は一例であり、実施の態様に応じて一部の構成要素を適宜変更することが可能である。このような変更についても当然に本実施形態の技術的範囲に属することは言うまでもない。
[3−2:学習処理の流れ(図23、図24)]
次に、図23及び図24を参照しながら、本実施形態に係る学習処理の流れについて説明する。なお、ここで言う学習処理とは、特徴データベース202、及び変動データベース205の構築処理を意味する。
(3−2−1:概要(図23))
まず、図23を参照する。図23は、本実施形態に係る学習処理の概要を説明するための説明図である。また、図23に示した処理工程は、本実施形態に係る学習処理の内容を理解しやすくするために処理手順や処理内容を簡略化して表現している点に注意されたい。また、事例を生成する処理工程については、上述した第1実施形態と実質的に同じであるから、ここでは説明を省略する。
まず、事例#1、…、事例#mが得られると、各事例について変動成分Rを生成する処理工程が実行される。例えば、ある事例について考えると、図23に示しているように、原因Aを構成するコンテンツ群から、このコンテンツ群を特徴付ける一又は複数のワードベクトルWCP(単語集合A:WUP)が抽出される。同様に、結果Bを構成するコンテンツから、このコンテンツを特徴付けるワードベクトルWCP(単語集合B:WUPe)が抽出される。そして、ワードベクトルWUPeとワードベクトルWUPとの差(消失単語群及び出現単語群)が抽出され、変動成分Rが生成される。このような方法で事例#1、…、事例#mにそれぞれ対応する変動成分R、…、Rが生成される。上記工程において生成されたワードベクトルは特徴データベース202に格納され、変動成分は変動データベース205に格納される。
以上、本実施形態に係る学習処理の概要について説明した。なお、事例#1、…、事例#mについて変動成分Rが得られた時点で、事例のクラスタリングが実行されてもよい。この場合、クラスタリング後のワードベクトル及びマージ後の変動成分が特徴データベース202及び変動データベース205にそれぞれ格納される。
(3−2−2:詳細(図24))
次に、図24を参照する。図24は、本実施形態に係る学習処理の流れについて説明するための説明図である。
図24に示すように、推薦システム200は、まず、コンテンツのメタデータから、そのコンテンツを特徴付けるワードベクトルWを生成する(S201)。次いで、次いで、推薦システム200は、ユーザの行動履歴から「原因→結果」の組み合わせ(事例)を抽出する(S202)。次いで、推薦システム200は、ステップS202で抽出した「原因→結果」の全ての組み合わせについて、「原因」のワードベクトルWUPと「結果」のワードベクトルWUPeとの差(消失単語群dW、出現単語群aW)を抽出し、変動成分Rを生成する(S203)。次いで、推薦システム200は、クラスタリング後のワードベクトルWUP、及びワードベクトルWCPを特徴データベース202に格納し、マージ後の変動成分Rを変動データベース205に格納する(S204)。その後、推薦システム200は、学習処理に係る一連の処理を終了する。
以上、本実施形態に係る学習処理の流れについて説明した。図24の例ではクラスタリング処理やマージ処理を行わない場合について説明したが、ワードベクトルのクラスタリング及び変動成分のマージを考慮した処理の流れに変形することも可能である。
[3−3:推薦処理の流れ(図25、図26)]
次に、図25及び図26を参照しながら、本実施形態に係る推薦処理の流れについて説明する。
(3−3−1:概要(図25))
図25に示すように、推薦処理には、ユーザの新たな行動履歴(新規原因C)が利用される。まず、推薦エンジン206は、新規原因Cを成すコンテンツ群を特徴付ける一又は複数のワードベクトルWC(単語集合C)を抽出する。次いで、推薦エンジン206は、変動データベース105に格納された変動成分Rを選択し、選択した変動成分Rを単語集合Cに適用して推薦要因を生成する。具体的には、単語集合Cから消失単語群を削除し、その後に出現単語群を追加して推薦要因(単語集合D)が生成される。次いで、推薦エンジン206は、生成された推薦要因を利用して推薦候補を検索する。そして、推薦エンジン206は、推薦候補の中から所定数の推薦結果をユーザに提示する。このとき、推薦エンジン206は、推薦結果と共に変動種別の情報(推薦理由)をユーザに提示する。
以上、本実施形態に係る推薦処理の概要について説明した。なお、上記説明において「単語集合」という表現を用いたが、ワードベクトルも単語集合の一例である。また、複数のワードベクトルで構成されるワードベクトル群も単語集合の一例である。
(3−3−2:詳細(図26))
次に、図26を参照しながら、本実施形態に係る推薦処理の流れについて説明する。
図26に示すように、推薦エンジン206は、新規原因として、推薦対象となるユーザの行動履歴を取得する(S211)。次いで、推薦エンジン206は、ステップS211で取得した行動履歴を特徴付けるワードベクトルWUP’を生成する(S212)。次いで、推薦エンジン206は、ワードベクトルWUP’に変動成分R(消失単語群dW、出現単語群aW)を適用してワードベクトルWUPe’を生成し、このワードベクトルWUPe’を利用して推薦候補を抽出する(S214)。次いで、推薦エンジン206は、変動成分Rに対応する推薦候補を推薦理由と共にユーザに対して提示する(S215)。その後、推薦エンジン206は、推薦処理に係る一連の処理を終了する。
以上、本実施形態に係る推薦処理の流れについて説明した。
[3−4:特徴ベクトルベースとの組み合わせ]
これまで、ワードベクトルベースの実施例について説明してきた。また、特徴ベクトルベースの実施例についても既に説明した。これらの実施例は、それぞれ独立してもちいることも可能であるが、両者を組み合わせて利用することも可能である。例えば、画像データとテキストデータとを含むコンテンツを行動の対象とする場合、画像データには特徴ベクトルベースの仕組みを適用し、テキストデータにはワードベクトルベースの仕組みを適用するといった組み合わせ手法が考えられる。また、画像データに代えて音声データや他のバイナリデータが含まれたコンテンツを行動の対象とする場合も同様である。
また、特徴ベクトルベースの仕組みで抽出した推薦候補と、ワードベクトルベースの仕組みで抽出した推薦候補とを共にユーザに提示する組み合わせ手法も考えられる。さらに、この組み合わせ手法により抽出された推薦候補のスコアを算出しておき、スコアの高い順に所定数の推薦候補をユーザに提示する仕組みにしてもよい。このように、特徴ベクトルベースの仕組みと、ワードベクトルの仕組みとは相互に組み合わせることができる。また、このような組み合わせについても、当然に本技術に係る実施形態の技術的範囲に属する。
以上、特徴ベクトルベースの仕組みとワードベクトルの仕組みとの組み合わせ手法について説明した。
以上、本技術に係る第2実施形態について説明した。ここで例示したようにワードベクトルを利用することにより、本技術の実施形態に係る技術的思想を具現化することができる。また、特徴ベクトルベースの仕組みとの組み合わせも可能である。
<4:応用可能性について>
これまで、説明の都合上、テキストデータを含むデジタルコンテンツを想定して説明を進めてきた。しかし、本技術の実施形態に係る技術的思想は、テキストデータを含むデジタルコンテンツ以外の行動対象に対しても適用可能である。例えば、音楽データの場合、その波形などから特徴量を抽出すれば、特徴ベクトルベースの仕組みが適用可能である。また、画像データの場合、その色やエッジ情報などから特徴量を抽出すれば、特徴ベクトルベースの仕組みが適用可能である。動画データの場合、各フレームの色やエッジ情報、フレーム内の符号化情報、フレーム間の符号化情報、シーン情報、チャプター情報などから特徴量を抽出すれば、特徴ベクトルベースの仕組みが適用可能である。
また、音楽データには、アーティスト名、バイオグラフィ、ジャンル、売上、人気度、ムード情報などのメタデータが付与されていることがある。そのため、このメタデータからワードベクトルを抽出可能なため、特徴ベクトルベース及びワードベクトルの仕組みが適用可能である。同様に、画像データには、人、場所、オブジェクト、時間、撮影条件(例えば、F値、ズーム値、フラッシュの有無など)などを含むメタデータが付与されていることがある。そのため、このメタデータからワードベクトルを抽出可能なため、特徴ベクトルベース及びワードベクトルの仕組みが適用可能である。
また、動画データには、出演者、ジャンル、ユーザの評価などを含むメタデータが付与されていることがある。また、映画やテレビジョン映像などの場合、スポンサー名や予告編情報などを含むメタデータが得られることがある。そのため、こうしたメタデータからワードベクトルを抽出可能なため、特徴ベクトルベース及びワードベクトルの仕組みが適用可能である。なお、本、日記、ホームページ、論文などの文章の場合、出版日、カテゴリ、ジャンル、出版社情報、著者情報などを含むメタデータが付与されていることがある。そのため、このメタデータからワードベクトルを抽出可能なため、特徴ベクトルベース及びワードベクトルの仕組みが適用可能である。
その他にも、ユーザの行動履歴として、例えば、GPS機能を利用した移動軌跡、POSシステムなどを利用して得られる購買履歴やレンタル履歴、通話履歴、メール送受信履歴、音楽プレーヤの再生履歴、ホームページへのアクセス履歴などに利用可能である。さらに、家庭内の電力使用状況などから家電製品の使用履歴を得たり、自動車や自動二輪車などの運転履歴を得たり、公共交通機関の改札履歴を得たりして、これらの履歴を推薦に利用する行動履歴として利用することも可能である。また、推薦すべきコンテンツはデジタルコンテンツに限られず、様々な商品やサービスを含む任意の対象物が対象となる。このように、本技術の実施形態に係る技術的思想は、広い応用可能性を有する。
以上、本技術の実施形態に係る技術的思想の応用可能性について述べた。もちろん、当該応用可能性は、上記の例に限定されるものではないことは言うまでもない。
<5:ハードウェア構成例(図27)>
上記の推薦システム100、200を構成する各構成要素の機能は、例えば、図27に示す情報処理装置のハードウェア構成を用いて実現することが可能である。つまり、当該各構成要素の機能は、コンピュータプログラムを用いて図27に示すハードウェアを制御することにより実現される。なお、このハードウェアの形態は任意であり、例えば、パーソナルコンピュータ、携帯電話、PHS、PDA等の携帯情報端末、ゲーム機、又は種々の情報家電がこれに含まれる。但し、上記のPHSは、Personal Handy−phone Systemの略である。また、上記のPDAは、Personal Digital Assistantの略である。
図27に示すように、このハードウェアは、主に、CPU902と、ROM904と、RAM906と、ホストバス908と、ブリッジ910と、を有する。さらに、このハードウェアは、外部バス912と、インターフェース914と、入力部916と、出力部918と、記憶部920と、ドライブ922と、接続ポート924と、通信部926と、を有する。但し、上記のCPUは、Central Processing Unitの略である。また、上記のROMは、Read Only Memoryの略である。そして、上記のRAMは、Random Access Memoryの略である。
CPU902は、例えば、演算処理装置又は制御装置として機能し、ROM904、RAM906、記憶部920、又はリムーバブル記録媒体928に記録された各種プログラムに基づいて各構成要素の動作全般又はその一部を制御する。ROM904は、CPU902に読み込まれるプログラムや演算に用いるデータ等を格納する手段である。RAM906には、例えば、CPU902に読み込まれるプログラムや、そのプログラムを実行する際に適宜変化する各種パラメータ等が一時的又は永続的に格納される。
これらの構成要素は、例えば、高速なデータ伝送が可能なホストバス908を介して相互に接続される。一方、ホストバス908は、例えば、ブリッジ910を介して比較的データ伝送速度が低速な外部バス912に接続される。また、入力部916としては、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチ、及びレバー等が用いられる。さらに、入力部916としては、赤外線やその他の電波を利用して制御信号を送信することが可能なリモートコントローラ(以下、リモコン)が用いられることもある。
出力部918としては、例えば、CRT、LCD、PDP、又はELD等のディスプレイ装置、スピーカ、ヘッドホン等のオーディオ出力装置、プリンタ、携帯電話、又はファクシミリ等、取得した情報を利用者に対して視覚的又は聴覚的に通知することが可能な装置である。但し、上記のCRTは、Cathode Ray Tubeの略である。また、上記のLCDは、Liquid Crystal Displayの略である。そして、上記のPDPは、Plasma DisplayPanelの略である。さらに、上記のELDは、Electro−Luminescence Displayの略である。
記憶部920は、各種のデータを格納するための装置である。記憶部920としては、例えば、ハードディスクドライブ(HDD)等の磁気記憶デバイス、半導体記憶デバイス、光記憶デバイス、又は光磁気記憶デバイス等が用いられる。但し、上記のHDDは、Hard Disk Driveの略である。
ドライブ922は、例えば、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体928に記録された情報を読み出し、又はリムーバブル記録媒体928に情報を書き込む装置である。リムーバブル記録媒体928は、例えば、DVDメディア、Blu−rayメディア、HD DVDメディア、各種の半導体記憶メディア等である。もちろん、リムーバブル記録媒体928は、例えば、非接触型ICチップを搭載したICカード、又は電子機器等であってもよい。但し、上記のICは、Integrated Circuitの略である。
接続ポート924は、例えば、USBポート、IEEE1394ポート、SCSI、RS−232Cポート、又は光オーディオ端子等のような外部接続機器930を接続するためのポートである。外部接続機器930は、例えば、プリンタ、携帯音楽プレーヤ、デジタルカメラ、デジタルビデオカメラ、又はICレコーダ等である。但し、上記のUSBは、Universal Serial Busの略である。また、上記のSCSIは、Small Computer System Interfaceの略である。
通信部926は、ネットワーク932に接続するための通信デバイスであり、例えば、有線又は無線LAN、Bluetooth(登録商標)、又はWUSB用の通信カード、光通信用のルータ、ADSL用のルータ、又は各種通信用のモデム等である。また、通信部926に接続されるネットワーク932は、有線又は無線により接続されたネットワークにより構成され、例えば、インターネット、家庭内LAN、赤外線通信、可視光通信、放送、又は衛星通信等である。但し、上記のLANは、Local Area Networkの略である。また、上記のWUSBは、Wireless USBの略である。そして、上記のADSLは、Asymmetric Digital Subscriber Lineの略である。
<6:まとめ>
最後に、本実施形態の技術的思想について簡単に纏める。以下に記載する技術的思想は、例えば、PC、携帯電話、ゲーム機、情報端末、情報家電、カーナビゲーションシステム、撮像装置、録画再生装置、映像受像機、映像表示装置、セットトップボックス、通信装置等、種々の情報処理装置に対して適用することができる。
上記の情報処理装置の機能構成は、例えば、以下のように表現することができる。下記(1)に記載の情報処理装置は、原因に相当する第1の特徴情報と、結果に相当する第2の特徴情報との差を表現した差分特徴情報を情報の抽出に用いる構成を含む。また、当該情報処理装置は、新規原因に相当する第3の特徴情報と差分特徴情報とを用いて情報の抽出に用いる第4の特徴情報を得る構成を含む。差分特徴情報を利用することにより、ユーザの嗜好変動が考慮される。一方で、第3の特徴情報が情報の抽出に用いられるため、ユーザの固定的な嗜好が考慮される。その結果、下記(1)に記載の情報処理装置により抽出される情報は、ユーザの嗜好変動と固定的な嗜好とを考慮したものとなる。つまり、ユーザの本質的な好みを考慮しつつ、ユーザに斬新さを感じさせるような情報をユーザに提供することが可能になる。なお、下記(1)に記載の情報処理装置は、ユーザの嗜好変動を特徴情報の差で表現しているため、比較的負荷の低い処理によって上記のような好適な情報を得ることができる。
(1)
対象ユーザの行動を特徴付ける第1の特徴情報と、当該行動を実施した後で前記対象ユーザが行った行動を特徴付ける第2の特徴情報と、の差を表す差分特徴情報、及び前記対象ユーザが新たに行った行動を特徴付ける第3の特徴情報に応じて、第4の特徴情報を得る差分適用部と、
前記第4の特徴情報に応じた情報を抽出する対象抽出部と、
を備える、
情報処理装置。
(2)
前記第1の特徴情報は、対象ユーザが選択した一又は複数のコンテンツであり、
前記第2の特徴情報は、前記ユーザが一又は複数のコンテンツを選択した後で前記対象ユーザが選択したコンテンツである、
上記(1)に記載の情報処理装置。
(3)
前記差分適用部は、前記第3の特徴情報に前記差分特徴情報を作用させて第4の特徴情報を得る、
上記(1)又は(2)に記載の情報処理装置。
(4)
前記第1の特徴情報は、第1の特徴ベクトルで表現され、
前記第2の特徴情報は、第2の特徴ベクトルで表現され、
前記差分特徴情報は、特徴量空間における前記第1の特徴ベクトルと前記第2の特徴ベクトルとの差分を表す差分特徴ベクトルで表現され、
前記第3の特徴情報は、第3の特徴ベクトルで表現され、
前記差分適用部は、前記第4の特徴情報として、前記第3の特徴ベクトルと前記差分特徴ベクトルとを合成した第4の特徴ベクトルを得る、
上記(2)又は(3)に記載の情報処理装置。
(5)
前記第1の特徴ベクトルは、前記対象ユーザが選択した一又は複数のコンテンツから抽出された特徴的な単語群で構成される第1のワードベクトルに基づいて得られ、
前記第2の特徴ベクトルは、前記一又は複数のコンテンツを選択した後で前記対象ユーザが選択したコンテンツから抽出された特徴的な単語群で構成される第2のワードベクトルに基づいて得られる、
上記(4)に記載の情報処理装置。
(6)
前記第1の特徴ベクトルは、前記対象ユーザが選択した一又は複数のコンテンツから抽出された特徴的な単語群で構成される第1のワードベクトルを次元圧縮して得られ、
前記第2の特徴ベクトルは、前記一又は複数のコンテンツを選択した後で前記対象ユーザが選択したコンテンツから抽出された特徴的な単語群で構成される第2のワードベクトルを、前記第1の特徴ベクトルを規定する特徴量空間にマッピングして得られる、
上記(5)に記載の情報処理装置。
(7)
前記第1のワードベクトルを構成する各単語には当該各単語の重要度に応じた重み値が設定され、前記第1の特徴ベクトルを得る際に当該重み値が考慮され、
前記第2のワードベクトルを構成する各単語には、当該各単語の重要度に応じた重み値が設定され、前記第2の特徴ベクトルを得る際に当該重み値が考慮される、
上記(5)又は(6)に記載の情報処理装置。
(8)
前記差分適用部は、前記差分特徴情報に所定の重みを付与した上で前記第3の特徴情報に作用させて前記第4の特徴情報を得る、
上記(3)に記載の情報処理装置。
(9)
前記第1の特徴情報は、前記対象ユーザが選択した一又は複数のコンテンツから抽出された特徴的な単語群で構成される第1のワードベクトルであり、
前記第2の特徴情報は、前記一又は複数のコンテンツを選択した後で前記対象ユーザが選択したコンテンツから抽出された特徴的な単語群で構成される第2のワードベクトルであり、
前記差分特徴情報は、前記第1のワードベクトルに含まれるが前記第2のワードベクトルに含まれない単語群で構成される消失ワードベクトルと、前記第2のワードベクトルに含まれるが前記第1のワードベクトルに含まれない単語群で構成される出現ワードベクトルと、で構成される、
上記(1)〜(3)のいずれか1項に記載の情報処理装置。
(10)
前記第3の特徴情報は、前記対象ユーザが新たに選択したコンテンツから抽出された特徴的な単語群で構成される第3のワードベクトルであり、
前記差分適用部は、
前記消失ワードベクトルに含まれる単語が前記第3のワードベクトルに含まれる場合に当該消失ワードベクトルに含まれる単語を前記第3のワードベクトルから削除し、
前記出現ワードベクトルに含まれる単語であって前記第3のワードベクトルに含まれない単語が存在する場合に当該出現ワードベクトルに含まれる単語を前記第3のワードベクトルに追加して、前記第4の特徴情報を得る、
上記(9)に記載の情報処理装置。
(11)
異なるカテゴリに属する第1の特徴空間と第2の特徴空間との間で当該両特徴空間内の点を相互に対応付けたマッピング情報を利用し、前記第1の特徴空間において得られた前記差分特徴ベクトルを前記第2の特徴空間に写像する差分写像部をさらに備え、
前記差分適用部は、前記第2の特徴空間が属するカテゴリにおいて前記対象ユーザが新たに選択したコンテンツを特徴付ける第3の特徴ベクトルと、前記第2の特徴空間に写像された差分特徴ベクトルとを合成して前記第4の特徴ベクトルを得る、
上記(4)〜(8)のいずれか1項に記載の情報処理装置。
(12)
前記差分適用部は、ユーザの行動を特徴付ける複数の特徴情報から、前記第3の特徴情報に近い特徴を有する特徴情報を選択し、選択した特徴情報に対応する差分特徴情報を利用して前記第4の特徴情報を得る、
上記(1)〜(11)のいずれか1項に記載の情報処理装置。
(13)
前記差分適用部は、ユーザの行動を特徴付ける複数の特徴情報をクラスタリングして得られた複数のクラスタの中から、前記第3の特徴情報に近い特徴を有するクラスタを選択し、選択したクラスタを代表する特徴情報に対応した差分特徴情報を利用して前記第4の特徴情報を得る、
上記(1)〜(11)のいずれか1項に記載の情報処理装置。
(14)
情報をユーザに提供する情報提供部をさらに備え、
前記差分適用部は、ユーザの行動を特徴付ける複数の特徴情報から、前記第3の特徴情報に近い特徴を有する特徴情報を選択し、
前記情報提供部は、前記差分適用部が選択した特徴情報に対応する差分特徴情報をユーザに提供して当該差分特徴情報の選択を促し、
前記差分適用部は、ユーザにより選択された差分特徴情報を利用して前記第4の特徴情報を得る、
上記(1)〜(11)のいずれか1項に記載の情報処理装置。
(15)
情報をユーザに提供する情報提供部をさらに備え、
前記差分適用部は、ユーザの行動を特徴付ける複数の特徴情報をクラスタリングして得られた複数のクラスタの中から、前記第3の特徴情報に近い特徴を有するクラスタを選択し、
前記情報提供部は、前記差分適用部が選択したクラスタを代表する特徴情報に対応した差分特徴情報をユーザに提供して当該差分特徴情報の選択を促し、
前記差分適用部は、ユーザにより選択された差分特徴情報を利用して前記第4の特徴情報を得る、
上記(1)〜(11)のいずれか1項に記載の情報処理装置。
(16)
対象ユーザの行動を特徴付ける第1の特徴情報と、当該行動を実施した後で前記対象ユーザが行った行動を特徴付ける第2の特徴情報と、の差を表す差分特徴情報、及び前記対象ユーザが新たに行った行動を特徴付ける第3の特徴情報に応じて、第4の特徴情報を得るステップと、
前記第4の特徴情報に応じた情報を抽出するステップと、
を含む、
情報処理方法。
(17)
対象ユーザの行動を特徴付ける第1の特徴情報と、当該行動を実施した後で前記対象ユーザが行った行動を特徴付ける第2の特徴情報と、の差を表す差分特徴情報、及び前記対象ユーザが新たに行った行動を特徴付ける第3の特徴情報に応じて、第4の特徴情報を得る差分適用機能と、
前記第4の特徴情報に応じた情報を抽出する対象抽出機能と、
をコンピュータに実現させるためのプログラム。
(18)
対象ユーザの行動を特徴付ける第1の特徴情報と、当該行動を実施した後で前記対象ユーザが行った行動を特徴付ける第2の特徴情報と、の差を表す差分特徴情報、及び前記対象ユーザが新たに行った行動を特徴付ける第3の特徴情報に応じて、第4の特徴情報を得る差分適用機能と、
前記第4の特徴情報に応じた情報を抽出する対象抽出機能と、
をコンピュータに実現させるためのプログラムが記録された、コンピュータにより読み取り可能な記録媒体。
(備考)
上記の推薦エンジン106、206は、差分適用部、対象抽出部、差分写像部、情報提供部の一例である。
以上、添付図面を参照しながら本技術に係る好適な実施形態について説明したが、本技術はここで開示した構成例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例又は修正例に想到し得ることは明らかであり、それらについても当然に本技術の技術的範囲に属するものと了解される。
10、20 電子機器
100、200 推薦システム
101、201 ユーザ嗜好抽出エンジン
102、202 特徴データベース
103、203 コンテンツ特徴抽出エンジン
104、204 変動抽出エンジン
105、205 変動データベース
106、206 推薦エンジン
107、207 変動種別データベース

Claims (17)

  1. 対象ユーザの行動を特徴付ける第1の特徴情報と、当該行動を実施した後で前記対象ユーザが行った行動を特徴付ける第2の特徴情報と、の差を表す差分特徴情報、及び前記対象ユーザが新たに行った行動を特徴付ける第3の特徴情報に応じて、第4の特徴情報を得る差分適用部と、
    前記第4の特徴情報に応じた情報を抽出する対象抽出部と、
    を備える、
    情報処理装置。
  2. 前記第1の特徴情報は、対象ユーザが選択した一又は複数のコンテンツであり、
    前記第2の特徴情報は、前記ユーザが一又は複数のコンテンツを選択した後で前記対象ユーザが選択したコンテンツである、
    請求項1に記載の情報処理装置。
  3. 前記差分適用部は、前記第3の特徴情報に前記差分特徴情報を作用させて第4の特徴情報を得る、
    請求項1に記載の情報処理装置。
  4. 前記第1の特徴情報は、第1の特徴ベクトルで表現され、
    前記第2の特徴情報は、第2の特徴ベクトルで表現され、
    前記差分特徴情報は、特徴量空間における前記第1の特徴ベクトルと前記第2の特徴ベクトルとの差分を表す差分特徴ベクトルで表現され、
    前記第3の特徴情報は、第3の特徴ベクトルで表現され、
    前記差分適用部は、前記第4の特徴情報として、前記第3の特徴ベクトルと前記差分特徴ベクトルとを合成した第4の特徴ベクトルを得る、
    請求項2に記載の情報処理装置。
  5. 前記第1の特徴ベクトルは、前記対象ユーザが選択した一又は複数のコンテンツから抽出された特徴的な単語群で構成される第1のワードベクトルに基づいて得られ、
    前記第2の特徴ベクトルは、前記一又は複数のコンテンツを選択した後で前記対象ユーザが選択したコンテンツから抽出された特徴的な単語群で構成される第2のワードベクトルに基づいて得られる、
    請求項4に記載の情報処理装置。
  6. 前記第1の特徴ベクトルは、前記対象ユーザが選択した一又は複数のコンテンツから抽出された特徴的な単語群で構成される第1のワードベクトルを次元圧縮して得られ、
    前記第2の特徴ベクトルは、前記一又は複数のコンテンツを選択した後で前記対象ユーザが選択したコンテンツから抽出された特徴的な単語群で構成される第2のワードベクトルを、前記第1の特徴ベクトルを規定する特徴量空間にマッピングして得られる、
    請求項5に記載の情報処理装置。
  7. 前記第1のワードベクトルを構成する各単語には当該各単語の重要度に応じた重み値が設定され、前記第1の特徴ベクトルを得る際に当該重み値が考慮され、
    前記第2のワードベクトルを構成する各単語には、当該各単語の重要度に応じた重み値が設定され、前記第2の特徴ベクトルを得る際に当該重み値が考慮される、
    請求項5に記載の情報処理装置。
  8. 前記差分適用部は、前記差分特徴情報に所定の重みを付与した上で前記第3の特徴情報に作用させて前記第4の特徴情報を得る、
    請求項3に記載の情報処理装置。
  9. 前記第1の特徴情報は、前記対象ユーザが選択した一又は複数のコンテンツから抽出された特徴的な単語群で構成される第1のワードベクトルであり、
    前記第2の特徴情報は、前記一又は複数のコンテンツを選択した後で前記対象ユーザが選択したコンテンツから抽出された特徴的な単語群で構成される第2のワードベクトルであり、
    前記差分特徴情報は、前記第1のワードベクトルに含まれるが前記第2のワードベクトルに含まれない単語群で構成される消失ワードベクトルと、前記第2のワードベクトルに含まれるが前記第1のワードベクトルに含まれない単語群で構成される出現ワードベクトルと、で構成される、
    請求項1に記載の情報処理装置。
  10. 前記第3の特徴情報は、前記対象ユーザが新たに選択したコンテンツから抽出された特徴的な単語群で構成される第3のワードベクトルであり、
    前記差分適用部は、
    前記消失ワードベクトルに含まれる単語が前記第3のワードベクトルに含まれる場合に当該消失ワードベクトルに含まれる単語を前記第3のワードベクトルから削除し、
    前記出現ワードベクトルに含まれる単語であって前記第3のワードベクトルに含まれない単語が存在する場合に当該出現ワードベクトルに含まれる単語を前記第3のワードベクトルに追加して、前記第4の特徴情報を得る、
    請求項9に記載の情報処理装置。
  11. 異なるカテゴリに属する第1の特徴空間と第2の特徴空間との間で当該両特徴空間内の点を相互に対応付けたマッピング情報を利用し、前記第1の特徴空間において得られた前記差分特徴ベクトルを前記第2の特徴空間に写像する差分写像部をさらに備え、
    前記差分適用部は、前記第2の特徴空間が属するカテゴリにおいて前記対象ユーザが新たに選択したコンテンツを特徴付ける第3の特徴ベクトルと、前記第2の特徴空間に写像された差分特徴ベクトルとを合成して前記第4の特徴ベクトルを得る、
    請求項4に記載の情報処理装置。
  12. 前記差分適用部は、ユーザの行動を特徴付ける複数の特徴情報から、前記第3の特徴情報に近い特徴を有する特徴情報を選択し、選択した特徴情報に対応する差分特徴情報を利用して前記第4の特徴情報を得る、
    請求項1に記載の情報処理装置。
  13. 前記差分適用部は、ユーザの行動を特徴付ける複数の特徴情報をクラスタリングして得られた複数のクラスタの中から、前記第3の特徴情報に近い特徴を有するクラスタを選択し、選択したクラスタを代表する特徴情報に対応した差分特徴情報を利用して前記第4の特徴情報を得る、
    請求項1に記載の情報処理装置。
  14. 情報をユーザに提供する情報提供部をさらに備え、
    前記差分適用部は、ユーザの行動を特徴付ける複数の特徴情報から、前記第3の特徴情報に近い特徴を有する特徴情報を選択し、
    前記情報提供部は、前記差分適用部が選択した特徴情報に対応する差分特徴情報をユーザに提供して当該差分特徴情報の選択を促し、
    前記差分適用部は、ユーザにより選択された差分特徴情報を利用して前記第4の特徴情報を得る、
    請求項1に記載の情報処理装置。
  15. 情報をユーザに提供する情報提供部をさらに備え、
    前記差分適用部は、ユーザの行動を特徴付ける複数の特徴情報をクラスタリングして得られた複数のクラスタの中から、前記第3の特徴情報に近い特徴を有するクラスタを選択し、
    前記情報提供部は、前記差分適用部が選択したクラスタを代表する特徴情報に対応した差分特徴情報をユーザに提供して当該差分特徴情報の選択を促し、
    前記差分適用部は、ユーザにより選択された差分特徴情報を利用して前記第4の特徴情報を得る、
    請求項1に記載の情報処理装置。
  16. 対象ユーザの行動を特徴付ける第1の特徴情報と、当該行動を実施した後で前記対象ユーザが行った行動を特徴付ける第2の特徴情報と、の差を表す差分特徴情報、及び前記対象ユーザが新たに行った行動を特徴付ける第3の特徴情報に応じて、第4の特徴情報を得るステップと、
    前記第4の特徴情報に応じた情報を抽出するステップと、
    を含む、
    情報処理方法。
  17. 対象ユーザの行動を特徴付ける第1の特徴情報と、当該行動を実施した後で前記対象ユーザが行った行動を特徴付ける第2の特徴情報と、の差を表す差分特徴情報、及び前記対象ユーザが新たに行った行動を特徴付ける第3の特徴情報に応じて、第4の特徴情報を得る差分適用機能と、
    前記第4の特徴情報に応じた情報を抽出する対象抽出機能と、
    をコンピュータに実現させるためのプログラム。
JP2011248604A 2011-11-14 2011-11-14 情報処理装置、情報処理方法、及びプログラム Pending JP2013105309A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2011248604A JP2013105309A (ja) 2011-11-14 2011-11-14 情報処理装置、情報処理方法、及びプログラム
US13/669,709 US20130124536A1 (en) 2011-11-14 2012-11-06 Information processing apparatus, information processing method, and program
CN2012104402372A CN103198089A (zh) 2011-11-14 2012-11-07 信息处理装置、信息处理方法和程序

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2011248604A JP2013105309A (ja) 2011-11-14 2011-11-14 情報処理装置、情報処理方法、及びプログラム

Publications (1)

Publication Number Publication Date
JP2013105309A true JP2013105309A (ja) 2013-05-30

Family

ID=48281634

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011248604A Pending JP2013105309A (ja) 2011-11-14 2011-11-14 情報処理装置、情報処理方法、及びプログラム

Country Status (3)

Country Link
US (1) US20130124536A1 (ja)
JP (1) JP2013105309A (ja)
CN (1) CN103198089A (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015190141A1 (ja) * 2014-06-13 2015-12-17 ソニー株式会社 情報処理装置、情報処理方法、およびプログラム
JP2016053784A (ja) * 2014-09-03 2016-04-14 富士ゼロックス株式会社 情報推薦プログラム及び情報処理装置
JP6224856B1 (ja) * 2017-02-21 2017-11-01 ヤフー株式会社 提供装置、提供方法および提供プログラム
JP2018088051A (ja) * 2016-11-28 2018-06-07 ヤフー株式会社 情報処理装置、情報処理方法、およびプログラム
JP2019149035A (ja) * 2018-02-27 2019-09-05 ヤフー株式会社 提供装置、提供方法および提供プログラム
JP2019149200A (ja) * 2019-05-09 2019-09-05 ヤフー株式会社 提供装置、提供方法および提供プログラム
WO2021044460A1 (ja) * 2019-09-02 2021-03-11 日本電気株式会社 ユーザ・商品マップ推定装置、方法およびプログラム
JP2021039715A (ja) * 2019-08-30 2021-03-11 バイドゥ オンライン ネットワーク テクノロジー (ベイジン) カンパニー リミテッド コンテンツ埋込方法、装置、電子デバイス、記憶媒体、及びプログラム
US11308513B2 (en) * 2019-11-12 2022-04-19 Capital One Services, Llc Habit-based rewards systems and methods

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8682823B2 (en) * 2007-04-13 2014-03-25 A-Life Medical, Llc Multi-magnitudinal vectors with resolution based on source vector features
US7908552B2 (en) 2007-04-13 2011-03-15 A-Life Medical Inc. Mere-parsing with boundary and semantic driven scoping
CN103984742A (zh) * 2014-05-23 2014-08-13 国家电网公司 基于协同过滤的推荐方法
CN105446972B (zh) * 2014-06-17 2022-06-10 阿里巴巴集团控股有限公司 基于及融合用户关系数据的搜索方法、装置和系统
US9996575B2 (en) * 2014-10-30 2018-06-12 Twitter, Inc. Automated social message stream population
US10339171B2 (en) * 2014-11-24 2019-07-02 RCRDCLUB Corporation Dynamic feedback in a recommendation system
US10055489B2 (en) * 2016-02-08 2018-08-21 Ebay Inc. System and method for content-based media analysis
JP7006402B2 (ja) * 2018-03-14 2022-01-24 富士通株式会社 クラスタリングプログラム、クラスタリング方法およびクラスタリング装置

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AUPQ903400A0 (en) * 2000-07-27 2000-08-17 Oh, Young June Navigable search engine
JP2006048286A (ja) * 2004-08-03 2006-02-16 Sony Corp 情報処理装置および方法、並びにプログラム
JP4591217B2 (ja) * 2005-06-07 2010-12-01 富士ゼロックス株式会社 推薦情報提供システム
US7716236B2 (en) * 2006-07-06 2010-05-11 Aol Inc. Temporal search query personalization
JP4433326B2 (ja) * 2007-12-04 2010-03-17 ソニー株式会社 情報処理装置および方法、並びにプログラム
US7984004B2 (en) * 2008-01-17 2011-07-19 Microsoft Corporation Query suggestion generation
US7895208B2 (en) * 2008-02-26 2011-02-22 International Business Machines Corporation Device, system, and method of creating virtual social networks based on web-extracted features
JP5135024B2 (ja) * 2008-03-27 2013-01-30 株式会社東芝 コンテンツのシーン出現を通知する装置、方法およびプログラム
JP5166949B2 (ja) * 2008-04-10 2013-03-21 株式会社エヌ・ティ・ティ・ドコモ レコメンド情報生成装置およびレコメンド情報生成方法
JP2010067175A (ja) * 2008-09-12 2010-03-25 Toshiba Corp ハイブリッド型コンテンツ推薦サーバ、推薦システムおよび推薦方法
US9215423B2 (en) * 2009-03-30 2015-12-15 Time Warner Cable Enterprises Llc Recommendation engine apparatus and methods
WO2010141429A1 (en) * 2009-06-01 2010-12-09 Sean Christopher Timm Providing suggested web search queries based on click data of stored search queries
CN102193934B (zh) * 2010-03-11 2013-05-29 株式会社理光 用于寻找图像集合中的代表性图像的系统和方法

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPWO2015190141A1 (ja) * 2014-06-13 2017-04-20 ソニー株式会社 情報処理装置、情報処理方法、およびプログラム
WO2015190141A1 (ja) * 2014-06-13 2015-12-17 ソニー株式会社 情報処理装置、情報処理方法、およびプログラム
JP2016053784A (ja) * 2014-09-03 2016-04-14 富士ゼロックス株式会社 情報推薦プログラム及び情報処理装置
JP2018088051A (ja) * 2016-11-28 2018-06-07 ヤフー株式会社 情報処理装置、情報処理方法、およびプログラム
JP6224856B1 (ja) * 2017-02-21 2017-11-01 ヤフー株式会社 提供装置、提供方法および提供プログラム
JP2018136721A (ja) * 2017-02-21 2018-08-30 ヤフー株式会社 提供装置、提供方法および提供プログラム
JP2019149035A (ja) * 2018-02-27 2019-09-05 ヤフー株式会社 提供装置、提供方法および提供プログラム
JP2019149200A (ja) * 2019-05-09 2019-09-05 ヤフー株式会社 提供装置、提供方法および提供プログラム
JP7133508B2 (ja) 2019-05-09 2022-09-08 ヤフー株式会社 提供装置、提供方法および提供プログラム
JP7051190B2 (ja) 2019-08-30 2022-04-11 バイドゥ オンライン ネットワーク テクノロジー(ペキン) カンパニー リミテッド コンテンツ埋込方法、装置、電子デバイス、記憶媒体、及びプログラム
JP2021039715A (ja) * 2019-08-30 2021-03-11 バイドゥ オンライン ネットワーク テクノロジー (ベイジン) カンパニー リミテッド コンテンツ埋込方法、装置、電子デバイス、記憶媒体、及びプログラム
WO2021044460A1 (ja) * 2019-09-02 2021-03-11 日本電気株式会社 ユーザ・商品マップ推定装置、方法およびプログラム
JPWO2021044460A1 (ja) * 2019-09-02 2021-03-11
JP7310899B2 (ja) 2019-09-02 2023-07-19 日本電気株式会社 ユーザ・商品マップ推定装置、方法およびプログラム
US11308513B2 (en) * 2019-11-12 2022-04-19 Capital One Services, Llc Habit-based rewards systems and methods
US11830024B2 (en) 2019-11-12 2023-11-28 Capital One Services, Llc Habit-based rewards systems and methods

Also Published As

Publication number Publication date
CN103198089A (zh) 2013-07-10
US20130124536A1 (en) 2013-05-16

Similar Documents

Publication Publication Date Title
JP2013105309A (ja) 情報処理装置、情報処理方法、及びプログラム
US9864747B2 (en) Content recommendation device, recommended content search method, and program
US8577962B2 (en) Server apparatus, client apparatus, content recommendation method, and program
JP5171718B2 (ja) コンテンツ推薦装置、方法、及びプログラム
US9946761B2 (en) Recommendation for diverse content
US20130268513A1 (en) Annotations based on hierarchical categories and groups
JP5395729B2 (ja) 情報提示装置
CN110430476A (zh) 直播间搜索方法、系统、计算机设备和存储介质
JP2005310094A (ja) キーワード拡張装置と方法およびコンテンツ検索システムならびにコンテンツ情報提供システムと方法およびグループ化条件決定装置と方法ならびにプログラム
JP5469046B2 (ja) 情報検索装置、情報検索方法及び情報検索プログラム
JP2011097417A (ja) 情報提示装置及び携帯端末
CN112507163B (zh) 时长预测模型训练方法、推荐方法、装置、设备及介质
US20210357450A1 (en) Analyzing captured sound and seeking a match for temporal and geographic presentation and navigation of linked cultural, artistic and historic content
JP6767342B2 (ja) 検索装置、検索方法および検索プログラム
WO2011101527A1 (en) Method for providing a recommendation to a user
JP2011107808A (ja) コンテンツ推薦装置、コンテンツ推薦方法、及びコンテンツ推薦プログラム
CN109168047A (zh) 视频推荐方法、装置、服务器及存储介质
US20150160847A1 (en) System and method for searching through a graphic user interface
JP5250381B2 (ja) 索引ビデオ生成装置、動画像検索装置及び動画像検索システム
JP5827874B2 (ja) キーワード取得装置、コンテンツ提供システム、キーワード取得方法、プログラム及びコンテンツ提供方法
JP5874547B2 (ja) 情報選択装置、情報選択方法、端末装置およびコンピュータプログラム
JP2003162543A (ja) コンテンツ管理装置、コンテンツ管理方法、コンテンツ管理プログラム、及びコンテンツ管理プログラムを記録した記録媒体
JP6310529B1 (ja) 検索装置、検索方法および検索プログラム
JP2005202485A (ja) 映像提示装置
JP5008250B2 (ja) 情報処理装置および方法、プログラム、並びに記録媒体