(57)【要約】システムおよび方法は、一セットの検索結果を識別するための複数の自然言語検索クエリを認識するメディアガイダンスアプリケーションを提供する。例えば、ユーザは、ヤンキースが次の野球の試合をいつするのか判定したいと思うことがある。ユーザは、「ヤンキースがいつ試合をするのか？」、「ヤンキースの試合は何時か？」、「次のヤンキースの野球の試合はいつか？」等の複数の方法でそのクエリを構造化してもよい。ユーザは、クエリがどのように構造化されるかにかかわらず、同一結果、ヤンキースがプレーする予定である場合の説明を期待する。本システムおよび方法は、アイテムまたは情報を検索することにより所望の結果を得るとき、ユーザが複数の検索クエリを使用することを可能にする。
2019525272.tif 000002
【特許請求の範囲】
【請求項１】
検索を行う方法であって、前記方法は、
ユーザ入力デバイスを介して入力クエリを受信することであって、前記入力クエリは少なくとも２つの単語を含む、ことと、
前記入力クエリの第１の単語に対応する第１の表現ベクトルおよび前記入力クエリの第２の単語に対応する第２の表現ベクトルを算出することであって、前記第１および第２の表現ベクトルの個別の値は、前記第１の単語および前記第２の単語がそれぞれ一セットの単語特徴のうちの特徴に一致する度合いに対応する、ことと、
検索意図に関連する検索クエリテンプレートをデータベースから取り出すことであって、前記検索クエリテンプレートは、少なくとも２つの単語を含み、かつ、第３の表現ベクトルおよび第４の表現ベクトルと関連付けられており、前記第３の表現ベクトルおよび前記第４の表現ベクトルは、前記検索クエリテンプレートの第３の単語および前記検索クエリテンプレートの第４の単語がそれぞれ前記セットの単語特徴のうちの特徴に一致する度合いに対応する個別の値を有する、ことと、
前記第１の表現ベクトルと前記第３の表現ベクトルとの間の第１の距離を算出することと、
前記第１の距離が第１の閾値距離未満であると判定したことに応答して、前記第２の表現ベクトルと前記第４の表現ベクトルとの間の第２の距離を算出することと、
前記第２の距離が第２の閾値距離未満であると判定したことに応答して、
前記検索クエリテンプレートを選択し、
前記選択された検索クエリテンプレートに基づいて検索結果を取り出し、
前記取り出された検索結果を表示のために生成する
ことと
を含む、方法。
【請求項２】
前記第１の表現ベクトルと前記第３の表現ベクトルとの間の距離を算出することは、
前記第１の表現ベクトル内の第１の値を前記第２の表現ベクトル内の対応する第２の値と比較することにより、前記第１の値と前記第２の値とが閾値未満だけ異なるかどうかを判定することと、
前記値が前記閾値未満だけ異なると判定したことに応答して、前記距離を不変のままにしておくことと、
前記値が前記閾値以上異なると判定したことに応答して、前記値が似ていない度合いを算出し、前記値が似ていない度合いに基づいて前記距離をインクリメントすることと
を含む、請求項１に記載の方法。
【請求項３】
前記第１の表現ベクトルと前記第３の表現ベクトルとの間の前記第１の距離を算出することが、ベクトル空間内での前記第３の表現ベクトルに対する前記第１の表現ベクトルの方位に基づくことにより、前記第１の距離が前記第１の表現ベクトルと前記第３の表現ベクトルとの間の角度の大きさとなっている、請求項１に記載の方法。
【請求項４】
前記ユーザ入力は、オーディオ入力デバイスでオーディオ信号を介して受信され、前記第１の単語および前記第２の単語は、前記オーディオ信号に対するスピーチ／テキスト処理を行うことによって前記オーディオ信号から生成される、請求項１に記載の方法。
【請求項５】
前記入力クエリからの２つの単語のうちの１つを前記データベースへのクエリに含めることをさらに含む、請求項１に記載の方法。
【請求項６】
前記第１の単語と関連付けられた品詞を識別することと、
前記第１の単語が前記入力クエリの主語であると判定したことに応答して、前記第１の単語を前記データベースへのクエリに含めることと
をさらに含む、請求項５に記載の方法。
【請求項７】
前記第１の単語をストップワードのリストと比較することにより、前記第１の単語が前記ストップワードのリストの１つのストップワードに一致するかどうかを判定することと、
前記第１の単語が前記ストップワードに一致すると判定したことに応答して、
前記入力クエリの第３の単語を選択し、
第５の表現ベクトルを算出する
ことであって、前記第１の表現ベクトルの値は、前記入力クエリの第３の単語が前記セットの単語特徴のうちの特徴に一致する度合いに対応する、ことと
をさらに含む、請求項１に記載の方法。
【請求項８】
前記第１の単語が前記第３の単語の意味に一致し、かつ、前記第４の単語の意味に一致しないとき、前記第１の距離は、前記第１の表現ベクトルと前記第４の表現ベクトルとの間の第３の距離より小さい、請求項１に記載の方法。
【請求項９】
前記検索クエリテンプレートは、第１の検索クエリテンプレートであり、
前記方法は、
前記第１の距離が前記第１の閾値距離を上回ると判定したことに応答して、
第２の検索クエリテンプレートを前記データベースから取り出すことであって、前記第２の検索クエリテンプレートは、第５の表現ベクトルおよび第６の表現ベクトルと関連付けられ、前記第５の表現ベクトルおよび前記第６の表現ベクトルは、前記第２の検索クエリテンプレートの第１の単語および前記第２の検索クエリテンプレートの第２の単語がそれぞれ前記セットの単語特徴のうちの特徴に一致する度合いに対応する個別の値を有する、こと、および
前記第１の表現ベクトルと前記第５の表現ベクトルとの間の第３の距離を算出すること
を行うことと、
前記第３の距離が前記第１の閾値距離未満であると判定したことに応答して、前記第２の表現ベクトルと前記第６の表現ベクトルとの間の第４の距離を算出することと、
前記第４の距離が前記第２の閾値未満であると判定したことに応答して、前記検索結果を取り出すために前記第２の検索クエリテンプレートを選択することと
をさらに含む、請求項１に記載の方法。
【請求項１０】
前記取り出された検索結果を表示のために生成することは、
前記検索クエリテンプレートと関連付けられたデータベースからレイアウトを取り出すことと、
前記レイアウトに基づいて前記取り出された検索結果を表示のために生成することと
をさらに含む、請求項１に記載の方法。
【請求項１１】
検索を行うように構成された制御回路を備えたシステムであって、前記制御回路は、
ユーザ入力デバイスを介して入力クエリを受信することであって、前記入力クエリは少なくとも２つの単語を含む、ことと、
前記入力クエリの第１の単語に対応する第１の表現ベクトルおよび前記入力クエリの第２の単語に対応する第２の表現ベクトルを算出することであって、前記第１および第２の表現ベクトルの個別の値は、前記第１の単語および前記第２の単語がそれぞれ一セットの単語特徴のうちの特徴に一致する度合いに対応する、ことと、
検索意図に関連する検索クエリテンプレートをデータベースから取り出すことであって、前記検索クエリテンプレートは、少なくとも２つの単語を含み、かつ、第３の表現ベクトルおよび第４の表現ベクトルと関連付けられており、前記第３の表現ベクトルおよび前記第４の表現ベクトルは、前記検索クエリテンプレートの第３の単語および前記検索クエリテンプレートの第４の単語がそれぞれ前記セットの単語特徴のうちの特徴に一致する度合いに対応する個別の値を有する、ことと、
前記第１の表現ベクトルと前記第３の表現ベクトルとの間の第１の距離を算出することと、
前記第１の距離が第１の閾値距離未満であると判定したことに応答して、前記第２の表現ベクトルと前記第４の表現ベクトルとの間の第２の距離を算出することと、
前記第２の距離が第２の閾値距離未満であると判定したことに応答して、
前記検索クエリテンプレートを選択し、
前記選択された検索クエリテンプレートに基づいて検索結果を取り出し、
前記取り出された検索結果を表示のために生成する
ことと
を行うように構成されている、システム。
【請求項１２】
前記制御回路は、前記第１の表現ベクトルと前記第３の表現ベクトルとの間の距離を算出するとき、
前記第１の表現ベクトル内の第１の値を前記第２の表現ベクトル内の対応する第２の値と比較することにより、前記第１の値と前記第２の値とが閾値未満だけ異なるかどうかを判定することと、
前記値が前記閾値未満だけ異なると判定したことに応答して、前記距離を不変のままにしておくことと、
前記値が前記閾値以上異なると判定したことに応答して、前記値が似ていない度合いを算出し、前記値が似ていない度合いに基づいて前記距離をインクリメントすることと
を行うようにさらに構成されている、請求項１１に記載のシステム。
【請求項１３】
前記制御回路は、前記第１の表現ベクトルと前記第３の表現ベクトルとの間の前記第１の距離を算出するとき、ベクトル空間内で前記第１の距離を前記第３の表現ベクトルに対する前記第１の表現ベクトルの方位に基づいたものとすることにより、前記第１の距離が前記第１の表現ベクトルと前記第３の表現ベクトルとの間の角度の大きさとなるようにさらに構成されている、請求項１１に記載のシステム。
【請求項１４】
前記ユーザ入力は、オーディオ入力デバイスでオーディオ信号を介して受信され、前記第１の単語および前記第２の単語は、前記オーディオ信号に対するスピーチ／テキスト処理を行うことによって前記オーディオ信号から生成される、請求項１１に記載のシステム。
【請求項１５】
前記制御回路は、前記入力クエリからの２つの単語のうちの１つを前記データベースへのクエリに含めるようにさらに構成されている、請求項１１に記載のシステム。
【請求項１６】
前記制御回路は、
前記第１の単語と関連付けられた品詞を識別することと、
前記第１の単語が前記入力クエリの主語であると判定したことに応答して、前記第１の単語を前記データベースへのクエリに含めることと
を行うようにさらに構成されている、請求項１５に記載のシステム。
【請求項１７】
前記制御回路は、
前記第１の単語をストップワードのリストと比較することにより、前記第１の単語が前記ストップワードのリストの１つのストップワードに一致するかどうかを判定することと、
前記第１の単語が前記ストップワードに一致すると判定したことに応答して、
前記入力クエリの第３の単語を選択し、
第５の表現ベクトルを算出する
ことであって、前記第１の表現ベクトルの値は、前記入力クエリの第３の単語が前記セットの単語特徴のうちの特徴に一致する度合いに対応する、ことと
を行うようにさらに構成されている、請求項１１に記載のシステム。
【請求項１８】
前記第１の単語が前記第３の単語の意味に一致し、かつ、前記第４の単語の意味に一致しないとき、前記第１の距離は、前記第１の表現ベクトルと前記第４の表現ベクトルとの間の第３の距離より小さい、請求項１１に記載のシステム。
【請求項１９】
前記検索クエリテンプレートは、第１の検索クエリテンプレートであり、
前記制御回路は、
前記第１の距離が前記第１の閾値距離を上回ると判定したことに応答して、
第２の検索クエリテンプレートを前記データベースから取り出すことであって、前記第２の検索クエリテンプレートは、第５の表現ベクトルおよび第６の表現ベクトルと関連付けられ、前記第５の表現ベクトルおよび前記第６の表現ベクトルは、前記第２の検索クエリテンプレートの第１の単語および前記第２の検索クエリテンプレートの第２の単語がそれぞれ前記セットの単語特徴のうちの特徴に一致する度合いに対応する個別の値を有する、こと、および
前記第１の表現ベクトルと前記第５の表現ベクトルとの間の第３の距離を算出すること
を行うことと、
前記第３の距離が前記第１の閾値距離未満であると判定したことに応答して、前記第２の表現ベクトルと前記第６の表現ベクトルとの間の第４の距離を算出することと、
前記第４の距離が前記第２の閾値未満であると判定したことに応答して、前記検索結果を取り出すために前記第２の検索クエリテンプレートを選択することと
を行うようにさらに構成されている、請求項１１に記載のシステム。
【請求項２０】
前記制御回路は、前記取り出された検索結果を表示のために生成するとき、
前記検索クエリテンプレートと関連付けられたデータベースからレイアウトを取り出すことと、
前記レイアウトに基づいて前記取り出された検索結果を表示のために生成することと
を行うようにさらに構成されている、請求項１１に記載のシステム。
【請求項２１】
検索を行うシステムであって、前記システムは、
ユーザ入力デバイスを介して入力クエリを受信する手段であって、前記入力クエリは少なくとも２つの単語を含む、手段と、
前記入力クエリの第１の単語に対応する第１の表現ベクトルおよび前記入力クエリの第２の単語に対応する第２の表現ベクトルを算出する手段であって、前記第１および第２の表現ベクトルの個別の値は、前記第１の単語および前記第２の単語がそれぞれ一セットの単語特徴のうちの特徴に一致する度合いに対応する、手段と、
検索意図に関連する検索クエリテンプレートをデータベースから取り出す手段であって、前記検索クエリテンプレートは、少なくとも２つの単語を含み、かつ、第３の表現ベクトルおよび第４の表現ベクトルと関連付けられており、前記第３の表現ベクトルおよび前記第４の表現ベクトルは、前記検索クエリテンプレートの第３の単語および前記検索クエリテンプレートの第４の単語がそれぞれ前記セットの単語特徴のうちの特徴に一致する度合いに対応する個別の値を有する、手段と、
前記第１の表現ベクトルと前記第３の表現ベクトルとの間の第１の距離を算出する手段と、
前記第１の距離が第１の閾値距離未満であると判定したことに応答して、前記第２の表現ベクトルと前記第４の表現ベクトルとの間の第２の距離を算出する手段と、
前記第２の距離が第２の閾値距離未満であると判定したことに応答して、
前記検索クエリテンプレートを選択し、
前記選択された検索クエリテンプレートに基づいて検索結果を取り出し、
前記取り出された検索結果を表示のために生成する
手段と
を備える、システム。
【請求項２２】
前記第１の表現ベクトルと前記第３の表現ベクトルとの間の距離を算出する手段は、
前記第１の表現ベクトル内の第１の値を前記第２の表現ベクトル内の対応する第２の値と比較することにより、前記第１の値と前記第２の値とが閾値未満だけ異なるかどうかを判定する手段と、
前記値が前記閾値未満だけ異なると判定したことに応答して、前記距離を不変のままにしておく手段と、
前記値が前記閾値以上異なると判定したことに応答して、前記値が似ていない度合いを算出し、前記値が似ていない度合いに基づいて前記距離をインクリメントする手段と
をさらに備える、請求項２１に記載のシステム。
【請求項２３】
前記第１の表現ベクトルと前記第３の表現ベクトルとの間の前記第１の距離を算出する手段は、前記第１の距離をベクトル空間内の前記第３の表現ベクトルに対する前記第１の表現ベクトルの方位に基づいたものとすることにより、前記第１の距離が前記第１の表現ベクトルと前記第３の表現ベクトルとの間の角度の大きさとなるようにする手段をさらに備える、請求項２１に記載のシステム。
【請求項２４】
オーディオ入力デバイスでオーディオ信号を介して前記ユーザ入力を受信する手段と、前記オーディオ信号に対するスピーチ／テキスト処理を行うことによって、前記オーディオ信号から前記第１の単語および前記第２の単語を生成する手段とをさらに備える、請求項２１に記載のシステム。
【請求項２５】
前記入力クエリからの２つの単語のうちの１つを前記データベースへのクエリ内に含める手段をさらに備える、請求項２１に記載のシステム。
【請求項２６】
前記第１の単語と関連付けられた品詞を識別する手段と、
前記第１の単語が前記入力クエリの主語であると判定したことに応答して、前記第１の単語を前記データベースへのクエリ内に含める手段と
をさらに備える、請求項２５に記載のシステム。
【請求項２７】
前記第１の単語をストップワードのリストと比較することにより、前記第１の単語が前記ストップワードのリストの１つのストップワードに一致するかどうかを判定する手段と、
前記第１の単語が前記ストップワードに一致すると判定したことに応答して、
前記入力クエリの第３の単語を選択し、
第５の表現ベクトルを算出する
手段であって、前記第１の表現ベクトルの値は、前記入力クエリの第３の単語が前記セットの単語特徴のうちの特徴に一致する度合いに対応する、手段と
をさらに備える、請求項２１に記載のシステム。
【請求項２８】
前記第１の単語が前記第３の単語の意味に一致し、前記第４の単語の意味に一致しないとき、前記第１の距離は、前記第１の表現ベクトルと前記第４の表現ベクトルとの間の第３の距離より小さい、請求項２１に記載のシステム。
【請求項２９】
前記検索クエリテンプレートは、第１の検索クエリテンプレートであり、
前記システムは、
前記第１の距離が前記第１の閾値距離を上回ると判定したことに応答して、
第２の検索クエリテンプレートを前記データベースから取り出すことであって、前記第２の検索クエリテンプレートは、第５の表現ベクトルおよび第６の表現ベクトルと関連付けられ、前記第５の表現ベクトルおよび前記第６の表現ベクトルは、前記第２の検索クエリテンプレートの第１の単語および前記第２の検索クエリテンプレートの第２の単語がそれぞれ前記セットの単語特徴のうちの特徴に一致する度合いに対応する個別の値を有する、こと、および
前記第１の表現ベクトルと前記第５の表現ベクトルとの間の第３の距離を算出すること
を行う手段と、
前記第３の距離が前記第１の閾値距離未満であると判定したことに応答して、前記第２の表現ベクトルと前記第６の表現ベクトルとの間の第４の距離を算出する手段と、
前記第４の距離が前記第２の閾値未満であると判定したことに応答して、前記検索結果を取り出すために前記第２の検索クエリテンプレートを選択する手段と
をさらに備える、請求項２１に記載のシステム。
【請求項３０】
前記取り出された検索結果を表示のために生成する手段は、
前記検索クエリテンプレートと関連付けられたデータベースからレイアウトを取り出す手段と、
前記レイアウトに基づいて前記取り出された検索結果を表示のために生成する手段と
をさらに備える、請求項２１に記載のシステム。
【請求項３１】
メモリを備えた非一過性コンピュータ可読媒体であって、前記メモリには、検索を行うための命令がエンコードされており、前記命令は、
ユーザ入力デバイスを介して入力クエリを受信するための命令であって、前記入力クエリは少なくとも２つの単語を含む、命令と、
前記入力クエリの第１の単語に対応する第１の表現ベクトルおよび前記入力クエリの第２の単語に対応する第２の表現ベクトルを算出するための命令であって、前記第１および第２の表現ベクトルの個別の値は、前記第１の単語および前記第２の単語がそれぞれ一セットの単語特徴のうちの特徴に一致する度合いに対応する、命令と、
検索意図に関連する検索クエリテンプレートをデータベースから取り出すための命令であって、前記検索クエリテンプレートは、少なくとも２つの単語を含み、、かつ、第３の表現ベクトルおよび第４の表現ベクトルと関連付けられており、前記第３の表現ベクトルおよび前記第４の表現ベクトルは、前記検索クエリテンプレートの第３の単語および前記検索クエリテンプレートの第４の単語がそれぞれ前記セットの単語特徴のうちの特徴に一致する度合いに対応する個別の値を有する、命令と、
前記第１の表現ベクトルと前記第３の表現ベクトルとの間の第１の距離を算出するための命令と、
前記第１の距離が第１の閾値距離未満であると判定したことに応答して、前記第２の表現ベクトルと前記第４の表現ベクトルとの間の第２の距離を算出するための命令と、
前記第２の距離が第２の閾値距離未満であると判定したことに応答して、
前記検索クエリテンプレートを選択し、
前記選択された検索クエリテンプレートに基づいて検索結果を取り出し、
前記取り出された検索結果を表示のために生成する
ための命令と
を備える、非一過性コンピュータ可読媒体。
【請求項３２】
前記第１の表現ベクトルと前記第３の表現ベクトルとの間の距離を算出するための命令は、
前記第１の表現ベクトル内の第１の値を前記第２の表現ベクトル内の対応する第２の値と比較することにより、前記第１の値と前記第２の値とが閾値未満だけ異なるかどうかを判定するための命令と、
前記値が前記閾値未満だけ異なると判定したことに応答して、前記距離を不変のままにしておくための命令と、
前記値が前記閾値以上異なると判定したことに応答して、前記値が似ていない度合いを算出し、前記値が似ていない度合いに基づいて前記距離をインクリメントするための命令と
をさらに備える、請求項３１に記載の非一過性コンピュータ可読媒体。
【請求項３３】
前記第１の表現ベクトルと前記第３の表現ベクトルとの間の前記第１の距離を算出するための命令は、前記第１の距離をベクトル空間内の前記第３の表現ベクトルに対する前記第１の表現ベクトルの方位に基づいたものとすることにより、前記第１の距離が前記第１の表現ベクトルと前記第３の表現ベクトルとの間の角度の大きさとなるようにするための命令をさらに備える、請求項３１に記載の非一過性コンピュータ可読媒体。
【請求項３４】
前記ユーザ入力は、オーディオ入力デバイスでオーディオ信号を介して受信され、前記第１の単語および前記第２の単語は、前記オーディオ信号に対するスピーチ／テキスト処理を行うことによって前記オーディオ信号から生成される、請求項３１に記載の非一過性コンピュータ可読媒体。
【請求項３５】
前記入力クエリからの２つの単語のうちの１つを前記データベースへのクエリ内に含めるための命令をさらに備える、請求項３１に記載の非一過性コンピュータ可読媒体。
【請求項３６】
前記第１の単語と関連付けられた品詞を識別するための命令と、
前記第１の単語が前記入力クエリの主語であると判定したことに応答して、前記第１の単語を前記データベースへのクエリ内に含めるための命令と
をさらに備える、請求項３５に記載の非一過性コンピュータ可読媒体。
【請求項３７】
前記第１の単語をストップワードのリストと比較することにより、前記第１の単語が前記ストップワードのリストの１つのストップワードに一致するかどうかを判定するための命令と、
前記第１の単語が前記ストップワードに一致すると判定したことに応答して、
前記入力クエリの第３の単語を選択し、
第５の表現ベクトルを算出する
ための命令であって、前記第１の表現ベクトルの値は、前記入力クエリの第３の単語が前記セットの単語特徴のうちの特徴に一致する度合いに対応する、命令と
をさらに備える、請求項３１に記載の非一過性コンピュータ可読媒体。
【請求項３８】
前記第１の単語が前記第３の単語の意味に一致し、前記第４の単語の意味に一致しないとき、前記第１の距離は、前記第１の表現ベクトルと前記第４の表現ベクトルとの間の第３の距離より小さい、請求項３１に記載の非一過性コンピュータ可読媒体。
【請求項３９】
前記検索クエリテンプレートは、第１の検索クエリテンプレートであり、
前記命令は、
前記第１の距離が前記第１の閾値距離を上回ると判定したことに応答して、
第２の検索クエリテンプレートを前記データベースから取り出すことであって、前記第２の検索クエリテンプレートは、第５の表現ベクトルおよび第６の表現ベクトルと関連付けられ、前記第５の表現ベクトルおよび前記第６の表現ベクトルは、前記第２の検索クエリテンプレートの第１の単語および前記第２の検索クエリテンプレートの第２の単語がそれぞれ前記セットの単語特徴のうちの特徴に一致する度合いに対応する個別の値を有する、
ことと、
前記第１の表現ベクトルと前記第５の表現ベクトルとの間の第３の距離を算出する
ことと
を行うための命令と、
前記第３の距離が前記第１の閾値距離未満であると判定したことに応答して、前記第２の表現ベクトルと前記第６の表現ベクトルとの間の第４の距離を算出するための命令と、
前記第４の距離が前記第２の閾値未満であると判定したことに応答して、前記検索結果を取り出すために前記第２の検索クエリテンプレートを選択するための命令と
をさらに備える、請求項３１に記載の非一過性コンピュータ可読媒体。
【請求項４０】
前記取り出された検索結果を表示のために生成するための命令は、
前記検索クエリテンプレートと関連付けられたデータベースからレイアウトを取り出すための命令と、
前記レイアウトに基づいて前記取り出された検索結果を表示のために生成するための命令と
をさらに備える、請求項３１に記載の非一過性コンピュータ可読媒体。
【請求項４１】
検索を行う方法であって、前記方法は、
制御回路を用いて、ユーザ入力デバイスを介して入力クエリを受信することであって、前記入力クエリは少なくとも２つの単語を含む、ことと、
前記制御回路を用いて、前記入力クエリの第１の単語に対応する第１の表現ベクトルおよび前記入力クエリの第２の単語に対応する第２の表現ベクトルを算出することであって、前記第１および第２の表現ベクトルの個別の値は、前記第１の単語および前記第２の単語がそれぞれ一セットの単語特徴のうちの特徴に一致する度合いに対応する、ことと、
前記制御回路を用いて、検索意図に関連する検索クエリテンプレートをデータベースから取り出すことであって、前記検索クエリテンプレートは、少なくとも２つの単語を含み、かつ、第３の表現ベクトルおよび第４の表現ベクトルと関連付けられており、前記第３の表現ベクトルおよび前記第４の表現ベクトルは、前記検索クエリテンプレートの第３の単語および前記検索クエリテンプレートの第４の単語がそれぞれ前記セットの単語特徴のうちの特徴に一致する度合いに対応する個別の値を有する、ことと、
前記制御回路を用いて、前記第１の表現ベクトルと前記第３の表現ベクトルとの間の第１の距離を算出することと、
前記第１の距離が第１の閾値距離未満であると判定したことに応答して、前記制御回路を用いて、前記第２の表現ベクトルと前記第４の表現ベクトルとの間の第２の距離を算出することとと、
前記第２の距離が第２の閾値距離未満であると判定したことに応答して、
前記制御回路を用いて、前記検索クエリテンプレートを選択し、
前記制御回路を用いて、前記選択された検索クエリテンプレートに基づいて検索結果を取り出し、
前記制御回路を用いて、前記取り出された検索結果を表示のために生成することと
を含む、方法。
【請求項４２】
前記第１の表現ベクトルと前記第３の表現ベクトルとの間の距離を算出することは、
前記第１の表現ベクトル内の第１の値を前記第２の表現ベクトル内の対応する第２の値と比較することにより、前記第１の値と前記第２の値とが閾値未満だけ異なるかどうかを判定することと、
前記値が前記閾値未満だけ異なると判定したことに応答して、前記距離を不変のままにしておくことと、
前記値が前記閾値以上異なると判定したことに応答して、前記値が似ていない度合いを算出し、前記値が類似しない度合いに基づいて、前記距離をインクリメントすることと
を含む、請求項４１に記載の方法。
【請求項４３】
前記第１の表現ベクトルと前記第３の表現ベクトルとの間の第１の距離を算出することが、ベクトル空間内での前記第３の表現ベクトルに対する前記第１の表現ベクトルの方位に基づくことにより、前記第１の距離が前記第１の表現ベクトルと前記第３の表現ベクトルとの間の角度の大きさとなっている、請求項４１〜４２のいずれかに記載の方法。
【請求項４４】
前記ユーザ入力は、オーディオ入力デバイスでオーディオ信号を介して受信され、前記第１の単語および前記第２の単語は、前記オーディオ信号に対するスピーチ／テキスト処理を行うことによって前記オーディオ信号から生成される、請求項４１〜４３のいずれか１項に記載の方法。
【請求項４５】
前記入力クエリからの２つの単語のうちの１つを前記データベースへのクエリに含めることをさらに含む、請求項４１〜４４のいずれか１項に記載の方法。
【請求項４６】
前記第１の単語と関連付けられた品詞を識別することと、
前記第１の単語が前記入力クエリの主語であると判定したことに応答して、前記第１の単語を前記データベースへのクエリに含めること
をさらに含む、請求項４５に記載の方法。
【請求項４７】
前記第１の単語をストップワードのリストと比較することにより、前記第１の単語が前記ストップワードのリストの１つのストップワードに一致するかどうかを判定することと、
前記第１の単語が前記ストップワードに一致すると判定したことに応答して、
前記入力クエリの第３の単語を選択し、
第５の表現ベクトルを算出することであって、前記第１の表現ベクトルの値は、前記入力クエリの第３の単語が前記セットの単語特徴のうちの特徴に一致する度合いに対応する、ことと
をさらに含む、請求項４１〜４６のいずれか１項に記載の方法。
【請求項４８】
前記第１の単語が前記第３の単語の意味に一致し、かつ、前記第４の単語の意味に一致しないとき、前記第１の距離は、前記第１の表現ベクトルと前記第４の表現ベクトルとの間の第３の距離より小さい、請求項４１〜４７のいずれか１項に記載の方法。
【請求項４９】
前記検索クエリテンプレートは、第１の検索クエリテンプレートであり、
前記方法は、
前記第１の距離が前記第１の閾値距離を上回ると判定したことに応答して、
第２の検索クエリテンプレートを前記データベースから取り出すことであって、前記第２の検索クエリテンプレートは、第５の表現ベクトルおよび第６の表現ベクトルと関連付けられ、前記第５の表現ベクトルおよび前記第６の表現ベクトルは、前記第２の検索クエリテンプレートの第１の単語および前記第２の検索クエリテンプレートの第２の単語がそれぞれ前記セットの単語特徴のうちの特徴に一致する度合いに対応する個別の値を有する、こと、および
前記第１の表現ベクトルと前記第５の表現ベクトルとの間の第３の距離を算出すること
を行うことと、
前記第３の距離が前記第１の閾値距離未満であると判定したことに応答して、前記第２の表現ベクトルと前記第６の表現ベクトルとの間の第４の距離を算出することと、
前記第４の距離が前記第２の閾値未満であると判定したことに応答して、前記検索結果を取り出すために前記第２の検索クエリテンプレートを選択することと
をさらに含む、請求項４１〜４８のいずれか１項に記載の方法。
【請求項５０】
前記取り出された検索結果を表示のために生成することは、
前記検索クエリテンプレートと関連付けられたデータベースからレイアウトを取り出すことと、
前記レイアウトに基づいて前記取り出された検索結果を表示のために生成することと
をさらに含む、請求項４１〜４９のいずれか１項に記載の方法。
【発明の詳細な説明】
【背景技術】
【０００１】
従来のシステムでは、ユーザは、テレビ番組およびスポーツスコア等の多種多様なメディアおよび情報を利用することができる。ユーザが、ハンズフリーインターフェースを使用して、例えば、音声制御を使用して情報を検索したいと思うことはよくある。従来のシステムには、ユーザが音声コマンドを使用して検索を実行できるようにしたものがある。しかしながら、これらのシステムは、典型的には、入力された音声検索が決められたクエリ自体に直接照合されることに起因して、固定数の検索クエリのみしか認識できない。したがって、ユーザは、システムによって認識され得るように、その音声コマンドを特定の様式において構造化しなければならない。このことは、たいてい、ユーザが自然ではないと思えるような様式でしゃべることを要求する。多くの場合、ユーザは、ユーザがそのシステムを使用できるようになる前に、コマンドがどのように構造化される必要があるかを調べるか、または学習するかしなければならない。音声コマンドが、システムによって認識され得るように構造化されない場合、ユーザは、システムによって認識される様式でコマンドを繰り返すように促されるか、検索結果を提示されないかの少なくとも一方であり得る。
【発明の概要】
【課題を解決するための手段】
【０００２】
従って、複数の自然言語クエリを類似した意図を有すると認識し、その意図に一致した検索結果を提供するメディアガイダンスシステムに適した方法およびシステムが本明細書で説明されている。ユーザは、種々の異なる言葉を使用して、試合スケジュールに関するクエリ等のクエリを構造化したいと思うことがある。例えば、ユーザは、ヤンキースが次の野球の試合をいつするのかを判定したいと思うことがある。ユーザは、そのクエリを「ヤンキースがいつ試合をするのか？」または「ヤンキースの試合は何時か？」、「次のヤンキースの野球の試合はいつか？」として構造化してもよい。メディアガイダンスアプリケーションは、上述された３つの例示的クエリ毎に、ユーザが次のヤンキースの試合をいつするのかを判定しようとしていると判定し得る。
【０００３】
従って、メディアガイダンスアプリケーションは、次のヤンキースの試合に適したデータベースに対してクエリ（問い合わせ）を行い、そのクエリの結果をユーザに提示してもよい。例えば、メディアガイダンスアプリケーションは、検索クエリからの単語を処理し、単語をベクトル空間にマッピング（位置付け）してもよく、このベクトル空間では、類似した意味を有する単語は互いに、類似した意味を有していない単語に比べてより近くに配置される。例えば、単語の「ネコ」および「イヌ」は、互いにより近くに配置される可能性が高く、なぜなら、それらの単語は両方とも家で飼うペットを説明するテキストで典型的に現れるからである。メディアガイダンスアプリケーションは、検索クエリにごく接近しているテンプレートをベクトル空間から取り出し、テンプレートに基づいて検索結果を取り出してもよい。例えば、メディアガイダンスアプリケーションは、単語「ネコ」および「イヌ」にごく接近して家で飼うペットに関連付けられたテンプレートを識別可能であり、これは、単語およびテンプレートの両方がペットに関連しているからである。例えば、メディアガイダンスアプリケーションは、検索クエリの単語を一般化された検索クエリテンプレートの単語と（例えば、ベクトル空間内で検索クエリ単語をテンプレートの単語と照合することによって）照合するという理由で、メディアガイダンスアプリケーションは、テンプレートの変形例をメモリ内に記憶することを必要とせずに、検索クエリテンプレートを検索クエリテンプレート自体の変形例と照合することが可能である。したがって、ユーザには、先行技術システムにおけるように、構造化されたクエリを思い出して暗誦する負担はかからない。
【０００４】
いくつかの側面では、メディアガイダンスアプリケーションは、ユーザ入力デバイスを介して、少なくとも２つの単語を含む入力クエリを受信してもよい。例えば、メディアガイダンスアプリケーションは、メディアガイダンスアプリケーションに接続されるキーボードを介してテキスト入力を受信してもよい。いくつかの実施形態では、メディアガイダンスアプリケーションは、メディアガイダンスアプリケーションにアクセス可能なマイクロホン等のオーディオ入力デバイスで音声入力等のオーディオ信号を検出してもよい。メディアガイダンスアプリケーションは、オーディオ入力を処理し、オーディオ信号内に単語のテキスト文字列を作成してもよい。例えば、メディアガイダンスアプリケーションは、音声入力に対するスピーチ／テキスト認識アルゴリズムを実行してもよい。メディアガイダンスアプリケーションは、例えば、入力オーディオに対するスピーチ／テキスト処理を行った後、入力オーディオが２つの単語を含むことを判定してもよい。
【０００５】
メディアガイダンスアプリケーションは、入力クエリの第１の単語に対応する第１の表現ベクトルおよび入力クエリの第２の単語に対応する第２の表現ベクトルを算出する。例えば、メディアガイダンスアプリケーションは、例えば、メディアガイダンスアプリケーションにアクセス可能な自然言語処理ツールキットの単語／ベクトルアルゴリズム等のアルゴリズムを使用して、入力クエリ内の単語毎にベクトル表現を生成してもよい。メディアガイダンスアプリケーションは、第１のベクトル表現および第２のベクトル表現のそれぞれの値が、第１の単語および第２の単語が一セットの単語特徴のうちの特徴に一致する度合いに相当するように、第１および第２の単語の各々毎にベクトル表現を算出してもよい。例えば、メディアガイダンスアプリケーションは、第１の単語が一セットの単語からの他の単語と同時に現れる確率を第１の単語に基づいて判定してもよい。第１の表現ベクトルでの各個別の値は、第１の単語がセット内の各個別の単語と同時に発生する個別の確率を構成していてもよい。実施例として、メディアガイダンスアプリケーションは、入力クエリ「アントラージュはどこ（Ｗｈｅｒｅ’ｓ  Ｅｎｔｏｕｒａｇｅ）？」を受信し得る。メディアガイダンスアプリケーションは、単語「どこ（Ｗｈｅｒｅ’ｓ）」に関する第１の表現ベクトルを算出し、単語「アントラージュ（Ｅｎｔｏｕｒａｇｅ）」に関する第２の表現ベクトルを算出してもよい。
【０００６】
メディアガイダンスアプリケーションは、検索意図に関連する検索クエリテンプレートをデータベースから取り出す。例えば、メディアガイダンスアプリケーションは、検索意図、例えば、ユーザがどこでメディアにアクセスし得るかを判定しようとする意図などと関連付けられた単語に関して遠隔サーバにクエリを行ってもよい。その単語は、検索クエリ「メディア＿Ｘの場所を見つけて（Ｌｏｃａｔｅ  Ｍｅｄｉａ＿Ｘ）？」等の、その意図に一致する検索クエリテンプレートに対応してもよく、検索クエリ「メディア＿Ｘの場所を見つけて？」では、用語「メディア＿Ｘ（Ｍｅｄｉａ＿Ｘ）」がメディアガイダンスアプリケーションによってユーザが検索するメディアに対応する単語と置換され得る。例えば、メディアガイダンスアプリケーションは、ユーザが映画「ハンガー  ゲーム（Ｈｕｎｇｅｒ  Ｇａｍｅｓ）」を検索していると判定してもよい。ユーザが映画「ハンガー  ゲーム」を検索していると判定したことに応答して、メディアガイダンスアプリケーションは、テンプレート内の用語「メディア＿Ｘ」を用語「ハンガー  ゲーム」と置換しつつデータベースへのクエリを生成してもよい。
【０００７】
メディアガイダンスアプリケーションは、上述のように、検索クエリテンプレート内の単語毎に表現ベクトルを算出してもよい。例えば、メディアガイダンスアプリケーションは、「場所を見つける（Ｌｏｃａｔｅ）」等の第３の単語に対応する第３の表現ベクトルを算出してもよく、「メディア＿Ｘ」等の第４の単語に対応する第４の表現ベクトルを算出してもよい。上述のように、第３および第４の表現ベクトル内の値は、第３の単語および第４の単語が一セットの単語特徴のうちの特徴にどの程度一致しているかを表し得るものであり、例えば、第３および第４の単語のそれぞれが一般に使用される一セットの単語のうちの各単語と同時に現れる確率等である。
【０００８】
メディアガイダンスアプリケーションは、第１の表現ベクトルと第３の表現ベクトルとの間の第１の距離を算出する。メディアガイダンスアプリケーションは、その距離を算出することにより、第１の表現ベクトルが第３の表現ベクトルにどの程度類似するかを比較するための測定基準（メトリック）を作成してもよい。例えば、メディアガイダンスアプリケーションは、第１の表現ベクトル内の各値を第３の表現ベクトル内の個別の値と比較することにより、距離を算出してもよい。例えば、メディアガイダンスアプリケーションは、第１の表現ベクトル内の個別の値と第３の表現ベクトル内の対応する個別の値とが類似しない場合、大距離を算出し得る。対照的に、メディアガイダンスアプリケーションは、第１の表現ベクトル内の個別の値が第３の表現ベクトル内の個別の値に類似する（例えば、第１の表現ベクトル内の値と第３の表現ベクトル内の対応する値との間の差異が閾値内である）場合、小距離を算出し得る。例えば、メディアガイダンスアプリケーションは、単語「場所を見つける」に対応する表現ベクトルを単語「どこ」に対応する表現ベクトルと比較し、両単語がアイテムの所在を判定することに言及していることから、距離が小さいと判定してもよい。
【０００９】
メディアガイダンスアプリケーションは、第１の距離が第１の閾値距離未満であると判定したことに応答して、第２の表現ベクトルと第４の表現ベクトルとの間の第２の距離を算出する。例えば、メディアガイダンスアプリケーションは、第１の閾値をメモリから取り出すことにより、第１の単語が第３の単語に類似するかどうかを判定してもよい。例えば、メディアガイダンスアプリケーションは、上述のように、「どこ」および「場所を見つける」の個別の表現ベクトル間の第１の距離を判定してもよい。メディアガイダンスアプリケーションは、距離の値を閾値と比較することにより、単語が類似するかどうかを判定してもよい。メディアガイダンスアプリケーションが、単語が類似すると判定した場合、メディアガイダンスアプリケーションは、第２の表現ベクトルと第４の表現ベクトルとの間の第２の距離を算出してもよい。例えば、メディアガイダンスアプリケーションは、上述のように第２の距離を算出することにより、「アントラージュ」等の第２の単語が「メディア＿Ｘ」等の第４の単語にどの程度類似するかを定量化してもよく、その理由は、入力クエリの第１の単語が検索クエリテンプレートの第１の単語に一致するからである。
【００１０】
メディアガイダンスアプリケーションは、第２の距離が第２の閾値距離未満であると判定したことに応答して検索クエリテンプレートを選択する。例えば、メディアガイダンスアプリケーションは、第２の閾値をメディアガイダンスアプリケーションにアクセス可能な遠隔データベースから取り出してもよい。メディアガイダンスアプリケーションは、第２の距離と第２の閾値距離を比較し、単語が検索クエリテンプレートを使用するのに十分に類似するかどうか（例えば、入力クエリ内の両単語が検索クエリの単語に一致するかどうか）を判定してもよい。第２の距離が第２の閾値距離未満である場合、メディアガイダンスアプリケーションは、検索クエリテンプレートを選択することにより、検索結果をユーザに提供してもよい。
【００１１】
メディアガイダンスアプリケーションは、検索クエリテンプレートに基づいて検索結果を取り出す。例えば、メディアガイダンスアプリケーションは、検索クエリテンプレートを使用して、メディアの場所を含むデータベースへのクエリを構築してもよい。例えば、メディアガイダンスアプリケーションは、ユーザの検索クエリの第１の単語が検索クエリテンプレートの第１の単語に一致するという理由、およびユーザの検索クエリの第２の単語が検索クエリテンプレートの第２の単語に一致するという理由で、検索クエリテンプレートが検索結果を取り出すために使用されるべきであると判定してもよい。
【００１２】
いくつかの実施形態では、メディアガイダンスアプリケーションは、入力クエリからの２つの単語のうちの１つをデータベースへのクエリ内に含めてもよい。例えば、メディアガイダンスアプリケーションは、検索クエリテンプレート内の単語を入力クエリからの単語と置換してもよい。メディアガイダンスアプリケーションは、検索クエリテンプレート（例えば、「メディア＿Ｘの場所を見つけて」）に基づいて検索クエリを生成し、「メディア＿Ｘ」をユーザが場所を見つけようとしているメディア（例えば、「アントラージュ」）と置換してもよい。メディアガイダンスアプリケーションは、クエリを検索データベースに伝送し、クエリの結果をユーザに提示してもよい。例えば、メディアガイダンスアプリケーションは、ネットワーク接続を介してクエリ「アントラージュの場所を見つけて」を伝送し、（例えば、データベースに対するクエリの結果に基づいて）メディアガイダンスアプリケーションのスピーカを介してメディアの場所を説明するオーディオを出力してもよい。
【００１３】
いくつかの実施形態では、メディアガイダンスアプリケーションは、第１の単語と関連付けられた品詞を識別し、第１の単語がデータベースへのクエリ内に含まれるべきであるかどうかを判定してもよい。例えば、メディアガイダンスアプリケーションは、品詞タグ付けアルゴリズムを入力クエリに適用してもよい。メディアガイダンスアプリケーションは、入力クエリ内の各単語をトークン化（文字列などに分割）し、トークン化された単語のリストを品詞タグ付けプログラム（「ＰＯＳタグ付けプログラム」）に入力することにより、各単語と関連付けられた品詞を取り出してもよい。ある実施例では、メディアガイダンスアプリケーションは、第２の単語が入力クエリの主語であると判定してもよい。例えば、メディアガイダンスアプリケーションは、「アントラージュ」が入力クエリの主語であることを判定してもよい。メディアガイダンスアプリケーションは、入力クエリの主語（例えば、「アントラージュ」）を検索クエリテンプレートの主語（例えば、「メディア＿Ｘ」）と置換し、クエリを遠隔データベースに伝送することにより検索結果を取り出してもよい。
【００１４】
いくつかの実施形態では、メディアガイダンスアプリケーションは、入力クエリ内のストップワードを無視してもよい。例えば、メディアガイダンスアプリケーションは、入力クエリが３以上の単語を含むと判定してもよい。メディアガイダンスアプリケーションは、入力クエリの第１の単語をストップワードのリストと比較し、第１の単語がストップワードのリストの１つのストップワードに一致するかどうかを判定してもよい。第１の単語がストップワードに一致すると判定したことに応答して、メディアガイダンスアプリケーションは、入力クエリの別の単語（例えば、入力クエリからの第３の単語）を選択し、入力クエリの第３の単語のための第５の表現ベクトルを（例えば、入力クエリの第３の単語が一セットの単語特徴のうちの特徴に一致する度合いを判定することによって）算出してもよい。メディアガイダンスアプリケーションは、第１の表現ベクトルがストップワードに対応することを理由に、第１の表現ベクトルを使用する代わりに第５の表現ベクトルを使用してもよい。
【００１５】
いくつかの実施形態では、メディアガイダンスアプリケーションは、第１の表現ベクトル内の第１の値を第２の表現ベクトル内の対応する第２の値と比較することによって、第１の表現ベクトルと第３の表現ベクトルとの間の距離を算出してもよい。例えば、メディアガイダンスアプリケーションは、第１の表現ベクトルのＸ次元内の第１の値を求め、第１の値を第３の表現ベクトルのＸ次元内の第２の値から減算してもよい。メディアガイダンスアプリケーションは、差異をメモリ内のある場所に記憶してもよい。メディアガイダンスアプリケーションは、第１および第３の表現ベクトルの各要素を繰り返し選択し、差異を算出し、距離に基づいて距離変数をインクリメントまたはデクリメントしてもよい。メディアガイダンスアプリケーションは、第１の値を第２の値と比較することにより、第１の値および第２の値が閾値量未満だけ異なるかどうかを判定してもよい（例えば、これはメディアガイダンスアプリケーションがゼロの差異を算出するとき、または差異がメモリ内に記憶される閾値未満である場合である）。メディアガイダンスアプリケーションが差異が閾値未満であると判定した場合、メディアガイダンスアプリケーションは、距離の値を不変のままに（またはゼロを追加）してもよい。メディアガイダンスアプリケーションが、第１の値および第２の値が閾値量を上回って異なると判定した場合、メディアガイダンスアプリケーションは、値が似ていない度合いを算出し、値が似ていない度合いに基づいて距離をインクリメントしてもよい。例えば、メディアガイダンスアプリケーションは、２つの値間の差異が５であるとき、５だけ距離をインクリメントしてもよい。
【００１６】
いくつかの実施形態では、メディアガイダンスアプリケーションは、ベクトル空間内での第３の表現ベクトルに対する第１の表現ベクトルの方位に基づいて、第１の表現ベクトルと第３の表現ベクトルとの間の第１の距離を算出してもよい。例えば、メディアガイダンスアプリケーションは、第１の表現ベクトルおよび第３の表現ベクトル内の要素の数（例えば、Ｎ）を判定してもよい。第１の表現ベクトル内の要素の数が第３の表現ベクトル内の要素の数と等しい（例えば、両ベクトルは、Ｎ個の要素を有する）と判定したことに応答して、メディアガイダンスアプリケーションは、次元Ｎのベクトル空間内の第１および第３の表現ベクトルを評価してもよい。メディアガイダンスアプリケーションは、ベクトル空間内の距離、例えば、ベクトル間の角度を表す第１および第３の表現ベクトル間のコサイン類似度などを算出してもよい。第１の表現ベクトルと第３の表現ベクトルとの間の角度が小さいとき、メディアガイダンスアプリケーションは、ベクトルが類似していると判定してもよい。第１の表現ベクトルと第３の表現ベクトルとの間の角度が大きいとき、メディアガイダンスアプリケーションは、ベクトルが類似しないと判定してもよい。
【００１７】
いくつかの実施形態では、メディアガイダンスアプリケーションは、第１の単語が第３の単語の意味に一致し、第４の単語の意味に一致しないとき、（例えば、第１の表現ベクトルと第３の表現ベクトルとの間の）第１の距離が、第２の表現ベクトルと第４の表現ベクトルとの間の第３の距離より小さいと判定してもよい。例えば、上述のように、メディアガイダンスアプリケーションは、第１および第３の距離としてコサイン距離を算出してもよい。メディアガイダンスアプリケーションは、（例えば、単語の意味を捕捉する表現ベクトルに基づいて、）２つの単語が類似の意味を有するとき、距離が最小であると判定し、単語が類似の意味を有していないとき、距離が最大であると判定してもよい。
【００１８】
いくつかの実施形態では、メディアガイダンスアプリケーションは、第１の距離が第１の閾値距離より大きいと判定し、その結果、比較のための第２のテンプレートを取り出してもよい。例えば、第１の検索クエリテンプレートは、検索クエリ「人物＿Ｘは誰？」を含んでいてもよい。メディアガイダンスアプリケーションは、「どこ」（例えば、第１の単語）と「誰」（例えば、第５の単語）との間の距離を算出してもよい。メディアガイダンスアプリケーションは、上述のように、その個別の表現ベクトルに基づいて、「誰」が「どこ」に類似しないと判定してもよい。
【００１９】
いくつかの実施形態では、メディアガイダンスアプリケーションは、検索クエリテンプレートを含むデータベースから第２の検索クエリテンプレートを取り出してもよい。例えば、メディアガイダンスアプリケーションは、検索クエリ「メディア＿Ｘの場所を見つけて」を含む第２の検索クエリテンプレートを取り出してもよい。メディアガイダンスアプリケーションは、第２の検索クエリテンプレートを取り出し、上述のように、第２の検索クエリテンプレートの第１の単語（例えば、「場所を見つける」）および第２の検索クエリテンプレートの第２の単語（例えば、「メディア＿Ｘ」）に対して個別の第５および第６の表現ベクトルを算出してもよい。
【００２０】
いくつかの実施形態では、メディアガイダンスアプリケーションは、上述のように、第１の表現ベクトルと第５の表現ベクトルとの間の第３の距離を算出し、第３の距離を第１の閾値距離と比較してもよい。第３の距離が第１の閾値距離未満であると判定したことに応答して、メディアガイダンスアプリケーションは、第２の表現ベクトルと第６の表現ベクトルとの間の第４の距離を算出し（例えば、これにより入力クエリの第２の単語「アントラージュ」が、第２の検索クエリテンプレートの第２の単語「メディア＿Ｘ」に一致するかどうかを判定し）てもよい。第４の距離が第２の閾値未満であると判定したことに応答して、メディアガイダンスアプリケーションは、第２の検索クエリテンプレートを選択してもよい。第２の検索クエリテンプレートに基づいて、メディアガイダンスアプリケーションは、データベースへのクエリを作成することにより、入力クエリの意図に対応する検索結果を取り出し（例えば、テレビ番組「アントラージュ」の場所を識別し）てもよい。メディアガイダンスアプリケーションは、例えば、ユーザ意図に一致するメディアリスト項目（例えば、アントラージュに関するメディアリスト項目）の表示を生成することによって、検索結果をユーザに提示してもよい。
【００２１】
いくつかの実施形態では、メディアガイダンスアプリケーションは、検索クエリテンプレートと関連付けられたレイアウトに基づいて編成された検索結果を表示のために生成してもよい。例えば、メディアガイダンスアプリケーションは、検索結果がユーザにどのように提示されるべきかを示すテンプレートと関連付けられたレイアウトを（例えば、データベースから）取り出してもよい。例えば、メディアガイダンスアプリケーションは、「映画ズーランダー（Ｚｏｏｌａｎｄｅｒ）はどこで再生可能？」の入力クエリを取り出してもよい。メディアガイダンスアプリケーションは、（例えば、上述のように、入力クエリを検索クエリテンプレートと照合することによって）入力クエリがメディアの場所を見つける意図に一致すると判定し、ズーランダーへアクセスできるメディアコンテンツプロバイダを識別する（例えば、モザイクの）タイルを表示のために生成してもよい。対照的に、メディアガイダンスアプリケーションは、入力クエリ「現在のＭＬＢ順位表は？」を取り出してもよい。メディアガイダンスアプリケーションは、（例えば、入力クエリを検索クエリテンプレートと照合することによって）入力クエリが統計を表示する意図に一致すると判定してもよい。入力クエリが統計を表示する意図に一致すると判定したことに応答して、メディアガイダンスアプリケーションは、ＭＬＢ統計を含む表を表示のために生成してもよい。
【００２２】
上述されたシステムおよび／または方法は、本開示における他のシステム、方法、および／または装置に適用され、もしくはそれに従って使用されてもよいことに留意されたい。
【図面の簡単な説明】
【００２３】
本開示の上記および他の目的ならびに利点は、類似の参照文字が全体を通して類似の部品を指す添付図面と併せて解釈される以下の詳細な説明を考慮することによって明白となるであろう。
【図１】図１は、本開示のいくつかの実施形態による、クエリをユーザから受信するように構成されたユーザ機器の例証的実施例を示す。
【図２】図２は、本開示のいくつかの実施形態による、２次元ベクトル空間内の単語表現ベクトルの例証的実施例を示す。
【図３】図３は、本開示のいくつかの実施形態による、メディアおよび場所検索テンプレートを表す例証的データベースエントリを示す。
【図４】図４は、本開示のいくつかの実施形態による、ユーザによって入力されたクエリに一致する検索クエリテンプレートに基づいて取り出された検索結果を表示するユーザ機器の例証的実施例を示す。
【図５】図５は、本開示のいくつかの実施形態による、提示され得るメディアガイダンス表示の例証的実施例を示す。
【図６】図６は、本開示のいくつかの実施形態による、提示され得るメディアガイダンス表示の別の例証的実施例を示す。
【図７】図７は、本開示のいくつかの実施形態による例証的ユーザ機器デバイスのブロック図である。
【図８】図８は、本開示のいくつかの実施形態による例証的メディアシステムのブロック図である。
【図９】図９は、本開示のいくつかの実施形態による、近似的テンプレート照合に基づいて検索結果を生成するための例証的ステップのフローチャートであるである。
【図１０】図１０は、本開示のいくつかの実施形態による、検索クエリテンプレートを選択するための例証的ステップのフローチャートである。
【発明を実施するための形態】
【００２４】
複数の自然言語クエリを類似の意図を有すると認識し、その意図にマッチした検索結果を生成するメディアガイダンスシステムを提供するシステムおよび方法が本明細書に提供される。例えば、メディアガイダンスアプリケーションは、音声ベースまたはテキストベースの検索のためのインターフェースを提供してもよい。メディアガイダンスアプリケーションは、それぞれ同一の意図を有する複数の異なるクエリをユーザから取り出してもよい。例えば、ヒトのしゃべり方の自然なバリエーションによって、ユーザが、テレビ番組「ゲーム  オブ  スローンズ（Ｇａｍｅ  ｏｆ  Ｔｈｒｏｎｅｓ）」が次回放送されることを確認しようとするとき、ユーザは、「『ゲーム  オブ  スローンズ』がもう一度放送されるのはいつ？」または「『ゲーム  オブ  スローンズ』の次のエピソードを見ることができる時間は？」もしくは「『ゲーム  オブ  スローンズ』のエピソード５が見ることができる時間を教えて」等ということができる。メディアガイダンスアプリケーションは、バリエーションのそれぞれを「ゲーム  オブ  スローンズ」の次のエピソードがいつ放送されるかを確認しようとする意図として認識してもよい。例えば、メディアガイダンスアプリケーションは、ユーザのための汎用化された意図を含む、データベース内のテンプレートにアクセスしてもよい。例えば、汎用化された意図はメディアスケジュールの要求であってもよい。汎用化された意図は、複数の単語と関連付けられていてもよい。複数の単語の各々は、多次元ベクトル空間のベクトルと関連付けられていてもよく、そこでは、類似の意味を有する単語は、ベクトル空間内でごく接近して配置される。メディアガイダンスアプリケーションは、ベクトル空間内で検索クエリの単語にごく接近するテンプレートの単語を識別することによって、検索クエリに一致するテンプレートを特定してもよい。メディアガイダンスアプリケーションは、テンプレートに基づいて検索クエリを生成し、生成されたクエリに基づいて種々の検索結果を取り出してもよい。前の実施例からすると、メディアガイダンスアプリケーションは、「ゲーム  オブ  スローンズ」に関する放送スケジュールについての情報を含む、データベースへのクエリを生成してもよい。メディアガイダンスアプリケーションは、クエリに基づいて検索結果を取り出し、結果を表示のために生成してもよい。例えば、メディアガイダンスアプリケーションは、「ゲーム  オブ  スローンズ」のための放送時間のスケジュールを取り出し、スケジュールを表示のために生成し、次の利用可能なエピソードまたはユーザによって要求された任意の他のエピソードのための放送時間をハイライトしてもよい。
【００２５】
メディアガイダンスアプリケーションは、ユーザ入力デバイスを介して入力クエリを受信してもよい。例えば、メディアガイダンスアプリケーションは、物理的または仮想キーボード（例えば、ディスプレイに生成されたキーボードであって、ディスプレイ上でのタッチ入力が、メディアガイダンスアプリケーションによって文字と相互に関連付けられているキーボード）に接続してもよい。メディアガイダンスアプリケーションは、キーボードを介して自然言語検索クエリ等の検索クエリを含むテキスト入力を受信し、自然言語検索クエリを検索テンプレートに照合することにより、一セットの検索結果を取り出してもよい。例えば、メディアガイダンスアプリケーションは、「デレク  ジーター（Ｄｅｒｅｋ  Ｊｅｔｅｒ）の打率統計を見せて」のクエリを取り出してもよい。メディアガイダンスアプリケーションは、クエリを分析し、ユーザが野球選手デレク  ジーターに関する統計データを要求していると判定してもよい。ユーザがデレク  ジーターに関する統計データを要求していることを検出したことに応答して、メディアガイダンスアプリケーションは、デレク  ジーターに関する統計データを取り出し、統計データを表示のために生成してもよい。
【００２６】
所与のコンテンツ配信システムではどれもユーザに利用可能なコンテンツの量はかなりの量であり得る。その結果、多くのユーザは、ユーザがコンテンツの選択を効率的にナビゲートし、要求するかもしないコンテンツを容易に識別することを可能にするインターフェースを通したメディアガイダンスの形態を要求している。そのようなガイダンスを提供するアプリケーションは、本明細書では、双方向メディアガイダンスアプリケーションと称されるが、時として、メディアガイダンスアプリケーションまたはガイダンスアプリケーションと称されることもある。
【００２７】
双方向メディアガイダンスアプリケーションは、ガイダンスを提供するコンテンツに応じて種々の形態をとってもよい。典型的なタイプのメディアガイダンスアプリケーションの１つは、双方向テレビ番組ガイドである。双方向テレビ番組ガイド（時として、電子番組ガイドと称される場合もある）は、とりわけ、ユーザが、多くのタイプのコンテンツまたはメディアアセット間をナビゲートし、それを特定することが可能である公知のガイダンスアプリケーションである。双方向メディアガイダンスアプリケーションは、ユーザが、コンテンツ間をナビゲートし、コンテンツを特定し、選択することを可能にするグラフィカルユーザインターフェース画面を生成してもよい。本明細書で参照されるように、用語「メディアアセット」および「コンテンツ」とは、電子的に消費可能なユーザアセット、例えば、テレビ番組、ならびに有料番組、オンデマンド番組（ビデオオンデマンド（ＶＯＤ）システムにおけるようなもの）、インターネットコンテンツ（例えば、ストリーミングコンテンツ、ダウンロード可能コンテンツ、ウェブキャスト等）、ビデオクリップ、オーディオ、コンテンツ情報、写真、回転画像、ドキュメント、プレイリスト、ウェブサイト、記事、書籍、電子書籍、ブログ、チャットセッション、ソーシャルメディア、アプリケーション、ゲーム、および／または任意の他のメディアもしくはマルチメディア、および／またはそれらの組み合わせを意味すると理解されたい。ガイダンスアプリケーションはまた、ユーザが、コンテンツ間をナビゲートし、コンテンツを特定することを可能にする。本明細書で参照されるように、用語「マルチメディア」とは、前述の少なくとも２つの異なるコンテンツ形態、例えば、テキスト、オーディオ、画像、ビデオ、または双方向コンテンツ形態を利用するコンテンツを意味すると理解されたい。コンテンツは、ユーザ機器デバイスによって、録画、再生、表示、またはアクセスされてもよいが、また、ライブパーフォーマンスの一部であることも可能である。
【００２８】
本明細書で論じられる実施形態のいずれかを行うためのメディアガイダンスアプリケーションおよび／または任意の命令は、コンピュータ可読媒体上にエンコードされてもよい。コンピュータ可読媒体は、データを記憶することが可能な任意のメディアを含む。コンピュータ可読媒体は、限定されるものではないが、電気または電磁信号の伝搬を含む一過性のものであってもよく、または限定されるものではないが、ハードディスク、フロッピー（登録商標）ディスク、ＵＳＢドライブ、ＤＶＤ、ＣＤ、メディアカード、レジスタメモリ、プロセッサキャッシュ、ランダムアクセスメモリ（「ＲＡＭ」）等の揮発性および不揮発性コンピュータメモリまたは記憶デバイスを含む非一過性であってもよい。
【００２９】
インターネット、モバイルコンピューティング、および高速無線ネットワークの出現に伴って、ユーザは、従来は使用しなかったユーザ機器デバイス上でメディアにアクセスするようになっている。本明細書で参照されるように、語句「ユーザ機器デバイス」、「ユーザ機器」、「ユーザデバイス」、「電子デバイス」、「電子機器」、「メディア機器デバイス」、または「メディアデバイス」は、テレビ、スマートＴＶ、セットトップボックス、衛星テレビに対応するための統合型受信機デコーダ（ＩＲＤ）、デジタル記憶デバイス、デジタルメディア受信機（ＤＭＲ）、デジタルメディアアダプタ（ＤＭＡ）、ストリーミングメディアデバイス、ＤＶＤプレーヤ、ＤＶＤレコーダ、接続型ＤＶＤ、ローカルメディアサーバ、ＢＬＵ−ＲＡＹ（登録商標）プレーヤ、ＢＬＵ−ＲＡＹ（登録商標）レコーダ、パーソナルコンピュータ（ＰＣ）、ラップトップコンピュータ、タブレットコンピュータ、ウェブＴＶボックス、パーソナルコンピュータテレビ（ＰＣ／ＴＶ）、ＰＣメディアサーバ、ＰＣメディアセンター、ハンドヘルドコンピュータ、固定電話、携帯情報端末（ＰＤＡ）、携帯電話、ポータブルビデオプレーヤ、ポータブル音楽プレーヤ、ポータブルゲーム機、スマートフォン、または任意の他のテレビ機器、コンピューティング機器、もしくは無線デバイス、および／またはそれらの組み合わせ等の前述のコンテンツにアクセスするための任意のデバイスを意味すると理解されたい。いくつかの実施形態では、ユーザ機器デバイスは、正面画面および裏面画面、複数の正面画面、または複数の角度付き画面を有してもよい。いくつかの実施形態では、ユーザ機器デバイスは、正面カメラおよび／または背面カメラを有してもよい。これらのユーザ機器デバイス上で、ユーザは、テレビを通して利用可能な同一のコンテンツ間をナビゲートし、それを特定することが可能であってもよい。その結果として、メディアガイダンスは、これらのデバイス上でも利用可能であってもよい。提供されるガイダンスは、テレビのみを通して利用可能なコンテンツ、他のタイプのユーザ機器デバイスのうちの１つ以上のもののみを通して利用可能なコンテンツ、またはテレビおよび他のタイプのユーザ機器デバイスのうちの１つ以上のものの両方を通して利用可能なコンテンツのためのものであってもよい。メディアガイダンスアプリケーションは、ユーザ機器デバイス上で、オンラインアプリケーションとして提供されてもよく（例えば、ウェブサイト上で提供されてもよく）、もしくは独立型アプリケーションまたはクライアントとして提供されてもよい。メディアガイダンスアプリケーションを実装し得る種々のデバイスおよびプラットフォームは、以下でより詳細に説明される。
【００３０】
メディアガイダンスアプリケーションの機能の１つは、メディアガイダンスデータをユーザに提供することである。本明細書で参照されるように、語句「メディアガイダンスデータ」または「ガイダンスデータ」は、コンテンツに関連する任意のデータ、またはガイダンスアプリケーションを動作させる際に使用されるデータを意味すると理解されたい。例えば、ガイダンスデータは、番組情報、ガイダンスアプリケーション設定、ユーザの好み、ユーザプロファイル情報、メディアリスト項目、メディア関連情報（例えば、放送時間、放送チャンネル、タイトル、内容、評価情報（例えば、ペアレンタルコントロール評価、批評家の評価等）、ジャンルまたはカテゴリ情報、俳優情報、放送会社またはプロバイダのロゴのロゴデータ等）、メディア形式（例えば、標準解像度、高解像度、３Ｄ等）、通知情報（例えば、テキスト、画像、メディアクリップ等）、オンデマンド情報、ブログ、ウェブサイト、およびユーザが所望のコンテンツ選択間をナビゲートし、それを特定するために役立つ、任意の他のタイプのガイダンスデータを含んでもよい。
【００３１】
いくつかの実施形態では、以下の図７に関連してさらに議論されている制御回路７０４は、メモリ（すなわち、記憶装置７０８）に記憶されているメディアガイダンスアプリケーションのために命令を実行する。具体的には、制御回路７０４は、メディアガイダンスアプリケーションによって、前述および後述の機能を行うように命令されてもよい。例えば、メディアガイダンスアプリケーションは、制御回路７０４に命令を提供することにより、図１、図４、図５、および図６に関連して議論されているメディアガイダンス表示を生成する。いくつかの実装では、制御回路７０４によって行われるいかなるアクションもメディアガイダンスアプリケーションから受信された命令に基づいてもよい。
【００３２】
本明細書で参照されるように、用語「〜に応答して」は、「〜の結果として開始される」ことを指す。例えば、第２のアクションに応答して行われている第１のアクションは、第１のアクションと第２のアクションとの間に介在ステップを含んでもよい。
【００３３】
本明細書で参照されるように、用語「〜に直接応答して」は、「〜によって引き起こされる」ことを指す。例えば、第２のアクションに直接応答して行われている第１のアクションは、第１のアクションと第２のアクションとの間に介在ステップを含まなくてもよい。
【００３４】
図１は、本開示のいくつかの実施形態による、音声検索を受信するように構成されたユーザ機器の実施例の例証的実施形態を示す。ユーザ機器１００は、システムクエリ１０２と、ユーザクエリ１０４とを含んで描写されている。
【００３５】
いくつかの側面では、ユーザ機器１００は、類似の意図を有する複数の自然言語クエリを認識し、その意図に一致する検索結果を生成するメディアガイダンスアプリケーションを実行する制御回路（例えば、制御回路７０４）を備えてもよい。ユーザ機器１００は、以下の図８に関連してさらに議論される、ユーザテレビ機器８０２、ユーザコンピュータ機器８０４、および無線ユーザ通信デバイス８０６と同じ全ての能力を有してもよい。
【００３６】
いくつかの実施形態では、メディアガイダンスアプリケーションは、少なくとも２つの単語を含む検索入力を入力デバイスから取り出す。例えば、メディアガイダンスアプリケーションは、音波を電気信号に変換し、検索入力（例えば、音声検索入力）を取り出すことが可能なマイクロホンまたは別の音変換器にアクセスしてもよい。メディアガイダンスアプリケーションは、マイクロホンまたは音変換器から取り出された電気信号を処理し、電気信号内の単語を識別してもよい。例えば、メディアガイダンスアプリケーションは、マイクロホンを備えるデバイス（例えば、ユーザ機器１００）の中に統合されてもよい。メディアガイダンスアプリケーションは、ユーザがマイクロホンにしゃべることに応答して、オーディオ波信号をマイクロホンから取り出してもよい。例えば、メディアガイダンスアプリケーションは、（例えば、マイクロホンからの信号をポーリングする、または音入力によってトリガされる割込を検出することによって）マイクロホンで信号を監視してもよい。マイクロホンでの音が、閾値（例えば、アナログオーディオ信号のための閾値電圧またはデジタル信号のための閾値）を上回る場合、メディアガイダンスアプリケーションは、オーディオ信号に対するスピーチ／テキストシーケンシングを行い、テキスト文字列をオーディオ入力から生成してもよい。
【００３７】
いくつかの実施形態では、メディアガイダンスアプリケーションは、オーディオ信号に対するスピーチ／テキストシーケンシングを行い、オーディオ信号内の単語を識別してもよい。例えば、メディアガイダンスアプリケーションは、オーディオ信号を分析し、オーディオ音素（例えば、音の類似クラス）をリストアップしているデータベースにオーディオ信号を照合してもよい。例えば、単語「ｂｅｔ（ベット）」と「ｂａｔ（バット）」との間の差異が、音素「ＥＨ」対「ＡＥ」によって捕捉されてもよい。いくつかの実施形態では、メディアガイダンスアプリケーションは、照合を行う前に、オーディオ信号をフィルタ処理してもまたは変換してもよい。例えば、メディアガイダンスアプリケーションは、マイクロホンにてオーディオ信号をフィルタ処理してもよい。例えば、メディアガイダンスアプリケーションは、アナログフィルタ（例えば、ヒト音声範囲の周波数内ではない電圧信号を遮断するアナログフィルタ）を適用しても、または（例えば、数学的方程式をデジタルサンプルのシーケンスに適用することによって）デジタルフィルタリングを適用してもよい。
【００３８】
いくつかの実施形態では、メディアガイダンスアプリケーションは、音素を単語−音素ペアのデータベースと照合してもよい。例えば、メディアガイダンスアプリケーションは、オーディオ信号内で音素「Ｂ」、「ＥＨ」、および「Ｔ」を検出してもよい。メディアガイダンスアプリケーションは、一連の３音素、２音素、４音素等（すなわち、３つ、２つ、４つの音素等）をオーディオ信号から作成してもよい。例えば、メディアガイダンスアプリケーションは、オーディオ信号内の音素「Ｂ」、「ＥＨ」、および「Ｔ」の検出に基づいて、３音素「Ｂ−ＥＨ−Ｔ」を作成してもよい。メディアガイダンスアプリケーションは、単語−音素ペアを含むデータベースを検索することにより、スピーチ信号内の単語を識別してもよい。例えば、メディアガイダンスアプリケーションは、３音素「Ｂ−ＥＨ−Ｔ」を、単語「ＢＥＴ」と関連付けられた「Ｂ−ＥＨ−Ｔ」を有するデータベースエントリと照合してもよい。メディアガイダンスアプリケーションは、音素「Ｂ−ＥＨ−Ｔ」に対応するオーディオ信号の部分が単語「ＢＥＴ」と関連付けられると判定してもよい。
【００３９】
いくつかの実施形態では、メディアガイダンスアプリケーションは、オーディオ入力を処理することにより、オーディオ信号内に単語のテキスト文字列を作成してもよい。例えば、メディアガイダンスアプリケーションは、上述のように音声入力に対してスピーチ／テキスト認識アルゴリズムを行ってもよい。メディアガイダンスアプリケーションは、複数の単語を識別し、オーディオ信号にて検出された単語のそれぞれを含む文字列を形成してもよい。例えば、メディアガイダンスアプリケーションは、オーディオ信号内で単語「Ｌｅｔ’ｓ（レッツ）」、「Ｇｏ（ゴー）」、および「Ｒｏｖｉ（ロビー）」を検出してもよい。単語「Ｌｅｔ’ｓ」、「Ｇｏ」、および「Ｒｏｖｉ」の検出に応答して、メディアガイダンスアプリケーションは、文字列「Ｌｅｔ’ｓ  ｇｏ  Ｒｏｖｉ（レッツ  ゴー  ロビー）」を作成してもよい。
【００４０】
いくつかの実施形態では、メディアガイダンスアプリケーションは、一連の単語に対するオーディオ信号を監視することにより検索を開始してもよい。例えば、メディアガイダンスアプリケーションは、メディアガイダンスアプリケーションが検索を行うことを開始する前に、メディアガイダンスアプリケーションが一連の単語「Ｌｅｔ’ｓ  ｇｏ  Ｒｏｖｉ」を検出するまで待機してもよい。例えば、メディアガイダンスアプリケーションは、一連の単語「Ｌｅｔ’ｓ  ｇｏ  Ｒｏｖｉ」を検出したことに応答して、システムクエリ１０２を表示のために生成してもよい。いくつかの実施例では、メディアガイダンスアプリケーションは、クエリを取り出すことにより、検索（例えば、「Ｌｅｔ’ｓ  ｇｏ  Ｒｏｖｉ」）を初期化した後、検索クエリ（例えば、ユーザクエリ１０４）をユーザから取り出してもよい。いくつかの実施形態では、メディアガイダンスアプリケーションは、クエリを受信することにより「Ｌｅｔ’ｓ  ｇｏ  Ｒｏｖｉ」等の検索を初期化したことに応答して、検索インターフェース（例えば、システムクエリ１０２を含む表示）を初期化してもよい。
【００４１】
メディアガイダンスアプリケーションは、入力クエリの第１の単語に対応する第１の表現ベクトルおよび入力クエリの第２の単語に対応する第２の表現ベクトルを算出してもよい。例えば、メディアガイダンスアプリケーションは、上述のように、オーディオインターフェースを介してクエリをユーザから取り出してもよい。メディアガイダンスアプリケーションは、メディアガイダンスアプリケーションのマイクロホンからのオーディオ信号内の単語を検出することに基づいて、文字列「Ｗｈｅｒｅ’ｓ  Ｅｎｔｏｕｒａｇｅ？（アントラージュはどこ？）」を作成してもよい。メディアガイダンスアプリケーションは、アルゴリズムを適用することにより、文字列内の単語毎にベクトル表現を識別してもよい。例えば、メディアガイダンスアプリケーションは、アルゴリズムを適用することにより、文字列内の単語毎に意味を識別してもよい。例えば、短縮形「Ｗｈｅｒｅ’ｓ（どこ）」は、「Ｗｈｅｒｅ’ｓ  Ｗａｌｄｏ？（ワルドはどこ？）」におけるような「ｗｈｅｒｅ  ｉｓ」、「Ｗｈｅｒｅ’ｓ  Ｊｏｈｎ  ｂｅｅｎ  ａｌｌ  ｗｅｅｋ？（ジョンは一週間ずっとどこにいるのですか？）」におけるような「ｗｈｅｒｅ  ｈａｓ」、または「Ｗｈｅｒｅ’ｓ  ｓａｌｔ  ｃｏｍｅ  ｆｒｏｍ？（塩はどこから来たの？）」におけるような「ｗｈｅｒｅ  ｄｏｅｓ」に対応し得る。メディアガイダンスアプリケーションは、短縮形「Ｗｈｅｒｅ’ｓ」に関する３つのベクトルを識別し、各ベクトルは、短縮形「Ｗｈｅｒｅ’ｓ」の意味に対応する。ある実施例では、メディアガイダンスアプリケーションは、近隣の単語に基づいて、単語「Ｗｈｅｒｅ’ｓ」に対応するベクトルを識別してもよい。例えば、メディアガイダンスアプリケーションは、単語「ｓｃａｌｅ（スケール）」が、「Ａ  ｓｃａｌｅ  ｏｎ  ａ  ｆｉｓｈ（魚の鱗）」におけるような第１の意味と、「Ｗｅｉｇｈ  ｔｈｅ  ｂｏｏｋ  ｏｎ  ｔｈｅ  ｓｃａｌｅ（測りで本の重さをはかる）」におけるような第２の意味とを有すると判定してもよい。メディアガイダンスアプリケーションは、「ｓｃａｌｅ」の意味がその周囲の単語に依存することから、「ｓｃａｌｅ」を含む語句に対する表現ベクトルを算出してもよい。
【００４２】
いくつかの実施形態では、メディアガイダンスアプリケーションは、単語のコーパスを分析することにより、コーパス内の言葉に対するベクトル空間を構成してもよい。例えば、メディアガイダンスアプリケーションは、一セットの検索クエリ等のテキストコーパスを複数のユーザから取り出してもよい。メディアガイダンスアプリケーションは、コーパス（例えば、検索クエリのコーパス）内の複数の単語のそれぞれの分布特性を識別してもよい。例えば、メディアガイダンスアプリケーションは、検索クエリのコーパスを分析し、コーパス内で１つの単語が別の単語とともに現れる頻度を判定してもよい。メディアガイダンスアプリケーションは、観察される分布特性に基づいてコーパス内での単語の組み込みを判定してもよい。例えば、「ｓｃａｌｅ  ｏｆ  ａ  ｆｉｓｈ」におけるような単語「ｓｃａｌｅ」に対応するベクトルは、単語「ｆｉｓｈ（魚）」に対応するベクトルに類似する可能性があり、なぜなら、例えば、メディアガイダンスアプリケーションが、単語「ｓｃａｌｅ」が単語「ｆｉｓｈ」とともに頻繁に現れると判定し得るからである。
【００４３】
いくつかの実施形態では、メディアガイダンスアプリケーションは、ユーザと関連付けられた単語を含む訓練コーパスを分析してもよい。例えば、メディアガイダンスアプリケーションは、ユーザによって使用される文または単語フラグメントを有する、ユーザと関連付けられたプロファイルを取り出してもよい。例えば、メディアガイダンスアプリケーションは、ユーザの電子メール、テキストメッセージ、および／または会話を記録し（ｌｏｇ）、ユーザによって話された、タイプされた、読み取られた、その他のことがなされたテキストのコーパスを作成してもよい。例えば、メディアガイダンスアプリケーションは、ユーザプロファイルをメモリから取り出してもよい。メディアガイダンスアプリケーションは、最初に、ユーザ（例えば、ログイン情報、ユーザの写真、ユーザの音声、ユーザを一意に識別するハッシュ値、またはユーザの任意の他の既知の識別情報）を識別し、その後、ユーザのアイデンティティーをユーザプロファイルデータベースのエントリと比較することによって、ユーザプロファイルが存在するかどうかを判定してもよい。比較の結果、メディアガイダンスアプリケーションは、それが見つけられた場合、プロファイルへのポインタを受信し、またはプロファイルが存在しない場合、ヌル値を受信してもよい。ユーザプロファイルデータベースは、メディアガイダンスアプリケーションに対して遠隔にまたはローカルに、（例えば、以下の図５および図６に関連して説明されている記憶装置５０８に、または通信ネットワーク６１４を介してアクセスされるメディアガイダンスデータソース６１８に）設置されていてもよい。ユーザプロファイルが見つけられた場合、メディアガイダンスアプリケーションは、ユーザと関連付けられたテキストのコーパスを指しているデータベースエントリにアクセスしてもよい。例えば、ユーザは、「アントラージュ」と名付けられたイヌを飼っていてもよい。メディアガイダンスアプリケーションは、ユーザと関連付けられたコーパスを分析し、単語「アントラージュ」がユーザのペットへの他の言及（例えば、「取って来い、アントラージュ」、「アントラージュに餌をあげた？」、または「アントラージュの散歩に行って来て」）とともに頻繁に現れることを判定してもよい。この判定に応答して、メディアガイダンスアプリケーションは、検索クエリ「アントラージュはどこ？」が、ユーザのペットの場所を確認する要求に対応するであろうと判定してもよく、その一方で、アントラージュと名付けられたペットを飼っていない第２のユーザに対して、メディアガイダンスアプリケーションは、クエリ「アントラージュはどこ？」がテレビ番組「アントラージュ」に対応すると判定してもよい。
【００４４】
いくつかの実施形態では、メディアガイダンスアプリケーションは、既存のアルゴリズムまたはアルゴリズムのセットを使用して、単語に関するベクトル表現を識別してもよい。例えば、メディアガイダンスアプリケーションは、メディアガイダンスアプリケーションにアクセス可能な自然言語処理ツールキット内の単語／ベクトルアルゴリズム等のニューラルネットワーク、例えば、Ｗｏｒｄ２Ｖｅｃニューラルネットワークなどを利用して、単語に関するベクトル表現を識別してもよい。メディアガイダンスアプリケーションは、検索クエリ内で識別された単語をＷｏｒｄ２Ｖｅｃニューラルネットワークに基づく表現と関連付けてもよい。例えば、メディアガイダンスアプリケーションは、言葉「アントラージュはどこ？」を含む検索クエリを取り出してもよい。メディアガイダンスアプリケーションは、ニューラルネットワークに基づいて、単語「どこ」に関する第１のベクトルと、単語「アントラージュ」に関する第２のベクトルとを算出してもよい。
【００４５】
いくつかの実施形態では、メディアガイダンスアプリケーションは、第１の単語と関連付けられた品詞を識別し、第１の単語がデータベースへのクエリ内に含まれるべきであるかどうかを判定してもよい。例えば、メディアガイダンスアプリケーションは、（例えば、隠れマルコフモデルを使用して）品詞タグ付けアルゴリズムを入力クエリに適用してもよい。例えば、メディアガイダンスアプリケーションは、アルゴリズムを使用して検索クエリを単語または語句に分割することにより、検索クエリをトークン化してもよい。メディアガイダンスアプリケーションは、トークン化された単語のリストを品詞タグ付けプログラム（「ＰＯＳタグ付けプログラム」）に入力することにより、各単語と関連付けられた品詞を取り出してもよい。ある実施例では、メディアガイダンスアプリケーションは、第２の単語は、入力クエリの主語であると判定してもよい。例えば、メディアガイダンスアプリケーションは、「アントラージュ」が入力クエリの主語であると判定してもよい。
【００４６】
いくつかの実施形態では、メディアガイダンスアプリケーションは、入力クエリ内のストップワードを無視してもよい。例えば、メディアガイダンスアプリケーションは、上述のように、ＰＯＳタグ付けアルゴリズムを適用することに基づいて、クエリのある単語がストップワードであると判定してもよい。メディアガイダンスアプリケーションが（例えば、単語が意味を検索クエリに追加しないことから）ある単語がストップワードであることを判定する場合、メディアガイダンスアプリケーションは、その単語に関するベクトル表現の生成をスキップしてもよい。例えば、メディアガイダンスアプリケーションは、入力クエリの第１の単語をストップワードのリストと比較することにより、第１の単語がストップワードのリストのストップワードに一致するかどうかを判定してもよい。第１の単語がストップワードに一致すると判定したことに応答して、メディアガイダンスアプリケーションは、入力クエリの別の単語（例えば、入力クエリの第３の単語）を選択し、入力クエリの第３の単語に対する表現ベクトルを算出してもよい。メディアガイダンスアプリケーションは、第１の単語に対する第１の表現ベクトルを算出しようとするのに処理リソースを浪費する代わりに第５の表現ベクトルを使用してもよい。
【００４７】
図２は、本開示のいくつかの実施形態による、２次元ベクトル空間内の単語表現ベクトルを示す。グラフ２００は、ｙ次元２０２と、ｘ次元２１４とを含んで描写されている。いくつかの実施形態では、ｙ次元２０２およびｘ次元２１４は、上述のように、単語コーパスを分析する際にメディアガイダンスアプリケーションによって検出された単語の特徴を表す。ｙ次元２０２またはｘ次元２１４内の値は、単語が次元によって表される特徴に一致する度合いを表し得る。例えば、単語がｘ次元２１４の特徴に緊密に一致する場合、メディアガイダンスアプリケーションは、高値を単語に対応する表現ベクトルのｘ次元上に割り当ててもよい。例えば、特徴は、単語特徴または語句にごく接近するところに単語を見出す尤度等の確率であってもよい。例えば、メディアガイダンスアプリケーションは、ｘ次元が、ある単語が名詞に近接して、または動物名に近接して頻繁に現れる確率に対応すると判定してもよい。ｘ次元における値は、コーパスを評価することと、単語が単語特徴または語句に近接して現れる確率を判定することとに基づいて算出されてもよい。例えば、メディアガイダンスアプリケーションは、単語がコーパス内に現れる総回数をカウントし、確率は、単語がコーパス内に現れる総回数に対する、単語が単語特徴または語句にごく接近して現れる回数の割合であると判定してもよい。
【００４８】
グラフ２００は、表現ベクトル２１８、２１６、および２０８を含んでさらに描写されている。いくつかの実施形態では、メディアガイダンスアプリケーションは、上述のように、ニューラルネットワーク内の単語の埋込に基づいて、表現ベクトル２１８、２１６、および２０８を算出してもよい。メディアガイダンスアプリケーションは、ｙ次元２０２およびｘ次元２１４によって表される２次元ベクトル空間内の表現ベクトルに対して、ｙ次元２０２における第１の値と、ｘ次元２１４における第２の値とを算出してもよい。例えば、メディアガイダンスアプリケーションは、単語がｙ次元２０２に対応する単語特徴にどの程度一致するかに基づいて表現ベクトルに関するＹ値を算出し、単語がｘ次元２１４に対応する単語特徴にどの程度一致するかに基づいてＸ値を算出してもよい。本例示的図では、２つの単語特徴のみが、便宜上、描写されている。しかしながら、メディアガイダンスアプリケーションは、任意の数の次元（例えば、３次元、２００次元等）における表現ベクトルを算出してもよい。
【００４９】
いくつかの実施形態では、メディアガイダンスアプリケーションは、次元内の値間の差異を算出してもよい。グラフ２００は、差異２０４、２０６、２１０、および２１２を含んで描写されており、各差異は、ｘ次元２１４またはｙ次元２０２のいずれかにおける表現ベクトル２１６、２１８および／または２０８間の類似度を表す。メディアガイダンスアプリケーションは、表現ベクトル２１６と表現ベクトル２１８との間のｙ次元２０２における差異に基づいて差異２０４を算出してもよい。メディアガイダンスアプリケーションは、表現ベクトル２０８と表現ベクトル２１８との間のｙ次元２０２における差異に基づいて差異２０６を算出してもよい。メディアガイダンスアプリケーションは、表現ベクトル２１８と表現ベクトル２０８との間のｘ次元２１４における差異に基づいて差異２１０を算出してもよい。メディアガイダンスアプリケーションは、表現ベクトル２１８と表現ベクトル２１６との間のｘ次元２１４における差異に基づいて差異２１２を算出してもよい。
【００５０】
いくつかの実施形態では、メディアガイダンスアプリケーションは、検索クエリ（例えば、ユーザクエリ１０４）を検索クエリテンプレートと照合し、検索結果を取り出してもよい。例えば、メディアガイダンスアプリケーションは、検索クエリ「アントラージュはどこ？」、「アントラージュのストリーミング場所を見つけて」、または「アントラージュが放送中のチャンネルは？」を受信し、各検索クエリをユーザがテレビ番組「アントラージュ」等のメディアにアクセスし得る場所を見出すためのテンプレートと照合してもよい。
【００５１】
図３は、本開示のいくつかの実施形態による、検索テンプレートを表す例証的データベースエントリを示す。データベース３００は、２つのエントリ、エントリ３１６およびエントリ３１８を含んで描写されている。エントリ３１６は、メディア場所検索と関連付けられた検索意図３０２に対応する。エントリ３１６はさらに、データベース３０４と関連付けられている。データベース３０４は、メディアガイダンスアプリケーションによって、検索意図３０２を有する検索を行うために使用されてもよい。例えば、メディアガイダンスアプリケーションは、メディアガイダンスアプリケーションが映画の位置付けられている場所を識別するために検索を行うとき、エントリ３１６を選択してもよい。メディアガイダンスアプリケーションは、データベース３０４が検索意図３０２（例えば、メディアの場所を見つける意図）と関連付けられるため、検索を行うためにデータベース３０４を選択してもよい。エントリ３１６はさらに、検索クエリテンプレート３０６を含んで描写されている。メディアガイダンスアプリケーションは、検索意図３０２を有する検索を行うとき、検索クエリテンプレート３０６を使用して、データベース３０４へのクエリを構造化してもよい。例えば、メディアガイダンスアプリケーションが、メディアの場所を識別するための検索（例えば、検索意図３０２に一致した検索）を行うとき、メディアガイダンスアプリケーションは、検索クエリテンプレート３０６に基づいてフォーマットされるクエリを使用してデータベース３０４を検索してもよい。例えば、入力クエリが、「アントラージュはどこ？」であるとき、メディアガイダンスアプリケーションは、「アントラージュ」に関するメディア場所を見つける要求として検索クエリを識別してもよい。メディアガイダンスアプリケーションは、クエリ「アントラージュの場所を見つけて」を作成し、データベース３０４（例えば、メディアガイダンスデータデータベース）にクエリを伝送することによって、「アントラージュ」を検索してもよい。メディアガイダンスアプリケーションは、ユーザクエリ１０４と関連付けられた表現ベクトル（例えば、「どこ」および「アントラージュ」に関する表現ベクトル）をクエリテンプレートの単語と関連付けられた表現ベクトル（例えば、表現ベクトル３０８および３１０）に一致させることに基づいて、ユーザクエリ１０４（例えば、「アントラージュはどこ？」）をエントリ３１６に一致させてもよい。例えば、エントリ３１６は、単語「場所を見つける」に対応する関連付けられた表現ベクトル３０８と、単語「メディア」に対応する表現ベクトル３１０とを含むように描写されている。メディアガイダンスアプリケーションは、単語「どこ」に対応する表現ベクトルを単語「場所を見つける」に対応する表現ベクトルに一致させてもよい。同様に、メディアガイダンスアプリケーションは、（例えば、個別の単語が、類似意味を有し、したがって、ベクトル空間内でごく接近して位置するため）単語「アントラージュ」に対応する表現ベクトルを単語「メディア」に対応する表現ベクトルに一致させてもよい。
【００５２】
メディアガイダンスアプリケーションは、データベース（例えば、検索意図３０２）から検索意図に関連する検索クエリテンプレート（例えば、検索クエリテンプレート３０６）を取り出してもよい。例えば、メディアガイダンスアプリケーションは、ユーザ検索クエリの単語に対する表現ベクトルを生成し、検索クエリの単語の表現ベクトルをデータベース（例えば、データベース３００）内に記憶される表現ベクトルと一致させてもよい。例えば、メディアガイダンスアプリケーションは、第１の検索クエリの単語（例えば、「どこ」）に対応する第１の表現ベクトルを算出し、第２の検索クエリの単語（例えば、「アントラージュ」）に関する第３の表現ベクトルを算出してもよい。メディアガイダンスアプリケーションは、データベースエントリ（例えば、メディア場所検索意図に対応するエントリ３１６）に対応する第３の単語に対応する第３の表現ベクトルを算出してもよい。例えば、メディアガイダンスアプリケーションは、エントリ３１６に対応する単語「場所を見つける」に関する第３の表現ベクトルを算出してもよい。メディアガイダンスアプリケーションは、エントリ３１６と関連付けられた「メディア」等の第４の単語に対応する第４の表現ベクトルを算出してもよい。上述のように、第３および第４の表現ベクトル内の値は、第３の単語および第４の単語が一セットの単語特徴のうちの特徴（例えば、ｘ次元２１４に対応し、ｙ次元２０２に対応する特徴）にどの程度一致するかを表し得る。
【００５３】
メディアガイダンスアプリケーションは、２つのベクトル間の距離を算出することによって、第１の表現ベクトルが第２の表現ベクトルに一致するかどうかを判定してもよい。例えば、メディアガイダンスアプリケーションは、第１の表現ベクトル（例えば、単語「どこ」に関する表現ベクトル）と第３の表現ベクトル（例えば、単語「場所を見つける」に関する表現ベクトル）との間の第１の距離を算出してもよい。メディアガイダンスアプリケーションは、（例えば、用語「どこ」が、単語「場所」の使用にどの程度一致するかを判定するため）、距離を算出することにより、第１の表現ベクトルが第３の表現ベクトルにどの程度類似するかを比較するためのメトリックを作成してもよい。メディアガイダンスアプリケーションは、各次元における各個別のベクトル値の類似度に基づいて、各表現ベクトル間の全体的距離を算出してもよい。例えば、メディアガイダンスアプリケーションは、ｘ次元２１４における２つの表現ベクトル間の距離を算出し、ｙ次元２０２における２つの表現ベクトル間の距離を算出してもよい。２つのベクトル間の全体的距離は、ｘ次元およびｙ次元における距離の和に基づいて算出されてもよい。例えば、メディアガイダンスアプリケーションは、表現ベクトル２１６および２１８のそれぞれに対応するｘ次元における値を取り出し、値を減算することによって、表現ベクトル２１６と表現ベクトル２１８との間のｘ次元２１４における差異を算出してもよい。メディアガイダンスアプリケーションは、差異２１２によって図式的に表される距離を算出してもよい。ある実施例では、メディアガイダンスアプリケーションは、単語「場所を見つける」に対応する表現ベクトルを単語「どこ」に対応する表現ベクトルと比較し、両単語がアイテムの場所を識別することに関連付けられることができ、したがって、ベクトル空間内でごく接近したベクトルを有するという理由から、距離が小さいと判定してもよい。
【００５４】
メディアガイダンスアプリケーションは、第１の距離が第１の閾値距離未満であると判定したことに応答して、第２の表現ベクトルと第４の表現ベクトルとの間の第２の距離を算出してもよい。例えば、メディアガイダンスアプリケーションは、第１の閾値をメモリから取り出し、第１の単語が第３の単語に類似するかどうかを判定してもよい。例えば、メディアガイダンスアプリケーションは、上述のように、「どこ」および「場所を見つける」の個別の表現ベクトル間の第１の距離を判定してもよい。メディアガイダンスアプリケーションは、距離の値を閾値と比較することにより、単語が類似するかどうかを判定してもよい。メディアガイダンスアプリケーションが、単語が類似すると判定した場合、メディアガイダンスアプリケーションは、第２の表現ベクトルと第４の表現ベクトルとの間の第２の距離（例えば、ｙ次元２０２における距離）を算出してもよい。例えば、メディアガイダンスアプリケーションは、前述と同様に、第２の距離を算出し、「アントラージュ」等の第２の単語が「メディア」等の第４の単語にどの程度類似するかを定量化してもよい。
【００５５】
いくつかの実施形態では、メディアガイダンスアプリケーションは、表現ベクトルの次元毎に、対応する値間の距離を算出することによって、第１の表現ベクトルと第３の表現ベクトルとの間の距離を算出してもよい。例えば、メディアガイダンスアプリケーションは、第１の表現ベクトルから第１の値（例えば、次元Ｎにおける値）を求め、同様に次元Ｎからの第３の表現ベクトルからの第２の値から第１の値を減算してもよい。メディアガイダンスアプリケーションは、差異をメモリ内のある場所に記憶してもよい。メディアガイダンスアプリケーションは、第１および第３の表現ベクトルの各要素を繰り返し選択し、差異を算出し、差異に基づいて距離変数をインクリメントまたはデクリメントしてもよい。例えば、次元毎に、メディアガイダンスアプリケーションは、第１および第２の表現ベクトルのＮ次元における値間の算出された差異だけ、距離変数をインクリメントしてもよい。
【００５６】
いくつかの実施形態では、（例えば、メディアガイダンスアプリケーションがゼロの差異を算出するとき）メディアガイダンスアプリケーションは、第１の値を第２の値と比較することにより、第１の値が第２の値の閾値内であるかどうかを判定してもよい。例えば、メディアガイダンスアプリケーションは、第１の値と第２の値との間の距離が５であることを判定してもよい。メディアガイダンスアプリケーションが、距離が小さい（例えば、メモリから取り出される閾値未満である）と判定したとき、メディアガイダンスアプリケーションは、距離をインクリメントしなくてもよい。例えば、メディアガイダンスアプリケーションが、差異がゼロ（例えば、１の閾値未満）であると判定したとき、メディアガイダンスアプリケーションは、距離の値を不変のままに（例えば、ゼロを追加）してもよい。メディアガイダンスアプリケーションが、第１の値が第２の値の閾値距離内にないと判定した場合、メディアガイダンスアプリケーションは、値が似ていない度合いを算出し、値が似ていない度合いに基づいて、距離をインクリメントしてもよい。例えば、メディアガイダンスアプリケーションは、差異の段階尺度に基づいて距離を算出してもよい。例えば、メディアガイダンスアプリケーションは、差異がゼロ〜１であるとき、距離をゼロインクリメントしてもよい。メディアガイダンスアプリケーションは、（例えば、１つの次元において類似するベクトルに関する距離に及ぼす影響を最小限にするが、その次元においてベクトルが類似しないとき、距離に及ぼす影響を増幅させるため）差異が１〜２であるとき、距離を５だけインクリメントしてもよい。
【００５７】
いくつかの実施形態では、メディアガイダンスアプリケーションは、ベクトル空間内での第３の表現ベクトルに対する第１の表現ベクトルの方位に基づいて、第１の表現ベクトルと第３の表現ベクトルとの間の第１の距離を算出してもよい。例えば、メディアガイダンスアプリケーションは、第１の表現ベクトルおよび第３の表現ベクトル内の要素の数（例えば、Ｎ）を判定してもよい。第１の表現ベクトル内の要素の数が第３の表現ベクトル内の要素の数と等しい（例えば、両ベクトルがＮ個の要素を有する）と判定したことに応答して、メディアガイダンスアプリケーションは、次元Ｎのベクトル空間内の第１および第３の表現ベクトルを評価してもよい。メディアガイダンスアプリケーションは、ベクトル空間内の距離、例えば、ベクトル間の角度を表す第１および第３の表現ベクトル間のコサイン類似度などを算出してもよい。第１の表現ベクトルと第３の表現ベクトルとの間の角度が小さいとき、メディアガイダンスアプリケーションは、ベクトルが類似すると判定してもよい。第１の表現ベクトルと第３の表現ベクトルとの間の角度が大きいとき、メディアガイダンスアプリケーションは、ベクトルが類似しないと判定してもよい。
【００５８】
いくつかの実施形態では、メディアガイダンスアプリケーションは、第２の単語が第４の単語の意味に一致し、第５の単語の意味に一致しないとき、（例えば、第２の表現ベクトルと第４の表現ベクトルとの間の）第２の距離が、第２の表現ベクトルと第５の表現ベクトル（例えば、第２のテンプレートの単語に対応する表現ベクトル）との間の第３の距離より小さいと判定してもよい。例えば、上述のように、メディアガイダンスアプリケーションは、第２の表現ベクトル（例えば、単語「アントラージュ」に関する表現ベクトル）と第４の表現ベクトル（例えば、単語「メディア」に関する表現ベクトル）との間の第２の距離を算出してもよい。ある実施例では、メディアガイダンスアプリケーションは、単語ＰＯＩに対応する表現ベクトル３１４等の第５の表現ベクトル間の距離を算出してもよい。メディアガイダンスアプリケーションは、２つの単語が類似の意味を有する（例えば、「アントラージュ」および「メディア」は、「アントラージュ」および「メディア」が訓練コーパスにおける類似コンテキスト内でともに現れる可能性が高いため、類似表現ベクトルを有し得る）とき、距離が最小であると判定してもよく、単語が類似意味を有していない（例えば、「アントラージュ」および「ＰＯＩ」は、「アントラージュ」および「ＰＯＩ」がコーパスにおける類似コンテキスト内に現れない可能性が高いため、類似しない表現ベクトルを有し得る）とき、距離が最大であることを判定してもよい。
【００５９】
メディアガイダンスアプリケーションは、第２の距離が第２の閾値距離未満であると判定したことに応答して、検索クエリテンプレートを選択してもよい。例えば、メディアガイダンスアプリケーションは、第２の閾値をメディアガイダンスアプリケーションにアクセス可能な遠隔データベースから取り出してもよい。メディアガイダンスアプリケーションは、第２の距離を第２の閾値距離と比較することにより、単語が検索クエリテンプレートを使用するために十分に類似するかどうか（例えば、入力クエリ内の両単語が検索クエリの単語に一致するかどうか）を判定してもよい。第２の距離が第２の閾値距離未満である場合、メディアガイダンスアプリケーションは、検索クエリテンプレートを選択することにより、検索結果をユーザに提供してもよい。
【００６０】
いくつかの実施形態では、メディアガイダンスアプリケーションは、第１の距離が第１の閾値距離を上回ると判定し、その結果、比較のための第２のテンプレートを取り出してもよい。例えば、第１の検索クエリテンプレートは、検索クエリ「その人は誰？」を含んでいてもよい。メディアガイダンスアプリケーションは、「どこ」（例えば、第１の単語）と「誰」（例えば、第５の単語）との間の距離を算出してもよい。メディアガイダンスアプリケーションは、上述のように、その個別の表現ベクトルに基づいて「誰」が「どこ」に類似しないと判定してもよい。
【００６１】
いくつかの実施形態では、メディアガイダンスアプリケーションは、第２の検索クエリテンプレートを検索クエリテンプレートを含むデータベースから取り出してもよい。例えば、メディアガイダンスアプリケーションは、検索クエリ「メディアの場所を見つけて」を含む第２の検索クエリテンプレートを取り出してもよい。メディアガイダンスアプリケーションは、上述のように、第２の検索クエリテンプレートを取り出し、第２の検索クエリテンプレートの第１の単語（例えば、「場所を見つける」）および検索クエリテンプレートの第２の単語（例えば、「メディア」）に対する個別の第５および第６の表現ベクトルを算出してもよい。
【００６２】
いくつかの実施形態では、メディアガイダンスアプリケーションは、上述のように、第１の表現ベクトルと第５の表現ベクトルとの間の第３の距離を算出し、第５の距離を第１の閾値距離と比較してもよい。第３の距離が第１の閾値距離未満であると判定したことに応答して、メディアガイダンスアプリケーションは、（例えば、入力クエリの第２の単語「アントラージュ」が第２の検索クエリテンプレートの第２の単語「メディア」に一致するかどうかを判定するために）第２の表現ベクトルと第６の表現ベクトルとの間の第４の距離を算出してもよい。第４の距離が第２の閾値未満であると判定したことに応答して、メディアガイダンスアプリケーションは、第２の検索クエリテンプレートを選択してもよい。
【００６３】
メディアガイダンスアプリケーションは、検索クエリテンプレートに基づいて、検索結果を取り出してもよい。例えば、メディアガイダンスアプリケーションは、検索クエリテンプレートを使用して、メディアの場所を含むデータベースに対するクエリを構成してもよい。例えば、メディアガイダンスアプリケーションは、ユーザの検索クエリの第１の単語が検索クエリテンプレートの第１の単語に一致するという理由と、ユーザの検索クエリの第２の単語が検索クエリテンプレートの第２の単語に一致するという理由とから、検索クエリテンプレートが検索結果を取り出すために使用されるべきであると判定してもよい。
【００６４】
いくつかの実施形態では、メディアガイダンスアプリケーションは、距離に基づいて、対応するテンプレートをランク付けしてもよい。例えば、メディアガイダンスアプリケーションは、（例えば、ベクトルの次元毎に距離を算出し、距離を総和することによって）検索クエリ「アントラージュはどこ？」が、エントリ３１６まで５の全体的距離を有し、エントリ３１８まで１５の全体的距離を有すると判定してもよい。メディアガイダンスアプリケーションは、５の距離が１５の距離未満であるため、エントリ３１６をエントリ３１８と比較してより高くランク付けしてもよい。メディアガイダンスアプリケーションは、エントリ３１８に対するエントリ３１６のより高いランク付けのため、エントリ３１８ではなく、エントリ３１６に対応する検索クエリテンプレートを選択してもよい。
【００６５】
いくつかの実施形態では、メディアガイダンスアプリケーションは、検索クエリテンプレートを使用して、テンプレートと関連付けられたデータベースにクエリしてもよい。例えば、メディアガイダンスアプリケーションは、テンプレートを使用し、入力クエリからの２つの単語のうちの１つを含めることにより、データベース（例えば、メディア場所を識別しようとするとき、検索結果を取り出すのに使用されるデータベース３０４）へのクエリを形成してもよい。例えば、メディアガイダンスアプリケーションは、検索クエリテンプレート内の単語を入力クエリからの単語と置換してもよい。メディアガイダンスアプリケーションは、検索クエリテンプレート（例えば、「メディアの場所を見つけて」）に基づいて検索クエリを生成し、「メディア」を単語「メディア」に最も緊密に一致するユーザ検索クエリからの単語（例えば、メディアまでの最小距離を有するユーザ検索クエリからの単語）と置換してもよい。メディアガイダンスアプリケーションは、クエリをデータベースエントリ内で識別された検索データベース（例えば、データベース３０４）に伝送し、クエリの結果をユーザに提示してもよい。例えば、メディアガイダンスアプリケーションは、ネットワーク接続を介してクエリ「アントラージュの場所を見つけて」を伝送してもよい。いくつかの実施形態では、メディアガイダンスアプリケーションは、クエリに基づいて検索結果を取り出し、検索結果をユーザに提示してもよい。例えば、メディアガイダンスアプリケーションは、（例えば、データベースに対するクエリの結果に基づいて）メディアガイダンスアプリケーションのスピーカを介してメディアの場所を説明するオーディオを出力してもよい。
【００６６】
図４は、本開示のいくつかの実施形態による、ユーザによって入力されたクエリに一致する検索クエリテンプレートに基づいて取り出された検索結果を表示するユーザ機器の例証的実施例を示す。ユーザ機器４００は、検索意図４０２に対応する検索結果４０４および検索結果４０６を含んで描写されている。ユーザ機器４００は同様に、オプション４０８およびオプション４１０を含んで描写されており、オプション４０８およびオプション４１０は、選択されたとき、メディアガイダンスアプリケーションに、意図に基づいてより多くの検索結果を取り出させる、または異なる意図に基づいて検索結果を取り出させる。例えば、メディアガイダンスアプリケーションは、検索クエリの単語を検索クエリテンプレートの単語と一致させることに基づいて、メディアガイダンスアプリケーションによって予測される意図に対応する意図４０２を表示のために随意に生成してもよい。メディアガイダンスアプリケーションは、データベースから「アントラージュ」のオンデマンドバージョンの利用可能性を示す情報を受信したことに応答して、番組「アントラージュ」のオンデマンド提案に対応する検索結果４０４を表示のために随意に生成してもよい。メディアガイダンスアプリケーションは、テレビ番組「アントラージュ」についてのスケジュール情報を受信したことに応答して番組「アントラージュ」の放送バージョンに対応する検索結果４０６を随意に表示のために生成してもよい。メディアガイダンスアプリケーションは、テレビ番組「アントラージュ」に対応する付加的検索結果が利用可能であるとき、オプション４０８を表示のために随意に生成してもよい。メディアガイダンスアプリケーションは、ユーザ検索クエリが閾値量内で第２のテンプレートに一致すると判定したことに応答して、オプション４１０を表示のために随意に生成してもよい。例えば、メディアガイダンスアプリケーションは、「アントラージュ」と名付けられたペットを飼っているユーザに対して、クエリ「アントラージュはどこ？」がメディアを検索する意図およびペットの場所を見つける意図の両方に一致すると判定してもよい。メディアガイダンスアプリケーションは、したがって、（例えば、オプション４１０を介して）ユーザが異なる意図を使用して検索を行うためのオプションを生成してもよい。
【００６７】
いくつかの実施形態では、メディアガイダンスアプリケーションは、検索クエリテンプレートと関連付けられたレイアウトに基づいて編成された検索結果を（例えば、ユーザ機器４００で）表示のために生成してもよい。例えば、メディアガイダンスアプリケーションは、検索結果がユーザに提示されるべき方法を示す、テンプレートと関連付けられたレイアウトを（例えば、エントリ３１６から）取り出してもよい。例えば、メディアガイダンスアプリケーションは、「アントラージュが見られる場所は？」の入力クエリを取り出してもよい。メディアガイダンスアプリケーションは、（例えば、上述のように、入力クエリを検索クエリテンプレートと照合することによって）入力クエリがメディアの場所を見つける意図に一致すると判定し、識別されたメディアについての情報（例えば、検索結果４０４または４０６）を含むタイルを表示のために生成してもよい。対照的に、メディアガイダンスアプリケーションは、入力クエリ「現在のＭＬＢ順位表は？」を取り出してもよい。メディアガイダンスアプリケーションは、（例えば、入力クエリをスポーツ統計に関する検索クエリテンプレートと関連付けられた単語と照合することによって）入力クエリが統計を表示する意図に一致すると判定してもよい。入力クエリが統計を表示する意図に一致すると判定したことに応答して、メディアガイダンスアプリケーションは、スポーツ統計を含む表、選手の画像、ＭＬＢと関連付けられたメディアについての情報を表示のために生成してもよい。
【００６８】
本明細書の実施例は、２つの単語を用いて２つの次元に関連して説明されているが、ユーザ検索クエリ、テンプレート等は、任意の数の単語と関連付けられてもよい。テンプレートと関連付けられた複数の単語の表現ベクトルは、単語のニューラルネットワーク埋込に基づいて任意の数の次元と関連付けられてもよい。
【００６９】
図５〜６は、メディアガイダンスデータを提供するために使用され得る例証的表示画面を示す。図５〜６に示される表示画面は、任意の好適なユーザ機器デバイスまたはプラットフォーム上に実装されてもよい。図５〜６の表示は、フル画面表示として図示されているが、それらはまた、表示されているコンテンツ上に完全または部分的に重ね合わせられてもよい。ユーザは、表示画面に提供された選択可能なオプション（例えば、メニューオプション、リスト項目オプション、アイコン、ハイパーリンク等）を選択することによって、もしくはリモートコントロールまたは他のユーザ入力インターフェースもしくはデバイス上の専用ボタン（例えば、ＧＵＩＤＥ「ガイド」ボタン）を押下することによって、コンテンツ情報へのアクセスの要望を指示してもよい。ユーザの指示に応答して、メディアガイダンスアプリケーションは、グリッド内の時間およびチャンネル別、時間別、チャンネル別、ソース別、コンテンツタイプ別、カテゴリ別（例えば、映画、スポーツ、ニュース、子供向け、または他の番組カテゴリ）、または他の所定の、ユーザ定義の、もしくは他の編成基準等のいくつかの方法のうちの１つにおいて編成されたメディアガイダンスデータを伴う表示画面を提供してもよい。
【００７０】
図５は、単一表示内の異なるタイプのコンテンツへのアクセスも可能にする、時間およびチャンネル別に配列された番組リスト項目表示５００の例証的グリッドを示す。表示５００は、（１）チャンネル／コンテンツタイプ識別子５０４の列および（２）時間識別子５０６の行を持つグリッド５０２を含んでもよく、（１）チャンネル／コンテンツタイプ識別子５０４の列では、各チャンネル／コンテンツタイプ識別子（列内のセル）が利用可能な異なるチャンネルまたはコンテンツのタイプを特定しており、および（２）時間識別子５０６の行では、各時間識別子（行内のセル）は番組の時間帯を特定している。グリッド５０２も、番組リスト項目５０８等の番組リストのセルを含み、グリッド５０２では、各リスト項目は、チャンネルおよび時間に関連付けられたリスト項目上に設けられている番組のタイトルを提供する。ユーザ入力デバイスを用いて、ユーザは、ハイライト領域５１０を移動させることによって番組リスト項目を選択することができる。ハイライト領域５１０によって選択される番組リスト項目に関する情報が番組情報領域５１２内に提供されてもよい。領域５１２は、例えば、番組タイトル、番組内容、番組が提供される時間（該当する場合）、番組が放送されるチャンネル（該当する場合）、番組の評価、および他の所望の情報を含んでもよい。
【００７１】
線形番組（例えば、所定の時間に複数のユーザ機器デバイスに伝送されるようにスケジューリングされ、スケジューリングに従って提供されるコンテンツ）へのアクセスの提供に加え、メディアガイダンスアプリケーションは、非線形番組（例えば、任意の時間においてユーザ機器デバイスにアクセス可能であって、スケジューリングに従って提供されるものではないコンテンツ）へのアクセスも提供する。非線形番組は、オンデマンドコンテンツ（例えば、ＶＯＤ）、インターネットコンテンツ（例えば、ストリーミングメディア、ダウンロード可能メディア等）、ローカルに記憶したコンテンツ（例えば、前述の任意のユーザ機器デバイスまたは他の記憶デバイス上に記憶されたコンテンツ）、または時間的制約のない他のコンテンツを含む異なるコンテンツソースからのコンテンツを含んでもよい。オンデマンドコンテンツは、映画または特定のコンテンツプロバイダ（例えば、「ザ  ソプラノス（Ｔｈｅ  Ｓｏｐｒａｎｏｓ）」や「カーブ  ユア  エンシュージアズム（Ｃｕｒｂ  Ｙｏｕｒ  Ｅｎｔｈｕｓｉａｓｍ）」を提供するＨＢＯオンデマンド（ＨＢＯ  Ｏｎ  Ｄｅｍａｎｄ））によって提供される任意の他のコンテンツを含んでもよい。ＨＢＯ  ＯＮ  ＤＥＭＡＮＤは、タイム  ワーナー  カンパニー  エル  ピーらによって所有されるサービスマークであり、ＴＨＥ  ＳＯＰＲＡＮＯＳおよびＣＵＲＢ  ＹＯＵＲ  ＥＮＴＨＵＳＩＡＳＭは、ホーム  ボックス  オフィス  インクによって所有される商標である。インターネットコンテンツは、チャットセッションまたはウェブキャスト等のウェブイベント、もしくはインターネットウェブサイトまたは他のインターネットアクセス（例えば、ＦＴＰ）を通して、ストリーミングコンテンツまたはダウンロード可能なコンテンツとしてオンデマンドで利用可能なコンテンツを含んでもよい。
【００７２】
グリッド５０２は、オンデマンドリスト項目５１４、録画コンテンツリスト項目５１６、およびインターネットコンテンツリスト項目５１８を含む非線形番組のメディアガイダンスデータを提供してもよい。異なるタイプのコンテンツソースからの、コンテンツのためのメディアガイダンスデータを組み合わせている表示は、時として、「混合メディア」表示と称されることもある。表示５００とは異なる、表示され得るメディアガイダンスデータのタイプの種々の配列（例えば、録画および放送リスト項目のみの表示、オンデマンドおよび放送リスト項目のみの表示等）は、ユーザ選択またはガイダンスアプリケーション定義に基づいてもよい。例証されるように、リスト項目５１４、５１６、および５１８は、これらのリスト項目の選択が、それぞれ、オンデマンドリスト項目、録画リスト項目、またはインターネットリスト項目専用の表示にアクセスできることを示すように、グリッド５０２内に表示される時間ブロック全体に及ぶように示されている。いくつかの実施形態では、これらのコンテンツタイプのリスト項目は、グリッド５０２に直接含まれてもよい。ユーザがナビゲーションアイコン５２０のうちの１つを選択することに応答して、付加的メディアガイダンスデータが表示されてもよい（ユーザ入力デバイス上の矢印キーを押下することは、ナビゲーションアイコン５２０を選択するのと同様な方法で表示に影響を及ぼしてもよい）。
【００７３】
表示５００はまた、ビデオ領域５２２、およびオプション領域５２６を含んでもよい。ビデオ領域５２２は、ユーザが、現在利用可能である、今後利用可能となる、またはユーザに利用可能であった番組を視聴および／またはプレビューすることを可能にしてもよい。ビデオ領域５２２のコンテンツは、グリッド５０２に表示されるリスト項目のうちの１つに対応するか、またはそれから独立していてもよい。ビデオ領域を含むグリッド表示は、時として、ピクチャインガイド（ＰＩＧ）表示と称されることもある。ＰＩＧ表示およびそれらの機能は、２００３年５月１３日発行のＳａｔｔｅｒｆｉｅｌｄらの米国特許第６，５６４，３７８号、および２００１年５月２９日発行のＹｕｅｎらの米国特許第６，２３９，７９４号でさらに詳細に説明されており、それらは全体として参照することによって本明細書に組み込まれる。ＰＩＧ表示は、本明細書に説明される実施形態の他のメディアガイダンスアプリケーション表示画面に含まれてもよい。
【００７４】
オプション領域５２６は、ユーザが、異なるタイプのコンテンツ、メディアガイダンスアプリケーション表示、および／またはメディアガイダンスアプリケーション特徴にアクセスすることを可能にしてもよい。オプション領域５２６は、ディプレイ５００（および本明細書に説明される他の表示画面）の一部であってもよく、もしくは画面上のオプションを選択すること、またはユーザ入力デバイス上の専用または割当可能ボタンを押下することによって、ユーザによって呼び出されてもよい。オプション領域５２６内の選択可能オプションは、グリッド５０２内の番組リスト項目に関連する特徴に関してもよく、またはメインメニュー表示から利用可能なオプションを含んでもよい。番組リスト項目に関連する特徴は、番組を受信する他の放送時間または他の方法を検索すること、番組を録画すること、番組の連続録画を有効化すること、番組および／またはチャンネルをお気に入りとして設定すること、番組を購入すること、もしくは他の特徴を含んでもよい。メインメニュー表示から利用可能なオプションは、検索オプション、ＶＯＤオプション、ペアレンタルコントロールオプション、インターネットオプション、クラウドベースのオプション、デバイス同期オプション、第２の画面デバイスオプション、種々のタイプのメディアガイダンスデータ表示にアクセスするためのオプション、プレミアムサービスを購読するためのオプション、ユーザのプロファイルを編集するためのオプション、ブラウザオーバーレイにアクセスするためのオプション、もしくは他のオプションを含んでもよい。
【００７５】
メディアガイダンスアプリケーションは、ユーザの好みに基づいて個人向けにされてもよい。個人向けにされたメディアガイダンスアプリケーションは、ユーザが、表示および特徴をカスタマイズして、個人向けにされた「体験」をメディアガイダンスアプリケーションとともに生成することを可能にする。この個人向けにされた体験は、ユーザがこれらのカスタマイズを入力できるようにすることによって、および／またはメディアガイダンスアプリケーションがユーザ活動を監視することによって種々のユーザの好みを判定することによって生成されてもよい。ユーザは、ガイダンスアプリケーションにログインすることによって、またはその他の方法でガイダンスアプリケーションに対して自らを特定することによって、それらの個人向けにされたガイダンスアプリケーションにアクセスしてもよい。メディアガイダンスアプリケーションのカスタマイズは、ユーザプロファイルに従って作成されてもよい。カスタマイズは、提示方式（例えば、表示の色方式、テキストのフォントサイズ等）、表示されるコンテンツのリスト項目の態様（例えば、ＨＤＴＶ番組のみまたは３Ｄ番組のみ、お気に入りチャンネル選択に基づいたユーザ指定の放送チャンネル、チャンネルの表示の並び替え、推奨コンテンツ等）、所望の録画特徴（例えば、特定のユーザに対する録画または連続録画、録画品質等）、ペアレンタルコントロール設定、インターネットコンテンツのカスタマイズされた提示（例えば、ソーシャルメディアコンテンツ、電子メール、電子的に配信された記事等の提示）、および他の所望のカスタマイズを変更させることを含んでもよい。
【００７６】
メディアガイダンスアプリケーションは、ユーザが、ユーザプロファイル情報を提供することを可能にしてもよく、またはユーザプロファイル情報を自動的にコンパイルしてもよい。メディアガイダンスアプリケーションは、例えば、ユーザがアクセスするコンテンツ、および／またはユーザがガイダンスアプリケーションと行い得る他の情報のやりとりを監視してもよい。加えて、メディアガイダンスアプリケーションは、特定のユーザに関連する他のユーザプロファイルの全体または一部を（例えば、ｗｗｗ．ａｌｌｒｏｖｉ．ｃｏｍ等のユーザがアクセスするインターネット上の他のウェブサイトから、ユーザがアクセスする他のメディアガイダンスアプリケーションから、ユーザがアクセスする他の双方向アプリケーションから、ユーザの別のユーザ機器デバイスから、その他のものから）取得し、および／またはメディアガイダンスアプリケーションがアクセスし得る他のソースから、ユーザに関する情報を取得してもよい。結果として、ユーザの異なるユーザ機器デバイスにわたって、統一されたガイダンスアプリケーション体験をユーザに提供することができる。このタイプのユーザ体験は、図８に関連して、以下でより詳細に説明される。付加的な個人向けにされたメディアガイダンスアプリケーション特徴は、２００５年７月１１日出願のＥｌｌｉｓらの米国特許出願第２００５／０２５１８２７号、２００７年１月１６日出願のＢｏｙｅｒらの米国特許出願第７，１６５，０９８号、および２００２年２月２１日出願のＥｌｌｉｓらの米国特許出願第２００２／０１７４４３０号でさらに詳細に説明されており、それらは全体として参照することにより本明細書に組み込まれる。
【００７７】
メディアガイダンスを提供するための別の表示配列が、図６に示されている。ビデオモザイク表示６００は、コンテンツのタイプ、ジャンル、および／または他の編成基準に基づいて編成されたコンテンツ情報のための選択可能オプション６０２を含む。表示６００では、テレビリスト項目オプション６０４が選択され、これにより、リスト項目６０６、６０８、６１０、および６１２を放送番組リスト項目として提供している。表示６００では、リスト項目は、カバーアート、コンテンツからの静止画像、ビデオクリップのプレビュー、コンテンツからのライブビデオ、またはリスト項目中のメディアガイダンスデータによって記述されているコンテンツをユーザに示す他のタイプのコンテンツを含むグラフィック画像を提供してもよい。グラフィックリスト項目のそれぞれはまた、リスト項目と関連付けられたコンテンツに関するさらなる情報を提供するように、テキストを伴ってもよい。例えば、リスト項目６０８は、メディア部分６１４およびテキスト部分６１６を含む２以上の部分を含んでもよい。メディア部分６１４および／またはテキスト部分６１６は、コンテンツをフル画面で見るために、またはメディア部分６１４に表示されたコンテンツに関連する情報を見るために（例えば、ビデオが表示されているチャンネルのリストを見るために）、選択可能であってもよい。
【００７８】
表示６００中のリスト項目は、異なるサイズである（すなわち、リスト項目６０６は、リスト項目６０８、６１０、および６１２より大きい）が、必要であれば、全リスト項目が同一のサイズであってもよい。リスト項目は、コンテンツプロバイダの所望に応じて、またはユーザの好みに基づいて、ユーザに関心の度合いを示すために、または、あるコンテンツを強調するように、異なるサイズであるか、またはグラフィックが強調されてもよい。コンテンツのリスト項目をグラフィック的に強調するための種々のシステムおよび方法は、例えば、全体として参照することにより本明細書に組み込まれる、２００９年１１月１２日に出願されたＹａｔｅｓの米国特許出願公開第２０１０／０１５３８８５号で議論されている。
【００７９】
ユーザは、そのユーザ機器デバイスのうちの１つ以上のものから、コンテンツおよびメディアガイダンスアプリケーション（および前述されかつ後述されている表示画面）にアクセスしてもよい。図７は、例証的ユーザ機器デバイス７００の汎用実施形態を示す。ユーザ機器デバイスのより具体的な実装は、図８に関連して以下で議論される。ユーザ機器デバイス７００は、入出力（以下「Ｉ／Ｏ」）パス７０２を介してコンテンツおよびデータを受信してもよい。Ｉ／Ｏパス７０２は、処理回路７０６および記憶装置７０８を含む制御回路７０４に、コンテンツ（例えば、放送番組、オンデマンド番組、インターネットコンテンツ、ローカルエリアネットワーク（ＬＡＮ）または広域ネットワーク（ＷＡＮ）を介して利用可能なコンテンツ、および／または他のコンテンツ）およびデータを提供してもよい。制御回路７０４は、Ｉ／Ｏパス７０２を使用して、コマンド、要求、および他の好適なデータを送受信するために使用されてもよい。Ｉ／Ｏパス７０２は、制御回路７０４（具体的には、処理回路７０６）を１つ以上の通信パス（以下で説明される）に接続してもよい。Ｉ／Ｏ機能は、これらの通信パスのうちの１つ以上のものによって提供されてもよいが、図面が複雑になり過ぎることを回避するため、図７では単一パスとして示されている。
【００８０】
制御回路７０４は、処理回路７０６等の任意の好適な処理回路に基づいてもよい。本明細書で参照されるように、処理回路とは、１つ以上のマイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ、プログラマブル論理デバイス、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）、特定用途向け集積回路（ＡＳＩＣ）等に基づく回路を意味すると理解され、マルチコアプロセッサ（例えば、デュアルコア、クアドコア、ヘクサコア、または任意の好適な数のコア）またはスーパーコンピュータを含んでもよい。いくつかの実施形態では、処理回路は、複数の別個のプロセッサまたは処理ユニット、例えば、複数の同一のタイプの処理ユニット（例えば、２つのＩｎｔｅｌ  Ｃｏｒｅ  ｉ７プロセッサ）または複数の異なるプロセッサ（例えば、Ｉｎｔｅｌ  Ｃｏｒｅ  ｉ５プロセッサおよびＩｎｔｅｌ  Ｃｏｒｅ  ｉ７プロセッサ）にわたって分散されてもよい。
【００８１】
クライアントサーバに基づく実施形態では、制御回路７０４は、ガイダンスアプリケーションサーバもしくは他のネットワークまたはサーバと通信するための好適な通信回路を含んでもいてよい。前述の機能性を実施するための命令は、ガイダンスアプリケーションサーバ上に記憶されてもよい。通信回路は、ケーブルモデム、総合デジタル通信網（ＩＳＤＮ）モデム、デジタルサブスクライバ回線（ＤＳＬ）モデム、電話モデム、イーサネット（登録商標）カード、または他の機器との通信用無線モデム、または任意の他の好適な通信回路を含んでもよい。そのような通信は、インターネットもしくは任意の他の好適な通信ネットワークまたはパスを伴ってもよい（このことは、図８に関連してさらに詳細に説明される）。加えて、通信回路は、ユーザ機器デバイスのピアツーピア通信、または相互に離れた場所にあるユーザ機器デバイス間での通信を可能にする回路を含んでもよい（以下でさらに詳細に説明される）。
【００８２】
メモリは、制御回路７０４の一部である記憶装置７０８として提供される電子記憶デバイスであってもよい。本明細書で参照されるように、語句「電子記憶デバイス」または「記憶デバイス」とは、ランダム−アクセスメモリ、読取専用メモリ、ハードドライブ、光学ドライブ、デジタルビデオディスク（ＤＶＤ）レコーダ、コンパクトディスク（ＣＤ）レコーダ、ＢＬＵ−ＲＡＹ（登録商標）ディスク（ＢＤ）レコーダ、ＢＬＵ−ＲＡＹ（登録商標）  ３Ｄディスクレコーダ、デジタルビデオレコーダ（ＤＶＲ、時として、パーソナルビデオレコーダと呼ばれる場合もある、またはＰＶＲ）、固体デバイス、量子記憶デバイス、ゲームコンソール、ゲームメディア、もしくは任意の他の好適な固定またはリムーバブル記憶デバイス、および／または任意のそれらの組み合わせ等の、電子データ、コンピュータソフトウェア、またはファームウェアを記憶するための任意のデバイスを意味すると理解されたい。記憶装置７０８は、本明細書に説明される種々のタイプのコンテンツ、ならびに前述のメディアガイダンスデータを記憶するために使用されてもよい。不揮発性メモリも、（例えば、ブートアップルーチンや他の命令を起動するために）使用されてもよい。図８に関連して説明されるクラウドベースの記憶装置が、記憶装置７０８を補完するために、または記憶装置７０８の代わりに使用されてもよい。
【００８３】
制御回路７０４は、ビデオ生成回路および同調回路、例えば、１つ以上のアナログチューナ、１つ以上のＭＰＥＧ−２デコーダ、または他のデジタルデコード回路、高解像度チューナ、または任意の他の好適な同調もしくはビデオ回路、もしくはそのような回路の組み合わせを含んでもよい。エンコード回路（例えば、無線、アナログ、またはデジタル信号を記憶のためにＭＰＥＧ信号に変換するためのもの）も設けられていてもよい。制御回路７０４はまた、コンテンツをユーザ機器７００の好ましい出力形式に上方変換および下方変換するためのスケーリング回路を含んでもよい。回路７０４はまた、デジタルおよびアナログ信号間で変換するためのデジタルからアナログへの変換回路ならびにアナログからデジタルへの変換回路を含んでもよい。同調およびエンコード回路は、コンテンツを受信して表示する、再生する、または録画するために、ユーザ機器デバイスによって使用されてもよい。同調およびエンコード回路はまた、ガイダンスデータを受信するために使用されてもよい。例えば、同調、ビデオ生成、エンコード、デコード、暗号化、解読、スケーリング、およびアナログ／デジタル回路を含む、本明細書に説明される回路は、１つ以上の汎用または特殊プロセッサ上で起動するソフトウェアを使用して実装されてもよい。複数のチューナが、同時同調機能（例えば、視聴および録画機能、ピクチャインピクチャ（ＰＩＰ）機能、多重チューナ録画機能等）に対処するように提供されてもよい。記憶装置７０８が、ユーザ機器７００とは別のデバイスとして提供される場合、同調およびエンコード回路（複数のチューナを含む）は、記憶装置７０８と関連付けられてもよい。
【００８４】
ユーザは、ユーザ入力インターフェース７１０を使用して、命令を制御回路７０４に送信してもよい。ユーザ入力インターフェース７１０は、任意の好適なユーザインターフェース、例えば、リモートコントロール、マウス、トラックボール、キーパッド、キーボード、タッチ画面、タッチパッド、スタイラス入力、ジョイスティック、音声認識インターフェース、または他のユーザ入力インターフェース等であってもよい。ディスプレイ７１２は、独立型デバイスとして提供されるか、またはユーザ機器デバイス７００の他の要素と統合してもよい。例えば、ディスプレイ７１２は、タッチスクリーンまたはタッチセンサ式ディスプレイであってもよい。そのような状況では、ユーザ入力インターフェース７１０は、ディスプレイ７１２と統合されても、または組み合わせられてもよい。ディスプレイ７１２は、モニタ、テレビ、モバイルデバイスのための液晶ディスプレイ（ＬＣＤ）、非晶質シリコンディスプレイ、低温ポリシリコンディスプレイ、電子インクディスプレイ、電気泳動ディスプレイ、アクティブマトリクスディスプレイ、エレクトロウェッティングディスプレイ、電気流体ディスプレイ、ブラウン管ディスプレイ、発光ダイオードディスプレイ、エレクトロルミネセントディスプレイ、プラズマ表示パネル、高性能アドレッシングディスプレイ、薄膜トランジスタディスプレイ、有機発光ダイオードディスプレイ、表面伝導型電子放出素子ディスプレイ（ＳＥＤ）、レーザテレビ、カーボンナノチューブ、量子ドットディスプレイ、干渉変調器ディスプレイ、または視覚的画像を表示するための任意の他の好適な機器のうちの１つ以上のものであってもよい。いくつかの実施形態では、ディスプレイ７１２は、ＨＤＴＶ対応型であってもよい。いくつかの実施形態では、ディスプレイ７１２は、３Ｄディスプレイであってもよく、双方向メディアガイダンスアプリケーションおよび任意の好適なコンテンツは、３Ｄで表示されてもよい。ビデオカードまたはグラフィックカードは、ディスプレイ７１２への出力を生成してもよい。ビデオカードは、３Ｄシーンおよび２Ｄグラフィックのレンダリング加速、ＭＰＥＧ−２／ＭＰＥＧ−４デコード、ＴＶ出力、または複数のモニタを接続する能力等の種々の機能をもたらしてもよい。ビデオカードは、制御回路７０４に関連する前述の任意の処理回路であってもよい。ビデオカードは、制御回路７０４と統合されていてもよい。スピーカ７１４は、ユーザ機器デバイス７００の他の要素との統合として提供されてもよく、または独立型ユニットであってもよい。ディスプレイ７１２上に表示されるビデオおよび他のコンテンツのオーディオコンポーネントは、スピーカ７１４を通して再生されてもよい。いくつかの実施形態では、音声は、音声を処理してスピーカ７１４を介して出力する受信機（図示せず）に配信されてもよい。
【００８５】
ガイダンスアプリケーションは、任意の好適なアーキテクチャを使用して実装されてもよい。例えば、それは、ユーザ機器デバイス７００上で完全に実装される、独立型アプリケーションであってもよい。そのようなアプローチでは、アプリケーションの命令は、ローカルに（例えば、記憶装置７０８に）記憶され、アプリケーションが使用するためのデータは、周期的に（例えば、帯域外フィードから、インターネットリソースから、または別の好適なアプローチを使用して）ダウンロードされる。制御回路７０４は、記憶装置７０８からアプリケーションの命令を取り出し、命令を処理するとにより、本明細書で論じられる表示のいずれかを生成してもよい。処理された命令に基づいて、制御回路７０４は、入力が入力インターフェース７１０から受信されるときにどんなアクションを行うべきかを判定してもよい。例えば、入力インターフェース７１０が上／下ボタンが選択されたことを示すとき、処理された命令によって表示上でのカーソルの上／下への移動が示されてもよい。
【００８６】
いくつかの実施形態では、メディアガイダンスアプリケーションは、クライアントサーバベースのアプリケーションである。ユーザ機器デバイス７００上に実装されるシックまたはシンクライアントによって使用するためのデータは、ユーザ機器デバイス７００の遠隔にあるサーバに要求を発行することによってオンデマンドで取り出される。クライアントサーバベースのガイダンスアプリケーションの一実施例では、制御回路７０４は、遠隔サーバによって提供されるウェブページを解釈するウェブブラウザを実行する。例えば、遠隔サーバは、記憶デバイス内にアプリケーションのための命令を記憶してもよい。遠隔サーバは、回路（例えば、制御回路７０４）を使用して、記憶された命令を処理し、前述および後述の表示を生成してもよい。クライアントデバイスは、遠隔サーバによって生成される表示を受信し、表示の内容を機器デバイス７００上でローカルに表示してもよい。このように、命令の処理は、サーバによって遠隔で行われ、その一方、結果として生じる表示は、機器デバイス７００上にローカルに提供される。機器デバイス７００は、入力インターフェース７１０を介してユーザからの入力を受信し、対応する表示を処理して生成するために、それらの入力を遠隔サーバに伝送してもよい。例えば、機器デバイス７００は、上／下ボタンが入力インターフェース７１０を介して選択されたことを示す通信を遠隔サーバに伝送してもよい。遠隔サーバは、その入力に従って命令を処理し、入力に対応するアプリケーションの表示（例えば、カーソルを上／下に移動させる表示）を生成してもよい。生成された表示は、その後、ユーザへの提示のために、機器デバイス７００に伝送される。
【００８７】
いくつかの実施形態では、メディアガイダンスアプリケーションは、ダウンロードされ、インタープリタによって解釈されるか、あるいは（制御回路７０４によって起動させられる）仮想マシンによって別の方法で動作させられる。いくつかの実施形態では、ガイダンスアプリケーションは、ＥＴＶバイナリ交換形式（ＥＴＶＦ）でエンコードされ、好適なフィードの一部として制御回路７０４によって受信されて、制御回路７０４上で動作するユーザエージェントによって解釈されてもよい。例えば、ガイダンスアプリケーションは、ＥＢＩＦアプリケーションであってもよい。いくつかの実施形態では、ガイダンスアプリケーションは、制御回路７０４によって実行されるローカル仮想マシンまたは他の好適なミドルウェアによって受信されて動作させられる一連のＪＡＶＡ（登録商標）ベースのファイルによって定義されてもよい。そのような実施形態のうちのいくつか（例えば、ＭＰＥＧ−２または他のデジタルメディアエンコードスキームを採用するもの）では、ガイダンスアプリケーションは、例えば、番組のＭＰＥＧオーディオおよびビデオパケットを用いたＭＰＥＧ−２オブジェクトカルーセルにおいてエンコードおよび伝送されてもよい。
【００８８】
図７のユーザ機器デバイス７００は、ユーザテレビ機器８０２、ユーザコンピュータ機器８０４、無線ユーザ通信デバイス８０６、または非携帯型ゲーム機等のコンテンツにアクセスするために好適な任意の他のタイプのユーザ機器として、図８のシステム８００に実装することができる。簡単にするために、これらのデバイスは、本明細書では総称して、ユーザ機器またはユーザ機器デバイスと称されてもよく、前述のユーザ機器デバイスに実質的に類似してもよい。メディアガイダンスアプリケーションが実装され得るユーザ機器デバイスは、独立型デバイスとして機能してもよく、またはデバイスのネットワークの一部であってもよい。デバイスの種々のネットワーク構成が実装されてもよく、以下でさらに詳細に議論されている。
【００８９】
図７に関連して上述されたシステム特徴のうちの少なくともいくつかを利用するユーザ機器デバイスは、もっぱら、ユーザテレビ機器８０２、ユーザコンピュータ機器８０４、または無線ユーザ通信デバイス８０６として分類されている必要はない。例えば、ユーザテレビ機器８０２は、いくつかのユーザコンピュータ機器８０４のように、インターネットコンテンツへアクセスすることを可能にするインターネット対応型であってもよく、その一方で、ユーザコンピュータ機器８０４は、テレビ機器８０２のように、テレビ番組へアクセスすることを可能にするチューナを含んでもよい。メディアガイダンスアプリケーションはまた、種々の異なるタイプのユーザ機器上で同一レイアウトを有してもよく、またはユーザ機器の表示能力に合わせられてもよい。例えば、ユーザコンピュータ機器８０４上では、ガイダンスアプリケーションは、ウェブブラウザによってアクセスされるウェブサイトとして提供されてもよい。別の実施例では、ガイダンスアプリケーションは、無線ユーザ通信デバイス４０６用に縮小されてもよい。
【００９０】
システム８００では、典型的には、各タイプのユーザ機器デバイスが２つ以上存在するが、図面が複雑になり過ぎることを回避するために、それぞれ１つだけが図８に示されている。加えて、各ユーザは、２つ以上のタイプのユーザ機器デバイスを利用し、しかも各タイプの２つ以上のユーザ機器デバイスを利用してもよい。
【００９１】
いくつかの実施形態では、ユーザ機器デバイス（例えば、ユーザテレビ機器８０２、ユーザコンピュータ機器８０４、無線ユーザ通信デバイス８０６）は、「第２の画面デバイス」と称されてもよい。例えば、第２の画面デバイスは、第１のユーザ機器デバイス上に提示されるコンテンツを補完してもよい。第２の画面デバイス上に提示されるコンテンツは、第１のデバイス上に提示されるコンテンツを補完する任意の好適なコンテンツであってもよい。いくつかの実施形態では、第２の画面デバイスは、第１のデバイスの設定および表示の好みを調節するためのインターフェースを提供する。いくつかの実施形態では、第２の画面デバイスは、他の第２の画面デバイスと情報のやりとりをする、またはソーシャルネットワークと情報のやりとりをするために構成される。第２の画面デバイスは、第１のデバイスと同一の部屋内に、第１のデバイスと異なる部屋であるが同一の家または建物内に、もしくは第１のデバイスと異なる建物内に設置され得る。
【００９２】
ユーザはまた、家庭内デバイスおよび遠隔デバイスにわたって一貫したメディアガイダンスアプリケーション設定を維持するように、種々の設定を行ってもよい。設定は、本明細書に説明される設定、ならびにお気に入りのチャンネルおよび番組、番組を推奨するためにガイダンスアプリケーションが利用する番組の好み、表示の好み、および他の望ましいガイダンス設定を含む。例えば、ユーザが、オフィスのパソコンで、例えば、ウェブサイトｗｗｗ．ａｌｌｒｏｖｉ．ｃｏｍの上で、チャンネルをお気に入りとして設定した場合、必要であれば、同一のチャンネルが、ユーザの家庭内デバイス（例えば、ユーザテレビ機器およびユーザコンピュータ機器）、ならびにユーザのモバイルデバイス上でお気に入りとして表示される。したがって、同一または異なるタイプのユーザ機器デバイスであるかどうかにかかわらず、１つのユーザ機器デバイス上で行われる変更は、別のユーザ機器デバイス上のガイダンス体験を変更することができる。加えて、行われる変更は、ユーザによる設定入力、ならびにガイダンスアプリケーションによって監視されるユーザ活動に基づいてもよい。
【００９３】
ユーザ機器デバイスは、通信ネットワーク８１４に連結されてもよい。すなわち、ユーザテレビ機器８０２、ユーザコンピュータ機器８０４、および無線ユーザ通信デバイス８０６は、それぞれ、通信パス８０８、８１０、および８１２を介して、通信ネットワーク８１４に連結される。通信ネットワーク８１４は、１つ以上のネットワークであってもよく、１つ以上のネットワークは、インターネット、携帯電話ネットワーク、モバイルボイスまたはデータネットワーク（例えば、４ＧまたはＬＴＥネットワーク）、ケーブルネットワーク、公衆交換電話ネットワーク、または他のタイプの通信ネットワーク、もしくは通信ネットワークの組み合わせを含む。パス８０８、８１０、および８１２は、それぞれ別々にまたはそれらの全体で、１つ以上の通信パス、例えば、衛星パス、光ファイバパス、ケーブルパス、インターネット通信をサポートするパス（例えば、ＩＰＴＶ）、（例えば、放送または他の無線信号用）フリースペース接続、もしくは任意の他の好適な有線または無線通信パス、もしくはそのようなパスの組み合わせ等を含んでもよい。パス８１２は、図８に示された例示的実施形態において、無線パスであることを示すように破線で描かれ、パス８０８および８１０は、有線パスであることを示すように実線で描かれている（しかし、これらのパスは、必要に応じて、無線パスであってもよい）。ユーザ機器デバイスとの通信は、１つ以上のこれらの通信パスによって提供されてもよいが、図８では、図面が複雑になり過ぎることを回避するために、単一パスとして示されている。
【００９４】
通信パスは、ユーザ機器デバイスの間には描かれていないが、これらのデバイスは、相互に通信パスを介して直接通信してもよく、通信パスは、例えば、パス８０８、８１０、および８１２に関連して上述されたもの、ならびに他の短距離ポイントツーポイント通信パス、例えば、ＵＳＢケーブル、ＩＥＥＥ１３９４ケーブル、無線パス（例えば、ブルートゥース（登録商標）、赤外線、ＩＥＥＥ８０２−１１ｘ等）等、もしくは有線または無線パスを介した他の短距離通信である。ＢＬＵＥＴＯＯＴＨ（登録商標）は、ブルートゥース（登録商標）  エス  アイ  ジー，インク．によって所有される認証マークである。ユーザ機器デバイスはまた、通信ネットワーク８１４を介した間接的パスを通して、直接相互に通信してもよい。
【００９５】
システム８００は、それぞれ、通信パス８２０および８２２を介して通信ネットワーク８１４に連結される、コンテンツソース８１６およびメディアガイダンスデータソース８１８を含む。パス８２０および８２２は、パス８０８、８１０、および８１２に関して上述された通信パスのうちのいずれかを含んでもよい。コンテンツソース８１６およびメディアガイダンスデータソース８１８との通信は、１つ以上の通信パスを介して交信されてもよいが、図８では、図面が複雑になり過ぎることを回避するように、単一パスとして示されている。加えて、コンテンツソース８１６およびメディアガイダンスデータソース８１８のそれぞれが２つ以上あってもよいが、図８では、図面が複雑になり過ぎることを回避するために、それぞれ１つだけが示されている。（これらのソースのそれぞれの異なるタイプを以下で議論する）。必要に応じて、コンテンツソース８１６およびメディアガイダンスデータソース８１８は、１つのソースデバイスとして統合されてもよい。ソース８１６および８１８と、ユーザ機器デバイス８０２、８０４、ならびに８０６との間の通信は、通信ネットワーク８１４を通したものとして示されているが、いくつかの実施形態では、ソース８１６および８１８は、通信パス（図示せず）、例えば、パス８０８、８１０、並びに８１２に関連して上述されたもの等を介して、ユーザ機器デバイス８０２、８０４、および８０６と直接通信してもよい。
【００９６】
コンテンツソース８１６は、１以上のタイプのコンテンツ配信機器を含んでいてもよく、１つ以上のタイプのコンテンツ配信機器は、テレビ配信施設、ケーブルシステムヘッドエンド、衛星配信施設、番組ソース（例えば、ＮＢＣ、ＡＢＣ、ＨＢＯ等のテレビ放送会社）、中間配信施設および／またはサーバ、インターネットプロバイダ、オンデマンドメディアサーバ、および他のコンテンツプロバイダを含む。ＮＢＣは、ナショナル  ブロードキャスティング  カンパニー，インク．によって所有される商標であり、ＡＢＣは、アメリカン  ブロードキャスティング  カンパニー，インク．によって所有される商標であり、ＨＢＯは、ホーム  ボックス  オフィス，インク．によって所有される商標である。コンテンツソース８１６は、コンテンツの発信元であってもよく、例えば、テレビ放送会社、ウェブキャストプロバイダ等であり、またはコンテンツの発信元でなくてもよく、例えば、オンデマンドコンテンツプロバイダ、ダウンロード用放送番組のコンテンツのインターネットプロバイダ等である。コンテンツソース８１６は、ケーブルソース、衛星プロバイダ、オンデマンドプロバイダ、インターネットプロバイダ、オーバーザトップコンテンツプロバイダ、またはコンテンツの他のプロバイダを含んでもよい。コンテンツソース８１６はまた、ユーザ機器デバイスのうちのいずれかからも遠隔の場所にある、（ユーザによって選択されるビデオコンテンツを含む）異なるタイプのコンテンツを記憶するために使用される遠隔メディアサーバを含んでもよい。コンテンツの遠隔記憶のためのシステムおよび方法であって、遠隔に記憶されたコンテンツをユーザ機器に提供するためのシステムおよび方法は、全体として参照することにより本明細書に組み込まれる、２０１０年７月２０日出願のＥｌｌｉｓらの米国特許出願第７，７６１，８９２号に関連して、さらに詳細に議論されている。
【００９７】
メディアガイダンスデータソース８１８は、前述のメディアガイダンスデータ等のメディアガイダンスデータを提供してもよい。メディアガイダンスデータは、任意の好適なアプローチを使用して、ユーザ機器デバイスに提供されてもよい。いくつかの実施形態では、ガイダンスアプリケーションは、データフィード（例えば、継続フィードまたはトリクルフィード）を介して、番組ガイドデータを受信する独立型双方向テレビ番組ガイドであってもよい。番組スケジューリングデータおよび他のガイダンスデータは、テレビチャンネルのサイドバンド上で、帯域内デジタル信号を使用して、帯域外デジタル信号を使用して、または任意の他の好適なデータ伝送技術によって、ユーザ機器に提供されてもよい。番組スケジューリングデータおよび他のメディアガイダンスデータは、複数のアナログまたはデジタルテレビチャンネル上でユーザ機器に提供されてもよい。
【００９８】
いくつかの実施形態では、メディアガイダンスデータソース８１８からのガイダンスデータは、クライアントサーバアプローチを使用してユーザの機器に提供されてもよい。例えば、ユーザ機器デバイスは、メディアガイダンスデータをサーバからプルしてもよく、またはサーバは、メディアガイダンスデータをユーザ機器デバイスにプッシュしてもよい。いくつかの実施形態では、ユーザの機器上に常駐するガイダンスアプリケーションクライアントは、必要に応じて、例えば、ガイダンスデータが、古くなっているとき、またはユーザ機器デバイスがデータを受信する要求をユーザから受信したとき、ソース８１８とセッションを開始し、ガイダンスデータを取得してもよい。メディアガイダンスは、任意の好適な頻度で（例えば、継続的に、毎日、ユーザ指定期間で、システム指定期間で、あるいはユーザ機器からの要求に応答して等）ユーザ機器に提供されてもよい。メディアガイダンスデータソース８１８は、ユーザ機器デバイス８０２、８０４、および８０６に、メディアガイダンスアプリケーション自体、またはメディアガイダンスアプリケーションのソフトウェア更新を提供してもよい。
【００９９】
いくつかの実施形態では、メディアガイダンスデータは、視聴者データを含んでもよい。例えば、視聴者データは、現在および／または履歴ユーザアクティビティ情報（例えば、ユーザが典型的に見るコンテンツ、ユーザがコンテンツを見る時刻、ユーザがソーシャルネットワークと情報をやりとりするかどうか、ユーザがソーシャルネットワークと情報のやりとりをし、情報をポストする時間、ユーザが典型的に見るコンテンツのタイプ（例えば、有料ＴＶまたは無料ＴＶ）、気分、脳の活動情報等）を含んでもよい。メディアガイダンスデータはまた、サブスクリプションデータを含んでもよい。例えば、サブスクリプションデータは、所与のユーザがどのソースまたはサービスにサブスクライブしているか（加入しているか）および／または所与のユーザがどれかのソースまたはサービスに以前サブスクライブしたが、後にアクセスを打ち切ったか（例えば、ユーザがプレミアムチャンネルにサブスクライブしているかどうか、ユーザがプレミアムレベルのサービスを追加したかどうか、ユーザがインターネット速度を加速させたかどうかなど）を識別してもよい。いくつかの実施形態では、視聴者データおよび／またはサブスクリプションデータは、１年を上回る周期の間の所与のユーザのパターンを識別してもよい。メディアガイダンスデータは、所与のユーザがサービス／ソースへのアクセスを打ち切るであろう可能性を示すスコアを生成するために使用されるモデル（例えば、残存者モデル）を含んでもよい。例えば、メディアガイダンスアプリケーションは、所与のユーザが特定のサービスまたはソースへのアクセスを打ち切るかどうかの可能性を示す値またはスコアを生成するためのモデルを用いて視聴者データをサブスクリプションデータとともに処理してもよい。特に、より高いスコアは、ユーザが特定のサービスまたはソースへのアクセスを打ち切るより高いレベルの信頼性を示し得る。スコアに基づいて、メディアガイダンスアプリケーションは、ユーザがアクセスを打ち切る可能性が高いものとしてスコアによって示される特定のサービスまたはソースをユーザが維持するように勧誘する宣伝を生成してもよい。
【０１００】
メディアガイダンスアプリケーションは、例えば、ユーザ機器デバイス上に実装される独立型アプリケーションであってもよい。例えば、メディアガイダンスアプリケーションは、記憶装置７０８内に記憶されてユーザ機器デバイス７００の制御回路７０４によって実行され得るソフトウェアまたは１セットの実行可能命令として実装されてもよい。いくつかの実施形態では、メディアガイダンスアプリケーションは、クライアント−サーバアプリケーションであってもよく、その場合、クライアントアプリケーションのみユーザ機器デバイス上に常駐し、サーバアプリケーションは遠隔サーバ上に常駐する。例えば、メディアガイダンスアプリケーションは、部分的にユーザ機器デバイス７００の制御回路７０４上のクライアントアプリケーションとして実装され、部分的に遠隔サーバ上に、遠隔サーバの制御回路（例えば、メディアガイダンスデータソース８１８）上で動作するサーバアプリケーションとして実装されてもよい。遠隔サーバの制御回路（メディアガイダンスデータソース８１８等）によって実行されると、メディアガイダンスアプリケーションは、ガイダンスアプリケーション表示を生成し、生成された表示をユーザ機器デバイスに伝送するように制御回路に命令してもよい。サーバアプリケーションは、メディアガイダンスデータソース８１８の制御回路に、ユーザ機器上での記憶のためのデータを伝送するように命令してもよい。クライアントアプリケーションは、受信用ユーザ機器の制御回路に、ガイダンスアプリケーション表示を生成するように命令してもよい。
【０１０１】
ユーザ機器８０２、８０４、および８０６に配信されるコンテンツならびに／またはメディアガイダンスデータは、オーバーザトップ（ＯＴＴ）コンテンツであってもよい。ＯＴＴコンテンツ配信は、前述の任意のユーザ機器デバイスを含むインターネット対応型ユーザデバイスが、ケーブルまたは衛星接続を介して受信されるコンテンツに加え、前述の任意のコンテンツを含む、インターネットを介して転送されるコンテンツを受信することを可能にする。ＯＴＴコンテンツは、インターネットサービスプロバイダ（ＩＳＰ）によって提供されるインターネット接続を介して配信されるが、第三者も、そのコンテンツを配信する。ＩＳＰは、視聴能力、著作権、またはコンテンツの再配信に関与しておらず、ＯＴＴコンテンツプロバイダによって提供されるＩＰパケットのみ転送してもよい。ＯＴＴコンテンツプロバイダの実施例として、ＩＰパケットを介して、オーディオおよびビデオを提供する、ＹＯＵＴＵＢＥ（登録商標）、ＮＥＴＦＬＩＸ、およびＨＵＬＵが挙げられる。Ｙｏｕｔｕｂｅは、グーグル  インク．によって所有される商標であり、Ｎｅｔｆｌｉｘは、ネットフリックス  インク．によって所有される商標であり、Ｈｕｌｕは、フールー，ＬＬＣ．によって所有される商標である。ＯＴＴコンテンツプロバイダは、加えて、または代わりに、前述のメディアガイダンスデータを提供してもよい。コンテンツおよび／またはメディアガイダンスデータに加え、ＯＴＴコンテンツのプロバイダは、メディアガイダンスアプリケーション（例えば、ウェブベースのアプリケーションまたはクラウドベースのアプリケーション）を配信することができ、またはコンテンツは、ユーザ機器デバイス上に記憶されるメディアガイダンスアプリケーションによって表示されることができる。
【０１０２】
メディアガイダンスシステム８００は、いくつかのアプローチまたはネットワーク構成を例証することを意図しており、これによって、ユーザ機器デバイスならびにコンテンツおよびガイダンスデータのソースは、コンテンツにアクセスしてメディアガイダンスを提供する目的で、相互に通信してもよい。本明細書に説明される実施形態は、これらのアプローチの任意の１つまたは一部において、もしくはコンテンツを配信してメディアガイダンスを提供するための他のアプローチを採用するシステムにおいて、適用されてもよい。以下の４つのアプローチは、図８の汎用実施例の具体的例証を提供する。
【０１０３】
あるアプローチでは、ユーザ機器デバイスは、ホームネットワーク内で相互に通信してもよい。ユーザ機器デバイスは、上述された短距離ポイントツーポイント通信方式を介して、ホームネットワーク上に提供されるハブまたは他の類似デバイスを通した間接パスを介して、もしくは通信ネットワーク８１４を介して、直接相互に通信することができる。１つの家庭内の複数の個人のそれぞれが、ホームネットワーク上の異なるユーザ機器デバイスを操作してもよい。結果として、種々のメディアガイダンス情報または設定が、異なるユーザ機器デバイス間で伝達されることが望ましくあり得る。例えば、２００５年７月１１日出願のＥｌｌｉｓらの米国特許公開第２００５／０２５１８２７号でさらに詳細に説明されているように、ホームネットワーク内の異なるユーザ機器デバイス上で、ユーザが一貫したメディアガイダンスアプリケーション設定を維持することが望ましくてもよい。ホームネットワーク内の異なるタイプのユーザ機器デバイスも、相互に通信し、コンテンツを伝送してもよい。例えば、ユーザは、ユーザコンピュータ機器から携帯用ビデオプレーヤまたは携帯用音楽プレーヤにコンテンツを伝送してもよい。
【０１０４】
第２のアプローチでは、ユーザは、ユーザがコンテンツにアクセスしてメディアガイダンスを取得するための複数のタイプのユーザ機器を有してもよい。例えば、一部のユーザは、家庭内およびモバイルデバイスによってアクセスされる、ホームネットワークを有してもよい。ユーザは、遠隔デバイス上に実装されるメディアガイダンスアプリケーションを介して家庭内デバイスを制御してもよい。例えば、ユーザは、オフィスのパーソナルコンピュータ、もしくはＰＤＡまたはウェブ対応携帯電話等のモバイルデバイスを介して、ウェブサイト上のオンラインメディアガイダンスアプリケーションにアクセスしてもよい。ユーザは、オンラインガイダンスアプリケーション上で種々の設定（例えば、録画、リマインダ、または他の設定）を設定して、ユーザの家庭内機器を制御してもよい。オンラインガイドは、直接、またはユーザの家庭内機器上のメディアガイダンスアプリケーションと通信することによって、ユーザの機器を制御してもよい。ユーザ機器デバイスが互いに離れた場所にある場合のユーザ機器デバイスの通信のための種々のシステムおよび方法は、例えば、その全体を参照することにより本明細書に組み込まれる、Ｅｌｌｉｓらの２０１１年１０月２５日発行の米国特許第８，０４６，８０１号で論じられている。
【０１０５】
第３のアプローチでは、家庭内外のユーザ機器デバイスのユーザは、そのメディアガイダンスアプリケーションを使用することにより、コンテンツソース８１６と直接通信し、コンテンツにアクセスすることができる。具体的には、家庭内では、ユーザテレビ機器８０２およびユーザコンピュータ機器８０４のユーザは、メディアガイダンスアプリケーションにアクセスし、所望のコンテンツ間をナビゲートし、それを特定してもよい。ユーザはまた、無線ユーザ通信デバイス８０６を使用して、家庭外のメディアガイダンスアプリケーションにアクセスすることにより、所望のコンテンツ間をナビゲートし、それを特定してもよい。
【０１０６】
第４のアプローチでは、ユーザ機器デバイスは、クラウドコンピューティング環境内で操作し、クラウドサービスにアクセスしてもよい。クラウドコンピューティング環境では、コンテンツの共有、記憶、または配信のための種々のタイプのコンピューティングサービス（例えば、ビデオ共有サイトまたはソーシャルネットワーキングサイト）が、「クラウド」と称される、ネットワーク−アクセス可能コンピューティングおよび記憶リソースの集合によって提供される。例えば、クラウドは、サーバコンピューティングデバイスの集合を含むことができ、サーバコンピューティングデバイスは、中央または分散場所に位置することができ、クラウドベースのサービスを種々のタイプのユーザ、および通信ネットワーク８１４を介したインターネットなどのネットワークを介して接続されるデバイスに提供する。これらのクラウドリソースは、１つ以上のコンテンツソース８１６および１つ以上のメディアガイダンスデータソース８１８を含んでもよい。加えて、またはその代わりに、遠隔コンピューティングサイトは、ユーザテレビ機器８０２、ユーザコンピュータ機器８０４、および無線ユーザ通信デバイス８０６等の他のユーザ機器デバイスを含んでもよい。例えば、他のユーザ機器デバイスは、ビデオの記憶されたコピーまたはストリーミングされたビデオへのアクセスを提供してもよい。そのような実施形態では、ユーザ機器デバイスは、中央サーバと通信せずに、ピアツーピア様式で動作してもよい。
【０１０７】
クラウドは、ユーザ機器デバイスのために、とりわけ、コンテンツ記憶、コンテンツ共有、またはソーシャルネットワーキングサービス等のサービスへのアクセス、ならびに前述の任意のコンテンツへのアクセスを提供する。サービスは、クラウドコンピューティングサービスプロバイダを通して、またはオンラインサービスの他のプロバイダを通して、クラウド内で提供されることができる。例えば、クラウドベースのサービスは、コンテンツ記憶サービス、コンテンツ共有サイト、ソーシャルネットワーキングサイト、または他のサービスを含むことができ、これにより、ユーザ供給コンテンツは、接続されたデバイス上の他者による視聴のために配信される。これらのクラウドベースのサービスは、ユーザ機器デバイスがコンテンツをローカルに記憶し、ローカルに記憶されたコンテンツにアクセスするのではなく、コンテンツをクラウドに記憶し、コンテンツをクラウドから受信することを可能にしてもよい。
【０１０８】
ユーザは、カムコーダ、ビデオモード付きデジタルカメラ、オーディオレコーダ、携帯電話、およびハンドヘルドコンピューティングデバイス等の種々のコンテンツ捕捉デバイスを使用してコンテンツを録画してもよい。ユーザは、例えば、コンテンツ捕捉特徴を有するユーザコンピュータ機器８０４または無線ユーザ通信デバイス８０６のいずれかから直接、クラウド上のコンテンツ記憶サービスにコンテンツをアップロードすることができる。その代わりに、ユーザは、最初に、コンテンツをユーザコンピュータ機器８０４等のユーザ機器デバイスに転送することができる。コンテンツを記憶するユーザ機器デバイスは、通信ネットワーク８１４でデータ伝送サービスを使用してコンテンツをクラウドにアップロードする。いくつかの実施形態では、ユーザ機器デバイス自体がクラウドリソースであり、他のユーザ機器デバイスが、ユーザがコンテンツを記憶したユーザ機器デバイスから直接コンテンツにアクセスすることができる。
【０１０９】
クラウドリソースは、例えば、ウェブブラウザ、メディアガイダンスアプリケーション、デスクトップアプリケーション、モバイルアプリケーション、および／またはそれらのアクセスアプリケーションの任意の組み合わせを使用して、ユーザ機器デバイスによってアクセスされてもよい。ユーザ機器デバイスは、アプリケーション配信のためにクラウドコンピューティングに依拠するクラウドクライアントであってもよく、またはユーザ機器デバイスは、クラウドリソースへのアクセスを伴わないいくつかの機能性を有してもよい。例えば、ユーザ機器デバイス上で動作するいくつかのアプリケーションは、クラウドアプリケーション、すなわち、インターネットを介してサービスとして配信されるアプリケーションであってもよく、その一方で、他のアプリケーションは、ユーザ機器デバイス上に記憶されてユーザ機器デバイスで動作してもよい。いくつかの実施形態では、ユーザデバイスは、コンテンツを複数のクラウドリソースから同時に受信してもよい。例えば、ユーザデバイスは、オーディオを１つのクラウドリソースからストリーミングし、その一方で、コンテンツを第２のクラウドリソースからダウンロードすることができる。または、ユーザデバイスは、より効率的ダウンロードのために、コンテンツを複数のクラウドリソースからダウンロードすることができる。いくつかの実施形態では、ユーザ機器デバイスは、図７に関連して説明される処理回路によって行われる処理動作等の処理動作のために、クラウドリソースを使用することができる。
【０１１０】
図９は、本開示のいくつかの実施形態による、複数の自然言語クエリを類似の意図を有するとして認識し、意図に一致する検索結果を提供するための例証的ステップのフローチャートである。プロセス９００はステップ９０２から開始し、ステップ９０２では、制御回路７０４によって実行される、ユーザ機器１００、４００、８０２、８０４、および／または８０６に実装されたメディアガイダンスアプリケーションが、ユーザ入力デバイス（例えば、ユーザ入力インターフェース７１０）を介して入力クエリを受信するプロセスであり、入力クエリは、少なくとも２つの単語を含んでいる。例えば、メディアガイダンスアプリケーションは、ユーザ入力インターフェース７１０に接続されるマイクロホンからユーザ入力インターフェース７１０を介して音声入力を受信してもよい。メディアガイダンスアプリケーションは、入力インターフェース７１０を介してユーザによって入力された音声に対してスピーチ／テキスト変換を行ってもよい。
【０１１１】
ステップ９０４では、メディアガイダンスアプリケーションは、入力クエリの第１の単語に対応する第１の表現ベクトルおよび入力クエリの第２の単語に対応する第２の表現ベクトルを算出し、第１および第２の表現ベクトルの個別の値は、それぞれ、第１の単語および第２の単語が一セットの単語特徴のうちの特徴に一致する度合いに対応する。例えば、メディアガイダンスアプリケーションは、テキストのコーパスを分析し、共に現れる単語の分布特性を識別してもよい。例えば、メディアガイダンスアプリケーションは、「グラディエイター（Ｇｌａｄｉａｔｏｒ）」と名付けられたイヌを飼っている第１のユーザに対応するコーパスに対しては、ユーザがイヌ「グラディエイター」について頻繁に話し合う場合があるが、ローマ帝国の剣闘士（ｇｌａｄｉａｔｏｒ）について話し合う場合がないため、単語「グラディエイター」が、イヌに関連する他の単語とともに現れると判定してもよい。しかしながら、歴史通であるユーザに対しては、メディアガイダンスアプリケーションは、第２のユーザは、ローマ帝国に関連して剣闘士（ｇｌａｄｉａｔｏｒ）について頻繁に話し合う場合があるが、イヌの名前に関連して話し合う場合がないため、ユーザと関連付けられたコーパスであって、単語「グラディエイター（ｇｌａｄｉａｔｏｒ）」がローマおよびローマ帝国に関連する単語とともに現れ得るコーパスを取り出してもよい。メディアガイダンスアプリケーションは、多次元空間での単語の埋込を識別可能であり、多次元空間では、類似の要素を有する単語が近くに位置付けられる。
【０１１２】
ステップ９０６では、メディアガイダンスアプリケーションは、データベースから、検索意図に関連する検索クエリテンプレートを取り出し、検索クエリテンプレートは、少なくとも２つの単語を含み、第３の表現ベクトルおよび第４の表現ベクトルと関連付けられており、第３の表現ベクトルおよび第４の表現ベクトルは、それぞれ、検索クエリテンプレートの第３の単語および検索クエリテンプレートの第４の単語が単語特徴の第２のものの特徴に一致する度合いに対応する個別の値を有する。例えば、メディアガイダンスアプリケーションは、複数の単語と関連付けられた検索クエリテンプレートを取り出してもよく、各単語は、個別の表現ベクトルを有する。メディアガイダンスアプリケーションは、検索クエリに対応する表現ベクトル（例えば、第１および第２の表現ベクトル）をテンプレートと関連付けられた単語に対応する表現ベクトル（例えば、検索クエリテンプレートの単語に対応する第３および第４の表現ベクトル）と比較してもよい。
【０１１３】
ステップ９０８では、メディアガイダンスアプリケーションは、第１の表現ベクトルと第３の表現ベクトルとの間の第１の距離を算出する。例えば、メディアガイダンスアプリケーションは、各ベクトル内の値間の類似度を比較して（例えば、第１のベクトルにおけるｘ次元の値を第２のベクトルにおけるｘ次元の値と比較して）第１の表現ベクトルを第３の表現ベクトルと比較することにより、２つのベクトル間の全体的類似度を判定してもよい。
【０１１４】
ステップ９１０では、メディアガイダンスアプリケーションは、第１の距離が第１の閾値距離未満であるかどうかを判定する。例えば、メディアガイダンスアプリケーションは、記憶装置７０８等のメモリから、または通信ネットワーク８２２を介して、メディアガイダンスデータソース等の遠隔データベースから、閾値距離を取り出してもよい。例えば、メディアガイダンスアプリケーションは、検索クエリの単語がテンプレートと関連付けられた単語にどの程度一致しているかに基づいて全てのテンプレートをランク付けしてもよい。メディアガイダンスアプリケーションは、クエリの第１の単語に対する表現ベクトルと最も高いランクを有するテンプレートの第３の単語に対する表現ベクトルとの間の距離に基づいて、閾値を設定してもよい。メディアガイダンスアプリケーションが、距離が閾値未満であると判定すると、メディアガイダンスアプリケーションはステップ９１２に進む。そうでなければ、メディアガイダンスアプリケーションは、別のテンプレートをデータベース（例えば、記憶装置７０８に、または通信ネットワーク８１４を介してメディアガイダンスデータソース８１８に設けられているデータベース）から取り出してもよく、ステップ９０６に戻ってもよい。
【０１１５】
ステップ９１２では、メディアガイダンスアプリケーションは、第２の表現ベクトルと第４の表現ベクトルとの間の第２の距離を算出する。例えば、メディアガイダンスアプリケーションは、上述のように、コサイン差異を使用して２つのベクトル間の角度を算出することによって、検索クエリの第２の単語の表現ベクトルとテンプレートと関連付けられた第２の単語の表現ベクトルとの間の距離を算出してもよい。
【０１１６】
ステップ９１４では、メディアガイダンスアプリケーションは、第２の距離が第２の閾値距離未満であるかどうかを判定する。例えば、メディアガイダンスアプリケーションは、第１の閾値距離と同じような方法で第２の閾値差異を算出してもよく、または記憶装置７０８等のメモリから、もしくは通信ネットワーク８１４を介してメディアガイダンスデータソース８１８から、所定の閾値を取り出してもよい。メディアガイダンスアプリケーションが、距離が閾値未満であると判定した場合、メディアガイダンスアプリケーションは、ステップ９１６に進む。そうでなければ、メディアガイダンスアプリケーションは、ステップ９０６に進み、（例えば、現在のテンプレートが閾値量内で一致しなかったため）別のテンプレートをデータベースから取り出す。
【０１１７】
ステップ９１６では、メディアガイダンスアプリケーションは、検索クエリテンプレートを選択する。例えば、メディアガイダンスアプリケーションは、データベース（例えば、記憶装置７０８としてのデータベース、または通信ネットワーク８１４を経由したメディアガイダンスデータソース８１８としてのデータベース）から、テンプレートに対応するデータベースエントリと関連付けられたフィールドを取り出してもよい。例えば、メディアガイダンスアプリケーションは、メディアガイダンスデータソース８１８に位置するデータベース３００から通信ネットワーク８１４を介してエントリ３１６を取り出してもよい。メディアガイダンスアプリケーションは、検索クエリテンプレートフィールド（例えば、検索クエリテンプレート３０６）にアクセスし、テンプレートに基づいてクエリを生成してもよい。例えば、メディアガイダンスアプリケーションは、クエリ内の単語に一致するテンプレート内の単語を識別し、テンプレートからの単語をクエリからの単語と置換してもよい。例えば、メディアガイダンスアプリケーションは、ユーザがテレビ番組「アントラージュ」を検索するとき、単語「アントラージュ」を識別することにより、検索クエリテンプレート３０６内の単語「メディア」を置換してもよい。
【０１１８】
ステップ９１８では、メディアガイダンスアプリケーションは、選択された検索クエリテンプレートに基づいて検索結果を取り出す。例えば、メディアガイダンスアプリケーションは、上述のように、テンプレート内の単語を検索クエリの単語と置換することによってクエリを生成し、ネットワーク接続を介してテンプレートに対応するデータベースにクエリを伝送してもよい。例えば、メディアガイダンスアプリケーションは、クエリをデータベース３０４に伝送することにより、メディアに関する場所を識別してもよい。いくつかの実施形態では、メディアガイダンスアプリケーションは、ローカルに（例えば、記憶装置７０８内で処理回路７０６を介して）、または遠隔で（例えば、メディアガイダンスデータソース８１８内で通信ネットワーク８１４を介して）データベース３０４にアクセスしてもよい。
【０１１９】
ステップ９２０では、メディアガイダンスアプリケーションは、取り出された検索結果を表示のために生成する。例えば、メディアガイダンスアプリケーションは、データベース３０４から取り出された検索結果４０４および４０６を表示のために生成してもよい。いくつかの実施形態では、メディアガイダンスアプリケーションは、テキスト／スピーチアルゴリズムを使用して音声を合成し、検索結果（例えば、検索結果４０４および検索結果４０６）に対応するオーディオ出力を生成してもよい。例えば、メディアガイダンスアプリケーションは、スピーカ７１４での出力のために、用語「アントラージュ  シーズン１は、ＨＢＯ  ＧＯ−オンデマンドにおいて利用可能です」を含むオーディオ波等、検索結果４０４に対応する合成された単語を含むオーディオ波を生成してもよい。いくつかの実施形態では、別のテンプレート（例えば、距離が閾値内であるときの第２のテンプレートよりメディアガイダンスアプリケーションによって高くランク付けされた第１のテンプレート）も検索クエリに緊密に一致するとき、メディアガイダンスアプリケーションは、異なるテンプレートに基づいて、ユーザが付加的検索結果を閲覧することを所望するかどうかに関してユーザに指示を求めてもよい。例えば、メディアガイダンスアプリケーションは、上述のように、ユーザ機器４００にオプション４１０を表示のために生成してもよく、またはテキスト／スピーチアルゴリズムを使用して合成されたオーディオを使用してユーザに指示を求めてもよい。いくつかの実施形態では、メディアガイダンスアプリケーションは、さらなる検索結果を要求するユーザ入力を待機し、オプション４１０の選択を受信したことに応答して（例えば、ユーザ入力インターフェース７１０を介したタッチスクリーン上の入力により）、またはユーザ入力インターフェース７１０のマイクロホンを介して受信されたオーディオを受信したことに応答して、さらなる検索結果を表示のために生成してもよい。
【０１２０】
図１０は、本開示のいくつかの実施形態による、検索クエリテンプレートを選択するための例証的ステップのフローチャートである。プロセス１０００は、ステップ１００２から開始し、ステップ１００２では、制御回路７０４によって実行される、ユーザ機器１００、４００、８０２、８０４、および／または８０６に実装されたメディアガイダンスアプリケーションが、ユーザ入力デバイス（例えば、ユーザ入力インターフェース７１０）を介して入力クエリを受信するプロセスであり、入力クエリは、少なくとも２つの単語を含んでいる。例えば、メディアガイダンスアプリケーションは、ユーザ入力インターフェース７１０に接続されるマイクロホンからユーザ入力インターフェース７１０を介して音声入力を受信してもよい。メディアガイダンスアプリケーションは、入力インターフェース７１０を介してユーザによって入力された音声に対してスピーチ／テキスト変換を行うことにより、ユーザ入力と関連付けられた単語の文字列を生成してもよい。
【０１２１】
ステップ１００４では、メディアガイダンスアプリケーションは、入力クエリ内の単語毎にカテゴリを判定する。例えば、メディアガイダンスアプリケーションは、品詞検出アルゴリズムを使用してクエリ内の各単語間の関連付けを分析してもよい。例えば、メディアガイダンスアプリケーションは、文中の他の単語に関連した単語毎の品詞に基づいて、入力クエリ内の単語毎にカテゴリを判定してもよい。例えば、クエリ「アントラージュを再生して」に関して、メディアガイダンスアプリケーションは、単語「アントラージュ」が名詞であり、かつクエリの主語であると判定し、従って、「アントラージュ」を主語カテゴリと関連付けてもよい。別の実施例では、メディアガイダンスアプリケーションは、「探して」が動作動詞であると判定し、「探して」が動作動詞であると判定したことに応答して、「探して」を動作動詞カテゴリに関連付けてもよい。いくつかの実施形態では、メディアガイダンスアプリケーションは、クエリ内の各単語を、メモリ内に、例えば、記憶装置７０８内、または通信ネットワーク８１４を介してメディアガイダンスデータソース８１８内に記憶されるストップワードのリストを比較してもよい。メディアガイダンスアプリケーションが、単語がストップワードのリストからの単語に一致すると判定した場合、メディアガイダンスアプリケーションは、クエリ内の単語をストップワードカテゴリに関連付けてもよい。
【０１２２】
ステップ１００６では、メディアガイダンスアプリケーションは、いずれかの単語がストップワードカテゴリに対応するかどうかを判定する。例えば、上述のように、メディアガイダンスアプリケーションは、クエリの単語をストップワードのリスト内の単語と比較してもよい。クエリ内の単語がストップワードのリスト内の単語に一致する場合、メディアガイダンスアプリケーションは、単語がストップワードカテゴリに対応すると判定してもよい。例えば、メディアガイダンスアプリケーションは、クエリ「Ｗｈｅｎ  ａｒｅ  ｔｈｅ  Ｙａｎｋｅｅｓ  ｐｌａｙｉｎｇ？（ヤンキースがいつ試合をするのか？）」を受信してもよい。メディアガイダンスアプリケーションは、上述のように、単語をストップワードのリストと比較することに基づいて、または品詞タグ付けアルゴリズムを使用することによって、単語「ａｒｅ」および「ｔｈｅ」がストップワードであると判定してもよい。メディアガイダンスアプリケーションが、単語がストップワードカテゴリに対応すると判定した場合、メディアガイダンスアプリケーションは、ステップ１００８に進む。そうでなければ、メディアガイダンスアプリケーションは、ステップ１０１０に進む。
【０１２３】
ステップ１００８では、メディアガイダンスアプリケーションは、入力クエリを修正することにより、ストップワードカテゴリに一致する単語を入力クエリから除去する。前の実施例を続けると、メディアガイダンスアプリケーションが、クエリ「Ｗｈｅｎ  ａｒｅ  ｔｈｅ  Ｙａｎｋｅｅｓ  ｐｌａｙｉｎｇ？（ヤンキースがいつ試合をするのか？）」を受信すると、メディアガイダンスアプリケーションは、単語「ａｒｅ」および「ｔｈｅ」がストップワードであることを判定してもよい。メディアガイダンスアプリケーションは、ストップワードをユーザのオリジナルクエリから除去し、ストップワードカテゴリに対応しないユーザのオリジナルクエリ内の単語を保つことによって、ストップワードを除外した修正されたクエリを作成してもよい。例えば、メディアガイダンスアプリケーションは、システムが、入力クエリをテンプレートと照合するのに役立たないクエリ内の用語を処理するリソースを無駄に消費しないように、入力クエリ「Ｗｈｅｎ  ａｒｅ  ｔｈｅ  Ｙａｎｋｅｅｓ  ｐｌａｙｉｎｇ？」を「Ｗｈｅｎ  Ｙａｎｋｅｅｓ  ｐｌａｙｉｎｇ？」に修正してもよい。
【０１２４】
ステップ１０１０では、メディアガイダンスアプリケーションは、修正された入力クエリから単語を選択する。例えば、メディアガイダンスアプリケーションは、修正されたクエリの各単語の選択を徐々に単語を追加しながら行ってもよい（例えば、修正されたクエリにおける単語のシーケンス内の第１の単語を選択し、その後、修正されたクエリにおける単語のシーケンス内の第２の単語が続いてもよい）。代替として、メディアガイダンスアプリケーションは、各単語と関連付けられたカテゴリに基づいて単語を選択してもよい。例えば、メディアガイダンスアプリケーションは、動作動詞カテゴリに対応する単語を最初に、次に主語カテゴリに対応する単語が続くように選択してもよい。しかしながら、メディアガイダンスアプリケーションは、カテゴリの他のどのようなシーケンスに基づいて、他のどのような選択方法を用いてもよい。
【０１２５】
ステップ１０１２では、メディアガイダンスアプリケーションは、選択された単語に対する第１の表現ベクトルを算出する。例えば、メディアガイダンスアプリケーションは、上述のように、単語データの訓練コーパスに基づいてベクトル空間内の単語の埋込を識別するアルゴリズムを適用してもよい。メディアガイダンスアプリケーションは、ベクトルを識別するデータ、例えば、単語ベクトルに対応するベクトル空間内の座標等をメモリ（例えば、記憶装置７０８、または通信ネットワーク８１４を介してメディアガイダンスデータソース８１８）に記憶してもよい。
【０１２６】
ステップ１０１４では、メディアガイダンスアプリケーションは、検索クエリテンプレートをメモリから取り出す。例えば、メディアガイダンスアプリケーションは、ランダムに、または連続して、メモリ（例えば、記憶装置７０８、または通信ネットワーク８１４を介してメディアガイダンスデータソース８１８）から検索クエリテンプレートを選択してもよい。別の実施例では、メディアガイダンスアプリケーションは、検索クエリ内の単語と関連付けられたカテゴリに基づいてテンプレートを選択してもよい。例えば、修正された検索クエリが、動作動詞カテゴリと関連付けられた単語を有するとき、メディアガイダンスアプリケーションは、動作動詞を含むテンプレートを取り出してもよい。
【０１２７】
ステップ１０１６では、メディアガイダンスアプリケーションは、選択された単語のカテゴリに一致する、検索クエリテンプレート内の単語を識別する。例えば、メディアガイダンスアプリケーションが、クエリ「ゲーム  オブ  スローンズ（Ｇａｍｅ  ｏｆ  Ｔｈｒｏｎｅｓ）をストリーミング配信して」を受信すると、メディアガイダンスアプリケーションは、検索クエリテンプレート「メディアを再生して」を含むテンプレートを取り出してもよい（これは、例えば、テンプレートは、動作動詞「再生する」を含み、入力クエリが動作動詞「ストリーミング配信する」を含むからである）。メディアガイダンスアプリケーションは、単語「再生する」および「ストリーミング配信する」が両方とも、動作動詞カテゴリに対応することから、単語「ストリーミング配信する」を検索クエリから選択し、それに応じて、「再生する」を検索クエリテンプレートから選択してもよい。
【０１２８】
ステップ１０１８では、メディアガイダンスアプリケーションは、検索クエリ内で識別された単語に対する第２の表現ベクトルを算出する。例えば、メディアガイダンスアプリケーションは、上述された方法のいずれかを使用して、単語「再生する」に対する表現ベクトルを算出し、または代替として、もしくは加えて、事前に算出された表現ベクトルをテンプレートと関連付けられたデータベース（例えば、記憶装置７０８、または通信ネットワーク８１４を介してメディアガイダンスデータソース８１８）から取り出してもよい。
【０１２９】
ステップ１０２０では、メディアガイダンスアプリケーションは、第１の表現ベクトルと第２の表現ベクトルとの間の距離を算出する。例えば、メディアガイダンスアプリケーションは、２つのベクトル間のコサイン差異等の任意のベクトル距離算出を使用して２つのベクトル間の距離を算出してもよい。
【０１３０】
ステップ１０２２では、メディアガイダンスアプリケーションは、距離が閾値最大距離を上回るかどうかを判定する。例えば、メディアガイダンスアプリケーションは、「再生する」と「ストリーミング配信する」との間の距離を算出し、単語「ストリーミング配信する」に対応するベクトルが単語「再生する」に対応するベクトルに近接すると判定してもよく、その理由は、単語が類似の意味を有し、および／またはテキストコーパスに基づいて類似の単語と頻繁に共に現れることである。メディアガイダンスアプリケーションは、値がテンプレートと関連付けられたスコアに追加される前に、最大距離に対する閾値を取り出してもよい。例えば、メディアガイダンスアプリケーションは、（例えば、修正された検索クエリ内の複数の単語に対するテンプレート内の複数の単語の距離に基づいて）スコアを算出することにより、テンプレートと検索クエリとの間の距離を全体として定量化してもよい。メディアガイダンスアプリケーションが、単語が近接する（例えば、閾値内である）と判定したとき、メディアガイダンスアプリケーションは、任意の値をスコアに追加することによって距離にペナルティーを課すことはしなくてもよい。メディアガイダンスアプリケーションが、距離が閾値最大距離を上回ると判定したとき、メディアガイダンスアプリケーションは、ステップ１０２４において、テンプレートに対応するスコアをインクリメントする。そうでなければ、メディアガイダンスアプリケーションは、ステップ１０２６に進む。
【０１３１】
ステップ１０２４では、メディアガイダンスアプリケーションは、第１の表現ベクトルが第２の表現ベクトルと異なる度合いに基づいて、検索クエリテンプレートに対応するスコアをインクリメントする。例えば、メディアガイダンスアプリケーションは、第１の表現ベクトルと第２の表現ベクトルとの間の距離に基づいてスコアをインクリメントしてもよい。いくつかの実施形態では、メディアガイダンスアプリケーションは、スコアをスケーリングしてもよい。例えば、メディアガイダンスアプリケーションは、２つのベクトル間の距離を２（または任意の他の数）で乗算してもよく、乗算の結果だけスコアをインクリメントしてもよい。
【０１３２】
ステップ１０２６では、メディアガイダンスアプリケーションは、修正された入力クエリの最後の単語が選択されたかどうかを判定する。メディアガイダンスアプリケーションは、テンプレート内の対応する単語との比較のために、修正された入力クエリから各単語をいつ選択したかを判定してもよい。例えば、メディアガイダンスアプリケーションは、入力クエリの各単語の選択を徐々に単語を追加しながら行ってもよい。メディアガイダンスアプリケーションは、入力クエリ内の単語の数と、メディアガイダンスアプリケーションによって選択された単語の位置を示すインデックス値とを（例えば、記憶装置７０８内、または通信ネットワーク８１４を介してメディアガイダンスデータソース８１８内に）記憶してもよい。メディアガイダンスアプリケーションは、インデックス値が入力クエリ内の単語の数に一致したとき、最後の単語が選択されたと判定してもよい。メディアガイダンスアプリケーションは、任意の他の方法を使用して、入力クエリの各単語が選択されたときを認識してもよい。メディアガイダンスアプリケーションが、修正された入力クエリの最後の単語が選択されたと判定したとき、メディアガイダンスアプリケーションは、ステップ１０２８に進む。そうでなければ、メディアガイダンスアプリケーションは、ステップ１０１０に進むことにより入力クエリからの別の単語を選択する。
【０１３３】
ステップ１０２８では、メディアガイダンスアプリケーションは、（例えば、検索テンプレートが検索のために使用されるべきであるかどうかを判定するため）検索クエリテンプレートに対応するスコアが閾値最大スコアを上回るかどうかを判定する。例えば、メディアガイダンスアプリケーションは、検索クエリテンプレートが検索のために使用されることが可能である最大スコアを示す閾値をメモリから取り出してもよい。いくつかの実施形態では、メディアガイダンスアプリケーションは、閾値を算出してもよい。例えば、メディアガイダンスアプリケーションは、他の検索クエリテンプレートのスコアに基づいて閾値を算出してもよい。例えば、メディアガイダンスアプリケーションは、検索クエリテンプレートに対する個別のスコアに対して各個別の検索クエリテンプレートをランク付けしてもよい。メディアガイダンスアプリケーションは、（例えば、最高ランク付けされた検索クエリテンプレートのみが選択されるように、）閾値最大スコアを２番目に最高ランク付けされた検索クエリテンプレートのスコアとして算出してもよい。メディアガイダンスアプリケーションが、スコアが閾値最大スコアを上回ると判定したとき、メディアガイダンスアプリケーションは、ステップ１０１４に進むことにより、検索クエリテンプレート（例えば、最高ランク付けされた検索クエリテンプレートまたは別の検索クエリテンプレート）をメモリから取り出す。そうでなければ、メディアガイダンスアプリケーションは、ステップ１０３０に進むことによりテンプレートに基づいてクエリを生成する。
【０１３４】
ステップ１０３０では、メディアガイダンスアプリケーションは、テンプレートに基づいてクエリを生成し、検索クエリ内で識別された単語は、修正された入力クエリからの単語と置換される。例えば、メディアガイダンスアプリケーションは、入力クエリ「ハンガー  ゲームの再生方法は？」を取り出してもよい。メディアガイダンスアプリケーションは、入力クエリを単語「メディア再生オプション」と関連付けられた検索クエリテンプレートと照合してもよい。メディアガイダンスアプリケーションは、単語「メディア」と入力クエリからの単語「ハンガー  ゲーム」を置換することによって、テンプレートに基づいて検索クエリを生成してもよい。例えば、メディアガイダンスアプリケーションは、クエリ内の単語がテンプレート内の単語と同一のカテゴリに関連付けられるとの判定に基づいて、テンプレート内の単語をクエリ内の単語と置換してもよい。例えば、メディアガイダンスアプリケーションは、「ハンガー  ゲーム」が入力クエリの主語であって、「メディア」がテンプレートの主語であることを判定してもよい。メディアガイダンスアプリケーションは、単語「メディア」をクエリ内の「ハンガー  ゲーム」と置換することによって、クエリ「ハンガー  ゲーム再生オプション」を生成してもよい。別の実施例では、メディアガイダンスアプリケーションは、「ロード  オブ  ザ  リング（Ｌｏｒｄ  ｏｆ  ｔｈｅ  Ｒｉｎｇｓ）をストリーミング配信して」等のクエリを受信してもよい。メディアガイダンスアプリケーションは、クエリを単語「メディア入手方法」を含むテンプレートと照合してもよく、（その理由は、例えば、本テンプレートが、メディアを入手するあらゆる方法に関して汎用化され得るためである）。メディアガイダンスアプリケーションは、単語「ストリーミング配信する」が、ユーザがしたい動作（例えば、メディアを入手する）および動作がどのように行われるべきかユーザが望む方法（例えば、ストリーミング配信ｖｓ郵送によるＢｌｕ−ｒａｙ（登録商標）ディスクの受け取り）の両方を言い表すことから、単語「ストリーミング配信する」をクエリ内の単語「入手する」および「どのように」に一致させてもよい。メディアガイダンスアプリケーションは、テンプレート内の単語「どのように」を単語「ストリーミング配信する」と置換し（なぜなら、例えば、それがユーザがメディアをどのように入手することを所望するかを言い表しているためであり）、テンプレート内の単語「メディア」を単語「ロード  オブ  ザリング」（例えば、ユーザが探しているメディア）と置換してもよい。
【０１３５】
ステップ１０３２では、メディアガイダンスアプリケーションは、生成されたクエリを使用して、検索結果を取り出す。例えば、メディアガイダンスアプリケーションは、テンプレートと関連付けられたデータベース（例えば、テンプレートに基づく検索クエリに対する検索結果を含むデータベース）を識別してもよい。例えば、検索クエリテンプレートがメディア再生と関連付けられるとき、メディアガイダンスアプリケーションは、メディアと関連付けられたデータベースを識別してもよい。検索クエリテンプレートが、ファンタジースポーツ統計と関連付けられるとき、メディアガイダンスアプリケーションは、ファンタジースポーツ選手と関連付けられたデータベースを識別してもよい。メディアガイダンスアプリケーションは、生成されたクエリをデータベースに伝送し、検索結果をデータベースから取り出してもよい。メディアガイダンスアプリケーションは、上述された方法のいずれかを使用してメディアガイダンスアプリケーションによって取り出される任意の検索結果を、表示のために生成しても、またはテキスト／スピーチアルゴリズムにより合成してもよい。
【０１３６】
プロセス９００および／または１０００のいずれかまたはその任意のステップは、図１、４、７〜８に示されるデバイスのいずれかで行われるか、またはそれによって提供され得ることに留意されたい。例えば、プロセス９００および／または１０００は、複数の自然言語クエリを類似の意図を有すると認識し、意図に一致する検索結果を提供するために、ユーザ機器８０２、８０４、および／または８０６（図８）、１００（図１）、ならびに／もしくは４００（図４）上のユーザ機器に実装される制御回路によって命令されるような制御回路７０４（図７）によって実行されてもよい。
【０１３７】
図９および／または図１０のステップまたは説明は、本開示の任意の他の実施形態とともに使用され得ることが考慮される。加えて、図９および／または図１０に関して説明されるステップおよび説明は、本開示の目的を促進するために、代替的な順序で、または並行して行われてもよい。例えば、これらのステップはそれぞれ、システムまたは方法の遅延を低減させる、もしくは速度を増加させるように、任意の順序で、または並行して、もしくは同時に行われてもよい。さらに、図１、４、および７〜８に関して議論されるデバイスまたは機器のいずれかは、図９および／または図１０におけるステップのうちの１つ以上のものを行うために使用され得ることに留意されたい。
【０１３８】
本発明に関わる方法は、コンピュータ使用可能および／または可読媒体を含むコンピュータプログラム製品内に具現化されてもよいことが、当業者に明白となるであろう。例えば、そのようなコンピュータ使用可能媒体は、そこに記憶されたコンピュータ可読プログラムコードを有しており、読取専用メモリデバイス、例えば、ＣＤ−ＲＯＭディスクもしくは従来のＲＯＭデバイス等、またはランダムアクセスメモリ、例えば、ハードドライブデバイスもしくはコンピュータディスケット等から構成されていてもよい。また、本発明に関わる方法、技法、およびプロセスは、処理回路を用いて実行されてもよいことを理解されたい。例えば、入力ユーザクエリをテンプレートと照合することは、処理回路によって、例えば、図７の処理回路７０６によって行われてもよい。処理回路は、例えば、ユーザ機器７００、メディアコンテンツソース８１６、またはメディアガイダンスデータソース８１８内の汎用プロセッサ、カスタマイズされた集積回路（例えば、ＡＳＩＣ）、またはフィールドプログラマブルゲートアレイ（ＦＰＧＡ）であってもよい。例えば、プロファイルは、本明細書に説明されるように、図７の記憶装置７０８または図８のメディアガイダンスデータソース８１８内に記憶され、そこから取り出されてもよい。さらに、処理回路またはコンピュータプログラムは、図７の記憶装置７０８または図８のメディアガイダンスデータソース８１８内に記憶される、ユーザコーパスと関連付けられた設定を更新してもよい。
【０１３９】
前述のプロセスは、例証であることが意図されており、限定することは意図されていない。当業者は、本明細書で議論されるプロセスのステップが、本発明の範囲から逸脱することなく、省略される、修正される、組み合わせられる、および／または並べ替えされてもよく、任意の付加的ステップが、行われてもよいことを理解するであろう。より一般的には、前述の開示は、例示であることが意図されており、限定することは意図されていない。続く請求項のみが、本発明が含むものに関する境界を設定することが意図される。さらに、いずれか１つの実施形態で説明される特徴および制限は、本明細書の任意の他の実施形態に適用され得、一実施形態に関するフローチャートまたは実施例は、好適な様式で任意の他の実施形態と組み合わせられ、異なる順序で行われ、または並行して行われ得ることに留意されたい。加えて、本明細書で説明されるシステムおよび方法は、リアルタイムで行われてもよい。また、上述されたシステムおよび／または方法は、他のシステムならびに／もしくは方法に適用され、またはそれらに従って使用され得ることにも留意されたい。
【図１】
2019525272.tif 000003
【図２】
2019525272.tif 000004
【図３】
2019525272.tif 000005
【図４】
2019525272.tif 000006
【図５】
2019525272.tif 000007
【図６】
2019525272.tif 000008
【図７】
2019525272.tif 000009
【図８】
2019525272.tif 000010
【図９】
2019525272.tif 000011
【図１０】
2019525272.tif 000012
【国際調査報告】
2019525272.tif 000013
2019525272.tif 000014