(58)【調査した分野】(Int.Cl.,DB名)
前記追加検索語を判断することは、テレビ番組関連情報の前記データベース内に格納された前記情報に基づき前記追加検索語を判断することを含む、請求項1に記載の方法。
前記テレビ番組を推測することは、一組の可能なテレビ番組内のテレビ番組毎に、前記受信された検索クエリに関連付けられた得点を生成することを含む請求項1に記載の方法。
前記テレビ番組関連情報は、番組時間、チャネル情報、番組題名、番組説明、番組シリーズ情報、キャスト情報、およびジャンル情報に関係する情報を含む請求項1に記載の方法。
【発明を実施するための形態】
【0014】
同様な参照符号は添付図面を通して対応部分を指す。
【0015】
いくつかの実装形態では、テレビ視聴者(本明細書ではユーザと呼ぶことがある)は、テレビコンテンツを視聴している間コンピュータ、セットトップボックス、スマートフォンまたは他のインターネット接続型電子装置にアクセス可能である。時折、このようなテレビ視聴者は、視聴しているテレビコンテンツに関係する検索クエリをインターネット接続型装置に対し行う。例えば、野生動物についてのテレビ番組を視聴しているとき、ユーザはその番組中に述べられた特定の動物種に関係する検索をインターネット接続型装置に対し行う可能性がある。別の例として、映画を視聴している視聴者は、映画中に現われる位置または俳優についての検索を行う可能性がある。このような視聴者は、検索クエリを入力する際に、視聴している番組中に述べられた特定のコンテンツに関係するが同一でない検索語を使用する可能性がある。例えば、特定モデルのポルシェについての一コマを有するテレビ番組を視聴する誰かが、一コマの主題だった特定モデルの指示の代わりに「ポルシェ」または「スポーツカー」の検索クエリを行う可能性がある。
【0016】
いくつかの実装形態は、何人かのテレビ視聴者が視聴しているテレビ番組中におよび同テレビ番組に関連した検索クエリを入力することを活用して、このようなユーザに戻される検索結果の品質を改善する。いくつかの実装形態では、この改良は、多様なモードの生テレビ放送(例えばケーブル、無線、衛星、インターネットストリーミング)のテレビ番組のコンテンツおよび地理的可用性についての総合的情報が入手可能な検索エンジンにより提供される。いくつかの実装形態では、検索エンジンは、受信した検索クエリと、検索クエリを行ったユーザに恐らく入手可能な(検索クエリが提出された時間とユーザ/ユーザの装置に関連付けられた位置とに基づき)テレビ番組のコンテンツとを比較する。いくつかの実装形態では、検索エンジンは、ユーザにより入力されたユーザプロファイルまたは他の情報からユーザの位置を判断することができる。いくつかの実装形態では、検索エンジンは、ユーザにより採用されたインターネット接続型装置のIPアドレスからユーザ/装置の位置を、または、ユーザにより採用されたインターネット接続型装置のユーザ設定と能力とに依存して、インターネット接続型装置内のGPS受信機に関連付けられた位置情報、近くのWiFi送信機の既知の位置、または近くの移動体/セルラー通信塔の既知の位置を判断することができる。番組情報とユーザの検索クエリとの間に許容可能な相関が存在すると(例えば、ユーザが、特定のポルシェモデルについての一コマを含むテレビ番組が放送されているのと同じ時間窓中に「ポルシェ」のクエリを行うと)、検索エンジンは、当該ユーザがこの特定テレビ番組を視聴していた、または当該ユーザがこの特定テレビ番組の視聴に関心を有するであろうという仮定に基づき改善検索結果を戻す。例えば、当該ポルシェモデルが「911ターボ」であり、ユーザが「ポルシェ」の検索クエリを行えば、サーバは、1)「911ターボ」モデル(例えば「911ターボ」についてのPorsche.comのウェブサイトの情報へのリンク)、2)その一コマを有する現在放送中のテレビ番組についての情報、3)現在放送中または将来放送するユーザに入手可能な同様な番組の示唆のうちの1つまたは複数についての情報を戻すことができる。このようにして、実装形態は、視聴者が視聴しているまたは視聴に関心を持つ可能性があるテレビ番組のコンテンツに関係する生テレビ放送の改善検索結果を視聴者に提供する。
【0017】
図1は、いくつかの実装形態による、クエリサーバシステム120を含むクライアントサーバ環境100を例示するブロック図である。クライアントサーバ環境100は、1つまたは複数のクライアントシステム(本明細書では電子装置とも呼ぶ)102、1つまたは複数のクライアント環境108、およびクエリサーバシステム120を含む。1つまたは複数のネットワーク110はこれらの構成要素を相互接続する。ネットワーク110は、ローカルエリアネットワーク(LAN)、広域ネットワーク(WAN)、無線ネットワーク、有線ネットワーク、インターネット、またはこのようなネットワークの組み合わせを含む多種多様なネットワークのうちの任意なものであり得る。
【0018】
クライアント環境108は、いくつかの実装形態によるクライアントシステム102とテレビ受像機106を含む。クライアントシステム102は、クエリをクエリサーバシステム120へ送信するためのクライアントシステムにより行われるクライアントアプリケーション104を含む。いくつかの実装形態では、クライアントアプリケーション104は、検索アプリケーション、ブラウザアプリケーション用検索エンジンプラグイン、およびブラウザアプリケーション用検索エンジンエクステンションからなる組から選択される。いくつかの実装形態では、テレビ受像機106は、パーソナルコンピュータ、ラップトップ、または任意の他の個人用電子装置を含むテレビ番組を表示することができる任意の装置で置き換えられる。
【0019】
クライアントシステム102はクエリをクエリサーバシステム120へ送信し、クエリサーバシステム120からデータを受信する。クライアントシステム102は、クエリサーバシステム120と通信することができる任意のコンピュータまたは他の電子装置であり得る。この例としては、限定するものではないが、デスクトップおよびノートブックコンピュータ、メインフレームコンピュータ、サーバコンピュータ、携帯電話、スマートフォンおよび個人用デジタル情報処理端末などの携帯機器、ネットワーク端末、およびセットトップボックスが挙げられる。
【0020】
いくつかの実装形態によると、クエリサーバシステム120は、クエリ処理サーバ122、クエリプロファイルデータベース140、テレビ番組情報データベース、およびいくつかの検索改善システム124を含む。検索改善システム124は、テレビ番組判定システム124−1、検索改善124−2、およびテレビ番組示唆システム124−3を含む。クエリサーバシステム120は、通信ネットワーク110を介し1つまたは複数のクライアントシステム102から検索クエリ112を受信し、通信ネットワーク110を介し1つまたは複数のクライアントシステム102へ検索結果114を戻す。クエリ処理サーバ122はクライアントシステム102から受信された検索クエリ112を処理する。いくつかの実装形態では、クエリ処理サーバ122は検索結果114をクライアントシステム102に戻す。いくつかの実装形態では、クエリ処理サーバ120は、受信された検索語のクエリプロファイルをクエリプロファイルデータベース140から取り出す。いくつかの実装形態では、クエリ処理サーバ122は、クエリを処理することの一部として、クエリを複数の検索改善システム124の1つへ送信する。
【0021】
いくつかの実装形態によると、検索改善システム124はそれぞれ、個別検索改善処理を実施し、この個別検索改善処理を実行するためにテレビ番組情報データベース130に必要に応じアクセスする。例えば、判断システム124−1は、テレビ番組プロファイルを得るために、テレビ番組時間とテレビ番組に関係する関心カテゴリとについての情報を含むテレビ番組情報データベース130にアクセスする。別の例では、検索拡張システム124−2はクエリ処理サーバから検索クエリと判断されたテレビ番組とを受信する。次に、検索拡張システム124−2は、検索クエリを適切に拡張するためにテレビ番組情報データベース130にアクセスする。これについては、
図7でさらに詳細に説明する。示唆システム124−3は、クエリ処理サーバ122から検索クエリを受信し、受信された検索クエリに関係するテレビ番組を判断するためにテレビ番組情報データベース130にアクセスする。次に、示唆システム124−3は示唆されたテレビ番組をクエリ処理サーバ122へ戻し、次にクエリ処理サーバ122はこの示唆をクライアントシステム102へ中継するだろう。
【0022】
クライアントシステム102は、1つまたは複数の検索結果または示唆をユーザに提示する。上記結果は、ディスプレイ上に、オーディオスピーカにより、またはユーザに情報を伝達するために使用される任意の他の手段により提示され得る。ユーザは検索結果または示唆と様々なやり方で相互作用し得る。ユーザは、マウス、キーボード、接触感知ディスプレイ、音声作動対応制御システム(voice enabled control systems)などを含む入力装置のうちの任意の数のものを介し検索結果と相互作用し得る。
【0023】
図2は、一実装形態によるクライアントシステム102を例示するブロック図である。クライアントシステム102は通常、1つまたは複数の処理装置(CPU)202、1つまたは複数のネットワークインターフェース210、メモリ212、およびこれらの構成要素を相互接続するための1つまたは複数の通信バス214を含む。クライアントシステム102はユーザインターフェース204を含む。ユーザインターフェース204は表示装置206を含み、任意選択的に、キーボード、マウス、接触感知ディスプレイ、または他の入力ボタン208などの入力手段を含む。さらに、いくつかのクライアントシステムは、キーボードを補足または置換するためにマイクロホンと音声認識を利用する。任意選択的に、クライアント102はGPS(全地球測位衛星:global positioning satellite)受信機、またはクライアントシステム102の位置を判断するための他の位置検出装置207を含む。いくつかの実装形態では、クライアントシステム102の位置を示す位置情報を受信するために可視クエリサーバシステムをクライアントシステム102に設ける必要がある可視クエリ検索サービスが提供される。
【0024】
メモリ212は、DRAM、SRAM、DDR RAM、または他のランダムアクセス固体メモリ装置などの高速ランダムアクセスメモリを含み、1つまたは複数の磁気ディスク記憶装置、光学ディスク記憶装置、フラッシュメモリ装置、または他の不揮発性固体記憶装置などの不揮発性メモリを含み得る。メモリ212は任意選択的に、CPU202から遠く離れて位置する1つまたは複数の記憶装置を含み得る。メモリ212またはメモリ212内の不揮発性メモリ装置はコンピュータ可読記憶媒体を含む。いくつかの実装形態では、メモリ212またはメモリ212のコンピュータ可読記憶媒体は以下のプログラム、モジュールおよびデータ構造、またはその部分集合を格納する。
●様々な基本システムサービスを扱う手順とハードウェア依存タスクを行うための手順とを含むオペレーティングシステム216、
●1つまたは複数の通信ネットワークインターフェース210(有線または無線)と、インターネット、他の広域ネットワーク、ローカルエリアネットワーク、都市エリアネットワークなどの1つまたは複数の通信ネットワークとを介し他のコンピュータにクライアントシステム102を接続するために使用されるネットワーク通信モジュール218、
●オペレーティングシステム216とクライアントアプリケーション230により生成された情報をディスプレイ206上に視覚的に提示できるようにするためのディスプレイモジュール220、
●クエリ処理サーバ120へクエリを送信しクエリ処理サーバ120から結果を受信するためのブラウザアプリケーション224を含む(がこれらに限定されない)クエリ処理サーバ120と相互作用する様々な態様を扱うための1つまたは複数のクライアントアプリケーションモジュール104、
●クライアント位置データ232、クライアントIPアドレスデータ234、およびクライアントプロファイルデータ236を含む(がこれらに限定されない)クライアント関連データを格納するためのクライアントデータモジュール230。
【0025】
図3Aと
図3Bはクエリサーバシステムを例示するブロック図である。クエリサーバシステム120は通常、1つまたは複数の処理装置(CPU)302、1つまたは複数のネットワークまたは他の通信インターフェース304、メモリ306、およびこれらの構成要素を相互接続するための1つまたは複数の通信バス308を含む。メモリ306は、DRAM、SRAM、DDR RAM、または他のランダムアクセス固体メモリ装置などの高速ランダムアクセスメモリを含み、1つまたは複数の磁気ディスク記憶装置、光学ディスク記憶装置、フラッシュメモリ装置、または他の不揮発性固体記憶装置などの不揮発性メモリを含み得る。メモリ306は任意選択的に、CPU302から遠く離れて位置する1つまたは複数の記憶装置を含むことができる。メモリ306またはメモリ306内の不揮発性メモリ装置はコンピュータ可読記憶媒体を含む。いくつかの実装形態では、メモリ306またはメモリ306のコンピュータ可読記憶媒体は以下のプログラム、モジュールおよびデータ構造、またはその部分集合を格納する。
●様々な基本システムサービスを扱う手順とハードウェア依存タスクを行うための手順とを含むオペレーティングシステム310、
●1つまたは複数の通信ネットワークインターフェース304(有線または無線)と、インターネット、他の広域ネットワーク、ローカルエリアネットワーク、都市エリアネットワークなどの1つまたは複数の通信ネットワークとを介し他のコンピュータにクエリサーバシステム120を接続するために使用されるネットワーク通信モジュール312、
●以下のものを含む(がこれらに限定されない)クエリサーバシステムにより提示されたサービスを行うための1つまたは複数のサーバアプリケーションモジュール314、
○検索クエリをクライアントシステム102(
図1)から受信し、検索クエリに関する結果を判断し、検索クエリに従って結果を順序付け、判定結果をクライアントシステム102(
図1)に戻すための検索モジュール316、
○検索モジュール316から検索クエリ112を受信し、検索クエリプロファイルデータベース140内のデータ、ユーザ位置データ340、およびテレビ番組情報データベース130内の情報に基づき、クライアントシステム102(
図1)のユーザが現在テレビ番組を視聴しているかどうかを判断し、クライアントシステムのユーザが現在テレビ番組を視聴しているという判断に従って、検索クエリプロファイルデータベース140内のデータ、ユーザ位置データ340、およびテレビ番組情報データベース130内の情報に基づきクライアントシステム102(
図1)のユーザが現在どのテレビ番組を視聴しているかを判断するためのテレビ番組判定システム124−1であって、その判断方法は
図6にさらに詳細に示され、以下のものを含む(が必ずしもこれらに限定されない)テレビ番組判定システム、
・可能なテレビ番組の順序集合から判断されたテレビ番組を選択するための判断選択モジュール346、
○判断されたテレビ番組340、検索クエリプロファイルデータベース140内のデータ、およびテレビ番組情報データベース130内の情報に基づき検索クエリ112を修正し、修正された検索クエリを検索モジュール316に戻すための検索クエリ修正システム124−2であって、
・テレビ番組情報データベースおよびクエリデータベースにアクセスするためのデータベースアクセスモジュール348、
・受信された検索クエリに関係する追加用語を判断するための追加用語判断モジュール350であって、追加用語を判断するため方法は
図7においてより明確に説明される、追加用語判断モジュール、
・受信された検索クエリに追加用語を追加するための追加用語追加モジュール352、を含む(がこれらに限定されない)修正システム、
○検索モジュール316から検索クエリを受信し、検索クエリプロファイルデータベース140内のデータ、ユーザ位置データ340、およびテレビ番組情報データベース130内の情報に基づき、クライアントシステム102のユーザに入手可能な少なくとも1つのプログラムを判断し、判断されたテレビ番組をクライアントシステム102のユーザへ送信するためのテレビ番組示唆システム124−3であって、
・ユーザの関心に関係するカテゴリを判断するための関心判断モジュール354を含むが(これに限定されない)テレビ番組示唆システム、
○クライアントシステム102のユーザからフィードバックを受信するためのフィードバック受信モジュール324、
○フィードバック受信モジュール324により受信されたフィードバックに応じて将来の示唆を抑制するための示唆抑圧モジュール326、
○いくつかの実装形態による、検索結果とテレビ番組推薦を含む通信をクライアントへ送信するための出力通信モジュール328、
○照合関数を1つまたは複数のカテゴリリストに適用するための照合モジュール342、
○テレビ番組の組を順序付けるための順序付けモジュール360、
○クライアントシステム102のユーザが現在テレビ番組を視聴しているかどうかを判断するためのテレビ視聴判断モジュール、
○一組のテレビ番組内の1つまたは複数のテレビ番組の得点を生成するための得点生成モジュール364、
○検索クエリとテレビ番組とに関連付けられたカテゴリを特定することのためのカテゴリ識別モジュール366、
●クエリサーバシステム120に関係するデータを保持するサーバデータ330であって、以下のものを含む(がこれらに限定されない)サーバデータ330、
○テレビ番組プロファイルを含むテレビ番組情報データベース130(
図5でさらに詳細に説明されるような)であって、テレビ番組プロファイルは、時間、チャネル、番組題名、番組説明、シリーズID、キャスト、カテゴリリスト情報、およびジャンルを含むテレビ番組についてのメタデータを格納する、テレビ番組情報データベース、
○ネットワーク上で入手可能なドキュメントに関するウェブクローラ(web crawler)により格納された情報を含むウェブクローラデータ336、
○検索クエリに関係するカテゴリを判断するためのクエリプロファイル(
図4でさらに詳細に説明されるような)を含むクエリプロファイルデータベース140、
○ユーザの物理的位置とクライアントシステム(
図1の102)のIPアドレスの両方を含むユーザ位置データ340、
○検索語372、クライアントシステム102のユーザのIPアドレス374、クライアントシステム(
図1の102)のユーザに関連付けられた位置データ376、および検索クエリに関連付けられたクエリID378を含む1つまたは複数の検索クエリ370、
○検索クエリに追加するための追加用語判断モジュール350により判断される1つまたは複数の追加検索語380、
○検索モジュール316により判断される、受信された検索クエリに関連付けられた検索結果382、
○テレビ番組判定システム124−1により判断された1つまたは複数のテレビ番組384、
○テレビ番組と検索クエリとを比較するための得点生成モジュール364により生成されたテレビ番組得点データ386、
○テレビ番組を順位付けするための順序付けモジュール360により順序付けられた一組のテレビ番組388、
○推薦されたテレビ番組に対するユーザの応答を示すためのクライアントシステム102のユーザから受信されたユーザ応答データ390、
○クライアントシステム(
図1の102)のユーザへ送信するための推薦テレビ番組392。
【0026】
図4は、いくつかの実装形態に従ってクエリプロファイルを格納するためのクエリプロファイルデータベース140の例示的データ構造のブロック図を描写する。いくつかの実装形態によると、クエリプロファイルデータベースデータ構造140は、それぞれがユーザにより提出されたクエリに対応する複数のクエリプロファイル記録414−1〜414Pを含む。同じクエリが多くのユーザにより提出されると、単独のクエリプロファイル414が当該クエリのプロファイル情報を格納する。いくつかの実装形態では、各クエリプロファイル記録414は、特定のクエリを特定するクエリID416、クエリ内の一組の対応するクエリ語416、およびクエリを分類するためのカテゴリリスト420を含む。いくつかの実装形態では、クエリプロファイルはまた、検索クエリに関連付けられた1つまたは複数の関連語426を含む。
【0027】
いくつかの実装形態では、カテゴリリスト417のメンバーは1つまたは複数のカテゴリ/重みペア(カテゴリID422、重み424)を含む。カテゴリID422は、ニュース、スポーツ、旅行、金融などの特定タイプの情報に対応し得、重み424は、クエリと対応する情報のタイプとの間の関連性を測定する数である。例えばクエリ語「ゴルフ」は、スポーツとスポーツ用品のカテゴリに対して比較的高い重みを有するが情報技術(IT)のカテゴリに対して低い重みを有し得る。いくつかの実装形態では、カテゴリID420は、カテゴリ名により簡単に標記されても標記されなくてもよい「概念クラスタ」(例えばクラスタリング処理により生成され得る)に対応する。
【0028】
以下に説明するいくつかの実装形態では、個々のクエリプロファイル414が生成され、使用され、次に、データベースまたは他の集合的データ構造内にクエリプロファイルを格納すること無く廃棄される。いくつかの実装形態では、個々のクエリプロファイルとそれらの関連カテゴリリストは自然言語処理により生成される。クエリプロファイルを生成するためにテキストのコーパスに対し自然言語処理を行う一方、クエリ検索サーバ(
図1、120)は、不定冠詞または定冠詞(「a」または「the」)などすべての文章全体にわたって頻繁に現われる関心が無い単語を無視する。その代りに、クエリサーバシステム(
図1の102)は、人々、位置、および製品(別名、関心が有るエンティティ)を特定する単語のようなより重要な単語に焦点を当てる。関心が有るエンティティに検索空間を制限することにより、クエリ検索システムは、プロファイルがデータベース内に格納される場合に個々のクエリプロファイルを生成するために必要な時間とデータ検索に必要な時間との両方を低減する。
【0029】
いくつかの実装形態では、クエリサーバシステム(
図1の102)は、所与のクエリに関連付けられたカテゴリを判断するためにクエリプロファイルデータベース140にアクセスする。例えば、受信された検索クエリが「ジャガー」である場合、クエリプロファイルカテゴリリストは「自動車」、「哺乳動物」、および「スポーツ」を含み得る。次に、様々な検索改善システム(
図1の124を参照)は、提出された検索クエリが様々なテレビ番組プロファイルに相関する程度を計算するためにこのカテゴリ情報を利用する(
図5においてさらに論述する)。この処理については、
図6、7、8に関し詳細に説明する。この相関情報は、ユーザにより現在視聴されているテレビ番組を判断する、検索クエリの用語を修正する、またはこの情報に基づきユーザにとって関心あるテレビ番組を示唆するいずれかのために使用される。
【0030】
図5は、いくつかの実装形態による、テレビ番組プロファイル510を格納するためのテレビ番組情報データベース130の例示的データ構造のブロック図を描写する。データベースデータ構造130は、それぞれが特定のテレビ番組に対応する複数のテレビ番組プロファイル記録510−1〜510−Pを含む。いくつかの実装形態では、各テレビ番組プロファイル記録510はテレビ番組メタデータを含む。テレビ番組メタデータは、特定のテレビ番組、一組の対応する番組時間514(それぞれが、テレビ番組が放送される一期間に対応する一組の時間)、テレビ番組516を分類するためのカテゴリリスト、チャネル情報520、テレビ番組522の内容を概説する番組説明、キャスト情報524、テレビシリーズ情報526、およびジャンル情報528を特定するテレビ番組ID512を含む。いくつかの実装形態では、テレビ番組プロファイルはまた、テレビ番組に関連付けられた1つまたは複数の関連語530を含む。
【0031】
いくつかの実装形態では、カテゴリリスト516のメンバーは1つまたは複数のペアを含む(カテゴリID517、重み518)。カテゴリID517は、ニュース、スポーツ、旅行、自動車など、特定タイプの情報に対応し得、重み518は、テレビ番組と対応するタイプの情報との間の関連性を測定する数である。例えば、テレビ番組「Top Gear」は、スポーツカーと自動車レースのカテゴリに対して比較的高い重みを有するが航空機のカテゴリに対して低い重みを有し得る。いくつかの実装形態では、カテゴリID517は、カテゴリ名により簡単に標記されても標記されなくてもよい「概念クラスタ」(例えばクラスタリング処理により生成され得る)に対応する。いくつかの実装形態によると、テレビ番組プロファイルを含むテレビ番組カテゴリリスト516データは、
図6、7、8、9に説明されるように、現在視聴中のテレビ番組を判断し、検索クエリを修正し、ユーザが視聴すべきテレビ番組を示唆するために、クエリプロファイルカテゴリリスト417と併せて使用される。
【0032】
以下に説明するいくつかの実装形態では、個々のテレビ番組プロファイル510が生成され、使用され、次にデータベースまたは他の集合的データ構造500内にテレビ番組プロファイルを格納すること無しに廃棄される。いくつかの実装形態では、個々のテレビ番組プロファイルとそれらの関連カテゴリリストは自然言語処理により生成される。テレビ番組プロファイルを生成するためにテキストのコーパスに対し自然言語処理を行う一方、クエリ検索システム(
図1の120)は、不定冠詞または定冠詞(「a」または「the」)などすべての文章全体にわたって頻繁に現われる関心が無い単語を無視する。その代りに、クエリサーバシステム(
図1の102)は、人々、位置、および製品(別名、関心が有るエンティティ)を特定する単語のようなより重要な単語に焦点を当てる。「関心が有るエンティティ」に検索空間を制限することにより、クエリ検索システムは、プロファイルがデータベース内に格納される場合に個々のテレビ番組プロファイルを生成するために必要な時間を低減し、データ検索に必要な時間を低減する。
【0033】
テレビ番組判断
図6は、いくつかの実装形態による、クライアントシステムのユーザにより視聴されているテレビ番組またはテレビ視聴者により使用される電子装置の近くで表示されているテレビ番組を判断するプロセスを例示するフローチャートである。なお、テレビ番組を「判断する」ことは、サーバにおいて入手可能な状況情報(電子装置からサーバに発行された検索クエリと検索クエリが受信された時の時間窓中にまたはその近辺で放送されているテレビ番組についての情報とを含む)に基づき、電子装置の近くで表示されているテレビ番組を予測することを含む。
図6に示す動作のそれぞれは、コンピュータメモリまたはコンピュータ可読記憶媒体に格納された命令に対応し得る。任意選択動作は破線(例えば、破線境界を有するボックス)により示される。いくつかの実装形態では、
図6に説明される方法はテレビ番組判定システム124−1(
図1と
図3)により実行される。
【0034】
いくつかの実装形態によると、クエリサーバシステム120(
図1)は電子装置からユーザの検索クエリを受信し、ユーザ/電子装置は関連付けられた位置を有する(602)。ユーザ/電子装置に関連付けられた位置は、多種多様な方法により判断することができる。例えば、位置はユーザ入力により提供され、ユーザプロファイル内に局所的または遠隔的に格納され得る、または電子装置207(
図2)内に置かれたGPS/定位アプリケーションによりユーザの電子装置上に格納され得る。いくつかの実装形態によると、クエリサーバシステム120(
図1)はまた、ユーザの電子装置に関連付けられたIPアドレスに従ってユーザの電子装置の位置を判断する。いくつかの実装形態では、電子装置のユーザに関連付けられた位置情報はクライアント装置またはクエリサーバシステムのいずれかに格納され得る。
【0035】
いくつかの実装形態によると、クエリサーバシステムは検索クエリをテレビ番組判定システム124−1に渡す。テレビ番組判定システム124−1(
図1)は、受信された検索クエリに関連付けられたクエリプロファイルデータベース140(
図1)内に格納された検索クエリプロフィルと、特定の時間窓中にユーザ/電子装置に入手可能なテレビ番組のテレビ番組情報データベース130(
図1)内に格納されたテレビ番組プロファイルとに従って、電子装置の近くで現在表示されているテレビ番組を判断し、テレビ番組関連情報は、関連付けられた位置において入手可能な複数の可能なテレビ番組の番組説明を含む(606)。「電子装置の近くで表示された」などの語句は、電子装置と同じ部屋内に、またはそうでなければ電子装置の見えるおよび/または聞こえる範囲内に表示されることを意味するものと理解されるので、テレビ番組は電子装置のユーザに対して表示され電子装置のユーザにより視認される、そうでなければ電子装置のユーザにより認識可能である(聞くことだけによっても)。判断方法については以下にさらに詳細に説明する。
【0036】
いくつかの実装形態によると、判断は、複数のテレビ番組内の各テレビ番組の得点を生成することによりなされ、得点は電子装置のユーザから受信されたクエリ語に従って生成される(608)。いくつかの実装形態では、最も高い得点を有するテレビ番組が、クエリサーバシステムの判断モジュールによりなされる判断である(616)。
【0037】
いくつかの実装形態では、クエリサーバシステムは検索クエリ語に関連付けられた第1の組のカテゴリを特定することにより得点を生成する(610)。いくつかの実装形態では、クエリサーバシステムは検索クエリ語に関連付けられた第1の組のカテゴリを動的に判断する。いくつかの実装形態では、クエリサーバシステムは検索クエリ語に関連付けられた第1の組のカテゴリを予め判断し、クエリプロファイルデータベース(
図1の140)内のクエリに関連付けられたクエリプロファイル内に第1の組のカテゴリを格納する。第1の組のカテゴリが予め判断されている場合、クエリサーバシステムはクエリプロファイルデータベースからクエリプロファイルを取り出す。次に、クエリサーバシステムは各テレビ番組に関連付けられた第2の組のカテゴリを特定する(612)。いくつかの実装形態では、各テレビ番組に関連付けられたカテゴリは、テレビ番組情報データベース130(
図3)内に格納されたテレビ番組名、番組説明、キャスト情報、テレビシリーズ情報、ジャンル情報、および関連語などのすべての情報のテキスト解析により判断される。加えて、いくつかの実装形態では、情報はユーザの関心とテレビ番組選択習慣とに基づき保持され、この情報はテレビ番組毎にカテゴリ情報をさらに設定するために使用される。いくつかの実装形態では、クエリサーバシステムは各テレビ番組に関連付けられた第2の組のカテゴリを動的に判断する。他の実装形態では、クエリサーバシステムは検索クエリを受信する前に各テレビ番組に関連付けられた第2の組のカテゴリを予め判断し、各テレビ番組に関連付けられた第2の組のカテゴリを後の検索のためにテレビ番組情報データベース130(
図1)内に格納し得る。
【0038】
いくつかの実装形態によると、クエリサーバシステムは得点を得るために第1の組のカテゴリと第2の組のカテゴリに照合関数を適用する(614)。クエリサーバシステムにより適用された照合関数は2組間の類似性を計算する任意の関数またはアルゴリズムである可能性がある。いくつかの実装形態では、複数のテレビ番組内のテレビ番組毎に生成される得点は相関係数である。例えば、ユーザが検索クエリ「イーグルズ(eagles)」を入力する場合、クエリサーバシステムは「音楽」と「アウトドア」などの「イーグルズ」のカテゴリを見出す可能性が高い。次に、「The Eagles」に関するドキュメンタリが検索クエリに対して大きな相関を有することが見出され、比較的高得点を受けることになる。次に、「ユーザがこのテレビ番組を視聴している」ということをユーザが確認すると、その情報が将来の分類のためにテレビ番組情報データベース内にフィードバックされ得る。
【0039】
任意選択的に、テレビ番組がクライアントシステムのユーザにより現在視聴されているということを判断する前に、クエリサーバシステムはユーザが実際にテレビ番組を現在視聴しているかどうかを判断し得る(604)。クエリサーバシステムは、電子装置のユーザの位置とこの判断をなすために検索クエリが受信された時間だけでなく、受信されたクエリの内容を解析する。いくつかの実装形態では、クエリサーバシステムは、サーバに格納された位置情報に基づき電子装置のユーザに入手可能な1つまたは複数のテレビ番組の相関得点を計算する(検索クエリとテレビ番組を相関付ける得点の計算方法については上を参照)ことにより、この判断を行う。少なくとも1つのテレビ番組が所定の閾値を越えると、1つの判断されたテレビ番組が上に概説したように判断されることになる。しかし、相関得点のいずれも所定の閾値を越えなければ、クエリサーバシステムは電子装置のユーザが現在テレビ番組を視聴していないと判断する。いくつかの実装形態によると、電子装置のユーザが現在テレビ番組を視聴しないとクエリサーバシステムが判断すると、クエリサーバシステム120(
図1)は、修正することなく、受信された検索クエリを使用することにより、ウェブクローラデータ(
図3、336を参照)を介し検索を行う(620)。
【0040】
いくつかの実装形態によると、クエリサーバシステムは生成された得点に従って一組の可能なテレビ番組を順序付ける(618)。
【0041】
テレビ番組ベース検索拡張
図7は、いくつかの実装形態による、判断されたテレビ番組に従って検索結果を改善するプロセスを例示するフローチャートである。
図7に示す動作のそれぞれはコンピュータメモリまたはコンピュータ可読記憶媒体に格納された命令に対応し得る。任意選択動作は破線(例えば、破線境界を有するボックス)により示される。いくつかの実装形態では、
図7に示す動作は検索クエリ修正システム124−2(
図1と
図3)により実行される。
【0042】
いくつかの実装形態によると、クエリサーバシステム120(
図1)は電子装置のユーザから検索クエリを受信する(702)。次に、クエリサーバシステムは、検索クエリに基づき、ユーザが現在視聴しているテレビ番組を判断する(704)。検索クエリに基づきテレビ番組を判断する方法を
図6に示す。いくつかの実装形態では、テレビ番組は、電子装置の近くで表示されているテレビ番組に関する情報にサーバが直接アクセスすることにより判断される。例えば、サーバシステムは、ユーザに対して現在表示されているテレビチャンネルまたはテレビ番組に関する情報を格納する装置(例えばセットトップボックス、インターネット可能テレビシステムまたはホームメディア計算装置(home media computing device))にアクセスすることにより、電子装置の近くで表示されている番組を判断することができる。
【0043】
いくつかの実装形態によると、クエリサーバシステム120(
図1)は、判断されたテレビ番組に基づき、受信された検索クエリを修正する(706)。いくつかの実装形態では、受信された検索クエリを修正する一方法として、クエリサーバシステム120(
図1)はテレビ番組関連情報のデータベースにアクセスする(708)。いくつかの実装形態では、テレビ番組関連情報は、番組時間、チャネル情報、番組題名、番組説明、番組シリーズ情報、キャスト情報、およびジャンル情報に関係する情報を含む。次に、クエリサーバシステム120(
図1)は、判断されたテレビ番組と受信された検索クエリの両方に関連付けられた追加検索語を判断する(710)。クエリサーバシステム120(
図1)は受信された検索クエリに追加検索語を追加する(712)。
【0044】
いくつかの実装形態では、受信された検索クエリを修正するための追加用語を判断することは、検索クエリプロファイル417(
図4)から、受信された検索クエリに関係するカテゴリを最初に判断し、判断されたテレビ番組に関連付けられたテレビ番組プロファイル516(
図5)から、判断されたテレビ番組に関係するカテゴリを判断し、受信された検索クエリに関連付けられた一組のカテゴリと、判断されたテレビ番組に関連付けられた一組のカテゴリとを比較することにより達成される。相関するカテゴリに基づき、検索クエリ修正システム124−2(
図1)は関係する追加検索クエリを見出す。例えば、受信された検索クエリが「F550」であり、判断されたテレビ番組が「Top Gear」(車についてのテレビ番組)である場合、検索クエリ修正システム124−2(
図1)は、受信された検索クエリと判断されたテレビ番組の両方がカテゴリ「スポーツカー」(より具体的にはフェラーリF550)に関連付けられると判断する。この判断に基づき、検索クエリ修正システム124−2(
図1)は、「フェラーリ」が関連検索クエリ語であると判断し、それを含むために、受信された検索クエリを修正する。
【0045】
いくつかの実装形態によると、クエリサーバシステム120(
図1)は、修正された検索クエリにより検索を実行する(714)。クエリ処理サーバは、既にクエリサーバシステムにより収集され、索引付けされ、格納されたウェブクローラデータ(
図3、336を参照)を検索するために、修正された検索クエリを利用する。次に、クエリサーバシステム120(
図1)は修正された検索クエリの検索結果を電子装置に戻す(716)。
【0046】
検索クエリに基づくテレビ番組示唆
図8は、いくつかの実装形態による、受信された検索クエリに従ってテレビ番組を示唆するプロセスを例示するフローチャートである。
図8に示す動作のそれぞれは、コンピュータメモリまたはコンピュータ可読記憶媒体に格納された命令に対応し得る。任意選択動作は破線(例えば、破線境界を有するボックス)により示される。いくつかの実装形態では、
図8に示す動作はテレビ番組示唆システム124−3(
図1と
図3)により実行される。
【0047】
いくつかの実装形態によると、クエリサーバシステム120(
図1)は電子装置からユーザの検索クエリを受信する(802)。次に、クエリサーバシステム120(
図1)は受信された検索クエリ(804)に従って電子装置のユーザにとって関心が有る1つまたは複数の主題を判断する。いくつかの実装形態では、クエリサーバシステム120は受信された検索クエリ語に関連付けられた第1の組のカテゴリを特定することにより電子装置のユーザにとって関心ある主題を判断する。いくつかの実装形態では、クエリサーバシステム120(
図1)は検索クエリ語に関連付けられた第1の組のカテゴリを動的に判断する。いくつかの実装形態では、クエリサーバシステム120(
図1)は、検索クエリ語に関連付けられた第1の組のカテゴリを予め判断し、検索クエリに関連付けられた第1の組のカテゴリを、後の検索のためにクエリプロファイルデータベース140内に格納する(
図1)。
【0048】
いくつかの実装形態によると、クエリサーバシステム120は、電子装置のユーザに関連付けられた位置と受信された検索クエリに従ってユーザにとって関心が有ると判断された主題とに従って、時間窓中に入手可能な少なくとも1つのテレビ番組を判断する(806)。いくつかの実装形態では、クエリサーバシステム120(
図1)は一組のテレビ番組から各テレビ番組に関連付けられた第2の組のカテゴリを特定することによりこの判断を行う。次に、クエリサーバシステム120(
図1)は検索クエリ語に関連付けられた第1の組のカテゴリと一組のテレビ番組内の各テレビ番組に関連付けられた第2の組のカテゴリとを比較するために照合関数を適用する。いくつかの実装形態では、クエリサーバシステム120(
図1)は各テレビ番組に関連付けられた第2の組のカテゴリを動的に判断する。他の実装形態では、クエリサーバシステム120(
図1)は、各テレビ番組に関連付けられた第2の組のカテゴリを予め判断し、各テレビ番組に関連付けられた第2の組のカテゴリをテレビ番組情報データベース130(
図1)内に格納する。
【0049】
いくつかの実装形態によると、テレビ番組示唆システム124−3は一組の現在入手可能なテレビ番組から各テレビ番組の得点を生成する。いくつかの実装形態では、得点は、受信された検索クエリに関連付けられた第1の組のカテゴリと一組の現在入手可能なテレビ番組から各テレビ番組に関連付けられた第2の組のカテゴリとに照合関数を適用することにより生成される。例えば、「ジャガー」の検索クエリは、それに関連付けられたカテゴリ(哺乳動物、スポーツカー、スポーツチーム)の組を有し得る。「America’s Next Top Model」などのテレビ番組は、関連カテゴリ(ファッション、モデル、服デザイン)の組を有し得る。ドット積などの照合関数は、2つのテレビ番組間に何らの相関も見出さない可能性が高く、したがって結果の得点は非常に低い。しかし、「Top Gear」などのテレビ番組は、関連カテゴリ(自動車、スポーツカー、レーシングカー)の組を有し得る。「ジャガー」と「Top Gear」の一組のカテゴリのドット積は、「America’s Next Top Model」のものより大きな相関を生じ、したがってより高い結果の得点を生じるだろう。いくつかの実装形態によると、一組の入手可能なテレビ番組は生成された得点に従って順序付けられる。いくつかの実装形態では、電子装置のユーザに対して推薦されるテレビ番組は最も高い生成得点を有するテレビ番組である。
【0050】
いくつかの実装形態によると、少なくとも1つのテレビ番組が、ユーザ/電子装置に入手可能であり、判断された関心が有るカテゴリに十分に関係するという判断に従って、クエリサーバシステム120は、判断されたテレビ番組を視聴するための推薦をユーザ/電子装置へ送信する(808)。いくつかの実装形態では、特定の時間窓中に入手可能なテレビ番組のいずれもユーザの判断された関心が有るカテゴリに十分には関係しないとクエリサーバシステム120(
図1)が判断すると、推薦は送信されない。
【0051】
いくつかの実装形態によると、クエリサーバシステム120(
図1)は示唆されたテレビ番組に関する電子装置のユーザから応答を受信する(810)。この応答は、ユーザが示唆されたテレビ番組を既に視聴しているということ、ユーザが示唆されたテレビ番組を視聴することを判断したこと、またはユーザが示唆されたテレビ番組を視聴することに関心が無いことを示し得る。
【0052】
いくつかの実装形態では、クエリサーバシステム120(
図1)は、電子装置のユーザから受信された応答を評価する(811)。この評価に基づき、クエリサーバシステム120(
図1)は、「応答が推薦に対し肯定的(favorable)または否定的(unfavorable)のいずれであるか」を判断し得る。ユーザが推薦テレビ番組を視聴することを選択すると、肯定的応答が受信される。ユーザが示唆されたテレビ番組を既に視聴しているまたは示唆されたテレビ番組を視聴することに関心が無いということをユーザが示せば、否定的応答が受信される。ユーザが示唆されたテレビ番組を既に視聴しているまたは示唆されたテレビ番組を視聴することに関心が無いということを示す応答に従って、クエリサーバシステム120(
図1)は推薦テレビ番組の将来の推薦を抑制する(812)。
【0053】
図9は、いくつかの実装形態によるクライアント102(
図1)とクエリサーバシステム120(
図1)間の通信を例示するフローチャートである。
図9に示す動作のそれぞれは、コンピュータメモリまたはコンピュータ可読記憶媒体に格納された命令に対応し得る。任意選択動作は破線(例えば、破線境界を有するボックス)により示される。
【0054】
いくつかの実装形態によると、クライアント装置は検索クエリをサーバシステムに送信する(902)。クエリサーバシステム120(
図1)はクライアント装置から検索クエリを受信する(904)。クエリサーバシステム(120、
図1)は受信された検索クエリに関連付けられた関心が有る1つまたは複数の主題を判断する(906)。次に、クエリサーバシステム120(
図1)は、検索クエリに関連付けられた判定カテゴリに従って、ユーザに入手可能なテレビ番組を判断する(908)。次に、クエリサーバシステム120(
図1)は判断されたテレビ番組の推薦をクライアント装置へ送信する(910)。クライアント装置は推薦をサーバシステムから受信する(912)。
【0055】
いくつかの実装形態によると、クライアント装置102(
図1)のユーザは推薦に応答し、クライアント装置は応答をサーバシステムへ送信する(914)。任意選択的に、クエリサーバシステム120(
図1)は推薦に対する応答をクライアント装置から受信する(916)。次に、クエリサーバシステム120(
図1)は、クライアント装置からの応答を評価する(918)。受信された応答が否定的であるとサーバシステムが判断すると、サーバシステムは判断されたテレビ番組のさらなる推薦を抑制する(920)。否定的応答は、クライアント装置102(
図1)のユーザが既に推薦テレビ番組を視聴しているという指示、またはクライアント装置のユーザが推薦テレビ番組に関心が無いという指示を含み得る。
【0056】
図10は、検索要求者が検索クエリを入力し、テレビ番組推薦と電子装置102(
図1)に関する他の検索結果とを受信できるようにする例示的ユーザインターフェース1000を例示する。この例では、ユーザインターフェース1000はテキスト入力ボックス1004を含むツールバー1002を含むブラウザ窓を含む。
図10の例は、テキスト入力ボックス604内の検索クエリ<F550>を描写する。検索クエリのユーザ入力直後に、ユーザインターフェースはユーザの位置に対する一組の推薦テレビ番組1008(テレビ番組がどのように判断されるかの説明のための
図8〜
図9を参照)と他の検索結果1010とを表示する。いくつかの実装形態では、ページはまた、入力された検索クエリに関連付けられた映像結果、画像結果、ニュース結果、または買い物関係検索結果などの
図10に描かれない他のタイプの検索結果を含み得る。
【0057】
これまでの説明は、説明を目的として、特定の実装形態を参照し行われた。しかしながら、上記例示的な論述は、網羅的であること、あるいは本発明を開示された正確な形式に限定することを意図するものではない。上記教示を考慮することにより多くの修正と変形が可能である。上記実装形態は、本発明の原理および実用化について最も良く説明するために、そしてこれにより当業者が、考え得る特定の使用に適するように様々な修正を行うことにより本発明と様々な実装形態とを最も良く利用できるようにするために、選択され説明された。
【0058】
第1、第2などの用語は様々な要素を説明するために本明細書で使用されることがあるが、これらの要素はこれらの用語により限定されるべきではないということも理解されることになる。これらの用語は1つの要素を別の要素から区別するためにだけ使用される。本実装形態の範囲から逸脱することなく、例えば、第1のコンタクトは第2のコンタクトと称せられ得、同様に第2のコンタクトは第1のコンタクトと称せられ得る。第1のコンタクトと第2のコンタクトは両方ともにコンタクトであるが、同じコンタクトではない。
【0059】
本明細書で実装形態の説明に使用される用語は、特定の実装形態を説明することのみを目的とするものであり、限定することを意図するものではない。実装形態と添付の特許請求の範囲の記載に使用されるように、文脈が明示しない限り単数形の定冠詞と不定冠詞(「a」「an」および「the」)は複数形も同様に含むように意図されている。本明細書で使用される用語「および/または」は、関連リスト項目の1つまたは複数の全ての可能な組み合わせを参照し包含するということも理解されることになる。本明細書で使用されたとき、用語「含む(comprisesおよび/またはcomprising)」は、記載された機能、完全体、工程、動作、要素、および/または部品の存在を明示するが、1つまたは複数の他の機能、完全体、工程、動作、要素、部品、および/またはこれらのグループの存在または追加を排除するものではないということもさらに理解されることになる。
【0060】
本明細書で使用されるように、用語「の場合(if)」は、文脈に応じて、「するとき(when)」、「すると(upon)」、「判断に応じて」または「検出に応じて」を意味するように意図されている。同様に、語句「と判断される場合」または「(述べられた条件または事象)が検出される場合」は、文脈に応じて、「判断すると」、「判断に応じて」、「(述べられた条件または事象)を検出すると」、または「(述べられた条件または事象)を検出することに応じて」を意味するように意図されている。