(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-09-04
(45)【発行日】2023-09-12
(54)【発明の名称】会話におけるコンテキスト切替を決定するためのシステムおよび方法
(51)【国際特許分類】
G06F 16/90 20190101AFI20230905BHJP
【FI】
G06F16/90 100
(21)【出願番号】P 2022001629
(22)【出願日】2022-01-07
(62)【分割の表示】P 2017565194の分割
【原出願日】2017-05-25
【審査請求日】2022-01-07
(32)【優先日】2016-06-08
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】518345664
【氏名又は名称】ロヴィ ガイズ, インコーポレイテッド
(74)【代理人】
【識別番号】100078282
【氏名又は名称】山本 秀策
(74)【代理人】
【識別番号】100113413
【氏名又は名称】森下 夏樹
(74)【代理人】
【識別番号】100181674
【氏名又は名称】飯田 貴敏
(74)【代理人】
【識別番号】100181641
【氏名又は名称】石川 大輔
(74)【代理人】
【識別番号】230113332
【氏名又は名称】山本 健策
(72)【発明者】
【氏名】アハメド ニザーム モハイデーン ピー
(72)【発明者】
【氏名】サシクマール ヴェンカタラマン
(72)【発明者】
【氏名】マニーク マロートラー
【審査官】三橋 竜太郎
(56)【参考文献】
【文献】米国特許出願公開第2012/0233140(US,A1)
【文献】米国特許出願公開第2016/0094889(US,A1)
【文献】特表2008-537624(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
(57)【特許請求の範囲】
【請求項1】
現在のクエリの一部を前のクエリの一部とマージすべきかまたは置換すべきかを決定するための方法であって、前記方法は、
第1のクエリおよび第2のクエリを受信することであって、前記第1のクエリは、前記第2のクエリの受信よりも前に受信される、ことと、
前記第1のクエリおよび前記第2のクエリをニューラルネットワークの入力としての前のクエリおよび現在のクエリにマッピングすることにより、実行されるべき1つの動作の出力結果を生成することであって、前記動作は、(i)マージ動作および(ii)置換動作からなるリストから選択される、ことと、
前記ニューラルネットワークからの前記出力結果に基づいて、前記マージ動作および前記置換動作の中から1つの動作を決定することと、
前記1つの動作が前記マージ動作であると決定したことに応答して、前記第1のクエリおよび前記第2のクエリをマージすることによって、新たなクエリを生成することと、
前記1つの動作が前記置換動作であると決定したことに応答して、
相互に対応する前記第1のクエリの第1の部分および前記第2のクエリの第2の部分を選択すること、および、
前記第1のクエリの前記第1の部分を前記第2のクエリの前記第2の部分と置換することによって、新たなクエリを生成すること
を実行することと
を含む、方法。
【請求項2】
前記ニューラルネットワークは、入力として前記前のクエリおよび前記現在のクエリを受け入れ、実行されるべき1つの動作の結果を出力するように訓練され、前記動作は、(i)前記マージ動作および(ii)前記置換動作からなる前記リストから選択される、請求項1に記載の方法。
【請求項3】
前記ニューラルネットワークは、前記ニューラルネットワークの入力層と関連付けられた第1のセットのノードと、前記ニューラルネットワークの隠れ層と関連付けられた第2のセットのノードとを備え、
前記ニューラルネットワーク内の前記第1のセットのノードと前記第2のセットのノードとの間の接続と関連付けられた加重を決定するように、訓練データセットに基づいて、前記ニューラルネットワークを訓練することをさらに含む、請求項1に記載の方法。
【請求項4】
前記第1のクエリおよび前記第2のクエリを前記ニューラルネットワーク
の入力としての前記前のクエリおよび
前記現在のクエ
リにマッピングすることは、
前記第1のクエリ内の用語に基づいた第1のセットのトークンおよび前記第2のクエリ内の用語に基づいた第2のセットのトークンを生成することと、
前記第1のセットのトークンおよび前記第2のセットのトークンを前記第1のセットのノードにマッピングすることと
を含む、請求項3に記載の方法。
【請求項5】
前記ニューラルネットワークからの前記出力結果に基づいて、前記マージ動作および前記置換動作の中から1つの動作を決定することは、
前記第1のセットのノードと前記第2のセットのノードとの間の前記接続と関連付けられた前記加重を使用して、前記第1のクエリおよび前記第2のクエリが前記マージ動作または前記置換動作と関連付けられるかを示す値を決定することを含む、請求項4に記載の方法。
【請求項6】
前記第1のセットのトークンの中のトークンを一セットの挿入語と比較することにより、前記トークンが前記一セットの挿入語の中の挿入語とマッチするかを決定することと、
前記トークンが前記一セットの挿入語の中の前記挿入語とマッチすることを決定したことに応答して、前記トークンを前記第1のセットのトークンから除外することと
をさらに含む、請求項4に記載の方法。
【請求項7】
前記第1のセットのノードの各ノードは、トークンと関連付けられ、前記第1のセットのトークン
および前記第2のセットのトークンを前記第1のセットのノードにマッピングすることは、
前記第1のセットのトークンのうちの第1のトークンを、前記入力層の前記第1のセットのノードのうちの第1のノードと関連付けられたトークンにマッチングすることと、
前記マッチングしたことに応答して、前記第1のノードと関連付けられたトークンが前記第1のトークンとマッチすることを示すように前記第1のノードと関連付けられた前記ニューラルネットワーク内の第1の値を更新することと
を含む、請求項4に記載の方法。
【請求項8】
前記ニューラルネットワークからの前記出力結果に基づいて、前記マージ動作および前記置換動作の中から1つの動作を決定することは、
前記第1のセットのノードと前記第2のセットのノードとの間の前記接続と関連付けられた前記加重を読み出すことと、
各々が前記第1のセットのノードのそれぞれのノードと関連付けられた第2のセットの値を、前記第1のセットのノードと前記第2のセットのノードとの間の前記接続と関連付けられた前記加重で乗算することに基づいて、各々が前記第2のセットのノードのそれぞれのノードと関連付けられた第1のセットの値を決定することと、
前記第1のクエリおよび前記第2のクエリが前記マージ動作または前記置換動
作と関連付けられるかを示す値を、前記第2のセットの値を
前記第1のセットのノードと前記第2のセットのノードとの間の前記接続と関連付けられた前記加重で乗算し、結果として生じる値を加算することによって、決定することと
を含む、請求項7に記載の方法。
【請求項9】
前記第1のクエリおよび前記第2のクエリは、音声認識インターフェースを介して受信され、音声テキスト変換に基づいて前記第1のクエリを第1の一連の単語に変換することと、前記音声テキスト変換に基づいて前記第2のクエリを第2の一連の単語に変換することとをさらに含む、請求項1に記載の方法。
【請求項10】
相互に対応する前記第1のクエリの前記第1の部分および前記第2のクエリの前記第2の部分を選択することは、前記第1の部分と関連付けられた第1のエンティティタイプが前記第2の部分と関連付けられた第2のエンティティタイプとマッチすることを決定することを含む、請求項1に記載の方法。
【請求項11】
表示のために、(1)前記第1のクエリの前記第1の部分を前記第2のクエリの前記第2の部分と置換することに基づいて生成された第1の検索クエリおよび(2)前記第1のクエリおよび前記第2のクエリをマージすることに基づいて生成された第2の検索クエリのうちの1つに対応する検索結果を生成することをさらに含む、請求項1に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本願は、2016年6月8日に出願された米国特許出願第15/176,516号の優先権および利益を主張するものであって、その開示は、参照することによってその全体として本明細書に組み込まれる。
【背景技術】
【0002】
コンテキスト維持または切替は、任意の会話システムによって行われるべき重要な決定である。例えば、クエリ「アクション映画を見せて」に続く、別のクエリ「Tom Cruise出演のもの」に関して、会話システムは、クエリを横断してコンテキストを維持することが予期される。しかし、第2のクエリが「コメディはどう?」である場合、会話システムは、コンテキストを切り替えることが予期される。本問題を解決するための従来のアプローチは、後続クエリが第1のクエリに接続されるかどうかを判定するルールのセットを有するというものである。しかしながら、ルールベースのシステムは、堅苦しく、プログラマが、自然言語会話の間に生じ得るあらゆる可能性として考えられる状況に対処することに関与させられる必要がある。
【発明の概要】
【課題を解決するための手段】
【0003】
人工ニューラルネットワークを利用してコンテキストを継続するかどうかについて会話システムを訓練する新規技法を介して、従来の会話システムにおける欠点に対処するためのシステムおよび方法が、説明される。いくつかの側面では、双方向メディアガイドアプリケーションにおいて、ユーザは、自然言語クエリを介して、メディアアセットを要求してもよい。双方向メディアガイドアプリケーションは、自然言語クエリを処理するための会話システムを含んでもよい。会話システムは、人工ニューラルネットワークを使用して訓練され、クエリを横断してコンテキストを継続するかどうかを判定してもよい。入力層では、人工ニューラルネットワークは、前および次のクエリの例がフィードされてもよい。初期層が、随意に、追加され、常用語または挿入語、例えば、冠詞をフィルタリングし、潜在的特徴として作用し得る単語のみを検討してもよい。前および次のクエリ内の全単語および語句が、次いで、潜在的特徴として検討される。さらに、クエリ内のエンティティは、エンティティタイプによって置換されてもよい。例えば、「Tom Cruise出演の映画」は、「~出演の映画」と置換されてもよい。このように、特定の実施例は、クエリの全体的クラスを表すことができる。
【0004】
いくつかの実施形態では、人工ニューラルネットワークの訓練は、コンテキストが保存される、前-次のクエリの複数の例をフィードすることと、コンテキストが保存されない、前-次のクエリの複数の例をフィードすることとを伴う。隠れ層の数は、人工ニューラルネットワークの正確度を制御するために使用され得る、パラメータであり得る。いったん人工ニューラルネットワークが訓練されると、実際のユーザクエリにおけるコンテキスト切替を検出するために使用されることができる。本方法の1つの利点は、あらゆる可能性として考えられる状況を経時的に学習し得るように、失敗する度に、ネットワークをより多くの例で持続的に訓練する能力である。例えば、ユーザは、ネットワークがコンテキスト切替の検出に失敗する、または存在しない場合にコンテキスト切替を示すとき、フィードバックを提供してもよい。
【0005】
いくつかの側面では、制御回路上に実装される双方向メディアガイドアプリケーションが、第1のクエリおよび第2のクエリを受信する。例えば、双方向メディアガイドアプリケーションは、第1のクエリ「Tom Cruiseの映画」と、第2のクエリ「Nicole Kidman出演」とを受信してもよい。双方向メディアガイドアプリケーションは、各クエリを複数のトークンに単離する。例えば、双方向メディアガイドアプリケーションは、第1のクエリをトークン「~の映画」と「Tom Cruise」とに単離し、第2のクエリをトークン「~出演」と「Nicole Kidman」とに単離してもよい。トークン毎に、双方向メディアガイドアプリケーションは、トークンに関する可能性として考えられるエンティティタイプと、トークンがそのエンティティタイプに属する確率とを判定する。例えば、双方向メディアガイドアプリケーションは、トークン「Tom Cruise」に関する可能性として考えられるエンティティタイプ「俳優」と、トークンがそのエンティティタイプに属する確率が0.99であることと、別の可能性として考えられるエンティティタイプ「場所」と、トークンがそのエンティティタイプに属する確率が0.01であることとを判定してもよい。双方向メディアガイドアプリケーションは、トークン「Nicole Kidman」に関する可能性として考えられるエンティティタイプ「俳優」と、トークンがそのエンティティタイプに属する確率が1であることとを判定してもよい。
【0006】
トークンを横断して可能性として考えられるエンティティタイプのペア毎に、双方向メディアガイドアプリケーションは、可能性として考えられるエンティティタイプのペアに関するグラフ接続を読み出す。双方向メディアガイドアプリケーションは、本データを人工ニューラルネットワークの入力に適用する。双方向メディアガイドアプリケーションは、第1および第2のクエリ間の会話継続性と、会話継続性のタイプとを示す、出力を受信する。例えば、双方向メディアガイドアプリケーションは、第1のクエリと第2のクエリとの間にマージタイプの会話継続性が存在することを示す、出力を受信してもよい。双方向メディアガイドアプリケーションは、出力に基づいて、第2のクエリを更新する。例えば、双方向メディアガイドアプリケーションは、第2のクエリと第1のクエリをマージすることによって、第2のクエリを更新してもよく、すなわち、「Tom CruiseとNicole Kidmanの映画」となる。双方向メディアガイドアプリケーションは、第2のクエリに関する結果を受信する。
【0007】
いくつかの実施形態では、入力として人工ニューラルネットワークの中に提供される特徴は、前および現在のクエリの単語/トークンと、各トークンが指すエンティティタイプの確率(例えば、Rは、R指定を指すとともに、「R」という名称の映画も指し得る)と、種々のエンティティ間のグラフ接続と、他の好適な特徴とを含む。特徴は、異なる入力としてネットワークにフィードされる。ネットワークは、1つまたはそれを上回る隠れ層を有し、次いで、会話継続性のタイプを示すマルチクラスを示す、出力を作成してもよい。
【0008】
例えば、ある会話継続性のタイプは、マージ継続性である。そのような状況では、前および次のクエリは、マージされ、次のクエリは、前のクエリの継続である。前および次のクエリの例示的セットは、「Tom Cruiseの映画」および「Nicole Kidman出演」であり得る。前および次のクエリの別の例示的セットは、「おもしろいサイエンス・フィクション映画を見せて」および「NETFLIX上で」であり得る。前および次のクエリのさらに別の例示的セットは、「Tom Cruiseの映画を探して」および「Nicole Kidman出演のものがいい」であり得る。
【0009】
例えば、別の会話継続性のタイプは、置換継続性である。そのような状況では、前のクエリの一部は、次のクエリの一部と置換される。前および次のクエリの例示的セットは、「今夜Red Soxの試合がある?」および「明日はどう?」であり得る。本状況では、次のクエリからの「明日」は、前のクエリ内の「今夜」に取って代わる。
【0010】
例えば、別の会話継続性のタイプは、分類継続性である。そのような状況では、次のクエリは、さらなるエンティティを前のクエリに追加することとは対照的に、前のクエリからの前のエンティティを分類する。前および次のクエリの例示的セットは、「Broncos戦で勝利したのは?」および「つまり、大学チームで」であり得る。本状況では、「つまり」特徴は、さらなるエンティティを会話の中に追加することとは対照的に、前のクエリ内の前のエンティティを分類する。前および次のクエリの別の例示的セットは、「Beethovenの映画」および「つまり、犬の」であり得る。同様に、本状況では、「つまり」特徴は、さらなるエンティティを会話の中に追加することとは対照的に、前のクエリ内の前のエンティティを分類する。
【0011】
いくつかの側面では、本明細書に説明されるシステムおよび方法は、第1のクエリおよび第2のクエリを含む自然言語会話において会話継続性のタイプを判定するための双方向メディアガイドアプリケーションを提供する。双方向メディアガイドアプリケーションは、第1のクエリをユーザからユーザ入力デバイスを介して受信する。例えば、双方向メディアガイドアプリケーションは、第1のクエリ「いくつかBeethovenの映画を見せて」を受信し得る。双方向メディアガイドアプリケーションは、第1のクエリに関する第1の検索結果をデータベースから読み出す。双方向メディアガイドアプリケーションは、表示のために、第1の検索結果を生成する。例えば、双方向メディアガイドアプリケーションは、表示のために、検索結果「Beethoven:A Documentary」および「Beethoven Musical Genius」を読み出し、生成し得る。双方向メディアガイドアプリケーションは、第2のクエリをユーザからユーザ入力デバイスを介して受信する。例えば、双方向メディアガイドアプリケーションは、第2のクエリ「つまり、犬の」を受信し得る。
【0012】
双方向メディアガイドアプリケーションは、第1のクエリ内の第1のトークンを判定する。例えば、双方向メディアガイドアプリケーションは、第1のクエリ内の第1のトークン「Beethoven」を判定し得る。いくつかの実施形態では、双方向メディアガイドアプリケーションは、第1のクエリ内の第1の用語および第2の用語を識別し、第1の用語が挿入語であることを判定し、第2の用語が挿入語ではないことを判定し、第2の用語を第1のトークンに割り当てることによって、第1のクエリ内の第1のトークンを判定する。例えば、双方向メディアガイドアプリケーションは、「いくつか」および「Beethoven」を第1のクエリ内の他の用語の中から識別し得る。双方向メディアガイドアプリケーションは、「いくつか」が挿入語であって、「Beethoven」が挿入語ではないことを判定し得る。双方向メディアガイドアプリケーションは、「Beethoven」を第1のトークンとして割り当て得る。
【0013】
双方向メディアガイドアプリケーションは、第2のクエリ内の第2のトークンを判定する。例えば、双方向メディアガイドアプリケーションは、「犬」が第2のクエリ内の第2のトークンであると判定し得る。双方向メディアガイドアプリケーションは、第1のトークンに関する第1のエンティティデータを識別する。第1のエンティティデータは、第1のトークンに関する第1のエンティティタイプと、第1のエンティティタイプが第1のトークンに対応する第1の確率と、第1のトークンに関する第2のエンティティタイプと、第2のエンティティタイプが第1のトークンに対応する第2の確率とを含む。例えば、双方向メディアガイドアプリケーションは、第1のエンティティタイプ「音楽家」と、0.75の第1の確率と、第2のエンティティタイプ「犬」と、0.25の第2の確率とを識別し得る。双方向メディアガイドアプリケーションは、第2のトークンに関する第2のエンティティデータを識別する。第2のエンティティデータは、第2のトークンに関する第3のエンティティタイプと、第3のエンティティタイプが第2のトークンに対応する第3の確率と、第2のトークンに関する第4のエンティティタイプと、第4のエンティティタイプが第2のトークンに対応する第4の確率とを含む。
【0014】
双方向メディアガイドアプリケーションは、知識グラフから、第1のエンティティデータと第2のエンティティデータとの間の1つまたはそれを上回るグラフ接続を読み出す。例えば、双方向メディアガイドアプリケーションは、第1のトークンに関する第1のエンティティデータ「Beethoven」と第2のトークンに関する第2のエンティティデータ「犬」と間のグラフ接続を読み出し得る。いくつかの実施形態では、双方向メディアガイドアプリケーションは、第1のエンティティタイプである第1のトークンと第3のエンティティタイプである第2のトークンと間の第1のグラフ接続を読み出し、第2のエンティティタイプである第1のトークンと第3のエンティティタイプである第2のトークンと間の第2のグラフ接続を読み出し、第1のエンティティタイプである第1のトークンと第4のエンティティタイプである第2のトークンと間の第3のグラフ接続を読み出し、第2のエンティティタイプである第1のトークンと第4のエンティティタイプである第2のトークンと間の第4のグラフ接続を読み出すことによって、第1のエンティティデータと第2のエンティティデータとの間の1つまたはそれを上回るグラフ接続を読み出す。
【0015】
双方向メディアガイドアプリケーションは、第1のトークン、第2のトークン、第1のエンティティデータ、第2のエンティティデータ、および1つまたはそれを上回るグラフ接続を入力として人工ニューラルネットワークに適用する。いくつかの実施形態では、双方向メディアガイドアプリケーションは、第1のトークンに関する第1の値を人工ニューラルネットワークの入力層の第1の加重で乗算し、第2のトークンに関する第2の値を人工ニューラルネットワークの入力層の第2の加重で乗算し、第1のエンティティデータに関する1つまたはそれを上回る値を人工ニューラルネットワークの入力層の1つまたはそれを上回る加重で乗算し、第2のエンティティデータに関する1つまたはそれを上回る値を人工ニューラルネットワークの入力層の1つまたはそれを上回る加重で乗算し、1つまたはそれを上回るグラフ接続に関する1つまたはそれを上回る値を人工ニューラルネットワークの入力層の1つまたはそれを上回る加重で乗算することによって、第1のトークン、第2のトークン、第1のエンティティデータ、第2のエンティティデータ、および1つまたはそれを上回るグラフ接続を入力として人工ニューラルネットワークに適用する。
【0016】
双方向メディアガイドアプリケーションは、人工ニューラルネットワークから、第1のクエリと第2のクエリとの間の会話継続性のタイプを示す出力を判定する。いくつかの実施形態では、双方向メディアガイドアプリケーションは、人工ニューラルネットワークから、人工ニューラルネットワーク内の隠れ層への1つまたはそれを上回る入力を隠れ層内の対応する1つまたはそれを上回る加重で乗算し、乗算から結果として生じる値を加算し、出力値を判定することによって、第1のクエリと第2のクエリとの間の会話継続性のタイプを示す出力を判定する。
【0017】
双方向メディアガイドアプリケーションは、会話継続性のタイプに基づいて、第2のクエリを更新する。いくつかの実施形態では、双方向メディアガイドアプリケーションは、会話継続性のタイプがマージタイプであることを識別し、会話継続性のタイプがマージタイプであることの識別に基づいて、第2のクエリと第1のクエリをマージすることによって、会話継続性のタイプに基づいて、第2のクエリを更新する。例えば、前および次のクエリは、次のクエリが前のクエリの継続である場合、マージされ得る。前および次のクエリの例示的セットは、「Tom Cruiseの映画」および「Nicole Kidman出演」であり得る。前および次のクエリの別の例示的セットは、「おもしろいサイエンス・フィクション映画を見せて」および「NETFLIX上で」であり得る。さらに前および次のクエリの別の例示的セットは、「Tom Cruiseの映画を探して」および「Nicole Kidman出演のものがいいな」であり得る。
【0018】
いくつかの実施形態では、双方向メディアガイドアプリケーションは、会話継続性のタイプが置換タイプであることを識別し、第1のクエリの一部に取って代わる第2のクエリの一部を判定し、第2のクエリが第2のクエリの一部と置換される第1のクエリの一部を伴う第1のクエリであることを判定することによって、会話継続性のタイプに基づいて、第2のクエリを更新する。例えば、前のクエリの一部は、次のクエリの一部と置換され得る。前および次のクエリの例示的セットは、「今夜Red Soxの試合がある?」および「明日はどう?」であり得る。本状況では、次のクエリからの「明日」は、前のクエリ内の「今夜」に取って代わる。
【0019】
いくつかの実施形態では、双方向メディアガイドアプリケーションは、会話継続性のタイプが分類タイプであることを識別し、第2のクエリに基づいて、第1のクエリ内の第1のトークンに関する代替エンティティタイプを判定し、第2のクエリが代替エンティティタイプである第1のトークンを伴う第1のクエリであることを判定することによって、会話継続性のタイプに基づいて、第2のクエリを更新する。例えば、次のクエリは、さらなるエンティティを前のクエリに追加することとは対照的に、前のクエリからの前のエンティティを分類し得る。前および次のクエリの例示的セットは、「Broncos戦で勝利したのは?」および「つまり、大学チームで」であり得る。本状況では、「つまり」特徴は、さらなるエンティティを会話の中に追加することとは対照的に、前のクエリ内の前のエンティティを分類する。前および次のクエリの別の例示的セットは、「Beethovenの映画」および「つまり、犬の」であり得る。同様に、本状況では、「つまり」特徴は、さらなるエンティティを会話の中に追加することとは対照的に、前のクエリ内の前のエンティティを分類する。
【0020】
いくつかの実施形態では、双方向メディアガイドアプリケーションは、会話継続性のタイプが無継続性タイプであることを識別し、第2のクエリを更新された第2のクエリに割り当てることによって、会話継続性のタイプに基づいて、第2のクエリを更新する。例えば、次のクエリは、前のクエリから独立し得る。前および次のクエリの例示的セットは、「アクション映画」および「コメディ映画」であり得る。本状況では、前および次のクエリ間に会話継続性が存在しない。
【0021】
双方向メディアガイドアプリケーションは、更新された第2のクエリに関する第2の検索結果をデータベースから読み出す。双方向メディアガイドアプリケーションは、表示のために、第2の検索結果を生成する。いくつかの実施形態では、双方向メディアガイドアプリケーションは、ユーザ入力デバイスから、判定された会話継続性のタイプが正しくないことのインジケーションと、訂正された会話継続性のタイプとを受信する。双方向メディアガイドアプリケーションは、訂正された会話継続性のタイプに基づいて、人工ニューラルネットワーク内の1つまたはそれを上回る加重を更新する。
【0022】
本開示におけるプロセスおよび実施例は、クエリのペアに関して議論されるが、説明されるシステムおよび方法は、2つを上回るクエリにも等しく適用可能である。本システムおよび方法は、複数のクエリを横断する継続性を追跡し、必要に応じて、コンテキストを維持し得る。加えて、本開示におけるプロセスおよび実施例は、人工ニューラルネットワークに関して議論されるが、説明されるシステムおよび方法は、複数の人工ニューラルネットワークに等しく適用可能である、または他の機械学習技法と組み合わせられる。前述のシステム、方法、装置、および/または側面は、本開示に説明される他のシステム、方法、装置、および/または側面に適用される、またはそれに従って使用されてもよいことに留意されたい。
本願明細書は、例えば、以下の項目も提供する。
(項目1)
第1のクエリおよび第2のクエリを含む自然言語会話において会話継続性のタイプを判定するための方法であって、
ユーザ入力デバイスを介して、前記第1のクエリをユーザから受信するステップと、
データベースから、前記第1のクエリに関する第1の検索結果を読み出すステップと、
表示のために、制御回路を使用して、前記第1の検索結果を生成するステップと、
前記ユーザ入力デバイスを介して、前記第2のクエリを前記ユーザから受信するステップと、
制御回路を使用して、前記第1のクエリ内の第1のトークンを判定するステップと、
前記制御回路を使用して、前記第2のクエリ内の第2のトークンを判定するステップと、
前記制御回路を使用して、前記第1のトークンに関する第1のエンティティデータを識別するステップであって、前記第1のエンティティデータは、
前記第1のトークンに関する第1のエンティティタイプと、
前記第1のエンティティタイプが前記第1のトークンに対応する第1の確率と、
前記第1のトークンに関する第2のエンティティタイプと、
前記第2のエンティティタイプが前記第1のトークンに対応する第2の確率と
を含む、ステップと、
前記制御回路を使用して、前記第2のトークンに関する第2のエンティティデータを識別するステップであって、前記第2のエンティティデータは、
前記第2のトークンに関する第3のエンティティタイプと、
前記第3のエンティティタイプが前記第2のトークンに対応する第3の確率と、
前記第2のトークンに関する第4のエンティティタイプと、
前記第4のエンティティタイプが前記第2のトークンに対応する第4の確率と
を含む、ステップと、
知識グラフから、前記第1のエンティティデータと前記第2のエンティティデータとの間の1つまたはそれを上回るグラフ接続を読み出すステップと、
前記制御回路を使用して、前記第1のトークン、前記第2のトークン、前記第1のエンティティデータ、前記第2のエンティティデータ、および前記1つまたはそれを上回るグラフ接続を入力として人工ニューラルネットワークに適用するステップと、
前記制御回路を使用して、前記人工ニューラルネットワークから、前記第1のクエリと前記第2のクエリとの間の会話継続性のタイプを示す出力を判定するステップと、
前記制御回路を使用して、前記会話継続性のタイプに基づいて、前記第2のクエリを更新するステップと、
前記データベースから、前記更新された第2のクエリに関する第2の検索結果を読み出すステップと、
表示のために、制御回路を使用して、前記第2の検索結果を生成するステップと
を含む、方法。
(項目2)
前記第1のクエリ内の第1のトークンを判定するステップは、
前記制御回路を使用して、前記第1のクエリ内の第1の用語および第2の用語を識別するステップと、
前記制御回路を使用して、前記第1の用語が挿入語であることを判定するステップと、
前記制御回路を使用して、前記第2の用語が挿入語ではないことを判定するステップと、
前記制御回路を使用して、前記第2の用語を前記第1のトークンに割り当てるステップと
を含む、項目1に記載の方法。
(項目3)
前記第1のエンティティデータと前記第2のエンティティデータとの間の1つまたはそれを上回るグラフ接続を読み出すステップは、
前記知識グラフから、前記第1のエンティティタイプである前記第1のトークンと前記第3のエンティティタイプである前記第2のトークンと間の第1のグラフ接続を読み出すステップと、
前記知識グラフから、前記第2のエンティティタイプである前記第1のトークンと前記第3のエンティティタイプである前記第2のトークンと間の第2のグラフ接続を読み出すステップと、
前記知識グラフから、前記第1のエンティティタイプである前記第1のトークンと前記第4のエンティティタイプである前記第2のトークンと間の第3のグラフ接続を読み出すステップと、
前記知識グラフから、前記第2のエンティティタイプである前記第1のトークンと前記第4のエンティティタイプである前記第2のトークンと間の第4のグラフ接続を読み出すステップと
を含む、項目1に記載の方法。
(項目4)
前記第1のトークン、前記第2のトークン、前記第1のエンティティデータ、前記第2のエンティティデータ、および前記1つまたはそれを上回るグラフ接続を入力として前記人工ニューラルネットワークに適用するステップは、
前記制御回路を使用して、前記第1のトークンに関する第1の値を前記人工ニューラルネットワークの入力層の第1の加重で乗算するステップと、
前記制御回路を使用して、前記第2のトークンに関する第2の値を前記人工ニューラルネットワークの入力層の第2の加重で乗算するステップと、
前記制御回路を使用して、前記第1のエンティティデータに関する1つまたはそれを上回る値を前記人工ニューラルネットワークの入力層の1つまたはそれを上回る加重で乗算するステップと、
前記制御回路を使用して、前記第2のエンティティデータに関する1つまたはそれを上回る値を前記人工ニューラルネットワークの入力層の1つまたはそれを上回る加重で乗算するステップと、
前記制御回路を使用して、前記1つまたはそれを上回るグラフ接続に関する1つまたはそれを上回る値を前記人工ニューラルネットワークの入力層の1つまたはそれを上回る加重で乗算するステップと
を含む、項目1に記載の方法。
(項目5)
前記人工ニューラルネットワークから、前記第1のクエリと前記第2のクエリとの間の会話継続性のタイプを示す出力を判定するステップは、
前記制御回路を使用して、前記人工ニューラルネットワーク内の隠れ層への1つまたはそれを上回る入力を前記隠れ層内の対応する1つまたはそれを上回る加重で乗算するステップと、
前記制御回路を使用して、前記乗算から結果として生じる値を加算し、前記出力値を判定するステップと
を含む、項目1に記載の方法。
(項目6)
前記会話継続性のタイプに基づいて、前記第2のクエリを更新するステップは、
前記制御回路を使用して、前記会話継続性のタイプがマージタイプであることを識別するステップと、
前記制御回路を使用して、前記会話継続性のタイプが前記マージタイプであることの識別に基づいて、前記第2のクエリと前記第1のクエリをマージするステップと
を含む、項目1に記載の方法。
(項目7)
前記会話継続性のタイプに基づいて、前記第2のクエリを更新するステップは、
前記制御回路を使用して、前記会話継続性のタイプが置換タイプであることを識別するステップと、
前記会話継続性のタイプが前記置換タイプであることの識別に基づいて、
前記制御回路を使用して、前記第1のクエリの一部に取って代わる前記第2のクエリの一部を判定するステップと、
前記制御回路を使用して、前記第2のクエリが前記第2のクエリの前記一部と置換される前記第1のクエリの前記一部を伴う前記第1のクエリであることを判定するステップと
を含む、項目1に記載の方法。
(項目8)
前記会話継続性のタイプに基づいて、前記第2のクエリを更新するステップは、
前記制御回路を使用して、前記会話継続性のタイプが分類タイプであることを識別するステップと、
前記会話継続性のタイプが前記分類タイプであることの識別に基づいて、
前記制御回路を使用して、前記第2のクエリに基づいて、前記第1のクエリ内の第1のトークンに関する代替エンティティタイプを判定するステップと、
前記制御回路を使用して、前記第2のクエリが前記代替エンティティタイプである前記第1のトークンを伴う前記第1のクエリであることを判定するステップと
を含む、項目1に記載の方法。
(項目9)
前記会話継続性のタイプに基づいて、前記第2のクエリを更新するステップは、
前記制御回路を使用して、前記会話継続性のタイプが無継続性タイプであることを識別するステップと、
前記会話継続性のタイプが前記無継続性タイプであることの識別に基づいて、前記制御回路を使用して、前記第2のクエリを前記更新された第2のクエリに割り当てるステップと
を含む、項目1に記載の方法。
(項目10)
前記ユーザ入力デバイスから、前記判定された会話継続性のタイプが正しくないことのインジケーションおよび訂正された会話継続性のタイプを受信するステップと、
前記制御回路を使用して、前記訂正された会話継続性のタイプに基づいて、前記人工ニューラルネットワーク内の1つまたはそれを上回る加重を更新するステップと
をさらに含む、項目1に記載の方法。
(項目11)
第1のクエリおよび第2のクエリを含む自然言語会話において会話継続性のタイプを判定するためのシステムであって、
データベースおよび知識グラフのうちの少なくとも1つを記憶するメモリと、
制御回路と通信するユーザ入力デバイスと
を備え、前記制御回路は、
前記ユーザ入力デバイスを介して、前記第1のクエリをユーザから受信することと、
前記データベースから、前記第1のクエリに関する第1の検索結果を読み出すことと、
表示のために、前記第1の検索結果を生成することと、
前記ユーザ入力デバイスを介して、前記第2のクエリを前記ユーザから受信することと、
前記第1のクエリ内の第1のトークンを判定することと、
前記第2のクエリ内の第2のトークンを判定することと、
前記第1のトークンに関する第1のエンティティデータを識別することであって、前記第1のエンティティデータは、
前記第1のトークンに関する第1のエンティティタイプと、
前記第1のエンティティタイプが前記第1のトークンに対応する第1の確率と、
前記第1のトークンに関する第2のエンティティタイプと、
前記第2のエンティティタイプが前記第1のトークンに対応する第2の確率と、
を含む、ことと、
前記第2のトークンに関する第2のエンティティデータを識別することであって、前記第2のエンティティデータは、
前記第2のトークンに関する第3のエンティティタイプと、
前記第3のエンティティタイプが前記第2のトークンに対応する第3の確率と、
前記第2のトークンに関する第4のエンティティタイプと、
前記第4のエンティティタイプが前記第2のトークンに対応する第4の確率と、
を含む、ことと、
前記知識グラフから、前記第1のエンティティデータと前記第2のエンティティデータとの間の1つまたはそれを上回るグラフ接続を読み出すことと、
前記第1のトークン、前記第2のトークン、前記第1のエンティティデータ、前記第2のエンティティデータ、および前記1つまたはそれを上回るグラフ接続を入力として人工ニューラルネットワークに適用することと、
前記人工ニューラルネットワークから、前記第1のクエリと前記第2のクエリとの間の会話継続性のタイプを示す出力を判定することと、
前記会話継続性のタイプに基づいて、前記第2のクエリを更新することと、
前記データベースから、前記更新された第2のクエリに関する第2の検索結果を読み出すことと、
表示のために、前記第2の検索結果を生成することと
を行うように構成される、システム。
(項目12)
前記第1のクエリ内の第1のトークンを判定するように構成される、前記制御回路は、
前記第1のクエリ内の第1の用語および第2の用語を識別することと、
前記第1の用語が挿入語であることを判定することと、
前記第2の用語が挿入語ではないことを判定することと、
前記第2の用語を前記第1のトークンに割り当てることと
を行うように構成される、前記制御回路を含む、項目11に記載のシステム。
(項目13)
前記第1のエンティティデータと前記第2のエンティティデータとの間の1つまたはそれを上回るグラフ接続を読み出すように構成される、前記制御回路は、
前記知識グラフから、前記第1のエンティティタイプである前記第1のトークンと前記第3のエンティティタイプである前記第2のトークンと間の第1のグラフ接続を読み出すことと、
前記知識グラフから、前記第2のエンティティタイプである前記第1のトークンと前記第3のエンティティタイプである前記第2のトークンと間の第2のグラフ接続を読み出すことと、
前記知識グラフから、前記第1のエンティティタイプである前記第1のトークンと前記第4のエンティティタイプである前記第2のトークンと間の第3のグラフ接続を読み出すことと、
前記知識グラフから、前記第2のエンティティタイプである前記第1のトークンと前記第4のエンティティタイプである前記第2のトークンと間の第4のグラフ接続を読み出すことと
を行うように構成される、前記制御回路を含む、項目11に記載のシステム。
(項目14)
前記第1のトークン、前記第2のトークン、前記第1のエンティティデータ、前記第2のエンティティデータ、および前記1つまたはそれを上回るグラフ接続を入力として前記人工ニューラルネットワークに適用するように構成される、前記制御回路は、
前記第1のトークンに関する第1の値を前記人工ニューラルネットワークの入力層の第1の加重で乗算することと、
前記第2のトークンに関する第2の値を前記人工ニューラルネットワークの入力層の第2の加重で乗算することと、
前記第1のエンティティデータに関する1つまたはそれを上回る値を前記人工ニューラルネットワークの入力層の1つまたはそれを上回る加重で乗算することと、
前記第2のエンティティデータに関する1つまたはそれを上回る値を前記人工ニューラルネットワークの入力層の1つまたはそれを上回る加重で乗算することと、
前記1つまたはそれを上回るグラフ接続に関する1つまたはそれを上回る値を前記人工ニューラルネットワークの入力層の1つまたはそれを上回る加重で乗算することと
を行うように構成される、前記制御回路を備える、項目11に記載のシステム。
(項目15)
前記人工ニューラルネットワークから、前記第1のクエリと前記第2のクエリとの間の会話継続性のタイプを示す出力を判定するように構成される、前記制御回路は、
前記人工ニューラルネットワーク内の隠れ層への1つまたはそれを上回る入力を前記隠れ層内の対応する1つまたはそれを上回る加重で乗算することと、
前記乗算から結果として生じる値を加算し、前記出力値を判定することと
を行うように構成される、前記制御回路を含む、項目11に記載のシステム。
(項目16)
前記会話継続性のタイプに基づいて、前記第2のクエリを更新するように構成される、前記制御回路は、
前記会話継続性のタイプがマージタイプであることを識別することと、
前記会話継続性のタイプが前記マージタイプであることの識別に基づいて、前記第2のクエリと前記第1のクエリをマージすることと
を行うように構成される、前記制御回路を含む、項目11に記載のシステム。
(項目17)
前記会話継続性のタイプに基づいて、前記第2のクエリを更新するように構成される、前記制御回路は、
前記会話継続性のタイプが置換タイプであることを識別することと、
前記会話継続性のタイプが前記置換タイプであることの識別に基づいて、
前記第1のクエリの一部に取って代わる前記第2のクエリの一部を判定することと、
前記第2のクエリが前記第2のクエリの前記一部と置換される前記第1のクエリの前記一部を伴う前記第1のクエリであることを判定することと
を行うように構成される、前記制御回路を含む、項目11に記載のシステム。
(項目18)
前記会話継続性のタイプに基づいて、前記第2のクエリを更新するように構成される、前記制御回路は、
前記会話継続性のタイプが分類タイプであることを識別することと、
前記会話継続性のタイプが前記分類タイプであることの識別に基づいて、
前記第2のクエリに基づいて、前記第1のクエリ内の第1のトークンに関する代替エンティティタイプを判定することと、
前記第2のクエリが前記代替エンティティタイプである前記第1のトークンを伴う前記第1のクエリであることを判定することと
を行うように構成される、前記制御回路を含む、項目11に記載のシステム。
(項目19)
前記会話継続性のタイプに基づいて、前記第2のクエリを更新するように構成される、前記制御回路は、
前記会話継続性のタイプが無継続性タイプであることを識別することと、
前記会話継続性のタイプが前記無継続性タイプであることの識別に基づいて、前記第2のクエリを前記更新された第2のクエリに割り当てることと
を行うように構成される、前記制御回路を含む、項目11に記載のシステム。
(項目20)
前記制御回路はさらに、
前記ユーザ入力デバイスから、前記判定された会話継続性のタイプが正しくないことのインジケーションおよび訂正された会話継続性のタイプを受信することと、
前記訂正された会話継続性のタイプに基づいて、前記人工ニューラルネットワーク内の1つまたはそれを上回る加重を更新することと
を行うように構成される、項目11に記載のシステム。
(項目21)
第1のクエリおよび第2のクエリを含む自然言語会話において会話継続性のタイプを判定するための装置であって、
ユーザ入力デバイスを介して、前記第1のクエリをユーザから受信するための手段と、
データベースから、前記第1のクエリに関する第1の検索結果を読み出すための手段と、
表示のために、制御回路を使用して、前記第1の検索結果を生成するための手段と、
前記ユーザ入力デバイスを介して、前記第2のクエリを前記ユーザから受信するための手段と、
制御回路を使用して、前記第1のクエリ内の第1のトークンを判定するための手段と、
前記制御回路を使用して、前記第2のクエリ内の第2のトークンを判定するための手段と、
前記制御回路を使用して、前記第1のトークンに関する第1のエンティティデータを識別するための手段であって、前記第1のエンティティデータは、
前記第1のトークンに関する第1のエンティティタイプと、
前記第1のエンティティタイプが前記第1のトークンに対応する第1の確率と、
前記第1のトークンに関する第2のエンティティタイプと、
前記第2のエンティティタイプが前記第1のトークンに対応する第2の確率と
を含む、手段と、
前記制御回路を使用して、前記第2のトークンに関する第2のエンティティデータを識別するための手段であって、前記第2のエンティティデータは、
前記第2のトークンに関する第3のエンティティタイプと、
前記第3のエンティティタイプが前記第2のトークンに対応する第3の確率と、
前記第2のトークンに関する第4のエンティティタイプと、
前記第4のエンティティタイプが前記第2のトークンに対応する第4の確率と
を含む、手段と、
知識グラフから、前記第1のエンティティデータと前記第2のエンティティデータとの間の1つまたはそれを上回るグラフ接続を読み出すための手段と、
前記制御回路を使用して、前記第1のトークン、前記第2のトークン、前記第1のエンティティデータ、前記第2のエンティティデータ、および前記1つまたはそれを上回るグラフ接続を入力として人工ニューラルネットワークに適用するための手段と、
前記制御回路を使用して、前記人工ニューラルネットワークから、前記第1のクエリと前記第2のクエリとの間の会話継続性のタイプを示す出力を判定するための手段と、
前記制御回路を使用して、前記会話継続性のタイプに基づいて、前記第2のクエリを更新するための手段と、
前記データベースから、前記更新された第2のクエリに関する第2の検索結果を読み出すための手段と、
表示のために、制御回路を使用して、前記第2の検索結果を生成するための手段と
を備える、装置。
(項目22)
前記第1のクエリ内の第1のトークンを判定するための手段は、
前記制御回路を使用して、前記第1のクエリ内の第1の用語および第2の用語を識別するための手段と、
前記制御回路を使用して、前記第1の用語が挿入語であることを判定するための手段と、
前記制御回路を使用して、前記第2の用語が挿入語ではないことを判定するための手段と、
前記制御回路を使用して、前記第2の用語を前記第1のトークンに割り当てるための手段と
を含む、項目21に記載の装置。
(項目23)
前記第1のエンティティデータと前記第2のエンティティデータとの間の1つまたはそれを上回るグラフ接続を読み出すための手段は、
前記知識グラフから、前記第1のエンティティタイプである前記第1のトークンと前記第3のエンティティタイプである前記第2のトークンと間の第1のグラフ接続を読み出すための手段と、
前記知識グラフから、前記第2のエンティティタイプである前記第1のトークンと前記第3のエンティティタイプである前記第2のトークンと間の第2のグラフ接続を読み出すための手段と、
前記知識グラフから、前記第1のエンティティタイプである前記第1のトークンと前記第4のエンティティタイプである前記第2のトークンと間の第3のグラフ接続を読み出すための手段と、
前記知識グラフから、前記第2のエンティティタイプである前記第1のトークンと前記第4のエンティティタイプである前記第2のトークンと間の第4のグラフ接続を読み出すための手段と
を含む、項目21に記載の装置。
(項目24)
前記第1のトークン、前記第2のトークン、前記第1のエンティティデータ、前記第2のエンティティデータ、および前記1つまたはそれを上回るグラフ接続を入力として前記人工ニューラルネットワークに適用するための手段は、
前記制御回路を使用して、前記第1のトークンに関する第1の値を前記人工ニューラルネットワークの入力層の第1の加重で乗算するための手段と、
前記制御回路を使用して、前記第2のトークンに関する第2の値を前記人工ニューラルネットワークの入力層の第2の加重で乗算するための手段と、
前記制御回路を使用して、前記第1のエンティティデータに関する1つまたはそれを上回る値を前記人工ニューラルネットワークの入力層の1つまたはそれを上回る加重で乗算するための手段と、
前記制御回路を使用して、前記第2のエンティティデータに関する1つまたはそれを上回る値を前記人工ニューラルネットワークの入力層の1つまたはそれを上回る加重で乗算するための手段と、
前記制御回路を使用して、前記1つまたはそれを上回るグラフ接続に関する1つまたはそれを上回る値を前記人工ニューラルネットワークの入力層の1つまたはそれを上回る加重で乗算するための手段と
を含む、項目21に記載の装置。
(項目25)
前記人工ニューラルネットワークから、前記第1のクエリと前記第2のクエリとの間の会話継続性のタイプを示す出力を判定するための手段は、
前記制御回路を使用して、前記人工ニューラルネットワーク内の隠れ層への1つまたはそれを上回る入力を前記隠れ層内の対応する1つまたはそれを上回る加重で乗算するための手段と、
前記制御回路を使用して、前記乗算から結果として生じる値を加算し、前記出力値を判定するための手段と
を含む、項目21に記載の装置。
(項目26)
前記会話継続性のタイプに基づいて、前記第2のクエリを更新するための手段は、
前記制御回路を使用して、前記会話継続性のタイプがマージタイプであることを識別するための手段と、
前記制御回路を使用して、前記会話継続性のタイプが前記マージタイプであることの識別に基づいて、前記第2のクエリと前記第1のクエリをマージするための手段と
を含む、項目21に記載の装置。
(項目27)
前記会話継続性のタイプに基づいて、前記第2のクエリを更新するための手段は、
前記制御回路を使用して、前記会話継続性のタイプが置換タイプであることを識別するための手段と、
前記会話継続性のタイプが前記置換タイプであることの識別に基づいて、
前記制御回路を使用して、前記第1のクエリの一部に取って代わる前記第2のクエリの一部を判定するための手段と、
前記制御回路を使用して、前記第2のクエリが前記第2のクエリの前記一部と置換される前記第1のクエリの前記一部を伴う前記第1のクエリであることを判定するための手段と
を含む、項目21に記載の装置。
(項目28)
前記会話継続性のタイプに基づいて、前記第2のクエリを更新するための手段は、
前記制御回路を使用して、前記会話継続性のタイプが分類タイプであることを識別するための手段と、
前記会話継続性のタイプが前記分類タイプであることの識別に基づいて、
前記制御回路を使用して、前記第2のクエリに基づいて、前記第1のクエリ内の第1のトークンに関する代替エンティティタイプを判定するための手段と、
前記制御回路を使用して、前記第2のクエリが前記代替エンティティタイプである前記第1のトークンを伴う前記第1のクエリであることを判定するための手段と
を含む、項目21に記載の装置。
(項目29)
前記会話継続性のタイプに基づいて、前記第2のクエリを更新するための手段は、
前記制御回路を使用して、前記会話継続性のタイプが無継続性タイプであることを識別するための手段と、
前記会話継続性のタイプが前記無継続性タイプであることの識別に基づいて、前記制御回路を使用して、前記第2のクエリを前記更新された第2のクエリに割り当てるための手段と
を含む、項目21に記載の装置。
(項目30)
前記ユーザ入力デバイスから、前記判定された会話継続性のタイプが正しくないことのインジケーションおよび訂正された会話継続性のタイプを受信するための手段と、
前記制御回路を使用して、前記訂正された会話継続性のタイプに基づいて、前記人工ニューラルネットワーク内の1つまたはそれを上回る加重を更新するための手段と
をさらに備える、項目21に記載の装置。
(項目31)
第1のクエリおよび第2のクエリを含む自然言語会話において会話継続性のタイプを判定するためのその上に符号化された命令を伴うメモリを備える、非一過性機械可読媒体であって、
ユーザ入力デバイスを介して、前記第1のクエリをユーザから受信するための命令と、
データベースから、前記第1のクエリに関する第1の検索結果を読み出すための命令と、
表示のために、制御回路を使用して、前記第1の検索結果を生成するための命令と、
前記ユーザ入力デバイスを介して、前記第2のクエリを前記ユーザから受信するための命令と、
制御回路を使用して、前記第1のクエリ内の第1のトークンを判定するための命令と、
前記制御回路を使用して、前記第2のクエリ内の第2のトークンを判定するための命令と、
前記制御回路を使用して、前記第1のトークンに関する第1のエンティティデータを識別するための命令であって、前記第1のエンティティデータは、
前記第1のトークンに関する第1のエンティティタイプと、
前記第1のエンティティタイプが前記第1のトークンに対応する第1の確率と、
前記第1のトークンに関する第2のエンティティタイプと、
前記第2のエンティティタイプが前記第1のトークンに対応する第2の確率と
を含む、命令と、
前記制御回路を使用して、前記第2のトークンに関する第2のエンティティデータを識別するための命令であって、前記第2のエンティティデータは、
前記第2のトークンに関する第3のエンティティタイプと、
前記第3のエンティティタイプが前記第2のトークンに対応する第3の確率と、
前記第2のトークンに関する第4のエンティティタイプと、
前記第4のエンティティタイプが前記第2のトークンに対応する第4の確率と
を含む、命令と、
知識グラフから、前記第1のエンティティデータと前記第2のエンティティデータとの間の1つまたはそれを上回るグラフ接続を読み出すための命令と、
前記制御回路を使用して、前記第1のトークン、前記第2のトークン、前記第1のエンティティデータ、前記第2のエンティティデータ、および前記1つまたはそれを上回るグラフ接続を入力として人工ニューラルネットワークに適用するための命令と、
前記制御回路を使用して、前記人工ニューラルネットワークから、前記第1のクエリと前記第2のクエリとの間の会話継続性のタイプを示す出力を判定するための命令と、
前記制御回路を使用して、前記会話継続性のタイプに基づいて、前記第2のクエリを更新するための命令と、
前記データベースから、前記更新された第2のクエリに関する第2の検索結果を読み出すための命令と、
表示のために、制御回路を使用して、前記第2の検索結果を生成するための命令と
を備える、非一過性機械可読媒体。
(項目32)
前記第1のクエリ内の第1のトークンを判定するための命令は、
前記制御回路を使用して、前記第1のクエリ内の第1の用語および第2の用語を識別するための命令と、
前記制御回路を使用して、前記第1の用語が挿入語であることを判定するための命令と、
前記制御回路を使用して、前記第2の用語が挿入語ではないことを判定するための命令と、
前記制御回路を使用して、前記第2の用語を前記第1のトークンに割り当てるための命令と
を含む、項目31に記載の非一過性機械可読媒体。
(項目33)
前記第1のエンティティデータと前記第2のエンティティデータとの間の1つまたはそれを上回るグラフ接続を読み出すための命令は、
前記知識グラフから、前記第1のエンティティタイプである前記第1のトークンと前記第3のエンティティタイプである前記第2のトークンと間の第1のグラフ接続を読み出すための命令と、
前記知識グラフから、前記第2のエンティティタイプである前記第1のトークンと前記第3のエンティティタイプである前記第2のトークンと間の第2のグラフ接続を読み出すための命令と、
前記知識グラフから、前記第1のエンティティタイプである前記第1のトークンと前記第4のエンティティタイプである前記第2のトークンと間の第3のグラフ接続を読み出すための命令と、
前記知識グラフから、前記第2のエンティティタイプである前記第1のトークンと前記第4のエンティティタイプである前記第2のトークンと間の第4のグラフ接続を読み出すための命令と
を含む、項目31に記載の非一過性機械可読媒体。
(項目34)
前記第1のトークン、前記第2のトークン、前記第1のエンティティデータ、前記第2のエンティティデータ、および前記1つまたはそれを上回るグラフ接続を入力として前記人工ニューラルネットワークに適用するための命令は、
前記制御回路を使用して、前記第1のトークンに関する第1の値を前記人工ニューラルネットワークの入力層の第1の加重で乗算するための命令と、
前記制御回路を使用して、前記第2のトークンに関する第2の値を前記人工ニューラルネットワークの入力層の第2の加重で乗算するための命令と、
前記制御回路を使用して、前記第1のエンティティデータに関する1つまたはそれを上回る値を前記人工ニューラルネットワークの入力層の1つまたはそれを上回る加重で乗算するための命令と、
前記制御回路を使用して、前記第2のエンティティデータに関する1つまたはそれを上回る値を前記人工ニューラルネットワークの入力層の1つまたはそれを上回る加重で乗算するための命令と、
前記制御回路を使用して、前記1つまたはそれを上回るグラフ接続に関する1つまたはそれを上回る値を前記人工ニューラルネットワークの入力層の1つまたはそれを上回る加重で乗算するための命令と
を含む、項目31に記載の非一過性機械可読媒体。
(項目35)
前記人工ニューラルネットワークから、前記第1のクエリと前記第2のクエリとの間の会話継続性のタイプを示す出力を判定するための命令は、
前記制御回路を使用して、前記人工ニューラルネットワーク内の隠れ層への1つまたはそれを上回る入力を前記隠れ層内の対応する1つまたはそれを上回る加重で乗算するための命令と、
前記制御回路を使用して、前記乗算から結果として生じる値を加算し、前記出力値を判定するための命令と
を含む、項目31に記載の非一過性機械可読媒体。
(項目36)
前記会話継続性のタイプに基づいて、前記第2のクエリを更新するための命令は、
前記制御回路を使用して、前記会話継続性のタイプがマージタイプであることを識別するための命令と、
前記制御回路を使用して、前記会話継続性のタイプが前記マージタイプであることの識別に基づいて、前記第2のクエリと前記第1のクエリをマージするための命令と
を含む、項目31に記載の非一過性機械可読媒体。
(項目37)
前記会話継続性のタイプに基づいて、前記第2のクエリを更新するための命令は、
前記制御回路を使用して、前記会話継続性のタイプが置換タイプであることを識別するための命令と、
前記会話継続性のタイプが前記置換タイプであることの識別に基づいて、
前記制御回路を使用して、前記第1のクエリの一部に取って代わる前記第2のクエリの一部を判定するための命令と、
前記制御回路を使用して、前記第2のクエリが前記第2のクエリの前記一部と置換される前記第1のクエリの前記一部を伴う前記第1のクエリであることを判定するための命令と
を含む、項目31に記載の非一過性機械可読媒体。
(項目38)
前記会話継続性のタイプに基づいて、前記第2のクエリを更新するための命令は、
前記制御回路を使用して、前記会話継続性のタイプが分類タイプであることを識別するための命令と、
前記会話継続性のタイプが前記分類タイプであることの識別に基づいて、
前記制御回路を使用して、前記第2のクエリに基づいて、前記第1のクエリ内の第1のトークンに関する代替エンティティタイプを判定するための命令と、
前記制御回路を使用して、前記第2のクエリが前記代替エンティティタイプである前記第1のトークンを伴う前記第1のクエリであることを判定するための命令と
を含む、項目31に記載の非一過性機械可読媒体。
(項目39)
前記会話継続性のタイプに基づいて、前記第2のクエリを更新するための命令は、
前記制御回路を使用して、前記会話継続性のタイプが無継続性タイプであることを識別するための命令と、
前記会話継続性のタイプが前記無継続性タイプであることの識別に基づいて、前記制御回路を使用して、前記第2のクエリを前記更新された第2のクエリに割り当てるための命令と
を含む、項目31に記載の非一過性機械可読媒体。
(項目40)
前記ユーザ入力デバイスから、前記判定された会話継続性のタイプが正しくないことのインジケーションおよび訂正された会話継続性のタイプを受信するための命令と、
前記制御回路を使用して、前記訂正された会話継続性のタイプに基づいて、前記人工ニューラルネットワーク内の1つまたはそれを上回る加重を更新するための命令と
をさらに備える、項目31に記載の非一過性機械可読媒体。
(項目41)
第1のクエリおよび第2のクエリを含む自然言語会話において会話継続性のタイプを判定するための方法であって、
ユーザ入力デバイスを介して、前記第1のクエリをユーザから受信するステップと、
データベースから、前記第1のクエリに関する第1の検索結果を読み出すステップと、
表示のために、制御回路を使用して、前記第1の検索結果を生成するステップと、
前記ユーザ入力デバイスを介して、前記第2のクエリを前記ユーザから受信するステップと、
制御回路を使用して、前記第1のクエリ内の第1のトークンを判定するステップと、
前記制御回路を使用して、前記第2のクエリ内の第2のトークンを判定するステップと、
前記制御回路を使用して、前記第1のトークンに関する第1のエンティティデータを識別するステップであって、前記第1のエンティティデータは、
前記第1のトークンに関する第1のエンティティタイプと、
前記第1のエンティティタイプが前記第1のトークンに対応する第1の確率と、
前記第1のトークンに関する第2のエンティティタイプと、
前記第2のエンティティタイプが前記第1のトークンに対応する第2の確率と
を含む、ステップと、
前記制御回路を使用して、前記第2のトークンに関する第2のエンティティデータを識別するステップであって、前記第2のエンティティデータは、
前記第2のトークンに関する第3のエンティティタイプと、
前記第3のエンティティタイプが前記第2のトークンに対応する第3の確率と、
前記第2のトークンに関する第4のエンティティタイプと、
前記第4のエンティティタイプが前記第2のトークンに対応する第4の確率と
を含む、ステップと、
知識グラフから、前記第1のエンティティデータと前記第2のエンティティデータとの間の1つまたはそれを上回るグラフ接続を読み出すステップと、
前記制御回路を使用して、前記第1のトークン、前記第2のトークン、前記第1のエンティティデータ、前記第2のエンティティデータ、および前記1つまたはそれを上回るグラフ接続を入力として人工ニューラルネットワークに適用するステップと、
前記制御回路を使用して、前記人工ニューラルネットワークから、前記第1のクエリと前記第2のクエリとの間の会話継続性のタイプを示す出力を判定するステップと、
前記制御回路を使用して、前記会話継続性のタイプに基づいて、前記第2のクエリを更新するステップと、
前記データベースから、前記更新された第2のクエリに関する第2の検索結果を読み出すステップと、
表示のために、制御回路を使用して、前記第2の検索結果を生成するステップと
を含む、方法。
(項目42)
前記第1のクエリ内の第1のトークンを判定するステップは、
前記制御回路を使用して、前記第1のクエリ内の第1の用語および第2の用語を識別するステップと、
前記制御回路を使用して、前記第1の用語が挿入語であることを判定するステップと、
前記制御回路を使用して、前記第2の用語が挿入語ではないことを判定するステップと、
前記制御回路を使用して、前記第2の用語を前記第1のトークンに割り当てるステップと
を含む、項目41に記載の方法。
(項目43)
前記第1のエンティティデータと前記第2のエンティティデータとの間の1つまたはそれを上回るグラフ接続を読み出すステップは、
前記知識グラフから、前記第1のエンティティタイプである前記第1のトークンと前記第3のエンティティタイプである前記第2のトークンと間の第1のグラフ接続を読み出すステップと、
前記知識グラフから、前記第2のエンティティタイプである前記第1のトークンと前記第3のエンティティタイプである前記第2のトークンと間の第2のグラフ接続を読み出すステップと、
前記知識グラフから、前記第1のエンティティタイプである前記第1のトークンと前記第4のエンティティタイプである前記第2のトークンと間の第3のグラフ接続を読み出すステップと、
前記知識グラフから、前記第2のエンティティタイプである前記第1のトークンと前記第4のエンティティタイプである前記第2のトークンと間の第4のグラフ接続を読み出すステップと
を含む、項目41-42のいずれかに記載の方法。
(項目44)
前記第1のトークン、前記第2のトークン、前記第1のエンティティデータ、前記第2のエンティティデータ、および前記1つまたはそれを上回るグラフ接続を入力として前記人工ニューラルネットワークに適用するステップは、
前記制御回路を使用して、前記第1のトークンに関する第1の値を前記人工ニューラルネットワークの入力層の第1の加重で乗算するステップと、
前記制御回路を使用して、前記第2のトークンに関する第2の値を前記人工ニューラルネットワークの入力層の第2の加重で乗算するステップと、
前記制御回路を使用して、前記第1のエンティティデータに関する1つまたはそれを上回る値を前記人工ニューラルネットワークの入力層の1つまたはそれを上回る加重で乗算するステップと、
前記制御回路を使用して、前記第2のエンティティデータに関する1つまたはそれを上回る値を前記人工ニューラルネットワークの入力層の1つまたはそれを上回る加重で乗算するステップと、
前記制御回路を使用して、前記1つまたはそれを上回るグラフ接続に関する1つまたはそれを上回る値を前記人工ニューラルネットワークの入力層の1つまたはそれを上回る加重で乗算するステップと
を含む、項目41-43のいずれかに記載の方法。
(項目45)
前記人工ニューラルネットワークから、前記第1のクエリと前記第2のクエリとの間の会話継続性のタイプを示す出力を判定するステップは、
前記制御回路を使用して、前記人工ニューラルネットワーク内の隠れ層への1つまたはそれを上回る入力を前記隠れ層内の対応する1つまたはそれを上回る加重で乗算するステップと、
前記制御回路を使用して、前記乗算から結果として生じる値を加算し、前記出力値を判定するステップと
を含む、項目41-44のいずれかに記載の方法。
(項目46)
前記会話継続性のタイプに基づいて、前記第2のクエリを更新するステップは、
前記制御回路を使用して、前記会話継続性のタイプがマージタイプであることを識別するステップと、
前記制御回路を使用して、前記会話継続性のタイプが前記マージタイプであることの識別に基づいて、前記第2のクエリと前記第1のクエリをマージするステップと
を含む、項目41-45のいずれかに記載の方法。
(項目47)
前記会話継続性のタイプに基づいて、前記第2のクエリを更新するステップは、
前記制御回路を使用して、前記会話継続性のタイプが置換タイプであることを識別するステップと、
前記会話継続性のタイプが前記置換タイプであることの識別に基づいて、
前記制御回路を使用して、前記第1のクエリの一部に取って代わる前記第2のクエリの一部を判定するステップと、
前記制御回路を使用して、前記第2のクエリが前記第2のクエリの前記一部と置換される前記第1のクエリの前記一部を伴う前記第1のクエリであることを判定するステップと
を含む、項目41-46のいずれかに記載の方法。
(項目48)
前記会話継続性のタイプに基づいて、前記第2のクエリを更新するステップは、
前記制御回路を使用して、前記会話継続性のタイプが分類タイプであることを識別するステップと、
前記会話継続性のタイプが前記分類タイプであることの識別に基づいて、
前記制御回路を使用して、前記第2のクエリに基づいて、前記第1のクエリ内の第1のトークンに関する代替エンティティタイプを判定するステップと、
前記制御回路を使用して、前記第2のクエリが前記代替エンティティタイプである前記第1のトークンを伴う前記第1のクエリであることを判定するステップと
を含む、項目41-47のいずれかに記載の方法。
(項目49)
前記会話継続性のタイプに基づいて、前記第2のクエリを更新するステップは、
前記制御回路を使用して、前記会話継続性のタイプが無継続性タイプであることを識別するステップと、
前記会話継続性のタイプが前記無継続性タイプであることの識別に基づいて、前記制御回路を使用して、前記第2のクエリを前記更新された第2のクエリに割り当てるステップと
を含む、項目41-48のいずれかに記載の方法。
(項目50)
前記ユーザ入力デバイスから、前記判定された会話継続性のタイプが正しくないことのインジケーションおよび訂正された会話継続性のタイプを受信するステップと、
前記制御回路を使用して、前記訂正された会話継続性のタイプに基づいて、前記人工ニューラルネットワーク内の1つまたはそれを上回る加重を更新するステップと
をさらに含む、項目41-49のいずれかに記載の方法。
【図面の簡単な説明】
【0023】
本開示の上記および他の目的および利点は、類似参照文字が全体を通して類似部品を指す、添付図面と併せて解釈される、以下の詳細な説明を考慮することによって明白となるであろう。
【0024】
【
図1】
図1は、本開示のいくつかの実施形態による、メディアガイドアプリケーションによって生成される表示画面の例証的実施例を示す。
【
図2】
図2は、本開示のいくつかの実施形態による、メディアガイドアプリケーションによって生成される表示画面の別の例証的実施例を示す。
【
図3】
図3は、本開示のいくつかの実施形態による、メディアガイドアプリケーションによって生成される表示画面のさらに別の例証的実施例を示す。
【
図4】
図4は、本開示のいくつかの実施形態による、知識グラフを示す。
【
図5】
図5は、本開示のいくつかの実施形態による、人工ニューラルネットワークを示す。
【
図6】
図6は、本開示のいくつかの実施形態による、メディアガイドアプリケーションによって生成される表示画面のさらに別の例証的実施例を示す。
【
図7】
図7は、本開示のいくつかの実施形態による、メディアガイドアプリケーションによって生成される表示画面のさらに別の例証的実施例を示す。
【
図8】
図8は、本開示のいくつかの実施形態による、例証的ユーザ機器デバイスのブロック図である。
【
図9】
図9は、本開示のいくつかの実施形態による、例証的メディアシステムのブロック図である。
【
図10】
図10は、本開示のいくつかの実施形態による、第1のクエリおよび第2のクエリを含む自然言語会話において会話継続性のタイプを判定するための例証的プロセスのフローチャートである。
【
図11】
図11は、本開示のいくつかの実施形態による、自然言語クエリにおける1つまたはそれを上回るトークンを判定するための例証的プロセスのフローチャートである。
【
図12】
図12は、本開示のいくつかの実施形態による会話継続性のタイプに基づいて、第2のクエリを更新するための例証的プロセスのフローチャートである。
【発明を実施するための形態】
【0025】
人工ニューラルネットワークを利用してコンテキストを継続するかどうかについて会話システムを訓練する新規技法を介して、従来の会話システムにおける欠点に対処するためのシステムおよび方法が、説明される。いくつかの側面では、制御回路、例えば、制御回路804(
図8)を使用して実装される双方向メディアガイドアプリケーションにおいて、ユーザはテキストクエリを介して、メディアアセットを要求してもよい。いくつかの側面では、制御回路、例えば、制御回路804(
図8)を使用して実装される双方向メディアガイドアプリケーションにおいて、ユーザは、自然言語クエリを介して、メディアアセットを要求してもよい。双方向メディアガイドアプリケーションは、会話システムを含み、クエリを処理し、前のクエリから次のクエリに会話継続性が存在するかどうかを判定してもよい。
【0026】
図1は、双方向メディアガイドアプリケーションによって生成される表示画面100の例証的実施例を示す。ユーザは、クエリ102「Tom Cruiseの映画」を介して、メディアアセットを要求する。双方向メディアガイドアプリケーションは、検索結果をデータベース、例えば、メディアコンテンツソース916(
図9)から読み出し、表示のために、応答104内に検索結果を生成する。ユーザは、クエリ106「Nicole Kidman出演」を入力する。双方向メディアガイドアプリケーションは、会話継続性のタイプが本状況ではマージ継続性であることを判定する。そのような状況では、前および次のクエリは、マージされ、次のクエリは、前のクエリの継続である。2つのクエリ102および106は、マージされ、検索結果は、マージされたクエリに基づいて読み出される。双方向メディアガイドアプリケーションは、検索結果をデータベース、例えば、メディアコンテンツソース916(
図9)から読み出し、表示のために、検索結果を応答108内に生成する。
【0027】
図2は、双方向メディアガイドアプリケーションによって生成される表示画面200の別の例証的実施例を示す。ユーザは、クエリ202「今夜Red Soxの試合がある?」を介して、メディアアセットを要求する。双方向メディアガイドアプリケーションは、検索結果をデータベース、例えば、メディアコンテンツソース916(
図9)から読み出し、表示のために、検索結果を応答204内に生成する。ユーザは、クエリ206「明日はどう?」を入力する。双方向メディアガイドアプリケーションは、会話継続性のタイプが本状況では置換継続性であることを判定する。そのような状況では、前のクエリの一部は、次のクエリの一部と置換される。クエリ206からの用語「明日」は、クエリ202内の「今夜」に取って代わる。双方向メディアガイドアプリケーションは、検索結果をデータベース、例えば、メディアコンテンツソース916(
図9)から読み出し、表示のために、検索結果を応答208内に生成する。
【0028】
図3は、双方向メディアガイドアプリケーションによって生成される表示画面300のさらに別の例証的実施例を示す。ユーザは、クエリ302「いくつかBeethovenの映画を見せて」を介して、メディアアセットを要求する。双方向メディアガイドアプリケーションは、検索結果をデータベース、例えば、メディアコンテンツソース916(
図9)から読み出し、表示のために、検索結果を応答304内に生成する。ユーザは、クエリ306「つまり、犬の」を入力する。双方向メディアガイドアプリケーションは、会話継続性のタイプが本状況では分類継続性であることを判定する。そのような状況では、次のクエリは、さらなるエンティティを前のクエリに追加することとは対照的に、前のクエリからの前のエンティティを分類する。クエリ306からの「つまり」特徴は、さらなるエンティティを会話の中に追加することとは対照的に、クエリ302内の前のエンティティを分類する。クエリ302は、クエリ306内のエンティティタイプに基づいて更新される。双方向メディアガイドアプリケーションは、検索結果をデータベース、例えば、メディアコンテンツソース916(
図9)から読み出し、表示のために、検索結果を応答308内に生成する。
【0029】
図4は、本開示のいくつかの実施形態による、知識グラフ400を示す。双方向メディアガイドアプリケーションは、メモリ、例えば、記憶装置808(
図8)内に記憶される知識グラフからエンティティ間のグラフ接続を読み出してもよい。例えば、双方向メディアガイドアプリケーションは、ノード402「Tom Cruise」およびノード408「Nicole Kidman」に共通のグラフ接続、すなわち、両方の俳優が主演である映画に関するノード410および412を読み出し得る。ノード416は、両方とも俳優であることを示す。ノード404および406は、ノード414によって示されるように、映画であって、また、ノード402とのグラフ接続によって示されるように、「Tom Cruise」が出演している。別の実施例では、双方向メディアガイドアプリケーションは、スポーツの試合「Yankees対Red Sox」に関するノード418「Red Sox」とノード428との間のグラフ接続を読み出してもよい。ノード432は、試合が「Fox」チャネルで放送されることを示す(映画「The Queen」ノード412と同じく)。ノード428とノード424「Yankeeスタジアム」との間のグラフ接続は、スポーツの試合(ノード422)がYankees(ノード430)のためのスタジアムで開催されることを示す。ノード418「Red Sox」とノード420との間のグラフ接続は、それらがスポーツチームであることを示す。ノード418と426との間のグラフ接続は、そのスタジアムが「Fenway Park」であることを示す。さらに別の実施例では、双方向メディアガイドアプリケーションは、ノード434「Beethoven」とノード440「犬」との間のグラフ接続を読み出してもよい。共通ノード442および444は、それらが「犬」である「Beethoven」が主演である映画であることを示す。代替として、双方向メディアガイドアプリケーションは、ノード434「Beethoven」とノード446「音楽家」との間のグラフ接続を読み出してもよい。共通ノード436および428は、それらが「音楽家」である「Beethoven」が主演である映画であることを示す。
【0030】
図5は、本開示のいくつかの実施形態による、人工ニューラルネットワーク500を示す。双方向メディアガイドアプリケーション内に実装される会話システムは、人工ニューラルネットワークを使用して訓練され、クエリを横断してコンテキストを継続するべきかどうかを判定してもよい。入力層では、人工ニューラルネットワークは、前および次のクエリ502および506の例および関連付けられたエンティティデータがフィードされてもよい。入力として人工ニューラルネットワークの中に提供される特徴は、前および現在のクエリの単語/トークンと、各トークンが指すエンティティタイプの確率(例えば、Rは、R指定を指すとともに、「R」という名称の映画も指し得る)と、種々のエンティティ間のグラフ接続と、他の好適な特徴とを含んでもよい。特徴は、異なる入力502および506としてネットワークにフィードされる。ネットワークは、1つまたはそれを上回る隠れ層512を有し、次いで、会話継続性のタイプを示すマルチクラスを示す、出力518を作成してもよい(必要に応じて、516において正規化される)。初期層504、508が、追加され、常用語または挿入語、例えば、冠詞をフィルタリングし、潜在的特徴として作用し得る単語のみを検討してもよい。前および次のクエリ内の全単語および語句が、次いで、潜在的特徴として検討される。さらに、クエリ内のエンティティは、エンティティタイプによって置換されてもよい。例えば、「Tom Cruise出演の映画」は、「~出演の映画」と置換されてもよい。このように、特定の実施例は、クエリの全体的クラスを表すことができる。
【0031】
人工ニューラルネットワークの訓練は、コンテキストが保存される、前-次のクエリの複数の例をフィードすることと、コンテキストが保存されない、前-次のクエリの複数の例をフィードすることとを伴ってもよい。加重510および514が、訓練が進行するにつれて更新されてもよい。隠れ層512の数は、人工ニューラルネットワークの正確度を制御するために使用され得る、パラメータであり得る。いったん人工ニューラルネットワークが訓練されると、出力518を介して、実際のユーザクエリ内のコンテキスト切替を検出するために使用されることができる。本方法の1つの利点は、あらゆる可能性として考えられる状況を経時的に学習し得るように、失敗する度に、ネットワークをより多くの例で持続的に訓練する能力である。例えば、ユーザは、ネットワークがコンテキスト切替の検出に失敗する、または存在しない場合にコンテキスト切替を示すとき、フィードバックを提供してもよい。
【0032】
例えば、双方向メディアガイドアプリケーションは、第1のクエリ「Tom Cruiseの映画」と、第2のクエリ「Nicole Kidman出演」とを受信し得る。双方向メディアガイドアプリケーションは、第1のクエリをトークン「~の映画」と「Tom Cruise」とに単離し、第2のクエリをトークン「出演」と「Nicole Kidman」とに単離してもよい。双方向メディアガイドアプリケーションは、トークン「Tom Cruise」に関する可能性として考えられるエンティティタイプ「俳優」と、トークンがそのエンティティタイプに属する確率が0.99であることと、別の可能性として考えられるエンティティタイプ「場所」と、トークンがそのエンティティタイプに属する確率が0.01であることとを判定してもよい。双方向メディアガイドアプリケーションは、トークン「Nicole Kidman」に関する可能性として考えられるエンティティタイプ「俳優」と、トークンがそのエンティティタイプに属する確率が1であることとを判定してもよい。
【0033】
トークンを横断して可能性として考えられるエンティティタイプのペア毎に、双方向メディアガイドアプリケーションは、可能性として考えられるエンティティタイプのペアに関するグラフ接続を読み出してもよい。双方向メディアガイドアプリケーションは、本データを人工ニューラルネットワーク500の入力に適用してもよい。双方向メディアガイドアプリケーションは、第1および第2のクエリ間の会話継続性と、会話継続性のタイプとを示す、出力518を受信してもよい。例えば、双方向メディアガイドアプリケーションは、第1のクエリと第2のクエリとの間にマージタイプの会話継続性が存在することを示す、出力を受信してもよい。双方向メディアガイドアプリケーションは、第2のクエリと第1のクエリをマージすることによって、第2のクエリを更新してもよく、すなわち、「Tom CruiseとNicole Kidmanの映画」となる。双方向メディアガイドアプリケーションは、第2のクエリに関する結果を受信する。
【0034】
任意の所与のコンテンツ配信システムでユーザに利用可能なコンテンツの量が、膨大であり得る。その結果、多くのユーザは、ユーザがコンテンツの選択を効率的にナビゲートし、所望し得るコンテンツを容易に識別することを可能にする、インターフェースを通したメディアガイドの形態を所望している。そのようなガイドを提供するアプリケーションは、本明細書では、双方向メディアガイドアプリケーションと称されるが、メディアガイドアプリケーションまたはガイドアプリケーションと称されることもある。
【0035】
双方向メディアガイドアプリケーションは、ガイドを提供するコンテンツに応じて、種々の形態をとってもよい。典型的なタイプのメディアガイドアプリケーションの1つは、双方向テレビ番組ガイドである。双方向テレビ番組ガイド(電子番組ガイドと称される場合もある)は、とりわけ、ユーザが、多くのタイプのコンテンツまたはメディアアセット間をナビゲートし、それを特定することが可能である、公知のガイドアプリケーションである。双方向メディアガイドアプリケーションは、ユーザが、コンテンツ間をナビゲートし、それを特定および選択することを可能にする、グラフィカルユーザインターフェース画面を生成してもよい。本明細書で参照されるように、用語「メディアアセット」および「コンテンツ」とは、電子的に消費可能なユーザアセット、例えば、テレビ番組、および有料番組、オンデマンド番組(ビデオオンデマンド(VOD)システムにおけるような)、インターネットコンテンツ(例えば、ストリーミングコンテンツ、ダウンロード可能コンテンツ、ウェブキャスト等)、ビデオクリップ、オーディオ、コンテンツ情報、写真、回転画像、ドキュメント、再生一覧、ウェブサイト、記事、書籍、電子書籍、ブログ、チャットセッション、ソーシャルメディア、アプリケーション、ゲーム、および/または任意の他のメディアまたはマルチメディア、および/またはそれらの組み合わせを意味すると理解されたい。ガイドアプリケーションはまた、ユーザが、コンテンツ間をナビゲートし、それを特定することを可能にする。本明細書で参照されるように、用語「マルチメディア」とは、前述の少なくとも2つの異なるコンテンツ形態、例えば、テキスト、オーディオ、画像、ビデオ、または双方向コンテンツ形態を利用する、コンテンツを意味すると理解されたい。コンテンツは、ユーザ機器デバイスによって、録画、再生、表示、またはアクセスされてもよいが、また、ライブパーフォーマンスの一部であることも可能である。
【0036】
本明細書で論じられる実施形態のいずれかを行うためのメディアガイドアプリケーションおよび/または任意の命令は、コンピュータ可読媒体上に符号化されてもよい。コンピュータ可読媒体は、データを記憶することが可能な任意のメディアを含む。コンピュータ可読媒体は、限定ではないが、電気または電磁信号の伝搬を含む、一過性であってもよく、または限定ではないが、ハードディスク、フロッピー(登録商標)ディスク、USBドライブ、DVD、CD、メディアカード、レジスタメモリ、プロセッサキャッシュ、ランダムアクセスメモリ(「RAM」)等の揮発性および不揮発性コンピュータメモリまたは記憶デバイスを含む、非一過性であってもよい。
【0037】
インターネット、モバイルコンピューティング、および高速無線ネットワークの出現に伴って、ユーザは、従来は使用しなかったユーザ機器デバイス上でメディアにアクセスするようになっている。本明細書で参照されるように、語句「ユーザ機器デバイス」、「ユーザ機器」、「ユーザデバイス」、「電子デバイス」、「電子機器」、「メディア機器デバイス」、または「メディアデバイス」は、テレビ、スマートTV、セットトップボックス、衛星テレビに対応するための統合型受信機デコーダ(IRD)、デジタル記憶デバイス、デジタルメディア受信機(DMR)、デジタルメディアアダプタ(DMA)、ストリーミングメディアデバイス、DVDプレーヤ、DVDレコーダ、接続型DVD、ローカルメディアサーバ、BLU-RAY(登録商標)プレーヤ、BLU-RAY(登録商標)レコーダ、パーソナルコンピュータ(PC)、ラップトップコンピュータ、タブレットコンピュータ、ウェブTVボックス、パーソナルコンピュータテレビ(PC/TV)、PCメディアサーバ、PCメディアセンター、ハンドヘルドコンピュータ、固定電話、携帯情報端末(PDA)、携帯電話、ポータブルビデオプレーヤ、ポータブル音楽プレーヤ、ポータブルゲーム機、スマートフォン、または任意の他のテレビ機器、コンピューティング機器、または無線デバイス、および/またはそれらの組み合わせ等の前述のコンテンツにアクセスするための任意のデバイスを意味すると理解されたい。いくつかの実施形態では、ユーザ機器デバイスは、正面画面および裏面画面、複数の正面画面、または複数の角度付き画面を有してもよい。いくつかの実施形態では、ユーザ機器デバイスは、正面カメラおよび/または背面カメラを有してもよい。これらのユーザ機器デバイス上で、ユーザは、テレビを通して利用可能な同一のコンテンツ間をナビゲートし、それを特定することが可能であってもよい。その結果として、メディアガイドは、これらのデバイス上でも利用可能であってもよい。提供されるガイドは、テレビのみを通して利用可能なコンテンツ、他のタイプのユーザ機器デバイスのうちの1つまたはそれを上回るものみを通して利用可能なコンテンツ、またはテレビおよび他のタイプのユーザ機器デバイスのうちの1つまたはそれを上回るもの両方を通して利用可能なコンテンツのためのものであってもよい。メディアガイドアプリケーションは、ユーザ機器デバイス上で、オンラインアプリケーション(すなわち、ウェブサイト上で提供される)、または独立型アプリケーションまたはクライアントとして提供されてもよい。メディアガイドアプリケーションを実装し得る、種々のデバイスおよびプラットフォームは、以下でより詳細に説明される。
【0038】
メディアガイドアプリケーションの機能の1つは、メディアガイドデータをユーザに提供することである。本明細書で参照されるように、語句「メディアガイドデータ」または「ガイドデータ」は、コンテンツに関連する任意のデータ、またはガイドアプリケーションを動作させる際に使用されるデータを意味すると理解されたい。例えば、ガイドデータは、番組情報、ガイドアプリケーション設定、ユーザ選好、ユーザプロファイル情報、メディア一覧、メディア関連情報(例えば、放送時間、放送チャンネル、タイトル、内容、評価情報(例えば、ペアレンタルコントロール評価、批評家の評価等)、ジャンルまたはカテゴリ情報、俳優情報、放送会社またはプロバイダのロゴのロゴデータ等)、メディア形式(例えば、標準解像度、高解像度、3D等)、オンデマンド情報、ブログ、ウェブサイト、およびユーザが所望のコンテンツ選択間をナビゲートし、それを特定するために役立つ、任意の他のタイプのガイドデータを含んでもよい。
【0039】
図6-7は、メディアガイドデータを提供するために使用され得る、例証的表示画面を示す。
図6-7に示される表示画面は、任意の好適なユーザ機器デバイスまたはプラットフォーム上に実装されてもよい。
図6-7の表示は、フル画面表示として図示されているが、それらはまた、表示されているコンテンツ上に完全または部分的にオーバーレイされてもよい。ユーザは、表示画面に提供された選択可能なオプション(例えば、メニューオプション、一覧オプション、アイコン、ハイパーリンク等)を選択することによって、またはリモートコントロールまたは他のユーザ入力インターフェースまたはデバイス上の専用ボタン(例えば、「ガイド」ボタン)を押下することによって、コンテンツ情報へのアクセス要望を指示してもよい。ユーザの指示に応答して、メディアガイドアプリケーションは、グリッド内の時間およびチャンネル別、時間別、チャンネル別、ソース別、コンテンツタイプ別、カテゴリ別(例えば、映画、スポーツ、ニュース、子供向け、または他の番組カテゴリ)、または他の所定、ユーザ定義、または他の編成基準等のいくつかの方法のうちの1つにおいて編成されたメディアガイドデータを伴う表示画面を提供してもよい。
【0040】
図6は、単一表示内の異なるタイプのコンテンツへのアクセスも可能にする、時間およびチャンネル別に配列された番組一覧表示600の例証的グリッドを示す。表示600は、以下を伴うグリッド602を含んでもよい:(1)各チャンネル/コンテンツタイプ識別子(列内のセル)が利用可能な異なるチャンネルまたはコンテンツのタイプを識別する、チャンネル/コンテンツタイプ識別子604の列、および(2)各時間識別子(行内のセル)が番組の時間帯を識別する、時間識別子606の行。グリッド602はまた、番組一覧608等の番組一覧のセルも含み、各一覧は、一覧の関連チャンネルおよび時間の上に提供される、番組のタイトルを提供する。ユーザ入力デバイスを用いて、ユーザは、ハイライト領域610を移動させることによって番組一覧を選択することができる。ハイライト領域610によって選択される番組一覧に関する情報が、番組情報領域612内に提供されてもよい。領域612は、例えば、番組タイトル、番組内容、番組が提供される時間(該当する場合)、番組が放送されるチャンネル(該当する場合)、番組の評価、および他の所望の情報を含んでもよい。
【0041】
線形番組(例えば、所定の時間に複数のユーザ機器デバイスに伝送されるようにスケジューリングされ、スケジューリングに従って提供される、コンテンツ)へのアクセスの提供に加え、メディアガイドアプリケーションはまた、非線形番組(例えば、任意の時間においてユーザ機器デバイスにアクセス可能であって、スケジューリングに従って提供されない、コンテンツ)へのアクセスも提供する。非線形番組は、オンデマンドコンテンツ(例えば、VOD)、インターネットコンテンツ(例えば、ストリーミングメディア、ダウンロード可能メディア等)、ローカルに記憶したコンテンツ(例えば、前述の任意のユーザ機器デバイスまたは他の記憶デバイス上に記憶されたコンテンツ)、または時間的制約のない他のコンテンツを含む、異なるコンテンツソースからのコンテンツを含んでもよい。オンデマンドコンテンツは、映画または特定のコンテンツプロバイダ(例えば、「The Sopranos」や「Curb Your Enthusiasm」を提供するHBO On Demand)によって提供される任意の他のコンテンツを含んでもよい。HBO ON DEMANDは、Time WarnerCompany L.P.らによって所有されるサービスマークであり、THE SOPRANOSおよびCURB YOUR ENTHUSIASMは、Home Box Office, Inc.によって所有される商標である。インターネットコンテンツは、チャットセッションまたはウェブキャスト等のウェブイベント、またはインターネットウェブサイトまたは他のインターネットアクセス(例えば、FTP)を通して、ストリーミングコンテンツまたはダウンロード可能なコンテンツとしてオンデマンドで利用可能なコンテンツを含んでもよい。
【0042】
グリッド602は、オンデマンド一覧614、録画コンテンツ一覧616、およびインターネットコンテンツ一覧618を含む、非線形番組のメディアガイドデータを提供してもよい。異なるタイプのコンテンツソースからのコンテンツのためのメディアガイドデータを組み合わせる表示は、「混合メディア」表示と称されることもある。表示600とは異なる、表示され得るメディアガイドデータのタイプの種々の順列は、ユーザ選択またはガイドアプリケーション定義に基づいてもよい(例えば、録画および放送一覧のみの表示、オンデマンドおよび放送一覧のみの表示等)。例証されるように、一覧614、616、および618は、これらの一覧の選択が、それぞれ、オンデマンド一覧、録画一覧、またはインターネット一覧専用の表示へのアクセスを提供し得ることを示すように、グリッド602内に表示される時間帯全体に及ぶものとして示されている。いくつかの実施形態では、これらのコンテンツタイプの一覧は、グリッド602に直接含まれてもよい。ユーザがナビゲーションアイコン620のうちの1つを選択することに応答して、付加的メディアガイドデータが表示されてもよい(ユーザ入力デバイス上の矢印キーを押下することによって、ナビゲーションアイコン620を選択することと同様に表示に影響を及ぼしてもよい)。
【0043】
表示600はまた、ビデオ領域622、およびオプション領域626を含んでもよい。ビデオ領域622は、ユーザが、現在利用可能である、今後利用可能となる、またはユーザに利用可能であった番組を視聴および/またはプレビューすることを可能にしてもよい。ビデオ領域622のコンテンツは、グリッド602に表示される一覧のうちの1つに対応するか、またはそれから独立してもよい。ビデオ領域を含むグリッド表示は、ピクチャインガイド(PIG)表示と称されることもある。PIG表示およびそれらの機能は、2003年5月13日発行のSatterfieldらの米国特許第6,564,378号、および2001年5月29日発行のYuenらの米国特許第6,239,794号でさらに詳細に説明されており、それらは全体として参照することによって本明細書に組み込まれる。PIG表示は、本明細書に説明される実施形態の他のメディアガイドアプリケーション表示画面に含まれてもよい。
【0044】
オプション領域626は、ユーザが、異なるタイプのコンテンツ、メディアガイドアプリケーション表示、および/またはメディアガイドアプリケーション特徴にアクセスすることを可能にしてもよい。オプション領域626は、ディプレイ600(および本明細書に説明される他の表示画面)の一部であってもよく、または画面上のオプションを選択すること、またはユーザ入力デバイス上の専用または割当可能ボタンを押下することによって、ユーザによって呼び出されてもよい。オプション領域626内の選択可能オプションは、グリッド602内の番組一覧に関連する特徴に関してもよく、またはメインメニュー表示から利用可能なオプションを含んでもよい。番組一覧に関連する特徴は、他の放送時間または番組の受信方法の検索、番組の録画、番組の連続録画の有効化、番組および/またはチャンネルをお気に入りとして設定、番組の購入、または他の特徴を含んでもよい。メインメニュー表示から利用可能なオプションは、検索オプション、VODオプション、ペアレンタルコントロールオプション、インターネットオプション、クラウドベースのオプション、デバイス同期オプション、第2の画面デバイスオプション、種々のタイプのメディアガイドデータ表示にアクセスするためのオプション、プレミアムサービスを購読するためのオプション、ユーザのプロファイルを編集するためのオプション、ブラウザオーバーレイにアクセスするためのオプション、または他のオプションを含んでもよい。
【0045】
メディアガイドアプリケーションは、ユーザの選好に基づいて個人化されてもよい。個人化されたメディアガイドアプリケーションは、ユーザが、メディアガイドアプリケーションによって個人化された「体験」を生成するように、表示および特徴をカスタマイズすることを可能にする。この個人化された体験は、ユーザがこれらのカスタマイズを入力できるようにすることによって、および/または種々のユーザ選好を判定するようにメディアガイドアプリケーションがユーザ活動を監視することによって、生成されてもよい。ユーザは、ログインすることによって、または別様にガイドアプリケーションに対して自らを識別することによって、個人化されたガイドアプリケーションにアクセスしてもよい。メディアガイドアプリケーションのカスタマイズは、ユーザプロファイルに従って作成されてもよい。カスタマイズは、提示方式(例えば、表示の色方式、テキストのフォントサイズ等)、表示されるコンテンツ一覧の態様(例えば、HDTV番組のみまたは3D番組のみ、お気に入りチャンネルオプションに基づいたユーザ指定の放送チャンネル、チャンネルの表示の並び替え、推奨コンテンツ等)、所望の録画特徴(例えば、特定のユーザに対する録画または連続録画、録画品質等)、ペアレンタルコントロール設定、インターネットコンテンツのカスタマイズされた提示(例えば、ソーシャルメディアコンテンツ、電子メール、電子的に配信された記事等の提示)、および他の所望のカスタマイズを変更させるステップを含んでもよい。
【0046】
メディアガイドアプリケーションは、ユーザが、ユーザプロファイル情報を提供することを可能にしてもよく、またはユーザプロファイル情報を自動的にコンパイルしてもよい。メディアガイドアプリケーションは、例えば、ユーザがアクセスするコンテンツ、および/またはユーザがガイドアプリケーションと行ってもよい他の相互作用を監視してもよい。加えて、メディアガイドアプリケーションは、特定のユーザに関連する他のユーザプロファイルの全体または一部を取得し(例えば、www.allrovi.com等のユーザがアクセスするインターネット上の他のウェブサイトから、ユーザがアクセスする他のメディアガイドアプリケーションから、ユーザがアクセスする他の双方向アプリケーションから、ユーザの別のユーザ機器デバイスから等)、および/またはメディアガイドアプリケーションがアクセスし得る他のソースから、ユーザに関する情報を取得してもよい。結果として、ユーザの異なるユーザ機器デバイスにわたって、統一されたガイドアプリケーション体験をユーザに提供することができる。このタイプのユーザ体験は、
図9に関連して、以下でより詳細に説明される。付加的な個人化されたメディアガイドアプリケーション特徴は、2005年7月11日出願のEllisらの米国特許出願公開第2005/0251827号、2007年1月16日発行のBoyerらの米国特許出願第7,165,098号、および2002年2月21日発行のEllisらの米国特許出願第2002/0174430号でさらに詳細に説明されており、それらは全体として参照することにより本明細書に組み込まれる。
【0047】
メディアガイドを提供するための別の表示配列が、
図7に示されている。ビデオモザイク表示700は、コンテンツのタイプ、ジャンル、および/または他の編成基準に基づいて編成されたコンテンツ情報のための選択可能オプション702を含む。表示700では、テレビ一覧オプション704が、選択され、したがって、一覧706、708、710、および712を放送番組一覧として提供する。表示700では、一覧は、カバーアート、コンテンツからの静止画像、ビデオクリップのプレビュー、コンテンツからのライブビデオ、または一覧中のメディアガイドデータによって記述されているコンテンツをユーザに示す他のタイプのコンテンツを含む、グラフィック画像を提供してもよい。グラフィック一覧のそれぞれはまた、一覧と関連付けられたコンテンツに関するさらなる情報を提供するように、テキストを伴ってもよい。例えば、一覧708は、メディア部分714およびテキスト部分716を含む、1つより多くの部分を含んでもよい。メディア部分714および/またはテキスト部分716は、コンテンツをフル画面で視聴するように、またはメディア部分714に表示されるコンテンツに関連する情報を閲覧するように(例えば、ビデオが表示されるチャンネルの一覧を閲覧するように)、選択可能であってもよい。
【0048】
表示700中の一覧は、異なるサイズである(すなわち、一覧706は、一覧708、710、および712より大きい)が、所望の場合、全一覧が同一のサイズであってもよい。一覧は、コンテンツプロバイダの所望に応じて、またはユーザ選好に基づいて、ユーザに関心の程度を示すように、または、あるコンテンツを強調するように、異なるサイズであるか、またはグラフィックが強調されてもよい。コンテンツ一覧をグラフィック的に強調するための種々のシステムおよび方法は、例えば、全体として参照することにより本明細書に組み込まれる、2009年11月12日に出願されたYatesの米国特許出願公開第2010/0153885号で論じられている。
【0049】
ユーザは、そのユーザ機器デバイスのうちの1つまたはそれを上回るものから、コンテンツおよびメディアガイドアプリケーション(および前述および後述で説明されるその表示画面)にアクセスしてもよい。
図8は、例証的ユーザ機器デバイス800の汎用実施形態を示す。ユーザ機器デバイスのより具体的な実装は、
図9に関連して以下で論じられる。ユーザ機器デバイス800は、入出力(以下「I/O」)パス802を介して、コンテンツおよびデータを受信してもよい。I/Oパス802は、処理回路806および記憶装置808を含む制御回路804に、コンテンツ(例えば、放送番組、オンデマンド番組、インターネットコンテンツ、ローカルエリアネットワーク(LAN)または広域ネットワーク(WAN)を経由して利用可能なコンテンツ、および/または他のコンテンツ)およびデータを提供してもよい。制御回路804は、I/Oパス802を使用して、コマンド、要求、および他の好適なデータを送受信するために使用されてもよい。I/Oパス802は、制御回路804(具体的には、処理回路806)を1つまたはそれを上回る通信パス(以下で説明される)に接続してもよい。I/O機能は、これらの通信パスのうちの1つまたはそれを上回るものによって提供されてもよいが、図面が複雑になり過ぎることを回避するため、
図8では単一パスとして示されている。
【0050】
制御回路804は、処理回路806等の任意の好適な処理回路に基づいてもよい。本明細書で参照されるように、処理回路とは、1つまたはそれを上回るマイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ、プログラマブル論理デバイス、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)等に基づく回路を意味すると理解され、マルチコアプロセッサ(例えば、デュアルコア、クアドコア、ヘクサコア、または任意の好適な数のコア)またはスーパーコンピュータを含んでもよい。いくつかの実施形態では、処理回路は、複数の別個のプロセッサまたは処理ユニット、例えば、複数の同一のタイプの処理ユニット(例えば、2つのIntel Core i7プロセッサ)または複数の異なるプロセッサ(例えば、Intel Core i5プロセッサおよびIntel Core i7プロセッサ)にわたって分散されてもよい。いくつかの実施形態では、制御回路804は、メモリ(すなわち、記憶装置808)に記憶されたメディアガイドアプリケーションに対する命令を実行する。具体的には、制御回路804は、メディアガイドアプリケーションによって、前述および後述の機能を行うように命令されてもよい。例えば、メディアガイドアプリケーションは、制御回路804に、メディアガイド表示を生成するための命令を提供してもよい。いくつかの実装では、制御回路804によって行われるいかなるアクションも、メディアガイドアプリケーションから受信した命令に基づいてもよい。
【0051】
クライアントサーバに基づく実施形態では、制御回路804は、ガイドアプリケーションサーバまたは他のネットワークまたはサーバと通信するための好適な通信回路を含んでもよい。前述の機能性を実施するための命令は、ガイドアプリケーションサーバ上に記憶されてもよい。通信回路は、ケーブルモデム、総合デジタル通信網(ISDN)モデム、デジタル加入者回線(DSL)モデム、電話モデム、イーサネット(登録商標)カード、または他の機器との通信用無線モデム、または任意の他の好適な通信回路を含んでもよい。そのような通信は、インターネットまたは任意の他の好適な通信ネットワークまたはパスを伴ってもよい(
図9に関連してさらに詳細に説明される)。加えて、通信回路は、ユーザ機器デバイスのピアツーピア通信、または相互から遠隔の場所にあるユーザ機器デバイスの通信を可能にする回路を含んでもよい(以下でさらに詳細に説明される)。
【0052】
メモリは、制御回路804の一部である、記憶装置808として提供される、電子記憶デバイスであってもよい。本明細書で参照されるように、語句「電子記憶デバイス」または「記憶デバイス」とは、ランダム-アクセスメモリ、読取専用メモリ、ハードドライブ、光学ドライブ、デジタルビデオディスク(DVD)レコーダ、コンパクトディスク(CD)レコーダ、BLU-RAY(登録商標)ディスク(BD)レコーダ、BLU-RAY(登録商標) 3Dディスクレコーダ、デジタルビデオレコーダ(DVR(パーソナルビデオレコーダと呼ばれる場合もある、またはPVR)、固体デバイス、量子記憶デバイス、ゲームコンソール、ゲームメディア、または任意の他の好適な固定またはリムーバブル記憶デバイス、および/または任意のそれらの組み合わせ等の電子データ、コンピュータソフトウェア、またはファームウェアを記憶するための任意のデバイスを意味すると理解されたい。記憶装置808は、本明細書に説明される種々のタイプのコンテンツ、および前述のメディアガイドデータを記憶するために使用されてもよい。不揮発性メモリもまた、使用されてもよい(例えば、ブートアップルーチンや他の命令を起動するために)。
図9に関連して説明される、クラウドベースの記憶が、記憶装置808を補完するために使用される、または記憶装置808の代わりに使用されてもよい。
【0053】
制御回路804は、1つまたはそれを上回るアナログチューナ、1つまたはそれを上回るMPEG-2デコーダ、または他のデジタル復号回路、高解像度チューナ、または任意の他の好適な同調またはビデオ回路、またはそのような回路の組み合わせ等のビデオ生成回路および同調回路を含んでもよい。符号化回路(例えば、記憶のために、無線、アナログ、またはデジタル信号をMPEG信号に変換するためのもの)もまた、提供されてもよい。制御回路804はまた、コンテンツをユーザ機器800の好ましい出力形式に上方変換および下方変換するためのスケーラ回路を含んでもよい。回路804はまた、デジタルおよびアナログ信号間で変換するためのデジタルからアナログへの変換回路およびアナログからデジタルへの変換回路を含んでもよい。同調および符号化回路は、コンテンツを受信して表示する、再生する、または録画するために、ユーザ機器デバイスによって使用されてもよい。同調および符号化回路はまた、ガイドデータを受信するために使用されてもよい。例えば、同調、ビデオ生成、符号化、復号、暗号化、解読、スケーラ、およびアナログ/デジタル回路を含む、本明細書に説明される回路は、1つまたはそれを上回る汎用または特殊プロセッサ上で起動するソフトウェアを使用して実装されてもよい。複数のチューナが、同時同調機能に対処するように提供されてもよい(例えば、視聴および録画機能、ピクチャインピクチャ(PIP)機能、多重チューナ録画機能等)。記憶装置808が、ユーザ機器800とは別のデバイスとして提供される場合、同調および符号化回路(複数のチューナを含む)は、記憶装置808と関連付けられてもよい。
【0054】
ユーザは、ユーザ入力インターフェース810を使用して、命令を制御回路804に送信してもよい。ユーザ入力インターフェース810は、リモートコントロール、マウス、トラックボール、キーパッド、キーボード、タッチ画面、タッチパッド、スタイラス入力、ジョイスティック、音声認識インターフェース、または他のユーザ入力インターフェース等、任意の好適なユーザインターフェースであってもよい。ディスプレイ812は、独立型デバイスとして提供されるか、またはユーザ機器デバイス800の他の要素と統合してもよい。例えば、ディスプレイ812は、タッチスクリーンまたはタッチセンサ式表示であってもよい。そのような状況では、ユーザ入力インターフェース810は、ディスプレイ812と統合される、または組み合わせられてもよい。ディスプレイ812は、モニタ、テレビ、モバイルデバイスのための液晶ディスプレイ(LCD)、非晶質シリコンディスプレイ、低温ポリシリコンディスプレイ、電子インクディスプレイ、電気泳動ディスプレイ、アクティブマトリクスディスプレイ、エレクトロウェッティングディスプレイ、電気流体ディスプレイ、ブラウン管ディスプレイ、発光ダイオードディスプレイ、エレクトロルミネセントディスプレイ、プラズマ表示パネル、高性能アドレッシングディスプレイ、薄膜トランジスタディスプレイ、有機発光ダイオードディスプレイ、表面伝導型電子放出素子ディスプレイ(SED)、レーザテレビ、カーボンナノチューブ、量子ドットディスプレイ、干渉変調器ディスプレイ、または視覚的画像を表示するための任意の他の好適な機器のうちの1つまたはそれを上回るものであってもよい。いくつかの実施形態では、ディスプレイ812は、HDTV対応型であってもよい。いくつかの実施形態では、ディスプレイ812は、3D表示であってもよく、双方向メディアガイドアプリケーションおよび任意の好適なコンテンツは、3Dで表示されてもよい。ビデオカードまたはグラフィックカードは、出力をディスプレイ812に生成してもよい。ビデオカードは、3Dシーンおよび2Dグラフィックのレンダリング加速、MPEG-2/MPEG-4復号、TV出力、または複数のモニタを接続する能力等の種々の機能をもたらしてもよい。ビデオカードは、制御回路804に関連する前述の任意の処理回路であってもよい。ビデオカードは、制御回路804と統合されてもよい。スピーカ814は、ユーザ機器デバイス800の他の要素との統合として提供されてもよく、または独立型ユニットであってもよい。ディスプレイ812上に表示されるビデオおよび他のコンテンツのオーディオコンポーネントは、スピーカ814を通して再生されてもよい。いくつかの実施形態では、音声は、スピーカ814を介して音声を処理および出力する、受信機(図示せず)に配信されてもよい。
【0055】
ガイドアプリケーションは、任意の好適なアーキテクチャを使用して実装されてもよい。例えば、それは、ユーザ機器デバイス800上で完全に実装される、独立型アプリケーションであってもよい。そのようなアプローチでは、アプリケーションの命令は、ローカルに記憶され(例えば、記憶装置808内に)、アプリケーションによって使用するためのデータは、周期的にダウンロードされる(例えば、帯域外フィードから、インターネットリソースから、または別の好適なアプローチを使用して)。制御回路804は、記憶装置808からアプリケーションの命令を読み出し、本明細書で論じられる表示のいずれかを生成するための命令を処理してもよい。処理された命令に基づいて、制御回路804は、入力が入力インターフェース810から受信されるときに行うアクションを判定してもよい。例えば、表示上のカーソルの上/下への移動は、入力インターフェース810が上/下ボタンが選択されたことを示すとき、処理された命令によって示されてもよい。
【0056】
いくつかの実施形態では、メディアガイドアプリケーションは、クライアントサーバベースのアプリケーションである。ユーザ機器デバイス800上に実装される、シックまたはシンクライアントによって使用するためのデータは、ユーザ機器デバイス800の遠隔にあるサーバに要求を発行することによって、オンデマンドで読み出される。クライアントサーバベースのガイドアプリケーションの一実施例では、制御回路804は、遠隔サーバによって提供されるウェブページを解釈する、ウェブブラウザを実行する。例えば、遠隔サーバは、記憶デバイス内にアプリケーションのための命令を記憶してもよい。遠隔サーバは、回路(例えば、制御回路804)を使用して、記憶された命令を処理し、前述および後述の表示を生成してもよい。クライアントデバイスは、遠隔サーバによって生成される表示を受信してもよく、表示のコンテンツを機器デバイス800上でローカルに表示してもよい。このように、命令の処理は、サーバによって遠隔で行われる一方、結果として生じる表示は、機器デバイス800上にローカルに提供される。機器デバイス800は、入力インターフェース810を介して、ユーザからの入力を受信し、対応する表示を処理および生成するために、それらの入力を遠隔サーバに伝送してもよい。例えば、機器デバイス800は、上/下ボタンが入力インターフェース810を介して選択されたことを示す、通信を遠隔サーバに伝送してもよい。遠隔サーバは、その入力に従って命令を処理し、入力に対応するアプリケーションの表示を生成してもよい(例えば、カーソルを上/下に移動させる表示)。生成された表示は、次いで、ユーザへの提示のために、機器デバイス800に伝送される。
【0057】
いくつかの実施形態では、メディアガイドアプリケーションは、インタープリタまたは仮想マシン(制御回路804によって起動される)によって、ダウンロードされ、解釈または別様に起動される。いくつかの実施形態では、ガイドアプリケーションは、ETVバイナリ交換形式(ETV Binary Interchange Format/EBIF)で符号化され、好適なフィードの一部として制御回路804によって受信され、制御回路804上で起動するユーザエージェントによって解釈されてもよい。例えば、ガイドアプリケーションは、EBIFアプリケーションであってもよい。いくつかの実施形態では、ガイドアプリケーションは、制御回路804によって実行されるローカル仮想マシンまたは他の好適なミドルウェアによって受信および起動される、一連のJAVA(登録商標)ベースのファイルによって定義されてもよい。そのような実施形態のうちのいくつか(例えば、MPEG-2または他のデジタルメディア符号化スキームを採用するもの)では、ガイドアプリケーションは、例えば、番組のMPEGオーディオおよびビデオパケットを用いたMPEG-2オブジェクトカルーセルにおいて符号化および伝送されてもよい。
【0058】
図8のユーザ機器デバイス800は、ユーザテレビ機器902、ユーザコンピュータ機器904、無線ユーザ通信デバイス906、または非携帯型ゲーム機等のコンテンツにアクセスするために好適な任意の他のタイプのユーザ機器として、
図9のシステム900に実装することができる。簡単にするために、これらのデバイスは、本明細書では総称して、ユーザ機器またはユーザ機器デバイスと称されてもよく、前述のユーザ機器デバイスに実質的に類似してもよい。メディアガイドアプリケーションが実装され得る、ユーザ機器デバイスは、独立型デバイスとして機能してもよく、またはデバイスのネットワークの一部であってもよい。デバイスの種々のネットワーク構成が実装されてもよく、以下でさらに詳細に論じられる。
【0059】
図8に関連して前述のシステム特徴のうちの少なくともいくつかを利用する、ユーザ機器デバイスは、単に、ユーザテレビ機器902、ユーザコンピュータ機器904、または無線ユーザ通信デバイス906として分類されなくてもよい。例えば、ユーザテレビ機器902は、いくつかのユーザコンピュータ機器904のように、インターネットコンテンツへアクセスすることを可能にするインターネット対応型であってもよい一方で、ユーザコンピュータ機器904は、いくつかのテレビ機器902のように、テレビ番組へアクセスすることを可能にするチューナを含んでもよい。メディアガイドアプリケーションはまた、種々の異なるタイプのユーザ機器上で同一レイアウトを有してもよく、またはユーザ機器の表示能力に合わせられてもよい。例えば、ユーザコンピュータ機器904上では、ガイドアプリケーションは、ウェブブラウザによってアクセスされるウェブサイトとして提供されてもよい。別の実施例では、ガイドアプリケーションは、無線ユーザ通信デバイス906用に縮小されてもよい。
【0060】
システム900では、典型的には、各タイプのユーザ機器デバイスが1つを上回って存在するが、図面が複雑になり過ぎることを回避するように、それぞれ1つだけが
図9に示されている。加えて、各ユーザは、1つを上回るタイプのユーザ機器デバイスと、また、各タイプのユーザ機器デバイスのうちの1つを上回るものとを利用してもよい。
【0061】
いくつかの実施形態では、ユーザ機器デバイス(例えば、ユーザテレビ機器902、ユーザコンピュータ機器904、無線ユーザ通信デバイス906)は、「第2の画面デバイス」と称されてもよい。例えば、第2の画面デバイスは、第1のユーザ機器デバイス上に提示されるコンテンツを補完してもよい。第2の画面デバイス上に提示されるコンテンツは、第1のデバイス上に提示されるコンテンツを補完する、任意の好適なコンテンツであってもよい。いくつかの実施形態では、第2の画面デバイスは、第1のデバイスの設定および表示選好を調節するためのインターフェースを提供する。いくつかの実施形態では、第2の画面デバイスは、他の第2の画面デバイスと相互作用する、またはソーシャルネットワークと相互作用するために構成される。第2の画面デバイスは、第1のデバイスと同一の部屋内に、第1のデバイスと異なる部屋であるが、同一の家または建物内、または第1のデバイスと異なる建物内に位置することができる。
【0062】
ユーザはまた、家庭内デバイスおよび遠隔デバイスにわたって一貫したメディアガイドアプリケーション設定を維持するように、種々の設定を設定してもよい。設定は、本明細書に説明される設定、およびお気に入りのチャンネルおよび番組、番組を推奨するためにガイドアプリケーションが利用する番組選好、表示選好、および他の望ましいガイド設定を含む。例えば、ユーザが、オフィスのパソコンで、例えば、ウェブサイトwww.allrovi.comの上で、チャンネルをお気に入りとして設定した場合、所望に応じて、同一のチャンネルが、ユーザの家庭内デバイス(例えば、ユーザテレビ機器およびユーザコンピュータ機器)、およびユーザのモバイルデバイス上でお気に入りとして表示されるであろう。したがって、同一または異なるタイプのユーザ機器デバイスであるかどうかにかかわらず、1つのユーザ機器デバイス上で行われる変更は、別のユーザ機器デバイス上のガイド体験を変更することができる。さらに、行われる変更は、ユーザによる設定入力、およびガイドアプリケーションによって監視されるユーザ活動に基づいてもよい。
【0063】
ユーザ機器デバイスは、通信ネットワーク914に連結されてもよい。すなわち、ユーザテレビ機器902、ユーザコンピュータ機器904、および無線ユーザ通信デバイス906は、それぞれ、通信パス908、910、および912を介して、通信ネットワーク914に連結される。通信ネットワーク914は、インターネット、携帯電話ネットワーク、モバイルボイスまたはデータネットワーク(例えば、4GまたはLTEネットワーク)、ケーブルネットワーク、公衆交換電話ネットワーク、または他のタイプの通信ネットワーク、または通信ネットワークの組み合わせを含む、1つまたはそれを上回るネットワークであってもよい。パス908、910、および912は、別個または一緒に、衛星パス、光ファイバパス、ケーブルパス、インターネット通信をサポートするパス(例えば、IPTV)、フリースペース接続(例えば、放送または他の無線信号用)、または任意の他の好適な有線または無線通信パス、またはそのようなパスの組み合わせ等、1つまたはそれを上回る通信パスを含んでもよい。パス912は、
図9に示された例示的実施形態において、無線パスであることを示すように破線で描かれ、パス908および910は、有線パスであることを示すように実線で描かれている(しかし、これらのパスは、所望に応じて、無線パスであってもよい)。ユーザ機器デバイスとの通信は、これらの通信パスのうちの1つまたはそれを上回るものによって提供されてもよいが、
図9では、図面が複雑になり過ぎることを回避するように、単一パスとして示されている。
【0064】
通信パスは、ユーザ機器デバイスの間には描かれていないが、これらのデバイスは、パス908、910、および912に関連して上記で説明されるもの、およびUSBケーブル、IEEE1394ケーブル、無線パス(例えば、Bluetooth(登録商標)、赤外線、IEEE802-11x等)等の他の短距離ポイントツーポイント通信パス、または有線または無線パスを介した他の短距離通信等の通信パスを介して、相互に直接通信してもよい。BLUETOOTH(登録商標)は、Bluetooth(登録商標) SIG, INC.によって所有される認証マークである。ユーザ機器デバイスはまた、通信ネットワーク914を介した間接的パスを通して、直接相互に通信してもよい。
【0065】
システム900は、それぞれ、通信パス920および922を介して、通信ネットワーク914に連結される、コンテンツソース916およびメディアガイドデータソース918を含む。パス920および922は、パス908、910、および912に関して上記で説明される通信パスのうちのいずれかを含んでもよい。コンテンツソース916およびメディアガイドデータソース918との通信は、1つまたはそれを上回る通信パスを介して交信されてもよいが、
図9では、図面が複雑になり過ぎることを回避するように、単一パスとして示されている。加えて、コンテンツソース916およびメディアガイドデータソース918のそれぞれが1つを上回ってあってもよいが、
図9では、図面が複雑になり過ぎることを回避するように、それぞれ1つだけが示されている。(これらのソースのそれぞれの異なるタイプを以下で論じる)。所望に応じて、コンテンツソース916およびメディアガイドデータソース918は、1つのソースデバイスとして統合されてもよい。ソース916および918と、ユーザ機器デバイス902、904、および906との間の通信は、通信ネットワーク914を通したものとして示されているが、いくつかの実施形態では、ソース916および918は、パス908、910、および912に関連して上記で説明されるもの等の通信パス(図示せず)を介して、ユーザ機器デバイス902、904、および906と直接通信してもよい。
【0066】
コンテンツソース916は、テレビ配信施設、ケーブルシステムヘッドエンド、衛星配信施設、番組ソース(例えば、NBC、ABC、HBO等のテレビ放送会社)、中間配信施設および/またはサーバ、インターネットプロバイダ、オンデマンドメディアサーバ、および他のコンテンツプロバイダを含む、1つまたはそれを上回るタイプのコンテンツ配信機器を含んでもよい。NBCは、National Broadcasting Company, Inc.によって所有される商標であり、ABCは、American Broadcasting Company, INC.によって所有される商標であり、HBOは、Home Box Office, Inc.によって所有される商標である。コンテンツソース916は、コンテンツの発信元であってもよく(例えば、テレビ放送会社、ウェブキャストプロバイダ等)、またはコンテンツの発信元でなくてもよい(例えば、オンデマンドコンテンツプロバイダ、ダウンロード用放送番組のコンテンツのインターネットプロバイダ等)。コンテンツソース916は、ケーブルソース、衛星プロバイダ、オンデマンドプロバイダ、インターネットプロバイダ、オーバーザトップコンテンツプロバイダ、または他のコンテンツのプロバイダを含んでもよい。コンテンツソース916はまた、ユーザ機器デバイスのうちのいずれかから遠隔の場所にある、異なるタイプのコンテンツ(ユーザによって選択されるビデオコンテンツを含む)を記憶するために使用される、遠隔メディアサーバを含んでもよい。コンテンツの遠隔記憶のため、および遠隔に記憶されたコンテンツをユーザ機器に提供するためのシステムおよび方法は、全体として参照することにより本明細書に組み込まれる、2010年7月20日発行のEllisらの米国特許出願第7,761,892号に関連して、さらに詳細に論じられている。
【0067】
メディアガイドデータソース918は、前述のメディアガイドデータ等のメディアガイドデータを提供してもよい。メディアガイドデータは、任意の好適なアプローチを使用して、ユーザ機器デバイスに提供されてもよい。いくつかの実施形態では、ガイドアプリケーションは、データフィード(例えば、継続フィードまたはトリクルフィード)を介して、番組ガイドデータを受信する、独立型双方向テレビ番組ガイドであってもよい。番組スケジューリングデータおよび他のガイドデータは、テレビチャンネルのサイドバンド上で、帯域内デジタル信号を使用して、帯域外デジタル信号を使用して、または任意の他の好適なデータ伝送技術によって、ユーザ機器に提供されてもよい。番組スケジューリングデータおよび他のメディアガイドデータは、複数のアナログまたはデジタルテレビチャンネル上でユーザ機器に提供されてもよい。
【0068】
いくつかの実施形態では、メディアガイドデータソース918からのガイドデータは、クライアントサーバアプローチを使用して、ユーザの機器に提供されてもよい。例えば、ユーザ機器デバイスは、メディアガイドデータをサーバからプルしてもよく、またはサーバは、メディアガイドデータをユーザ機器デバイスにプッシュしてもよい。いくつかの実施形態では、ユーザの機器上に常駐するガイドアプリケーションクライアントは、必要に応じて、例えば、ガイドデータが、古くなっているとき、またはユーザ機器デバイスが、データを受信する要求をユーザから受信するとき、ソース918とセッションを開始し、ガイドデータを取得してもよい。メディアガイドは、任意の好適な頻度で(例えば、継続的に、毎日、ユーザ指定期間で、システム指定期間で、ユーザ機器からの要求に応じて等)ユーザ機器に提供されてもよい。メディアガイドデータソース918は、ユーザ機器デバイス902、904、および906に、メディアガイドアプリケーション自体、またはメディアガイドアプリケーションのソフトウェア更新を提供してもよい。
【0069】
いくつかの実施形態では、メディアガイドデータは、視聴者データを含んでもよい。例えば、視聴者データは、現在および/または履歴ユーザアクティビティ情報(例えば、ユーザが典型的に見るコンテンツ、ユーザがコンテンツを見る時刻、ユーザがソーシャルネットワークと相互作用するかどうか、ユーザがソーシャルネットワークと相互作用し、情報をポストする時間、ユーザが典型的に見るコンテンツのタイプ(例えば、有料TVまたは無料TV)、気分、脳の活動情報等)を含んでもよい。メディアガイドデータはまた、加入データを含んでもよい。例えば、加入データは、所与のユーザが加入するソースまたはサービスおよび/または所与のユーザが以前に加入していたが、後にアクセスを打ち切ったソースまたはサービスを識別してもよい(例えば、ユーザがプレミアムチャンネルに加入しているかどうか、ユーザがプレミアムレベルのサービスを追加したかどうか、ユーザがインターネット速度を加速させたかどうか)。いくつかの実施形態では、視聴者データおよび/または加入データは、1年を上回る期間の間の所与のユーザのパターンを識別してもよい。メディアガイドデータは、所与のユーザがサービス/ソースへのアクセスを打ち切るであろう可能性を示すスコアを生成するために使用される、モデル(例えば、残存者モデル)を含んでもよい。例えば、メディアガイドアプリケーションは、加入データと、所与のユーザが特定のサービスまたはソースへのアクセスを打ち切るであろうかどうかの可能性を示す、値またはスコアを生成するためのモデルとを併用して、視聴者データを処理してもよい。特に、より高いスコアは、ユーザが特定のサービスまたはソースへのアクセスを打ち切るであろう、より高いレベルの信頼性を示し得る。スコアに基づいて、メディアガイドアプリケーションは、ユーザがアクセスを打ち切る可能性が高いであろうものとしてスコアによって示される特定のサービスまたはソースをユーザが維持するように勧誘する宣伝を生成してもよい。
【0070】
メディアガイドアプリケーションは、例えば、ユーザ機器デバイス上に実装される独立型アプリケーションであってもよい。例えば、メディアガイドアプリケーションは、記憶装置808内に記憶され、ユーザ機器デバイス800の制御回路804によって実行され得る、ソフトウェアまたは実行可能命令のセットとして実装されてもよい。いくつかの実施形態では、メディアガイドアプリケーションは、クライアント-サーバアプリケーションであってもよく、その場合、クライアントアプリケーションのみ、ユーザ機器デバイス上に常駐し、サーバアプリケーションは、遠隔サーバ上に常駐する。例えば、メディアガイドアプリケーションは、部分的に、ユーザ機器デバイス800の制御回路804上のクライアントアプリケーションとして、および部分的に遠隔サーバ上で、遠隔サーバの制御回路上で起動するサーバアプリケーションとして(例えば、メディアガイドデータソース918)、実装されてもよい。遠隔サーバの制御回路(メディアガイドデータソース918等)によって実行されると、メディアガイドアプリケーションは、制御回路に、ガイドアプリケーション表示を生成し、生成された表示をユーザ機器デバイスに伝送するように命令してもよい。サーバアプリケーションは、メディアガイドデータソース918の制御回路に、ユーザ機器上での記憶のためのデータを伝送するように命令してもよい。クライアントアプリケーションは、受信用ユーザ機器の制御回路に、ガイドアプリケーション表示を生成するように命令してもよい。
【0071】
ユーザ機器デバイス902、904、および906に配信されるコンテンツおよび/またはメディアガイドデータは、オーバーザトップ(OTT)コンテンツであってもよい。OTTコンテンツ配信は、前述の任意のユーザ機器デバイスを含む、インターネット対応型ユーザデバイスが、ケーブルまたは衛星接続を経由して受信されるコンテンツに加え、前述の任意のコンテンツを含む、インターネットを経由して転送されるコンテンツを受信することを可能にする。OTTコンテンツは、インターネットサービスプロバイダ(ISP)によって提供されるインターネット接続を介して配信されるが、第三者も、コンテンツを配信する。ISPは、視聴能力、著作権、またはコンテンツの再配信に関与していなくてもよく、OTTコンテンツプロバイダによって提供されるIPパケットのみ転送してもよい。OTTコンテンツプロバイダの実施例として、IPパケットを介して、オーディオおよびビデオを提供する、YOUTUBE(登録商標)、NETFLIX、およびHULUが挙げられる。Youtube(登録商標)は、Google Inc.によって所有される商標であり、Netflixは、Netflix, Inc.によって所有される商標であり、Huluは、Hulu, LLC.によって所有される商標である。OTTコンテンツプロバイダは、加えて、または代替として、前述のメディアガイドデータを提供してもよい。コンテンツおよび/またはメディアガイドデータに加え、OTTコンテンツのプロバイダは、メディアガイドアプリケーション(例えば、ウェブベースのアプリケーションまたはクラウドベースのアプリケーション)を配信することができ、またはコンテンツは、ユーザ機器デバイス上に記憶されるメディアガイドアプリケーションによって表示されることができる。
【0072】
メディアガイドシステム900は、いくつかのアプローチまたはネットワーク構成を例証することを意図しており、これによって、ユーザ機器デバイスおよびコンテンツおよびガイドデータのソースは、コンテンツにアクセスし、メディアガイドを提供する目的で、相互に通信してもよい。本明細書に説明される実施形態は、これらのアプローチの任意の1つまたは一部において、またはコンテンツを配信し、メディアガイドを提供するための他のアプローチを採用するシステムにおいて、適用されてもよい。以下の4つのアプローチは、
図9の汎用実施例の具体的例証を提供する。
【0073】
あるアプローチでは、ユーザ機器デバイスは、ホームネットワーク内で相互に通信してもよい。ユーザ機器デバイスは、上記で説明される短距離ポイントツーポイント通信方式を介して、ホームネットワーク上に提供されるハブまたは他の類似デバイスを通した間接パスを介して、または通信ネットワーク914を介して、直接相互に通信することができる。1つの家庭内の複数の個人のそれぞれが、ホームネットワーク上の異なるユーザ機器デバイスを操作してもよい。結果として、種々のメディアガイド情報または設定が、異なるユーザ機器デバイス間で伝達されることが望ましくてもよい。例えば、2005年7月11日出願のEllisらの米国特許公開第2005/0251827号でさらに詳細に説明されているように、ホームネットワーク内の異なるユーザ機器デバイス上で、ユーザが一貫したメディアガイドアプリケーション設定を維持することが望ましくてもよい。ホームネットワーク内の異なるタイプのユーザ機器デバイスがまた、相互に通信し、コンテンツを伝送してもよい。例えば、ユーザは、ユーザコンピュータ機器から携帯用ビデオプレーヤまたは携帯用音楽プレーヤにコンテンツを伝送してもよい。
【0074】
第2のアプローチでは、ユーザは、複数のタイプのユーザ機器を有してもよく、これによって、コンテンツにアクセスし、メディアガイドを取得する。例えば、一部のユーザは、家庭内およびモバイルデバイスによってアクセスされる、ホームネットワークを有してもよい。ユーザは、遠隔デバイス上に実装されるメディアガイドアプリケーションを介して、家庭内デバイスを制御してもよい。例えば、ユーザは、オフィスのパーソナルコンピュータ、またはPDAまたはウェブ対応携帯電話等のモバイルデバイスを介して、ウェブサイト上のオンラインメディアガイドアプリケーションにアクセスしてもよい。ユーザは、オンラインガイドアプリケーション上で種々の設定(例えば、録画、リマインダ、または他の設定)を設定して、ユーザの家庭内機器を制御してもよい。オンラインガイドは、直接、またはユーザの家庭内機器上のメディアガイドアプリケーションと通信することによって、ユーザの機器を制御してもよい。ユーザ機器デバイスが相互から遠隔の場所にある、ユーザ機器デバイスの通信のための種々のシステムおよび方法は、例えば、その全体を参照することにより本明細書に組み込まれる、Ellisらの2011年10月25日発行の米国特許第8,046,801号で論じられている。
【0075】
第3のアプローチでは、家庭内外のユーザ機器デバイスのユーザは、コンテンツソース916と直接通信し、コンテンツにアクセスするために、そのメディアガイドアプリケーションを使用することができる。具体的には、家庭内では、ユーザテレビ機器902およびユーザコンピュータ機器904のユーザは、メディアガイドアプリケーションにアクセスし、所望のコンテンツ間をナビゲートし、それを特定してもよい。ユーザはまた、無線ユーザ通信デバイス906を使用して、家庭外のメディアガイドアプリケーションにアクセスし、所望のコンテンツ間をナビゲートし、それを特定してもよい。
【0076】
第4のアプローチでは、ユーザ機器デバイスは、クラウドコンピューティング環境内で操作し、クラウドサービスにアクセスしてもよい。クラウドコンピューティング環境では、コンテンツ共有、記憶、または配信のための種々のタイプのコンピューティングサービス(例えば、ビデオ共有サイトまたはソーシャルネットワーキングサイト)が、「クラウド」と称される、ネットワーク-アクセス可能コンピューティングおよび記憶リソースの集合によって提供される。例えば、クラウドは、ネットワークを介して接続される、種々のタイプのユーザおよびデバイスにクラウドベースのサービス、例えば、通信ネットワーク914を介したインターネットを提供する、中央または分散場所に位置し得る、サーバコンピューティングデバイスの集合を含むことができる。これらのクラウドリソースは、1つまたはそれを上回るコンテンツソース916および1つまたはそれを上回るメディアガイドデータソース918を含んでもよい。加えて、または代替として、遠隔コンピューティングサイトは、ユーザテレビ機器902、ユーザコンピュータ機器904、および無線ユーザ通信デバイス906等の他のユーザ機器デバイスを含んでもよい。例えば、他のユーザ機器デバイスは、ビデオの記憶されたコピーまたはストリーミングされたビデオへのアクセスを提供してもよい。そのような実施形態では、ユーザ機器デバイスは、中心サーバと通信せずに、ピアツーピア様式で操作してもよい。
【0077】
クラウドは、ユーザ機器デバイスのために、他の実施例の中でもとりわけ、コンテンツ記憶、コンテンツ共有、またはソーシャルネットワーキングサービス等のサービスへのアクセス、および前述の任意のコンテンツへのアクセスを提供する。サービスは、クラウドコンピューティングサービスプロバイダを通して、またはオンラインサービスの他のプロバイダを通して、クラウド内で提供されることができる。例えば、クラウドベースのサービスは、コンテンツ記憶サービス、コンテンツ共有サイト、ソーシャルネットワーキングサイト、または他のサービスを含むことができ、それを介して、ユーザ供給コンテンツは、接続されたデバイス上の他者によって視聴するために配信される。これらのクラウドベースのサービスは、ユーザ機器デバイスが、コンテンツをローカルに記憶し、ローカルに記憶されたコンテンツにアクセスするのではなく、コンテンツをクラウドに記憶し、コンテンツをクラウドから受信することを可能にしてもよい。
【0078】
ユーザは、カムコーダ、ビデオモード付きデジタルカメラ、オーディオレコーダ、携帯電話、およびハンドヘルドコンピューティングデバイス等の種々のコンテンツ捕捉デバイスを使用して、コンテンツを録画してもよい。ユーザは、直接、例えば、ユーザコンピュータ機器904から、またはコンテンツ捕捉特徴を有する、無線ユーザ通信デバイス906からのいずれかにおいて、クラウド上のコンテンツ記憶サービスにコンテンツをアップロードすることができる。代替として、ユーザは、最初に、コンテンツをユーザコンピュータ機器904等のユーザ機器デバイスに転送することができる。コンテンツを記憶するユーザ機器デバイスは、通信ネットワーク914上のデータ伝送サービスを使用して、コンテンツをクラウドにアップロードする。いくつかの実施形態では、ユーザ機器デバイス自体が、クラウドリソースであって、他のユーザ機器デバイスが、直接、ユーザがコンテンツを記憶したユーザ機器デバイスから、コンテンツにアクセスすることができる。
【0079】
クラウドリソースは、例えば、ウェブブラウザ、メディアガイドアプリケーション、デスクトップアプリケーション、モバイルアプリケーション、および/またはそれらのアクセスアプリケーションの任意の組み合わせを使用して、ユーザ機器デバイスによってアクセスされてもよい。ユーザ機器デバイスは、アプリケーション配信のために、クラウドコンピューティングに依拠する、クラウドクライアントであってもよく、またはユーザ機器デバイスは、クラウドリソースにアクセスせずに、いくつかの機能性を有してもよい。例えば、ユーザ機器デバイス上で起動するいくつかのアプリケーションは、クラウドアプリケーション、すなわち、インターネットを経由して、サービスとして配信されるアプリケーションであってもよい一方、他のアプリケーションは、ユーザ機器デバイス上に記憶され、起動されてもよい。いくつかの実施形態では、ユーザデバイスは、コンテンツを複数のクラウドリソースから同時に受信してもよい。例えば、ユーザデバイスは、オーディオを1つのクラウドリソースからストリーミングする一方、コンテンツを第2のクラウドリソースからダウンロードすることができる。または、ユーザデバイスは、より効率的ダウンロードのために、コンテンツを複数のクラウドリソースからダウンロードすることができる。いくつかの実施形態では、ユーザ機器デバイスは、
図8に関連して説明される処理回路によって行われる処理操作等の処理操作のために、クラウドリソースを使用することができる。
【0080】
本明細書で参照されるように、用語「~に応答して」は、「~の結果として開始される」ことを指す。例えば、別のアクションに応答して行われている第1のアクションは、第1のアクションと第2のアクションとの間に介在ステップを含んでもよい。本明細書で参照されるように、用語「~に直接応答して」は、「~によって引き起こされる」ことを指す。例えば、別のアクションに直接応答して行われている第1のアクションは、第1のアクションと第2のアクションとの間に介在ステップを含まなくてもよい。
【0081】
図10は、本開示のいくつかの実施形態による、第1のクエリおよび第2のクエリを含む自然言語会話において会話継続性のタイプを判定するための例証的プロセスのフローチャート1000である。
図10は、本開示のいくつかの実施形態による、制御回路(例えば、制御回路804)が第1のクエリおよび第2のクエリを含む自然言語会話において会話継続性のタイプを判定するためのプロセスを提示する。いくつかの実施形態では、本アルゴリズムは、処理回路(例えば、処理回路806)によって復号および実行されるべき命令のセットとして非一過性記憶媒体(例えば、記憶デバイス808)上に符号化されてもよい。処理回路は、順に、命令を、同調、ビデオ生成、符号化、復号、暗号化、解読、スケーリング、アナログ/デジタル変換回路、および同等物等の制御回路804内に含有される他のサブ回路に提供してもよい。
【0082】
ステップ1002では、制御回路804は、第1のクエリをユーザからユーザ入力デバイスを介して受信する。例えば、制御回路804は、第1のクエリ「いくつかBeethovenの映画を見せて」を受信してもよい。ステップ1004では、制御回路804は、第1のクエリに関する第1の検索結果をデータベースから読み出す。ステップ1006では、制御回路804は、表示のために、第1の検索結果を生成する。例えば、制御回路804は、表示のために、検索結果「Beethoven:A Documentary」および「Beethoven Musical Genius」を読み出し、生成してもよい。ステップ1008では、制御回路804は、第2のクエリをユーザからユーザ入力デバイスを介して受信する。例えば、制御回路804は、第2のクエリ「つまり、犬の」を受信してもよい。
【0083】
ステップ1010では、制御回路804は、第1のクエリ内の第1のトークンを判定する。例えば、制御回路804は、第1のクエリ内の第1のトークン「Beethoven」を判定してもよい。いくつかの実施形態では、制御回路804は、第1のクエリ内の第1の用語および第2の用語を識別し、第1の用語が挿入語であることを判定し、第2の用語が挿入語ではないことを判定し、第2の用語を第1のトークンに割り当てることによって、第1のクエリ内の第1のトークンを判定する。例えば、制御回路804は、第1のクエリ内の他の用語の中から「いくつか」および「Beethoven」を識別してもよい。制御回路804は、「いくつか」が挿入語であって、「Beethoven」が挿入語ではないことを判定してもよい。制御回路804は、「Beethoven」を第1のトークンとして割り当ててもよい。
【0084】
ステップ1012では、制御回路804は、第2のクエリ内の第2のトークンを判定する。例えば、制御回路804は、「犬」が第2のクエリ内の第2のトークンであることを判定してもよい。ステップ1014では、制御回路804は、第1のトークンに関する第1のエンティティデータを識別する。第1のエンティティデータは、第1のトークンに関する第1のエンティティタイプと、第1のエンティティタイプが第1のトークンに対応する第1の確率と、第1のトークンに関する第2のエンティティタイプと、第2のエンティティタイプが第1のトークンに対応する第2の確率と含んでもよい。例えば、制御回路804は、第1のエンティティタイプ「音楽家」と、0.75の第1の確率と、第2のエンティティタイプ「犬」と、0.25の第2の確率とを識別してもよい。ステップ1016では、制御回路804は、第2のトークンに関する第2のエンティティデータを識別する。第2のエンティティデータは、第2のトークンに関する第3のエンティティタイプと、第3のエンティティタイプが第2のトークンに対応する第3の確率と、第2のトークンに関する第4のエンティティタイプと、第4のエンティティタイプが第2のトークンに対応する第4の確率とを含んでもよい。
【0085】
ステップ1018では、制御回路804は、知識グラフから(例えば、知識グラフ400)、第1のエンティティデータと第2のエンティティデータとの間の1つまたはそれを上回るグラフ接続を読み出す。例えば、制御回路804は、第1のトークンに関する第1のエンティティデータ「Beethoven」と第2のトークンに関する第2のエンティティデータ「犬」との間のグラフ接続を読み出してもよい。いくつかの実施形態では、制御回路804は、第1のエンティティタイプである第1のトークンと第3のエンティティタイプである第2のトークンと間の第1のグラフ接続を読み出し、第2のエンティティタイプである第1のトークンと第3のエンティティタイプである第2のトークンと間の第2のグラフ接続を読み出し、第1のエンティティタイプである第1のトークンと第4のエンティティタイプである第2のトークンと間の第3のグラフ接続を読み出し、第2のエンティティタイプである第1のトークンと第4のエンティティタイプである第2のトークンと間の第4のグラフ接続を読み出すことによって、第1のエンティティデータと第2のエンティティデータとの間の1つまたはそれを上回るグラフ接続を読み出す。
【0086】
ステップ1020では、制御回路804は、第1のトークン、第2のトークン、第1のエンティティデータ、第2のエンティティデータ、および1つまたはそれを上回るグラフ接続を入力として人工ニューラルネットワーク(例えば、人工ニューラルネットワーク500)に適用する。いくつかの実施形態では、制御回路804は、第1のトークンに関する第1の値を人工ニューラルネットワークの入力層の第1の加重で乗算し、第2のトークンに関する第2の値を人工ニューラルネットワークの入力層の第2の加重で乗算し、第1のエンティティデータに関する1つまたはそれを上回る値を人工ニューラルネットワークの入力層の1つまたはそれを上回る加重で乗算し、第2のエンティティデータに関する1つまたはそれを上回る値を人工ニューラルネットワークの入力層の1つまたはそれを上回る加重で乗算し、1つまたはそれを上回るグラフ接続に関する1つまたはそれを上回る値を人工ニューラルネットワークの入力層の1つまたはそれを上回る加重で乗算することによって、第1のトークン、第2のトークン、第1のエンティティデータ、第2のエンティティデータ、および1つまたはそれを上回るグラフ接続を入力として人工ニューラルネットワークに適用する。
【0087】
ステップ1022では、制御回路804は、人工ニューラルネットワークから、第1のクエリと第2のクエリとの間の会話継続性のタイプを示す出力を判定する。いくつかの実施形態では、制御回路804は、人工ニューラルネットワークから、人工ニューラルネットワーク内の隠れ層への1つまたはそれを上回る入力を隠れ層内の対応する1つまたはそれを上回る加重で乗算し、乗算から結果として生じる値を加算し、出力値を判定することによって、第1のクエリと第2のクエリとの間の会話継続性のタイプを示す出力を判定する。
【0088】
ステップ1024では、制御回路804は、会話継続性のタイプに基づいて、第2のクエリを更新する。いくつかの実施形態では、制御回路804は、会話継続性のタイプがマージタイプであることを識別し、会話継続性のタイプがマージタイプであることの識別に基づいて、第2のクエリと第1のクエリをマージすることによって、会話継続性のタイプに基づいて、第2のクエリを更新する。例えば、前および次のクエリは、マージされてもよく、次のクエリは、前のクエリの継続である。前および次のクエリの例示的セットは、「Tom Cruiseの映画」および「Nicole Kidman出演」であり得る。前および次のクエリの別の例示的セットは、「おもしろいサイエンス・フィクション映画を見せて」および「NETFLIX上で」であり得る。さらに前および次のクエリの別の例示的セットは、「Tom Cruiseの映画を探して」および「Nicole Kidman出演のものがいいな」であり得る。
【0089】
いくつかの実施形態では、制御回路804は、会話継続性のタイプが置換タイプであることを識別し、第1のクエリの一部に取って代わる第2のクエリの一部を判定し、第2のクエリが第2のクエリの一部と置換される第1のクエリの一部を伴う第1のクエリであることを判定することによって、会話継続性のタイプに基づいて、第2のクエリを更新する。例えば、前のクエリの一部は、次のクエリの一部と置換されてもよい。前および次のクエリの例示的セットは、「今夜Red Soxの試合がある?」および「明日はどう?」であり得る。本状況では、次のクエリからの「明日」は、前のクエリ内の「今夜」に取って代わる。
【0090】
いくつかの実施形態では、制御回路804は、会話継続性のタイプが分類タイプであることを識別し、第2のクエリに基づいて、第1のクエリ内の第1のトークンに関する代替エンティティタイプを判定し、第2のクエリが代替エンティティタイプである第1のトークンを伴う第1のクエリであることを判定することによって、会話継続性のタイプに基づいて、第2のクエリを更新する。例えば、次のクエリは、さらなるエンティティを前のクエリに追加することとは対照的に、前のクエリからの前のエンティティを分類してもよい。前および次のクエリの例示的セットは、「Broncos戦で勝利したのは?」および「つまり、大学チームで」であり得る。本状況では、「つまり」特徴は、さらなるエンティティを会話の中に追加することとは対照的に、前のクエリ内の前のエンティティを分類する。前および次のクエリの別の例示的セットは、「Beethovenの映画」および「つまり、犬の」であり得る。同様に、本状況では、「つまり」特徴は、さらなるエンティティを会話の中に追加することとは対照的に、前のクエリ内の前のエンティティを分類する。
【0091】
いくつかの実施形態では、制御回路804は、会話継続性のタイプが無継続性タイプであることを識別し、第2のクエリを更新された第2のクエリに割り当てることによって、会話継続性のタイプに基づいて、第2のクエリを更新する。例えば、次のクエリは、前のクエリから独立し得る。前および次のクエリの例示的セットは、「アクション映画」および「コメディ映画」であり得る。本状況では、前および次のクエリ間に会話継続性が存在しない。
【0092】
ステップ1026では、制御回路804は、更新された第2のクエリに関する第2の検索結果をデータベースから読み出す。ステップ1028では、制御回路804は、表示のために、第2の検索結果を生成する。いくつかの実施形態では、制御回路804は、ユーザ入力デバイスから、判定された会話継続性のタイプが正しくないことのインジケーションおよび訂正された会話継続性のタイプを受信する。制御回路804は、訂正された会話継続性のタイプに基づいて、人工ニューラルネットワーク内の1つまたはそれを上回る加重を更新する。
【0093】
図10のステップまたは説明は、本開示の任意の他の実施形態とともに使用され得ることが考慮される。加えて、
図10のアルゴリズムに関して説明される説明は、本開示の目的を促進するように、代替的な順序で、または並行して行われてもよい。例えば、条件文および論理評価は、システムまたは方法の遅延を低減させる、または速度を増加させるように、任意の順序で、または並行して、または同時に行われてもよい。さらなる実施例として、いくつかの実施形態では、変数のいくつかのインスタンスは、複数の論理プロセッサスレッドを使用して、並行して評価されてもよい、またはアルゴリズムは、分岐予測を組み込むことによって拡張されてもよい。さらに、
図10のプロセスは、適切に構成されたソフトウェアおよびハードウェアの組み合わせ上に実装されてもよく、プロセスのうちの1つまたはそれを上回る部分を実装するために、
図8-9に関して議論されるデバイスまたは機器のいずれかが使用され得ることに留意されたい。
【0094】
図11は、本開示のいくつかの実施形態による、自然言語クエリにおける1つまたはそれを上回るトークンを判定するための例証的プロセスのフローチャート1100である。例証的プロセスは、
図10のステップ1010または1012を実行するための例示的ステップを提供する。
図11は、本開示のいくつかの実施形態による、制御回路(例えば、制御回路804)が自然言語クエリにおける1つまたはそれを上回るトークンを判定するためのプロセスを提示する。いくつかの実施形態では、本アルゴリズムは、処理回路(例えば、処理回路806)によってデコードおよび実行されるべき命令のセットとして非一過性記憶媒体(例えば、記憶デバイス808)上にエンコードされてもよい。処理回路は、順に、命令を、同調、ビデオ生成、エンコード、デコード、暗号化、復号化、スケーリング、アナログ/デジタル変換回路、および同等物等の制御回路804内に含有される他のサブ回路に提供してもよい。
【0095】
ステップ1102では、制御回路804は、クエリを受信する。例えば、制御回路804は、クエリ「いくつかのBeethovenの映画」を受信してもよい。ステップ1104では、制御回路804は、クエリ内の用語を識別する。ステップ1106では、制御回路804は、用語が挿入語であるかどうかを判定する。用語が挿入語ではない場合、ステップ1108では、制御回路804は、用語をクエリに関するトークンとして割り当てる。用語が挿入語である場合、ステップ1110では、制御回路804は、用語をスキップし、クエリ内の任意の用語が分析されるために残っているかどうかを判定する。クエリ内の用語が分析されるために残っている場合、ステップ1104では、制御回路804は、クエリ内の別の用語を識別する。用語が分析されるために残っていない場合、ステップ1112では、制御回路804は、クエリ内で見出されたトークンを返す。例えば、制御回路804は、クエリ内の他の用語の中から「いくつか」および「Beethoven」を識別してもよい。制御回路804は、「いくつか」が挿入語であって、「Beethoven」が挿入語ではないことを判定してもよい。制御回路804は、「Beethoven」をクエリに関するトークンとして割り当てるが、「いくつか」をクエリに関するトークンとして割り当てなくてもよい。制御回路804は、「Beethoven」をクエリに関するトークンとして返してもよい。
【0096】
図11のステップまたは説明は、本開示の任意の他の実施形態とともに使用され得ることが考慮される。加えて、
図10のアルゴリズムに関して説明される説明は、本開示の目的を促進するように、代替的な順序で、または並行して行われてもよい。例えば、1106および1110におけるもののような条件文および論理評価は、システムまたは方法の遅延を低減させる、または速度を増加させるように、任意の順序で、または並行して、または同時に行われてもよい。さらなる実施例として、いくつかの実施形態では、クエリ内の用語のいくつかのインスタンスは、複数の論理プロセッサスレッドを使用して、並行して評価されてもよい、またはアルゴリズムは、分岐予測を組み込むことによって拡張されてもよい。さらに、
図11のプロセスは、適切に構成されたソフトウェアおよびハードウェアの組み合わせ上に実装されてもよく、プロセスのうちの1つまたはそれを上回る部分を実装するために、
図8-9に関して議論されるデバイスまたは機器のいずれかが使用され得ることに留意されたい。
【0097】
図12は、本開示のいくつかの実施形態による、会話継続性のタイプに基づいて第2のクエリを更新するための例証的プロセスのフローチャート1200である。例証的プロセスは、
図10のステップ1024を実行するための例示的ステップを提供する。
図12は、本開示のいくつかの実施形態による、制御回路(例えば、制御回路804)が会話継続性のタイプに基づいて第2のクエリを更新するためのプロセスを提示する。いくつかの実施形態では、本アルゴリズムは、処理回路(例えば、処理回路806)によってデコードおよび実行されるべき命令のセットとして非一過性記憶媒体(例えば、記憶デバイス808)上にエンコードされてもよい。処理回路は、順に、命令を、同調、ビデオ生成、エンコード、デコード、暗号化、復号化、スケーリング、アナログ/デジタル変換回路、および同等物等の制御回路804内に含有される他のサブ回路に提供してもよい。
【0098】
ステップ1202では、制御回路804は、人工ニューラルネットワーク(例えば、人工ニューラルネットワーク500)から、第1のクエリと第2のクエリとの間の会話継続性のタイプを示す出力を受信する。ステップ1204では、制御回路804は、会話継続性のタイプがマージタイプであるかどうかを判定する。会話継続性のタイプがマージタイプである場合、ステップ1206では、制御回路804は、会話継続性のタイプがマージタイプであることの識別に基づいて、第2のクエリと第1のクエリをマージする。例えば、前および次のクエリは、マージされてもよく、次のクエリは、前のクエリの継続である。前および次のクエリの例示的セットは、「Tom Cruiseの映画」および「Nicole Kidman出演」であり得る。前および次のクエリの別の例示的セットは、「おもしろいサイエンス・フィクション映画を見せて」および「NETFLIX上で」であり得る。さらに前および次のクエリの別の例示的セットは、「Tom Cruiseの映画を探して」および「Nicole Kidman出演のものがいいな」であり得る。ステップ1220では、制御回路804は、更新された第2のクエリを返す。
【0099】
会話継続性のタイプがマージタイプではない場合、ステップ1208では、制御回路804は、会話継続性のタイプが置換タイプであるかどうかを判定する。会話継続性のタイプが置換タイプである場合、1210では、制御回路804は、第1のクエリの一部に取って代わる第2のクエリの一部を判定する。ステップ1212では、制御回路804は、第2のクエリが第2のクエリの一部と置換される第1のクエリの一部を伴う第1のクエリであることを判定する。例えば、前のクエリの一部は、次のクエリの一部と置換されてもよい。前および次のクエリの例示的セットは、「今夜Red Soxの試合がある?」および「明日はどう?」であり得る。本状況では、次のクエリからの「明日」は、前のクエリ内の「今夜」に取って代わる。ステップ1220では、制御回路804は、更新された第2のクエリを返す。
【0100】
会話継続性のタイプが置換タイプではない場合、ステップ1214では、制御回路804は、会話継続性のタイプが分類タイプであるかどうかを判定する。会話継続性のタイプが分類タイプである場合、1216では、制御回路804は、第2のクエリに基づいて、第1のクエリ内の第1のトークンに関する代替エンティティタイプを判定する。ステップ1218では、制御回路804は、第2のクエリが代替エンティティタイプである第1のトークンを伴う第1のクエリであることを判定する。例えば、次のクエリは、さらなるエンティティを前のクエリに追加することとは対照的に、前のクエリからの前のエンティティを分類してもよい。前および次のクエリの例示的セットは、「Broncos戦で勝利したのは?」および「つまり、大学チームで」であり得る。本状況では、「つまり」特徴は、さらなるエンティティを会話の中に追加することとは対照的に、前のクエリ内の前のエンティティを分類する。前および次のクエリの別の例示的セットは、「Beethovenの映画」および「つまり、犬の」であり得る。同様に、本状況では、「つまり」特徴は、さらなるエンティティを会話の中に追加することとは対照的に、前のクエリ内の前のエンティティを分類する。ステップ1220では、制御回路804は、更新された第2のクエリを返す。
【0101】
会話継続性のタイプが分類タイプではない場合、ステップ1220では、制御回路804は、修正されていない第2のクエリを更新された第2のクエリとして返す。本状況では、会話継続性のタイプは、無継続性タイプである。例えば、次のクエリは、前のクエリから独立し得る。前および次のクエリの例示的セットは、「アクション映画」および「コメディ映画」であり得る。本状況では、前および次のクエリ間に会話継続性が存在しない。
【0102】
図12のステップまたは説明は、本開示の任意の他の実施形態とともに使用され得ることが考慮される。加えて、
図12のアルゴリズムに関して説明される説明は、本開示の目的を促進するように、代替的な順序で、または並行して行われてもよい。例えば、1204、1208、および1214におけるもののような条件文および論理評価は、システムまたは方法の遅延を低減させる、または速度を増加させるように、任意の順序で、または並行して、または同時に行われてもよい。さらなる実施例として、いくつかの実施形態では、会話継続性のタイプのいくつかのインスタンスは、複数の論理プロセッサスレッドを使用して、並行して評価されてもよい、またはアルゴリズムは、分岐予測を組み込むことによって拡張されてもよい。さらに、
図12のプロセスは、適切に構成されたソフトウェアおよびハードウェアの組み合わせ上に実装されてもよく、プロセスのうちの1つまたはそれを上回る部分を実装するために、
図8-9に関して議論されるデバイスまたは機器のいずれかが使用され得ることに留意されたい。
【0103】
前述のプロセスは、例証であって、限定ではないことが意図される。本開示におけるプロセスおよび実施例は、クエリのペアに関して議論されるが、説明されるシステムおよび方法は、2つを上回るクエリにも等しく適用可能である。本システムおよび方法は、複数のクエリを横断する継続性を追跡し、必要に応じて、コンテキストを維持し得る。加えて、本開示におけるプロセスおよび実施例は、人工ニューラルネットワークに関して議論されるが、説明されるシステムおよび方法は、複数の人工ニューラルネットワークに等しく適用可能である、または他の機械学習技法と組み合わせられる。当業者は、本明細書で議論されるプロセスのステップが、本発明の範囲から逸脱することなく、省略される、修正される、組み合わせられる、および/または並べ替えされてもよく、任意の付加的ステップが、行われてもよいことを理解するであろう。
【0104】
より一般的には、前述の開示は、例示であって、限定ではないことが意図される。続く請求項のみが、本発明が含むものに関する境界として設定するように意図される。さらに、いずれか1つの実施形態で説明される特徴および制限は、本明細書の任意の他の実施形態に適用され得、一実施形態に関するフローチャートまたは実施例は、好適な様式で任意の他の実施形態と組み合わせられ、異なる順序で行われ、または並行して行われ得ることに留意されたい。加えて、本明細書で説明されるシステムおよび方法は、リアルタイムで行われてもよい。また、上記で説明されるシステムおよび/または方法は、他のシステムおよび/または方法に適用され、またはそれらに従って使用され得ることにも留意されたい。