(57)【特許請求の範囲】
【請求項１】
テレビ番組に関係する検索クエリを使用するための方法であって、
複数のプロセッサおよび記憶装置を含むサーバにおいて、
検索クエリを電子装置から受信することであって、前記電子装置はテレビまたはセットトップボックスとは異なるものであり、前記検索クエリは時間窓中に受信されることと、
前記電子装置に関連付けられた位置を判断することと、
前記検索クエリが受信された前記時間窓中の前記電子装置に関連づけられた位置で入手可能な一つまたは複数のテレビ番組を判断するためにテレビ番組関連情報のデータベースにアクセスすることと、
特定のテレビ番組が前記電子装置の近くで現在表示されていることを推測するために前記受信した検索クエリと前記時間窓中の前記電子装置に関連づけられた前記位置における前記判断された一つまたは複数のテレビ番組とを使用することと、
前記電子装置の近くで現在表示されている前記推測されたテレビ番組に基づき前記検索クエリを修正することであって、前記サーバによって実施され、
テレビ番組関連情報の前記データベースにアクセスすることと、
推測されたテレビ番組に関連付けられた第１の組のカテゴリを特定することと、
前記受信された検索クエリ語に関連付けられた第２の組のカテゴリを特定することと、
前記第１の組のカテゴリと前記第２の組のカテゴリに対して照合関数を適用することと、
前記推測されたテレビ番組に関連付けられた前記第１の組のカテゴリと前記受信された検索クエリ語に関連付けられた前記第２の組のカテゴリとを比較することにより追加検索語を判断することと、
前記追加検索語を前記受信された検索クエリに追加することとを含む、前記検索クエリを修正することと、を含む、方法。
【請求項２】
前記方法は、前記修正された検索クエリにより検索を実行することをさらに含む請求項１に記載の方法。
【請求項３】
前記方法は、前記修正されたクエリの検索結果を前記電子装置へ送信することをさらに含む請求項２に記載の方法。
【請求項４】
前記追加検索語を判断することは、テレビ番組関連情報の前記データベース内に格納された前記情報に基づき前記追加検索語を判断することを含む、請求項１に記載の方法。
【請求項５】
前記テレビ番組を推測することは、一組の可能なテレビ番組内のテレビ番組毎に、前記受信された検索クエリに関連付けられた得点を生成することを含む請求項１に記載の方法。
【請求項６】
前記テレビ番組を推測することは、前記生成得点に従って前記一組の可能なテレビ番組を順序付けすることをさらに含む、請求項５に記載の方法。
【請求項７】
前記テレビ番組を推測することは、前記判断されたテレビ番組として最も高い生成得点を有する前記テレビ番組を選択することをさらに含む、請求項６に記載の方法。
【請求項８】
前記テレビ番組関連情報は、番組時間、チャネル情報、番組題名、番組説明、番組シリーズ情報、キャスト情報、およびジャンル情報に関係する情報を含む請求項１に記載の方法。
【請求項９】
前記推測されたテレビ番組はユーザに表示されている請求項１に記載の方法。
【請求項１０】
前記電子装置は、クライアントシステムである請求項１に記載の方法。
【請求項１１】
テレビ番組に関係する検索クエリを使用するためのサーバシステムであって、前記サーバシステムは、
一つまたは複数のプロセッサと、
前記一つまたは複数のプロセッサにより行われる一つまたは複数のプログラムを格納するメモリと、を含み、
前記一つまたは複数のプログラムは、
検索クエリを電子装置から受信するための命令であって、前記電子装置はテレビまたはセットトップボックスとは異なるものであり、前記検索クエリは時間窓中に受信される、命令と、
前記電子装置に関連付けられた位置を判断するための命令と、
前記検索クエリが受信された前記時間窓中の前記電子装置に関連づけられた位置で入手可能な一つまたは複数のテレビ番組を判断するためにテレビ番組関連情報のデータベースをアクセスするための命令と、
特定のテレビ番組が前記電子装置の近くで現在表示されていることを推測するために、前記受信した検索クエリと前記時間窓中の前記電子装置に関連づけられた前記位置において放送されている前記判断された一つまたは複数のテレビ番組とを使用するための命令と、
前記電子装置の近くで現在表示されている前記推測されたテレビ番組に基づき前記検索クエリを修正するための命令であって、前記修正は前記サーバシステムによって実施され、
テレビ番組関連情報の前記データベースにアクセスすることと、
推測されたテレビ番組に関連付けられた第１の組のカテゴリを特定することと、
前記受信された検索クエリ語に関連付けられた第２の組のカテゴリを特定することと、
前記第１の組のカテゴリと前記第２の組のカテゴリに対して照合関数を適用することと、
前記推測されたテレビ番組に関連付けられた前記第１の組のカテゴリと前記受信された検索クエリ語に関連付けられた前記第２の組のカテゴリとを比較することにより追加検索語を判断することと、
前記追加検索語を前記受信された検索クエリに追加することとを含む、命令とを含むサーバシステム。
【請求項１２】
前記修正された検索クエリにより検索を実行するための命令をさらに含む請求項１１に記載のサーバシステム。
【請求項１３】
前記修正されたクエリの検索結果を前記電子装置へ送信するための命令をさらに含む請求項１２に記載のサーバシステム。
【請求項１４】
前記テレビ番組を推測することは、一組の可能なテレビ番組内のテレビ番組毎に、前記受信された検索クエリに関連付けられた得点を生成することを含む請求項１１に記載のサーバシステム。
【請求項１５】
電子装置により実行されるように構成された１つまたは複数のプログラムを格納するコンピュータ可読記憶媒体であって、前記１つまたは複数のプログラムは、
検索クエリを電子装置から受信するための命令であって、前記電子装置はテレビまたはセットトップボックスとは異なるものであり、前記検索クエリは時間窓中に受信される、
命令と、
前記電子装置に関連付けられた位置を判断するための命令と、
前記検索クエリが受信された前記時間窓中の前記電子装置に関連づけられた位置で入手可能な一つまたは複数のテレビ番組を判断するためにテレビ番組関連情報のデータベースをアクセスするための命令と、
特定のテレビ番組が前記電子装置の近くで現在表示されていることを推測するために、前記受信した検索クエリと前記時間窓中の前記電子装置に関連づけられた前記位置において放送されている前記判断された一つまたは複数のテレビ番組とを使用するための命令と、
前記電子装置の近くで現在表示されている前記推測されたテレビ番組に基づき前記検索クエリを修正するための命令であって、前記修正はサーバによって実施され、
テレビ番組関連情報の前記データベースにアクセスすることと、
推測されたテレビ番組に関連付けられた第１の組のカテゴリを特定することと、
前記受信された検索クエリ語に関連付けられた第２の組のカテゴリを特定することと、
前記第１の組のカテゴリと前記第２の組のカテゴリに対して照合関数を適用することと、
前記推測されたテレビ番組に関連付けられた前記第１の組のカテゴリと前記受信された検索クエリ語に関連付けられた前記第２の組のカテゴリとを比較することにより追加検索語を判断することと、
前記追加検索語を前記受信された検索クエリに追加することとを含む、命令とを含むコンピュータ可読記憶媒体。
【請求項１６】
前記修正された検索クエリにより検索を実行するための命令をさらに含む請求項１５に記載のコンピュータ可読記憶媒体。
【請求項１７】
前記修正されたクエリの検索結果を前記電子装置へ送信するための命令をさらに含む請求項１６に記載のコンピュータ可読記憶媒体。
【請求項１８】
前記テレビ番組を推測することは、一組の可能なテレビ番組内のテレビ番組毎に、前記受信された検索クエリに関連付けられた得点を生成することを含む請求項１５に記載のコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
開示された実装形態は概して検索改善の分野に関し、具体的には、電子装置の近くで表示されているテレビ番組を判断することと、その判断を利用して、改善された検索結果を戻すことに関する。
【背景技術】
【０００２】
検索エンジンは、インターネットまたはワールドワイドウェブ（ＷＷＷ）上のドキュメントおよび／またはイントラネットのコンピュータ上に格納されたドキュメントなど大きなドキュメントのデータベース内のドキュメント中のコンテンツを検索するための強力なツールを提供する。ドキュメントは、ユーザにより提出される１つまたは複数の単語、用語、キーワード、および／または語句（以下、用語と呼ぶ）からなる検索クエリに応じてドキュメントの索引を利用することにより検索される。ドキュメントの索引中のドキュメントは、得点を判断するために検索クエリ内の１つまたは複数の用語と照合され得る。得点に基づく関係ドキュメントまたはドキュメント位置の順位リストがユーザに提供される。
【０００３】
ユーザは、関係ドキュメントを見出すために検索エンジンを使用する際、最も関係する結果が最初に提示されることを望む。検索エンジンは、ドキュメント群内のどのドキュメントが特定のクエリに最も関係するかを正確に判断するために多種多様な方法を使用する。いくつかの方法は、ユーザプロファイルに基づき結果を個人化する工程と、特定位置または一組の位置に基づき結果を順位付けする工程と、結果を改善するために検索クエリ傾向データを利用する工程とを含む。したがって、検索結果の精度を改善する方法が検索エンジンとそのユーザにとって有用である。
【発明の概要】
【課題を解決するための手段】
【０００４】
いくつかの実装形態は、テレビ番組に関する検索クエリを利用するためのコンピュータ実施方法に向けられる。本方法は、複数のプロセッサと記憶装置とを含みテレビ番組関連情報のデータベースにアクセス可能なサーバにおいて行われる。サーバは電子装置からユーザの検索クエリを受信する。次に、サーバは、検索クエリと特定の時間窓中の電子装置に関連付けられた位置で入手可能なテレビ番組のテレビ番組関連情報とに従って電子装置の近くで現在表示されているテレビ番組を判断し、テレビ番組関連情報は関連付けられた位置に対して放送されている複数のテレビ番組の番組説明を含む。
【０００５】
いくつかの実装形態によると、コンピュータ実施方法はテレビ番組に基づき検索クエリを修正する。本方法は、複数のプロセッサと記憶装置とを含みテレビ番組関連情報のデータベースにアクセス可能なサーバにおいて行われる。サーバは電子装置からユーザの検索クエリを受信する。次に、サーバは、電子装置の近くで表示されているテレビ番組に基づき検索クエリを修正する。
【０００６】
いくつかの実装形態によると、コンピュータ実施方法は検索クエリに基づきテレビ番組を推薦する。本方法は、複数のプロセッサと記憶装置とを含みテレビ番組関連情報のデータベースにアクセス可能なサーバにおいて行われる。サーバは時間窓中に電子装置から検索語を受信する。サーバは、受信された検索クエリに関連付けられた関心が有る１つまたは複数のカテゴリを判断する。次に、サーバは、電子装置に関連付けられた位置と受信された検索クエリに従って関心が有ると判断されたカテゴリとに従って時間窓中に入手可能な複数のテレビ番組から少なくとも１つのテレビ番組を判断する。次に、サーバは、少なくとも１つのテレビ番組が入手可能であり、関心が有ると判断されたカテゴリに十分に関係するという判断に従って判断されたテレビ番組を視聴するための推薦を電子装置へ送信する。
【０００７】
いくつかの実装形態によると、テレビ番組に関係する検索クエリを利用するためのサーバシステムであって、プログラムを実行するための１つまたは複数の中央処理装置と、１つまたは複数の中央処理装置により実行される１つまたは複数のプログラムを格納するメモリとを有するサーバシステムが開示される。１つまたは複数のプログラムは、ユーザの検索クエリを電子装置から受信するための命令と、検索クエリと特定の時間窓中の電子装置に関連付けられた位置で入手可能なテレビ番組のテレビ番組関連情報とに従って電子装置の近くで現在表示されているテレビ番組を判断するための命令とを含み、テレビ番組関連情報は関連付けられた位置に対して放送されている複数のテレビ番組の番組説明を含む。
【０００８】
いくつかの実装形態によると、コンピュータにより実行されるように構成された１つまたは複数のプログラムを格納するコンピュータ可読記憶媒体が開示される。１つまたは複数のプログラムは、ユーザの検索クエリを受信するための命令と、検索クエリと特定の時間窓中の電子装置に関連付けられた位置で入手可能なテレビ番組のテレビ番組関連情報とに従って電子装置の近くで現在表示されているテレビ番組を判断するための命令とを含み、テレビ番組関連情報は関連付けられた位置に対して放送されている複数のテレビ番組の番組説明を含む。
【０００９】
いくつかの実装形態によると、判断されたテレビ番組に基づき検索クエリを修正するためのサーバシステムが開示される。サーバシステムは、プログラムを実行するための１つまたは複数の中央処理装置と、１つまたは複数の中央処理装置により実行される１つまたは複数のプログラムを格納するメモリとを含む。１つまたは複数のプログラムは、ユーザの検索クエリを電子装置から受信するための命令と、電子装置の近くで表示されているテレビ番組に基づき検索クエリを修正するための命令とを含む。
【００１０】
いくつかの実装形態によると、コンピュータにより実行されるように構成された１つまたは複数のプログラムを格納するコンピュータ可読記憶媒体が開示される。１つまたは複数のプログラムは、ユーザの検索クエリを電子装置から受信するための命令と、電子装置の近くで表示されているテレビ番組に基づき検索クエリを修正するための命令とを含む。
【００１１】
いくつかの実装形態によると、検索クエリに基づきテレビ番組を推薦するためのサーバシステムが開示される。サーバシステムは、プログラムを実行するための１つまたは複数の中央処理装置と、１つまたは複数の中央処理装置により実行される１つまたは複数のプログラムを格納するメモリとを含む。１つまたは複数のプログラムは、時間窓中に電子装置から検索語を受信するための命令と、受信された検索クエリに従って関心が有る１つまたは複数のカテゴリを判断するための命令と、電子装置に関連付けられた位置と受信された検索クエリに従って関心が有ると判断されたカテゴリとに従って時間窓中に入手可能な複数のテレビ番組から少なくとも１つのテレビ番組を判断するための命令と、少なくとも１つのテレビ番組が入手可能でありかつ判断された関心が有るカテゴリに十分に関係するという判断に従って判断されたテレビ番組を視聴するための推薦を電子装置へ送信するための命令とを含む。
【００１２】
いくつかの実装形態によると、コンピュータにより実行されるように構成された１つまたは複数のプログラムを格納するコンピュータ可読記憶媒体が開示される。１つまたは複数のプログラムは、時間窓中に電子装置から検索語を受信するための命令と、受信された検索クエリに従って関心が有る１つまたは複数のカテゴリを判断するための命令と、電子装置に関連付けられた位置と受信された検索クエリに従って関心が有ると判断されたカテゴリとに従って時間窓中に入手可能な複数のテレビ番組から少なくとも１つのテレビ番組を判断するための命令と、少なくとも１つのテレビ番組が入手可能でありかつ判断された関心が有るカテゴリに十分に関係するという判断に従って判断されたテレビ番組を視聴するための推薦を電子装置へ送信するための命令とを含む。
【図面の簡単な説明】
【００１３】
【図１】クエリサーバシステムを含むコンピュータネットワークを例示するブロック図である。
【図２】いくつかの実装形態による、クライアントシステムを例示するブロック図である。
【図３Ａ】いくつかの実装形態による、クエリサーバシステムを例示するブロック図である。
【図３Ｂ】いくつかの実装形態による、クエリサーバシステムのメモリをさらに例示するブロック図である。
【図４】いくつかの実装形態による、一組のクエリプロファイルの情報を格納するためにクエリプロファイルデータベースにより利用されるデータ構造のブロック図である。
【図５】いくつかの実装形態による、一組のテレビ番組の情報を格納するためにテレビ番組情報データベースにより利用されるデータ構造のブロック図である。
【図６】いくつかの実装形態による、クライアントシステムのユーザにより視聴されているテレビ番組を判断するプロセスを例示するフローチャートである。
【図７】いくつかの実装形態による、判断されたテレビ番組に基づき検索を改善するためのプロセスを例示するフローチャートである。
【図８】いくつかの実装形態による、クライアントシステムのユーザへ現在入手可能なテレビ番組を示唆するためのプロセスを例示するフローチャートである。
【図９】いくつかの実装形態による、クライアントとサーバシステム間の通信を例示するフローチャートである。
【図１０】いくつかの実装形態による例示的ユーザインターフェースを描写する。
【発明を実施するための形態】
【００１４】
同様な参照符号は添付図面を通して対応部分を指す。
【００１５】
いくつかの実装形態では、テレビ視聴者（本明細書ではユーザと呼ぶことがある）は、テレビコンテンツを視聴している間コンピュータ、セットトップボックス、スマートフォンまたは他のインターネット接続型電子装置にアクセス可能である。時折、このようなテレビ視聴者は、視聴しているテレビコンテンツに関係する検索クエリをインターネット接続型装置に対し行う。例えば、野生動物についてのテレビ番組を視聴しているとき、ユーザはその番組中に述べられた特定の動物種に関係する検索をインターネット接続型装置に対し行う可能性がある。別の例として、映画を視聴している視聴者は、映画中に現われる位置または俳優についての検索を行う可能性がある。このような視聴者は、検索クエリを入力する際に、視聴している番組中に述べられた特定のコンテンツに関係するが同一でない検索語を使用する可能性がある。例えば、特定モデルのポルシェについての一コマを有するテレビ番組を視聴する誰かが、一コマの主題だった特定モデルの指示の代わりに「ポルシェ」または「スポーツカー」の検索クエリを行う可能性がある。
【００１６】
いくつかの実装形態は、何人かのテレビ視聴者が視聴しているテレビ番組中におよび同テレビ番組に関連した検索クエリを入力することを活用して、このようなユーザに戻される検索結果の品質を改善する。いくつかの実装形態では、この改良は、多様なモードの生テレビ放送（例えばケーブル、無線、衛星、インターネットストリーミング）のテレビ番組のコンテンツおよび地理的可用性についての総合的情報が入手可能な検索エンジンにより提供される。いくつかの実装形態では、検索エンジンは、受信した検索クエリと、検索クエリを行ったユーザに恐らく入手可能な（検索クエリが提出された時間とユーザ／ユーザの装置に関連付けられた位置とに基づき）テレビ番組のコンテンツとを比較する。いくつかの実装形態では、検索エンジンは、ユーザにより入力されたユーザプロファイルまたは他の情報からユーザの位置を判断することができる。いくつかの実装形態では、検索エンジンは、ユーザにより採用されたインターネット接続型装置のＩＰアドレスからユーザ／装置の位置を、または、ユーザにより採用されたインターネット接続型装置のユーザ設定と能力とに依存して、インターネット接続型装置内のＧＰＳ受信機に関連付けられた位置情報、近くのＷｉＦｉ送信機の既知の位置、または近くの移動体／セルラー通信塔の既知の位置を判断することができる。番組情報とユーザの検索クエリとの間に許容可能な相関が存在すると（例えば、ユーザが、特定のポルシェモデルについての一コマを含むテレビ番組が放送されているのと同じ時間窓中に「ポルシェ」のクエリを行うと）、検索エンジンは、当該ユーザがこの特定テレビ番組を視聴していた、または当該ユーザがこの特定テレビ番組の視聴に関心を有するであろうという仮定に基づき改善検索結果を戻す。例えば、当該ポルシェモデルが「９１１ターボ」であり、ユーザが「ポルシェ」の検索クエリを行えば、サーバは、１）「９１１ターボ」モデル（例えば「９１１ターボ」についてのPorsche.comのウェブサイトの情報へのリンク）、２）その一コマを有する現在放送中のテレビ番組についての情報、３）現在放送中または将来放送するユーザに入手可能な同様な番組の示唆のうちの１つまたは複数についての情報を戻すことができる。このようにして、実装形態は、視聴者が視聴しているまたは視聴に関心を持つ可能性があるテレビ番組のコンテンツに関係する生テレビ放送の改善検索結果を視聴者に提供する。
【００１７】
図１は、いくつかの実装形態による、クエリサーバシステム１２０を含むクライアントサーバ環境１００を例示するブロック図である。クライアントサーバ環境１００は、１つまたは複数のクライアントシステム（本明細書では電子装置とも呼ぶ）１０２、１つまたは複数のクライアント環境１０８、およびクエリサーバシステム１２０を含む。１つまたは複数のネットワーク１１０はこれらの構成要素を相互接続する。ネットワーク１１０は、ローカルエリアネットワーク（ＬＡＮ）、広域ネットワーク（ＷＡＮ）、無線ネットワーク、有線ネットワーク、インターネット、またはこのようなネットワークの組み合わせを含む多種多様なネットワークのうちの任意なものであり得る。
【００１８】
クライアント環境１０８は、いくつかの実装形態によるクライアントシステム１０２とテレビ受像機１０６を含む。クライアントシステム１０２は、クエリをクエリサーバシステム１２０へ送信するためのクライアントシステムにより行われるクライアントアプリケーション１０４を含む。いくつかの実装形態では、クライアントアプリケーション１０４は、検索アプリケーション、ブラウザアプリケーション用検索エンジンプラグイン、およびブラウザアプリケーション用検索エンジンエクステンションからなる組から選択される。いくつかの実装形態では、テレビ受像機１０６は、パーソナルコンピュータ、ラップトップ、または任意の他の個人用電子装置を含むテレビ番組を表示することができる任意の装置で置き換えられる。
【００１９】
クライアントシステム１０２はクエリをクエリサーバシステム１２０へ送信し、クエリサーバシステム１２０からデータを受信する。クライアントシステム１０２は、クエリサーバシステム１２０と通信することができる任意のコンピュータまたは他の電子装置であり得る。この例としては、限定するものではないが、デスクトップおよびノートブックコンピュータ、メインフレームコンピュータ、サーバコンピュータ、携帯電話、スマートフォンおよび個人用デジタル情報処理端末などの携帯機器、ネットワーク端末、およびセットトップボックスが挙げられる。
【００２０】
いくつかの実装形態によると、クエリサーバシステム１２０は、クエリ処理サーバ１２２、クエリプロファイルデータベース１４０、テレビ番組情報データベース、およびいくつかの検索改善システム１２４を含む。検索改善システム１２４は、テレビ番組判定システム１２４−１、検索改善１２４−２、およびテレビ番組示唆システム１２４−３を含む。クエリサーバシステム１２０は、通信ネットワーク１１０を介し１つまたは複数のクライアントシステム１０２から検索クエリ１１２を受信し、通信ネットワーク１１０を介し１つまたは複数のクライアントシステム１０２へ検索結果１１４を戻す。クエリ処理サーバ１２２はクライアントシステム１０２から受信された検索クエリ１１２を処理する。いくつかの実装形態では、クエリ処理サーバ１２２は検索結果１１４をクライアントシステム１０２に戻す。いくつかの実装形態では、クエリ処理サーバ１２０は、受信された検索語のクエリプロファイルをクエリプロファイルデータベース１４０から取り出す。いくつかの実装形態では、クエリ処理サーバ１２２は、クエリを処理することの一部として、クエリを複数の検索改善システム１２４の１つへ送信する。
【００２１】
いくつかの実装形態によると、検索改善システム１２４はそれぞれ、個別検索改善処理を実施し、この個別検索改善処理を実行するためにテレビ番組情報データベース１３０に必要に応じアクセスする。例えば、判断システム１２４−１は、テレビ番組プロファイルを得るために、テレビ番組時間とテレビ番組に関係する関心カテゴリとについての情報を含むテレビ番組情報データベース１３０にアクセスする。別の例では、検索拡張システム１２４−２はクエリ処理サーバから検索クエリと判断されたテレビ番組とを受信する。次に、検索拡張システム１２４−２は、検索クエリを適切に拡張するためにテレビ番組情報データベース１３０にアクセスする。これについては、図７でさらに詳細に説明する。示唆システム１２４−３は、クエリ処理サーバ１２２から検索クエリを受信し、受信された検索クエリに関係するテレビ番組を判断するためにテレビ番組情報データベース１３０にアクセスする。次に、示唆システム１２４−３は示唆されたテレビ番組をクエリ処理サーバ１２２へ戻し、次にクエリ処理サーバ１２２はこの示唆をクライアントシステム１０２へ中継するだろう。
【００２２】
クライアントシステム１０２は、１つまたは複数の検索結果または示唆をユーザに提示する。上記結果は、ディスプレイ上に、オーディオスピーカにより、またはユーザに情報を伝達するために使用される任意の他の手段により提示され得る。ユーザは検索結果または示唆と様々なやり方で相互作用し得る。ユーザは、マウス、キーボード、接触感知ディスプレイ、音声作動対応制御システム（voice enabled control systems）などを含む入力装置のうちの任意の数のものを介し検索結果と相互作用し得る。
【００２３】
図２は、一実装形態によるクライアントシステム１０２を例示するブロック図である。クライアントシステム１０２は通常、１つまたは複数の処理装置（ＣＰＵ）２０２、１つまたは複数のネットワークインターフェース２１０、メモリ２１２、およびこれらの構成要素を相互接続するための１つまたは複数の通信バス２１４を含む。クライアントシステム１０２はユーザインターフェース２０４を含む。ユーザインターフェース２０４は表示装置２０６を含み、任意選択的に、キーボード、マウス、接触感知ディスプレイ、または他の入力ボタン２０８などの入力手段を含む。さらに、いくつかのクライアントシステムは、キーボードを補足または置換するためにマイクロホンと音声認識を利用する。任意選択的に、クライアント１０２はＧＰＳ（全地球測位衛星：global positioning satellite）受信機、またはクライアントシステム１０２の位置を判断するための他の位置検出装置２０７を含む。いくつかの実装形態では、クライアントシステム１０２の位置を示す位置情報を受信するために可視クエリサーバシステムをクライアントシステム１０２に設ける必要がある可視クエリ検索サービスが提供される。
【００２４】
メモリ２１２は、ＤＲＡＭ、ＳＲＡＭ、ＤＤＲ  ＲＡＭ、または他のランダムアクセス固体メモリ装置などの高速ランダムアクセスメモリを含み、１つまたは複数の磁気ディスク記憶装置、光学ディスク記憶装置、フラッシュメモリ装置、または他の不揮発性固体記憶装置などの不揮発性メモリを含み得る。メモリ２１２は任意選択的に、ＣＰＵ２０２から遠く離れて位置する１つまたは複数の記憶装置を含み得る。メモリ２１２またはメモリ２１２内の不揮発性メモリ装置はコンピュータ可読記憶媒体を含む。いくつかの実装形態では、メモリ２１２またはメモリ２１２のコンピュータ可読記憶媒体は以下のプログラム、モジュールおよびデータ構造、またはその部分集合を格納する。
●様々な基本システムサービスを扱う手順とハードウェア依存タスクを行うための手順とを含むオペレーティングシステム２１６、
●１つまたは複数の通信ネットワークインターフェース２１０（有線または無線）と、インターネット、他の広域ネットワーク、ローカルエリアネットワーク、都市エリアネットワークなどの１つまたは複数の通信ネットワークとを介し他のコンピュータにクライアントシステム１０２を接続するために使用されるネットワーク通信モジュール２１８、
●オペレーティングシステム２１６とクライアントアプリケーション２３０により生成された情報をディスプレイ２０６上に視覚的に提示できるようにするためのディスプレイモジュール２２０、
●クエリ処理サーバ１２０へクエリを送信しクエリ処理サーバ１２０から結果を受信するためのブラウザアプリケーション２２４を含む（がこれらに限定されない）クエリ処理サーバ１２０と相互作用する様々な態様を扱うための１つまたは複数のクライアントアプリケーションモジュール１０４、
●クライアント位置データ２３２、クライアントＩＰアドレスデータ２３４、およびクライアントプロファイルデータ２３６を含む（がこれらに限定されない）クライアント関連データを格納するためのクライアントデータモジュール２３０。
【００２５】
図３Ａと図３Ｂはクエリサーバシステムを例示するブロック図である。クエリサーバシステム１２０は通常、１つまたは複数の処理装置（ＣＰＵ）３０２、１つまたは複数のネットワークまたは他の通信インターフェース３０４、メモリ３０６、およびこれらの構成要素を相互接続するための１つまたは複数の通信バス３０８を含む。メモリ３０６は、ＤＲＡＭ、ＳＲＡＭ、ＤＤＲ  ＲＡＭ、または他のランダムアクセス固体メモリ装置などの高速ランダムアクセスメモリを含み、１つまたは複数の磁気ディスク記憶装置、光学ディスク記憶装置、フラッシュメモリ装置、または他の不揮発性固体記憶装置などの不揮発性メモリを含み得る。メモリ３０６は任意選択的に、ＣＰＵ３０２から遠く離れて位置する１つまたは複数の記憶装置を含むことができる。メモリ３０６またはメモリ３０６内の不揮発性メモリ装置はコンピュータ可読記憶媒体を含む。いくつかの実装形態では、メモリ３０６またはメモリ３０６のコンピュータ可読記憶媒体は以下のプログラム、モジュールおよびデータ構造、またはその部分集合を格納する。
●様々な基本システムサービスを扱う手順とハードウェア依存タスクを行うための手順とを含むオペレーティングシステム３１０、
●１つまたは複数の通信ネットワークインターフェース３０４（有線または無線）と、インターネット、他の広域ネットワーク、ローカルエリアネットワーク、都市エリアネットワークなどの１つまたは複数の通信ネットワークとを介し他のコンピュータにクエリサーバシステム１２０を接続するために使用されるネットワーク通信モジュール３１２、
●以下のものを含む（がこれらに限定されない）クエリサーバシステムにより提示されたサービスを行うための１つまたは複数のサーバアプリケーションモジュール３１４、
○検索クエリをクライアントシステム１０２（図１）から受信し、検索クエリに関する結果を判断し、検索クエリに従って結果を順序付け、判定結果をクライアントシステム１０２（図１）に戻すための検索モジュール３１６、
○検索モジュール３１６から検索クエリ１１２を受信し、検索クエリプロファイルデータベース１４０内のデータ、ユーザ位置データ３４０、およびテレビ番組情報データベース１３０内の情報に基づき、クライアントシステム１０２（図１）のユーザが現在テレビ番組を視聴しているかどうかを判断し、クライアントシステムのユーザが現在テレビ番組を視聴しているという判断に従って、検索クエリプロファイルデータベース１４０内のデータ、ユーザ位置データ３４０、およびテレビ番組情報データベース１３０内の情報に基づきクライアントシステム１０２（図１）のユーザが現在どのテレビ番組を視聴しているかを判断するためのテレビ番組判定システム１２４−１であって、その判断方法は図６にさらに詳細に示され、以下のものを含む（が必ずしもこれらに限定されない）テレビ番組判定システム、
・可能なテレビ番組の順序集合から判断されたテレビ番組を選択するための判断選択モジュール３４６、
○判断されたテレビ番組３４０、検索クエリプロファイルデータベース１４０内のデータ、およびテレビ番組情報データベース１３０内の情報に基づき検索クエリ１１２を修正し、修正された検索クエリを検索モジュール３１６に戻すための検索クエリ修正システム１２４−２であって、
・テレビ番組情報データベースおよびクエリデータベースにアクセスするためのデータベースアクセスモジュール３４８、
・受信された検索クエリに関係する追加用語を判断するための追加用語判断モジュール３５０であって、追加用語を判断するため方法は図７においてより明確に説明される、追加用語判断モジュール、
・受信された検索クエリに追加用語を追加するための追加用語追加モジュール３５２、を含む（がこれらに限定されない）修正システム、
○検索モジュール３１６から検索クエリを受信し、検索クエリプロファイルデータベース１４０内のデータ、ユーザ位置データ３４０、およびテレビ番組情報データベース１３０内の情報に基づき、クライアントシステム１０２のユーザに入手可能な少なくとも１つのプログラムを判断し、判断されたテレビ番組をクライアントシステム１０２のユーザへ送信するためのテレビ番組示唆システム１２４−３であって、
・ユーザの関心に関係するカテゴリを判断するための関心判断モジュール３５４を含むが（これに限定されない）テレビ番組示唆システム、
○クライアントシステム１０２のユーザからフィードバックを受信するためのフィードバック受信モジュール３２４、
○フィードバック受信モジュール３２４により受信されたフィードバックに応じて将来の示唆を抑制するための示唆抑圧モジュール３２６、
○いくつかの実装形態による、検索結果とテレビ番組推薦を含む通信をクライアントへ送信するための出力通信モジュール３２８、
○照合関数を１つまたは複数のカテゴリリストに適用するための照合モジュール３４２、
○テレビ番組の組を順序付けるための順序付けモジュール３６０、
○クライアントシステム１０２のユーザが現在テレビ番組を視聴しているかどうかを判断するためのテレビ視聴判断モジュール、
○一組のテレビ番組内の１つまたは複数のテレビ番組の得点を生成するための得点生成モジュール３６４、
○検索クエリとテレビ番組とに関連付けられたカテゴリを特定することのためのカテゴリ識別モジュール３６６、
●クエリサーバシステム１２０に関係するデータを保持するサーバデータ３３０であって、以下のものを含む（がこれらに限定されない）サーバデータ３３０、
○テレビ番組プロファイルを含むテレビ番組情報データベース１３０（図５でさらに詳細に説明されるような）であって、テレビ番組プロファイルは、時間、チャネル、番組題名、番組説明、シリーズＩＤ、キャスト、カテゴリリスト情報、およびジャンルを含むテレビ番組についてのメタデータを格納する、テレビ番組情報データベース、
○ネットワーク上で入手可能なドキュメントに関するウェブクローラ（web crawler）により格納された情報を含むウェブクローラデータ３３６、
○検索クエリに関係するカテゴリを判断するためのクエリプロファイル（図４でさらに詳細に説明されるような）を含むクエリプロファイルデータベース１４０、
○ユーザの物理的位置とクライアントシステム（図１の１０２）のＩＰアドレスの両方を含むユーザ位置データ３４０、
○検索語３７２、クライアントシステム１０２のユーザのＩＰアドレス３７４、クライアントシステム（図１の１０２）のユーザに関連付けられた位置データ３７６、および検索クエリに関連付けられたクエリＩＤ３７８を含む１つまたは複数の検索クエリ３７０、
○検索クエリに追加するための追加用語判断モジュール３５０により判断される１つまたは複数の追加検索語３８０、
○検索モジュール３１６により判断される、受信された検索クエリに関連付けられた検索結果３８２、
○テレビ番組判定システム１２４−１により判断された１つまたは複数のテレビ番組３８４、
○テレビ番組と検索クエリとを比較するための得点生成モジュール３６４により生成されたテレビ番組得点データ３８６、
○テレビ番組を順位付けするための順序付けモジュール３６０により順序付けられた一組のテレビ番組３８８、
○推薦されたテレビ番組に対するユーザの応答を示すためのクライアントシステム１０２のユーザから受信されたユーザ応答データ３９０、
○クライアントシステム（図１の１０２）のユーザへ送信するための推薦テレビ番組３９２。
【００２６】
図４は、いくつかの実装形態に従ってクエリプロファイルを格納するためのクエリプロファイルデータベース１４０の例示的データ構造のブロック図を描写する。いくつかの実装形態によると、クエリプロファイルデータベースデータ構造１４０は、それぞれがユーザにより提出されたクエリに対応する複数のクエリプロファイル記録４１４−１〜４１４Ｐを含む。同じクエリが多くのユーザにより提出されると、単独のクエリプロファイル４１４が当該クエリのプロファイル情報を格納する。いくつかの実装形態では、各クエリプロファイル記録４１４は、特定のクエリを特定するクエリＩＤ４１６、クエリ内の一組の対応するクエリ語４１６、およびクエリを分類するためのカテゴリリスト４２０を含む。いくつかの実装形態では、クエリプロファイルはまた、検索クエリに関連付けられた１つまたは複数の関連語４２６を含む。
【００２７】
いくつかの実装形態では、カテゴリリスト４１７のメンバーは１つまたは複数のカテゴリ／重みペア（カテゴリＩＤ４２２、重み４２４）を含む。カテゴリＩＤ４２２は、ニュース、スポーツ、旅行、金融などの特定タイプの情報に対応し得、重み４２４は、クエリと対応する情報のタイプとの間の関連性を測定する数である。例えばクエリ語「ゴルフ」は、スポーツとスポーツ用品のカテゴリに対して比較的高い重みを有するが情報技術（ＩＴ）のカテゴリに対して低い重みを有し得る。いくつかの実装形態では、カテゴリＩＤ４２０は、カテゴリ名により簡単に標記されても標記されなくてもよい「概念クラスタ」（例えばクラスタリング処理により生成され得る）に対応する。
【００２８】
以下に説明するいくつかの実装形態では、個々のクエリプロファイル４１４が生成され、使用され、次に、データベースまたは他の集合的データ構造内にクエリプロファイルを格納すること無く廃棄される。いくつかの実装形態では、個々のクエリプロファイルとそれらの関連カテゴリリストは自然言語処理により生成される。クエリプロファイルを生成するためにテキストのコーパスに対し自然言語処理を行う一方、クエリ検索サーバ（図１、１２０）は、不定冠詞または定冠詞（「a」または「the」）などすべての文章全体にわたって頻繁に現われる関心が無い単語を無視する。その代りに、クエリサーバシステム（図１の１０２）は、人々、位置、および製品（別名、関心が有るエンティティ）を特定する単語のようなより重要な単語に焦点を当てる。関心が有るエンティティに検索空間を制限することにより、クエリ検索システムは、プロファイルがデータベース内に格納される場合に個々のクエリプロファイルを生成するために必要な時間とデータ検索に必要な時間との両方を低減する。
【００２９】
いくつかの実装形態では、クエリサーバシステム（図１の１０２）は、所与のクエリに関連付けられたカテゴリを判断するためにクエリプロファイルデータベース１４０にアクセスする。例えば、受信された検索クエリが「ジャガー」である場合、クエリプロファイルカテゴリリストは「自動車」、「哺乳動物」、および「スポーツ」を含み得る。次に、様々な検索改善システム（図１の１２４を参照）は、提出された検索クエリが様々なテレビ番組プロファイルに相関する程度を計算するためにこのカテゴリ情報を利用する（図５においてさらに論述する）。この処理については、図６、７、８に関し詳細に説明する。この相関情報は、ユーザにより現在視聴されているテレビ番組を判断する、検索クエリの用語を修正する、またはこの情報に基づきユーザにとって関心あるテレビ番組を示唆するいずれかのために使用される。
【００３０】
図５は、いくつかの実装形態による、テレビ番組プロファイル５１０を格納するためのテレビ番組情報データベース１３０の例示的データ構造のブロック図を描写する。データベースデータ構造１３０は、それぞれが特定のテレビ番組に対応する複数のテレビ番組プロファイル記録５１０−１〜５１０−Ｐを含む。いくつかの実装形態では、各テレビ番組プロファイル記録５１０はテレビ番組メタデータを含む。テレビ番組メタデータは、特定のテレビ番組、一組の対応する番組時間５１４（それぞれが、テレビ番組が放送される一期間に対応する一組の時間）、テレビ番組５１６を分類するためのカテゴリリスト、チャネル情報５２０、テレビ番組５２２の内容を概説する番組説明、キャスト情報５２４、テレビシリーズ情報５２６、およびジャンル情報５２８を特定するテレビ番組ＩＤ５１２を含む。いくつかの実装形態では、テレビ番組プロファイルはまた、テレビ番組に関連付けられた１つまたは複数の関連語５３０を含む。
【００３１】
いくつかの実装形態では、カテゴリリスト５１６のメンバーは１つまたは複数のペアを含む（カテゴリＩＤ５１７、重み５１８）。カテゴリＩＤ５１７は、ニュース、スポーツ、旅行、自動車など、特定タイプの情報に対応し得、重み５１８は、テレビ番組と対応するタイプの情報との間の関連性を測定する数である。例えば、テレビ番組「Top Gear」は、スポーツカーと自動車レースのカテゴリに対して比較的高い重みを有するが航空機のカテゴリに対して低い重みを有し得る。いくつかの実装形態では、カテゴリＩＤ５１７は、カテゴリ名により簡単に標記されても標記されなくてもよい「概念クラスタ」（例えばクラスタリング処理により生成され得る）に対応する。いくつかの実装形態によると、テレビ番組プロファイルを含むテレビ番組カテゴリリスト５１６データは、図６、７、８、９に説明されるように、現在視聴中のテレビ番組を判断し、検索クエリを修正し、ユーザが視聴すべきテレビ番組を示唆するために、クエリプロファイルカテゴリリスト４１７と併せて使用される。
【００３２】
以下に説明するいくつかの実装形態では、個々のテレビ番組プロファイル５１０が生成され、使用され、次にデータベースまたは他の集合的データ構造５００内にテレビ番組プロファイルを格納すること無しに廃棄される。いくつかの実装形態では、個々のテレビ番組プロファイルとそれらの関連カテゴリリストは自然言語処理により生成される。テレビ番組プロファイルを生成するためにテキストのコーパスに対し自然言語処理を行う一方、クエリ検索システム（図１の１２０）は、不定冠詞または定冠詞（「a」または「the」）などすべての文章全体にわたって頻繁に現われる関心が無い単語を無視する。その代りに、クエリサーバシステム（図１の１０２）は、人々、位置、および製品（別名、関心が有るエンティティ）を特定する単語のようなより重要な単語に焦点を当てる。「関心が有るエンティティ」に検索空間を制限することにより、クエリ検索システムは、プロファイルがデータベース内に格納される場合に個々のテレビ番組プロファイルを生成するために必要な時間を低減し、データ検索に必要な時間を低減する。
【００３３】
テレビ番組判断
図６は、いくつかの実装形態による、クライアントシステムのユーザにより視聴されているテレビ番組またはテレビ視聴者により使用される電子装置の近くで表示されているテレビ番組を判断するプロセスを例示するフローチャートである。なお、テレビ番組を「判断する」ことは、サーバにおいて入手可能な状況情報（電子装置からサーバに発行された検索クエリと検索クエリが受信された時の時間窓中にまたはその近辺で放送されているテレビ番組についての情報とを含む）に基づき、電子装置の近くで表示されているテレビ番組を予測することを含む。図６に示す動作のそれぞれは、コンピュータメモリまたはコンピュータ可読記憶媒体に格納された命令に対応し得る。任意選択動作は破線（例えば、破線境界を有するボックス）により示される。いくつかの実装形態では、図６に説明される方法はテレビ番組判定システム１２４−１（図１と図３）により実行される。
【００３４】
いくつかの実装形態によると、クエリサーバシステム１２０（図１）は電子装置からユーザの検索クエリを受信し、ユーザ／電子装置は関連付けられた位置を有する（６０２）。ユーザ／電子装置に関連付けられた位置は、多種多様な方法により判断することができる。例えば、位置はユーザ入力により提供され、ユーザプロファイル内に局所的または遠隔的に格納され得る、または電子装置２０７（図２）内に置かれたＧＰＳ／定位アプリケーションによりユーザの電子装置上に格納され得る。いくつかの実装形態によると、クエリサーバシステム１２０（図１）はまた、ユーザの電子装置に関連付けられたＩＰアドレスに従ってユーザの電子装置の位置を判断する。いくつかの実装形態では、電子装置のユーザに関連付けられた位置情報はクライアント装置またはクエリサーバシステムのいずれかに格納され得る。
【００３５】
いくつかの実装形態によると、クエリサーバシステムは検索クエリをテレビ番組判定システム１２４−１に渡す。テレビ番組判定システム１２４−１（図１）は、受信された検索クエリに関連付けられたクエリプロファイルデータベース１４０（図１）内に格納された検索クエリプロフィルと、特定の時間窓中にユーザ／電子装置に入手可能なテレビ番組のテレビ番組情報データベース１３０（図１）内に格納されたテレビ番組プロファイルとに従って、電子装置の近くで現在表示されているテレビ番組を判断し、テレビ番組関連情報は、関連付けられた位置において入手可能な複数の可能なテレビ番組の番組説明を含む（６０６）。「電子装置の近くで表示された」などの語句は、電子装置と同じ部屋内に、またはそうでなければ電子装置の見えるおよび／または聞こえる範囲内に表示されることを意味するものと理解されるので、テレビ番組は電子装置のユーザに対して表示され電子装置のユーザにより視認される、そうでなければ電子装置のユーザにより認識可能である（聞くことだけによっても）。判断方法については以下にさらに詳細に説明する。
【００３６】
いくつかの実装形態によると、判断は、複数のテレビ番組内の各テレビ番組の得点を生成することによりなされ、得点は電子装置のユーザから受信されたクエリ語に従って生成される（６０８）。いくつかの実装形態では、最も高い得点を有するテレビ番組が、クエリサーバシステムの判断モジュールによりなされる判断である（６１６）。
【００３７】
いくつかの実装形態では、クエリサーバシステムは検索クエリ語に関連付けられた第１の組のカテゴリを特定することにより得点を生成する（６１０）。いくつかの実装形態では、クエリサーバシステムは検索クエリ語に関連付けられた第１の組のカテゴリを動的に判断する。いくつかの実装形態では、クエリサーバシステムは検索クエリ語に関連付けられた第１の組のカテゴリを予め判断し、クエリプロファイルデータベース（図１の１４０）内のクエリに関連付けられたクエリプロファイル内に第１の組のカテゴリを格納する。第１の組のカテゴリが予め判断されている場合、クエリサーバシステムはクエリプロファイルデータベースからクエリプロファイルを取り出す。次に、クエリサーバシステムは各テレビ番組に関連付けられた第２の組のカテゴリを特定する（６１２）。いくつかの実装形態では、各テレビ番組に関連付けられたカテゴリは、テレビ番組情報データベース１３０（図３）内に格納されたテレビ番組名、番組説明、キャスト情報、テレビシリーズ情報、ジャンル情報、および関連語などのすべての情報のテキスト解析により判断される。加えて、いくつかの実装形態では、情報はユーザの関心とテレビ番組選択習慣とに基づき保持され、この情報はテレビ番組毎にカテゴリ情報をさらに設定するために使用される。いくつかの実装形態では、クエリサーバシステムは各テレビ番組に関連付けられた第２の組のカテゴリを動的に判断する。他の実装形態では、クエリサーバシステムは検索クエリを受信する前に各テレビ番組に関連付けられた第２の組のカテゴリを予め判断し、各テレビ番組に関連付けられた第２の組のカテゴリを後の検索のためにテレビ番組情報データベース１３０（図１）内に格納し得る。
【００３８】
いくつかの実装形態によると、クエリサーバシステムは得点を得るために第１の組のカテゴリと第２の組のカテゴリに照合関数を適用する（６１４）。クエリサーバシステムにより適用された照合関数は２組間の類似性を計算する任意の関数またはアルゴリズムである可能性がある。いくつかの実装形態では、複数のテレビ番組内のテレビ番組毎に生成される得点は相関係数である。例えば、ユーザが検索クエリ「イーグルズ（eagles）」を入力する場合、クエリサーバシステムは「音楽」と「アウトドア」などの「イーグルズ」のカテゴリを見出す可能性が高い。次に、「The Eagles」に関するドキュメンタリが検索クエリに対して大きな相関を有することが見出され、比較的高得点を受けることになる。次に、「ユーザがこのテレビ番組を視聴している」ということをユーザが確認すると、その情報が将来の分類のためにテレビ番組情報データベース内にフィードバックされ得る。
【００３９】
任意選択的に、テレビ番組がクライアントシステムのユーザにより現在視聴されているということを判断する前に、クエリサーバシステムはユーザが実際にテレビ番組を現在視聴しているかどうかを判断し得る（６０４）。クエリサーバシステムは、電子装置のユーザの位置とこの判断をなすために検索クエリが受信された時間だけでなく、受信されたクエリの内容を解析する。いくつかの実装形態では、クエリサーバシステムは、サーバに格納された位置情報に基づき電子装置のユーザに入手可能な１つまたは複数のテレビ番組の相関得点を計算する（検索クエリとテレビ番組を相関付ける得点の計算方法については上を参照）ことにより、この判断を行う。少なくとも１つのテレビ番組が所定の閾値を越えると、１つの判断されたテレビ番組が上に概説したように判断されることになる。しかし、相関得点のいずれも所定の閾値を越えなければ、クエリサーバシステムは電子装置のユーザが現在テレビ番組を視聴していないと判断する。いくつかの実装形態によると、電子装置のユーザが現在テレビ番組を視聴しないとクエリサーバシステムが判断すると、クエリサーバシステム１２０（図１）は、修正することなく、受信された検索クエリを使用することにより、ウェブクローラデータ（図３、３３６を参照）を介し検索を行う（６２０）。
【００４０】
いくつかの実装形態によると、クエリサーバシステムは生成された得点に従って一組の可能なテレビ番組を順序付ける（６１８）。
【００４１】
テレビ番組ベース検索拡張
図７は、いくつかの実装形態による、判断されたテレビ番組に従って検索結果を改善するプロセスを例示するフローチャートである。図７に示す動作のそれぞれはコンピュータメモリまたはコンピュータ可読記憶媒体に格納された命令に対応し得る。任意選択動作は破線（例えば、破線境界を有するボックス）により示される。いくつかの実装形態では、図７に示す動作は検索クエリ修正システム１２４−２（図１と図３）により実行される。
【００４２】
いくつかの実装形態によると、クエリサーバシステム１２０（図１）は電子装置のユーザから検索クエリを受信する（７０２）。次に、クエリサーバシステムは、検索クエリに基づき、ユーザが現在視聴しているテレビ番組を判断する（７０４）。検索クエリに基づきテレビ番組を判断する方法を図６に示す。いくつかの実装形態では、テレビ番組は、電子装置の近くで表示されているテレビ番組に関する情報にサーバが直接アクセスすることにより判断される。例えば、サーバシステムは、ユーザに対して現在表示されているテレビチャンネルまたはテレビ番組に関する情報を格納する装置（例えばセットトップボックス、インターネット可能テレビシステムまたはホームメディア計算装置（home media computing device））にアクセスすることにより、電子装置の近くで表示されている番組を判断することができる。
【００４３】
いくつかの実装形態によると、クエリサーバシステム１２０（図１）は、判断されたテレビ番組に基づき、受信された検索クエリを修正する（７０６）。いくつかの実装形態では、受信された検索クエリを修正する一方法として、クエリサーバシステム１２０（図１）はテレビ番組関連情報のデータベースにアクセスする（７０８）。いくつかの実装形態では、テレビ番組関連情報は、番組時間、チャネル情報、番組題名、番組説明、番組シリーズ情報、キャスト情報、およびジャンル情報に関係する情報を含む。次に、クエリサーバシステム１２０（図１）は、判断されたテレビ番組と受信された検索クエリの両方に関連付けられた追加検索語を判断する（７１０）。クエリサーバシステム１２０（図１）は受信された検索クエリに追加検索語を追加する（７１２）。
【００４４】
いくつかの実装形態では、受信された検索クエリを修正するための追加用語を判断することは、検索クエリプロファイル４１７（図４）から、受信された検索クエリに関係するカテゴリを最初に判断し、判断されたテレビ番組に関連付けられたテレビ番組プロファイル５１６（図５）から、判断されたテレビ番組に関係するカテゴリを判断し、受信された検索クエリに関連付けられた一組のカテゴリと、判断されたテレビ番組に関連付けられた一組のカテゴリとを比較することにより達成される。相関するカテゴリに基づき、検索クエリ修正システム１２４−２（図１）は関係する追加検索クエリを見出す。例えば、受信された検索クエリが「Ｆ５５０」であり、判断されたテレビ番組が「Top Gear」（車についてのテレビ番組）である場合、検索クエリ修正システム１２４−２（図１）は、受信された検索クエリと判断されたテレビ番組の両方がカテゴリ「スポーツカー」（より具体的にはフェラーリＦ５５０）に関連付けられると判断する。この判断に基づき、検索クエリ修正システム１２４−２（図１）は、「フェラーリ」が関連検索クエリ語であると判断し、それを含むために、受信された検索クエリを修正する。
【００４５】
いくつかの実装形態によると、クエリサーバシステム１２０（図１）は、修正された検索クエリにより検索を実行する（７１４）。クエリ処理サーバは、既にクエリサーバシステムにより収集され、索引付けされ、格納されたウェブクローラデータ（図３、３３６を参照）を検索するために、修正された検索クエリを利用する。次に、クエリサーバシステム１２０（図１）は修正された検索クエリの検索結果を電子装置に戻す（７１６）。
【００４６】
検索クエリに基づくテレビ番組示唆
図８は、いくつかの実装形態による、受信された検索クエリに従ってテレビ番組を示唆するプロセスを例示するフローチャートである。図８に示す動作のそれぞれは、コンピュータメモリまたはコンピュータ可読記憶媒体に格納された命令に対応し得る。任意選択動作は破線（例えば、破線境界を有するボックス）により示される。いくつかの実装形態では、図８に示す動作はテレビ番組示唆システム１２４−３（図１と図３）により実行される。
【００４７】
いくつかの実装形態によると、クエリサーバシステム１２０（図１）は電子装置からユーザの検索クエリを受信する（８０２）。次に、クエリサーバシステム１２０（図１）は受信された検索クエリ（８０４）に従って電子装置のユーザにとって関心が有る１つまたは複数の主題を判断する。いくつかの実装形態では、クエリサーバシステム１２０は受信された検索クエリ語に関連付けられた第１の組のカテゴリを特定することにより電子装置のユーザにとって関心ある主題を判断する。いくつかの実装形態では、クエリサーバシステム１２０（図１）は検索クエリ語に関連付けられた第１の組のカテゴリを動的に判断する。いくつかの実装形態では、クエリサーバシステム１２０（図１）は、検索クエリ語に関連付けられた第１の組のカテゴリを予め判断し、検索クエリに関連付けられた第１の組のカテゴリを、後の検索のためにクエリプロファイルデータベース１４０内に格納する（図１）。
【００４８】
いくつかの実装形態によると、クエリサーバシステム１２０は、電子装置のユーザに関連付けられた位置と受信された検索クエリに従ってユーザにとって関心が有ると判断された主題とに従って、時間窓中に入手可能な少なくとも１つのテレビ番組を判断する（８０６）。いくつかの実装形態では、クエリサーバシステム１２０（図１）は一組のテレビ番組から各テレビ番組に関連付けられた第２の組のカテゴリを特定することによりこの判断を行う。次に、クエリサーバシステム１２０（図１）は検索クエリ語に関連付けられた第１の組のカテゴリと一組のテレビ番組内の各テレビ番組に関連付けられた第２の組のカテゴリとを比較するために照合関数を適用する。いくつかの実装形態では、クエリサーバシステム１２０（図１）は各テレビ番組に関連付けられた第２の組のカテゴリを動的に判断する。他の実装形態では、クエリサーバシステム１２０（図１）は、各テレビ番組に関連付けられた第２の組のカテゴリを予め判断し、各テレビ番組に関連付けられた第２の組のカテゴリをテレビ番組情報データベース１３０（図１）内に格納する。
【００４９】
いくつかの実装形態によると、テレビ番組示唆システム１２４−３は一組の現在入手可能なテレビ番組から各テレビ番組の得点を生成する。いくつかの実装形態では、得点は、受信された検索クエリに関連付けられた第１の組のカテゴリと一組の現在入手可能なテレビ番組から各テレビ番組に関連付けられた第２の組のカテゴリとに照合関数を適用することにより生成される。例えば、「ジャガー」の検索クエリは、それに関連付けられたカテゴリ（哺乳動物、スポーツカー、スポーツチーム）の組を有し得る。「America’s Next Top Model」などのテレビ番組は、関連カテゴリ（ファッション、モデル、服デザイン）の組を有し得る。ドット積などの照合関数は、２つのテレビ番組間に何らの相関も見出さない可能性が高く、したがって結果の得点は非常に低い。しかし、「Top Gear」などのテレビ番組は、関連カテゴリ（自動車、スポーツカー、レーシングカー）の組を有し得る。「ジャガー」と「Top Gear」の一組のカテゴリのドット積は、「America’s Next Top Model」のものより大きな相関を生じ、したがってより高い結果の得点を生じるだろう。いくつかの実装形態によると、一組の入手可能なテレビ番組は生成された得点に従って順序付けられる。いくつかの実装形態では、電子装置のユーザに対して推薦されるテレビ番組は最も高い生成得点を有するテレビ番組である。
【００５０】
いくつかの実装形態によると、少なくとも１つのテレビ番組が、ユーザ／電子装置に入手可能であり、判断された関心が有るカテゴリに十分に関係するという判断に従って、クエリサーバシステム１２０は、判断されたテレビ番組を視聴するための推薦をユーザ／電子装置へ送信する（８０８）。いくつかの実装形態では、特定の時間窓中に入手可能なテレビ番組のいずれもユーザの判断された関心が有るカテゴリに十分には関係しないとクエリサーバシステム１２０（図１）が判断すると、推薦は送信されない。
【００５１】
いくつかの実装形態によると、クエリサーバシステム１２０（図１）は示唆されたテレビ番組に関する電子装置のユーザから応答を受信する（８１０）。この応答は、ユーザが示唆されたテレビ番組を既に視聴しているということ、ユーザが示唆されたテレビ番組を視聴することを判断したこと、またはユーザが示唆されたテレビ番組を視聴することに関心が無いことを示し得る。
【００５２】
いくつかの実装形態では、クエリサーバシステム１２０（図１）は、電子装置のユーザから受信された応答を評価する（８１１）。この評価に基づき、クエリサーバシステム１２０（図１）は、「応答が推薦に対し肯定的（favorable）または否定的（unfavorable）のいずれであるか」を判断し得る。ユーザが推薦テレビ番組を視聴することを選択すると、肯定的応答が受信される。ユーザが示唆されたテレビ番組を既に視聴しているまたは示唆されたテレビ番組を視聴することに関心が無いということをユーザが示せば、否定的応答が受信される。ユーザが示唆されたテレビ番組を既に視聴しているまたは示唆されたテレビ番組を視聴することに関心が無いということを示す応答に従って、クエリサーバシステム１２０（図１）は推薦テレビ番組の将来の推薦を抑制する（８１２）。
【００５３】
図９は、いくつかの実装形態によるクライアント１０２（図１）とクエリサーバシステム１２０（図１）間の通信を例示するフローチャートである。図９に示す動作のそれぞれは、コンピュータメモリまたはコンピュータ可読記憶媒体に格納された命令に対応し得る。任意選択動作は破線（例えば、破線境界を有するボックス）により示される。
【００５４】
いくつかの実装形態によると、クライアント装置は検索クエリをサーバシステムに送信する（９０２）。クエリサーバシステム１２０（図１）はクライアント装置から検索クエリを受信する（９０４）。クエリサーバシステム（１２０、図１）は受信された検索クエリに関連付けられた関心が有る１つまたは複数の主題を判断する（９０６）。次に、クエリサーバシステム１２０（図１）は、検索クエリに関連付けられた判定カテゴリに従って、ユーザに入手可能なテレビ番組を判断する（９０８）。次に、クエリサーバシステム１２０（図１）は判断されたテレビ番組の推薦をクライアント装置へ送信する（９１０）。クライアント装置は推薦をサーバシステムから受信する（９１２）。
【００５５】
いくつかの実装形態によると、クライアント装置１０２（図１）のユーザは推薦に応答し、クライアント装置は応答をサーバシステムへ送信する（９１４）。任意選択的に、クエリサーバシステム１２０（図１）は推薦に対する応答をクライアント装置から受信する（９１６）。次に、クエリサーバシステム１２０（図１）は、クライアント装置からの応答を評価する（９１８）。受信された応答が否定的であるとサーバシステムが判断すると、サーバシステムは判断されたテレビ番組のさらなる推薦を抑制する（９２０）。否定的応答は、クライアント装置１０２（図１）のユーザが既に推薦テレビ番組を視聴しているという指示、またはクライアント装置のユーザが推薦テレビ番組に関心が無いという指示を含み得る。
【００５６】
図１０は、検索要求者が検索クエリを入力し、テレビ番組推薦と電子装置１０２（図１）に関する他の検索結果とを受信できるようにする例示的ユーザインターフェース１０００を例示する。この例では、ユーザインターフェース１０００はテキスト入力ボックス１００４を含むツールバー１００２を含むブラウザ窓を含む。図１０の例は、テキスト入力ボックス６０４内の検索クエリ＜Ｆ５５０＞を描写する。検索クエリのユーザ入力直後に、ユーザインターフェースはユーザの位置に対する一組の推薦テレビ番組１００８（テレビ番組がどのように判断されるかの説明のための図８〜図９を参照）と他の検索結果１０１０とを表示する。いくつかの実装形態では、ページはまた、入力された検索クエリに関連付けられた映像結果、画像結果、ニュース結果、または買い物関係検索結果などの図１０に描かれない他のタイプの検索結果を含み得る。
【００５７】
これまでの説明は、説明を目的として、特定の実装形態を参照し行われた。しかしながら、上記例示的な論述は、網羅的であること、あるいは本発明を開示された正確な形式に限定することを意図するものではない。上記教示を考慮することにより多くの修正と変形が可能である。上記実装形態は、本発明の原理および実用化について最も良く説明するために、そしてこれにより当業者が、考え得る特定の使用に適するように様々な修正を行うことにより本発明と様々な実装形態とを最も良く利用できるようにするために、選択され説明された。
【００５８】
第１、第２などの用語は様々な要素を説明するために本明細書で使用されることがあるが、これらの要素はこれらの用語により限定されるべきではないということも理解されることになる。これらの用語は１つの要素を別の要素から区別するためにだけ使用される。本実装形態の範囲から逸脱することなく、例えば、第１のコンタクトは第２のコンタクトと称せられ得、同様に第２のコンタクトは第１のコンタクトと称せられ得る。第１のコンタクトと第２のコンタクトは両方ともにコンタクトであるが、同じコンタクトではない。
【００５９】
本明細書で実装形態の説明に使用される用語は、特定の実装形態を説明することのみを目的とするものであり、限定することを意図するものではない。実装形態と添付の特許請求の範囲の記載に使用されるように、文脈が明示しない限り単数形の定冠詞と不定冠詞（「a」「an」および「the」）は複数形も同様に含むように意図されている。本明細書で使用される用語「および／または」は、関連リスト項目の１つまたは複数の全ての可能な組み合わせを参照し包含するということも理解されることになる。本明細書で使用されたとき、用語「含む（comprisesおよび／またはcomprising）」は、記載された機能、完全体、工程、動作、要素、および／または部品の存在を明示するが、１つまたは複数の他の機能、完全体、工程、動作、要素、部品、および／またはこれらのグループの存在または追加を排除するものではないということもさらに理解されることになる。
【００６０】
本明細書で使用されるように、用語「の場合(if)」は、文脈に応じて、「するとき(when)」、「すると(upon)」、「判断に応じて」または「検出に応じて」を意味するように意図されている。同様に、語句「と判断される場合」または「（述べられた条件または事象）が検出される場合」は、文脈に応じて、「判断すると」、「判断に応じて」、「（述べられた条件または事象）を検出すると」、または「（述べられた条件または事象）を検出することに応じて」を意味するように意図されている。
【図１】
0005980910.tif 000002
【図２】
0005980910.tif 000003
【図３Ａ】
0005980910.tif 000004
【図３Ｂ】
0005980910.tif 000005
【図４】
0005980910.tif 000006
【図５】
0005980910.tif 000007
【図６】
0005980910.tif 000008
【図７】
0005980910.tif 000009
【図８】
0005980910.tif 000010
【図９】
0005980910.tif 000011
【図１０】
0005980910.tif 000012