(57)【要約】クラスタ化デシジョン・ツリーと頻度ベースの用語マッピングとの組合せを用いて、個々のユーザにアイテムを推奨するシステム及び方法を開示する。システム及び方法は、テレビジョンリモートコントロール活動やコンピュータキーボード入力などのユーザ動作に基づくデータを受け取るように構成され、新しいアイテムデータが、テレビジョン番組ガイド、映画データベース、広告データの配信者、オンラインオークションウェブサイト、電子メールサーバなどのソースから使用可能にされたときに、システム及び方法は、新しいアイテムデータを解析的に分解し、それを、過去にユーザが好んだアイテムデータの確認された属性と比較し、新しいアイテムデータの数値ランキングを動的に生成するものであり、これは、後続のユーザ入力やアイテムデータ配信者によるデータ操作なしになされ、また、それぞれのユーザに対して調整されるものである。ユーザ動作に基づいてユーザの関心を学習し、次いで、学習した知識を適用して、ユーザの関心のレベルに基づいて、Ｅメール・スパムなどのアイテムを順位付け、推奨、及び／又はフィルタリングする実施形態が開示される。実施形態は、テレビジョン番組、ウェブベースのオークション、ターゲット広告、電子メールフィルタリングなどの応用例で、自動式の個人用の情報学習、推奨、及び／又はフィルタリングのシステムに対して使用できる。実施形態は、アイテム説明を生成し、関心のあるアイテムを学習し、アイテムを効果的に記述する用語を学習し、類似のアイテムをコンパクトなデータ構造にクラスタ化し、次いでその構造を用いて新しい提供物を順位付けするように、構築することができる。本発明の実施形態は、非限定的な例として、ある候補アイテムを別の候補アイテムに優先して推奨できるように候補アイテムへのランクスコアの割当てを可能にする能力と、監督なし学習を使用してデシジョン・ツリーを増強型で構築し、「エッジ」（シック・クライアント）コンピューティングと整合させて、例をカテゴリへと自動的にクラスタ化し、それによって幾つかのデータ構造と処理の大部分がセットトップ・ボックスまたはローカルＰＣに局所化されるようにする能力と、コンテンツ属性を自動的にオンザフライで学習する能力と、ユーザプリファレンスを不透明なローカル・データ構造で格納し、ユーザプリファレンスが個々のユーザに容易にはトレースできないようにする能力を含む。
2009505298.tif 000002
【特許請求の範囲】
【請求項１】
ユーザにアイテムを推奨する方法であって、
１または複数のデータ・ソースからアイテム説明を取り出すステップと、
前記アイテム説明を、属性ビット・ベクトルおよび１または複数の用語番号を含むバイナリ属性フォーマットへと変換するステップと、
前記アイテム説明を、バイナリ属性フォーマットからビット・ベクトルへと変換するステップと、
ユーザ・アクションを監視することによって、ユーザの関心を引くアイテムを識別するステップと、
１または複数の機械学習技法を使用して、ユーザの関心を引くアイテムを認識することを学習するステップと、
１組のアイテムの中の前記アイテムに対応する変換された前記アイテム説明に関して計算したランキング・スコアに基づいて、前記１組のアイテムから１または複数のアイテムを推奨するステップと
を備える方法。
【請求項２】
請求項１に記載の方法であって、アイテムが、テレビジョン番組、映画、広告、音楽、本、商品、オンライン・オークション・アイテム、スポーツ・プレーヤ、スポーツ・チーム、Ｅメール・メッセージ、ベンダ、サービス・プロバイダ、ビジネス、広告主、ウェブ・サイト、ビデオ・クリップ、画像、またはテキスト・コンテンツを含む、方法。
【請求項３】
請求項１に記載の方法であって、前記アイテム説明が、テレビジョン番組表、対話式番組ガイド・エントリ、ウェブ・ページ、データベース・エントリ、テキスト文書、またはレビューである、方法。
【請求項４】
請求項１に記載の方法であって、前記データ・ソースが、ウェブ・サイト、オンライン・データベース、プライベート・データベース、印刷されたアイテム説明、または電子ファイルである、方法。
【請求項５】
請求項１に記載の方法であって、検索は、通信ネットワークを介してファイルにアクセスすること、ローカル・ハード・ドライブ上のローカル・ファイルにアクセスすること、または記述情報を手動入力することのうちの１つである、方法。
【請求項６】
請求項１に記載の方法であって、前記アイテム説明を前記バイナリ属性フォーマットへと変換する前記ステップが、前記アイテム説明をカノニカル・フォーマットへと変換する中間ステップを含む、方法。
【請求項７】
請求項１に記載の方法であって、機械学習技法が、
ユーザに対しての用語マップ・テーブルを維持することを含み、前記ユーザの関心を引くアイテムに対応するアイテム説明の前記バイナリ属性フォーマット内に見つかる用語の頻度が維持されるものであり、
頻度基準に適合する用語を前記用語マップのビットにマッピングすることを含み、
前記ユーザに対しての後続の用語ビット・ベクトル中のマッピングされた用語に対応する用語属性を使用するこを含む、
方法。
【請求項８】
請求項１に記載の方法であって、機械学習技法が、
前記ユーザの関心を引くアイテムに対応するアイテム説明のビット・ベクトルからのクラスタ化デシジョン・ツリーの増強型の構築および保守
を含む、方法。
【請求項９】
請求項８に記載の方法であって、前記クラスタ化デシジョン・ツリーのデータ記憶要件は、ＣＰＥデバイスなどの低メモリ環境に対して制限される、方法。
【請求項１０】
請求項９に記載の方法であって、前記クラスタ化デシジョン・ツリーのリーフに格納された類似のアイテム説明ビット・ベクトルがマージされる、方法。
【請求項１１】
請求項９に記載の方法であって、前記クラスタ化デシジョン・ツリーのリーフに格納された日付順におけるより古いアイテム説明ビット・ベクトルが、新しいアイテム説明ビット・ベクトルのための空間を作るために削除される、方法。
【請求項１２】
請求項１に記載の方法であって、前記方法の幾つかのステップが１または複数のサーバ・コンピュータで実施され、残りのステップがクライアントＣＰＥデバイスで実施され、前記サーバ・コンピュータと前記ＣＰＥデバイスが通信ネットワークにより接続される、方法。
【請求項１３】
請求項１０に記載の方法であって、アイテムがテレビジョン番組および映画であり、前記通信ネットワークがブロードバンド・テレビジョン・ネットワークである、方法。
【請求項１４】
請求項１１に記載の方法であって、前記ブロードバンド・テレビジョン・ネットワークがデジタル・ケーブル・テレビジョン・ネットワークである、方法。
【請求項１５】
請求項１１に記載の方法であって、前記ブロードバンド・テレビジョン・ネットワークがデジタル・サテライト・テレビジョン・ネットワークである、方法。
【請求項１６】
請求項１１に記載の方法であって、前記ブロードバンド・テレビジョン・ネットワークがＩＰＴＶテレビジョン・ネットワークである、方法。
【請求項１７】
請求項１に記載の方法であって、ユーザ・アクションがクリックストリーム・データから構成される、方法。
【請求項１８】
請求項１５に記載の方法であって、前記ユーザのアイテムへの関心が、前記クリックストリーム・データから計算される関連性スコアによって定量化される、方法。
【請求項１９】
請求項１６に記載の方法であって、前記関連性スコアが、
関連性値＝（（特定の番組に費やした時間）／（合計時間））×最大関連性値
を使用して計算される、方法。
【請求項２０】
請求項８に記載の方法であって、複数のユーザ間での区別を行うために複数のクラスタ化デシジョン・ツリーが使用される、方法
【請求項２１】
請求項８に記載の方法であって、複数のＣＰＥデバイスからの前記クラスタ化デシジョン・ツリーが、複数のユーザ間を区別するため及び前記ユーザの使用パターンを導出するために、比較される、方法。
【請求項２２】
請求項１に記載の方法であって、前記アイテムがＥメール・メッセージであり、前記推奨の方法の応用が、スパムＥメールを識別することである、方法。
【請求項２３】
ユーザにアイテムを推奨するシステムであって、
１または複数のデータ・ソースからアイテム説明を取り出すこと、
前記アイテム説明を、属性ビット・ベクトルおよび１または複数の用語番号を含むバイナリ属性フォーマットへと変換すること、
前記アイテム説明をバイナリ属性フォーマットからビット・ベクトルへと変換すること、
ユーザ・アクションを監視することによってユーザの関心を引くアイテムを識別すること、
１または複数の機械学習技法を使用して、ユーザの関心を引くアイテムを認識することを学習すること、
１組のアイテムの中の前記アイテムに対応する変換されたアイテム説明に関して計算したランキング・スコアに基づいて、前記１組のアイテムから１または複数のアイテムを推奨すること
を含むシステム。
【請求項２４】
請求項２３に記載のシステムであって、前記アイテムが、テレビジョン番組、映画、広告、音楽、本、商品、オンライン・オークション・アイテム、スポーツ・プレーヤ、スポーツ・チーム、Ｅメール・メッセージ、ベンダ、サービス・プロバイダ、ビジネス、広告主、ウェブ・サイト、ビデオ・クリップ、画像、またはテキスト・コンテンツを含む、システム。
【請求項２５】
請求項２３に記載のシステムであって、前記アイテム説明が、テレビジョン番組表、対話式番組ガイド・エントリ、ウェブ・ページ、データベース・エントリ、テキスト文書、またはレビューである、システム。
【請求項２６】
請求項２３に記載のシステムであって、前記データ・ソースが、ウェブ・サイト、オンライン・データベース、プライベート・データベース、印刷されたアイテム説明、または電子ファイルである、システム。
【請求項２７】
請求項２３に記載のシステムであって、検索が、通信ネットワークを介してファイルにアクセスすること、ローカル・ハード・ドライブ上のローカル・ファイルにアクセスすること、または記述情報を手動入力することのうちの１つである、システム。
【請求項２８】
請求項２３に記載のシステムであって、前記アイテム説明をバイナリ属性フォーマットへと変換することが、前記アイテム説明をカノニカル・フォーマットへと変換する中間ステップを含む、システム。
【請求項２９】
請求項２３に記載のシステムであって、機械学習技法が、
ユーザについての用語マップ・テーブルを維持することを含み、前記ユーザの関心を引くアイテムに対応するアイテム説明の前記バイナリ属性フォーマット内で見つかる用語の頻度が、維持されるものであり、
頻度の基準に適合する用語を、前記用語マップのビットへとマッピングするこを含み、
前記ユーザに対する後続の用語ビット・ベクトル中のマッピングされた用語に対応する用語属性を使用することを含む、
システム。
【請求項３０】
請求項２３に記載のシステムであって、機械学習技法が、
前記ユーザの関心を引くアイテムに対応するアイテム説明ビット・ベクトルからのクラスタ化デシジョン・ツリーの増強型の構築および保守を含む、
システム。
【請求項３１】
請求項３０に記載のシステムであって、前記クラスタ化デシジョン・ツリーのデータ記憶要件が、ＣＰＥデバイスなどの低メモリ環境に対して制限される、システム。
【請求項３２】
請求項３１に記載のシステムであって、前記クラスタ化デシジョン・ツリーのリーフに格納された類似のアイテム説明ビット・ベクトルがマージされる、システム。
【請求項３３】
請求項３１に記載のシステムであって、前記クラスタ化デシジョン・ツリーのリーフに格納された日付順におけるより古いアイテム説明ビット・ベクトルが、新しいアイテム説明ビット・ベクトルのための空間を作るために削除される、システム。
【請求項３４】
請求項２３に記載のシステムであって、前記システムの幾つかのステップが１または複数のサーバ・コンピュータで実施され、残りのステップがクライアントＣＰＥデバイスで実施され、前記サーバ・コンピュータと前記ＣＰＥデバイスが通信ネットワークによって接続される、システム。
【請求項３５】
請求項３２に記載のシステムであって、アイテムがテレビジョン番組および映画であり、前記通信ネットワークがブロードバンド・テレビジョン・ネットワークである、システム。
【請求項３６】
請求項３５に記載のシステムであって、前記ブロードバンド・テレビジョン・ネットワークがデジタル・ケーブル・テレビジョン・ネットワークである、システム。
【請求項３７】
請求項３５に記載のシステムであって、前記ブロードバンド・テレビジョン・ネットワークがデジタル・サテライト・テレビジョン・ネットワークである、システム。
【請求項３８】
請求項３５に記載のシステムであって、前記ブロードバンド・テレビジョン・ネットワークがＩＰＴＶテレビジョン・ネットワークである、システム。
【請求項３９】
請求項２３に記載のシステムであって、ユーザ・アクションがクリックストリーム・データから構成される、システム。
【請求項４０】
請求項３９に記載のシステムであって、前記ユーザのアイテムへの関心が、前記クリックストリーム・データから計算される関連性スコアにより定量化される、システム。
【請求項４１】
請求項４０に記載のシステムであって、前記関連性スコアが、
関連性値＝（（特定の番組に費やした時間）／（合計時間））×最大関連性値
を使用して計算される、システム。
【請求項４２】
請求項３０に記載のシステムであって、複数のユーザ間での区別を行うために複数のクラスタ化デシジョン・ツリーが使用される、システム。
【請求項４３】
請求項３０に記載のシステムであって、複数のＣＰＥデバイスからの前記クラスタ化デシジョン・ツリーが、複数のユーザ間を区別するため及び前記ユーザの使用パターンを導出するために、比較される、システム。
【請求項４４】
請求項２３に記載のシステムであって、前記アイテムがＥメール・メッセージであり、前記推奨の応用が、スパムＥメールを識別することである、システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、「Ｍｅｔｈｏｄ  ａｎｄ  Ａｐｐａｒａｔｕｓ  ｆｏｒ  Ｍｕｌｔｉｍｅｄｉａ  Ｐｒｏｇｒａｍ  Ｒｅｃｏｍｍｅｎｄａｔｉｏｎ（マルチメディア・プログラム推奨の方法および装置）」という名称の米国仮特許出願第６０／７０９４２０号に対する優先権を主張するものであり、参照によりその全体を組み込む。
【０００２】
本発明は、ユーザ・アクション（ユーザの行動）に基づいてユーザの関心を学習し、次いでその学習した知識を適用して、ユーザの関心のレベルに基づいて新しいアイテムを順位付け、推奨、および／またはフィルタリングするインテリジェント技法に関する。より詳細には、本発明は、テレビジョン番組、ウェブ・ベースのオークション、ターゲットを定めた広告、ラジオ番組、ウェブ・サイト、ビデオ・クリップ、電子メール・フィルタリングなどの多数のオファリング（提供）のための自動式の個人化した情報学習および推奨エンジンに関する。幾つかの実施形態は、アイテム説明を生成し、ユーザ・アクションから関心のあるアイテムを識別し、個々のユーザについての関連属性を発見し、類似のアイテムをコンパクトなデータ構造としてクラスタ化し、次いでその構造を使用して新しいオファリングを順位付けするように構成される。
【背景技術】
【０００３】
推奨システムは、ある人の関心についての何らかの情報が与えられると、テレビジョン番組、音楽、小売製品などの、その人にとって潜在的な関心のあるアイテムを提案するプログラムである。
【０００４】
しばしば、推奨システムは、協調フィルタリング技法を使用して実装され、ある人の関心が、（協調によって）他の多くの人々の関心に基づいて決定される（フィルタリングされる）。協調フィルタリング・システムは一般に２つのステップで動作する。まず、パターンや過去の購入活動をレーティング（評価）することによって示される、共通の関心を共有する人々をターゲットユーザとして識別する。次いで、そうした似通った人々からのレーティングを使用して、ユーザに対して推奨が行われる。単純な協調フィルタリングの幾つかの欠点は、ユーザとグループとの間の関心の重複が不十分であること（「スパーシティ問題（ｓｐａｒｓｉｔｙ  ｐｒｏｂｌｅｍ、まばら問題）」とも呼ばれる）、新しいアイテムに使用可能な十分なレーティングまたは購入情報がない場合に効果がないこと、第三者サーバ上に購入情報やプリファレンス（好み）情報を格納するという潜在的なプライバシーの懸念、および推奨がレーティングの人工的なインフレーションまたはデフレーション（スプーフィング（だまし））の影響を受ける可能性を含む。
【０００５】
推奨システムに対する別の手法はコンテンツ・ベースのものである。この手法では、ある人の新しいアイテムへの関心を測定するために、アイテムのコンテンツまたは他の特徴自体が使用される。例えば、更なる関心のあるアイテムを予測するために、以前に消費（閲覧、購入、聴取）されたジャンル、アーティスト、俳優、ディレクタ、作者、ＭＰＡＡ型レーティング、コスト、制作日の知識が使用される。こうした技法は、レーティングや個々のユーザの過去の挙動に依存し、グループのプリファレンスに依存しない。この手法の欠点は、ユーザがプリファレンス／プロファイル情報を明示的に入力することが必要であり得ること、およびアイテムを説明する良い特徴を抽出するのが困難である可能性があることである。
【０００６】
あるコンテンツ・ベースのシステムが、Ｇｕｔｔａ（ガッタ）による米国特許第６７２７９１４号に記載されている。本発明とは異なり、Ｇｕｔｔａは大きな動的ポピュレーションの記述用語（属性）を使用しない。その代わりに、少数の属性がすべてのユーザについて事前定義される。Ｇｕｔｔａのシステムは、本明細書に記載の増強型の更新されるクラスタ化デシジョン・ツリーではなく、従来の情報取得指向のデシジョン・ツリーを使用するように見える。更に、本発明とは異なり、Ｇｕｔｔａのシステムは、アイテムについてのランキング・スコアを提供することができず、その代わりにアイテムを推奨と非推奨の２つのグループに区分する。米国特許第６７２７９１４Ｂ１号は、何れの属性がテレビジョン推奨システムにとって好ましいかや、属性が単純なブール変数として定義されるか、多値として定義されるか、それとも連続的範囲にわたって定義されるかが不明確である。更に、本発明とは異なり、Ｇｕｔｔａは、ユーザが視聴する番組をシステムがどのように識別するかを開示していない。
【０００７】
用語の解説
属性：  ある実施形態では、属性は、商品（アイテム）を記述するのに使用される用語または特徴であり、ＢＡＦ、属性ビット・ベクトル、用語ビット・ベクトルで表されるときにはしばしばバイナリ・フォーマットで符号化される。
【０００８】
属性ビット・ベクトル：  ある実施形態では、属性ビット・ベクトルは、特定のアイテムを記述する固定の（事前定義された）属性を含むビット・ベクトルである。
バイナリ属性フォーマット（ＢＡＦ）：  ある実施形態では、バイナリ属性フォーマットは、ＩＰＧＸクライアントによって使用されるアイテムについてのすべての情報を含むコンパイル済みの固定長データ構造のフォーマットと、そのコンパイル済み固定長データ構造に対する参照との両方である。
【０００９】
ビット・ベクトル：  ある実施形態では、ビット・ベクトルは、学習、順位付け、および変更の判断の基となる、属性ビット・ベクトルおよび用語ビット・ベクトルである。
確実性ファクタ：  ある実施形態では、確実性ファクタは、視聴者（または一般にはユーザ）によるアイテムの好き嫌いの信頼または不信頼の尺度を示す、プログラムまたは他のアイテムに与えられた事前の確率スコアである。言い換えれば、確実性ファクタは、アイテムを関心または無関心であるものとして分類する際に、証拠がどれほど良好または不良であるかを示す。
【００１０】
クリックストリーム：  ある実施形態では、クリックストリームは、ＴＶ視聴者やコンピュータ・ユーザによって行われたチャネル変更、ウェブ・サイト訪問、ボタン・クリックの時間的順序である。
【００１１】
クラスタ化：  ある実施形態では、クラスタ化は、アイテムを類似のアイテムのグループに区分化するプロセスである。
クラスタ化デシジョン・ツリー：  ある実施形態では、クラスタ化デシジョン・ツリーは、リーフが類似の例のクラスタを示すデシジョン・ツリーである。ある実施形態では、クラスタ化デシジョン・ツリーでのノード分割を決定するのに使用される基準は、情報ゲインに関する計量ではなく、クラスタ重心の類似性である。
【００１２】
共通（またはカノニカル）テキスト・フォーマット：  ある実施形態では、共通（またはカノニカル）テキスト・フォーマットは、アイテムについてのキー記述用語をビット・ベクトルへとコンパイルされる前に収集するのに使用されるテキスト符号化である。
【００１３】
ＣＰＥ（顧客構内装置）：  ある実施形態では、ＣＰＥデバイスは、テレビジョン、ラジオ、情報アクセス、ブロードバンドまたは他の通信ネットワーク上の他の機能を提供する目的で自宅やエンド・ユーザ位置に配置される電子コンピューティング・デバイスである。ＣＰＥデバイスの例は、テレビジョン・セット・トップ・ボックス（ケーブル、衛星、およびＩＰＴＶ用）、或るテレビジョン、パーソナル・コンピュータ、ゲーム・コンソール、携帯電話、ＩＰ電話、携帯情報端末（ＰＤＡ）、ｉＰｏｄ、音楽プレーヤなどを含む。
【００１４】
データ・ソース：  ある実施形態では、データ・ソースは、ウェブ・サイト、オンライン・データベース、プライベート・データベース、印刷したアイテム説明、アイテム説明を含む電子ファイルである。
【００１５】
デシジョン・ツリー：  ある実施形態では、デシジョン・ツリーは、その内部ノードが入力パターンに対するテストであり、そのリーフ・ノードがパターンのカテゴリであるツリーである。
【００１６】
例：  ある実施形態では、例は、アイテムを記述するビット・ベクトル、ＢＡＦなどである。
ヘッドエンド（ｈｅａｄｅｎｄ）：  ある実施形態では、ヘッドエンドは、サーバおよびブロードキャスト装置が配置される伝送システムの配布システムの側である。「ｈｅａｄ  ｅｎｄ（ヘッド・エンド）」および「ｈｅａｄ−ｅｎｄ（ヘッド−エンド）」としても現れる。
【００１７】
帰納学習（Ｉｎｄｕｃｔｉｖｅ  Ｌｅａｒｎｉｎｇ）：  ある実施形態では、帰納学習とは、例から学習する方法を指す。
ＩＰＧ（対話式番組ガイド）：  ある実施形態では、ＩＰＧは、様々な使用可能な番組オプションをユーザに表示し、ユーザが閲覧、聴取、または記録のために番組を選択することを可能にするプログラムである。ＩＰＧはＥＰＧ（電子番組ガイド）とも呼ばれる。
【００１８】
ＩＰＧＸ（対話式番組ガイド拡張）：  ＩＰＧＸは、本発明の実施形態のうちの幾つかの実施形態を指す。ある実施形態では、ＩＰＧＸは、ユーザの閲覧履歴に基づいてテレビジョンおよび映画番組の推奨をユーザに提供する。
【００１９】
ＩＰＧＸクライアント：  ある実施形態では、ＩＰＧＸクライアントは、セットトップ・ボックスや他のＣＰＥデバイスに常駐するＩＰＧＸソフトウェア・コンポーネントからなる。ＩＰＧＸクライアントの多くの変形形態が本発明の実施形態に従って使用可能である。
【００２０】
ＩＰＧＸサーバ：  ある実施形態では、ＩＰＧＸサーバは、配布システム・ヘッド・エンドに常駐するＩＰＧＸソフトウェア・コンポーネントからなる。ＩＰＧＸサーバの多くの変形形態が本発明の実施形態に従って使用可能である。
【００２１】
ＩＰＴＶ（インターネット・プロトコル・テレビジョン）：  ある実施形態では、ＩＰＴＶは、ＣＰＥデバイスへダウンロードまたはストリーミングするためにウェブ・サイトやポータルから典型的に入手可能な、インターネット・プロトコルを使用して配信されるビデオ・コンテンツを指す。
【００２２】
情報検索（ＩＲ）：  ある実施形態では、情報検索は、文書の自動式の記憶および検索を扱う計算機科学のサブフィールドである。
アイテム：  ある実施形態では、アイテムは、テレビジョン番組、映画、広告、音楽、本、商品、オンライン・オークション・アイテム、スポーツ・プレーヤ、スポーツ・チーム、Ｅメール・メッセージ、ベンダ、サービス・プロバイダ、ビジネス、広告主、ウェブ・サイト、ビデオ・クリップ、画像、テキスト・コンテンツなどである。
【００２３】
アイテム説明：  ある実施形態では、テレビジョン番組表、テレビジョン番組表、対話式番組ガイド・エントリ、ウェブ・ページ、データベース・エントリ、テキスト文書、レビューである。
【００２４】
ｉＴＶ：  ある実施形態では、ＩＴＶは対話式テレビジョンである。
ＭＳＯ（複数サービスオペレータ）：  ある実施形態では、ＭＳＯは、ビデオ番組と、ビデオ・オン・デマンド、電子番組ガイド、およびインターネット／データ・サービスなどの関連サービスのプロバイダに関する一般的な用語である。
【００２５】
番組：  ある実施形態では、番組は、映画、シリーズ・エピソード、広告、スポーツ・イベントなどのビデオ・コンテンツの単位である。
番組データ・リポジトリ：  ある実施形態では、番組データ・リポジトリは、ＩＰＧＸサーバ上の番組データが格納されるデータベースまたは他のデータ構造である。
【００２６】
ターゲット：  ある実施形態では、ターゲットにするということは、「ターゲット広告をする（ｔｏ  ｔａｒｇｅｔ  ａｄｖｅｒｔｉｓｉｎｇ）」のように、特定のユーザまたはユーザのグループに特に関心を引くアイテムを識別することである。
【００２７】
ターゲット広告：  ある実施形態では、ターゲット広告は、特定の視聴者のグループに訴えるようにデザインされ、そうした視聴者へ達するように配信される、製品やサービスについての情報からなる。
【００２８】
用語：  ある実施形態では、用語は、ワード、フレーズ、名前、タイトル、Ｅメール・アドレス、識別番号などの、アイテムやアイテム説明の中に見出される記述要素である。
用語属性：  ユーザ向けの用語マップのビットにマッピングされ、その後で用語ビット・ベクトル内に現れる属性。
【００２９】
用語識別子：  ある実施形態では、用語番号と同じである。「用語ＩＤ」とも示される。
用語名：  ある実施形態では、アイテム説明に見出される用語に割り当てられた固有名であり、間隔（空間）文字がアンダースコア文字（＿）で置き換えられ、すべての文字が一様な大文字または小文字に変換され、俳優、ディレクタ、文筆家、ジャンルなどの用語の種類を識別する文字が接頭辞として名前に付けられる。
【００３０】
用語番号：  ある実施形態では、サーバによって用語に割り当てられた固有の整数。ある実施形態では、用語が幾つかの基準に合致する場合にのみ、用語番号が用語に割り当てられる。用語番号は、用語マッピング、学習、および順位付けの間に用語属性を一意的に識別するために使用される。
【００３１】
用語ビット・ベクトル：  ある実施形態では、用語ビット・ベクトルは、特定のアイテムを記述する可変属性（用語とも呼ばれる）を含むビット・ベクトルである。
用語辞書：  ある実施形態では、用語辞書は、様々なアイテム説明ソースから抽出されたすべての可変用語を追跡する、サーバに維持されるテーブルである。テーブルは、各用語を固有識別子にマッピングし、アイテム・データベース全体の中で各用語が生じる頻度を示す。
【００３２】
用語マップ：  ある実施形態では、用語マップは、「リンクされる」アイテムに関連する可変属性用語を追跡する、セットトップ・ボックスまたは他のＣＰＥデバイス上に維持されるリストまたは他のデータ構造である。用語をローカル用語ビット・ベクトル中のビットに割り当てるのに使用される。用語番号（サーバ用語辞書より）、用語頻度（クライアント上で「リンクされる」アイテム内で用語が見つかる回数）、およびビット割当て（特定のセットトップ・ボックスまたはＰＣについて、用語ビット・ベクトルが存在する場合、その中の何れのものに用語が割り当てられているか）を含む。
【００３３】
用語マッピング：  ある実施形態では、用語マッピングは、用語ビット・ベクトルとして符号化された可変用語を、ビット・ベクトル内の特定のビットに変換するプロセスである。これは、個々のユーザまたはＣＰＥデバイスについて（デシジョン・ツリー・クラスタ化を介して）学習されるアイテム説明を個人化する。
【００３４】
ユーザ：  ある実施形態では、ユーザは、テレビジョン視聴者、ラジオ聴取者、テレビジョンまたは他のＣＰＥを共有するテレビジョン視聴者のグループなどの、ＣＰＥデバイスや推奨システムを使用する個人または人々のグループを表す。
【００３５】
ベクトル空間モデル：  ある実施形態では、ベクトル空間モデルは、文書が、文書に含まれる重要なワードのベクトルとして表される、ＩＲで普及している技法である。ベクトルの各用語は、そのワードが文書内に現れる頻度を指定する。文書間（およびベクトルおよび文書として表される照会（クエリ）間）の類似性を、ベクトル数学演算を使用して計算することができる。
【００３６】
視聴者：  ある実施形態では、視聴者は、配布システムによって提供される番組および他のコンテンツを閲覧し、それと対話する人である。ある実施形態では、視聴者はユーザと同義である。
【００３７】
ＶＯＤ（ビデオ・オン・デマンド）：  ある実施形態では、ＶＯＤは、スケジューリングされたブロードキャスト・ビデオ・コンテンツ配信の伝統的な方法とは対照的に、特定のＣＰＥデバイス上の個々の視聴者がコンテンツを閲覧することを選ぶときにはいつでも視聴者にビデオ・コンテンツをユニキャストするプロセスを指す。
【発明の開示】
【課題を解決するための手段】
【００３８】
本発明の例示的実施形態では、システムおよび方法は、ユーザの関心を引く１または複数のアイテムを表す。関心あるアイテムの表現は、アイテムを集合的に記述するコンテンツまたは特徴を表すＮ個の別個の属性からなるベクトルとして提示される。アイテムの関連性、アイテムへのユーザの関心の定量的推定は、テレビジョン・チャネル変更に関するリモート・コントロール動作のクリックストリームの分析や、テレビジョンまたはインターネットを介してウェブ・サイトをナビゲーションする（例えば、オークション・ウェブ・サイトからオークション・アイテムを選択する）際に使用されるクリックを解析することにより、求めることができる。Ｎ個の別個の属性が、各アイテムについての記述データ（好ましくは、カノニカル・フォーマットとして符号化される）から集められる。属性は、（ａ）考慮中のアイテムの種類に関して事前定義することができ、（ｂ）頻度データから自動的に求めることができ、また（ｃ）事前定義属性と自動定義属性との両方の組合せとすることができる。一実施形態では、アイテム・ベクトルの各属性はバイナリ・ビットである。システムが学習中の各アイテムには、ユーザがアイテムに持つ関心の度合を表す関連性値が割り当てられる。学習プロセス中に、バイナリ・デシジョン・ツリーが、学習中の各アイテムに関連するビット・ベクトルを使用して構築される。監督なしの学習アルゴリズムを使用して、アイテム・ベクトル（「例」とも呼ばれる）が、対応する関連性値をそれぞれ保持するデシジョン・ツリーのリーフ・ノードとしてクラスタ化される。こうしたツリーは固定サイズに制限することができ、従って、処理要件およびメモリ要件が束縛される。固定サイズに関わらず例の連続的学習を可能にするために、類似の例が結合され、古い例が無視される。本発明は、ＣＰＥデバイスへのメディアコンテンツのブロードバンド配信を実現するシステムに特に適している。なぜなら、すべての学習、順位付け、推奨、およびフィルタリングを、ＣＰＥデバイスの制約付きのコンピューティング環境内で配布（分配）することができ、制約付きコンピューティング環境内で実行することができ、ユーザの好み、関心、および閲覧習慣を記述するすべての個人データがＣＰＥデバイス内に維持され、プライバシーが向上するからである。
【００３９】
アイテム推奨を作成するために、システムは、ウェブ・サイト、オンライン・データベース、ローカル・ファイル、電子番組ガイド（ＥＰＧ）、オークション・アイテム説明などのデータ・ソースからアイテムについてのアイテム情報を周期的に収集する。学習プロセスと同様に、各アイテムは、ビットが現アイテムを表すように設定されたビット・ベクトルとして表される。こうしたベクトルがシステムの順位付けエンジン・コンポーネントに渡され、順位付けエンジン・コンポーネントは、バイナリ・デシジョン・ツリーを通じてアイテムをフィルタリングし、新しいアイテムに最も密接に合致する例のクラスタを見つける。次いで、アイテムの類似性をクラスタ内の例およびそれらに関連する関連性値と融合させる、アイテムに関する関心スコアを計算することによって、アイテムが順位付けされる。電子番組ガイド実施形態では、属性および用語ビットは、タイトル、作成日、作者、ディレクタ、プロデューサ、キャスト、ジャンルなどの情報を表す。
【００４０】
別の実施形態は、それぞれがテレビジョン視聴者の人口統計グループを表す幾つかのクラスタ化デシジョン・ツリーを使用する。これらのツリーを使用して、同一のＳＴＢを使用する所与の家庭内の視聴者の構成を求める助けとすることができ、従って、特定の時間にどの番組およびターゲット広告を推奨するかを判断する助けとすることができる。リモート・コントロール・クリックストリーム・データから、実施形態は、それぞれのクラスタ化デシジョン・ツリーを順位付けし、各デシジョン・ツリーのランキング値を累積し、年齢およびテレビジョン閲覧習慣に関して、特定の世帯で暮らす人々の数および特徴を推測する。実施形態は、例えば、誰が１日のどの時間に何の番組をセットトップ・ボックスで視聴しているかに関するデータから、家族メンバの人口統計を確認するように実装される。実施形態は、それぞれのクラスタ化デシジョン・ツリーが関心ある人口統計グループを効果的に記述する、幾つかのクラスタ化デシジョン・ツリーを事前定義する。リモート・コントロール・クリックストリーム・データから、実施形態は、各クラスタ化デシジョン・ツリーを順位付けし、各デシジョン・ツリーのランキング値を累積し、テレビジョン番組を視聴する人々の人数および特徴、年齢、ならびにテレビジョン閲覧習慣を推論する。
【００４１】
本発明の更に別の実施形態は、様々なアプリケーションによって生成された及び／又は様々なセットトップ・ボックス（１つより多いセットトップ・ボックスが存在する場合）で生成されたクラスタ化デシジョン・ツリーを比較して、ある家庭の視聴者についてより多くの情報を生成する。実施形態は、類似性アルゴリズムを使用して、類似性および相違についてツリーおよびそうしたツリーのブランチを比較する。相違は、あるテレビジョン・ユニットを別のテレビジョン・ユニットよりも好む別の視聴者を示すことになる。異なる時間での類似性は、異なる時間に異なるテレビジョンを視聴する視聴者を示す。このことは、家族、子供、寝室などに関する異なるテレビジョン・セットの識別を可能にする。重複する時間での類似性は、同じ関心および人口統計を有する家の中の複数の視聴者を示す可能性がある。これらの類似のツリー／ブランチ／クラスタ間の小さな相違は、類似の個人間の微妙な区別を定義することができる。
【００４２】
本発明の別の実施形態では、アルゴリズムは、Ｅメール・スパムをフィルタリングするように構成され、フロントエンド・プロセッサが使用されて各Ｅメール・メッセージが変換され、適切なビットが設定される。共通テキスト・フォーマット（ＣＴＦ）であり、Ｅメール・サーバから受信されるメッセージが、バイナリ属性フォーマット（ＢＡＦ）に符号化され、これは、メッセージ識別子と、関連性（関心スコア）と、メッセージ日付、時間、サイズ、ヘッダ（即ち、Ｅメール・メッセージが誰からのものか、メッセージの件名など）などの属性ビット・ベクトルと、添付ファイル（存在する場合）とを含む。クリックストリーム解析によって求められる受信側のメッセージへの関心（即ち、Ｅメール・メッセージを開くこと、またはメッセージを開くことなくメッセージを削除すること）に基づいて、実施形態は、メッセージ例をユーザに渡すかどうかや、どのように渡すかを決定する。
【００４３】
本発明の別の実施形態によれば、ユーザにアイテムを推奨するシステムおよび方法が提示される。この実施形態は、アイテム説明を生成すること、およびユーザに対する関心を引くアイテム説明を学習することを含む。この実施形態は、アイテム説明を表すためおよび類似のアイテム説明をクラスタ化するために有効な用語または属性を学習することを更に含む。この実施形態は、学習するステップに基づいてアイテム説明を推奨することを更に含む。
【００４４】
上記の実施形態の様々な任意選択の機能は、以下のものを含む。アイテム説明は、テレビジョン番組データ、広告データ、電子メール、またはウェブ・ベースのオークション・アイテム・データを構成することができる。関心のあるそれぞれの学習済みアイテムの関連性値を、クリックストリーム・データから、以下の式
（関連性値）＝（（特定の番組に費やした時間）／（合計時間））×（最大関連性値）
を使用して計算することができる。
【００４５】
ある実施形態では、最大関連性値を１２７に設定することができる。
【発明を実施するための最良の形態】
【００４６】
以下の説明は、本発明の様々な応用例に関係する幾つかの特定の実施形態および詳細を与えることによって本発明の理解を伝達するためのものである。しかしながら、本発明はこうした実施形態および詳細に限定されるわけではなく、こうした実施形態および詳細は例示的なものに過ぎないことを理解されたい。周知のシステムおよび方法に照らして、特定の設計および他の必要に応じて、本発明の初期の目的に関する本発明の使用法および任意の数の代替実施形態での特典を当業者が理解するはずであることを更に理解されたい。
【００４７】
以下の開示は、非限定的な例として、ＴＶ番組、ＴＶベースの広告、およびＥメール・フィルタリングの領域での、より個人化するシステムおよび方法を含む、本発明の実施形態に関する潜在的な応用例を詳細に考慮する。
【００４８】
過去には、テレビジョン視聴者は、印刷されたテレビジョン番組ガイドを使用して、関心のあるテレビジョン番組を識別した。典型的には、そのようなガイドは、使用可能なテレビジョン番組を時間、日付、チャネル、およびタイトルごとに列挙するグリッドを含んでいた。テレビジョン・コンテンツ・プロバイダの数が増加するにつれて、視聴者の使用可能な番組の数も増加した。世界のある地域では、ブロードキャスト・チャネルだけで数百に達する。ペイ・パー・ビュー・チャネルおよびビデオの可用性と共に、そのような印刷されたガイドを使用して視聴者が望ましいテレビジョン番組を効果的に識別するようにする能力は、非現実的となっている。
【００４９】
より最近では、テレビジョン番組ガイドが、電子番組ガイド（ＥＰＧ）とも呼ばれる電子フォーマットで使用可能となっている。ＥＰＧは、デジタル・ビデオ・レコーダと、ケーブル、サテライト、およびＩＰＴＶ配信システム用のセットトップ・ボックスと、新しいＴＶと共に使用され、各チャネル上で使用可能な又は使用可能となる現在の番組およびスケジューリングされた番組を列挙するアプリケーションである。ＥＰＧは、紙のガイドとほぼ同様に、使用可能なブロードキャスト・コンテンツの断片をグリッドで表示し、使用可能なテレビジョン番組を日付および時刻、チャネル、ならびにタイトルごとに列挙する。一部のものは、視聴者が俳優、キーワード、または他の基準で番組を見つけることを可能にする検索機能も提供する。
【００５０】
ここで図１を参照すると、テレビジョンおよび他のマルチメディア番組を複数の顧客構内に配信するシステム１００が示されている。一実装では、システム１００は、ケーブル・ネットワークなどのブロードバンド通信ネットワーク１１５に依拠する。しかしながら、他のネットワークも企図され、そのうちの３つの特定の例は、サテライト・テレビジョン・ネットワーク、サテライト無線ネットワーク、およびＩＰＴＶネットワークである。
【００５１】
一構成では、システム１００は、例えば顧客構内に位置する、複数のセットトップ・ボックス（ＳＴＢ）１４０（ａ）〜１４０（ｎ）を含む。一般に、ＳＴＢ１４０は、顧客のテレビジョン１５０（ａ）〜１５０（ｎ）とネットワーク１１５との間のゲートウェイとして働くコンシューマ（消費者用）・エレクトロニクス・デバイスである。あるいは、ＳＴＢ１４０（ａ）〜１４０（ｎ）を、より一般的に、ＳＴＢが有線ＬＡＮやワイヤレスＬＡＮなどのホーム・ブロードバンド接続性と整合されつつあることを示す、「ホーム・マルチメディア・プラットフォーム」または「インターネット・プロトコル・セットトップ・ボックス」として実施することもできる。
【００５２】
図１に示されるように、ＳＴＢ１４０は、ネットワーク１１５から直交振幅変調（ＱＡＭ）符号化テレビジョン信号および他の情報を受信し、ネットワーク１１５は、例えば、ＭＰＥＧ−２（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ）などのフォーマットで符号化された信号をケーブル・ヘッド・エンド機構１３０へ送信するデジタル・テレビジョン番組１１０のソースからなる。更に、ケーブル・ヘッド・エンド機構は、とりわけＺａｐ２Ｉｔ（商標）、ＴＶ  Ｇｕｉｄｅ（商標）、およびビデオ・オン・デマンド（ＶＯＤ）カタログなどの１または複数のリスティング・サービス１２０から、電子番組ガイド（ＥＰＧ）を受信する。ケーブル・ヘッド・エンド機構は、個々のテレビジョンや他のディスプレイ・ユニットに表示されるＭＰＥＧ−２符号化信号をＥＰＧと共に個々のＳＴＢへ送信する。
【００５３】
視聴者がより迅速かつ容易に関心のある番組を識別する能力を高めるように、本発明の幾つかの実施形態に従ってＥＰＧを改善することができる。例えば、多くの視聴者は、アクション・ベースの番組やスポーツ番組などの、あるカテゴリの番組に対する好みまたは偏見を有する。こうした視聴者プリファレンス（嗜好）をＥＰＧに適用することにより、特定の視聴者の関心を引く番組をより効果的に見つけることができる。
【００５４】
ＥＰＧの制限に対処するために、ビデオ番組推奨を作成することのできるシステムが開発されている。一部は、ＮｅｔＦｌｉｘ、ＴｉＶｏ、およびＭｏｖｉｅＬｅｎｓによって提供されるもののように、主に協調フィルタリングに基づく。Ｇｕｔｔａの米国特許第６７２７９１４号に記載されているような他のものは、コンテンツ・ベースの手法を取る。協調フィルタリング、コンテンツ・ベースの推奨、および明示的フィードバックを組み合わせた態様を使用して、より良好な解決策を得ることができる。視聴者が視聴者自身についての情報を明示的に入力する必要を最小限に抑えるために、一部のシステムは、視聴者が視聴するチャネル（または視聴者が押すボタン）を追跡して、バックグラウンドで視聴者の関心を学習しようと試みる（「クリックストリーミング（clickstreaming）」とも呼ばれる）。こうしたシステムの多くは、視聴者が関心のある番組を見つけるための能力を改善することに成功している。しかしながら、多くは、依然として、上述の協調フィルタリングおよびコンテンツ・ベースの手法の欠点の幾つかを受けている。
【００５５】
テレビジョン・ベースの広告の分野では、現在のところ、番組中に放送されるコマーシャルは、その番組を視聴する人々に訴えると予想されるものである。このタイプの人口統計ターゲティングはきめが粗いものである。視聴者のうちのほんのわずかしかコマーシャルに関心を示さないことが周知である。より多くの場合、視聴者はチャネルを切り換え、またはセットから立ち去る。より個人を対象として広告を配信するための方法が開発されている。こうした方法は、先に論じた協調フィルタリング、コンテンツ・ベースの技法、およびクリックストリーム技法を活用し、製品およびサービス・プロバイダと関心のある顧客とをより良好に合致させることを約束する。必要とする視聴者による労力が最小であり、視聴者の関心と最も密接に合致し、視聴者のプライバシーの権利および期待を尊重する方法が一般には最も成功したものとなる。
【００５６】
Ｅメールの受け入れが浸透すると共に、望ましくない大量Ｅメーリング（「スパム」とも呼ばれる）が急増する。スパムの氾濫を除去するために、システム管理者がスパマ（スパム送信者）のＩＰアドレスのリストを維持し、そうしたアドレスからのＥメールをブロックするローカル・ブラックリスティングや、ウェブ・サイトがブラックリストを共有する分散ブラックリストや、受け入れられるＥメーラのリストを作成し、そのリスト上の送信側からのみＥメールを許可するホワイトリスティング（リスト上にない正当な送信側からのＥメールも遮断する）や、スパムに関連するワードをスコアリングし、スコアに基づいて新しいメッセージを解析するベイズのフィルタリングなどのフィルタリング技法が、発明された。スパムをフィルタリングする他の方式は、信頼される鍵を有するメールのみを受諾すること（関連する鍵を有さない非スパムＥメールを除去することもできる）や、メール・サーバが一時的エラーを伴う新しいメッセージを拒否し、受信側Ｅメール・アドレス、ソースＥメール・アドレス、およびソースＩＰに関する配信試行を記憶するグレイリスト技法（真正なメッセージを、最初の試行からある時間が経過するまで拒否することもあり、正当なメール配信に関してある程度の遅延が導入される）を含む。スパマは、こうした保護を回避する新しい方法を見つけつつある。望ましくない電子メールをフィルタリングするより堅牢なシステムおよび方法を有することが有益なはずである。
【００５７】
本発明の実施形態は、典型的に、主コンテンツ・ベースの手法を使用し、これは、帰納学習技法を使用して、処理時間およびメモリ空間の点で効率的であり、ユーザからの明示的な入力を必要とせず、上述の協調フィルタリングおよびコンテンツ・ベースの推奨システムの他の欠点のうちの幾つかを回避する方式で、ユーザの好き嫌いを学習する。その様々な応用例の中でも、ＴＶ番組推奨および映画推奨、製品／サービス推奨、ターゲット広告を行い、望ましくないＥメールをフィルタリングするために、本発明の実施形態を使用することができる。
【００５８】
本発明の幾つかの実施形態は、人工知能および情報検索、とりわけ帰納学習およびベクトル空間モデリングの分野からの技法を活用することができる。
多種多様な実施形態はＩＰＧＸ、Ｉｎｔｅｒａｃｔｉｖｅ  Ｐｒｏｇｒａｍ  Ｇｕｉｄｅ  ｅｘｔｅｎｓｉｏｎ（対話式番組ガイド拡張）と呼ばれる。ＩＰＧＸはＥＰＧを拡張して、視聴者にマルチメディア番組推奨を提供する。
【００５９】
ＩＰＧＸ実施形態では、配布システムから使用可能な各番組が、ＩＰＧＸサーバ実施形態上のトランスレータ・モジュール３４０（図３）により、下記のフィールドからなるバイナリ属性フォーマット（ＢＡＦ）に符号化される。それらのフィールドは、Ｐｒｏｇｒａｍ  Ｉｄｅｎｔｉｆｉｅｒ（番組識別子）、Ｉｎｓｔａｎｃｅ  Ｉｄｅｎｔｉｆｉｅｒ  Ａｄｄｅｎｄｕｍ（インスタンス識別アドレス番号）、Ｒｅｌｅｖａｎｃｅ（関連）、Ａｔｔｒｉｂｕｔｅ  Ｂｉｔ  Ｖｅｃｔｏｒ（属性ビットベクトル）、Ｔｅｒｍ  Ｂｉｔ  Ｖｅｃｔｏｒ（用語ビットベクトル）、Ｔｅｒｍ  Ｃｏｕｎｔ（用語カウント）、およびＴｅｒｍ  Ｌｉｓｔ（用語リスト）である。これらのセグメントのそれぞれについての詳細は、付録Ｂを参照されたい。
【００６０】
Ｒｅｌｅｖａｎｃｅ、Ａｔｔｒｉｂｕｔｅ  Ｂｉｔ  Ｖｅｃｔｏｒ、Ｔｅｒｍ  Ｂｉｔ  Ｖｅｃｔｏｒ、Ｔｅｒｍ  Ｃｏｕｎｔ、およびＴｅｒｍ  Ｌｉｓｔの各セグメントは、ＩＰＧＸ実施形態の動作に関係する。
【００６１】
Ｒｅｌｅｖａｎｃｅは、視聴者の特定の番組への関心を定量化する０から２５５の範囲の整数である。その値は、ＩＰＧＸクライアント実施形態（図４）により、クリックストリーム解析によって求められる、視聴者の番組への関心に基づいて設定される。Ｒｅｌｅｖａｎｃｅ値は、ＩＰＧＸプリファレンス・ツリー内に格納され、正規化（即ち０〜２５５の範囲の整数）される。
【００６２】
Ａｔｔｒｉｂｕｔｅ  Ｂｉｔ  ＶｅｃｔｏｒおよびＴｅｒｍ  Ｂｉｔ  Ｖｅｃｔｏｒとして符号化された情報は、Ｚａｐｉｔ（商標）３１０（ａ）、Ｙａｈｏｏ（商標）、ＴＶ  Ｇｕｉｄｅ（商標）３１０（ｂ）、ＶＯＤカタログ３１０（ｎ）などのソースから抽出された番組情報から構成される共通テキスト・フォーマット（Common Text Format）からコンパイルされる。Ｂｉｔ  Ｖｅｃｔｏｒは、所与のＩＰＧＸ実施形態の学習機能および順位付け機能を駆動するのに使用される。
【００６３】
Ａｔｔｒｉｂｕｔｅ  Ｂｉｔ  Ｖｅｃｔｏｒは、共通テキスト・フォーマットで定義された固定属性を表すビットを有する６４ビット構造である。これらは、番組放送時間、番組コスト、実行時間、年齢適合性、品質レーティング、制作年、ＭＰＡＡ型レーティング、コンテンツについての勧告、番組タイプ、番組ジャンルなどの属性である。
【００６４】
Ｔｅｒｍ  Ｂｉｔ  Ｖｅｃｔｏｒは、共通テキスト・フォーマットで定義された可変属性を表すビットを有する６４ビット構造である。これらは、番組タイトル、サブタイトル、説明、俳優、作者、ディレクタ、プロデューサ、サブジャンル、およびチャネル名を含む。可変属性は、新しい俳優、作者、ディレクタ、およびプロデューサが頭角を現したり、新しいチャネルがラインに乗ったり、新しいタイトルが公開されると変化する、時間とともに変化する無制限の１組の用語にわたるものである。このベクトルは、番組説明から抽出されたワードも収容する。
【００６５】
Ｔｅｒｍ  ＣｏｕｎｔおよびＴｅｒｍ  Ｌｉｓｔは、用語をＴｅｒｍ  Ｂｉｔ  Ｖｅｃｔｏｒ（用語ビットベクトル）中のビットに割り当てるときに、ＩＰＧＸクライアントによって使用される。
【００６６】
例示的実施形態のＩＰＧＸプロセスの全体の流れが図２に示される。図示されるステップは、図３および図４にそれぞれ示されるＩＰＧＸサーバおよびＩＰＧＸクライアントの例示的実施形態で実施される。
【００６７】
ステップ２２０では、アイテム説明がＩＰＧＸサーバ・プロセスによって生成され（図３）、それぞれのアイテム説明は、別個のＢＡＦ要素によって表される別個の番組に対応する（ＩＰＧＸ実施形態では、アイテムは、テレビジョン番組、映画、ＶＯＤ番組、およびペイ・パー・ビュー・オファリングなどのマルチメディア・コンテンツである）。ステップ２２０に関連するプロセスは、非限定的な例として、Ｚａｐ２ｉｔ（商標）、ＴＶ  Ｇｕｉｄｅ（商標）、およびＶＯＤカタログ３１０（ａ）、３１０（ｂ）、．．．、３１０（ｎ）などのソースからの生番組説明３２０（ａ）、３２０（ｂ）、．．．、３２０（ｎ）の検索や、生説明の共通テキスト・フォーマット３３０（ａ）、３３０（ｂ）、．．．、３３０（ｎ）への変換や、共通テキスト・フォーマットからバイナリ属性フォーマット（３４０）への変換や、Ｗｉｎｄｏｗｓ（商標）、Ｌｉｎｕｘ（商標）などのオペレーティング・システム上で動作するマルチスレッドのマルチユーザの構造化されたクエリ言語リレーショナル・データベースであるＭｙＳＱＬなどの信頼性が高く容易にプログラム可能なデータベースである番組データ・リポジトリ３５０に格納される用語辞書（図６）中の抽出された用語の保守を含む。番組データ・リポジトリ３５０は２つのタイプのレコードを含むように構成され、それらは、番組データ・ブロードキャスタ３６０によって読み取られる、番組データ・トランスレータ・モジュール３４０から受け取る属性フォーマットの番組情報と、番組データ・トランスレータによって読み取り及び変更がなされる用語に割り当てられる数値識別である用語マッピングとである。番組データ・ブロードキャスタ３６０は、現在と将来のセグメントについてのすべての番組情報を含むインバンド・データ・カルーセル（in-band data carousel）の内容を維持し、そのようなインバンド・カルーセルは、Ｓｃｉｅｎｔｉｆｉｃ−Ａｔｌａｎｔａブロードキャスト・ファイル・システム（ＢＦＳ）であってもよく、これは、その内容をセットトップ・ボックスに対して再生することを可能にするものであり、または、独自のカスタム化したデータ・カルーセルでよい。任意の時間に、ビデオ・オン・デマンド番組ならびに外部番組を含む、加入者にとって使用可能なすべての番組が、現在のおよび幾つかの数の将来の番組のセグメントのためのインバンド・データ・カルーセルで定義される。番組データ・ブロードキャスタ３６０は、ビデオ・オン・デマンド、レンタルなどの一定のインスタンス識別子で、オンデマンド番組に関するすべての番組説明をフェッチし、適切なインスタンス識別子、番組説明内の放送日時関連の属性ビット、を生成し、最後に、使用可能な番組を記述するＢＡＦデータをＩＰＧＸクライアント実施形態（図４）へ送信する。ある実施形態では、ＢＡＦアイテム説明は、双方向通信ネットワークを介する要求時に単独でまたはグループとして使用可能であり、双方向通信ネットワークは、例えば、ＣＰＥデバイス（即ちセットトップ・ボックス）とヘッドエンド内のサーバとの間の双方向インターネット・プロトコル・ネットワーキングを提供する、デジタル・ケーブル・テレビジョン配布システムで使用可能な帯域外チャネ���などである。
【００６８】
ＩＰＧＸクライアントで受信されると、関心のあるアイテムは、視聴者履歴コレクタ・モジュール４２０を使用してステップ２３０で識別される。このコンポーネントおよびステップの一実施形態は、付録Ａに記載のクリックストリーム・アルゴリズムを使用してこの学習を実施する。クリックストリーム・アルゴリズムは、ＴＶリモート・コントロールのクリックを解析することにより、視聴者の番組への関心を記述する関連性値（関心スコアとも呼ばれる）を番組に割り当てる。関連性値に基づいて、ＩＰＧＸクライアント・ソフトウェアは、学習するようにＩＰＧＸ学習エンジン４４０へ番組例を渡すか否かを判定する（この実施形態では、一定の関連性しきい値を超える「リンクされる」番組のみが、学習される）。それぞれの番組例は、適切に設定された属性ビット・ベクトル（６４ビット）およびその関連する関連性値を備える。ステップ２３０では、本発明の実施形態は、視聴者が最も好む番組を学習するように構成される。
【００６９】
次のステップ２４０では、ＩＰＧＸ学習実施形態４４０は、関心のある番組を記述するのに最も有用な可変用語（図５、ｔ１〜ｔ６４）を解析して、それを用語マップを介して用語ビット・ベクトルのビットに割り当てることによって、用語マッピングを実施するように構成される。これを行うために、学習エンジンは、関心のある番組に関連する特定の用語に遭遇する回数を追跡し、しきい値に達したとき、学習エンジンは、その用語を、そのセットトップ・ボックスについての用語ビット・ベクトルに追加する。用語が強い視聴者プリファレンスを表すことを保証し、かつ限られた数の使用可能なビットを有効に使用するために、倹約して用語が追加される。このステップ２４０は、視聴者がどのようなコンテンツ特徴または属性（俳優、チャネル、ディレクタ、タイトル・ワードなど）を最も好むか（即ち最も頻繁に視聴するか）を学習しようと試みる。このステップが行われた後には、関心のある番組を表す完全なビット・ベクトル（およびその関連する関連性値）を適切なクラスタに割り当てる準備ができている。
【００７０】
ステップ２５０では、システムは、クラスタ化デシジョン・ツリーを使用して、ステップ２３０で識別された関連する例から、関心のあるアイテム（即ち番組例）を認識するように学習する。このことは、前のステップで生成された完全なビット・ベクトルを使用して例からオンザフライで構築されるバイナリ・デシジョン・ツリー（ＩＰＧＸプリファレンス・ツリー実施形態）を使用して、実施される。ツリーのノードは、ビット・ベクトル中のビットの値に基づいて（１ノード当り１ビット判断）、所与の例を次にどのノードへルーティングするかを決定する判断論理に対応する。ツリーのリーフは、例ベクトルおよびその関連する関連性値を格納する。リーフ・ノードは新しいリーフ・ノードに分割され、必要に応じてツリーが再編成される。クラスタは、デシジョン・ツリー論理によって計算される類似の属性を有する「リンクされる」番組のグループである。
【００７１】
最後にステップ２６０では、ビット・ベクトルとして表される新しい番組が、その視聴者にとっての潜在的な関心を評価するために、ＩＰＧＸ順位付けエンジン実施形態４３５へ渡される。ＩＰＧＸプリファレンス・ツリーを使用して、候補番組が、最も類似した例を含むクラスタへとフィルタリングされ、他の番組に対しての候補番組の順位付けを行うためにスコアが生成される。スコアは、クラスタ内の候補番組と例番組との間の、これら例番組の関連性値と組み合わせた、類似性の尺度である。最も関連する例と最も似ている候補番組が最高のスコアを受ける。クラスタおよび番組推奨の品質についてのフィードバックを使用して、何れの属性が使用されるか及びどのようなクラスタが形成されるかを、変更することができる。
【００７２】
ある実施形態で使用される情報検索および機械学習の方法は、多くの特徴を共通に有し、組み合わせて使用したときにそれらが非常に互換性が高く、強力となる。こうした特徴は、非限定的な例として以下のもの
・説明用語（特徴または属性とも呼ばれる）のベクトルとしてコンテンツを表現する、
・双方がエレメント間の類似性の計算をサポート：ＩＰＧＸ実施形態では、比較されるエレメントは、「リンクされる」番組（学習時）および新しい番組（順位付け時）の例である、
・類似性計算が、結果を順位付けするのに適した「接近度」値を提供する、
・双方のフィールドが、比較的ノイズの影響を受けず且つ計算および格納の点で効率的の良い、類似のコンテンツをクラスタ化する技法を提供する、
・ベクトル空間モデルおよびデシジョン・ツリーの技法は、比較的単純かつ透明であり、従って分析および検証が容易となる、
を含む。
【００７３】
この実施形態で活用される情報検索に特有の技法は以下のもの
・用語辞書に含まれる用語名を構築するための、記述テキストのステミングおよびリスティング停止、
・何れの用語が重要であるかを判定するため、即ち、属性として使用するのに最良の候補を判定するために、可変用語の頻度カウントがサーバ（用語辞書）およびクライアント（用語マップ）に維持される、
・中程度の頻度の用語が、関心のあるコンテンツを識別する際に最も高い値を有する属性として一般に選ばれる、
を含む。
【００７４】
機械学習領域では、ＩＰＧＸ実施形態は、バイナリ・デシジョン・ツリーを使用して番組例をクラスタ化する。ＩＰＧＸ実施形態は、監督なしの学習技法を使用して、増強型でツリーを構築する。
【００７５】
この実施形態の幾つかの固有の態様は、非限定的な例として以下のもの
・上記の技法を組み合わせての使用、
・ｉＴＶ推奨／個人化システムでの上記の技法の使用、
・あるデータ構造およびほとんどの処理が、配布システム・ヘッド・エンドではなくセットトップ・ボックスに局所化される、「エッジ」（シック・クライアント）指向、
・コンテンツ属性を自動的にオンザフライで学習する能力、
・ユーザ・プリファレンスが不透明データ構造でセットトップに常駐し、個人の視聴者には容易にはトレース可能ではなく、それによってプライバシーが促進される、
を含む。
【００７６】
以下の段落は、典型的なＩＰＧＸ実施形態の主なデータ構造である属性ビット・ベクトルおよび用語ビット・ベクトル、用語辞書、用語マップ、ならびにデシジョン・ツリーを論じる。
【００７７】
属性ビット・ベクトルおよび用語ビット・ベクトルは、デシジョン・ツリーを構築し、番組間の類似性を計算するのに適した方式で番組を表現するのに使用される。こうしたベクトルは、様々な番組特徴およびコンテンツを表すビットからなる。ＩＰＧＸ実施形態は、典型的に、こうしたベクトル（即ち名前ビット・ベクトル）中の各エレメントについてバイナリ値を使用する。整数、文字列、または他のデータ・タイプの代わりにブール・ビットがセットトップ環境に適しており、良好な総合的性能を実現する。
【００７８】
こうした特徴がより良く番組を表すほど、クラスタ化、順位付け、および総合的システム性能が良くなる。
完全なビット・ベクトルは以下のように
（ａ１  ａ２  ａ３．．．ａ６４  ｔ１  ｔ２  ｔ３．．．ｔ６４）
表すことができる。
【００７９】
ここにおいて、ａ１．．．ａ６４は、６４個の固定属性ビット（属性ビット）を表し、非限定的な例としては下記のようである。
a1=SCHED_WEEKDAY（スケジュール＿平日）
a2=SCHED_SCHOOLNIGHT（スケジュール＿学校のある日の前日の夜）
a3=SCHED_DAYTIME（スケジュール＿昼間）
a4=SCHED_AFTERSCHOOL（スケジュール＿放課後）
a5=SCHED_PRIMETIME（スケジュール＿プライムタイム）
a6=SCHED_LATENIGHT（スケジュール＿深夜）
a7=COST_FREE（コスト＿無料）
a8=COST_EXPENSIVE（コスト＿高価）
a9=RUNNINGTIME_SHORT（ラン時間＿短い）
a10=RUNNINGTIME_MEDINM（ラン時間＿中）
a11=RUNNINGTIME_LONG（ラン時間＿長い）
a12=AGE_KIDS（年齢＿子供）
a13=AGE_TEENS（年齢＿ティーン）
a14=AGE_ADULT（年齢＿大人）
a15=QUALITY_STINKS（品質＿悪い）
a16=QUALITY_WATCHABLE（品質＿見る価値あり）
a17=QUALITY_WONDERFUL（品質＿素晴らしい）
a18=COLOR（色）
a19=YEAR_OLD（年＿古い）
a20=YEAR_DATED（年＿時代遅れ）
a21=YEAR_MODERN（年＿近代）
a22=YEAR_CURRENT（年＿現在）
a23=ADVISORY_NUDITY（勧告＿ヌード）
a24=ADVISORY_SEX（勧告＿性）
a25=ADVISORY_VIOLENCE（勧告＿暴力）
a26=ADVISORY_LANGUAGE（勧告＿下品な言葉）
a27=TYPE_SERIES（タイプ＿シリーズ）
a28=TYPE_SPECIAL（タイプ＿特別番組）
a29=TYPE_SPORTS（タイプ＿スポーツ）
a30=TYPE_MOVIE（タイプ＿映画）
a31=TYPE_NEWS（タイプ＿ニュース）
a32=TYPE_TALK（タイプ＿トーク）
a33=TYPE_PAID（タイプ＿支払い）
a34=TYPE_OTHERTYPE（タイプ＿他のタイプ）
a35=GENRE_DRAMA（ジャンル＿ドラマ）
a36=GENRE_ACTION（ジャンル＿アクション）
a37=GENRE_WESTERN（ジャンル＿西部劇）
a38=GENRE_SCIFI_FANTASY（ジャンル＿ＳＦ）
a39=GENRE_COMEDY（ジャンル＿コメディ）
a40=GENRE_MUSICAL（ジャンル＿ミュージカル）
a41=GENRE_MYSTERY（ジャンル＿ミステリー）
a42=GENRE_THRILLER（ジャンル＿スリラー）
a43=GENRE_ADVENTURE（ジャンル＿冒険）
a44=GENRE_HORROR（ジャンル＿ホラー）
a45=GENRE_ROMANCE（ジャンル＿ロマンス）
a46=GENRE_FAMILY（ジャンル＿家族）
a47=GENRE_ANIMATION（ジャンル＿アニメーション）
a48=GENRE_CHILDREN（ジャンル＿子供）
a49=GENRE_OTHERGENRE（ジャンル＿他のジャンル）
a50=reserved（予備）
a51=reserved
a52=reserved
a53=reserved
a54=reserved
a55=reserved
a56=reserved
a57=reserved
a58=reserved
a59=reserved
a60=reserved
a61=reserved
a62=reserved
a63=reserved
a64=reserved。
【００８０】
属性が「１」に等しい場合、その属性は現番組について真である。「０」である場合、その属性は現番組について偽である。
付録Ｂに記載のように、多くの場合に固定属性が、連続的範囲または多数の選択肢にわたるソース属性から統合されている（このことは、「次元縮小」と呼ばれることもある）。例えば、番組制作年（ＹＥＡＲ）が、ＯＬＤ、ＤＡＴＥＤ、ＭＯＤＥＲＮ、およびＣＵＲＲＥＮＴという４つの日付範囲に変換されており、番組ジャンル（ＧＥＮＲＥ）が、最も重要であるとみなされる１５ジャンルに整理されている。このことは２つの利点を有する。すなわち、（１）データに対するより単純かつ高速なビット演算が可能となる、（２）分類および順位付けのためにデータを過度に制限（オーバーフィッティング）することを回避する。
【００８１】
ｔ１．．．ｔ６４は、６４個の可変属性ビット（用語ビット）を表す。
用語ビットは、視聴される番組の説明中に用語が現れる頻度に基づいて、各セットトップ・ボックスについて一意的に定義される（これらの用語は、ＩＰＧＸサーバ実施形態から送られるＢＡＦのＴｅｒｍ  Ｌｉｓｔに含まれる用語である）。それらは、サーバ上の用語辞書に維持され、用語マップを使用してセットトップ上で追跡される。用語マップは、「最も重要な」用語（関心のある番組に対する比較的大きい統計的に有意な相関を有するもの）を、用語ビット・ベクトルのビットにマッピングする。
【００８２】
例えば、図８に示される用語マップが与えられたとすれば、仮定のセットトップ・ボックスについてのビット定義は以下のようになる。
ｔ１＝６８７（Ａｒｕｓｓｅｌｌ  ｃｒｏｗｅを表すＩＤ）
ｔ２＝９５６（Ｃ１１８３７、チャネル＝ＥＳＰＮ２を表すＩＤ）
ｔ３＝０（Ｇｓｏｃｃｅｒを表すＩＤ）
ｔ４＝３４（Ｄｒｏｎ  ｈｏｗａｒｄを表すＩＤ）
ｔ５〜ｔ６４＝割当てなし。
【００８３】
これらのビットは、Ｒｕｓｓｅｌｌ  Ｃｒｏｗｅ（ラッセル・クロウ）が俳優として出演し、ＥＳＰＮ２で放送され、サブジャンルＳｏｃｃｅｒ（サッカー）に含まれ、Ｒｏｎ  Ｈｏｗａｒｄによって監督される番組に関するプリファレンス（好み）を示す。クライアントで使用される用語が識別番号として符号化されることに、留意されたい。これらのＩＤはサーバによって定義され、用語辞書内の基礎をなすストリングにマッピングされる。
【００８４】
図５は、２００１年の映画「Ａ  Ｂｅａｕｔｉｆｕｌ  Ｍｉｎｄ」に関する完全なサンプル・ビット・ベクトルを示す。
このベクトルは、この映画について以下のことを示す。
【００８５】
・番組が土曜日の晩に視聴された（ＳＣＨＥＤ＿ＷＥＥＫＤＡＹ、属性ａ１、図５の５１０、およびＳＣＨＥＤ＿ＳＣＨＯＯＬＮＩＧＨＴ、属性ａ２、５２０が設定されず（土曜日を示唆する）、ＳＣＨＥＤ＿ＡＦＴＥＲＳＣＨＯＯＬ、属性ａ４、５３０およびＳＣＨＥＤ＿ＰＲＩＭＥＴＩＭＥ、属性ａ５、５４０が設定されている（夜を示唆する）ため）
・閲覧するためのコストが＄０から＄５の間であった（属性ａ７、５５０、ａ８、５６０のどちらのＣＯＳＴビットも設定されないため）
・実行（ラン）時間が＞１２０分であった（ＲＵＮＮＩＮＧＴＩＭＥ＿ＬＯＮＧ；実際には＝１３５分）
・レーティングはＰＧ−１３であった（ＡＧＥ＿ＫＩＤＳおよびＡＧＥ＿ＴＥＥＮＳがどちらも設定され、レーティングはＧとＲの間であったことを示すため）
・ＱＵＡＬＩＴＹ（品質）がＷＯＮＤＥＲＦＵＬ（素晴らしい）とレーティングされた（評論に基づいて）
・カラー・フィルム
・制作年は１９９０から昨年までの間であった（ＹＥＡＲ＿ＭＯＤＥＲＮ：実際には２００１年）
・性および暴力について勧告が示された（こうした用語は、ＭＰＡＡ説明フィールドから構文解析されるため）
・ＴＹＰＥ（タイプ）はＭＯＶＩＥ（映画）である
・ＧＥＮＲＥ（ジャンル）はＤＲＡＭＡ（ドラマ）およびＲＯＭＡＮＣＥ（ロマンス）である
・Ｒｕｓｓｅｌｌ  Ｃｒｏｗｅが俳優として出演し、Ｒｏｎ  Ｈｏｗａｒｄがディレクタである（用語ビットｔ１およびｔ４に対応し、双方とも、セットトップ用語マップに割り当てられている）
（上記の各黒丸を更に理解するには、付録Ｂで提供されるビット定義を参照されたい）。
【００８６】
「Ａｅｄ  ｈａｒｒｉｓ」、「Ａｊｅｎｎｉｆｅｒ  ｃｏｎｎｅｌｌｙ」、「Ａｃｈｒｉｓｔｏｐｈｅｒ  ｐｌｕｍｍｅｒ」、「Ａｊｏｓｈ  ｌｕｃａｓ」、「Ｔｂｅａｕｔｉｆｕｌ」、「Ｔｍｉｎｄ」、「Ｓｂｒｉｌｌｉａｎｔ」、「Ｓａｓｏｃｉａｌ」、「Ｓｍａｔｈｅｍａｔｉｃｉａｎ」、「Ｓｃｒｙｐｔｏｇｒａｐｈｙ」、「Ｓｎｉｇｈｔｍａｒｅ」などの追加の可変用語（最大６４個）が、この映画に関連するものとしてセットトップへ送られた可能性が高いことに留意されたい。しかしながら、これらの用語の何れも用語マップに割り当てられたビットに対応しないので、これらの用語は用語ビット・ベクトルに割り当てられず、従って学習または順位付けのために使用されなかった。
【００８７】
別の実施形態では、固定属性ビットが使用されない。その代わりに、すべての属性が用語ビットであり、それらは、所与のセットトップ・ボックスで番組例に対する相関有意性に基づいて、ビット・ベクトルで使用するように動的に採用される。
【００８８】
すべての番組が、特定の番組に対して適切に設定されたビットを有するこうした属性を使用するベクトルによって、表される。
ＩＰＧＸサーバ実施形態では、番組説明から抽出された用語を追跡するために、辞書が維持される。これらは、用語ビット・ベクトルをポピュレートするのに使用される用語である。辞書は、用語名、すべての番組説明内で各用語が現れる回数のカウント（用語頻度）、およびセットトップ・ボックスで用語を参照するのに使用されるグローバルＩＤ（用語番号）を含む。
【００８９】
用語名は、用語のタイプを指定するために固有文字の先頭に付加される。付録Ｂに記載のように、現在のタイプはＧ（サブジャンル）、Ｔ（タイトル）、Ｓ（サブタイトルおよび説明ワード）、Ａ（俳優／キャスト・メンバ）、Ｄ（ディレクタ）、Ｐ（プロデューサ）、Ｗ（作者）、およびＣ（チャネル）である。これらの分類は用語の意味を示す。
【００９０】
以下のリストは、用語辞書に格納された用語のタイプの例を列挙する。
サブジャンル：
Gsoccer
Gcurling
Gmusicalcomedy
Gsitcom
Gsuspense
タイトル：
Tgladiator
Tseinfeld
Twide world of sports
Tthe sopranos
T60 minutes
Tthe sound of music。
【００９１】
サブタイトルおよび説明ワード：
Swashington
Sredskins
Svs
Sdallas
Scowboys
Scycling
Scryptography
Sbeautiful
Smind
Sjerry
Spuffy
Sconvince
Spirate
Sshirt。
【００９２】
俳優：
Adanny devito
Aron howard
Ajerry seinfeld
Ahelen hunt
Aclint eastwood
Ajames earl jones
Ajulie andrews。
【００９３】
ディレクタ：
Dridley scott
Dron howard
Dsteven spielberg
Dgeorge Lucas
Drobert wise。
【００９４】
プロデューサ：
Pron howard
Pmichael crichton
Pmatt groening。
【００９５】
作者：
Wgeorge lucas
Wlarry david
Wj w johnston。
【００９６】
チャネル・インスタンス：
C11837(例えば、ＥＳＰＮ２に対するチャネル・コード)
C33104
C33987。
【００９７】
図６は、用語辞書の一例を示す。この例では、適切な頻度を有する用語（図７参照）のみに用語番号（Ｔｅｒｍ＃）（グローバルＩＤとも呼ばれる）が割り当てられ、従って、学習および順位付けで使用される対象となる。
【００９８】
用語番号の現データ・タイプは無符号１６ビット整数である。従って、６５５３６個の用語を割り当てることができる。
用語は、用語タイプに応じて異なる方式で処理される。図７は、それぞれについての関連する処理を要約する。「Ｘ」は「イエス」を示す。エントリの欠如は「ノー」を示す。
【００９９】
ＭＡＸフィルタおよびＭＩＮフィルタは、所与のしきい値を超える頻度または所与のしきい値未満の頻度を有する用語についてのカットオフを示す。範囲内の頻度を有する用語のみに、ＢＡＦに含まれる用語番号が割り当てられ、クライアントへ送られて学習または順位付けされる。何れの用語が用語ビット・ベクトルに含まれるかを判定する際に、追加のフィルタリングがクライアントで行われる。
【０１００】
用語ビット・ベクトルのビットへの用語のマッピングは、セットトップ用語マップを使用して実施される。この構造は、セットトップへ送られるＢＡＦ用語リストで見つかる関心のある番組に関連する用語を追跡する。
【０１０１】
図８に示されるように、このマップは一般に、用語（サーバの用語辞書に格納された用語文字列に対応する）を一意的に識別するサーバによって割り当てられたグローバル用語ＩＤ（用語番号）、用語頻度（ＩＰＧＸ学習エンジン実施形態に従う視聴される番組で用語が見つかる回数）、およびビット割当て（存在するならば、このセットトップ・ボックスについての用語ビット・ベクトルにおいて何れのビットに用語が割り当てられているか）を含む。
【０１０２】
図８に戻ると、上記の例では、このセットトップ・ボックスについての用語ビット・ベクトルに４ビットが割り当てられていることを強調しておく。その４ビットは、
・ビット１＝用語番号６８７、キャスト・メンバとしてのＲｕｓｓｅｌｌ  Ｃｒｏｗｅに対応
・ビット２＝用語番号９５６、チャネルＣ１１８３７（ＥＳＰＮ２）に対応
・ビット３＝用語番号０、サッカーというサブジャンルに対応
・ビット４＝用語番号３４、ディレクタとしてのＲｏｎ  Ｈｏｗａｒｄに対応。
【０１０３】
これらの用語のそれぞれは、最大関連性アイテム（即ち、最大の関連性を有するＢＡＦ例）で十分な回数だけ遭遇されており、用語ビットとしての割当てに値する。従って、これらの用語が、このセットトップ・ボックスについての番組を学習および順位付けするために使用される。
【０１０４】
デシジョン・ツリーは、典型的なＩＰＧＸプリファレンス構造のコアを提供する。デシジョン・ツリーは、単変量バイナリ・ツリーの形を取る。そのようなツリーは、以下のように再帰的に特徴付けることができる。
【０１０５】
１．単一のリーフ・ノードまたはバイナリ・サブツリーから構成される。
２．バイナリ・サブツリーは、２つのサブノードを有するデシジョン・ノードからなり、各サブノードは、別のバイナリ・サブツリーまたはリーフ・ノードであってよい。
【０１０６】
３．それぞれのデシジョン・ノードは、１つのブール属性をテストし、適切なリーフ・ノードへの途中で、次にどのノードへ訪問するかを判定する。
４．リーフ・ノードは、例えば最大１６個の、それぞれが関連する関連性値を有する例番組ベクトルを含む端末ノードである。
【０１０７】
図９は、一般的なバイナリ・デシジョン・ツリーの例を示す。最初の例９（ａ）は、ツリーが幾つかの例ベクトルを含む単一のリーフからなる特殊なケースである（スタートアップ・ケース）。他の例９（ｂ）、９（ｃ）、９（ｄ）は、より成長したバイナリ・ツリーを示す。
【０１０８】
ＩＰＧＸデシジョン・ツリー実施形態は、属性ビット・ベクトルおよび用語ビット・ベクトルで提供されるビットを使用して、セットトップ・ボックスの閲覧（視聴）履歴を符号化する。一実施形態では、「リンクされる」番組のみがツリーで学習される。それぞれの番組がリンクされた度合が、その番組に関する関連性値として符号化される。その情報がリーフ・ノードにおいて番組ベクトルと共に格納される。
【０１０９】
ＩＰＧＸツリー実施形態が例番組ベクトルから増強型で構築され、類似の番組をリーフ・ノードへと自動的にクラスタ化する。
リーフ・ノードに格納された例ベクトルは日付順に保たれ、リーフが「フル（満杯）」であるときにマージ操作や置換操作が容易となるようにする。類似の例がマージされ、また最も古い例が置換される。
【０１１０】
順位付けのために使用されるとき、候補番組ベクトルがツリーへ提出され、類似のクラスタが見つかり、そして、ランキング・スコアが、クラスタ内の他のベクトルに対する候補ベクトルの類似性を使用して、且つ関連する関連性値を考慮に入れながら、計算される。
【０１１１】
番組例をクラスタ化するための、３つのノードと４つのリーフからなる単純な番組例ツリーを示すＩＰＧＸデシジョン・ツリー実施形態が図１０に示されている。この場合、関心のある番組例はＲｕｓｓｅｌｌ  Ｃｒｏｗｅ（ラッセル・クロウ）が俳優であり、Ｒｏｎ  Ｈｏｗａｒｄ（ロン・ハワード）が監督であるドラマである。プログラム例を適切なリーフとしてクラスタ化する方法は１００５で開始し、この方法は、「ドラマ」をルート・ノードとして選び、新しく受け取った番組例がドラマであるか否かをテストする。非ドラマ番組例（ドラマではない番組の例）であった場合、実施形態は分岐１０１０に従い、１０２０で番組例が配置される。非ドラマ例番組の幾つかは、Ｍｏｎｄａｙ  ｎｉｇｈｔ  ｆｏｏｔｂａｌｌ  ｇａｍｅ（マンデーナイト・フットボール・ゲーム）、Ｓｅｉｎｆｅｌｄ  ｅｐｉｓｏｄｅ、映画「オズの魔法使い」などであり得るが、それらは、より多くの非ドラマ番組が学習された場合には更にクラスタ化され細分される。新しい番組データがドラマである場合、実施形態は分岐１０１５に従い、次の判定テスト、すなわち、番組例がＲｕｓｓｅｌｌ  Ｃｒｏｗｅを俳優として有するかどうかを確認する次の判定テストに着手し、Ｒｕｓｓｅｌｌ  Ｃｒｏｗｅを俳優として有していない場合、分岐１０３０が選ばれて、すべての非Ｒｕｓｓｅｌ  Ｃｒｏｗｅドラマ番組例（Ｒｕｓｓｅｌ  Ｃｒｏｗｅのドラマ番組ではない例）がリーフ・ノード１０３５に格納される。番組例がＲｕｓｓｅｌ  Ｃｒｏｗｅドラマである場合、分岐１０４０が選ばれてノード１０４５へ進み、そこで次のテストが実施され、Ｒｏｎ  Ｈｏｗａｒｄがディレクタであるかどうかがチェックされ、Ｒｏｎ  Ｈｏｗａｒｄがディレクタではない場合、分岐１０５０が選ばれてリーフ・ノード１０６０へ進む。分岐１０５５が選ばれてリーフ・ノード１０６５へ進み、関心のある番組例「Ａ  ｂｅａｕｔｉｆｕｌ  ｍｉｎｄ」および「Ｃｉｎｄｅｒｅｌｌａ  Ｍａｎ」が見つかる。
【０１１２】
更に、番組例ベクトルは、関連するプログラムＩＤを維持しない。実際、類似のベクトルを有する例が、記憶空間およびコンピューティング効率のために、単一の（原型の）ベクトルとしてマージされる。
【０１１３】
ステップ２３０で、チャネル変更情報を使用して閲覧プリファレンスを定量化するために、クリックストリーム・アルゴリズムが定義されている。このアルゴリズムはクライアント上で動作し、閲覧された番組に関する関連性値を設定する。アルゴリズムの詳細は付録Ａ提供される。
【０１１４】
一定のしきい値を超える関連性値を有する番組が、ＩＰＧＸ学習エンジン実施形態へ渡され、「リンクされた」番組の例として学習される。
視聴者が視聴しているものを監視していると、嫌いや嫌悪についての何らかの推論が可能となり、改良が可能となる。（視聴者がどのような番組を視聴可能であったかを単に知らなかったという可能性や、視聴者が同時に放送される様々な望ましいプログラムの中から選択を行う必要があったという可能性もある）。従って、関連性レーティングが０〜２５５の範囲で割り当てられ、０は、アンビバレンスまたは使用可能な情報がないことを表し、２５５は、最高の可能性のある関心を表し、それらの間の値は、漸進的に、より「リンク」していることを示す。その結果、現在のデシジョン・ツリーは、恐らくは関心のある番組のみをクラスタ化する（もちろん、いくらかのノイズを伴う）。ＩＰＧＸシステムの好ましい目的は、視聴者にとって最も望ましい推奨を識別することであるので、否定的な（好ましくない）例を無視するものであり得るが、本発明の他の実施形態では、否定的な例は一定の価値を有する。従って、そうした否定的な例は、本明細書に記載の実施形態によって提供され且つ保持される。
【０１１５】
属性ビット・ベクトルは、典型的に、共通テキスト・フォーマットで定義された固定属性を使用してサーバに構築される。属性ビット・ベクトルは、必要なときは（例えば、ソース・データがクライアント内の番組ガイド情報から来るとき）、クライアントで構築することもできる。用語ビット・ベクトルは、ＢＡＦ用語リストおよびセットトップ用語テーブルを使用してクライアントで構築される。
【０１１６】
用語ベクトルを構築する例示的プロセスは、下記のようである。
１．ステップ２２０で、番組情報源からサーバ上で用語が識別され、構文解析され、前処理され、次いで、用語辞書に追加される。前処理は、図７に記載の用語のクラスに応じて変わる。
【０１１７】
２．ステップ２２０で、関連する用語が各番組を説明するＢＡＦに追加され、クライアントへ送られ、番組データ受信機４１５に受信される。
３．クライアントによって「リンクされる」とみなされる番組が、ＩＰＧＸ学習エンジン実施形態４４０へ提出（サブミット）される。
【０１１８】
５．ステップ２４０で、学習エンジンは、ＢＡＦ用語リストおよびセットトップ用語マップを使用して、用語ビット・ベクトル・ビットを適切に設定する。新しい用語が、十分に有意であると判定される場合、用語マップに追加される。
【０１１９】
６．ステップ２５０で、完全なビット・ベクトル（属性セグメントおよび用語セグメント）が、ＩＰＧＸプリファレンス・ツリー実施形態に組み込まれる。
用語マップにおいてのビットを用語に割り当てる基準は、下記のようである。
【０１２０】
・ビットが使用可能である
・用語が、「リンクされた」番組のＢＡＦ内でＮ回より多く見つかった（現在はＮ＝４）
・用語カウント（頻度）が、すべての用語頻度の和のＭ％よりも大きい（現在はＭ＝１０％）。
【０１２１】
こうしたしきい値は、最初に用語をビットに割り当てることを容易にし、より多くの用語が見つかるにつれて難しくなる。
学習されている番組のＢＡＦ内で用語が見つかるごとに、その頻度カウントが１だけ増分される。始めて見つかる用語が用語マップに追加され、その頻度が１に設定される。
【０１２２】
用語頻度カウントが用語頻度データ・タイプの限界に達したとき、リスト内のすべての用語頻度が半分に低減される。
サーバ上に用語辞書を維持する典型的な要素は下記のものを含む。
【０１２３】
・適切なクラス識別子が用語の先頭に付加される。
・すべての使用可能な番組説明にわたる用語頻度が、各用語について監視および維持される。
【０１２４】
・適切な頻度を有する用語に、用語番号が割り当てられ、クライアントへ送られるＢＡＦ用語リストに含まれる；  図７に示されるように、頻度カットオフは用語クラスによって変わる；  各番組を説明するために最大６４個の用語を送ることができる。
【０１２５】
・所与の番組を記述するのに６４個より多い用語が識別された場合、優先順位アルゴリズムが使用され、何れの用語が送られるかが決定される。
サーバ上のストップ・ワード・リストは、番組を特徴付けるのに有用ではないと判定されるワードを含む。これらは、番組説明ストリームからの高頻度ワードの初期フィルタリングを提供する。追加の高頻度フィルタリングが、何れの用語がＢＡＦに含まれるかを判定するカットオフによって、実現される。
【０１２６】
一実施形態では、用語ステミングが、Ｐｏｒｔｅｒ  Ｓｔｅｍｍｅｒを使用して実施される。
ＩＰＧＸ実施形態は、典型的に、図９に示されるような単変量バイナリ・ツリーを構築する。トレーニングが監督なしであるので（例は、関心のある番組や関心のない番組などのような事前定義されたクラスにあるものとして分類されない）、ＩＰＧＸデシジョン・ツリーはクラスタ化の目的に役立つ。
【０１２７】
新しい例は、ツリーの根本的に再構築することを必要としない。ツリーが適宜に新しいリーフを成長させることを可能にすることにより、そのような新しい例を収容するようにツリーを変更することが可能である。
【０１２８】
典型的には、視聴者にとって関心があるものとみなされる番組についてのビット・ベクトルのみが、学習のためにＩＰＧＸ学習エンジン実施形態へ送られ、従ってツリーに組み込まれる。
【０１２９】
ツリーは増強型で構築される。リーフ・ノードは、以下の基準に基づいて２つの新しいリーフに分割される。
・リーフはＮ個以上の例を含む（例えばＮ＝２）
・結果として得られるクラスタ内の例の重心値の間の差が、一定のしきい値（例えば１．２９９９９８７３／ＥＸＡＭＰＬＥＣＯＵＮＴ（例カウント））を超過する。
【０１３０】
リーフを分割するか否かを判定するために、しきい値を超えるものが見つかるまで、各属性が試行され、重心の差が計算される。適切な計量で分割が見つからなかった場合、リーフ・ノードはそのままとなる。
【０１３１】
そうした番組データセットの重心を計算することには、非限定的な例として、下記の式を使用することができる。
【０１３２】
【数１】
2009505298.tif 000003
【０１３３】
この式では、ＣｘおよびＣｙは、２つの重心ベクトルを表し、ａは、重心ベクトルの各属性ビットを表す。
プログラム・ベクトルはバイナリであるので、この式を、非限定的な例として、下記のように、すなわち、
ＳＣｘ，Ｃｙ＝２Ｃ／（Ａ＋Ｂ）
と表すことができる。
【０１３４】
この式では、
Ｃ＝重心ＣｘおよびＣｙによって共有される属性の数
Ａ＝Ｃｘにおける１属性の数
Ｂ＝Ｃｙにおける１属性の数
である。
【０１３５】
次いで、分割計量（ＳＭ、split metric）を、非限定的な例として、以下のように、すなわち、
ＳＭ＝（１−ＳＣｘ，Ｃｙ）×クラスタ密度
のように計算することができる。
【０１３６】
ＳＭ＞１．２９９９９８７３／ＥＸＡＭＰＬＥＣＯＵＮＴである場合、ノードは対応するクラスタに分割される。非限定的な例として、
【０１３７】
【数２】
2009505298.tif 000004
【０１３８】
である。
この式では、
Ｃ＝重心
Ｄｉｊ＝ｉ番目の番組説明
ｍ＝例の数
である。
【０１３９】
リーフ・ノード中の例の数が最大値、例えば、１６に達したとき、それぞれの新しい例が既存の例とマージされる（十分に類似するものが見つかった場合）。そうでない場合、新しい例が、最も古い以前の例に取って代わる。例をマージするための現在の計量が、＞０．９であるベクトル間の類似性値に関して設定され、ここでは、類似性（Ｓｉｍｉｌａｒｉｔｙ）はＤｉｃｅ係数によって測定される。
【０１４０】
Ｄｉｃｅ係数は、非限定的な例として、以下のように表すことができる。
【０１４１】
【数３】
2009505298.tif 000005
【０１４２】
この式では、ｐｘおよびｐｙは２つのプログラム・ベクトルを表し、ａはそれぞれの属性ビットを表す。プログラム・ベクトルはバイナリであるので、この式は、非限定的な例として、以下のように、すなわち、
Ｓｐｘ，ｐｙ＝２Ｃ／（Ａ＋Ｂ）
のように変形される。
この式では、
Ｃ＝番組ｐｘおよびｐｙで共有される属性の数
Ａ＝ｐｘにおける１属性の数
Ｂ＝ｐｙにおける１属性の数
である。
【０１４３】
下記は、ＩＰＧＸデシジョン・ツリー実施形態の典型的な特徴である。
・時間にわたり増強型で成長し、少数の例で始まり、新しい例が入ると連続的に修正される。
【０１４４】
・データ構造を小さく保つ（＜約３０ＫＢ）ために、時間にわたり簡潔な概要を与える。情報が頻々と廃棄される。すべての例は、要約された（原型の）例へとマージすることによって、最終的に消滅する。
【０１４５】
・クラスタは、好ましい番組タイプのテーマ別グループである。
視聴者の関心を引く可能性のある新しい番組を表すベクトルをＩＰＧＸランキング・エンジン実施形態へ渡すことによって、順位付けが実施される。
【０１４６】
ベクトルは、学習された例とほぼ同様に準備される。すなわち、サーバは、固定属性を設定し、クライアントは、用語マップに基づいて可変用語ビットを設定する。
ランキング・エンジンは、ツリーをナビゲートして、例に最も合致するクラスタを見つける。次いで、提出された例とクラスタに格納されたそれぞれの例との間の類似性を、クラスタのそれぞれの例の関連する関連性値と混合することによって、ランク・スコアが計算される。混合は、クラスタ内のそれぞれの例にわたって合計した例についての関連性値とＤｉｃｅ係数との積の和である。２つの重み付け方式の相対的重要性を調整するためにＫファクタが使用される。
【０１４７】
エンジンは、他の例と比較するのに適した、エンジンに送られたそれぞれの例についてのランク値を返す。従って、関心のある可能性のある番組のランク順序を、視聴者に対して提供することができる。クライアントは、ある時間ウィンドウ内で入手可能なすべての番組や特定のジャンルに関連するすべてなどのような、順位付けされる例の任意の集合を送ることができる。このことは、その時間において特定の関心のある可能性のあるものに、ランキングを制限する助けとなる。
【０１４８】
要約すれば、ここで説明するＩＰＧＸ実施形態は、電子番組ガイドを拡張して、ユーザの閲覧履歴に基づいてユーザに対して番組推奨を行うことを可能にする。この機能を送達するために、あるＩＰＧＸ実施形態は、ベクトル空間モデルおよび帰納学習の技法を活用する。
【０１４９】
これらの技法は、あるＩＰＧＸ実施形態が、使用の容易さ、例外および依存関係が存在しても良好な推奨を行う能力、「エッジ・コンピューティング」と矛盾がないこと、新しいアイテムに関する順位付け機能を提供すること、およびユーザのセキュリティおよびプライバシーを保護することという目標を満たすことを可能にする。
【０１５０】
ＩＰＧＸ実施形態が他の手法と異なる方式は、以下のことを含む。
・候補番組にランク・スコアを割り当てることを可能にし、従って、ある候補番組を別の候補番組よりも推奨することができる。
【０１５１】
・監督なしの学習を使用してデシジョン・ツリーが増強型で構築され、例が自動的にカテゴリにクラスタ化される。
・「エッジ」（シック・クライアント）コンピューティングと矛盾がなく、それによって、あるデータ構造および処理の大部分が、ＭＳＯヘッドエンドではなくセットトップ・ボックスに局所化される。
【０１５２】
・コンテンツ属性を自動的にオンザフライで学習することができる。
・ユーザ・プリファレンスがセットトップで不透明データ構造で存在し、個人の視聴者に容易にトレースできない
本発明の更に別の実施形態が、例えば、ターゲット広告の領域で実装される。目標は、任意のインスタンスにおいてＴＶを視聴する人々について可能な限り多く知ることができるようにすることであり、その情報を使用して、その人々に反響があり、製品へのその人々の関心を引く可能性が最も高い広告を選択することである。本発明のある実施形態は、個々の広告インスタンスに対する関心スコアを評価して割り当て、インスタンス識別子と関心スコアとの両方を学習モジュールへ供給するように構成される。テレビジョン番組を視聴中に、製品広告が番組を中断し、特定の視聴者は、提示される広告をコマーシャル時間中に見たり、またはその時間の一部の間に見たり、または異なるチャネルへとチャネルを変更する可能性がある。従って、実施形態は、視聴者によって行われるすべてのチャネル変更および他のリモート・コントロール・イベントを追跡し、こうしたイベントを評価して、所与の番組でユーザが示す関心のレベルを判定する。一実施形態では、個々の広告に固有識別子およびインスタンス識別子、ならびに−１２７から１２７の範囲の関連性すなわちスコアが与えられ、スコアが−１２７であるときは広告への関心が完全に欠如していることを示し、スコア０では中間的な関心を示し、最後にスコア１２７では完全な関心を示す。関連性を割り当てるのに使用される式は、範囲−１２７．．．１２７の範囲について調節されることを除いて、テレビジョン番組についてのものと同様である。
【０１５３】
一例は、特定の自動車などの製品に関する３０秒広告である。視聴者が２０秒を費やして広告を視聴した場合、製品に対するその視聴者の関心スコアは８５であり、強い関心と言える。そのような場合、本発明の実施形態は、関心スコアを使用して、学習コアへ送信し、学習コアは、その特定の自動車の個別の広告を、特定の視聴者に対して調整する。
【０１５４】
別の実施形態は、それぞれのクラスタがテレビジョン視聴者の人口統計を表す、幾つかのクラスタ化デシジョン・ツリーを使用する。リモート・コントロール・クリックストリーム・データから、実施形態は、クラスタ化デシジョン・ツリーのそれぞれを順位付けし、各デシジョン・ツリーのランキング値を累積し、人々の年齢およびテレビジョン閲覧習慣に関連して、特定の世帯で暮らす人々の数および特徴を推論する。実施形態は、例えば１つの家庭の人口統計、およびあるセットトップ・ボックスで、誰がどの番組をどの時間に見ているかを見いだすように、実装される。実施形態は、幾つかのクラスタ化デシジョン・ツリーを事前定義し、それぞれのクラスタ化デシジョン・ツリーは、関心のある人口統計グループと関連付けられる。リモート・コントロール・クリックストリーム・データから、実施形態は、それぞれのクラスタ化デシジョン・ツリーを順位付けし、それぞれのデシジョン・ツリーのランキング値を累積し、テレビジョン番組を視聴する人々の数および特徴、年齢、ならびにテレビジョン閲覧習慣を推論する。次いで、人口統計グループは、それぞれのデシジョン・ツリーの蓄積されたランキング値に従ってソートされる。その結果、最高の値を有する人口統計グループが、その特定のセットトップ・ボックスでテレビジョンを視聴する人々を表すものとされ得る。
【０１５５】
現在の支配的な視聴者の人口統計グループを識別するために、実施形態は、クリックストリーム・データの最後の２０分のみについて順位付け、蓄積、およびソートを実施する。本発明の別の変形形態では、アルゴリズムは、例えば、年齢やそのテレビジョン閲覧習慣などのツリー人口統計と、データが収集される時間値、曜日／時間との両方で索引付けされた、２次元行列を構築する。これにより、人口統計結果が経時的に変化することが可能となり、時間に関連する閲覧の更に厳密な結果が与えられる。例えば、一人が巧みにバイクを乗りこなすバイク乗りである父親であり、他の一人が３歳の娘である２人の家族によって、セットトップ・ボックスが制御されていることがある。２つの人口統計グループの識別に基づく第１の方法と、時間および曜日に基づく第２の方法との組み合わせにより、任意の所与の時間に誰が視聴しているかについての概念がもたらされる。その結果として、この組合せは、より良好な履歴パターンを生成し、これを、１つの者家庭の様々な人口統計グループに対する個人ターゲット広告を構築する際に使用することができる。別の方法は、個々の視聴者に関連するクラスタ化デシジョン・ツリーのブランチを識別し、各クラスタの重心ならびにすべてのクラスタの重心を計算する。あるブランチ内のすべてのクラスタの重心が、別のブランチのものと著しく異なるとき、各ブランチを別個の視聴者と関連付け、それによって、ある視聴者についてのあるクラスタの類似性が、別の視聴者の閲覧習慣によって生成された別のクラスタよりも高くなる。
【０１５６】
本発明の更に別の実施形態は、異なるアプリケーションおよび／または家の中の異なるセットトップ・ボックス（１つより多いセットトップ・ボックスが存在する場合）によって生成されたクラスタ化デシジョン・ツリーを比較して、家庭内の視聴者についてのより多くの情報を生成する。実施形態は、先に定義された類似性アルゴリズムを使用して、類似性および相違についてツリーおよびそうしたツリーのブランチを比較する。相違は、あるＴＶを別のＴＶよりも好む別の視聴者を示す。異なる時間での類似性は、異なる時間に異なるテレビジョンを視聴する視聴者を示す。これにより、家族、子供、寝室などに関する異なるテレビジョンを識別することが可能となる。
【０１５７】
重複する時間での類似性は、同じ関心および人口統計を有する、家の中の複数の視聴者を示す。これらの類似のツリー／ブランチ／クラスタ間の小さな相違は、類似の個人間の微妙な区別を定義することができる。
【０１５８】
オンライン・オークション・アイテムに入札するために、入札者は、多数のオークション・ウェブ・サイトのうちの１つにログオンし、入札者自身についての基本的個人情報を入力し、支払処理および通信の目的でクレジット・カード情報（それが存在する場合）およびＥメール・アドレスを入力することによって、登録する。更に、入札者は通常、オークション・ウェブ・サイトにログオンすることを許可されるために、ユーザ名およびパスワードを提出（サブミット）することを要求される。次いで、入札者は、入札するアイテムについての事項を見つけるためにカテゴリを検索し、関心のあるアイテムを見つけたとき、入札者は通常、そのアイテムを選択し、入札者の登録されたユーザ名およびパスワードと、現在の指値が最小である場合には入札額とを入力し、そうでない場合、入札者は、現在の高値よりも高い指値を置き、それがアイテムの説明と共に表示される。入札者が最高の入札者である場合、または別の入札者が高値を付けた場合、入札者はＥメールで通知を受ける。従って、入札者のアイテムのパターンと、入札者が関心のあるアイテムについての情報を受け取る能力を編成する自動式の実施形態が必要である。
【０１５９】
別の実施形態は、幾つかのクラスタ化デシジョン・ツリーを使用して、個々の入札者に対してオンライン・オークション・アイテムを推奨する。入札者が入札している、現在選択されているアイテムについての入札アイテム情報や、例えば、腕時計、デジタル・カメラ、ラップトップ・コンピュータなどのアイテムのタイプや、アイテムの年齢、サイズ、および他の特徴などの情報が、本発明の実施形態によって収集され、バイナリ・ベクトルに変換され、そのベクトルに関連性値が割り当てられる。関連性値は、０から２５５、正の１２７の値、負の１２７の値、および１つの０値の範囲にわたる。正の値は肯定的な関心を表し、０の値は中立的な関心を表し、負の値を有するアイテムでは、入札者の側の関心の完全な欠如を表す。オークション・アイテム・データに与えられた関連性値に基づいて、本発明の実施形態は、関心スコアを学習エンジンに渡し、学習エンジンは、最大関連性値を有するオークション・アイテム・データに関連する用語ビット・ベクトルから構築されたバイナリ・デシジョン・ツリーを使用する。入札者がアイテムについて照会した回数と共に、入札者のプリファレンスの一例が学習アルゴリズムに提示され、学習アルゴリズムは、入札者の学習プリファレンスを増強式（追加的）に更新する。本発明の実施形態は、バイナリ・デシジョン・ツリーを使用して、例のシーケンスから学習した情報を格納し、オンライン入札アイテムの合致する属性を有すると既に判定されたクラスタにグループ化される例の組を、維持する。実施形態は、複数のオンライン・オークション・ウェブ・サイトから入札アイテムを周期的に収集し、所与のアイテムに関する新しい例が識別されたとき、実施形態は、入札アイテムに関連するそれぞれの新しい例が存在すべきバイナリ・デシジョン・ツリーの既存のリーフ・ノードを見つけるために、類似性構成を適用する。クラスタ内の例を順位付けするために、実施形態は、クラスタ内の他の例に基づいて類似性アルゴリズムを使用する。関心のあるアイテムと関心のないアイテムとに関連する属性の間の仲裁を行う別のステップでは、実施形態は、前の確率が正の例についての信用の尺度（ＭＢ）と、負の例についての不信の尺度（ＭＤ）とを表すことを提案する確実性ファクタを使用して、関心のレベルを計算する。オークション・アイテムに確実性ファクタ値が与えられた後、本発明の実施形態は、類似性アルゴリズムを使用してアイテムをグループ化し、例のうちの何れのものをデシジョン・ツリーのリーフ・ノード上に保つか、および何れのものを廃棄または他とマージするかの結論をだす。オンライン・オークション・アイテムに与えられた確実性ファクタと、バイナリ・デシジョン・ツリーのリーフ・ノード中の例とに基づいて、実施形態は、学習したプロセスに基づいて個々のプリファレンスを作成し、特定のユーザに推奨する。
【０１６０】
本発明の別の実施形態では、アルゴリズムが、Ｅメール・スパムのフィルタリングなどのようなデータ・フィルタリング応用向けに構成される。この例示的な実施形態では、すべての処理は、ＥメールがＥメール・サーバから受信された後にクライアント（例えばＰＣやセットトップ・ボックス）で行われる。アイテムは、ビデオ番組説明ではなく、Ｅメール・メッセージである。固定属性は、非限定的な例として、以下のような情報を表すビット、すなわち、
ＳＣＨＥＤ＿（Ｅメールが送信された日時を特徴付ける複数のビット）
ＳＩＺＥ＿（Ｅメールのサイズを特徴付ける複数のビット、例えばＳＨＯＲＴ（短）、ＭＥＤ（中）、ＬＯＮＧ（長））
ＵＲＧＥＮＴ（Ｅメールが緊急とマークされているか？）
ＡＤＤＲＥＳＳＥＥ＿ＭＥ（Ｅメールは自分宛てのものか？）
ＳＥＮＤＥＲ＿ＳＡＭＥ＿ＤＯＭＡＩＮ（送信側は自分と同じドメイン内にあるか？）
ＲＥＰＬＹＴＯ＿ＳＡＭＥ（Ｒｅｐｌｙ−Ｔｏアドレスは送信側のアドレスと同じか？）
ＡＴＴＡＣＨＭＥＮＴＳ（何らかの添付ファイルがあったか？）
を含む。
【０１６１】
可変用語が、Ｔｏフィールド、Ｆｒｏｍフィールド、およびＳｕｂｊｅｃｔフィールドから構文解析され、Ｅメールの本文が以下のよう、すなわち、
Ｔ＜宛先アドレス＞（例えば、Ｔｍｅ＠ｍｙｄｏｍａｉｎ．ｎｅｔ）
Ｆ＜送信元アドレス＞（例えば、Ｆｊｏｅｓｐａｍｍｅｒ＠ｓａｔａｎｓｌａｉｒ．ｏｒｇ）
Ｒ＜返信アドレス＞（例えば、Ｒｔｉｍｅｓｈａｒｅｓｒｕｓ＠ｏｆｆｓｈｏｒｅ．ｃｏｍ）
Ｓ＜件名用語＞（例えば、Ｓｐｏｉｇａｎｔ、Ｓｃｏｄｆｉｓｈ）
Ｂ＜本文用語＞（例えば、Ｂｃｏｎｄｏ、Ｂｔｉｍｅｓｈａｒｅ、Ｂｒｏｌｅｘ、Ｂｄｅａｌ）
のように表される。
【０１６２】
これらの用語が符号化され、クライアントの用語辞書（ハッシュ・テーブル）内に維持され、用語頻度に基づいて用語ビットを割り当てるのに使用される。
図２を参照すると、Ｅメールをフィルタリングする例示的プロセスは以下の通りである。
【０１６３】
ステップ２２０では、アイテム説明が、クライアント・プロセスにより、Ｅメール・サーバからＥメールを受信し、Ｅメールから属性および用語を抽出し、抽出した用語をローカル用語辞書（ハッシュ・テーブル）に維持することによって、生成される。
【０１６４】
次いで、ステップ２３０で、フィルタリングすべきアイテム（例えば、スパムと考えられるＥメール）が学習される。スパム・フィルタリング応用では、これは、ユーザが「これはＳＰＡＭ（Ｔｈｉｓ  ｉｓ  ａ  ＳＡＰＡＭ）」ボタンをクリックすることによって実施され得る。
【０１６５】
次のステップ２４０では、学習エンジン４４０が、上記で列挙された可変用語を、関心のあるＥメール内でそうした用語に遭遇する回数に基づいて学習するように、構成され、しきい値に達したときに、学習エンジン４４０はその用語を用語ビット・ベクトルに追加する。このステップが行われた後、そのＥメールを表す完全なビット・ベクトルは、デシジョン・ツリーによって学習される準備ができたことになる。
【０１６６】
ステップ２５０では、システムが、Ｅメール例をクラスタ化して、バイナリ・デシジョン・ツリーを使用して将来の着信Ｅメールに対して比較できるようにする。ＳＰＡＭと示されるＥメールとＮＯＴ  ＳＰＡＭと示されるＥメールとの両方がこのツリーによって学習され、スパム・フィルタリング中の適切な識別が可能となる。
【０１６７】
最後にステップ２６０では、新しいＥメールがビット・ベクトルへと処理され、順位付けエンジン４３５へ渡され、受信側にとっての関心の度合いが評価される。プリファレンス・ツリーを使用し、候補Ｅメールが、最も類似の例を含むクラスタへとフィルタリングされ、そのＥメールがスパムか否かが判定される。スパムと分類されるＥメールは、ユーザによる将来の検査および／または削除のための特別な記憶域へ送られる。
【０１６８】
本発明の精神および範囲から逸脱することなく、上述の本発明の実施形態で行うことのできる多数の変形が当業者には明らかであろう。例えば、本発明に記載の目的を達成するために統計的に有意な用語を選択する様々な周知の方法を適用する様々な方式が存在する。そのような相違は、必ずしも識別可能な変形形態を構成するわけではない。なぜなら、応用例の機能、従って、方法における同じ結果を様々なコードおよび／またはシステムの構成によって達成することができることが周知であるからである。当業者には明らかとなる同様の多数の他の変形が存在し、それらすべては本発明の精神および範囲内にある。
【０１６９】
付録Ａ：
例示的ＩＰＧＸアーキテクチャ
ＩＰＧＸ実施形態は、一般に、多くの部分を有する複雑な技術である。コア学習および順位付けアルゴリズムは非常に新規な技術を構成するが、コードのほんのわずかの部分である。使用可能なフォーマットの番組情報をアルゴリズムに供給するために、サーバ側とクライアント側の両方で大規模なサポート・システムが一般に必要である。この文書は、ＩＰＧＸ実施形態を作成するのに典型的に必要となる様々なモジュールと、その動作のための基本的要件とを略述する。
【０１７０】
外部ソフトウェア・アプリケーション
ＩＰＧＸは、埋め込みされた技術を含むことができる。例えば、既存のＩＰＧおよびＰＶＲ製品に対する拡張として使用することが意図される。従って、ＩＰＧＸクライアントは、典型的に、別の外部ソフトウェア・アプリケーションに組み込まれる。従って、ＩＰＧＸは、その外部ソフトウェアに対して簡単なクリーンなインターフェースを提示することができる。
【０１７１】
番組および番組インスタンス
あらゆる映画、シリーズ・エピソード、スポーツ・イベント、または他の番組は、ビデオ・コンテンツまたは番組の固有の要素である。しかしながら、同じ番組が、異なる日、異なる時間、または異なるチャネルで放送される可能性があり、そのような番組の放送は番組インスタンスを定義する。あらゆる番組は多数のインスタンスを有することができるが、それぞれの番組インスタンスは１つの番組のみに帰する。
【０１７２】
セグメント
少数の割合の番組は半端な時間に始まるが、大部分の番組は、半時間（３０分）単位の境界に開始および終了する。ＩＰＧＸ実施形態は典型的に、半時間増分の番組、即ち、番組セグメントを扱う。本発明のデータベースで、番組のそれぞれの半時間セグメントについての情報を作成する。従って、２時間の映画は、データベース内で４つの情報セグメントを生成する。また、番組日は４８個のそのようなセグメントに分割される。ＩＰＧＸサーバは、典型的に、現セグメント中のすべての番組について、および将来のセグメントの幾つかについて、すべての時間に情報をブロードキャストする。
【０１７３】
番組およびインスタンス識別子
あらゆる番組説明は、ビットのベクトルおよび他の様々な情報（以下を参照）によって、最終的に定義される。しかしながら、多くのモジュールは、番組または番組インスタンスへの参照を単に追跡または通信する。例えば、ＰＶＲは、閲覧されたすべての番組が１回より多く記録されないように、閲覧されたすべての番組を追跡することができる。あるいは、土曜日の朝に高く順位付けされる可能性のある番組は、土曜日の夜には同じように順位付けされない可能性があるので、ＩＰＧは、番組インスタンスを順位付けすることを望むことがある。従って、ＩＰＧＸ実施形態は、典型的に、すべての番組およびインスタンスについて、小さい固有識別子を生成するための明白な機構を定義する。ＩＰＧＸ実施形態は、番組インスタンスを学習および順位付けすることができ、これに関しては放送時間が重要となる。
【０１７４】
ＶＯＤおよび他のオンデマンド番組（例えばＢｌｏｃｋＢｕｓｔｅｒレンタル）は、特定の放送日および時間を有さないことに留意されたい。しかしながら、ＩＰＧＸクライアントへ送信された入手可能な番組のカタログは、ＶＯＤ、ペイ・パー・ビューなどを含む所与のセグメントで入手可能なすべての番組を含むべきである。
【０１７５】
【表１】
2009505298.tif 000006
【０１７６】
ＩＰＧＸサーバ
ＩＰＧＸサーバの目的は、１または複数のソース（例えば、Ｚａｐ２Ｉｔ、Ｙａｈｏｏ、ＴＶ  Ｇｕｉｄ、ＶＯＤ  Ｃａｔａｌｏｇなど）から番組情報を取り出し、それを、セットトップ・ボックス（ＳＴＢ）のＩＰＧＸアルゴリズム実施形態の求めているベクトル形式に変換することである。固有識別子は典型的に、各番組およびインスタンスについて定義される。様々な構成要素が以下で図示および説明される。
【０１７７】
番組データ・コレクタ
番組情報は、様々なソースから来る可能性があり、ソースは、ＩＰＧＸの顧客や技術のアプリケーションに応じて変化し得る。従って、情報の収集のプロセスを、その情報を属性フォーマットに変換するプロセスから分離する。従って、コレクタの仕事は、番組情報がどんなフォーマットで存在するとしてもその番組情報を取り出し、データ・ソースにとってどのようなな通信機構が適切であったとしてもそれを使用して、その情報を共通テキスト・フォーマットに変換することである。この共通テキスト・フォーマットは、すべてのフィールド名を、すべての考慮され得る番組タイプ（例えば、スポーツ、映画、シリーズ、ニュースなど）を包含する名前の基準セットへマッピングする。
【０１７８】
図は、データがコレクタによって出力されることを示すが、これは、データが生成されるとデータベースへ追加するためにトランスレータへ単に渡されるものである。
すべての番組インスタンスについての情報が取り出されて処理されるように保証することは、コレクタの責任である。また、重複する番組インスタンスが処理されないように保証することも、コレクタの責任である。
【０１７９】
任意の番組インスタンス情報の第１フィールドは、番組およびインスタンス識別子である。これらの識別子は短くかつ固有であるが、同一番組の反復される放送に同じ番組識別子が割り当てられるように保証するための十分な番組情報を含む。インスタンス識別子は、典型的に、内部ＩＰＧＸ情報へアクセスすることなく、外部ソフトウェアによって構築可能である。本発明等が推奨する番組識別子について、小さいダイジェスト（即ち、ＭＤ５、ＳＨＡ１）文字列（ストリング）が、番組タイトル、エピソード番号（存在する場合）、エピソード名（存在する場合）、制作年、制作日（使用可能な場合）などから構築される。インスタンス識別子について、番組を放送するチャネル番号、日付、および時間に対して簡単な表現を使用すべきである。
【０１８０】
オンデマンド（例えばＶＯＤ）や外部番組（例えばＢｌｏｃｋＢｕｓｔｅｒレンタル）が幾つかの問題を提示する。それらの番組情報はすべてのセグメントで入手可能ではあるが、それらの番組情報は経時的に変化しない。従って、この情報についてのコレクタは、こうした番組のインスタンス識別子に特別な定数（例えばＶＯＤ、ＲＥＮＴＡＬなど）を割り当てて、こうした番組がリポジトリ（以下を参照）に１回だけ現れるようにするべきである。次いで、それぞれのセグメントでそのようなそれぞれの番組についての特定のインスタンスを生成することは、ブロードキャスタ（以下を参照）の責任である。
【０１８１】
番組データ・トランスレータ
番組データ・トランスレータは、共通テキスト・フォーマットからの番組説明を、より圧縮した属性フォーマットに変換する。その値を固定範囲として定義できる、番組説明のほとんどの属性（例えば、チャネル、制作年、ジャンル、サブジャンルなど）は、バイナリ値のベクトルに変換される。他のフリー・テキスト用語（例えば、タイトル、説明、キャスト、ディレクタなど）は、ステミングを実施し（ワードを語根へと短縮する）、共通のストップ・ワード（例えばｔｈｅ、ａｎｄ、ｏｆなど）を除去し、次いでそれを頻度と共に辞書／データベースに格納することにより、情報検索と同様に処理される。低頻度の用語は、より多くの情報を表す傾向があり、ＩＰＧＸのすべてにわたって共通のグローバル数値識別子が割り当てられる。人々の名前（即ち、キャスト、ディレクタ、作者、プロデューサなど）および他の用語は、同様に処理されるが、ステミングやストッピングの処理は行われない。次いで、番組説明に出現する用語は、対応する識別子が、番組を記述（説明）するためにバイナリ・ベクトルに添えられる。バイナリ・ベクトルと、関連する用語識別子のセットとは、番組説明の属性フォーマットを構成する。
【０１８２】
属性フォーマット説明がリポジトリに格納される。こうした番組説明は、共通テキスト・データ・フォーマットについて上述したフィールドの基準リストに対応するすべての属性を含む。
【０１８３】
番組データ・リポジトリ
リポジトリは、単に、Ｌｉｎｕｘ上で動作する堅牢なデータベースである。信頼性およびプログラム性が、性能よりも重要である。リポジトリは、典型的に、番組情報（属性フォーマット）と用語マッピング（用語に割り当てられた数値ＩＤ）という２つのタイプのレコードを含む。番組情報は、トランスレータによって入力され、ブロードキャスタによって読み取られる。用語マッピングは、トランスレータのみによって読み取りおよび変更される。
【０１８４】
番組データ・ブロードキャスタ
ブロードキャスタは、現在および将来のセグメントについてのすべての番組情報を含むインバンド・カルーセルのコンテンツを維持する任を担う。今回は、実際のカルーセルは指定されない。それは、ＳＡ  ＢＦＳや、他のカスタムＢＩＡＰカルーセルであり得る。
【０１８５】
任意の時間に、すべての加入者に使用可能な番組（ＶＯＤ番組および任意の外部番組を含む）が、典型的には、現セグメントおよび幾つかの将来のセグメントについてカルーセルにおいて定義される。従って、オンデマンド番組では、ブロードキャスタは、典型的に、上記で定義された一定のインスタンス識別子（例えば、ＶＯＤ、ＲＥＮＴＡＬ）を有するすべての番組説明を見つけ、番組説明において、適切なインスタンス識別子および放送日時関連の属性ビットを生成する。
【０１８６】
ＩＰＧＸサーバ実装
上記のアーキテクチャは全体的なプラットフォームや実装戦略を指定するわけではないが、技術的な理由で、ＢＩＡＰプラットフォーム技術に基づく解決策が好ましい。エージェントまたはスケジューリングされたスクリプト（場合によってはプラグインによってサポートされる）が、コレクタの役割を果たすことができる。別のプラグインは、共通番組情報フォーマットから属性フォーマットへの変換を実施することができる。更に別のスケジューリングされたプロセスがブロードキャスタとして働くことができ、所与のセグメントについてのすべての番組情報を収集して、それをカルーセルへ挿入する。適切なデータベース（例えば、ＭｙＳＱＬ）およびインバンド・カルーセルを使用することができる。
【０１８７】
ＩＰＧＸクライアント
ＩＰＧＸクライアントは、典型的には、番組インスタンスによって定義される番組を視聴者が視聴したい可能性に基づいて、固定スケール（例えば０から２５５）で個々の番組インスタンスを順位付けする、組み込まれたソフトウェア・モジュールである。外部アプリケーションに対して露出される他の唯一のインターフェースは、従来のＩＰＧまたはＰＶＲに対して入手可能な情報（例えば、チャネルおよび時間、説明など）からインスタンスおよび番組識別子を生成するための呼出し（コール）である。
【０１８８】
【表２】
2009505298.tif 000007
【０１８９】
番組データ受信機
番組データ受信機は、ブロードキャスタのクライアント側のものであり、インバンド・カルーセルから新しい番組情報を周期的に取り出し、ローカル・キャッシュ内の古い情報を置き換える。特定の番組インスタンスについての番組情報（即ち、キャッシュ内に存在しない、遠い将来や過去のもの）をオンデマンドで取り出すために、サーバと直接的に通信することが必要となることもある。
【０１９０】
受信機は、典型的には、スケジューリングに基づいて動作し、新しい将来のセグメントについての情報を半時間ごとに取り出す。受信機は、典型的には、必要に応じてメモリを最小限に抑えるため及びキャッシュを再充填するための要求に応答することもできる。
【０１９１】
視聴者履歴コレクタ
このモジュールは、視聴者の閲覧履歴を記録し、それを評価して、個々の番組インスタンスに関心スコアを割り当て、インスタンス識別子とスコアとの両方をＩＰＧＸコアの学習インターフェースへ供給する任を担う。このモジュールの好ましい実装は、クリックストリーム分析を使用して、視聴者の関心を推論する。
【０１９２】
映画を視聴する間に、視聴者は、コマーシャル中にチャネルを切り換えることがあり、更には、映画の一部または全体をスキップする（とばす）ことがある。従って、このコレクタは、典型的には、視聴者によって行われたすべてのチャネル変更および他のリモート・コントロール・イベントを追跡し、後にそれを評価して、ユーザが所与の番組にどれほど関心を示したかを判定する。
【０１９３】
以下の規則は、関心スコアを所与の番組インスタンスに割り当てるのに使用することのできる単純なクリックストリーム・アルゴリズムを定義する。
１．閲覧情報は、ＳＴＢがオンであり且つＴＶに関する出力をアクティブに生成している間にのみ、記録および評価すべきである。
【０１９４】
２．関心スコアは０から２５５の範囲であり、０は番組への関心がないか又は関心が未知であることを示し、２５５は番組への完全な積極的関心を示し、中間の値は、増大していく関心のレベルを示す。最高の関心スコアを有する番組を、学習エンジンへサブミット（提出）すべきである。
【０１９５】
３．少なくとも１０％が閲覧された番組について、番組の閲覧に費やされた全時間の割合が、関心のレベルを示すために使用される。例えば、１２０分の映画を見るのに１００分を費やすと、結果として、関心スコアは（１００／１２０）＊２５５＝２１３（丸めあり）となる。
【０１９６】
４．リモート・コントロールの活動のない期間は、視聴者がＳＴＢをオンにして部屋を出た機会に反比例すると想定される。チャネルが番組の閲覧中に変化し、そしてその番組に戻る場合、上記の（３）から関心スコアを変更しない。これは、人間が存在し、番組を視聴しているということである。そうでない場合、関心スコア（上記の３番目を参照）を、番組の開始前の最後のリモート・コントロール・イベント以降、その分（minutes）の数の２倍だけ低下させる。例えば、チャネル４５上での別の１２０分の映画を考慮する。１００分後に視聴者はチャネル９８へチューンするが、映画の残りの間にチャネル４５へ戻らない。その場合、ＴＶがチャネル４５には行かないままにされ、視聴者が部屋に戻ったとき、視聴者が、映画ではなく、視聴者が視聴したいと望む何かに切り換えた可能性がある。更に、この場合に、映画の開始前に、最後に記録されたリモート・コントロール・イベントが６２分前だったと仮定する。このようであると、映画に生スコア２１３を割り当てるが、次いでそのスコアを２×６２だけ減少させ、合計スコア８９とされる。調節後のスコアが０または負である場合、番組インスタンスは、学習のためにＩＰＧＸコアへ送られないことに留意されたい。
【０１９７】
このモジュールを、視聴者にとって関心のある番組を識別する助けとなる他のモジュールで補足することができる。この点でシステムに含まれることが好ましい機能は、関心のある番組を識別し、適切な関心スコアを割り当てる能力である。
【０１９８】
ＩＰＧＸコア
ＩＰＧＸコア実施形態は、典型的には、学習および順位付けアルゴリズムを実装し、典型的には、２つの単純なインターフェースを有するＣ言語モジュールとして提供される。
【０１９９】
ｖｏｉｄ  Ｌｅａｒｎ（ｉｎｓｔａｎｃｅ＿ｉｄ  ｉｄ，  ｃｈａｒ  ｉｎｔｅｒｅｓｔ＿ｓｃｏｒｅ）；
ｉｎｔｅｒｅｓｔ＿ｓｃｏｒｅ  Ｒａｎｋ（ｉｎｓｔａｎｃｅ＿ｉｄ  ｉｄ）；
様々なインスタンスから学習されたプリファレンスが、固定サイズの不透明な構造に格納される。この構造は、一般に、スタートアップ時にサーバからロードされ、周期的におよびシャットダウン時にサーバに保存される。
【０２００】
付録Ｂ：
例示的ＩＰＧＸ属性およびデータ・フォーマット
序文
アーキテクチャ文書で述べたように、典型的なＩＰＧＸ実施形態へ供給される番組データは様々なソースから来る。しかし、ソースや元のフォーマットの如何に関わらず、すべてのデータが一般にはカノニカル（基準）・テキスト・フォーマットに変換される。次いで、このカノニカル・テキスト・フォーマットが処理されて、ＩＰＧＸの学習および順位付けアルゴリズムで必要とされるバイナリ・データ・フォーマットが生成される。本節は、カノニカル・テキスト・フォーマット（ＣＴＦ）と、バイナリ属性フォーマット（ＢＡＦ）へのマッピングとを定義する。
【０２０１】
本節は、ＣＴＦまたはＢＡＦのフィールドをここで定義されるものに限定するものではない。これは単に初期定義を構成するに過ぎない。新しいコンテンツ・タイプおよび新しいソースが、こうした定義を適宜に拡張する。
【０２０２】
カノニカル・テキスト・フォーマット（ＣＴＦ）
本節はカノニカル・テキスト・フォーマットを説明し、ソース・データ用に実装される変換を説明する。例は、Ｚａｐ２ｉｔ（商標）ＤＡＴＡ  Ｄｉｒｅｃｔ  ＸＴＶＤスキーマ定義、バージョン１．３を参照することができる。実際のフォーマットはＸＭＬ、ＭＩＭＥ、または何らかの他の標準テキスト・フォーマットでよいが、この文書は、フィールド名および値に焦点を当てるために実際のテキスト表現を抽象化する。実際の周囲構文が仮定される。
【０２０３】
番組説明
多くのフィールドは、番組コンテンツの説明に固有のものであり、番組がいつまたはどこで視聴者に使用可能とされるかを言及しない。これらは以下に定義される。
【０２０４】
番組識別子
これは典型的には、この番組についての固有識別子である。考えられ得る番組タイプのすべてについてのＩＤを１つのソースで提供することはないので、新しい方式が定義されている。これは、番組インスタンス識別子（以下を参照）とは異なることに留意されたい。
【０２０５】
番組エピソード識別子
シリーズ、ミニシリーズなどでは、幾つかの番組が同一のタイトルを有することがあり、従って、同一の番組識別子を有することがある。別の固有の識別子が、番組（即ち、シリーズ）内のエピソードを識別する。大部分のシリーズはエピソードに番号を付けている。典型的に、識別子は、所与の番組のエピソード内で固有である。リスティング会社によって作成されたエピソードｉｄよりも、配布者の定義したエピソード番号（例えばＺａｐ２ｉｔのｓｙｎｄｉｃａｔｅｄＥｐｉｓｏｄｅＮｕｍｂｅｒ）が好ましい。
【０２０６】
番組タイトル
これは、所与の番組に関連する「短い」タイトルである。映画タイトル、シリーズ・タイトル、およびスポーツ・イベント・タイトルが、ここに現れる。より具体的な情報（例えば、エピソード・タイトル、チーム組合せなど）は、番組サブタイトルに現れる。例としては以下のもの、
・Ｇｏｎｅ  Ｗｉｔｈ  ｔｈｅ  Ｗｉｎｄ（風と共に去りぬ）
・Ｓｅｉｎｆｅｌｄ（となりのサインフェルド）
・Ｗｉｄｅ  Ｗｏｒｌｄ  ｏｆ  Ｓｐｏｒｔｓ（ワイド・ワールド・オブ・スポーツ）
・Ｗｏｎｄｅｒｆｕｌ  Ｗｏｒｌｄ  ｏｆ  Ｄｉｓｎｅｙ（ワンダフル・ワールド・オブ・ディズニー）
・ＮＦＬフットボール
・ＸＸＸＩＩＩ  Ｏｌｙｍｐｉｃｓ（第３３回オリンピック）
を含む。
【０２０７】
番組サブタイトル
このフィールドは、番組タイトルを補う。エピソード・タイトルが使用可能なときは、ここへ行き、チーム組合せ、特定のスポーツ・イベントの説明も同様である。
【０２０８】
例（上記のタイトルに関連する）は以下のもの、
・Ｔｈｅ  Ｐｕｆｆｙ  Ｓｈｉｒｔ（パフィーシャツ）
・サイクリング
・Ｔｈｅ  Ｍａｒｌｉｎ  Ｐｅｒｋｉｎｓ  Ｒａｍｐａｇｅ（マーリン・パーキンス大暴れ）
・ワシントン・レッドスキンズ対ダラス・カウボーイズ
を含む。
【０２０９】
番組説明
これは、番組コンテンツを記述するフリー・フォームのテキスト・フィールドである。可能なときはいつでも、キャストおよびクルーの名前（多くの場合、括弧内にある）を、関係のない句読点（即ち、括弧）と共に説明から除去すべきである。ソースが、様々な長さおよび深さの複数の説明を提供するとき、好ましい長さはおよそ２文の長さである。また、短すぎるものや長過ぎるものを回避することも好ましい。例えば、「ジェリーの新しいガールフレンドは、ジェリーがＴｏｎｉｇｈｔ  Ｓｈｏｗ（トゥナイト・ショー）に次に出演する際に海賊のシャツを着るように、ジェリーを説得する。Ｋｒａｍｅｒ（クレイマー）はＩｃｅＣａｐａｄｅｓ（アイス・カペーズ）に加わる」は、「ジェリーは海賊のシャツを着る」や、エピソードの複数パラグラフの概要よりも好ましい。
【０２１０】
番組年齢レーティング
番組を適切な年齢グループに割り当てるのに使用可能な複数のレーティング・システムがある。本発明者等は、昔の映画レーティングと同様の、より小型の簡潔なシステムを好む。即ち、Ｇ、ＰＧ、Ｒ、Ｘ、ＮＲである。以下の表は、ＭＰＡＡレーティングおよびＴＶレーティングをこれらの値にマッピングする。
【０２１１】
【表３】
2009505298.tif 000008
【０２１２】
番組品質レーティング
番組品質の批評的なレーティングを表すのに使用可能な幾つかのレーティング・システムがある。やはり、本発明者等は以下のような単純なシステムを好む。ＢＡＤ（悪い）、ＦＡＩＲ（普通）、ＧＯＯＤ（良い）、ＥＸＣＥＬＬＥＮＴ（素晴らしい）、ＵＮＲＡＴＥＤ（レートなし）。以下の表は、幾つかのレーティング・システムをこれらの値にマッピングする。
【０２１３】
【表４】
2009505298.tif 000009
【０２１４】
番組ラン（実行）時間
ＩＰＧＸ実施形態は、典型的には、半時間セグメントで時間を測定する。全分数（total number of minutes）を３０で割り、０ではない端数について１を追加する。例えば、５分、２８分、および３０分の実行時間はすべて１セグメントに変換される。３１分、３５分、５９分、および６０分はすべて２セグメントに変換される。以下はこれと同様である。
【０２１５】
番組年
映画およびシリーズおよび幾つかの他の番組は、制作年と共にリストされる。典型的なＩＰＧＸ実施形態では、本発明者等は、これらの年をより小さい１組の値にマッピングすることを望む。その１組とは、ＯＬＤ（古い）（１９７０より前）、ＤＡＴＥＤ（時代遅れ）（１９７０〜１９８９）、ＭＯＤＥＲＮ（近代）（９０〜昨年）、ＣＵＲＲＥＮＴ（現在）（今年）である。制作年が知られていないか又は入手不能である番組は、ＣＵＲＲＥＮＴであると想定される。
【０２１６】
番組カラー
このフィールドは、番組のカラー・フォーマットまたは白黒フォーマットを指定する。多くの可能な組合せがあるが（例えば、「オズの魔法使い」は一部が白黒である）、少しでも「カラー」であるものはカラーと指定される。そうでない場合、純粋な白黒番組はＢＬＡＣＫ  ＡＮＤ  ＷＨＩＴＥと指定される。カラー化された白黒番組はカラーである。
【０２１７】
番組アドバイザリ（勧告）
ペアレンタル・アドバイザリ（親への勧告）の幾つかのカテゴリがＩＰＧＸ実施形態でサポートされる。このフィールドは、以下のリスト
・ＮＵＤＩＴＹ（ヌード）−短いものから広範なものまで
・ＳＥＸ（性）−ヌードおよび言葉を超える強い性的コンテンツ
・ＶＩＯＬＥＮＣＥ（暴力）−穏やかなものから写実的なものまで
・ＬＡＮＧＵＡＧＥ（言葉）−穏やかなものから写実的なものまで
から０個以上のエントリを含むことができる。
【０２１８】
多くのアドバイザリが追加のカテゴリをサポートするが、それらをこのセットに適宜マッピングすべきである。例えば、「レイプ」はＳＥＸおよびＶＩＯＬＥＮＣＥにマッピングされる。
【０２１９】
番組キャスト、作者、ディレクタ、プロデューサ
番組に関係する様々な人々に関する情報が使用可能であり得るが、ＩＰＧＸは典型的には、主演、作者（１人または複数）、ディレクタ（監督）（１人または複数）、およびプロデューサ（１人または複数）へ、関心を限定する。それぞれについてのフィールドは、以下のフォーマットの０個以上の名前を含むべきである。ＳＵＲＮＡＭＥ（姓），ＧＩＶＥＮＮＡＭＥ（名）（すべて大文字、姓が最初、コンマで分離）。例えば、「スター・ウォーズ」に関するフィールドは以下のように、すなわち、
ＰＲＯＧＲＡＭ  ＰＲＯＤＵＣＥＲ（番組プロデューサ）：ＬＵＣＡＳ，ＧＥＯＲＧＥ（ルーカス，ジョージ）
ＰＲＯＧＲＡＭ  ＤＩＲＥＣＴＯＲ（番組ディレクタ）：ＫＡＳＤＡＮ，ＬＡＷＲＥＮＣＥ（カスダン，ローレンス）
ＰＲＯＧＲＡＭ  ＷＲＩＴＥＲ（番組作者）：ＬＵＣＡＳ，ＧＥＯＲＧＥ（ルーカス，ジョージ）；ＷＲＩＴＥＲ，ＧＨＯＳＴ（ライター，ゴースト）
ＰＲＯＧＲＡＭ  ＣＡＳＴ（番組キャスト）：ＨＡＭＭＩＬ，ＭＡＲＫ（ハミル，マーク）；ＦＯＲＤ，ＨＡＲＲＩＳＯ（フォード，ハリソン）；ＧＵＩＮＥＳＳ，ＡＬＥＣ（ギネス，アリス）；ＦＩＳＨＥＲ，ＣＡＲＲＩＥ（フィッシャー，キャリー）
のようになり得る。
【０２２０】
番組タイプ
番組タイプは、そのコンテンツではなく、番組のフォーマットを記述し、ジャンルと混同されない。有効な番組タイプは以下のもの、
・ＳＥＲＩＥＳ（シリーズ）−反復される番組やエピソードからなる番組（例えば、Ｆｒｉｅｎｄｓ（フレンズ）、Ｃｅｌｅｂｒｉｔｙ  Ｐｏｋｅｒ（セレブリティー・ポーカー））
・ＳＰＥＣＩＡＬ（特別番組）−他のカテゴリに入らない１回限りの番組（例えば、オスカー賞）
・ＰＡＩＤ（支払い）−インフォマーシャルや他の支払い番組（paid program）
・ＳＰＯＲＴＳ（スポーツ）−スポーツ・イベントであるが、スポーツ関連のシリーズではない
・ＭＯＶＩＥ（映画）−単一の映画または単独のフィクション番組
・ＮＥＷＳ（ニュース）−ニュース放送、天気チャネル・ブロードキャストなど
・ＴＡＬＫ（トーク）−トーク・ショー、インタビュー（例えば、Ｄａｉｌｙ  Ｓｈｏｗ（デイリー・ショー）、Ｌｅｔｔｅｒｍａｎ（レターマン）、Ｃｒｏｓｓｆｉｒｅ（クロスファイヤ）、Ｃｈａｒｌｉｅ  Ｒｏｓｅ（チャーリー・ローズ）、Ｓｕｎｄａｙ  ｗｉｔｈ  Ｗｏｌｆ  Ｂｌｉｔｚｅｒ（サンデー・ウィズ・ウルフ・ブリッツァー）、Ｌａｒｒｙ  Ｋｉｎｇ（ラリー・キング））
・ＯＴＨＥＲ（他のタイプ）−上記に含まれないタイプ
を含む。
【０２２１】
番組ジャンル
ジャンルは主に、ＳＥＲＩＥＳ、ＳＰＥＩＣＡＬ、またはＭＯＶＩＥのタイプの番組に適用され、番組の一般的なコンテンツ・タイプおよびスタイルを記述する。従って、高度な識別（区別）の必要性と、値のセットが小さいことが好ましいということとのバランスを取ることが好ましい。ジャンル情報は、以下の値セット、すなわち、
ＤＲＡＭＡ（ドラマ）
ＡＣＴＩＯＮ（アクション）
ＷＥＳＴＥＲＮ（西部劇）
ＳＣＩ−ＦＩ／ＦＡＮＴＡＳＹ（ＳＦ／ファンタジー）
ＣＯＭＥＤＹ（コメディ）
ＭＵＳＩＣＡＬ（ミュージカル）
ＭＹＳＴＥＲＹ（ミステリー）
ＴＨＲＩＬＬＥＲ（スリラー）
ＡＤＶＥＮＴＵＲＥ（冒険）
ＨＯＲＲＯＲ（ホラー）
ＲＯＭＡＮＣＥ（ロマンス）
ＦＡＭＩＬＹ（家族）
ＡＮＩＭＡＴＩＯＮ（アニメーション）
ＣＨＩＬＤＲＥＮ（子供）
ＯＴＨＥＲ（他）
にマッピングされるべきである（１つの番組に複数の値が当てはまることもある）。
【０２２２】
幾つかの番組は、多くのジャンルに属するものとして適切にリストされる。他の番組は１つのみを有し得る。例えば、「キル・ビル（ｖｏｌ．１）」は、ＡＣＴＩＯＮ、ＣＯＭＥＤＹ、ＴＨＲＩＬＬＥＲ、ＭＹＳＴＥＲＹ、ＡＮＩＭＡＴＩＯＮとすることができるが、「スター・ウォーズ」は単にＳＣＩ−ＦＩ／ＦＡＮＴＡＳＹとされ得る。他の記述子は、番組サブジャンル・フィールド（例えば、フットボール、ソープ・オペラ、政治）に適用される。関連性情報がジャンルリストに提供される場合、或る論理しきい値よりも上のもののみを含む。
【０２２３】
番組サブジャンル
このフィールドは自由である。番組を記述する任意の用語が、すべて大文字で、コンマで区切られてここに現れる。これは、タイプがＳＰＯＲＴＳである番組についてのスポーツのタイプ（例えば、ＦＯＯＴＢＡＬＬ（フットボール）、ＢＡＳＫＥＴＢＡＬＬ（バスケットボール））、トーク・ショーのタイプ（例えばＢＵＳＩＮＥＳＳ／ＦＩＮＡＮＣＩＡＬ（ビジネス／金融））、更にはジャンルの更に詳しい説明（例えば、タイプはＭＯＶＩＥでジャンルはＡＣＴＩＯＮである番組についてのＫＵＮＧ−ＦＵ（カンフー））を含む。関連性情報が提供される場合、或る論理しきい値を超えるサブジャンルのみを含む。
【０２２４】
番組インスタンス説明
番組インスタンス・フィールドは、番組がユーザへ向けて放送される環境を記述するが、番組のコンテンツを記述しない。ＩＰＧＸに関しては、典型的には、時間、日付、チャネル関連フィールドのみが任意の関連性を有する。
【０２２５】
インスタンス放送日
これは、特定の番組インスタンスを放送中の曜日である。値はＭＯＮＤＡＹ（月曜）からＳＵＮＤＡＹ（日曜）である。
【０２２６】
インスタンスＡＩＲ（放送）時間
これは、番組インスタンスの放送を開始する時間である。すべての時間が、それが生じる半時間セグメントに丸められる。ＩＰＧＸ実施形態は、典型的には、すべての放送時間を以下の値のうちの１つにマッピングする。
【０２２７】
【表５】
2009505298.tif 000010
【０２２８】
インスタンス・チャネル名
このフィールドは、チャネルを一意的に識別する。それは、マーケット内のチャネル・マップ中の所与のチャネルに関連するチャネル名またはコールサインとして表すことができる。例えば、ＨＢＯ、ＥＳＰＮ、ＷＸＹＺなどである。オンデマンドまたはペイ・パー・ビューのコンテンツは、それが放送されるサービスのチャネル名を含むべきである（例えば、ＨＢＯ  ｏｎ  ＤｅｍａｎｄについてはＨＯＤ、第１ペイ・パー・ビュー・チャネルについてはＰＰＶ１）。チャネルと関連付けられない他の任意のオンデマンド・コンテンツでは、ＶＯＤやＰＰＶを適宜に使用する。複数の名前が所与の局に適用されることがあり、コンマで分離してリストされるべきである。例えば、ローカルのＡＢＣアフィリエイトは、インスタンス・チャネル名「ＡＢＣ、ＷＪＬＡ」を有することがある。一実装は、文字Ｃが先頭に付加される固有の５桁コードを使用する。
【０２２９】
インスタンス・コスト
これは、所与の番組のユーザに対する直接のコストを定義する。大部分の放送またはケーブル・コンテンツでは、これは＄０．００である。ＰＰＶまたはＶＯＤのみが、それに関連する０ではないコストを有し得る。
【０２３０】
バイナリ属性フォーマット（ＢＡＦ）
ＢＡＦでの番組定義の基本メモリ・レイアウトが以下の表に提示される。この例示的レイアウトは、この実施形態では番組インスタンスのために格納されるすべての情報を含む。
【０２３１】
【表６】
2009505298.tif 000011
【０２３２】
この特定の実施形態は、番組インスタンス説明全体を格納するために合計１６２バイトを必要とする。しかしながら、この情報の大部分の実際の消費者は、この情報のサブセットのみを見ることを望む。例えば、以下のようなものである。
【０２３３】
【表７】
2009505298.tif 000012
【０２３４】
番組識別子およびインスタンス識別子
番組およびインスタンスの識別子の定義および内部フォーマットは実装に依存する。
属性ビットベクトル・マッピング
ＣＴＰの多くの属性フィールドを、属性ビット・ベクトルの１または複数のビットに好都合にマッピングすることができる。こうしたフィールドの一部について、個々のフィールド値が属性ビットの状態へ直接的にマッピングされる。しかしながら、他のフィールドはより複雑である。一般的な経験則は、
・関心のあるすべての値を表すために使用するビットを可能な限り少なくする、
・各ビットをそれ自体ですべて意味あるものとする、
・同じＣＴＦフィールドに基づいてビットのそれぞれの組合せを意味のあるものとする、
というものである。
【０２３５】
例えば、以下の表において、週の曜日に７ビットを割り振るのではなく、２だけを使用することに留意されたい。各ビットは、意味ある曜日のグループ（例えば、平日や登校日の前日の夜）と関連付けられる。これらは、ＴＶ視聴に関して最も関係するグループ分けである。また、組み合わせて、４つの曜日のグループ分けを指定することが可能となる（００＝土曜日、０１＝日曜日、１０＝金曜日、および１１＝月曜日・・・木曜日）。最初の６ビットは、番組インスタンス情報に充てられ、次の５８ビットは番組コンテンツに充てられることに留意されたい。
【０２３６】
【表８】
2009505298.tif 000013
【０２３７】
用語ビットベクトル・マッピング
ＣＴＦフォーマットの残りのフィールドはすべて、番組またはインスタンスを順位付けするのに使用することができる用語を生成する。学習／順位付けアルゴリズムはビット・ベクトルのみを理解するので、これらの用語は、典型的には、有用となるように用語ビット・ベクトル中の６４ビットのうちの１つに割り当てられる。本節は、どのように用語がベクトル中のビットに割り当てられるかを説明する。
【０２３８】
１．各用語は、そのタイプについて適切に好ましくステミングされる。例えば、番組タイトルまたは説明中のワード（キャスト名を含まない）は、その語根に短縮される（例えば、ｔａｌｋｉｎｇ−＞ｔａｌｋ、ｇｏｅｓ−＞ｇｏ、ｒｅａｄａｂｌｅ−＞ｒｅａｄなど）。すべてのものがすべて大文字（または小文字）に変換され、句読点が除去される。このプロセスのバージョンに関するソース・コードは広く入手可能である。ここで使用可能なＰｏｒｔｅｒステマが推奨される。（http://filebox.vt.edu:8080/users/yucui/IR.code/ir-code/stemmer/）
２．重要な情報のために貢献しない共通ワード（単語）が除去されるべきである。そのような「ストップ・ワード」の初期のリストは下記のところ、http://filebox.vt.edu:8080/users/yucui/IR.code/ir-code/stopper/、で見つかる。ＴＶ説明で一般に見つかる更なる単語が付加される。
【０２３９】
３．用語に寄与するすべてのＣＴＦフィールドは、典型的には、以下の表の一意の文字と関連付けられる。この文字は、一般に、用語の前に付加される。例えば、Ｄａｎｎｙ  ＤｅＶｉｔｏ（ダニー・デビート）は、監督として現れる場合はＤｄａｎｎｙ  ｄｅｖｉｔｏとされ、俳優として現れる場合はＡｄａｎｎｙ  ｄｅｖｉｔｏとさる。
【０２４０】
【表９】
2009505298.tif 000014
【０２４１】
４．サーバ側では、結果として得られたすべての用語が、一般に、一意の２バイトインデックスおよびその発生回数カウントとともに、データベースへ蓄積される。
５．番組説明に現れ且つ殆どの情報を運ぶこの６４用語（より少ないほうが好ましい）のインデックスは、ＢＡＦ番組説明に含まれるべきである。あまににも頻繁に現れる用語や殆ど現れない用語は、それが持つ情報が僅かである傾向がある。中程度の頻度で現れる用語は、多くの情報を運ぶ。
【０２４２】
６．クライアント側では、ＩＰＧＸコアの一実施形態が、用語属性ビットへの用語インデックスのマッピングを維持し、ビットへの用語のマッピングを実施する。
【図面の簡単な説明】
【０２４３】
【図１】図１は、マルチメディア・コンテンツ送達システムを示す従来技術のブロック図である。
【図２】図２は、本発明の一実施形態による、ユーザにアイテムを推奨するステップを示す流れ図である。
【図３】図３は、本発明の一実施形態による、対話式番組ガイド拡張サーバ・エレメントおよび関連するガイド・データ・ソースを示すブロック図である。
【図４】図４は、本発明の一実施形態による、従来のＩＰＧまたはＰＶＲとインターフェースする対話式の番組ガイド拡張クライアント・モジュールを示すブロック図である。
【図５】図５は、本発明の一実施形態による例示的ビット・ベクトル（映画「Ａ  Ｂｅａｕｔｉｆｕｌ  Ｍｉｎｄ」に関する）を示す表である。
【図６】図６は、本発明の一実施形態による用語辞書の一例を示す表である。
【図７】図７は、本発明の一実施形態による様々な用語タイプについて行われる処理を示す表である。
【図８】図８は、本発明の一実施形態による用語マップの一例を示す表である。
【図９ａ】図９は、本発明の一実施形態による、成熟度の様々なステージでの一般的なバイナリ・デシジョン・ツリー（９（ａ）、９（ｂ）、９（ｃ）、（９ｄ））の例を示す。
【図９ｂ】図９は、本発明の一実施形態による、成熟度の様々なステージでの一般的なバイナリ・デシジョン・ツリー（９（ａ）、９（ｂ）、９（ｃ）、（９ｄ））の例を示す。
【図９ｃ】図９は、本発明の一実施形態による、成熟度の様々なステージでの一般的なバイナリ・デシジョン・ツリー（９（ａ）、９（ｂ）、９（ｃ）、（９ｄ））の例を示す。
【図９ｄ】図９は、本発明の一実施形態による、成熟度の様々なステージでの一般的なバイナリ・デシジョン・ツリー（９（ａ）、９（ｂ）、９（ｃ）、（９ｄ））の例を示す。
【図１０】図１０は、本発明の一実施形態による、例示的バイナリ・デシジョン・ツリーを示す。
【図１１】図１１は、本発明の一実施形態で幾つかの属性を定義するために使用されるテレビジョン番組スケジューリング・ブロックを示す円グラフである。
【図１】
2009505298.tif 000015
【図２】
2009505298.tif 000016
【図３】
2009505298.tif 000017
【図４】
2009505298.tif 000018
【図５】
2009505298.tif 000019
【図６】
2009505298.tif 000020
【図７】
2009505298.tif 000021
【図８】
2009505298.tif 000022
【図９ａ】
2009505298.tif 000023
【図９ｂ】
2009505298.tif 000024
【図９ｃ】
2009505298.tif 000025
【図９ｄ】
2009505298.tif 000026
【図１０】
2009505298.tif 000027
【図１１】
2009505298.tif 000028
【国際調査報告】
2009505298.tif 000029