JP6727212B2 - 不完全自然言語クエリを理解するための方法 - Google Patents

不完全自然言語クエリを理解するための方法 Download PDF

Info

Publication number
JP6727212B2
JP6727212B2 JP2017535790A JP2017535790A JP6727212B2 JP 6727212 B2 JP6727212 B2 JP 6727212B2 JP 2017535790 A JP2017535790 A JP 2017535790A JP 2017535790 A JP2017535790 A JP 2017535790A JP 6727212 B2 JP6727212 B2 JP 6727212B2
Authority
JP
Japan
Prior art keywords
domain
natural language
user
intent
incomplete
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017535790A
Other languages
English (en)
Other versions
JP2018503191A (ja
Inventor
サリカヤ,ルヒ
デレク・リウ,シャオホゥ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2018503191A publication Critical patent/JP2018503191A/ja
Application granted granted Critical
Publication of JP6727212B2 publication Critical patent/JP6727212B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/126Character encoding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/216Parsing using statistical methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/274Converting codes to words; Guess-ahead of partial word inputs
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/26Speech to text systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Evolutionary Computation (AREA)
  • Machine Translation (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System (AREA)

Description

本願発明の一実施例は、例えば、不完全自然言語クエリを理解するための方法に関する。
[0001]様々なコンピューティングデバイスは、ユーザーからの入力を受信するために言語理解アプリケーション(たとえば、デジタルアシスタントアプリケーション)を使用する。しかしながら、言語理解アプリケーションは、テキストおよびオーディオ入力などの不完全入力をしばしば受信する。たとえば、ユーザーがタイプまたはジェスチャーするとき、少なくとも、ユーザーが入力を入力することを止めるまで、入力は不完全である。したがって、入力のリアルタイム解釈は不完全入力の理解を必要とする。ユーザーに表現を完成するように要求することは、ユーザー時間を浪費し、コンピューターが応答をユーザーに配信するのにかかる時間を遅くするので、不完全自然言語表現のリアルタイム理解は、コンピューター効率とユーザー効率の両方を改善し得る。この点について、デジタルアシスタントアプリケーションは、不完全テキスト入力およびオーディオ入力を解釈する必要を有し得る。
[0002]不完全入力を解釈することは課題を提示する。たとえば、ユーザーは、不完全入力を入力するとき、コンピューターが(1つまたは複数の)特定のアクションを実施することを望み得る。「アクション」は、たとえば、「会議を作成する」、「ルートを入手する」、「タスクを作成する」、「アラームを設定する」など、コンピューター上で実行可能な任意の機能である。「所望のアクション」は、ユーザーが、不完全入力を入力しながら実施しようとする、1つまたは複数の特定のアクションである((1つまたは複数の)所望のアクションは、本明細書では「ユーザーの意図」または「ユーザー意図」と呼ばれる)。いくつかの言語理解アプリケーションは、不完全入力に基づいて、ユーザーにオートコンプリート候補を供給する。しかしながら、これらの候補は、ユーザーの意図に対処することができず、たとえば、所望のアクションの実施を可能にすることができない。
[0003]本技術の態様が製作されたのは、これらおよび他の一般的な考慮事項に関してである。また、比較的特定の問題について説明したが、実施形態は、背景技術において識別された特定の問題を解決することに限定されるべきでないことを理解されたい。
本願発明の一実施例は、例えば、不完全自然言語クエリを理解するための方法に関する。
[0004]本開示は、一般に、コンピューティングデバイスによって不完全自然言語入力を解釈することに関する。本技術の態様では、1つまたは複数のデバイスが、不完全自然言語表現に基づいてアクションをとる。たとえば、不完全自然言語表現が、入力としてコンピューティングデバイスによって受信され得る。入力は、テキスト、ジェスチャー、または音声入力のうちの1つまたは複数であり得る。この不完全自然言語表現から、ユーザーがそこにおいて操作することを望む1つまたは複数のドメイン(すなわち、カレンダードメイン、アラームドメインなど、関係するアクションのグループ)に関する1つまたは複数の予測が行われる。
[0005]さらに、本技術の態様は、ユーザーの意図が特定のドメインの特定のアクションに向けられている可能性を予測することを含む。たとえば、1つのドメインはカレンダードメインであり、カレンダードメインにおいてとられ得るアクションの例としては、予定を設定すること、予定を取り消すこと、または予定を移動することがある。不完全自然言語表現に基づいて、ドメインにおける各アクションのための意図仮説が、各アクションについて作成される。意図仮説は、ドメインにおけるアクションがユーザーの意図(すなわち、所望のアクション)であるという予測である。複数のドメインが予測され得、各ドメインが複数のアクションを有し得るので、複数のドメイン予測は複数の意図仮説を生じ得る。
[0006]一態様では、意図仮説が、追加情報を使用する意図仮説である(たとえば、意図が、日付、時間、参加者などを使用するであろうカレンダー予定を作成することである)場合、追加情報を取得する(たとえば、不完全入力中のまたはそれに関係する日付、時間、および参加者に関係する情報を見つける)ために、不完全自然言語表現および/または他のコンテキスト情報の分析が行われる。
[0007]さらに、複数の選択可能なオプション(たとえば、カレンダードメインアプリケーションのためのGUI)が、各予測されたドメインについて生成され得、各選択可能なオプションがユーザーに提示され得る。選択可能なオプションは、予測されたドメインがユーザーの意図を反映する可能性の分析に基づいてランク付けされ得、情報(たとえば、潜在的な会議のための日付および時間)が、選択可能なオプション中に事前ポピュレートされる。本技術の態様では、選択可能なオプションの選択により、グラフィカルユーザーインターフェイスがユーザーデバイス上にドメインアプリケーションを提示する。ドメインアプリケーションは、特定のドメインにおける1つまたは複数のアクションを実施するためのアプリケーションである。ドメインアプリケーションは、アクションを実施するために機能を使用する。たとえば、カレンダードメインアプリケーションは、会議を作成するために機能「create_meeting」を使用し得る。したがって、特定のドメインアプリケーションの提示は、ドメインアプリケーションが不完全自然言語表現および/または他のコンテキスト情報から検出または推論しなかった任意の追加情報をユーザーが補充することを可能にし得る。
[0008]さらに、本技術の態様は、不完全自然言語表現分析モデルを構築するためのバックエンド学習モジュールを含む。バックエンド学習モジュールはテスト不完全自然言語表現を使用し得る。各テスト不完全自然言語表現はユーザーの実世界意図を反映することになる。テスト不完全自然言語表現(または表現の要素)は、不完全自然言語表現に基づいて意図を予測するために使用され得る予測アルゴリズムを作成するために、様々な技法を使用して分析されることになる。一態様では、テスト不完全自然言語表現は、1つまたは複数の完成されたフルクエリ自然言語表現モデルと同等と見なされることになる。このようにして、不完全自然言語表現分析モデルを構築するプロセスは、前に構築されたフルクエリ自然言語表現モデルを活用することができる。
[0009]以下の図を参照しながら非限定的で非網羅的な例について説明する。
[0010]例示的な一実施形態による、不完全自然言語表現を理解するためのクライアントコンピューティングデバイスにおいて実装される例示的な動的システムを示す図である。 [0011]1つまたは複数の態様による、不完全自然言語表現を解釈するためのネットワーク化されたシステムを示す図である。 [0012]不完全自然言語表現を解釈するための方法を示す図である。 [0013]不完全自然言語表現から推論された予測された情報を受信し、表示するための方法を示す図である。 [0014]本開示の態様がそれを用いて実施され得るコンピューティングデバイスの物理的コンポーネント(たとえば、ハードウェア)を示すブロック図である。 [0015]本技術の態様を実装するためのモバイルコンピューティングデバイス600の一態様を示す図である。 [0016]モバイルコンピューティングデバイスの一態様のアーキテクチャを示すブロック図である。 [0017]コンピューティングデバイス、タブレット、またはモバイルデバイスなど、リモートソースからコンピューティングシステムにおいて受信されたデータを処理するためのシステムのアーキテクチャの一態様を示す図である。 [0018]本明細書で開示する1つまたは複数の態様を実行し得る例示的なタブレットコンピューティングデバイスを示す図である。 [0019]不完全自然言語表現分析モデルを構築するためのシステムを示す図である。
[0020]以下の発明を実施するための形態では、添付の図面を参照する。これらの図面は本開示の一部であり、各図面は本技術の特定の態様の例を与える。本技術の適用は、図面に示された例よりも広範である。実際、本開示の趣旨または範囲から逸脱することなく、図示された態様は組み合わせられ得、他の態様が利用され得、構造的変更が行われ得る。態様は、方法、システムまたはデバイスとして実施され得る。したがって、態様は、ハードウェア実装形態、完全にソフトウェアの実装形態、またはソフトウェア態様とハードウェア態様とを組み合わせる実装形態の形態をとり得る。したがって、以下の発明を実施するための形態は限定的な意味にとられるべきではなく、本開示の範囲は添付の特許請求の範囲およびそれらの均等物によって定義される。
[0021]本開示は、概して、不完全自然言語表現を理解することに関する。不完全自然言語表現は、1つまたは複数の文字または単語が不足している、一連の文字、単語、および/またはジェスチャーである。不完全自然言語表現の非限定的な例としては、不完全テキスト入力、タッチ入力、ジェスチャー入力、または音声入力がある。たとえば、デジタルアシスタントへのユーザーによるリアルタイムテキスト入力は、少なくとも、ユーザーが入力をタイプし終えるまで不完全である。本技術は、入力の認識および抽出と、可能性のあるユーザー意図を判断するための入力の分析と、可能性のあるユーザー意図に基づいた1つまたは複数のアプリケーションの実行とを含む。
[0022]たとえば、ユーザーがタイプしている間、自然言語表現は不完全、たとえば、「Tomorrow morning I can’t mee(明日の朝、私はmeeできません)」であり得ると考える。ユーザーは、完全自然言語表現、たとえば、「Tomorrow morning I can’t meet with Jason at 9 am.(明日の朝、私は午前9時にジェイソンと会えません。)Cancel the meeting at 9 am(午前9時の会議を取り消してください)」をタイプする過程にあり得る。本技術は、不完全入力の認識、抽出、および分析を含む。一態様では、これは、リアルタイムで(たとえば、入力が受信される時間中にまたはそれと実質的に同時に)行われる。
[0023]本技術の一態様は、ユーザーの不完全入力が、カレンダードメインなど、特定のドメインに向けられている高い可能性を判断し得る。たとえば、上記の完全表現は、カレンダードメインにおいて実施され得るアクションである、会議を取り消すというユーザーの意図を明示的に識別する。しかしながら、会議を取り消すというユーザーの意図は、受信された不完全入力からも推論され得る。たとえば、句「I can’t mee(私はmeeできません)」は、句「I can’t meet(私は会えません)」との可能性のある相関を有し得る。句「I can’t meet(私は会えません)」と、利用可能な場合、コンテキスト情報(たとえば、ユーザーのカレンダーにおいて明日の朝に設定された会議)とから、会議を取り消すというユーザーの第1の可能性のある意図が判断され得る。したがって、本技術は、カレンダードメインアプリケーションを実行し始め得る。コンピューターは、不完全自然言語表現に基づいて、特定の会議の取り消しを生じるための情報をカレンダードメインアプリケーションに事前ポピュレートし得る。入力の事前ポピュレーションは、カレンダードメインアプリケーションの1つまたは複数の機能を満たすことであり得る。
[0024]さらに、本技術の一態様は、ユーザーの第2の可能性のある意図を判断することを含む。たとえば、不完全自然表現「Tomorrow morning I can’t mee(明日の朝、私はmeeできません)」に基づいて、ユーザーが旅行ドメインにアクセスすることを試みていると判断され得る。これは、利用可能な他のコンテキスト情報に基づいて行われ得る。たとえば、入力が会議取り消しを示唆すると判断され、また、ユーザーが、スケジュールされた会議より前に会議目的地へのフライトを利用することになっている場合、ユーザーがそのフライトを取り消すことを望む可能性があるという判断が行われ得る。したがって、旅行ドメインアプリケーションが実行し始め、旅行手配を取り消すのに十分な情報を事前ポピュレートし得る。
[0025]本技術の態様は、各ドメインアプリケーションを並行して実行させることを含む。一態様では、ユーザーに対する出力が生成され、その出力は、ユーザーが不完全自然言語表現の(1つまたは複数の)意図を確認することを可能にする。
[0026]上記の例は説明の目的で与えられることに留意されたい。本技術は、不完全自然言語表現を分析するために使用され得るが、コンピューティングシステムが、自然言語表現が不完全であることを認識するかまたは知ることが可能であるという要件はない。そうではなく、本技術の態様は、任意の受信された入力に対して不完全自然言語表現分析を実行することを含む。
[0027]図1に、不完全自然言語表現を理解するための動的システム100の一態様を示す。態様では、動的システム100は、クライアントコンピューティングデバイス104上に実装され得る。基本構成では、クライアントコンピューティングデバイス104は、入力要素と出力要素の両方を有するコンピューティングデバイスである。クライアントコンピューティングデバイス104は、不完全自然言語表現を理解するための動的システム100を実装するための任意の好適なコンピューティングデバイスであり得る。たとえば、クライアントコンピューティングデバイス104は、携帯電話、スマートフォン、タブレット、ファブレット、スマートウォッチ、ウェアラブルコンピューター、パーソナルコンピューター、デスクトップコンピューター、ラップトップコンピューターなどのうちの少なくとも1つであり得る。このリストは、例にすぎず、限定的と見なされるべきではない。不完全自然言語表現を理解するための動的システム100を実装するための任意の好適なクライアントコンピューティングデバイスが使用され得る。
[0028]態様では、動的システム100は、入力認識コンポーネント110と、抽出コンポーネント120と、自然言語分析コンポーネント130と、ドメインセット予測器135と、仮説生成コンポーネント140と、ドメインコンポーネント150と、出力生成コンポーネント190とを含み得る。様々なコンポーネントは、ハードウェア、ソフトウェア、またはハードウェアとソフトウェアとの組み合わせを使用して実装され得る。
[0029]動的システム100は、不完全自然言語表現を処理するように構成され得る。この点について、動的システム100は、不完全自然言語表現を受信することを可能にし得る。一例では、不完全自然言語表現は、音声または合図(signed)言語入力(たとえば、ユーザークエリおよび/または要求)の形態の句、単語、および/または用語を含み得る。別の例では、自然言語表現は、テキスト言語入力(たとえば、ユーザークエリおよび/または要求)の形態の句、単語、および/または用語を含み得る。たとえば、不完全自然言語表現「Tomorrow morning,I can’t mee(明日の朝、私はmeeできません)」は、1つまたは複数の文字が不足しており、完全な自然言語表現を形成しない。
[0030]本技術の態様では、入力認識コンポーネント110は、ユーザーからの入力が、話されるにせよ、合図されるにせよ、またはタイプされるにせよ、それを受信する。入力認識コンポーネント110は、その入力をコンピューティングデバイスによって理解可能な一連の文字として解釈する。たとえば、動的システム100は、テキスト入力コンポーネントである入力認識コンポーネント110を含み得る。一態様では、テキスト入力コンポーネントは、タッチスクリーンまたはキーボードを介して入力を受信するように構成され得る。
[0031]さらに、動的システム100は、音声認識コンポーネントである入力認識コンポーネント110を含み得る。態様では、音声認識コンポーネントは、「自動音声認識」(ASR)、「コンピューター音声認識」、および「音声テキスト化」(STT)など、当業者に知られている標準的な音声認識技法を含み得る。いくつかの場合には、音声認識コンポーネントは、「テキスト音声化」など、当業者に知られている標準的なテキスト音声化技法を含み得る。音声認識コンポーネントが1つまたは複数の様々な異なるタイプの音声認識および/またはテキスト認識コンポーネントを含み得ることを、当業者は認識されよう。
[0032]さらに、動的システム100は、ジェスチャー認識コンポーネントである入力認識コンポーネント110を含み得る。ジェスチャー認識コンポーネントは、ステレオカメラ、深度認識カメラ、(グローブなどの)ワイヤードデバイス、ジャイロスコープデバイス、コントローラーデバイス、シングルカメラなどを含み得る。
[0033]態様では、入力認識コンポーネント110によって受信された後に、入力は、次いで、抽出コンポーネント120に送られる。本技術の一態様は、文字nグラム抽出器122を有する抽出コンポーネント120を含む。文字nグラム抽出器122は、入力を、文字nグラムとして知られる一連の1つまたは複数の隣接文字に解析する。本開示で使用する文字nグラム中の文字数は特定のnグラムの名前を決定する。たとえば、「文字トリグラム」フォーマットで抽出された文字は、入力の3つの隣接文字を含むことになる。したがって、単語「reminder(リマインダー)」がトリグラムフォーマットで抽出された場合、抽出されたトリグラムは、「r e m」、「e m i」、「m i n」、「i n d」、「n d e」、および「d e r」である。単一の不完全自然言語表現について複数のnグラムが抽出され得る。
[0034]本技術の態様では、文字nグラム抽出器122は、表現中の各単語が単語であるかどうかにかかわらず、表現全体を抽出する。したがって、たとえば、句「Find Car(車を見つけてください)」は、「F i n」、「i n d」、「n d _」、「d _ C」、「_ C a」、および「C a r」として文字トリグラムに抽出され得、「_」文字はスペースを示す。他の実施形態では、スペースは無視される。他の文字nグラムが使用され得る。
[0035]さらに、抽出コンポーネント120は単語nグラム抽出器コンポーネント124を有し得る。単語nグラム抽出器コンポーネント124は、不完全自然言語表現を1つまたは複数の単語nグラムに解析する。たとえば、単語nグラム抽出器コンポーネント124は、不完全自然言語表現「find car at(車atを見つけてください)」を「find car」および「car at」として単語バイグラムに解析し得る。部分語(partial word)nグラムも単語nグラム抽出器コンポーネント124によって抽出され得ることに留意されたい。たとえば、不完全自然言語表現「find ca(caを見つけてください)」は、「find」および「ca」として単語ユニグラムに解析され得る。したがって、単語nグラム抽出器コンポーネント124は、部分語を単語nグラムに抽出し、および/または全語(full word)をnグラムに抽出し得る。
[0036]抽出コンポーネント120は、抽出されたnグラムを自然言語分析コンポーネント130に送る。実施形態では、nグラムを囲むコンテキスト単語も自然言語分析コンポーネント130に送られる。たとえば、以下は、不完全入力「reminde」について抽出された部分文字ユニグラム〜部分文字セプトグラムをもつ、コンテキスト単語「create(作成する)」の一例である。これらの部分語nグラムの各々は、次いで、分析のために自然言語分析コンポーネント130に送られ得る。
a. create r
b. create re
c. create rem
d. create remi
e. create remin
f. create reminde
これらのnグラムの各々はリアルタイムで抽出され得ることが諒解されよう。したがって、たとえば、ユーザーが「create reminder at 6:00 pm(午後6時00分のリマインダーを作成してください)」とタイプすることを試みている場合、抽出コンポーネント120は、各文字が受信された後、nグラムを自然言語分析コンポーネント130に送ることになる。
[0037]本技術の態様では、自然言語分析コンポーネント130は、考えられるドメインのセットを作成するために、全語nグラムを含む、各抽出されたnグラムを一緒に分析する。たとえば、自然言語分析コンポーネント130は、全語nグラム「create(作成する)」と、不完全入力「reminde」に関連する各抽出されたnグラムとに基づいて、考えられるドメインのセットを識別し得る。一態様では、考えられるドメインのうちの1つはアラームドメインである。他の考えられるドメインは、連絡先ドメイン、タスクドメイン、カレンダードメイン、または旅行ドメインを含み得る。自然言語分析コンポーネント130は、受信された文字nグラムを分析する文字nグラム分析器132と、受信された単語nグラムを分析する単語nグラム分析器134とを有し得る。
[0038]一態様では、ドメインセット予測器135は、自然言語分析コンポーネント130によって識別された考えられるドメインのセットを受信する。一実施形態では、ドメインセット予測器は、自然言語分析コンポーネント130によって識別された考えられるドメインを使用し、他のコンテキスト情報に基づいて、考えられるドメインを追加、修正、または変更する。たとえば、前に受信された情報、(以下でさらに説明する)ターンベースの情報、および表示情報は、すべて、考えられるドメインのセットを改良するために使用され得る。一態様では、考えられるドメインのセットは、事前設定され、動的システム100に関連するすべてのドメインを含む。
[0039]一態様では、考えられるドメインのセットが識別されると、関連するnグラムおよび/またはコンテキスト情報とともに、識別された考えられるドメインは仮説生成コンポーネント140に移る。仮説生成コンポーネント140は、情報を分析し、ドメインセット予測器135によって予測された各考えられるドメインに関連する1つまたは複数のユーザー意図(すなわち、所望のアクション)に信頼性数を割り当てる。信頼性スコアは、特定の予測された意図がユーザーの実際の意図である可能性を表す、0から1の間の数など、ランク付けである。たとえば、不完全自然言語表現がアラームドメインにおける「アラームを作成する」意図に向けられているかどうかを分析するとき、仮説生成コンポーネント140は、以下に示されるように、全語nグラム「create(作成する)」と後続の以下の部分語nグラムとのための信頼性スコアを判断し得る。
nグラム 信頼性スコア
a. create r 0.5125763
b. create re 0.5324858
c. create rem 0.5567417
d. create remi 0.6224860
e. create remin 0.6629963
f. create reminde 0.7343581
したがって、仮説生成コンポーネント140は、ユーザーの意図がアラームドメインにおいてアラームを作成することであるかどうかを判断するために、全語nグラム「create(作成する)」と後続の部分語セプトグラム「reminde」とを分析する。その分析は、たとえば、約0.73の信頼性スコアを生じる。仮説生成コンポーネント140は、各文字が受信された後に(たとえば、ユーザーが文字をタイプするにつれてリアルタイムで)意図仮説を生成し得ることに留意されたい。
[0040]他のコンテキスト情報が、仮説生成コンポーネント140によって使用され得る。たとえば、自然言語分析コンポーネント130は、不完全自然言語表現「show me directions to wash(washへの方向を案内してください)」が、ユーザーの目的が地図ドメイン(たとえば、考えられるドメイン)に関連し得ることを示すと判断し得る。そのような判断の後、仮説生成コンポーネント140は、不完全自然言語表現を使用して意図予測を行い得る。意図予測は、1つまたは複数のnグラムに基づき得る。たとえば、不完全自然言語表現「show me directions to wash(washへの方向を案内してください)」について、仮説生成コンポーネント140は、ユーザー102の第1の予測された意図が、第1の考えられるドメイン、たとえば、地図ドメインにおいて実施され得るアクションである、ある場所への「方向を入手する」こと(所望のアクション)であると判断し得る。第1の予測された意図を実現するために、地図作成アプリケーションなど、第1のドメインアプリケーション160にアクセスするオプションがユーザーに与えられ得る。そのような意図予測は、部分語nグラム「Wash」が、「Washington,Oregon(オレゴン州ワシントン)」または「Washington(ワシントン)D.C.」など、地理的場所の省略である高い確率に基づき得る。確率の判断は、クワッドグラムwashを含んでいる場所にデバイスが近接しているという、および/またはコンテキスト句「show me directions to(への方向を案内してください)」からの、仮説生成コンポーネント140による判断に基づき得る。
[0041]ドメインセット予測器135と仮説生成コンポーネント140の両方は、それぞれ、(1つまたは複数の)考えられるドメインおよび/またはユーザーの(1つまたは複数の)予測された意図を識別するために、他の情報を使用し得る。たとえば、(以下でより詳細に説明する)シングルターンシナリオおよび/またはマルチターンシナリオの両方における不完全自然言語表現の分析が行われ得る。シングルターンシナリオとマルチターンシナリオの両方において、様々なnグラムが、単独でまたは上記で説明したnグラム分析とともに使用され得る。
[0042]シングルターンシナリオは、入力/自然言語表現が、ユーザー102と動的システム100との間のターン中に独立して処理されるシナリオである。シングルターンシナリオは、不完全自然言語表現を分析するために、現在分析されている不完全自然言語表現からの情報をもっぱら利用し得る。これは、入力が受信されている間の不完全自然言語表現のリアルタイム分析を含む。
[0043]マルチターンシナリオは、不完全自然言語表現が2つ以上のターンにわたって分析されるシナリオである。ターンは、ユーザー102がデジタルアシスタントアプリケーションへの要求をタイプすることを含み得、そのデジタルアシスタントアプリケーションは、ユーザー102からの入力を認識するために入力認識コンポーネント110を利用し得る。ターンは、デジタルアシスタントアプリケーションがアクティブ化され、ユーザーがタイプし始めたときに開始し得る。ターンは、ユーザーがタイプするのを止め、および/またはデジタルアシスタントアプリケーションが非アクティブ化されたときに終了し得る。
[0044]ターンは、自然言語表現と動的システム100による応答/アクションの両方を含む。すなわち、第1のターンは、自然言語表現と動的システム100による応答/アクションの両方を含み得る。他の態様では、ユーザーからの応答、たとえば、特定のドメインアプリケーションの選択が検出された場合、この応答はターンの一部と考えられる。他の態様では、マルチターンシナリオは、複数のターンからの情報が、不完全自然言語表現に関する予測を行うために使用され得ることを示す。
[0045]したがって、態様では、ドメインセット予測器135は、nグラム分析と組み合わせて、上記で説明したマルチターンシナリオから集められたコンテキスト情報を使用して、ドメイン予測を実施し得る。さらに、仮説生成コンポーネント140も、マルチターンシナリオから取得されたコンテキスト情報を使用し得る。たとえば、第1のターンは、不完全自然言語表現「how is the weather tomor(天気tomorはどうですか)」を含み得る。この例では、ドメインセット予測器135は、コンテキストターンを鑑みて、考えられるドメインを天気ドメインとして予測し得る。さらに、仮説生成コンポーネント140は、nグラム「tomor」を分析し、天気ドメインにおけるユーザーの意図が「明日の天気を入手する」ことであるという高い信頼性スコアを割り当て得る。
[0046]第2のターンは、不完全自然言語表現「how about this wee(このweeはどうですか)」を含み得る。この例では、ドメインセット予測器135は、考えられるドメインとして天気ドメインを予測し得る。たとえば、ドメインセット予測器135は、(たとえば、ユーザーとのさらなる対話を介して)「how is the weather tomor(天気tomorはどうですか)」の第1のターンを、ユーザーが天気ドメインにあることを意図することを意味すると解決し、その後受信された不完全自然言語表現「how about this wee(このweeはどうですか)」について、同じ考えられるドメイン(すなわち、天気ドメイン)を予測するためにその解決を使用し得る。
[0047]さらに、コンテキスト情報に鑑みた仮説生成コンポーネント140による部分語nグラム「wee」の分析は、仮説生成コンポーネント140が、ユーザーが今週(this week)または今週末(this weekend)のいずれかに関する天気情報を求めているという高い信頼性を予測することを可能にし得る。すなわち、第1のターンが、天気ドメインに関連する天気に関する要求であることに基づいて、仮説生成コンポーネント140は、「how about this wee(このweeはどうですか)」の不完全自然言語表現が第1の表現「how is the weather tomorrow(明日の天気はどうですか)」に関係することを予測し得る。仮説生成コンポーネント140は、ドメインセット予測器135から、不完全自然言語表現「how about this wee(このweeはどうですか)」が、ドメイン天気において情報を送信請求することを意図していることを受信し、次いで、ユーザーの意図が「今週または今週末についての天気を入手する」ことであると判断するために、句「how about this(これはどうですか)」のコンテキストにおいて部分nグラム「wee」をさらに分析し得る。
[0048]別の態様では、ドメインセット予測器135は、並行して、不完全自然言語表現「how about this wee(このweeはどうですか)」が前のターンに関係しないという判断を行い得る。代わりに、たとえば、ドメインセット予測器135は、ユーザーがSMSテキストドメインにアクセスすることを望むという判断を行い得る。これは、たとえば、ドメインセット予測器135が、ユーザーの挙動を、要求を「send text(テキストを送ってください)」で始めることなしにテキストを送ろうと試みることに関連付けたとき、行われ得る。
[0049]上記で説明したように、考えられるドメインのセットが識別され、各考えられるドメインのための各予測された意図に信頼性スコアが与えられた後、情報はドメインコンポーネント150に送られ得る。情報は、ユーザーの(1つまたは複数の)予測された意図、1つまたは複数のnグラム、不完全自然言語表現、および/または何らかのコンテキスト情報を含み得る。図示のように、ドメインコンポーネント150は、第1のドメインアプリケーション160、第2のドメインアプリケーション170、および第3のドメインアプリケーション180など、1つまたは複数のドメインアプリケーションに関連する。これらのドメインアプリケーションは、アラームドメインアプリケーション、カレンダードメインアプリケーション、コミュニケーションドメインアプリケーション、メモドメインアプリケーション、リマインダードメインアプリケーションなどのうちの1つまたは複数に関係し得る。他のドメインアプリケーションが企図される。一態様では、情報は、信頼性スコアが所定の信頼性しきい値に達したときに送られる。
[0050]仮説生成コンポーネント140から第1の予測された意図を受信すると、ドメインコンポーネント150は、第1の予測された意図に対応する第1のドメインアプリケーション160などのアプリケーションを開く。たとえば、第1の予測された意図が、ユーザーの現在場所からワシントン州シアトルへの「ルートを入手する」ことである場合、ドメインコンポーネント150は地図ドメインアプリケーションを開き得る。
[0051]ドメインコンポーネント150によって記憶されたまたはそれにとってアクセス可能である、ドメインアプリケーションに関連する情報が、ドメインコンポーネント150に関連するドメインアプリケーションのいずれかにドメインコンポーネント150によって送られ得る。たとえば、一態様では、第1のドメインアプリケーション160は、機能「get_route」を実行する地図ドメインアプリケーションであり得る。地図ドメインアプリケーションは、機能「get_route」を実行するために、入力(たとえば、ユーザー目的地、ユーザー起点など)および/または他の情報(たとえば、全地球測位システム(GPS)に基づいた現在場所)を使用し得る。
[0052]機能を実施するためにドメインアプリケーションによって使用される情報はスロットとして知られている。さらに、複数のドメインが高い信頼性に達した場合、ドメインコンポーネント150は、第1のドメインアプリケーション160、第2のドメインアプリケーション170、および/または第3のドメインアプリケーション180のいずれかを含む、様々なドメインアプリケーションのための複数のスロットのための情報を識別し得る。1つまたは複数のドメインアプリケーションのための1つまたは複数のスロットの識別はスロット予測として知られている。
[0053]一態様では、スロット予測は、nグラム分析を含めて、不完全自然言語表現を使用して実施される。たとえば、スロット予測は、第1のスロット162など、第1のドメインアプリケーション160のスロットを識別し、不完全自然言語表現から抽出された意味論的に読み込まれた単語から集められた情報でそのスロットを埋めることを含み得る。上記の例を続けると、「show me directions to wash(washへの方向を案内してください)」は、ユーザーがオレゴン州ワシントン(Washington,Oregon)への方向を入手することを試みることとして解釈され得る。すなわち、単語nグラム「wash」は、ドメインコンポーネント150に、地図作成アプリケーションにおいて目的地の場所に関するスロット予測を行わせるであろう十分に高い信頼性レベルで、「Washington,Oregon(オレゴン州ワシントン)」を意味すると解釈され得る。
[0054]たとえば、第1のドメインアプリケーション160が地図作成アプリケーションであり、所望の機能が「get_route」機能である場合、地図作成アプリケーションは第1のスロット162を目的地場所で埋める必要があり得る。したがって、この例では、ドメインコンポーネント150は、オレゴン州ワシントンが、第1のスロット162を埋めるべき目的地場所であると予測し得る。ドメインコンポーネント150は、第2のスロット164など、「get_route」機能を実行するための第1のドメインアプリケーションの他のスロットを埋めるのに十分な情報を有しないことがある。そのようなスロットは、後で、動的システム100がより多くの情報を受信したときに埋められ得る。
[0055]さらに、マルチターンシナリオが、第2のスロット164など、ドメインアプリケーションのための追加のスロットをポピュレートするのに十分な情報をドメインコンポーネント150に与え得る。実際、前のターンのnグラムおよび他の情報は、ドメインコンポーネント150がスロット予測を行うための意図情報を供給するために使用され得る。
[0056]たとえば、ターンの第1のターンは、不完全自然言語表現「create a meeting with Jas(Jasとの会議を作成してください)」を含み得る。この例では、ドメインセット予測器135はカレンダードメインを予測し得、仮説生成コンポーネント140は、たとえば、機能「create_meeting」を使用する、「会議を作成する」の予測された意図に高い信頼性レベルを割り当て得る。ドメインコンポーネント150は、次いで、文字トリグラム「J A S」の分析を実施し得る。コンテキスト句「create a meeting(会議を作成してください)」に基づいて、ドメインコンポーネント150は、文字トリグラム「J A S」が、ジェイソン(Jason)との会議を作成するというユーザーの意図を表すと推論し得、第1のスロット162をジェイソンという名前の連絡先についての情報で埋め得る。
[0057]同様に、同じターンの第2のターンは、不完全自然言語表現「from 2pm to 4(午後2時から4まで)」を含み得る。この例では、ドメインセット予測器135はカレンダードメインを予測し得る。仮説生成コンポーネント140は、ユーザーの意図が「会議時間を設定する」ことであると予測し得、ドメインコンポーネント150は、「start_time=2pm」および「end_time=4pm」というスロット予測を行い得る。
[0058]そのような判断は、nグラム分析を使用して行われ得る。たとえば、ドメインコンポーネント150は、コンテキスト句「2pm to(午後2時〜)」、ならびに前のターンがカレンダードメインに関係したという高い信頼性ランク付けに基づいて、十分に高い信頼性をもって、ユニグラム4が「4 pm(午後4時)」であることを意図とすると判断し得る。
[0059]動的システム100は、現在処理されている不完全自然言語表現からの情報を使用して、ならびに他のソースからの他のコンテキスト情報を使用して、ドメイン、意図、およびスロットのための信頼性スコアを判断するために不完全自然言語表現を評価し得る。コンテキスト情報は、ターン中の各ターンから抽出された情報を含み得る。さらに、コンテキスト情報は、動的システム100による前のターンに対する応答を含み得る。たとえば、前のターンに対する応答は、動的システム100がユーザーからの前の要求にどのように応答したか(たとえば、動的システムがユーザーに何を与えたか)、クライアントコンピューティングデバイス104のディスプレイ上に配置されたアイテム、クライアントコンピューティングデバイス104のディスプレイ上に配置されたテキストなどを含み得る。別の場合には、コンテキスト情報はクライアントコンテキストを含み得る。たとえば、クライアントコンテキストは、クライアントコンピューティングデバイス104上の連絡先リスト、クライアントコンピューティングデバイス104上のカレンダー、GPS情報(たとえば、クライアントコンピューティングデバイス104の場所)、現在時間(たとえば、朝、夜、タイムゾーン)、アクティビティ(たとえば、ユーザーが、クライアントとの会議中、エクササイズ中、運転中などであることを反映する情報)などを含み得る。別の場合には、コンテキスト情報はナレッジコンテンツを含み得る。たとえば、ナレッジコンテンツは、不完全自然言語表現からの特徴を記憶されたデータとマッピングするナレッジデータベースを含み得る。
[0060]態様では、出力生成コンポーネント190はユーザー102に対する出力を生成する。たとえば、出力生成コンポーネント190は、予測されたスロットをもつ1つまたは複数のドメインアプリケーションが動的システム100によって前に推論されたことを示すグラフィカルユーザーインターフェイスを生成し得る。したがって、出力生成コンポーネント190は、ユーザー102に1つまたは複数のドメインアプリケーションを提示し得る。ユーザー102は、第1のドメインアプリケーション160、第2のドメインアプリケーション170、および第3のドメインアプリケーション180など、適切なドメインアプリケーションを選択し得る。一態様では、適切なドメインアプリケーションの選択は、動的システム100に対してドメイン目的とユーザーの実際の意図とを確認する。
[0061]図2に、1つまたは複数の態様による、不完全自然言語表現を理解するためのネットワーク化されたシステム200を示す。態様では、ネットワーク化されたシステム200は、クライアントコンピューティング環境203を記憶するクライアントコンピューティングデバイス204を使用するユーザー202を、自然言語分析環境206を記憶する1つまたは複数のサーバー201に接続する。さらに、サーバーコンピューティングデバイス201は、クライアントコンピューティングデバイス204にデータを与え、クライアントコンピューティングデバイス204からデータを受信し得る。そのようなデータ交換はネットワーク205を通して行われ得る。一態様では、ネットワーク205は、インターネットなど、分散コンピューティングネットワークである。
[0062]クライアントコンピューティングデバイス204はクライアントコンピューティング環境203を記憶する。クライアントコンピューティング環境203は、入力認識コンポーネント210と、第1のドメインアプリケーション260、第2のドメインアプリケーション270、および第3のドメインアプリケーション280を記憶するドメインコンポーネント250とを含み得る。さらに、出力生成コンポーネント290も、クライアントコンピューティング環境203中に存在し得る。
[0063]図示のように、サーバーコンピューティングデバイス201は自然言語分析環境206を記憶する。単一のサーバーコンピューティングデバイス201上に実装されて示されているが、態様では、自然言語分析環境206は、複数のサーバーコンピューティングデバイスなど、2つ以上のサーバーコンピューティングデバイス上に実装され得る。
[0064]自然言語分析環境206は、文字nグラム抽出器222と単語nグラム抽出器224とを記憶する抽出コンポーネント220を含み得る。さらに、自然言語分析環境206はまた、文字nグラム分析器232と単語nグラム分析器234とを記憶する自然言語分析コンポーネント230を記憶し得る。自然言語分析環境206は、ドメインセット予測器235と仮説生成コンポーネント240とをも記憶し得る。
[0065]ネットワーク化されたシステム200は、不完全自然言語表現を処理するように構成され得る。この点について、ネットワーク化されたシステム200は、nグラム分析とコンテキスト情報とを使用して不完全自然言語表現の理解を可能にし得る。入力認識コンポーネント210、抽出コンポーネント220、自然言語分析コンポーネント230、ドメインセット予測器235、仮説生成コンポーネント240、ドメインコンポーネント250、第1のドメインアプリケーション260、第2のドメインアプリケーション270、第3のドメインアプリケーション280、および出力生成コンポーネント290は、図1に関して説明した同じ名前が付けられた参照番号と同様に構成されるかまたはそれと同じである。
[0066]上記で説明したように、サーバーコンピューティングデバイス201に記憶された自然言語分析環境206は、ネットワーク205を通してクライアントコンピューティングデバイス204におよびそれからデータを与え得る。データは、データを送信するのに適した任意のネットワーク上で通信され得る。いくつかの態様では、ネットワーク205は、インターネットなどのコンピューターネットワークである。この点について、ネットワーク205は、ローカルエリアネットワーク(LAN)と、ワイドエリアネットワーク(WAN)と、インターネットと、ワイヤレスおよびワイヤード伝送媒体とを含み得る。この点について、不完全自然言語表現は入力認識コンポーネント210によって受信され得る。入力認識コンポーネント210は、サーバーコンピューティングデバイス201上の自然言語分析環境206によって処理するために入力をネットワーク205上で送信し得る。入力認識コンポーネント110/210、抽出コンポーネント120/220、自然言語分析コンポーネント130/230、ドメインセット予測器135/235、仮説生成コンポーネント140/240、(1つまたは複数のドメインアプリケーションを記憶する)ドメインコンポーネント150/250、および出力生成コンポーネント190/290は、任意の組み合わせで、クライアントコンピューティングデバイス、サーバーコンピューティングデバイス、および/またはクライアントコンピューティングデバイスとサーバーコンピューティングデバイスの両方に配置され得ることが諒解されよう。図1および図2は、例にすぎず、限定的と見なされるべきではない。実際、クライアントコンピューティングデバイスとサーバーコンピューティングデバイスとを含むコンポーネントの任意の好適な組み合わせが、不完全自然言語表現を理解するために使用され得る。
[0067]図3に、不完全自然言語表現を理解するための方法を示す。方法300は動作302において開始し、不完全自然言語表現が受信される。たとえば、不完全自然言語表現は、1つまたは複数の不完全句または単語を含んでいる不完全自然言語表現であり得る。したがって、不完全自然言語表現は、複数の部分語nグラム、複数の単語nグラム、および複数の文字nグラムを含み得る。一例では、不完全自然言語表現は、テキスト入力、ジェスチャー入力、および/または音声言語入力(たとえば、ユーザークエリおよび/または要求)の形態の不完全句、単語、および/または用語を含み得る。すなわち、不完全自然言語表現は、不足している情報を有し得る。
[0068]不完全自然言語表現がシステムにおいて受信されたとき、フローは動作304に進み、不完全自然言語表現の様々なnグラムを分析することによって、考えられるドメインのセットが作成される。たとえば、部分語、単語、および文字nグラムが、句「how about tomo(tomoはどうですか)」から抽出され得る。この例では、1つの考えられるドメインは、(たとえば、完成された自然言語表現「how about tomorrow(明日はどうですか)」に対応する)カレンダードメインであり得、および/または別の考えられるドメインは、(「tamales(タマーレ)」のWeb検索に対応する)Web検索ドメインであり得る。
[0069]考えられるドメインの識別は、さらに、コンテキスト情報に基づき得る。一態様では、コンテキスト情報は、ターンの複数のターンから抽出された情報を含み得る。抽出された情報は、システムが、前のターン(たとえば、現在のターンからの前の自然言語表現/要求)に基づいて、1つまたは複数のドメイン予測、意図予測、および/またはスロット予測(たとえば、結果)を行うことを可能にし得る。
[0070]追加の態様では、コンテキスト情報はクライアントコンテキストを含み得る。たとえば、クライアントコンテキストは、クライアントコンピューティングデバイス上の連絡先リスト、クライアントコンピューティングデバイス上のカレンダー、GPS情報(たとえば、クライアントコンピューティングデバイスの場所)、現在時間(たとえば、朝、夜、会議中、ワークアウト中、運転など)などを含み得る。別の場合には、コンテキスト情報はナレッジコンテンツを含み得る。たとえば、ナレッジコンテンツは、不完全自然言語表現からの特徴を記憶されたデータとマッピングするナレッジデータベースを含み得る。一例として、「ジョンハウイー」は、ナレッジデータベースではレストランにマッピングされ得る。この点について、複数の考えられるドメインが、受信された不完全自然言語表現のために生成され得る。
[0071]考えられるドメインのセットが作成された後、フローは動作306に進み、1つまたは複数の予測された意図が、各考えられるドメインについて判断される。たとえば、各考えられるドメインは、ドメインに関連する機能の対応するセットを有し得、各機能は、所望のアクション(たとえば、ユーザー意図)に対応し得る。ある場合には、nグラムおよびコンテキスト情報が、各機能のための信頼性スコアを判断するために、各考えられるドメインにおける各機能(たとえば、各意図)に対して分析され得る。
[0072]意図のセットが生成されたとき、フローはランク付け動作308に進む。ランク付け動作308では、各意図が、所与の信頼性スコアに従ってランク付けされる。たとえば、信頼性スコアは、コンテキスト情報とnグラム分析とに基づいて与えられ得る。
[0073]意図のセットがランク付けされた後、フローは動作310に進み、低い信頼性スコアをもつ意図が削除される。態様では、意図の削除は、所定の信頼性しきい値に基づいて行われる。たとえば、信頼性スコアが0から1の間にある場合、0.7よりも低い信頼性スコアをもつ意図は削除されることになる。代替的に、意図は、それらがランク付けの下部分にある場合、削除され得る。たとえば、10個の意図が識別された場合、(信頼性スコアによる)下の7個は削除されることになる。いくつかの態様では、意図は削除されない。所定の信頼性しきい値よりも大きい信頼性スコアをもつ意図は、予測された意図として識別され得る。
[0074]フローは、次いで動作312に進み、予測された意図のスロットが予測される。たとえば、予測された意図が「ルートを入手する」であり、地図作成ドメインアプリケーションの機能が「get_route」である場合、機能get_routeは、実行するために情報を必要とし得る。そのような情報は、目的地場所または起点場所を含み得る。この情報(またはスロット)は、コンテキスト情報とnグラム分析とを使用して予測され得る。
[0075]スロットを予測する動作312の後、フローは判断314に続く。判断314において、追加の考えられるドメインがセット中にあるかどうかが判断される。追加の考えられるドメインがセット中にある場合、本方法は、セット中の次の考えられるドメインのための仮説を判断するために戻る。考えられるドメインが残っていない場合、方法300は終了する。
[0076]図4に、不完全自然言語表現から推論された予測された情報を受信し、表示するための方法を示す。方法400は動作402において開始し、不完全自然言語表現が受信される。たとえば、不完全自然言語表現は、1つまたは複数の不完全句または単語を含んでいる不完全自然言語表現であり得る。受信された入力は、ジェスチャー、音声、またはテキスト入力の形態で受信され得る。
[0077]動作402から、フローは動作404に進み、入力は処理のために送出される。一態様では、情報は、不完全自然言語表現の分析のために1つまたは複数のサーバーに送られる。入力は、インターネットなどのネットワーク上で送られ得る。
[0078]動作406において、1つまたは複数の意図予測が受信される。1つまたは複数の意図予測は、1つまたは複数の考えられるドメインに対応する。意図予測は、不完全自然言語表現のコンテキスト情報とnグラム分析とに基づき得る。
[0079]フローは、次いで動作408に進み、スロットが予測される。たとえば、意図が「get_route」であり、スロットが目的地場所である場合、コンテキスト情報およびnグラム分析は、スロットの予測がワシントンDCの目的地場所であることを可能にし得る。
[0080]フローは、次いで、予測された意図を表示する動作410に進む。予測された意図を表示する動作410では、予測されたスロットとともに1つまたは複数の予測された意図が、たとえば、グラフィカルユーザーインターフェイスを介して、ユーザーに提示され得る。たとえば、予測された意図は、グラフィカルユーザーインターフェイスにおいて地図作成アプリケーションを開くことによって表示され得る。地図作成アプリケーションは、さらに、ルートを入手するための機能を開始し得、目的地場所および現在場所など、機能のための予測されたスロットをポピュレートし得る。ユーザーは、特定の予測された意図がユーザーの実際の意図であることを示すために、グラフィカルユーザーインターフェイスと対話し得る。
[0081]図5は、本開示の態様がそれを用いて実施され得るコンピューティングデバイス500の物理的コンポーネント(たとえば、ハードウェア)を示すブロック図である。以下で説明するコンピューティングデバイスコンポーネントは、本明細書で開示する方法300〜400を採用するために実行され得る、たとえばクライアントおよび/またはコンピューターの、デジタルアシスタントアプリケーション513のためのコンピューター実行可能命令、たとえばクライアントの、出力生成コンポーネント511のための実行可能命令を有し得る。基本構成では、コンピューティングデバイス500は、少なくとも1つの処理ユニット502とシステムメモリ504とを含み得る。コンピューティングデバイスの構成およびタイプに応じて、システムメモリ504は、限定はしないが、揮発性ストレージ(たとえば、ランダムアクセスメモリ)、不揮発性ストレージ(たとえば、読み取り専用メモリ)、フラッシュメモリ、またはそのようなメモリの任意の組み合わせを含み得る。システムメモリ504は、オペレーティングシステム505と、図1〜図3に関する、あいまいな要求を弁別するアプリケーション、および特にデジタルアシスタントアプリケーション513または出力生成コンポーネント511など、ソフトウェアアプリケーション520を実行するのに好適な1つまたは複数のプログラムモジュール506とを含み得る。オペレーティングシステム505は、たとえば、コンピューティングデバイス500の動作を制御するのに好適であり得る。さらに、本開示の実施形態は、グラフィックスライブラリ、他のオペレーティングシステム、または他のアプリケーションプログラムとともに実施され得、特定の適用例またはシステムに限定されない。この基本構成は、破線508内のコンポーネントによって図5に示されている。コンピューティングデバイス500は追加の特徴または機能を有し得る。たとえば、コンピューティングデバイス500は、たとえば、磁気ディスク、光ディスク、またはテープなどの追加のデータストレージデバイス(リムーバブルおよび/または非リムーバブル)をも含み得る。そのような追加のストレージは、リムーバブルストレージデバイス509および非リムーバブルストレージデバイス510によって図5に示されている。
[0082]上述のように、いくつかのプログラムモジュールおよびデータファイルがシステムメモリ504に記憶され得る。処理ユニット502上で実行する間、プログラムモジュール506(たとえば、出力生成コンポーネント511またはデジタルアシスタントアプリケーション513)は、本明細書で説明するように、限定はしないが、態様を含むプロセスを実施し得る。本開示の態様に従って、および特に不完全自然表現の理解のために使用され得る他のプログラムモジュール。
[0083]さらに、本開示の実施形態は、個別電子素子を含む電気回路、論理ゲートを含んでいるパッケージ化または集積電子チップ、マイクロプロセッサを利用する回路中で、あるいは電子素子またはマイクロプロセッサを含んでいる単一のチップ上で実施され得る。たとえば、本開示の実施形態はシステムオンチップ(SOC)を介して実施され得、図5に示されたコンポーネントの各々または多くは単一の集積回路上に集積され得る。そのようなSOCデバイスは、1つまたは複数の処理ユニットと、グラフィックスユニットと、通信ユニットと、システム仮想化ユニットと、様々なアプリケーション機能とを含み得、それらのすべては単一の集積回路としてチップ基板上に集積される(または「焼き込まれる」)。SOCを介して動作するとき、プロトコルを切り替えるクライアントの能力に関する、本明細書で説明する機能は、単一の集積回路(チップ)上にコンピューティングデバイス500の他のコンポーネントとともに集積された特定用途向け論理を介して動作させられ得る。本開示の実施形態はまた、限定はしないが、機械、光、流体、および量子技術を含む、たとえば、AND、OR、およびNOTなどの論理演算を実施することが可能な他の技術を使用して実施され得る。さらに、本開示の実施形態は、汎用コンピューター内であるいは他の回路またはシステム中で実施され得る。
[0084]コンピューティングデバイス500はまた、キーボード、マウス、ペン、サウンドまたはボイス入力デバイス、タッチまたはスワイプ入力デバイスなど、1つまたは複数の入力デバイス512を有し得る。ディスプレイ、スピーカー、プリンターなどの(1つまたは複数の)出力デバイス514も含まれ得る。上述のデバイスは例であり、他のものが使用され得る。コンピューティングデバイス500は、他のコンピューティングデバイス518との通信を可能にする1つまたは複数の通信接続516を含み得る。好適な通信接続516の例としては、限定はしないが、RF送信機、受信機、および/またはトランシーバ回路、ユニバーサルシリアルバス(USB)、パラレル、および/またはシリアルポートがある。
[0085]本明細書で使用するコンピューター可読媒体という用語はコンピューター記憶媒体を含み得る。コンピューター記憶媒体は、コンピューター可読命令、データ構造、またはプログラムモジュールなど、情報の記憶のための任意の方法または技術で実装される、揮発性および不揮発性、リムーバブルおよび非リムーバブル媒体を含み得る。システムメモリ504、リムーバブルストレージデバイス509、および非リムーバブルストレージデバイス510は、すべてコンピューター記憶媒体例(たとえば、メモリストレージ)である。コンピューター記憶媒体は、RAM、ROM、電気的消去可能読み取り専用ROM(EEPROM)、フラッシュメモリまたは他のメモリ技術、CD−ROM、デジタル多用途ディスク(DVD)または他の光ストレージ、磁気カセット、磁気テープ、磁気ディスクストレージまたは他の磁気ストレージデバイス、あるいは情報を記憶するために使用され得、コンピューティングデバイス500によってアクセスされ得る他の製造品を含み得る。いかなるそのようなコンピューター記憶媒体もコンピューティングデバイス500の一部であり得る。コンピューター記憶媒体は、搬送波あるいは他の伝搬または変調されたデータ信号を含まない。
[0086]通信媒体は、コンピューター可読命令、データ構造、プログラムモジュール、あるいは、搬送波または他のトランスポート機構など、変調されたデータ信号中の他のデータによって実施され得、任意の情報配信媒体を含む。「変調されたデータ信号」という用語は、信号中の情報を符号化するような様式で設定または変更された1つまたは複数の特性を有する信号を表し得る。限定ではなく例として、通信媒体は、ワイヤードネットワークまたは直接ワイヤード接続などのワイヤード媒体、ならびに音響、無線周波数(RF)、赤外線、および他のワイヤレス媒体などのワイヤレス媒体を含み得る。
[0087]図6Aおよび図6Bに、本開示の実施形態がそれを用いて実施され得るモバイルコンピューティングデバイス600、たとえば、携帯電話、スマートフォン、(スマートウォッチなどの)ウェアラブルコンピューター、タブレットコンピューター、ラップトップコンピューターなどを示す。いくつかの態様では、クライアントはモバイルコンピューティングデバイスであり得る。図6Aを参照すると、態様を実装するためのモバイルコンピューティングデバイス600の一態様が示されている。基本構成では、モバイルコンピューティングデバイス600は、入力要素と出力要素の両方を有するハンドヘルドコンピューターである。モバイルコンピューティングデバイス600は、一般に、ディスプレイ605と、ユーザーが情報をモバイルコンピューティングデバイス600に入力することを可能にする1つまたは複数の入力ボタン610とを含む。モバイルコンピューティングデバイス600のディスプレイ605は入力デバイス(たとえば、タッチスクリーンディスプレイ)としても機能し得る。含まれる場合、オプションの側面入力要素615がさらなるユーザー入力を可能にする。側面入力要素615は、ロータリースイッチ、ボタン、または他のタイプの手動入力要素であり得る。代替態様では、モバイルコンピューティングデバイス600は、より多いまたはより少ない入力要素を組み込み得る。たとえば、ディスプレイ605は、いくつかの実施形態ではタッチスクリーンでないことがある。また別の代替実施形態では、モバイルコンピューティングデバイス600は、携帯電話など、ポータブル電話システムである。モバイルコンピューティングデバイス600はまた、オプションのキーパッド635を含み得る。オプションのキーパッド635は、物理的キーパッド、またはタッチスクリーンディスプレイ上に生成される「ソフト」キーパッドであり得る。様々な実施形態では、出力要素は、グラフィカルユーザーインターフェイス(GUI)を示すためのディスプレイ605、ビジュアルインジケーター620(たとえば、発光ダイオード)、および/またはオーディオトランスデューサー625(たとえば、スピーカー)を含む。いくつかの態様では、モバイルコンピューティングデバイス600は、ユーザーに触覚フィードバックを与えるための振動トランスデューサーを組み込む。また別の態様では、モバイルコンピューティングデバイス600は、信号を外部デバイスに送るかまたはそれから信号を受信するための、オーディオ入力(たとえば、マイクジャック)、オーディオ出力(たとえば、ヘッドフォンジャック)、およびビデオ出力(たとえば、HDMI(登録商標)ポート)など、入力および/または出力ポートを組み込む。
[0088]図6Bは、モバイルコンピューティングデバイスの一態様のアーキテクチャを示すブロック図である。すなわち、モバイルコンピューティングデバイス600は、いくつかの態様を実装するためにシステム(たとえば、アーキテクチャ)602を組み込むことができる。一実施形態では、システム602は、1つまたは複数のアプリケーション(たとえば、ブラウザー、電子メール、カレンダー機能(calendaring)、連絡先マネージャー、メッセージングクライアント、ゲーム、およびメディアクライアント/プレーヤー)を実行することが可能な「スマートフォン」として実装される。いくつかの態様では、システム602は、統合された携帯情報端末(PDA)およびワイヤレス電話など、コンピューティングデバイスとして統合される。
[0089]1つまたは複数のアプリケーションプログラムは、メモリ662に読み込まれ、オペレーティングシステム664上でまたはそれに関連して実行され得る。アプリケーションプログラムの例としては、電話ダイヤラープログラム、電子メールプログラム、個人情報管理(PIM)プログラム、ワードプロセッシングプログラム、スプレッドシートプログラム、インターネットブラウザープログラム、メッセージングプログラムなどがある。システム602はまた、メモリ662内に不揮発性ストレージ領域666を含む。不揮発性ストレージ領域666は、システム602が電源を切断された場合に失われるべきでない永続情報を記憶するために使用され得る。アプリケーションプログラム666は、電子メールまたは電子メールアプリケーションによって使用される他のメッセージなど、不揮発性ストレージ領域666中の情報を使用し、それに記憶し得る。また、同期アプリケーション(図示せず)がシステム602上に常駐し、不揮発性ストレージ領域666に記憶された情報を、ホストコンピューターにおいて記憶された対応する情報と同期させておくために、ホストコンピューター上に常駐する対応する同期アプリケーションと対話するようにプログラムされる。諒解されるべきであるように、本明細書で説明するようにカレンダーイベントを作成するための命令(たとえば、および/またはオプションでカレンダーイベント作成モジュール711)を含む、他のアプリケーションが、メモリ662に読み込まれ、モバイルコンピューティングデバイス600上で実行され得る。
[0090]システム602は、1つまたは複数のバッテリーとして実装され得る電源670を有する。電源670は、バッテリーを補足または再充電する、ACアダプターまたは電力供給されるドッキングクレイドルなど、外部電源をさらに含み得る。
[0091]システム602は、無線周波数通信を送信および受信する機能を実施する無線機672をも含み得る。無線機672は、通信キャリアまたはサービスプロバイダーを介して、システム602と「外界」との間のワイヤレス接続を可能にする。無線機672へのおよびそれからの送信は、オペレーティングシステム664の制御下で行われる。言い換えれば、無線機672によって受信された通信は、オペレーティングシステム664を介してアプリケーションプログラム666に配布され得、その逆も同様である。
[0092]ビジュアルインジケーター620が、ビジュアル通知を与えるために使用され得、および/またはオーディオインターフェイス674が、オーディオトランスデューサー625を介して可聴通知を生成するために使用され得る。図示の実施形態では、ビジュアルインジケーター620は発光ダイオード(LED)であり、オーディオトランスデューサー625はスピーカーである。これらのデバイスは、電源670に直接結合され得、したがって、アクティブ化されたとき、それらのデバイスは、プロセッサ660および他のコンポーネントがバッテリー電力を温存するために停止することがあっても、通知機構によって規定された継続時間の間オンにとどまる。LEDは、デバイスの電源投入ステータスを示すために、ユーザーがアクションをとるまで無期限にオンにとどまるようにプログラムされ得る。オーディオインターフェイス674は、ユーザーに可聴信号を与え、ユーザーから可聴信号を受信するために使用される。たとえば、オーディオトランスデューサー625に結合されることに加えて、オーディオインターフェイス674は、電話会話を可能にするためになど、可聴入力を受信するためにマイクにも結合され得る。本開示の実施形態によれば、マイクは、以下で説明するように、通知の制御を可能にするためのオーディオセンサーとしても働き得る。システム602は、静止画像、ビデオストリームなどを記録するために、オンボードカメラ630の動作を可能にするビデオインターフェイス676をさらに含み得る。
[0093]システム602を実装するモバイルコンピューティングデバイス600は、追加の特徴または機能を有し得る。たとえば、モバイルコンピューティングデバイス600は、磁気ディスク、光ディスク、またはテープなどの追加のデータストレージデバイス(リムーバブルおよび/または非リムーバブル)をも含み得る。そのような追加のストレージは、不揮発性ストレージ領域668によって図6Bに示されている。
[0094]モバイルコンピューティングデバイス600によって生成またはキャプチャされ、システム602を介して記憶されたデータ/情報は、上記で説明したように、モバイルコンピューティングデバイス600上にローカルに記憶され得、あるいはデータは、無線機672を介して、またはモバイルコンピューティングデバイス600と、モバイルコンピューティングデバイス600に関連する別個のコンピューティングデバイス、たとえば、インターネットなど、分散コンピューティングネットワーク中のサーバーコンピューターとの間のワイヤード接続を介して、デバイスによってアクセスされ得る任意の数の記憶媒体に記憶され得る。諒解されるべきであるように、そのようなデータ/情報は、無線機672を介してまたは分散コンピューティングネットワークを介して、モバイルコンピューティングデバイス600を介してアクセスされ得る。同様に、そのようなデータ/情報は、電子メールおよび共同的データ/情報共有システムを含む、よく知られているデータ/情報転送および記憶手段に従って、記憶および使用のためにコンピューティングデバイス間で容易に転送され得る。
[0095]図7に、上記で説明したように、コンピューティングデバイス704、タブレット706、またはモバイルデバイス708など、リモートソースからコンピューティングシステムにおいて受信されたデータを処理するためのシステムのアーキテクチャの一態様を示す。サーバー702において表示されるコンテンツは、異なる通信チャネルまたは他のストレージタイプに記憶され得る。たとえば、様々なドキュメントは、ディレクトリサービス722、Webポータル724、メールボックスサービス726、インスタントメッセージングストア728、またはソーシャルネットワーキングサイト730を使用して記憶され得る。クライアントコンピューティング環境203は、サーバー702と通信するクライアントによって採用され得る。サーバー702は、ネットワーク715を通して、パーソナルコンピューター704、タブレットコンピューティングデバイス706および/またはモバイルコンピューティングデバイス708(たとえば、スマートフォン)などのクライアントコンピューティングデバイスにおよびそれからデータを与え得る。例として、図1〜図2に関して上記で説明したコンピューターシステムは、パーソナルコンピューター704、タブレットコンピューティングデバイス706および/またはモバイルコンピューティングデバイス708(たとえば、スマートフォン)中に埋め込まれ得る。コンピューティングデバイスのこれらの実施形態のいずれも、グラフィック発信側システムにおいて前処理されるべき、または受信側コンピューティングシステムにおいて後処理されるべき使用可能なグラフィカルデータを受信することに加えて、ストア716からコンテンツを取得し得る。
[0096]図8に、本明細書で開示する1つまたは複数の態様を実行し得る例示的なタブレットコンピューティングデバイス8を示す。さらに、本明細書で説明する態様および機能は、アプリケーション機能、メモリ、データ記憶および取得ならびに様々な処理機能が、インターネットまたはイントラネットなど、分散コンピューティングネットワーク上で互いからリモートで動作させられ得る、分散型システム(たとえば、クラウドベースコンピューティングシステム)上で動作し得る。様々なタイプのユーザーインターフェイスおよび情報が、オンボードコンピューティングデバイスディスプレイを介して、または1つまたは複数のコンピューティングデバイスに関連するリモートディスプレイユニットを介して表示され得る。たとえば、様々なタイプのユーザーインターフェイスおよび情報は、様々なタイプのユーザーインターフェイスおよび情報がその上に投影される壁面上で表示され、対話され得る。本発明の実施形態がそれを用いて実施され得る多数のコンピューティングシステムとの対話は、キーストローク入力、タッチスクリーン入力、ボイスまたは他のオーディオ入力、関連するコンピューティングデバイスが、コンピューティングデバイスの機能を制御するためのユーザージェスチャーをキャプチャし、解釈するための検出(たとえば、カメラ)機能を装備している場合のジェスチャー入力などを含む。
[0097]図9に、不完全自然言語表現分析モデルを構築するためのシステム900を示す。態様では、システム900は、アノテーション付きテストデータを使用して、自然言語モデルと不完全自然言語モデルとを構築する。たとえば、システム900は、自然言語モデルを作成するために、アノテーション付きテストデータとしてフルクエリまたは部分クエリを使用し、クエリをnグラム分析特徴抽出器に通し得る。本システムは、アノテーションをガイドとして使用して、正確さを判断するために自然言語モデルを分析し得る。さらに、本システムは、次いで、不完全自然言語モデルを作成するために、それらの同じフルクエリを使用し、不完全自然言語表現を作成するために文字を削除し、不完全自然言語表現をnグラム分析特徴抽出器に通し得る。モデルは、次いで、アノテーションをガイドとして使用して、正確さを判断するために比較され得る。さらに、前に処理された不完全自然言語クエリが、モデルをトレーニングするために使用され、不完全自然言語モデルに通され得る。システム900の様々なコンポーネントは、次いで、より正確な自然言語モデルおよび/またはより正確な不完全自然言語モデルを入手するために修正され得る。
[0098]本技術の態様では、システム900は、アノテーション付きストレージデバイス910に記憶されたアノテーション付きテストデータ913を含む。アノテーション付きトレーニングデータは、データが、ドメイン、意図および/またはスロットに関係する情報でタグ付けされることを意味する。たとえば、クエリ「remind me to move my car in two hours(2時間後に私の車を移動することを私にリマインドしてください)」、ユーザーの意図は、「create_single_reminder」としてタグ付けされ、ドメインは、「reminder(リマインダー)」ドメインとしてタグ付けされ、スロット情報リマインダーテキストは、「move my car(私の車を移動する)」としてタグ付けされ、スロット情報リマインダー開始時間は、「in two hours(2時間後)」としてタグ付けされる。タグ付けされることは、ドメイン、意図、およびスロット予測が、ユーザー意図を正しく反映するものとして識別されたことを意味する。
[0099]さらに、アノテーション付きテストデータは、前に処理された不完全自然言語表現の結果を含み得る。処理は、それぞれ、図1および図2を参照しながら説明した自然言語分析コンポーネント130または自然言語分析コンポーネント230など、自然言語分析コンポーネントによって行われ得る。たとえば、ユーザーは、動的システム100およびネットワーク化されたシステム200など、自然言語表現を解釈するためのシステムによって生成された予測されたドメイン、意図、およびスロットの正確さを確認していることがある。したがって、アノテーション付きテストデータ913は不完全自然言語表現を含み得、その表現は、ユーザーによって確認されたドメイン、意図、およびスロットでタグ付けされることになる。
[00100]コンテキスト情報もアノテーション付きテストデータ913に関連付けられ得る。たとえば、アノテーション付きテストデータ913が、前に処理された不完全自然言語表現でポピュレートされた場合、コンテキスト情報は、ターン中の各ターンから抽出された情報、前のに対する応答、クライアントコンピューティングデバイスのディスプレイ上に配置されたアイテム、クライアントコンピューティングデバイスのディスプレイ上に配置されたテキスト、クライアントコンテキスト(たとえば、クライアント連絡先リスト、カレンダー、GPS情報、不完全自然言語が受信された時間)などを含み得る。
[00101]自然言語クエリは、次いで、nグラム分析特徴抽出器930に渡され得る。nグラム分析特徴抽出器930は、単語nグラム特徴抽出器932と、文字nグラム特徴抽出器934と、部分語nグラム特徴抽出器936とを有し得る。各抽出器は、第1の特徴トレーニングデータセット940を作成するために、部分語nグラムと、単語nグラムと、文字nグラムとを抽出し得る。nグラム抽出は、図1および図2で言及したのと同様の様式で実施され得る。
[00102]特徴付き(featured)トレーニングデータセット940は、次いで、ドメイン、意図、およびスロットを予測するために、自然言語理解(NLU:natural language understanding)コンポーネント950に記憶された自然言語モデルによって使用され得る。ドメイン、意図、およびスロットの予測は、上記で説明した予測と同様または同じに行われ得る。
[00103]様々な特徴が、NLUモデル950をトレーニングするために使用される。たとえば、単語nグラム、部分nグラム、および部分語nグラムが、自然言語モデルをトレーニングするために使用され得る。さらに、エンティティ語彙が、そのときのNLUモデルをトレーニングするために使用され得る。各語彙は、同じ意味論的クラスに属するエンティティのセットである。たとえば、映画名、アプリケーション名などのセットは、すべて、考慮されたエンティティ語彙である。NLUモデルをトレーニングすることにより、より正確なドメイン、意図、およびスロット予測が生じる。
[00104]プレフィックスモジュール920は、NLUモデルに渡される同じクエリから不完全自然言語表現を作成し得る。上記の例を続けると、クエリ「remind me to move my car(私の車を移動することを私にリマインドしてください)」は、「remind m」、「remind me」、「remind me t」などに解析され得る。
[00105]代替的に、前に処理された不完全自然言語表現が使用されるとき、アノテーション付きテストデータは、プレフィックスモジュールを通過せず、単に不完全nグラム分析特徴抽出器930に移る。
[00106]不完全自然言語表現は、次いで、nグラム分析特徴抽出器930に移り得る。nグラム自然言語特徴抽出器930は、上記で説明したように、単語nグラムと、部分語nグラムと、文字nグラムとを抽出する。この抽出された情報は、次いで、特徴付きテストデータ960に渡される。
[00107]特徴付きテストデータ960は、次いで、ドメイン、意図、およびスロットを予測するために、不完全自然言語理解(INLU:incomplete natural language understanding)コンポーネント965に記憶された不完全自然言語モデルによって使用され得る。ドメイン、意図、およびスロットの予測は、上記で説明した予測と同様または同じに行われ得る。
[00108]様々な特徴が、INLUモデル965をトレーニングするために使用される。たとえば、単語nグラム、部分nグラム、および部分語nグラムが、自然言語モデルをトレーニングするために使用され得る。さらに、エンティティ語彙が、そのときのINLUモデルをトレーニングするために使用され得る。各語彙は、同じ意味論的クラスに属するエンティティのセットである。たとえば、映画名、アプリケーション名などのセットは、すべて、考慮されたエンティティ語彙である。INLUモデルをトレーニングすることにより、より正確なドメイン、意図、およびスロット予測が生じる。
[00109]一態様では、NLUモデルおよび/またはINLUモデルの予測は、タグ付けされた実際のドメイン、意図、およびスロットに対して評価される。適切な場合、NLUモデルおよび/またはINLUモデルは調整される。
[00110]本開示の態様について、たとえば、本開示の態様による方法、システム、およびコンピュータープログラム製品のブロック図ならびに/または動作図を参照しながら上記で説明した。ブロック中で言及された機能/行為は、フローチャートに示された順序以外で行われ得る。たとえば、連続して示された2つのブロックは、事実上、実質的に同時に実行され得、またはブロックは、関与する機能/行為に応じて、時々逆順で実行され得る。
[00111]本出願で提供される1つまたは複数の態様の説明および例示は、請求する本開示の範囲をいかなる形でも限定または制限するものではない。本出願で提供される態様、例、および詳細は、所有権(possession)を伝え、請求する開示の最良の形態を他者が製作および使用することを可能にするのに十分であると考えられる。請求する開示は、本出願で提供されるいかなる態様、例、または詳細にも限定されると解釈されるべきではない。組み合わせで図示および説明されているか、別々に図示および説明されているかにかかわらず、(構造的および方法論的の両方の)様々な特徴は、特徴の特定のセットをもつ実施形態を作り出すために選択的に含められるかまたは省略されるものとする。本出願の説明および例示を提供された当業者は、請求する開示のより広い範囲から逸脱しない、本出願で具現化された一般的な発明的概念のより広範な態様の趣旨内に入る変形形態、変更形態、および代替態様を想定し得る。

Claims (12)

  1. 少なくとも1つのプロセッサと、
    少なくとも1つのプロセッサによって実行されたとき、不完全自然言語表現(incomplete natural language expressions)を解釈するための方法を実施するコンピューター実行可能命令を符号化するメモリと
    を含むシステムであって、前記方法は、
    クライアントデバイスからの入力を受信するステップであって、前記ユーザー入力が不完全自然言語表現を含前記不完全自然言語表現が、1つまたは複数の文字が不足している一連の文字である、受信するステップと、
    前記不完全自然言語表現から1つまたは複数のnグラム(n-grams)を抽出するステップと、
    考えられるドメインのセットを判断するために、前記抽出された1つまたは複数のnグラムを分析するステップと、
    考えられるドメインの前記セットの、各考えられるドメインに信頼性レベルを割り当てるステップであって、少なくとも1つの考えられるドメインのための前記信頼性レベルが所定の信頼性しきい値を超える、割り当てるステップと、
    前記少なくとも1つの考えられるドメインに関連するユーザーの意図を予測するステップと、
    前記予測された意図を実施するための少なくとも1つのドメインアプリケーションを開始するステップと
    少なくとも1つの機能を実行するための、少なくとも1つのスロットを予測するステップと、
    選択を受信するステップであって、前記受信された選択は、前記少なくとも1つの機能が前記ユーザーの実際の意図を反映することの確認を示す、受信するステップと
    確認を示す少なくとも前記受信された選択に基づいて、自然言語分析コンポーネントをトレーニングするステップと、
    を含む、システム。
  2. 前記少なくとも1つのドメインアプリケーションを開始するためのグラフィカルユーザーインターフェイスを提示するステップであって、前記ドメインアプリケーションが、前記予測された意図を実施するための少なくとも1つの機能に関連する、提示するステップをさらに含む、請求項1に記載のシステム。
  3. コンテキスト情報を分析して、考えられるドメインのセットを判断するステップをさらに含む、請求項に記載のシステム。
  4. 考えられるドメインのセットが、カレンダードメイン、アラームドメイン、及び、旅行ドメインを含む、請求項1に記載のシステム。
  5. 前記nグラムが、単語nグラム、部分語nグラム、又は、文字nグラムである、請求項1に記載のシステム。
  6. 実行されたとき、
    クライアントデバイスからのテキスト入力を受信するステップであって、前記ユーザー入力が不完全自然言語表現を含前記不完全自然言語表現が、1つまたは複数の文字が不足している一連の文字である、受信するステップと、
    前記不完全自然言語表現から1つまたは複数のnグラムを抽出するステップと、
    考えられるドメインの第1のセットを判断するために、前記抽出された1つまたは複数のnグラムを分析するステップと、
    考えられるドメインの前記第1のセットの各考えられるドメインに信頼性レベルを割り当てるステップであって、少なくとも1つの考えられるドメインのための前記信頼性レベルが所定の信頼性しきい値を超える、割り当てるステップと、
    前記少なくとも1つの考えられるドメインに関連するユーザーの意図を予測するステップと、
    前記予測された意図を実施するための少なくとも1つのドメインアプリケーションを開始するステップと
    少なくとも1つの機能を実行するための、少なくとも1つのスロットを予測するステップと、
    選択を受信するステップであって、前記受信された選択は、前記少なくとも1つの機能が前記ユーザーの実際の意図を反映することの確認を示す、受信するステップと
    確認を示す少なくとも前記受信された選択に基づいて、自然言語分析コンポーネントをトレーニングするステップと、
    を行う方法を実施する命令を記憶するコンピューター可読記憶デバイス。
  7. 前記少なくとも1つのドメインアプリケーションを開始するためのグラフィカルユーザーインターフェイスを提示するステップであって、前記ドメインアプリケーションが、前記予測された意図を実施するための少なくとも1つの機能に関連する、提示するステップをさらに含む、請求項6に記載のコンピューター可読記憶デバイス。
  8. 前記少なくとも1つの機能を実行するための少なくとも1つのスロットを予測するステップと、
    選択を受信するステップであって、前記受信された選択は、前記少なくとも1つの機能が前記ユーザーの実際の意図を反映することの確認を示す、受信するステップと
    をさらに含む、請求項7に記載のコンピューター可読記憶デバイス。
  9. 信頼性レベルを割り当てるステップが、各考えられるドメインに1から0までの数を割り当てるステップを含む、請求項に記載のコンピューター可読記憶デバイス。
  10. 考えられるドメインの第2のセットを判断するために、コンテキスト情報を分析するステップをさらに含む、請求項に記載のコンピューター可読記憶デバイス。
  11. 前記不完全自然言語表現が、アノテーション付きトレーニングデータを更に含み、
    前記トレーニングデータが、ユーザーの意図、ドメイン、スロット情報リマインダーテキスト、及び、スロット情報リマインダー開始時間としてのタグ付けを含む、
    請求項1に記載のシステム。
  12. 前記不完全自然言語表現が、アノテーション付きトレーニングデータを更に含み、
    前記トレーニングデータが、ユーザーの意図、ドメイン、スロット情報リマインダーテキスト、及び、スロット情報リマインダー開始時間としてのタグ付けを含む、
    請求項6に記載のコンピューター可読記憶デバイス。
JP2017535790A 2015-01-23 2016-01-22 不完全自然言語クエリを理解するための方法 Active JP6727212B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201562107213P 2015-01-23 2015-01-23
US62/107,213 2015-01-23
US14/622,119 US9767091B2 (en) 2015-01-23 2015-02-13 Methods for understanding incomplete natural language query
US14/622,119 2015-02-13
PCT/US2016/014409 WO2016118794A1 (en) 2015-01-23 2016-01-22 Methods for understanding incomplete natural language query

Publications (2)

Publication Number Publication Date
JP2018503191A JP2018503191A (ja) 2018-02-01
JP6727212B2 true JP6727212B2 (ja) 2020-07-22

Family

ID=55353302

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017535790A Active JP6727212B2 (ja) 2015-01-23 2016-01-22 不完全自然言語クエリを理解するための方法

Country Status (19)

Country Link
US (1) US9767091B2 (ja)
EP (1) EP3248112A1 (ja)
JP (1) JP6727212B2 (ja)
KR (1) KR102469513B1 (ja)
CN (1) CN107533542B (ja)
AU (1) AU2016209220B2 (ja)
BR (1) BR112017012796B1 (ja)
CA (1) CA2970733C (ja)
CL (1) CL2017001807A1 (ja)
CO (1) CO2017007037A2 (ja)
HK (1) HK1246438A1 (ja)
IL (1) IL252457B (ja)
MX (1) MX367197B (ja)
MY (1) MY186909A (ja)
NZ (1) NZ732363A (ja)
PH (1) PH12017550014B1 (ja)
RU (1) RU2710966C2 (ja)
SG (1) SG11201705699UA (ja)
WO (1) WO2016118794A1 (ja)

Families Citing this family (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9740687B2 (en) 2014-06-11 2017-08-22 Facebook, Inc. Classifying languages for objects and entities
US9690776B2 (en) 2014-12-01 2017-06-27 Microsoft Technology Licensing, Llc Contextual language understanding for multi-turn language tasks
US9864744B2 (en) 2014-12-03 2018-01-09 Facebook, Inc. Mining multi-lingual data
US9830386B2 (en) 2014-12-30 2017-11-28 Facebook, Inc. Determining trending topics in social media
US9830404B2 (en) 2014-12-30 2017-11-28 Facebook, Inc. Analyzing language dependency structures
US10067936B2 (en) 2014-12-30 2018-09-04 Facebook, Inc. Machine translation output reranking
US9477652B2 (en) 2015-02-13 2016-10-25 Facebook, Inc. Machine learning dialect identification
US10671954B2 (en) * 2015-02-23 2020-06-02 Google Llc Selective reminders to complete interrupted tasks
US10567479B2 (en) 2015-08-05 2020-02-18 Facebook, Inc. Managing a device cloud
US10541958B2 (en) * 2015-08-05 2020-01-21 Facebook, Inc. Controlling a device cloud
US9734142B2 (en) 2015-09-22 2017-08-15 Facebook, Inc. Universal translation
US11294908B2 (en) * 2015-11-10 2022-04-05 Oracle International Corporation Smart search and navigate
US10380190B2 (en) * 2015-11-18 2019-08-13 International Business Machines Corporation Optimized autocompletion of search field
US10133738B2 (en) 2015-12-14 2018-11-20 Facebook, Inc. Translation confidence scores
US9734143B2 (en) 2015-12-17 2017-08-15 Facebook, Inc. Multi-media context language processing
US9747283B2 (en) 2015-12-28 2017-08-29 Facebook, Inc. Predicting future translations
US9805029B2 (en) 2015-12-28 2017-10-31 Facebook, Inc. Predicting future translations
US10002125B2 (en) * 2015-12-28 2018-06-19 Facebook, Inc. Language model personalization
US10453117B1 (en) * 2016-06-29 2019-10-22 Amazon Technologies, Inc. Determining domains for natural language understanding
US10902221B1 (en) 2016-06-30 2021-01-26 Facebook, Inc. Social hash for language models
US10902215B1 (en) 2016-06-30 2021-01-26 Facebook, Inc. Social hash for language models
US10650621B1 (en) 2016-09-13 2020-05-12 Iocurrents, Inc. Interfacing with a vehicular controller area network
US10719757B2 (en) 2016-12-02 2020-07-21 Microsoft Technology Licensing, Llc System for interpreting and managing imprecise temporal expressions
US10888271B2 (en) * 2016-12-08 2021-01-12 Louise M. Falevsky Systems, apparatus and methods for using biofeedback to facilitate a discussion
US10979305B1 (en) * 2016-12-29 2021-04-13 Wells Fargo Bank, N.A. Web interface usage tracker
US10977575B2 (en) 2017-05-04 2021-04-13 Servicenow, Inc. Machine learning auto completion of fields
US10949807B2 (en) 2017-05-04 2021-03-16 Servicenow, Inc. Model building architecture and smart routing of work items
US11151518B2 (en) 2017-06-07 2021-10-19 Microsoft Technology Licensing, Llc Natural language event
US11043205B1 (en) * 2017-06-27 2021-06-22 Amazon Technologies, Inc. Scoring of natural language processing hypotheses
US10565986B2 (en) * 2017-07-20 2020-02-18 Intuit Inc. Extracting domain-specific actions and entities in natural language commands
US10572594B2 (en) 2017-08-01 2020-02-25 Intuit Inc. Extracting domain-specific actions and entities in natural language commands recognized based on edition and recognition scores
US10515625B1 (en) 2017-08-31 2019-12-24 Amazon Technologies, Inc. Multi-modal natural language processing
US10854191B1 (en) * 2017-09-20 2020-12-01 Amazon Technologies, Inc. Machine learning models for data driven dialog management
US10380249B2 (en) 2017-10-02 2019-08-13 Facebook, Inc. Predicting future trending topics
CN110111793B (zh) * 2018-02-01 2023-07-14 腾讯科技(深圳)有限公司 音频信息的处理方法、装置、存储介质及电子装置
JP6678764B1 (ja) 2018-03-07 2020-04-08 グーグル エルエルシー 多言語での自動化されたアシスタントを用いたエンドツーエンドコミュニケーションの促進
US11113473B2 (en) * 2018-04-02 2021-09-07 SoundHound Inc. Interpreting expressions having potentially ambiguous meanings in different domains
US11307880B2 (en) 2018-04-20 2022-04-19 Meta Platforms, Inc. Assisting users with personalized and contextual communication content
US11886473B2 (en) 2018-04-20 2024-01-30 Meta Platforms, Inc. Intent identification for agent matching by assistant systems
US11715042B1 (en) 2018-04-20 2023-08-01 Meta Platforms Technologies, Llc Interpretability of deep reinforcement learning models in assistant systems
US10782986B2 (en) 2018-04-20 2020-09-22 Facebook, Inc. Assisting users with personalized and contextual communication content
US11676220B2 (en) 2018-04-20 2023-06-13 Meta Platforms, Inc. Processing multimodal user input for assistant systems
US10902211B2 (en) * 2018-04-25 2021-01-26 Samsung Electronics Co., Ltd. Multi-models that understand natural language phrases
CN108664472B (zh) * 2018-05-08 2021-08-06 腾讯科技(深圳)有限公司 自然语言处理方法、装置及其设备
US11127395B1 (en) * 2018-05-23 2021-09-21 Amazon Technologies, Inc. Device-specific skill processing
KR20190134107A (ko) 2018-05-24 2019-12-04 삼성전자주식회사 사용자의 음성을 처리하는 전자 장치를 포함하는 시스템 및 전자 장치의 음성 인식 제어 방법
JP6965846B2 (ja) * 2018-08-17 2021-11-10 日本電信電話株式会社 言語モデルスコア算出装置、学習装置、言語モデルスコア算出方法、学習方法及びプログラム
WO2020062175A1 (en) * 2018-09-29 2020-04-02 Orange Discovery of internet-of-things resources
JP7351701B2 (ja) * 2018-10-04 2023-09-27 株式会社アイシン 情報提供システム、情報提供装置及びコンピュータプログラム
GB2595058A (en) * 2018-11-12 2021-11-17 Gorny Tomas System and method of assigning customer service tickets
KR20210110650A (ko) * 2018-12-28 2021-09-08 구글 엘엘씨 선택된 제안에 따라 자동 어시스턴트에 음성 입력 보충하기
KR102692775B1 (ko) 2018-12-28 2024-08-08 삼성전자주식회사 전자 장치 및 그의 제어 방법
CN111459977B (zh) * 2019-01-18 2023-10-24 微软技术许可有限责任公司 自然语言查询的转换
CN109885092B (zh) * 2019-03-25 2020-10-13 西安电子科技大学 一种无人机飞控数据的识别方法
US11211056B1 (en) * 2019-04-19 2021-12-28 Amazon Technologies, Inc. Natural language understanding model generation
US11477140B2 (en) 2019-05-30 2022-10-18 Microsoft Technology Licensing, Llc Contextual feedback to a natural understanding system in a chat bot
US10868778B1 (en) 2019-05-30 2020-12-15 Microsoft Technology Licensing, Llc Contextual feedback, with expiration indicator, to a natural understanding system in a chat bot
WO2021033889A1 (en) * 2019-08-20 2021-02-25 Samsung Electronics Co., Ltd. Electronic device and method for controlling the electronic device
JP2022547482A (ja) * 2019-09-04 2022-11-14 ブレイン テクノロジーズ インコーポレイテッド コンピュータ画面表示用のリアルタイムモーフィングインターフェース
US12086541B2 (en) 2019-09-04 2024-09-10 Brain Technologies, Inc. Natural query completion for a real-time morphing interface
WO2021206413A1 (en) * 2020-04-06 2021-10-14 Samsung Electronics Co., Ltd. Device, method, and computer program for performing actions on iot devices
CN111627442A (zh) * 2020-05-27 2020-09-04 星络智能科技有限公司 一种语音识别方法、处理器、系统、计算机设备和可读存储介质
US11556707B2 (en) * 2020-06-18 2023-01-17 Google Llc Fulfillment of actionable requests ahead of a user selecting a particular autocomplete suggestion for completing a current user input
US10818293B1 (en) 2020-07-14 2020-10-27 Drift.com, Inc. Selecting a response in a multi-turn interaction between a user and a conversational bot
US11811718B2 (en) * 2020-08-18 2023-11-07 Talent Unlimited Online Services Private Limited System and method for generating and rendering intent-based actionable content using input interface
US11790173B2 (en) * 2020-10-22 2023-10-17 Google Llc Recommending action(s) based on entity or entity type
CN112732743B (zh) * 2021-01-12 2023-09-22 北京久其软件股份有限公司 一种基于中文自然语言的数据分析方法及装置
CN114582333A (zh) * 2022-02-21 2022-06-03 中国第一汽车股份有限公司 语音识别方法、装置、电子设备及存储介质

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5715468A (en) * 1994-09-30 1998-02-03 Budzinski; Robert Lucius Memory system for storing and retrieving experience and knowledge with natural language
US6292772B1 (en) 1998-12-01 2001-09-18 Justsystem Corporation Method for identifying the language of individual words
US7679534B2 (en) 1998-12-04 2010-03-16 Tegic Communications, Inc. Contextual prediction of user words and user actions
US6167369A (en) 1998-12-23 2000-12-26 Xerox Company Automatic language identification using both N-gram and word information
JP2001125896A (ja) * 1999-10-26 2001-05-11 Victor Co Of Japan Ltd 自然言語対話システム
US7031908B1 (en) * 2000-06-01 2006-04-18 Microsoft Corporation Creating a language model for a language processing system
US6691111B2 (en) 2000-06-30 2004-02-10 Research In Motion Limited System and method for implementing a natural language user interface
US6766320B1 (en) 2000-08-24 2004-07-20 Microsoft Corporation Search engine with natural language-based robust parsing for user query and relevance feedback learning
US20040148170A1 (en) 2003-01-23 2004-07-29 Alejandro Acero Statistical classifiers for spoken language understanding and command/control scenarios
EP1665092A4 (en) * 2003-08-21 2006-11-22 Idilia Inc INTERNET SEARCH USING SEMANTIC DISAMBIGUING AND EXPANSION
US20060025995A1 (en) * 2004-07-29 2006-02-02 Erhart George W Method and apparatus for natural language call routing using confidence scores
CA2577075C (en) * 2004-08-13 2014-10-07 5 Examples, Inc. The one-row keyboard and approximate typing
US7640160B2 (en) 2005-08-05 2009-12-29 Voicebox Technologies, Inc. Systems and methods for responding to natural language speech utterance
US7644054B2 (en) 2005-11-23 2010-01-05 Veveo, Inc. System and method for finding desired results by incremental search using an ambiguous keypad with the input containing orthographic and typographic errors
KR100764174B1 (ko) * 2006-03-03 2007-10-08 삼성전자주식회사 음성 대화 서비스 장치 및 방법
RU61924U1 (ru) * 2006-03-14 2007-03-10 Михаил Николаевич Гусев Статистическая модель речи
US7937402B2 (en) 2006-07-10 2011-05-03 Nec (China) Co., Ltd. Natural language based location query system, keyword based location query system and a natural language and keyword based location query system
US8190627B2 (en) 2007-06-28 2012-05-29 Microsoft Corporation Machine assisted query formulation
CN101398835B (zh) * 2007-09-30 2012-08-29 日电(中国)有限公司 基于自然语言的服务选择系统与方法以及服务查询系统与方法
US8504353B2 (en) * 2009-07-27 2013-08-06 Xerox Corporation Phrase-based statistical machine translation as a generalized traveling salesman problem
JP5586334B2 (ja) * 2010-06-08 2014-09-10 株式会社エヌ・ティ・ティ・データ 文字列入力支援装置、文字列入力支援方法およびプログラム
US8731902B2 (en) * 2010-12-23 2014-05-20 Sap Ag Systems and methods for accessing applications based on user intent modeling
US9519726B2 (en) * 2011-06-16 2016-12-13 Amit Kumar Surfacing applications based on browsing activity
US9052819B2 (en) * 2012-01-25 2015-06-09 Honeywell International Inc. Intelligent gesture-based user's instantaneous interaction and task requirements recognition system and method
KR20140011073A (ko) * 2012-07-17 2014-01-28 삼성전자주식회사 텍스트 추천 방법 및 장치
US10282419B2 (en) * 2012-12-12 2019-05-07 Nuance Communications, Inc. Multi-domain natural language processing architecture
US9235636B2 (en) 2012-12-20 2016-01-12 Dropbox, Inc. Presenting data in response to an incomplete query
CN103942204B (zh) * 2013-01-18 2017-09-01 佳能株式会社 用于挖掘意图的方法和设备
US9292492B2 (en) * 2013-02-04 2016-03-22 Microsoft Technology Licensing, Llc Scaling statistical language understanding systems across domains and intents
US9606987B2 (en) * 2013-05-06 2017-03-28 Facebook, Inc. Methods and systems for generation of a translatable sentence syntax in a social networking system
US10176167B2 (en) * 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
US9354709B1 (en) * 2014-06-17 2016-05-31 Amazon Technologies, Inc. Tilt gesture detection
US9548066B2 (en) * 2014-08-11 2017-01-17 Amazon Technologies, Inc. Voice application architecture
US9690776B2 (en) * 2014-12-01 2017-06-27 Microsoft Technology Licensing, Llc Contextual language understanding for multi-turn language tasks

Also Published As

Publication number Publication date
US9767091B2 (en) 2017-09-19
BR112017012796A2 (pt) 2018-01-02
IL252457B (en) 2021-06-30
MX2017009407A (es) 2017-10-12
PH12017550014A1 (en) 2017-10-18
HK1246438A1 (zh) 2018-09-07
RU2017126201A3 (ja) 2019-07-17
MX367197B (es) 2019-08-08
WO2016118794A1 (en) 2016-07-28
CA2970733C (en) 2023-06-13
AU2016209220B2 (en) 2020-08-06
BR112017012796B1 (pt) 2023-11-21
PH12017550014B1 (en) 2017-10-18
NZ732363A (en) 2022-10-28
US20160217124A1 (en) 2016-07-28
AU2016209220A1 (en) 2017-06-15
SG11201705699UA (en) 2017-08-30
MY186909A (en) 2021-08-26
CO2017007037A2 (es) 2017-09-29
CN107533542A (zh) 2018-01-02
RU2710966C2 (ru) 2020-01-14
IL252457A0 (en) 2017-07-31
CA2970733A1 (en) 2016-07-28
CN107533542B (zh) 2020-08-28
JP2018503191A (ja) 2018-02-01
KR20170106346A (ko) 2017-09-20
CL2017001807A1 (es) 2018-02-09
KR102469513B1 (ko) 2022-11-21
EP3248112A1 (en) 2017-11-29
RU2017126201A (ru) 2019-01-22

Similar Documents

Publication Publication Date Title
JP6727212B2 (ja) 不完全自然言語クエリを理解するための方法
JP6701206B2 (ja) ユーザーエクスペリエンスを向上させるためにあいまいな表現を弁別すること
US10007660B2 (en) Contextual language understanding for multi-turn language tasks
KR102303483B1 (ko) 대화 이해 시스템 구축 기법
US10181322B2 (en) Multi-user, multi-domain dialog system
US10176219B2 (en) Interactive reformulation of speech queries
US8862467B1 (en) Contextual speech recognition
CN108369580B (zh) 针对屏幕上项目选择的基于语言和域独立模型的方法
WO2019018061A1 (en) AUTOMATIC INTEGRATION OF CAPTURE AND IMAGE RECOGNITION IN VOICE INTERROGATION TO UNDERSTAND INTENT
KR102364401B1 (ko) 문맥형 음성-구동 딥 북마킹
CN110706711B (zh) 外源性大词汇量模型到基于规则的语音识别的合并
US20140350931A1 (en) Language model trained using predicted queries from statistical machine translation

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190115

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191113

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191209

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200226

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20200601

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200630

R150 Certificate of patent or registration of utility model

Ref document number: 6727212

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250