(57)【特許請求の範囲】
【請求項１】
少なくとも１つのトークンを含むネットワーク検索クエリをユーザからネットワークを介して受け取るステップと、
前記ネットワーク検索クエリに一致する複数の提案検索語を、コンピュータ装置を使用して提案検索語データベースから選択し、前記複数の提案検索語の各々を複数のカテゴリの１つに割り当てるステップと、
コンピュータ装置を使用して、前記複数のカテゴリの各々の中で前記複数の提案検索語をランク付けするステップと、
前記コンピュータ装置を使用して、前記複数のカテゴリの各々に対し、提案検索語の総数に表示する検索語の総数を乗じたものに対する前記それぞれのカテゴリ内の提案検索語の数の割合に等しい数である、前記ユーザに戻すべき提案検索語の数ｎcを決定するステップと、
前記コンピュータ装置を使用して、前記複数のカテゴリの各々に対し、前記それぞれのカテゴリ内のトップにランクされたｎc個の提案検索語を連結結果セットに加えることにより連結結果セットを生成するステップと、
前記連結結果セットを、前記ネットワークを介して前記ユーザに伝達するステップと、
前記ネットワークを介して、前記ユーザから提案検索語の選択を受け取るステップと、
前記コンピュータ装置を使用して、前記選択された検索語を使用してネットワーク検索を行うステップと、
を含むことを特徴とする方法。
【請求項２】
前記ネットワーク検索クエリが、オンライン番組ガイドを検索するための番組検索クエリであり、
前記提案検索語データベースが、前記オンライン番組ガイドに関連し、
前記選択された提案検索語を使用して、前記オンライン番組ガイドを検索する、
ことを特徴とする請求項１に記載の方法。
【請求項３】
前記提案検索語が、チャネル、番組タイトル及び出演者名の記述のリストから選択され、前記複数のカテゴリが、チャネル、番組タイトル及び出演者のカテゴリを含む、
ことを特徴とする請求項２に記載の方法。
【請求項４】
全ての提案検索語にタイムスタンプが関連付けられ、現在時刻に満たないタイムスタンプを有する検索語が選択されない、
ことを特徴とする請求項３に記載の方法。
【請求項５】
前記タイムスタンプがチャネルに関連する場合、前記タイムスタンプが、前記チャネルに対してスケジュールされた最後の番組の終了時刻に相当し、
前記タイムスタンプが番組タイトルに関連する場合、前記タイムスタンプが、あるチャネル上のスケジュールされた番組の最終終了時刻に相当し、
前記タイムスタンプが出演者に関連する場合、前記タイムスタンプが、あるチャネル上のスケジュールされた前記出演者に関連する番組の最終終了時刻に相当する、
ことを特徴とする請求項４に記載の方法。
【請求項６】
前記ユーザに関連するチャネルマップ内のチャネルに関連する提案検索語のみが選択される、
ことを特徴とする、請求項３に記載の方法。
【請求項７】
前記それぞれの提案検索語内の文頭が前記ネットワーク検索クエリに一致する提案検索語のみが選択される、
ことを特徴とする請求項１に記載の方法。
【請求項８】
複数の提案検索語が、それぞれの文頭に前記ネットワーク検索クエリを含む提案検索語が最初にランク付けされ、残りの提案検索語が、電子番組ランキングによって、及びネットワーク検索クエリに対する前記提案検索語の関連度によってランク付けされるようにしてランク付けされる、
ことを特徴とする請求項１に記載の方法。
【請求項９】
前記ネットワーク検索クエリを受け取るステップ、前記複数の提案検索語を選択するステップ、前記ランク付けステップ、前記決定ステップ、前記生成ステップ、及び前記伝達ステップが、提案検索語の選択が受け取られるまで複数回繰り返される、
ことを特徴とする請求項１に記載の方法。
【請求項１０】
各々が少なくとも１つのトークンを含むネットワーク検索クエリをユーザからネットワークを介して受け取るためのソフトウェアを記憶するコンピュータ可読記憶媒体から取り出したソフトウェアコードを実行するようにプログラムされた１又はそれ以上のプロセッサを含む検索クエリ受け取りモジュールと、
前記検索クエリ受け取りモジュールが受け取ったネットワーク検索クエリに対し、前記それぞれのネットワーク検索クエリに一致する提案検索語の組を提案検索語データベースから選択し、前記提案検索語の組の各々を複数のカテゴリの１つに割り当てるためのソフトウェアを記憶するコンピュータ可読記憶媒体から取り出したソフトウェアコードを実行するようにプログラムされた１又はそれ以上のプロセッサを含む提案検索語選択モジュールと、
前記提案検索語選択モジュールにより選択された各提案検索語の組内の前記複数のカテゴリの中で提案検索語をランク付けするためのソフトウェアを記憶するコンピュータ可読記憶媒体から取り出したソフトウェアコードを実行するようにプログラムされた１又はそれ以上のプロセッサを含む提案検索語ランク付けモジュールと、
前記提案検索語ランク付けモジュールによりランク付けされた各提案検索語の組に対し、各々が前記提案検索語の総数に所定の数を乗じたものに対する前記それぞれのカテゴリ内の提案検索語の数の割合に相当する数である、前記複数のカテゴリの各々に関して連結結果セットに含めて戻すべき提案検索語の数ｎcを決定するためのソフトウェアを記憶するコンピュータ可読記憶媒体から取り出したソフトウェアコードを実行するようにプログラムされた１又はそれ以上のプロセッサを含むカテゴリ結果決定モジュールと、
前記複数のカテゴリの各々に対し、前記それぞれのカテゴリ内のトップにランクされたｎc個の提案検索語を前記連結結果セットに加えることにより、前記カテゴリ結果決定モジュールによって処理された各提案検索語の組の前記連結結果セットを生成するためのソフトウェアを記憶するコンピュータ可読記憶媒体から取り出したソフトウェアコードを実行するようにプログラムされた１又はそれ以上のプロセッサを含む連結結果セット生成モジュールと、
前記連結結果セット生成モジュールにより生成された連結結果セットを、前記それぞれの連結結果セットを生成するクエリを行ったユーザにネットワークを介して伝達するためのソフトウェアを記憶するコンピュータ可読記憶媒体から取り出したソフトウェアコードを実行するようにプログラムされた１又はそれ以上のプロセッサを含む結果セット伝達モジュールと、
前記結果セット伝達モジュールから連結結果セットを受け取ったユーザから、前記それぞれの連結結果セットからの提案検索語の選択を、ネットワークを介して受け取るためのソフトウェアを記憶するコンピュータ可読記憶媒体から取り出したソフトウェアコードを実行するようにプログラムされた１又はそれ以上のプロセッサを含む検索語選択受け取りモジュールと、
前記検索語選択受け取りモジュールが選択した選択された提案検索語を使用してネットワーク検索を行うためのソフトウェアを記憶するコンピュータ可読記憶媒体から取り出したソフトウェアコードを実行するようにプログラムされた１又はそれ以上のプロセッサを含むネットワーク検索モジュールと、
を備えることを特徴とするシステム。
【請求項１１】
前記ネットワーク検索クエリが、オンライン番組ガイドを検索するための番組検索クエリであり、
前記提案検索語データベースが、前記オンライン番組ガイドに関連し、
前記提案検索語が、チャネル、番組タイトル及び出演者名の記述のリストから選択され、
前記複数のカテゴリが、チャネル、番組タイトル及び出演者のカテゴリを含み、
前記選択された提案検索語を使用して、前記オンライン番組ガイドを検索する、
ことを特徴とする、請求項１０に記載のシステム。
【請求項１２】
方法のためのコンピュータ可読命令を有形的に記憶するためのコンピュータ可読記憶媒体であって、前記方法が、
少なくとも１つのトークンを含むネットワーク検索クエリをユーザからネットワークを介して受け取るステップと、
前記ネットワーク検索クエリに一致する複数の提案検索語を、コンピュータ装置を使用して提案検索語データベースから選択し、前記複数の提案検索語の各々を複数のカテゴリの１つに割り当てるステップと、
コンピュータ装置を使用して、前記複数のカテゴリの各々の中で前記複数の提案検索語をランク付けするステップと、
前記コンピュータ装置を使用して、前記複数のカテゴリの各々に対し、提案検索語の総数に表示する検索語の総数を乗じたものに対する前記それぞれのカテゴリ内の提案検索語の数の割合に等しい数である、前記ユーザに戻すべき提案検索語の数ｎcを決定するステップと、
前記コンピュータ装置を使用して、前記複数のカテゴリの各々に対し、前記それぞれのカテゴリ内のトップにランクされたｎc個の提案検索語を連結結果セットに加えることにより連結結果セットを生成するステップと、
前記連結結果セットを、前記ネットワークを介して前記ユーザに伝達するステップと、
前記ネットワークを介して、前記ユーザから提案検索語の選択を受け取るステップと、
前記コンピュータ装置を使用して、前記選択された検索語を使用してネットワーク検索を行うステップと、
を含むことを特徴とするコンピュータ可読記憶媒体。
【請求項１３】
前記ネットワーク検索クエリが、オンライン番組ガイドを検索するための番組検索クエリであり、
前記提案検索語データベースが、前記オンライン番組ガイドに関連し、
前記選択された提案検索語を使用して、前記オンライン番組ガイドを検索する、
ことを特徴とする請求項１２に記載のコンピュータ可読記憶媒体。
【請求項１４】
前記提案検索語が、チャネル、番組タイトル及び出演者名の記述のリストから選択され、前記複数のカテゴリが、チャネル、番組タイトル及び出演者のカテゴリを含む、
ことを特徴とする請求項１３に記載のコンピュータ可読記憶媒体。
【請求項１５】
前記ネットワーク検索クエリを受け取るステップ、前記複数の提案検索語を選択するステップ、前記ランク付けステップ、前記決定ステップ、前記生成ステップ、及び前記伝達ステップが、提案検索語の選択が受け取られるまで複数回繰り返される、
ことを特徴とする請求項１２に記載のコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本出願は著作権保護の対象内容を含む。著作権の権利所有者は、合衆国特許商標庁のファイル又は記録内に表されるとおりに第三者が特許開示を複製することには異議を唱えないが、それ以外は全ての著作権を留保する。
【０００２】
本発明は、オンラインテレビガイド用のインターフェイスのためのシステム及び方法に関し、より具体的には、オンラインテレビガイド内の検索支援を行うためのシステム及び方法に関する。
【背景技術】
【０００３】
様々な種類のオンライン、検索可能テレビ番組、及び／又はチャネルガイドを特色とする様々なウェブベースサービスが存在する。しかしながら、掲載される番組数の多さを考えると、ユーザは、正確かつ絞り込まれた結果を戻すクエリを作成することを困難に感じることもある。さらに、このようなサービスにはタイトルを検索する能力しかなく、チャネル又は出演者を検索する能力がないことが多い。
【発明の概要】
【課題を解決するための手段】
【０００４】
１つの実施形態では、本発明は方法である。ネットワークを介して、少なくとも１つのトークンを含むネットワーク検索クエリを受け取る。コンピュータ装置を使用して、このネットワーク検索クエリに一致する複数の提案検索語を提案検索語データベースから選択する。この複数の提案検索語の各々を、複数のカテゴリの１つに割り当てる。コンピュータ装置を使用して、これらの複数の提案検索語に複数のカテゴリの各々の中でランク付けする。コンピュータ装置を使用して、複数のカテゴリの各々に対し、提案検索語の総数に表示する検索語の総数を乗じたものに対するそれぞれのカテゴリ内の提案検索語の数の割合に等しい数である、ユーザに戻すべき提案検索語の数ｎcを決定する。コンピュータ装置を使用して、複数のカテゴリの各々に対し、それぞれのカテゴリ内のトップにランクされたｎc個の提案検索語を連結結果セットに加えることにより連結結果セットを生成する。この連結結果セットを、ネットワークを介してユーザに伝達する。ユーザからネットワークを介して提案検索語の選択を受け取り、コンピュータ装置を使用して、この選択された提案検索語を使用してネットワーク検索が行う。
【０００５】
１つの実施形態では、本発明は、様々な機能のためのソフトウェアを記憶するコンピュータ可読記憶媒体から取り出したソフトウェアコードを実行するようにプログラムされた１又はそれ以上のプロセッサを各々が含む複数のモジュールを含むシステムである。１つの実施形態では、これらのモジュールが、各々が少なくとも１つのトークンを含むネットワーク検索クエリをユーザからネットワークを介して受け取るための検索クエリ受け取りモジュールと、検索クエリ受け取りモジュールが受け取ったネットワーク検索クエリに対し、それぞれのネットワーク検索クエリに一致する提案検索語の組を提案検索語データベースから選択し、提案検索語の組の各々を複数のカテゴリの１つに割り当てるための提案検索語選択モジュールと、提案検索語モジュールにより選択された各提案検索語の組内の複数のカテゴリの中で提案検索語をランク付けするための提案検索語ランク付けモジュールと、提案検索語ランク付けモジュールによりランク付けされた各提案検索語の組に対し、各々が提案検索語の総数に所定の数を乗じたものに対するそれぞれのカテゴリ内の提案検索語の数の割合に相当する数である、複数のカテゴリの各々に関して連結結果セットに含めて戻すべき提案検索語の数ｎcを決定するためのカテゴリ結果決定モジュールと、複数のカテゴリの各々に対し、それぞれのカテゴリ内のトップにランクされたｎc個の提案検索語を連結結果セットに加えることにより、カテゴリ結果決定モジュールによって処理された各提案検索語の組の連結結果セットを生成するための連結結果セット生成モジュールと、連結結果セット生成モジュールにより生成された連結結果セットを、それぞれの連結結果セットを生成するクエリを行ったユーザにネットワークを介して伝達するための結果セット伝達モジュールと、結果セット伝達モジュールから連結結果セットを受け取ったユーザから、それぞれの連結結果セットからの提案検索語の選択を、ネットワークを介して受け取るための検索語選択受け取りモジュールと、検索語選択受け取りモジュールが選択した選択された提案検索語を使用してネットワーク検索を行うためのネットワーク検索モジュールとを含む。
【０００６】
様々な図を通じて参照文字が同じ部分を示す添付図面に示す以下の好ましい実施形態のより詳細な説明から、本発明の上述の及びその他の目的、特徴及び利点が明らかになるであろう。図面は必ずしも縮尺通りではなく、本発明の原理を示すことに重点を置いている。
【図面の簡単な説明】
【０００７】
【図１】ユーザがクエリ入力ボックス内に「ｆｏｘ」という検索文字列を入力した後のテレビガイドユーザインターフェイスを示す図である。
【図２】図１のテレビガイドユーザインターフェイスの提案検索語ドロップダウンリストのより近接した表示である。
【図３】ユーザが、チャネル、番組タイトル及び出演者に関連する検索語を選択した時に作成される検索結果サンプルの表示である。
【図４】カテゴリ別の検索支援機能を有するオンラインテレビガイドを提供できるシステムの高レベル図である。
【図５】オンラインテレビガイド内でカテゴリベースの検索支援機能を提供する方法の１つの実施形態を示す図である。
【図６】図５に示すプロセスの少なくとも１つの実施形態をサポートできる検索サービスエンジンの１つの実施形態を示す図である。
【図７】本開示の１又はそれ以上の実施形態による、図６の検索サービスエンジンをサポートするテレビガイドサーバコンピュータ及び／又はプロセッサなどのコンピュータ装置の一例の内部アーキテクチャを示すブロック図である。
【発明を実施するための形態】
【０００８】
以下、特定のトピックに関する媒体を選択して提示するための方法及び装置のブロック図及び動作説明図を参照しながら本発明について説明する。なお、ブロック図又は動作説明図の各ブロック、及びブロック図又は動作説明図におけるブロックの組み合わせは、アナログ又はデジタルハードウェア及びコンピュータプログラム命令により実施することができる。
【０００９】
これらのコンピュータプログラム命令を、汎用コンピュータ、専用コンピュータ、ＡＳＩＣ、又はその他のプログラマブルデータ処理装置のプロセッサに提供することにより、これらのコンピュータ又はその他のプログラマブルデータ処理装置のプロセッサを介して実行される命令が、ブロック図又は動作ブロック又は複数のブロック内に指定する機能／動作を実施するようにすることができる。
【００１０】
他のいくつかの実施では、ブロック内に示す機能／動作を、動作説明図に示す順序とは異なる順序で実行することができる。例えば、連続して示す２つのブロックを事実上ほぼ同時に実行することができ、或いは関連する機能／動作によってはブロックを逆の順序で実行できることもある。
【００１１】
本開示では、「サーバ」という用語は、処理、データベース及び通信機能を提供するサービスポイントを意味すると理解されたい。一例として、及び限定ではなく、「サーバ」という用語は、関連する通信機能及びデータ記憶機能及びデータベース機能を有する単一の物理プロセッサ、或いはネットワーク化又はクラスタ化されたプロセッサと関連ネットワークと記憶装置との複合体、並びにサーバが提供するサービスをサポートするオペレーティングソフトウェア及び１又はそれ以上のデータベースシステム及びアプリケーションソフトウェアを意味することができる。
【００１２】
本開示では、コンピュータ可読媒体が、コンピュータにより実行可能なコンピュータプログラムコードを含むことができるコンピュータデータを機械可読形式で記憶する。一例として、及び限定ではなく、コンピュータ可読媒体は、データを有形的に又は固定的に記憶するためのコンピュータ可読記憶媒体、又はコードを含む信号を一時的に解釈するための通信媒体を含むことができる。本明細書で使用する場合、コンピュータ可読記憶媒体は、（信号とは対照的に）物理的な又は有形の記憶装置を意味し、コンピュータ可読命令、データ構造、プログラムモジュール又はその他のデータなどの情報を有形的に記憶するための、あらゆる方法又は技術で実現される揮発性及び不揮発性、取り外し可能及び取り外し不能媒体を制限なく含む。コンピュータ可読記憶媒体としては、以下に限定されるわけではないが、ＲＡＭ、ＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ又はその他の固体メモリ技術、ＣＤ−ＲＯＭ、ＤＶＤ、又はその他の光学記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置又はその他の磁気記憶装置、或いは所望の情報又はデータ又は命令を有形的に記憶するために使用でき、コンピュータ又はプロセッサがアクセスできる他のあらゆる物理媒体又は物質媒体が挙げられる。
【００１３】
本開示では、モジュールとは、本明細書で説明する処理、特徴及び／又は機能を（人間による介入又は増強の有無に関わらず）実行又は容易化するソフトウェア、ハードウェア、又はファームウェア（或いはこれらの組み合わせ)システム、処理又は機能、又はこれらの構成要素のことである。モジュールは、サブモジュールを含むことができる。モジュールのソフトウェア構成要素は、コンピュータ可読媒体に記憶することができる。モジュールは、１又はそれ以上のサーバに不可欠なものとすることもでき、或いは１又はそれ以上のサーバがこれをロードして実行することもできる。１又はそれ以上のモジュールは、エンジン又はアプリケーションにグループ化することができる。
【００１４】
本開示では、検索語を、概念又は概念の組を搬送し、このような概念に関するエントリを求めてデータベースを検索するために使用できる一連の１又はそれ以上のトークンを表すものと理解されたい。検索語は、単一の文字又は符号、単一の単語又は語幹、又は単語グループ又は自然言語表現を含むことができる。
【００１５】
本発明は、いくつかの番組カテゴリに編成された提案検索語を提示する検索支援機能を提供することにより、オンライン番組ガイドの使用性を改善するためのシステム及び方法に関する。１つの実施形態では、チャネル、番組タイトル及び出演者名によりカテゴリ化された提案検索語を提示する。
【００１６】
図１〜図３に、チャネル、タイトル及び出演者による検索支援機能及びクエリ能力を提供するテレビガイドユーザインターフェイス１０００の１つの実施形態を示す。図５には、ユーザがクエリ入力ボックス１２００内に「ｆｏｘ」という検索文字列を入力した後のテレビガイドユーザインターフェイス１０００を示している。このインターフェイスは、提案検索語１４００をドロップダウンリスト内に表示する。ユーザは、表示された用語を１つ選択して検索を実行することができ、或いはより絞り込まれた検索語を取得するために続けてタイピングすることもできる。
【００１７】
図２は、図１のテレビガイドユーザインターフェイス１０００の提案検索語のドロップダウンリスト１４００のより近接した表示である。提案検索語ドロップダウンリスト１４００は、関連するチャネル１４２０、出演者１４６０及び番組タイトル１４４０をユーザに提供するように構成される。この検索は、３つのカテゴリ全てにおける結果を予測して提案する。１つの実施形態では、提案検索語ウインドウ１４００が、所定の最大数の提案検索語を有する。図示の実施形態では、ウインドウ１４００が、わずか１０個の提案検索語しか表示していない。
【００１８】
１つの実施形態では、各カテゴリ内の表示される提案検索語の数が、各カテゴリ内の提案検索語の総数に比例する。例えば、「ｆｏｘ」という用語の場合、５８個の検索語が見つかる可能性がある。これらの結果のうち、２４個がチャネル、１５個がタイトル、及び１９個が出演者とする。各カテゴリのエントリ数は、次のように計算することができる。
・チャネル：（（２４／５８）＊１０）＝４．１３７９（４に切り捨て）
・タイトル：（（１５／５８）＊１０）＝２．５８６（３に切り上げ）
・出演者：（（１９／５８）＊１０）＝３．２７５（３に切り捨て）
従って、チャネルに関する提案検索語は、最も関連性の高いものが４つ、タイトル及び出演者に関する提案検索語は、最も関連性の高いものが３つ表示されるようになる。
【００１９】
図３は、ユーザが、チャネル１４２０、番組タイトル１６４０及び出演者１６６０に関する提案検索語を選択した時に生成される検索結果サンプルの表示である。
【００２０】
図４は、カテゴリ別の検索支援機能を有するオンラインテレビガイドを提供できるシステム２０００の高レベル図である。とりわけ、テレビ視聴者２２００が、インターネット２９００を介してテレビガイドサービスにアクセスする。テレビガイドサービスは、例えばＹａｈｏｏ！などのテレビガイドサービスプロバイダ２４００により提供される。１つの実施形態では、テレビガイドサービスプロバイダ２４００が、例えば複数のチャネル上のテレビ番組に関する詳細な情報を含む電子番組ガイドデータベースの組などの、１又はそれ以上のテレビガイドサーバ２４４０及びテレビ番組データベース２４８０を保持する。
【００２１】
１つの実施形態では、テレビデータベースが、提案検索語テーブル２４８４を含む。このテーブルは、単一のテーブルに統合されたチャネル、番組タイトル及び出演者に関するデータを含む。１つの実施形態では、電子番組ガイドデータベース２４８０から毎晩などの定期的にデータが抽出され、提案検索語テーブル２４８４内にインポートされて、このテーブルが再インデックスされる。１つの実施形態では、提案検索語テーブル２４８４が、全てのチャネル、チャネル毎の番組、及びチャネル毎の番組に関連する出演者に関する情報を含む。１つの実施形態では、この情報が、チャネル呼び出し符号、チャネル表示名、チャネル記述、番組タイトル、番組記述及び出演者のフルネームを含む。
【００２２】
１つの実施形態では、検索支援テーブル２４８４内の各レコードが、例えば、チャネル、番組タイトル及び出演者などの検索支援カテゴリをさらに含む。１つの実施形態では、検索支援テーブル２４８４内の各レコードが、既に放送された番組をフィルタ除去するために使用できるタイムスタンプフィールドをさらに含む。１つの実施形態では、チャネルレコードが、現在の電子データ内に存在する最後の番組の終了時刻に相当するタイムスタンプを有する。番組レコードは、チャネル毎の番組の最終終了時刻に相当するタイムスタンプを有し、出演者レコードは、これらのレコードが関連する番組が終了する最終時刻に相当するタイムスタンプをチャネル毎に使用する。
【００２３】
図４に示すシステムは例示にすぎない。当業者であれば、図４のシステムにより提供される機能を、いくつかの代替構成によって提供できると理解するであろう。
【００２４】
図５に、オンラインテレビガイド内にカテゴリベースの検索支援機能を提供する方法３０００の１つの実施形態を示す。１又はそれ以上のトークンを含むテレビ番組検索クエリをユーザから受け取る（ステップ３１００）。１つの実施形態では、このクエリが、チャネル、番組又は番組の出演者に関する１又はそれ以上の用語を含むことができる。１つの実施形態では、ユーザがテレビ番組検索インターフェイス上のクエリ入力ボックス内にタイピングし始めるとすぐに、この検索クエリを含む文字を受け取って分析する。１つの実施形態では、例えば３文字などの最低数の文字がクエリ入力ボックスにタイプされた後に、検索クエリを含む文字を受け取って分析する。
【００２５】
次に、このテレビ番組検索クエリに一致する複数の提案検索語を提案検索語データベースから選択する（ステップ３２００）。１つの実施形態では、提案検索語の各々が、チャネルの記述、番組タイトル又は出演者のフルネームを含み、提案検索語の各々が複数のカテゴリのうちの１つに割り当てられる。１つの実施形態では、このようなカテゴリが、チャネル、番組及び出演者を含む。
【００２６】
１つの実施形態では、提案検索語データベースが、全てのチャネル、チャネル毎の番組、及びチャネル毎の番組に関連する出演者の情報を含み、テーブル上の全てのエントリのためのカテゴリをさらに含む。１つの実施形態では、提案検索語データベース内の各レコードが、過去の結果をフィルタ除去するために使用できるタイムスタンプフィールドをさらに含む。１つの実施形態では、タイムスタンプを計算する方法が、各レコードのデータの種類に依存する。チャネルレコードは、現在の電子番組データ内に存在する最後の番組の終了時刻に相当するタイムスタンプを有する。１つの実施形態では、番組レコードが、チャネル毎の番組の最終終了時刻に相当するタイムスタンプを有し、出演者レコードは、これらのレコードが関連する番組が終了する最終時刻に相当するタイムスタンプをチャネル毎に使用する。
【００２７】
１つの実施形態では、提案検索語データベースにクエリを行って、チャネル呼び出し符号、チャネル表示名、チャネル記述、番組タイトル、番組記述及び出演者のフルネームといったデータベースフィールド内の、テレビ番組検索クエリに一致する全てのレコードを発見する。
【００２８】
１つの実施形態では、現在の日付及び時刻よりも前のタイムスタンプを有する結果が省かれるように結果が制限される。１つの実施形態では、ユーザの現在のチャネルマップ内のチャネルに関する結果のみが戻されるように結果が制限される。１つの実施形態では、用語内の単語の文頭がテレビ番組検索クエリに一致する提案検索語のみが戻されるように結果が制限され、例えば、「ｈｏｕｓ」というクエリの場合、「Ｈｏｕｓｅ」、「Ｄｅｓｐｅｒａｔｅ  Ｈｏｕｓｅｗｉｖｅｓ」、「ＫＴＲＫ  Ｈｏｕｓｔｏｎ，  Ｔｅｘａｓ  （ＣＢＳ）」、「Ｂｒｉａｎ  Ｈｏｕｓｔｏｎ」などのレコードには一致するが、「Ｍｏｎｉｃａ  Ｃａｌｈｏｕｎ」又は「Ｊｅｎｎｉｆｅｒ  Ｍｏｒｅｈｏｕｓｅ」には一致しない。
【００２９】
次に、複数のカテゴリの各々の中で、これらの選択した提案検索語に関連度によってランク付けする（ステップ３３００）。１つの実施形態では、データを、まず文頭にテレビ番組検索クエリを含むレコードによって順序付け、次に（人気度などの）電子番組ランキングによって順序付け、最後にレコードの関連度（例えば、クエリに対する適合の近さ）によって順序付ける。テレビ番組検索クエリが結果と正確に一致する場合、この結果を関連カテゴリの先頭に置き、一致しない場合には最後に置く。１つの実施形態では、テレビ番組検索クエリが数字であり、これがユーザチャネルマップ内のチャネルのチューナ位置に対応する場合、このチャネルがチャネルグループの先頭に加えられる。
【００３０】
１つの実施形態では、提案検索語の数が（テレビガイドユーザインターフェイスが表示できる提案検索語の総数などの）所定の総数ｎtを超える場合、ユーザに戻す提案検索語の数ｎcを、複数のカテゴリ毎にｎt＝Σｎcとなるように決定する（ステップ３４００）。１つの実施形態では、複数のカテゴリの各々につき、ｎcが、提案検索語の総数に所定の総数ｎtを乗じたものに対するそれぞれのカテゴリ内の提案検索語の数の割合に等しい。
【００３１】
１つの実施形態では、各カテゴリの提案検索語の数を提案検索語の総数で除した後に所定の総数を乗じ、その後最も近い整数に切り上げ又は切り捨てを行う。例えば、上記の「ｆｏｘ」という用語の場合の例では、５８個の検索語が見つかる可能性がある。これらの結果のうち、２４個がチャネル、５５個がタイトル、及び５９個が出演者とする。各カテゴリの入力数は、次のように計算することができる。
・チャネル：（（２４／５８）＊１０）＝４．１３７９（４に切り捨て）
・タイトル：（（１５／５８）＊１０）＝２．５８６（３に切り上げ）
・出演者：（（１９／５８）＊１０）＝３．２７５（３に切り捨て）
【００３２】
他の実施形態では、他の切り上げ・切り捨てスキームを使用することができる。３つのカテゴリを使用するスキームの１つの実施形態では、最も小さな２つのカテゴリの積を最も近い整数に切り上げ、最も大きなグループの積を、必要に応じて最も近い整数又は最も近い整数から１を引いたものに切り捨てて、所定の総数に等しい総数を生成する。当業者には容易に明らかになるように、他の切り上げ・切り捨てスキームも可能である。テレビ番組検索クエリが、所定の総数よりも少ない又はこれに等しい数の提案検索語を戻した場合、各カテゴリ内の結果として得られる検索語の数ｎcは、このテレビ番組検索クエリによって戻されたカテゴリ内の提案検索語の数と等しくなる。
【００３３】
次に、連結結果セットを生成する（ステップ３５００）。１つの実施形態では、複数のカテゴリの各々に対し、それぞれのカテゴリ内のトップにランクされたｎc個の提案検索語を連結結果セットに加える。１つの実施形態では、提案検索語を、チャネル、タイトル、そして最後に出演者結果の順で結果セットに加える。次に、この連結結果セットをユーザに伝達する（ステップ３６００）。
【００３４】
連結結果セット内の提案検索語の選択をユーザから受け取る（ステップ３７００）。この選択は、最初の提案検索語の組をユーザに伝達した後、又は複数の文字入力に対応して複数の提案検索語の組をユーザに伝達した後に受け取ることができる。次に、この選択された提案検索語を使用してテレビ番組検索を行う（ステップ３８００）。
【００３５】
１つの実施形態では、ユーザが新たなクエリを入力する度、又は既存のクエリを修正する度に、ユーザから提案検索語の選択が受け取られるまでステップ３１００〜３６００が繰り返される（ステップ３７００）。
【００３６】
当業者には、テレビ番組検索アプリケーションにより提供される検索支援機能を参照して上述した原理を、（インターネットラジオなどの）オーディオ番組などの、他の種類のスケジュールされた放送番組のための検索アプリケーションにも適用できることが容易に明らかになるであろう。テレビ番組検索アプリケーションにより提供される検索支援機能を参照して上述した原理を、提案検索語を複数のカテゴリに分類できるあらゆるネットワーク検索アプリケーションに対してより広く適用できることも容易に明らかになるであろう。
【００３７】
図６に、図６に示すプロセスの少なくとも１つの実施形態をサポートできる検索サービスエンジン４０００の１つの実施形態を示す。この検索サービス検索エンジンは、１又はそれ以上のモジュールを含む。各モジュールは、様々な機能を実施するためのソフトウェアを記憶するコンピュータ可読記憶媒体から取り出したソフトウェアコードを実行するようにプログラムされた１又はそれ以上のプロセッサを含む。１つの実施形態では、検索サービスエンジン４０００が、検索クエリ受け取りモジュール４１００と、提案検索語選択モジュール４２００と、提案検索語ランク付けモジュール４３００と、カテゴリ結果決定モジュール４４００と、連結結果セット生成モジュール４５００と、結果セット伝達モジュール４６００と、検索語選択受け取りモジュール４７００と、ネットワーク検索モジュール４８００とを備える。
【００３８】
モジュールの各々は、１又はそれ以上のサーバ又はその他のコンピュータ装置上に実装することができる。例えば、モジュールの各々を、図６の２４４０に示すような１又はそれ以上のテレビガイドサーバ上に実装することができる。当業者には容易に明らかになるように、その他の構成も可能である。
【００３９】
１つの実施形態では、検索クエリ受け取りモジュール４１００が、インターネットなどのネットワークを介して、１又はそれ以上のトークンを含むテレビ番組検索クエリをユーザから受け取るように構成される。１つの実施形態では、このようなクエリが、チャネル、番組又は番組の出演者に関する１又はそれ以上の用語を含むことができる。１つの実施形態では、検索クエリ受け取りモジュール４１００が、ユーザアプリケーションがモジュールに検索クエリを提出できるようにするオンラインテレビガイドアプリケーションなどのＡＰＩを提供する。
【００４０】
１つの実施形態では、提案検索語選択モジュール４２００が、検索クエリ受け取りモジュール４１００が受け取った各テレビ番組検索クエリに対し、それぞれのテレビ番組検索クエリに一致する提案検索語の組を提案検索語データベースから選択し、各提案検索語を複数のカテゴリの１つに割り当てるように構成される。１つの実施形態では、提案検索語選択モジュール４２００により選択された提案検索語が、チャネルの記述、番組タイトル又は出演者のフルネームを含み、チャネル、番組又は出演者を含むカテゴリに割り当てられる。
【００４１】
１つの実施形態では、提案検索語データベースが、単一の提案検索語テーブルを含み、電子番組ガイドデータベースからの電子番組データのインポートを使用してこのテーブルに定期的に投入が行われ、テーブルが再インデックスされる。１つの実施形態では、提案検索語テーブルが、リレーショナルデータベースとして記憶される。１つの実施形態では、全ての検索分野に関してフルテキストインデックスが保持される。
【００４２】
１つの実施形態では、検索支援データベースが、全てのチャネル、チャネル毎の番組、及びチャネル毎の番組に関連する出演者に関する情報を含む。１つの実施形態では、検索支援データベースが、データベース上のあらゆるエントリのためのカテゴリをさらに含む。１つの実施形態では、データベース上の各エントリが、過去の結果をフィルタ除去するために使用できるタイムスタンプフィールドをさらに含む。
【００４３】
１つの実施形態では、提案検索語データベースにクエリを行って、チャネル呼び出し符号、チャネル表示名、チャネル記述、番組タイトル、番組記述及び出演者のフルネームといった場所の、検索語に一致する全てのレコードを発見する。
【００４４】
１つの実施形態では、現在の日付及び時刻よりも前のタイムスタンプを有する結果が省かれるように結果が制限される。１つの実施形態では、ユーザの現在のチャネルマップ内のチャネルに関する結果のみが戻されるように結果が制限される。１つの実施形態では、単語の文頭がテレビ番組検索クエリに一致する提案検索語のみが戻されるように結果が制限される。
【００４５】
１つの実施形態では、提案検索語ランク付けモジュール４３００が、提案検索語選択モジュール４２００により選択された各提案検索語の組内の複数のカテゴリの各々の中で提案検索語にランク付けするように構成される。１つの実施形態では、データを、まず文頭にテレビ番組検索クエリを含むレコードによって順序付け、次に（人気度などの）電子番組ランキングによって順序付け、最後にレコードの関連度（例えば、クエリに対する適合の近さ）によって順序付ける。テレビ番組検索クエリが結果と正確に一致する場合、この結果を関連カテゴリの先頭に置き、一致しない場合には最後に置く。１つの実施形態では、テレビ番組検索クエリが数字であり、これがユーザチャネルマップ内のチャネルのチューナ位置に対応する場合、このチャネルがチャネルカテゴリの先頭に加えられる。
【００４６】
１つの実施形態では、カテゴリ結果決定モジュール４４００が、提案検索語ランク付けモジュール４３００によりランク付けされた各提案検索語の組に対し、連結結果セットに含めて戻すべき提案検索語の数ｎcを、組内の複数のカテゴリの各々に関して決定するように構成される。カテゴリ結果の検索語の数ｎcの各々は、組内の提案検索語の総数に所定の総数ｎtを乗じたもの対するそれぞれのカテゴリ内の提案検索語の数の割合に等しい。様々な実施形態では、図５に示す方法３０００の動作３４００を参照して上述した切り上げ・切り捨て技術の１つ又はそれ以上を使用して、各提案検索語の組のｎcが決定される。
【００４７】
１つの実施形態では、連結結果セット生成モジュール４５００が、複数のカテゴリの各々に対し、それぞれのカテゴリ内のトップにランクされたｎc個の提案検索語をそれぞれの連結結果セットに加えることにより、カテゴリ結果決定モジュール４４００によって処理された各提案検索語の組の連結結果セットを生成するように構成される。
【００４８】
１つの実施形態では、結果セット伝達モジュール４６００が、連結結果セット生成モジュール４５００により生成された連結結果セットを、それぞれの連結結果セットを生成するそれぞれのクエリを行ったユーザにネットワークを介して伝達するように構成される。
【００４９】
１つの実施形態では、検索語受け取りモジュール４７００が、結果セット伝達モジュール４６００から連結結果セットを受け取ったユーザから、それぞれの連結結果セットからの提案検索語の選択を、ネットワークを介して受け取るように構成される。
【００５０】
１つの実施形態では、ネットワーク検索モジュール４８００が、検索語選択受け取りモジュールにより選択された検索語を使用してテレビ番組検索を行うように構成される。
【００５１】
図７は、本開示の１又はそれ以上の実施形態による、図６の検索サービスエンジンをサポートするテレビガイドサーバコンピュータ２４４０及び／又はプロセッサなどのコンピュータ装置の一例の内部アーキテクチャを示すブロック図である。本明細書で言及するコンピュータ装置は、ロジック又はコード化した命令を実行できるプロセッサを備えたあらゆる装置を意味し、いくつかのこのような装置の例として、サーバ、パーソナルコンピュータ、セットトップボックス、スマートフォン、パッドコンピュータ又はメディア装置を挙げることができる。図８の例に示すように、内部アーキテクチャ５１００は、少なくとも１つのコンピュータバス５１０２と相互連結する１又はそれ以上の処理装置（本明細書ではＣＰＵとも呼ぶ）５１１２を含む。（単複の）永続記憶媒体５１０６、ネットワークインターフェイス５１１４、ランダムアクセスメモリ（ＲＡＭ）、ランタイム一時メモリ、読み取り専用メモリ（ＲＯＭ）などのメモリ５１０４、フロッピー（登録商標）、ＣＤ  ＲＯＭ、ＤＶＤなどの取り外し可能媒体を含む媒体との間で読み取り／書き込みができるドライブのためのインターフェイスであるメディアディスクドライブインターフェイス５１０８、モニタ又はその他のディスプレイ装置のためのインターフェイスであるディスプレイインターフェイス５１１０、キーボードのためのインターフェイスであるキーボードインターフェイス５１１６、マウス又はその他のポインティングデバイスのためのインターフェイスであるポインティングデバイスインターフェイス５１１８、及びパラレル及びシリアルポートインターフェイス、ユニバーサルシリアルバス（ＵＳＢ）インターフェイスなどの、個別には示してないその他の様々なインターフェイスもコンピュータバス５１０２と相互連結する。
【００５２】
メモリ５１０４は、コンピュータバス５１０２と相互連結して、オペレーティングシステム、アプリケーションプログラム、デバイスドライバ及びソフトウェアモジュールなどの、プログラムコードを含むソフトウェアプログラムの実行中、及び／又は本明細書で説明した処理フローの１つ又はそれ以上などの、本明細書で説明した機能を組み込んだコンピュータ実行可能処理ステップの実行中に、メモリ５１０４に記憶された情報をＣＰＵ５１１２に提供する。ＣＰＵ５１１２は、メモリ５１０４、（単複の）記憶媒体５１０６、取り外し可能メディアドライブ、及び／又はその他の記憶装置などの記憶装置からコンピュータ実行可能処理ステップを最初にロードする。次に、ＣＰＵ５１１２は、ロードしたコンピュータ実行可能処理ステップを実行するために、記憶した処理ステップを実行することができる。ＣＰＵ５１１２は、コンピュータ実行可能処理ステップの実行中に、記憶装置が記憶するデータなどの記憶データにアクセスすることができる。
【００５３】
（単複の）永続記憶媒体５１０６は、オペレーティングシステム及び１又はそれ以上のアプリケーションプログラムなどのソフトウェア及びデータを記憶するために使用できる（単複の）コンピュータ可読記憶媒体である。（単複の）永続記憶媒体５１０６を使用して、デジタルカメラドライバ、モニタドライバ、プリンタドライバ、スキャナドライバ又はその他のデバイスドライバのうちの１又はそれ以上などのデバイスドライバ、ウェブページ、コンテンツファイル、再生リスト及びその他のファイルを記憶することもできる。（単複の）永続記憶媒体５１０６は、本開示の１又はそれ以上の実施形態を実施するために使用するプログラムモジュール及びデータファイルをさらに含むこともできる。
【００５４】
当業者であれば、本開示の方法及びシステムを多くの態様で実現することができ、従ってこれらを前述の例示的な実施形態及び実施例によって限定すべきではないと理解するであろう。換言すれば、単一の又は複数の構成要素により、ハードウェア及びソフトウェア又はファームウェアの様々な組み合わせで実行される機能要素、及び個々の機能を、ソフトウェアアプリケーション間でクライアントレベル又はサーバレベルのいずれか又はこれらの両方で分散することができる。この点に関し、本明細書で説明したあらゆる数の様々な実施形態の特徴を単一の又は複数の実施形態に組み合わせることができ、また本明細書で説明した全ての特徴よりも少ない又は多くの特徴を有する他の実施形態も可能である。機能の全体又は一部を、現在知られている又は知られるようになる方法で複数の構成要素間で分散することもできる。従って、本明細書で説明した機能、特徴、インターフェイス及び優先傾向を実現する上で、ソフトウェア／ハードウェア／ファームウェアの無数の組み合わせが可能である。さらに、本開示の範囲は、説明した特徴及び機能及びインターフェイスを実施するための従来既知の方法、並びに現在及び今後当業者が理解すると思われる本明細書で説明したハードウェア又はソフトウェア又はファームウェア構成要素に対して行い得る変形及び修正も対象範囲とする。
【００５５】
さらに、本開示にフロー図として提示し説明した方法の実施形態は、技術をより完全に理解するために一例として提供したものである。開示した方法は、本明細書で示した動作及び論理フローに限定されるものではない。様々な動作の順序を変更した、及びより大きな動作の一部として説明される下位動作を個別に実行する代替の実施形態も考えられる。
【００５６】
本開示のために様々な実施形態について説明したが、このような実施形態を、本開示の教示をこれらの実施形態に限定するものであると見なすべきではない。本開示で説明したシステム及び処理の範囲内の結果を得るために、上述した要素及び動作に様々な変更及び修正を行うことができる。
【符号の説明】
【００５７】
１０００  テレビガイドユーザインターフェイス
１２００  クエリ入力ボックス
１４００  提案検索語
【図１】
0005555809.tif 000002
【図２】
0005555809.tif 000003
【図３】
0005555809.tif 000004
【図４】
0005555809.tif 000005
【図５】
0005555809.tif 000006
【図６】
0005555809.tif 000007
【図７】
0005555809.tif 000008