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