(57)【要約】【課題】より低い処理負荷で、ユーザの本質的な好みを考慮しつつ、ユーザに斬新さを感じさせるような情報をユーザに提供できるようにすること。【解決手段】対象ユーザの行動を特徴付ける第１の特徴情報と、当該行動を実施した後で前記対象ユーザが行った行動を特徴付ける第２の特徴情報と、の差を表す差分特徴情報、及び前記対象ユーザが新たに行った行動を特徴付ける第３の特徴情報に応じて、第４の特徴情報を得る差分適用部と、前記第４の特徴情報に応じた情報を抽出する対象抽出部と、を備える、情報処理装置が提供される。【選択図】図１０
2013105309.tif 000002
【特許請求の範囲】
【請求項１】
対象ユーザの行動を特徴付ける第１の特徴情報と、当該行動を実施した後で前記対象ユーザが行った行動を特徴付ける第２の特徴情報と、の差を表す差分特徴情報、及び前記対象ユーザが新たに行った行動を特徴付ける第３の特徴情報に応じて、第４の特徴情報を得る差分適用部と、
前記第４の特徴情報に応じた情報を抽出する対象抽出部と、
を備える、
情報処理装置。
【請求項２】
前記第１の特徴情報は、対象ユーザが選択した一又は複数のコンテンツであり、
前記第２の特徴情報は、前記ユーザが一又は複数のコンテンツを選択した後で前記対象ユーザが選択したコンテンツである、
請求項１に記載の情報処理装置。
【請求項３】
前記差分適用部は、前記第３の特徴情報に前記差分特徴情報を作用させて第４の特徴情報を得る、
請求項１に記載の情報処理装置。
【請求項４】
前記第１の特徴情報は、第１の特徴ベクトルで表現され、
前記第２の特徴情報は、第２の特徴ベクトルで表現され、
前記差分特徴情報は、特徴量空間における前記第１の特徴ベクトルと前記第２の特徴ベクトルとの差分を表す差分特徴ベクトルで表現され、
前記第３の特徴情報は、第３の特徴ベクトルで表現され、
前記差分適用部は、前記第４の特徴情報として、前記第３の特徴ベクトルと前記差分特徴ベクトルとを合成した第４の特徴ベクトルを得る、
請求項２に記載の情報処理装置。
【請求項５】
前記第１の特徴ベクトルは、前記対象ユーザが選択した一又は複数のコンテンツから抽出された特徴的な単語群で構成される第１のワードベクトルに基づいて得られ、
前記第２の特徴ベクトルは、前記一又は複数のコンテンツを選択した後で前記対象ユーザが選択したコンテンツから抽出された特徴的な単語群で構成される第２のワードベクトルに基づいて得られる、
請求項４に記載の情報処理装置。
【請求項６】
前記第１の特徴ベクトルは、前記対象ユーザが選択した一又は複数のコンテンツから抽出された特徴的な単語群で構成される第１のワードベクトルを次元圧縮して得られ、
前記第２の特徴ベクトルは、前記一又は複数のコンテンツを選択した後で前記対象ユーザが選択したコンテンツから抽出された特徴的な単語群で構成される第２のワードベクトルを、前記第１の特徴ベクトルを規定する特徴量空間にマッピングして得られる、
請求項５に記載の情報処理装置。
【請求項７】
前記第１のワードベクトルを構成する各単語には当該各単語の重要度に応じた重み値が設定され、前記第１の特徴ベクトルを得る際に当該重み値が考慮され、
前記第２のワードベクトルを構成する各単語には、当該各単語の重要度に応じた重み値が設定され、前記第２の特徴ベクトルを得る際に当該重み値が考慮される、
請求項５に記載の情報処理装置。
【請求項８】
前記差分適用部は、前記差分特徴情報に所定の重みを付与した上で前記第３の特徴情報に作用させて前記第４の特徴情報を得る、
請求項３に記載の情報処理装置。
【請求項９】
前記第１の特徴情報は、前記対象ユーザが選択した一又は複数のコンテンツから抽出された特徴的な単語群で構成される第１のワードベクトルであり、
前記第２の特徴情報は、前記一又は複数のコンテンツを選択した後で前記対象ユーザが選択したコンテンツから抽出された特徴的な単語群で構成される第２のワードベクトルであり、
前記差分特徴情報は、前記第１のワードベクトルに含まれるが前記第２のワードベクトルに含まれない単語群で構成される消失ワードベクトルと、前記第２のワードベクトルに含まれるが前記第１のワードベクトルに含まれない単語群で構成される出現ワードベクトルと、で構成される、
請求項１に記載の情報処理装置。
【請求項１０】
前記第３の特徴情報は、前記対象ユーザが新たに選択したコンテンツから抽出された特徴的な単語群で構成される第３のワードベクトルであり、
前記差分適用部は、
前記消失ワードベクトルに含まれる単語が前記第３のワードベクトルに含まれる場合に当該消失ワードベクトルに含まれる単語を前記第３のワードベクトルから削除し、
前記出現ワードベクトルに含まれる単語であって前記第３のワードベクトルに含まれない単語が存在する場合に当該出現ワードベクトルに含まれる単語を前記第３のワードベクトルに追加して、前記第４の特徴情報を得る、
請求項９に記載の情報処理装置。
【請求項１１】
異なるカテゴリに属する第１の特徴空間と第２の特徴空間との間で当該両特徴空間内の点を相互に対応付けたマッピング情報を利用し、前記第１の特徴空間において得られた前記差分特徴ベクトルを前記第２の特徴空間に写像する差分写像部をさらに備え、
前記差分適用部は、前記第２の特徴空間が属するカテゴリにおいて前記対象ユーザが新たに選択したコンテンツを特徴付ける第３の特徴ベクトルと、前記第２の特徴空間に写像された差分特徴ベクトルとを合成して前記第４の特徴ベクトルを得る、
請求項４に記載の情報処理装置。
【請求項１２】
前記差分適用部は、ユーザの行動を特徴付ける複数の特徴情報から、前記第３の特徴情報に近い特徴を有する特徴情報を選択し、選択した特徴情報に対応する差分特徴情報を利用して前記第４の特徴情報を得る、
請求項１に記載の情報処理装置。
【請求項１３】
前記差分適用部は、ユーザの行動を特徴付ける複数の特徴情報をクラスタリングして得られた複数のクラスタの中から、前記第３の特徴情報に近い特徴を有するクラスタを選択し、選択したクラスタを代表する特徴情報に対応した差分特徴情報を利用して前記第４の特徴情報を得る、
請求項１に記載の情報処理装置。
【請求項１４】
情報をユーザに提供する情報提供部をさらに備え、
前記差分適用部は、ユーザの行動を特徴付ける複数の特徴情報から、前記第３の特徴情報に近い特徴を有する特徴情報を選択し、
前記情報提供部は、前記差分適用部が選択した特徴情報に対応する差分特徴情報をユーザに提供して当該差分特徴情報の選択を促し、
前記差分適用部は、ユーザにより選択された差分特徴情報を利用して前記第４の特徴情報を得る、
請求項１に記載の情報処理装置。
【請求項１５】
情報をユーザに提供する情報提供部をさらに備え、
前記差分適用部は、ユーザの行動を特徴付ける複数の特徴情報をクラスタリングして得られた複数のクラスタの中から、前記第３の特徴情報に近い特徴を有するクラスタを選択し、
前記情報提供部は、前記差分適用部が選択したクラスタを代表する特徴情報に対応した差分特徴情報をユーザに提供して当該差分特徴情報の選択を促し、
前記差分適用部は、ユーザにより選択された差分特徴情報を利用して前記第４の特徴情報を得る、
請求項１に記載の情報処理装置。
【請求項１６】
対象ユーザの行動を特徴付ける第１の特徴情報と、当該行動を実施した後で前記対象ユーザが行った行動を特徴付ける第２の特徴情報と、の差を表す差分特徴情報、及び前記対象ユーザが新たに行った行動を特徴付ける第３の特徴情報に応じて、第４の特徴情報を得るステップと、
前記第４の特徴情報に応じた情報を抽出するステップと、
を含む、
情報処理方法。
【請求項１７】
対象ユーザの行動を特徴付ける第１の特徴情報と、当該行動を実施した後で前記対象ユーザが行った行動を特徴付ける第２の特徴情報と、の差を表す差分特徴情報、及び前記対象ユーザが新たに行った行動を特徴付ける第３の特徴情報に応じて、第４の特徴情報を得る差分適用機能と、
前記第４の特徴情報に応じた情報を抽出する対象抽出機能と、
をコンピュータに実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、情報処理装置、情報処理方法、及びプログラムに関する。
【背景技術】
【０００２】
近年、コンテンツの視聴履歴やコンテンツの購買履歴などの行動履歴を利用してユーザに推薦すべきコンテンツを検索するシステムの開発が盛んに進められている。例えば、行動の対象となるコンテンツに付与されたメタデータから、そのコンテンツの特徴を表す特徴ベクトルを生成し、その特徴ベクトルの類似度に基づいて推薦すべきコンテンツを抽出する仕組み（内容ベースフィルタリング）が知られている。この仕組みは、ユーザが過去に選択したコンテンツと特徴が類似するコンテンツを推薦するシステムで利用される。内容ベースフィルタリングに関しては、例えば、下記の特許文献１に記載がある。
【０００３】
上記の内容ベースフィルタリングを利用すると、ユーザが過去に選択したコンテンツに類似するコンテンツばかりが推薦されてしまう。そのため、ユーザに斬新さを感じさせるようなコンテンツが推薦されないことで、ユーザが推薦結果に飽きてしまう。
【０００４】
内容ベースフィルタリングと並んで、コンテンツの推薦に広く利用されている仕組みとして協調フィルタリングが知られている。協調フィルタリングは、ユーザの行動履歴を利用する点で内容ベースフィルタリングと似ているが、コンテンツの類似性を考慮するのではなく、ユーザの類似度を考慮する仕組みである。例えば、協調フィルタリングを利用するシステムは、行動履歴から推定されるユーザの特徴に基づき、対象ユーザと類似する類似ユーザを検索し、類似ユーザが過去に選択したコンテンツを対象ユーザに推薦する。協調フィルタリングに関しては、例えば、下記の特許文献２に記載がある。
【０００５】
上記の協調フィルタリングを利用すると、行動が似た類似ユーザが選択したコンテンツが推薦されるため、対象ユーザが過去に選択したコンテンツと類似していないコンテンツが推薦されることがある。つまり、ユーザに斬新さを感じさせるようなコンテンツが推薦される機会がある。しかし、協調フィルタリングを利用するシステムにおいては、システムの利用ユーザ全体において人気のあるコンテンツが推薦されやすく、さらに、対象ユーザの嗜好とは全く関係のないノイズのようなコンテンツが推薦される可能性がある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００２−２１５６６５号公報
【特許文献２】特開２００２−３３４２５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上記のように、内容ベースフィルタリング及び協調フィルタリングは、コンテンツを推薦するシステムに広く利用されている。しかしながら、これらのフィルタリング方法を利用するシステムにおいて、ユーザの本質的な好みを考慮しつつ、ユーザに斬新さを感じさせるようなコンテンツを推薦することは困難である。また、内容ベースフィルタリングと協調フィルタリングとを組み合わせたハイブリッド型の仕組みについても研究が進められているが、システムの複雑さや処理負荷の高さなど、解決すべき課題は多い。
【０００８】
そこで、本技術は、上記のような事情を受けて考案されたものであり、より低い処理負荷で、ユーザの本質的な好みを考慮しつつ、ユーザに斬新さを感じさせるような情報をユーザに提供できるようにすることが可能な、新規かつ改良された情報処理装置、情報処理方法、及びプログラムを提供することを意図している。
【課題を解決するための手段】
【０００９】
本技術のある観点によれば、対象ユーザの行動を特徴付ける第１の特徴情報と、当該行動を実施した後で前記対象ユーザが行った行動を特徴付ける第２の特徴情報と、の差を表す差分特徴情報、及び前記対象ユーザが新たに行った行動を特徴付ける第３の特徴情報に応じて、第４の特徴情報を得る差分適用部と、前記第４の特徴情報に応じた情報を抽出する対象抽出部と、を備える、情報処理装置が提供される。
【００１０】
また、本技術の別の観点によれば、対象ユーザの行動を特徴付ける第１の特徴情報と、当該行動を実施した後で前記対象ユーザが行った行動を特徴付ける第２の特徴情報と、の差を表す差分特徴情報、及び前記対象ユーザが新たに行った行動を特徴付ける第３の特徴情報に応じて、第４の特徴情報を得るステップと、前記第４の特徴情報に応じた情報を抽出するステップと、を含む、情報処理方法が提供される。
【００１１】
また、本技術の別の観点によれば、対象ユーザの行動を特徴付ける第１の特徴情報と、当該行動を実施した後で前記対象ユーザが行った行動を特徴付ける第２の特徴情報と、の差を表す差分特徴情報、及び前記対象ユーザが新たに行った行動を特徴付ける第３の特徴情報に応じて、第４の特徴情報を得る差分適用機能と、前記第４の特徴情報に応じた情報を抽出する対象抽出機能と、をコンピュータに実現させるためのプログラムが提供される。
【発明の効果】
【００１２】
以上説明したように本技術によれば、より低い処理負荷で、ユーザの本質的な好みを考慮しつつ、ユーザに斬新さを感じさせるような情報をユーザに提供できるようにすることが可能になる。
【図面の簡単な説明】
【００１３】
【図１】四項類推の概要について説明するための説明図である。
【図２】四項類推に係る処理の流れについて説明するための説明図である。
【図３】四項類推の多次元化について説明するための説明図である。
【図４】コンテンツメタデータの構造について説明するための説明図である。
【図５】四項類推を利用した推薦方法における学習処理（オフライン処理）について説明するための説明図である。
【図６】四項類推を利用した推薦方法における推薦処理（オンライン処理）について説明するための説明図である。
【図７】本技術の実施形態に係る推薦方法の概要について説明するための説明図である。
【図８】本技術の第１実施形態に係る推薦方法（特徴ベクトルベース）の概要について説明するための説明図である。
【図９】本技術の第２実施形態に係る推薦方法（ワードベクトルベース）の概要について説明するための説明図である。
【図１０】本技術の第１実施形態に係る推薦システムの構成について説明するための説明図である。
【図１１】本技術の第１実施形態に係る推薦システムにおいて利用される特徴データベースの構成例について説明するための説明図である。
【図１２】本技術の第１実施形態に係る推薦システムにおいて利用される変動データベースの構成例について説明するための説明図である。
【図１３】本技術の第１実施形態に係る学習処理の流れ（概要）について説明するための説明図である。
【図１４】本技術の第１実施形態に係る学習処理の流れ（詳細）について説明するための説明図である。
【図１５】本技術の第１実施形態に係る推薦処理（基本方式）の流れ（概要）について説明するための説明図である。
【図１６】本技術の第１実施形態に係る推薦処理（基本方式）の流れ（詳細）について説明するための説明図である。
【図１７】本技術の第１実施形態に係る推薦処理（ユーザ選択方式）の流れ（概要）について説明するための説明図である。
【図１８】本技術の第１実施形態に係る推薦処理（ユーザ選択方式）の流れ（詳細）について説明するための説明図である。
【図１９】本技術の第１実施形態に係る推薦理由の表示方法（表示例＃１）について説明するための説明図である。
【図２０】本技術の第１実施形態に係る推薦理由の表示方法（表示例＃２）について説明するための説明図である。
【図２１】本技術の第１実施形態に係るクロスカテゴリ推薦の方法について説明するための説明図である。
【図２２】本技術の第２実施形態に係る推薦システムの構成について説明するための説明図である。
【図２３】本技術の第２実施形態に係る学習処理の流れ（概要）について説明するための説明図である。
【図２４】本技術の第２実施形態に係る学習処理の流れ（詳細）について説明するための説明図である。
【図２５】本技術の第２実施形態に係る推薦処理の流れ（概要）について説明するための説明図である。
【図２６】本技術の第２実施形態に係る推薦処理の流れ（詳細）について説明するための説明図である。
【図２７】本技術の各実施形態に係る推薦システムの各構成要素が有する機能を実現することが可能なハードウェア構成例について説明するための説明図である。
【発明を実施するための形態】
【００１４】
以下に添付図面を参照しながら、本技術に係る好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００１５】
［説明の流れについて］
ここで、以下に記載する説明の流れについて簡単に述べる。はじめに、図１及び図２を参照しながら、後述する実施形態の技術を理解する上で参考になる四項類推の概念について説明する。次いで、図３〜図６を参照しながら、四項類推を多次元化する方法及び四項類推を利用した推薦方法の一例について簡単に説明する。次いで、図７〜図９を参照しながら、後述する実施形態の概要について説明する。
【００１６】
次に、図１０〜図２１を参照しながら、本技術に係る第１実施形態について説明する。まず、図１０〜図１２を参照しながら、同実施形態に係る推薦システム１００の構成について説明する。次いで、図１３及び図１４を参照しながら、推薦システム１００において実施される学習処理の流れについて説明する。次いで、図１５〜図１８を参照しながら、推薦システム１００において実施される推薦処理の流れについて説明する。次いで、図１９及び図２０を参照しながら、同実施形態に係る推薦理由の表示方法について説明する。次いで、図２１を参照しながら、同実施形態に係るクロスカテゴリ推薦の方法について説明する。
【００１７】
次に、図２２〜図２６を参照しながら、本技術に係る第２実施形態について説明する。まず、図２２を参照しながら、同実施形態に係る推薦システム２００の構成について説明する。次いで、図２３及び図２４を参照しながら、推薦システム２００において実施される学習処理の流れについて説明する。次いで、図２５及び図２６を参照しながら、推薦システム２００において実施される推薦処理の流れについて説明する。次いで、同実施形態に係る技術（ワードベクトルベース）と第１実施形態に係る技術（特徴ベクトルベース）との組み合わせ方法について説明する。
【００１８】
次に、図２７を参照しながら、本技術の各実施形態に係る推薦システムの各構成要素が有する機能を実現することが可能なハードウェア構成例について説明する。最後に、同実施形態の技術的思想について纏め、当該技術的思想から得られる作用効果について簡単に説明する。
【００１９】
（説明項目）
１：はじめに
１−１：四項類推とは
１−２：四項類推の多次元化
１−３：四項類推を利用した推薦方法の一例
１−３−１：オフライン処理
１−３−２：オンライン処理
１−４：実施形態の概要
１−４−１：思想
１−４−２：特徴ベクトルベースの実施例
１−４−３：ワードベクトルベースの実施例
２：第１実施形態（特徴ベクトルベース）
２−１：システム構成
２−２：学習処理の流れ
２−２−１：概要
２−２−２：詳細
２−３：推薦処理の流れ（基本方式）
２−３−１：概要
２−３−２：詳細
２−４：推薦処理の流れ（ユーザ選択方式）
２−４−１：概要
２−４−２：詳細
２−５：推薦理由の表示
２−６：クロスカテゴリ推薦
３：第２実施形態（ワードベクトルベース）
３−１：システム構成
３−２：学習処理の流れ
３−２−１：概要
３−２−２：詳細
３−３：推薦処理の流れ
３−３−１：概要
３−３−２：詳細
３−４：特徴ベクトルベースとの組み合わせ
４：応用可能性について
５：ハードウェア構成例
６：まとめ
【００２０】
＜１：はじめに＞
はじめに、後述する実施形態の技術を理解する上で参考になる四項類推の概念、四項類推を利用した推薦方法、及び後述する実施形態の概要について説明する。
【００２１】
［１−１：四項類推とは（図１、図２）］
まず、図１を参照しながら、四項類推の概念について説明する。図１は、四項類推の概念について説明するための説明図である。
【００２２】
四項類推とは、人が前提知識に基づいて物事を類推する過程をモデル化したものである。「事例：Ａ→Ｂ」を前提知識として持つ人に情報Ｃを与えた場合、その人が情報Ｃから類推する情報Ｘはどのようなものであろうか。例えば、Ａとして単語「ｆｉｓｈ」、Ｂとして単語「ｓｃａｌｅ」を与えると、人は、ＡとＢとの間にある関係Ｒとして単語「ｈａｖｅ」や単語「ｃｏｖｅｒ」などで表現される概念を想起するであろう。そして、この人に情報Ｃとして単語「ｂｉｒｄ」を与え、関係Ｒに基づいて情報Ｘを類推させると、この人は、例えば、単語「ｆｅａｔｈｅｒ」や単語「ｗｉｎｇ」などを類推すると考えられる。このような人の類推過程をモデル化したものが四項類推である。
【００２３】
この四項類推に関し、前提知識として「事例：Ａ→Ｂ」を与えられた人が類推する「事例：Ｃ→Ｘ」の解Ｘを推定する技術に注目が集まっている。なお、以下では、「事例：Ａ→Ｂ」から「事例：Ｃ→Ｘ」を類推する過程を「Ａ：Ｂ＝Ｃ：Ｘ」と表現することがある。「Ａ：Ｂ＝Ｃ：Ｘ」の解Ｘを推定する技術としては、例えば、構造写像理論と呼ばれる推定方法が知られている。この推定方法は、図１に示すように、「事例：Ａ→Ｂ」におけるＡ（以下、状況Ａ）とＢ（以下、結果Ｂ）との関係Ｒを「事例：Ｃ→Ｘ」におけるＣ（以下、状況Ｃ）に適用して解Ｘ（以下、結果Ｘ）を推定するというものである。
【００２４】
つまり、上記の構造写像理論は、前提知識を構成する知識領域（以下、基底領域）の構造を、解Ｘを求める問題の領域（以下、目標領域）に写像する方法とも言える。構造写像理論に関しては、例えば、Ｄ．Ｇｅｎｔｎｅｒ，“Ｓｔｒｕｃｔｕｒｅ−Ｍａｐｐｉｎｇ：Ａ  Ｔｈｅｏｒｅｔｉｃａｌ  Ｆｒａｍｅｗｏｒｋ  ｆｏｒ  Ａｎａｌｏｐｙ”，Ｃｏｇｎｉｔｉｖｅ  Ｓｃｉｅｎｃｅ，１９８３などに記載がある。
【００２５】
上記の構造写像理論を用いると、基底領域の構造を写像する際に生じる無意味な知識を排除して、ある程度妥当な類推結果Ｘを得ることができる。例えば、図１に示すように、状況Ａとして単語「ｆｉｓｈ」が与えられた場合に、単語「ｆｉｓｈ」から類推される「青い」「小さい」などの知識を結果Ｘの推定時に排除することができる。同様に、結果Ｂとして単語「ｓｃａｌｅ」が与えられた場合に、「硬い」「透明」などの知識を結果Ｘの推定時に排除することができる。
【００２６】
構造写像理論に基づく結果Ｘの推定処理は、例えば、図２に示す処理手順で実行される。まず、図２に示すように、状況Ａと結果Ｂとの間の関係Ｒを推定する処理が実行される（Ｓ１０）。次いで、ステップＳ１０で推定された関係Ｒを基底領域から目標領域へ写像する処理が実行される（Ｓ１１）。次いで、関係Ｒを状況Ｃに適用し、結果Ｘを推定する処理が実行される（Ｓ１２）。これらステップＳ１０〜Ｓ１２の処理を実行することにより、「事例：Ａ→Ｂ」に基づいて「事例：Ｃ→Ｘ」の解Ｘが推定される。
【００２７】
以上、四項類推の概念について簡単に説明した。ここで説明した四項類推の概念をファジィ理論の視点からシステム化する研究がＫａｎｅｋｏらによりなされており、その研究成果が報告されている。例えば、Ｙｏｓｕｋｅ  Ｋａｎｅｋｏ，Ｋａｚｕｈｉｒｏ  Ｏｋａｄａ，Ｓｈｉｎｉｃｈｉｒｏ  Ｉｔｏ，Ｔａｋｕｙａ  Ｎｏｍｕｒａ  ａｎｄ  Ｔｏｍｉｈｉｒｏ  Ｔａｋａｇｉ，“Ａ  Ｐｒｏｐａｓａｌ  ｏｆ  Ａｎａｌｏｇｉｃａｌ  Ｒｅａｓｏｎｉｎｇ  Ｂａｓｅｄ  ｏｎ  Ｓｔｒｕｃｔｕｒａｌ  Ｍａｐｐｉｎｇ  ａｎｄ  Ｉｍａｇｅ  Ｓｃｈｅｍａｓ”，５ｔｈ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｓｏｆｔ  Ｃｏｍｐｕｔｉｎｇ  ａｎｄ  Ｉｎｔｅｌｌｉｇｅｎｔ  Ｓｙｓｔｅｍｓ  ａｎｄ  １１ｔｈ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｓｙｍｐｏｓｉｕｍ  ｏｎ  Ａｄｖａｎｃｅｄ  Ｉｎｔｅｌｌｉｇｅｎｔ  Ｓｙｓｔｅｍｓ（ＳＣＩＳ  ＆  ＩＳＩＳ  １０），２０１０などの報告がある。これらの報告の中で、Ｋａｎｅｋｏらは、単語の共起頻度から写像対象となる関係Ｒを抽出し、単語の品詞情報を構造として利用する推薦システムを提案している。この報告内容も四項類推の概念を理解するための一助となるであろう。
【００２８】
［１−２：四項類推の多次元化（図３、図４）］
次に、図３を参照しながら、四項類推を多次元化する方法について説明する。図３は、四項類推を多次元化する方法について説明するための説明図である。なお、四項類推の多次元化に関しては、例えば、特願２０１１−１８７８７号明細書に記載の方法が提案されている。この方法について簡単に触れておきたい。
【００２９】
図１の例は、１つの基底領域から１つの目標領域への構造写像に関するものであった。また、図１の例において、状況Ａ、結果Ｂ、状況Ｃ、結果Ｘは、それぞれ１つの単語で表現されていた。ここでは四項類推の概念を拡張し、図３に示すように、複数の基底領域から１つの目標領域へと構造を写像する方法ついて考える。また、ここでは状況Ａ、結果Ｂ、状況Ｃ、結果Ｘをそれぞれ、１つ又は複数の単語で構成されるワードベクトルにより表現することを前提に考える。なお、ここで考える方法のことを「多次元の四項類推」と呼ぶことにする。以下、多次元の四項類推の概念について簡単に説明する。
【００３０】
図３に示すように、ｎ個の基底領域（基底領域１〜基底領域ｎ）を考える。また、基底領域ｋ（ｋ＝１〜ｎ）には、「事例：Ａｋ→Ｂｋ」が属するものとする。さらに、状況Ａｋ、結果Ｂｋは、複数の単語を含むワードベクトルで表現されるものとする。また、基底領域１〜基底領域ｎの構造は、１つの目標領域へと写像されるものとする。さらに、この目標領域には、「事例：Ｃ→Ｘｊ（ｊ＝１〜ｎ）」が属するものとする。但し、状況Ａｋと結果Ｂｋとの関係Ｒｋは、「事例：Ｃ→Ｘｋ」における結果Ｘｋの推定に利用される。
【００３１】
例えば、状況Ａｋ（ｋ＝１〜ｎ）は、ある人（以下、対象ユーザ）が過去に選択したコンテンツ群から抽出される対象ユーザの嗜好を特徴付けるワードベクトルにより表現される。また、結果Ｂｋ（ｋ＝１〜ｎ）は、状況Ａｋを前提とし、そのコンテンツ群の次に対象ユーザが選択したコンテンツを特徴付けるワードベクトルにより表現される。さらに、関係Ｒｋ（ｋ＝１〜ｎ）は、状況Ａｋと結果Ｂｋとの関係を特徴付けるワードベクトルにより表現される。そして、状況Ｃは、新たに対象ユーザが選択したコンテンツを含むコンテンツ群から抽出される対象ユーザの嗜好を特徴付けるワードベクトルにより表現される。また、結果Ｘｋ（ｋ＝１〜ｎ）は、状況Ｃのワードベクトルと、関係Ｒのワードベクトルとに基づいて類推されるコンテンツを特徴付けるワードベクトルである。
【００３２】
つまり、状況Ａ１と結果Ｂ１との関係Ｒ１、及び状況Ｃを用いて結果Ｘ１が類推される。同様に、関係Ｒ２及び状況Ｃから結果Ｘ２が類推され、関係Ｒ３及び状況Ｃから結果Ｘ３が類推され、…、関係Ｒｎ及び状況Ｃから結果Ｘｎが類推される。なお、各ワードベクトルは、例えば、ＴＦ−ＩＤＦと呼ばれるアルゴリズムを利用して生成される。このＴＦ−ＩＤＦとは、文書中から特徴的な単語を抽出するためのアルゴリズムである。ＴＦ−ＩＤＦは、ＴＦ−ＩＤＦ値と呼ばれる指標を出力する。このＴＦ−ＩＤＦ値は、単語の出現頻度を表すＴＦ値と、逆出現頻度を表すＩＤＦ値との積で表現される。
【００３３】
例えば、文書ｄ中における単語ｊの出現回数をＮｊ、文書ｄ中に含まれる全単語数をＮ、全文書数をＤ、単語ｊが出現する文書数をＤｊとすると、ＴＦ値ｔｆ（ｊ，ｄ）は、下記の式（１）により表現される。また、ＩＤＦ値ｉｄｆ（ｊ）は、下記の式（２）により表現される。そして、ＴＦ−ＩＤＦ値ｔｆｉｄｆ（ｊ，ｄ）は、下記の式（３）により表現される。つまり、多くの文書中に出現する単語のＴＦ−ＩＤＦ値は下がり、特定の文書中に頻出する単語のＴＦ−ＩＤＦ値は上がる。そのため、この指標を用いることにより、個々の文書を特徴付ける単語を抽出することが可能になる。また、ＴＦ−ＩＤＦ値の高い複数の単語を抽出することにより、文書を特徴付けるワードベクトルが生成される。
【００３４】
【数１】
2013105309.tif 000003
【００３５】
ここで、料理投稿サイトを情報源として利用する実施例について考えてみたい。料理投稿サイトの多くは、ユーザが自分の創作した料理のレシピを自由に投稿できるように構成されている。また、こうした料理投稿サイトは、この料理投稿サイトを閲覧した他のユーザがレビューを記載できるように構成されている。もちろん、他の情報サイトと同様に、料理投稿サイトには、タイトル、画像、説明文といった欄が設けられている。また、料理投稿サイトの中には、材料、料理の手順、作り方のコツ、料理の生い立ち、登録カテゴリなどの欄を設けているサイトもある。これらの欄は、メタデータにより規定されている。
【００３６】
例えば、図４に示すように、ある料理投稿サイトは、Ｔｉｔｌｅ、Ｉｍａｇｅ、Ｄｅｓｃｒｉｐｔｉｏｎ、Ｉｎｇｒｅｄｉｅｎｔｓ、Ｃｏｏｋｉｎｇ  Ｐｒｏｃｅｄｕｒｅ、Ｋｎａｃｋｓ  ｏｆ  Ｃｏｏｋｉｎｇ  Ｐｒｏｃｅｄｕｒｅ、Ｒｅｖｉｅｗｓ、Ｈｉｓｔｏｒｙ、Ｃａｔｅｇｏｒｉｅｓなどのメタデータで構造が規定されている。そのうち、Ｔｉｔｌｅ、Ｄｅｓｃｒｉｐｔｉｏｎ、Ｉｎｇｒｅｄｉｅｎｔｓ、Ｃｏｏｋｉｎｇ  Ｐｒｏｃｅｄｕｒｅ、Ｋｎａｃｋｓ  ｏｆ  Ｃｏｏｋｉｎｇ  Ｐｒｏｃｅｄｕｒｅ、Ｒｅｖｉｅｗｓ、Ｈｉｓｔｏｒｙの欄は、多次元の四項類推に利用可能な情報を含む。
【００３７】
例えば、図４に示すように、Ｉｎｇｒｅｄｉｅｎｔｓ、Ｃｏｏｋｉｎｇ  Ｐｒｏｃｅｄｕｒｅ、Ｋｎａｃｋｓ  ｏｆ  Ｃｏｏｋｉｎｇ  Ｐｒｏｃｅｄｕｒｅの欄は、状況Ａ及び状況Ｃに関する情報源として利用することができる。また、Ｔｉｔｌｅ、Ｄｅｓｃｒｉｐｔｉｏｎ、Ｒｅｖｉｅｗｓの欄は、結果Ｂに関する情報源として利用することができる。さらに、Ｈｉｓｔｏｒｙの欄は、関係Ｒに関する情報源として利用することができる。
【００３８】
つまり、状況Ａ及び状況Ｃに関する情報源は、ユーザの嗜好（この例では材料、料理手順、料理のコツなど）を表す領域に設定される。一方、結果Ｂに関する情報源は、この料理投稿サイトに記載の料理を実際に食べてみた結果などが表現されている領域に設定される。また、関係Ｒに関する情報源は、状況Ａと結果Ｂとの関係（この例では、料理投稿サイトに記載の料理が生まれるまでの過程など）が表現されている領域に設定される。このように、メタデータの構造を利用することにより、状況Ａ、結果Ｂ、状況Ｃ、関係Ｒに関する情報源を容易に設定することができる。また、各領域に記載の文書から、上記のＴＦ−ＩＤＦ値などを利用して、状況Ａ、結果Ｂ、状況Ｃに対応するワードベクトルを生成することができる。
【００３９】
ここでは料理投稿サイトを情報源として利用する実施例について考えたが、他種類のサイトに関してもメタデータの構造を参照することにより、状況Ａ、結果Ｂ、状況Ｃ、関係Ｒに関する情報源を設定することができる。なお、結果Ｘに関する情報源は、結果Ｂに関する情報源と同じメタデータが付された領域に設定される。このようにして情報源が設定されると、ユーザが閲覧したサイトの履歴などから抽出されるワードベクトルを利用して、図３に示すような多次元の四項類推に基づく結果Ｘ１〜Ｘｎの推定が可能になる。
【００４０】
以上、四項類推の概念について簡単に説明した。本件発明者らは、ここで説明したような多次元の四項類推をコンテンツの推薦に応用する仕組みを考案している。この仕組みについては特願２０１１−７２３２４号明細書に詳しく記載されているが、当該仕組みと後述する実施形態との相違点を明らかにするため、その内容を簡単に紹介しておくことにする。
【００４１】
［１−３：四項類推を利用した推薦方法の一例（図５、図６）］
多次元の四項類推を利用した推薦方法は、情報処理システムにおいて、推薦に利用する事例群を学習処理により生成するオフライン処理方法と、オフライン処理で生成した事例群を利用してコンテンツを推薦するオンライン処理方法とに大きく分けられる。以下、これらオフライン処理方法及びオンライン処理方法について順に説明する。
【００４２】
（１−３−１：オフライン処理（図５））
まず、図５を参照しながら、オフライン処理方法について説明する。上記のように、オフライン処理として実行される主な処理内容は、事例群の生成である。
【００４３】
オフライン処理には、ユーザにより過去に生成されたコンテンツ群が利用される。そのため、図５に示すように、オフライン処理の前にユーザによるコンテンツの生成（（１）ユーザ記入）という処理が存在する。図５の例では、コンテンツ１〜ｎ＋１のｎ＋１個のコンテンツが用意されている。但し、より大きな番号が付されたコンテンツほど新しく生成されたものとする。まず、情報処理システムは、これらｎ＋１個のコンテンツから古い順にｎ個のコンテンツを状況Ａに関する情報源として選択する。また、情報処理システムは、最も新しいコンテンツを結果Ｂに関する情報源として選択する。ここでは状況Ａに関する情報源として選択されたｎ個のコンテンツを状況Ａ１と表現し、結果Ｂに関する情報源として選択されたコンテンツを結果Ｂ１と表現する。
【００４４】
同様に、ｑ＝１，…，ｍ−１について、情報処理システムは、古い順にｎ−ｑ個のコンテンツを状況Ａに関する情報源として選択する。また、情報処理システムは、ｑ＋１番目に新しいコンテンツを結果Ｂに関する情報源として選択する。ｑ＝１，…，ｍ−１のそれぞれについて、状況Ａに関する情報源として選択したｎ−ｑ個のコンテンツを状況Ａ（ｑ＋１）と表現し、結果Ｂに関する情報源として選択されたコンテンツを結果Ｂ（ｑ＋１）と表現する。但し、ｍは、状況Ａｍに対応するコンテンツの数が所定数となるように設定される。このようにして状況Ａｋ（ｋ＝１，…，ｍ）と結果Ｂｋとの組を抽出すると（２）、情報処理システムは、ｋ＝１，…，ｍのそれぞれについて、状況Ａｋと結果Ｂｋとの関係Ｒｋを特徴付けるワードベクトルを生成する。
【００４５】
ここでは一例として、状況Ａ１と結果Ｂ１との関係Ｒ１を特徴付けるワードベクトルの生成方法について説明する。まず、情報処理システムは、状況Ａ１に対応するｎ個のコンテンツについて、状況Ａに関する情報源として設定された領域（以下、領域Ａ）を参照し、その領域を特徴付けるワードベクトルを生成する（３）。例えば、情報処理システムは、コンテンツ１〜ｎの領域Ａをそれぞれ特徴付けるｎ本のワードベクトルを生成し、これらｎ本のワードベクトルを統合して状況Ａ１のワードベクトルに設定する。次いで、情報処理システムは、状況Ａ１のワードベクトルから単語（この例では２単語）を抽出する（４）。なお、以下の説明において、ここで抽出された単語の組を状況Ａ１のワードベクトルと呼ぶ場合もある。
【００４６】
次いで、情報処理システムは、結果Ｂ１に対応するコンテンツを対象に、結果Ｂに関する情報源として設定された領域（以下、領域Ｂ）を特徴付けるワードベクトルを生成し、そのワードベクトルを結果Ｂ１のワードベクトルに設定する（５）。次いで、情報処理システムは、結果Ｂ１のワードベクトルから単語（この例では２単語）を抽出する（６）。なお、以下の説明において、ここで抽出された単語の組を結果Ｂ１のワードベクトルと呼ぶ場合もある。次いで、情報処理システムは、状況Ａ１のワードベクトルから抽出した単語を領域Ａに含み、かつ、結果Ｂ１のワードベクトルから抽出した単語を領域Ｂに含むコンテンツを検索する（７）。
【００４７】
次いで、情報処理システムは、検索処理により抽出されたコンテンツを対象に、関係Ｒに関する情報源として設定された領域（以下、領域Ｒ）を特徴付けるワードベクトルを生成し、そのワードベクトルを関係Ｒ１のワードベクトルに設定する（８）。但し、検索処理により複数のコンテンツが抽出された場合、各コンテンツの領域Ｒをそれぞれ特徴付ける複数のワードベクトルを生成し、これら複数のワードベクトルを統合して関係Ｒのワードベクトルに設定する。このようにして生成された関係Ｒ１のワードベクトルは、状況Ａ１のワードベクトルから抽出された単語と、結果Ｂ１のワードベクトルから抽出された単語とに対応付けて情報処理システムにより保持される。
【００４８】
なお、ワードベクトルから抽出される単語の組み合わせは多数存在する。そのため、上記（４）（６）（７）（８）の処理は、全ての異なる単語の組み合わせについて実行される。そして、順次、上記（８）で生成されたワードベクトルが関係Ｒ１のワードベクトルに追加される。また、以上説明した処理は、状況Ａ１と結果Ｂ１との組み合わせについてだけではなく、状況Ａ２，…，Ａｍ、結果Ｂ２，…，Ｂｍの全ての組み合わせについて実行される。そして、関係Ｒ１，…，Ｒｍのワードベクトルが生成される。その結果、後述するオンライン処理に利用する事例群の準備が整う。
【００４９】
以上、多次元の四項類推を利用した推薦方法におけるオフライン処理方法について説明した。
【００５０】
（１−３−２：オンライン処理（図６））
次に、図６を参照しながら、オンライン処理方法について説明する。上記のように、オンライン処理として実行される主な処理内容は、事例群を利用したコンテンツの検索及び検索結果の提示である。なお、ここで言うオンライン処理とは、ユーザから推薦要求を受けた際に実行される処理のことを意味している。
【００５１】
上記の通り、オンライン処理は、推薦要求を受けた際に実行される。つまり、ユーザが新規コンテンツを選択した場合にオンライン処理が実行される。図６に示すように、新規コンテンツが選択されると（（１）ユーザ入力）、情報処理システムは、状況Ｃのワードベクトルを抽出する（２）。このとき、情報処理システムは、まず、ユーザの嗜好を表すワードベクトル（以下、嗜好ベクトル）を抽出し、新規コンテンツの状況Ｃに関する情報源として設定された領域（以下、領域Ｃ）を特徴付ける単語を用いて嗜好ベクトルを更新する。次いで、情報処理システムは、更新後の嗜好ベクトルを状況Ｃのワードベクトルに設定する。
【００５２】
次いで、情報処理システムは、状況Ｃのワードベクトルから単語（この例では２単語）を抽出する（３）。次いで、情報処理システムは、オフライン処理で生成した事例群を参照し、関係Ｒのワードベクトルから単語（この例では１単語）を抽出する（４）。次いで、情報処理システムは、状況Ｃのワードベクトルから抽出した単語が領域Ｃに出現し、かつ、関係Ｒのワードベクトルから抽出した単語が領域Ｒに出現するコンテンツを検索する（５）。次いで、情報処理システムは、検索処理により抽出されたコンテンツを示すアイテムＩＤのリスト（以下、推薦リスト）を生成する（６）。
【００５３】
状況Ｃのワードリストから抽出される単語、及び関係Ｒのワードリストから抽出される単語の組み合わせは多数存在する。そのため、推薦リストの生成処理は異なる組み合わせについて繰り返し実行され、複数の推薦リストが生成される。情報処理システムは、複数の推薦リストを統合すると共に、各推薦コンテンツに対してスコアを付与する。そして、情報処理システムは、付与したスコアに基づいて推薦対象となる推薦コンテンツの組み合わせを選択し、選択された推薦コンテンツを含む推薦リストを生成する（７）。そして、情報処理システムは、推薦要求を送ったユーザに対して推薦リストを提示する。
【００５４】
以上、多次元の四項類推を利用した推薦方法におけるオンライン処理方法について説明した。
【００５５】
以上説明したように、多次元の四項類推を利用した推薦方法は、ユーザの行動履歴から状況と結果とを結びつける関係を抽出し、この関係と新たな状況とを利用して推薦コンテンツを検索する仕組みに関する。なお、上記説明においては、ユーザの行動履歴として、ユーザによるコンテンツの選択履歴を例に挙げたが、その他の行動履歴に対しても同様のアプローチが可能であると考えられる。つまり、当該推薦方法は、過去の行動と、その行動を原因とする結果との関係性を抽出し、新たな行動を表現した情報と、抽出した関係性を表現した情報とをキー情報として推薦すべきコンテンツを推薦する仕組みであると言える。
【００５６】
但し、上記推薦方法の場合、状況を表現した情報と結果を表現した情報とを直接利用して両者の関係性を抽出しているのではなく、両情報をキー情報として検索した結果の関係性を示す欄に含まれる情報を関係性として利用している点に注意が必要である。後述する実施形態に係る技術は、原因となる行動を特徴付ける情報と、その結果となる行動を特徴付ける情報とを直接的に利用し、原因から結果に至るまでに生じたユーザの嗜好変動を的確に捉え、その嗜好変動を推薦に生かす仕組みに関する。
【００５７】
［１−４：実施形態の概要（図７〜図９）］
以下、簡単に実施形態の概要について説明する。
【００５８】
（１−４−１：思想（図７））
まず、図７を参照しながら、後述する第１及び第２実施形態に共通する技術的思想について簡単に概要を説明する。
【００５９】
本実施形態に係る技術は、ユーザの原因となる行動と、その行動の結果としてユーザがとった行動との間でユーザの嗜好が変動した成分を抽出し、ユーザの固定的な嗜好と変動する嗜好とを考慮して推薦対象を抽出するものである。その概念を模式的に示したのが図７である。図７に示すように、本実施形態に係るシステムは、原因となる行動を特徴付ける特徴情報（以下、原因特徴情報）と、結果となる行動を特徴付ける特徴情報（以下、結果特徴情報）とを用意し、結果特徴情報と原因特徴情報との差を抽出する。さらに、当該システムは、抽出した差を嗜好変動の成分（以下、変動成分）と捉え、ユーザの新たな構造に変動成分を作用させて推薦対象の抽出に用いる特徴情報（以下、推薦要因）を生成する。そして、当該システムは、生成した推薦要因に基づいて推薦対象を検索する。
【００６０】
多次元の四項類推を利用した推薦方法の場合、原因（状況）と結果との関係性を抽出する際、原因の特徴と結果の特徴とをキー情報として利用して両特徴が共起するコンテンツを検索し、その検索結果から関係性を示す情報を抽出していた。そのため、この関係性を示す情報には、原因から結果へと至るまでに生じたユーザの嗜好変動以外にも様々な要素が含まれており、本実施形態に言う変動成分を抽出しているというものではなかった。言い換えると、本実施形態に係る技術はユーザの変動的な嗜好と固定的な嗜好とを分離しているのに対し、多次元の四項類推を利用した推薦方法は嗜好の変動／固定といった概念について特段の考慮をしていなかったと言える。この点において、本実施形態の技術と、多次元の四項類推を利用した推薦方法とは大きく相違している。
【００６１】
以下、本実施形態に係る技術的思想を具現化した実施例の概要について説明する。
【００６２】
（１−４−２：特徴ベクトルベースの実施例（図８））
まず、図８を参照する。ここでは、ユーザの行動を特徴ベクトルで表現し、変動成分を特徴ベクトルの差分で表現して推薦要因を算出する仕組みについて紹介する。この仕組みの具体的な実現方法については、後述する第１実施形態の欄にて詳細に説明する。
【００６３】
図８に示すように、ユーザの行動は、ある特徴量空間Ｆにおける特徴ベクトルを利用して表現することができる。なお、ユーザの行動としては、例えば、選択、購買、閲覧、書き込み、押下、補給、食事、移動、乗車、歩行、運動、予約、歯磨き、洗濯、料理、仕事、会話、通話、文書作成、運転など、様々な例が挙げられる。これらの行動は、行動の対象となる具体物（以下、対象物）が存在している。例えば、行動「選択」「購買」に対しては、貸し出し物品や販売商品などが対象物になる。また、「補給」に対しては、水分などが対象物になる。さらに、「食事」に対しては、うどん、寿司、焼き肉などが対象物になる。これらの対象物は、単語又は単語群、或いは、写真や音声など、そのものを表現した情報（以下、コンテンツ）を用いて特定することが可能である。但し、テキスト、音楽、映像などが対象物の場合、対象物そのものがコンテンツとなる場合もある。
【００６４】
上記のようなコンテンツは、何らかの特徴量を用いて特徴付けることが可能である。例えば、テキストで表現されたコンテンツは、そのコンテンツを特徴付ける単語群で構成されたワードベクトルにより特徴付けられる。また、音楽データは、例えば、信号波形を解析して得られるテンポやコード進行などの楽曲情報で特徴付けられる。その他にも、様々な機械学習手法を利用してコンテンツの特徴を特徴付ける方法が研究されている。図８の例では、各コンテンツを特徴量空間における特徴ベクトルで表現する方法が示されている。なお、各特徴ベクトルは、ユーザの行動又は当該行動に対応するコンテンツを特徴付けるものである。また、図８には、表記の都合上、特徴量空間を規定する軸が３本（ｆ１、ｆ２、ｆ３）しか記載されていないが、特徴量空間の次元数は３に限定されない。
【００６５】
図８のように、特徴ベクトルを利用すると、原因に相当するユーザの行動は、例えば、特徴ベクトルＵＰ１により表現される。同様に、結果に相当するユーザの行動は、特徴ベクトルＣＰ１により表現される。そのため、原因から結果に至るまでに生じたユーザの嗜好変動を表す変動成分は、特徴ベクトルＲ（以下、変動ベクトルＲ）により表現することができる。この特徴ベクトルＲは、特徴ベクトルＵＰ１と特徴ベクトルＣＰ１との差分である。また、ユーザが新たな行動をとった場合、その新たな行動（新規原因に相当するユーザの行動）は、特徴ベクトルＵＰ２で表現される。そのため、新規原因に応じた推薦対象を得たい場合、システムは、推薦要因として、特徴ベクトルＵＰ２と変動ベクトルＲとを合成して特徴ベクトルＣＰ２を算出し、特徴ベクトルＣＰ２に対応する推薦対象を抽出する。
【００６６】
なお、特徴ベクトルＵＰ２と変動ベクトルＲとをそのまま合成して特徴ベクトルＣＰ２を得てもよいが、実際には、特徴ベクトルＵＰ２と変動ベクトルＲとを利用して、両者を合成した特徴ベクトルに近い特徴ベクトルＣＰ２を探索する方法が採用される。例えば、システムは、ユーザの行動履歴から原因と結果との組み合わせを多数抽出し、その原因及び結果を特徴量空間に射影して原因、結果、変動成分に対応する特徴ベクトルの組み合わせを用意する。さらに、システムは、これらの特徴ベクトルをクラスタリングし、各クラスタを代表する原因の特徴ベクトル、及び、各クラスタの特徴ベクトルから延びうる変動ベクトルＲを用意する。その上で、システムは、特徴ベクトルＵＰ２の近傍にあるクラスタを選択し、そのクラスタを代表する特徴ベクトルと変動ベクトルＲとを用いて特徴ベクトルＣＰ２を探索する。
【００６７】
以上説明したように、本実施形態に係る技術的思想を具現化する方法として、特徴ベクトルを利用した実施例が考えられる。以下では、この実施例に係る方式を特徴ベクトルベースと呼ぶことにする。なお、この方式については、後述する第１実施形態の欄にて詳細に説明する。
【００６８】
（１−４−３：ワードベクトルベースの実施例（図９））
次に、図９を参照する。ここでは、ユーザの行動をワードベクトルで表現し、変動成分をワードベクトルの差で表現して推薦要因を算出する仕組みについて紹介する。この仕組みの具体的な実現方法については、後述する第２実施形態の欄にて詳細に説明する。
【００６９】
図９に示すように、ユーザの行動を特徴付ける各コンテンツは、一又は複数の単語で構成されるワードベクトルにより表現することができる。さらに、ユーザの行動は、一又は複数のワードベクトルで構成される単語集合により特徴付けられる。例えば、原因に相当するユーザの行動は、単語集合Ａにより特徴付けられる。また、結果に相当するユーザの行動は、単語集合Ｂにより特徴付けられる。この場合、原因から結果に至るまでに生じるユーザの嗜好変動は、単語集合Ａと単語集合Ｂとの差を示す変動成分Ｒで表現される。
【００７０】
図９に示すように、この変動成分Ｒの要素は、消失単語群と出現単語群とに分けられる。消失単語群は、原因から結果に至る過程で消失した単語群である。つまり、消失単語群は、単語集合Ａには存在するが、単語集合Ｂには存在しない単語の集まりである。一方、出現単語群は、原因から結果に至る過程で新たに出現した単語群である。つまり、出現単語群は、単語集合Ａには存在しないが、単語集合Ｂには存在する単語の集まりである。このように、特徴ベクトルベースの場合には特徴ベクトルで変動成分が表現されていたものが、ワードベクトルベースの場合には単語の消失／出現で変動成分が表現される。しかし、このように異なる表現を用いても、先に説明した本実施形態に係る技術的思想が同様に具現化される点について理解されたい。
【００７１】
例えば、新規原因に相当する単語集合Ｃが与えられると、システムは、単語集合Ｃに変動成分Ｒを作用させて推薦要因となる単語集合Ｄを生成することができる。ここで言う作用とは、単語集合Ｃから消失単語群を削除すると共に、単語集合Ｃに出現単語群を追加する操作を意味する。このような操作を行うことで、原因から結果に至るまでに生じたユーザの嗜好変動が新規原因に反映され、ユーザの固定的な嗜好変動に加え、ユーザの嗜好変動を的確に反映した推薦要因を得ることが可能になる。システムは、このようにして生成した単語集合Ｄを用いて推薦対象を探索する。なお、このように単語集合を利用する方式であっても、特徴ベクトルベースの場合と同様、クラスタリング手法を用いた実際的な手法を構築することが可能である。また、当該手法と特徴ベクトルベースの手法とを組み合わせて利用することも可能である。
【００７２】
以上説明したように、本実施形態に係る技術的思想を具現化する方法として、単語集合を利用した実施例が考えられる。以下では、この実施例に係る方式をワードベクトルベースと呼ぶことにする。なお、この方式については、後述する第２実施形態の欄にて詳細に説明する。
【００７３】
＜２：第１実施形態（特徴ベクトルベース）＞
本技術の第１実施形態について説明する。本実施形態は、特徴ベクトルベースの推薦アルゴリズムに関する。
【００７４】
［２−１：システム構成（図１０〜図１２）］
まず、図１０〜図１２を参照しながら、本実施形態に係る推薦システム１００のシステム構成例について説明する。図１０〜図１２は、本実施形態に係る推薦システム１００のシステム構成例について説明するための説明図である。なお、推薦システム１００は、図２７に示すハードウェア構成を有する１台の情報処理装置又はその一部機能で構成されていてもよいし、局所又は広域ネットワークで接続された複数台の情報処理装置又はその一部機能で構成されていてもよい。もちろん、ネットワークを構成する通信回線の種別や通信方式など（例えば、ＬＡＮ、ＷＬＡＮ、ＷＡＮ、インターネット、携帯電話回線、固定電話回線、ＡＤＳＬ、光ファイバー、ＧＳＭ、ＬＴＥなど）は任意に設定することが可能である。
【００７５】
まず、図１０を参照する。図１０に示すように、推薦システム１００は、主に、ユーザ嗜好抽出エンジン１０１と、特徴データベース１０２と、コンテンツ特徴抽出エンジン１０３と、変動抽出エンジン１０４と、変動データベース１０５と、推薦エンジン１０６と、変動種別データベース１０７とにより構成される。なお、図中には明示しないが、推薦システム１００は、外部の電子機器１０、２０から情報を取得する手段を有している。また、電子機器１０、２０は、互いに異なる機器でもよいし、同じ機器でもよい。
【００７６】
ユーザが行動すると、その行動に関する情報が行動履歴としてユーザ嗜好抽出エンジン１０１及び変動抽出エンジン１０４に入力される。なお、以下では、説明の都合上、ユーザがコンテンツを選択する行動を例に挙げて説明を進めることにする。この場合、電子機器１０を操作してユーザが選択したコンテンツの情報（例えば、メタデータ）が行動履歴としてユーザ嗜好抽出エンジン１０１及び変動抽出エンジン１０４に入力される。
【００７７】
行動履歴が入力されると、ユーザ嗜好抽出エンジン１０１は、入力された行動履歴に含まれるコンテンツのメタデータを参照し、そのコンテンツを特徴付ける特徴情報ＣＰを抽出する。特徴情報ＣＰとしては、例えば、コンテンツを特徴付ける単語群で構成されるワードベクトル、又はそのワードベクトルを次元圧縮した特徴ベクトルが用いられる。以下では、説明の都合上、特徴情報ＣＰとして、ワードベクトルを次元圧縮したワードベクトルを利用する方法について説明する。
【００７８】
ユーザ嗜好抽出エンジン１０１は、行動履歴に含まれる各コンテンツについて特徴ベクトルを生成すると、生成した特徴ベクトルを特徴データベース１０２に格納する。なお、以下の説明において、各コンテンツについて生成された特徴ベクトルをＣＰと表記する。また、ユーザ嗜好抽出エンジン１０１は、各ユーザの行動履歴に含まれるコンテンツについて生成した特徴ベクトルＣＰを集め、これらを重ね合わせて当該各ユーザの嗜好を表す特徴ベクトルＵＰを生成する。そして、ユーザ嗜好抽出エンジン１０１は、生成した特徴ベクトルＵＰを特徴データベース１０２に格納する。
【００７９】
なお、特徴ベクトルＵＰの生成方法としては、例えば、あるユーザの行動履歴に含まれるコンテンツの特徴ベクトルＣＰからスコアの高い特徴ベクトルＵＰを抽出して特徴ベクトルＵＰに設定する方法が考えられる。また、他の方法として、あるユーザの行動履歴に含まれる各コンテンツからワードベクトルを抽出し、その中からスコアの高い単語を抽出して生成した新たなワードベクトルを次元圧縮して特徴ベクトルＵＰを生成する方法が考えられる。これらの方法又は他の公知の方法を用い、ユーザ毎に生成された特徴ベクトルＣＰを直接的又は間接的に重ね合わせることにより、ユーザの行動履歴を特徴付ける特徴ベクトルＵＰが生成される。
【００８０】
各コンテンツを特徴付ける特徴ベクトルＣＰ及びユーザの行動履歴を特徴付ける特徴ベクトルＵＰは、例えば、図１１に示すような構成で特徴データベース１０２に格納される。図１１の例では、特徴ベクトルの種別（ＣＰ又はＵＰ）を示す欄と、各特徴ベクトルを識別するための識別ＩＤと、特徴ベクトルの内容とが対応付けて格納されている。なお、図１１に示した特徴データベース１０２の構成は一例であり、例えば、種別を特定できるように識別ＩＤの付番ルールが設定されていれば、種別の欄は不要になる。また、次元圧縮後の特徴ベクトルを想定しているため、各要素が実数値で表示された特徴ベクトルが例示されているが、特徴量をどのような形式で表現するかに応じて特徴ベクトルの表示形式は適宜変更されうる。
【００８１】
さて、特徴データベース１０２には、ユーザの行動履歴とは無関係のコンテンツに関する特徴ベクトルＣＰも格納されうる。こうした特徴ベクトルＣＰは、コンテンツ特徴抽出エンジン１０３により生成される。コンテンツ特徴抽出エンジン１０３は、外部の情報源からコンテンツのメタデータを取得し、取得したメタデータから特徴ベクトルＣＰを生成する。例えば、コンテンツ特徴抽出エンジン１０３は、ユーザ嗜好抽出エンジン１０１が生成した特徴ベクトルＣＰ又はＵＰと同じ特徴量空間（以下、特徴量空間Ｆ）にマッピングする形で特徴ベクトルＣＰを生成する。
【００８２】
このように、特徴データベース１０２には、ユーザの行動履歴に含まれるコンテンツ及び外部のコンテンツについて得られた、特徴量空間Ｆ上の点に対応する特徴ベクトルＣＰ及びＵＰが格納されることになる。なお、特徴データベース１０２は、ユーザ嗜好抽出エンジン１０１に入力される行動履歴の更新や、コンテンツ特徴抽出エンジン１０３により取得される外部コンテンツの変化に応じて適宜更新される。
【００８３】
上記のようにして特徴データベース１０２が構築又は更新されると、変動抽出エンジン１０４は、特徴データベース１０２に格納された特徴ベクトルＣＰ及びＵＰを用いて、原因から結果に至るまで生じたユーザの嗜好変動を表す変動成分Ｒを抽出する。特徴ベクトルベースの場合、この変動成分Ｒは、原因に相当する行動履歴から得られた特徴ベクトルＵＰと、結果に相当する行動履歴から得られた特徴ベクトルＣＰ（以下、ＵＰｅ）との差分（以下、変動ベクトルＲ）で表現される。
【００８４】
まず、変動抽出エンジン１０４は、図１３に示すように、行動履歴を原因と結果との組み合わせ（以下、事例）に分ける。そして、変動抽出エンジン１０４は、各事例に該当する特徴ベクトルＵＰ及びＵＰｅを特徴データベース１０２から抽出し、それらの差分を計算して変動ベクトルＲを生成する。このようにして変動ベクトルＲを生成すると、変動抽出エンジン１０４は、生成した変動ベクトルＲを変動データベース１０５に格納する。この変動データベース１０５は、例えば、図１２に示すような構成となる。図１２に示すように、原因に相当する特徴ベクトルＵＰを特定するための識別ＩＤと、結果に相当する特徴ベクトルＵＰｅを特定するための識別ＩＤと、両者に対応する変動ベクトルＲの内容とが対応付けて格納される。なお、特徴データベース１０２の場合と同様、データベースの表示形式や構成は適宜変更可能である。
【００８５】
上記のようにして特徴データベース１０２及び変動データベース１０５が構築されると、これらのデータベースに格納された情報を利用してコンテンツの推薦が可能になる。コンテンツの推薦は、推薦エンジン１０６の機能により実現される。
【００８６】
まず、ユーザから推薦要求を受けると、推薦エンジン１０６は、その推薦要求に応じたコンテンツの推薦処理を開始する。この推薦要求は、ユーザの新たな行動に起因して発行される。例えば、ユーザが電子機器２０を操作して新たにコンテンツを選択すると、その電子機器２０から推薦エンジン１０６に推薦要求が送られる。このとき、電子機器２０は、推薦エンジン１０６に対してユーザの行動履歴（新たなコンテンツの選択行動などを示す情報）が送られる。この行動履歴を受けると、推薦エンジン１０６は、その行動履歴に含まれるコンテンツを特徴付ける特徴ベクトルＣＰから、そのユーザを特徴付ける特徴ベクトルＵＰ’を生成する。
【００８７】
このとき、特徴ベクトルＵＰ’の生成に利用する特徴ベクトルＣＰが特徴データベース１０２に格納されている場合、推薦エンジン１０６は、特徴データベース１０２から当該特徴ベクトルＣＰを取得する。一方、特徴データベース１０２に当該特徴ベクトルＣＰが格納されていない場合、推薦エンジン１０６は、電子機器２０から受けた行動履歴に含まれるコンテンツのメタデータから当該コンテンツを特徴付ける特徴ベクトルＣＰを生成する。そして、推薦エンジン１０６は、特徴ベクトルＣＰを重ね合わせて特徴ベクトルＵＰ’を生成する。なお、特徴ベクトルＵＰ’の生成方法は、ユーザ嗜好抽出エンジン１０１による特徴ベクトルＵＰの生成方法と実質的に同じである。つまり、特徴ベクトルＵＰ’も特徴ベクトルＵＰを規定する特徴量空間Ｆにマッピングされる。
【００８８】
特徴ベクトルＵＰ’を生成すると、推薦エンジン１０６は、特徴ベクトルＵＰ’と変動ベクトルＲとを利用して推薦要因となる特徴ベクトルＣＰを探索する。ここで、特徴ベクトルＣＰの探索方法について、より詳細に考察してみたい。
【００８９】
変動ベクトルＲは、変動データベース１０５に格納されている。この変動ベクトルＲは、原因から結果に至るまでに生じるユーザの嗜好変動を表すものである。例えば、あるユーザＡは、「カツ丼」を食べた後で「ホットコーヒー」を飲む傾向にあるとする。一方、あるユーザＢは、「カツ丼」を食べた後で「熱い緑茶」を飲む傾向にあるとする。こうしたユーザ毎の嗜好変動が変動ベクトルＲで表現されているのである。しかし、同じユーザＡであっても、あるときは「ホットコーヒー」を飲み、またあるときは「熱い緑茶」を飲むこともあるだろう。さらに言えば、「カツ丼」の前に食べたものや、「カツ丼」を食べるまでに行なっていた行動によっても結果の行動が変わるであろう。
【００９０】
上記のような結果行動の違いは、事例の違いとして表現される。先に説明したように、ユーザ嗜好抽出エンジン１０１は、同じユーザの行動履歴について原因と結果との組み合わせを変えて複数の事例を生成し、それらの事例について特徴ベクトルＵＰ及びＵＰｅを得ている。さらに、変動抽出エンジン１０４は、これらの特徴ベクトルＵＰ及びＵＰｅについて変動ベクトルＲを生成している。従って、事例の違いを考慮した様々な変動ベクトルＲが変動データベース１０５に格納されている。そのため、推薦エンジン１０６は、特徴ベクトルＵＰ’の近傍にある特徴ベクトルＵＰを始点とする変動ベクトルＲを選択する。さらに、推薦エンジン１０６は、選択した変動ベクトルＲを特徴ベクトルＵＰ’に合成した特徴ベクトルＵＰｅ’に近い特徴ベクトルＣＰを選択して推薦要因とする。
【００９１】
但し、似た事例が多数存在する場合には、特徴ベクトルＵＰ及びＵＰｅをそれぞれクラスタリングし、各クラスタを代表する特徴ベクトルＵＰ及びＵＰｅを選出したり、変動ベクトルＲを、クラスタ間を結ぶベクトルにマージしたりする方が好ましい。また、特徴ベクトルＵＰに対応するクラスタに複数の変動ベクトルＲが対応付けられていてもよい。さらに、各変動ベクトルＲにスコアや重み値が設定されていてもよい。クラスタリングを利用する場合、推薦エンジン１０６は、特徴ベクトルＵＰ’に近いクラスタを選択し、そのクラスタに対応する変動ベクトルＲを取得する。そして、推薦エンジン１０６は、特徴ベクトルＵＰ’に変動ベクトルＲを合成して推薦要因を探索する。
【００９２】
また、推薦エンジン１０６は、変動ベクトルＲを選択した際、選択した変動ベクトルＲに対応する変動種別の情報を変動種別データベース１０７から読み出し、推薦結果と共に変動種別の情報をユーザに提供する。例えば、変動ベクトルＲが「こってり」を表す場合、変動種別データベース１０７には、この変動ベクトルＲに対応付けて「こってり」を表すデータ（例えば、テキストデータ、音声データ、画像データなど）が変動種別の情報として格納されている。そのため、推薦エンジン１０６は、その変動ベクトルＲ及び特徴ベクトルＵＰ’に基づく推薦要因を利用して検出された推薦結果と共に、推薦理由として「こってり」を表すデータをユーザに提供する（例えば、図１９を参照）。なお、変動種別の情報は、変動ベクトルＲをユーザに選択させる場合に、その選択肢を識別するための情報として利用されてもよい（例えば、図２０を参照）。
【００９３】
以上、本実施形態に係る推薦システム１００のシステム構成について説明した。ここで説明したシステム構成は一例であり、実施の態様に応じて一部の構成要素を適宜変更することが可能である。このような変更についても当然に本実施形態の技術的範囲に属することは言うまでもない。
【００９４】
［２−２：学習処理の流れ（図１３、図１４）］
次に、図１３及び図１４を参照しながら、本実施形態に係る学習処理の流れについて説明する。なお、ここで言う学習処理とは、特徴データベース１０２、及び変動データベース１０５の構築処理を意味する。
【００９５】
（２−２−１：概要（図１３））
まず、図１３を参照する。図１３は、本実施形態に係る学習処理の概要を説明するための説明図である。また、図１３に示した処理工程は、本実施形態に係る学習処理の内容を理解しやすくするために処理手順や処理内容を簡略化して表現している点に注意されたい。
【００９６】
図１３に示すように、本実施形態に係る学習処理は、事例を生成する処理工程と、各事例について変動ベクトルＲを生成する処理工程とを含む。
【００９７】
事例を生成する処理工程では、図１３の上段に示しているように、１つの行動履歴から原因と結果との組み合わせを選択抽出する処理が行われる。例えば、図１３に示すように、行動履歴の対象となるコンテンツがｎ＋１個存在する場合、最新のコンテンツを結果Ｂ１とし、それ以前のコンテンツを原因Ａ１として事例＃１が生成される。同様に、最新のコンテンツを除いたコンテンツ群について、同様に結果Ｂ２と原因Ａ２とが選択され、事例＃２が生成される。同様の処理を繰り返し、事例＃１、…、事例＃ｍが得られる。なお、原因とされるコンテンツの数には最小数が設定されていてもよい。
【００９８】
事例＃１、…、事例＃ｍが得られると、各事例について変動ベクトルＲを生成する処理工程が実行される。例えば、事例＃１について考えると、図１３の下段に示しているように、原因Ａ１を構成するコンテンツ群から、このコンテンツ群を特徴付けるワードベクトルＷ１が抽出される。さらに、ワードベクトルＷ１の次元圧縮によって特徴ベクトルＵＰ１が得られる。なお、ここでは原因Ａ１を構成する各コンテンツの特徴ベクトルＣＰから特徴ベクトルＵＰを得る方法ではなく、ワードベクトルＷ１から直接的に特徴ベクトルＵＰ１を得る方法を例示したが、いずれの方法を用いてもよい。
【００９９】
同様に、結果Ｂ１を構成するコンテンツから、このコンテンツを特徴付けるワードベクトルＷ１’が抽出される。さらに、ワードベクトルＷ１’の次元圧縮によって特徴ベクトルＵＰｅ１が得られる。そして、特徴ベクトルＵＰｅ１から特徴ベクトルＵＰ１が減算され、変動ベクトルＲ１が生成される。ここでは事例＃１について変動ベクトルＲ１の生成方法を示したが、同様にして事例＃２、…、事例＃ｍにそれぞれ対応する変動ベクトルＲ２、…、Ｒｍが生成される。上記工程において生成された特徴ベクトルは特徴データベース１０２に格納され、変動ベクトルは変動データベース１０５に格納される。
【０１００】
以上、本実施形態に係る学習処理の概要について説明した。なお、事例＃１、…、事例＃ｍについて変動ベクトルＲが得られた時点で、事例のクラスタリングが実行されてもよい。この場合、クラスタリング後の特徴ベクトル及びマージ後の変動ベクトルが特徴データベース１０２及び変動データベース１０５にそれぞれ格納される。
【０１０１】
（２−２−２：詳細（図１４））
次に、図１４を参照する。図１４は、本実施形態に係る学習処理の流れについて説明するための説明図である。
【０１０２】
図１４に示すように、推薦システム１００は、まず、コンテンツのメタデータから、そのコンテンツを特徴付けるワードベクトルを生成する（Ｓ１０１）。次いで、推薦システム１００は、ステップＳ１０１で生成したワードベクトルを次元圧縮し、特徴量空間Ｆ上の特徴ベクトルＣＰを生成する（Ｓ１０２）。次いで、推薦システム１００は、ユーザの行動履歴から「原因→結果」の組み合わせ（事例）を抽出する（Ｓ１０３）。
【０１０３】
次いで、推薦システム１００は、ステップＳ１０３で抽出した「原因→結果」の全ての組み合わせについて、「原因」の特徴ベクトルＵＰと「結果」の特徴ベクトルＵＰｅとの差分を計算し、変動ベクトルＲを生成する（Ｓ１０４）。次いで、推薦システム１００は、特徴ベクトルＵＰをクラスタリングすると共に、変動ベクトルＲをマージする（Ｓ１０５）。次いで、推薦システム１００は、クラスタリング後の特徴ベクトルＵＰ、及び特徴ベクトルＣＰを特徴データベース１０２に格納し、マージ後の変動ベクトルＲを変動データベース１０５に格納する（Ｓ１０６）。その後、推薦システム１００は、学習処理に係る一連の処理を終了する。
【０１０４】
以上、本実施形態に係る学習処理の流れについて説明した。図１４の例では特徴ベクトルのクラスタリング及び変動ベクトルのマージを前提として処理の流れを説明したが、クラスタリング処理やマージ処理を行わない場合には当該処理に係るステップを省略することで同様に学習処理を実現することができる。
【０１０５】
［２−３：推薦処理の流れ（基本方式）（図１５、図１６）］
次に、図１５及び図１６を参照しながら、本実施形態に係る推薦処理の流れについて説明する。なお、ここでは、特徴ベクトルのクラスタリング処理及び変動ベクトルのマージ処理が行われたことを前提に説明を進めることにする。
【０１０６】
（２−３−１：概要（図１５））
まず、図１５を参照する。図１５は、本実施形態に係る推薦処理の概要について説明するための説明図である。なお、以下で説明する推薦処理は、主に推薦エンジン１０６の機能により実現される。
【０１０７】
図１５に示すように、推薦処理には、ユーザの新たな行動履歴（新規原因Ｘ）が利用される。まず、推薦エンジン１０６は、新規原因Ｘを成すコンテンツ群を特徴付けるワードベクトルＷを抽出する。次いで、推薦エンジン１０６は、抽出したワードベクトルＷを次元圧縮して特徴量空間Ｆ上の特徴ベクトルＵＰＸを生成する。次いで、推薦エンジン１０６は、特徴ベクトルＵＰＸの近傍にあるクラスタを選択し、そのクラスタを代表する特徴ベクトルＵＰＣを得る。
【０１０８】
次いで、推薦エンジン１０６は、変動データベース１０５からマージ後の変動ベクトルＲＭ１、…、ＲＭｎを取得し、それぞれを特徴ベクトルＵＰＣと合成する。次いで、推薦エンジン１０６は、合成処理により生成された特徴ベクトルＵＰＺ（ＲＭ１）、…、ＵＰＺ（ＲＭｎ）を推薦要因として利用し、推薦候補を検索する。そして、推薦エンジン１０６は、推薦候補の中から所定数の推薦結果をユーザに提示する。このとき、推薦エンジン１０６は、推薦結果と共に変動種別の情報（推薦理由）をユーザに提示する。
【０１０９】
以上、本実施形態に係る推薦処理の概要について説明した。
【０１１０】
（２−３−２：詳細（図１６））
次に、図１６を参照しながら、本実施形態に係る推薦処理の流れについて説明する。
【０１１１】
図１６に示すように、推薦エンジン１０６は、まず、推薦対象となるユーザの行動履歴を取得する（Ｓ１１１）。次いで、推薦エンジン１０６は、ステップＳ１１１で取得した行動履歴から特徴量空間Ｆ上の特徴ベクトルＵＰＸを生成する（Ｓ１１２）。このとき、推薦エンジン１０６は、新規原因となるユーザの行動履歴を特徴付けるワードベクトルを次元圧縮して特徴ベクトルＵＰＸを生成する。次いで、推薦エンジン１０６は、特徴ベクトルＵＰＸの近傍に位置するクラスタの特徴ベクトルＵＰＣを選択する（Ｓ１１３）。
【０１１２】
次いで、推薦エンジン１０６は、特徴ベクトルＵＰＣに変動ベクトルＲＭ１、…、ＲＭｎを適用した先の付近にある特徴ベクトルＣＰを探索し、その探索結果から推薦候補を抽出する（Ｓ１１４）。次いで、推薦エンジン１０６は、各変動ベクトルＲＭ１、…、ＲＭｎに対応する推薦候補を推薦理由と共にユーザに対して提示する（Ｓ１１５）。このとき、推薦理由として、各変動ベクトル各変動ベクトルＲＭ１、…、ＲＭｎに対応する変動種別の情報が提示される（例えば、図１９を参照）。その後、推薦エンジン１０６は、推薦処理に係る一連の処理を終了する。
【０１１３】
以上、本実施形態に係る推薦処理の流れについて説明した。
【０１１４】
［２−４：推薦処理の流れ（ユーザ選択方式）（図１７、図１８）］
ところで、これまでは変動ベクトルＲが推薦エンジン１０６により決められることを前提に説明を進めてきた。しかし、推薦結果を導くにあたって、嗜好変動の方向性をユーザ自身が決めたい場合もあるだろう。そこで、推薦システム１００において変動ベクトルＲを選択できるようにする仕組み（以下、ユーザ選択方式）について以下で説明する。このような選択性を持たせることにより、推薦システム１００は、推薦システムの枠を超えて、新たな関連情報の検索システムとしての機能を実現することが可能になる。
【０１１５】
（２−４−１：概要（図１７））
まず、図１７を参照する。図１７は、本実施形態に係る推薦処理（ユーザ選択方式）の概要について説明するための説明図である。なお、以下で説明する推薦処理は、主に推薦エンジン１０６の機能により実現される。
【０１１６】
図１７に示すように、推薦処理には、ユーザの新たな行動履歴（新規原因Ｘ）が利用される。まず、推薦エンジン１０６は、新規原因Ｘを成すコンテンツ群を特徴付けるワードベクトルＷを抽出する。次いで、推薦エンジン１０６は、抽出したワードベクトルＷを次元圧縮して特徴量空間Ｆ上の特徴ベクトルＵＰＸを生成する。次いで、推薦エンジン１０６は、特徴ベクトルＵＰＸの近傍にあるクラスタを選択し、そのクラスタを代表する特徴ベクトルＵＰＣを得る。
【０１１７】
次いで、推薦エンジン１０６は、変動データベース１０５からマージ後の変動ベクトルＲＭ１、…、ＲＭｎを取得し、それぞれに対応する変動種別をユーザに提示する。ユーザが変動種別を選択すると、推薦エンジン１０６は、選択された変動種別に対応する変動ベクトルＲＭＵと特徴ベクトルＵＰＣと合成する。次いで、推薦エンジン１０６は、合成処理により生成された特徴ベクトルＵＰＺ（ＲＭＵ）を推薦要因として利用し、推薦候補を検索する。そして、推薦エンジン１０６は、推薦候補の中から所定数の推薦結果をユーザに提示する。
【０１１８】
以上、本実施形態に係る推薦処理（ユーザ選択方式）の概要について説明した。
【０１１９】
（２−４−２：詳細（図１８））
次に、図１８を参照しながら、本実施形態に係る推薦処理（ユーザ選択方式）の流れについて説明する。
【０１２０】
図１８に示すように、推薦エンジン１０６は、まず、推薦対象となるユーザの行動履歴を取得する（Ｓ１２１）。次いで、推薦エンジン１０６は、ステップＳ１２１で取得した行動履歴から特徴量空間Ｆ上の特徴ベクトルＵＰＸを生成する（Ｓ１２２）。このとき、推薦エンジン１０６は、新規原因となるユーザの行動履歴を特徴付けるワードベクトルを次元圧縮して特徴ベクトルＵＰＸを生成する。次いで、推薦エンジン１０６は、特徴ベクトルＵＰＸの近傍に位置するクラスタの特徴ベクトルＵＰＣを選択する（Ｓ１２３）。
【０１２１】
次いで、推薦エンジン１０６は、変動ベクトルＲＭ１、…、ＲＭｎにそれぞれ対応する変動種別の情報をユーザに提示して選択を要求する（Ｓ１２４；例えば、図２０を参照）。次いで、推薦エンジン１０６は、選択された変動種別に対応する変動ベクトルＲＭＵを特徴ベクトルＵＰＣに適用した先の付近にある特徴ベクトルＣＰを探索し、その探索結果から推薦候補を抽出する（Ｓ１２５）。次いで、推薦エンジン１０６は、推薦候補をユーザに対して提示する（Ｓ１２６）。その後、推薦エンジン１０６は、推薦処理に係る一連の処理を終了する。
【０１２２】
以上、本実施形態に係る推薦処理の流れについて説明した。
【０１２３】
［２−５：推薦理由の表示（図１９、図２０）］
既に説明したように、推薦エンジン１０６は、推薦結果をユーザに提示する際、その推薦結果を導出した理由（推薦理由）をユーザに提示する。例えば、ユーザ選択方式でない場合、図１９に示すように、推薦エンジン１０６は、推薦結果と、その推薦結果を得るために利用した変動ベクトルＲに対応する推薦理由とを表示させる。また、ユーザ選択方式の場合、図２０に示すように、推薦エンジン１０６は、変動ベクトルＲの候補が抽出された段階で、ユーザに各変動ベクトルＲに対応する推薦理由を提示し、ユーザに推薦理由を選択させる。そして、推薦エンジン１０６は、選択された推薦理由に対応する変動ベクトルＲを利用して推薦結果を表示させる。
【０１２４】
［２−６：クロスカテゴリ推薦（図２１）］
さて、これまでは同じ特徴量空間Ｆ上で変動ベクトルＲを利用した推薦要因の探索方法について説明してきたが、以下では異なる特徴量空間Ｆ’に変動ベクトルＲを射影して推薦要因の探索を行う方法（以下、クロスカテゴリ推薦）について紹介する。クロスカテゴリ推薦は、例えば、食事に関する行動履歴から抽出されたユーザの嗜好変動を読書に関する行動の推薦に適用するといった事例に当てはまる。
【０１２５】
上記の通り、ユーザの行動履歴は、特徴量空間上の特徴ベクトルで表現される。そのため、ユーザの行動履歴から、ある特徴量空間Ｆ上で特徴ベクトルＵＰ及びＵＰｅと、変動ベクトルＲとが得られる。しかし、原因から結果に至るまでに生じるユーザの嗜好変動は、必ずしも同じ特徴量空間Ｆ内でしか表現できないものではない。例えば、嗜好変動が「安い」であるとすると、「より安い食事」の「安い」は食事に関する特徴量空間内で表現されるし、「より安い通信料」の「安い」は通信料に関する特徴量空間内で表現される。つまり、「安い」の対象同士が異なる特徴量空間の間で関係付けられていれば、「安い」の概念を異なる特徴量空間に射影することが可能なのである。
【０１２６】
具体的には、ある特徴量空間Ｆ上の特徴ベクトルと対応関係があり、かつ、異なる特徴量空間Ｆ’上で定義される特徴ベクトルを多数用意しておき、学習により、一方の特徴量空間内の点を他方の特徴量空間内の点に移す写像を得ればよい。この写像を利用すれば、図２１に示すように、原因となる特徴ベクトルＵＰ１にと結果となる特徴ベクトルＣＰ１とに基づいて得られた変動ベクトルＲを異なる特徴量空間Ｆ’における変動ベクトルＲ’に変換することができる。そして、この変動ベクトルＲ’を特徴量空間Ｆ’上の新規原因ＵＰ２に適用することで、推薦要因となる特徴ベクトルＣＰ２が得られる。つまり、本実施形態に係る技術を上記の仕組みに応用することで、あるカテゴリに属する嗜好変動を利用して他のカテゴリに属する推薦候補を好適に選出することが可能になるのである。
【０１２７】
以上、クロスカテゴリ推薦について説明した。
【０１２８】
以上、本技術の第１実施形態について説明した。ここで例示したように特徴ベクトルを利用することにより、本技術の実施形態に係る技術的思想を具現化することができる。
【０１２９】
＜３：第２実施形態（ワードベクトルベース）＞
次に、本技術の第２実施形態について説明する。本実施形態は、ワードベクトルベースの推薦アルゴリズムに関する。
【０１３０】
［３−１：システム構成（図２２）］
まず、図２２を参照しながら、本実施形態に係る推薦システム２００のシステム構成例について説明する。図２２は、本実施形態に係る推薦システム２００のシステム構成例について説明するための説明図である。なお、推薦システム２００は、図２７に示すハードウェア構成を有する１台の情報処理装置又はその一部機能で構成されていてもよいし、局所又は広域ネットワークで接続された複数台の情報処理装置又はその一部機能で構成されていてもよい。もちろん、ネットワークを構成する通信回線の種別や通信方式など（例えば、ＬＡＮ、ＷＬＡＮ、ＷＡＮ、インターネット、携帯電話回線、固定電話回線、ＡＤＳＬ、光ファイバー、ＧＳＭ、ＬＴＥなど）は任意に設定することが可能である。
【０１３１】
図２２に示すように、推薦システム２００は、主に、ユーザ嗜好抽出エンジン２０１と、特徴データベース２０２と、コンテンツ特徴抽出エンジン２０３と、変動抽出エンジン２０４と、変動データベース２０５と、推薦エンジン２０６と、変動種別データベース２０７とにより構成される。なお、図中には明示しないが、推薦システム２００は、外部の電子機器１０、２０から情報を取得する手段を有している。また、電子機器１０、２０は、互いに異なる機器でもよいし、同じ機器でもよい。
【０１３２】
ユーザが行動すると、その行動に関する情報が行動履歴としてユーザ嗜好抽出エンジン２０１及び変動抽出エンジン２０４に入力される。なお、以下では、説明の都合上、ユーザがコンテンツを選択する行動を例に挙げて説明を進めることにする。この場合、電子機器１０を操作してユーザが選択したコンテンツの情報（例えば、メタデータ）が行動履歴としてユーザ嗜好抽出エンジン２０１及び変動抽出エンジン２０４に入力される。
【０１３３】
行動履歴が入力されると、ユーザ嗜好抽出エンジン２０１は、入力された行動履歴に含まれるコンテンツのメタデータを参照し、そのコンテンツを特徴付ける特徴情報ＣＰを抽出する。本実施形態においては、特徴情報ＣＰとして、コンテンツを特徴付ける単語群で構成されるワードベクトルが用いられる。
【０１３４】
ユーザ嗜好抽出エンジン２０１は、行動履歴に含まれる各コンテンツについてワードベクトルを生成すると、生成したワードベクトルを特徴データベース２０２に格納する。なお、以下の説明において、各コンテンツについて生成されたワードベクトルをＷＣＰと表記する。また、ユーザ嗜好抽出エンジン２０１は、各ユーザの行動履歴に含まれるコンテンツについて生成したワードベクトルＷＣＰを集め、これらを重ね合わせて当該各ユーザの嗜好を表すワードベクトルＷＵＰを生成する。そして、ユーザ嗜好抽出エンジン２０１は、生成したワードベクトルＷＵＰを特徴データベース２０２に格納する。
【０１３５】
なお、ワードベクトルＷＵＰの生成方法としては、例えば、あるユーザの行動履歴に含まれるコンテンツ群を構成する単語からスコアの高い単語を抽出してワードベクトルＷＵＰに設定する方法が考えられる。また、他の方法として、あるユーザの行動履歴に含まれる各コンテンツからワードベクトルＷＣＰを抽出し、スコアの高い単語を、ワードベクトルＷＣＰを組み合わせてワードベクトルＷＵＰを生成する方法が考えられる。これらの方法又は他の公知の方法を用い、ユーザ毎に生成されたワードベクトルＷＣＰを直接的又は間接的に重ね合わせることにより、ユーザの行動履歴を特徴付けるワードベクトルＷＵＰが生成される。
【０１３６】
さて、特徴データベース２０２には、ユーザの行動履歴とは無関係のコンテンツに関するワードベクトルＷＣＰも格納されうる。こうしたワードベクトルＷＣＰは、コンテンツ特徴抽出エンジン２０３により生成される。コンテンツ特徴抽出エンジン２０３は、外部の情報源からコンテンツのメタデータを取得し、取得したメタデータからワードベクトルＷＣＰを生成する。このとき、コンテンツ特徴抽出エンジン２０３は、ユーザ嗜好抽出エンジン２０１と同様の方法でワードベクトルＷＣＰを生成する。
【０１３７】
このように、特徴データベース２０２には、ユーザの行動履歴に含まれるコンテンツ及び外部のコンテンツについて得られた多数のワードベクトルＷＣＰ及びＷＵＰが格納されることになる。なお、特徴データベース２０２は、ユーザ嗜好抽出エンジン２０１に入力される行動履歴の更新や、コンテンツ特徴抽出エンジン２０３により取得される外部コンテンツの変化に応じて適宜更新される。
【０１３８】
上記のようにして特徴データベース２０２が構築又は更新されると、変動抽出エンジン２０４は、特徴データベース２０２に格納されたワードベクトルＷＣＰ及びＷＵＰを用いて、原因から結果に至るまで生じたユーザの嗜好変動を表す変動成分Ｒを抽出する。ワードベクトルベースの場合、この変動成分Ｒは、原因に相当する行動履歴から得られたワードベクトルＷＵＰと、結果に相当する行動履歴から得られたワードベクトルＷＣＰ（以下、ＷＵＰｅ）との差で表現される。具体的には、ワードベクトルＷＵＰｅに存在するが、ワードベクトルＷＵＰに存在しない単語群（以下、出現単語群）、及び、ワードベクトルＷＵＰに存在するが、ワードベクトルＷＵＰｅに存在しない単語群（以下、消失単語群）で変動成分Ｒが表現される。
【０１３９】
まず、変動抽出エンジン２０４は、上述した第１実施形態の場合と同様に（図１３を参照）、行動履歴を原因と結果との組み合わせ（事例）に分ける。そして、変動抽出エンジン２０４は、各事例に該当するワードベクトルＷＵＰ及びＷＵＰｅを特徴データベース２０２から抽出し、それらの差を抽出して変動成分Ｒを生成する。変動成分Ｒを生成すると、変動抽出エンジン２０４は、生成した変動成分Ｒを変動データベース２０５に格納する。上記のようにして特徴データベース２０２及び変動データベース２０５が構築されると、これらのデータベースに格納された情報を利用してコンテンツの推薦が可能になる。コンテンツの推薦は、推薦エンジン２０６の機能により実現される。
【０１４０】
まず、ユーザから推薦要求を受けると、推薦エンジン２０６は、その推薦要求に応じたコンテンツの推薦処理を開始する。この推薦要求は、ユーザの新たな行動に起因して発行される。例えば、ユーザが電子機器２０を操作して新たにコンテンツを選択すると、その電子機器２０から推薦エンジン２０６に推薦要求が送られる。このとき、電子機器２０は、推薦エンジン２０６に対してユーザの行動履歴（新たなコンテンツの選択行動などを示す情報）が送られる。この行動履歴を受けると、推薦エンジン２０６は、その行動履歴に含まれるコンテンツを特徴付けるワードベクトルＷＣＰから、そのユーザを特徴付けるワードベクトルＷＵＰ’を生成する。
【０１４１】
このとき、ワードベクトルＷＵＰ’の生成に利用するワードベクトルＷＣＰが特徴データベース２０２に格納されている場合、推薦エンジン２０６は、特徴データベース２０２から当該ワードベクトルＷＣＰを取得する。一方、特徴データベース２０２に当該ワードベクトルＷＣＰが格納されていない場合、推薦エンジン２０６は、電子機器２０から受けた行動履歴に含まれるコンテンツのメタデータから当該コンテンツを特徴付けるワードベクトルＷＣＰを生成する。そして、推薦エンジン２０６は、ワードベクトルＷＣＰを重ね合わせてワードベクトルＷＵＰ’を生成する。なお、ワードベクトルＷＵＰ’の生成方法は、ユーザ嗜好抽出エンジン２０１によるワードベクトルＷＵＰの生成方法と実質的に同じである。
【０１４２】
ワードベクトルＷＵＰ’を生成すると、推薦エンジン２０６は、ワードベクトルＷＵＰ’と変動成分Ｒとを利用して推薦要因となるワードベクトルＷＣＰ”の集合を生成する。具体的には、推薦エンジン２０６が、変動成分Ｒを選択し、選択した変動成分ＲをワードベクトルＷＵＰ’に合成して推薦要因とする。変動成分Ｒは、変動データベース２０５に格納されている。この変動成分Ｒは、原因から結果に至るまでに生じるユーザの嗜好変動を表すものである。
【０１４３】
但し、似た事例が多数存在する場合には、事例をクラスタリングし、各クラスタを代表するワードベクトルＷＵＰ及びＷＵＰｅを選出したり、変動成分Ｒをクラスタ間の変動を表現した単語集合にマージしたりする方が好ましい。また、ワードベクトルＷＵＰに対応するクラスタに複数の変動成分Ｒが対応付けられていてもよい。さらに、各変動成分Ｒにスコアや重み値が設定されていてもよい。クラスタリングを利用する場合、推薦エンジン２０６は、ワードベクトルＷＵＰ’に近いクラスタを選択し、そのクラスタに対応する変動成分Ｒを取得する。そして、推薦エンジン２０６は、ワードベクトルＷＵＰ’に変動成分Ｒを合成して推薦要因を生成する。
【０１４４】
また、推薦エンジン２０６は、変動成分Ｒを選択した際、選択した変動成分Ｒに対応する変動種別の情報を変動種別データベース２０７から読み出し、推薦結果と共に変動種別の情報をユーザに提供する。例えば、変動成分Ｒが「あっさり」を表す場合、変動種別データベース２０７には、この変動成分Ｒに対応付けて「あっさり」を表すデータ（例えば、テキストデータ、音声データ、画像データなど）が変動種別の情報として格納されている。そのため、推薦エンジン２０６は、その変動成分Ｒ及びワードベクトルＷＵＰ’に基づく推薦要因を利用して検出された推薦結果と共に、推薦理由として「あっさり」を表すデータをユーザに提供する（例えば、図１９を参照）。なお、変動種別の情報は、変動成分Ｒをユーザに選択させる場合に、その選択肢を識別するための情報として利用されてもよい（例えば、図２０を参照）。
【０１４５】
以上、本実施形態に係る推薦システム２００のシステム構成について説明した。ここで説明したシステム構成は一例であり、実施の態様に応じて一部の構成要素を適宜変更することが可能である。このような変更についても当然に本実施形態の技術的範囲に属することは言うまでもない。
【０１４６】
［３−２：学習処理の流れ（図２３、図２４）］
次に、図２３及び図２４を参照しながら、本実施形態に係る学習処理の流れについて説明する。なお、ここで言う学習処理とは、特徴データベース２０２、及び変動データベース２０５の構築処理を意味する。
【０１４７】
（３−２−１：概要（図２３））
まず、図２３を参照する。図２３は、本実施形態に係る学習処理の概要を説明するための説明図である。また、図２３に示した処理工程は、本実施形態に係る学習処理の内容を理解しやすくするために処理手順や処理内容を簡略化して表現している点に注意されたい。また、事例を生成する処理工程については、上述した第１実施形態と実質的に同じであるから、ここでは説明を省略する。
【０１４８】
まず、事例＃１、…、事例＃ｍが得られると、各事例について変動成分Ｒを生成する処理工程が実行される。例えば、ある事例について考えると、図２３に示しているように、原因Ａを構成するコンテンツ群から、このコンテンツ群を特徴付ける一又は複数のワードベクトルＷＣＰ（単語集合Ａ：ＷＵＰ）が抽出される。同様に、結果Ｂを構成するコンテンツから、このコンテンツを特徴付けるワードベクトルＷＣＰ（単語集合Ｂ：ＷＵＰｅ）が抽出される。そして、ワードベクトルＷＵＰｅとワードベクトルＷＵＰとの差（消失単語群及び出現単語群）が抽出され、変動成分Ｒが生成される。このような方法で事例＃１、…、事例＃ｍにそれぞれ対応する変動成分Ｒ１、…、Ｒｍが生成される。上記工程において生成されたワードベクトルは特徴データベース２０２に格納され、変動成分は変動データベース２０５に格納される。
【０１４９】
以上、本実施形態に係る学習処理の概要について説明した。なお、事例＃１、…、事例＃ｍについて変動成分Ｒが得られた時点で、事例のクラスタリングが実行されてもよい。この場合、クラスタリング後のワードベクトル及びマージ後の変動成分が特徴データベース２０２及び変動データベース２０５にそれぞれ格納される。
【０１５０】
（３−２−２：詳細（図２４））
次に、図２４を参照する。図２４は、本実施形態に係る学習処理の流れについて説明するための説明図である。
【０１５１】
図２４に示すように、推薦システム２００は、まず、コンテンツのメタデータから、そのコンテンツを特徴付けるワードベクトルＷを生成する（Ｓ２０１）。次いで、次いで、推薦システム２００は、ユーザの行動履歴から「原因→結果」の組み合わせ（事例）を抽出する（Ｓ２０２）。次いで、推薦システム２００は、ステップＳ２０２で抽出した「原因→結果」の全ての組み合わせについて、「原因」のワードベクトルＷＵＰと「結果」のワードベクトルＷＵＰｅとの差（消失単語群ｄＷ、出現単語群ａＷ）を抽出し、変動成分Ｒを生成する（Ｓ２０３）。次いで、推薦システム２００は、クラスタリング後のワードベクトルＷＵＰ、及びワードベクトルＷＣＰを特徴データベース２０２に格納し、マージ後の変動成分Ｒを変動データベース２０５に格納する（Ｓ２０４）。その後、推薦システム２００は、学習処理に係る一連の処理を終了する。
【０１５２】
以上、本実施形態に係る学習処理の流れについて説明した。図２４の例ではクラスタリング処理やマージ処理を行わない場合について説明したが、ワードベクトルのクラスタリング及び変動成分のマージを考慮した処理の流れに変形することも可能である。
【０１５３】
［３−３：推薦処理の流れ（図２５、図２６）］
次に、図２５及び図２６を参照しながら、本実施形態に係る推薦処理の流れについて説明する。
【０１５４】
（３−３−１：概要（図２５））
図２５に示すように、推薦処理には、ユーザの新たな行動履歴（新規原因Ｃ）が利用される。まず、推薦エンジン２０６は、新規原因Ｃを成すコンテンツ群を特徴付ける一又は複数のワードベクトルＷＣ（単語集合Ｃ）を抽出する。次いで、推薦エンジン２０６は、変動データベース１０５に格納された変動成分Ｒを選択し、選択した変動成分Ｒを単語集合Ｃに適用して推薦要因を生成する。具体的には、単語集合Ｃから消失単語群を削除し、その後に出現単語群を追加して推薦要因（単語集合Ｄ）が生成される。次いで、推薦エンジン２０６は、生成された推薦要因を利用して推薦候補を検索する。そして、推薦エンジン２０６は、推薦候補の中から所定数の推薦結果をユーザに提示する。このとき、推薦エンジン２０６は、推薦結果と共に変動種別の情報（推薦理由）をユーザに提示する。
【０１５５】
以上、本実施形態に係る推薦処理の概要について説明した。なお、上記説明において「単語集合」という表現を用いたが、ワードベクトルも単語集合の一例である。また、複数のワードベクトルで構成されるワードベクトル群も単語集合の一例である。
【０１５６】
（３−３−２：詳細（図２６））
次に、図２６を参照しながら、本実施形態に係る推薦処理の流れについて説明する。
【０１５７】
図２６に示すように、推薦エンジン２０６は、新規原因として、推薦対象となるユーザの行動履歴を取得する（Ｓ２１１）。次いで、推薦エンジン２０６は、ステップＳ２１１で取得した行動履歴を特徴付けるワードベクトルＷＵＰ’を生成する（Ｓ２１２）。次いで、推薦エンジン２０６は、ワードベクトルＷＵＰ’に変動成分Ｒ（消失単語群ｄＷ、出現単語群ａＷ）を適用してワードベクトルＷＵＰｅ’を生成し、このワードベクトルＷＵＰｅ’を利用して推薦候補を抽出する（Ｓ２１４）。次いで、推薦エンジン２０６は、変動成分Ｒに対応する推薦候補を推薦理由と共にユーザに対して提示する（Ｓ２１５）。その後、推薦エンジン２０６は、推薦処理に係る一連の処理を終了する。
【０１５８】
以上、本実施形態に係る推薦処理の流れについて説明した。
【０１５９】
［３−４：特徴ベクトルベースとの組み合わせ］
これまで、ワードベクトルベースの実施例について説明してきた。また、特徴ベクトルベースの実施例についても既に説明した。これらの実施例は、それぞれ独立してもちいることも可能であるが、両者を組み合わせて利用することも可能である。例えば、画像データとテキストデータとを含むコンテンツを行動の対象とする場合、画像データには特徴ベクトルベースの仕組みを適用し、テキストデータにはワードベクトルベースの仕組みを適用するといった組み合わせ手法が考えられる。また、画像データに代えて音声データや他のバイナリデータが含まれたコンテンツを行動の対象とする場合も同様である。
【０１６０】
また、特徴ベクトルベースの仕組みで抽出した推薦候補と、ワードベクトルベースの仕組みで抽出した推薦候補とを共にユーザに提示する組み合わせ手法も考えられる。さらに、この組み合わせ手法により抽出された推薦候補のスコアを算出しておき、スコアの高い順に所定数の推薦候補をユーザに提示する仕組みにしてもよい。このように、特徴ベクトルベースの仕組みと、ワードベクトルの仕組みとは相互に組み合わせることができる。また、このような組み合わせについても、当然に本技術に係る実施形態の技術的範囲に属する。
【０１６１】
以上、特徴ベクトルベースの仕組みとワードベクトルの仕組みとの組み合わせ手法について説明した。
【０１６２】
以上、本技術に係る第２実施形態について説明した。ここで例示したようにワードベクトルを利用することにより、本技術の実施形態に係る技術的思想を具現化することができる。また、特徴ベクトルベースの仕組みとの組み合わせも可能である。
【０１６３】
＜４：応用可能性について＞
これまで、説明の都合上、テキストデータを含むデジタルコンテンツを想定して説明を進めてきた。しかし、本技術の実施形態に係る技術的思想は、テキストデータを含むデジタルコンテンツ以外の行動対象に対しても適用可能である。例えば、音楽データの場合、その波形などから特徴量を抽出すれば、特徴ベクトルベースの仕組みが適用可能である。また、画像データの場合、その色やエッジ情報などから特徴量を抽出すれば、特徴ベクトルベースの仕組みが適用可能である。動画データの場合、各フレームの色やエッジ情報、フレーム内の符号化情報、フレーム間の符号化情報、シーン情報、チャプター情報などから特徴量を抽出すれば、特徴ベクトルベースの仕組みが適用可能である。
【０１６４】
また、音楽データには、アーティスト名、バイオグラフィ、ジャンル、売上、人気度、ムード情報などのメタデータが付与されていることがある。そのため、このメタデータからワードベクトルを抽出可能なため、特徴ベクトルベース及びワードベクトルの仕組みが適用可能である。同様に、画像データには、人、場所、オブジェクト、時間、撮影条件（例えば、Ｆ値、ズーム値、フラッシュの有無など）などを含むメタデータが付与されていることがある。そのため、このメタデータからワードベクトルを抽出可能なため、特徴ベクトルベース及びワードベクトルの仕組みが適用可能である。
【０１６５】
また、動画データには、出演者、ジャンル、ユーザの評価などを含むメタデータが付与されていることがある。また、映画やテレビジョン映像などの場合、スポンサー名や予告編情報などを含むメタデータが得られることがある。そのため、こうしたメタデータからワードベクトルを抽出可能なため、特徴ベクトルベース及びワードベクトルの仕組みが適用可能である。なお、本、日記、ホームページ、論文などの文章の場合、出版日、カテゴリ、ジャンル、出版社情報、著者情報などを含むメタデータが付与されていることがある。そのため、このメタデータからワードベクトルを抽出可能なため、特徴ベクトルベース及びワードベクトルの仕組みが適用可能である。
【０１６６】
その他にも、ユーザの行動履歴として、例えば、ＧＰＳ機能を利用した移動軌跡、ＰＯＳシステムなどを利用して得られる購買履歴やレンタル履歴、通話履歴、メール送受信履歴、音楽プレーヤの再生履歴、ホームページへのアクセス履歴などに利用可能である。さらに、家庭内の電力使用状況などから家電製品の使用履歴を得たり、自動車や自動二輪車などの運転履歴を得たり、公共交通機関の改札履歴を得たりして、これらの履歴を推薦に利用する行動履歴として利用することも可能である。また、推薦すべきコンテンツはデジタルコンテンツに限られず、様々な商品やサービスを含む任意の対象物が対象となる。このように、本技術の実施形態に係る技術的思想は、広い応用可能性を有する。
【０１６７】
以上、本技術の実施形態に係る技術的思想の応用可能性について述べた。もちろん、当該応用可能性は、上記の例に限定されるものではないことは言うまでもない。
【０１６８】
＜５：ハードウェア構成例（図２７）＞
上記の推薦システム１００、２００を構成する各構成要素の機能は、例えば、図２７に示す情報処理装置のハードウェア構成を用いて実現することが可能である。つまり、当該各構成要素の機能は、コンピュータプログラムを用いて図２７に示すハードウェアを制御することにより実現される。なお、このハードウェアの形態は任意であり、例えば、パーソナルコンピュータ、携帯電話、ＰＨＳ、ＰＤＡ等の携帯情報端末、ゲーム機、又は種々の情報家電がこれに含まれる。但し、上記のＰＨＳは、Ｐｅｒｓｏｎａｌ  Ｈａｎｄｙ−ｐｈｏｎｅ  Ｓｙｓｔｅｍの略である。また、上記のＰＤＡは、Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔの略である。
【０１６９】
図２７に示すように、このハードウェアは、主に、ＣＰＵ９０２と、ＲＯＭ９０４と、ＲＡＭ９０６と、ホストバス９０８と、ブリッジ９１０と、を有する。さらに、このハードウェアは、外部バス９１２と、インターフェース９１４と、入力部９１６と、出力部９１８と、記憶部９２０と、ドライブ９２２と、接続ポート９２４と、通信部９２６と、を有する。但し、上記のＣＰＵは、Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔの略である。また、上記のＲＯＭは、Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙの略である。そして、上記のＲＡＭは、Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙの略である。
【０１７０】
ＣＰＵ９０２は、例えば、演算処理装置又は制御装置として機能し、ＲＯＭ９０４、ＲＡＭ９０６、記憶部９２０、又はリムーバブル記録媒体９２８に記録された各種プログラムに基づいて各構成要素の動作全般又はその一部を制御する。ＲＯＭ９０４は、ＣＰＵ９０２に読み込まれるプログラムや演算に用いるデータ等を格納する手段である。ＲＡＭ９０６には、例えば、ＣＰＵ９０２に読み込まれるプログラムや、そのプログラムを実行する際に適宜変化する各種パラメータ等が一時的又は永続的に格納される。
【０１７１】
これらの構成要素は、例えば、高速なデータ伝送が可能なホストバス９０８を介して相互に接続される。一方、ホストバス９０８は、例えば、ブリッジ９１０を介して比較的データ伝送速度が低速な外部バス９１２に接続される。また、入力部９１６としては、例えば、マウス、キーボード、タッチパネル、ボタン、スイッチ、及びレバー等が用いられる。さらに、入力部９１６としては、赤外線やその他の電波を利用して制御信号を送信することが可能なリモートコントローラ（以下、リモコン）が用いられることもある。
【０１７２】
出力部９１８としては、例えば、ＣＲＴ、ＬＣＤ、ＰＤＰ、又はＥＬＤ等のディスプレイ装置、スピーカ、ヘッドホン等のオーディオ出力装置、プリンタ、携帯電話、又はファクシミリ等、取得した情報を利用者に対して視覚的又は聴覚的に通知することが可能な装置である。但し、上記のＣＲＴは、Ｃａｔｈｏｄｅ  Ｒａｙ  Ｔｕｂｅの略である。また、上記のＬＣＤは、Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙの略である。そして、上記のＰＤＰは、Ｐｌａｓｍａ  ＤｉｓｐｌａｙＰａｎｅｌの略である。さらに、上記のＥＬＤは、Ｅｌｅｃｔｒｏ−Ｌｕｍｉｎｅｓｃｅｎｃｅ  Ｄｉｓｐｌａｙの略である。
【０１７３】
記憶部９２０は、各種のデータを格納するための装置である。記憶部９２０としては、例えば、ハードディスクドライブ（ＨＤＤ）等の磁気記憶デバイス、半導体記憶デバイス、光記憶デバイス、又は光磁気記憶デバイス等が用いられる。但し、上記のＨＤＤは、Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅの略である。
【０１７４】
ドライブ９２２は、例えば、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリ等のリムーバブル記録媒体９２８に記録された情報を読み出し、又はリムーバブル記録媒体９２８に情報を書き込む装置である。リムーバブル記録媒体９２８は、例えば、ＤＶＤメディア、Ｂｌｕ−ｒａｙメディア、ＨＤ  ＤＶＤメディア、各種の半導体記憶メディア等である。もちろん、リムーバブル記録媒体９２８は、例えば、非接触型ＩＣチップを搭載したＩＣカード、又は電子機器等であってもよい。但し、上記のＩＣは、Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔの略である。
【０１７５】
接続ポート９２４は、例えば、ＵＳＢポート、ＩＥＥＥ１３９４ポート、ＳＣＳＩ、ＲＳ−２３２Ｃポート、又は光オーディオ端子等のような外部接続機器９３０を接続するためのポートである。外部接続機器９３０は、例えば、プリンタ、携帯音楽プレーヤ、デジタルカメラ、デジタルビデオカメラ、又はＩＣレコーダ等である。但し、上記のＵＳＢは、Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓの略である。また、上記のＳＣＳＩは、Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅの略である。
【０１７６】
通信部９２６は、ネットワーク９３２に接続するための通信デバイスであり、例えば、有線又は無線ＬＡＮ、Ｂｌｕｅｔｏｏｔｈ（登録商標）、又はＷＵＳＢ用の通信カード、光通信用のルータ、ＡＤＳＬ用のルータ、又は各種通信用のモデム等である。また、通信部９２６に接続されるネットワーク９３２は、有線又は無線により接続されたネットワークにより構成され、例えば、インターネット、家庭内ＬＡＮ、赤外線通信、可視光通信、放送、又は衛星通信等である。但し、上記のＬＡＮは、Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋの略である。また、上記のＷＵＳＢは、Ｗｉｒｅｌｅｓｓ  ＵＳＢの略である。そして、上記のＡＤＳＬは、Ａｓｙｍｍｅｔｒｉｃ  Ｄｉｇｉｔａｌ  Ｓｕｂｓｃｒｉｂｅｒ  Ｌｉｎｅの略である。
【０１７７】
＜６：まとめ＞
最後に、本実施形態の技術的思想について簡単に纏める。以下に記載する技術的思想は、例えば、ＰＣ、携帯電話、ゲーム機、情報端末、情報家電、カーナビゲーションシステム、撮像装置、録画再生装置、映像受像機、映像表示装置、セットトップボックス、通信装置等、種々の情報処理装置に対して適用することができる。
【０１７８】
上記の情報処理装置の機能構成は、例えば、以下のように表現することができる。下記（１）に記載の情報処理装置は、原因に相当する第１の特徴情報と、結果に相当する第２の特徴情報との差を表現した差分特徴情報を情報の抽出に用いる構成を含む。また、当該情報処理装置は、新規原因に相当する第３の特徴情報と差分特徴情報とを用いて情報の抽出に用いる第４の特徴情報を得る構成を含む。差分特徴情報を利用することにより、ユーザの嗜好変動が考慮される。一方で、第３の特徴情報が情報の抽出に用いられるため、ユーザの固定的な嗜好が考慮される。その結果、下記（１）に記載の情報処理装置により抽出される情報は、ユーザの嗜好変動と固定的な嗜好とを考慮したものとなる。つまり、ユーザの本質的な好みを考慮しつつ、ユーザに斬新さを感じさせるような情報をユーザに提供することが可能になる。なお、下記（１）に記載の情報処理装置は、ユーザの嗜好変動を特徴情報の差で表現しているため、比較的負荷の低い処理によって上記のような好適な情報を得ることができる。
【０１７９】
（１）
対象ユーザの行動を特徴付ける第１の特徴情報と、当該行動を実施した後で前記対象ユーザが行った行動を特徴付ける第２の特徴情報と、の差を表す差分特徴情報、及び前記対象ユーザが新たに行った行動を特徴付ける第３の特徴情報に応じて、第４の特徴情報を得る差分適用部と、
前記第４の特徴情報に応じた情報を抽出する対象抽出部と、
を備える、
情報処理装置。
【０１８０】
（２）
前記第１の特徴情報は、対象ユーザが選択した一又は複数のコンテンツであり、
前記第２の特徴情報は、前記ユーザが一又は複数のコンテンツを選択した後で前記対象ユーザが選択したコンテンツである、
上記（１）に記載の情報処理装置。
【０１８１】
（３）
前記差分適用部は、前記第３の特徴情報に前記差分特徴情報を作用させて第４の特徴情報を得る、
上記（１）又は（２）に記載の情報処理装置。
【０１８２】
（４）
前記第１の特徴情報は、第１の特徴ベクトルで表現され、
前記第２の特徴情報は、第２の特徴ベクトルで表現され、
前記差分特徴情報は、特徴量空間における前記第１の特徴ベクトルと前記第２の特徴ベクトルとの差分を表す差分特徴ベクトルで表現され、
前記第３の特徴情報は、第３の特徴ベクトルで表現され、
前記差分適用部は、前記第４の特徴情報として、前記第３の特徴ベクトルと前記差分特徴ベクトルとを合成した第４の特徴ベクトルを得る、
上記（２）又は（３）に記載の情報処理装置。
【０１８３】
（５）
前記第１の特徴ベクトルは、前記対象ユーザが選択した一又は複数のコンテンツから抽出された特徴的な単語群で構成される第１のワードベクトルに基づいて得られ、
前記第２の特徴ベクトルは、前記一又は複数のコンテンツを選択した後で前記対象ユーザが選択したコンテンツから抽出された特徴的な単語群で構成される第２のワードベクトルに基づいて得られる、
上記（４）に記載の情報処理装置。
【０１８４】
（６）
前記第１の特徴ベクトルは、前記対象ユーザが選択した一又は複数のコンテンツから抽出された特徴的な単語群で構成される第１のワードベクトルを次元圧縮して得られ、
前記第２の特徴ベクトルは、前記一又は複数のコンテンツを選択した後で前記対象ユーザが選択したコンテンツから抽出された特徴的な単語群で構成される第２のワードベクトルを、前記第１の特徴ベクトルを規定する特徴量空間にマッピングして得られる、
上記（５）に記載の情報処理装置。
【０１８５】
（７）
前記第１のワードベクトルを構成する各単語には当該各単語の重要度に応じた重み値が設定され、前記第１の特徴ベクトルを得る際に当該重み値が考慮され、
前記第２のワードベクトルを構成する各単語には、当該各単語の重要度に応じた重み値が設定され、前記第２の特徴ベクトルを得る際に当該重み値が考慮される、
上記（５）又は（６）に記載の情報処理装置。
【０１８６】
（８）
前記差分適用部は、前記差分特徴情報に所定の重みを付与した上で前記第３の特徴情報に作用させて前記第４の特徴情報を得る、
上記（３）に記載の情報処理装置。
【０１８７】
（９）
前記第１の特徴情報は、前記対象ユーザが選択した一又は複数のコンテンツから抽出された特徴的な単語群で構成される第１のワードベクトルであり、
前記第２の特徴情報は、前記一又は複数のコンテンツを選択した後で前記対象ユーザが選択したコンテンツから抽出された特徴的な単語群で構成される第２のワードベクトルであり、
前記差分特徴情報は、前記第１のワードベクトルに含まれるが前記第２のワードベクトルに含まれない単語群で構成される消失ワードベクトルと、前記第２のワードベクトルに含まれるが前記第１のワードベクトルに含まれない単語群で構成される出現ワードベクトルと、で構成される、
上記（１）〜（３）のいずれか１項に記載の情報処理装置。
【０１８８】
（１０）
前記第３の特徴情報は、前記対象ユーザが新たに選択したコンテンツから抽出された特徴的な単語群で構成される第３のワードベクトルであり、
前記差分適用部は、
前記消失ワードベクトルに含まれる単語が前記第３のワードベクトルに含まれる場合に当該消失ワードベクトルに含まれる単語を前記第３のワードベクトルから削除し、
前記出現ワードベクトルに含まれる単語であって前記第３のワードベクトルに含まれない単語が存在する場合に当該出現ワードベクトルに含まれる単語を前記第３のワードベクトルに追加して、前記第４の特徴情報を得る、
上記（９）に記載の情報処理装置。
【０１８９】
（１１）
異なるカテゴリに属する第１の特徴空間と第２の特徴空間との間で当該両特徴空間内の点を相互に対応付けたマッピング情報を利用し、前記第１の特徴空間において得られた前記差分特徴ベクトルを前記第２の特徴空間に写像する差分写像部をさらに備え、
前記差分適用部は、前記第２の特徴空間が属するカテゴリにおいて前記対象ユーザが新たに選択したコンテンツを特徴付ける第３の特徴ベクトルと、前記第２の特徴空間に写像された差分特徴ベクトルとを合成して前記第４の特徴ベクトルを得る、
上記（４）〜（８）のいずれか１項に記載の情報処理装置。
【０１９０】
（１２）
前記差分適用部は、ユーザの行動を特徴付ける複数の特徴情報から、前記第３の特徴情報に近い特徴を有する特徴情報を選択し、選択した特徴情報に対応する差分特徴情報を利用して前記第４の特徴情報を得る、
上記（１）〜（１１）のいずれか１項に記載の情報処理装置。
【０１９１】
（１３）
前記差分適用部は、ユーザの行動を特徴付ける複数の特徴情報をクラスタリングして得られた複数のクラスタの中から、前記第３の特徴情報に近い特徴を有するクラスタを選択し、選択したクラスタを代表する特徴情報に対応した差分特徴情報を利用して前記第４の特徴情報を得る、
上記（１）〜（１１）のいずれか１項に記載の情報処理装置。
【０１９２】
（１４）
情報をユーザに提供する情報提供部をさらに備え、
前記差分適用部は、ユーザの行動を特徴付ける複数の特徴情報から、前記第３の特徴情報に近い特徴を有する特徴情報を選択し、
前記情報提供部は、前記差分適用部が選択した特徴情報に対応する差分特徴情報をユーザに提供して当該差分特徴情報の選択を促し、
前記差分適用部は、ユーザにより選択された差分特徴情報を利用して前記第４の特徴情報を得る、
上記（１）〜（１１）のいずれか１項に記載の情報処理装置。
【０１９３】
（１５）
情報をユーザに提供する情報提供部をさらに備え、
前記差分適用部は、ユーザの行動を特徴付ける複数の特徴情報をクラスタリングして得られた複数のクラスタの中から、前記第３の特徴情報に近い特徴を有するクラスタを選択し、
前記情報提供部は、前記差分適用部が選択したクラスタを代表する特徴情報に対応した差分特徴情報をユーザに提供して当該差分特徴情報の選択を促し、
前記差分適用部は、ユーザにより選択された差分特徴情報を利用して前記第４の特徴情報を得る、
上記（１）〜（１１）のいずれか１項に記載の情報処理装置。
【０１９４】
（１６）
対象ユーザの行動を特徴付ける第１の特徴情報と、当該行動を実施した後で前記対象ユーザが行った行動を特徴付ける第２の特徴情報と、の差を表す差分特徴情報、及び前記対象ユーザが新たに行った行動を特徴付ける第３の特徴情報に応じて、第４の特徴情報を得るステップと、
前記第４の特徴情報に応じた情報を抽出するステップと、
を含む、
情報処理方法。
【０１９５】
（１７）
対象ユーザの行動を特徴付ける第１の特徴情報と、当該行動を実施した後で前記対象ユーザが行った行動を特徴付ける第２の特徴情報と、の差を表す差分特徴情報、及び前記対象ユーザが新たに行った行動を特徴付ける第３の特徴情報に応じて、第４の特徴情報を得る差分適用機能と、
前記第４の特徴情報に応じた情報を抽出する対象抽出機能と、
をコンピュータに実現させるためのプログラム。
【０１９６】
（１８）
対象ユーザの行動を特徴付ける第１の特徴情報と、当該行動を実施した後で前記対象ユーザが行った行動を特徴付ける第２の特徴情報と、の差を表す差分特徴情報、及び前記対象ユーザが新たに行った行動を特徴付ける第３の特徴情報に応じて、第４の特徴情報を得る差分適用機能と、
前記第４の特徴情報に応じた情報を抽出する対象抽出機能と、
をコンピュータに実現させるためのプログラムが記録された、コンピュータにより読み取り可能な記録媒体。
【０１９７】
（備考）
上記の推薦エンジン１０６、２０６は、差分適用部、対象抽出部、差分写像部、情報提供部の一例である。
【０１９８】
以上、添付図面を参照しながら本技術に係る好適な実施形態について説明したが、本技術はここで開示した構成例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例又は修正例に想到し得ることは明らかであり、それらについても当然に本技術の技術的範囲に属するものと了解される。
【符号の説明】
【０１９９】
１０、２０      電子機器
１００、２００    推薦システム
１０１、２０１    ユーザ嗜好抽出エンジン
１０２、２０２    特徴データベース
１０３、２０３    コンテンツ特徴抽出エンジン
１０４、２０４    変動抽出エンジン
１０５、２０５    変動データベース
１０６、２０６    推薦エンジン
１０７、２０７    変動種別データベース
【図１】
2013105309.tif 000004
【図２】
2013105309.tif 000005
【図３】
2013105309.tif 000006
【図４】
2013105309.tif 000007
【図５】
2013105309.tif 000008
【図６】
2013105309.tif 000009
【図７】
2013105309.tif 000010
【図８】
2013105309.tif 000011
【図９】
2013105309.tif 000012
【図１０】
2013105309.tif 000013
【図１１】
2013105309.tif 000014
【図１２】
2013105309.tif 000015
【図１３】
2013105309.tif 000016
【図１４】
2013105309.tif 000017
【図１５】
2013105309.tif 000018
【図１６】
2013105309.tif 000019
【図１７】
2013105309.tif 000020
【図１８】
2013105309.tif 000021
【図１９】
2013105309.tif 000022
【図２０】
2013105309.tif 000023
【図２１】
2013105309.tif 000024
【図２２】
2013105309.tif 000025
【図２３】
2013105309.tif 000026
【図２４】
2013105309.tif 000027
【図２５】
2013105309.tif 000028
【図２６】
2013105309.tif 000029
【図２７】
2013105309.tif 000030