(58)【調査した分野】(Int.Cl.,DB名)
ユーザから受信される検索要求を処理する方法であって、前記検索要求は、アイテムのセットから所望のアイテムを識別することを対象とし、前記識別は、前記検索要求の話題と以前のユーザ入力とを比較することに基づき、前記方法は、
コンテンツアイテムのセットへのアクセスを提供することであって、前記コンテンツアイテムの各々は、対応するコンテンツアイテムを記述するメタデータに関連付けられている、ことと、
ユーザから以前に受信された少なくとも1つの検索に関する情報を提供することと、
前記ユーザから現在の入力を受信することであって、前記現在の入力は、所望のコンテンツアイテムを識別するように前記ユーザによって意図されている、ことと、
前記少なくとも1つの以前の検索に関する情報と前記現在の入力の要素との間の関連性の尺度を決定することであって、前記関連性の尺度を決定することは、
コンテンツアイテムの関係距離を含む関係データベースへのアクセスを提供することであって、前記関係データベースは、ノードおよびエッジを伴う関係グラフを提示し、各ノードは、コンテンツアイテムを表し、各エッジは、任意の2つのコンテンツアイテム間の直接的関係を表し、各エッジは、重みを有する、ことと、
第1の関係距離および第2の関係距離のうちの少なくとも一方に基づいて、前記関連性の尺度を決定することと
を含み、
2つのコンテンツアイテムの前記第1の関係距離は、(1)前記2つのコンテンツアイテムに対応する2つのノード間のホップの数、および、(2)前記2つのコンテンツアイテムに対応する2つのノード間のホップの最小数のうちの少なくとも一方を測定することによって決定され、
2つのコンテンツアイテムの前記第2の関係距離は、前記2つのコンテンツアイテムに対応する2つのノードを接続するエッジの重みの和を計算することによって決定される、ことと、
前記関連性尺度が閾値を超えていないという条件に応じて、前記現在の入力とコンテンツアイテムのサブセットを記述する前記メタデータとを比較することに基づいて、コンテンツアイテムの前記サブセットを選択することと、
前記関連性尺度が前記閾値を超えているという条件に応じて、前記現在の入力および前記少なくとも1つの以前の検索に関する情報とコンテンツアイテムのサブセットを記述する前記メタデータとを比較することに基づいて、コンテンツアイテムの前記サブセットを選択することと
を含む、方法。
履歴入力を含むデータベースへのアクセスを提供することをさらに含み、コンテンツアイテムの前記関係距離は、前記コンテンツアイテムが一緒に使用された頻度に基づいて決定される、請求項1に記載の方法。
経時的に取得されたユーザ選好を含むデータベースへのアクセスを提供することと、前記ユーザ選好に基づいて前記決定された関連性尺度を修正することとをさらに含む、請求項1に記載の方法。
前記現在の入力の前記要素を決定することは、予め定義されたルールを適用することに基づき、前記予め定義されたルールは、ベイズ分類器を使用する、請求項1に記載の方法。
ユーザから受信される検索要求を処理するためのシステムであって、前記検索要求は、アイテムのセットから所望のアイテムを識別することを対象とし、前記識別は、前記検索要求の話題と以前のユーザ入力とを比較することに基づき、
前記システムは、非一過性コンピュータ読み取り可能な媒体上にエンコードされているコンピュータ読み取り可能な命令を備え、
前記コンピュータ読み取り可能な命令は、
コンテンツアイテムのセットへのアクセスを提供することであって、前記コンテンツアイテムの各々は、対応するコンテンツアイテムを記述するメタデータに関連付けられている、ことと、
ユーザから以前に受信された少なくとも1つの検索に関する情報を提供することと、
前記ユーザから現在の入力を受信することであって、前記現在の入力は、所望のコンテンツアイテムを識別するように前記ユーザによって意図されている、ことと、
前記少なくとも1つの以前の検索に関する情報と前記現在の入力の要素との間の関連性の尺度を決定することであって、前記関連性の尺度を決定することは、
コンテンツアイテムの関係距離を含む関係データベースへのアクセスを提供することであって、前記関係データベースは、ノードおよびエッジを伴う関係グラフを提示し、各ノードは、コンテンツアイテムを表し、各エッジは、任意の2つのコンテンツアイテム間の直接的関係を表し、各エッジは、重みを有する、ことと、
第1の関係距離および第2の関係距離のうちの少なくとも一方に基づいて、前記関連性の尺度を決定することと
を含み、
2つのコンテンツアイテムの前記第1の関係距離は、(1)前記2つのコンテンツアイテムに対応する2つのノード間のホップの数、および、(2)前記2つのコンテンツアイテムに対応する2つのノード間のホップの最小数のうちの少なくとも一方を測定することによって決定され、
2つのコンテンツアイテムの前記第2の関係距離は、前記2つのコンテンツアイテムに対応する2つのノードを接続するエッジの重みの和を計算することによって決定される、ことと、
前記関連性尺度が閾値を超えていないという条件に応じて、前記現在の入力とコンテンツアイテムのサブセットを記述する前記メタデータとを比較することに基づいて、コンテンツアイテムの前記サブセットを選択することと、
前記関連性尺度が前記閾値を超えているという条件に応じて、前記現在の入力および前記少なくとも1つの以前の検索に関する情報とコンテンツアイテムのサブセットを記述する前記メタデータとを比較することに基づいて、コンテンツアイテムの前記サブセットを選択することと
をコンピュータシステムに行わせる、システム。
【発明を実施するための形態】
【0026】
本発明の好ましい実施形態およびその利点は、類似参照番号が類似要素を指す、
図1−8を参照して理解され得る。
【0027】
(会話型システムアーキテクチャ)
図1は、音声入力を使用した情報読み出しのための本発明の実施形態の全体的システムアーキテクチャを表す。本明細書に説明される本発明の実施形態は、随意に、2012年11月2日出願の米国特許出願第13/667,388号「Method of and Systems for Using Conversation State Information in a Conversational Interaction System」および2012年11月2日出願の米国特許出願第13/667,400号「Method of and Systems for Inferring User Intent in Search Input in a Conversational Interaction System」(それぞれ、参照することによって本明細書に組み込まれる)に記載の技法およびシステムと協働することができる。ユーザ101が、ユーザの質問を発話し、質問は、音声/テキストエンジン102にフィードされる。音声/テキストエンジンは、認識された単語および休止を基準形式(例えば、当技術分野において公知の技法を使用する、解析ツリーの形態)で出力する。ユーザ入力のテキスト形態は、セッション対話コンテンツモジュール103にフィードされる。本モジュールは、会話にわたって状態を維持する役割を果たし、その重要な用途は、以下に説明されるように、会話の間、ユーザの意図を理解するのに役立つことである。
【0028】
セッション対話は、言語分析器(または、音声タガーの一部)106および以下に説明される他のエンティティ認識器モジュールと連動して、(1)意図−映画を見つける、曲を再生する、チャネルに合わせる、電子メールに応答する等のユーザの実際の意図、(2)エンティティ−意図を記述する名詞または代名詞語句、(3)フィルタ−「最新」映画、「あまり」暴力的ではない等のエンティティに対する限定子に大きく分類され得る、その成分部品に文を分割する。フィルタは、意図およびエンティティの両方に動作することができる。会話状態は、それらへのフィルタの適用を伴うエンティティおよび意図から構成される。
【0029】
知的かつおよび有意義な会話を提供する目標に照らすと、意図は、おそらく、全3つのカテゴリのうちでキーである。いずれの優れた検索エンジンも、文法または意図を理解せずに、文からエンティティを抽出することだけによって、情報読み出しタスクを非常に良好に行うことができる。ユーザ質問「娘とpulp fictionを見ることができるかな?」を考慮すると、ほとんどの検索エンジンは、pulp fictionのリンクを示し、これは、評価を見つけるために十分であり得るが、それは、そのリンクを検討することからは利用可能である場合もあり、またはそうでない場合もある。しかし、会話型インターフェースにおいて、期待は、明らかに、より高いものであり、システムは、理想的には、映画の評価および適切な年齢層の期待される応答に対応する(映画、評価)意図を理解しなければならない。検索エンジンのものに成り下がった会話型インターフェースの応答は、ユーザの視点からは、システムの故障も同然である。意図決定と、さらに重要なこととして、意図が不明または明確に判別不能であるとき、人の応答により近いようなユーザの質問への応答とが、検索エンジンより人の相互作用により近似させようとする会話型インターフェースのためのキーである。意図分析器108は、あるドメインに関する意図を分析および分類するドメイン特有モジュールであり、他のモジュール、すなわち、ドメイン特有エンティティ認識器107、ユーザの個人的選好に基づいて意図を分類する、個人化ベースの意図分析器109、およびドメイン特有グラフエンジン110と協働する。
【0030】
エンティティ認識器107は、ユーザ入力内のエンティティを認識する。エンティティ認識は、随意に、以下により詳細に説明される、ユーザ入力内のエラーに対するエラー補正または補償を伴い得る。いくつかの実施形態では、エンティティとしてのユーザ入力のサブセットの分類は、重み付けである。入力が、構成要素部品への入力の分析および分解中、エンティティおよび属性の両方としてスコア化され得るシナリオが存在し得る。これらの曖昧性は、多くの場合、文の意味論がユーザ入力の後続処理とともにより明確になるにつれて解決される。いくつかの実施形態では、分解のために使用される重要な構成要素の1つは、以下により詳細に説明される、エンティティ関係グラフである。エンティティ認識器の出力は、入力のサブセットがエンティティであることに対する確率スコアである。
【0031】
意図分析器は、本発明のある実施形態では、ルール駆動型意図認識器、および/または監督訓練を伴う単純ベイズ分類器である。それは、入力として、解析ツリー、エンティティ認識器出力、および属性特有検索エンジン出力(上記および以下に論じられる)を取り込む。いくつかの実装では、ユーザ入力は、入力が完全に解決されるまで、複数のエンティティ認識、属性認識、および意図認識ステップを通過し得る。意図認識器は、文の意図を解読し、また、意図の意味合いの差異を解読する。例えば、「映画Top Gunを見たい」対「Top Gunのような映画を見たい」を検討すると、解析ツリーは、異なるであろう。この差異は、意図認識器が、「ような」の意味を区別することを支援する。ルールベースの認識は、まさにその名が暗示するように、予め定義されたルールに基づいて、文を認識する。予め定義されたルールは、ドメイン空間、例えば、エンターテイメントに特有である。しかしながら、単純ベイズ分類器構成要素は、意図を認識するための訓練データセットをまさに要求する。
【0032】
エンティティ関係グラフ(または、同等のデータ構造)を使用する実施形態では、結果情報は、技法が所望の結果を見つけるために使用する情報とともに、グラフ内に組み込まれる。したがって、意図分析器108、エンティティ認識器107、および属性特有検索エンジン111の反復からの出力は、ユーザが求めている結果であり得る。結果が見つからないか、または発見された結果が十分な信頼性を欠いている場合、ユーザに渡されるべき明確化質問を形成するために、中間ノード/エンティティが使用されることができる。
【0033】
属性特有検索エンジン111は、フィルタを認識することにおいて補助し、フィルタは、それらが限定するエンティティおよび意図の、重みおよび特性に影響を及ぼす。
図1は、具体的ドメインに対するモジュールを示す会話アーキテクチャであるが、本発明の実施形態は、ユーザ入力を取り上げ、ユーザの意図が複数のドメインに及び得る対話に従事することができる、会話型インターフェースを含む。本発明のある実施形態では、これは、
図1に示されるドメイン特有アーキテクチャの複数のインスタンスを有することと、ドメインにわたる意図の重みをスコア化し、ユーザ入力が特定のドメインに一致する程度に基づいて、ユーザの意図を決定することとによって達成される。結果に到達すると、本発明のある実施形態は、ユーザが打ち込んだ情報に加え、結果の一部を使用して、会話状態空間を作成および保存することができる。
【0034】
(本発明の実施形態に適用可能な情報リポジトリ)
いくつかの実施形態では、本発明は、情報読み出しの際、情報リポジトリを使用し得る。情報リポジトリは、類似タイプの情報および/またはあるタイプのコンテンツアイテムのグループである、ドメインに関連付けられている。あるタイプの情報リポジトリは、エンティティおよびエンティティ間の関係を含む。各エンティティ/関係は、それぞれ、タイプのセットからのタイプを有する。さらに、各エンティティ/関係に関連付けられるのは、いくつかの実施形態では、名前−値フィールドの定義された有限セットとして捕捉されることができる、属性のセットである。エンティティ/関係マッピングもまた、エンティティ/関係マッピングが種々のコンテンツアイテムを記述する情報を提供するので、コンテンツアイテムに関連付けられたメタデータのセットとしての役割を果たす。言い換えると、特定のエンティティは、他のエンティティと関係を有し、これらの「他のエンティティ」は、「特定のエンティティ」に対するメタデータとしての役割を果たす。加えて、マッピング内の各エンティティは、それに、または、そのエンティティをマッピング内の他のエンティティに結び付ける関係に割り当てられる属性を有することができる。集合的に、これは、エンティティ/コンテンツアイテムに関連付けられたメタデータを構成する。一般に、そのような情報リポジトリは、構造化情報リポジトリと呼ばれる。ドメインに関連付けられる情報リポジトリの実施例は、以下に続く。
【0035】
メディアエンターテイメントドメインは、映画、TV番組、エピソード、クルー、役/登場人物、俳優/パーソナリティ、運動選手、試合、チーム、リーグおよびトーナメント、スポーツ選手、音楽アーティストおよび演奏者、作曲家、アルバム、曲、ニュースパーソナリティ、および/またはコンテンツ配信業者等のエンティティを含む。これらのエンティティは、情報リポジトリ内に捕捉される関係を有する。例えば、映画エンティティは、「出演」関係を介して、1つ以上の俳優/パーソナリティエンティティに関連する。同様に、映画エンティティは、「オリジナルサウンドトラック」関係を介して、音楽アルバムエンティティに関連し得、ひいては、「アルバム中のトラック」関係を介して、曲エンティティに関連し得る。一方、名前、説明、スケジュール情報、レビュー、評価、コスト、ビデオまたはオーディオへのURL、アプリケーションまたはコンテンツストアのハンドル、評点等は、属性フィールドと見なされ得る。
【0036】
個人用電子メール(電子メール)ドメインは、電子メール、電子メールスレッド、連絡者、送信者、受信者、会社名、企業内の部署/事業部門、電子メールフォルダ、オフィスの場所、および/またはオフィスの場所に対応する都市ならびに国等のエンティティを含む。関係の例証的例は、その送信者エンティティに関連する電子メールエンティティ(ならびに宛先、cc先、bcc先、受信機、および電子メールスレッドエンティティ)を含む。一方、連絡者とその会社、部署、オフィスの場所との間の関係も、存在し得る。このリポジトリでは、エンティティに関連付けられた属性フィールドのインスタンスは、連絡者の名前、称号、電子メールハンドル、他の連絡者情報、電子メール送信/受信タイムスタンプ、件名、本文、添付、優先度レベル、オフィスの場所情報、および/または部署の名前ならびに説明を含む。
【0037】
旅行関連/ホテルおよび観光ドメインは、都市、ホテル、ホテルブランド、個々の着目点、着目点のカテゴリ、消費者が対面する小売店チェーン、レンタカーサイト、および/またはレンタカー会社等のエンティティを含む。そのようなエンティティ間の関係は、場所、チェーンのメンバーシップ、および/またはカテゴリを含む。さらに、名前、説明、キーワード、コスト、サービスのタイプ、評価、レビュー等も全て、属性フィールドになる。
【0038】
電子商取引ドメインは、製品アイテム、製品カテゴリおよびサブカテゴリ、ブランド、店舗等のエンティティを含む。そのようなエンティティ間の関係は、製品アイテム間の適合性情報、店舗によって「販売された」製品等を含むことができる。属性フィールドは、説明、キーワード、レビュー、評価、コスト、および/または可用性情報を含む。
【0039】
アドレスブックドメインは、連絡者名、電子メールアドレス、電話番号、物理的アドレス、および雇用者等のエンティティおよび情報を含む。
【0040】
本明細書にリスト化されたエンティティ、関係、および属性は、例証にすぎず、包括的リストであると意図されるものではない。
【0041】
本発明の実施形態はまた、前述のように、構造化情報リポジトリではないリポジトリを使用し得る。例えば、ネットワークベースの文献(例えば、インターネット/World Wide Web)に対応する情報リポジトリは、リンクされた文献(エンティティ)の関係ウェブと見なされることができる。しかしながら、一般に、いずれの直接適用可能なタイプの構造も、自明でない方法において、前述の構造化情報リポジトリという意味では、インターネットの要素に関連付けられたあらゆる種類のエンティティならびに関係および属性を有意義に記述することができない。しかしながら、ドメイン名、インターネットメディアタイプ、ファイル名、ファイル名拡張子等の要素が、エンティティまたは属性として、そのような情報とともに使用されることができる。
【0042】
例えば、一式の非構造化テキスト文献から成るコーパスを検討すると、この場合、いずれの直接適用可能であるタイプの構造も、エンティティおよび文献コンテンツのセットを有意義に記述する関係を列挙することができない。しかしながら、事前処理ステップとしての意味論的情報抽出処理技法の適用は、そのようなコーパスから構造を部分的に明らかにすることができるエンティティおよび関係をもたらし得る。
【0043】
(本発明のある実施形態下における情報リポジトリへのアクセスの例証的例)
以下の説明は、前述のように、構造化および非構造化情報リポジトリに照らして情報読み出しタスクの例を図示する。
【0044】
ある場合には、ユーザは、概して本明細書では意図タイプと呼ばれるあるタイプの1つ以上のエンティティに関心を示し、ユーザは、エンティティが満たさなければならない属性フィールド制約のみを指定することによってそれを明らかにすることを所望する。時として、意図は、ユーザがあるタイプのエンティティのある属性を所望するとき、(タイプ、属性)対であり得ることに留意されたい。例えば、ユーザが、映画の評価を所望する場合、意図は、(タイプ、属性)=(映画、評価)と見なされ得る。そのようなクエリ制約は、概して、本明細書では、属性専用制約と呼ばれる。
【0045】
ユーザが、エンティティの名前を挙げる、または直接所望の意図タイプエンティティの属性に直接的に一致するために十分な情報を指定する場合は常に、それは、属性専用制約である。例えば、ユーザが、名前といくつかの追加の属性と(例えば、60年代に作製された「Cape Fear」)によって映画を識別するとき、または見つけ出したい電子メールの件名一致を指定するとき、または値段範囲に基づいて、ホテルを要求するとき、または32GB、黒色iPodタッチを所望することを指定するとき。
【0046】
しかしながら、ある場合には、ユーザは、意図タイプエンティティの属性フィールド制約を指定するだけではなく、また、意図タイプエンティティがある明確な方法で関係を介して接続される他のエンティティの属性フィールド制約を指定する、または名前を挙げることによって、1つ以上の意図タイプのエンティティに関心を示す。そのようなクエリ制約は、概して、本明細書では、コネクション指向型制約と呼ばれる。
【0047】
コネクション指向型制約の実施例は、ユーザが、映画の2人以上の俳優を指定することに基づいて、または、映画俳優とその映画が受賞したと賞に基づいて、映画(意図タイプ)を所望するときである。別の実施例は、電子メールに照らすと、ユーザが、過去7日間に特定の会社のある送信者から受信した電子メール(意図タイプ)を所望する場合である。同様に、さらなる例は、ユーザが、鉄道の駅およびStarbucks店舗が近いホテルの部屋(意図タイプ)の予約を所望する場合である。さらに別の実施例は、ユーザが、Nintendo Wiiとも適合性があるSamsung製のテレビセット(意図タイプ)を所望する場合である。これらは全て、コネクション指向型制約クエリのインスタンスである。
【0048】
前述のコネクション指向型制約例では、ユーザは、意図エンティティに接続される他のエンティティを明示的に説明または指定する。そのような制約は、概して、本明細書では、明示的コネクション指向型制約と呼ばれ、そのようなエンティティは、明示的エンティティと呼ばれる。
【0049】
一方、他のクエリは、制約仕様の一部として、非指定または暗示的エンティティを含む、コネクション指向型制約を含む。そのような状況では、ユーザは不明なアイテムとユーザが現在既知のアイテムとの間の関係を通して、不明な一連の情報、エンティティ、属性等の識別を試みる。そのような制約は、概して、本明細書では、暗示的コネクション指向型制約と呼ばれ、非指定エンティティは、概して、本明細書では、制約の暗示的エンティティと呼ばれる。
【0050】
例えば、ユーザは、映画中の2人の登場人物の名前を挙げることを介して、探している映画の識別を所望し得る。しかしながら、ユーザは、登場人物のうちの1人の名前を思い出せないが、特定の俳優がその登場人物を演じたことを思い出す。したがって、そのクエリでは、一方の登場人物を名前で述べ、特定の俳優によって演じられた登場人物を述べることによって、不明な登場人物を識別する。しかしながら、具体的情報読み出し目標に対する以下のユーザ制約を考える。すなわち、ユーザが、指定された役(例えば、登場人物「Tony Montana」)に関する指定されていない映画で指定された俳優(例えば、「Michelle Pfeiffer」)によって演じられた役(意図)を所望する。この場合、ユーザの制約は、映画「Scarface」に対応する、指定されていないまたは暗示的エンティティを含む。同様に、ユーザが、指定された俳優「Scarlett Johannsen」が主演の映画(意図)および指定された映画「Star Wars」で「Obe Wan Kanobi」の指定された役を演じた指定されていない俳優を所望すると仮定する。この場合、暗示的エンティティは、俳優「Ewan McGregor」であり、意図エンティティは、「Scarlett Johannsen」および「Ewan McGregor」が主演の映画「The Island」である。
【0051】
電子メールリポジトリに照らすと、実施例として、先週、電子メール(属性指定子)を介して紹介された、指定された会社「Intel」からの非指定男性からの最後の電子メール(意図)を見つけることを所望するユーザが挙げられる。この場合、暗示的エンティティは、先週、ユーザとの初めての一般電子メール受信者となった従業員/会社関係を介して、「Intel」からの連絡者を調べることによって発見されることができる、連絡者である。
【0052】
前述の3つの実施例は、コネクション指向型制約であるが、制約指定の一部として、指定されていない、または暗示的エンティティを含む。そのような制約を暗示的コネクション指向型制約と呼び、指定されていないエンティティを制約の暗示的エンティティと呼ぶ。
【0053】
(関係およびエンティティ関係グラフ)
関係またはコネクションエンジン1010は、ユーザ入力を理解し、方向性のある応答をもたらす役割を果たす、モジュールのうちの1つである。関係エンジンは、多くの方法で実装され得、グラフデータ構造は、名前グラフエンジンによって関係エンジンを呼び出し得るような1つのインスタンスである。グラフエンジンは、エンティティ間の既知の重み付きコネクションの背景において、ユーザ入力を評価する。
【0054】
グラフデータ構造では、エンティティは、ノードで表され、関係は、エンティティ関係グラフ内のエッジで表される。各エッジは、直接、関連する(すなわち、互いに頻繁に関連付けられる)2つのノードを接続する。例えば、BostonとRed Soxとは、スポーツチームと呼ばれる関係によって、直接、関連し得る。また、New Yorkと金融街とは、近隣関係によって、直接、関連し得る。グラフモデルを具体的に採用する動機は、自然な言語会話における関連性、近接性、および同系性が、リンク距離、ある場合には最短経路および最小重みツリー等の概念によって、簡単にモデル化されることができるという観察によるものである。
【0055】
会話の間、ユーザ対話が、実際に求められるエンティティに関連する他のエンティティを伴う場合、単純グラフ検索問題として情報読み出しに対処するサブルーチンは、文構造の深い明確な理解への依存を減らすために効果的に役立つ。そのようなアプローチは、システム実装利点をもたらす。ユーザの意図計算が、曖昧または不確定である場合でも、エンティティがユーザの発話内で認識される限り、グラフ解釈ベースの問題の処理は、システムが、それ以外の可能なものよりはるかに知的な様式において応答することを可能にする。
【0056】
暗示的および明示的意味論の関係およびリンクは、名前付きエンティティに対する利用可能なメタコンテンツに、統計的テキスト処理、リンク分析、および他の信号の分析(例えば、場所情報等のため)を行うことによって、情報リポジトリ自体の要素間で作成される。これらの関係は、常時進化し、経時的であり、総合的使用状況分析、協調フィルタリング、および他の技法によって強化される。
【0057】
情報リポジトリ内の各名前付きエンティティは、テキスト情報読み出し作業が、重み付きテキスト語句のベクトルとして文書を表す方法と同様の様式において、重み付きテキスト語句(用語)のベクトルとして表される。単純「tf−idf」(用語頻度/逆文書頻度)ベースのアプローチのみでは、多くの重要な場合において、本発明の実装の目的に適正ではない。名前付きエンティティのベクトル表現における重み計算は、テキスト語句が表示される方法、種々の種類のテキスト記述内のテキスト語句の位置、および、テキスト語句に関連付けられたハイパーリンクの構造および位置特性中に存在するより多くの情報信号を利用するように設計される。重み計算は、したがって、テキスト、ハイパーリンク、ならびに情報リポジトリ内のメタコンテンツから抽出される他の特性および関係のより豊富な統計および構造分析に基づく。
【0058】
例えば、互いにより頻繁に関連付けられる2つのエンティティは、2つの他のエンティティより強い関係を有し得る。人々は、その発話において、エンティティBostonおよびRed Soxを、BostonおよびCommonより頻繁に一緒に使用するので、BostonおよびRed Soxは、BostonおよびCommonより強い関係を有し得る。重み付け関係は、エンティティ関係グラフに表されることができる。いくつかの実施形態では、エッジは、重みを表すためにより長いまたはより短い長さを有する。代替として、エッジは、重みに対応する異なる幅を有し得る。他の実施形態では、関係値が、エッジに割り当てられることができる。より強い関係は、より小さい関係値で表され得る。
【0059】
(明示的コネクション指向型制約)
以下は、情報読み出しシステムにおいて採用される明示的コネクション指向型制約の例である。ノードおよびエッジのグラフモデル専門用語もまた、エンティティおよび関係の専門用語と同様に、コネクション指向型制約を説明するために使用され得る。
【0060】
属性専用制約インターフェースを使用する場合、ユーザは、意図エンティティに関するタイプおよび属性制約のみを指定する。一方、明示的に接続されたノード制約インターフェースを使用する場合、ユーザは、加えて、指定された種類のエッジコネクションを介して、意図ノードに接続された他のノードに関するタイプおよび属性制約も指定することができる。情報読み出しの間、明示的に接続されたノード制約を採用する、当技術分野において公知のインターフェースの一実施例は、
図2に示される映画/TV情報検索エンジン400である。
【0061】
全映画およびTVパーソナリティにわたる可能な死亡場所および出生地405の数が、膨大な数であることを考慮して、出生地および死亡場所は、映画情報リポジトリグラフ内の属性ではなく、ノードとして取り扱われる。したがって、グラフィカルユーザインターフェース400内の出生地および死亡場所細目は、意図されるパーソナリティノードに接続されたノードに対する細目である。グラフィカルユーザインターフェース400内の映画作品目録フィルタ410は、ユーザが、再び、意図されるパーソナリティノードに接続された別のノードである、映画またはTV番組ノード等の名前を指定することを可能にする。グラフィカルユーザインターフェースの
図3に示される他のフィルタ500は、意図されるノードの属性の指定子である。
【0062】
グラフィカルユーザインターフェース400の第1の部分では、ユーザは、その意図が、これらのノードの両方において共演したパーソナリティを得ることであるとき、2つの映画またはTV番組ノードを指定し得る。前述のグラフィカルUIの第2の部分では、ユーザは、その意図が、その共演に対応する映画またはTV番組ノードを得ることであるとき、2人のパーソナリティノードを指定し得る。両方の場合において、ユーザは、その意図されるノード以外の接続されたノードを指定し、それによって、これを明示的接続ノード制約にする。しかしながら、当技術分野において公知のインターフェースは、以下に説明されるように、あるタイプの明示的接続ノード制約(明示的コネクション指向型制約)をサポートしない。
【0063】
図4は、ユーザが、Sean Connery主演の架空の登場人物Jack Ryanに基づく映画を探しているとき、所望の結果に到達するために、本明細書に開示される本発明の技法によって分析される、ノード(エンティティ)およびエッジ(関係)のグラフ600を図示する。ユーザは、クエリ「Jack Ryanが登場人物のSean Conneryが主演した映画は?」を提供し得る。本明細書における技法は、以下のように、構造化情報リポジトリに照らして、クエリを解釈する。すなわち、エッジ605によって、「Jack Ryan」610と名付けられた役のタイプの明示的ノードに接続され、また、「出演」エッジ615を介して、「Sean Connery」620と名付けられたパーソナリティのタイプの明示的ノードに接続された映画のタイプ(意図)のノードを得る。本明細書に説明される技法は、映画「The Hunt for the Red October」625をその結果として返す。
【0064】
再び、
図4を参照すると、ユーザが、「Jack Ryanの登場人物を演じた全ての俳優は?」と尋ねたと仮定すると、開示される技法は、以下のように、クエリを解釈するであろう。
「出演」エッジ630によって、「Jack Ryan」610と名付けられた役のタイプの明示的ノードに接続されたパーソナリティのタイプ(意図)のノードを得る。本明細書に開示される本発明のシステムの実施形態は、俳優「Alec Baldwin」635、「Harrison Ford」640、および「Ben Affleck」645を返すであろう。
【0065】
さらなる実施例は、ユーザが、John Grishamの書籍に基づく、Tom Cruise主演の映画の名前を尋ねる場合である。したがって、クエリは、以下となる。すなわち、「出演」エッジによって、「Tom Cruise」と名付けられたパーソナリティのタイプの明示的ノードに接続され、「作者」エッジによって、「John Grisham」と名付けられたパーソナリティのタイプの明示的ノードに接続された映画のタイプ(意図)のノードを得る。本明細書に開示される本発明のシステムの実施形態は、映画「The Firm」を返すであろう。
【0066】
(暗示的コネクション指向型制約)
以下の実施例は、具体的情報読み出し目標のために使用される暗示的コネクション指向型制約および暗示的エンティティを例証する。最初の2つの実施例は、エンティティおよび関係の専門用語を使用した。
【0067】
一実施例では、ユーザは、指定役(例えば、登場人物Tony Montana)に関する非指定映画において、指定俳優/パーソナリティ(例えば、Michelle Pfeiffer)によって演じられた役(意図)を所望する。この場合、ユーザの制約は、非指定または暗示的エンティティを含む。暗示的エンティティは、映画「Scarface」である。
図5は、所望の結果に到達するために、本明細書に開示される技法によって分析される、エンティティおよび関係のグラフ700を図示する。グラフ700は、構造化情報リポジトリの例証的視覚表現である。具体的には、暗示的映画エンティティ「Scarface」705は、映画エンティティ「Scarface」705と俳優エンティティ「Michelle Pfeiffer」715との間の「出演」関係710および登場人物エンティティ「Tony Montana」725と映画エンティティ「Scarface」705との間の「登場人物」関係720を介して到達される。「Michelle Pfeiffer」によって演じられた役エンティティ「Elvira Hancock」730が、次いで、「Michelle Pfeiffer」に対する「出演」関係735および映画エンティティ「Scarface」705に対する「登場人物」関係740によって、発見される。
【0068】
さらなる実施例では、ユーザが、指定俳優エンティティScarlett Johanssonと、指定映画エンティティStar WarsにおけるObi Wan Kenobiの指定役を演じた非指定俳優エンティティとが主演の映画(意図)を所望すると仮定する。この場合、暗示的エンティティは、俳優エンティティ「Ewan McGregor」であり、結果として生じるエンティティは、「Scarlett Johansson」および「Ewan McGregor」主演の映画「The Island」である。
図6は、所望の結果に到達するために、本明細書に開示される技法によって分析されるエンティティおよび関係のグラフ800を図示する。具体的には、暗示的俳優エンティティEwan McGregor805は、少なくとも1つの映画エンティティStar Wars815との出演関係810を介して、かつ登場人物エンティティObi Wan KenobiObi825に対する登場人物関係820を介して、到達され、順に、登場人物関係830を介して、映画エンティティStar Wars815に関連する。一方、結果エンティティThe Island835は、俳優/パーソナリティエンティティScarlett Johansson845と映画エンティティThe Island835との間の出演関係840、および暗示的俳優エンティティEwan McGregor805と映画エンティティThe Islandとの間の出演関係850を介して到達される。
【0069】
図7は、所望の結果に到達するために、本明細書に開示される技法によって分析されるエンティティおよび関係のグラフ900を図示する。本実施例は、ノードおよびエッジの専門用語を使用する。ユーザは、Daniel Craig主演の新しい映画のLed Zeppelinの曲をカバーしたバンドが存在することを知っている。ユーザは、カバーされた曲の名前も、映画の名前も思い出せないが、そのLed Zeppelinのカバーを行ったバンドの他の音楽(すなわち、曲)の探索を所望する。したがって、Led Zeppelin(曲の作曲家として)およびDaniel Craig(映画内の俳優として)の既知のエンティティを指定することによって、介在する暗示されるノードが、ユーザの所望の結果を満たすために発見される。したがって、本明細書の本発明の技法の実施形態は、以下のようにクエリ制約を構成し、「作曲家」エッジ905によってバンドのタイプの暗示的ノード910(Trent Reznor)に接続された曲のタイプ(意図)のノードを返す。なぜなら、このバンドノードは、曲のタイプの暗示的ノード920(Immigrant Song)との「カバー演奏者」エッジ915を有し、暗示的ノード920は、順に、「Led Zeppelin」と名付けられたバンドのタイプの明示的ノード930との「作曲家」エッジ925と、アルバムのタイプの暗示的ノード940(Girl with the Dragon Tattoo Original Sound Track)との「アルバム内のトラック」エッジ935とを有し、暗示的ノード940が、映画のタイプの暗示的ノード950(Girl with the Dragon Tattoo Original Sound Track)との「オリジナルサウンドトラック(OST)」エッジ945を有し、暗示的ノード950は、「Daniel Craig」と名付けられたパーソナリティのタイプの明示的ノード960との「出演」エッジ955を有するからである。
【0070】
前述のように、情報読み出しのための公知の技法およびシステムは、種々の問題に悩まされる。本明細書に説明されるのは、本発明の会話型相互作用インターフェースの実施形態である。これらの実施形態は、ユーザが、それに話し掛けることにより、随意に、物理的相互作用(例えば、インターフェース、キーパッド、キーボード、および/またはマウスに触れること)によって選択肢を選択することにより、クエリおよび/または命令を投げ掛けることによって、情報読み出しシステムと相互作用することを可能にする。ユーザクエリに対する応答は、発話するための機械生成音声テキストによって行われ、ユーザ画面上に表示される情報によって補完され得る。会話相互作用インターフェースの実施形態は、一般に、ユーザが先行クエリに対する情報読み出しシステムの応答に反応してその次の情報読み出しクエリまたは命令を投げ掛けることを可能にし、その結果、情報読み出しセッションは、一連の動作であり、動作の各々は、ユーザが最初にクエリまたは命令を投げ掛け、システムがユーザに応答を提示する。
【0071】
本発明の実施形態は、本明細書で論じられるクエリ制約のためのグラフィカルユーザインターフェースより有力かつ表現的な理論的枠組みである。多くの状況では、特に、多数の可能な属性または明示的および暗示的に接続されたノードの存在の中から柔軟に選択を行うとすると、グラフィカルユーザインターフェースアプローチは、良好に機能しないか、または全く機能しない。そのような場合、本発明の会話型相互作用インターフェースの実施形態は、はるかに自然に調和する。さらに、本発明の実施形態は、グラフィカルユーザインターフェースと比較して、ユーザが指定し得る異なる属性の数ならびに明示的に接続されたノード制約の数および暗示的ノード制約の数の視点からより好適である。
【0072】
(会話状態空間)
図8は、ユーザがシステムと相互作用する度の会話状態空間の修正のプロセスを表す。会話状態空間は、フィルタが適用されるエンティティおよび意図から構成される。音声/テキストエンジン201の出力は、前述のように、エンティティ、意図、およびフィルタ202に分割される。保存された会話状態空間206内のエンティティからの現在発話されているエンティティのセットの関係距離閾値が、グラフエンジン110を利用して評価される203。エンティティ関係グラフを使用する実施形態の場合、関係距離は、接続されるノード間の「ホップ」の観点から測定されることができる。エンティティ関係グラフのエッジが、関係に関連付けられた重みを有する場合、関係距離は、重みを考慮することができる。例えば、Red SoxとSan Franciscoとの間に、2つのホップが存在し、Bostonの中間ノードを有し得る。Red SoxとBostonとの間の関係値は、0.8であり得、BostonとSan Franciscoとの間の関係値は、0.5であり得る。そして、Red SoxとSan Franciscoとの間の関係距離は、1.3であり得る。
【0073】
現在の音声入力内のエンティティが、ある関係距離を越えて会話状態空間内のエンティティからかけ離れているとき、会話状態空間の全部または一部が、リセットされる204。現在の入力エンティティの一致のドメインは、後続会話スレッドのためのアクティブドメイン特有エンジンを決定する。状態空間の全部または一部は、後続会話スレッドのためのドメイン特有エンジンが同一のままである場合でも(ユーザが、依然として、映画を所望するが、後続要求は、以前の要求に関連しない)、リセットされる。現在の音声入力内のエンティティが、会話状態空間内のエンティティから閾値関係距離内にある場合、会話状態空間は、現在のエンティティで増補され205、現在の入力内のフィルタもまた、それらが動作するエンティティおよび/または意図に適用される。
【0074】
1つ以上の新しいエンティティが、保存された状態におけるものからあまりにかけ離れているかどうかは、ドメインの性質に基づいて決定される静的数であることができる。例えば、ノード間に比較的に少ない分岐を有するドメインの場合、ノード間のより少ないホップの数が、閾値として使用されるであろう。一方、広範な分岐を伴うドメイン空間の場合、より多いホップの数が、リセット閾値に到達する前に要求されるであろう。閾値数は、静的値であることができるか、またはユーザからのフィードの監視に基づいて調節されることができる。例えば、閾値は、比較的に高値に設定され得、システムが、新しい入力情報と古い入力情報を不適切に組み合わせているというユーザからのフィードバックを検出する場合、減少させられることができる。
【0075】
さらに、個人化が、保存された会話状態間の関係距離を決定するとき、考慮されることができる。したがって、エンティティ関係グラフ内で比較的にかけ離れた2つのノード(すなわち、エンティティ)は、個人化オーバーレイを前提として、より密接なコネクションを有し得る。例えば、ユーザが、Chicagoを検索する場合は常時、Chicagoまでの航空運賃を検索し得る。この場合、個人化は、2つのエンティティ、すなわち、Chicagoと航空運賃との間の関係距離を短縮し得る。したがって、個人化は、システムがユーザの選好から経時的に学んだものを前提として、グラフ空間内に「ショートカット」を導入する。逆に言えば、会話状態内の値は、アイテムの「年齢」を監視することによってリセットされることができる。すなわち、時間的により遡るアイテムは、定義された期間がその使用以降に経過した後、自動的にリセットされることができる。
【0076】
個人化は、そのようなユーザ選好情報を発見および記憶するための既知の技法を使用して、システムによって提供されることができる、ユーザ選好シグネチャに基づく。例えば、2010年8月10日発行の米国特許第7,774,294号「Methods and Systems for Selecting and Presenting Content Based on Learned Periodicity of User Content Selections」、2010年11月16日発行の米国特許第7,835,998号「Methods and Systems for Selecting and Presenting Content on a First System Based on User Preferences Learned on a Second System」、2008年12月2日発行の米国特許第7,461,061号「User Interface Methods and Systems for Selecting and Presenting Content Based on User Navigation and Selection Actions Associated with the Content」、および2012年2月7日発行の米国特許第8,112,454号「Methods and Systems for Ordering Content Items According to Learned User Preferences」(それぞれ、参照することによって本明細書に組み込まれる)に記載のシステムおよび方法は、本明細書に開示される技法とともに使用されることができる。しかしながら、個人化、ユーザの選好シグネチャ、および/または情報の使用は、組み込まれた出願に記載の技法に限定されない。
【0077】
会話の間、エンティティ内の曖昧性を解決する必要性が存在し得る。複数の結果が存在するとき、ユーザは、どの結果に関心があるかを指定することを所望し得る。これら両方の場合、ユーザは、エンティティ内の曖昧性を解決するために役立てるためにフィルタまたはキーワードを指定するか、または特定の関心結果を指定し得る。ユーザがグラフィカルインターフェース内のメニュー選択肢から選択する必要があるシステムとは著しく対照的に、真の会話の一部としてこれらのフィルタおよびキーワードを指定する能力は、会話のフローを非常に自然にし、人の相互作用により近いものにする。さらに、前述のように、フィルタの適用は、エンティティの重みの修正に加え、会話状態空間を動的に拡張および縮小し、会話のやりとりの過程を通して、ユーザの意図の段階的前進を追跡し得る。
【0078】
(実施例)
以下の実施例は、種々の実施形態を例証する。
【0079】
1)以下の実施例は、会話状態空間内へのエンティティの追加および置換を例証する。
ユーザ:「保険詐欺に関する90年代のBaldwinの映画」。
応答:システムは、いくつかの結果を挙げるが、正しい回答ではない可こともある。
ユーザ(暗示的にフィルタを追加する):「殺人関連」。
応答:システムは、依然として、所望の結果が得られない。
ユーザ(暗示的にフィルタを追加する):「おそらく、Kevin Kline」。
応答:システムは、BaldwinをKelvin Klineと置換し、保険詐欺に関するKlineの映画を返す。
システムは、「90年代の映画」、「Baldwin」、および「保険詐欺」を会話状態空間に追加する。システムは、いくつかの結果を返すが、ユーザが探している映画を含むことも、含まないこともある。ユーザから追加の入力を受信することによって、システムは、ユーザ供給フィルタを追加する。追加の入力「殺人関連」の受信に応じて、システムは、この追加の入力を会話状態空間に投入する。システムは、所望の映画を返さない場合がある。システムは、別の入力「おそらく、Kelvin Kline」を待つ。例えば、システムは、ここで、追加のフィルタとして、Kevin Klineを追加する。例えば、Kevin KlineとBaldwinとの間にコネクション/関係/エッジが存在しない(直接または他のノードを通してのいずれかにおいて)ため、いかなる結果も得られない。言い換えると、それらの間の関係距離は、かけ離れている。したがって、システムは、自動的に、制約としてのBaldwinを除去し、それによって、ユーザが、映画内の俳優に関する新しい手掛かりとして「Kevin Kline」を提供していると推測する。したがって、いくつかの実施形態では、より最新の制約は、より重要性が与えられる一方、より以前の制約は、除去されるか、または重要視されない。さらに、システムは、「Baldwin」が俳優のタイプのエンティティであり、「Kevin Kline」が俳優のタイプのエンティティであることを認識することができる。この認識を前提として、システムは、俳優に対する保存された状態エンティティを新しい俳優エンティティと置換する。さらになお、新しい俳優エンティティの周囲の単語の言語学的分析は、ユーザの意図を推測する。具体的には、単語「おそらく」は、不確実性を表し、したがって、これは、初期俳優エンティティが正しくないであろうという推測を強調する。
【0080】
2)以下の実施例は、会話状態空間内へのエンティティの追加および置換を例証する。
ユーザ:「Tom Cruiseの映画」
応答:システムは、一式を挙げ、ユーザに選定すべき種類を尋ね得る。
ユーザ(暗示的フィルタ):「アクションもの」。
応答:システムは、Tom Cruiseのアクション映画を挙げる。
ユーザ(暗示的フィルタ):「コメディは?」
応答:ジャンル「コメディ」の指定は、同一のタイプのエンティティとの関連で前述されたものと同様の様式において、ジャンルフィルタ「アクション」を除去する。したがって、システムは、Tom Cruiseのコメディを提示する。
ユーザ(暗示的フィルタ):「Dustin Hoffmanと共演したもの」。
応答:システムは、Rain Manを提示する。
システムは、「Tom Cruise」および「映画」を会話状態空間に記憶する。システムが、「アクションもの」を受信すると、システムは、「アクション」を「Tom Cruise」および「映画」と比較し、関係距離が閾値を超えないことを決定する。したがって、システムは、「アクション」を会話状態空間に追加する。システムは、「コメディ」を受信すると、システムは、「コメディ」と「アクション」との間の関係距離が閾値を超えることを決定し、会話状態空間内で「アクション」を「コメディ」と置換する。ユーザがさらに、「Dustin Hoffmanと共演したもの」を入力することによって、その意図を指定すると、システムは、最初に、「Tom Cruise」、「Dustin Hoffman」、および「コメディ」が密接に関連しているかどうか決定する。システムは、Dustin Hoffmanと共演のTom Cruiseのコメディの検索を試み得る。存在しないため、システムは、「コメディ」が適用されないと推定し、それを除去する。システムは、Dustin Hoffmanとの共演のTom Cruiseの映画を試し、Rain Manを提示する。本実施例では、システムは、後続の会話に含まれる単語のため、同様に俳優タイプである新しいエンティティが提示されているにもかかわらず、Tom Cruise(俳優タイプのエンティティ)の保存状態値を保っている。具体的には、単語「共演」は、フィルタまたはエンティティの連結を暗示する。したがって、システムは、ユーザがTom CruiseおよびDustin Hoffmanの両方を使用することを所望していると推測する。
【0081】
3)フィルタを指定する順序は、問題ではないこともある。以下の実施例は、やりとりの順序が異なる、前述の会話スレッドの単なる変形例である。
ユーザ:アクション映画
応答:システムは、アクション映画を返す。
ユーザ:Tom Cruise
応答:システムは、Tom Cruiseが主演のアクション映画を返す。
ユーザ:コメディ
応答:システムは、アクションおよびコメディの両方のTom Cruiseの映画を返す。
ユーザ:Dustin Hoffman
応答:システムは、Rain Manを返す。
システムは、「アクション映画」を会話状態空間内に記憶し、アクション映画を返す。ユーザは、俳優を指定し、検索の範囲を狭める。システムは、「Tom Cruise」を会話状態空間に打ち込み、Tom Cruiseが主演のアクション映画を返す。ユーザが、追加の入力「コメディ」を打ち込むと、システムは、アクションおよびコメディの両方のTom Cruiseの映画を返す。そのような映画が存在しない場合、システムは、「アクション」を「コメディ」と置換する。システムが、「Dustin Hoffman」と述べる入力を受信すると、システムは、「アクション映画」、「コメディ」、「Tom Cruise」、および「Dustin Hoffman」を使用して、映画を見つける。4つのエンティティに関連付けられたメタデータを有する映画な存在しない場合、システムは、「コメディ」、「Tom Cruise」、および「Dustin Hoffman」に基づいて、映画を検索する。システムが、Rain Manがこれらのキーワードに一致する映画であることを見つけると、システムは、Rain Manをユーザに提示する。
【0082】
4)以下の実施例は、会話状態空間内へのエンティティの追加を例証する。
ユーザ:Tom Cruise
応答:システムは、Tom Cruiseの映画を返答する。
ユーザ(暗示的フィルタ):侍
応答:システムは、Last Samuraiを返す。
システムは、「Tom Cruise」を会話状態空間内に記憶し、Tom Cruiseが主演の映画のリストを提示する。システムが、「侍」を受信すると、システムは、「侍」と「Tom Cruise」とが密接な関係を有するかどうか決定する。この関連性の尺度は、グラフに関する関係データベースを照会することによって決定されることができる。システムが、密接な関係が存在すると決定すると、システムは、侍を追加のエンティティとして取り扱い、「Tom Cruise」を「Samurai」と置換するのではなく、それを会話状態空間内に打ち込む。次いで、システムは、Tom Cruiseが主演の侍映画を検索し、Last Samuraiを提示する。
【0083】
5)以下の実施例は、会話状態空間内へのフィルタの追加および置換を例証する。
ユーザ:Star Wars
応答:システムは、全てのStar Wars映画を列挙する。
ユーザ(フィルタ):最新。
応答:システムは、最新のStar Wars映画を提示する。
ユーザ(フィルタ):2作目。
応答:システムは、2作目のStar Wars映画を提示する。
システムは、「Star Wars」を会話状態空間内に記憶する。別の入力「最新」を受信すると、システムは、その入力を会話状態空間内に投入し、最新のStar Wars映画をユーザに提示する。さらなる入力「2作目」を受信すると、会話状態空間は、その入力を会話状態空間内に投入する。しかしながら、連続して2つの映画のみが存在する場合を除き、「2作目」および「最新」は、互に排他的であるため、システムは、「最新」を状態空間から除去し、2作目のStar Wars映画を返す。
【0084】
6)以下の実施例は、会話状態空間内へのフィルタの追加を例証する。
ユーザ:Seinfeld
応答:システムは、Seinfeld番組を返答する。
ユーザ(選択フィルタ):シーズン2
応答:システムは、シーズン2エピソードを返答する。
ユーザ(選択):最後のエピソード
応答:システムは、シーズン2の最後のエピソードを返答する。
システムは、「Seinfeld」を会話状態空間内に記憶し、Seinfeld番組をユーザに提示する。システムが、別の入力「シーズン2」を受信すると、システムは、その入力を会話状態空間内に記憶し、Seinfeldのシーズン2を返す。ユーザが、追加の入力「最後のエピソード」を提供すると、システムは、フィルタ「最後のエピソード」と「シーズン2」とが互に排他的であるかどうかを決定する。これらの2つのフィルタは、互に排他的ではないため、システムは、「最後のエピソード」を会話状態空間内に記憶する。全3つのキーワード(「Seinfeld」、「シーズン2」、および「最後のエピソード」)を使用して、システムは、Seinfeld番組のシーズン2の最後のエピソードを提示する。
【0085】
7)以下の実施例は、会話状態空間内へのフィルタの追加を例証する。
ユーザ:Star Wars
応答:システムは、Star Wars映画を返答する。
ユーザ(選択):最後の作品
応答:システムは、Star Warsシリーズの最後の映画を返答する。
システムは、「Star Wars」を会話状態空間内に記憶し、Star Wars映画を提示する。ユーザが、入力「最後の作品」を提供すると、システムは、それを会話状態空間内に記憶する。利用可能なエンティティ「Star Wars」およびフィルタ「最後の作品」を使用して、システムは、Star Warsシリーズの最後の映画を提示する。
【0086】
8)以下の実施例は、個人化によって作成されたショートカットを例証する。
ユーザ:Patriot games
応答:システムは、New EnglandのPatriotの試合を返す。
ユーザ:いいえ、映画のこと。
応答:システムは、映画「Patriot games」を返す。
システムは、「Patriot games」を会話状態空間内に記憶する。New EnglandのPatriotの試合を提示するシステムの応答は、New EnglandのPatriotの試合に対する好みを反映するユーザの選好シグネチャによって影響される。これは、個人化に基づいて、Patriotエンティティを試合エンティティまたは概念にリンクするショートカットを例証する。個人化がなければ、「Patriot」と「試合」とは、New EnglandのPatriotsを結果として提供するにはかけ離れていると考えられ得る。ユーザがPatriotの試合を検索しているのではない場合、ユーザは、追加の入力を提供し得る。システムが追加の入力「いいえ、映画のこと」を受信すると、システムは、「映画」を会話状態空間に追加する。システムが、「映画」および「Patriot games」に関連付けられたメタデータを有するコンテンツアイテムを見つけると、その結果をユーザに提示する。本実施例では、システムは、映画Patriot gamesを表示する。
【0087】
9)以下の実施例は、さらなる限定質問および回答に基づく、会話状態空間内へのエンティティの追加を例証する。
ユーザ:Star Trek
応答:システムは、「映画ですか、TVシリーズですか?」と尋ねる。
ユーザ:映画
応答:システムは、Star Trek映画を返す。
システムは、「Star Trek」をその会話状態空間内に記憶する。単語「Star Trek」に曖昧性が存在するため、システムは、会話状態空間の範囲を狭める追加の質問を尋ねる。ユーザが、次の入力「映画」を提供すると、システムは、「映画」と「Star Trek」との間の関係距離を確認する。2つのキーワードが密接な関係を有するため、システムは、新しい入力および会話状態空間を使用して、Star Trek映画を見つける。その結果、システムは、Star Trek映画をユーザに提示する。
【0088】
10)以下の実施例は、ユーザに提示される結果をさらに限定するための会話状態空間内へのフィルタの追加を例証する。
ユーザ:Star WarsでObi Wan Kenobiを演じたのは?
応答:システムは、単一結果Alec Guinnessまたは結果のリストのいずれかを応答し得る。
ユーザ:新しい方。
応答:システムは、Ewan McGregorを返答する。
システムは、俳優のエンティティを見つけるユーザの意図を決定する。システムはまた、「Obi Wan Kenobi」および「Star Wars」をその会話状態空間内に投入する。ユーザが検索している登場人物を演じた複数の俳優が存在し得る。本実施例では、Alec GuinnessおよびEwan McGregorの両方がObi Wan KenobiObi Wan Kenobiとして演じている。システムは、結果の完全リストまたは部分的リストのいずれかを返し得る。ユーザが、フィルタ「新しい方」を提供すると、システムは、「Obi Wan Kenobi」、「Star Wars」、および新しいフィルタを含む会話状態空間を使用して、ユーザが検索しているエンティティがEwan McGregorであると決定する。システムは、Ewan McGregorを返す。
【0089】
11)以下の実施例は、所望のコンテンツアイテムを見つけることに基づく、システムのフォローアップアクションを例証する。
ユーザ:Tom CruiseおよびDustin Hoffmanの映画
応答:システムは、「Rain Manを見たいですか?」と返答する。
ユーザ:はい、Netflixで利用可能か調べて。
これは、曖昧性を解決するための質問ではないが、回答に関連付けられた非常に高い信頼性値を前提として、会話のフローに適合する応答スタイルである。システムは、「Tom Cruise」、「Dustin Hoffman」、および「映画」を会話状態空間内に記憶する。「Rain Man」が唯一の結果または非常に高い信頼性を伴う結果である場合、システムは、結果が映画であるという事実に基づいて行われ得る、可能なアクションを返す。次いで、システムは、会話状態空間を使用して、Netflixでの映画の可用性を見つける。システムは、他のオンラインストリーミングまたはレンタルウェブサイトを検索し得る。他のサイトを検索するかどうかは、ユーザ選好シグネチャに基づき得る。
【0090】
12)以下の実施例は、会話状態空間内のエンティティの音声/テキストエラーおよび置換が存在するときのシステムのアクションを例証する。
ユーザ:Star WarsでObi Wanobeを演じたのは誰?
応答:システムは、Star Warsにおける全登場人物を列挙し、また、その登場人物を演じた俳優を列挙し得る。
ユーザ:(ユーザは、訂正する)Obi Wan Kenobiを演じたのは?
応答:システムは、他の登場人物および俳優を除去し、Alec Guinnessおよび/またはEwan McGregorの一方あるいは両方を返す。
システムは、最初に、「演じる」、「Obi Wanobe」、および「Star Wars」を会話状態空間に追加する。この場合、ユーザが正しい登場人物名を挙げなかったか、またはシステムがユーザの単語を正しく検出しなかったかのいずれかである。システムは、ユーザの意図が「Star Wars」における俳優名のエンティティを見つけることであることを理解する。システムは、最初に、「Obi Wanobe」という名前の登場人物を見つけようとするが、そのような登場人物が存在しないため、見つけることができない。次いで、システムは、「Star Wars」内の全登場人物を提供し、また、それらの登場人物を演じた俳優を提供し得る。全登場人物および俳優を列挙するとき、システムは、「Obi Wanobe」の発音が登場人物とどれだけ近いかに基づいてリストを順序付け得る。システムは、「Obi Wanobe」を「Obi Wan Kenobi」と置換する。「Obi Wanobe」の記録が存在しないため、2つのキーワード間の関係距離は、存在しないか、またはかけ離れている。ユーザが、「Obi Wan Kenobiのこと」と訂正すると、システムは、「Star Wars」で「Obi Wan Kenobi」を演じた俳優を検索し、「Star Wars」で「Obi Wan Kenobi」を演じたAlec GuinnessおよびEwan McGregorを返す。「Star Wars」は、会話状態に保存されているため、繰り返される必要はない。システムは、GuinnessおよびMcGregorの一方のみ返し得る。代替として、システムが「Obi Wanobe」を見つけることができないとき、システムは、「Obi Wanobe」に最も音声が類似する登場人物を決定し、「Obi Wan Kenobi」およびその登場人物を演じた俳優を返し得る。
【0091】
13)別の音声/テキストエラーの場合の実施例は、以下である。
ユーザ:Tom CruiseおよびPaul Manningの映画。
応答:システムは、「Tom CruiseおよびPeyton Manningの映画は見つかりません」と返す。
ユーザ:Peyton Manningではなく、Paul Neumann。
応答:システムは、Color of Moneyを提示する。
本実施例では、語彙エンジンおよび/または音声/テキストエンジンが、入力のある部分が、意図、エンティティ、および/または属性に関連するかどうかの検討から独立して、ユーザ入力に補正を行う。実施例では、名前「Manning」が名前「Paul」より一般的ではなく、したがって、入力を解決しようとするとき、語彙エンジンによってより高い重みが与えられるため、「Paul Neumann」は、「Paul Manning」と誤変換されている。代替として、ユーザは、単に、その名前を「Paul Manning」と誤って発話し得る。さらになお、ユーザ入力における潜在的エラーをスクリーニングする場合にエンティティ関係グラフが考慮されるある実施形態では、American Footballのユーザの選好が、考慮され、ユーザが本事例において意図していないとういう事実にもかかわらず、「Peyton Manning」を可能性のある入力エンティティとして提供し得る。システムは、「映画」、「Tom Cruise」、および「Paul Manning」を会話状態空間内に記憶し、結果が存在しないことを提示する。ユーザは、システムが、「Paul Neumann」ではなく、「Peyton Manning」を検索したことを認識し、追加の入力を与え、システムを補正する。システムは、誤ったエンティティ「Peyton Manning」のユーザの表明識別を認識し、そのエンティティを「Paul Neumann」と置換する。システムは、会話状態空間内で「Payton Manning」を「Paul Neumann」と置換する。会話状態空間内の「Tom Cruise」、「映画」、および「Paul Neumann」を使用して、システムは、Color of Moneyを提示する。
【0092】
いくつかの実施形態では、前述の実施例の多くに提示されるように、システムは、音声入力を分析し、関連キーワードを会話状態空間内に投入する。次いで、システムは、所望のコンテンツを見つける。しかしながら、代替実施形態では、システムは、最初に、所望のコンテンツを分析および検索し得る。システムがユーザの意図を満たすことに失敗すると、システムは、キーワードを会話状態空間内に記録し、追加の入力を求める。
【0093】
本明細書に開示される技法およびシステムは、コンピュータシステムまたはコンピュータ化電子デバイスと併用するためのコンピュータプログラム製品として実装され得る。そのような実装は、コンピュータ読み取り可能な媒体(例えば、ディスケット、CD−ROM、ROM、フラッシュメモリまたは他のメモリ、あるいは固定ディスク)等の有形メディア上に固定されるか、あるいは媒体を経由してネットワークに接続された通信アダプタ等のモデムまたは他のインターフェースデバイスを介して、コンピュータシステムまたはデバイスに伝送可能であるかのいずれかである、一連のコンピュータ命令または論理を含み得る。
【0094】
媒体は、有形媒体(例えば、光学またはアナログ通信ライン)または無線技法(例えば、Wi−Fi、セルラー、マイクロ波、赤外線、または他の伝送技法)を用いて実装される媒体のいずれかであり得る。一連のコンピュータ命令は、システムに関して本明細書に前述の機能性の少なくとも一部を具現化する。当業者は、そのようなコンピュータ命令が、多くのコンピュータアーキテクチャまたはオペレーティングシステムと併用するために、いくつかのプログラミング言語で書かれることができることを理解するはずである。
【0095】
さらに、そのような命令は、半導体、磁気、光学、または他のメモリデバイス等の任意の有形メモリデバイス内に記憶され得、光学、赤外線、マイクロ波、または他の伝送技術等の任意の通信技術を使用して伝送され得る。
【0096】
そのようなコンピュータプログラム製品は、付随の印刷または電子説明書(例えば、市販のソフトウェア)を伴う取り外し可能な媒体として配信される、コンピュータシステムに予め搭載される(例えば、システムROMまたは固定ディスク上)、あるいはネットワーク(例えば、インターネットまたはWorld Wide Web)を経由して、サーバまたは電子掲示板から配信され得ることが予想される。当然ながら、本発明のいくつかの実施形態は、ソフトウェア(例えば、コンピュータプログラム製品)およびハードウェアの両方の組み合わせとして実装され得る。本発明のさらに他の実施形態は、全体的にハードウェアまたは全体的にソフトウェア(例えば、コンピュータプログラム製品)として実装される。
【0097】
さらに、本明細書に開示される技法およびシステムは、種々のモバイルデバイスとともに使用されることができる。例えば、本明細書で論じられる信号を受信可能な携帯電話、スマートフォン、携帯情報端末、および/またはモバイルコンピューティングデバイスが、本発明の実装において使用されることができる。
【0098】
本開示の熟読から当業者に明白となるであろうように、本開示は、前述で具体的に開示されたもの以外の形態で具現化されることができる。前述の特定の実施形態は、したがって、制限ではなく、例証と見なされるべきである。当業者は、本明細書に説明される具体的実施形態の多数の均等物を認識する、またはルーチンにすぎない実験を使用して、それらを究明するであろう。本発明の範囲は、前述の説明に含有される実施例に限定されるのではなく、添付の請求項およびその均等物に記載される。