JP2006190128A - 情報処理装置および方法、並びにプログラム - Google Patents
情報処理装置および方法、並びにプログラム Download PDFInfo
- Publication number
- JP2006190128A JP2006190128A JP2005002089A JP2005002089A JP2006190128A JP 2006190128 A JP2006190128 A JP 2006190128A JP 2005002089 A JP2005002089 A JP 2005002089A JP 2005002089 A JP2005002089 A JP 2005002089A JP 2006190128 A JP2006190128 A JP 2006190128A
- Authority
- JP
- Japan
- Prior art keywords
- item
- vector
- cluster
- user
- preference
- 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.)
- Withdrawn
Links
Images
Abstract
【課題】キーワードを含まないアイテムも推薦対象に含めるようにする。
【解決手段】 登録項目ベクトル記憶部4は、キーワードになり得る項目の特徴を示す項目ベクトルを複数記憶する。登録項目選択操作部5は、ユーザにより選択された項目をキーワードとして入力する。ユーザ嗜好ベクトル生成部6は、登録項目選択操作部5から入力されたキーワードに対応する項目ベクトルを登録項目ベクトル記憶部4から取得して、それを利用してユーザ嗜好ベクトルを生成する。推薦リスト生成部9は、ユーザ嗜好ベクトルと、アイテム特徴ベクトル記憶部1または10に記憶されたアイテム特徴ベクトルのそれぞれとの類似度を演算し、演算された類似度が所定の条件を満たすアイテム特徴ベクトルに対応するアイテムを推薦アイテムとして決定する。本発明は、ワイン等のアイテムを推薦する推薦システムに適用可能である。
【選択図】図1
【解決手段】 登録項目ベクトル記憶部4は、キーワードになり得る項目の特徴を示す項目ベクトルを複数記憶する。登録項目選択操作部5は、ユーザにより選択された項目をキーワードとして入力する。ユーザ嗜好ベクトル生成部6は、登録項目選択操作部5から入力されたキーワードに対応する項目ベクトルを登録項目ベクトル記憶部4から取得して、それを利用してユーザ嗜好ベクトルを生成する。推薦リスト生成部9は、ユーザ嗜好ベクトルと、アイテム特徴ベクトル記憶部1または10に記憶されたアイテム特徴ベクトルのそれぞれとの類似度を演算し、演算された類似度が所定の条件を満たすアイテム特徴ベクトルに対応するアイテムを推薦アイテムとして決定する。本発明は、ワイン等のアイテムを推薦する推薦システムに適用可能である。
【選択図】図1
Description
本発明は、情報処理装置および方法、並びにプログラムに関し、特に、ユーザがキーワードとして指定した項目(属性)を含まないアイテムも推薦対象に含めた上で、ユーザに推薦すべき推薦アイテムを決定することができる情報処理装置および方法、並びにプログラムに関する。
近年、情報処理システムのひとつとして、ユーザにアイテムを推薦するシステム(以下、単に推薦システムと称する)が普及してきている(例えば、特許文献1参照)。アイテムとは、例えばユーザが購入可能な商品等を指し、特許文献1ではコンテンツとされている。なお、アイテムの詳細については後述する。
従来の推薦システムは、ユーザにより選択された単語等をユーザの嗜好として明示的に登録し、登録された単語やカテゴリ(以下、登録情報と称する)をキーワードにして、ユーザに推薦すべき推薦アイテムを検索し、その検索結果をユーザに呈示することが多い。
特開2004−194107号公報
しかしながら、従来の推薦システムでは、登録情報を含まないアイテムの中から推薦することができない、といった課題があった。
その結果、従来の推薦システムでは、ユーザに推薦すべき推薦アイテムを呈示できない等、効果的なアイテムの推薦を行えないことが多かった。
なお、登録情報を含まないアイテムとは、次の通りである。
即ち、アイテムが例えば、映画や楽曲等のいわゆるコンテンツである場合には、そのコンテンツにメタデータが対応付けられていることがある。このような場合、情報処理装置は、そのコンテンツの特徴を示す情報として、そのコンテンツのメタデータを利用することが多い。即ち、情報処理装置は、登録情報をメタデータとして含むコンテンツの中から、ユーザに推薦すべきコンテンツを検索し、その検索結果をユーザに呈示することが多い。従って、登録情報をメタデータとして含まないコンテンツが、登録情報を含まないアイテムである。
なお、以下、コンテンツのメタデータを含めて、アイテムの特徴を示す情報を属性情報と称する。また、以下、属性情報の種類を、属性と称する。
この属性情報を利用してより一般的に表現すると、アイテムの販売者や推薦システムのサービス提供者等により、所定のアイテムには、1以上の属性について属性情報が対応付けられていることがある。このような場合、情報処理装置は、登録情報が属性情報として対応付けられているアイテムの中から、ユーザに推薦すべき推薦アイテムを検索し、その検索結果をユーザに呈示する。従って、登録情報が属性情報として対応付けられていないアイテムが、登録情報を含まないアイテムである。
本発明は、このような状況に鑑みてなされたものであり、ユーザがキーワードとして指定した項目(属性)を含まないアイテムも推薦対象に含めることができるようにするものである。
本発明の情報処理装置は、ユーザにより指定された所定の項目をキーワードとして、複数のアイテムの中からユーザに推薦すべき推薦アイテムを決定する情報処理装置であって、ユーザにより指定される可能性のある1以上の項目のそれぞれの特徴を示す1以上の項目ベクトルのそれぞれを記憶する記憶手段と、ユーザにより操作され、記憶手段に記憶されている1以上の項目ベクトルのそれぞれに対応する1以上の項目のうちのユーザにより選択された項目を、キーワードとして情報処理装置内に入力させる操作手段と、操作手段からキーワードが入力された場合、記憶手段に記憶されている1以上の項目ベクトルのうちの、キーワードに対応する項目ベクトルを利用して、ユーザの嗜好を示すユーザ嗜好ベクトルを生成する嗜好ベクトル生成手段と、嗜好ベクトル生成手段により生成されたユーザ嗜好ベクトルと、複数のアイテムのそれぞれの特徴を示すアイテム特徴ベクトルのそれぞれとの類似度を演算し、演算された類似度が所定の条件を満たすアイテム特徴ベクトルに対応するアイテムを、推薦アイテムとして決定する推薦手段とを備えることを特徴とする。
嗜好ベクトル生成手段は、キーワードに対応する1以上の項目ベクトルをクラスタリングし、キーワードに対応する1以上の項目ベクトルのうちの少なくとも1つを含むクラスタを、1つ以上生成する嗜好クラスタ生成手段と、嗜好クラスタ生成手段により生成された1以上のクラスタのそれぞれを注目クラスタとして順次設定し、注目クラスタに含まれる項目ベクトルを利用して、注目クラスタを代表する代表ベクトルを生成する嗜好代表ベクトル生成手段と、嗜好代表ベクトル生成手段により生成された、1以上のクラスタのそれぞれの代表ベクトルの中から、所定の条件を満たす代表ベクトルを1つ選抜し、選抜された代表ベクトルをユーザ嗜好ベクトルとして決定する嗜好ベクトル決定手段とを有するようにすることができる。
嗜好ベクトル生成手段は、キーワードに対応する1以上の項目ベクトルをクラスタリングし、キーワードに対応する1以上の項目ベクトルのうちの少なくとも1つを含むクラスタを、1つ以上生成する嗜好クラスタ生成手段と、嗜好クラスタ生成手段により生成された1以上のクラスタのうちの、項目ベクトルを最も多く含むクラスタを注目クラスタに設定し、注目クラスタに含まれる項目ベクトルを利用して、注目クラスタを代表する代表ベクトルを生成する嗜好代表ベクトル生成手段と、嗜好代表ベクトル生成手段により生成された注目クラスタの代表ベクトルを、ユーザ嗜好ベクトルとして決定する嗜好ベクトル決定手段とを有するようにすることができる。
ユーザにより指定される可能性のある1以上の項目のうちの所定の1つを処理対象として、処理対象の項目についての項目ベクトルを生成する項目ベクトル生成手段をさらに設けるようにすることができる。
項目ベクトル生成手段は、複数のアイテムまたはそれらとは異なる複数のアイテムのそれぞれの特徴を示すアイテム特徴ベクトルのうちの、処理対象の項目を成分として含む1以上のアイテム特徴ベクトルをクラスタリングし、処理対象の項目を成分として含む1以上のアイテム特徴ベクトルのうちの少なくとも1つを含むクラスタを、1つ以上生成する項目クラスタ生成手段と、項目クラスタ生成手段により生成された1以上のクラスタのそれぞれを注目クラスタとして順次設定し、注目クラスタに含まれるアイテム特徴ベクトルを利用して、注目クラスタを代表する代表ベクトルを生成する項目代表ベクトル生成手段と、項目代表ベクトル生成手段により生成された、1以上のクラスタのそれぞれについての代表ベクトルの中から、所定の条件を満たす代表ベクトルを1つ選抜し、選抜された代表ベクトルを、処理対象の項目についての項目ベクトルとして決定する項目ベクトル決定手段とを有するようにすることができる。
項目ベクトル生成手段は、処理対象の項目についての項目ベクトルの候補を生成する候補生成手段と、複数のアイテムまたはそれらとは異なる複数のアイテムのそれぞれの特徴を示すアイテム特徴ベクトルのうちの、候補生成手段により生成された候補と類似度が閾値以上であるアイテム特徴ベクトルと、候補とのそれぞれを含むクラスタを生成する項目クラスタ生成手段と、項目クラスタ生成手段により生成されたクラスタが所定の条件を満たすか否かを判定し、クラスタが所定の条件を満たさないと判定した場合、新たな候補を候補生成手段に生成させ、新たな候補を含む新たなクラスタを項目クラスタ生成手段に生成させ、新たなクラスタが所定の条件を満たすか否かを再度判定し、クラスタが所定の条件を満たすと判定した場合、そのクラスタに含まれる候補を、処理対象の項目についての項目ベクトルとして決定する項目ベクトル決定手段とを有するようにすることができる。
本発明の情報処理方法は、次の情報処理装置の情報処理方法である。即ち、ユーザにより指定された所定の項目をキーワードとして、複数のアイテムの中からユーザに推薦すべき推薦アイテムを決定する情報処理装置であって、ユーザにより指定される可能性のある1以上の項目のそれぞれの特徴を示す1以上の項目ベクトルのそれぞれを記憶する記憶手段と、ユーザにより操作され、記憶手段に記憶されている1以上の項目ベクトルのそれぞれに対応する1以上の項目のうちのユーザにより選択された項目を、キーワードとして情報処理装置内に入力させる操作手段とを少なくとも備える前記情報処理装置の情報処理方法が、本発明の情報処理方法である。詳細には、本発明の情報処理方法は、操作手段からキーワードが入力された場合、記憶手段に記憶されている1以上の項目ベクトルのうちの、キーワードに対応する項目ベクトルを利用して、ユーザの嗜好を示すユーザ嗜好ベクトルを生成する嗜好ベクトル生成ステップと、生成ステップの処理により生成されたユーザ嗜好ベクトルと、複数のアイテムのそれぞれの特徴を示すアイテム特徴ベクトルのそれぞれとの類似度を演算し、演算された類似度が所定の条件を満たすアイテム特徴ベクトルに対応するアイテムを、推薦アイテムとして決定する推薦ステップとを含むことを特徴とする。
本発明のプログラムは、次の推薦装置を制御するコンピュータに実行させるプログラムである。即ち、ユーザにより指定された所定の項目をキーワードとして、複数のアイテムの中からユーザに推薦すべき推薦アイテムを決定する推薦装置であって、ユーザにより指定される可能性のある1以上の項目のそれぞれの特徴を示す1以上の項目ベクトルのそれぞれを記憶する記憶手段と、ユーザにより操作され、記憶手段に記憶されている1以上の項目ベクトルのそれぞれに対応する1以上の項目のうちのユーザにより選択された項目を、キーワードとして推薦装置内に入力させる操作手段とを少なくとも備える推薦装置を制御するコンピュータに実行させるプログラムが、本発明のプログラムである。詳細には、本発明のプログラムは、操作手段からキーワードが入力された場合、記憶手段に記憶されている1以上の項目ベクトルのうちの、キーワードに対応する項目ベクトルを利用して、ユーザの嗜好を示すユーザ嗜好ベクトルを生成する嗜好ベクトル生成ステップと、生成ステップの処理により生成されたユーザ嗜好ベクトルと、複数のアイテムのそれぞれの特徴を示すアイテム特徴ベクトルのそれぞれとの類似度を演算し、演算された類似度が所定の条件を満たすアイテム特徴ベクトルに対応するアイテムを、推薦アイテムとして決定する推薦ステップとを含むことを特徴とする。
本発明の情報処理装置および方法、並びに、プログラムにおいては、ユーザにより指定された所定の項目をキーワードとして、複数のアイテムの中からユーザに推薦すべき推薦アイテムを決定する情報処理装置または推薦装置であって、ユーザにより指定される可能性のある1以上の項目のそれぞれの特徴を示す1以上の項目ベクトルのそれぞれを記憶する記憶手段と、ユーザにより操作され、記憶手段に記憶されている1以上の項目ベクトルのそれぞれに対応する1以上の項目のうちのユーザにより選択された項目を、キーワードとして情報処理装置または推薦装置内に入力させる操作手段とを少なくとも備える情報処理装置または推薦装置が対象とされる。詳細には、本発明の情報処理装置および方法、並びに、プログラムにおいては、操作手段からキーワードが入力された場合、記憶手段に記憶されている1以上の項目ベクトルのうちの、キーワードに対応する項目ベクトルが利用されて、ユーザの嗜好を示すユーザ嗜好ベクトルが生成され、生成されたユーザ嗜好ベクトルと、複数のアイテムのそれぞれの特徴を示すアイテム特徴ベクトルのそれぞれとの類似度が演算され、演算された類似度が所定の条件を満たすアイテム特徴ベクトルに対応するアイテムが、推薦アイテムとして決定される。
以上のごとく、本発明によれば、ユーザにより指定された所定の項目をキーワードとして、複数のアイテムの中からユーザに推薦すべき推薦アイテムを決定することができる。特に、ユーザがキーワードとして指定した項目(属性)を含まないアイテムも推薦対象に含めた上で、推薦アイテムを決定すすることができる。
以下に本発明の実施の形態を説明するが、請求項に記載の構成要件と、発明の実施の形態における具体例との対応関係を例示すると、次のようになる。この記載は、請求項に記載されている発明をサポートする具体例が、発明の実施の形態に記載されていることを確認するためのものである。従って、発明の実施の形態中には記載されているが、構成要件に対応するものとして、ここには記載されていない具体例があったとしても、そのことは、その具体例が、その構成要件に対応するものではないことを意味するものではない。逆に、具体例が構成要件に対応するものとしてここに記載されていたとしても、そのことは、その具体例が、その構成要件以外の構成要件には対応しないものであることを意味するものでもない。
さらに、この記載は、発明の実施の形態に記載されている具体例に対応する発明が、請求項に全て記載されていることを意味するものではない。換言すれば、この記載は、発明の実施の形態に記載されている具体例に対応する発明であって、この出願の請求項には記載されていない発明の存在、すなわち、将来、分割出願されたり、補正により追加される発明の存在を否定するものではない。
本発明によれば情報処理装置が提供される。この情報処理装置(例えば図1の情報処理装置)は、ユーザにより指定された所定の項目をキーワードとして、複数のアイテムの中から前記ユーザに推薦すべき推薦アイテムを決定する情報処理装置であって、前記ユーザにより指定される可能性のある1以上の項目(例えば、図2の「渋い」や「恋人」等の項目)のそれぞれの特徴を示す1以上の項目ベクトル(例えば、図13乃至図16に示される登録項目ベクトルR1乃至R5)のそれぞれを記憶する記憶手段(例えば、図1の登録項目ベクトル記憶部4)と、前記ユーザにより操作され、前記記憶手段に記憶されている1以上の前記項目ベクトルのそれぞれに対応する1以上の前記項目のうちの前記ユーザにより選択された項目(例えば、図2の例では、選択ボックスがチェックされた(黒い表示の)「古い感じ」と「友人」)を、前記キーワードとして前記情報処理装置内に入力させる操作手段(例えば、図1の登録項目選択操作部5)と、前記操作手段から前記キーワードが入力された場合、前記記憶手段に記憶されている1以上の前記項目ベクトルのうちの、前記キーワードに対応する項目ベクトルを利用して、前記ユーザの嗜好を示すユーザ嗜好ベクトルを生成する嗜好ベクトル生成手段(例えば、図1のユーザ嗜好ベクトル生成部6)と、前記嗜好ベクトル生成手段により生成された前記ユーザ嗜好ベクトルと、複数の前記アイテムのそれぞれの特徴を示すアイテム特徴ベクトル(例えば、図1のアイテム特徴ベクトル記憶部1または10に記憶されているアイテム特徴ベクトル)のそれぞれとの類似度を演算し、演算された類似度が所定の条件を満たす前記アイテム特徴ベクトルに対応するアイテムを、前記推薦アイテムとして決定する推薦手段(例えば、図1の推薦リスト生成部9)とを備えることを特徴とする。
この情報処理装置の前記嗜好ベクトル生成手段は、前記キーワードに対応する1以上の前記項目ベクトルをクラスタリングし、前記キーワードに対応する1以上の前記項目ベクトルのうちの少なくとも1つを含むクラスタ(例えば、図13のクラスタJ,K,L)を、1つ以上生成する嗜好クラスタ生成手段(例えば、図12の「ユーザ嗜好ベクトル生成処理」の一部を実行する図1の登録嗜好クラスタ生成部24)と、前記嗜好クラスタ生成手段により生成された1以上の前記クラスタのそれぞれを注目クラスタとして順次設定し、前記注目クラスタに含まれる前記項目ベクトルを利用して、前記注目クラスタを代表する代表ベクトル(例えば、図14と図15に示されるクラスタJの代表ベクトルPJ、図15に示されるクラスタK,Lのそれぞれの代表ベクトルPK,PL)を生成する嗜好代表ベクトル生成手段(例えば、図12の「ユーザ嗜好ベクトル生成処理」の一部を実行する図1の登録嗜好ベクトル演算部25)と、前記嗜好代表ベクトル生成手段により生成された、1以上の前記クラスタのそれぞれの前記代表ベクトルの中から、所定の条件(例えば、図12のステップS79でいう「当たり率が最も高いクラスタ」であるという条件)を満たす代表ベクトルを1つ選抜し、選抜された前記代表ベクトル(例えば、図16の例では、代表ベクトルPJ)を前記ユーザ嗜好ベクトルとして決定する嗜好ベクトル決定手段(例えば、図12の「ユーザ嗜好ベクトル生成処理」の一部を実行する図1の登録嗜好ベクトル決定部26)とを有することを特徴とする。
この情報処理装置の前記嗜好ベクトル生成手段は、前記キーワードに対応する1以上の前記項目ベクトルをクラスタリングし、前記キーワードに対応する1以上の前記項目ベクトルのうちの少なくとも1つを含むクラスタ(例えば、図13のクラスタJ,K,L)を、1つ以上生成する嗜好クラスタ生成手段(例えば、図17の「ユーザ嗜好ベクトル生成処理」の一部を実行する図1の登録嗜好クラスタ生成部24)と、前記嗜好クラスタ生成手段により生成された1以上の前記クラスタのうちの、前記項目ベクトルを最も多く含むクラスタ(例えば、図13の例では、3つの項目ベクトルR1,R2,R3を含むクラスタJ)を注目クラスタに設定し、前記注目クラスタに含まれる前記項目ベクトルを利用して、前記注目クラスタを代表する代表ベクトル(例えば、図14と図15に示されるクラスタJの代表ベクトルPJ)を生成する嗜好代表ベクトル生成手段(例えば、図17の「ユーザ嗜好ベクトル生成処理」の一部を実行する図1の登録嗜好ベクトル演算部25)と、前記嗜好代表ベクトル生成手段により生成された前記注目クラスタの前記代表ベクトルを、前記ユーザ嗜好ベクトルとして決定する嗜好ベクトル決定手段(例えば、図17の「ユーザ嗜好ベクトル生成処理」の一部を実行する図1の登録嗜好ベクトル決定部26)とを有するようにすることができる。
この情報処理装置は、前記ユーザにより指定される可能性のある1以上の前記項目のうちの所定の1つを処理対象として、処理対象の項目についての前記項目ベクトルを生成する項目ベクトル生成手段(例えば、図1の登録項目ベクトル生成部3)を設けるようにすることができる。
この情報処理装置の前記項目ベクトル生成手段は、複数の前記アイテムまたはそれらとは異なる複数の前記アイテムのそれぞれの特徴を示すアイテム特徴ベクトル(例えば、図1のアイテム特徴ベクトル記憶部1に記憶されているアイテム特徴ベクトル)のうちの、処理対象の前記項目を成分として含む1以上のアイテム特徴ベクトルをクラスタリングし、処理対象の前記項目を成分として含む1以上の前記アイテム特徴ベクトル(なお、項目を成分として含むとは、後述する本実施の形態では、対応する成分の成分値が「0」以外のことを言う)の少なくとも1つを含むクラスタ(例えば、図5のクラスタα1,β1,γ1)を、1つ以上生成する項目クラスタ生成手段(例えば、図4の「登録項目ベクトル生成処理」の一部を実行する図1の登録項目クラスタ生成部21)と、前記項目クラスタ生成手段により生成された1以上の前記クラスタのそれぞれを注目クラスタとして順次設定し、前記注目クラスタに含まれる前記アイテム特徴ベクトルを利用して、前記注目クラスタを代表する代表ベクトル(例えば、図6乃至図8のうちの少なくとも1つに示される代表ベクトルRα,Rβ,Rγ)を生成する項目代表ベクトル生成手段(例えば、図4の「登録項目ベクトル生成処理」の一部を実行する図1の登録項目ベクトル演算部22)と、前記項目代表ベクトル生成手段により生成された、1以上の前記クラスタのそれぞれについての前記代表ベクトルの中から、所定の条件(例えば、図4のステップS29でいう「当たり率が最も高いクラスタ」であるという条件)を満たす代表ベクトル(例えば、図8の例では、代表ベクトルRα)を1つ選抜し、選抜された前記代表ベクトルを、処理対象の前記項目についての前記項目ベクトルとして決定する項目ベクトル決定手段(例えば、図4の「登録項目ベクトル生成処理」の一部を実行する図1の登録項目ベクトル決定部23)とを有するようにすることができる。
この情報処理装置の前記項目ベクトル生成手段は、処理対象の前記項目についての前記項目ベクトルの候補(例えば、図11の代表ベクトルRε1乃至Rε4)を生成する候補生成手段(例えば、図10の「登録項目ベクトル生成処理」の一部を実行する図1の登録項目ベクトル演算部22)と、複数の前記アイテムまたはそれらとは異なる複数の前記アイテムのそれぞれの特徴を示すアイテム特徴ベクトルのうちの、前記候補生成手段により生成された前記候補と類似度が閾値以上であるアイテム特徴ベクトルと、前記候補とのそれぞれを含むクラスタ(例えば、図11のクラスタε1乃至ε4)を生成する項目クラスタ生成手段(例えば、図10の「登録項目ベクトル生成処理」の一部を実行する図1の登録項目クラスタ生成部21)と、前記項目クラスタ生成手段により生成された前記クラスタが所定の条件(例えば、図10のステップS55でいう「当たり率が閾値以上である」という条件)を満たすか否かを判定し(例えば、図10のステップS55の判定処理を実行し)、前記クラスタが前記所定の条件を満たさないと判定した場合(例えば、図10のステップS55の判定処理でNOであると判定した場合)、新たな前記候補を前記候補生成手段に生成させ、新たな前記候補を含む新たなクラスタを前記項目クラスタ生成手段に生成させ、新たな前記クラスタが所定の条件を満たすか否かを再度判定し(例えば、図10のステップS51乃至S55のループ処理を繰り返し実行し)、前記クラスタが前記所定の条件を満たすと判定した場合(例えば、図10のステップS55の判定処理でYESであると判定した場合)、そのクラスタに含まれる前記候補を、処理対象の前記項目についての前記項目ベクトルとして決定する(例えば、図10のステップS56の処理を実行する)項目ベクトル決定手段(例えば、図10の「登録項目ベクトル生成処理」の一部を実行する図1の登録項目ベクトル決定部23)とを有するようにすることができる。
本発明によれば、情報処理方法が提供される。この情報処理方法は、上述した本発明の情報処理装置の情報処理方法である。詳細には、この情報処理方法は、前記操作手段から前記キーワードが入力された場合、前記記憶手段に記憶されている1以上の前記項目ベクトルのうちの、前記キーワードに対応する項目ベクトルを利用して、前記ユーザの嗜好を示すユーザ嗜好ベクトルを生成する嗜好ベクトル生成ステップ(例えば、図3のステップS4の「ユーザ嗜好ベクトル生成処理」)と、前記嗜好ベクトル生成ステップの処理により生成された前記ユーザ嗜好ベクトルと、複数の前記アイテムのそれぞれの特徴を示すアイテム特徴ベクトルのそれぞれとの類似度を演算し、演算された類似度が所定の条件を満たす前記アイテム特徴ベクトルに対応するアイテムを、前記推薦アイテムとして決定する推薦ステップ(例えば、図3のステップS6乃至S11の処理)とを含むことを特徴とする。
さらに、本発明によれば、上述した本発明の情報処理方法に対応するプログラムや、そのプログラムを記録した記録媒体も提供される。このプログラムは、後述するように、例えば図18のコンピュータにより実行される。
次に、図面を参照して、本発明の実施の形態について説明する。
図1は、本発明が適用される情報処理システムとしての推薦システムの機能的構成例を表している。即ち、図1の推薦システムは、複数のアイテムの中からユーザに推薦すべき推薦アイテムを検索し、その検索結果をユーザに呈示する。
なお、本明細書において、システムとは、複数の装置や処理部により構成される装置全体を表すものである。従って、図1の推薦システムは、1台の情報処理装置で構成してもよいし、複数台の情報処理装置で構成してもよい。ただし、本実施の形態では、図1の推薦システムは、1台の情報処理装置で構成されるとする。即ち、図1は、本発明が適用される情報処理装置の機能的構成例を表している。
また、本明細書において、アイテムとは、ユーザに提供可能なソフトウエアまたはハードウエア(物品)をいう。例えば、いわゆるコンテンツ、即ち、テレビジョン放送番組、映画、写真、楽曲等(動画像、静止画像、若しくは音声、または、それらの組合せ等)といったソフトウエアも、本明細書でいうアイテムである。また、例えば、ワイン等の物品(ハードウエア)も、本明細書でいうアイテムである。その他、例えば、文章や会話等も、本明細書でいうアイテムである。
ただし、本発明の理解を容易なものとするために、以下、アイテムの具体例を挙げる必要がある場合、所定の容器(例えば750mlの瓶等)に詰められたワイン(葡萄酒)が採用されるとする。
図1の例では、情報処理装置は、アイテム特徴ベクトル記憶部1乃至呈示部11を含むように構成されている。
なお、アイテム特徴ベクトル記憶部1乃至呈示部11のそれぞれの形態は特に限定されない。特に、登録項目ベクトル生成部3、ユーザ嗜好ベクトル生成部6、推薦リスト生成部9等は、ソフトウエアで構成してもよいし、ハードウエアで構成してもよいし、或いは、ソフトウエアとハードウエアの組合せとして構成してもよい。
アイテム特徴ベクトル記憶部1には、1以上のアイテムのそれぞれの特徴を示すベクトル(以下、アイテム特徴ベクトル)が記憶されている。
アイテム特徴ベクトルとは、N(Nは、1以上の整数値)個の属性のそれぞれを基底ベクトルとして、アイテムがベクトル化された結果得られるベクトル、または、そのベクトルの各成分(属性)のそれぞれに対して、所定の重み付け手法を利用して重み付けが行われた結果得られるベクトルのことをいう。即ち、所定のアイテムに対して、N個の属性のそれぞれの属性情報が対応付けられている場合、N個の属性情報が数値化され、その結果得られるN個の数値を成分値として有するベクトルが、アイテム特徴ベクトルである。
なお、N個の属性のうちの所定の属性について、属性情報がアイテムに対応付けられていない場合、そのアイテムのアイテム特徴ベクトルのうちのその所定の属性に対応する成分には、0が代入されるとする。
また、以下、N個の成分のそれぞれの順番が予め固定化され、その順番に従ってN個の成分が配置されて構成されるベクトルを、標準形のベクトルと称する。本実施の形態では、アイテム特徴ベクトル記憶部1に記憶されているアイテム特徴ベクトルは全て、標準形のベクトルであるとする。
項目選択操作部2は、後述する登録項目選択操作部5を操作してユーザが選択する可能性のある単語やカテゴリのうちの所定の1つを選択し、選択した単語やカテゴリ(以下、選択項目と称する)を登録項目ベクトル生成部3の登録項目クラスタ生成部21に提供する。
すると、登録項目ベクトル生成部3は、選択項目の特徴を表すベクトルが登録項目ベクトル記憶部4に既に記憶されているのか否かを判定し、まだ記憶されていないと判定した場合には、アイテム特徴ベクトル記憶部1に記憶された1以上のアイテム特徴ベクトルのうちの幾つかに基づいて、選択項目の特徴を表すベクトルを生成して、登録項目ベクトル記憶部4に記憶させる。
なお、以下、所定の項目の特徴を表すベクトルを、項目ベクトルと称する。本実施の形態では、項目ベクトルは、アイテム特徴ベクトルと同様に、N次元の(N個の成分を有する)標準形のベクトルであるとする。また、本実施の形態では、この標準形のベクトルにおいて、N個の成分の中には、後述する登録項目選択操作部5を操作してユーザが選択する可能性のある単語やカテゴリ(項目)の全てが含まれているとする。
具体的には例えば、本実施の形態では、アイテムが上述したようにワインとされ、かつ、後述する登録項目選択操作部5により図2の画像が使用されるとする。なお、図2の画像の詳細については後述する。この場合、「渋い」、「贅沢な」、「古い感じ」、「気取った」、および「おなじみの」といった5つの項目、並びに、「恋人」、「家族」、「友人」、および「同僚」といった4つの項目のそれぞれが、N次元の(N個の成分を有する)標準形のベクトルのうちの所定の1成分(1属性)として含まれているとする。
この場合、各ワイン(アイテム)のそれぞれを示すアイテム特徴ベクトルも、標準形のベクトルであることから、「渋い」、「贅沢な」、「古い感じ」、「気取った」、および「おなじみの」といった5つの項目、並びに、「恋人」、「家族」、「友人」、および「同僚」といった4つの項目のそれぞれが所定の1成分(1属性)として含まれていることになる。
具体的には例えば、所定のワインについて、その販売者や図1の推薦システムのサービス提供者等が予め試飲を行い、その試飲結果に基づいて、「渋い」、「贅沢な」、「古い感じ」、「気取った」、および「おなじみの」といった5つの項目、並びに、「恋人」、「家族」、「友人」、および「同僚」といった4つの項目のそれぞれについて判断するとする。そして、例えば、試飲されたワインのアイテム特徴ベクトルのうちの、これらの9つの各項目のそれぞれに対応する成分に対して、試飲の結果当てはまると判断された項目については「1」が代入される一方、試飲の結果当てはまらないと判断された項目については「0」が代入されとする。
より具体的には例えば、試飲の結果が、渋いワインであるが、贅沢でもなく、古い感じでもなく(新しい感じで)、気取ってもいなく、かつ、おなじみではない(レアなワインである)という結果であった場合、「渋い」、「贅沢な」、「古い感じ」、「気取った」、および「おなじみの」といった5つの項目のそれぞれに対応する成分には、「1」、「0」、「0」、「0」、および「0」のそれぞれの値が代入される。また例えば、試飲の結果が、「恋人」や「家族」などの少人数でじっくりと飲むのが相応しく、「友人」や「同僚」などの大人数で騒ぎながら飲むのは相応しくないという結果であった場合、「恋人」、「家族」、「友人」、および「同僚」といった4つの項目のそれぞれに対応する成分には、「1」、「1」、「0」、および、「0」のそれぞれの値が代入される。
なお、試飲の結果が存在しないワインや、試飲の結果全て当てはまらないと判断されたワインについては、そのアイテム特徴ベクトルのうちの、「渋い」、「贅沢な」、「古い感じ」、「気取った」、および「おなじみの」といった5つの項目、並びに、「恋人」、「家族」、「友人」、および「同僚」といった4つの項目のそれぞれの項目については何れも「0」が代入されとする。
ここで注目すべき点は、従来の推薦システムでは、「渋い」、「贅沢な」、「古い感じ」、「気取った」、および「おなじみの」といった5つの項目、並びに、「恋人」、「家族」、「友人」、および「同僚」といった4つの項目のうちの何れかがキーワードとされてワインが推薦される場合には、試飲の結果が存在しないワインや、キーワードとされた項目が販売者や図1の推薦システムのサービス提供者等により当てはまらないと判断されたワインは、推薦対象から除外されていた、という点である。即ち、従来の課題が生じてしまう点である。
そこで、この点を解消すべく、本実施の形態では、「渋い」、「贅沢な」、「古い感じ」、「気取った」、および「おなじみの」といった5つの項目、並びに、「恋人」、「家族」、「友人」、および「同僚」といった4つの項目のそれぞれが、項目選択操作部2により少なくとも選択され、選択項目として登録項目ベクトル生成部3に供給されるとする。即ち、本実施の形態では、「渋い」、「贅沢な」、「古い感じ」、「気取った」、および「おなじみの」といった5つの項目、並びに、「恋人」、「家族」、「友人」、および「同僚」といった4つの項目のそれぞれについての項目ベクトルが、登録項目ベクトル生成部3により少なくとも生成されて、登録項目ベクトル記憶部4に記憶されるとする。
より一般的な表現にすると、従来の課題を解決すべく、登録項目ベクトル生成部3は、アイテムの推薦のキーワードとなる可能性のある項目についての項目ベクトルを生成し、登録項目ベクトル記憶部4に記憶するとする。
なお、項目ベクトルの具体的な生成手法については、図4乃至図11を参照して後述する。
係る登録項目ベクトル生成部3は、図1の例では、登録項目クラスタ生成部21、登録項目ベクトル演算部22、および、登録項目ベクトル決定部23を含むように構成されている。ただし、登録項目クラスタ生成部21、登録項目ベクトル演算部22、および、登録項目ベクトル決定部23の機能等の詳細については、図4乃至図11を参照して後述する。
このようにして、登録項目ベクトル記憶部4には、選択項目についての項目ベクトルが記憶される。即ち、本実施の形態では、上述したように、「渋い」、「贅沢な」、「古い感じ」、「気取った」、および「おなじみの」といった5つの項目、並びに、「恋人」、「家族」、「友人」、および「同僚」といった4つの項目のそれぞれについての項目ベクトルが、登録項目ベクトル記憶部4に少なくとも記憶される。
なお、以下、登録項目ベクトル記憶部4に記憶された(登録された)項目ベクトルを、登録項目ベクトルと称する。
登録項目選択操作部5は、ユーザにより操作され、登録項目ベクトル記憶部4に記憶された1以上の登録項目ベクトルのそれぞれに対応する項目の中から1以上の項目が選択されると、ユーザにより選択された項目(以下、選択登録項目と称する)を、ユーザ嗜好ベクトル生成部6の登録嗜好クラスタ生成部24に通知する。
具体的には例えば、本実施の形態では、上述したように、アイテムとしてワインがユーザに推薦されている。また、本実施の形態では、登録項目選択操作部5は、図2の画像を使用するとされている。即ち、本実施の形態では、登録項目選択操作部5は、GUI(Graphical User Interface)によるユーザの操作を受け付けるとして、図2に示されるGUI用画像をユーザに呈示する。より正確には、図1には図示されていない表示装置の表示画面には、図2のGUI用画像が表示される。
即ち、図2は、ワインがユーザに推薦される場合における、そのユーザが推薦のキーワードを登録するためのGUI用画像、換言すると、ユーザが自分自身の嗜好に合致する単語やカテゴリを選択するためのGUI用画像の一例を示している。従って、ユーザが登録項目選択操作部5を操作して選択する単語やカテゴリ、即ち、そのユーザの嗜好に合致する単語やカテゴリが、上述した選択登録項目になる。
図2の例では、ユーザがワインを購買したり飲む場合等に重視する項目として、「渋い」、「贅沢な」、「古い感じ」、「気取った」、および「おなじみの」といったワインの味覚に関する項目が5つ予め設定されている。そこで、ユーザは、登録項目選択操作部5を操作することで、これらの5つの項目の中から自分自身の嗜好に合致する項目、即ち、推薦のキーワードとなる項目を選択する。より正確には、ユーザは、登録項目選択操作部5を構成するマウス等の入力機器(図1には図示せず)を利用して、「渋い」、「贅沢な」、「古い感じ」、「気取った」、および「おなじみの」という表示のうちの、自分自身の嗜好に合致する表示の左方に配置されている選択ボックスをチェック(選択)する。なお、図2の例では、チェックされていない選択ボックスは白色で示され、チェックされている選択ボックスは、黒色で示されている。即ち、図2の例では、「古い感じ」という項目がユーザにより選択されていることになる。
また、図2の例では、ユーザがワインを飲む場合に一緒に飲む予定の人や一緒に飲むことを希望する人の項目として、「恋人」、「家族」、「友人」、および「同僚」といった項目が4つ予め設定されている。そこで、ユーザは、登録項目選択操作部5を操作することで、これらの4つの項目の中から自分自身の嗜好に合致する項目、即ち、推薦のキーワードとなる項目を選択する。より正確には、ユーザは、登録項目選択操作部5を構成するマウス等の入力機器(図1には図示せず)を利用して、「恋人」、「家族」、「友人」、および「同僚」という表示のうちの、自分自身の嗜好に合致する表示の左方に配置されている選択ボックスをチェック(選択)する。即ち、図2の例では、「友人」という項目がユーザにより選択されていることになる。
以上の内容をまとめると、図2の例では、「古い感じ」と「友人」という項目が、選択登録項目として、登録項目選択操作部5からユーザ嗜好ベクトル生成部6の登録嗜好クラスタ生成部24に通知されることになる。
図1に戻り、ユーザ嗜好ベクトル生成部6は、登録項目選択操作部5から通知された1以上の選択登録項目のそれぞれに対応する登録項目ベクトルを登録項目ベクトル記憶部4からそれぞれ取得する。そして、ユーザ嗜好ベクトル生成部6は、取得された1以上の登録項目ベクトルと、アイテム特徴ベクトル記憶部1に記憶されている各アイテム特徴ベクトルとを利用することで、ユーザの嗜好を示すベクトルを生成して、ユーザ嗜好ベクトル記憶部7に記憶させる。なお、以下、ユーザの嗜好を示すベクトルを、ユーザ嗜好ベクトル、または、UPV(User Preference Vector)と称する。
具体的には例えば、上述した図2の例では、ユーザ嗜好ベクトル生成部6は、「古い感じ」と「友人」という登録項目ベクトルを利用して、ユーザ嗜好ベクトルを生成することになる。
ここで注目すべき点は、ユーザ嗜好ベクトル生成部6により生成されるユーザ嗜好ベクトルは、従来のユーザ嗜好ベクトルのように、ユーザの嗜好の特徴を表しているのは勿論のこと、従来のユーザ嗜好ベクトルでは表現できていなかった、推薦のためのキーワード(選択登録項目であって、図2の例では「古い感じ」と「友人」)の特徴も同時に表している点である。
このようなユーザ嗜好ベクトル生成部6により生成されるユーザ嗜好ベクトルを利用してアイテムの推薦を行うことで、推薦のためのキーワード(選択登録項目であって、図2の例では「古い感じ」と「友人」)を含まないアイテムも推薦対象に含めることが可能になる。即ち、上述した従来の課題を解決することが可能になる。換言すると、従来に比較してより効果的なアイテムの推薦を行うことが可能になる。
なお、ユーザ嗜好ベクトルの具体的な生成手法については、図12乃至図17を参照して後述する。また、このユーザ嗜好ベクトルを利用するアイテムの推薦手法については、図3等を参照して後述する。
係るユーザ嗜好ベクトル生成部6は、図1の例では、登録嗜好クラスタ生成部24、登録嗜好ベクトル演算部25、および、登録嗜好ベクトル決定部26を含むように構成されている。ただし、登録嗜好クラスタ生成部24、登録嗜好ベクトル演算部25、および、登録嗜好ベクトル決定部26の機能等の詳細については、図12乃至図17を参照して後述する。
推薦指令操作部8は、ユーザにより操作され、アイテムの推薦指令を推薦リスト生成部9に発行する。
推薦リスト生成部9は、推薦指令操作部8からアイテムの推薦指令が発行されると、ユーザ嗜好ベクトル記憶部7に記憶されているユーザ嗜好ベクトルと、アイテム特徴ベクトル記憶部1または10に記憶された複数のアイテム特徴ベクトルのそれぞれとの余弦相関などの類似度をそれぞれ求める。即ち、アイテム特徴ベクトル記憶部10にも1以上のアイテム特徴ベクトルが記憶されている。
次に、推薦リスト生成部9は、それらの類似度に基づいて、複数のアイテム特徴ベクトルのそれぞれに対応するアイテムの推薦度を演算する。推薦度の演算手法は、特に限定されないが、ここでは説明の簡略上、類似度がそのまま推薦度となるとする。
次に、推薦リスト生成部9は、例えば、推薦度が閾値以上のアイテム特徴ベクトルが示す1以上のアイテムを、ユーザに推薦すべき推薦アイテムとして決定する。
そして、推薦リスト生成部9は、1以上の推薦アイテムのそれぞれを特定可能な情報を、例えば推薦度の高い順にソートしたリスト(以下、推薦リストと称する)を生成し、呈示部11に提供する。
すると、呈示部11は、その推薦リストをユーザに呈示する。
なお、推薦アイテムを特定可能な情報とは、例えば本実施の形態のようにアイテムがワインである場合には、ワインの名称、産地、生産者(ドメーヌやワイナリー)等をいう。また、推薦リストの中に、その他の情報、例えば、ワインの価格や、そのワインの推薦理由等を含ませることも当然ながら可能である。
また、図1の例では、アイテム特徴ベクトル記憶部1,10は、相異なる記憶部とされているが、同一の記憶部であってもよい。
次に、図3のフローチャートを参照して、図1の情報処理装置が実行する「推薦処理」の一例について説明する。即ち、図3は、本発明が適用される「推薦処理」の一例を説明するフローチャートである。
ステップS1において、図1の情報処理装置は、所定の項目について、登録項目ベクトルの生成または更新が指示されたか否かを判定する。
ステップS1において、所定の項目について、登録項目ベクトルの生成または更新がまだ指示されていないと判定した場合、情報処理装置は、ステップS13において、処理の終了が指示されたか否かを判定する。
ステップS13において、処理の終了が指示されたと判定された場合、「推薦処理」は終了になる。
これに対して、ステップS13において、処理の終了がまだ指示されていないと判定された場合、処理はステップS1に戻され、所定の項目について、登録項目ベクトルの生成または更新が指示されたか否かが再度判定される。
ステップS1の判定条件は、特に限定されないが、本実施の形態では例えば、項目選択操作部2から選択項目が供給された場合、所定の項目(その選択項目)について、登録項目ベクトルの生成または更新が指示されたと判定されるとする。即ち、ここでは例えば、項目選択操作部2から供給された選択項目について、対応する登録項目ベクトルが登録項目ベクトル記憶部4に記憶されていない場合の他、さらに、対応する登録項目ベクトルが登録項目ベクトル記憶部4に記憶されている場合であっても、登録項目ベクトルの生成または更新が指示されたと判定されるとする。アイテム特徴ベクトル記憶部1の記憶内容が更新されると、同一の項目であっても、後述するステップS2の「登録項目ベクトル生成処理」により異なる項目ベクトルが生成される可能性が大だからである。
従って、項目選択操作部2から供給された選択項目について、対応する登録項目ベクトルが登録項目ベクトル記憶部4に記憶されている場合、情報処理装置は、アイテム特徴ベクトル記憶部1の記憶内容を調べて、前回の記憶内容と異なるか否かを判断して、同一であると判断したときには、ステップS1の処理でNOであると判定し、異なると判断したときにのみ、ステップS1の処理でYESであると判定してもよい。
いずれにしても、ステップS1の処理でYESであると判定されると、処理はステップS2に進む。ステップS2において、図1の情報処理装置の登録項目ベクトル生成部3は、項目選択操作部2から供給された選択項目についての項目ベクトルを生成し、選択項目についての登録項目ベクトルとして登録項目ベクトル記憶部4に記憶させる。
なお、以下、係るステップS2の処理を「登録項目ベクトル生成処理」と称する。「登録項目ベクトル生成処理」の詳細については、図4乃至図11を参照して後述する。
ステップS2の「登録項目ベクトル生成処理」が終了すると、処理はステップS3に進む。ステップS3において、図1の情報処理装置は、ユーザ嗜好ベクトルの生成または更新が指示されたか否かを判定する。
ステップS3において、ユーザ嗜好ベクトルの生成または更新がまだ指示されていないと判定された場合、処理はステップS13に進み、それ以降の処理が実行される。
これに対して、ステップS3において、ユーザ嗜好ベクトルの生成または更新が指示されたと判定された場合、処理はステップS4に進む。
ステップS3の判定条件は、特に限定されないが、本実施の形態では例えば、登録項目選択操作部5から選択登録項目が供給された場合、ユーザ嗜好ベクトルの生成または更新が指示されたと判定されるとする。即ち、ここでは例えば、ユーザ嗜好ベクトルがユーザ嗜好ベクトル記憶部7に記憶されていない場合の他、さらに、記憶されている場合であっても、ユーザ嗜好ベクトルの生成または更新が指示されたと判定されるとする。登録項目選択操作部5から供給される選択登録項目が前回とは異なると、後述するステップS4の「ユーザ嗜好ベクトル生成処理」により異なるユーザ嗜好ベクトルが生成される可能性が大だからである。
その他、ステップS3の判定条件として、情報処理装置自身の判断で所定の条件が満たされた場合(例えば所定の時間が経過した等)、ユーザ嗜好ベクトルの生成または更新が指示されたと判定する判定条件を採用してもよい。
いずれの場合であっても、ステップS3の処理でYESであると判定されると、処理はステップS4に進む。ステップS4において、図1の情報処理装置のユーザ嗜好ベクトル生成部6は、ユーザ嗜好ベクトルを生成し、ユーザ嗜好ベクトル記憶部7に記憶させる。
なお、以下、係るステップS4の処理を「ユーザ嗜好ベクトル生成処理」と称する。「ユーザ嗜好ベクトル生成処理」の詳細については、図12乃至図17を参照して後述する。
ステップS4の「ユーザ嗜好ベクトル生成処理」が終了すると、処理はステップS5に進む。ステップS5において、図1の情報処理装置の推薦リスト生成部9は、アイテムの推薦が指示されたか否かを判定する。
ステップS5において、アイテムの推薦がまだ指示されていないと判定された場合、処理はステップS13に進み、それ以降の処理が実行される。
これに対して、ステップS5において、アイテムの推薦が指示されたと判定された場合、処理はステップS6に進む。
ステップS5の判定条件は、特に限定されないが、本実施の形態では例えば、推薦指令操作部8から推薦指令が発行された場合、アイテムの推薦が指示されたと判定されるとする。
その他、ステップS5の判定条件として、情報処理装置自身の判断で所定の条件が満たされた場合(例えば所定の時間が経過した等)、アイテムの推薦が指示されたと判定する判定条件を採用してもよい。
いずれの場合であっても、ステップS5の処理でYESであると判定されると、処理はステップS6に進む。ステップS6において、図1の情報処理装置の推薦リスト生成部9は、ユーザ嗜好ベクトルを、ユーザ嗜好ベクトル記憶部7から取得する。
ステップS7において、推薦リスト生成部9は、ユーザ嗜好ベクトルと他のアイテムのアイテム特徴ベクトルとの類似度を演算し、その演算結果に基づいて他のアイテムの推薦度を演算する。
なお、他のアイテムのアイテム特徴ベクトルは、上述したように、アイテム特徴ベクトル記憶部1または10に記憶されている。
また、ステップS7における推薦度の演算手法は、上述したように、特に限定されないが、ここでも説明の簡略上、類似度がそのまま推薦度となるとする。
ステップS8において、推薦リスト生成部9は、推薦度が所定の基準を満たすか否かを判定する。
なお、ステップS8における所定の基準は、特に限定されないが、ここでは、上述したように、推薦度が閾値以上であることとする。
即ち、推薦度が閾値未満の場合、ステップS8において、推薦度が所定の基準を満たしていないと判定されて、ステップS9の処理は実行されずに、処理はステップS10に進む。
これに対して、推薦度が閾値以上の場合、推薦リスト生成部9は、ステップS8において、推薦度が所定の基準を満たすと判定して、ステップS9において、他のアイテムを、ユーザに推薦すべき推薦アイテムとして設定した後、処理をステップS10に進める。
ステップS10において、推薦リスト生成部9は、さらに他のアイテムの推薦度を演算するか否かを判定する。
なお、ステップS10の判定条件は、特に限定されないが、ここでは、アイテム特徴ベクトル記憶部1,10のそれぞれに記憶されているアイテム特徴ベクトルの全てについて、類似度が演算された場合、ステップS10においてNOであると判定されるとする。
この場合、アイテム特徴ベクトル記憶部1または10の中に、類似度が演算されていないアイテム特徴ベクトルが存在する場合、処理はステップS7に戻され、それ以降の処理が繰り返し実行される。
その後、アイテム特徴ベクトル記憶部1,10のそれぞれに記憶されているアイテム特徴ベクトルの全てについて、ステップS7乃至S10のループ処理が繰り返し実行されると、ステップS10においてNOであると判定されて処理はステップS11に進む。
ステップS11において、推薦リスト生成部9は、推薦アイテムを含む推薦リストを生成する。
なお、推薦アイテムを含むとは、上述したように、推薦アイテムがワインの場合、当然ながらワインそのものを含む訳ではなく、そのワインを特定可能な情報を含んだり、そのワインの推薦度等その他の情報を含むという意味である。
推薦リストが推薦リスト生成部9から呈示部11に供給されると、処理はステップS12に進む。
ステップS12において、呈示部11は、推薦リストに含まれる推薦アイテムをユーザに呈示する。
なお、推薦アイテムを呈示するとは、推薦アイテムがワインの場合、当然ながらワインそのものを呈示する訳ではなく、推薦リストに含まれる情報、即ち、そのワインを特定可能な情報や、そのワインの推薦度等その他の情報を呈示するという意味である。
その後、処理はステップS13に進み、それ以降の処理が実行される。
以上、「推薦処理」について説明した。
次に、「推薦処理」のうちの、ステップS2の「登録項目ベクトル生成処理」とステップS4の「ユーザ嗜好ベクトル生成処理」とのそれぞれについて、その順番で個別に説明していく。
はじめに、図4乃至図11を参照して、ステップS2の「登録項目ベクトル生成処理」の詳細について説明する。
図4は、ステップS2の「登録項目ベクトル生成処理」の詳細例を示すフローチャートである。
図4のステップS21において、図1の登録項目ベクトル生成部3の登録項目クラスタ生成部21は、選択項目を含むアイテム特徴ベクトルを、アイテム特徴ベクトル記憶部1の中から検索する。
選択項目を含むアイテム特徴ベクトルとは、上述したように、選択項目に対応する成分の成分値が「0」でない値を有するアイテム特徴ベクトルのことをいう。具体的には例えば、図2の例では、「古い感じ」と「友人」とが選択項目であるが、この選択項目のうちの「古い感じ」に着目すると、「古い感じ」に対応する成分の成分値が「1」であるアイテム特徴ベクトルが、選択項目を含むアイテム特徴ベクトルである。
ステップS22において、登録項目クラスタ生成部21は、所定の条件に従って、検索された各アイテム特徴ベクトルをクラスタリングし、各クラスタ(グループ)を決定する。
具体的には例えばいま、図5に示されるように、ステップS21の処理で、選択項目を含むアイテム特徴ベクトルとして、10個のアイテム特徴ベクトルI1乃至I10が検索され、ステップS22の処理で、アイテム特徴ベクトルI1乃至I3が属するクラスタα1、アイテム特徴ベクトルI4乃至I6が属するクラスタγ1、および、アイテム特徴ベクトルI7乃至I10が属するクラスタβ1のそれぞれが決定されたとする。即ち、図5は、ステップS21とS22の処理結果の例を示している。
図4に戻り、各クラスタα1,β1,γ1のそれぞれが、登録項目クラスタ生成部21により生成されて、登録項目ベクトル演算部22に供給されると、処理はステップS22からS23に進む。
ステップS23において、登録項目ベクトル演算部22は、各クラスタα1,β1,γ1のうちの所定の1つを注目クラスタに設定する。
例えばいま、ステップS23の処理で、クラスタα1が注目クラスタに設定されたとする。
この場合、ステップS24において、登録項目ベクトル演算部22は、注目クラスタα1における代表ベクトルを生成する。
ここで、図6を参照して、注目クラスタα1における代表ベクトルの生成手法の一例について説明する。即ち、図6は、注目クラスタα1における代表ベクトルの生成手法を説明するための図である。図6のうちの、矢印に対して上側には、注目クラスタα1に属するアイテム特徴ベクトルI1,I2,I3のそれぞれの具体例が示されており、矢印に対して下側には、注目クラスタα1における代表ベクトルの一例が示されている。
図6に示されるように、注目クラスタα1に属するアイテム特徴ベクトルI1,I2,I3のそれぞれの各成分を1つずつ注目成分として設定し、注目成分の特徴に応じた所定の演算手法であって、アイテム特徴ベクトルI1,I2,I3のそれぞれの注目成分の成分値を利用する演算手法に従って演算された結果得られる値が、注目クラスタα1における代表ベクトルの注目成分の成分値になる。
具体的には例えば、「数A」と記述された第1成分が注目成分として設定された場合には、アイテム特徴ベクトルI1,I2,I3のそれぞれの第1成分の成分値である「5」,「4」,「3」の平均が演算され、その結果得られる「4」が、注目クラスタα1における代表ベクトルの第1成分の成分値になる。
例えば、「数B」と記述された第2成分が注目成分として設定された場合には、アイテム特徴ベクトルI1,I2,I3のそれぞれの第2成分の成分値である「5」,「4」,「5」のうちの代表値が選抜され(選抜するための演算処理が行われ)、その代表値である「5」が、注目クラスタα1における代表ベクトルの第2成分の成分値になる。
例えば、「名A」のうちの「○(丸印)」が記述された第3成分が注目成分として設定された場合には、アイテム特徴ベクトルI1,I2,I3のそれぞれの第3成分の成分値である「0」,「1」,「1」の総加算が演算され、その結果得られる「2」が、注目クラスタα1における代表ベクトルの第3成分の成分値になる。
例えば、「名A」のうちの「×(丸印)」が記述された第4成分が注目成分として設定された場合には、アイテム特徴ベクトルI1,I2,I3のそれぞれの第4成分の成分値である「1」,「0」,「0」の総加算が演算され、その結果得られる「1」が、注目クラスタα1における代表ベクトルの第4成分の成分値になる。
例えば、「名B」のうちの「a」が記述された第5成分が注目成分として設定された場合には、アイテム特徴ベクトルI1,I2,I3のそれぞれの第5成分の成分値である「0.5」,「0.3」,「0.9」の平均が演算され、その結果得られる「0.56」が、注目クラスタα1における代表ベクトルの第5成分の成分値になる。
例えば、「名B」のうちの「b」が記述された第6成分が注目成分として設定された場合には、アイテム特徴ベクトルI1,I2,I3のそれぞれの第6成分の成分値である「0.7」,「0」,「0」の代表値が選抜され、選抜された「0.7」が、注目クラスタα1における代表ベクトルの第6成分の成分値になる。
例えば、「名B」のうちの「c」が記述された第7成分が注目成分として設定された場合には、アイテム特徴ベクトルI1,I2,I3のそれぞれの第7成分の成分値である「0.9」,「0.7」,「0.9」の代表値が選抜され、選抜された「0.9」が、注目クラスタα1における代表ベクトルの第7成分の成分値になる。
なお、図6において、「数A」や「数B」といった「数」が記述された成分は、数値属性の成分とされている。これに対して、「名A」や「名B」といった「名」が記述された成分は、名義属性の成分とされている。
数値属性とは、その属性は、1種類のみで表され、その種類のレベル等が数値で表される属性をいう。
例えば、アイテムがワインの場合には、甘さ度や辛さ度などが数値属性の一例である。具体的には例えば、「数A」が甘さ度を示し、「数B」が辛さ度を示すとすると、アイテム特徴ベクトルI1が示すワインは、甘さ度が例えば「1」乃至「5」レベル(高レベルの方が甘いとする)のうちの「5」レベルであり、辛さ度もまた例えば「1」乃至「5」レベル(高レベルの方が辛いとする)のうちの「5」レベルであると、そのワインの販売者や図1の推薦システムのサービス提供者等が判断したワインである。
これに対して、複数の種類(名義)の属性で1つのグループが構成され、そのグループに含まれる複数の種類(名義)のそれぞれの属性のレベル等が、数値や○×(丸バツ)等で個別に表される場合、それらの属性が、名義属性と称される。
例えば、アイテムがワインの場合には、赤白、産地(国等)、葡萄の品種などが名義属性の一例である。
具体的には例えば、「名A」が色(赤白)のグループを示し、そのうちの「○(丸印)」が赤ワインの属性を示し、「×(バツ印)」が白ワインの属性を示すとする。そして、赤ワインの場合には、「○(丸印)」に「1」が代入されて「×(バツ印)」に「0」が代入される一方、白ワインの場合には、「○(丸印)」に「0」が代入されて「×(バツ印)」に「1」が代入されるとする。この場合、アイテム特徴ベクトルI1が示すワインは白ワインであり、アイテム特徴ベクトルI2,I3のそれぞれが示すワインは赤ワインである。
また例えば、「名B」が葡萄の品種のグループを示し、そのうちの「a」が品種aの属性を示し、「b」が品種bの属性を示し、「c」が品種cの属性を示すとする。そして、ワインの販売者や図1の推薦システムのサービス提供者等がワインを試飲した結果として、そのワインに、品種a、品種b、品種cのそれぞれの特徴がどの程度出ているのかを0乃至1のうちのいずれかのレベル(1に近づくほど、特徴がよく出ているとする)で表現してもらい、その数値が成分値として代入されるとする。この場合、アイテム特徴ベクトルI1が示すワインは、品種aは「0.5」レベルであり、品種bは「0.7」レベルであり、品種cは「0.9」レベルであると、即ち、品種c,b,aの順に特徴が出ているワインであると、そのワインの販売者や図1の推薦システムのサービス提供者等が判断したワインである。
ところで、注目クラスタα1における代表ベクトルとは、アイテム特徴ベクトルI1,I2,I3のそれぞれの特徴に基づいて、注目クラスタα1内の特徴をよく表す(と判断される)ベクトルのひとつであると言える。従って、注目クラスタα1における代表ベクトルのうちの名義属性の成分については、その名義属性の複数の種類(名義)のうちの、注目クラスタα1内の特徴をよく表す(と判断される)ひとつの種類を代表種類として設定して、代表種類に対応する成分のみを使用し、それ以外の種類に対応する成分を使用しないようにしてもよい。それ以外の種類に対応する成分を使用しないとは例えば、代表ベクトルにおいて、それ以外の種類に対応する成分を強制的に「0」に設定することをいう。
具体的には例えば、上述したように、「名A」が赤白を示し、そのうちの「○(丸印)」が赤ワインを示し、「×(バツ印)」が白ワインを示すとした場合には、図5に示される注目クラスタα1には、赤ワインが2本含まれ、白ワインが1本含まれているとも言える。そこで例えば、注目クラスタα1により多く含まれている赤ワインを示す「○(丸印)」を代表種類として設定して、代表ベクトルのうちの、その「○(丸印)」に対応する第3成分の値「2」のみを使用し、白ワインを示す「×(バツ印)」に対応する第4成分の値を使用しない(成分値を「0」にして)ようにしてもよい。
また例えば、上述したように、「名B」が葡萄の品種を示し、そのうちの「a」が品種aを示し、「b」が品種bを示し、「c」が品種cを示すとした場合には、例えば、アイテム特徴ベクトルI1乃至I3間で分散が最も低い種類、即ち、品種cを代表種類として設定して、代表ベクトルのうちの、その「c」に対応する第7成分の値「0.9」のみを使用し、「a」と「b」のそれぞれに対応する第5成分と第6成分の値を何れも使用しない(成分値を「0」にして)ようにしてもよい。
なぜならば、分散が小さい種類の方が、注目クラスタα1における代表レベルをより正確かつ適切に示しているといえるからである。例えば、品種bについて着目すると、アイテム特徴ベクトルI1が示す第1のワインでは「0.7」レベルとなっているが、アイテム特徴ベクトルI2,I3のそれぞれが示す第2,第3のワインでは何れも「0」レベルとなっており、レベルの開きは最大で0.7と大きい(分散が大きい)。従って、代表ベクトルの「b」に対応する第6成分の値「0.7」が、注目クラスタα1における品種bについての代表レベルを示しているとは一概に言えない。これに対して、品種cについて着目すると、レベルの開きは最大で0.2と小さい(分散が小さい)。従って、代表ベクトルの「c」に対応する第7成分の値「0.9」が、注目クラスタα1における品種cについての代表レベルを、より正確かつ適切に示しているといえる。
なお、代表ベクトルの名義属性うちの代表種類に対応する成分の値は、上述した例では、アイテム特徴ベクトルI1,I2,I3の代表値とされたが、上述した例に特に限定されず、任意の演算手法による演算結果を採用することができる。具体的には例えば、代表ベクトルの名義属性うちの代表種類に対応する成分の値は、上述した例では、アイテム特徴ベクトルI1,I2,I3の各成分値の平均値としてもよい。
図4に戻り、このようにしてステップS24の処理で、注目クラスタα1における代表ベクトルが生成されると、処理はステップS25に進む。
ステップS25において、登録項目ベクトル演算部22は、アイテム特徴ベクトル記憶部1に記憶されている各アイテム特徴ベクトルのそれぞれと、代表ベクトルとの類似度を演算する。
ステップS26において、登録項目ベクトル演算部22は、類似度が閾値以上のアイテム特徴ベクトルを、注目クラスタα1に含める。
具体的に例えばいま、ステップS25の処理で、注目クラスタα1における代表ベクトルとして、図7に示されるような代表ベクトルRαが生成されたとする。即ち、図7は、各クラスタα1,β1,γ1のそれぞれについてのステップS25の処理結果の一例を同時に示した図である。なお、後述するように、実際には、クラスタα1における代表ベクトルRαが生成されて、類似度が閾値以上のアイテム特徴ベクトルが、注目クラスタα1に含められた後、クラスタβ1における代表ベクトルRβや、クラスタγ1における代表ベクトルRγが生成されることになる。
例えばいま、アイテム特徴ベクトル記憶部1には、上述したアイテム特徴ベクトルI1乃至I10の他、図8に示されるように、アイテム特徴ベクトルI11乃至I29が記憶されており、これらのうちの、アイテム特徴ベクトルI11乃至I14が、代表ベクトルRαとの類似度が閾値以上であったとする。この場合、図8に示されるように、アイテム特徴ベクトルI11乃至I29のうちのアイテム特徴ベクトルI11乃至I14が、注目クラスタα1に含められることになる。
図4に戻り、このようにして、ステップS26の処理で、類似度が閾値以上のアイテム特徴ベクトルI11乃至I14が注目クラスタα1に含められると、処理はステップS27に進む。
ステップS27において、登録項目ベクトル演算部22は、全クラスタが注目クラスタに設定されたか否かを判定する。
具体的には例えば、上述した図5乃至図8に示される例の場合、クラスタβ1,γ1がまだ注目クラスタに設定されていないので、ステップS27において、全クラスタが注目クラスタにまだ設定されていないと判定されて、処理はステップS23に戻され、それ以降の処理が繰り返し実行される。
即ち、今度は、ステップS23の処理で、例えばクラスタβ1が注目クラスタに設定され、ステップS24の処理で、例えば図7に示されるように、代表ベクトルRβが生成され、ステップS25とS26の処理で、例えば図8に示されるように、類似度が閾値以上のアイテム特徴ベクトルI24乃至I29が注目クラスタβ1に含められる。
さらに、ステップS27の処理でNOであると判定されて、今度は、ステップS23の処理で、例えばクラスタγ1が注目クラスタに設定され、ステップS24の処理で、例えば図7に示されるように、代表ベクトルRγが生成され、ステップS25とS26の処理で、例えば図8に示されるように、類似度が閾値以上のアイテム特徴ベクトルI15乃至I23が注目クラスタγ1に含められる。
その結果、全クラスタα1,β1,γ1が注目クラスタに設定されたことになるので、今度は、ステップS27の処理でYESであると判定される。ステップS27の処理でYESであると判定されると、各アイテム特徴ベクトルを含む全クラスタα1,β1,γ1(図8に示される情報)が、登録項目ベクトル演算部22から登録項目ベクトル決定部23に供給される。その結果、処理はステップS28に進む。
ステップS28において、登録項目ベクトル決定部23は、各クラスタ毎に、当たり率を演算する。
ステップS28の処理で言う「当たり率」とは、クラスタに含まれるアイテム特徴ベクトルの総数に対する、選択項目を含むアイテム特徴ベクトルの数の割合を言う。
具体的には例えば、上述した図8の例では、クラスタα1には、7個のアイテム特徴ベクトルI1乃至I3並びにI11乃至I14が含まれている。これらのうちの、3個のアイテム特徴ベクトルI1乃至I3は、上述したように、選択項目を含むアイテム特徴ベクトルであるのに対して、ステップS26の処理で新たに含められるアイテム特徴ベクトルI11乃至I14は、選択項目を含まないアイテム特徴ベクトルである。従って、クラスタα1における当たり率は、3/7=約43[%]になる。
なお、図8の例では、選択項目を含むアイテム特徴ベクトルは、○(丸印)で示されており、選択項目を含まないアイテム特徴ベクトルは、×(バツ印)で示されている。
同様に、図8の例では、クラスタβ1には、10個のアイテム特徴ベクトルI8乃至I10並びにI24乃至I29が含まれている。これらのうちの、4個のアイテム特徴ベクトルI8乃至I10は、上述したように、選択項目を含むアイテム特徴ベクトルであるのに対して、ステップS26の処理で新たに含められるアイテム特徴ベクトルI24乃至I29は、選択項目を含まないアイテム特徴ベクトルである。従って、クラスタβ1における当たり率は、4/10=40[%]になる。
また、図8の例では、クラスタγ1には、12個のアイテム特徴ベクトルI4乃至I6並びにI15乃至I23が含まれている。これらのうちの、3個のアイテム特徴ベクトルI4乃至I6は、上述したように、選択項目を含むアイテム特徴ベクトルであるのに対して、ステップS26の処理で新たに含められるアイテム特徴ベクトルI15乃至I23は、選択項目を含まないアイテム特徴ベクトルである。従って、クラスタγ1における当たり率は、3/12=25[%]になる。
図4のステップS29において、登録項目ベクトル決定部23は、当たり率が最も高いクラスタの代表ベクトルを、選択項目についての登録項目ベクトルとして決定する。
具体的には例えば図8の例では、上述したように、クラスタα1,β1,γ1のそれぞれの当たり率は、約43[%]、40[%]、25[%]のそれぞれである。従って、ステップS29の処理で、当たり率が約43[%]と最も高いクラスタα1の代表ベクトルRαが、選択項目についての登録項目ベクトルとして決定される。
そして、ステップS30において、登録項目ベクトル決定部23は、登録項目IDと登録項目ベクトルとを対応付けて、登録項目ベクトル記憶部4に記憶させる。
なお、登録項目IDは、ステップS30の時点で登録項目ベクトル決定部23により新たに決定された識別子であってもよいし、選択項目に予め付された識別子であってもよい。
以上のようにしてステップS30の処理が終了すると、「登録項目ベクトル生成処理」もまた終了になる。
なお、「登録項目ベクトル生成処理」は、1つの選択項目に対して実行される。従って、例えば上述した図2の例では、「古い感じ」と「友人」とが選択項目とされていることから、「古い感じ」と「友人」とのそれぞれに対して、「登録項目ベクトル生成処理」が個別に実行され、その結果、「古い感じ」を示す登録項目IDと、「古い感じ」についての登録項目ベクトルとが対応付けられて登録項目ベクトル記憶部4に記憶されるとともに、「友人」を示す登録項目IDと、「友人」についての登録項目ベクトルとが対応付けられて登録項目ベクトル記憶部4に記憶されることになる。
以上、図4の例の「登録項目ベクトル生成処理」について説明した。
ところで、図4の例の「登録項目ベクトル生成処理」では、ステップS22でいう「所定の条件」を変更することで、ステップS22の処理で決定されるクラスタも自ずと変わってくる。
例えば、図9に示されるように、第1の条件に従ってクラスタリングされると、クラスタα2,β2,γ2に分類されるところ、第1の条件とは異なる第2の条件に従ってクラスタリングされると、クラスタθ2のように分類されることもある。即ち、図9は、クラスタリング条件の違いを説明する図である。なお、図9においても、○(丸印)は、選択項目を含むアイテム特徴ベクトルを示し、×(バツ印)は、選択項目を含まないアイテム特徴ベクトルを示している。
第2の条件に従ってクラスタリングされた結果としてクラスタθ2が決定された場合、クラスタθ2についてのステップS24の処理で、例えば図9に示されるように、クラスタθ2における代表ベクトルRθが生成されることになる。そして、ステップS29の処理で、クラスタθ2における代表ベクトルRθが登録項目ベクトルとして決定されることになる。なぜならば、その他のクラスタは図9には図示していないが、クラスタθ2の当たり率は100[%]だからである。
この場合、登録項目ベクトルRθは、その他のアイテム特徴ベクトルとの類似度が低いことから(図9中、各アイテム特徴ベクトルと離間しているので)、登録項目の特徴を表しているとは一概に言えない。それ故、新規のアイテム特徴ベクトルが追加されると、例えば、クラスタθ2に属するようなアイテム特徴ベクトルであって、登録項目を含まないアイテム特徴ベクトルが幾つか追加されると、クラスタθ2の当たり率は当然ながら下がってしまうことになり、その結果、クラスタθ2における代表ベクトルRθとは全く異なるベクトルが、登録項目ベクトルとなってしまう。
このように、図4の例の「登録項目ベクトル生成処理」は、登録項目の特徴を表しているとは一概に言えないが、当たり率が高いクラスタのベクトルが、登録項目ベクトルとして決定される場合があるという特徴を有している。この特徴のため、新規のアイテム特徴ベクトルが追加される毎に登録項目ベクトルが更新されていくことから、登録項目ベクトルが安定しないというデメリットが生じる。ただし、この特徴は、新規のアイテム特徴ベクトルの追加の観点からはデメリットであるが、アイテムの推薦の観点からはユーザにとって新鮮なアイテムを推薦できるというメリットもある。即ち、この特徴には一長一短がある。
そこで、新規のアイテム特徴ベクトルの追加の観点を重視する場合、即ち、新規のアイテム特徴ベクトルの追加に強い「登録項目ベクトル生成処理」を実現したい場合、ステップS22で使用する「所定の条件」として、図9に示されるクラスタα2,β2,γ2が決定される第1の条件を適用すればよい。これに対して、アイテムの推薦の観点を重視する場合、即ち、ユーザにとって新鮮なアイテムを推薦できる「登録項目ベクトル生成処理」を実現したい場合、ステップS22で使用する「所定の条件」として、図9に示されるクラスタθ2が決定される第2の条件を適用すればよい。
ところで、「登録項目ベクトル生成処理」は、上述した図4の例に限定されず、その他様々な処理を採用することが可能である。具体的には例えば、「登録項目ベクトル生成処理」として図10の例を採用してもよい。
即ち、図10は、図4とは異なる「登録項目ベクトル生成処理」の詳細例を説明するフローチャートである。
ステップS51において、図1の登録項目ベクトル生成部3の登録項目ベクトル演算部22は、所定の手法に従って、代表ベクトルを生成する。
ステップS51の処理で利用する所定の手法は、特に限定されず、例えば、遺伝的アルゴリズム等を採用することができる。
ステップS52において、登録項目ベクトル演算部22は、アイテム特徴ベクトル記憶部1に記憶されている各アイテム特徴ベクトルのそれぞれと、代表ベクトルとの類似度を演算する。
なお、登録項目ベクトル演算部22から登録項目クラスタ生成部21に向かう方向の矢印は図1には図示されていないが、図10の例の「登録項目ベクトル生成処理」においては、登録項目ベクトル演算部22は、ステップS52の処理結果を登録項目クラスタ生成部21に通知することで、処理をステップS53に進めるとする。
ステップS53において、登録項目クラスタ生成部21は、代表ベクトル、および、類似度が閾値以上のアイテム特徴ベクトルを含むクラスタを生成し、それを注目クラスタに設定する。
注目クラスタが、登録項目クラスタ生成部21から登録項目ベクトル演算部22を介して登録項目ベクトル決定部23に通知されると、処理はステップS54に進む。
ステップS54において、登録項目ベクトル決定部23は、注目クラスタの当たり率を演算する。
ステップS55において、登録項目ベクトル決定部23は、注目クラスタの当たり率が閾値以上であるか否かを判定する。
ステップS55において、注目クラスタの当たり率が閾値未満である(閾値以上ではない)と判定した場合、登録項目ベクトル決定部23は、注目クラスタの代表ベクトルを登録項目ベクトルとして決定することは不適であると判断し、処理をステップS51に戻し、それ以降の処理を繰り返す。
即ち、当たり率が閾値以上になるまで、所定の手法に従って、新たな代表ベクトルが順次生成されていくことになる。具体的には例えば、図11に示されるように、新たな代表ベクトルが順次生成されていくことになる。即ち、図11は、ステップS51の「所定の手法」として遺伝的アルゴリズムが採用された場合におけるステップS51乃至S55のループ処理の繰り返し結果を表している。
図11の例では、初回のステップS51の処理で、代表ベクトルRε1が生成され、初回のステップS52とS53の処理で、注目クラスタε1が設定され、初回のステップS54の処理で注目クラスタε1の当たり率が演算される。そして、初回のステップS55の処理で当たり率が閾値以上ではないと判定されて、処理はステップS51に戻される。
次に、二回目のステップS51の処理で、代表ベクトルRε2が生成され、二回目のステップS52とS53の処理で、注目クラスタε2が設定され、二回目のステップS54の処理で注目クラスタε2の当たり率が演算される。そして、二回目のステップS55の処理で当たり率が閾値以上ではないと判定されて、処理はステップS51に戻される。
次に、三回目のステップS51の処理で、代表ベクトルRε3が生成され、三回目のステップS52とS53の処理で、注目クラスタε3が設定され、三回目のステップS54の処理で注目クラスタε3の当たり率が演算される。そして、三回目のステップS55の処理で当たり率が閾値以上ではないと判定されて、処理はステップS51に戻される。
次に、四回目のステップS51の処理で、代表ベクトルRε4が生成され、四回目のステップS52とS53の処理で、注目クラスタε4が設定され、四回目のステップS54の処理で注目クラスタε4の当たり率が演算される。
ただし、四回目のステップS55の処理では、当たり率が閾値以上であると判定されたとする。この場合、図10に示されるように、処理はステップS56に進むことになる。
ステップS56において、登録項目ベクトル決定部23は、注目クラスタにおける代表ベクトルを、選択項目についての登録項目ベクトルとして決定する。即ち、図10の例では、注目クラスタε4における代表ベクトルRε4が登録項目ベクトルとして決定される。
そして、ステップS57において、登録項目ベクトル決定部23は、登録項目IDと登録項目ベクトルとを対応付けて、登録項目ベクトル記憶部4に記憶させる。
これにより、図10の例の「登録項目ベクトル生成処理」は終了になる。
換言すると、図10の例の「登録項目ベクトル生成処理」とは、結局、図11の代表ベクトルRε1乃至Rε4等ステップ51で生成される代表ベクトルを登録項目ベクトルの候補として、これらの候補のうちの、ステップS55の判定条件を満たす候補を選抜し、選抜された候補を登録項目ベクトルとして決定する「登録項目ベクトル生成処理」である。
以上、図4乃至図11を参照して、図3のステップS2の「登録項目ベクトル生成処理」の詳細について説明した。
次に、図12乃至図17を参照して、図3のステップS4の「ユーザ嗜好ベクトル生成処理」の詳細について説明する。
図12は、ステップS4の「ユーザ嗜好ベクトル生成処理」の詳細例を示すフローチャートである。
図12のステップS71において、図1のユーザ嗜好ベクトル生成部6の登録嗜好クラスタ生成部24は、ユーザが注目する登録項目を示す登録項目IDを複数個取得する。
ステップS71で言う「ユーザが注目する登録項目」とは、登録項目選択操作部5から供給される選択登録項目のことである。従って、登録項目選択操作部5が、選択登録項目を登録嗜好クラスタ生成部24に通知する場合、選択登録項目を示す登録項目IDを用いて通知するとすれば、ステップS71の処理で、登録項目選択操作部5から通知された登録項目IDが複数個取得されることになる。
ステップS72において、登録嗜好クラスタ生成部24は、所定の条件に従って、複数の登録項目IDのそれぞれに対応付けられた登録項目ベクトルをクラスタリングし、1以上のクラスタ(グループ)を決定する。
具体的には例えばいま、ステップS71の処理で、登録項目IDとしてID1乃至ID5が取得され、また、ID1乃至ID5のそれぞれと対応付けられて登録項目ベクトルR1乃至R5のそれぞれが登録項目ベクトル記憶部4に記憶されているとする。そして、図13に示されるように、ステップS72の処理で、登録項目ベクトルR1乃至R3が属するクラスタJ、登録項目ベクトルR4が属するクラスタK、および、登録項目ベクトルR5が属するクラスタLのそれぞれが決定されたとする。即ち、図13は、ステップS71とS72の処理結果の例を示している。
図12に戻り、各クラスタJ,K,Lのそれぞれが、登録嗜好クラスタ生成部24により生成されて、登録嗜好ベクトル演算部25に供給されると、処理はステップS72からS73に進む。
ステップS73において、登録嗜好ベクトル演算部25は、1以上のクラスタ(図13の例ではクラスタJ,K,L)のうちの所定の1つを注目クラスタに設定する。
例えばいま、ステップS73の処理で、クラスタJが注目クラスタに設定されたとする。
この場合、ステップS74において、登録嗜好ベクトル演算部25は、注目クラスタJに含まれる登録項目ベクトルR1乃至R3を利用して代表ベクトルを生成する。
ここで、図14を参照して、注目クラスタJにおける代表ベクトルの生成手法の一例について説明する。即ち、図14は、注目クラスタJにおける代表ベクトルの生成手法を説明するための図である。図14のうちの、矢印に対して上側には、注目クラスタJに属する登録項目ベクトルR1,R2,R3のそれぞれの具体例が示されており、矢印に対して下側には、注目クラスタJにおける代表ベクトルの一例が示されている。
図14に示されるように、注目クラスタJに属する登録項目ベクトルR1,R2,R3のそれぞれの各成分を1つずつ注目成分として順次設定し、注目成分の特徴に応じた所定の演算手法であって、登録項目ベクトルR1,R2,R3のそれぞれの注目成分の成分値を利用する演算手法に従って演算された結果得られる値が、注目クラスタJにおける代表ベクトルの注目成分の成分値になる。
具体的には例えば、「数A」と記述された第1成分が注目成分として設定された場合には、登録項目ベクトルR1,R2,R3のそれぞれの第1成分の成分値である「5」,「4」,「0」のうちの「0」を除く平均が演算され、即ち、「5」と「4」との平均が演算され、その結果得られる「4.5」が、注目クラスタJにおける代表ベクトルの第1成分の成分値になる。
例えば、「数B」と記述された第2成分が注目成分として設定された場合には、登録項目ベクトルR1,R2,R3のそれぞれの第2成分の成分値である「5」,「4」,「5」のうちの代表値が選抜され(選抜するための演算処理が行われ)、選抜された「5」が、注目クラスタJにおける代表ベクトルの第2成分の成分値になる。
なお、図6と同様に図14においても、「数A」や「数B」といった「数」が記述された成分は、数値属性の成分とされている。これに対して、「名A」や「名B」といった「名」が記述された成分は、名義属性の成分とされている。また、図14において、「ID1」乃至「ID3」のそれぞれが記述された成分は、ID1乃至ID3のそれぞれが示す登録項目の成分とされている。
さらに例えば、上述したように、「名A」が赤白を示し、そのうちの「○(丸印)」が赤ワインを示し、「×(バツ印)」が白ワインを示すとする。この場合、図13に示される注目クラスタJには、赤ワインが2本含まれ、白ワインが1本含まれているとも言える。そこで例えば、図14の例では、注目クラスタJにより多く含まれている赤ワインを示す「○(丸印)」が代表種類として設定されて、注目クラスタJにおける代表ベクトルのうちの、「○(丸印)」に対応する第3成分の値のみが使用され、白ワインを示す「×(バツ印)」に対応する第4成分の値は使用されないとされている。即ち、図14の例では、注目クラスタJにおける代表ベクトルのうちの第3成分が注目成分として設定された場合には、代表種類を決定するための演算が行われ、その結果、代表種類として決定された赤ワインに対応する第3成分の成分値が「1」に決定され、引き続き、注目クラスタJにおける代表ベクトルのうちの第4成分が注目成分として設定されて、その成分値が「0」に決定される。
例えば、「名B」のうちの「a」が記述された第5成分が注目成分として設定された場合には、登録項目ベクトルR1,R2,R3のそれぞれの第5成分の成分値である「0.5」,「0.3」,「0.9」の総加算が演算され、その結果得られる「1.7」が、注目クラスタJにおける代表ベクトルの第5成分の成分値になる。
例えば、「名B」のうちの「b」が記述された第6成分が注目成分として設定された場合には、登録項目ベクトルR1,R2,R3のそれぞれの第6成分の成分値である「0.7」,「0.5」,「0」のうちの「0」を除く平均が演算され、即ち、「0.7」と「0.5」との平均が演算され、その結果得られる「0.6」が、注目クラスタJにおける代表ベクトルの第6成分の成分値になる。
例えば、「名B」のうちの「c」が記述された第7成分が注目成分として設定された場合には、登録項目ベクトルR1,R2,R3のそれぞれの第7成分の成分値である「0.9」,「0.7」,「0.9」の代表値が選抜され、選抜された「0.9」が、注目クラスタJにおける代表ベクトルの第7成分の成分値になる。
図12に戻り、このようにしてステップS74の処理で、注目クラスタJにおける代表ベクトルが生成されると、処理はステップS75に進む。
ステップS75において、登録嗜好ベクトル演算部25は、アイテム特徴ベクトル記憶部1に記憶されている各アイテム特徴ベクトルのそれぞれと、代表ベクトルとの類似度を演算する。
ステップS76において、登録嗜好ベクトル演算部25は、類似度が閾値以上のアイテム特徴ベクトルを、注目クラスタJに含める。
具体的に例えばいま、ステップS74の処理で、注目クラスタJにおける代表ベクトルとして、図15に示されるような代表ベクトルPJが生成されたとする。即ち、図15は、各クラスタJ,K,LのそれぞれについてのステップS74の処理結果の一例を同時に示した図である。なお、後述するように、実際には、クラスタJにおける代表ベクトルPJが生成されて、類似度が閾値以上のアイテム特徴ベクトルが、注目クラスタJに含められた後、クラスタKにおける代表ベクトルPKや、クラスタLにおける代表ベクトルPLが生成されることになる。
また、例えば、アイテム特徴ベクトル記憶部1には、図16に示されるアイテム特徴ベクトルIa乃至Iuが記憶されており、これらのうちの、アイテム特徴ベクトルIa乃至Ifが、代表ベクトルPJとの類似度が閾値以上であったとする。この場合、図16に示されるように、アイテム特徴ベクトルIa乃至Iuのうちのアイテム特徴ベクトルIa乃至Ifが、注目クラスタJに含められることになる。
図12に戻り、このようにして、ステップS76の処理で、類似度が閾値以上のアイテム特徴ベクトルIa乃至Ifが注目クラスタJに含められると、処理はステップS77に進む。
ステップS77において、登録嗜好ベクトル演算部25は、全クラスタが注目クラスタに設定されたか否かを判定する。
具体的には例えば、上述した図13乃至図16に示される例の場合には、クラスタK,Lがまだ注目クラスタに設定されていないので、ステップS77において、全クラスタが注目クラスタにまだ設定されていないと判定されて、処理はステップS73に戻され、それ以降の処理が繰り返し実行される。
即ち、今度は、ステップS73の処理で、例えばクラスタJが注目クラスタに設定され、ステップS74の処理で、例えば図15に示されるように、登録項目ベクトルR4がそのまま代表ベクトルPKとなり(ステップS74の処理時点で、クラスタJには登録項目ベクトルR4のみが含まれているため)、ステップS75とS76の処理で、例えば図16に示されるように、類似度が閾値以上のアイテム特徴ベクトルIg乃至Inが注目クラスタKに含められる。
さらに、ステップS77の処理でNOであると判定されて、今度は、ステップS73の処理で、例えばクラスタKが注目クラスタに設定され、ステップS74の処理で、例えば図15に示されるように、登録項目ベクトルR5がそのまま代表ベクトルPLとなり(ステップS74の処理時点で、クラスタLには登録項目ベクトルR5のみが含まれているため)、ステップS75とS76の処理で、例えば図16に示されるように、類似度が閾値以上のアイテム特徴ベクトルIo乃至Iuが注目クラスタLに含められる。
その結果、全クラスタJ,K,Lが注目クラスタに設定されたことになるので、今度は、ステップS77の処理でYESであると判定される。ステップS77の処理でYESであると判定されると、全クラスタJ,K,L(図16に示される情報)が、登録嗜好ベクトル演算部25から登録嗜好ベクトル決定部26に供給される。その結果、処理はステップS78に進む。
ステップS78において、登録嗜好ベクトル決定部23は、各クラスタ毎に、当たり率を演算する。
ステップS78の処理で言う「当たり率」とは、クラスタに含まれるアイテム特徴ベクトルの総数に対する、ステップS71の処理で取得された複数の登録項目IDのそれぞれが示す複数の項目(即ち、選択登録項目)のうちの少なくとも1つを含むアイテム特徴ベクトルの数の割合を言う。
具体的には例えば、上述した図16の例では、複数の選択登録項目のうちの少なくとも1つを含むアイテム特徴ベクトルは、○(丸印)で示されており、複数の選択登録項目の何れも含まないアイテム特徴ベクトルは、×(バツ印)で示されている。
この場合、クラスタJには、6個のアイテム特徴ベクトルIa乃至Ifが含まれている。これらのうちの、3個のアイテム特徴ベクトルIb,Ic,Ifは、選択登録項目を少なくとも1つ含むアイテム特徴ベクトルである。従って、クラスタJにおける当たり率は、3/6=50[%]になる。
同様に、クラスタKには、8個のアイテム特徴ベクトルIg乃至Inが含まれている。これらのうちの、2個のアイテム特徴ベクトルIm,Inは、選択登録項目を少なくとも1つ含むアイテム特徴ベクトルである。従って、クラスタKにおける当たり率は、2/8=25[%]になる。
また、クラスタLには、7個のアイテム特徴ベクトルIo乃至Iuが含まれている。これらのうちの、1個のアイテム特徴ベクトルItは、選択登録項目を少なくとも1つ含むアイテム特徴ベクトルである。従って、クラスタLにおける当たり率は、1/7=約14[%]になる。
図12のステップS79において、登録嗜好ベクトル決定部26は、当たり率が最も高いクラスタの代表ベクトルを、ユーザ嗜好ベクトルとして決定する。
具体的には例えば図16の例では、上述したように、クラスタJ,K,Lのそれぞれの当たり率は、50[%]、25[%]、約14[%]のそれぞれである。従って、ステップS79の処理で、当たり率が50[%]と最も高いクラスタJの代表ベクトルPJが、ユーザ嗜好ベクトルとして決定される。
そして、ステップS80において、登録嗜好ベクトル決定部26は、ユーザ嗜好ベクトルを、ユーザ嗜好ベクトル記憶部7に記憶させる。
これにより、「ユーザ嗜好ベクトル生成処理」は終了になる。
以上、図12の例の「ユーザ嗜好ベクトル生成処理」について説明した。
ところで、「ユーザ嗜好ベクトル生成処理」は、上述した図12の例に限定されず、その他様々な処理を採用することが可能である。具体的には例えば、「ユーザ嗜好ベクトル生成処理」として例えば図17の例を採用してもよい。
即ち、図17は、図12とは異なる「ユーザ嗜好ベクトル生成処理」の詳細例を説明するフローチャートである。
図17のステップS101において、図1のユーザ嗜好ベクトル生成部6の登録嗜好クラスタ生成部24は、ユーザが注目する登録項目を示す登録項目IDを複数個取得する。
ステップS102において、登録嗜好クラスタ生成部24は、所定の条件に従って、複数の登録項目IDのそれぞれに対応付けられた登録項目ベクトルをクラスタリングし、1以上のクラスタ(グループ)を決定する。
具体的には例えばいま、ステップS101の処理で、登録項目IDとしてID1乃至ID5が取得され、また、ID1乃至ID5のそれぞれと対応付けられて登録項目ベクトルR1乃至R5のそれぞれが登録項目ベクトル記憶部4に記憶されているとする。そして、上述した図13に示されるように、ステップS102の処理で、登録項目ベクトルR1乃至R3が属するクラスタJ、登録項目ベクトルR4が属するクラスタK、および、登録項目ベクトルR5が属するクラスタLのそれぞれが決定されたとする。即ち、上述した図13はまた、ステップS101とS102の処理結果の例を示している。
換言すると、ステップS101とS102の処理は、上述した図12のステップS71とS72のそれぞれの処理と基本的に同様の処理である。
図17に戻り、各クラスタJ,K,Lのそれぞれが、登録嗜好クラスタ生成部24により生成されて、登録嗜好ベクトル演算部25に供給されると、処理はステップS102からS103に進む。
ステップS103において、登録嗜好ベクトル演算部25は、登録項目ベクトルを最も多く含むクラスタを注目クラスタに設定する。
具体的には例えば、図13の例では、3つの登録項目ベクトルI1乃至I3を含むクラスタJが、登録項目ベクトルを最も多く含むクラスタである。従って、この場合、ステップS103の処理で、クラスタJが注目クラスタに設定されることになる。
この場合、ステップS104において、登録嗜好ベクトル演算部25は、注目クラスタJに含まれる登録項目ベクトルR1乃至R3を利用して代表ベクトルを生成する。
このステップS104の処理は、上述した図12のステップS74の処理と基本的に同様の処理である。従って、図13の例では、上述した図14に示される代表ベクトルが、ステップS104の処理で生成されることになる。
ステップS104の処理で生成された代表ベクトルが、登録嗜好ベクトル演算部25から登録嗜好ベクトル決定部26に供給されると、処理はステップS105に進む。
ステップS105において、登録嗜好ベクトル決定部26は、注目クラスタの代表ベクトル、即ち、登録嗜好ベクトル演算部25から供給された代表ベクトルを、ユーザ嗜好ベクトルとして決定する。
具体的には例えば図13と図14の例では、上述したように、クラスタJが注目クラスタに設定されて、図14に示される代表ベクトルが生成されるので、ステップS105の処理で、図14に示される代表ベクトルが、ユーザ嗜好ベクトルとして決定されることになる。
そして、ステップS106において、登録嗜好ベクトル決定部26は、ユーザ嗜好ベクトルを、ユーザ嗜好ベクトル記憶部7に記憶させる。
これにより、「ユーザ嗜好ベクトル生成処理」は終了になる。
以上、図12乃至図17を参照して、図3のステップS4の「ユーザ嗜好ベクトル生成処理」の詳細について説明した。
ところで、上述した一連の処理は、ハードウエアにより実行させることもできるが、ソフトウエアにより実行させることができる。
この場合、図1の推薦システムは、例えば、図18に示される1台以上のパーソナルコンピュータで構成することができる。なお、上述した例は、図1の推薦システムは1台の情報処理装置で構成される例であり、この例に対応させると、図1の推薦システムは、例えば、図18に示されるパーソナルコンピュータ1台で構成することができる。
図18において、CPU(Central Processing Unit)101は、ROM(Read Only Memory)102に記録されているプログラム、または記憶部108からRAM(Random Access Memory)103にロードされたプログラムに従って各種の処理を実行する。RAM103にはまた、CPU101が各種の処理を実行する上において必要なデータなども適宜記憶される。
CPU101、ROM102、およびRAM103は、バス104を介して相互に接続されている。このバス104にはまた、入出力インタフェース105も接続されている。
入出力インタフェース105には、キーボード、マウスなどよりなる入力部106、ディスプレイなどよりなる出力部107、ハードディスクなどより構成される記憶部108、および、モデム、ターミナルアダプタなどより構成される通信部109が接続されている。通信部109は、インターネットを含むネットワークを介して他の装置(図示せず)との間で行う通信を制御する。
入出力インタフェース105にはまた、必要に応じてドライブ110が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどよりなるリムーバブル記録媒体111が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部108にインストールされる。
一連の処理をソフトウエアにより実行させる場合には、そのソフトウエアを構成するプログラムが、専用のハードウエアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、ネットワークや記録媒体からインストールされる。
このようなプログラムを含む記録媒体は、図18に示されるように、装置本体とは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク(フロッピディスクを含む)、光ディスク(CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)を含む)、光磁気ディスク(MD(Mini-Disk)を含む)、もしくは半導体メモリなどよりなるリムーバブル記録媒体(パッケージメディア)111により構成されるだけでなく、装置本体に予め組み込まれた状態でユーザに提供される、プログラムが記録されているROM102や、記憶部108に含まれるハードディスクなどで構成される。
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、その順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
また、本明細書において、システムとは、複数の装置や処理部により構成される装置全体を表すものである。
1 アイテム特徴ベクトル記憶部, 2 項目選択操作部, 3 登録項目ベクトル生成部, 4 登録項目ベクトル記憶部, 5 登録項目選択操作部, 6 ユーザ嗜好ベクトル生成部, 7 ユーザ嗜好ベクトル記憶部,8 推薦指令操作部, 9 推薦リスト生成部, 10 アイテム特徴ベクトル記憶部, 11 呈示部, 21 登録項目クラスタ生成部, 22 登録項目ベクトル演算部, 23 登録項目ベクトル決定部, 24 登録嗜好クラスタ生成部, 25 登録嗜好ベクトル演算部, 26 登録嗜好ベクトル決定部, 101 CPU, 102 ROM, 103 RAM, 108 記憶部, 111 リムーバブル記録媒体, I1乃至I29 アイテム特徴ベクトル, α1,α2,β1,β2,γ1,γ2,θ2,ε1乃至ε4 クラスタ, Rα,Rβ,Rγ,Rθ,Rε1乃至Rε4, 代表ベクトル, JK,L クラスタ, R1乃至R5 登録項目ベクトル, PJ,PK,PL 代表ベクトル, Ia乃至Iu アイテム特徴ベクトル
Claims (8)
- ユーザにより指定された所定の項目をキーワードとして、複数のアイテムの中から前記ユーザに推薦すべき推薦アイテムを決定する情報処理装置において、
前記ユーザにより指定される可能性のある1以上の項目のそれぞれの特徴を示す1以上の項目ベクトルのそれぞれを記憶する記憶手段と、
前記ユーザにより操作され、前記記憶手段に記憶されている1以上の前記項目ベクトルのそれぞれに対応する1以上の前記項目のうちの前記ユーザにより選択された項目を、前記キーワードとして前記情報処理装置内に入力させる操作手段と、
前記操作手段から前記キーワードが入力された場合、前記記憶手段に記憶されている1以上の前記項目ベクトルのうちの、前記キーワードに対応する項目ベクトルを利用して、前記ユーザの嗜好を示すユーザ嗜好ベクトルを生成する嗜好ベクトル生成手段と、
前記嗜好ベクトル生成手段により生成された前記ユーザ嗜好ベクトルと、複数の前記アイテムのそれぞれの特徴を示すアイテム特徴ベクトルのそれぞれとの類似度を演算し、演算された類似度が所定の条件を満たす前記アイテム特徴ベクトルに対応するアイテムを、前記推薦アイテムとして決定する推薦手段と
を備えることを特徴とする情報処理装置。 - 前記嗜好ベクトル生成手段は、
前記キーワードに対応する1以上の前記項目ベクトルをクラスタリングし、前記キーワードに対応する1以上の前記項目ベクトルのうちの少なくとも1つを含むクラスタを、1つ以上生成する嗜好クラスタ生成手段と、
前記嗜好クラスタ生成手段により生成された1以上の前記クラスタのそれぞれを注目クラスタとして順次設定し、前記注目クラスタに含まれる前記項目ベクトルを利用して、前記注目クラスタを代表する代表ベクトルを生成する嗜好代表ベクトル生成手段と、
前記嗜好代表ベクトル生成手段により生成された、1以上の前記クラスタのそれぞれの前記代表ベクトルの中から、所定の条件を満たす代表ベクトルを1つ選抜し、選抜された前記代表ベクトルを前記ユーザ嗜好ベクトルとして決定する嗜好ベクトル決定手段と
を有することを特徴とする請求項1に記載の情報処理装置。 - 前記嗜好ベクトル生成手段は、
前記キーワードに対応する1以上の前記項目ベクトルをクラスタリングし、前記キーワードに対応する1以上の前記項目ベクトルのうちの少なくとも1つを含むクラスタを、1つ以上生成する嗜好クラスタ生成手段と、
前記嗜好クラスタ生成手段により生成された1以上の前記クラスタのうちの、前記項目ベクトルを最も多く含むクラスタを注目クラスタに設定し、前記注目クラスタに含まれる前記項目ベクトルを利用して、前記注目クラスタを代表する代表ベクトルを生成する嗜好代表ベクトル生成手段と、
前記嗜好代表ベクトル生成手段により生成された前記注目クラスタの前記代表ベクトルを、前記ユーザ嗜好ベクトルとして決定する嗜好ベクトル決定手段と
を有することを特徴とする請求項1に記載の情報処理装置。 - 前記ユーザにより指定される可能性のある1以上の前記項目のうちの所定の1つを処理対象として、処理対象の項目についての前記項目ベクトルを生成する項目ベクトル生成手段
をさらに備えることを特徴とする請求項1に記載の情報処理装置。 - 前記項目ベクトル生成手段は、
複数の前記アイテムまたはそれらとは異なる複数の前記アイテムのそれぞれの特徴を示すアイテム特徴ベクトルのうちの、処理対象の前記項目を成分として含む1以上のアイテム特徴ベクトルをクラスタリングし、処理対象の前記項目を成分として含む1以上の前記アイテム特徴ベクトルのうちの少なくとも1つを含むクラスタを、1つ以上生成する項目クラスタ生成手段と、
前記項目クラスタ生成手段により生成された1以上の前記クラスタのそれぞれを注目クラスタとして順次設定し、前記注目クラスタに含まれる前記アイテム特徴ベクトルを利用して、前記注目クラスタを代表する代表ベクトルを生成する項目代表ベクトル生成手段と、
前記項目代表ベクトル生成手段により生成された、1以上の前記クラスタのそれぞれについての前記代表ベクトルの中から、所定の条件を満たす代表ベクトルを1つ選抜し、選抜された前記代表ベクトルを、処理対象の前記項目についての前記項目ベクトルとして決定する項目ベクトル決定手段と
を有することを特徴とする請求項4に記載の情報処理装置。 - 前記項目ベクトル生成手段は、
処理対象の前記項目についての前記項目ベクトルの候補を生成する候補生成手段と、
複数の前記アイテムまたはそれらとは異なる複数の前記アイテムのそれぞれの特徴を示すアイテム特徴ベクトルのうちの、前記候補生成手段により生成された前記候補と類似度が閾値以上であるアイテム特徴ベクトルと、前記候補とのそれぞれを含むクラスタを生成する項目クラスタ生成手段と、
前記項目クラスタ生成手段により生成された前記クラスタが所定の条件を満たすか否かを判定し、前記クラスタが前記所定の条件を満たさないと判定した場合、新たな前記候補を前記候補生成手段に生成させ、新たな前記候補を含む新たなクラスタを前記項目クラスタ生成手段に生成させ、新たな前記クラスタが所定の条件を満たすか否かを再度判定し、前記クラスタが前記所定の条件を満たすと判定した場合、そのクラスタに含まれる前記候補を、処理対象の前記項目についての前記項目ベクトルとして決定する項目ベクトル決定手段と
を有することを特徴とする請求項4に記載の情報処理装置。 - ユーザにより指定された所定の項目をキーワードとして、複数のアイテムの中から前記ユーザに推薦すべき推薦アイテムを決定する情報処理装置であって、
前記ユーザにより指定される可能性のある1以上の項目のそれぞれの特徴を示す1以上の項目ベクトルのそれぞれを記憶する記憶手段と、
前記ユーザにより操作され、前記記憶手段に記憶されている1以上の項目ベクトルのそれぞれに対応する1以上の前記項目のうちの前記ユーザにより選択された項目を、前記キーワードとして前記情報処理装置内に入力させる操作手段と
を少なくとも備える前記情報処理装置の情報処理方法において、
前記操作手段から前記キーワードが入力された場合、前記記憶手段に記憶されている1以上の前記項目ベクトルのうちの、前記キーワードに対応する項目ベクトルを利用して、前記ユーザの嗜好を示すユーザ嗜好ベクトルを生成する嗜好ベクトル生成ステップと、
前記嗜好ベクトル生成ステップの処理により生成された前記ユーザ嗜好ベクトルと、複数の前記アイテムのそれぞれの特徴を示すアイテム特徴ベクトルのそれぞれとの類似度を演算し、演算された類似度が所定の条件を満たす前記アイテム特徴ベクトルに対応するアイテムを、前記推薦アイテムとして決定する推薦ステップと
を含むことを特徴とする情報処理方法。 - ユーザにより指定された所定の項目をキーワードとして、複数のアイテムの中から前記ユーザに推薦すべき推薦アイテムを決定する推薦装置であって、
前記ユーザにより指定される可能性のある1以上の項目のそれぞれの特徴を示す1以上の項目ベクトルのそれぞれを記憶する記憶手段と、
前記ユーザにより操作され、前記記憶手段に記憶されている1以上の項目ベクトルのそれぞれに対応する1以上の前記項目のうちの前記ユーザにより選択された項目を、前記キーワードとして前記推薦装置内に入力させる操作手段と
を少なくとも備える前記推薦装置を制御するコンピュータに実行させるプログラムであって、
前記操作手段から前記キーワードが入力された場合、前記記憶手段に記憶されている1以上の前記項目ベクトルのうちの、前記キーワードに対応する項目ベクトルを利用して、前記ユーザの嗜好を示すユーザ嗜好ベクトルを生成する嗜好ベクトル生成ステップと、
前記嗜好ベクトル生成ステップの処理により生成された前記ユーザ嗜好ベクトルと、複数の前記アイテムのそれぞれの特徴を示すアイテム特徴ベクトルのそれぞれとの類似度を演算し、演算された類似度が所定の条件を満たす前記アイテム特徴ベクトルに対応するアイテムを、前記推薦アイテムとして決定する推薦ステップと
を含むことを特徴とするプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005002089A JP2006190128A (ja) | 2005-01-07 | 2005-01-07 | 情報処理装置および方法、並びにプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005002089A JP2006190128A (ja) | 2005-01-07 | 2005-01-07 | 情報処理装置および方法、並びにプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006190128A true JP2006190128A (ja) | 2006-07-20 |
Family
ID=36797269
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005002089A Withdrawn JP2006190128A (ja) | 2005-01-07 | 2005-01-07 | 情報処理装置および方法、並びにプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006190128A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8108376B2 (en) | 2008-03-28 | 2012-01-31 | Kabushiki Kaisha Toshiba | Information recommendation device and information recommendation method |
JP2018535502A (ja) * | 2015-11-24 | 2018-11-29 | ザ ボトルフライ,インコーポレイテッド | 消費者味覚好みを追跡するシステム及び方法 |
-
2005
- 2005-01-07 JP JP2005002089A patent/JP2006190128A/ja not_active Withdrawn
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8108376B2 (en) | 2008-03-28 | 2012-01-31 | Kabushiki Kaisha Toshiba | Information recommendation device and information recommendation method |
JP2018535502A (ja) * | 2015-11-24 | 2018-11-29 | ザ ボトルフライ,インコーポレイテッド | 消費者味覚好みを追跡するシステム及び方法 |
US10977710B2 (en) | 2015-11-24 | 2021-04-13 | The Bottlefly, Inc. | Systems and methods for tracking consumer tasting preferences |
JP2022008885A (ja) * | 2015-11-24 | 2022-01-14 | ザ ボトルフライ,インコーポレイテッド | 消費者味覚好みを追跡するシステム及び方法 |
JP7228655B2 (ja) | 2015-11-24 | 2023-02-24 | ザ ボトルフライ,インコーポレイテッド | 消費者味覚好みを追跡するシステム及び方法 |
US11847684B2 (en) | 2015-11-24 | 2023-12-19 | The Bottlefly, Inc. | Systems and method for tracking consumer tasting preferences |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11461388B2 (en) | Generating a playlist | |
US20220284053A1 (en) | User-specific media playlists | |
JP4752623B2 (ja) | 情報処理装置、情報処理方法、およびプログラム | |
JP4910582B2 (ja) | 情報処理装置および方法、並びに、プログラム | |
JP2006190127A (ja) | 情報処理装置および方法、並びにプログラム | |
US20060217828A1 (en) | Music searching system and method | |
JP2007122683A (ja) | 情報処理装置、情報処理方法、およびプログラム | |
US20090055390A1 (en) | Information sorting device and information retrieval device | |
CN1433554A (zh) | 利用因特网语音入口做广告的系统和方法 | |
WO2010037286A1 (zh) | 一种基于协同过滤的推荐方法和系统 | |
JP2008176398A (ja) | 情報処理装置および方法、並びにプログラム | |
JP2012018412A (ja) | 会話の話題を決定して関連するコンテンツを取得して提示する方法及びシステム | |
US20100030772A1 (en) | System and method for creating and using personality models for user interactions in a social network | |
US11663661B2 (en) | Apparatus and method for training a similarity model used to predict similarity between items | |
JP2007323398A (ja) | 情報処理装置および方法、プログラム、並びに記録媒体 | |
CN101116073A (zh) | 信息处理设备、信息处理方法及程序 | |
JP4492354B2 (ja) | 情報処理装置および方法、並びにプログラム | |
JP2006048320A (ja) | 情報処理装置および方法、記録媒体、並びにプログラム | |
JP2006268100A (ja) | プレイリスト生成装置、プレイリスト生成方法、プログラムおよび記録媒体 | |
US20130276039A1 (en) | Characteristic karaoke vod system and operating process thereof | |
US9122683B1 (en) | System and method of linking media content information | |
CN108197241B (zh) | 一种基于用户偏好的路径搜索方法、系统、存储介质和处理器 | |
JP2006190126A (ja) | 情報処理装置および方法、並びにプログラム | |
JP2006190128A (ja) | 情報処理装置および方法、並びにプログラム | |
JP2007233515A (ja) | 情報処理装置および情報処理方法、提供装置および提供方法、並びにプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20080401 |