JP2004192461A - Information processor, information processing method, information processing system, recording medium, and program - Google Patents

Information processor, information processing method, information processing system, recording medium, and program Download PDF

Info

Publication number
JP2004192461A
JP2004192461A JP2002361278A JP2002361278A JP2004192461A JP 2004192461 A JP2004192461 A JP 2004192461A JP 2002361278 A JP2002361278 A JP 2002361278A JP 2002361278 A JP2002361278 A JP 2002361278A JP 2004192461 A JP2004192461 A JP 2004192461A
Authority
JP
Japan
Prior art keywords
content
information
program
vector
user
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2002361278A
Other languages
Japanese (ja)
Other versions
JP4547596B2 (en
JP2004192461A5 (en
Inventor
Noriyuki Yamamoto
則行 山本
Mitsuhiro Miyazaki
充弘 宮嵜
Mari Saito
真里 斎藤
Hiroyuki Koike
宏幸 小池
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2002361278A priority Critical patent/JP4547596B2/en
Publication of JP2004192461A publication Critical patent/JP2004192461A/en
Publication of JP2004192461A5 publication Critical patent/JP2004192461A5/ja
Application granted granted Critical
Publication of JP4547596B2 publication Critical patent/JP4547596B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • H04N21/2353Processing of additional data, e.g. scrambling of additional data or processing content descriptors specifically adapted to content descriptors, e.g. coding, compressing or processing of metadata
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44213Monitoring of end-user related data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/466Learning process for intelligent management, e.g. learning user preferences for recommending movies
    • H04N21/4668Learning process for intelligent management, e.g. learning user preferences for recommending movies for recommending content, e.g. movies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/84Generation or processing of descriptive data, e.g. content descriptors

Abstract

<P>PROBLEM TO BE SOLVED: To generate user's taste information on the basis of attribute information of contents meeting prescribed conditions. <P>SOLUTION: Program vectors of programs being user model generation objects are acquired in a step S231, and a topic inputted by the user is set as a filtering condition in a step S232. Program vectors are filtered on the basis of the filtering condition to extract program vectors meeting the topic in a step S233, and a user model vector is generated from the sum total of extracted program vectors in a step S234. Cosine distances between the user model vector and program vectors of candidate programs for obtaining recommended information are calculated in a step S235, and the prescribed number of programs out of candidate programs of which the program vectors have higher degrees of similarity to the user model vector are extracted in order from the highest degree as recommended information in a step S236. This invention is applicable to program recommendation apparatus . <P>COPYRIGHT: (C)2004,JPO&NCIPI

Description

【0001】
【発明の属する技術分野】
本発明は、情報処理装置および情報処理方法、情報処理システム、記録媒体、並びにプログラムに関し、特に、テレビジョン放送やラジオ放送などの番組や、ストリーミングデータなどを視聴するユーザに対して、例えば、自動録画や番組などの推薦を行う場合に用いて好適な、情報処理装置および情報処理方法、情報処理システム、記録媒体、並びにプログラムに関する。
【0002】
【従来の技術】
従来、例えば、テレビジョン放送やラジオ放送などにおいて、ユーザに対して番組を推薦する場合には、電子番組ガイド(EPG:Electronic Program Guide)などの番組情報(番組メタデータ)を基に、ユーザの嗜好情報にマッチングする番組が選択された。ユーザへの番組の推薦方法は、ユーザ嗜好データの取得の方法によって異なり、例えば、初期にユーザの興味に関する情報を登録してもらい、その情報に基づいて、番組を推薦する初期興味登録方式、ユーザが過去に視聴した番組の履歴を利用して、番組を推薦する視聴履歴利用方式、あるいは、他のユーザの視聴履歴を利用して、番組を推薦する協調フィルタリング方式などの方法があった。
【0003】
初期興味登録方式では、利用開始時に、例えば、好きな番組カテゴリー(例えば、ドラマ、バラエティ、など)、好きなジャンル(推理もの、お笑いもの、など)、または、好きなタレント名などをユーザに登録してもらい、これらの情報をキーワードとして、番組メタデータとの間でマッチングを取ることにより、推薦すべき番組名が取得されるようになされている。
【0004】
また、視聴履歴利用方式では、ユーザが番組を視聴するたびに、視聴された番組メタデータが蓄積され、ある程度、履歴メタデータが蓄積されると、そのメタデータが解析されて、例えば、好きな番組カテゴリー、好きなジャンル、または、好きなタレント名などの情報が取得される。そして、これらの情報をキーワードとして、番組メタデータとの間でマッチングを取ることにより、推薦すべき番組名が取得されるようになされている。
【0005】
例えば、HDD(Hard Disk Drive)を用いた録画装置などにおいては、視聴履歴のみならず、録画予約、または、録画などのユーザ操作が履歴情報として蓄積され、嗜好情報の取得に用いられることもある。この場合、ユーザが、特に興味を持って番組を視聴しているのではなく、テレビジョン受像機やラジオなどをつけていたために視聴していた状態になっていた番組と、ユーザが、より興味を持って、意識的に視聴した番組を一部区別することが可能となり、ユーザの嗜好をより反映した情報を取得できる。
【0006】
そして、協調フィルタリング方式は、第1のユーザの視聴や操作の履歴に対して、その他のユーザの視聴履歴との間でマッチングを取ることにより、第1のユーザと視聴履歴の似ている第2のユーザを検索し、その視聴または操作の履歴データを取得することにより、第2のユーザが視聴した番組で、第1のユーザがまだ視聴していない番組を抽出して推薦するものである。
【0007】
また、放送番組に、予め、番組の属性情報として、n次元の属性ベクトルを付加し、ユーザの初期登録内容や、ユーザが再生、または録画予約した番組の属性ベクトルの各属性項目の平均値を基に生成された選択ベクトルと、属性ベクトルとを比較することにより、録画する番組、または、再生する番組を選択することができるようになされている技術がある(例えば、特許文献1)。
【0008】
【特許文献1】
特開2001−160955号公報
【0009】
【発明が解決しようとする課題】
しかしながら、初期登録方式を基に、番組を選択する場合、ユーザが初期登録を行った時期の固定的な興味しか反映できない上、詳細な情報を得るためには、ユーザの登録操作が複雑になってしまう。これに対して、初期設定の登録情報の入力操作を簡単にするために、登録される情報数を少なくしてしまった場合、大まかなユーザの嗜好情報を基にした推薦しかできないので、ユーザの嗜好に合致する番組が選択される精度が低いものとなってしまう。
【0010】
これに対して、履歴利用方式などのように、単純にユーザの視聴履歴などを基に収集したメタデータの総和、または平均などを用いて、番組を選択する場合、履歴がある程度蓄積されないと、ユーザの嗜好に正しく合致した番組を推薦することができない。更に、履歴利用方式では、メタデータ間の関係性がなまってしまい、充分な個人化はできなかった。また履歴を積み重ねることにより、例えば、ジャンルなど、履歴として重なり易い項目(ユーザが嗜好するものとして検出されやすい項目)と、出演者など、履歴として要素が広がり易い項目(ユーザが嗜好するものとして検出されにくい項目)とで、重み付けに偏りが生じてしまう場合がある。
【0011】
具体的には、例えば、ユーザが解説者Aのファンであるので、「解説者Aが解説している球団Bの試合の実況中継」を好んで視聴しているような場合、ジャンルである「野球の実況中継」という情報は履歴として重なりやすい(「野球の実況中継」という情報は、ユーザが嗜好するものとして検出されやすい)が、出演者である「解説者A」という情報は履歴として重なり難い(「解説者A」という情報は、ユーザが嗜好するものとして検出され難い)。このため、他の解説者が解説している球団Bの試合の実況中継が推薦されて、解説者Aが出演しているバラエティ番組が推薦されないような場合が発生する。
【0012】
また、特許文献1に示されるように、放送番組に、予め、番組の属性ベクトルを付加し、ユーザの初期登録内容や、ユーザが再生、または録画予約した番組の属性ベクトルの各属性項目の平均値を基に生成された選択ベクトルと、属性ベクトルとを比較することにより、録画する番組、または、再生する番組を選択するようにした場合も、ユーザの操作履歴を利用するのであるから、同様に、履歴として重なり易い項目と、出演者など、履歴として要素が広がり易い項目とで、重み付けに偏りが生じてしまう場合がある。
【0013】
更に、例えば、ドラマが好きで、バラエティは、ほとんどドラマに出演しないコメディアンAが出演するもののみを好み、バラエティ対ドラマの視聴比率が2:8であるユーザに対して生成される選択ベクトルにおいては、ほとんどドラマに出演しないコメディアンAよりも、特に好きな俳優でないにもかかわらず、ドラマに頻繁に出演する出演者Bが履歴として重なってしまう。従って、コメディアンAが出演するバラエティよりも、ドラマに頻繁に出演する出演者Bが出演するドキュメンタリーが優先的に推薦されてしまう。
【0014】
また、ユーザによって、番組を選択するために重要な項目が異なる(例えば、出演者重視や内容重視など)場合にも、全ての項目が同様に演算されるため、ユーザ固有の嗜好が反映されない場合があった。
【0015】
また、協調フィルタリング方式で利用されるのは、あくまで他のユーザの嗜好情報であるので、それぞれのユーザの嗜好を詳細に表す情報を抽出することは困難であった。
【0016】
本発明はこのような状況に鑑みてなされたものであり、ユーザの嗜好に合致した番組を選択することができるようにするものである。
【0017】
【課題を解決するための手段】
本発明の第1の情報処理装置は、コンテンツに関する情報を取得する取得手段と、取得手段により取得されたコンテンツに関する情報に基づいて、コンテンツを分類する分類手段と、コンテンツに関する情報を基に、属性情報を生成し、分類手段による分類結果を対応付ける属性情報生成手段とを備えることを特徴とする。
【0018】
属性情報生成手段により生成された属性情報と、属性情報に対応付けられた分類結果とを、他の情報処理装置に送信する送信手段を更に備えさせるようにすることができる。
【0019】
分類手段には、コンテンツに関する情報を基に、所定の条件に合致しているコンテンツを検出させるようにすることができ、属性情報生成手段には、分類手段による分類を区別するための固有情報を、属性情報に対応付けさせるようにすることができる。
【0020】
所定の条件には、コンテンツの放送または配信の開始時刻の差が、所定の時間以内であるという条件を含ませるようにすることができる。
【0021】
コンテンツに関する情報は、複数の項目により構成されるものとすることができ、分類手段には、コンテンツに関する情報の所定の項目に、同一の単語を少なくとも1つ含んでいるコンテンツを検出させるようにすることができ、属性情報生成手段には、分類手段による分類を区別するための固有情報を、属性情報に対応付させるようにすることができる。
【0022】
コンテンツに関する情報は、複数の項目により構成されるものとすることができ、分類手段には、コンテンツに関する情報の所定の項目を構成する単語の一致率が所定の値よりも大きいコンテンツを検出させるようにすることができ、属性情報生成手段には、分類手段による分類を区別するための固有情報を、属性情報に対応付けさせるようにすることができる。
【0023】
属性情報生成手段には、更に、第1のコンテンツと同一の分類の第2のコンテンツに既に対応付けられている属性情報を、第1のコンテンツに対応付させるようにすることができる。
【0024】
コンテンツは放送番組であるものとすることができ、分類手段には、コンテンツに関する情報を基に、連続して放送される放送番組を1つの分類として分類させるようにすることができ、属性情報生成手段には、分類手段により、連続して放送される放送番組として分類された放送番組の属性情報を、第1回目の放送分のコンテンツに関する情報を用いて生成させるようにすることができる。
【0025】
本発明の第1の情報処理方法は、コンテンツに関する情報に基づいて、コンテンツを分類する分類ステップと、コンテンツに関する情報を基に、属性情報を生成する属性情報生成ステップと、属性情報生成ステップの処理により生成された属性情報と、分類ステップの処理による分類結果を対応付ける対応付けステップとを含むことを特徴とする。
【0026】
本発明の第1の記録媒体に記録されているプログラムは、コンテンツに関する情報に基づいて、コンテンツを分類する分類ステップと、コンテンツに関する情報を基に、属性情報を生成する属性情報生成ステップと、属性情報生成ステップの処理により生成された属性情報と、分類ステップの処理による分類結果を対応付ける対応付けステップとを含むことを特徴とする。
【0027】
本発明の第1のプログラムは、コンテンツに関する情報に基づいて、コンテンツを分類する分類ステップと、コンテンツに関する情報を基に、属性情報を生成する属性情報生成ステップと、属性情報生成ステップの処理により生成された属性情報と、分類ステップの処理による分類結果を対応付ける対応付けステップとを含むことを特徴とする。
【0028】
本発明の第1の情報処理装置および情報処理方法、並びに、プログラムにおいては、コンテンツに関する情報に基づいて、コンテンツが分類され、コンテンツに関する情報を基に、属性情報が生成され、生成された属性情報と、分類結果が対応付けられる。
【0029】
本発明の第2の情報処理装置は、コンテンツの属性情報を取得する取得手段と、ユーザの嗜好情報を記憶する記憶手段と、記憶手段により記憶されている嗜好情報と、取得手段により取得された属性情報とを比較することにより、ユーザの嗜好と合致した第1のコンテンツを検出する検出手段とを備え、コンテンツの属性情報は、コンテンツの分類を示す固有情報を含み、検出手段は、固有情報を基に、ユーザの嗜好と合致した第1のコンテンツと同一の分類の第2のコンテンツを、ユーザの嗜好と合致するコンテンツとして更に検出することを特徴とする。
【0030】
本発明の第2の情報処理方法は、ユーザの嗜好と合致した第1のコンテンツの分類を示す固有情報の記憶を制御する記憶制御ステップと、第2のコンテンツの属性情報は、固有情報を含むか否かを判断する第1の判断ステップと、第1の判断ステップの処理により、属性情報は固有情報を含んでいると判断された場合、記憶制御ステップの処理により記憶が制御されている第1のコンテンツの固有情報を基に、第2のコンテンツは、第1のコンテンツと同一の分類であるか否かを判断する第2の判断ステップと、第2の判断ステップの処理により、第2のコンテンツは、第1のコンテンツと同一の分類であると判断された場合、第2のコンテンツをユーザの嗜好と合致するコンテンツとして検出する検出ステップとを含むことを特徴とする。
【0031】
本発明の第2の記録媒体に記録されているプログラムは、ユーザの嗜好と合致した第1のコンテンツの分類を示す固有情報の記憶を制御する記憶制御ステップと、第2のコンテンツの属性情報は、固有情報を含むか否かを判断する第1の判断ステップと、第1の判断ステップの処理により、属性情報は固有情報を含んでいると判断された場合、記憶制御ステップの処理により記憶が制御されている第1のコンテンツの固有情報を基に、第2のコンテンツは、第1のコンテンツと同一の分類であるか否かを判断する第2の判断ステップと、第2の判断ステップの処理により、第2のコンテンツは、第1のコンテンツと同一の分類であると判断された場合、第2のコンテンツをユーザの嗜好と合致するコンテンツとして検出する検出ステップとを含むことを特徴とする。
【0032】
本発明の第2のプログラムは、ユーザの嗜好と合致した第1のコンテンツの分類を示す固有情報の記憶を制御する記憶制御ステップと、第2のコンテンツの属性情報は、固有情報を含むか否かを判断する第1の判断ステップと、第1の判断ステップの処理により、属性情報は固有情報を含んでいると判断された場合、記憶制御ステップの処理により記憶が制御されている第1のコンテンツの固有情報を基に、第2のコンテンツは、第1のコンテンツと同一の分類であるか否かを判断する第2の判断ステップと、第2の判断ステップの処理により、第2のコンテンツは、第1のコンテンツと同一の分類であると判断された場合、第2のコンテンツをユーザの嗜好と合致するコンテンツとして検出する検出ステップとを含むことを特徴とする。
【0033】
本発明の第2の情報処理装置および情報処理方法、並びに、プログラムにおいては、ユーザの嗜好と合致した第1のコンテンツの分類と、第2のコンテンツの分類は同一であるか否かが判断され、第2のコンテンツは、第1のコンテンツと同一の分類であると判断された場合、第2のコンテンツがユーザの嗜好と合致するコンテンツとして検出される。
【0034】
本発明の情報処理システムは、第1の情報処理装置が、コンテンツに関する情報を取得する第1の取得手段と、第1の取得手段により取得されたコンテンツに関する情報に基づいて、コンテンツを分類する分類手段と、コンテンツに関する情報を基に、属性情報を生成する属性情報生成手段と、属性情報生成手段により生成された属性情報と、分類手段による分類結果を対応付けて、他の情報処理装置に送信する送信手段とを備え、第2の情報処理装置が、第1の情報処理装置から送信された属性情報を取得する第2の取得手段と、ユーザの嗜好情報を記憶する記憶手段と、記憶手段により記憶されている嗜好情報と、第2の取得手段により取得された属性情報とを比較することにより、ユーザの嗜好と合致した第1のコンテンツを検出する検出手段とを備え、コンテンツの属性情報は、コンテンツの分類を示す固有情報を含み、検出手段は、固有情報を基に、ユーザの嗜好と合致した第1のコンテンツと同一の分類の第2のコンテンツを、ユーザの嗜好と合致するコンテンツとして更に検出することを特徴とする。
【0035】
本発明の情報処理システムにおいては、第1の情報処理装置で、コンテンツに関する情報が取得され、取得されたコンテンツに関する情報に基づいて、コンテンツが分類され、コンテンツに関する情報を基に、属性情報が生成され、生成された属性情報と、分類手段による分類結果が対応付けられて、他の情報処理装置に送信され、第2の情報処理装置で、第1の情報処理装置から送信された属性情報が取得され、ユーザの嗜好情報が記憶され、記憶されている嗜好情報と、取得された属性情報とが比較されて、ユーザの嗜好と合致した第1のコンテンツが検出され、コンテンツの属性情報には、コンテンツの分類を示す固有情報が含まれ、固有情報を基に、ユーザの嗜好と合致した第1のコンテンツと同一の分類の第2のコンテンツが、ユーザの嗜好と合致するコンテンツとして更に検出される。
【0036】
本発明の第3の情報処理装置は、コンテンツの属性情報を取得する取得手段と、所定の条件を記憶する記憶手段と、所定のコンテンツ群のうち、記憶手段により記憶されている所定の条件に合致したコンテンツに対応するコンテンツの属性情報を基に、ユーザの嗜好情報を生成する生成手段とを備えることを特徴とする。
【0037】
生成手段により生成された嗜好情報と、取得手段により取得されたコンテンツの属性情報との類似度を算出することにより、ユーザに視聴を推薦するコンテンツを示す推薦情報を生成する推薦情報生成手段を更に備えさせるようにすることができる。
【0038】
ユーザの操作入力を受ける操作入力手段を更に備えさせるようにすることができ、記憶手段には、操作入力手段によりユーザから入力された所定の条件を記憶させるようにすることができる。
【0039】
所定のコンテンツ群は、所定の期間中に放送または配信されたコンテンツの集合であるものとすることができる。
【0040】
所定のコンテンツ群は、所定の時間帯に放送または配信されたコンテンツの集合であるものとすることができる。
【0041】
本発明の第3の情報処理方法は、コンテンツの属性情報を取得する取得ステップと、所定の条件を設定する設定ステップと、所定のコンテンツ群のうち、設定ステップの処理により設定された所定の条件に合致したコンテンツを抽出する抽出ステップと、抽出ステップの処理により抽出された所定の条件に合致したコンテンツに対応するコンテンツの属性情報を基に、ユーザの嗜好情報を生成する生成ステップとを含むことを特徴とする。
【0042】
本発明の第3の記録媒体に記録されているプログラムは、コンテンツの属性情報を取得する取得ステップと、所定の条件を設定する設定ステップと、所定のコンテンツ群のうち、設定ステップの処理により設定された所定の条件に合致したコンテンツを抽出する抽出ステップと、抽出ステップの処理により抽出された所定の条件に合致したコンテンツに対応するコンテンツの属性情報を基に、ユーザの嗜好情報を生成する生成ステップとを含むことを特徴とする。
【0043】
本発明の第3のプログラムは、コンテンツの属性情報を取得する取得ステップと、所定の条件を設定する設定ステップと、所定のコンテンツ群のうち、設定ステップの処理により設定された所定の条件に合致したコンテンツを抽出する抽出ステップと、抽出ステップの処理により抽出された所定の条件に合致したコンテンツに対応するコンテンツの属性情報を基に、ユーザの嗜好情報を生成する生成ステップとを含むことを特徴とする。
【0044】
本発明の第3の情報処理装置および情報処理方法、並びに、プログラムにおいては、コンテンツの属性情報が取得され、所定のコンテンツ群のうち、所定の条件に合致したコンテンツが抽出され、抽出された所定の条件に合致したコンテンツに対応するコンテンツの属性情報を基に、ユーザの嗜好情報が生成される。
【0045】
【発明の実施の形態】
以下、図を参照して、本発明の実施の形態について説明する。
【0046】
図1を用いて、テレビジョン番組放送、およびストリームデータの配信について説明する。
【0047】
放送局1は、地上波の番組放送を送信するか、もしくは、衛星2を介して衛星波の番組放送を送信する。図1においては、放送局1を1つだけ図示して説明しているが、放送局1が、複数存在することは言うまでもない。テレビジョン受信装置4のアンテナ3は、地上波、または衛星波の番組放送を受信する。放送信号には、必要に応じて、EPG(Electronic Program Guide)が含まれている。
【0048】
配信サーバ5は、ストリーミングデータデータベース6から、ストリーミングデータを読み出し、インターネットその他のネットワークを含むネットワーク8を介して、テレビジョン受信装置4に配信するとともに、メタデータデータベース7から、放送局1から放送される番組に関する情報であるEPG、あるいは、EPGよりも詳細な情報を含むメタデータを読み出して、番組ごとに、番組ベクトルPPを生成し、EPGデータとともに、ネットワーク8を介して、EPG受信装置9に配信する。
【0049】
一般的な放送信号に重畳されるEPGの情報量が、以下に説明する処理に十分な情報である場合、処理には、一般的な放送信号に重畳されるEPGと同一のものを利用するようにしても良い。また、一般的な放送信号に重畳されるEPGの情報量が、以下に説明する処理に十分な情報であるとはいえない場合、処理には、一般的な放送信号に重畳されるEPGに加えて、もしくは単独で、メタデータを利用するようにしても良い。以下、一般的な放送信号に重畳されるEPGでは、処理に十分な情報量がないため、本実施の形態では、メタデータを含む情報を利用するものとし、この情報を、EPGデータと総称するものとする。
【0050】
EPG受信装置9は、配信されたEPGデータを、テレビジョン受信装置4に供給する。また、EPG受信装置9は、EPGデータとともに配信された番組ベクトルPPを、番組推薦処理装置10に供給する。
【0051】
チューナを有するテレビジョン受信装置4は、操作部を有するテレビジョン表示装置11、または、録画再生装置12から供給されるチャンネルの選択を示す制御信号に基づいて、アンテナ3を介して、地上波、または衛星波の放送信号を選局して受信するとともに、ネットワーク8を介して、配信サーバ5から、ストリーミングデータの配信を受ける。また、テレビジョン受信装置4は、EPG受信装置9から、EPGデータの供給を受け、テレビジョン表示装置11、または、録画再生装置12に供給する。なお、テレビジョン受信装置4は、受信した放送波に、EPGが含まれていた場合、番組の信号と分離して、それぞれ、テレビジョン表示装置11、または、録画再生装置12に供給する。
【0052】
番組推薦処理装置10は、EPG受信装置9から、番組ベクトルPPを取得するとともに、テレビジョン表示装置11および録画再生装置12から、操作ログを取得し、これらの情報、または、ユーザの操作入力を基に、ユーザの嗜好に合致した番組を推薦するための推薦情報を生成し、テレビジョン表示装置11および録画再生装置12に供給する。
【0053】
テレビジョン表示装置11は、ユーザの操作入力を基に、テレビジョン受信装置4から供給された放送信号、または、録画再生装置12から供給された再生信号を表示したり、番組推薦処理装置10から供給された推薦情報を基に、チャンネルを自動設定したり、推薦番組情報を表示する。テレビジョン表示装置11は、ユーザの操作履歴である操作ログを番組推薦処理装置10に供給する。
【0054】
録画再生装置12は、ユーザの操作入力を基に、テレビジョン受信装置4から供給された放送信号を、装着された記録媒体、または、内蔵する記録媒体(例えば、ハードディスク)に録画したり、番組推薦処理装置10から供給された推薦情報を基に、テレビジョン受信装置4から供給された放送信号を、装着された記録媒体、または、内蔵する記録媒体に自動録画する。また、録画再生装置12は、装着された記録媒体、または、内蔵する記録媒体に録画されている番組を再生し、テレビジョン表示装置11に出力して表示させる。更に、録画再生装置12は、ユーザの操作履歴である操作ログを番組推薦処理装置10に供給する。
【0055】
ここでは、EPG受信装置9、テレビジョン受信装置4、番組推薦処理装置10、テレビジョン表示装置11、および、録画再生装置12を、それぞれ異なる装置として説明したが、これらの装置は、個別に構成されなくてもよい。例えば、EPG受信装置9、テレビジョン受信装置4、および、テレビジョン表示装置11を、チューナ機能を内蔵したテレビジョン受像機15−1として、一体的に構成するようにしても良いことは、言うまでもない。更に、録画再生装置12も一体的に構成して、録画機能を有するテレビジョン受像機15−2として構成するようにしても良い。この録画再生装置12は、記録媒体として、大容量のハードディスクを有する、いわゆるハードディスクレコーダであってもよいことは言うまでもない。また、番組推薦処理装置10を、チューナ機能を内蔵したテレビジョン受像機15−1に内蔵して、テレビジョン受像機15−3としても、または、録画機能を有するテレビジョン受像機15−2に内蔵して、テレビジョン受像機15−4とするようにしても良い。
【0056】
図2は、配信サーバ5の構成を示すブロック図である。
【0057】
データ取得部21は、メタデータデータベース7およびストリーミングデータデータベース6からデータを取得し、データ送信部25に供給するとともに、EPGデータを、メタデータ抽出部22に供給する。また、データ取得部21は、メタデータデータベース7に登録されているEPGデータを、その内容により、グループ化する処理を実行する。
【0058】
メタデータ抽出部22は、データ取得部21から供給されたEPGデータから、番組ベクトルPPを生成するために必要なデータを抽出し、番組ベクトル生成部23に供給する。番組ベクトル生成部23は、メタデータを基に、番組ベクトルPPを生成し、必要に応じて、データ記憶部24に記憶されている番組側効き目ベクトルEfPPを対応付けて、データ送信部25に供給する。
【0059】
データ記憶部24は、番組ベクトルPPを生成する場合に必要な情報である番組側効き目ベクトルEfPPを、必要に応じて記憶する。
【0060】
いかに視聴率を稼ぐかという制作側、放送側の観点に基づいて、例えば、教養系番組においては、ジャンルや内容の要素が強いという特性、バラエティ番組などにおいては、出演者の要素が強いという特性、ドラマなどにおいては、出演者および脚本家の要素が強いという特性がある。番組の特徴を正しく抽出するためには、これらの特性を利用する必要がある。すなわち、番組ベクトルPPを構成する要素のうち、ユーザの嗜好に合致した番組を推薦するために実行されるマッチング処理において、どの要素が重要であるかは、番組のジャンルによって異なる。
【0061】
すなわち、番組のジャンルが「教養・ドキュメント」である場合、重要な項目は、出演者ではなく、その内容や題名である。これに対して、番組のジャンルが「バラエティ」のとき、重要な項目は出演者であり、番組のジャンルが「ドラマ」であるとき、重要な項目は、出演者と脚本家である。これらを番組ベクトルPPの生成に利用する場合、番組のジャンル別に、項目ごとの、マッチング処理における寄与の度合いを規定する番組側効き目ベクトルが設定され、データ記憶部24に記憶される。
【0062】
データ送信部25は、データ取得部21から供給された、EPGデータおよびストリーミングデータ、並びに、番組ベクトル生成部23から供給された番組ベクトルPP、および、番組側効き目ベクトルEfPPを、ネットワーク8を介して、EPG受信装置9、または、テレビジョン受信装置4に送信する。
【0063】
また、番組ベクトル生成部23には、必要に応じて、ドライブ26が接続される。ドライブ26には、必要に応じて、磁気ディスク31、光ディスク32、光磁気ディスク33、および半導体メモリ34が装着され、データの授受を行う。
【0064】
次に、図3のフローチャートを参照して、配信サーバ5が実行する番組ベクトル生成処理1について説明する。
【0065】
ステップS1において、データ取得部21は、メタデータデータベース7から、メタデータで構成されているEPGデータの供給を受ける。
【0066】
ステップS2において、メタデータ抽出部22は、データ取得部21からEPGデータの供給を受け、番組ベクトルPPを生成するために必要なメタデータを抽出し、番組ベクトル生成部23に出力する。
【0067】
図4に、メタデータの例を示す。メタデータには、例えば、ジャンルとして「映画−邦画」、映画の題名として「東海道三谷怪談」、放送された年月日および配給元のデータ、放送の日時、放送する放送局名、並びに、放送時刻などが含まれている。更に、メタデータには、監督名、脚本家名、撮影者(カメラマン)、音楽担当者、出演者などのデータ、および、この番組の内容として、映画の解説などが含まれている。
【0068】
ステップS3において、番組ベクトル生成部23は、メタデータに含まれている、タイトル、内容などを、必要に応じて形態素解析し、単語に分解する。具体的には、番組ベクトル生成部23は、メタデータに含まれている映画の題名をタイトルとして、「東海道」、「三谷」、「怪談」の3つの単語に分解する。また、番組ベクトル生成部23は、メタデータに、映画の解説として、図4に示されるように、「'59新西宝 様式美たっぷりに有名な“三谷怪談”の世界を描く邦画ホラーの傑作。」という情報が含まれていた場合、解説に含まれている単語を抽出して、「西宝」、「様式」、「美」、「たっぷり」、「有名」、「三谷」、「怪談」、「世界」、「描く」、「邦画」、「ホラー」、「傑作」を内容情報とする。
【0069】
ステップS4において、番組ベクトル生成部23は、メタデータに含まれているそれぞれの項目をベクトル化し、番組ベクトルPPが生成されて、処理が終了される。生成された番組ベクトルPPは、データ送信部25に出力されて、ネットワーク8を介して、EPG受信装置9に送信される。項目のベクトル化は、全ての詳細要素を1列として並べるようにしても良いし、大項目に分離した後に、大項目ごとにベクトル化するようにしても良い。
【0070】
大項目別にベクトル化が行われる場合、例えば、図5に示されるように、大項目を、タイトル、ジャンル、時間帯、放送局、出演者、脚本/原作/演出、内容の7項目として、番組ベクトルPP=(Tm,Gm,Pm,Am,Km)が生成される。そして、各項目の内容が、タイトル(Title)Tm={title1,title2,・・・}、ジャンル(Genre)Gm={ドラマ,バラエティ,スポーツ,映画,音楽,子供向け/教育,教養/ドキュメント,ニュース/報道,その他}、時間帯(Hour)Hm={朝,昼,夕方,ゴールデン,深夜}、放送局(TV Station) Sm={NNK総合,NNK教育,亜細亜テレビ,TTS,ブジ,テレ日,東都,NNK衛星第1,NNK衛星第2,WOWO}、出演者(Person)Pm={person A,person B,・・・}脚本/原作/演出等(Author)Am={person a,person b,・・・}内容(Keyword)Km={kw1,kw2,・・・}として、ベクトル化される。
【0071】
上述した7つの大項目の中で、大項目「ジャンル」、「放送局」、「時間帯」は、種類が固定できるため、詳細要素をそれぞれ数値ベクトルで表すことができる。放送局の場合、例えば、放送局Sm={NNK総合,NNK教育,亜細亜テレビ,TTS,ブジ,テレ日,東都,NNK衛星第1,NNK衛星第2,WOWO}において、対応する番組の放送局がWOWOである場合、放送局ベクトルは、放送局Sm={0,0,0,0,0,0,0,0,0,1}で表すことができる。ジャンルの場合、例えば、ジャンルGm={ドラマ,バラエティ,スポーツ,映画,音楽,子供向け/教育,教養/ドキュメント,ニュース/報道,その他}において、対応する番組のジャンルが、教養/ドキュメントであった場合、ジャンルベクトルは、ジャンルGm={0,0,0,0,0,0,1,0,0}で表すことができる。
【0072】
一方、大項目「タイトル」、「出演者」、「脚本/原作/演出」、「内容」などの、数値ベクトルで表すことのできない項目においては、ベクトルに含まれる単語の頻度などによって、項目値(単語)と重み(数値)が対応付けられる。例えば、大項目「タイトル」は、タイトルTm={東海道−1,三谷−1,怪談−1}のように、それぞれ、単語−数値で構成される要素によって表される。この例における、例えば、「東海道−1」は、「東海道」の単語の頻度が「1であることを意味する。
【0073】
このような処理により、番組ベクトルPPが生成されて、EPG受信装置9に送信される。具体的には、図4を用いて説明した番組メタデータから番組ベクトルPPが生成された場合、番組ベクトルPP={タイトルTm={東海道−1,三谷−1,怪談−1}、ジャンルGm={0,0,0,1,0,0,0,0,0}、時間帯Hm={0,0,0,0,1}、放送局Sm={0,0,0,0,0,0,0,0,0,1}、出演者Pm={若杉嘉津美−1,天海茂−1,江見俊彦−1,中村竜二郎−1,西沢典子−1}、脚本/原作/演出Am={中川信男−1,大貫正一−1,石田義寛−1,西本正二−1,渡辺宙太−1}、内容Km={西宝−1,様式−1,美−1,たっぷり−1,有名−1,三谷−1,怪談−1,世界−1,描く−1,邦画−1,ホラー−1,傑作−1}}が生成されて、EPG受信装置9に送信される。
【0074】
このように生成される番組ベクトルPPにおいて、例えば、出演者Pmの構成要素のうち、主演を重み付けしたり、脚本/原作/演出Amの構成要素のうち、監督を重み付けして、番組ベクトルPPを生成するようにしても良い。このような場合、番組ベクトルPPの構成要素は、例えば、出演者Pm={若杉嘉津美−3,天海茂−2,江見俊彦−1,中村竜二郎−1,西沢典子−1}、脚本/原作/演出Am={中川信男−3,大貫正一−1,石田義寛−1,西本正二−1,渡辺宙太−1}となる。
【0075】
また、番組ベクトルPPを生成するために、どの要素が重要であるかは、上述したように、番組のジャンルによって異なる。ジャンルごとにどのような要素が重要であるかを示した番組側効き目ベクトルEfPPが、番組側効き目ベクトル情報として、データ記憶部24に記憶されている場合、番組側効き目ベクトルEfPPを、番組ベクトルPPに対応付けて送信するようにしても良い。番組側効き目ベクトルEfPPは、番組ベクトルPPの大項目に対応して設定される。
【0076】
番組ベクトルPP={タイトルTm,ジャンルGm,時間帯Hm,放送局Sm,出演者Pm,脚本/原作/演出Am,内容Km}において、例えば、番組のジャンルが「教養/ドキュメント」である場合、重要な項目は、その内容や題名(重み付け値が3の場合)であるので、番組側効き目ベクトルEfPP={3,1,1,1,1,1,3}となる。これに対して、番組のジャンルが「バラエティ」のとき、重要な項目は出演者(重み付け値が5の場合)であるので、番組側効き目ベクトルEfPP={1,1,1,1,5,1,1}となる。また、番組のジャンルが「ドラマ」であるとき、重要な項目は、出演者(重み付け値が2の場合)と脚本家であり、特に脚本家が重要(重み付け値が3の場合)である場合、番組側効き目ベクトルEfPP={1,1,1,1,2,3,1}となる。
【0077】
次に、図6のフローチャートを参照して、番組側効き目ベクトルEfPPが、番組ベクトルPPに対応付けて送信される場合の、番組ベクトル生成処理2について説明する。
【0078】
ステップS11乃至ステップS14において、図3を用いて説明したステップS1乃至ステップS4の処理と同様の処理が実行される。すなわち、メタデータデータベース7から、EPGデータの供給を受け、EPGデータから、番組ベクトルPPを生成するために必要なメタデータが抽出され、メタデータに含まれている、タイトル、内容などが、必要に応じて形態素解析されて、単語に分解される。そして、メタデータに含まれているそれぞれの項目がベクトル化されて、番組ベクトルPPが生成される。
【0079】
ステップS15において、番組ベクトル生成部23は、供給されたメタデータの番組のジャンルに基づいて、対応する効き目ベクトルを、データ記憶部24に記憶されている効き目ベクトル情報から抽出する。例えば、番組のジャンルが「バラエティ」のとき、データ記憶部24から、出演者に対する重み付けを行う効き目ベクトルEfPP={1,1,1,1,5,1,1}が抽出される。
【0080】
ステップS16において、番組ベクトル生成部23は、ステップS15において抽出された効き目ベクトルEfPPを、ステップS14において生成された番組ベクトルPPと対応付けて、処理が終了される。
【0081】
このような処理により、番組ベクトルPPが生成されて、番組のジャンルに基づいて、重要な項目に重み付けを施すための番組側効き目ベクトルEfPPが対応付けられて、ネットワーク8を介して、EPG受信装置9に送信される。
【0082】
以上説明したようにして、番組ベクトルPPが生成されるが、例えば、番組をその属性ごとにグループ化することにより、番組ベクトルPPを、少ない演算量で、正確に作成するようにすることができる。
【0083】
番組のグループ化は、例えば、連続ドラマ、1週単位の同一ジャンルの番組群、番組編成単位(13週)の出演者ごとの番組群などで生成できるが、その具体例として、次の図7のフローチャートを参照して、連続ドラマをグループ化する場合のグループ化処理1について説明する。
【0084】
ステップS31において、データ取得部21は、メタデータデータベース7に登録されているEPGデータから、例えば、同一タイトル、同一放送局で、放送時刻が平日の同時刻や、同じ曜日の同時刻であるなどの所定の条件(グループ化のための条件)に合致した番組を抽出する。
【0085】
ステップS32において、データ取得部21は、抽出された番組をグループ化し、対応する番組のEPGデータにグループIDをつける。
【0086】
ステップS33において、メタデータ抽出部22は、同一グループIDを有する、すなわち、連続ドラマであると認識された番組の第1回目の放送の番組ベクトル生成に必要なメタデータを抽出する。
【0087】
ステップS34において、図3または図6を用いて説明した番組ベクトル生成処理が実行される。
【0088】
ステップS35において、番組ベクトル生成部33は、対応するグループIDの番組ベクトルPPを、第1回の放送分の番組ベクトルに固定して設定し、処理が終了される。
【0089】
このような処理により、連続ドラマがグループ化されて、番組ベクトルが統一される。また、グループIDと番組ベクトルPPとを、対応付けて、データ記憶部24に記憶しておくようにしても良い。
【0090】
特に、連続ドラマのEPGデータにおいて、初回の内容は、番組全体の解説になっているが、初回以外の内容は、その回の分の解説となっていることが多く、番組全体の内容を表してはいない。また、内容以外の部分のメタデータは毎回ほぼ同じであることから、初回分のEPGデータを採用して番組ベクトルPPを生成することにより、番組ベクトル生成処理の処理回数を減少することができるのみならず、より正確に番組の特性と合致した番組ベクトルPPを生成することが可能になる。
【0091】
図7においては、連続ドラマのEPGデータに同一のIDを付加する処理について説明したが、EPGデータに、連続ドラマを区別する情報が予め含まれている場合、ステップS31の処理を省略して、EPGデータに含まれている連続ドラマを区別する情報を参照して、連続ドラマのEPGに同一のIDを付加するようにしても良い。
【0092】
次に、図8のフローチャートを参照して、連続ドラマ以外の要素によってもグループ化を行うことができるグループ化処理2について説明する。ここでは、ジャンルおよび出演者によるグループ化を行うものとして説明する。
【0093】
ステップS51において、データ取得部21は、メタデータデータベース7に登録されているEPGデータを参照して、番組のEPGデータに、メタデータの内容に対応したクラスタコードを付加する。
【0094】
例えば、同一タイトル、同一放送局で、放送時刻が平日の同時刻や、同じ曜日の同時刻であるなどの、連続ドラマである条件に合致した番組を抽出し、抽出された、連続ドラマであると認識される番組群の中で、例えば、連続ドラマの放送時刻によって、平日の同時刻であればコード1、同じ曜日の同時刻であればコード2、隔週、隔日など、コード1およびコード2以外の放送時刻であればコード3などの、最小桁の第1のクラスタコードが決定される。連続ドラマでない場合、最小桁の第1のクラスタコードは0となる。
【0095】
次に、メタデータデータベース7に登録されているメタデータのジャンルに関するデータを参照して、そのジャンルごとに、例えば、コード20、コード30などの、下位から2桁目(10の位)に数値を有する第2のクラスタコードが決定される。
【0096】
最後に、メタデータデータベース7に登録されているメタデータの出演者のデータを参照して、例えば、コード2300、コード800など、下位から2桁目以上(100以上の位)を用いて表される第3のクラスタコードが決定される。
【0097】
そして、第1乃至第3のクラスタコードの合計値が、その番組のEPGに付加されるクラスタコードとなる。
【0098】
ステップS52において、データ取得部21は、クラスタコードの1桁目が0であるか否かを基に、対応するEPGは、連続ドラマのものであるか否かを判断する。
【0099】
ステップS52において、連続ドラマであると判断された場合、ステップS53およびステップS54において、図7のステップS33およびステップS34と同様の処理が実行される。すなわち、第1回目の放送のEPGが抽出されて、図3または図6を用いて説明した番組ベクトル生成処理が実行される。
【0100】
ステップS55において、番組ベクトル生成部33は、この連続ドラマの番組ベクトルPPを、第1回の放送分の番組ベクトルPPに固定して設定し、番組ベクトルPPに、生成したクラスタコードを対応付けて設定し、処理が終了される。
【0101】
ステップS52において、連続ドラマではないと判断された場合、ステップS56において、図3または図6を用いて説明した番組ベクトル生成処理が実行される。
【0102】
ステップS57において、番組ベクトル生成部33は、番組ベクトルPPに生成したクラスタコードを対応付けて、処理が終了される。
【0103】
このような処理により、連続ドラマ以外であっても、ジャンルや出演者によって番組ベクトルPPをグループ化することが可能となり、グループを示すクラスタコードと、番組ベクトルPPとを対応付けることができる。
【0104】
図2を用いて説明した配信サーバ5において、図3乃至図8を用いて説明したようにして番組ベクトルPPが生成されるので、常に新しい用語やジャンルなどに対応した番組ベクトルPPを生成することが可能となる。生成された番組ベクトルPPは、EPGデータとともに、ネットワーク8を介して、EPG受信装置9に受信され、番組推薦処理装置10に供給される。
【0105】
また、グループ化処理は、タイトルを形態素解析して、単語に分解し、単語ごとにグループIDを付けることにより行うようにしてもよい。
【0106】
次に、図9のフローチャートを参照して、タイトルグループ化処理1について説明する。
【0107】
ステップS61において、データ取得部21は、メタデータデータベース7に登録されているEPGデータを参照して、登録されているメタデータから、タイトルを抽出し、番組ベクトル生成部23に供給する。
【0108】
ステップS62において、番組ベクトル生成部23は、タイトルを形態素解析し、単語に分解する。具体的には、メタデータに含まれている映画の題名が「東海道三谷怪談」であった場合、これがタイトルとして形態素解析されるので、「東海道」、「三谷」、「怪談」の3つの単語が得られる。
【0109】
ステップS63において、番組ベクトル生成部23は、解析された単語、もしくは、複数の単語から構成される単語群のうちのいずれかを抽出して、データ記憶部24から、抽出された単語、または単語群に対応するグループIDを抽出する。
【0110】
ここで、複数の単語から構成される単語群とは、形態素解析により得られた単語の組み合わせにより生成される単語群であり、例えば、形態素解析により得られた単語が「東海道」、「三谷」、「怪談」である場合、単語群は、「東海道・三谷」、「東海道・怪談」、「三谷・怪談」となる。
【0111】
ステップS64において、番組ベクトル生成部23は、データ記憶部24から、対応するグループIDが抽出されたか否かを判断する。
【0112】
ステップS64において、対応するグループIDが抽出されなかったと判断された場合、抽出された単語、もしくは、複数の単語から構成される単語群には、まだグループIDが付けられていないので、ステップS65において、番組ベクトル生成部23は、抽出された単語、もしくは、複数の単語から構成される単語群に新たなグループIDを対応付ける。また、番組ベクトル生成部23は、単語、もしくは、複数の単語から構成される単語群と、それに対応するグループIDを、データ記憶部24に記憶させる。
【0113】
ステップS64において、対応するグループIDが抽出されたと判断された場合、または、ステップS65の処理の終了後、ステップS66において、番組ベクトル生成部23は、タイトルを構成する全ての単語、もしくは、複数の単語から構成される単語群についてグループIDを抽出したか否かを判断する。
【0114】
ステップS66において、タイトルを構成する全ての単語、もしくは、複数の単語から構成される単語群についてグループIDを抽出していないと判断された場合、処理は、ステップS63に戻り、それ以降の処理が繰り返される。
【0115】
ステップS66において、タイトルを構成する全ての単語、もしくは、複数の単語から構成される単語群についてグループIDが抽出されたと判断された場合、ステップS67において、番組ベクトル生成部23は、番組ベクトルに、抽出されたグループIDを対応付けて、処理が終了される。
【0116】
このような処理により、番組ベクトルに、タイトルを構成する単語、または単語群に対応するグループIDが対応付けられて、データ送信部25により、ネットワーク8を介して、テレビジョン受信装置4または、EPG受信装置9に送信される。
【0117】
また、類似したタイトルの番組を、同一のグループとするようにしても良い。例えば、タイトル「2年A組銀八先生」の連続ドラマと、タイトル「2年A組銀八先生スペシャル」の特別番組とを、同一のグループとしてグループ化することができるように、タイトルを構成する単語の形態素解析結果を基に、例えば、2週間、1ヶ月、半年などの所定の期間の番組タイトルで、単語の一致率を総当りで算出し、単語の一致率が所定の値以上である場合、同一グループとするようにしてもよい。
【0118】
次に、図10のフローチャートを参照して、タイトルを構成する単語の一致率によりグループ化を実行するタイトルグループ化処理2について説明する。
【0119】
ステップS401およびステップS402において、図9を用いて説明した、ステップS61およびステップS62と同様の処理が実行される。すなわち、データ取得部21は、メタデータデータベース7に登録されているEPGデータを参照して、登録されているメタデータから、タイトルを抽出し、番組ベクトル生成部23に供給し、番組ベクトル生成部23は、タイトルを形態素解析し、単語に分解する。
【0120】
ステップS403において、番組ベクトル生成部23は、解析された単語を基に、タイトル間の単語の一致度、すなわち、単語が一致している割合を示す一致率を算出する。
【0121】
具体的には、タイトル「2年A組銀八先生」と、タイトル「2年A組銀八先生スペシャル」とが、それぞれ、「2」「年」「A」「組」「銀八」「先生」と、「2」「年」「A」「組」「銀八」「先生」「スペシャル」とに形態素分析された場合、この2つの番組のタイトルを構成する単語の一致率は、6/7で85.7%となる。
【0122】
ステップS404において、番組ベクトル生成部23は、単語が、例えば、70%などの所定の値以上一致しているか否かを判断する。この、一致率の閾値は、70%以外のいかなる数値であっても良いことは言うまでもない。
【0123】
ステップS404において、単語が、70%などの所定の値以上一致していると判断された場合、ステップS405において、番組ベクトル生成部23は、それらの番組に、同一のグループIDを対応付ける。また、番組ベクトル生成部23は、一致した単語、または、単語群と、それに対応するグループIDを、データ記憶部24に記憶させる。
【0124】
ステップS404において、70%などの所定の値以下の一致率であると判断された場合、または、ステップS405の処理の終了後、ステップS406において、番組ベクトル生成部23は、タイトルの総当りが終了したか否かを判断する。
【0125】
ステップS406において、タイトルの総当りが終了していないと判断された場合、処理は、ステップS403に戻り、それ以降の処理が繰り返される。
【0126】
ステップS406において、タイトルの総当りが終了したと判断された場合、処理が終了される。
【0127】
このような処理により、番組ベクトルに、タイトルを構成する単語の一致率を基にしたグループIDが対応付けられて、データ送信部25により、ネットワーク8を介して、テレビジョン受信装置4または、EPG受信装置9に送信されるので、例えば、連続ドラマとスペシャル番組などの類似したタイトルの番組を、同一のグループとして処理させるようにすることができる。
【0128】
さらに、タイトルを構成する単語の一致率を基にグループを決定するようにすることにより、例えば、EPG、またはメタデータにおいて、数字の半角と全角、または、英字の半角と全角、もしくは、大文字と小文字などの表記ゆれがあった場合にも、同一タイトルの番組を、同一のグループとして検出することが可能となる。
【0129】
また、単語の一致率に加えて、例えば、放送局や番組ジャンル、あるいは、放送開始時刻などを、グループ化の条件に加えるようにしても良い。例えば、ニュース番組などにおいては、タイトルが、「ニュース」を含む少ない単語によって構成されているので、図10を用いて説明した処理では、異なる放送局の異なる形態のニュース番組であっても、同一のグループとして検出されてしまう恐れがあるので、単語の一致率に加えて、放送局も一致した場合、同一グループとするようにしても良い。
【0130】
図11のフローチャートを参照して、放送局の一致を条件に加えて、タイトルを構成する単語の一致率によりグループ化を実行するタイトルグループ化処理3について説明する。
【0131】
ステップS421乃至ステップS424において、図10を用いて説明した、ステップS401乃至ステップS404と同様の処理が実行される。すなわち、データ取得部21は、メタデータデータベース7に登録されているEPGデータを参照して、登録されているメタデータから、タイトルを抽出し、番組ベクトル生成部23に供給し、番組ベクトル生成部23は、タイトルを形態素解析し、単語に分解する。そして、番組ベクトル生成部23は、解析された単語を基に、タイトル間の単語の一致度を算出し、単語が、例えば、70%などの所定の値以上一致しているか否かを判断する。
【0132】
ステップS424において、単語が、70%などの所定の値以上一致していると判断された場合、ステップS425において、番組ベクトル生成部23は、それらの番組の放送局が一致しているか否かを判断する。
【0133】
ステップS425において、これらの番組の放送局が一致していると判断された場合、ステップS426において、番組ベクトル生成部23は、それらの番組に、同一のグループIDを対応付ける。また、番組ベクトル生成部23は、一致した単語、または、単語群と、それに対応する放送局およびグループIDを、データ記憶部24に記憶させる。
【0134】
ステップS424において、70%などの所定の値以下の一致率であると判断された場合、ステップS425において、これらの番組の放送局が一致していないと判断された場合、または、ステップS426の処理の終了後、ステップS427において、番組ベクトル生成部23は、タイトルの総当りが終了したか否かを判断する。
【0135】
ステップS427において、タイトルの総当りが終了していないと判断された場合、処理は、ステップS423に戻り、それ以降の処理が繰り返される。
【0136】
ステップS427において、タイトルの総当りが終了したと判断された場合、処理が終了される。
【0137】
このような処理により、番組ベクトルに、放送局の一致とタイトルを構成する単語の一致率を基にしたグループIDが対応付けられて、データ送信部25により、ネットワーク8を介して、テレビジョン受信装置4または、EPG受信装置9に送信されるので、例えば、類似したタイトルの番組を、同一のグループとする場合に、他局のニュース番組を同一のグループとするようなことを防ぐことができる。
【0138】
なお、図11においては、タイトルを構成する単語の一致率以外に、同一の放送局であるか否かを条件として、グループ化を行うものとして説明したが、放送局以外の、例えば、放送時間帯やジャンルなどを、タイトルを構成する単語の一致率以外の条件として、グループ化を実行するようにしても良いことは言うまでもない。
【0139】
更に、例えば、連続ドラマや帯番組の放送開始時刻が、スポーツ中継や特別番組などのためにずれた場合においても、同一グループとして検出可能なように、タイトルを構成する単語の一致率以外の条件を、放送時刻が、例えば、1時間などの所定の時間範囲内のずれで一致しているか否かとして、グループ化を実行するようにしても良い。
【0140】
図12のフローチャートを参照して、放送時刻が、所定の時間範囲内のずれで一致しているか否かを条件に加えて、タイトルを構成する単語の一致率によりグループ化を実行するタイトルグループ化処理4について説明する。
【0141】
ステップS441乃至ステップS444において、図10を用いて説明した、ステップS401乃至ステップS404と同様の処理が実行される。すなわち、データ取得部21は、メタデータデータベース7に登録されているEPGデータを参照して、登録されているメタデータから、タイトルを抽出し、番組ベクトル生成部23に供給し、番組ベクトル生成部23は、タイトルを形態素解析し、単語に分解する。そして、番組ベクトル生成部23は、解析された単語を基に、タイトル間の単語の一致度を算出し、単語が、例えば、70%などの所定の値以上一致しているか否かを判断する。
【0142】
ステップS444において、単語が、70%などの所定の値以上一致していると判断された場合、ステップS445において、番組ベクトル生成部23は、それらの番組の放送開始時刻が、例えば、1時間などの所定の範囲内のずれで一致しているか否かを判断する。
【0143】
ステップS445において、それらの番組の放送開始時刻が所定の範囲内のずれで一致していると判断された場合、ステップS446において、番組ベクトル生成部23は、それらの番組に、同一のグループIDを対応付ける。また、番組ベクトル生成部23は、一致した単語、または、単語群と、それに対応する放送開始時刻の範囲、およびグループIDを、データ記憶部24に記憶させる。
【0144】
ステップS444において、70%などの所定の値以下の一致率であると判断された場合、ステップS445において、それらの番組の放送開始時刻が所定の範囲以上にずれていると判断された場合、または、ステップS446の処理の終了後、ステップS447において、番組ベクトル生成部23は、タイトルの総当りが終了したか否かを判断する。
【0145】
ステップS447において、タイトルの総当りが終了していないと判断された場合、処理は、ステップS443に戻り、それ以降の処理が繰り返される。
【0146】
ステップS447において、タイトルの総当りが終了したと判断された場合、処理が終了される。
【0147】
このような処理により、番組ベクトルに、放送開始時刻の所定の範囲内のずれを含む一致と、タイトルを構成する単語の一致率を基にしたグループIDが対応付けられて、データ送信部25により、ネットワーク8を介して、テレビジョン受信装置4または、EPG受信装置9に送信されるので、例えば、類似したタイトルの番組を同一のグループとする場合に、特別番組などによる放送時刻の変更のために、同一グループとして検出されるべき番組が、同一グループとして検出されないようなことを防ぐことができる。
【0148】
図13は、番組推薦処理装置10の構成を示すブロック図である。
【0149】
データ取得部41は、配信サーバ5から送信された番組ベクトルPP、および番組ベクトルPPに対応する番組側効き目ベクトルEfPPを取得する。番組ベクトル抽出部42は、データ取得部41が取得した番組ベクトルPPから、マッチング処理に必要な番組ベクトルPP、あるいは、ユーザモデル生成のために必要な番組ベクトルPPを抽出し、必要に応じて、番組ベクトルPPに対応する番組側効き目ベクトルEfPPとともに、マッチング処理部43に供給する。
【0150】
操作入力部44は、例えば、キーボード、タッチパッド、マウスなどの入力デバイスで構成され、ユーザが入力した初期登録情報や、ユーザモデル生成のためのトピックの入力を受け、初期登録保存部45に出力する。初期登録保存部45は、操作入力部44から供給された初期登録内容や、ユーザモデル生成のためのトピックを登録し、必要に応じて、操作ログ取得部46、または、マッチング処理部43に供給する。また、初期登録保存部45に保存されている内容は、操作入力部44から入力されるユーザの操作に基づいて、逐次更新される。初期登録される内容には、例えば、嫌いなジャンル、嫌いなキーワード、嫌いな出演者などの、ユーザが好まない番組を示す情報や、好きなジャンル、好きなキーワード、好きな出演者などの、ユーザが好む番組を示す情報がある。
【0151】
操作ログ取得部46は、テレビジョン表示装置11または録画再生装置12から、操作ログを取得し、これらの情報を正履歴と負履歴に分類し、必要に応じて、初期登録保存部45に保存されている情報を参照して、データ取得部41が取得した番組ベクトルPPのうち、正履歴および負履歴に対応する番組ベクトルPPを読み出して、正履歴保存部47と負履歴保存部48に供給して保存させる。正履歴保存部47は、供給された正履歴を保存し、正履歴ベクトルUPを生成する。負履歴保存部48は、供給された負履歴を保存し、負履歴ベクトルMUPを生成する。生成された正履歴ベクトルUPと負履歴ベクトルMUPは、マッチング処理部43に供給される。
【0152】
ここで、正履歴とは、ユーザが積極的に視聴しようとする、換言すれば、好ましいと思う番組の候補を抽出するために用いられる情報であり、例えば、ユーザが、番組を視聴したり、録画した場合、または、後述する処理によりユーザに推薦番組リストとして提案された番組が、ユーザに受け入れられて視聴または録画された場合、その番組のメタデータは、好印象メタデータとして、正履歴保存部47に保存される。正履歴保存部47は、詳細項目ごとに、または、大項目ごとに、正履歴の総和を求め、正履歴ベクトルUPを生成する。
【0153】
一方、負履歴とは、ユーザが視聴するのに消極的である、換言すれば、好ましくないと思う番組を、推薦する番組から除くために用いられる情報であり、例えば、初期登録で嫌いであるとされた項目や、録画後見ずに消去された番組、または、後述する処理によりユーザに推薦番組リストとして提案された番組がユーザに受け入れられず、視聴または録画操作されなかった場合、その番組のメタデータは負印象メタデータとして、負履歴保存部48に保存される。例えば、ユーザが、初期登録で「スポーツ」を嫌いであるとした場合、ジャンルGmup={0,0,5,0,0,0,0,0,0}が、重み5で負印象として負履歴保存部48に追加保存される。負履歴保存部48は、詳細項目ごとに、または、大項目ごとに、負履歴の総和を求め、負履歴ベクトルMUPを生成する。
【0154】
マッチング処理部43は、番組ベクトル抽出部42から抽出された番組ベクトルと、正履歴保存部47または負履歴保存部48から供給された正履歴ベクトルUP、または、負履歴ベクトルMUPとのマッチングを検証する。
【0155】
番組ベクトルPP、正履歴ベクトルUP、または、負履歴ベクトルMUPが、全ての詳細要素を1列に並べてベクトル化されている場合、タイトルやキーワードなどは複数の単語で構成されているので、その単語1語と、例えば、ジャンルなどの項目が、ベクトルにおいて同じ重さになってしまう。そこで、マッチング処理部43の正規化処理部61は、単語によって構成される項目であるタイトルおよび内容について、番組ごとに、単語を単語数で割ることで正規化する。例えば、タイトルTm={東海道−1,三谷−1,怪談−1}である場合、タイトルTm={東海道:0.33,三谷:0.33,怪談:0.33}と正規化される。これにより、タイトル、内容とも、その項目内の単語のトータルで、重みが1になるので、マッチング処理において不都合が生じない。
【0156】
ベクトル演算部62は、番組ベクトルPPと、正履歴ベクトルUP、または、負履歴ベクトルMUPとのマッチング処理を実行する。
【0157】
ベクトル演算部62は、番組ベクトルPP、正履歴ベクトルUPおよび負履歴ベクトルMUPが、詳細項目の全要素を1列に並べたベクトルで表されている場合、正履歴ベクトルUPまたは負履歴ベクトルMUPと、番組ベクトルPPとのベクトル間のコサイン距離(cosθ)によって、次の式(1)に示されるように、番組ベクトルPPと正履歴ベクトルUPとの類似度SimUPを求め、式(2)に示されるように、番組ベクトルPPと負履歴ベクトルMUPとの類似度SimMUPを求める。コサイン距離とは、式(1)と式(2)に示されるように、2つのベクトルの内積を各ベクトルの絶対値の積で除算して得られる値である。
【0158】
SimUP=cosθu=UP・PP/|UP|×|PP|・・・(1)
SimMUP=cosθm=MUP・PP/|MUP|×|PP|・・・(2)
【0159】
ただし、式(1)および式(2)において、PPは番組ベクトルPPを示し、UPは正履歴ベクトルUPを示し、MUPは、負履歴ベクトルMUPを示す。また、“・”は、内積を示し、“×”は、要素の掛け算(スカラ演算)を示す。
【0160】
また、ベクトル演算部62は、番組ベクトルPP、正履歴ベクトルUPおよび負履歴ベクトルMUPが大項目ごとにベクトル化されている場合、大項目ごとに、番組ベクトルPPと正履歴ベクトルUPとの類似度と、番組ベクトルPPと負履歴ベクトルMUPとの類似度を求め、大項目ごとに類似度の和を算出して、類似度SimUPおよび類似度SimMUPを算出することができる。例えば、単語に分解されている大項目「タイトル」において、正履歴ベクトルUPが、タイトルTup={学校−1,怪談−1,トイレ−1}であり、供給された番組ベクトルPPが、タイトルTm={東海道−1,三谷−1,怪談−1}である場合、単位ベクトル長さを1とすると、ベクトルの長さ(絶対値)は、要素の合計の2乗和の平方根であるので、タイトルの類似度であるコサイン距離cosθtは、次の式(3)のように算出される。
cosθt=(1・1)/(√3×√3)=1/3・・・(3)
【0161】
式(3)において、“・”は、内積を示し、“×”は、スカラ演算を示す。番組ベクトルPPと、負履歴ベクトルMUPとの大項目ごとの類似度も、式(3)と同様の計算によって算出される。
【0162】
例えば、正履歴ベクトルUPを、正履歴ベクトルUP={タイトルTup,ジャンルGup,出演者Pup,脚本/原作/演出Aup,内容(キーワード)Kup}および負履歴ベクトルMUPを、負履歴ベクトMUP={タイトルTmup,ジャンルGmup,出演者Pmup,脚本/原作/演出Amup,内容(キーワード)Kmup}とした場合、それぞれの大項目で、式(3)と同様の演算により、大項目ごとに類似度が得られるので、類似度SimUPおよび類似度SimMUP は、いずれも、次の式(4)の類似度Simとして演算される。
【0163】
Sim=cosθt+ cosθg+cosθp+cosθa+cosθk・・・(4)
【0164】
ここで、cosθtは、大項目「タイトル」における、番組ベクトルPPと、正履歴ベクトルUPまたは負履歴ベクトルMUPとのコサイン距離であり、cosθgは、大項目「ジャンル」における、番組ベクトルPPと、正履歴ベクトルUPまたは負履歴ベクトルMUPとのコサイン距離であり、cosθpは、大項目「出演者」における、番組ベクトルPPと、正履歴ベクトルUPまたは負履歴ベクトルMUPとのコサイン距離であり、cosθaは、大項目「脚本/原作/演出」における、番組ベクトルPPと、正履歴ベクトルUPまたは負履歴ベクトルMUPとのコサイン距離であり、cosθkは、大項目「内容」における、番組ベクトルPPと、正履歴ベクトルUPまたは負履歴ベクトルMUPとのコサイン距離である。
【0165】
類似度SimUPおよび類似度SimMUPが、大項目ごとの演算結果の和として算出された場合、項目間の重みの偏りがなくなるため、正規化を行っているのと道義である。従って、全要素を1列に並べたベクトルと異なり、正規化処理部61による正規化処理を行わなくてもよい。
【0166】
すなわち、正規化を行うことなく、全要素を1列に並べたベクトルを用いてしまった場合、頻度の積み重なり易い、例えば、放送局、ジャンルなどの項目と比較して、タイトルや内容などの項目においては、履歴が増えるに従って、単語数は増える一方、それぞれの単語の頻度は大きくなりにくい。
【0167】
このため、全要素を用いて、要素ごとに合計を取った場合、頻度の重なりやすい、放送局、ジャンルなどの項目の影響が大きくなってしまうので、例えば、ユーザが解説者Aのファンであるので、「解説者Aが解説している球団Bの試合の実況中継」を好んで視聴しているような場合、ジャンルである「野球の実況中継」という情報は履歴として重なりやすいが、出演者である「解説者A」という情報は履歴として重なり難い。従って、他の解説者が解説している球団Bの試合の実況中継が推薦されて、解説者Aが出演しているバラエティ番組が推薦されないような場合が発生する。
【0168】
これに対して、正規化を行うか、または、大項目ごとの演算結果の和を類似度SimUPおよび類似度SimMUPとして算出するようにすることにより、履歴の頻度の大小の影響を受けることなく、解説者Aが出演しているバラエティ番組を推薦することができ、より正確にユーザの嗜好を反映するようにすることができる。
【0169】
また、ベクトル演算部62は、初期登録保存部45に保存されているユーザの初期登録情報、番組ベクトルPPに対応付けられて送信される番組側効き目ベクトルEfPP、または、ユーザ情報登録部63において生成されて登録されているユーザ側効き目ベクトルEfUP(後述)、もしくは、ユーザ側反効き目ベクトルEfMUP(後述)により、重み付けを行って、類似度SimUPおよび類似度SimMUPを算出するようにすることもできる。
【0170】
ベクトル演算部62は、上述したような方法で算出された類似度SimUPを基に、例えば、正履歴ベクトルとの類似度が高い上位所定数(例えば、10)の番組に対して、更に履歴ベクトルMUPとの類似度SimMUPを求め、SimUP−SimMUPを演算し、演算結果の上位所定数(例えば、3)の番組を推薦番組として、推薦情報出力部49に出力する。
【0171】
また、ベクトル演算部62は、番組ベクトルがグループ化されている場合、推薦された番組の情報を基に、ユーザ情報登録部63に、推薦優先グループを登録し、推薦優先グループに対応する番組を、優先的に推薦する。
【0172】
更に、ベクトル演算部62は、初期登録保存部45に保存されているトピックを用いて番組ベクトルPPのフィルタリングを行うことにより、ユーザモデルベクトルを生成し、ユーザ情報登録部63に登録して、マッチング処理を行うようにすることができる。ユーザモデルについての詳細については後述する。
【0173】
ユーザ情報登録部63は、初期登録保存部45から供給されたユーザの初期登録内容、あるいは、正履歴保存部47または負履歴保存部48から供給された正履歴ベクトルUPまたは負履歴ベクトルMUPを基に、ユーザ側効き目ベクトルEfUPおよび反効き目ベクトルEfMUPを生成して、保存する。ユーザ側効き目ベクトルEfUPは、そのユーザにとって、大項目のうちのいずれの要素が番組の選択に重要であり、番組の選択のために重みが置かれている項目であるかを示すベクトルか、または、それぞれの項目におけるユーザの嗜好を示すベクトルである。反効き目ベクトルEfMUPは、そのユーザにとって、大項目のうちのいずれの要素が番組の選択に重要でない要素であり、番組の選択のために重みが置かれていない項目であるかを示すベクトルか、または、それぞれの項目において、ユーザが好まない項目を示すベクトルである。
【0174】
換言すれば、ユーザ側効き目ベクトルEfUPおよび反効き目ベクトルEfMUPは、番組ベクトルPPと、正履歴ベクトルUPまたは負履歴ベクトルMUPとのマッチングにおいて、いずれの項目が大きく寄与するかを規定するものである。
【0175】
ユーザ側効き目ベクトルEfUPおよび反効き目ベクトルEfMUPは、ユーザによって設定可能としたり、予め定められた値を用いるようにしても良いが、初期登録保存部45に登録されているユーザの初期登録内容を基に生成されるようにしても良い。
【0176】
具体的には、ユーザ側効き目ベクトルEfUPが、そのユーザにとって、大項目のうちのいずれの要素が番組の選択に重要であるかを示す情報である場合、番組ベクトルPP={タイトルTm,ジャンルGm,時間帯Hm,放送局Sm,出演者Pm,脚本/原作/演出Am,内容Km}において、ユーザにとってジャンルが重要である場合、例えば、効き目ベクトルEfUP=(1,5,1,1,1,1,1)と設定される。これに対して、ユーザにとって出演者とジャンルが重要である場合、例えば、効き目ベクトルEfUP=(1,3,1,1,5,1,1)と設定される。
【0177】
また、ユーザ側効き目ベクトルEfUPが、それぞれの項目におけるユーザの嗜好を示すベクトルである場合、大項目ジャンルGm={ドラマ,バラエティ,スポーツ,映画,音楽,子供向け/教育,教養/ドキュメント,ニュース/報道,その他}において、ユーザが好ましいと思う番組のジャンルが、教養/ドキュメントであった場合、ユーザ効き目ベクトルEfUPは、例えば、ジャンルGm={0,0,0,0,0,0,5,0,0}と設定される。
【0178】
また、ユーザ側効き目ベクトルEfUPおよび反効き目ベクトルEfMUPは、正履歴ベクトルUPまたは負履歴ベクトルMUPを基に、あるいは、一定期間にユーザが視聴した番組をカウントすることにより、生成されるようにしても良い。更に、ユーザ側効き目ベクトルEfUPおよび反効き目ベクトルEfMUPは、ジャンル別に生成することも可能である。ユーザ側効き目ベクトルEfUPまたは反効き目ベクトルEfMUPを生成する方法については、図22乃至図27を用いて後述する。
【0179】
更に、ユーザ情報登録部63は、ベクトル演算部62の処理により生成された、推薦優先グループの情報や、ユーザモデルベクトルなどを、必要に応じて登録する。
【0180】
以上説明したマッチング処理部43においては、正履歴ベクトルUPとの類似度が高い番組(ユーザが積極的に視聴する番組)から、負履歴を用いて、ユーザが好まないと思われる番組(ユーザが視聴するのに消極的である番組)を取り除く処理を行わなくても、例えば、正履歴のみを用いて推薦番組を決定することも可能である。
【0181】
推薦情報出力部49は、マッチング処理部43から供給された推薦番組の情報を、推薦番組リスト50に登録するとともに、テレビジョン表示装置11、または、録画再生装置12に供給する。推薦番組リスト50は、番組推薦処理装置10から取り外し可能に構成されており、推薦番組出力部49から出力された推薦番組情報を登録する。推薦番組リスト50に推薦番組情報を保存するようにすることにより、例えば、異なるテレビジョン受信装置4、テレビジョン表示装置11、あるいは、録画再生装置12などを用いる場合においても、これまで蓄積した履歴情報を用いて、番組の推薦や、自動録画などを実行させるようにすることが可能である。
【0182】
また、マッチング処理部43は、必要に応じて、ドライブ51とも接続されている。ドライブ51には、必要に応じて、磁気ディスク71、光ディスク72、光磁気ディスク73、および半導体メモリ74が装着され、データの授受を行う。
【0183】
図14のフローチャートを参照して、番組推薦処理装置10が実行する、正履歴ベクトルおよび負履歴ベクトル生成処理1について説明する。
【0184】
ステップS71において、操作ログ取得部46は、初期登録保存部45から読み出した初期登録内容を負履歴保存部48に供給する。負履歴保存部48は、供給された初期登録内容を参照して、負履歴ベクトルMUPを生成する。
【0185】
ステップS72において、操作ログ取得部46は、初期登録保存部45に保存されている登録内容を基に、初期登録内容が変更されたか否かを判断する。ステップS72において、初期登録内容が変更されたと判断された場合、処理は、ステップS71に戻り、それ以降の処理が繰り返される。
【0186】
ステップS72において、初期登録内容が変更されていないと判断された場合、ステップS73において、操作ログ取得部46は、テレビジョン表示装置11または録画再生装置12から、操作ログが供給されたか否かを判断する。ステップS73において、操作ログが供給されていないと判断された場合、処理は、ステップS72に戻り、それ以降の処理が繰り返される。
【0187】
ステップS73において、操作ログが供給されたと判断された場合、ステップS74において、操作ログ取得部46は、供給された操作ログは、正履歴であるか否かを判断する。例えば、操作ログが、録画操作である場合、その操作に対応する番組の番組ベクトルPPは、正履歴となり、操作ログが、再生していない録画データの消去である場合、その操作に対応する番組の番組ベクトルPPは、負履歴となる。
【0188】
ステップS74において、供給された操作ログは、正履歴であると判断された場合、ステップS75において、操作ログ取得部46は、正履歴であると判断された操作ログに対応する番組ベクトルPPをデータ取得部41から抽出し、正履歴保存部47に供給する。正履歴保存部47は、供給された番組ベクトルPPを、正履歴として追加保存する。
【0189】
ステップS76において、正履歴保存部47は、詳細項目ごと、または、大項目ごとに正履歴番組ベクトルPPのベクトルの総和を求めて、正履歴ベクトルUPを生成する。ステップS76の処理の終了後、処理は、ステップS72に戻り、それ以降の処理が繰り返される。
【0190】
ステップS74において、供給された操作ログは、正履歴ではないと判断された場合、供給された操作ログは、負履歴であるので、ステップS77において、操作ログ取得部46は、負履歴であると判断された操作ログに対応する番組ベクトルPPをデータ取得部41から抽出し、負履歴保存部48に供給する。負履歴保存部48は、供給された番組ベクトルPPを、負履歴として追加保存する。
【0191】
ステップS78において、負履歴保存部48は、詳細項目ごと、または、大項目ごとに負履歴番組ベクトルPPのベクトルの総和を求めて、負履歴ベクトルMUPを生成する。テップS78の処理の終了後、処理は、ステップS72に戻り、それ以降の処理が繰り返される。
【0192】
大項目が、正履歴ベクトルUP={タイトルTup,ジャンルGup,出演者Pup,脚本/原作/演出Aup,内容(キーワード)Kup}であり、大項目の中に詳細項目が記載されている場合、正履歴ベクトルUPにおいては、各詳細項目の後に、ベクトル総和を示す数値が記載される。例えば、図15に示されるように、大項目「ジャンル」に関しては、ジャンルGup={(ドラマ−25),(バラエティ−34),(スポーツ−42),(映画−37),(音楽−73),(子供向け/教育−120),(教養/ドキュメント−3),(ニュース/報道−5),(その他−23)}のように、詳細項目ごとに正履歴の総和を示す数値が記載される。また、大項目「タイトル」のように、単語によって示されるベクトルにおいては、例えば、タイトルTup={(title1−12),(title2−3),・・・}のように、単語に続いて、単語ごとの正履歴の総和を示す数値が記載される。負履歴ベクトルMUPにおいても、正履歴ベクトルUPと同様にして、項目に続いて総和を示す数値が記述される。
【0193】
図15においては、正履歴ベクトルUP(および、負履歴ベクトルMUP)の大項目を、タイトル、ジャンル、出演者、脚本/原作/演出、内容(キーワード)とし、図5を用いて説明した番組ベクトルPPよりも少ない項目数であるものとして説明したが、番組ベクトルPPと同様の大項目としても良いことは言うまでもない。
【0194】
図14においては、初期登録の内容を基に、操作ログが入力される前に負履歴ベクトルMUPが生成されるものとして説明しているが、初期登録時に、ユーザが好ましいと思う番組を選択するための情報の登録を受けるようにし、操作ログが入力される前に正履歴ベクトルUPも生成されるようにしても良い。また、初期登録を基に正履歴ベクトルUP、または、負履歴ベクトルMUPを生成せず、操作ログのみを用いて正履歴ベクトルUP、または、負履歴ベクトルMUPを生成するようにしてもよい。
【0195】
このようにして、正履歴ベクトルUP、および、負履歴ベクトルMUPを独立して生成して保持することにより、より精密に、ユーザの嗜好とのマッチング処理を行うことができる。
【0196】
なお、このとき、正履歴および負履歴を、更に精緻に求めることができるようにしても良い。例えば、図14を用いて説明した処理においては、全ての項目における正履歴と負履歴に対応する番組ベクトルPPの総和を用いて、正履歴ベクトルUPおよび負履歴ベクトルMUPを生成したが、正履歴および負履歴に対応する番組ベクトルPPの総和を、例えば、ジャンル別に蓄積して、ジャンル別に正履歴ベクトルUPおよび負履歴ベクトルMUPを生成するようにしても良い。
【0197】
放送される番組のジャンルによって、出演者が偏ってしまうことが頻繁に発生するため、ユーザの嗜好が正しく反映されない場合がある。具体的には、ドラマが好きで、バラエティは、ほとんどドラマに出演しないコメディアンAが出演するもののみを好み、バラエティ対ドラマの視聴比率が2:8であるユーザにおいて、ジャンルを区別せずに出演者の正履歴を蓄積した場合、ほとんどドラマに出演しないコメディアンAよりも、特に好きな俳優でないにもかかわらず、ドラマに頻繁に出演する出演者Bが、正履歴ベクトルUPにおいて高ポイントとなってしまう場合がある。このような場合、例えば、コメディアンAが出演するバラエティよりも、ドラマに頻繁に出演する出演者Bが出演するドキュメンタリーが推薦されてしまう。これを防止するためには、ジャンル別に正履歴および負履歴を蓄積し、これを基に、ジャンル別に正履歴ベクトルUPおよび負履歴ベクトルMUPを生成すればよい。
【0198】
また、例えば、ユーザが解説者Aのファンであるので、「解説者Aが解説している球団Bの試合の実況中継」を好んで視聴しているような場合、ジャンルである「スポーツ」という情報は履歴として重なりやすいが、出演者である「解説者A」という情報は履歴として重なり難いので、他の解説者が解説している球団Bの試合の実況中継が推薦されて、解説者Aが出演しているバラエティ番組が推薦されないような場合が発生する。これを防止するためには、例えば、出演者別に正履歴および負履歴を蓄積し、これを基に、出演者別に正履歴ベクトルUPおよび負履歴ベクトルMUPを生成すればよい。
【0199】
このように、特定の要素別に履歴を蓄積するようにすることにより、ユーザの好みをなまらせることなく、より緻密にユーザの嗜好を反映することが可能となる。
【0200】
そして、マッチング処理部43において、このようにして生成された正履歴ベクトルUPおよび負履歴ベクトルMUPと、供給された番組ベクトルPPのマッチングを検証することにより、ユーザの嗜好を正しく反映した推薦番組情報を生成することが可能となる。
【0201】
次に、図16のフローチャートを参照して、ジャンル別に履歴を蓄積するようにした、正履歴ベクトルおよび負履歴ベクトル生成処理2について説明する。
【0202】
ステップS81乃至ステップS84において、図14のステップS71乃至ステップS74と同様の処理が実行される。すなわち、初期登録が参照されて、負履歴ベクトルMUPが生成され、初期登録内容が変更されたか否かが判断されて、変更されなかった場合、供給された操作ログが、正履歴であるか否かが判断される。
【0203】
ステップS84において、供給された操作ログが正履歴であると判断された場合、ステップS85において、操作ログ取得部46は、正履歴であると判断された操作ログに対応する番組ベクトルPPをデータ取得部41から抽出し、正履歴保存部47に供給する。正履歴保存部47は、供給された番組ベクトルPPのジャンルを抽出する。
【0204】
ステップS86において、正履歴保存部47は、データ取得部41から抽出された番組ベクトルPPを、ジャンル別に、正履歴として追加保存する。
【0205】
ステップS87において、正履歴保存部47は、詳細項目ごと、または、大項目ごとに、番組ベクトルが追加保存されたジャンルにおいて、正履歴の番組ベクトルPPのベクトルの総和を求めて、対応するジャンルの正履歴ベクトルUPを生成する。ステップS87の処理の終了後、処理は、ステップS82に戻り、それ以降の処理が繰り返される。
【0206】
ステップS84において、供給された操作ログが正履歴ではないと判断された場合、供給された操作ログは負履歴であるので、ステップS88において、操作ログ取得部46は、負履歴であると判断された操作ログに対応する番組ベクトルPPをデータ取得部41から抽出し、負履歴保存部48に供給する。負履歴保存部48は、供給された番組ベクトルPPのジャンルを抽出する。
【0207】
ステップS89において、負履歴保存部48は、データ取得部41から抽出された番組ベクトルPPを、ジャンル別に、負履歴として追加保存する。
【0208】
ステップS90において、負履歴保存部48は、詳細項目ごと、または、大項目ごとに、番組ベクトルが追加保存されたジャンルにおいて、負履歴の番組ベクトルPPのベクトルの総和を求めて、対応するジャンルの負履歴ベクトルMUPを生成する。ステップS90の処理の終了後、処理は、ステップS82に戻り、それ以降の処理が繰り返される。
【0209】
このような処理により、ジャンル別に正履歴ベクトルUPと負履歴ベクトルMUPが生成されるので、ユーザの好みをなまらせることなく、より緻密にユーザの嗜好を反映することが可能となり、ユーザの嗜好を正しく反映した推薦番組情報を生成することが可能となる。
【0210】
図17のフローチャートを参照して、番組ベクトルPP、正履歴ベクトルUPおよび負履歴ベクトルMUPが、詳細項目の全要素を1列に並べたベクトルで表されている場合の、マッチング処理1について説明する。
【0211】
ステップS101において、番組ベクトル抽出部42は、複数番組(例えば、所定の時間帯に放送される番組)の番組ベクトルPPをデータ取得部41から抽出して、マッチング処理部43の正規化処理部61に供給する。正規化処理部61は、供給された番組ベクトルPPと、正履歴保存部47から読み出した正履歴ベクトルUPの構成要素のうち、単語で構成されているタイトルおよび内容についての正規化を行い、ベクトル演算部62に正規化結果を供給する。
【0212】
具体的には、正規化処理部61は、供給された番組ベクトルPPが、例えば、タイトルTm={東海道−1,三谷−1,怪談−1}である場合、タイトルTm={東海道:0.33,三谷:0.33,怪談:0.33}として、その番組ごとに、その項目内の単語のトータルで、重みが1になるように正規化する。
【0213】
ステップS102において、マッチング処理部43のベクトル演算部62は、上述した式(1)を用いて、複数番組の番組ベクトルPPと正履歴ベクトルUPのコサイン距離である類似度SimUPを算出する。
【0214】
ステップS103において、ベクトル演算部62は、ステップS102において算出された、番組ベクトルPPと正履歴ベクトルUPとの類似度を示す類似度SimUPを比較し、類似度の上位から、例えば、10などの所定の数だけ、番組ベクトルPPを抽出する。
【0215】
ステップS104において、ベクトル演算部62は、ステップS103において抽出された番組ベクトルPPと、負履歴保存部48から読み出した負履歴ベクトルMUPとのコサイン距離である類似度SimMUPを、上述した式(2)を用いて算出する。
【0216】
ステップS105において、ベクトル演算部62は、正履歴ベクトルUPとの類似度(すなわち、コサイン距離)SimMUP−負履歴ベクトルとの類似度(すなわち、コサイン距離)SimMUPを算出し、その上位となる、所定数(例えば、1つ)の番組の番組ベクトルまたはEPGデータを推薦情報として抽出し、推薦情報出力部49に出力して、推薦番組リスト50に登録させるとともに、テレビジョン表示装置11および録画再生装置12に出力して、処理が終了される。
【0217】
このような処理により、番組ベクトルPP、正履歴ベクトルUPおよび負履歴ベクトルMUPが、詳細項目の全要素を1列に並べたベクトルで表されている場合において、番組ベクトルPPと正履歴ベクトルUPとの類似度と、番組ベクトルPPと負履歴ベクトルとの類似度とを基に、ユーザの嗜好に合致した推薦番組を決定することが可能となる。
【0218】
次に、図18のフローチャートを参照して、単語で示される項目の正規化を行うのではなく、大項目ごとにコサイン距離の計算を行い、その和を類似度SimUPおよび類似度SimMUPとして算出することにより推薦番組を決定する、マッチング処理2について説明する。
【0219】
ステップS111において、番組ベクトル抽出部42は、複数番組(例えば、所定の時間帯に放送される番組)の番組ベクトルPPをデータ取得部41から抽出して、マッチング処理部43のベクトル演算部62に供給する。ベクトル演算部62は、供給された番組ベクトルPPと、正履歴保存部47から読み出した正履歴ベクトルUPのそれぞれの大項目について、番組ベクトルPPと正履歴ベクトルUPのコサイン距離を算出する。
【0220】
ステップS112において、ベクトル演算部62は、ステップS111において項目ごとに算出されたコサイン距離の値を、上述した式(4)を用いて合計し、類似度SimUPを算出する。
【0221】
ステップS113において、ベクトル演算部62は、ステップS112において算出された、番組ベクトルPPと正履歴ベクトルUPとの類似度SimUPを比較し、類似度の上位から、例えば、10などの所定の数の番組ベクトルPPを抽出する。
【0222】
ステップS114において、ベクトル演算部62は、ステップS113の処理により抽出された番組ベクトルPPと、負履歴保存部48から読み出した負履歴ベクトルMUPのそれぞれの大項目について、番組ベクトルPPと負履歴ベクトルMUPのコサイン距離を算出する。
【0223】
ステップS115において、ベクトル演算部62は、ステップS114において項目ごとに算出されたコサイン距離の値を、上述した式(4)を用いて合計し、類似度SimMUPを算出する。
【0224】
ステップS116において、ベクトル演算部62は、{番組ベクトルPPと正履歴ベクトルUPとのコサイン距離である類似度SimUP}−{番組ベクトルPPと負履歴ベクトルとのコサイン距離である類似度SimMUP}を算出し、その上位となる所定数(例えば3つ)の番組の番組ベクトルPPまたはEPGデータを推薦情報として抽出し、推薦情報出力部49に出力して、推薦番組リスト50に登録させるとともに、テレビジョン表示装置11および録画再生装置12に出力して、処理が終了される。
【0225】
このような処理により、単語で示される項目の正規化を行うことなく、大項目ごとに演算結果の和が類似度SimUPおよび類似度SimMUPとして算出されるので、異なる大項目に属する詳細要素間の履歴の重なりの偏りの影響を受けることなく、番組ベクトルPPと正履歴ベクトルUPとの類似度と、番組ベクトルPPと負履歴ベクトルMUPとの類似度とを基に、ユーザの嗜好に合致した推薦番組を決定することが可能となる。
【0226】
図17および図18を用いて説明したマッチング処理1およびマッチング処理2においては、ユーザの正履歴ベクトルUPとの類似度が高い番組から、負履歴を用いて、ユーザが好まないと思われる番組を取り除くことができるものとして説明しているが、例えば、正履歴のみを用いて推薦番組を決定するようにしてもよい。
【0227】
また、ユーザによっては、番組を選択するにあたり、ニュースや報道番組を非常に好んだり、ジャンルよりも出演者が重要であったり、出演者にはこだわらないが、内容が重要であるなど、番組を選択するために重み付けられる項目と、重み付けられない項目、換言すれば、重要な項目とそうでない項目が固定している場合がある。
【0228】
従って、マッチング処理は、上述した番組側効き目ベクトルEfPP、ユーザ側効き目ベクトルEfUP、または、ユーザ側反効き目ベクトルEfMUPを利用して行うようにしてもよい。また、番組側効き目ベクトルEfPP、ユーザ側効き目ベクトルEfUP、または、ユーザ側反効き目ベクトルEfMUPを利用するか否かは、ユーザにより設定可能なようにしても良い。
【0229】
次に、図19のフローチャートを参照して、番組ベクトルPP、正履歴ベクトルUPおよび負履歴ベクトルMUPが、詳細項目の全要素を1列に並べたベクトルで表されている場合に、ユーザの設定により、番組側効き目ベクトルEfPPまたはユーザ側効き目ベクトルEfUPを利用してマッチング処理を行う、マッチング処理3について説明する。
【0230】
ステップS121において、ベクトル演算部62は、操作入力部44を用いてユーザにより入力され、初期登録保存部45に登録されている番組側効き目ベクトルEfPPおよびユーザ側効き目ベクトルEfUPまたはユーザ側反効き目ベクトルEfMUPの利用設定内容を取得する。効き目ベクトルの利用設定内容とは、マッチング処理において、番組側効き目ベクトルEfPP、ユーザ側効き目ベクトルEfUPまたはユーザ側反効き目ベクトルEfMUPを利用して、重み付けを行うか否かを示す情報である。
【0231】
ステップS122において、ベクトル演算部62は、必要に応じて、ユーザ情報登録部63から、ユーザ側効き目ベクトルEfUPを読み込み、次の式(5)を用いて、番組ベクトルPPと正履歴ベクトルUPのコサイン距離を算出し、類似度SimUPとする。
【0232】
【数1】

Figure 2004192461
【0233】
なお、式(5)においては、番組ベクトルPP=(p1、p2、・・・)、正履歴ベクトルUP=(u1,u2,・・・)、番組側効き目ベクトルEfPP=(epd1,epd2,・・・)、ユーザ側効き目ベクトルEfUP=(eud1,eud2,・・・)であるものとする。また、式(5)においては、番組側効き目ベクトルEfPPおよびユーザ側効き目ベクトルEfUPのいずれをも利用するものとして説明しているが、設定により、番組側効き目ベクトルEfPPおよびユーザ側効き目ベクトルEfUPのうちのいずれかが利用されない場合、利用されないベクトルに代わって数値「1」が代入されて計算される。
【0234】
また、ユーザ側効き目ベクトルEfUPは、ユーザにより設定可能であっても、ユーザの初期設定を基に設定されるものであっても良いし、ユーザ情報登録部63において生成されるものであっても良い。ユーザ側効き目ベクトルEfUPの生成の詳細については、図22乃至図25を用いて後述する。
【0235】
ステップS123において、ベクトル演算部62は、ステップS122において算出された、番組ベクトルPPと正履歴ベクトルUPとの類似度SimUPを比較し、類似度の上位から、例えば、10などの所定の数の番組ベクトルPPを抽出する。
【0236】
ステップS124において、ベクトル演算部62は、必要に応じて、ユーザ情報登録部63から、ユーザ側反効き目ベクトルEfMUPを読み込み、次の式(6)を用いて、ステップS123において抽出された番組ベクトルPPと負履歴ベクトルMUPのコサイン距離を算出する。
【0237】
【数2】
Figure 2004192461
【0238】
なお、式(6)においては、番組ベクトルPP=(p1、p2、・・・)、負履歴ベクトルMUP=(m1,m2,・・・)、番組側効き目ベクトルEfPP=(epd1,epd2,・・・)、ユーザ側反効き目ベクトルEfMUP=(emd1,emd2,・・・)であるものとする。また、式(6)においては、番組側効き目ベクトルEfPPおよびユーザ側反効き目ベクトルEfMUPのいずれをも利用するものとして説明しているが、設定により、番組側効き目ベクトルEfPPおよびユーザ側反効き目ベクトルEfMUPのうちのいずれかが利用されない場合、利用されないベクトルに代わって、数値「1」が代入されて計算される。
【0239】
また、ユーザ側反効き目ベクトルEfMUPは、ユーザにより設定可能であっても、ユーザの初期設定を基に設定されるものであっても良いし、ユーザ情報登録部63において生成されるものであっても良い。ユーザ側反効き目ベクトルEfMUPの生成の詳細については、図26または図27を用いて後述する。
【0240】
ステップS125において、ベクトル演算部62は、番組ベクトルPPと正履歴ベクトルUPとの類似度SimUP−番組ベクトルPPと負履歴ベクトルとの類似度SimMUPを算出し、その上位となる所定数(例えば3つ)の番組の番組ベクトルPPまたはEPGデータを推薦情報として抽出し、推薦情報出力部49に出力して、推薦番組リスト50に登録させるとともに、テレビジョン表示装置11および録画再生装置12に出力して、処理が終了される。
【0241】
このような処理により、設定に応じて、番組側効き目ベクトルEfPP、ユーザ側効き目ベクトルEfUP、または、ユーザ側反効き目ベクトルEfMUPが用いられて、推薦情報が抽出されるので、ユーザの嗜好を正しく反映した番組を推薦するようにすることができる。
【0242】
図19を用いて説明した処理では、番組ベクトルPP、正履歴ベクトルUPおよび負履歴ベクトルMUPが、詳細項目の全要素を1列に並べたベクトルで表されている場合の処理について説明したが、番組ベクトルPP、正履歴ベクトルUPおよび負履歴ベクトルMUPを、それぞれ、大項目ごとに演算するようにしても良い。
【0243】
次に、図20のフローチャートを参照して、大項目ごとに、番組側効き目ベクトルEfPP、ユーザ側効き目ベクトルEfUP、または、ユーザ側反効き目ベクトルEfMUPを反映させることができるようにした、マッチング処理4について説明する。
【0244】
ステップS131において、図19のステップS121と同様の処理が実行されて、効き目ベクトルの利用設定内容が取得される。
【0245】
ステップS132において、ベクトル演算部62は、供給された番組ベクトルPPと、正履歴保存部47から読み出した正履歴ベクトルUPのそれぞれの大項目について、番組ベクトルPPと正履歴ベクトルUPのコサイン距離を算出する。ここでは、効き目ベクトルは演算に利用されない。
【0246】
ステップS133において、ベクトル演算部62は、次の式(7)を用いて、項目ごとに算出されたコサイン距離に、必要に応じて効き目ベクトルを乗算し、得られた値を合計して、類似度SimUPを算出する。
【0247】
SimUP=epdt・eudt・cosθut+ epdg・eudg・cosθug+ epdp・eudp・cosθup
+ epda・euda・cosθua+ epdk・eudk・cosθuk・・・(7)
【0248】
なお、式(7)においては、番組ベクトルPP=(pt,pg,pp,pa,pk)と正履歴ベクトルUP=(ut,ug,up,ua,uk)との大項目ごとのコサイン距離が、(cosθut,cosθug,cosθup ,cosθua,cosθuk)であり、番組側効き目ベクトルEfPP=(epdt,epdg,epdp,epda,epdk)、ユーザ側効き目ベクトルEfUP=(eudt,eudg,eudp,euda,eudk)であるものとする。また、式(7)においては、番組側効き目ベクトルEfPPおよびユーザ側効き目ベクトルEfUPのいずれをも利用するものとして説明しているが、設定により、番組側効き目ベクトルEfPPおよびユーザ側効き目ベクトルEfUPのうちのいずれかが利用されない場合、利用されないベクトルに代わって、数値「1」が代入されて計算される。
【0249】
ステップS134において、ベクトル演算部62は、ステップS133において算出された、番組ベクトルPPと正履歴ベクトルUPとの類似度SimUPを比較し、類似度の上位から、例えば、10などの所定の数の番組ベクトルPPを抽出する。
【0250】
ステップS135において、ベクトル演算部62は、ステップS134の処理により抽出された番組ベクトルPPと、負履歴保存部48から読み出した負履歴ベクトルMUPのそれぞれの大項目について、番組ベクトルPPと負履歴ベクトルMUPのコサイン距離を算出する。ここでは、効き目ベクトルは演算に利用されない。
【0251】
ステップS136において、ベクトル演算部62は、次の式(8)を用いて、項目ごとに算出されたコサイン距離に、必要に応じて効き目ベクトルを乗算し、得られた値を合計して、類似度SimMUPを算出する。
【0252】
SimMUP=epdt・emdt・cosθmt+ epdg・emdg・cosθmg+ epdp・emdp・cosθmp
+ epda・emda・cosθma+ epdk・emdk・cosθmk・・・(8)
【0253】
なお、式(8)においては、番組ベクトルPP=(pt,pg,pp,pa,pk)と負履歴ベクトルUP=(mt,mg,mp,ma,mk)との大項目ごとのコサイン距離が、(cosθmt,cosθmg,cosθmp ,cosθma,cosθmk)であり、番組側効き目ベクトルEfPP=(epdt,epdg,epdp,epda,epdk、)、ユーザ側反効き目ベクトルEfMUP=(emdt,emdg,emdp,emda,emdk)であるものとする。また、式(8)においては、番組側効き目ベクトルEfPPおよびユーザ側反効き目ベクトルEfMUPのいずれをも利用するものとして説明しているが、設定により、番組側効き目ベクトルEfPPおよびユーザ側反効き目ベクトルEfMUPのうちのいずれかが利用されない場合、利用されないベクトルに代わって、数値「1」が代入されて計算される。
【0254】
ステップS137において、ベクトル演算部62は、{番組ベクトルPPと正履歴ベクトルUPとのコサイン距離である類似度SimUP}−{番組ベクトルPPと負履歴ベクトルとのコサイン距離である類似度SimMUP}を算出し、その上位となる所定数(例えば3つ)の番組の番組ベクトルPPまたはEPGデータを推薦情報として抽出し、推薦情報出力部49に出力して、推薦番組リスト50に登録させるとともに、テレビジョン表示装置11および録画再生装置12に出力して、処理が終了される。
【0255】
このような処理により、大項目ごとに、効き目ベクトルが利用されて重み付けが行われるので、ユーザの嗜好に詳細に合致した推薦情報を生成することが可能となる。
【0256】
次に、図21のフローチャートを参照して、図16を用いて説明した正履歴ベクトルおよび負履歴ベクトル生成処理2の処理により生成された、ジャンル別の正履歴ベクトルUPおよび負履歴ベクトルMUP、並びに、ジャンル別のユーザ側効き目ベクトルEfUPおよびユーザ側反効き目ベクトルEfMUPを用いて、マッチング処理を実行するマッチング処理5について説明する。
【0257】
ステップS141において、図19のステップS121と同様の処理が実行されて、効き目ベクトルの利用設定内容が取得される。
【0258】
ステップS142において、ベクトル演算部62は、供給された番組ベクトルPPのジャンルを抽出する。ここでは、例えば、供給された番組ベクトルPPのジャンルが「ドラマ」であったものとして説明する。
【0259】
ステップS143において、ベクトル演算部62は、供給された番組ベクトルPPと、正履歴保存部47から読み出した、ジャンル「ドラマ」に対応する正履歴ベクトルUPのそれぞれの大項目について、番組ベクトルPPと正履歴ベクトルUPのコサイン距離を算出する。ここでは、効き目ベクトルは演算に利用されない。
【0260】
ステップS144において、ベクトル演算部62は、次の式(9)を用いて、項目ごとに算出されたコサイン距離に、必要に応じて、ジャンル「ドラマ」に対応するユーザ側効き目ベクトルを乗算し、得られた値を合計して、類似度SimUPを算出する。
【0261】
SimUP=epdt・eudtd・cosθutd+ epdg・eudgd・cosθugd+ epdp・eudpd・cosθupd+ epda・eudad・cosθuad+ epdk・eudkd・cosθukd・・・(9)
【0262】
なお、式(9)においては、番組ベクトルPP=(pt,pg,pp,pa,pk)と、ジャンル「ドラマ」に対応する正履歴ベクトルUP=(ut,ug,up,ua,uk)との大項目ごとのコサイン距離が、(cosθutd,cosθugd,cosθupd ,cosθuad,cosθukd)であり、番組側効き目ベクトルEfPP=(epdt,epdg,epdp,epda,epdk)、ジャンル「ドラマ」に対応するユーザ側効き目ベクトルEfUP=(eudtd,eudgd,eudpd,eudad,eudkd)であるものとする。また、式(9)においては、番組側効き目ベクトルEfPPおよびユーザ側効き目ベクトルEfUPのいずれをも利用するものとして説明しているが、設定により、番組側効き目ベクトルEfPPおよびユーザ側効き目ベクトルEfUPのうちのいずれかが利用されない場合、利用されないベクトルに代わって、数値「1」が代入されて計算される。
【0263】
ステップS145において、ベクトル演算部62は、ステップS143において算出された、番組ベクトルPPと正履歴ベクトルUPとの類似度SimUPを比較し、類似度の上位から、例えば、10などの所定の数の番組ベクトルPPを抽出する。
【0264】
ステップS146において、ベクトル演算部62は、ステップS145の処理により抽出された番組ベクトルPPと、負履歴保存部48から読み出したジャンル「ドラマ」に対応する負履歴ベクトルMUPのそれぞれの大項目について、番組ベクトルPPと負履歴ベクトルMUPのコサイン距離を算出する。ここでは、効き目ベクトルは演算に利用されない。
【0265】
ステップS147において、ベクトル演算部62は、次の式(10)を用いて、項目ごとに算出されたコサイン距離に、必要に応じて、ジャンル「ドラマ」に対応する効き目ベクトルを乗算し、得られた値を合計して、類似度SimMUPを算出する。
【0266】
SimMUP=epdt・emdtd・cosθmtd+ epdg・emdgd・cosθmgd+ epdp・emdpd・cosθmpd+ epda・emdad・cosθmad+ epdk・emdkd・cosθmkd・・・(10)
【0267】
なお、式(10)においては、番組ベクトルPP=(pt,pg,pp,pa,pk)と負履歴ベクトルMUP=(mt,mg,mp,ma,mk)との大項目ごとのコサイン距離が、(cosθmtd,cosθmgd,cosθmpd ,cosθmad,cosθmkd)であり、番組側効き目ベクトルEfPP=(epdt,epdg,epdp,epda,epdk)、ジャンル「ドラマ」に対応するユーザ側反効き目ベクトルEfMUP=(emdtd,emdgd,emdpd,emdad,emdkd)であるものとする。また、式(10)においては、番組側効き目ベクトルEfPPおよびユーザ側反効き目ベクトルEfMUPのいずれをも利用するものとして説明しているが、設定により、番組側効き目ベクトルEfPPおよびユーザ側反効き目ベクトルEfMUPのうちのいずれかが利用されない場合、利用されないベクトルに代わって、数値「1」が代入されて計算される。
【0268】
ステップS148において、ベクトル演算部62は、{番組ベクトルPPと正履歴ベクトルUPとのコサイン距離である類似度SimUP}−{番組ベクトルPPと負履歴ベクトルとのコサイン距離である類似度SimMUP}を算出し、その上位となる所定数(例えば3つ)の番組の番組ベクトルPPまたはEPGデータを推薦情報として抽出し、推薦情報出力部49に出力して、推薦番組リスト50に登録させるとともに、テレビジョン表示装置11および録画再生装置12に出力して、処理が終了される。
【0269】
このような処理により、大項目ごとに、ジャンル別の正履歴ベクトルUPおよび負履歴ベクトルMUPと番組ベクトルPPとのコサイン距離が求められ、ジャンルに対応した効き目ベクトルが利用されて重み付けが行われて類似度が算出されるので、ユーザの嗜好に詳細に合致した推薦情報を生成することが可能となる。
【0270】
また、ユーザ側効き目ベクトルEfUPおよび反効き目ベクトルEfMUPは、上述したように、初期登録保存部45に登録されている、ユーザの初期登録内容を基に生成されるようにしても良いし、正履歴ベクトルUPまたは負履歴ベクトルMUP、あるいは、一定期間にユーザが視聴した番組をカウントすることにより、ユーザ固有のユーザ側効き目ベクトルEfUPおよび反効き目ベクトルEfMUPが生成されるようにしても良い。
【0271】
図22のフローチャートを参照して、一定期間にユーザが視聴した番組をカウントすることによりユーザ側効き目ベクトルEfUPを生成する、ユーザ側効き目ベクトル生成処理1について説明する。
【0272】
ステップS151において、マッチング処理部43のユーザ情報登録部63は、未処理の大項目のうちのいずれかを選択する。
【0273】
ステップS152において、ユーザ情報登録部63は、正履歴保存部47に保存されている正履歴を参照して、例えば、1週間、1ヶ月、または3ヶ月などの一定期間中にユーザが視聴した番組を検出し、番組ベクトル抽出部42に、一定期間中にユーザが視聴した番組に対応する番組ベクトルPPをデータ取得部41から抽出させて、ステップS151において選択された大項目に含まれる詳細項目ごとに番組数をカウントする。
【0274】
具体的には、例えば、ステップS151において選択された大項目が、大項目ジャンルGm={ドラマ,バラエティ,スポーツ,映画,音楽,子供向け/教育,教養/ドキュメント,ニュース/報道,その他}であれば、ユーザ情報登録部63は、一定期間中にユーザが視聴した番組の番組ベクトルPPの構成要素を、それぞれに対応する項目に分類してカウントする。一定期間中にユーザが視聴した番組が、例えば、50番組であった場合、番組数のカウント結果は、例えば、ジャンルGm=(10,18,5,2,8,1,0,1,5)となる。
【0275】
ステップS153において、ユーザ情報登録部63は、番組ベクトル抽出部42に、同一期間における全ての番組に対応する番組ベクトルPPをデータ取得部41から抽出させて、ステップS151において選択された大項目に含まれる詳細項目ごとに番組数をカウントする。
【0276】
具体的には、例えば、ステップS151において選択された大項目が、大項目ジャンルGm={ドラマ,バラエティ,スポーツ,映画,音楽,子供向け/教育,教養/ドキュメント,ニュース/報道,その他}であれば、ユーザ情報登録部63は、同一期間における全ての番組の番組ベクトルPPの構成要素を、それぞれに対応する項目に分類してカウントする。同一期間における全ての番組が、例えば、1000番組であった場合、番組数のカウント結果は、例えば、ジャンルGm=(104,239,68,25,78,91,60,254,81)となる。
【0277】
ステップS154において、ユーザ情報登録部63は、ステップS152およびステップS153のカウント結果を基に、ユーザの視聴実績のカウント数/全番組のカウント数を算出する。
【0278】
番組編成は、視聴率競争の影響により、大衆の嗜好を反映していると考えられる。すなわち、ユーザの視聴実績のカウント数/全番組のカウント数の演算は、換言すれば、ユーザの視聴実績のカウント数を、標準モデルとしての全番組のカウント数で正規化することと同義である。ステップS154において算出される正規化ベクトルを正規化ベクトルDと称するものとする。
【0279】
例えば、大項目ジャンルGm={ドラマ,バラエティ,スポーツ,映画,音楽,子供向け/教育,教養/ドキュメント,ニュース/報道,その他}において、1週間の全番組のカウント数が、(8,12,3,7,6,4,2,8,10)であり、対してユーザが視聴した番組のカウント数が、(4,0,1,2,3,4,5,5,2)であった場合、正規化ベクトルDは、以下のようになる。
D=(4/8,0/12,1/3 ,2/7,3/6,4/4,
1/2,2/8,2/10)
=(0.5,0,0.33,0.28,0.5,1.0,
0.5,0.13,0.2)
すなわち、正規化ベクトルDの構成要素が1.0である場合は、設定された期間中に、該当する項目の全番組を視聴したこと、正規化ベクトルDの構成要素が0である場合は、設定された期間中に、該当する番組は一つも視聴しなかったことを意味する。
【0280】
ステップS155において、ユーザ情報登録部63は、ステップS154の算出結果を基に、対応する大項目の効き目ベクトルを生成する。
【0281】
効き目ベクトルを生成するために、大項目ジャンルGm={ドラマ,バラエティ,スポーツ,映画,音楽,子供向け/教育,教養/ドキュメント,ニュース/報道,その他}のうちのいずれかの項目を用いて、標準値を設定する。例えば、ジャンル:「ドラマ」の番組1週間分において、一般的なユーザは、その2割程度を視聴しているとして、標準値を0.2に設定すればよい。大項目の効き目ベクトルは、相対値として算出されるため、設定値は0乃至1のいずれの値であってもかまわない。そして、ユーザ側効き目ベクトルは、ステップS154において算出された正規化ベクトルDと、設定値との相対値である。
【0282】
従って、ユーザの興味ジャンルを示す、大項目ジャンルGmの効き目ベクトルEは、
E=(0.3,−0.2,0.13,0.08,0.3,
0.8,0.3,−0.07,0.0)
と算出されるので、対応するユーザは、「子供向け/教育」のジャンルを好み、「バラエティ」のジャンルを好まないと判断することができる。
【0283】
ステップS156において、ユーザ情報登録部63は、全ての大項目の効き目ベクトルが生成されたか否かを判断する。ステップS156において、全ての大項目の効き目ベクトルが生成されていないと判断された場合、処理は、ステップS151に戻り、それ以降の処理が繰り返される。
【0284】
ステップS156において、全ての大項目の効き目ベクトルが生成されたと判断された場合、ステップS157において、ユーザ情報登録部63は、全ての大項目の効き目ベクトルを保存して、処理が終了される。
【0285】
このような処理により、一般的な嗜好と、ユーザ固有の嗜好との差を求めることができる。また、ユーザ側効き目ベクトルEfUPを、例えば、3ヶ月、半年などの所定の期間ごとに再演算するようにすることにより、ユーザの嗜好をリアルタイムに反映した番組を推薦することができる。
【0286】
また、図22の処理においては、例えば、1週間、1ヶ月、または3ヶ月などの一定期間中にユーザが視聴した番組を基にユーザ側効き目ベクトルEfUPを求めるものとして説明したが、複数の期間を対象として、例えば、短期、中期、長期に対応するユーザ側効き目ベクトルEfUPを算出し、これら複数の効き目ベクトルを用いて、推薦情報を決定するようにしても良い。
【0287】
ここでは、ユーザ固有の嗜好を、ユーザ側効き目ベクトルEfUPとして利用する場合について説明したが、ユーザ固有の嗜好を、正履歴ベクトルUPとしてマッチング処理に用いるようにしても良い。
【0288】
また、放送されている全番組に代わって、視聴者が最も番組を視聴する所定の時間帯(例えば、18時乃至22時の、いわゆる、ゴールデンタイム)に放送される全番組をカウントするようにしてもよい。このようにすることにより、一般的な嗜好を求めるための演算処理を大幅に少なくすることができる。
【0289】
次に、図23のフローチャートを参照して、正履歴ベクトルUPと、大衆の嗜好との類似度を示すコサイン距離の演算によって、ユーザ固有の嗜好と、大衆の嗜好との隔たりをマッチングに利用するためのユーザ側効き目ベクトルEfUPを求める、ユーザ側効き目ベクトル算出処理2について説明する。
【0290】
ステップS161において、マッチング処理部43のユーザ情報登録部63は、正履歴保存部47に保存されている正履歴ベクトルUPを取得する。
【0291】
ステップS162において、ユーザ情報登録部63は、一般的な嗜好を示す、標準嗜好ベクトルAPPを取得する。
【0292】
標準嗜好ベクトルAPPは、配信サーバ5から供給されるものとしても良いし、または、番組編成は、視聴率競争の影響により、大衆の嗜好を反映していると考えられるので、図22を用いて説明したユーザ側効き目ベクトル算出処理1と同様にして、一定期間に放送された全番組の内容をカウントし、必要に応じて正規化して、標準嗜好ベクトルAPPとするようにしても良い。
【0293】
配信サーバ5においては、例えば、一般的な視聴率調査や、その他の方法を用いて、一般的な嗜好を示す標準嗜好ベクトルAPPを生成するようにしても良い。
【0294】
ステップS163において、ユーザ情報登録部63は、大項目ごとに、標準嗜好ベクトルAPPと、正履歴ベクトルUPとのコサイン距離を算出する。コサイン距離が大きいほど、標準嗜好ベクトルAPPと、正履歴ベクトルUPとの類似度が高い。
【0295】
ステップS164において、ユーザ情報登録部63は、ステップS163において算出されたコサイン距離を基に、大項目ごとに、コサイン距離を逆数にして、効き目ベクトルEfUPを生成して、処理が終了される。コサイン距離の逆数が大きいほど、標準嗜好ベクトルAPPと、正履歴ベクトルUPとの類似度は低い。
【0296】
このような処理により、一般的な嗜好と、対応するユーザ固有の嗜好との差を反映したユーザ側効き目ベクトルEfUPを求めることができる。このユーザ側効き目ベクトルEfUPを用いて番組推薦処理を行った場合、ユーザの嗜好と一般的な嗜好との違いが強調されて、推薦される番組が決定される。
【0297】
なお、ここでは、番組ベクトルPP、および正履歴ベクトルUPが、大項目ごとにベクトルで表されているものとして説明したが、番組ベクトルPP、および正履歴ベクトルUPが、詳細項目の全要素を1列に並べたベクトルで表されている場合においても、同様の処理が実行可能であることは言うまでもない。
【0298】
また、標準嗜好ベクトルAPPと、正履歴ベクトルUPとの類似度は、効き目ベクトルを算出するのみならず、そのユーザのユニーク度を示す指数として、番組の推薦に直接的に用いるようにしても良い。例えば、標準嗜好ベクトルAPPと、正履歴ベクトルUPとの類似度が高い場合、一般向けの流行に即した新番組などを優先的に推薦するようにしても良い。
【0299】
図22および図23を用いて説明したように、ユーザ側効き目ベクトルEfUPは、ユーザの操作履歴に基づいて、学習的に求められると好適であるが、ユーザ側効き目ベクトルは、予め初期登録として登録されていても良いし、経験などにより求められる、予め設定されている値を用いるようにしても良い。
【0300】
なお、大項目に着目して、ユーザ側効き目ベクトルEfUPを生成するのみならず、大項目を構成する構成要素に着目して、ユーザ側効き目ベクトルEfUPを生成するようにしても良い。例えば、大項目を構成する構成要素「出演者Pm」において、主役と脇役を区別可能にしておき、ドラマや映画において、主役よりも脇役の配役を優先するユーザは、主役に対して、脇役の重み付けを大きくするようにユーザ側効き目ベクトルEfUPを設定可能としたり、大項目を構成する構成要素「脚本/原作/演出Am」において、監督、演出家、原作者、カメラマンなどを区別可能にしておき、監督や演出家より、カメラマンを重視するユーザは、カメラマンの重み付けを大きくするようにユーザ側効き目ベクトルEfUPを設定可能なようにしても良い。
【0301】
また、ユーザ側効き目ベクトルEfUPをジャンルごとに生成し、図21を用いて説明したマッチング処理5のように、対応するジャンルの正履歴ベクトルUPと番組ベクトルPPとのマッチングのときに作用させるようにしても良い。
【0302】
次に、図24のフローチャートを参照して、一定期間にユーザが視聴した番組を、ジャンル別にカウントすることによりユーザ側効き目ベクトルEfUPを生成する、ユーザ側効き目ベクトル生成処理3について説明する。
【0303】
ステップS171において、マッチング処理部43のユーザ情報登録部63は、一定期間にユーザが視聴した番組を、ジャンル別にカウントするために、いずれかのジャンルを選択する。
【0304】
ステップS172において、ユーザ情報登録部63は、未処理の大項目のうちのいずれかを選択する。
【0305】
ステップS173において、ユーザ情報登録部63は、正履歴保存部47に保存されている正履歴を参照して、例えば、1週間、1ヶ月、または3ヶ月などの一定期間中にユーザが視聴した番組のうち、選択されたジャンルのものを検出し、番組ベクトル抽出部42に、一定期間中にユーザが視聴したもののうち、選択されたジャンルの番組に対応する番組ベクトルPPをデータ取得部41から抽出させて、ステップS172において選択された大項目に含まれる詳細項目ごとに番組数をカウントする。
【0306】
ステップS174において、ユーザ情報登録部63は、番組ベクトル抽出部42に、同一期間における全ての番組のうち、選択されたジャンルに対応する番組ベクトルPPをデータ取得部41から抽出させて、ステップS172において選択された大項目に含まれる詳細項目ごとに番組数をカウントする。
【0307】
ステップS175において、ユーザ情報登録部63は、ステップS173およびステップS174のカウント結果を基に、選択されたジャンルにおける、ユーザの視聴実績のカウント数/全番組のカウント数を算出する。
【0308】
上述したように、番組編成は、視聴率競争の影響により、大衆の嗜好を反映していると考えられる。すなわち、選択されたジャンルにおける、ユーザの視聴実績のカウント数/全番組のカウント数の演算は、換言すれば、対応するジャンルにおけるユーザの視聴実績のカウント数を、標準モデルとしての対応するジャンルの全番組のカウント数で正規化することと同義である。ステップS175において算出される正規化ベクトルを正規化ベクトルD´と称するものとする。
【0309】
例えば、大項目ジャンルGm={ドラマ,バラエティ,スポーツ,映画,音楽,子供向け/教育,教養/ドキュメント,ニュース/報道,その他}のうちの「ドラマ」のジャンルに対応する番組ベクトルPPの、大項目時間帯Tm={朝、昼、夕方、ゴールデン、深夜}において、1週間の全番組のカウント数が、(10,35,7,53,17)であり、対してユーザが視聴した番組のカウント数が、(5,0,0,8,4)であった場合、正規化ベクトルD´は、以下のようになる。
D´=(5/10,0/35,0/7,8/53,4/17)
=(0.5,0,0,0.28,0.15,0.24)
すなわち、正規化ベクトルD´の構成要素が1.0である場合は、設定された期間中に、該当する項目の全番組を視聴したことを意味し、正規化ベクトルD´の構成要素が0である場合は、設定された期間中に、該当する番組は一つも視聴しなかったことを意味する。
【0310】
ステップS176において、ユーザ情報登録部63は、ステップS175の算出結果を基に、選択されたジャンルにおける、対応する大項目の効き目ベクトルを生成する。
【0311】
効き目ベクトルを生成するために、大項目時間帯Tm={朝、昼、夕方、ゴールデン、深夜}のうちのいずれかの項目を用いて、標準値を設定する。例えば、時間帯:「ゴールデン」の番組1週間分において、一般的なユーザは、ドラマの2割程度を視聴しているとして、標準値を0.2に設定すればよい。大項目の効き目ベクトルは、相対値として算出されるため、設定値は0乃至1のいずれの値であってもかまわない。そして、ユーザ側効き目ベクトルは、ステップS175において算出された正規化ベクトルD´と、設定値との相対値である。
【0312】
従って、ユーザの興味ジャンルを示す、大項目ジャンルGmの効き目ベクトルE´は、
E´=(0.3,−0.2,−0.2,−0.05,0.04)
と算出されるので、対応するユーザは、朝の時間帯のドラマを好み、昼や夕方の時間帯のドラマを好まないと判断することができる。
【0313】
ステップS177において、ユーザ情報登録部63は、選択されたジャンルにおいて、全ての大項目の効き目ベクトルが生成されたか否かを判断する。ステップS177において、全ての大項目の効き目ベクトルが生成されていないと判断された場合、処理は、ステップS172に戻り、それ以降の処理が繰り返される。
【0314】
ステップS177において、全ての大項目の効き目ベクトルが生成されたと判断された場合、ステップS178において、ユーザ情報登録部63は、全てのジャンルの処理が終了したか否かを判断する。ステップS178において、全てのジャンルが終了していないと判断された場合、処理は、ステップS171に戻り、それ以降の処理が繰り返される。
【0315】
ステップS178において、全てのジャンルが終了したと判断された場合、ステップS179において、ユーザ情報登録部63は、全ての大項目の効き目ベクトルを保存して、処理が終了される。
【0316】
このような処理により、一般的な嗜好と、ユーザ固有の嗜好との差をジャンル別に求めることができる。また、図22を用いて説明した場合と同様にして、ユーザ側効き目ベクトルEfUPを、例えば、3ヶ月、半年などの所定の期間ごとに再演算するようにすることにより、ユーザの嗜好をリアルタイムに反映した番組を推薦することができる。
【0317】
また、図24の処理においても、例えば、1週間、1ヶ月、または3ヶ月などの一定期間中にユーザが視聴した番組を基にユーザ側効き目ベクトルEfUPを求めるものとして説明したが、図22を用いて説明した場合と同様にして、複数の期間を対象として、例えば、短期、中期、長期に対応するユーザ側効き目ベクトルEfUPを算出し、これら複数の効き目ベクトルを用いて、推薦情報を決定するようにしても良い。
【0318】
また、図24の処理においても、放送されている全番組に代わって、視聴者が最も番組を視聴する所定の時間帯(例えば、18時乃至22時の、いわゆる、ゴールデンタイム)に放送される全番組をカウントするようにしてもよい。
【0319】
次に、図25のフローチャートを参照して、正履歴ベクトルUPと、大衆の嗜好との類似度を示すコサイン距離の演算を、ジャンル別に実行することによって、ユーザ固有の嗜好と大衆の嗜好との隔たりをマッチングに利用するためのユーザ側効き目ベクトルEfUPを求める、ユーザ側効き目ベクトル生成処理4について説明する。
【0320】
ステップS191において、マッチング処理部43のユーザ情報登録部63は、処理を実行するジャンルを指定するために、いずれかのジャンルを選択する。
【0321】
ステップS192において、ユーザ情報登録部63は、正履歴保存部47に保存されている正履歴ベクトルUPのうち、選択されたジャンルの正履歴ベクトルUPを取得する。
【0322】
ステップS193において、ユーザ情報登録部63は、一般的な嗜好を示す、標準嗜好ベクトルAPPのうち、選択されたジャンルの標準嗜好ベクトルAPPを取得する。
【0323】
標準嗜好ベクトルAPPは、上述したように、配信サーバ5から供給されるものとしても良いし、または、番組編成は、視聴率競争の影響により、大衆の嗜好を反映していると考えられるので、図24を用いて説明したユーザ側効き目ベクトル算出処理3と同様にして、一定期間に放送された全番組の内容をジャンル別にカウントし、必要に応じて正規化して、ジャンル別標準嗜好ベクトルAPPとするようにしても良い。
【0324】
配信サーバ5においては、例えば、一般的な視聴率調査や、その他の方法を用いて、一般的な嗜好を示す標準嗜好ベクトルAPPをジャンル別に生成するようにしても良い。
【0325】
ステップS194において、ユーザ情報登録部63は、選択されたジャンルの正履歴ベクトルUPと、選択されたジャンルの標準嗜好ベクトルAPPを用いて、大項目ごとに、標準嗜好ベクトルAPPと、正履歴ベクトルUPとのコサイン距離を算出する。コサイン距離が大きいほど、標準嗜好ベクトルAPPと、正履歴ベクトルUPとの類似度が高い。
【0326】
ステップS195において、ユーザ情報登録部63は、ステップS194において算出されたコサイン距離を基に、大項目ごとに、コサイン距離を逆数にして、選択されたジャンルの効き目ベクトルEfUPを生成する。コサイン距離の逆数が大きいほど、標準嗜好ベクトルAPPと、正履歴ベクトルUPとの類似度は低い。
【0327】
ステップS196において、ユーザ情報登録部63は、全てのジャンルの処理が終了したか否かを判断する。ステップS178において、全てのジャンルが終了していないと判断された場合、処理は、ステップS191に戻り、それ以降の処理が繰り返される。ステップS196において、全てのジャンルが終了したと判断された場合、処理が終了される。
【0328】
このような処理により、一般的な嗜好と、対応するユーザ固有の嗜好との差を反映した、ジャンル別のユーザ側効き目ベクトルEfUPを求めることができる。
【0329】
また、図23を用いて説明した処理と同様にして、標準嗜好ベクトルAPPと、負履歴ベクトルMUPとの類似度を求め、その逆数を、反効き目ベクトルEfMUPとして算出するようにしてもよい。
【0330】
次に、図26のフローチャートを参照して、負履歴ベクトルMUPを、大衆の嗜好と比較することにより、反効き目ベクトルEfMUPを求めるユーザ側反効き目ベクトル算出処理1について説明する。
【0331】
ステップS201において、マッチング処理部43のユーザ情報登録部63は、負履歴保存部48に保存されている負履歴ベクトルMUPを取得する。
【0332】
ステップS202において、ユーザ情報登録部63は、一般的な嗜好を示す、標準嗜好ベクトルAPPを取得する。
【0333】
標準嗜好ベクトルAPPは、配信サーバ5から供給されるものとしても良い。あるいは、番組編成は、視聴率競争の影響により、大衆の嗜好を反映していると考えられるので、図22を用いて説明したユーザ側効き目ベクトル算出処理1と同様にして、一定期間に放送された全番組の内容をカウントし、必要に応じて正規化して、標準嗜好ベクトルAPPとするようにしても良い。
【0334】
ステップS203において、ユーザ情報登録部63は、大項目ごとに、標準嗜好ベクトルAPPと、負履歴ベクトルMUPとのコサイン距離を算出する。コサイン距離が大きいほど、標準嗜好ベクトルAPPと、負履歴ベクトルMUPとの類似度が高い。
【0335】
ステップS204において、ユーザ情報登録部63は、ステップS203において算出されたコサイン距離を基に、大項目ごとに、コサイン距離を逆数にして、反効き目ベクトルEfMUPを生成して、処理が終了される。
【0336】
このような処理により、反効き目ベクトルEfMUPを生成することができるので、ユーザが好まない番組を、推薦する番組から効果的に省くことができる。
【0337】
次に、図27のフローチャートを参照して、ジャンル別に実行されるユーザ側反効き目ベクトル生成処理2について説明する。
【0338】
ステップS211において、マッチング処理部43のユーザ情報登録部63は、処理を実行するジャンルを指定するために、いずれかのジャンルを選択する。
【0339】
ステップS212において、ユーザ情報登録部63は、負履歴保存部48に保存されている負履歴ベクトルMUPのうち、選択されたジャンルの負履歴ベクトルMUPを取得する。
【0340】
ステップS213において、ユーザ情報登録部63は、一般的な嗜好を示す、標準嗜好ベクトルAPPのうち、選択されたジャンルの標準嗜好ベクトルAPPを取得する。
【0341】
ステップS214において、ユーザ情報登録部63は、選択されたジャンルの負履歴ベクトルMUPと選択されたジャンルの標準嗜好ベクトルAPPとを基に、大項目ごとに、標準嗜好ベクトルAPPと、負履歴ベクトルMUPとのコサイン距離を算出する。コサイン距離が大きいほど、標準嗜好ベクトルAPPと、負履歴ベクトルMUPとの類似度が高い。
【0342】
ステップS215において、ユーザ情報登録部63は、ステップS214において算出されたコサイン距離を基に、大項目ごとに、コサイン距離を逆数にして、反効き目ベクトルEfMUPを生成する。コサイン距離の逆数が大きいほど、標準嗜好ベクトルAPPと、負履歴ベクトルMUPとの類似度が低い。
【0343】
ステップS216において、ユーザ情報登録部63は、全てのジャンルの処理が終了したか否かを判断する。ステップS216において、全てのジャンルが終了していないと判断された場合、処理は、ステップS211に戻り、それ以降の処理が繰り返される。ステップS216において、全てのジャンルが終了したと判断された場合、処理が終了される。
【0344】
このような処理により、反効き目ベクトルEfMUPを、ジャンル別に生成することができるので、ユーザが好まない番組を、推薦する番組から効果的に省くことができる。
【0345】
なお、ユーザ側効き目ベクトルEfUPと、反効き目ベクトルEfMUPは、図23、および、図25乃至図27を用いて説明した大項目ごとのコサイン距離の逆数をn倍した値、あるいは、所定の桁で四捨五入した値を用いるものとしてもかまわないし、1からコサイン距離の逆数を減算した値、あるいは、その値をn倍した値を用いるものとしてもかまわない。
【0346】
ここでは、番組ベクトルPP、および負履歴ベクトルMUPが、大項目ごとにベクトルで表されているものとして説明したが、番組ベクトルPP、および負履歴ベクトルMUPが、詳細項目の全要素を1列に並べたベクトルで表されている場合においても、同様の処理が実行可能であることは言うまでもない。
【0347】
また、番組ベクトル抽出部42によって抽出される番組ベクトルには、図7または図8を用いて説明した処理により生成された、クループID、またはクラスタコードなどのグループを示す情報が付加されている場合がある。
【0348】
例えば、ユーザが好んで視聴する番組が、連続ドラマであった場合、該当する連続ドラマは、全ての回において推薦されるようにすれば、推薦のための演算処理を削減することができる。また、ユーザに非常に好まれている番組と同グループの番組を優先的に推薦するようにすることによっても、推薦のための演算処理を削減することができる。
【0349】
次に、図28のフローチャートを参照して、クループ推薦を含むマッチング処理について説明する。
【0350】
ステップS221において、マッチング処理部43のベクトル演算部62は、番組ベクトル抽出部42から供給された番組ベクトルPPに、クループID、またはクラスタコードなどのグループを示す情報が付加されているか否かを基に、対応する番組は、グループ化されているか否かを判断する。
【0351】
ステップS221において、対応する番組はグループ化されていると判断された場合、ステップS222において、ベクトル演算部62は、クループID、またはクラスタコードで示されるグループは、推薦優先グループとして、ユーザ情報登録部63に登録されているか否かを判断する。
【0352】
ステップS222において、推薦優先グループとして登録されていると判断された場合、ステップS223において、ベクトル演算部62は、対応する番組の情報を、推薦情報として、推薦情報出力部49に供給する。推薦情報出力部49は、推薦番組リスト50に推薦する番組を登録するとともに、テレビジョン表示装置11、または、録画再生装置12に、推薦する番組の情報を出力して、処理は、後述するステップS227に進む。
【0353】
ステップS221において、対応する番組はグループ化されていないと判断された場合、または、ステップS222において、推薦優先グループとして登録されていないと判断された場合、ステップS224において、図17乃至図21を用いて説明した、マッチング処理1乃至マッチング処理5のいずれかの処理が実行される。
【0354】
ステップS225において、ベクトル演算部62は、ステップS224において実行されたマッチング処理1乃至マッチング処理3のいずれかの処理において推薦された番組の番組ベクトルに、クループID、またはクラスタコードなどのグループを示す情報が付加されているか否かを基に、推薦された番組は、グループ化されているか否かを判断する。ステップS225において、推薦された番組は、グループ化されていないと判断された場合、処理は終了される。
【0355】
ステップS225において、推薦された番組は、グループ化されていると判断された場合、ステップS226において、ベクトル演算部62は、番組ベクトルに付加しているグループID、またはクラスタコードを、推薦優先グループとして、ユーザ情報登録部63に登録して保存する。
【0356】
ステップS223、または、ステップS226の処理の終了後、ステップS227において、ベクトル演算部62は、負履歴保存部48に保存されている負履歴の操作ログを参照して、ステップS223の処理により推薦された番組、または、ステップS224の処理により推薦された番組のうち、グループ化されているので、ステップS226の処理において推薦優先グループとして登録された番組に対して、例えば、推薦した番組が受け入れられずにその他の番組の視聴の視聴または録画を指令する操作入力や、自動録画された番組の再生前の消去を指令する操作入力など、負の履歴となる操作入力を受けたか否かを判断する。ステップS227において、負の履歴となる操作入力を受けていないと判断された場合、処理が終了される。
【0357】
ステップS227において、負の履歴となる操作入力を受けたと判断された場合、ステップS228において、ベクトル演算部62は、ユーザ情報登録部63の推薦優先グループの登録から、対応するグループをはずして、処理が終了される。
【0358】
なお、図9を用いて説明したタイトルグループ化処理1により、1つの番組ベクトルPPに複数のグループIDが関連付けられている場合もある。特にこのような場合には、ステップS228において、負の履歴となる操作入力により、ユーザ情報登録部63の推薦優先グループの登録から、全てのグループIDがはずされるようにしても良いし、負の履歴となる操作入力の回数を蓄積するようにし、所定の数だけ負の履歴となる操作入力が行われた場合に、ユーザ情報登録部63の推薦優先グループの登録から、対応するグループIDがはずされるようにしても良い。また、1つの番組ベクトルPPに1つののグループIDが関連付けられている場合においても同様である。
【0359】
このような処理により、ユーザが好んで視聴している連続ドラマを全ての回において推薦されるようにしたり、ユーザに非常に好まれている番組と同グループの番組を推薦するようにすることができるので、推薦のための演算処理を削減することができる。
【0360】
このように、グループ推薦を含むマッチング処理が行われている場合、テレビジョン表示装置11または録画再生装置12から取得されるユーザの操作履歴を基に生成される正履歴ベクトルUPおよび負履歴ベクトルMUPは、対応するグループごとに生成されるようにしてもよい。
【0361】
また、テレビジョン表示装置11または録画再生装置12から取得されるユーザの操作履歴のうちの正履歴を基に、同一の連続ドラマにおける視聴または録画予約の回数をカウントし、所定回数以上になった場合に、マッチング処理を特に行うことなく、優先的に推薦するようにしてもかまわない。
【0362】
また、ユーザ履歴を用いて番組の推薦処理を行うのではなく、ユーザが予め指定したトピックを基にユーザモデルを設定し、ユーザモデルを基に番組の推薦処理を行うようにしてもよい。
【0363】
ユーザモデルは、所定の番組群から、ユーザが予め指定したトピックを用いてフィルタリングを行うことにより、トピックに対応する番組を抽出することで得られる。初期登録保存部45は、ユーザにより入力されたトピックを保存する。登録されるトピックは複数であってもかまわないし、ユーザの操作入力によって、適宜、更新される。ベクトル演算部62は、番組ベクトル抽出部42から供給される、ユーザモデル作成対象の番組の番組ベクトルにおいて、初期登録保存部45に保存されているトピックを含む番組ベクトルを抽出し、抽出された番組ベクトルの総和を、必要に応じて正規化することにより、ユーザモデルベクトルを生成し、ユーザ情報登録部63に登録する。
【0364】
これにより、例えば、トピックとして、時間帯Hm=「23時以降」およびジャンルGm=「バラエティ」が指定された場合、これらのトピックを用いてフィルタリングが行われ、ユーザモデル「深夜のバラエティ」が生成される。ユーザモデル「深夜のバラエティ」には、23時以降の深夜枠に放送されるバラエティ番組に出演したコメディアンが構成要素として含まれるので、例えば、ドラマなどの、バラエティとは異なるジャンルの番組において、対応するコメディアンが出演する番組がマッチング処理において抽出され、推薦されるので、項目ごとにマッチング処理を行う場合と比較して、ユーザの嗜好を、ジャンルなどを超越して適用することが可能となる。
【0365】
なお、ユーザモデル作成対象の番組は、例えば、所定期間の全番組であっても、所定の時間帯(例えば、いわゆるゴールデンタイム)に放送された番組群であってもよい。
【0366】
また、例えば、同じフィルタリング条件を用いて、異なる番組集合を対象にフィルタリングを行うことによって、例えば、異なる時期、あるいは、異なる時間帯などの、異なる番組編成に詳細に対応したユーザモデルベクトルを生成することができる。
【0367】
具体的には、同じ「ジャンルGm=音楽」という条件でも、現在の番組編成と、10年前の番組編成では、放送時刻や出演者に違いがあるので、「現在の音楽ファン」「10年前の音楽ファン」という異なるユーザモデルを生成することができる。これにより、「10年前の音楽ファン」が好んで聞いていたポップス歌手が、現在、俳優として出演しているドラマや映画などを推薦したり、または、「10年前の音楽ファン」が好んで聞いていた楽曲を、現在の歌手が歌うような番組を推薦することが可能となる。
【0368】
また、例えば、主に社会人が視聴するような、20時乃至24時などの時間帯と、主に子供が視聴するような、15時乃至20時などの時間帯とでは、同じ「ジャンルGm=音楽」という条件でも、フィルタリングにより異なる番組群を得ることができるので、異なるユーザモデルを生成することができる。
【0369】
そして、ベクトル演算部62は、番組ベクトル抽出部42から供給される番組の番組ベクトルPPと、ユーザ情報登録部63に登録されているユーザモデルベクトルとの類似度を演算し、その結果を基に、推薦情報を生成し、推薦情報出力部49に供給する。推薦情報出力部49は、推薦情報を、推薦番組リスト50に登録するとともに、テレビジョン表示装置11、または、録画再生装置12に供給する。
【0370】
次に、図29のフローチャートを参照して、ユーザモデルを用いたマッチング処理について説明する。
【0371】
ステップS231において、マッチング処理部43のベクトル演算部62は、番組ベクトル抽出部42において抽出された、ユーザモデル作成対象の番組の番組ベクトルを取得する。ユーザモデル作成対象の番組とは、例えば、1ヶ月または3ヶ月などの所定の期間に放送された番組であっても、それら所定の期間中の所定の時間帯(例えば、ゴールデンタイム)に放送された番組であっても良いし、あるいは、10年前、20年前などの、過去の所定の期間に放送された番組であっても良い。
【0372】
ステップS232において、初期登録保存部45は、操作入力部44より、ユーザにより入力されたトピックを取得し、保存する。ベクトル演算部62は、初期登録保存部45からトピックを読み出して、フィルタリング条件として設定する。フィルタリング条件は、例えば、ハッシュテーブルとして記載されるようにしても良い。
【0373】
ステップS233において、ベクトル演算部62は、ステップS231において取得された番組ベクトルPPを、ステップS232において設定されたフィルタリング条件を基にフィルタリングし、トピックに合致する番組ベクトルPPを抽出する。例えば、ユーザモデル作成対象の番組が、過去3ヶ月間の全番組である場合、ベクトル演算部62は、過去3ヶ月間の全番組ベクトルPPに対して「タイトルTm、または、ジャンルGm=サッカー」という条件でフィルタリングを施す。
【0374】
ステップS234において、ベクトル演算部62は、ステップS233においてフィルタリングによって抽出された番組ベクトルPPの総和を求めて、ユーザモデルベクトルとする。例えば、「タイトルTm、または、ジャンルGm=サッカー」という条件でフィルタリングが施された場合、「サッカーファン」というユーザモデルのユーザモデルベクトルが生成される。
【0375】
ステップS235において、ベクトル演算部62は、ステップS234において生成されたユーザモデルベクトルと、番組ベクトル抽出部42において抽出された、推薦情報を求めるための候補となる(この後放送される予定である)番組の番組ベクトルPPとのコサイン距離を算出する。
【0376】
ステップS236において、ベクトル演算部62は、ステップS235において算出されたコサイン距離を基に、ユーザモデルベクトルと推薦情報を求めるための候補となる番組の番組ベクトルPPとの類似度を比較し、比較結果を基に、類似度が高いもののうち、上位から所定の数の番組を推薦情報として抽出し、推薦情報出力部49に供給する。推薦情報出力部49は、推薦情報を、推薦番組リスト50に登録するとともに、テレビジョン表示装置11、または、録画再生装置12に供給して、処理が終了される。
【0377】
このような処理により、ユーザの操作履歴がない場合においても、ユーザが設定したトピックに合致した番組を推薦することができる。また、従来においては、例えば、「タイトルTm、または、ジャンルGm=サッカー」という条件を設定してマッチング処理を行った場合、サッカー選手が出演するバラエティやドラマなどを抽出することができなかった。これに対して、図29を用いて説明した処理においては、「タイトルTm、または、ジャンルGm=サッカー」というトピックでユーザモデルを設定することにより、ユーザモデルベクトルの出演者や内容などの項目にも、サッカー選手名が多く含まれるために、たとえ「タイトルTm、または、ジャンルGm=サッカー」という条件に合致していない番組であっても、サッカー選手が出演するバラエティやドラマなどを抽出して推薦することが可能となる。
【0378】
ここでは、ユーザモデルベクトルと、番組ベクトルとのコサイン距離を算出することにより、類似度を求めるものとして説明しているが、大項目ごとに、個別にコサイン距離を算出し、その合計を用いて類似度を求めるようにしても良い。
【0379】
なお、ユーザモデルベクトルの生成処理は、配信サーバ5において実行されるようにしてもよい。その場合、例えば、図2を用いて説明した番組ベクトル生成部23が生成した番組ベクトルを用いて、図29のステップS231乃至ステップS234の処理が実行されるようにすれば良い。
【0380】
また、ユーザの嗜好にあった番組を推薦するばかりでなく、正履歴ベクトルUPおよび負履歴ベクトルMUPのいずれとも類似度が低いものを選ぶと、好きでも嫌いでもない、すなわち、これまでユーザが視聴したことのない特徴を有する番組、換言すれば、食わず嫌いの番組が推薦される可能性が高くなる。このように、ユーザの嗜好を抽出して学習を進めるためには、これまでユーザが視聴したことのない特徴を有する番組も評価してもらうことが重要である。
【0381】
これにより、ユーザに対して提供する推薦結果に意外性を与え、ユーザの興味の拡大につなげることが可能になるばかりでなく、よりユーザの嗜好に合致した番組を推薦するために、非常に重要な履歴情報を取得することが可能となる。
【0382】
次に、図30のフローチャートを参照して、例外推薦番組選択処理について説明する。
【0383】
ステップS241において、マッチング処理部43のベクトル演算部62は、番組ベクトル抽出部42から供給された番組ベクトルPPと、正履歴保存部47に保存されている正履歴ベクトルUP、および、負履歴保存部48に保存されている負履歴ベクトルMUPとを用いて、大項目ごとに、正履歴ベクトルUPと番組ベクトルPPとのコサイン距離、および、負履歴ベクトルMUPと番組ベクトルPPとのコサイン距離を、それぞれ算出する。
【0384】
ステップS242において、ベクトル演算部62は、項目ごとに算出されたコサイン距離の値を、正履歴側と負履歴側で、それぞれ、合計する。すなわち、ステップS241およびステップS242の処理により、上述した、正履歴ベクトルUPと番組ベクトルPPとの類似度SimUPおよび負履歴ベクトルMUPと番組ベクトルPPとの類似度SimMUPが算出される。
【0385】
ステップS243において、ベクトル演算部62は、正履歴ベクトルUP、および、負履歴ベクトルMUPとの類似度の低さを示す例外推薦値を算出する。
【0386】
具体的には、例外推薦値は、(1−SimUP)×(1−SimMUP)または(1/SimUP)×(1/SimMUP)によって求めることが可能である。
【0387】
ステップS244において、ベクトル演算部62は、ステップS243の算出結果を基に、例外推薦値の高い番組を求め、推薦情報として抽出し、処理が終了される。
【0388】
このような処理により、これまでユーザが視聴したことのない特徴を有する番組を抽出して推薦することができるので、ユーザへの推薦番組の選択に、意外性を与え、ユーザの興味の拡大につなげることが可能になるばかりでなく、よりユーザの嗜好に合致した番組を推薦するために、非常に重要な履歴情報を取得することが可能となる。
【0389】
図13乃至図30を用いて説明した処理により、番組推薦処理装置10において、推薦情報が生成されて、テレビジョン表示装置11、または、録画再生装置12に供給される。
【0390】
テレビジョン表示装置11、または、録画再生装置12には、テレビジョン受信装置4において受信されて復号された衛星波または地上波の放送信号が供給される。
【0391】
テレビジョン表示装置11は、ユーザの操作入力を基に、テレビジョン受信装置4から供給された放送信号、または、録画再生装置12から供給された再生データを表示したり、番組推薦処理装置10から供給された推薦情報を基に、推薦番組情報を表示したり、チャンネルの自動設定を実行する。更に、テレビジョン表示装置11は、操作ログを番組推薦処理装置10に供給する。
【0392】
また、録画再生装置12は、ユーザの操作入力を基に、テレビジョン受信装置4から供給された放送信号を録画または録画予約したり、番組推薦処理装置10から供給された推薦情報を基に、番組を自動録画する。また、録画再生装置12は、装着された記録媒体、または、内蔵する記録媒体に録画されている番組を再生し、テレビジョン表示装置11に出力して表示させる。更に、録画再生装置12は、操作ログを番組推薦処理装置10に供給する。
【0393】
図31は、テレビジョン受信装置4の構成を示すブロック図である。テレビジョン受信装置4は、デジタル放送用受信装置の標準規格に対応する一般的な受信装置であるものとして説明する。
【0394】
衛星波検波部91は、衛星2を介して送信され、アンテナ3によって受信された衛星波を、テレビジョン表示装置11、または、録画再生装置12から供給されたチャンネルを選択する信号を基に選局して検波し、伝送モードに関する制御信号をTMCC(Transmission and Multiplexing Configuration Control)復号部92に、放送信号を復調・復号処理部93に供給する。
【0395】
TMCC復号部92は、伝送多重制御信号における伝送モード(変調方式、符号化率など)やスロット等の情報の入力を受け、これらの情報を復号し、復調・復号処理部93に供給する。
【0396】
復調・復号処理部93は、TMCC復号部92から供給された、伝送モードに関する情報に基づいて、供給された放送信号を、例えば、QPSK(quadri-phase shift keying:4位相変調方式、または、4相PSKとも称する)方式や、8相PSK方式などの方法を用いて復調および復号し、デインタリーバ94に供給する。
【0397】
デインタリーバ94は、供給された信号をデインタリーブして、誤り訂正処理部95に供給する。また、デインタリーバ94は、供給された信号に対して、更に、フレーム分離やデスクランブルの処理を施すようにしても良い。
【0398】
誤り訂正処理部95は、例えば、リードソロモン符号などを用いた誤り訂正処理を行い、CA(Conditional Access:限定受信)デスクランブル部101に供給する。
【0399】
地上波検波部96は、アンテナ3によって受信された地上波を、テレビジョン表示装置11または録画再生装置12から供給された、チャンネルを選択する制御信号を基に選局して検波し、伝送モードに関する制御信号をTMCC復号部97に、放送信号を復調・復号処理部98に供給する。
【0400】
TMCC復号部97は、伝送多重制御信号における伝送モード(変調方式、符号化率など)やスロット、TS等の情報の入力を受け、これらの情報を復号し、復調・復号処理部98に供給する。
【0401】
復調・復号処理部98は、TMCC復号部97から供給された、伝送モードに関する情報に基づいて、供給された放送信号を、例えば、QAM(quadrature amplitude modulation:直交振幅変調)方式などの方法を用いて復調および復号し、デインタリーバ99に供給する。
【0402】
デインタリーバ99は、供給された信号をデインタリーブして、TS(Transport Stream;トランスポートストリーム)再生部100に供給する。また、デインタリーバ99は、供給された信号に対して、更に、フレーム分離やデスクランブルの処理を施すようにしても良い。
【0403】
TS再生部100は、供給された信号を基に、トランスポートストリームを再生し、CAデスクランブル部101に供給する。
【0404】
CAデスクランブル部101は、誤り訂正処理部95、または、TS再生部100から供給された信号を基に、限定受信信号をデスクランブルし、デマルチプレクサ102に供給する。
【0405】
データ入力部103は、EPG受信装置9から、EPGデータの入力を受けたり、ネットワーク8を介して、配信サーバ5より、ストリーミングデータの供給を受け、デマルチプレクサ102に供給する。
【0406】
デマルチプレクサ102は、CAデスクランブル部101、または、データ入力部103から供給された信号をデマルチプレクスし、音声信号は音声信号復号部104に、映像信号は、映像信号復号部105に、そして、制御信号やEPGなどのデータは、データ復号部106にそれぞれ供給する。
【0407】
音声信号復号部104は、供給された音声信号を復号し、テレビジョン表示装置11、または、録画再生装置12に供給する。映像信号復号部105は、供給された映像信号を復号し、テレビジョン表示装置11、または、録画再生装置12に供給する。データ復号部106は、供給された制御信号やEPGなどのデータを復号し、テレビジョン表示装置11、または、録画再生装置12に供給する。
【0408】
テレビジョン受信装置4の処理により、受信された衛星波、または地上波、あるいは、配信されたストリーミングデータが、所定の方式により復調および復号されて、テレビジョン表示装置11、または、録画再生装置12に供給される。
【0409】
図32は、テレビジョン表示装置11の構成を示すブロック図である。
【0410】
操作入力部121は、ユーザからの操作入力を受け、テレビジョン表示装置11の各部にユーザの操作入力に対応する制御信号を供給するとともに、ユーザの操作内容を操作ログリスト122に供給して保存させる。操作ログリスト122に保存されているユーザの操作ログは、図13を用いて説明した番組推薦処理装置10の操作ログ取得部46により取得される。また、ユーザの操作入力が、チャンネルの選択であった場合、操作入力部121は、入力されたユーザの操作をチャンネル設定部123に供給する。
【0411】
チャンネル設定部123は、操作入力部121から供給されたユーザの操作入力を示す信号に基づいて、チャンネルの選択を示す制御信号を生成し、テレビジョン受信装置4に供給する。また、チャンネル設定部123は、後述する推薦番組リスト128に登録されている推薦情報に基づいて、自動的にチャンネルを設定するために、チャンネルの選択を示す制御信号を生成し、テレビジョン受信装置4に供給する。テレビジョン受信装置4は、制御信号に基づいて、指定されたチャンネルの放送信号を受信する。
【0412】
データ入力部124は、テレビジョン受信装置4から放送信号の入力を受け、画像処理部125に供給する。画像処理部125は、供給された放送信号に対して、出力部126の画像表示方法に基づいて、画像処理を施し、出力部126に供給する。出力部126は、例えば、CRT(Cathode Ray Tube)、または、LCD(Liquid Crystal Display)などの表示デバイスと、スピーカなどの音声出力デバイスで構成され、供給された画像処理後の放送信号の画像信号を表示デバイスに表示し、音声出力デバイスから音声信号を出力する。
【0413】
推薦番組リスト取得部127は、番組推薦処理装置10から、推薦情報を取得し、推薦番組リスト128に供給する。推薦番組リスト128は、供給された推薦情報を登録する。推薦番組リスト128に登録された推薦情報は、チャンネル設定部123に読み出されたり、推薦番組情報表示制御部129に読み出される。
【0414】
推薦番組情報表示制御部129は、番組の推薦情報をユーザに提示するために、推薦番組リスト128から読み出した推薦情報を、画像処理部125に出力する。画像処理部125は、推薦番組情報表示制御部129から供給された推薦情報を、単独で、または、データ入力部124から供給された放送信号の画像に重畳させて、出力部126に出力して、表示デバイスに表示させる。
【0415】
なお、番組推薦処理装置10から供給される推薦情報を基に、出力部126に推薦情報を表示させるか、自動的にチャンネルを設定させるようにするかは、ユーザの設定によって決定されるようにしても良い。
【0416】
図33のフローチャートを参照して、番組推薦処理装置10から供給される推薦情報を基に、ユーザに番組推薦情報を提示するための推薦情報表示処理について説明する。
【0417】
ステップS251において、推薦番組リスト取得部127は、番組推薦処理装置10の推薦情報出力部49から出力された推薦情報を取得する。
【0418】
ステップS252において、推薦番組リスト取得部127は、取得した推薦情報を、推薦番組リスト128に登録する。
【0419】
ステップS253において、推薦番組情報表示制御部129は、推薦番組リスト128から、例えば、3時間や1日など、現在時刻よりも所定の時間以内に放送される番組の推薦情報を読み出し、推薦する番組のタイトル、内容、放送時間、および、放送チャンネルなどを表示させるための、推薦情報表示用のデータを生成し、画像処理部125に供給する。
【0420】
ステップS254において、画像処理部125は、供給された推薦情報表示用のデータを、出力部126に表示させるための画像処理を実行し、出力部126に供給する。推薦情報は、単独で、または、データ入力部124から供給された放送信号の画像に重畳されて、画像処理される。
【0421】
ステップS255において、出力部126は、画像処理部125から供給された推薦情報を表示し、処理が終了される。
【0422】
このような処理により、出力部126に推薦情報が表示されるので、ユーザは、表示された推薦情報を参照して、視聴する番組を選択することが可能となる。
【0423】
次に、図34のフローチャートを参照して、番組推薦処理装置10から供給される推薦情報を基に、自動的にチャンネルを設定して、ユーザの嗜好に合致した番組を表示させるための自動チャンネル設定処理について説明する。
【0424】
ステップS271およびステップS272において、図33を用いて説明したステップS251およびステップS252と同様の処理が実行される。すなわち、番組推薦処理装置10の推薦情報出力部49から出力された推薦情報が取得され、取得された推薦情報が、推薦番組リスト128に登録される。
【0425】
チャンネル設定部123は、ステップS273において、番組推薦リスト98から、現在時刻に対応する推薦番組の情報を取得し、ステップS274において、推薦番組の情報を基に、チャンネル設定情報を生成し、テレビジョン受信装置4に出力する。テレビジョン受信装置4は、制御信号に基づいて、指定されたチャンネルの放送信号を受信する。
【0426】
ステップS275において、データ入力部124は、テレビジョン受信装置4から指定されたチャンネルの放送信号を取得し、画像処理部125に供給する。
【0427】
ステップS276において、画像処理部125は、供給された放送信号に、出力部126に表示させるための画像処理を実行し、出力部126に供給する。
【0428】
ステップS277において、出力部126は、画像処理部125から供給された、推薦された番組の映像を表示して、音声を出力し、処理が終了される。
【0429】
このような処理により、自動的に、ユーザの嗜好に合致した番組が放送されているチャンネルにチャンネル設定される。図34を用いて説明した自動チャンネル設定処理は、例えば、ユーザが指令したときに実行されるようにしても良い。これにより、ユーザが、どの番組を視聴するかを悩んだ場合などに、適切な番組が放送されている番組にチャンネルを自動的に設定することが可能となる。
【0430】
また、図34を用いて説明した自動チャンネル設定処理は、例えば、2時間など、特に意識してチャンネルを設定せず、ただ放置されていると判断可能なような所定の時間ごとに、あるいは、放置されていると判断可能なような所定の時間、ユーザからの操作入力がなかった場合などに実行されるようにしても良い。
【0431】
なお、ユーザが意識して番組を視聴している途中で、自動的にチャンネルが切り替わってしまうことがないように、自動チャンネル設定処理の実行不可のモードを用意して、ユーザが指令することができるようにしても良い。
【0432】
図35は、録画再生装置12の構成を示すブロック図である。
【0433】
操作入力部141は、ユーザからの操作入力を受け、録画再生装置12の各部にユーザの操作入力に対応する制御信号を供給するとともに、ユーザの操作内容を操作ログリスト142に供給して保存させる。操作ログリスト142に保存されているユーザの操作ログは、図13を用いて説明した番組推薦処理装置10の操作ログ取得部46により取得される。
【0434】
録画設定部143は、操作入力部141から供給されたユーザの操作入力を示す信号に基づいて、または、後述する推薦番組リスト149に登録されている推薦情報から、例えば、録画する番組の放送開始時間および放送終了時間、並びに、放送されるチャンネルなど、録画処理を行うために必要な情報を抽出する。録画設定部143は、操作入力部141から供給されたユーザの操作入力が録画予約である場合、録画処理を行うために必要な情報を録画予約リスト144に登録し、操作入力部141から供給されたユーザの操作入力が、現在放送されている番組の録画処理である場合、または、後述する推薦番組リスト149に登録されている推薦情報を用いて自動録画処理を行う場合、録画処理を行うために必要な情報を、録画制御部145に供給する。
【0435】
録画制御部145は、録画設定部143から供給された、録画処理を行うために必要な情報を基に、または、録画予約リスト144に登録されている録画予約情報のうち現在時刻に対応する録画予約情報を抽出することにより、録画する番組の放送チャンネルを示す制御信号を生成して、テレビジョン受信装置4に供給するとともに、録画処理を実行するための制御信号を生成し、録画再生処理部147に供給する。テレビジョン受信装置4は、制御信号に基づいて、指定されたチャンネルの放送信号を受信する。
【0436】
データ入力部146は、テレビジョン受信装置4から放送信号の入力を受け、録画再生処理部147に供給する。録画再生処理部147は、例えば、磁気テープ、光ディスク、磁気ディスク、光磁気ディスク、または、半導体メモリなどの記録媒体が装着可能なように構成されるか、その内部に、例えば、ハードディスク、または、半導体メモリなどの記録媒体を有し、それらの記録媒体に情報を記録したり、それらの記録媒体から情報を再生可能なようになされている。具体的には、録画再生処理部147に装着可能な記録媒体が磁気テープである場合、録画再生処理部147は、磁気ヘッドを有し、磁気テープにデータ入力部146から供給された放送信号を記録(すなわち、録画)したり、磁気テープに記録されている情報を再生して、テレビジョン表示装置11などに供給して再生出力させる。
【0437】
推薦番組リスト取得部148は、番組推薦処理装置10から、推薦情報を取得し、推薦番組リスト149に供給する。推薦番組リスト149は、供給された推薦情報を登録する。推薦番組リスト149に登録された推薦情報は、録画設定部143に読み出されて、自動的に録画処理が実行される。
【0438】
次に、図36のフローチャートを参照して、自動録画処理について説明する。
【0439】
ステップS291において、推薦番組リスト取得部148は、番組推薦処理装置10の推薦情報出力部49から出力された推薦情報を取得する。
【0440】
ステップS292において、推薦番組リスト取得部148は、取得した推薦情報を、推薦番組リスト149に登録する。
【0441】
ステップS293において、録画設定部143は、番組推薦リスト109から、現在時刻に対応する推薦番組の情報を抽出し、放送開始時間および放送終了時間、並びに、放送チャンネルなどの、録画処理のために必要な情報を取得して、録画制御部145に供給する。
【0442】
ステップS294において、録画制御部145は、録画する番組の放送信号の供給を受けるためのチャンネル設定情報を生成し、テレビジョン受信装置4に出力する。テレビジョン受信装置4は、制御信号に基づいて、指定されたチャンネルの放送信号を受信する。
【0443】
ステップS295において、データ入力部146は、テレビジョン受信装置4から、指定されたチャンネルの放送信号を取得し、録画再生処理部147に供給する。
【0444】
ステップS296において、録画再生処理部147は、供給された放送信号を、装着されている、または、内蔵されている記録媒体に記録して、処理が終了される。
【0445】
このような処理により、ユーザの嗜好に合致した番組を、自動的に録画することが可能となる。図36を用いて説明した自動録画処理は、ユーザが指令した録画処理、または、録画予約処理による録画動作中など、すでに録画動作が行われている間には実行されない。
【0446】
ここでは、現在時刻に対応する推薦番組を基に、自動的に録画を行い場合について説明したが、例えば、現在時刻よりも先の所定の時間分の推薦情報を取得して、同様の処理により、自動的に録画予約を設定することができるようにしてもよいことは言うまでもない。
【0447】
図1乃至図36を用いて説明した処理では、番組ベクトルPPが、配信サーバ5において生成されるものとして説明したが、配信サーバが番組ベクトルPPを生成するのではなく、ネットワーク8を介して、EPGデータを番組推薦処理装置に供給し、番組推薦処理装置において、番組ベクトルPPを生成するようにしても良い。
【0448】
配信サーバが番組ベクトルPPを生成するのではなく、ネットワーク8を介して、EPGデータを番組推薦処理装置に供給し、番組推薦処理装置において、番組ベクトルPPを生成する場合の配信サーバ171の構成を図37に示し、番組推薦処理装置191の構成を図38に示す。
【0449】
なお、図2の配信サーバ5、および、図13の番組推薦処理装置10における場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。
【0450】
すなわち、配信サーバ171は、図2を用いて説明した配信サーバ5のデータ取得部21およびデータ送信部25で構成され、ストリーミングデータデータベース6またはメタデータデータベース7からストリーミングデータ、または、メタデータで構成されるEPGデータを取得して、ネットワーク8を介して、EPG受信装置8またはテレビジョン受信装置4に送信する。
【0451】
そして、番組推薦処理装置191は、図2の配信サーバ5に設けられていたものと同様のメタデータ取得部22および番組ベクトル生成部23が新たに設けられている以外は、図13を用いて説明した番組推薦処理装置10と同様の構成を有するものであり、番組推薦処理装置10が実行する処理に加えて、図3を用いて説明した番組ベクトル生成処理1、および、図6を用いて説明した番組ベクトル生成処理2、並びに、図7を用いて説明したグループ化処理1、および、図8を用いて説明したグループ化処理を実行する。
【0452】
配信サーバが番組ベクトルPPを生成するのではなく、ネットワーク8を介して、EPGデータを番組推薦処理装置に供給し、番組推薦処理装置において、番組ベクトルPPを生成する場合においても、図1乃至図36を用いて説明した場合と同様の効果を奏することが可能である。
【0453】
また、更に、EPG受信装置9が、テレビジョンジョン表示装置11および録画再生装置12から、ユーザの操作履歴や設定情報などを収集して、ネットワーク8を介して、配信サーバに供給するようにし、配信サーバが、番組ベクトルPPを生成するのみでなく、マッチング処理を実行し、ネットワーク8を介して、マッチング結果をEPG受信装置9に供給するようにしてもよい。この場合のネットワーク構成を図39に示し、配信サーバ201の構成を示すブロック図を図40に示す。
【0454】
なお、図1、図37、および図38における場合と対応する部分には同一の符号を付してあり、その説明は適宜省略する。
【0455】
すなわち、配信サーバ201は、図37を用いて説明した配信サーバ171に、図38を用いて説明した番組推薦処理装置191の機能を加えたものであり、ユーザは、番組推薦処理装置を保有する必要がない。
【0456】
図39および図40に示される構成においては、番組ベクトルPP、番組側効き目ベクトルEfPP、正履歴ベクトルUP、負履歴ベクトルMUP、もしくは、標準嗜好ベクトルAPPなどの生成処理や、番組ベクトルのグループ化処理、マッチング処理、または、例外推薦番組選択処理などの、図3乃至図12、および、図14乃至図30を用いて説明した全ての処理が、配信サーバ201で実行される。
【0457】
なお、このとき、EPG受信装置9が、テレビジョンジョン表示装置11および録画再生装置12から収集して、ネットワーク8を介して送信する、ユーザの操作履歴や設定情報などには、たとえば、ユーザIDなどが付けられて、ユーザごとに区別可能なようになされる。また、配信サーバ201の番組推薦処理装置191において、初期登録保存部45、正履歴保存部47、負履歴保存部48などは、供給された情報のユーザIDを基に、それぞれの情報をユーザ別に保存する。
【0458】
以上の説明においては、テレビジョン放送信号のEPGデータを用いて、ユーザの嗜好にあった番組を推薦する場合について説明したが、本発明は、ラジオ放送、あるいは、ストリーミングデータなどの各種デジタルコンテンツに属性情報を付加し、ユーザの嗜好にあったものを推薦する場合についても適用可能である。
【0459】
上述した一連の処理は、ソフトウェアにより実行することもできる。そのソフトウェアは、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
【0460】
この記録媒体は、図2、図13、または、図38に示すように、コンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク31または71(フレキシブルディスクを含む)、光ディスク32または72(CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)を含む)、光磁気ディスク33または73(MD(Mini-Disk)(商標)を含む)、もしくは半導体メモリ34または74などよりなるパッケージメディアなどにより構成される。
【0461】
また、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【0462】
なお、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【0463】
【発明の効果】
このように、本発明によれば、コンテンツの属性情報を生成することができる。特に、コンテンツの分類に基づいて、属性情報を生成することができる。
また、他の本発明によれば、ユーザの嗜好と合致したコンテンツを選択することができるほか、コンテンツの分類に基づいて、コンテンツが選択されるので、ユーザの嗜好に正しく合致したコンテンツを選択することができる。
更に、他の本発明によれば、ユーザの嗜好と合致したコンテンツを選択することができるほか、所定の条件に合致したコンテンツの属性情報を基に、ユーザの嗜好情報が生成されるので、ユーザの嗜好に正しく合致したコンテンツを選択することができる。
【図面の簡単な説明】
【図1】テレビジョン番組放送、およびストリームデータの配信について説明する図である。
【図2】図1の配信サーバの構成を示すブロック図である。
【図3】番組ベクトル生成処理1について説明するフローチャートである。
【図4】EPGデータを説明する図である。
【図5】番組ベクトルについて説明する図である。
【図6】番組ベクトル生成処理2について説明するフローチャートである。
【図7】グループ化処理1について説明するフローチャートである。
【図8】グループ化処理2について説明するフローチャートである。
【図9】タイトルグループ化処理1について説明するフローチャートである。
【図10】タイトルグループ化処理2について説明するフローチャートである。
【図11】タイトルグループ化処理3について説明するフローチャートである。
【図12】タイトルグループ化処理4について説明するフローチャートである。
【図13】図1の番組推薦処理装置の構成を示すブロック図である。
【図14】正履歴ベクトルおよび負履歴ベクトル生成処理1について説明するフローチャートである。
【図15】正履歴ベクトルを説明する図である。
【図16】正履歴ベクトルおよび負履歴ベクトル生成処理2について説明するフローチャートである。
【図17】マッチング処理1について説明するフローチャートである。
【図18】マッチング処理2について説明するフローチャートである。
【図19】マッチング処理3について説明するフローチャートである。
【図20】マッチング処理4について説明するフローチャートである。
【図21】マッチング処理5について説明するフローチャートである。
【図22】ユーザ側効き目ベクトル生成処理1について説明するフローチャートである。
【図23】ユーザ側効き目ベクトル生成処理2について説明するフローチャートである。
【図24】ユーザ側効き目ベクトル生成処理3について説明するフローチャートである。
【図25】ユーザ側効き目ベクトル生成処理4について説明するフローチャートである。
【図26】ユーザ側反効き目ベクトル生成処理1について説明するフローチャートである。
【図27】ユーザ側反効き目ベクトル生成処理2について説明するフローチャートである。
【図28】グループ推薦を含むマッチング処理について説明するフローチャートである。
【図29】ユーザモデルを用いたマッチング処理について説明するフローチャートである。
【図30】例外推薦処理について説明するフローチャートである。
【図31】図1のテレビジョン受信装置の構成を示すブロック図である。
【図32】図1のテレビジョン表示装置の構成を示すブロック図である。
【図33】推薦情報表示処理について説明するフローチャートである。
【図34】自動チャンネル設定処理について説明するフローチャートである。
【図35】図1の録画再生装置の構成を示すブロック図である。
【図36】自動録画処理について説明するフローチャートである。
【図37】配信サーバの異なる構成例を示すブロック図である。
【図38】番組推薦処理装置の異なる構成例を示すブロック図である。
【図39】テレビジョン番組放送、およびストリームデータの配信のためのネットワークの異なる例について説明する図である。
【図40】配信サーバの異なる構成例を示すブロック図である。
【符号の説明】
5 配信サーバ, 10 番組推薦処理装置, 21 データ取得部, 22メタデータ抽出部, 23 番組ベクトル生成部, 24 データ記憶部, 25 データ送信部, 41 データ取得部, 42 番組ベクトル抽出部, 43 マッチング処理部, 44 操作入力部, 45 初期登録保存部, 46 操作ログ取得部, 47 正履歴保存部, 48 負履歴保存部, 49 推薦情報出力部, 50 推薦番組リスト, 61 正規化処理部, 62 ベクトル演算部, 63 ユーザ情報登録部, 171 配信サーバ, 191 番組推薦処理装置, 201 配信サーバ[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to an information processing apparatus and an information processing method, an information processing system, a recording medium, and a program. In particular, for a user who watches a program such as a television broadcast or a radio broadcast, or streaming data, for example, The present invention relates to an information processing apparatus, an information processing method, an information processing system, a recording medium, and a program that are suitable for use in recommending a recording or a program.
[0002]
[Prior art]
2. Description of the Related Art Conventionally, for example, when recommending a program to a user in a television broadcast, a radio broadcast, or the like, a user's program is recommended based on program information (program metadata) such as an electronic program guide (EPG). A program matching the preference information was selected. The method of recommending a program to a user differs depending on the method of acquiring user preference data. For example, an initial interest registration method in which information related to a user's interest is initially registered, and a program is recommended based on the information, There is a method of using a viewing history using a history of programs viewed in the past to recommend a program, or a collaborative filtering method of recommending a program using viewing histories of other users.
[0003]
In the initial interest registration method, at the start of use, for example, a user registers a favorite program category (for example, drama, variety, etc.), a favorite genre (inference, comedy, etc.), or a favorite talent name to the user. The name of the program to be recommended is obtained by performing matching with the program metadata using these pieces of information as keywords.
[0004]
Further, in the viewing history utilization method, each time a user views a program, the viewed program metadata is accumulated, and when the history metadata is accumulated to some extent, the metadata is analyzed and, for example, Information such as a program category, a favorite genre, or a favorite talent name is acquired. Then, by using these pieces of information as keywords and performing matching with the program metadata, a program name to be recommended is obtained.
[0005]
For example, in a recording device using an HDD (Hard Disk Drive), not only the viewing history, but also a user operation such as recording reservation or recording is accumulated as history information and may be used to acquire preference information. . In this case, the user is not watching the program with particular interest, but is watching the program because he / she has a television receiver or a radio. , It is possible to partially distinguish programs that have been consciously viewed, and it is possible to acquire information that more reflects the user's preferences.
[0006]
Then, the collaborative filtering method matches the viewing history of the first user with the viewing history of the other user by matching the viewing history of the first user with the viewing history of the other user. By searching for the user and acquiring the viewing / operation history data, a program that has been viewed by the second user and has not yet been viewed by the first user is extracted and recommended.
[0007]
Also, an n-dimensional attribute vector is added to the broadcast program in advance as program attribute information, and the average value of each attribute item of the user's initial registration contents and the attribute vector of the program reproduced or recorded by the user is set. There is a technique in which a program to be recorded or a program to be reproduced can be selected by comparing a selection vector generated based on the attribute vector with an attribute vector (for example, Patent Document 1).
[0008]
[Patent Document 1]
JP 2001-16095A
[0009]
[Problems to be solved by the invention]
However, when selecting a program based on the initial registration method, only a fixed interest of the user at the time of the initial registration can be reflected, and the registration operation of the user becomes complicated in order to obtain detailed information. Would. On the other hand, if the number of registered information is reduced to simplify the initial registration information input operation, the user can only make recommendations based on rough user preference information. The accuracy with which a program matching the preference is selected is low.
[0010]
On the other hand, when a program is selected by simply using the total or average of metadata collected based on the user's viewing history or the like, such as a history utilization method, if the history is not accumulated to some extent, A program that correctly matches the user's preference cannot be recommended. Furthermore, in the history using method, the relationship between the metadata is lost, and sufficient personalization cannot be performed. Further, by stacking the histories, for example, items that are likely to be overlapped as histories (items that are easily detected as being preferred by the user), such as genres, and items that have elements that are likely to be spread as histories, such as performers (detected as being preferred by the user) (Items that are difficult to perform), there is a case where the weighting is biased.
[0011]
Specifically, for example, since the user is a fan of the commentator A, the genre is “genre” if the user likes to watch “live broadcast of the game of the team B explained by the commentator A”. The information "live broadcast of baseball" tends to overlap as a history (the information "live broadcast of baseball" is likely to be detected as a preference of the user), but the information "commentator A" who is a performer overlaps as a history. Difficult (the information “explanator A” is hard to be detected as a preference of the user). For this reason, a case may occur in which a live broadcast of the game of the baseball team B being commented on by another commentator is recommended, and the variety program in which the commentator A appears is not recommended.
[0012]
Further, as shown in Patent Document 1, an attribute vector of a program is added to a broadcast program in advance, and the average content of the attribute items of the user's initial registration contents and the attribute vector of a program reproduced or recorded by the user is added. By comparing the selection vector generated based on the value with the attribute vector to select a program to be recorded or a program to be reproduced, the operation history of the user is used. In some cases, weighting may be biased between items that are likely to overlap as histories and items whose elements are easily spread as histories, such as performers.
[0013]
Furthermore, for example, in a selection vector generated for a user who likes a drama and likes only those in which comedian A who rarely appears in the drama and who has a variety-to-drama viewing ratio of 2: 8, However, a performer B who frequently appears in a drama, even though he is not a favorite actor more than a comedian A who rarely appears in a drama, overlaps as a history. Therefore, the documentary in which the performer B who frequently appears in the drama appears in preference to the variety in which the comedian A appears.
[0014]
In addition, even when important items for selecting a program differ depending on the user (for example, emphasis on performers or content), all items are calculated in the same manner, so that user-specific preferences are not reflected. was there.
[0015]
Further, since only the preference information of other users is used in the collaborative filtering method, it has been difficult to extract information indicating the preference of each user in detail.
[0016]
The present invention has been made in view of such a situation, and it is an object of the present invention to be able to select a program that matches a user's preference.
[0017]
[Means for Solving the Problems]
A first information processing apparatus according to the present invention includes: an obtaining unit that obtains information about a content; a classifying unit that classifies the content based on the information about the content obtained by the obtaining unit; and an attribute based on the information about the content. And an attribute information generating means for generating information and associating the classification result by the classification means.
[0018]
The information processing apparatus may further include a transmission unit configured to transmit the attribute information generated by the attribute information generation unit and the classification result associated with the attribute information to another information processing apparatus.
[0019]
The classifying unit can detect the content that matches a predetermined condition based on the information on the content, and the attribute information generating unit includes unique information for distinguishing the classification by the classifying unit. , Attribute information.
[0020]
The predetermined condition may include a condition that a difference between start times of broadcasting or distribution of the content is within a predetermined time.
[0021]
The information related to the content can be constituted by a plurality of items, and the classification unit is configured to detect a content including at least one identical word in a predetermined item of the information related to the content. The attribute information generating means can associate unique information for distinguishing the classification by the classifying means with the attribute information.
[0022]
The information relating to the content may be constituted by a plurality of items, and the classifying unit may be configured to detect the content in which the matching rate of words constituting the predetermined item of the information relating to the content is greater than a predetermined value. And the attribute information generating means can associate the unique information for distinguishing the classification by the classifying means with the attribute information.
[0023]
The attribute information generating means may further associate the attribute information already associated with the second content of the same classification as the first content with the first content.
[0024]
The content can be a broadcast program, and the classifying means can classify continuously broadcast programs as one classification based on information on the content, and generate attribute information. The means can generate attribute information of a broadcast program classified as a broadcast program to be continuously broadcast by the classifying means using information on contents of the first broadcast.
[0025]
According to a first information processing method of the present invention, there are provided a classification step of classifying a content based on information related to the content, an attribute information generating step of generating attribute information based on the information related to the content, and a process of the attribute information generating step And an associating step of associating the attribute information generated by the above with the classification result by the processing of the classification step.
[0026]
The program recorded on the first recording medium according to the present invention includes: a classification step of classifying the content based on the information on the content; an attribute information generation step of generating attribute information based on the information on the content; It is characterized by including an associating step of associating the attribute information generated by the processing of the information generating step with the classification result by the processing of the classification step.
[0027]
A first program according to the present invention is generated by processing of a classification step of classifying content based on information about content, an attribute information generation step of generating attribute information based on information about content, and an attribute information generation step. And an associating step of associating the attribute information with the classification result obtained by the processing of the classification step.
[0028]
In the first information processing apparatus, the information processing method, and the program according to the present invention, contents are classified based on information about the contents, and attribute information is generated based on the information about the contents. And the classification result.
[0029]
The second information processing apparatus of the present invention includes: an acquiring unit for acquiring attribute information of a content; a storing unit for storing user preference information; a preference information stored by the storage unit; Detecting means for detecting the first content that matches the user's preference by comparing the attribute information with the attribute information, wherein the attribute information of the content includes unique information indicating a classification of the content; , The second content of the same classification as the first content that matches the user's preference is further detected as the content that matches the user's preference.
[0030]
According to a second information processing method of the present invention, a storage control step of controlling storage of unique information indicating a classification of a first content that matches a user's preference, and the attribute information of the second content includes unique information. If it is determined by the first determination step of determining whether or not the attribute information includes the unique information, the storage is controlled by the processing of the storage control step. Based on the unique information of the first content, the second content is subjected to a second determination step of determining whether or not the second content is in the same classification as the first content, and a second determination step is performed. Is determined to be of the same classification as the first content, a detecting step of detecting the second content as content that matches the user's preference.
[0031]
The program recorded on the second recording medium according to the present invention includes a storage control step of controlling storage of unique information indicating a classification of the first content that matches the user's preference; A first determining step of determining whether or not the attribute information includes the unique information; and determining that the attribute information includes the unique information by the processing of the first determining step. A second determining step of determining whether the second content has the same classification as the first content based on the unique information of the controlled first content; and a second determining step. A process of detecting the second content as content that matches the user's preference when the second content is determined to be in the same classification as the first content by the processing. And wherein the Mukoto.
[0032]
A second program according to the present invention includes a storage control step of controlling storage of unique information indicating a classification of the first content that matches a user's preference, and whether the attribute information of the second content includes unique information. When it is determined that the attribute information includes the unique information by the first determination step of determining whether the attribute information includes the unique information, the first storage control is performed by the storage control step. Based on the unique information of the content, the second content is determined by the second determination step of determining whether the second content is in the same classification as the first content and the second determination step. Is characterized by including a detecting step of detecting the second content as the content that matches the user's preference when it is determined that the classification is the same as the first content.
[0033]
In the second information processing apparatus, the second information processing method, and the program according to the present invention, it is determined whether the classification of the first content that matches the user's preference and the classification of the second content are the same. If it is determined that the second content has the same classification as the first content, the second content is detected as content that matches the user's preference.
[0034]
According to an information processing system of the present invention, a first information processing apparatus obtains information related to a content, and a classification that classifies the content based on the information related to the content obtained by the first obtaining means. Means, attribute information generating means for generating attribute information based on information relating to the content, attribute information generated by the attribute information generating means, and the classification result by the classifying means associated with each other and transmitted to another information processing apparatus. A second obtaining means for obtaining attribute information transmitted from the first information processing apparatus, a storing means for storing user preference information, and a storing means. Is compared with the attribute information acquired by the second acquisition unit, thereby detecting the first content that matches the user's preference. Output means, and the attribute information of the content includes unique information indicating a classification of the content, and the detecting means determines, based on the unique information, a second content of the same category as the first content that matches the user's preference. The content is further detected as content that matches the user's preference.
[0035]
In the information processing system according to the present invention, the first information processing apparatus acquires information about the content, classifies the content based on the acquired information about the content, and generates attribute information based on the information about the content. Then, the generated attribute information is associated with the classification result by the classifying unit and transmitted to another information processing device, and the attribute information transmitted from the first information processing device is transmitted by the second information processing device. The acquired preference information of the user is stored, the stored preference information is compared with the acquired attribute information, and a first content that matches the user's preference is detected. And the second content having the same classification as the first content that matches the user's preference based on the unique information. It is further detected as contents matching with THE preferences.
[0036]
A third information processing apparatus according to the present invention includes: an obtaining unit that obtains attribute information of a content; a storage unit that stores a predetermined condition; and a predetermined condition stored in the storage unit of a predetermined content group. Generating means for generating user preference information based on attribute information of the content corresponding to the matched content.
[0037]
Calculating a similarity between the preference information generated by the generation unit and the attribute information of the content acquired by the acquisition unit, thereby generating recommendation information generation unit for generating recommendation information indicating content recommended for viewing by the user; It can be provided.
[0038]
Operation input means for receiving an operation input by the user may be further provided, and the storage means may store a predetermined condition input by the user through the operation input means.
[0039]
The predetermined content group may be a set of contents broadcast or distributed during a predetermined period.
[0040]
The predetermined content group may be a set of contents broadcast or distributed in a predetermined time zone.
[0041]
According to a third information processing method of the present invention, an acquisition step of acquiring attribute information of a content, a setting step of setting a predetermined condition, and a predetermined condition set by the processing of the setting step in a predetermined content group Extracting the content that matches the predetermined condition, and generating the preference information of the user based on the attribute information of the content corresponding to the content that matches the predetermined condition extracted by the processing of the extracting step. It is characterized by.
[0042]
The program recorded on the third recording medium of the present invention includes an acquisition step of acquiring attribute information of a content, a setting step of setting a predetermined condition, and a setting step of setting a predetermined content group. Extracting the content meeting the predetermined condition, and generating the user preference information based on the attribute information of the content corresponding to the content meeting the predetermined condition extracted by the process of the extracting step. And a step.
[0043]
A third program according to the present invention includes: an acquiring step of acquiring attribute information of a content; a setting step of setting a predetermined condition; and a predetermined group of contents which satisfy a predetermined condition set by the processing of the setting step. An extraction step of extracting the extracted content, and a generation step of generating user preference information based on attribute information of the content corresponding to the content meeting predetermined conditions extracted by the processing of the extraction step. And
[0044]
According to the third information processing apparatus, the information processing method, and the program of the present invention, content attribute information is acquired, and a content meeting a predetermined condition is extracted from a predetermined content group. Is generated based on the attribute information of the content corresponding to the content that satisfies the above condition.
[0045]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
[0046]
With reference to FIG. 1, television program broadcasting and distribution of stream data will be described.
[0047]
The broadcast station 1 transmits a terrestrial program broadcast or a satellite program broadcast via the satellite 2. In FIG. 1, only one broadcasting station 1 is shown and described, but it goes without saying that a plurality of broadcasting stations 1 exist. The antenna 3 of the television receiver 4 receives a terrestrial or satellite program broadcast. The broadcast signal includes an EPG (Electronic Program Guide) as necessary.
[0048]
The distribution server 5 reads the streaming data from the streaming data database 6 and distributes the streaming data to the television receiver 4 via a network 8 including the Internet and other networks, and broadcasts from the broadcasting station 1 from the metadata database 7. EPG or metadata including more detailed information than the EPG is read out, a program vector PP is generated for each program, and the program vector PP is sent to the EPG receiving device 9 via the network 8 together with the EPG data. To deliver.
[0049]
If the information amount of the EPG superimposed on the general broadcast signal is sufficient information for the processing described below, the processing may use the same EPG as the EPG superimposed on the general broadcast signal. You may do it. If the amount of information of the EPG superimposed on the general broadcast signal is not sufficient information for the processing described below, the processing includes the addition of the EPG superimposed on the general broadcast signal. Alternatively, or independently, metadata may be used. Hereinafter, since an EPG superimposed on a general broadcast signal does not have a sufficient amount of information for processing, information including metadata is used in this embodiment, and this information is collectively referred to as EPG data. Shall be.
[0050]
The EPG receiving device 9 supplies the distributed EPG data to the television receiving device 4. Further, the EPG receiving device 9 supplies the program recommendation processing device 10 with the program vector PP distributed together with the EPG data.
[0051]
The television receiver 4 having a tuner receives a terrestrial wave via the antenna 3 based on a control signal indicating selection of a channel supplied from a television display device 11 having an operation unit or a recording / reproducing device 12. Alternatively, a broadcast signal of a satellite wave is selected and received, and streaming data is received from the delivery server 5 via the network 8. The television receiver 4 receives the supply of the EPG data from the EPG receiver 9 and supplies the EPG data to the television display device 11 or the recording / reproducing device 12. When the received broadcast wave includes an EPG, the television receiver 4 separates the broadcast wave from a program signal and supplies the signal to the television display device 11 or the recording / reproducing device 12, respectively.
[0052]
The program recommendation processing device 10 obtains a program vector PP from the EPG receiving device 9 and obtains operation logs from the television display device 11 and the recording / reproducing device 12, and transmits these information or user operation inputs. Based on the information, recommendation information for recommending a program that matches the user's preference is generated and supplied to the television display device 11 and the recording / reproducing device 12.
[0053]
The television display device 11 displays a broadcast signal supplied from the television receiving device 4 or a reproduced signal supplied from the recording / reproducing device 12 based on a user's operation input, Based on the supplied recommendation information, a channel is automatically set or recommended program information is displayed. The television display device 11 supplies an operation log, which is an operation history of the user, to the program recommendation processing device 10.
[0054]
The recording / reproducing apparatus 12 records a broadcast signal supplied from the television receiver 4 on a mounted recording medium or a built-in recording medium (for example, a hard disk) based on a user's operation input, Based on the recommendation information supplied from the recommendation processing device 10, the broadcast signal supplied from the television receiver 4 is automatically recorded on a mounted recording medium or a built-in recording medium. Further, the recording / reproducing apparatus 12 reproduces a program recorded on a mounted recording medium or a built-in recording medium, and outputs the program to the television display device 11 for display. Further, the recording / reproducing device 12 supplies an operation log, which is an operation history of the user, to the program recommendation processing device 10.
[0055]
Here, the EPG receiving device 9, the television receiving device 4, the program recommendation processing device 10, the television display device 11, and the recording / reproducing device 12 have been described as different devices, but these devices are individually configured. It does not have to be done. For example, it goes without saying that the EPG receiving device 9, the television receiving device 4, and the television display device 11 may be integrally configured as a television receiver 15-1 having a built-in tuner function. No. Further, the recording / reproducing apparatus 12 may be integrally configured to be configured as a television receiver 15-2 having a recording function. It goes without saying that the recording / reproducing apparatus 12 may be a so-called hard disk recorder having a large-capacity hard disk as a recording medium. In addition, the program recommendation processing device 10 is built in a television receiver 15-1 having a built-in tuner function, and may be used as a television receiver 15-3 or a television receiver 15-2 having a recording function. The television receiver 15-4 may be incorporated therein.
[0056]
FIG. 2 is a block diagram illustrating a configuration of the distribution server 5.
[0057]
The data acquisition unit 21 acquires data from the metadata database 7 and the streaming data database 6 and supplies the data to the data transmission unit 25 and supplies EPG data to the metadata extraction unit 22. Further, the data acquisition unit 21 performs a process of grouping the EPG data registered in the metadata database 7 according to the contents.
[0058]
The metadata extraction unit 22 extracts data necessary for generating the program vector PP from the EPG data supplied from the data acquisition unit 21 and supplies the data to the program vector generation unit 23. The program vector generating unit 23 generates a program vector PP based on the metadata, and supplies the program vector PP to the data transmitting unit 25 in association with the program side effect vector EfPP stored in the data storage unit 24 as necessary. I do.
[0059]
The data storage unit 24 stores the program side effect vector EfPP, which is information necessary for generating the program vector PP, as necessary.
[0060]
Based on the viewpoint of the production side and the broadcast side of how to gain audience rating, for example, in the case of educational programs, the characteristic that the genre and content elements are strong, and in the case of variety programs, the characteristic that the performer element is strong , Dramas, etc., have the characteristic that performers and screenwriters have strong elements. In order to correctly extract the features of the program, it is necessary to use these characteristics. That is, in the matching processing executed for recommending a program that matches the user's preference among the elements constituting the program vector PP, which element is important depends on the genre of the program.
[0061]
That is, when the genre of the program is “cultural / documentation”, the important items are not the performers but the contents and titles. On the other hand, when the genre of the program is “variety”, the important item is the cast, and when the genre of the program is “drama”, the important items are the cast and the writer. When these are used to generate the program vector PP, a program-side effect vector that defines the degree of contribution in the matching process for each item is set for each program genre, and stored in the data storage unit 24.
[0062]
The data transmission unit 25 transmits the EPG data and the streaming data supplied from the data acquisition unit 21, the program vector PP supplied from the program vector generation unit 23, and the program side effect vector EfPP via the network 8. , EPG receiving device 9 or television receiving device 4.
[0063]
A drive 26 is connected to the program vector generation unit 23 as needed. A magnetic disk 31, an optical disk 32, a magneto-optical disk 33, and a semiconductor memory 34 are mounted on the drive 26 as necessary to exchange data.
[0064]
Next, the program vector generation processing 1 executed by the distribution server 5 will be described with reference to the flowchart of FIG.
[0065]
In step S1, the data acquisition unit 21 receives supply of EPG data composed of metadata from the metadata database 7.
[0066]
In step S2, the metadata extraction unit 22 receives the supply of the EPG data from the data acquisition unit 21, extracts the metadata necessary for generating the program vector PP, and outputs the metadata to the program vector generation unit 23.
[0067]
FIG. 4 shows an example of the metadata. The metadata includes, for example, “movie-Japanese movie” as the genre, “Tokaido Mitani Kaidan” as the title of the movie, data of the broadcast date and distribution source, broadcast date and time, broadcast station name to broadcast, and broadcast The time is included. Further, the metadata includes data such as a director's name, a scriptwriter's name, a photographer (photographer), a musician, a cast, and the like, and a description of a movie as the content of the program.
[0068]
In step S3, the program vector generation unit 23 performs morphological analysis on the titles, contents, and the like included in the metadata as necessary, and decomposes the words into words. More specifically, the program vector generation unit 23 decomposes the movie title included in the metadata into three words of “Tokaido”, “Mitani”, and “Kaidan” as a title. In addition, as shown in FIG. 4, the program vector generation unit 23 includes, in the metadata, as a commentary on the movie, a masterpiece of a Japanese film horror depicting the world of “'Mitani Kaidan” famous for its '59 Shinseiho style beauty' . "Is extracted, the words included in the commentary are extracted, and" Seiho "," Style "," Beauty "," Plenty "," Famous "," Mitani "," Kaidan " , "World", "draw", "Japanese", "horror", "masterpiece" as the content information.
[0069]
In step S4, the program vector generation unit 23 converts each item included in the metadata into a vector, generates a program vector PP, and ends the processing. The generated program vector PP is output to the data transmitting unit 25 and transmitted to the EPG receiving device 9 via the network 8. The vectorization of the items may be performed by arranging all the detailed elements as one column, or may be separated into large items and then vectorized for each large item.
[0070]
When vectorization is performed for each major item, for example, as shown in FIG. 5, the major items are divided into seven items of a title, a genre, a time zone, a broadcast station, a performer, a script / original / production, and a content, and the program is defined as seven items. A vector PP = (Tm, Gm, Pm, Am, Km) is generated. The content of each item is title Tm = {title1, title2,...}, Genre (Genre) Gm = {drama, variety, sports, movie, music, children / education, education / documentation, News / Information, Others}, Hour Hm = {Morning, Lunch, Evening, Golden, Late Night}, TV Station Sm = {NNK General, NNK Education, Asia TV, TTS, Buji, Teleday , Toto, NNK Satellite No. 1, NNK Satellite No. 2, WOWO}, Performer (Person) Pm = {person A, person B, ...} Script / Original / Direction, etc. (Author) Am = {person a, person b,... {Content (Keyword) Km = {kw1, kw2,.
[0071]
Of the seven major items described above, the major items “genre”, “broadcast station”, and “time zone” can be fixed in type, so that detailed elements can be represented by numerical vectors. In the case of a broadcasting station, for example, the broadcasting station Sm = {NNK General, NNK Education, Asia Television, TTS, Buji, TV Japan, Toto, NNK Satellite 1, NNK Satellite 2, WOWO} Is WOWO, the broadcast station vector can be represented by broadcast station Sm = {0, 0, 0, 0, 0, 0, 0, 0, 0, 1}. In the case of the genre, for example, in the genre Gm = {drama, variety, sports, movie, music, children / education, culture / documentation, news / reporting, etc.}, the genre of the corresponding program was culture / documentation. In this case, the genre vector can be represented by the genre Gm = {0, 0, 0, 0, 0, 0, 1, 0, 0}.
[0072]
On the other hand, for items that cannot be represented by numerical vectors, such as the major items “title”, “performers”, “screenplay / original / directed”, and “contents”, the item values are determined by the frequency of words included in the vectors. (Word) and weight (numerical value) are associated with each other. For example, the major item “title” is represented by an element composed of a word and a numerical value, such as title Tm = {Tokaido-1, Mitani-1, Kaidan-1}. In this example, for example, “Tokaido-1” means that the frequency of the word “Tokaido” is “1”.
[0073]
By such processing, the program vector PP is generated and transmitted to the EPG receiving device 9. Specifically, when a program vector PP is generated from the program metadata described with reference to FIG. 4, the program vector PP = {title Tm = {Tokaido-1, Mitani-1, Kaidan-1}, genre Gm = {0,0,0,1,0,0,0,0,0}, time zone Hm = {0,0,0,0,1}, broadcasting station Sm = {0,0,0,0,0} , 0,0,0,0,1}, Performer Pm = {Katsumi Wakasugi-1, Shigeru Amami-1, Toshihiko Emi-1, Ryujiro Nakamura-1, Noriko Nishizawa-1}, Script / Original / Direction Am = {Nobuo Nakagawa-1, Shoichi Onuki-1, Yoshihiro Ishida-1, Shoji Nishimoto-1, Shota Watanabe-1} Content Km = {Seiho-1, Style-1, Beauty-1, Rich-1, Famous-1, Mitani-1, Kaidan-1, World-1, Drawing-1, Japanese film 1, Horror-1, Masterpiece-1 are generated and transmitted to the EPG receiving device 9.
[0074]
In the program vector PP generated in this way, for example, of the components of the performer Pm, the leading role is weighted, and of the components of the script / original / directing Am, the director is weighted, and the program vector PP is It may be generated. In such a case, the components of the program vector PP are, for example, performers Pm = {Kasumi Wakasugi-3, Shigeru Amami-2, Toshihiko Emi-1, Ryujiro Nakamura-1, Noriko Nishizawa-1}, script / original / Direction Am = {Nobuo Nakagawa-3, Shoichi Onuki-1, Yoshihiro Ishida-1, Shoji Nishimoto-1, Shota Watanabe-1}.
[0075]
In addition, which element is important for generating the program vector PP depends on the genre of the program, as described above. When a program side effect vector EfPP indicating what elements are important for each genre is stored in the data storage unit 24 as program side effect vector information, the program side effect vector EfPP is stored in the program vector PP May be transmitted. The program side effect vector EfPP is set corresponding to the major items of the program vector PP.
[0076]
In the case of the program vector PP = {title Tm, genre Gm, time zone Hm, broadcasting station Sm, performer Pm, script / original / directing Am, content Km}, for example, when the genre of the program is “culture / document”, The important items are their contents and titles (when the weight value is 3), so that the program side effect vector EfPP = {3,1,1,1,1,1,3}. On the other hand, when the genre of the program is “variety”, the important item is the performer (when the weight value is 5), so the program-side effect vector EfPP = {1,1,1,1,5, 1,1}. When the genre of the program is "drama", the important items are the cast (when the weight value is 2) and the writer, and especially when the writer is important (when the weight value is 3). , The program side effect vector EfPP = {1, 1, 1, 1, 2, 3, 1}.
[0077]
Next, with reference to the flowchart of FIG. 6, a description will be given of the program vector generation processing 2 when the program side effect vector EfPP is transmitted in association with the program vector PP.
[0078]
In steps S11 to S14, processing similar to the processing in steps S1 to S4 described with reference to FIG. 3 is executed. That is, the EPG data is supplied from the metadata database 7, metadata required for generating the program vector PP is extracted from the EPG data, and the title, contents, etc. included in the metadata are required. Is subjected to morphological analysis and is decomposed into words. Then, each item included in the metadata is vectorized, and a program vector PP is generated.
[0079]
In step S15, the program vector generation unit 23 extracts a corresponding effect vector from the effect vector information stored in the data storage unit 24, based on the genre of the program of the supplied metadata. For example, when the genre of the program is “variety”, an effect vector EfPP = {1,1,1,1,5,1,1} for weighting the cast is extracted from the data storage unit 24.
[0080]
In step S16, the program vector generation unit 23 associates the effect vector EfPP extracted in step S15 with the program vector PP generated in step S14, and ends the processing.
[0081]
By such processing, the program vector PP is generated, and the program side effect vector EfPP for weighting important items is associated with the EPG receiving device via the network 8 based on the genre of the program. 9 is transmitted.
[0082]
As described above, the program vector PP is generated. For example, by grouping programs by their attributes, the program vector PP can be accurately created with a small amount of calculation. .
[0083]
The program grouping can be generated, for example, by a series of drama, a group of programs of the same genre in one-week units, and a group of programs for each performer in a unit of program organization (13 weeks). As a specific example, FIG. The grouping process 1 in the case of serial drama grouping will be described with reference to the flowchart of FIG.
[0084]
In step S31, the data acquisition unit 21 determines from the EPG data registered in the metadata database 7 that, for example, the broadcast time is the same time on weekdays or the same time on the same day of the week for the same title and the same broadcasting station. The program which meets the predetermined condition (the condition for grouping) is extracted.
[0085]
In step S32, the data acquisition unit 21 groups the extracted programs and attaches a group ID to the EPG data of the corresponding program.
[0086]
In step S33, the metadata extraction unit 22 extracts metadata having the same group ID, that is, metadata necessary for generating a program vector of the first broadcast of a program recognized as a serial drama.
[0087]
In step S34, the program vector generation processing described with reference to FIG. 3 or FIG. 6 is executed.
[0088]
In step S35, the program vector generation unit 33 fixes and sets the program vector PP of the corresponding group ID to the program vector for the first broadcast, and the process ends.
[0089]
By such processing, the serial drama is grouped, and the program vector is unified. Further, the group ID and the program vector PP may be stored in the data storage unit 24 in association with each other.
[0090]
In particular, in the EPG data of a serial drama, the contents of the first time are commentary for the whole program, but the contents other than the first time are often commentary for that time, and represent the contents of the whole program. Not. In addition, since the metadata other than the content is almost the same every time, the number of program vector generation processes can be reduced only by generating the program vector PP by using the first-time EPG data. Instead, it is possible to more accurately generate the program vector PP that matches the program characteristics.
[0091]
In FIG. 7, the process of adding the same ID to the EPG data of the serial drama has been described. However, if the EPG data includes information for distinguishing the serial drama in advance, the process of step S31 is omitted. The same ID may be added to the EPG of the serial drama with reference to the information for identifying the serial drama included in the EPG data.
[0092]
Next, with reference to a flowchart of FIG. 8, a grouping process 2 that can perform grouping by elements other than the serial drama will be described. Here, description will be made assuming that grouping is performed by genre and performer.
[0093]
In step S51, the data acquisition unit 21 adds a cluster code corresponding to the content of the metadata to the EPG data of the program with reference to the EPG data registered in the metadata database 7.
[0094]
For example, a program that matches the condition of a serial drama, such as the same title, the same broadcasting station, and the broadcast time is the same time on weekdays or the same time on the same day of the week, is extracted and extracted. For example, according to the broadcast time of a serial drama, code 1 for the same time on weekdays, code 2 for the same time on the same day of the week, code 2 for every other week, every other day, etc. If the broadcast time is other than, the first cluster code of the smallest digit such as code 3 is determined. If it is not a serial drama, the first cluster code of the minimum digit is 0.
[0095]
Next, by referring to data relating to the genre of metadata registered in the metadata database 7, a numerical value is assigned to the second digit (10's place) from the lower end of each genre, for example, code 20, code 30, etc. Is determined.
[0096]
Finally, with reference to the performer data of the metadata registered in the metadata database 7, the data is represented using the second digit or more from the lowermost position (100 or more places) such as code 2300 or code 800. A third cluster code is determined.
[0097]
Then, the total value of the first to third cluster codes becomes the cluster code added to the EPG of the program.
[0098]
In step S52, the data acquisition unit 21 determines whether or not the corresponding EPG is a serial drama based on whether or not the first digit of the cluster code is 0.
[0099]
If it is determined in step S52 that the drama is a serial drama, in steps S53 and S54, the same processing as in steps S33 and S34 in FIG. 7 is performed. That is, the EPG of the first broadcast is extracted, and the program vector generation processing described with reference to FIG. 3 or FIG. 6 is executed.
[0100]
In step S55, the program vector generation unit 33 sets the program vector PP of the serial drama to be fixed to the program vector PP for the first broadcast, and associates the generated cluster code with the program vector PP. After the setting, the process ends.
[0101]
If it is determined in step S52 that the program is not a serial drama, the program vector generation process described with reference to FIG. 3 or FIG. 6 is executed in step S56.
[0102]
In step S57, the program vector generation unit 33 associates the generated cluster code with the program vector PP, and the process ends.
[0103]
By such processing, even if the program is not a serial drama, the program vectors PP can be grouped by genre or performer, and the cluster code indicating the group can be associated with the program vector PP.
[0104]
Since the distribution server 5 described with reference to FIG. 2 generates the program vector PP as described with reference to FIGS. 3 to 8, it is necessary to always generate the program vector PP corresponding to a new term or genre. Becomes possible. The generated program vector PP is received by the EPG receiving device 9 via the network 8 together with the EPG data, and supplied to the program recommendation processing device 10.
[0105]
The grouping process may be performed by morphologically analyzing the title, decomposing the title into words, and attaching a group ID to each word.
[0106]
Next, the title grouping process 1 will be described with reference to the flowchart in FIG.
[0107]
In step S61, the data acquisition unit 21 extracts a title from the registered metadata with reference to the EPG data registered in the metadata database 7, and supplies the title to the program vector generation unit 23.
[0108]
In step S62, the program vector generation unit 23 performs a morphological analysis on the title and breaks it down into words. Specifically, if the title of the movie included in the metadata is “Tokaido Mitani Kaidan”, this will be morphologically analyzed as a title, so the three words “Tokaido”, “Mitani”, and “Kaidan” Is obtained.
[0109]
In step S63, the program vector generation unit 23 extracts one of the analyzed word or a word group composed of a plurality of words, and extracts the extracted word or word from the data storage unit 24. Extract the group ID corresponding to the group.
[0110]
Here, the word group composed of a plurality of words is a word group generated by a combination of words obtained by morphological analysis. For example, words obtained by morphological analysis are “Tokaido”, “Mitani” If the word is "Kaidan", the words are "Tokaido / Kitani", "Tokaido / Kaidan", and "Mitani / Kaidan".
[0111]
In step S64, the program vector generation unit 23 determines whether the corresponding group ID has been extracted from the data storage unit 24.
[0112]
If it is determined in step S64 that the corresponding group ID has not been extracted, the extracted word or a group of words composed of a plurality of words has not yet been assigned a group ID. The program vector generation unit 23 associates a new group ID with the extracted word or a word group including a plurality of words. In addition, the program vector generation unit 23 causes the data storage unit 24 to store a word or a word group including a plurality of words and a corresponding group ID.
[0113]
If it is determined in step S64 that the corresponding group ID has been extracted, or after the processing in step S65 is completed, in step S66, the program vector generation unit 23 sets all the words constituting the title or a plurality of words. It is determined whether a group ID has been extracted for a word group composed of words.
[0114]
If it is determined in step S66 that the group ID has not been extracted for all words constituting the title or for a word group composed of a plurality of words, the process returns to step S63, and the subsequent processes are performed. Repeated.
[0115]
In step S66, when it is determined that the group ID has been extracted for all the words constituting the title or for a word group composed of a plurality of words, in step S67, the program vector generating unit 23 The process is ended by associating the extracted group ID.
[0116]
According to such processing, the program vector is associated with the words constituting the title or the group ID corresponding to the word group, and the data transmitting unit 25 transmits the television receiver 4 or the EPG via the network 8. It is transmitted to the receiving device 9.
[0117]
Also, programs having similar titles may be set to the same group. For example, the title is configured so that the serial drama of the title “Two Years A Gin Ginpachi-sensei” and the special program of the title “Two Years A Gumi Ginpachi-sensei Special” can be grouped as the same group. Based on the result of the morphological analysis of the word, for example, a word match rate is calculated on a round robin basis for a program title for a predetermined period such as two weeks, one month, and six months, and when the word match rate is equal to or more than a predetermined value. In some cases, they may be in the same group.
[0118]
Next, a title grouping process 2 for executing grouping based on the matching rate of words constituting a title will be described with reference to the flowchart of FIG.
[0119]
In steps S401 and S402, the same processing as steps S61 and S62 described with reference to FIG. 9 is executed. That is, the data acquisition unit 21 refers to the EPG data registered in the metadata database 7, extracts a title from the registered metadata, supplies the title to the program vector generation unit 23, and 23 morphologically analyzes the title and breaks it down into words.
[0120]
In step S403, the program vector generation unit 23 calculates a degree of matching between words between titles, that is, a matching rate indicating a rate of matching between words, based on the analyzed words.
[0121]
More specifically, the title “Two-year A-Gumi Ginpachi-sensei” and the title “Two-year A-Gumi Ginpachi-sensei Special” are “2”, “Year”, “A”, “Gumi”, “Ginpachi”, and “ When the morphological analysis is performed on “teacher” and “2” “year” “A” “gumi” “ginpachi” “teacher” “special”, the matching rate of the words constituting the titles of these two programs is 6 / 7 is 85.7%.
[0122]
In step S404, the program vector generation unit 23 determines whether the words match at least a predetermined value such as 70%. It goes without saying that the threshold value of the coincidence rate may be any numerical value other than 70%.
[0123]
If it is determined in step S404 that the words match at least a predetermined value such as 70%, in step S405, the program vector generation unit 23 associates those programs with the same group ID. In addition, the program vector generation unit 23 causes the data storage unit 24 to store the matched word or word group and the corresponding group ID.
[0124]
If it is determined in step S404 that the matching rate is equal to or less than a predetermined value such as 70%, or after the processing in step S405 is completed, in step S406, the program vector generation unit 23 ends the brute force of the title. It is determined whether or not it has been done.
[0125]
If it is determined in step S406 that the round robin of the title has not been completed, the process returns to step S403, and the subsequent processes are repeated.
[0126]
If it is determined in step S406 that the round robin of the title has been completed, the process is terminated.
[0127]
By such processing, the program vector is associated with the group ID based on the matching rate of the words constituting the title, and the data transmitting unit 25 transmits the program to the television receiver 4 or the EPG via the network 8. Since the program is transmitted to the receiving device 9, for example, programs having similar titles such as a serial drama and a special program can be processed as the same group.
[0128]
Furthermore, by determining a group based on the matching rate of words constituting a title, for example, in the EPG or metadata, a half-width and full-width of a number, a half-width and a full-width of an alphabet, or a capital Even if there is a variation in the notation such as lowercase letters, it is possible to detect programs with the same title as the same group.
[0129]
Further, in addition to the word matching rate, for example, a broadcast station, a program genre, or a broadcast start time may be added to the grouping condition. For example, in a news program or the like, the title is composed of a small number of words including “news”. Therefore, in the processing described with reference to FIG. May be detected as the same group. Therefore, when a broadcast station also matches in addition to the word matching rate, the same group may be used.
[0130]
With reference to the flowchart of FIG. 11, a description will be given of a title grouping process 3 for performing grouping based on the matching rate of words constituting a title, in addition to the condition of matching broadcasting stations.
[0131]
In steps S421 to S424, the same processing as steps S401 to S404 described with reference to FIG. 10 is executed. That is, the data acquisition unit 21 refers to the EPG data registered in the metadata database 7, extracts a title from the registered metadata, supplies the title to the program vector generation unit 23, and 23 morphologically analyzes the title and breaks it down into words. Then, the program vector generation unit 23 calculates the degree of matching between the titles based on the analyzed words, and determines whether the words match at least a predetermined value such as 70%, for example. .
[0132]
When it is determined in step S424 that the words match at least a predetermined value such as 70%, in step S425, the program vector generation unit 23 determines whether the broadcasting stations of those programs match. to decide.
[0133]
If it is determined in step S425 that the broadcasting stations of these programs match, in step S426, the program vector generation unit 23 associates the programs with the same group ID. In addition, the program vector generation unit 23 causes the data storage unit 24 to store the matched word or word group and the corresponding broadcast station and group ID.
[0134]
If it is determined in step S424 that the matching rate is equal to or less than a predetermined value such as 70%, if it is determined in step S425 that the broadcasting stations of these programs do not match, or if the processing in step S426 is performed. Is completed, in step S427, the program vector generation unit 23 determines whether or not the round robin of the title has been completed.
[0135]
If it is determined in step S427 that the round robin of the title has not been completed, the process returns to step S423, and the subsequent processes are repeated.
[0136]
If it is determined in step S427 that the brute force of the title has been completed, the process is terminated.
[0137]
By such processing, the program vector is associated with the group ID based on the match of the broadcast station and the match rate of the words constituting the title. Since the program is transmitted to the device 4 or the EPG receiving device 9, for example, when programs having similar titles are in the same group, it is possible to prevent news programs of other stations from being in the same group. .
[0138]
Note that, in FIG. 11, the description has been made assuming that the grouping is performed on the condition that they are the same broadcasting station, in addition to the coincidence rate of the words constituting the title. It goes without saying that the grouping may be performed using the band, the genre, and the like as conditions other than the matching rate of the words constituting the title.
[0139]
Furthermore, for example, even when the broadcast start time of a serial drama or a band program is shifted due to a sports broadcast or a special program, conditions other than the matching rate of the words constituting the title can be detected as the same group. May be determined based on whether or not the broadcast times coincide with each other within a predetermined time range such as one hour.
[0140]
Referring to the flowchart of FIG. 12, a title grouping is performed in which grouping is performed based on a matching rate of words forming a title, in addition to a condition that broadcast times match with a shift within a predetermined time range. Processing 4 will be described.
[0141]
In steps S441 to S444, the same processing as steps S401 to S404 described with reference to FIG. 10 is executed. That is, the data acquisition unit 21 refers to the EPG data registered in the metadata database 7, extracts a title from the registered metadata, supplies the title to the program vector generation unit 23, and 23 morphologically analyzes the title and breaks it down into words. Then, the program vector generation unit 23 calculates the degree of matching between the titles based on the analyzed words, and determines whether the words match at least a predetermined value such as 70%, for example. .
[0142]
If it is determined in step S444 that the words match at least a predetermined value such as 70%, in step S445, the program vector generation unit 23 sets the broadcast start time of those programs to, for example, one hour. It is determined whether or not they coincide with each other within a predetermined range.
[0143]
If it is determined in step S445 that the broadcast start times of those programs match with a deviation within a predetermined range, in step S446, the program vector generation unit 23 assigns the same group ID to those programs. Correspond. In addition, the program vector generation unit 23 causes the data storage unit 24 to store the matched word or word group, the corresponding broadcast start time range, and the group ID.
[0144]
If it is determined in step S444 that the coincidence rate is equal to or less than a predetermined value such as 70%, if it is determined in step S445 that the broadcast start times of those programs are out of the predetermined range, or After the process of step S446 is completed, in step S447, the program vector generation unit 23 determines whether or not the round robin of the title has been completed.
[0145]
If it is determined in step S447 that the round robin of the title has not been completed, the process returns to step S443, and the subsequent processes are repeated.
[0146]
If it is determined in step S447 that the round robin of the title has been completed, the process is terminated.
[0147]
By such processing, the program vector is associated with a match including a deviation of the broadcast start time within a predetermined range and a group ID based on the match rate of words constituting the title, and the data transmission unit 25 Is transmitted to the television receiver 4 or the EPG receiver 9 via the network 8, for example, when a program having a similar title is in the same group, the broadcast time of a special program is changed. Furthermore, it is possible to prevent programs that should be detected as being in the same group from being detected as being in the same group.
[0148]
FIG. 13 is a block diagram showing the configuration of the program recommendation processing device 10.
[0149]
The data acquisition unit 41 acquires the program vector PP transmitted from the distribution server 5 and the program-side effect vector EfPP corresponding to the program vector PP. The program vector extraction unit 42 extracts, from the program vector PP acquired by the data acquisition unit 41, a program vector PP required for matching processing or a program vector PP required for user model generation. The program-side effect vector EfPP corresponding to the program vector PP is supplied to the matching processing unit 43.
[0150]
The operation input unit 44 includes, for example, an input device such as a keyboard, a touch pad, and a mouse, and receives input of initial registration information input by a user and a topic for generating a user model, and outputs the information to the initial registration storage unit 45. I do. The initial registration storage unit 45 registers the initial registration content supplied from the operation input unit 44 and a topic for generating a user model, and supplies the topic to the operation log acquisition unit 46 or the matching processing unit 43 as necessary. I do. The contents stored in the initial registration storage unit 45 are sequentially updated based on a user operation input from the operation input unit 44. The contents to be initially registered include, for example, information indicating a program that the user does not like, such as disliked genre, disliked keyword, disliked performer, and favorite genre, favorite keyword, favorite performer, etc. There is information indicating programs that the user prefers.
[0151]
The operation log acquisition unit 46 acquires an operation log from the television display device 11 or the recording / reproducing device 12, classifies the information into a positive history and a negative history, and stores the information in the initial registration storage unit 45 as necessary. The program vector PP corresponding to the positive history and the negative history is read out of the program vectors PP acquired by the data acquisition unit 41 with reference to the information which has been acquired, and supplied to the positive history storage unit 47 and the negative history storage unit 48. And save. The main history storage unit 47 stores the supplied main history and generates a main history vector UP. The negative history storage unit 48 stores the supplied negative history and generates a negative history vector MUP. The generated positive history vector UP and negative history vector MUP are supplied to the matching processing unit 43.
[0152]
Here, the correct history is information used to extract a candidate for a program that the user intends to actively view, in other words, a preferred program. For example, the user can view the program, When the program is recorded, or when a program proposed as a recommended program list to the user by the processing described later is accepted and viewed or recorded by the user, the metadata of the program is stored as a positive impression metadata as a good history metadata. Stored in the unit 47. The main history storage unit 47 calculates the sum of the main histories for each detailed item or each large item, and generates a main history vector UP.
[0153]
On the other hand, the negative history is information used for excluding a program that the user is reluctant to watch, in other words, a program that he or she considers unfavorable from recommended programs, for example, dislikes initial registration. If the item, the program that was deleted without being watched after recording, or the program suggested as a recommended program list to the user by the processing described below was not accepted by the user and was not viewed or recorded, the program The metadata is stored in the negative history storage unit 48 as negative impression metadata. For example, if the user dislikes “sports” in the initial registration, the genre Gmup = {0,0,5,0,0,0,0,0,0} is negative with a weight of 5 as a negative impression. It is additionally stored in the history storage unit 48. The negative history storage unit 48 calculates the sum of the negative histories for each detailed item or for each large item, and generates a negative history vector MUP.
[0154]
The matching processing unit 43 verifies matching between the program vector extracted from the program vector extraction unit 42 and the positive history vector UP or the negative history vector MUP supplied from the positive history storage unit 47 or the negative history storage unit 48. I do.
[0155]
When the program vector PP, the positive history vector UP, or the negative history vector MUP is vectorized by arranging all the detailed elements in one column, the title or keyword is composed of a plurality of words. One word and an item such as a genre have the same weight in the vector. Thus, the normalization processing unit 61 of the matching processing unit 43 normalizes the title and the contents, which are the items constituted by the words, by dividing the words by the number of words for each program. For example, if the title Tm = {Tokaido-1, Mitani-1, Kaidan-1}, the title Tm = {Tokaido: 0.33, Mitani: 0.33, Kaidan: 0.33} is normalized. As a result, both the title and the content have a weight of 1 in total of the words in the item, so that no inconvenience occurs in the matching processing.
[0156]
The vector calculation unit 62 executes a matching process between the program vector PP and the positive history vector UP or the negative history vector MUP.
[0157]
When the program vector PP, the positive history vector UP, and the negative history vector MUP are represented by a vector in which all the elements of the detailed items are arranged in one column, the vector operation unit 62 , The similarity SimUP between the program vector PP and the positive history vector UP is determined by the cosine distance (cos θ) between the vector and the program vector PP, and expressed by the following equation (2). To obtain the similarity SimMUP between the program vector PP and the negative history vector MUP. The cosine distance is a value obtained by dividing the inner product of two vectors by the product of the absolute values of the vectors, as shown in Expressions (1) and (2).
[0158]
SimUP = cosθu = UP ・ PP / | UP | × | PP | ・ ・ ・ (1)
SimMUP = cosθm = MUP · PP / | MUP | × | PP | (2)
[0159]
However, in Equations (1) and (2), PP indicates the program vector PP, UP indicates the positive history vector UP, and MUP indicates the negative history vector MUP. "." Indicates an inner product, and "x" indicates multiplication of elements (scalar operation).
[0160]
Further, when the program vector PP, the positive history vector UP, and the negative history vector MUP are vectorized for each large item, the vector calculation unit 62 determines the similarity between the program vector PP and the positive history vector UP for each large item. Then, the similarity between the program vector PP and the negative history vector MUP is obtained, and the sum of the similarities is calculated for each major item, so that the similarity SimUP and the similarity SimMUP can be calculated. For example, in a large item "title" which is broken down into words, the correct history vector UP is the title Tup = {school-1, ghost story-1, toilet-1}, and the supplied program vector PP is the title Tm = {Tokaido-1, Mitani-1, Kaidan-1}, assuming that the unit vector length is 1, the vector length (absolute value) is the square root of the sum of squares of the sum of the elements. The cosine distance cosθt, which is the degree of similarity between titles, is calculated as in the following equation (3).
cosθt = (1.1) / (√3 × √3) = 1/3 ... (3)
[0161]
In the equation (3), “·” indicates a dot product, and “×” indicates a scalar operation. The degree of similarity between the program vector PP and the negative history vector MUP for each major item is also calculated by the same calculation as Expression (3).
[0162]
For example, a positive history vector UP, a positive history vector UP = {title Tup, genre Gup, performer Pup, script / original / production Aup, content (keyword) Kup} and a negative history vector MUP, a negative history vector MUP = { When the title Tmup, the genre Gmup, the performer Pmup, the script / original / directing Amup, and the content (keyword) Kmup}, the similarity is calculated for each of the major items by the same calculation as in the equation (3). Therefore, the similarity SimUP and the similarity SimMUP are both calculated as the similarity Sim of the following equation (4).
[0163]
Sim = cosθt+ cosθg+ cosθp+ cosθa+ cosθk... (4)
[0164]
Where cosθtIs the cosine distance between the program vector PP and the positive history vector UP or the negative history vector MUP in the large item “title”, and cos θgIs the cosine distance between the program vector PP and the positive history vector UP or the negative history vector MUP in the large item "genre", and cosθpIs the cosine distance between the program vector PP and the positive history vector UP or the negative history vector MUP in the large item “performers”, and cos θaIs the cosine distance between the program vector PP and the positive history vector UP or the negative history vector MUP in the major item "Screenplay / Original / Direction".kIs the cosine distance between the program vector PP and the positive history vector UP or the negative history vector MUP in the large item "content".
[0165]
When the similarity SimUP and the similarity SimMUP are calculated as the sum of the calculation results for each large item, there is no bias in the weight between items, so it is moral to perform normalization. Therefore, unlike a vector in which all elements are arranged in one column, the normalization processing by the normalization processing unit 61 need not be performed.
[0166]
That is, if a vector in which all elements are arranged in one column without normalization is used, the frequency tends to accumulate. For example, items such as titles and contents are compared with items such as broadcast stations and genres. In, the number of words increases as the history increases, but the frequency of each word does not easily increase.
[0167]
For this reason, when the total is calculated for each element using all the elements, the influence of items such as the broadcasting station and the genre, which are likely to overlap frequently, becomes large. For example, the user is a fan of the commentator A. So, if you prefer to watch “live commentary on the game of team B commented on by commentator A”, the genre “live commentary on baseball” is likely to overlap as a history, Is difficult to overlap as a history. Accordingly, a case may occur where a live broadcast of the game of the team B being commented on by another commentator is recommended and a variety program in which the commentator A appears is not recommended.
[0168]
On the other hand, by performing normalization, or by calculating the sum of the operation results for each large item as the similarity SimUP and the similarity SimMUP, without being affected by the magnitude of the history frequency, The variety program on which the commentator A appears can be recommended, and the user's preferences can be more accurately reflected.
[0169]
In addition, the vector calculation unit 62 generates the user's initial registration information stored in the initial registration storage unit 45, the program side effect vector EfPP transmitted in association with the program vector PP, or the user information registration unit 63. The similarity SimUP and the similarity SimMUP may be calculated by performing weighting using the registered and effective user side effect vector EfUP (described later) or the registered user side effect vector EfMUP (described later).
[0170]
Based on the similarity SimUP calculated by the above-described method, the vector calculation unit 62 further adds, for example, a history vector to a predetermined number (for example, 10) of programs having a high similarity with the main history vector. The similarity SimMUP with the MUP is calculated, and SimUP-SimMUP is calculated, and a predetermined number (for example, 3) of programs having higher calculation results are output to the recommended information output unit 49 as recommended programs.
[0171]
When the program vectors are grouped, the vector calculation unit 62 registers the recommended priority group in the user information registration unit 63 based on the information of the recommended program, and registers the program corresponding to the recommended priority group. , Preferentially recommend.
[0172]
Further, the vector calculation unit 62 generates a user model vector by filtering the program vector PP using the topic stored in the initial registration storage unit 45, registers the user model vector in the user information registration unit 63, and performs matching. Processing can be performed. Details of the user model will be described later.
[0173]
The user information registration unit 63 is based on the initial registration contents of the user supplied from the initial registration storage unit 45 or the positive history vector UP or the negative history vector MUP supplied from the positive history storage unit 47 or the negative history storage unit 48. Then, a user-side effect vector EfUP and a counter-effect vector EfMUP are generated and stored. The user side effect vector EfUP is, for the user, a vector indicating which element of the large items is important for the selection of the program and is an item that is weighted for the selection of the program, or , A vector indicating the user's preference in each item. The reaction vector EfMUP is a vector indicating which element of the large item is an element that is not important for the selection of the program for the user and is an item that is not weighted for the selection of the program, Alternatively, in each item, it is a vector indicating an item that the user does not like.
[0174]
In other words, the user-side effect vector EfUP and the counter-effect vector EfMUP define which item greatly contributes in matching the program vector PP with the positive history vector UP or the negative history vector MUP.
[0175]
The user-side effect vector EfUP and the counter-effect vector EfMUP may be settable by a user or may use a predetermined value. May be generated.
[0176]
Specifically, if the user-side effect vector EfUP is information indicating which element of the large items is important for the user to select a program, the program vector PP = {title Tm, genre Gm , Time zone Hm, broadcast station Sm, performer Pm, script / original / directing Am, content Km}, when the genre is important to the user, for example, the effect vector EfUP = (1,5,1,1,1) , 1,1). On the other hand, when the performer and the genre are important to the user, for example, the effect vector EfUP is set to (1, 3, 1, 1, 5, 1, 1).
[0177]
When the user side effect vector EfUP is a vector indicating the user's preference in each item, a large item genre Gm = {drama, variety, sports, movie, music, for children / education, education / documentation, news / If the genre of the program that the user considers preferable in the news report or other} is culture / document, the user effect vector EfUP is, for example, genre Gm = {0, 0, 0, 0, 0, 0, 5, 0,0}.
[0178]
Further, the user-side effect vector EfUP and the countereffect vector EfMUP may be generated based on the positive history vector UP or the negative history vector MUP, or by counting programs watched by the user during a certain period. good. Further, the user-side effect vector EfUP and the counter-effect vector EfMUP can be generated for each genre. A method of generating the user side effect vector EfUP or the counter effect vector EfMUP will be described later with reference to FIGS.
[0179]
Further, the user information registration unit 63 registers information of the recommendation priority group, a user model vector, and the like generated by the processing of the vector calculation unit 62 as necessary.
[0180]
In the matching processing unit 43 described above, from programs having a high degree of similarity to the positive history vector UP (programs that the user actively views), programs that the user does not like (user Even without performing the process of removing the program that is reluctant to view), for example, it is possible to determine the recommended program using only the main history.
[0181]
The recommended information output unit 49 registers the recommended program information supplied from the matching processing unit 43 in the recommended program list 50 and supplies the information to the television display device 11 or the recording / reproducing device 12. The recommended program list 50 is configured to be detachable from the program recommendation processing device 10, and registers the recommended program information output from the recommended program output unit 49. By storing the recommended program information in the recommended program list 50, for example, even when a different television receiver 4, the television display device 11, or the recording / reproducing device 12 is used, the history accumulated so far can be obtained. Using the information, it is possible to execute program recommendation, automatic recording, and the like.
[0182]
Further, the matching processing unit 43 is connected to the drive 51 as necessary. A magnetic disk 71, an optical disk 72, a magneto-optical disk 73, and a semiconductor memory 74 are mounted on the drive 51 as necessary, and exchange data.
[0183]
The positive history vector and negative history vector generation processing 1 executed by the program recommendation processing device 10 will be described with reference to the flowchart of FIG.
[0184]
In step S71, the operation log acquisition unit 46 supplies the initial registration contents read from the initial registration storage unit 45 to the negative history storage unit 48. The negative history storage unit 48 generates a negative history vector MUP with reference to the supplied initial registration contents.
[0185]
In step S72, the operation log obtaining unit 46 determines whether the initial registration content has been changed based on the registration content stored in the initial registration storage unit 45. If it is determined in step S72 that the initial registration content has been changed, the process returns to step S71, and the subsequent processes are repeated.
[0186]
If it is determined in step S72 that the initial registration contents have not been changed, in step S73, the operation log acquisition unit 46 determines whether an operation log has been supplied from the television display device 11 or the recording / reproducing device 12. to decide. If it is determined in step S73 that the operation log has not been supplied, the process returns to step S72, and the subsequent processes are repeated.
[0187]
When it is determined in step S73 that the operation log has been supplied, in step S74, the operation log acquisition unit 46 determines whether or not the supplied operation log is a normal history. For example, if the operation log is a recording operation, the program vector PP of the program corresponding to the operation is a normal history, and if the operation log is erasure of recorded data that has not been reproduced, the program corresponding to the operation is deleted. Is a negative history.
[0188]
If it is determined in step S74 that the supplied operation log has the correct history, in step S75, the operation log obtaining unit 46 stores the program vector PP corresponding to the operation log determined to be the correct history in the data. It is extracted from the acquisition unit 41 and supplied to the main history storage unit 47. The main history storage unit 47 additionally stores the supplied program vector PP as a main history.
[0189]
In step S76, the main history storage unit 47 obtains the sum of the vectors of the main history program vector PP for each detailed item or each large item, and generates the main history vector UP. After the process in step S76 ends, the process returns to step S72, and the subsequent processes are repeated.
[0190]
If it is determined in step S74 that the supplied operation log is not a positive history, the supplied operation log is a negative history. Therefore, in step S77, the operation log acquisition unit 46 determines that the supplied operation log is a negative history. The program vector PP corresponding to the determined operation log is extracted from the data acquisition unit 41 and supplied to the negative history storage unit 48. The negative history storage unit 48 additionally stores the supplied program vector PP as a negative history.
[0191]
In step S78, the negative history storage unit 48 calculates the sum of the vectors of the negative history program vector PP for each detailed item or for each large item, and generates a negative history vector MUP. After the end of the process in the step S78, the process returns to the step S72, and the subsequent processes are repeated.
[0192]
The major item is the main history vector UP = {title Tup, genre Gup, performer Pup, script / original / directing Aup, content (keyword) Kup}, and when detailed items are described in the major item, In the positive history vector UP, a numerical value indicating the vector sum is described after each detailed item. For example, as shown in FIG. 15, regarding the major item “genre”, the genre Gup = {(drama-25), (variety-34), (sports-42), (movie-37), (music-73). ), (For children / education-120), (education / document-3), (news / reports-5), (others-23)}, the numerical value indicating the sum of the positive history for each detailed item is described. Is done. In a vector indicated by a word, such as a major item “title”, for example, a title Tup = {(title1-12), (title2-3),. A numerical value indicating the sum of the correct histories for each word is described. In the negative history vector MUP, similarly to the positive history vector UP, a numerical value indicating the sum is described following the item.
[0193]
In FIG. 15, the major items of the positive history vector UP (and the negative history vector MUP) are the title, genre, cast, script / original / production, and content (keyword), and the program vector described with reference to FIG. Although the description has been made on the assumption that the number of items is smaller than that of the PP, it goes without saying that it may be a large item similar to the program vector PP.
[0194]
In FIG. 14, it is described that the negative history vector MUP is generated before the operation log is input, based on the contents of the initial registration. However, at the time of the initial registration, the user selects a program that he / she prefers. May be registered, and the normal history vector UP may be generated before the operation log is input. Alternatively, the positive history vector UP or the negative history vector MUP may be generated using only the operation log without generating the positive history vector UP or the negative history vector MUP based on the initial registration.
[0195]
In this way, by independently generating and holding the positive history vector UP and the negative history vector MUP, it is possible to more accurately perform the matching process with the user's preference.
[0196]
At this time, the positive history and the negative history may be determined more precisely. For example, in the processing described with reference to FIG. 14, the positive history vector UP and the negative history vector MUP are generated using the sum of the program vectors PP corresponding to the positive history and the negative history in all items. For example, the total sum of the program vectors PP corresponding to the negative history may be accumulated for each genre, and the positive history vector UP and the negative history vector MUP may be generated for each genre.
[0197]
Performers are often biased depending on the genre of the broadcasted program, so that the user's preferences may not be correctly reflected. Specifically, a user who likes a drama and prefers only those in which comedian A who hardly appears in the drama appears, and who has a variety-to-drama viewing ratio of 2: 8, performs without distinguishing the genre Performer B who frequently appears in the drama despite being not a favorite actor more frequently than the comedian A who rarely appears in the drama, May be lost. In such a case, for example, a documentary in which the performer B who frequently appears in the drama will be recommended, rather than the variety in which the comedian A appears. To prevent this, the positive history and the negative history may be accumulated for each genre, and based on this, the positive history vector UP and the negative history vector MUP may be generated for each genre.
[0198]
Further, for example, since the user is a fan of the commentator A, if the user likes to watch “live broadcast of the game of the team B explained by the commentator A”, the genre is called “sports”. Although the information is likely to overlap as a history, the information of the performer "commentator A" is unlikely to overlap as a history, so a live commentary on the game of team B being described by another commentator is recommended, and commentator A There is a case where a variety program in which is appeared is not recommended. To prevent this, for example, a positive history and a negative history may be accumulated for each performer, and based on this, a positive history vector UP and a negative history vector MUP may be generated for each performer.
[0199]
In this way, by accumulating the history for each specific element, it is possible to more precisely reflect the user's preferences without dulling the user's preferences.
[0200]
Then, the matching processing unit 43 verifies the matching between the positive history vector UP and the negative history vector MUP thus generated and the supplied program vector PP, thereby recommending recommended program information that correctly reflects the user's preference. Can be generated.
[0201]
Next, the positive history vector and negative history vector generation processing 2 in which histories are accumulated for each genre will be described with reference to the flowchart of FIG.
[0202]
In steps S81 to S84, the same processing as in steps S71 to S74 in FIG. 14 is performed. That is, the initial registration is referred to, a negative history vector MUP is generated, and it is determined whether or not the initial registration content has been changed. If the initial registration content has not been changed, whether or not the supplied operation log has the correct history is determined. Is determined.
[0203]
If it is determined in step S84 that the supplied operation log has the correct history, in step S85, the operation log acquisition unit 46 acquires the program vector PP corresponding to the operation log determined to be the correct history. Extracted from the section 41 and supplied to the main history storage section 47. The correct history storage unit 47 extracts the genre of the supplied program vector PP.
[0204]
In step S86, the main history storage unit 47 additionally stores the program vector PP extracted from the data acquisition unit 41 as a main history for each genre.
[0205]
In step S87, the main history storage unit 47 obtains the sum total of the main history program vectors PP in the genre in which the program vector is additionally stored for each detailed item or each large item, and Generate the positive history vector UP. After the processing in step S87 ends, the processing returns to step S82, and the subsequent processing is repeated.
[0206]
If it is determined in step S84 that the supplied operation log is not a positive history, the supplied operation log is a negative history. Therefore, in step S88, the operation log acquisition unit 46 determines that the supplied operation log is a negative history. The program vector PP corresponding to the operation log is extracted from the data acquisition unit 41 and supplied to the negative history storage unit 48. The negative history storage unit 48 extracts the genre of the supplied program vector PP.
[0207]
In step S89, the negative history storage unit 48 additionally stores the program vector PP extracted from the data acquisition unit 41 as a negative history for each genre.
[0208]
In step S90, the negative history storage unit 48 obtains the sum total of the negative history program vectors PP in the genre in which the program vector is additionally stored for each detailed item or for each large item, and Generate a negative history vector MUP. After the processing in step S90 ends, the processing returns to step S82, and the subsequent processing is repeated.
[0209]
By such processing, the positive history vector UP and the negative history vector MUP are generated for each genre, so that it is possible to more accurately reflect the user's preferences without dulling the user's preferences, It is possible to generate recommended program information that is correctly reflected.
[0210]
With reference to the flowchart of FIG. 17, a description will be given of the matching process 1 when the program vector PP, the positive history vector UP, and the negative history vector MUP are represented by a vector in which all the elements of the detailed items are arranged in one column. .
[0211]
In step S101, the program vector extraction unit 42 extracts the program vectors PP of a plurality of programs (for example, programs broadcasted in a predetermined time zone) from the data acquisition unit 41, and normalizes the program vectors PP of the matching processing unit 43. To supply. The normalization processing unit 61 normalizes the supplied program vector PP and the titles and contents composed of words among the components of the main history vector UP read from the main history storage unit 47, and The result of the normalization is supplied to the calculation unit 62.
[0212]
Specifically, if the supplied program vector PP is, for example, the title Tm = {Tokaido-1, Mitani-1, Kaidan-1}, the title Tm = {Tokaido: 0. 33, Mitani: 0.33, Kaidan: 0.33}, and normalize the program so that the total weight of words in the item is 1 for each program.
[0213]
In step S102, the vector calculation unit 62 of the matching processing unit 43 calculates the similarity SimUP, which is the cosine distance between the program vector PP of a plurality of programs and the positive history vector UP, using the above-described equation (1).
[0214]
In step S103, the vector calculation unit 62 compares the similarity SimUP indicating the similarity between the program vector PP and the main history vector UP calculated in step S102, and from the highest similarity, a predetermined value such as 10, for example. Are extracted as many as the program vector PP.
[0215]
In step S104, the vector calculation unit 62 calculates the similarity SimMUP, which is the cosine distance between the program vector PP extracted in step S103 and the negative history vector MUP read from the negative history storage unit 48, using the above-described equation (2). Is calculated using
[0216]
In step S105, the vector calculation unit 62 calculates the similarity (ie, the cosine distance) SimMUP with the positive history vector UP−the similarity (ie, the cosine distance) SimMUP with the negative history vector, and sets a higher rank, the predetermined value. A program vector or EPG data of a number (for example, one) of programs is extracted as recommendation information, output to the recommendation information output unit 49, registered in the recommended program list 50, and the television display device 11 and the recording / reproducing device. 12 and the process ends.
[0217]
By such processing, when the program vector PP, the positive history vector UP, and the negative history vector MUP are represented by a vector in which all the elements of the detailed items are arranged in one column, the program vector PP and the positive history vector UP , And the similarity between the program vector PP and the negative history vector, it is possible to determine a recommended program that matches the user's preference.
[0218]
Next, referring to the flowchart of FIG. 18, instead of normalizing the item indicated by the word, the cosine distance is calculated for each large item, and the sum thereof is calculated as the similarity SimUP and the similarity SimMUP. The following describes a matching process 2 for determining a recommended program.
[0219]
In step S111, the program vector extraction unit 42 extracts a program vector PP of a plurality of programs (for example, a program broadcasted in a predetermined time zone) from the data acquisition unit 41 and sends the program vector PP to the vector calculation unit 62 of the matching processing unit 43. Supply. The vector calculation unit 62 calculates the cosine distance between the program vector PP and the main history vector UP for each of the large items of the supplied program vector PP and the main history vector UP read from the main history storage unit 47.
[0220]
In step S112, the vector calculation unit 62 sums the values of the cosine distance calculated for each item in step S111 using the above-described equation (4), and calculates the similarity SimUP.
[0221]
In step S113, the vector calculation unit 62 compares the similarity SimUP between the program vector PP and the normal history vector UP calculated in step S112, and determines a predetermined number of programs such as 10 from the highest similarity. Extract the vector PP.
[0222]
In step S114, the vector calculation unit 62 determines the program vector PP and the negative history vector MUP for each of the large items of the program vector PP extracted by the process of step S113 and the negative history vector MUP read from the negative history storage unit 48. Is calculated.
[0223]
In step S115, the vector calculation unit 62 calculates the similarity SimMUP by summing the values of the cosine distance calculated for each item in step S114 using Expression (4) described above.
[0224]
In step S116, the vector calculation unit 62 calculates {similarity SimUP which is a cosine distance between the program vector PP and the positive history vector UP} − {similarity SimMUP} which is a cosine distance between the program vector PP and the negative history vector. Then, program vectors PP or EPG data of a predetermined number (for example, three) of higher-ranked programs are extracted as recommendation information, output to the recommendation information output unit 49, registered in the recommended program list 50, and The data is output to the display device 11 and the recording / reproducing device 12, and the process ends.
[0225]
By such processing, the sum of the calculation results is calculated as the similarity SimUP and the similarity SimMUP for each large item without normalizing the item indicated by the word. A recommendation that matches the user's preference based on the similarity between the program vector PP and the positive history vector UP and the similarity between the program vector PP and the negative history vector MUP without being affected by the bias of the history overlap. A program can be determined.
[0226]
In the matching process 1 and the matching process 2 described with reference to FIGS. 17 and 18, from programs having a high degree of similarity to the user's positive history vector UP, programs that the user does not like using the negative history are used. Although it has been described that the program can be removed, for example, the recommended program may be determined using only the main history.
[0227]
In addition, some users prefer news and news programs in selecting a program, or performers are more important than genres, and they do not care about performers, but the content is important. In some cases, items that are weighted to select the item and items that are not weighted, in other words, important items and items that are not are fixed.
[0228]
Therefore, the matching process may be performed using the above-described program side effect vector EfPP, user side effect vector EfUP, or user side effect vector EfMUP. Whether to use the program side effect vector EfPP, the user side effect vector EfUP, or the user side effect vector EfMUP may be set by the user.
[0229]
Next, referring to the flowchart of FIG. 19, when the program vector PP, the positive history vector UP, and the negative history vector MUP are represented by a vector in which all the elements of the detailed items are arranged in one column, In the following, a description will be given of a matching process 3 in which the matching process is performed using the program side effect vector EfPP or the user side effect vector EfUP.
[0230]
In step S121, the vector operation unit 62 inputs the program side effect vector EfPP and the user side effect vector EfUP or the user side reaction effect vector EfMUP input by the user using the operation input unit 44 and registered in the initial registration storage unit 45. Get the usage setting contents of. The effect vector usage setting content is information indicating whether or not weighting is performed using the program side effect vector EfPP, the user side effect vector EfUP or the user side effect vector EfMUP in the matching process.
[0231]
In step S122, the vector calculation unit 62 reads the user-side effect vector EfUP from the user information registration unit 63 as necessary, and uses the following equation (5) to cosine the program vector PP and the positive history vector UP. The distance is calculated and set as the similarity SimUP.
[0232]
(Equation 1)
Figure 2004192461
[0233]
In equation (5), the program vector PP = (p1, PTwo, ...), the positive history vector UP = (u1, UTwo, ...), the program side effect vector EfPP = (epd1, EpdTwo,...), The user-side effect vector EfUP = (eud1, EudTwo, ...). In addition, in the equation (5), both the program side effect vector EfPP and the user side effect vector EfUP are described. However, depending on the setting, the program side effect vector EfPP and the user side effect vector EfUP are used. Is not used, the numerical value “1” is substituted for the vector not used and calculated.
[0234]
Further, the user side effect vector EfUP may be set by the user, may be set based on the user's initial setting, or may be generated in the user information registration unit 63. good. Details of generation of the user-side effect vector EfUP will be described later with reference to FIGS.
[0235]
In step S123, the vector calculation unit 62 compares the similarity SimUP between the program vector PP and the main history vector UP calculated in step S122, and determines a predetermined number of programs such as 10 from the highest similarity. Extract the vector PP.
[0236]
In step S124, the vector calculation unit 62 reads the user side reaction vector EfMUP from the user information registration unit 63 as necessary, and uses the following equation (6) to extract the program vector PP extracted in step S123. And the cosine distance of the negative history vector MUP.
[0237]
(Equation 2)
Figure 2004192461
[0238]
In equation (6), the program vector PP = (p1, PTwo, ...), the negative history vector MUP = (m1, MTwo, ...), the program side effect vector EfPP = (epd1, EpdTwo,...), The user side reaction vector EfMUP = (emd1, EmdTwo, ...). In addition, in equation (6), both the program side effect vector EfPP and the user side effect vector EfMUP are described. However, depending on the setting, the program side effect vector EfPP and the user side effect vector EfMUP are used. If any of is not used, the numerical value “1” is substituted for the unused vector and calculated.
[0239]
The user-side effect vector EfMUP may be set by the user, may be set based on the user's initial setting, or may be generated by the user information registration unit 63. Is also good. Details of generation of the user-side reaction vector EfMUP will be described later with reference to FIG. 26 or FIG.
[0240]
In step S125, the vector calculation unit 62 calculates the similarity SimUP between the program vector PP and the positive history vector UP-the similarity SimMUP between the program vector PP and the negative history vector, and a predetermined number (for example, three The program vector PP or EPG data of the program is extracted as recommendation information, output to the recommendation information output unit 49, registered in the recommended program list 50, and output to the television display device 11 and the recording / reproducing device 12. , The process ends.
[0241]
According to such processing, the recommendation information is extracted using the program side effect vector EfPP, the user side effect vector EfUP, or the user side effect vector EfMUP according to the setting, so that the user's preference is correctly reflected. The recommended program can be recommended.
[0242]
In the processing described with reference to FIG. 19, the processing when the program vector PP, the positive history vector UP, and the negative history vector MUP are represented by a vector in which all the elements of the detailed items are arranged in one column has been described. The program vector PP, the positive history vector UP, and the negative history vector MUP may be calculated for each large item.
[0243]
Next, referring to the flowchart of FIG. 20, a matching process 4 in which a program-side effect vector EfPP, a user-side effect vector EfUP, or a user-side countereffect vector EfMUP can be reflected for each large item. Will be described.
[0244]
In step S131, the same processing as in step S121 in FIG. 19 is performed, and the usage setting content of the effect vector is obtained.
[0245]
In step S132, the vector calculation unit 62 calculates the cosine distance between the program vector PP and the main history vector UP for each of the large items of the supplied program vector PP and the main history vector UP read from the main history storage unit 47. I do. Here, the effect vector is not used for the calculation.
[0246]
In step S133, the vector calculation unit 62 multiplies the cosine distance calculated for each item by the effect vector as necessary using the following equation (7), sums the obtained values, Calculate the degree SimUP.
[0247]
SimUP = epdt・ Eudt・ Cosθut+ epdg・ Eudg・ Cosθug+ epdp・ Eudp・ Cosθup
+ epda・ Euda・ Cosθua+ epdk・ Eudk・ Cosθuk... (7)
[0248]
In equation (7), the program vector PP = (pt, Pg, Pp, Pa, Pk) And the positive history vector UP = (ut, Ug, Up, Ua, Uk) And the cosine distance of each major item is (cosθut, Cosθug, Cosθup , Cosθua, Cosθuk), And the program side effect vector EfPP = (epdt, Epdg, Epdp, Epda, Epdk), User side effect vector EfUP = (eudt, Eudg, Eudp, Euda, Eudk). In addition, in the equation (7), both the program side effect vector EfPP and the user side effect vector EfUP are described. However, depending on the setting, the program side effect vector EfPP and the user side effect vector EfUP are used. Is not used, the numerical value “1” is substituted for the vector not used and calculated.
[0249]
In step S134, the vector calculation unit 62 compares the similarity SimUP between the program vector PP and the normal history vector UP calculated in step S133, and determines a predetermined number of programs such as 10 from the highest similarity. Extract the vector PP.
[0250]
In step S135, the vector calculation unit 62 determines the program vector PP and the negative history vector MUP for each of the large items of the program vector PP extracted by the process of step S134 and the negative history vector MUP read from the negative history storage unit 48. Is calculated. Here, the effect vector is not used for the calculation.
[0251]
In step S136, the vector calculation unit 62 multiplies the cosine distance calculated for each item by an effect vector as necessary using the following equation (8), sums the obtained values, Calculate the degree SimMUP.
[0252]
SimMUP = epdt・ Emdt・ Cosθmt+ epdg・ Emdg・ Cosθmg+ epdp・ Emdp・ Cosθmp
+ epda・ Emda・ Cosθma+ epdk・ Emdk・ Cosθmk... (8)
[0253]
In equation (8), the program vector PP = (pt, Pg, Pp, Pa, Pk) And negative history vector UP = (mt, Mg, Mp, Ma, Mk) And the cosine distance of each major item is (cosθmt, Cosθmg, Cosθmp , Cosθma, Cosθmk), And the program side effect vector EfPP = (epdt, Epdg, Epdp, Epda, Epdk,), User side reaction vector EfMUP = (emdt, Emdg, Emdp, Emda, Emdk). Further, in the equation (8), both the program side effect vector EfPP and the user side effect vector EfMUP have been described. However, depending on the setting, the program side effect vector EfPP and the user side effect vector EfMUP If any of is not used, the numerical value “1” is substituted for the unused vector and calculated.
[0254]
In step S137, the vector calculation unit 62 calculates {similarity SimUP which is a cosine distance between the program vector PP and the positive history vector UP}-{similarity SimMUP} which is a cosine distance between the program vector PP and the negative history vector. Then, program vectors PP or EPG data of a predetermined number (for example, three) of higher-ranked programs are extracted as recommendation information, output to the recommendation information output unit 49, registered in the recommended program list 50, and The data is output to the display device 11 and the recording / reproducing device 12, and the process ends.
[0255]
By such processing, the weighting is performed using the effect vector for each large item, so that it is possible to generate recommendation information that matches the user's preference in detail.
[0256]
Next, with reference to the flowchart of FIG. 21, the positive history vector UP and the negative history vector MUP for each genre generated by the processing of the positive history vector and the negative history vector generation processing 2 described with reference to FIG. The matching process 5 for executing the matching process using the genre-specific user side effect vector EfUP and the user side countereffect vector EfMUP will be described.
[0257]
In step S141, the same processing as in step S121 in FIG. 19 is executed, and the usage setting contents of the effect vector are obtained.
[0258]
In step S142, the vector calculation unit 62 extracts the genre of the supplied program vector PP. Here, for example, it is assumed that the genre of the supplied program vector PP is “drama”.
[0259]
In step S143, the vector calculation unit 62 determines the program vector PP and the positive vector of the supplied program vector PP and the major items of the primary history vector UP read from the primary history storage unit 47 and corresponding to the genre “drama”. Calculate the cosine distance of the history vector UP. Here, the effect vector is not used for the calculation.
[0260]
In step S144, the vector calculation unit 62 multiplies the cosine distance calculated for each item by the user-side effect vector corresponding to the genre “drama” as necessary using the following equation (9). The obtained values are summed to calculate the similarity SimUP.
[0261]
SimUP = epdt・ Eudtd・ Cosθutd+ epdg・ Eudgd・ Cosθugd+ epdp・ Eudpd・ Cosθupd+ epda・ Eudad・ Cosθuad+ epdk・ Eudkd・ Cosθukd... (9)
[0262]
In equation (9), the program vector PP = (pt, Pg, Pp, Pa, Pk) And the positive history vector UP = (u) corresponding to the genre “drama”t, Ug, Up, Ua, Uk) And the cosine distance of each major item is (cosθutd, Cosθugd, Cosθupd , Cosθuad, Cosθukd), And the program side effect vector EfPP = (epdt, Epdg, Epdp, Epda, Epdk), User side effect vector EfUP corresponding to the genre “drama” = (eudtd, Eudgd, Eudpd, Eudad, Eudkd). In addition, in the equation (9), both the program side effect vector EfPP and the user side effect vector EfUP are described. However, depending on the setting, the program side effect vector EfPP and the user side effect vector EfUP are used. Is not used, the numerical value “1” is substituted for the vector not used and calculated.
[0263]
In step S145, the vector calculation unit 62 compares the similarity SimUP between the program vector PP and the normal history vector UP calculated in step S143, and determines a predetermined number of programs such as 10 from the highest similarity. Extract the vector PP.
[0264]
In step S146, the vector calculation unit 62 determines whether the program vector PP extracted by the processing in step S145 and the negative history vector MUP corresponding to the genre “drama” read from the negative history storage unit 48 have the program Calculate the cosine distance between the vector PP and the negative history vector MUP. Here, the effect vector is not used for the calculation.
[0265]
In step S147, the vector operation unit 62 multiplies the cosine distance calculated for each item by the effect vector corresponding to the genre “drama” as necessary using the following equation (10), and The similarity SimMUP is calculated by summing the calculated values.
[0266]
SimMUP = epdt・ Emdtd・ Cosθmtd+ epdg・ Emdgd・ Cosθmgd+ epdp・ Emdpd・ Cosθmpd+ epda・ Emdad・ Cosθmad+ epdk・ Emdkd・ Cosθmkd... (10)
[0267]
In equation (10), the program vector PP = (pt, Pg, Pp, Pa, Pk) And the negative history vector MUP = (mt, Mg, Mp, Ma, Mk) And the cosine distance of each major item is (cosθmtd, Cosθmgd, Cosθmpd , Cosθmad, Cosθmkd), And the program side effect vector EfPP = (epdt, Epdg, Epdp, Epda, Epdk), The user side reaction vector EfMUP corresponding to the genre "drama" = (emdtd, Emdgd, Emdpd, Emdad, Emdkd). Further, in the equation (10), both the program side effect vector EfPP and the user side effect vector EfMUP are described. However, depending on the setting, the program side effect vector EfPP and the user side effect vector EfMUP are used. If any of is not used, the numerical value "1" is substituted for the vector not used and calculated.
[0268]
In step S148, the vector calculation unit 62 calculates {similarity SimUP, which is the cosine distance between the program vector PP and the positive history vector UP}-{similarity SimMUP, which is the cosine distance between the program vector PP and the negative history vector}. Then, program vectors PP or EPG data of a predetermined number (for example, three) of higher-ranked programs are extracted as recommendation information, output to the recommendation information output unit 49, registered in the recommended program list 50, and The data is output to the display device 11 and the recording / reproducing device 12, and the process ends.
[0269]
By such processing, the cosine distance between the positive history vector UP and the negative history vector MUP and the program vector PP for each genre is obtained for each large item, and weighting is performed using the effect vector corresponding to the genre. Since the similarity is calculated, it is possible to generate recommendation information that matches the user's preference in detail.
[0270]
As described above, the user-side effect vector EfUP and the counter-effect vector EfMUP may be generated based on the initial registration contents of the user registered in the initial registration storage unit 45, The user-side effect vector EfUP and the countereffect vector EfMUP unique to the user may be generated by counting the vector UP or the negative history vector MUP, or the programs watched by the user during a certain period.
[0271]
The user-side effect vector generation processing 1 for generating the user-side effect vector EfUP by counting the programs watched by the user during a certain period will be described with reference to the flowchart of FIG.
[0272]
In step S151, the user information registration unit 63 of the matching processing unit 43 selects one of the unprocessed large items.
[0273]
In step S152, the user information registration unit 63 refers to the main history stored in the main history storage unit 47, and refers to the program viewed by the user during a certain period such as one week, one month, or three months. And causes the program vector extraction unit 42 to extract, from the data acquisition unit 41, the program vector PP corresponding to the program watched by the user during the certain period, and to output the detailed program included in the large items selected in step S151. Count the number of programs.
[0274]
Specifically, for example, the large item selected in step S151 is a large item genre Gm = {drama, variety, sports, movie, music, children / education, education / documentation, news / report, etc.}. For example, the user information registration unit 63 classifies the components of the program vector PP of the program watched by the user during a certain period into items corresponding to each, and counts them. If the number of programs viewed by the user during a certain period is, for example, 50, the count result of the number of programs is, for example, genre Gm = (10, 18, 5, 2, 8, 1, 0, 1, 5, 5). ).
[0275]
In step S153, the user information registration unit 63 causes the program vector extraction unit 42 to extract the program vectors PP corresponding to all programs in the same period from the data acquisition unit 41, and includes the program vectors PP in the large item selected in step S151. The number of programs is counted for each detailed item.
[0276]
Specifically, for example, the large item selected in step S151 is a large item genre Gm = {drama, variety, sports, movie, music, children / education, education / documentation, news / report, etc.}. For example, the user information registration unit 63 classifies the components of the program vector PP of all programs in the same period into items corresponding to each, and counts them. If all programs in the same period are, for example, 1000 programs, the count result of the number of programs is, for example, genre Gm = (104, 239, 68, 25, 78, 91, 60, 254, 81). .
[0277]
In step S154, the user information registration unit 63 calculates the count of the user's viewing performance / the count of all programs based on the count results of steps S152 and S153.
[0278]
It is considered that the programming reflects the public preference due to the influence of audience competition. That is, the calculation of the count of the user's viewing results / the count of all programs is, in other words, synonymous with normalizing the count of the user's viewing results by the count of all programs as a standard model. . The normalized vector calculated in step S154 is referred to as a normalized vector D.
[0279]
For example, in the major item genre Gm = {drama, variety, sports, movie, music, children / education, culture / documentation, news / reporting, etc.}, the count number of all programs in one week is (8, 12, 3, 7, 6, 4, 2, 8, 10), and the count number of the program viewed by the user is (4, 0, 1, 2, 3, 4, 5, 5, 2). In this case, the normalized vector D is as follows.
D = (4/8, 0/12, 1/3, 2/7, 3/6, 4/4,
1/2, 2/8, 2/10)
= (0.5,0,0.33,0.28,0.5,1.0,
0.5, 0.13, 0.2)
That is, when the component of the normalized vector D is 1.0, all the programs of the corresponding item have been viewed during the set period, and when the component of the normalized vector D is 0, This means that no corresponding program was viewed during the set period.
[0280]
In step S155, the user information registration unit 63 generates an effect vector of the corresponding large item based on the calculation result of step S154.
[0281]
In order to generate an effect vector, using any one of the major item genre Gm = {drama, variety, sports, movie, music, children / education, culture / documentation, news / reporting, etc.} Set the standard value. For example, in a week of the program of the genre: “drama”, it is assumed that a general user views about 20% of the program, and the standard value may be set to 0.2. Since the effect vector of the large item is calculated as a relative value, the set value may be any value from 0 to 1. The user-side effect vector is a relative value between the normalized vector D calculated in step S154 and the set value.
[0282]
Therefore, the effect vector E of the large item genre Gm, which indicates the user's genre of interest, is
E = (0.3, -0.2, 0.13, 0.08, 0.3,
0.8, 0.3, -0.07, 0.0)
Therefore, it can be determined that the corresponding user likes the genre of “for children / education” and does not like the genre of “variety”.
[0283]
In step S156, the user information registration unit 63 determines whether the effect vectors of all large items have been generated. If it is determined in step S156 that the effect vectors of all large items have not been generated, the process returns to step S151, and the subsequent processes are repeated.
[0284]
If it is determined in step S156 that the effect vectors of all large items have been generated, in step S157, the user information registration unit 63 stores the effect vectors of all large items, and the process ends.
[0285]
Through such processing, a difference between general preferences and preferences unique to the user can be obtained. In addition, by re-calculating the user-side effect vector EfUP every predetermined period, for example, three months or half a year, it is possible to recommend a program reflecting the user's preferences in real time.
[0286]
Further, in the processing of FIG. 22, for example, it has been described that the user side effect vector EfUP is obtained based on a program watched by the user during a certain period such as one week, one month, or three months. For example, the user-side effect vector EfUP corresponding to the short-term, middle-term, and long-term may be calculated, and the recommendation information may be determined using the plurality of effect vectors.
[0287]
Here, the case where the user-specific preference is used as the user-side effect vector EfUP has been described, but the user-specific preference may be used as the normal history vector UP in the matching process.
[0288]
Also, instead of all programs being broadcast, all programs broadcast in a predetermined time zone (for example, so-called golden time from 18:00 to 22:00) in which the viewer views the program most are counted. You may. By doing so, it is possible to greatly reduce the number of calculation processes for obtaining general preferences.
[0289]
Next, with reference to the flowchart of FIG. 23, the difference between the user-specific preference and the public preference is used for matching by calculating a cosine distance indicating the similarity between the positive history vector UP and the public preference. User-side effect vector calculation processing 2 for obtaining the user-side effect vector EfUP for this purpose will be described.
[0290]
In step S161, the user information registration unit 63 of the matching processing unit 43 acquires the main history vector UP stored in the main history storage unit 47.
[0291]
In step S162, the user information registration unit 63 acquires a standard preference vector APP indicating a general preference.
[0292]
The standard preference vector APP may be supplied from the distribution server 5, or the programming is considered to reflect the preference of the general public due to the influence of the audience rating competition. In the same manner as the user-side effect vector calculation process 1 described above, the contents of all programs broadcast in a certain period may be counted, and if necessary, may be normalized to obtain a standard preference vector APP.
[0293]
The distribution server 5 may generate the standard preference vector APP indicating the general preference using, for example, a general audience rating survey or another method.
[0294]
In step S163, the user information registration unit 63 calculates a cosine distance between the standard preference vector APP and the normal history vector UP for each large item. The larger the cosine distance, the higher the similarity between the standard preference vector APP and the normal history vector UP.
[0295]
In step S164, based on the cosine distance calculated in step S163, the user information registration unit 63 generates an effect vector EfUP by setting the cosine distance to the reciprocal for each large item, and the process ends. The larger the reciprocal of the cosine distance, the lower the similarity between the standard preference vector APP and the normal history vector UP.
[0296]
Through such processing, the user-side effect vector EfUP that reflects the difference between the general preference and the corresponding user-specific preference can be obtained. When the program recommendation process is performed using the user side effect vector EfUP, the difference between the user's preference and the general preference is emphasized, and the recommended program is determined.
[0297]
Here, the program vector PP and the main history vector UP have been described as being represented by vectors for each major item. However, the program vector PP and the main history vector UP have one It is needless to say that the same processing can be executed even in the case of being represented by vectors arranged in columns.
[0298]
In addition, the similarity between the standard preference vector APP and the normal history vector UP may be used not only to calculate the effect vector, but also as an index indicating the uniqueness of the user directly to recommend a program. . For example, when the degree of similarity between the standard preference vector APP and the normal history vector UP is high, a new program or the like that is popular with the general public may be preferentially recommended.
[0299]
As described with reference to FIGS. 22 and 23, it is preferable that the user-side effect vector EfUP be obtained by learning based on the operation history of the user, but the user-side effect vector is registered in advance as initial registration. May be used, or a preset value obtained by experience or the like may be used.
[0300]
It should be noted that the user-side effect vector EfUP may be generated not only by generating the user-side effect vector EfUP by paying attention to the large item but also by paying attention to the constituent elements constituting the large item. For example, in the constituent element “Performer Pm” constituting the major item, the leading role and the supporting role can be distinguished, and in a drama or a movie, a user who gives priority to the casting of the supporting role over the leading role is assigned to the leading role by the supporting role The user side effect vector EfUP can be set so as to increase the weighting, and the director, director, original creator, photographer, etc. can be distinguished in the component "Screenplay / Original / Direction Am" that constitutes a major item. Alternatively, a user who attaches importance to a photographer rather than a director or a director may set the user-side effect vector EfUP so as to increase the weight of the photographer.
[0301]
In addition, the user-side effect vector EfUP is generated for each genre, and is used when matching the correct history vector UP and the program vector PP of the corresponding genre, as in the matching process 5 described with reference to FIG. May be.
[0302]
Next, a user-side effect vector generation process 3 for generating a user-side effect vector EfUP by counting programs watched by the user during a certain period by genre will be described with reference to the flowchart of FIG.
[0303]
In step S171, the user information registration unit 63 of the matching processing unit 43 selects one of the genres in order to count the programs watched by the user during a certain period by genre.
[0304]
In step S172, the user information registration unit 63 selects one of the unprocessed large items.
[0305]
In step S173, the user information registration unit 63 refers to the main history stored in the main history storage unit 47, and refers to the program viewed by the user during a certain period, such as one week, one month, or three months. Of the selected genre, the program vector extracting unit 42 extracts, from the data acquiring unit 41, the program vector PP corresponding to the program of the selected genre, from those watched by the user during a certain period. Then, the number of programs is counted for each detailed item included in the large item selected in step S172.
[0306]
In step S174, the user information registration unit 63 causes the program vector extraction unit 42 to extract the program vector PP corresponding to the selected genre from the data acquisition unit 41 among all programs in the same period. The number of programs is counted for each detailed item included in the selected large item.
[0307]
In step S175, the user information registration unit 63 calculates the count of the user's viewing performance / the count of all programs in the selected genre based on the count results in steps S173 and S174.
[0308]
As described above, it is considered that the programming reflects the public preference due to the influence of audience rating competition. That is, the calculation of the count of the user's viewing performance / the count of all programs in the selected genre is, in other words, the count of the user's viewing performance in the corresponding genre is calculated as the standard model's corresponding genre. This is synonymous with normalizing by the count number of all programs. The normalized vector calculated in step S175 is referred to as a normalized vector D '.
[0309]
For example, the large item genre Gm = {drama, variety, sports, movie, music, children / education, culture / documentation, news / reporting, etc.} In the item time zone Tm = {morning, noon, evening, golden, midnight}, the count number of all programs in one week is (10, 35, 7, 53, 17), and the When the count number is (5, 0, 0, 8, 4), the normalized vector D 'is as follows.
D '= (5/10, 0/35, 0/7, 8/53, 4/17)
= (0.5,0,0,0.28,0.15,0.24)
That is, if the component of the normalized vector D 'is 1.0, it means that all programs of the corresponding item have been watched during the set period, and the component of the normalized vector D' is 0. In the case of, it means that no corresponding program was viewed during the set period.
[0310]
In step S176, the user information registration unit 63 generates an effect vector of the corresponding large item in the selected genre based on the calculation result in step S175.
[0311]
In order to generate an effect vector, a standard value is set using one of the items of the large item time zone Tm = {morning, noon, evening, golden, midnight}. For example, in a week of the program “time period:“ Golden ”, it is assumed that a general user watches about 20% of the drama, and the standard value may be set to 0.2. Since the effect vector of the large item is calculated as a relative value, the set value may be any value from 0 to 1. The user-side effect vector is a relative value between the normalization vector D ′ calculated in step S175 and the set value.
[0312]
Therefore, the effect vector E ′ of the large item genre Gm indicating the user's genre of interest is
E '= (0.3, -0.2, -0.2, -0.05, 0.04)
Therefore, it can be determined that the corresponding user likes the drama in the morning time zone and does not like the drama in the daytime or the evening time zone.
[0313]
In step S177, the user information registration unit 63 determines whether or not the effect vectors of all the large items have been generated in the selected genre. If it is determined in step S177 that the effect vectors of all the large items have not been generated, the process returns to step S172, and the subsequent processes are repeated.
[0314]
When it is determined in step S177 that the effect vectors of all large items have been generated, in step S178, the user information registration unit 63 determines whether or not the processing of all genres has been completed. If it is determined in step S178 that not all genres have been completed, the process returns to step S171, and the subsequent processes are repeated.
[0315]
If it is determined in step S178 that all genres have been completed, in step S179, the user information registration unit 63 stores the effect vectors of all large items, and the process ends.
[0316]
By such a process, a difference between a general preference and a user-specific preference can be obtained for each genre. Further, in the same manner as described with reference to FIG. 22, the user-side effect vector EfUP is recalculated every predetermined period, for example, three months, six months, etc. The reflected program can be recommended.
[0317]
Also, in the processing of FIG. 24, for example, the user side effect vector EfUP is determined based on the program watched by the user during a certain period such as one week, one month, or three months. In the same manner as described above, for a plurality of periods, for example, a short-term, middle-term, and long-term effect vector EfUP corresponding to a long term is calculated, and the recommendation information is determined using the plurality of effect vectors. You may do it.
[0318]
Also in the processing of FIG. 24, instead of all the programs being broadcast, the programs are broadcast in a predetermined time zone (for example, so-called golden time from 18:00 to 22:00) when the viewer views the program most. All programs may be counted.
[0319]
Next, with reference to the flowchart of FIG. 25, the calculation of the cosine distance indicating the similarity between the normal history vector UP and the public preference is performed for each genre, so that the user-specific preference and the public preference are compared. The user-side effect vector generation processing 4 for obtaining the user-side effect vector EfUP for using the gap for matching will be described.
[0320]
In step S191, the user information registration unit 63 of the matching processing unit 43 selects one of the genres to specify the genre in which the processing is performed.
[0321]
In step S192, the user information registration unit 63 acquires the correct history vector UP of the selected genre from the correct history vectors UP stored in the correct history storage unit 47.
[0322]
In step S193, the user information registration unit 63 acquires the standard preference vector APP of the selected genre from the standard preference vectors APP indicating general preferences.
[0323]
As described above, the standard preference vector APP may be supplied from the distribution server 5, or the program composition is considered to reflect the public preference due to the influence of audience rating competition. In the same manner as the user-side effect vector calculation processing 3 described with reference to FIG. 24, the contents of all programs broadcasted in a certain period are counted by genre, normalized as necessary, and used as a genre-specific standard preference vector APP. You may do it.
[0324]
The distribution server 5 may generate a standard preference vector APP indicating a general preference for each genre using, for example, a general audience rating survey or another method.
[0325]
In step S194, the user information registration unit 63 uses the main history vector UP of the selected genre and the standard preference vector APP of the selected genre, and for each major item, the standard preference vector APP and the main history vector UP. Calculate the cosine distance between The larger the cosine distance, the higher the similarity between the standard preference vector APP and the normal history vector UP.
[0326]
In step S195, based on the cosine distance calculated in step S194, the user information registration unit 63 generates an effect vector EfUP of the selected genre for each of the large items by reversing the cosine distance. The larger the reciprocal of the cosine distance, the lower the similarity between the standard preference vector APP and the normal history vector UP.
[0327]
In step S196, the user information registration unit 63 determines whether or not processing for all genres has been completed. If it is determined in step S178 that not all genres have been completed, the process returns to step S191, and the subsequent processes are repeated. If it is determined in step S196 that all genres have been completed, the process is terminated.
[0328]
Through such processing, the user-side effect vector EfUP for each genre, which reflects the difference between the general preference and the corresponding user-specific preference, can be obtained.
[0329]
Further, in the same manner as the processing described with reference to FIG. 23, the similarity between the standard preference vector APP and the negative history vector MUP may be obtained, and the reciprocal thereof may be calculated as the counter effect vector EfMUP.
[0330]
Next, a user-side counter-effect vector calculation process 1 for obtaining a counter-effect vector EfMUP by comparing the negative history vector MUP with the public preference will be described with reference to the flowchart of FIG.
[0331]
In step S201, the user information registration unit 63 of the matching processing unit 43 acquires the negative history vector MUP stored in the negative history storage unit 48.
[0332]
In step S202, the user information registration unit 63 acquires a standard preference vector APP indicating a general preference.
[0333]
The standard preference vector APP may be supplied from the distribution server 5. Alternatively, it is considered that the programming reflects the public's preference due to the influence of the audience rating competition. Therefore, the program is broadcast for a certain period in the same manner as the user side effect vector calculation processing 1 described with reference to FIG. Alternatively, the contents of all the programs may be counted and, if necessary, normalized to obtain a standard preference vector APP.
[0334]
In step S203, the user information registration unit 63 calculates a cosine distance between the standard preference vector APP and the negative history vector MUP for each large item. The larger the cosine distance, the higher the similarity between the standard preference vector APP and the negative history vector MUP.
[0335]
In step S204, the user information registration unit 63 generates a counter-effect vector EfMUP by setting the cosine distance to the reciprocal for each large item based on the cosine distance calculated in step S203, and the process ends.
[0336]
By such processing, the reaction vector EfMUP can be generated, so that programs that the user does not like can be effectively omitted from recommended programs.
[0337]
Next, with reference to the flowchart of FIG. 27, the user-side counter-effect vector generation processing 2 executed for each genre will be described.
[0338]
In step S211, the user information registration unit 63 of the matching processing unit 43 selects one of the genres in order to specify the genre in which the processing is performed.
[0339]
In step S212, the user information registration unit 63 acquires the negative history vector MUP of the selected genre from the negative history vectors MUP stored in the negative history storage unit 48.
[0340]
In step S213, the user information registration unit 63 acquires the standard preference vector APP of the selected genre from the standard preference vectors APP indicating general preferences.
[0341]
In step S214, based on the negative history vector MUP of the selected genre and the standard preference vector APP of the selected genre, the user information registration unit 63 sets a standard preference vector APP and a negative history vector MUP for each large item. Calculate the cosine distance between The larger the cosine distance, the higher the similarity between the standard preference vector APP and the negative history vector MUP.
[0342]
In step S215, the user information registration unit 63 generates a counter-effect vector EfMUP based on the cosine distance calculated in step S214, by reversing the cosine distance for each large item. The larger the reciprocal of the cosine distance, the lower the similarity between the standard preference vector APP and the negative history vector MUP.
[0343]
In step S216, the user information registration unit 63 determines whether or not processing for all genres has been completed. If it is determined in step S216 that all genres have not been completed, the process returns to step S211 and the subsequent processes are repeated. If it is determined in step S216 that all genres have been completed, the process is terminated.
[0344]
By such processing, the reaction vector EfMUP can be generated for each genre, so that programs that the user does not like can be effectively omitted from recommended programs.
[0345]
The user-side effect vector EfUP and the counter-effect vector EfMUP are obtained by multiplying the reciprocal of the cosine distance for each large item described with reference to FIG. 23 and FIGS. 25 to 27 by n, or a predetermined digit. A rounded value may be used, or a value obtained by subtracting the reciprocal of the cosine distance from 1 or a value obtained by multiplying the value by n may be used.
[0346]
Here, it has been described that the program vector PP and the negative history vector MUP are represented by vectors for each large item. However, the program vector PP and the negative history vector MUP are arranged such that all elements of the detailed items are arranged in one column. It is needless to say that the same processing can be executed even in the case of being represented by arranged vectors.
[0347]
Also, a case where information indicating a group such as a group ID or a cluster code generated by the processing described with reference to FIG. 7 or 8 is added to the program vector extracted by the program vector extracting unit 42. There is.
[0348]
For example, if the program that the user prefers to watch is a serial drama, the corresponding serial drama can be recommended in all episodes, so that the arithmetic processing for the recommendation can be reduced. Also, by preferentially recommending a program in the same group as a program that is highly liked by the user, it is possible to reduce the number of calculation processes for recommendation.
[0349]
Next, a matching process including group recommendation will be described with reference to the flowchart in FIG.
[0350]
In step S221, the vector operation unit 62 of the matching processing unit 43 determines whether or not information indicating a group such as a group ID or a cluster code is added to the program vector PP supplied from the program vector extraction unit 42. Then, it is determined whether or not the corresponding program is grouped.
[0351]
If it is determined in step S221 that the corresponding programs are grouped, in step S222, the vector calculation unit 62 sets the group indicated by the group ID or the cluster code as a recommendation priority group in the user information registration unit. It is determined whether it is registered in 63.
[0352]
If it is determined in step S222 that the program is registered as a recommendation priority group, in step S223, the vector calculation unit 62 supplies information of the corresponding program to the recommendation information output unit 49 as recommendation information. The recommended information output unit 49 registers the recommended program in the recommended program list 50 and outputs information of the recommended program to the television display device 11 or the recording / reproducing device 12. It proceeds to S227.
[0353]
If it is determined in step S221 that the corresponding program is not grouped, or if it is determined in step S222 that the corresponding program is not registered as a recommendation priority group, in step S224, FIG. One of the matching processes 1 to 5 described above is executed.
[0354]
In step S225, the vector calculation unit 62 adds information indicating a group such as a group ID or a cluster code to the program vector of the program recommended in any one of the matching processes 1 to 3 performed in step S224. It is determined whether or not the recommended programs are grouped based on whether or not is added. If it is determined in step S225 that the recommended programs are not grouped, the process ends.
[0355]
If it is determined in step S225 that the recommended programs are grouped, in step S226, the vector calculation unit 62 sets the group ID or the cluster code added to the program vector as the recommended priority group. Registered in the user information registration unit 63 and stored.
[0356]
After the processing in step S223 or S226 is completed, in step S227, the vector calculation unit 62 refers to the operation log of the negative history stored in the negative history storage unit 48 and is recommended by the processing in step S223. Since the programs registered as the recommended priority group in the processing of step S226 are not grouped, the recommended programs are not accepted. Then, it is determined whether or not an operation input for giving a negative history, such as an operation input for instructing viewing or recording of other programs, or an instruction for erasing an automatically recorded program before reproduction, is received. If it is determined in step S227 that an operation input having a negative history has not been received, the process ends.
[0357]
If it is determined in step S227 that an operation input having a negative history has been received, in step S228, the vector calculation unit 62 removes the corresponding group from the registration of the recommended priority group of the user information registration unit 63, and performs processing. Is terminated.
[0358]
Note that a plurality of group IDs may be associated with one program vector PP by the title grouping process 1 described with reference to FIG. In such a case, in particular, in step S228, all group IDs may be removed from the registration of the recommended priority group in the user information registration unit 63 by an operation input that results in a negative history. In the case where a predetermined number of operation inputs having a negative history are performed, the user ID registration unit 63 registers the recommended priority group, and the corresponding group ID becomes You may make it take off. The same applies to the case where one group ID is associated with one program vector PP.
[0359]
By such processing, it is possible to recommend a series drama that the user prefers to watch in all episodes or to recommend a program in the same group as a program that is highly liked by the user. Therefore, the number of calculation processes for recommendation can be reduced.
[0360]
As described above, when the matching process including the group recommendation is performed, the positive history vector UP and the negative history vector MUP generated based on the user's operation history acquired from the television display device 11 or the recording / reproducing device 12 May be generated for each corresponding group.
[0361]
Also, based on the correct history of the user's operation history acquired from the television display device 11 or the recording / reproducing device 12, the number of viewing or recording reservations in the same drama is counted, and the number has reached a predetermined number or more. In this case, the recommendation may be preferentially performed without performing the matching process.
[0362]
Instead of using the user history to perform program recommendation processing, a user model may be set based on a topic specified in advance by the user, and program recommendation processing may be performed based on the user model.
[0363]
The user model is obtained by extracting a program corresponding to a topic from a predetermined program group by performing filtering using a topic specified in advance by the user. The initial registration storage unit 45 stores the topic input by the user. There may be a plurality of registered topics, and the topics are updated as appropriate according to a user's operation input. The vector calculation unit 62 extracts a program vector including a topic stored in the initial registration storage unit 45 from among the program vectors of the programs to be created by the user model, which are supplied from the program vector extraction unit 42. A user model vector is generated by normalizing the sum of the vectors as necessary, and registered in the user information registration unit 63.
[0364]
Thus, for example, when the time zone Hm = “after 23:00” and the genre Gm = “variety” are specified as the topics, the filtering is performed using these topics, and the user model “late night variety” is generated. Is done. The user model “Midnight Variety” includes, as a component, a comedian who has appeared in a variety program broadcasted in the late night frame after 23:00. Since the program in which the comedian performs is extracted and recommended in the matching process, it is possible to apply the user's preference beyond the genre and the like as compared with the case where the matching process is performed for each item.
[0365]
The program for which the user model is to be created may be, for example, all programs in a predetermined period or a group of programs broadcast in a predetermined time period (for example, so-called golden time).
[0366]
Also, for example, by using the same filtering conditions to perform filtering on different sets of programs, user model vectors corresponding to different programming in detail, for example, at different times or different time periods, are generated. be able to.
[0367]
Specifically, even under the same condition "Genre Gm = Music", there is a difference in broadcast time and performers between the current programming and the programming 10 years ago. A different user model of "previous music fan" can be generated. As a result, a pop singer who has been listening to “music fans 10 years ago” recommends dramas and movies currently appearing as actors, or “music fans 10 years ago” likes this. It is possible to recommend a program in which the current singer sings the song that was being listened to.
[0368]
In addition, for example, the same “genre Gm” is used in a time zone such as 20:00 to 24:00, which is mainly watched by members of society, and in a time zone such as 15:00 to 20:00, which is mainly watched by children. Even under the condition of “= music”, different program groups can be obtained by filtering, so that different user models can be generated.
[0369]
Then, the vector calculation unit 62 calculates the similarity between the program vector PP of the program supplied from the program vector extraction unit 42 and the user model vector registered in the user information registration unit 63, and based on the result. , Recommendation information is generated and supplied to the recommendation information output unit 49. The recommended information output unit 49 registers the recommended information in the recommended program list 50 and supplies the recommended information to the television display device 11 or the recording / reproducing device 12.
[0370]
Next, the matching processing using the user model will be described with reference to the flowchart in FIG.
[0371]
In step S231, the vector operation unit 62 of the matching processing unit 43 acquires the program vector of the program for which a user model is to be created, extracted by the program vector extraction unit 42. The program for which the user model is to be created is, for example, a program broadcast during a predetermined period such as one month or three months, and is broadcast during a predetermined time period (eg, golden time) during the predetermined period. The program may be a program broadcasted during a predetermined period in the past, such as 10 years ago, 20 years ago, or the like.
[0372]
In step S232, the initial registration storage unit 45 acquires the topic input by the user from the operation input unit 44, and stores the topic. The vector calculation unit 62 reads a topic from the initial registration storage unit 45 and sets it as a filtering condition. The filtering condition may be described as, for example, a hash table.
[0373]
In step S233, the vector calculation unit 62 filters the program vector PP acquired in step S231 based on the filtering conditions set in step S232, and extracts a program vector PP matching the topic. For example, if the program for which the user model is to be created is all the programs for the past three months, the vector calculation unit 62 determines that “the title Tm or the genre Gm = soccer” for all the program vectors PP for the past three months. Filtering is performed under the condition.
[0374]
In step S234, the vector calculation unit 62 obtains the sum total of the program vectors PP extracted by the filtering in step S233, and sets the sum as a user model vector. For example, when filtering is performed under the condition of “title Tm or genre Gm = soccer”, a user model vector of a user model “soccer fan” is generated.
[0375]
In step S235, the vector calculation unit 62 becomes a candidate for obtaining the recommendation information extracted in the program vector extraction unit 42 and the user model vector generated in step S234 (will be broadcast later). The cosine distance between the program and the program vector PP is calculated.
[0376]
In step S236, the vector calculation unit 62 compares the similarity between the user model vector and the program vector PP of the candidate program for obtaining recommendation information based on the cosine distance calculated in step S235, and Based on the above, a predetermined number of programs from the highest similarity are extracted as recommendation information from those having a high degree of similarity, and supplied to the recommendation information output unit 49. The recommended information output unit 49 registers the recommended information in the recommended program list 50 and supplies the recommended information to the television display device 11 or the recording / reproducing device 12, and the process ends.
[0377]
By such processing, even when there is no operation history of the user, a program matching the topic set by the user can be recommended. In the related art, for example, when a condition of “title Tm or genre Gm = soccer” is set and a matching process is performed, it is not possible to extract a variety or drama in which a soccer player appears. On the other hand, in the processing described with reference to FIG. 29, by setting a user model on the topic “Title Tm or genre Gm = soccer”, items such as performers and contents of the user model vector are set. Since many soccer player names are included, even if the program does not meet the condition of "title Tm or genre Gm = soccer", it extracts variety or drama in which soccer players appear. It becomes possible to recommend.
[0378]
Here, the description has been made assuming that the similarity is obtained by calculating the cosine distance between the user model vector and the program vector. However, the cosine distance is calculated individually for each large item, and the sum is used. The similarity may be obtained.
[0379]
Note that the generation process of the user model vector may be executed in the distribution server 5. In this case, for example, the processing of steps S231 to S234 of FIG. 29 may be performed using the program vector generated by the program vector generation unit 23 described with reference to FIG.
[0380]
In addition to recommending a program that suits the user's preference, selecting a program with low similarity to both the positive history vector UP and the negative history vector MUP means that the user does not like or dislike it. There is a high possibility that a program having a feature that has not been performed, in other words, a program that the user does not like to eat is recommended. As described above, in order to advance the learning by extracting the user's preference, it is important that the user evaluate a program having a feature that the user has not watched before.
[0381]
As a result, it is possible to give unexpectedness to the recommendation result provided to the user and to increase the interest of the user, and it is very important to recommend a program that more closely matches the user's preference. History information can be obtained.
[0382]
Next, the exception recommended program selection processing will be described with reference to the flowchart in FIG.
[0383]
In step S241, the vector operation unit 62 of the matching processing unit 43 includes the program vector PP supplied from the program vector extraction unit 42, the positive history vector UP stored in the positive history storage unit 47, and the negative history storage unit. 48, the cosine distance between the positive history vector UP and the program vector PP, and the cosine distance between the negative history vector MUP and the program vector PP, for each major item, calculate.
[0384]
In step S242, the vector calculation unit 62 sums the values of the cosine distance calculated for each item on the positive history side and the negative history side. That is, the similarity SimUP between the positive history vector UP and the program vector PP and the similarity SimMUP between the negative history vector MUP and the program vector PP are calculated by the processes of steps S241 and S242.
[0385]
In step S243, the vector calculation unit 62 calculates an exception recommendation value indicating a low degree of similarity with the positive history vector UP and the negative history vector MUP.
[0386]
Specifically, the exception recommendation value can be obtained by (1−SimUP) × (1−SimMUP) or (1 / SimUP) × (1 / SimMUP).
[0387]
In step S244, the vector calculation unit 62 obtains a program with a high exceptional recommendation value based on the calculation result in step S243, extracts the program as recommendation information, and ends the process.
[0388]
By such a process, it is possible to extract and recommend programs having characteristics that the user has never watched before, so that unexpectedness is given to the selection of a recommended program to the user, and expansion of the user's interest is provided. Not only can it be connected, but also very important history information can be obtained in order to recommend a program that more closely matches the user's preference.
[0389]
Through the processing described with reference to FIGS. 13 to 30, recommendation information is generated in the program recommendation processing device 10 and supplied to the television display device 11 or the recording / reproducing device 12.
[0390]
The television display device 11 or the recording / reproducing device 12 is supplied with a satellite wave or terrestrial broadcast signal received and decoded by the television receiver 4.
[0391]
The television display device 11 displays a broadcast signal supplied from the television reception device 4 or reproduction data supplied from the recording / reproduction device 12 based on a user's operation input, Based on the supplied recommendation information, recommended program information is displayed and automatic channel setting is executed. Further, the television display device 11 supplies the operation log to the program recommendation processing device 10.
[0392]
Further, the recording / reproducing device 12 records or reserves a broadcast signal supplied from the television receiving device 4 based on a user's operation input, or, based on recommendation information supplied from the program recommendation processing device 10, Automatically record programs. Further, the recording / reproducing apparatus 12 reproduces a program recorded on a mounted recording medium or a built-in recording medium, and outputs the program to the television display device 11 for display. Further, the recording / reproducing device 12 supplies the operation log to the program recommendation processing device 10.
[0393]
FIG. 31 is a block diagram illustrating a configuration of the television receiver 4. The television receiver 4 will be described as a general receiver that complies with the standard for digital broadcast receivers.
[0394]
The satellite wave detector 91 selects a satellite wave transmitted via the satellite 2 and received by the antenna 3 based on a signal for selecting a channel supplied from the television display device 11 or the recording / reproducing device 12. The signal is transmitted to a transmission and multiplexing configuration control (TMCC) decoding unit 92 and a demodulation / decoding processing unit 93 is supplied to the broadcast signal.
[0395]
The TMCC decoding unit 92 receives input of information such as a transmission mode (modulation method, coding rate, etc.) and a slot in the transmission multiplex control signal, decodes the information, and supplies the information to the demodulation / decoding processing unit 93.
[0396]
The demodulation / decoding processing unit 93 converts the supplied broadcast signal into, for example, QPSK (quadri-phase shift keying: four-phase modulation scheme or four-phase modulation scheme) based on the information on the transmission mode supplied from the TMCC decoding unit 92. The signal is demodulated and decoded by using a method such as a phase PSK method or an 8-phase PSK method, and is supplied to the deinterleaver 94.
[0397]
The deinterleaver 94 deinterleaves the supplied signal and supplies it to the error correction processing unit 95. Further, the deinterleaver 94 may further perform frame separation and descrambling processing on the supplied signal.
[0398]
The error correction processing unit 95 performs an error correction process using, for example, a Reed-Solomon code and supplies the result to a CA (Conditional Access: conditional access) descramble unit 101.
[0399]
The terrestrial wave detection unit 96 selects and detects the terrestrial wave received by the antenna 3 based on a control signal for selecting a channel, which is supplied from the television display device 11 or the recording / reproducing device 12, and performs a transmission mode. The control signal is supplied to the TMCC decoding unit 97 and the broadcast signal is supplied to the demodulation / decoding processing unit 98.
[0400]
The TMCC decoding unit 97 receives input of information such as a transmission mode (modulation scheme, coding rate, etc.), a slot, and a TS in the transmission multiplex control signal, decodes the information, and supplies the information to the demodulation and decoding processing unit 98. .
[0401]
The demodulation / decoding processing unit 98 converts the supplied broadcast signal based on the information on the transmission mode supplied from the TMCC decoding unit 97 using a method such as a QAM (quadrature amplitude modulation) method. Demodulated and decoded, and supplied to a deinterleaver 99.
[0402]
The deinterleaver 99 deinterleaves the supplied signal and supplies the signal to a TS (Transport Stream) reproducing unit 100. Further, the deinterleaver 99 may further perform frame separation and descrambling processing on the supplied signal.
[0403]
The TS reproducing unit 100 reproduces the transport stream based on the supplied signal and supplies the transport stream to the CA descramble unit 101.
[0404]
The CA descrambler 101 descrambles the limited reception signal based on the signal supplied from the error correction processor 95 or the TS reproducer 100 and supplies the descrambled signal to the demultiplexer 102.
[0405]
The data input unit 103 receives input of EPG data from the EPG receiving device 9, receives streaming data from the distribution server 5 via the network 8, and supplies the streaming data to the demultiplexer 102.
[0406]
The demultiplexer 102 demultiplexes the signal supplied from the CA descramble unit 101 or the data input unit 103, the audio signal to the audio signal decoding unit 104, the video signal to the video signal decoding unit 105, and , Control signals and data such as EPG are supplied to the data decoding unit 106.
[0407]
The audio signal decoding unit 104 decodes the supplied audio signal and supplies it to the television display device 11 or the recording / reproducing device 12. The video signal decoding unit 105 decodes the supplied video signal and supplies the decoded video signal to the television display device 11 or the recording / reproducing device 12. The data decoding unit 106 decodes the supplied control signal and data such as the EPG and supplies the decoded data to the television display device 11 or the recording / reproducing device 12.
[0408]
By the processing of the television receiver 4, the received satellite wave or terrestrial wave or the distributed streaming data is demodulated and decoded by a predetermined method, and the television display device 11 or the recording / reproducing device 12 Supplied to
[0409]
FIG. 32 is a block diagram illustrating a configuration of the television display device 11.
[0410]
The operation input unit 121 receives an operation input from the user, supplies a control signal corresponding to the user's operation input to each unit of the television display device 11, and supplies and saves the operation contents of the user to the operation log list 122. Let it. The operation log of the user stored in the operation log list 122 is acquired by the operation log acquisition unit 46 of the program recommendation processing device 10 described with reference to FIG. When the user's operation input is a channel selection, the operation input unit 121 supplies the input user operation to the channel setting unit 123.
[0411]
The channel setting unit 123 generates a control signal indicating a channel selection based on the signal indicating the user's operation input supplied from the operation input unit 121 and supplies the control signal to the television receiver 4. Further, the channel setting unit 123 generates a control signal indicating channel selection in order to automatically set a channel based on recommendation information registered in a recommended program list 128 to be described later. 4 The television receiver 4 receives a broadcast signal of a specified channel based on the control signal.
[0412]
The data input unit 124 receives an input of a broadcast signal from the television receiver 4 and supplies the broadcast signal to the image processing unit 125. The image processing unit 125 performs image processing on the supplied broadcast signal based on an image display method of the output unit 126, and supplies the broadcast signal to the output unit 126. The output unit 126 includes, for example, a display device such as a CRT (Cathode Ray Tube) or an LCD (Liquid Crystal Display), and an audio output device such as a speaker. Is displayed on the display device, and an audio signal is output from the audio output device.
[0413]
The recommended program list acquisition unit 127 acquires recommendation information from the program recommendation processing device 10 and supplies the recommended information to the recommended program list 128. The recommended program list 128 registers the supplied recommendation information. The recommended information registered in the recommended program list 128 is read by the channel setting unit 123 or by the recommended program information display control unit 129.
[0414]
The recommended program information display control unit 129 outputs the recommended information read from the recommended program list 128 to the image processing unit 125 in order to present the recommended information of the program to the user. The image processing unit 125 outputs the recommendation information supplied from the recommended program information display control unit 129 to the output unit 126 alone or by superimposing the recommendation information on the image of the broadcast signal supplied from the data input unit 124. Is displayed on the display device.
[0415]
Whether the recommended information is displayed on the output unit 126 or the channel is automatically set based on the recommended information supplied from the program recommendation processing device 10 is determined by the setting of the user. May be.
[0416]
With reference to the flowchart in FIG. 33, a recommendation information display process for presenting program recommendation information to a user based on recommendation information supplied from the program recommendation processing device 10 will be described.
[0417]
In step S251, the recommended program list acquisition unit 127 acquires the recommendation information output from the recommendation information output unit 49 of the program recommendation processing device 10.
[0418]
In step S252, the recommended program list acquisition section 127 registers the acquired recommendation information in the recommended program list 128.
[0419]
In step S253, the recommended program information display control unit 129 reads, from the recommended program list 128, recommendation information of a program broadcast within a predetermined time from the current time, for example, three hours or one day, and recommends the program to be recommended. , Generates recommendation information display data for displaying the title, content, broadcast time, broadcast channel, and the like, and supplies the data to the image processing unit 125.
[0420]
In step S254, the image processing unit 125 executes image processing for displaying the supplied recommendation information display data on the output unit 126, and supplies the data to the output unit 126. The recommendation information is subjected to image processing alone or by being superimposed on the image of the broadcast signal supplied from the data input unit 124.
[0421]
In step S255, the output unit 126 displays the recommendation information supplied from the image processing unit 125, and the process ends.
[0422]
By such processing, the recommendation information is displayed on the output unit 126, so that the user can select a program to view by referring to the displayed recommendation information.
[0423]
Next, referring to the flowchart of FIG. 34, an automatic channel for automatically setting a channel based on the recommendation information supplied from the program recommendation processing device 10 and displaying a program matching the user's preference. The setting process will be described.
[0424]
In steps S271 and S272, the same processing as in steps S251 and S252 described with reference to FIG. 33 is performed. That is, the recommended information output from the recommended information output unit 49 of the program recommendation processing device 10 is acquired, and the acquired recommended information is registered in the recommended program list 128.
[0425]
In step S273, the channel setting unit 123 obtains information on the recommended program corresponding to the current time from the program recommendation list 98. In step S274, the channel setting unit 123 generates channel setting information based on the information on the recommended program. Output to the receiving device 4. The television receiver 4 receives a broadcast signal of a specified channel based on the control signal.
[0426]
In step S275, the data input unit 124 acquires a broadcast signal of the designated channel from the television receiver 4, and supplies the broadcast signal to the image processing unit 125.
[0427]
In step S276, the image processing unit 125 performs image processing for displaying the supplied broadcast signal on the output unit 126, and supplies the broadcast signal to the output unit 126.
[0428]
In step S277, the output unit 126 displays the video of the recommended program supplied from the image processing unit 125, outputs sound, and the process ends.
[0429]
By such processing, a channel is automatically set to a channel on which a program matching the user's preference is being broadcast. The automatic channel setting process described with reference to FIG. 34 may be executed, for example, when the user instructs. This makes it possible to automatically set a channel to a program on which an appropriate program is being broadcast, for example, when the user is worried about which program to watch.
[0430]
In addition, the automatic channel setting process described with reference to FIG. 34 is performed, for example, at predetermined time intervals, such as 2 hours, in which a channel is not specifically set and it can be determined that the channel is left alone, or It may be executed when there is no operation input from the user for a predetermined period of time when it can be determined that the user has been left unattended.
[0431]
It should be noted that, in order to prevent the channel from being automatically switched while the user is consciously watching the program, a mode in which the automatic channel setting process cannot be executed is prepared, and the user may give an instruction. You may be able to.
[0432]
FIG. 35 is a block diagram illustrating a configuration of the recording / reproducing device 12.
[0433]
The operation input unit 141 receives an operation input from the user, supplies a control signal corresponding to the user's operation input to each unit of the recording / reproducing apparatus 12, and supplies and saves the operation contents of the user to the operation log list 142. . The user operation logs stored in the operation log list 142 are acquired by the operation log acquisition unit 46 of the program recommendation processing device 10 described with reference to FIG.
[0434]
The recording setting unit 143 starts broadcast of a program to be recorded, for example, based on a signal indicating a user operation input supplied from the operation input unit 141 or from recommendation information registered in a recommended program list 149 described later. Information necessary for performing a recording process, such as a time, a broadcast end time, and a broadcast channel, is extracted. When the user's operation input supplied from the operation input unit 141 is a recording reservation, the recording setting unit 143 registers information necessary for performing a recording process in the recording reservation list 144 and is supplied from the operation input unit 141. If the user's operation input is a recording process of a currently broadcasted program or if an automatic recording process is performed using recommendation information registered in a recommended program list 149 described later, the recording process is performed. Is supplied to the recording control unit 145.
[0435]
The recording control unit 145 performs recording based on information necessary for performing a recording process supplied from the recording setting unit 143 or recording corresponding to the current time in the recording reservation information registered in the recording reservation list 144. By extracting the reservation information, a control signal indicating the broadcast channel of the program to be recorded is generated and supplied to the television receiver 4, and a control signal for executing the recording process is generated. 147. The television receiver 4 receives a broadcast signal of a specified channel based on the control signal.
[0436]
The data input unit 146 receives an input of a broadcast signal from the television receiver 4 and supplies the broadcast signal to the recording / playback processing unit 147. The recording / playback processing unit 147 is configured such that, for example, a recording medium such as a magnetic tape, an optical disk, a magnetic disk, a magneto-optical disk, or a semiconductor memory can be mounted therein, or a hard disk or It has a recording medium such as a semiconductor memory so that information can be recorded on the recording medium and the information can be reproduced from the recording medium. Specifically, when the recording medium attachable to the recording / reproducing processing unit 147 is a magnetic tape, the recording / reproducing processing unit 147 has a magnetic head and transmits the broadcast signal supplied from the data input unit 146 to the magnetic tape. The information is recorded (that is, recorded) or the information recorded on the magnetic tape is reproduced and supplied to the television display device 11 or the like for reproduction and output.
[0437]
The recommended program list acquisition unit 148 acquires recommendation information from the program recommendation processing device 10 and supplies it to the recommended program list 149. The recommended program list 149 registers the supplied recommended information. The recommendation information registered in the recommended program list 149 is read out to the recording setting unit 143, and the recording processing is automatically executed.
[0438]
Next, the automatic recording process will be described with reference to the flowchart in FIG.
[0439]
In step S291, the recommended program list acquisition unit 148 acquires the recommendation information output from the recommendation information output unit 49 of the program recommendation processing device 10.
[0440]
In step S292, the recommended program list acquisition unit 148 registers the acquired recommendation information in the recommended program list 149.
[0441]
In step S293, the recording setting unit 143 extracts the information of the recommended program corresponding to the current time from the program recommendation list 109, and determines the information necessary for the recording process such as the broadcast start time and the broadcast end time, and the broadcast channel. Information is obtained and supplied to the recording control unit 145.
[0442]
In step S294, the recording control unit 145 generates channel setting information for receiving the supply of the broadcast signal of the program to be recorded, and outputs it to the television receiver 4. The television receiver 4 receives a broadcast signal of a specified channel based on the control signal.
[0443]
In step S295, the data input unit 146 acquires a broadcast signal of the specified channel from the television receiver 4, and supplies the broadcast signal to the recording / playback processing unit 147.
[0444]
In step S296, the recording / playback processing unit 147 records the supplied broadcast signal on a mounted or built-in recording medium, and the process ends.
[0445]
Through such processing, it is possible to automatically record a program that matches the user's preference. The automatic recording process described with reference to FIG. 36 is not executed while a recording operation is already being performed, such as during a recording operation instructed by a user or a recording operation by a recording reservation process.
[0446]
Here, a case has been described in which recording is automatically performed based on a recommended program corresponding to the current time.However, for example, recommendation information for a predetermined time earlier than the current time is obtained, and the same processing is performed. Needless to say, a recording reservation may be automatically set.
[0447]
In the processing described with reference to FIGS. 1 to 36, the program vector PP is described as being generated in the distribution server 5, but the distribution server does not generate the program vector PP, but via the network 8, The EPG data may be supplied to the program recommendation processing device, and the program recommendation processing device may generate the program vector PP.
[0448]
The configuration of the distribution server 171 in the case where the distribution server supplies the EPG data to the program recommendation processing device via the network 8 and generates the program vector PP in the program recommendation processing device instead of generating the program vector PP. FIG. 37 shows the configuration of the program recommendation processing device 191 shown in FIG.
[0449]
Parts corresponding to those in the distribution server 5 in FIG. 2 and the program recommendation processing device 10 in FIG. 13 are denoted by the same reference numerals, and description thereof will be omitted as appropriate.
[0450]
That is, the distribution server 171 includes the data acquisition unit 21 and the data transmission unit 25 of the distribution server 5 described with reference to FIG. 2, and includes streaming data or metadata from the streaming data database 6 or the metadata database 7. The acquired EPG data is acquired and transmitted to the EPG receiving device 8 or the television receiving device 4 via the network 8.
[0451]
The program recommendation processing device 191 uses FIG. 13 except that a metadata acquisition unit 22 and a program vector generation unit 23 similar to those provided in the distribution server 5 of FIG. 2 are newly provided. It has a configuration similar to that of the program recommendation processing apparatus 10 described above. In addition to the processing executed by the program recommendation processing apparatus 10, the program vector generation processing 1 described with reference to FIG. The program vector generation processing 2 described above, the grouping processing 1 described using FIG. 7, and the grouping processing described using FIG. 8 are executed.
[0452]
Even when the distribution server does not generate the program vector PP, but supplies the EPG data to the program recommendation processing device via the network 8 and the program recommendation processing device generates the program vector PP, FIGS. It is possible to achieve the same effect as the case described using FIG.
[0453]
Further, the EPG receiving device 9 collects a user's operation history and setting information from the television display device 11 and the recording / reproducing device 12, and supplies the collected operation history and setting information to the distribution server via the network 8. The distribution server may not only generate the program vector PP but also execute a matching process and supply the matching result to the EPG receiving device 9 via the network 8. The network configuration in this case is shown in FIG. 39, and a block diagram showing the configuration of the distribution server 201 is shown in FIG.
[0454]
Parts corresponding to those in FIGS. 1, 37, and 38 are denoted by the same reference numerals, and description thereof will be omitted as appropriate.
[0455]
That is, the distribution server 201 is obtained by adding the function of the program recommendation processing device 191 described with reference to FIG. 38 to the distribution server 171 described with reference to FIG. 37, and the user owns the program recommendation processing device. No need.
[0456]
In the configuration shown in FIG. 39 and FIG. 40, generation processing of a program vector PP, a program side effect vector EfPP, a positive history vector UP, a negative history vector MUP, a standard preference vector APP, and the like, and grouping of program vectors The distribution server 201 executes all the processes described with reference to FIGS. 3 to 12 and FIGS. 14 to 30, such as the matching process, the exception recommended program selection process, and the like.
[0457]
At this time, the user's operation history and setting information collected by the EPG receiving device 9 from the television display device 11 and the recording / reproducing device 12 and transmitted via the network 8 include, for example, a user ID. And so on so that it can be distinguished for each user. Further, in the program recommendation processing device 191 of the distribution server 201, the initial registration storage unit 45, the positive history storage unit 47, the negative history storage unit 48, and the like separate each information on a user basis based on the user ID of the supplied information. save.
[0458]
In the above description, a case has been described in which the EPG data of the television broadcast signal is used to recommend a program that suits the user's preference. However, the present invention is applicable to various digital contents such as radio broadcasts and streaming data. The present invention can also be applied to a case where attribute information is added and a user's preference is recommended.
[0459]
The series of processes described above can also be executed by software. The software is a computer in which a program constituting the software is built in dedicated hardware, or a general-purpose personal computer capable of executing various functions by installing various programs. For example, it is installed from a recording medium.
[0460]
As shown in FIG. 2, FIG. 13, or FIG. 38, this recording medium is a magnetic disk 31 or 71 (flexible) on which the program is recorded, which is distributed to provide the program to the user separately from the computer. Discs), optical disks 32 or 72 (including CD-ROM (Compact Disk-Read Only Memory), DVD (Digital Versatile Disk)), and magneto-optical disks 33 or 73 (including MD (Mini-Disk) (trademark)) ), Or a package medium such as a semiconductor memory 34 or 74.
[0461]
In this specification, the step of describing a program recorded on a recording medium may be performed in chronological order according to the described order, or may be performed in parallel or even if not necessarily performed in chronological order. This also includes processes executed individually.
[0462]
In the present specification, the system represents the entire device including a plurality of devices.
[0463]
【The invention's effect】
As described above, according to the present invention, it is possible to generate content attribute information. In particular, attribute information can be generated based on the content classification.
Further, according to another aspect of the present invention, it is possible to select a content that matches the user's preference, and to select a content that correctly matches the user's preference because the content is selected based on the classification of the content. be able to.
Further, according to another aspect of the present invention, it is possible to select a content that matches the user's preference, and to generate the user's preference information based on the attribute information of the content that matches a predetermined condition. Content that correctly matches the user's preference can be selected.
[Brief description of the drawings]
FIG. 1 is a diagram illustrating television program broadcasting and distribution of stream data.
FIG. 2 is a block diagram illustrating a configuration of a distribution server in FIG. 1;
FIG. 3 is a flowchart illustrating a program vector generation process 1;
FIG. 4 is a diagram illustrating EPG data.
FIG. 5 is a diagram illustrating a program vector.
FIG. 6 is a flowchart illustrating a program vector generation process 2;
FIG. 7 is a flowchart illustrating grouping processing 1;
FIG. 8 is a flowchart illustrating a grouping process 2;
FIG. 9 is a flowchart illustrating title grouping processing 1;
FIG. 10 is a flowchart illustrating title grouping processing 2;
FIG. 11 is a flowchart illustrating a title grouping process 3;
FIG. 12 is a flowchart illustrating title grouping processing 4;
FIG. 13 is a block diagram showing a configuration of a program recommendation processing device of FIG. 1;
FIG. 14 is a flowchart illustrating a positive history vector and negative history vector generation process 1.
FIG. 15 is a diagram illustrating a normal history vector.
FIG. 16 is a flowchart illustrating a positive history vector and negative history vector generation process 2.
FIG. 17 is a flowchart illustrating matching processing 1;
FIG. 18 is a flowchart illustrating a matching process 2;
FIG. 19 is a flowchart illustrating a matching process 3;
FIG. 20 is a flowchart illustrating a matching process 4;
FIG. 21 is a flowchart illustrating a matching process 5;
FIG. 22 is a flowchart illustrating a user-side effect vector generation process 1;
FIG. 23 is a flowchart illustrating a user-side effect vector generation process 2;
FIG. 24 is a flowchart illustrating a user-side effect vector generation process 3;
FIG. 25 is a flowchart illustrating a user-side effect vector generation process 4;
FIG. 26 is a flowchart illustrating a user-side reaction vector generation process 1;
FIG. 27 is a flowchart illustrating a user-side reaction vector generation process 2;
FIG. 28 is a flowchart illustrating a matching process including group recommendation.
FIG. 29 is a flowchart illustrating a matching process using a user model.
FIG. 30 is a flowchart illustrating exception recommendation processing.
FIG. 31 is a block diagram illustrating a configuration of the television receiver in FIG. 1.
32 is a block diagram illustrating a configuration of the television display device in FIG.
FIG. 33 is a flowchart illustrating a recommendation information display process.
FIG. 34 is a flowchart illustrating automatic channel setting processing.
FIG. 35 is a block diagram illustrating a configuration of the recording / reproducing apparatus of FIG. 1;
FIG. 36 is a flowchart illustrating automatic recording processing.
FIG. 37 is a block diagram illustrating a different configuration example of a distribution server.
FIG. 38 is a block diagram illustrating a different configuration example of the program recommendation processing device.
[Fig. 39] Fig. 39 is a diagram illustrating a different example of a network for television program broadcasting and stream data distribution.
FIG. 40 is a block diagram illustrating a different configuration example of the distribution server.
[Explanation of symbols]
5 distribution server, 10 program recommendation processing device, 21 data acquisition unit, 22 metadata extraction unit, 23 program vector generation unit, 24 data storage unit, 25 data transmission unit, 41 data acquisition unit, 42 program vector extraction unit, 43 matching Processing section, 44 operation input section, 45 initial registration storage section, 46 operation log acquisition section, 47 positive history storage section, 48 negative history storage section, 49 recommended information output section, 50 recommended program list, 61 normalization processing section, 62 Vector operation unit, 63 user information registration unit, 171 distribution server, 191 program recommendation processing device, 201 distribution server

Claims (24)

コンテンツに関する情報を基に前記コンテンツの属性情報を生成する情報処理装置において、
前記コンテンツに関する情報を取得する取得手段と、
前記取得手段により取得された前記コンテンツに関する情報に基づいて、前記コンテンツを分類する分類手段と、
前記コンテンツに関する情報を基に、前記属性情報を生成し、前記分類手段による分類結果を対応付ける属性情報生成手段と
を備えることを特徴とする情報処理装置。
In an information processing apparatus that generates attribute information of the content based on information about the content,
Acquisition means for acquiring information on the content,
Classifying means for classifying the content based on the information on the content obtained by the obtaining means,
An information processing apparatus, comprising: an attribute information generating unit that generates the attribute information based on the information regarding the content and associates a result of the classification by the classifying unit.
前記属性情報生成手段により生成された前記属性情報と、前記属性情報に対応付けられた前記分類結果とを、他の情報処理装置に送信する送信手段
を更に備えることを特徴とする請求項1に記載の情報処理装置。
The method according to claim 1, further comprising: a transmission unit configured to transmit the attribute information generated by the attribute information generation unit and the classification result associated with the attribute information to another information processing apparatus. An information processing apparatus according to claim 1.
前記分類手段は、前記コンテンツに関する情報を基に、所定の条件に合致している前記コンテンツを検出し、
前記属性情報生成手段は、前記分類手段による分類を区別するための固有情報を、前記属性情報に対応付ける
ことを特徴とする請求項1に記載の情報処理装置。
The classification unit detects the content that matches a predetermined condition based on the information about the content,
The information processing apparatus according to claim 1, wherein the attribute information generation unit associates unique information for distinguishing a classification by the classification unit with the attribute information.
前記所定の条件は、前記コンテンツの放送または配信の開始時刻の差が、所定の時間以内であるという条件を含む
ことを特徴とする請求項3に記載の情報処理装置。
The information processing apparatus according to claim 3, wherein the predetermined condition includes a condition that a difference between start times of broadcasting or distribution of the content is within a predetermined time.
前記コンテンツに関する情報は、複数の項目により構成され、
前記分類手段は、前記コンテンツに関する情報の所定の項目に、同一の単語を少なくとも1つ含んでいる前記コンテンツを検出し、
前記属性情報生成手段は、前記分類手段による分類を区別するための固有情報を、前記属性情報に対応付ける
ことを特徴とする請求項1に記載の情報処理装置。
The information on the content is composed of a plurality of items,
The classification means detects the content including at least one and the same word in a predetermined item of the information on the content,
The information processing apparatus according to claim 1, wherein the attribute information generation unit associates unique information for distinguishing a classification by the classification unit with the attribute information.
前記コンテンツに関する情報は、複数の項目により構成され、
前記分類手段は、前記コンテンツに関する情報の所定の項目を構成する単語の一致率が所定の値よりも大きい前記コンテンツを検出し、
前記属性情報生成手段は、前記分類手段による分類を区別するための固有情報を、前記属性情報に対応付ける
ことを特徴とする請求項1に記載の情報処理装置。
The information on the content is composed of a plurality of items,
The classification means detects the content in which the matching rate of words constituting a predetermined item of the information on the content is larger than a predetermined value,
The information processing apparatus according to claim 1, wherein the attribute information generation unit associates unique information for distinguishing a classification by the classification unit with the attribute information.
前記属性情報生成手段は、更に、第1のコンテンツと同一の分類の第2のコンテンツに既に対応付けられている前記属性情報を、前記第1のコンテンツに対応付ける
ことを特徴とする請求項1に記載の情報処理装置。
The attribute information generating unit further associates the attribute information already associated with the second content of the same classification as the first content with the first content. An information processing apparatus according to claim 1.
前記コンテンツは放送番組であり、
前記分類手段は、前記コンテンツに関する情報を基に、連続して放送される前記放送番組を1つの分類として分類し、
前記属性情報生成手段は、前記分類手段により、連続して放送される放送番組として分類された前記放送番組の前記属性情報を、第1回目の放送分の前記コンテンツに関する情報を用いて生成する
ことを特徴とする請求項7に記載の情報処理装置。
The content is a broadcast program,
The classifying means classifies the broadcast programs that are continuously broadcast as one classification based on the information regarding the content,
The attribute information generating unit generates the attribute information of the broadcast program classified as a continuously broadcasted broadcast program by the classifying unit using information on the content for a first broadcast. The information processing apparatus according to claim 7, wherein:
コンテンツに関する情報を基に前記コンテンツの属性情報を生成する情報処理装置の情報処理方法において、
前記コンテンツに関する情報に基づいて、前記コンテンツを分類する分類ステップと、
前記コンテンツに関する情報を基に、前記属性情報を生成する属性情報生成ステップと、
前記属性情報生成ステップの処理により生成された前記属性情報と、前記分類ステップの処理による分類結果を対応付ける対応付けステップと
を含むことを特徴とする情報処理方法。
An information processing method of an information processing apparatus that generates attribute information of the content based on information about the content,
A classification step of classifying the content based on the information about the content,
An attribute information generating step of generating the attribute information based on the information on the content;
An information processing method, comprising: associating the attribute information generated by the processing of the attribute information generating step with a classification result obtained by the processing of the classification step.
コンテンツに関する情報を基に前記コンテンツの属性情報を生成する処理をコンピュータに実行させるプログラムであって、
前記コンテンツに関する情報に基づいて、前記コンテンツを分類する分類ステップと、
前記コンテンツに関する情報を基に、前記属性情報を生成する属性情報生成ステップと、
前記属性情報生成ステップの処理により生成された前記属性情報と、前記分類ステップの処理による分類結果を対応付ける対応付けステップと
を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。
A program that causes a computer to execute a process of generating attribute information of the content based on information about the content,
A classification step of classifying the content based on the information about the content,
An attribute information generating step of generating the attribute information based on the information on the content;
A recording medium in which a computer-readable program is recorded, comprising: an association step of associating the attribute information generated by the processing of the attribute information generation step with a classification result obtained by the processing of the classification step. .
コンテンツに関する情報を基に前記コンテンツの属性情報を生成する処理をコンピュータに実行させるプログラムであって、
前記コンテンツに関する情報に基づいて、前記コンテンツを分類する分類ステップと、
前記コンテンツに関する情報を基に、前記属性情報を生成する属性情報生成ステップと、
前記属性情報生成ステップの処理により生成された前記属性情報と、前記分類ステップの処理による分類結果を対応付ける対応付けステップと
を含むことを特徴とするプログラム。
A program that causes a computer to execute a process of generating attribute information of the content based on information about the content,
A classification step of classifying the content based on the information about the content,
An attribute information generating step of generating the attribute information based on the information on the content;
A program comprising: an associating step of associating the attribute information generated by the processing of the attribute information generating step with a classification result by the processing of the classification step.
ユーザの嗜好と合致したコンテンツを検出する処理を実行する情報処理装置において、
前記コンテンツの属性情報を取得する取得手段と、
前記ユーザの嗜好情報を記憶する記憶手段と、
前記記憶手段により記憶されている前記嗜好情報と、前記取得手段により取得された前記属性情報とを比較することにより、前記ユーザの嗜好と合致した第1のコンテンツを検出する検出手段と
を備え、
前記コンテンツの属性情報は、前記コンテンツの分類を示す固有情報を含み、
前記検出手段は、前記固有情報を基に、前記ユーザの嗜好と合致した前記第1のコンテンツと同一の分類の第2のコンテンツを、前記ユーザの嗜好と合致するコンテンツとして更に検出する
ことを特徴とする情報処理装置。
In an information processing apparatus that executes a process of detecting content that matches a user's preference,
Acquiring means for acquiring the attribute information of the content;
Storage means for storing the user preference information;
A detection unit that detects the first content that matches the user's preference by comparing the preference information stored by the storage unit with the attribute information acquired by the acquisition unit;
The attribute information of the content includes unique information indicating a classification of the content,
The detection unit further detects, based on the unique information, a second content of the same classification as the first content that matches the user's preference as a content that matches the user's preference. Information processing device.
ユーザの嗜好と合致したコンテンツを検出する処理を実行する情報処理装置の情報処理方法において、
前記ユーザの嗜好と合致した第1のコンテンツの分類を示す固有情報の記憶を制御する記憶制御ステップと、
第2のコンテンツの属性情報が、前記固有情報を含むか否かを判断する第1の判断ステップと、
前記第1の判断ステップの処理により、前記属性情報が前記固有情報を含んでいると判断された場合、前記記憶制御ステップの処理により記憶が制御されている前記第1のコンテンツの前記固有情報を基に、前記第2のコンテンツは、前記第1のコンテンツと同一の分類であるか否かを判断する第2の判断ステップと、
前記第2の判断ステップの処理により、前記第2のコンテンツは、前記第1のコンテンツと同一の分類であると判断された場合、前記第2のコンテンツを前記ユーザの嗜好と合致するコンテンツとして検出する検出ステップと
を含むことを特徴とする情報処理方法。
In an information processing method of an information processing apparatus that executes a process of detecting content that matches a user's preference,
A storage control step of controlling storage of unique information indicating a classification of the first content that matches the user's preference;
A first determining step of determining whether or not the attribute information of the second content includes the unique information;
When it is determined by the processing of the first determination step that the attribute information includes the unique information, the unique information of the first content whose storage is controlled by the processing of the storage control step is determined. A second determining step of determining whether the second content has the same classification as the first content,
When the second content is determined to have the same classification as the first content by the processing of the second determination step, the second content is detected as content that matches the user's preference. An information processing method, comprising:
ユーザの嗜好と合致したコンテンツを検出する処理を実行するコンピュータが実行可能なプログラムであって、
前記ユーザの嗜好と合致した第1のコンテンツの分類を示す固有情報の記憶を制御する記憶制御ステップと、
第2のコンテンツの属性情報は、前記固有情報を含むか否かを判断する第1の判断ステップと、
前記第1の判断ステップの処理により、前記属性情報は前記固有情報を含んでいると判断された場合、前記記憶制御ステップの処理により記憶が制御されている前記第1のコンテンツの前記固有情報を基に、前記第2のコンテンツは、前記第1のコンテンツと同一の分類であるか否かを判断する第2の判断ステップと、
前記第2の判断ステップの処理により、前記第2のコンテンツは、前記第1のコンテンツと同一の分類であると判断された場合、前記第2のコンテンツを前記ユーザの嗜好と合致するコンテンツとして検出する検出ステップと
を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。
A computer-executable program that executes a process of detecting content that matches a user's preference,
A storage control step of controlling storage of unique information indicating a classification of the first content that matches the user's preference;
A first determining step of determining whether or not the attribute information of the second content includes the unique information;
When it is determined by the processing of the first determination step that the attribute information includes the unique information, the unique information of the first content whose storage is controlled by the processing of the storage control step is determined. A second determining step of determining whether the second content has the same classification as the first content,
When the second content is determined to have the same classification as the first content by the processing of the second determination step, the second content is detected as content that matches the user's preference. A recording medium on which a computer-readable program is recorded.
ユーザの嗜好と合致したコンテンツを検出する処理を実行するコンピュータが実行可能なプログラムであって、
前記ユーザの嗜好と合致した第1のコンテンツの分類を示す固有情報の記憶を制御する記憶制御ステップと、
第2のコンテンツの属性情報は、前記固有情報を含むか否かを判断する第1の判断ステップと、
前記第1の判断ステップの処理により、前記属性情報は前記固有情報を含んでいると判断された場合、前記記憶制御ステップの処理により記憶が制御されている前記第1のコンテンツの前記固有情報を基に、前記第2のコンテンツは、前記第1のコンテンツと同一の分類であるか否かを判断する第2の判断ステップと、
前記第2の判断ステップの処理により、前記第2のコンテンツは、前記第1のコンテンツと同一の分類であると判断された場合、前記第2のコンテンツを前記ユーザの嗜好と合致するコンテンツとして検出する検出ステップと
を含むことを特徴とするプログラム。
A computer-executable program that executes a process of detecting content that matches a user's preference,
A storage control step of controlling storage of unique information indicating a classification of the first content that matches the user's preference;
A first determining step of determining whether or not the attribute information of the second content includes the unique information;
When it is determined by the processing of the first determination step that the attribute information includes the unique information, the unique information of the first content whose storage is controlled by the processing of the storage control step is determined. A second determining step of determining whether the second content has the same classification as the first content,
When the second content is determined to have the same classification as the first content by the processing of the second determination step, the second content is detected as content that matches the user's preference. And a detecting step of performing the following.
コンテンツに関する情報を基に前記コンテンツの属性情報を生成する第1の情報処理装置と、
前記第1の情報処理装置から供給された前記コンテンツの属性情報を基に、ユーザの嗜好と合致した前記コンテンツを検出する処理を実行する第2の情報処理装置と
で構成される情報処理システムにおいて、
前記第1の情報処理装置は、
前記コンテンツに関する情報を取得する第1の取得手段と、
前記第1の取得手段により取得された前記コンテンツに関する情報に基づいて、前記コンテンツを分類する分類手段と、
前記コンテンツに関する情報を基に、前記属性情報を生成する属性情報生成手段と、
前記属性情報生成手段により生成された前記属性情報と、前記分類手段による分類結果を対応付けて、他の情報処理装置に送信する送信と
を備え、
前記第2の情報処理装置は、
前記第1の情報処理装置から送信された前記属性情報を取得する第2の取得手段と、
前記ユーザの嗜好情報を記憶する記憶手段と、
前記記憶手段により記憶されている前記嗜好情報と、前記第2の取得手段により取得された前記属性情報とを比較することにより、前記ユーザの嗜好と合致した第1のコンテンツを検出する検出手段と
を備え、
前記コンテンツの属性情報は、前記コンテンツの分類を示す固有情報を含み、
前記検出手段は、前記固有情報を基に、前記ユーザの嗜好と合致した前記第1のコンテンツと同一の分類の第2のコンテンツを、前記ユーザの嗜好と合致するコンテンツとして更に検出する
ことを特徴とする情報処理システム。
A first information processing device that generates attribute information of the content based on information about the content,
An information processing system configured to execute a process of detecting the content that matches the user's preference based on the attribute information of the content supplied from the first information processing device; ,
The first information processing device includes:
First acquisition means for acquiring information on the content,
Classifying means for classifying the content based on the information on the content obtained by the first obtaining means;
Attribute information generating means for generating the attribute information based on the information regarding the content,
And transmitting the attribute information generated by the attribute information generating unit and the classification result by the classification unit, and transmitting the result to another information processing apparatus,
The second information processing device includes:
Second acquisition means for acquiring the attribute information transmitted from the first information processing device;
Storage means for storing the user preference information;
Detecting means for detecting the first content that matches the user's preference by comparing the preference information stored by the storage means with the attribute information obtained by the second obtaining means; With
The attribute information of the content includes unique information indicating a classification of the content,
The detection means further detects, based on the unique information, a second content of the same classification as the first content that matches the preference of the user as a content that matches the preference of the user. Information processing system.
ユーザの嗜好と合致したコンテンツを選択する処理を実行する情報処理装置において、
前記コンテンツの属性情報を取得する取得手段と、
所定の条件を記憶する記憶手段と、
所定のコンテンツ群のうち、前記記憶手段により記憶されている前記所定の条件に合致したコンテンツに対応する前記コンテンツの属性情報を基に、前記ユーザの嗜好情報を生成する生成手段と
を備えることを特徴とする情報処理装置。
In an information processing apparatus that executes a process of selecting content that matches a user's preference,
Acquiring means for acquiring the attribute information of the content;
Storage means for storing predetermined conditions;
Generating means for generating preference information of the user based on attribute information of the content corresponding to the content meeting the predetermined condition stored in the storage means, in a predetermined content group. Characteristic information processing device.
前記生成手段により生成された前記嗜好情報と、前記取得手段により取得された前記コンテンツの属性情報との類似度を算出することにより、前記ユーザに視聴を推薦するコンテンツを示す推薦情報を生成する推薦情報生成手段
を更に備えることを特徴とする請求項17に記載の情報処理装置。
A recommendation for generating recommendation information indicating content recommended for viewing by the user by calculating a similarity between the preference information generated by the generation unit and the attribute information of the content acquired by the acquisition unit. The information processing apparatus according to claim 17, further comprising an information generation unit.
前記ユーザの操作入力を受ける操作入力手段を更に備え、
前記記憶手段は、前記操作入力手段により前記ユーザから入力された前記所定の条件を記憶する
ことを特徴とする請求項17に記載の情報処理装置。
Further comprising an operation input means for receiving an operation input of the user,
18. The information processing apparatus according to claim 17, wherein the storage unit stores the predetermined condition input from the user by the operation input unit.
前記所定のコンテンツ群は、所定の期間中に放送または配信されたコンテンツの集合である
ことを特徴とする請求項17に記載の情報処理装置。
18. The information processing apparatus according to claim 17, wherein the predetermined content group is a set of contents broadcast or distributed during a predetermined period.
前記所定のコンテンツ群は、所定の時間帯に放送または配信されたコンテンツの集合である
ことを特徴とする請求項17に記載の情報処理装置。
18. The information processing apparatus according to claim 17, wherein the predetermined content group is a set of contents broadcast or distributed in a predetermined time zone.
ユーザの嗜好と合致したコンテンツを選択する処理を実行する情報処理装置の情報処理方法において、
前記コンテンツの属性情報を取得する取得ステップと、
所定の条件を設定する設定ステップと、
所定のコンテンツ群のうち、前記設定ステップの処理により設定された前記所定の条件に合致したコンテンツを抽出する抽出ステップと、
前記抽出ステップの処理により抽出された前記所定の条件に合致したコンテンツに対応する前記コンテンツの属性情報を基に、前記ユーザの嗜好情報を生成する生成ステップと
を含むことを特徴とする情報処理方法。
In an information processing method of an information processing device that executes a process of selecting content that matches a user's preference,
An obtaining step of obtaining attribute information of the content;
A setting step of setting a predetermined condition;
An extracting step of extracting, from a predetermined content group, content that matches the predetermined condition set by the processing of the setting step;
A generating step of generating preference information of the user based on attribute information of the content corresponding to the content meeting the predetermined condition extracted by the processing of the extracting step. .
ユーザの嗜好と合致したコンテンツを選択する処理を実行するコンピュータが実行可能なプログラムであって、
前記コンテンツの属性情報を取得する取得ステップと、
所定の条件を設定する設定ステップと、
所定のコンテンツ群のうち、前記設定ステップの処理により設定された前記所定の条件に合致したコンテンツを抽出する抽出ステップと、
前記抽出ステップの処理により抽出された前記所定の条件に合致したコンテンツに対応する前記コンテンツの属性情報を基に、前記ユーザの嗜好情報を生成する生成ステップと
を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。
A computer-executable program that executes a process of selecting content that matches a user's preference,
An obtaining step of obtaining attribute information of the content;
A setting step of setting a predetermined condition;
An extracting step of extracting, from a predetermined content group, content that matches the predetermined condition set by the processing of the setting step;
Generating a preference information of the user based on attribute information of the content corresponding to the content meeting the predetermined condition extracted by the processing of the extraction step. A recording medium on which a possible program is recorded.
ユーザの嗜好と合致したコンテンツを選択する処理を実行するコンピュータが実行可能なプログラムであって、
前記コンテンツの属性情報を取得する取得ステップと、
所定の条件を設定する設定ステップと、
所定のコンテンツ群のうち、前記設定ステップの処理により設定された前記所定の条件に合致したコンテンツを抽出する抽出ステップと、
前記抽出ステップの処理により抽出された前記所定の条件に合致したコンテンツに対応する前記コンテンツの属性情報を基に、前記ユーザの嗜好情報を生成する生成ステップと
を含むことを特徴とするプログラム。
A computer-executable program that executes a process of selecting content that matches a user's preference,
An obtaining step of obtaining attribute information of the content;
A setting step of setting a predetermined condition;
An extracting step of extracting, from a predetermined content group, content that matches the predetermined condition set by the processing of the setting step;
A generating step of generating preference information of the user based on attribute information of the content corresponding to the content that meets the predetermined condition extracted by the processing of the extracting step.
JP2002361278A 2002-12-12 2002-12-12 Information processing apparatus, information processing method, and program Expired - Fee Related JP4547596B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002361278A JP4547596B2 (en) 2002-12-12 2002-12-12 Information processing apparatus, information processing method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002361278A JP4547596B2 (en) 2002-12-12 2002-12-12 Information processing apparatus, information processing method, and program

Publications (3)

Publication Number Publication Date
JP2004192461A true JP2004192461A (en) 2004-07-08
JP2004192461A5 JP2004192461A5 (en) 2006-03-09
JP4547596B2 JP4547596B2 (en) 2010-09-22

Family

ID=32760095

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002361278A Expired - Fee Related JP4547596B2 (en) 2002-12-12 2002-12-12 Information processing apparatus, information processing method, and program

Country Status (1)

Country Link
JP (1) JP4547596B2 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006293246A (en) * 2005-04-15 2006-10-26 Sony Corp Information processing device, method, and program
JP2008165437A (en) * 2006-12-27 2008-07-17 Fujitsu Ten Ltd Explanatory sentence selection device, explanatory sentence selection method, explanatory sentence analysis device and explanatory sentence analysis method
WO2010064424A1 (en) * 2008-12-02 2010-06-10 パナソニック株式会社 Server apparatus and recording apparatus
US8117211B2 (en) 2005-09-28 2012-02-14 Sony Corporation Information processing device and method, and program
EP2727335A2 (en) * 2011-06-28 2014-05-07 Tata Consultancy Services Limited A method and system for context-aware recommendation
CN108133031A (en) * 2017-12-29 2018-06-08 北京搜狐新媒体信息技术有限公司 A kind of method and device of filtered recommendation video candidate result
CN113613081A (en) * 2021-09-29 2021-11-05 深圳佳力拓科技有限公司 Program recommendation method and device based on target program recommendation model

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH117453A (en) * 1997-04-22 1999-01-12 Mitsubishi Electric Corp Media information recommending device
JP2000115646A (en) * 1998-09-30 2000-04-21 Toshiba Corp Program selection method, program viewing device and additional service providing device
JP2001160955A (en) * 1999-12-01 2001-06-12 Sony Corp Broadcast system and receiver
JP2002157269A (en) * 2000-11-22 2002-05-31 Nippon Telegr & Teleph Corp <Ntt> Video portal system and video providing method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH117453A (en) * 1997-04-22 1999-01-12 Mitsubishi Electric Corp Media information recommending device
JP2000115646A (en) * 1998-09-30 2000-04-21 Toshiba Corp Program selection method, program viewing device and additional service providing device
JP2001160955A (en) * 1999-12-01 2001-06-12 Sony Corp Broadcast system and receiver
JP2002157269A (en) * 2000-11-22 2002-05-31 Nippon Telegr & Teleph Corp <Ntt> Video portal system and video providing method

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006293246A (en) * 2005-04-15 2006-10-26 Sony Corp Information processing device, method, and program
US8117211B2 (en) 2005-09-28 2012-02-14 Sony Corporation Information processing device and method, and program
JP2008165437A (en) * 2006-12-27 2008-07-17 Fujitsu Ten Ltd Explanatory sentence selection device, explanatory sentence selection method, explanatory sentence analysis device and explanatory sentence analysis method
WO2010064424A1 (en) * 2008-12-02 2010-06-10 パナソニック株式会社 Server apparatus and recording apparatus
EP2727335A2 (en) * 2011-06-28 2014-05-07 Tata Consultancy Services Limited A method and system for context-aware recommendation
EP2727335A4 (en) * 2011-06-28 2015-01-14 Tata Consultancy Services Ltd A method and system for context-aware recommendation
CN108133031A (en) * 2017-12-29 2018-06-08 北京搜狐新媒体信息技术有限公司 A kind of method and device of filtered recommendation video candidate result
CN113613081A (en) * 2021-09-29 2021-11-05 深圳佳力拓科技有限公司 Program recommendation method and device based on target program recommendation model
CN113613081B (en) * 2021-09-29 2021-12-03 深圳佳力拓科技有限公司 Program recommendation method and device based on target program recommendation model

Also Published As

Publication number Publication date
JP4547596B2 (en) 2010-09-22

Similar Documents

Publication Publication Date Title
JP4003127B2 (en) Information processing apparatus and information processing method, information processing system, recording medium, and program
JP2004194108A (en) Information processor and information processing method, recording medium, and program
KR101019976B1 (en) Information processing device and information processing method, information processing system, and recording medium
JP4491746B2 (en) Information processing apparatus, information processing method, recording medium, and program
US8613023B2 (en) Information processor, information processing method and computer program
JP4593603B2 (en) Program recommendation system, program viewing terminal, program viewing program, program viewing method, program recommendation server, program recommendation program, and program recommendation method
JP2010259105A (en) Program viewing terminal, program viewing program, program viewing method, and program recommendation server
JP2011142468A (en) Information processing apparatus, information processing method, and program
JP4182743B2 (en) Image processing apparatus and method, recording medium, and program
JP4501948B2 (en) Information processing apparatus, information processing method, recording medium, and program
JP4161701B2 (en) Information processing apparatus, information processing method, recording medium, and program
JP4547596B2 (en) Information processing apparatus, information processing method, and program
JP4577562B2 (en) Information processing apparatus, information processing method, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051209

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060120

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090108

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090304

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090908

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091028

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20100610

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100623

R151 Written notification of patent or utility model registration

Ref document number: 4547596

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130716

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees