(57)【要約】      （修正有）【課題】異なるドメインにおいて潜在的に曖昧な意味を有する表現を解釈するための方法、及びプログラムを提供する。【解決手段】マルチドメイン自然言語理解システムは、さまざまな異なるタイプのクライアントをサポートする。表現は多数のドメインにわたって解釈する。ドメインには重みを割当てる。重みは、選択された解釈が、クライアントのタイプについてまたはそのコンテキストについて正確である可能性が高いように、クライアント固有であるか、または表現固有である。表現ととともにメタデータとして搬送される識別情報、またはメタデータとして直接搬送される重みセットに従って、格納された重みセットを選択する。ドメインはさらにまたはあるいは、クライアントタイプまたはクライアントコンテキストについてあるドメインを他のドメインよりも適宜優遇するように、順序付けられたリストまたは比較ドメインペアにおいてランク付けをする。【選択図】図２
2019185741.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータによって実現される方法であって、
自然言語表現とメタデータとを含む表現パッケージを受信することと、
第１のドメインに従って前記自然言語表現を解釈して、前記第１のドメインについての第１の解釈および第１のスコアを生成することと、
第２のドメインに従って前記自然言語表現を解釈して、前記第２のドメインについての第２の解釈および第１のスコアを生成することと、
前記メタデータを用いて、前記第１のドメインについての第１の重みを識別し、前記第２のドメインについての第２の重みを識別することと、
前記第１の重みを前記第１のドメインについての前記第１のスコアに適用して、前記第１のドメインについての第２のスコアを計算することと、
前記第２の重みを前記第２のドメインについての前記第１のスコアに適用して、前記第２のドメインについての第２のスコアを計算することと、
前記第１のドメインについての前記第２のスコアおよび前記第２のドメインについての前記第２のスコアに鑑みて、前記第１の解釈を前記自然言語表現の適切な解釈として選択することと、
前記第１の解釈の選択に基づいて前記自然言語表現に対する応答を計算することとを備える、方法。
【請求項２】
前記メタデータを用いて、前記第１のドメインについての第１の重みを識別し、前記第２のドメインについての第２の重みを識別することは、クライアントＩＤに基づいて重みを識別することを備える、請求項１に記載の方法。
【請求項３】
前記メタデータを用いて、前記第１のドメインについての第１の重みを識別し、前記第２のドメインについての第２の重みを識別することは、ベンダＩＤおよび製品ＩＤに基づいて重みを識別することを備える、請求項１に記載の方法。
【請求項４】
前記第１の解釈を適切な解釈として選択することは、前記第１のドメインについての前記第２のスコアが前記第２のドメインについての前記第２のスコアよりも高いことに基づいて前記第１の解釈を選択することを備える、請求項１から３のいずれか１項に記載の方法。
【請求項５】
前記第１の解釈を適切な解釈として選択することは、前記第１のドメインについての前記第２のスコアが閾値を超えることに基づいて前記第１の解釈を選択することを備える、請求項１から３のいずれか１項に記載の方法。
【請求項６】
前記自然言語表現とメタデータとを含む表現パッケージを受信することは、クライアントデバイスから前記表現パッケージおよびメタデータを受信することを備え、前記メタデータは、どのアプリケーションが前記クライアントデバイスのフォアグラウンドで実行中であるかを示す、請求項１から５のいずれか１項に記載の方法。
【請求項７】
前記クライアントデバイスに関して電子化されたアクションを実行して、計算された前記応答を実現することをさらに備える、請求項６に記載の方法。
【請求項８】
さまざまなタイプのクライアントについての自然言語理解のための構成可能なプラットフォームを提供することと、
前記構成可能なプラットフォームにおいて前記第１の重みを前記第１のドメインに適用して前記第２の重みを前記第２のドメインに適用する指示を開発者から受信することとをさらに備える、請求項１から７のいずれか１項に記載の方法。
【請求項９】
コンピュータによって実現される方法であって、
自然言語表現と、第１のドメインに対応する第１の重みと、第２のドメインに対応する第２の重みとを含む表現パッケージを受信することと、
前記第１のドメインに従って前記自然言語表現を解釈して、前記第１のドメインについての第１の解釈および第１のスコアを生成することと、
前記第２のドメインに従って前記自然言語表現を解釈して、前記第２のドメインについての第２の解釈および第１のスコアを生成することと、
前記第１の重みを前記第１のドメインについての前記第１のスコアに適用して、前記第１のドメインについての第２のスコアを計算することと、
前記第２の重みを前記第２のドメインについての前記第１のスコアに適用して、前記第２のドメインについての第２のスコアを計算することと、
前記第１のドメインについての前記第２のスコアおよび前記第２のドメインについての前記第２のスコアに鑑みて、前記第１の解釈を前記自然言語表現の適切な解釈として選択することと、
前記第１の解釈の選択に基づいて前記自然言語表現に対する応答を計算することとを備える、方法。
【請求項１０】
前記表現パッケージを受信することは表現パッケージを受信することを備え、前記第１の重みには前記第１のドメインについての識別子がタグ付けされており、前記第２の重みには前記第２のドメインについての識別子がタグ付けされている、請求項９に記載の方法。
【請求項１１】
前記表現パッケージを受信することは、自然言語表現とドメイン重みのアレイとを含む表現パッケージを受信することを備える、請求項９または１０に記載の方法。
【請求項１２】
前記第１の解釈を適切な解釈として選択することは、前記第１のドメインについての前記第２のスコアが前記第２のドメインについての前記第２のスコアよりも高いことに基づいて前記第１の解釈を選択することを備える、請求項９か１１のいずれか１項に記載の方法。
【請求項１３】
前記第１の解釈を適切な解釈として選択することは、前記第１のドメインについての前記第２のスコアが閾値を超えることに基づいて前記第１の解釈を選択することを備える、請求項９から１２のいずれか１項に記載の方法。
【請求項１４】
前記自然言語表現と重みとを含む表現パッケージを受信することは、クライアントデバイスから表現パッケージを受信することを備え、前記クライアントデバイスは、スマートスピーカ、携帯電話、および自動車から選択される、請求項９から１３のいずれか１項に記載の方法。
【請求項１５】
前記クライアントデバイスに関して電子化されたアクションを実行して、計算された前記応答を実現することをさらに備える、請求項１４に記載の方法。
【請求項１６】
コンピュータによって実現される方法であって、
自然言語表現を受信することと、
第２のドメインからの解釈よりも第１のドメインからの解釈にプリファレンスを示すドメインランクリストにアクセスすることと、
前記第１のドメインに従って前記自然言語表現を解釈して、前記第１のドメインについての第１の解釈および第１のスコアを生成することと、
前記第２のドメインに従って前記自然言語表現を解釈して、前記第２のドメインについての第２の解釈および第２のスコアを生成することと、
前記第１のスコアが第１の閾値を超えており、前記第２のスコアが第２の閾値を超えており、前記第２のスコアが前記第１のスコアよりも高いと判断することと、
前記ランクリストにおける前記プリファレンスに鑑みて、かつ、前記第２のスコアが前記第１のスコアよりも高いが前記第１のスコアが前記第１の閾値を超えていることに基づいて、前記第１の解釈を前記自然言語表現の適切な解釈として選択することと、
前記第１の解釈の選択に基づいて前記自然言語表現に対する応答を計算することとを備える、方法。
【請求項１７】
前記ドメインランクリストにアクセスすることは、前記自然言語表現とともに前記ドメインランクリストを受信することを備える、請求項１６に記載の方法。
【請求項１８】
前記自然言語表現を受信することは、クライアントデバイスから表現パッケージを受信することを備え、前記クライアントデバイスは、スマートスピーカ、携帯電話、および自動車から選択される、請求項１６または１７に記載の方法。
【請求項１９】
前記クライアントデバイスに関して電子化されたアクションを実行して、計算された前記応答を実現することをさらに備える、請求項１８に記載の方法。
【請求項２０】
さまざまなタイプのクライアントについての自然言語理解のための構成可能なプラットフォームを提供することと、
前記第２のドメインからの解釈よりも前記第１のドメインからの解釈にプリファレンスを与える指示を開発者から受信することとをさらに備える、請求項１６から１９のいずれか１項に記載の方法。
【請求項２１】
プログラムであって、１つ以上のプロセッサによって実行されると、前記１つ以上のプロセッサに請求項１から２０のいずれか１項に記載の方法を行わせる、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
背景
１．発明の分野
本発明は概して仮想アシスタントに関し、特に、自然言語を理解するように構成された仮想アシスタントに関する。
【背景技術】
【０００２】
２．関連技術
最新の仮想アシスタントは、自然言語を用いて表現された質問に答えることができ、自然言語を用いて表現されたコマンドを実行することができる。より高度な仮想アシスタントは、多くのドメインにおける質問およびコマンドを処理することができる。ドメインは、特定の分野に関連する情報を提供する、または具体的な装置に関連するアクションを実行するなどの、関連した能力の別個のセットである。たとえば、仮想アシスタントの中には、天気予報を提供する、ウィキペディア（Wikipedia）からの情報を用いて質問に答える、要求された音楽を再生する、要求されたビデオを再生する、ショートメッセージサービス（ＳＭＳ）メッセージを送信する、電話をかける、等を行うことができるものもある。さまざまなドメインの組合せにおける質問およびコマンドを処理するようにさまざまな仮想アシスタントが開発され得る。
【０００３】
環境によっては、仮想アシスタントは、たとえば、スマートスピーカ、携帯電話、自動車、自動販売機等の多数のさまざまなタイプのクライアントをサポートするサーバ上で実行される。異なるタイプの各クライアントは、１組のドメインにわたる質問およびコマンドを処理するように構成された仮想アシスタントを提供し得る。ドメインの数は、非常に特殊化された仮想アシスタントについての単一のドメインから、広範囲に有用な仮想アシスタントについての多数のドメインまでさまざまであり得る。ドメインは仮想アシスタントに固有であり得るか、または多数の仮想アシスタント同士の間で共有され得る。たとえば、多くの仮想アシスタントは共通の天気ドメインを使用することができる。一方、小売業者についての仮想アシスタントは在庫品に関する問合せに答える固有のドメインを有し得る。
【０００４】
仮想アシスタントは時折、潜在的に曖昧な自然言語表現を受信する場合がある。すなわち、当該表現は２つ以上のドメインにおいて潜在的に意味をなす。たとえば、「フットルースを再生」という言語表現を発するユーザは、音楽ドメインにおける有名な曲、およびビデオドメインにおける有名な映画を指している場合がある。「播放情深深雨蒙蒙」という表現は、音楽ドメインにおける有名な曲、およびビデオドメインにおける有名な映画を指している場合がある。別の例として、「エベレストの高さはどれくらいか」（「播放情深深雨蒙蒙」）という表現は、地理ドメインにおける高さ、または天気ドメインにおける温度を指している場合がある。
【０００５】
表現を受信すると、仮想アシスタントは、この表現が複数の異なるドメインの各々においてどれだけ意味をなすかを大まかに示すドメインごとのスコアを計算し得る。仮想アシスタントは、最良のスコアを有するドメインを選択し、そのドメインからの解釈を用いてユーザへの応答を生成する。潜在的に曖昧な表現については、多数のドメインが高いスコアを提供する場合がある。しかし、最良の（最高の）スコアを有するドメインは、ユーザが潜在的に曖昧な表現を処理することを意図していたドメインではない場合がある。この結果、仮想アシスタントは不適切な応答をして、ユーザが不満を感じてしまう。
【０００６】
また、米国特許出願公開第２０１４／０１６３９５９（Ａ１）号明細書（発明者：Hebert等、段落０００６、０００８、００２４および００２８）ならびに米国特許出願公開第２０１４／０２４４７１２（Ａ１）号明細書（発明者：Walters等、段落００８３）を含む文献にいくらかの開示がある。
【０００７】
３．先行技術文献情報
【先行技術文献】
【特許文献】
【０００８】
３−１．特許文献
【特許文献１】米国特許出願公開第２０１４／０１６３９５９（Ａ１）号明細書
【特許文献２】米国特許出願公開第２０１４／０２４４７１２（Ａ１）号明細書
【非特許文献】
【０００９】
３−２．非特許文献
【非特許文献１】XIAOHU LIU, et al., "Personalized Natural Language Understanding、（オンライン）、２０１６年９月、［検索日：２０１８年４月２日］、インターネット<URL: https://pdfs.semanticscholar.org/b960/223e91bc6ffe22c9ff766a466791cefda358.pdf>
【非特許文献２】PUYANG XU, et al., "CONTEXTUAL DOMAIN CLASSIFICATION IN SPOKEN LANGUAGE UNDERSTANDING SYSTEMS USING RECURRENT NEURAL NETWORK"、２０１４年７月１４日、（オンライン）、［検索日：２０１８年４月２日］、インターネット<URL: https://ieeexplore.ieee.org/document/6853573>
【非特許文献３】YI YANG, "ROBUST ADAPTATION OF NATURAL LANGUAGE PROCESSING FOR LANGUAGE VARIATION"、博士号論文、２０１７年５月、ジョージア工科大学、［検索日：２０１８年４月２日］、インターネット<URL: https://smartech.gatech.edu/bitstream/handle/1853/58201/YANG-DISSERTATION-2017.pdf>
【非特許文献４】GIOVANNI CAMPAGNA, "Deep Almond: A Deep Learning-based Virtual Assistant"、２０１７年、スタンフォード大学、（オンライン）、［検索日：２０１８年４月２日］、インターネット<URL: https://pdfs.semanticscholar.org/abd0/b6593bb229a527639d1fdf95515dd7c73c88.pdf?_ga=2.168385318.669889105.1547086680-1355494733.1547086680>
【非特許文献５】EUGENE GROIS, Learning Strategies for Open-Domain Natural Language Question Answering, ACLstudent '05 Proceedings of the ACL Student Research Workshop、８５〜９０頁、（オンライン）、［検索日：２０１８年４月２日］、インターネット<URL: https://www.ijcai.org/Proceedings/05/Papers/1660.pdf>
【発明の概要】
【課題を解決するための手段】
【００１０】
本発明の具体的な特徴、局面、および利点は、以下の説明および添付の図面に関連してより良く理解されるであろう。
【図面の簡単な説明】
【００１１】
【図１】表現を解釈するための例示的なコンピュータ環境を示す図である。
【図２】マルチドメイン自然言語理解（ＮＬＵ）解釈サーバにおいて表現を解釈する例を示す図である。
【図３】マルチドメイン自然言語理解（ＮＬＵ）解釈サーバにおいて表現を解釈する別の例を示す図である。
【図４Ａ】例示的な表現パッケージを示す図である。
【図４Ｂ】別の例示的な表現パッケージを示す図である。
【図５Ａ】付加的な表現パッケージを示す図である。
【図５Ｂ】さらなる表現パッケージを示す図である。
【図６】マルチドメイン自然言語理解（ＮＬＵ）解釈サーバにおいてオーディオサンプルを解釈する例を示す図である。
【図７】マルチドメイン自然言語理解（ＮＬＵ）解釈サーバにおいて表現に対する応答を生成する例を示す図である。
【図８】例示的なグラフィカルユーザインターフェイス（ＧＵＩ）コンフィギュレータ画面を示す図である。
【図９】マルチドメイン自然言語理解（ＮＬＵ）解釈サーバにおいてドメインランクを用いてドメインを選択する例を示す図である。
【図１０Ａ】例示的な回転ディスクを示す図である。
【図１０Ｂ】例示的なランダムアクセスメモリ（ＲＡＭ）チップを示す図である。
【図１１Ａ】パッケージ化されたシステムオンチップ（ＳｏＣ）の例示的な半田ボール側を示す図である。
【図１１Ｂ】システムオンチップ（ＳｏＣ）の例示的なアーキテクチャを示す図である。
【図１２Ａ】ラックベース型サーバの例を示す図である。
【図１２Ｂ】サーバの例示的なアーキテクチャを示す図である。
【発明を実施するための形態】
【００１２】
詳細な説明
本発明は、異なるドメインにおいて潜在的に曖昧な意味を有する表現を解釈するための方法、システム、機械、製造品、およびコンピュータプログラム製品に及ぶ。
【００１３】
本発明の局面は、異なるドメインによって提供される表現の異なる解釈に重み付けするおよび／または優先順位を付けることができる。重み付けおよび／または優先順位付けを用いて、ユーザについての表現のより適切な解釈を選択することができる。したがって、重み付けおよび／または優先順位付けによって、開発者は、特定の用途のための、および特定の条件での使用のための仮想アシスタントを開発して、当該仮想アシスタントがユーザ意図に基づいて適切な（正しい）解釈を選択する可能性を高めることができる。重み付けおよび／または優先順位付けによって、開発者は、ユーザが競合他社のドメインから結果を得る可能性を低下させる、および場合によっては阻止することができるという利点も提供され得る。
【００１４】
ある局面では、インタープリタが、複数の異なるドメインにわたる表現を処理するように構成される。インタープリタはユーザから表現を受信する。この表現は、ユーザが入力するテキスト（たとえば、情報交換のためのアメリカ標準コード（ＡＳＣＩＩ）文字またはユニコード文字）、トークン化された一連の形態素、音声サンプル等であってもよい。音声認識を用いて、音声サンプルから一連の形態素を抽出することができる。
【００１５】
インタープリタは各ドメインにおいてこの表現を解釈して、各ドメインにおけるこの表現の第１の尤度スコアを計算する。インタープリタは、この表現と関連付けられたメタデータを用いて、ドメインごとに対応する重みを選択する。ある局面では、メタデータは、クライアントＩＤ、ベンダＩＤ、製品ＩＤ、バージョン、ユーザＩＤ、位置、センサ情報等の１つ以上を含む。これらの局面では、インタープリタはメタデータのコンテンツに基づいて重みを選択する。その他の局面では、重みはメタデータに含まれている。これらその他の局面では、メタデータは、各重みと関連付けられたドメイン名またはドメインＩＤを指定し得る。重みは、整数、浮動小数点数、またはその他の記号表現として表わされ得る。
【００１６】
ドメインごとに、インタープリタは対応する重みを第１の尤度スコアに適用して第２の尤度スコアを計算する。第２の尤度スコアは、複数のドメインから１つのドメインを選択して表現の解釈を提供するのに有用である。たとえば、閾値を超える第２のスコアを有するドメインが、表現を解釈するドメインとして選択され得る。選択されたドメインを用いてユーザ意図が判定され、適切な応答が計算され得る。応答は、視覚的または可聴的であってもよく（たとえば、音または口頭情報）、テキストまたは可聴メッセージの送信等の動作を装置に行わせることができる。
【００１７】
開発者は、複数の利用可能なドメインからの異なるドメインを含むインタープリタを（たとえばグラフィカルユーザインターフェイスを有するプラットフォームを用いて）開発することができ、含まれる各ドメインに重みを割当てることができる。
【００１８】
重みを使用する代わりに、または重みを使用することと組合せて、本発明の局面はドメインランクを利用することもできる。多数のドメインが閾値を超えるスコアを有する場合は、よりランクの高いドメインが表現を解釈するドメインとして選択され得る。閾値は、異なるドメイン同士の間で同一でもよいし、異なっていてもよい。ランクは、コンテキスト（たとえば、どのアプリケーションが実行中であるか、前の対話の主題、等）に基づいて、順序付けられたリストとして、プリファレンスを有するドメインのペアとして指定され得る。ある局面では、別の方法では明示的にランク付けされない「その他」ドメインについてランクが指定される。
【００１９】
局面は、多数のクライアントタイプをサポートするクラウドベースのマルチドメイン自然言語理解（Natural Language Understanding：ＮＬＵ）解釈プラットフォームを含む。クライアント開発者は、その他のドメインを用いるクライアントを開発することができ、および／または開発者自身のクライアントについての顧客もしくはプロプライエタリドメインを開発することができる。たとえば、自動車メーカーは、自社の車のヒータおよび窓を調節するプロプライエタリ車制御ドメインを開発し得る。この自動車メーカーは、このプロプライエタリ車制御ドメインと、天気予報の問合せに答えるドメインなどのその他の一般に用いられるドメインとを用いるクライアントを開発することもできる。クライアント開発者は、開発者自身のカスタムまたはプロプライエタリドメインに高い重みを割当てることができる。
【００２０】
クライアント開発者は、ドメイン開発者と取引関係がある場合もある。クライアント開発者は、ドメイン開発者のドメインに高い重みを割当てることができ、またはドメイン開発者の競合他社のドメインに低い重み（またはさらにはゼロの重み）を割当てることができる。したがって、クライアント開発者は、クライアントが競合他社のドメインを選択して表現に応答することを本質的に防止することができ、または、競合他社のドメインがクライアントとほとんど関係のない表現に応答することをクライアントが許可することを本質的に防止することができる。
【００２１】
たとえば、食料品店会社の食料品買い物クライアントは、自社の製品に特有の情報を含むカスタムドメインを有し得る。食料品買い物クライアントは、重みを用いて、自社ブランドを有する製品についてのカスタムドメインを用いて食品に関する問合せに応答するように構成され得る。たとえば、顧客ドメインは、「ドーナツのエネルギはどれくらいか」という問合せに、自社ブランドのドーナツについての具体的な情報で応答するように選択され得る。ブランド名のドーナツ会社のドメインの代わりに、カスタムドメインが選択され得る。クライアントは、自社ブランドを有さない製品についての食品に関する問合せには、一般的な栄養情報についてのドメインで応答し得る。たとえば、その店が自社ブランドのバナナを有していない場合は、共通ドメインが「バナナのカロリーはどれくらいか」という問合せに応答するように選択され得る。
【００２２】
本発明の局面は、従来のアプローチに対する改良である一定の利点を提供する。具体的には、曖昧な表現は、ユーザの意図に一致するより高い確率で解釈される。別の方法では理解されない一定の表現を理解することができる。装置の挙動は、それらの種類およびそれらの状況に最適化される。ユーザは装置の自然言語インターフェイスにさらに満足する。共有のクラウドベースの解釈サーバが、異なるレベルのサービスを異なる装置開発者に提供する（かつ異なる価格設定レベルを請求する）ことができる。さらに、自然言語表現のより正確な解釈は、セーフティクリティカルシステムにおけるエラー率を低下させるのに有益である。本発明のその他の利点が当業者に明らかになるであろう。
【００２３】
本発明の実施形態は、以下により詳細に述べるように、たとえば１つ以上のプロセッサおよびシステムメモリなどのコンピュータハードウェアを含む専用または汎用コンピュータを含み得るかまたは利用し得る。本発明の範囲内の実施形態は、コンピュータ実行可能命令および／またはデータ構造を搬送または格納するための物理的なおよびその他のコンピュータ可読媒体も含む。そのようなコンピュータ可読媒体は、汎用または専用コンピュータシステムによってアクセス可能な任意の利用可能な媒体であり得る。コンピュータ実行可能命令を格納するコンピュータ可読媒体は、コンピュータ記憶媒体（装置）である。コンピュータ実行可能命令を搬送するコンピュータ可読媒体は、伝送媒体である。したがって、一例として限定されずに、本発明の実施形態は、少なくとも２つの明確に異なる種類のコンピュータ可読媒体、すなわちコンピュータ記憶媒体（装置）および伝送媒体を含み得る。
【００２４】
コンピュータ記憶媒体（装置）は、ランダムアクセスメモリ（ＲＡＭ）、読取専用メモリ（ＲＯＭ）、電子的消去可能プログラマブルＲＯＭ（ＥＥＰＲＯＭ（登録商標））、コンパクトディスク読取専用メモリ（ＣＤ−ＲＯＭ）、（たとえばＲＡＭに基づく）ソリッドステートドライブ（「ＳＳＤ」）、フラッシュメモリ、相変化メモリ（「ＰＣＭ」）、その他の種類のメモリ、その他の光ディスク記憶装置、磁気ディスク記憶装置もしくはその他の磁気記憶装置、または、コンピュータ実行可能命令もしくはデータ構造の形態の所望のプログラムコード手段を格納するのに使用可能であり、かつ汎用もしくは専用コンピュータによってアクセス可能なその他の媒体を含む。
【００２５】
「ネットワーク」は、コンピュータシステムおよび／またはモジュールおよび／またはその他の電子装置同士の間の電子データの移送を可能にする１つ以上のデータリンクと定義される。情報がネットワークまたは別の通信接続（有線、無線、もしくは有線と無線との組合せのいずれか）上でコンピュータに転送または提供されると、当該コンピュータは当該接続を伝送媒体と適切に見なす。伝送媒体はネットワークおよび／またはデータリンクを含み得る。当該ネットワークおよび／またはデータリンクを用いて、コンピュータ実行可能命令またはデータ構造の形態の所望のプログラムコード手段を搬送することができ、当該ネットワークおよび／またはデータリンクは汎用または専用コンピュータによってアクセス可能である。上述したものの組合せもコンピュータ可読媒体の範囲内に含まれるものとする。
【００２６】
さらに、さまざまなコンピュータシステムコンポーネントに到達すると、コンピュータ実行可能命令またはデータ構造の形態のプログラムコード手段は、伝送媒体からコンピュータ記憶媒体（装置）に（またはその逆に）自動的に転送され得る。たとえば、ネットワークまたはデータリンク上で受信したコンピュータ実行可能命令またはデータ構造は、ネットワークインターフェイスモジュール（たとえば「ＮＩＣ」）内のＲＡＭにおいてバッファリングされてから、最終的にコンピュータシステムＲＡＭに、および／またはコンピュータシステムにおけるより揮発性の低いコンピュータ記憶媒体（装置）に転送され得る。ＲＡＭは、ソリッドステートドライブ（FusionIOなどの、ＳＳＤまたは周辺コンポーネント相互接続拡張（Peripheral Component Interconnect eXtended：ＰＣＩ−Ｘ）ベースのリアルタイムメモリ階層記憶装置）も含み得る。したがって、コンピュータ記憶媒体（装置）は、伝送媒体も利用する（またはさらには主として伝送媒体を利用する）コンピュータシステムコンポーネントに含まれ得る。
【００２７】
コンピュータ実行可能命令は、たとえば、プロセッサにおいて実行されると、汎用コンピュータ、専用コンピュータ、または特殊用途処理装置に一定の機能または一群の機能を実行させる命令およびデータを含む。コンピュータ実行可能命令は、たとえば、バイナリ、アセンブリ言語などの中間フォーマット命令、またはさらにはソースコードであってもよい。主題は、構造的特徴および／または方法論的行為に特有の言語で記載されているが、添付の特許請求の範囲に規定される主題は記載される特徴または上述の行為に必ずしも限定されないことを理解すべきである。むしろ、記載される特徴および行為は、特許請求の範囲を実現する例示的な形態として開示されている。
【００２８】
当業者は、本発明は多くの種類のコンピュータシステム構成を有するネットワークコンピューティング環境で実践され得ることを認識するであろう。当該構成は、パーソナルコンピュータ、デスクトップコンピュータ、ラップトップコンピュータ、メッセージプロセッサ、ハンドヘルドデバイス、マルチプロセッサシステム、マイクロプロセッサベースのまたはプログラム可能な家電製品、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、携帯電話、携帯情報端末（ＰＤＡ）、タブレット、ポケットベル、ルータ、スイッチ、さまざまな記憶装置などを含む。本発明は分散型システム環境でも実践され得る。分散型システム環境では、ネットワークを介して（有線データリンク、無線データリンクによって、または有線および無線データリンクの組合せによって）結合されるローカルおよびリモートコンピュータシステムの双方がタスクを実行する。分散型システム環境では、プログラムモジュールはローカルおよびリモートのメモリ記憶装置の双方内に位置し得る。
【００２９】
本発明の実施形態は、クラウドコンピューティング環境でも実現可能である。この説明および以下の特許請求の範囲では、「クラウドコンピューティング」は、仮想化によって迅速にプロビジョンされ、最小の管理努力またはサービスプロバイダ対話でリリースされ、それに応じてスケーリングされ得る、構成可能なコンピューティングリソース（たとえばネットワーク、サーバ、記憶装置、アプリケーション、およびサービス）の共有プールへのユビキタスな、便利な、オンデマンドのネットワークアクセスを可能にするモデルと定義される。クラウドモデルは、さまざまな特性（たとえば、オンデマンドのセルフサービス、広範なネットワークアクセス、リソースプーリング、迅速な弾力性、正確に調整されたサービス等）、サービスモデル（たとえば、ソフトウェア・アズ・ア・サービス（Software as a Service：ＳａａＳ）、プラットフォーム・アズ・ア・サービス（Platform as a Service：ＰａａＳ）、インフラストラクチャ・アズ・ア・サービス（Infrastructure as a Service：ＩａａＳ）、および展開モデル（たとえば、プライベートクラウド、コミュニティクラウド、パブリッククラウド、ハイブリッドクラウド等）で構成され得る。本発明に関して記載されるデータベースおよびサーバはクラウドモデルに含まれ得る。
【００３０】
さらに、適切な場合、本明細書に記載の機能は、ハードウェア、ソフトウェア、ファームウェア、デジタルコンポーネント、またはアナログコンポーネントの１つ以上において実行され得る。たとえば、本明細書に記載のシステムおよび手順の１つ以上を実行するように、１つ以上の特定用途向け集積回路（ＡＳＩＣ）が製造され得るか、またはフィールドプログラマブルゲートアレイ（ＦＰＧＡ）がプログラムされ得る。以下の説明および特許請求の範囲全体にわたって特定のシステムコンポーネントを指すために一定の用語が用いられている。当業者が認識するように、コンポーネントは異なる名称で言及される場合がある。本文書は、機能ではなく名称が異なるコンポーネント同士を区別することを意図していない。
【００３１】
図１は、表現を解釈するためのコンピュータ環境１００を示す。より具体的には、コンピュータ環境１００は、クラウドベースのマルチドメイン自然言語理解（「ＮＬＵ」）解釈サーバに接続されたクライアントとのユーザ対話を示す。
【００３２】
ユーザ１０は、スマートスピーカ１２のセンサ範囲内で言語表現１１を話し得る。スマートスピーカ１２は言語表現１１を受信し、言語表現１１をネットワーク上でクラウド１６内のマルチドメインＮＬＵ解釈サーバ１３に送信し得る。携帯電話クライアント１４および自動車クライアント１５も自然言語表現をマルチドメインＮＬＵ解釈サーバ１３に送信し得る。
【００３３】
図示されるように、言語表現１１は「フットルースを再生」「播放情深深雨蒙蒙」というフレーズであり得る。この「フットルースを再生」「播放情深深雨蒙蒙」というフレーズは、有名なビデオの名前および有名な歌の名前の双方を指示している場合がある。したがって、この「フットルースを再生」「播放情深深雨蒙蒙」というフレーズは、歌ドメインおよびビデオドメインの双方における解釈について高いスコアを受信し得る。しかし、スマートスピーカ１２は視覚ディスプレイを有していないため、ビデオドメインよりも歌ドメインに高い重みが与えられ得る。したがって、スマートスピーカ１２から受信した「フットルースを再生」「播放情深深雨蒙蒙」というフレーズは、歌を再生する要求と解釈され得る。
【００３４】
一方、携帯電話１４などのディスプレイを有するクライアントは、歌ドメインよりもビデオドメインに高い重みを与え得る。したがって、携帯電話１４から受信した「フットルースを再生」「播放情深深雨蒙蒙」というフレーズは、ビデオを再生する要求と解釈され得る。
【００３５】
携帯電話１４または自動車１５などのいくつかのクライアントは、異なる種類のアプリケーションを実行し得る。これらのクライアント上では、実行中のアプリケーションを用いて、歌またはビデオを優遇する相対的なドメイン重みを求めることができる。たとえば、携帯電話１４がフォアグラウンドに音楽アプリケーションを有している場合は、ドメイン重みは曲の再生を優遇するように構成され得る。
【００３６】
格納されたドメイン重み
図２は、マルチドメイン自然言語理解（ＮＬＵ）解釈サーバ１３のより詳細な図を示す。マルチドメイン自然言語理解（ＮＬＵ）解釈サーバ１３は、クライアントデバイスから、たとえば、スマートスピーカ１２、携帯電話１４、または自動車１５のいずれかから、表現パッケージ５を受信し得る。マルチドメイン自然言語理解（ＮＬＵ）解釈サーバ１３は、表現１９をインタープリタ２０に転送し、クライアントＩＤ３１を重みセレクタ２３に転送する。インタープリタ２０は、ドメイン２１の各々（たとえばドメイン２１Ａ、ドメイン２１Ｂ…ドメイン２１Ｎ）に従って表現１９を解釈して解釈３２  １−Ｎを生成する。ある局面では、インタープリタ２０はすべてのドメイン２１よりも少ないドメインについての解釈を生成する。インタープリタ２０は第１のスコア３３  １−Ｎも生成する。第１のスコア３３の各々は解釈３２の１つに対応する。ある局面では、表現１９の解釈を完了する前にスコアリングが行われる。解釈の前にスコアリングを行うことによって、処理リソースを節約することができる。インタープリタ２０は、第１のスコア３３  １−Ｎをリスコアモジュール２４に送信し得る。
【００３７】
重みセレクタ２３は、重み２２Ａ、２２Ｂおよび２２Ｃを含む重み２２の多数のセット（永続的な記憶装置に格納され得る）へのアクセスを有する。１つの重みセットは、ドメイン２１の１つ以上または場合によってはすべてについての重みを含み得る。１つの重みセット内の重みは、浮動小数点数、整数、テキストとして、またはその他の適切なフォーマットとして表わされ得る。
【００３８】
重みセレクタ２３はクライアントＩＤ３１を受信する。ある局面では、表現１９を受信したクライアントデバイスは、表現１９とともにメタデータとしてのクライアントＩＤ３１をマルチドメイン自然言語理解（ＮＬＵ）解釈サーバ１３に送信する。マルチドメイン自然言語理解（ＮＬＵ）解釈サーバ１３は、表現１９からクライアントＩＤ３１を分離し、クライアントＩＤ３１を重みセレクタ２３に転送する。クライアントＩＤ３１は、たとえば、スマートスピーカ、携帯電話、自動車等のクライアントタイプを表わし得る。重みセレクタ２３は、たとえばクライアントＩＤ３１に対応する重み２２Ａなどの重みセットを選択する。重みセレクタ２３は、重み２２Ａをリスコアモジュール２４に送信し得る。
【００３９】
たとえば、ベンダＩＤ、製品ＩＤ、バージョン、ユーザＩＤ、位置、センサ情報等のその他の種類の識別データも重みセレクタ２３に転送され得る。重みセレクタ２３は、記載される種類の識別データのいずれかを用いて重みセットを選択し得る。
【００４０】
リスコアモジュール２４は、インタープリタ２０から第１のスコア３３  １−Ｎを受信し、重みセレクタ２３から重み２２Ａを受信する。リスコアモジュール２４は、重み２２Ａを第１のスコア３３  １−Ｎに適用して第２のスコア３４  １−Ｎを生成する。リスコアリングは、第１のスコアに対応する重み（または関連付けられた重みを有さないスコアについては値１）を掛けて第２のスコアを生成することを含み得る。加算、対数の増加、閾値比較、フィルタリング、および任意関数の適用などの、その他のリスコアリングメカニズムも使用可能である。
【００４１】
第２のスコア３４  １−Ｎに基づいて、マルチドメイン自然言語理解（ＮＬＵ）解釈サーバ１３は、解釈３２  １−Ｎの中から表現１９の適切な解釈（たとえば、最高スコアを有する解釈、対応するドメインについての閾値を超える解釈、等）を選択し得る。選択された適切な解釈に基づいて、マルチドメイン自然言語理解（ＮＬＵ）解釈サーバ１３は表現１９に対する適切な応答を生成し得る。適切な応答は、テキストまたは可聴メッセージの出力、歌の再生、ビデオの再生、移動等の動作をクライアントデバイスに実行させることを含み得る。
【００４２】
メタデータとしてのドメイン重みの受信
図３は、マルチドメイン自然言語理解（ＮＬＵ）解釈サーバ１３の別のより詳細な図を示す。マルチドメイン自然言語理解（ＮＬＵ）解釈サーバ１３は、クライアントデバイスから、たとえば、スマートスピーカ１２、携帯電話１４、または自動車１５のいずれかから、表現パッケージ６を受信し得る。マルチドメイン自然言語理解（ＮＬＵ）解釈サーバ１３は、表現２９をインタープリタ２０に転送し、重み４１をリスコアモジュール２４に転送する。インタープリタ２０は、ドメイン２１の各々（たとえばドメイン２１Ａ、ドメイン２１Ｂ…ドメイン２１Ｎ）に従って表現２９を解釈して解釈４２  １−Ｎを生成する。ある局面では、インタープリタ２０はすべてのドメイン２１よりも少ないドメインについての解釈を生成する。インタープリタ２０は第１のスコア４３  １−Ｎも生成する。第１のスコア４３の各々は解釈４２の１つに対応する。ある局面では、表現２９の解釈を完了する前にスコアリングが行われる。解釈の前にスコアリングを行うことによって、処理リソースを節約することができる。インタープリタ２０は、第１のスコア４３  １−Ｎをリスコアモジュール２４に送信し得る。
【００４３】
ある局面では、表現２９を受信したクライアントデバイスは、表現２９とともにメタデータとしての重み４１をマルチドメイン自然言語理解（ＮＬＵ）解釈サーバ１３に（表現ごとに）送信する。マルチドメイン自然言語理解（ＮＬＵ）解釈サーバ１３は、表現１９から重み４１を分離し、重み４１をリスコアモジュール２４に転送する。重み４１は、ドメイン２１の１つ以上または場合によってはすべてについての重みを含み得る。重み４１内の重みは、浮動小数点数、整数、テキストとして、またはその他の適切なフォーマットとして表わされ得る。
【００４４】
リスコアモジュール２４は、インタープリタ２０から第１のスコア４３  １−Ｎを受信し、クライアントデバイスから重み４１を受信する。リスコアモジュール２４は、重み４１を第１のスコア４３  １−Ｎに適用して第２のスコア４４  １−Ｎを生成する。リスコアリングは、第１のスコアに対応する重み（または関連付けられた重みを有さないスコアについては値１）を掛けて第２のスコアを生成することを含み得る。加算、対数の増加、閾値比較、フィルタリング、および任意関数の適用などの、その他のリスコアリングメカニズムも使用可能である。
【００４５】
第２のスコア４４  １−Ｎに基づいて、マルチドメイン自然言語理解（ＮＬＵ）解釈サーバ１３は、解釈４２  １−Ｎの中から表現２９の適切な解釈（たとえば、最高スコアを有する解釈、対応するドメインについての閾値を超える解釈、等）を選択し得る。選択された適切な解釈に基づいて、マルチドメイン自然言語理解（ＮＬＵ）解釈サーバ１３は表現２９に対する適切な応答を生成し得る。適切な応答は、テキストまたは可聴メッセージの出力、歌の再生、ビデオの再生、移動等の動作をクライアントデバイスに実行させることを含み得る。
【００４６】
局面は、格納された重みと表現ごとの重みとの組合せも含む。表現ごとの重みを用いて、クライアントについてのドメインごとに格納された重みをオーバーライドする、または当該重みにバイアスを与えることができる。
【００４７】
表現パッケージ
図４Ａは例示的な表現パッケージ４００を示す。表現パッケージ４００はクライアントデバイスからＮＬＵ解釈サーバに転送され得る。図示されるように、表現パッケージ４００はクライアントＩＤ４０１および表現データ４０２を含む。ＮＬＵ解釈サーバが表現データ４０２を受信する前に重みセットを選択できるように、クライアントＩＤ４０１は表現データ４０２の前に転送され得る。重みセレクタが、クライアントＩＤ４０１を用いて重みセットを選択し得る。リスコアモジュールが、選択された重みセット内の重みを、複数のドメインにわたる表現データ４０２を解釈することによって生成された第１のスコアに適用し得る。
【００４８】
図４Ｂは別の例示的な表現パッケージ４５０を示す。表現パッケージ４５０はクライアントデバイスからＮＬＵ解釈サーバに転送され得る。図示されるように、表現パッケージ４５０はベンダＩＤ４５１、製品ＩＤ４５２、および表現データ４５３を含む。重みセレクタが、ベンダＩＤ４５１および製品ＩＤ４５２を用いて重みセットを選択し得る。リスコアモジュールが、選択された重みセット内の重みを、複数のドメインにわたる表現データ４５３を解釈することによって生成された第１のスコアに適用し得る。
【００４９】
ベンダＩＤ４５１および製品ＩＤ４５２を転送することは、自然言語クライアントを有するさまざまな会社のエコシステムをサポートするＮＬＵ解釈サーバに有用である。たとえば、ＮＬＵ解釈サーバは、さまざまなベンダのさまざまな製品および製品バージョンについて、ベンダごとのアカウントをさまざまな処理機能またはソフトウェアとともに提供することができる。たとえば、バージョン、ユーザＩＤ、位置、センサ情報等のさまざまなその他のフォーマットも、表現データについて適切な重みセットを選択するために用いられるＩＤ情報を示すのに適切であり得る。
【００５０】
図５Ａは付加的な表現パッケージ５００を示す。表現パッケージ５００はクライアントデバイスからＮＬＵ解釈サーバに転送され得る。図示されるように、表現パッケージ５００は重み５０１および表現データ５０２を含む。重み５０１は、１つ以上のドメインの各々について重みを含み得る。リスコアモジュールが、重み５０１内の重みを、複数のドメインにわたる表現データ５０２を解釈することによって生成された第１のスコアに適用し得る。
【００５１】
図５Ｂはさらなる表現パッケージ５５０を示す。表現パッケージ５５０はクライアントデバイスからＮＬＵ解釈サーバに転送され得る。図示されるように、表現パッケージ５５０は、重み５５１Ａ、５５１Ｂ、５５１Ｃと、それぞれに対応するタグ５５２Ａ、５５２Ｂおよび５５２Ｃと、表現データ５５０とを含む。タグ５５２Ａ、５５２Ｂおよび５５２Ｃの各々は、対応する重み５５１Ａ、５５１Ｂおよび５５１Ｃがそれぞれ適用可能なドメインを示す。リスコアモジュールが、重み５５１Ａ、５５１Ｂおよび５５１Ｃを、タグ５５２Ａ、５５２Ｂおよび５５２Ｃによってそれぞれ示されるドメインについての第１のスコアに適用し得る。リスコアモジュールは、表現パッケージ５５０において明確に示されていない任意のドメインには中立の重み（たとえば、乗法リスコアリングについては値１）を適用し得る。
【００５２】
付加的な機能
上述のように、表現データは、ＡＳＣＩＩ文字列、ユニコード文字列、音声を表わす一連のデジタルオーディオサンプル、一連のジェスチャ、および神経活動のパターンを含むさまざまな形態を取り得る。
【００５３】
図６は、マルチドメイン自然言語理解（ＮＬＵ）解釈サーバ１３の付加的なより詳細な図を示す。マルチドメイン自然言語理解（ＮＬＵ）解釈サーバ１３は、クライアントデバイスから、たとえば、スマートスピーカ１２、携帯電話１４、または自動車１５のいずれかから、表現パッケージ６４を受信し得る。マルチドメイン自然言語理解（ＮＬＵ）解釈サーバ１３は、オーディオサンプル６２を音声認識モジュール６１に転送し、メタデータ６３を重みセレクタ２３および／またはリスコアモジュール２４に適宜転送する。
【００５４】
音声認識モジュール６１は、オーディオサンプル６２に対して音声認識を実行して表現６６（オーディオサンプル６２のテキスト表現）を生成する。音声認識モジュール６１は、認識された一連の音声トークンの１組の多数の仮説を生成し得る。音声認識精度推定スコアが仮説ごとに計算され得る。表現６６は、ＡＳＣＩＩ文字、漢字を含む文字などのユニコード文字、またはオーディオサンプル６２のその他の語彙もしくは表意表現を含み得る。
【００５５】
音声認識モジュール６１は、表現６６をインタープリタ２０に送信し得る。インタープリタ２０は、ドメイン２１の各々（たとえばドメイン２１Ａ、ドメイン２１Ｂ…ドメイン２１Ｎ）に従って表現６６を解釈して解釈６７  １−Ｎを生成し得る。ある局面では、インタープリタ２０はすべてのドメイン２１よりも少ないドメインについての解釈を生成する。インタープリタ２０は第１のスコア６８  １−Ｎも生成する。第１のスコア６８の各々は解釈６７の１つに対応する。ある局面では、表現６６の解釈を完了する前にスコアリングが行われる。解釈の前にスコアリングを行うことによって、処理リソースを節約することができる。インタープリタ２０は、第１のスコア６８  １−Ｎをリスコアモジュール２４に送信し得る。
【００５６】
リスコアモジュール２４は、インタープリタ２０からの第１のスコア６８  １−Ｎと、対応する重みとを受信する。対応する重みはメタデータ６３に含まれ得、および／またはメタデータ６３に基づいて記憶装置からアクセスされ得る。リスコアモジュール２４は、当該重みを第１のスコア６８  １−Ｎに適用して第２のスコアを生成する。リスコアリングは、第１のスコアに対応する重み（または関連付けられた重みを有さないスコアについては値１）を掛けて第２のスコアを生成することを含み得る。加算、対数の増加、閾値比較、フィルタリング、および任意関数の適用などの、その他のリスコアリングメカニズムも使用可能である。
【００５７】
第２のスコアに基づいて、マルチドメイン自然言語理解（ＮＬＵ）解釈サーバ１３は、解釈６７  １−Ｎの中から表現６６の適切な解釈（たとえば、最高スコアを有する解釈、対応するドメインについての閾値を超える解釈、等）を選択し得る。選択された適切な解釈に基づいて、マルチドメイン自然言語理解（ＮＬＵ）解釈サーバ１３はオーディオサンプル６２に対する適切な応答を生成し得る。適切な応答は、テキストまたは可聴メッセージの出力、歌の再生、ビデオの再生、移動等の動作をクライアントデバイスに実行させることを含み得る。
【００５８】
図７は、マルチドメイン自然言語理解（ＮＬＵ）解釈サーバ１３のさらなるより詳細な図を示す。マルチドメイン自然言語理解（ＮＬＵ）解釈サーバ１３は、クライアントデバイスから、たとえば、スマートスピーカ１２、携帯電話１４、または自動車１５のいずれかから、表現パッケージ８３を受信し得る。マルチドメイン自然言語理解（ＮＬＵ）解釈サーバ１３は、表現８４およびメタデータ８６を自然言語理解モジュール７０に転送する。
【００５９】
図示されるように、自然言語理解モジュール７０は、表現８４とメタデータ８６とを含む表現パッケージ８３を受信する。自然言語理解モジュール７０は、インタープリタ２０、重みセレクタ２３、およびリスコアモジュール２４のいずれかの機能を含み得る。表現８４およびメタデータ８６に基づいて、自然言語理解モジュール７０は、（表現８４の）解釈７６  １−Ｎと、対応する第２のスコア７７  １−Ｎとを、ドメイン２１についてそれぞれ生成し得る。
【００６０】
自然言語理解モジュール７０は、第２のスコア７７  １−Ｎをドメイン選択器７２に送信し、解釈７６  １−Ｎを意図生成モジュール７３に送信し得る。ドメイン選択器７２は、自然言語理解モジュール７０から第２のスコア７７  １−Ｎを受信し得る。第２のスコア７７  １−Ｎに基づいて、ドメイン選択器７２は表現８４に適切なドメインとしてドメイン２１Ｂを選択し得る。ドメイン選択器７２は、ドメイン２１Ｂを意図生成モジュール７３に対して指示し得る。意図生成モジュール７３は、ドメイン選択器７２からドメイン２１Ｂの指示を受信し得、自然言語理解モジュール７０から解釈７６  １−Ｎを受信し得る。
【００６１】
ドメイン２１Ｂの指示および解釈７６  １−Ｎに基づいて、意図生成モジュール７３は意図７９を生成し得る。意図７９は、たとえば、情報を調べる、アクションを実行する、等のために、表現８４を生成するためのユーザの意味に関する仮説であってもよい。ある局面では、意図７９は、たとえば、JavaScriptオブジェクト表記（ＪＳＯＮ）または１組のウェブアプリケーションプログラミングインターフェイス（ＡＰＩ）要求引数で表わされる適切なデータ構造である。意図生成モジュール７３は、意図７９を応答計算モジュール７４に送信し得る。
【００６２】
応答計算モジュール７４は、意図生成モジュール７３から意図７９を受信し得る。意図７９に基づいて、応答計算モジュール７４は応答８２（表現８４に対する応答）を計算し得る。応答８２は、情報をユーザに戻すべきであること、アクションを実行すべきであること、等を指示し得る。応答８２は、テキスト、オーディオ、音声、テキストトゥスピーチ（text-to-speech：ＴＴＳ）用のマークアップコード、またはその他の適切な形態を含み得る。
【００６３】
プラットフォームユーザインターフェイス
本発明の局面は、クライアント開発者が、開発者自身のクライアントユーザへのドメインの可用性を構成し、かつ利用可能なドメインについてのリスコアリング重みのセットを構成するプラットフォームを提供し得る。ドメイン選択および重みは、テキストベースのインターフェイス、グラフィカルユーザインターフェイス（ＧＵＩ）を介して、またはその他の方法を用いて入力され得る。図８は例示的なＧＵＩコンフィギュレータ画面８１を示す。
【００６４】
ＧＵＩ構成画面８１は、「マイクライアントプロジェクト（myClientProject）」というタイトルを、ドメイン情報を構成するためのさまざまなカラムとともに含む。ＧＵＩ構成画面８１は、各ドメインを、当該ドメインを有効／無効にするためのカラム、ドメイン重みのカラム、ドメイン名（たとえば天気、日時、タイマ、カレンダー等）のカラム、および（ドメインが何を行うかを記述している）ドメイン記述のカラムを有する１行として表わしている。スクロールバーを用いてドメインのリストを上下にスクロールすることができる。
【００６５】
有効カラム内のユーザインターフェイスコントロール（たとえばチェックボックス）をトグルすることによって、ドメインを有効／無効にすることができる。インタープリタ２０は、有効にされるドメイン内の表現を解釈し得る。インタープリタ２０は、無効にされるドメイン内の表現を解釈しない。ドメインを無効にすることによって計算リソースを保存し、より高価なドメインと関連付けられたコストを回避し、ユーザを所望のアクション（たとえば購入）から遠ざけ得る情報と関連付けられたドメインへのアクセスを回避し、ユーザ体験を劣化させ得る不適切な応答の生成を防止することができる。
【００６６】
重みカラム内のテキスト欄に重みを入力することができる。ＧＵＩ構成画面８１によって、重みをドメインごとに、または有効なドメインのみに入力することができる。重みは、乗法リスコアリングに適切な浮動小数点数、乗法リスコアリングに適切な整数、値をリスコアリングための指数を表わす整数、「低」、「中」および「高」などのテキストベースの記述であってもよいし、さまざまなその他の適切な方法で表わされてもよい。ＧＵＩ構成画面８１では、重みは０．１から９．９の値で表現されている。リスコアリングは、第１のスコアに重みを掛けて第２のスコアを計算することを含み得る。第１のスコアは、重みがドメインごとにシステムに適切なプリファレンスを与えるように正規化され得る。
【００６７】
図示されるように、ＧＵＩ構成画面８１は、ナビゲーションおよび音楽ドメインには高い重みを示すが、ウィキペディアドメインには低い重みを示す。示される重みの構成は、ナビゲーションシステムおよび無線機を有する自動車クライアントに適している場合がある。多岐にわたる一般知識を提供するウィキペディアは、自動車が提供すべきであるが、ほとんどの乗員は頻繁には使用しないために低い重みを有するドメインである。
【００６８】
ドメインランク
潜在的に曖昧なユーザの問合せに対してクライアントが適切に応答する尤度を改良する別のアプローチは、ドメインをランク付けすることである。ドメインランク付けはドメイン重みとは別々に用いられてもよいし、ドメイン重みとともに用いられてもよい。ドメイン重みおよびドメインランクは、自然言語表現と関連付けられたドメイン優先順位を示す補足的な方法である。
【００６９】
図９は、マルチドメイン自然言語理解（ＮＬＵ）解釈サーバ１３のさらに付加的なより詳細な図を示す。図示されるように、自然言語理解モジュール７０は、表現９４とランク９６とを含む表現パッケージ９３を受信する。マルチドメイン自然言語理解（ＮＬＵ）解釈サーバ１３は、クライアントデバイスから、たとえば、スマートスピーカ１２、携帯電話１４、または自動車１５のいずれかから、表現パッケージ９３を受信し得る。マルチドメイン自然言語理解（ＮＬＵ）解釈サーバ１３は、表現９４を自然言語理解モジュール７０に転送し、ランク９６をドメイン選択器７２に転送する。
【００７０】
図示されるように、自然言語理解モジュール７０は表現９４を受信する。表現９４に基づいて、自然言語理解モジュール７０は、表現９４の解釈１−Ｎ（図示せず）と、対応するスコア９７  １−Ｎとを、ドメイン２１についてそれぞれ生成し得る。スコア９７  １−Ｎは、（たとえばドメインランクが別々に用いられる場合は）第１のスコアであってもよいし、（たとえばドメインランクがドメイン重みと組合せて用いられる場合は）第２のスコアであってもよい。自然言語理解モジュール７０は、スコア９７  １−Ｎをドメイン選択器７２に送信し得る。自然言語理解モジュール７０は、解釈１−Ｎ（図示せず）を意図生成モジュール７３に送信し得る。
【００７１】
ドメイン選択器７２は、自然言語理解モジュール７０からスコア９７  １−Ｎを受信し得る。ドメイン選択器７２は、ランク９６をスコア９７  １−Ｎに適用し得る。ランク９６に基づいて、ドメイン選択器７２は、表現９４と適切に整列したドメインとしてドメイン２１Ｃを選択し得る。ドメイン選択器７２は、ドメイン２１Ｃを意図生成モジュール７３に対して指示し得る。意図生成モジュール７３は、ドメイン選択器７２からドメイン２１Ｃの指示を受信し得、自然言語理解モジュール７０から解釈を受信し得る。意図生成モジュール７３は意図を判定し得、応答計算モジュール７４は当該意図を用いて表現９４に対する応答を生成し得る。
【００７２】
ある局面では、ドメインランクは表現パッケージ内のメタデータとして搬送される。その他の局面では、ドメインランクは、たとえば永続的な記憶装置に格納される。これらその他の局面では、メタデータとして搬送されるドメインランクを用いて、格納されたランクをオーバーライドする、当該ランクにバイアスを与える、または当該ランクに再び重み付けすることができる。
【００７３】
したがって、クライアントは、ドメインランクを表現とともにＮＬＵ解釈サーバに送信し得る。たとえば、以下のドメインランキング
“ドメインランク”：［“映画”，“音楽”，“地図”］
が、音楽ドメインよりも映画ドメインを優遇するように、かつ地図ドメインよりも映画ドメインおよび音楽ドメインを優遇するように、表現とともに送信され得る。
【００７４】
ある実施形態では、ＮＬＵ解釈サーバは、ある表現についての多数のドメインの各々についてブール値を計算する。ドメインごとに、この値はドメインが表現を解釈可能か否かを表わす。多数のドメインが表現を解釈可能な場合は、ＮＬＵ解釈サーバは、ドメインランクリストに最も早く現われるドメインを選択し得る。上記の例では、音楽または地図との競争では映画ドメインが選択され、地図との競争では音楽が選択される。
【００７５】
その他の実施形態では、ＮＬＵ解釈サーバは、ある表現についての多数のドメインの各々についてスコアを計算する。ドメインごとに、このスコアは表現がドメインに適切である可能性を表わす。表現は、ドメインについてのスコアがスコア閾値よりも高い場合は、当該ドメインについて適切であると示され得る。多数のドメインが閾値よりも高いスコアを有する場合は、ＮＬＵ解釈サーバは、ドメインランクリストに最も早く現われるドメインを選択し得る。
【００７６】
異なるドメインは異なるスコア閾値を有し得る。たとえば、以下のドメインランキング
“ドメインランク”：［“映画”：０．５，“音楽”：０．７５，“地図”：０．６］
が表現とともに送信され得る。このドメインランキングは、映画についての閾値０．５、音楽についての閾値０．７５、および地図についての閾値０．６を規定している。したがって、映画ドメインについてのスコアは０．５よりも大きい必要があり、音楽ドメインについてのスコアは０．７５よりも大きい必要があり、地図ドメインについてのスコアは０．６よりも大きい必要がある。
【００７７】
ドメインランクを指定することは任意である。存在しない場合は、ドメイン選択は解釈スコアに基づき得る。ある実施形態では、ドメインランクリストは有効なドメインの包括的なリストでなくてもよい。ドメインランクリスト内に指定されていないドメインの有効ランクは、リスト上の最低ランクのドメインよりも下である。
【００７８】
クライアントデバイスは、コンテキストに基づいてドメインランクリストの順序を指定し得る。たとえば、携帯電話などのクライアントデバイスは多数のアプリケーションを含み得る。クライアントデバイスがフォアグラウンドで地図アプリケーションを実行中である場合は、ドメインランクは地図ドメインを優先するように変更され得る。たとえば、地図アプリケーションが携帯電話のフォアグラウンドにある場合は、以下のドメインランキング
“ドメインランク”：［“地図”，“映画”，“音楽”］
が用いられ得る。
【００７９】
その他のドメイン指標
ある局面では、ドメインランクは、複数のドメインを表わす指標、たとえば予備の「その他」と名付けられた指標を有し得る。ある実施形態では、「その他」ドメインの表示は、ドメインランクリスト内に名付けられていないいずれかのドメインを表わす。対象のドメインが表現を解釈可能である場合は、「その他」ドメインは対象のドメインの優先度を非常に高くするのに有用である。たとえば、以下のドメインランキング
“ドメインランク”：［“車制御”，“その他”］
は、車制御ドメインの優先度を非常に高くして、「車」という語を用いる任意の表現についての解釈を提供する。
【００８０】
しかし、ユーザが異なるドメインに潜在的に曖昧な表現を解釈させることを意図している場合は、ドメインランクリストのこのような構成によってユーザが不満を感じてしまう場合もある。たとえば、車制御ドメインは、「車」という名前のバンドの音楽を再生する要求を満たせない場合がある。このようなアプローチは、解釈の範囲が比較的限られたドメインを好むのに適している場合がある。ドメインランクをドメインごとのスコア閾値で示すことによって、この限定をさらに緩和することができる。このような実施形態では、車制御ドメイン閾値には高いスコア閾値が与えられ、「その他」には低いスコア閾値が与えられることになる。したがって、ユーザが意図された「その他」ドメインについての表現を明示的に述べた場合、他のドメインがユーザ表現について選択される可能性が増加する。
【００８１】
「その他」ドメインの表示は、デフォルトである一定のドメインを提供するのにも有用であり得る。たとえば、以下のドメインランキング
“ドメインランク”：［“その他”，“ウェブ”］
は、選択すべき表現を解釈可能な任意のドメインを優先させるが、表現を解釈できる他のドメインがない場合は、ウェブドメインがデフォルトで選択される。スコア閾値を「その他」ドメインに用いることもできる。スコア閾値は、ドメインランクリスト内に明示的に列挙されていないドメインに適用される。
【００８２】
１：１  ドメイン比較規則
局面は、ドメインランクのペア、または相対的なドメインランクの多数のリストの別々の表現を可能にする。これは、たとえば、ドメインＡはドメインＣよりも優遇され、ドメインＢはドメインＣよりも優遇されるが、ＡまたはＢは互いに優遇されない合に有用である。このようなシナリオでは、順序付けられたリストによって、ドメインＡとＢとの間に誤ったランキングのプリファレンスが作成されることになる。
【００８３】
クライアントが格納する重み
ある局面では、クライアントが重みをアレイ内に格納し、当該アレイのコンテンツをドメイン重みメタデータ（たとえば重み４１）として表現（たとえば表現２９）とともに送信する。イベントが検出されると、アレイ値が更新され得る。イベントは、プロセッサ内の解釈サービスルーチンの実行によって、またはポーリングルーチンによって検出され得る。重み更新は、場合によっては、ブール条件の状態に基づいた２つの値同士の切換えである。更新された重みは、場合によっては、測定値のいずれかの関数の整数または浮動小数点出力の結果である。
【００８４】
たとえば、自動車において、ワイパーがオンに切換えられた場合は、天気ドメイン重みが増加する。ユーザは、雨が降っていないときと比べて雨が降っているときには天気関連の表現を行う可能性が高いためである。自動車において、ナビゲーションドメイン重みは、ナビゲーションシステムが運転者に指示を与えた直後は高く設定され、その後は数秒の期間にわたって定常値まで徐々に減少する。ユーザは、ナビゲーションシステムが指示を与えた直後はナビゲーション関連の表現を行う可能性が高いためである。
【００８５】
別の例として、装置は、開くまたは閉じることができる音楽関連のアプリを含み得る。音楽アプリを開くイベントが起こると、音楽ドメイン重みが増加する。一方、音楽アプリを閉じるイベントが起こると、音楽ドメイン重みは（たとえばデフォルト値まで）減少する。
【００８６】
物理的な実施形態
さまざまな実施形態は、非一時的コンピュータ可読媒体、サーバ、システムオンチップ（ＳｏＣ）半導体装置によって制御される埋込み型のモノのインターネット（ＩｏＴ）クライアントデバイス、ならびに上述の種類の実施形態のいずれかの動作または使用の方法である。図１０Ａは、例示的な回転磁気ディスク非一時的コンピュータ可読媒体１０１を示す。回転光ディスクおよびその他の機械的移動記憶媒体が可能である。図１０Ｂは、例示的な（たとえばフラッシュ）ランダムアクセスメモリ（ＲＡＭ）チップ非一時的コンピュータ可読媒体１０２を示す。リードまたは半田ボールでパッケージ化されたその他の非移動記憶媒体が可能である。非一時的コンピュータ可読媒体のさまざまな実施形態は、１つ以上のコンピュータプロセッサによって実行されると当該１つ以上のコンピュータプロセッサに上述の方法の実施形態を実行させる命令を含むコンピュータコードを格納している。ある実施形態はコンピュータプログラムである。ある実施形態は、互いに関連して働く多数の記憶媒体を含む。
【００８７】
図１１Ａは、パッケージ化されたＳｏＣ１１０の半田ボール側を示す。さまざまなパッケージ形状およびサイズがさまざまなチップ実装例に可能である。多くの埋込み型システムおよびＩｏＴ装置がクライアントとして機能し、ＳｏＣ装置によって制御される。図１１Ｂは、ＳｏＣ１１１の例示的なアーキテクチャを示す。図示されるように、ＳｏＣ１１１は、マルチコアコンピュータプロセッサ（ＣＰＵ）１１２、マルチコアグラフィックスプロセッサ（ＧＰＵ）１１３、ディスプレイインターフェイス１１７、Ｉ／Ｏインターフェイス１１８、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）インターフェイス１１５、フラッシュインターフェイス１１６、およびネットワークインターフェイス１１９を含む。これらのコンポーネントはネットワークオンチップ１１４上で互いに通信する。
【００８８】
マルチコアコンピュータプロセッサ（ＣＰＵ）１１２およびマルチコアグラフィックスプロセッサ（ＧＰＵ）コア１１３は、ＤＲＡＭインターフェイス１１５を介して、揮発性プログラムおよびデータ記憶のための外部ＤＲＡＭチップに接続し得る。マルチコアコンピュータプロセッサ（ＣＰＵ）１１２およびマルチコアグラフィックスプロセッサ（ＧＰＵ）１１３はさらにフラッシュインターフェイス１１６を用いて、コンピュータプログラム記憶のための外部の不揮発性フラッシュＲＡＭ非一時的コンピュータ可読媒体に接続し得る。ディスプレイインターフェイス１１７はＧＵＩを表示するためのディスプレイを提供し得、入出力（Ｉ／Ｏ）インターフェイス１１８は、異なるクライアントデバイスについて必要に応じてさまざまなＩ／Ｏインターフェイス装置への接続能力を提供し得る。クライアントデバイスは、ユニバーサルシリアルバス（ＵＳＢ）周辺装置、Ｂｌｕｅｔｏｏｔｈ（登録商標）周辺装置、タッチスクリーン、マイク用のオーディオアナログ−デジタル変換器、スピーカを駆動するための電力増幅器装置、グローバルナビゲーションシステム受信機インターフェイス、発光ダイオード（ＬＥＤ）ドライバ、およびその他のセンサへのインターフェイスを含み得る。ネットワークインターフェイス１１９は、ＷｉＦｉ、３Ｇ、４Ｇロングタームエボリューション（ＬＴＥ）、５Ｇ、およびその他の無線インターフェイス標準無線機およびイーサネット（登録商標）接続ハードウェアへのアクセスを提供し得る。
【００８９】
図１２Ａはラックベース型サーバ１２０の例を示す。ラックベース型サーバ１２０はサーバブレードのアレイを含み得る。サーバブレードの各々はネットワーク（たとえばインターネット）に接続される。サーバブレードは、ＣＰＵおよびＧＰＵプロセッサチップ、ＲＡＭチップ、ならびにネットワークインターフェイスチップを含み得る。図１２Ｂは例示的なサーバ１２１のアーキテクチャを示す。サーバ１２１は、マルチコアＣＰＵチップ１２２およびマルチコアＧＰＵチップ１２３を含む。これらのチップは、配線１２４を介して、揮発性プログラムおよびデータ記憶のためのＤＲＡＭチップ１２５と通信し、ローカルおよびインターネットネットワークと通信するためのネットワークインターフェイスチップ１２６と通信する。
【００９０】
一般に、記載されるコンポーネントは、たとえば、パーソナルエリアネットワーク（ＰＡＮ）、ローカルエリアネットワーク（ＬＡＮ）、ワイドエリアネットワーク（ＷＡＮ）およびさらにはインターネットなどのネットワーク上で互いに接続され（または当該ネットワークの一部であり）得る。したがって、記載されるコンポーネントならびにその他の接続されるコンピュータシステムおよびそれらのコンポーネントは、メッセージ関連のデータを生成し、ネットワーク上でメッセージ関連のデータ（たとえば、近距離通信（ＮＦＣ）ペイロード、Ｂｌｕｅｔｏｏｔｈパケット、インターネットプロトコル（ＩＰ）データグラム、および、送信制御プロトコル（ＴＣＰ）、ハイパーテキスト転送プロトコル（ＨＴＴＰ）、シンプルメール転送プロトコル（ＳＭＴＰ）等のＩＰデータグラムを利用するその他のより上位層プロトコル）をやり取りすることができる。
【００９１】
記載される装置、サーバ、コンポーネント、スピーカ、電話、自動車、インタープリタ、セレクタ、モジュール、選択器等のいずれも、図１０Ａ〜図１２Ｂに記載されたハードウェアコンポーネント上で実現可能である。
【００９２】
上記の説明は例示および説明目的で提示された。この説明は網羅的であること、または本発明を開示されたままの形態に限定することを意図していない。上記の教示に鑑みて多くの修正および変更が可能である。さらに、上述の代替の実施形態のいずれかまたはすべてをいずれかの所望の組合せで用いて本発明の付加的な混成の実施形態を形成してもよいことに留意すべきである。
【００９３】
さらに、本発明の具体的な実施形態が記載および図示されたが、本発明はこのように記載および図示された部分の具体的な形態または構成に限定されるものではない。本発明の範囲は、ここに添付される特許請求の範囲、ここに提出されるおよび異なる出願におけるいずれかの将来の特許請求の範囲、ならびにそれらの均等物によって規定されるものとする。
【図１】
2019185741.tif 000003
【図２】
2019185741.tif 000004
【図３】
2019185741.tif 000005
【図４Ａ】
2019185741.tif 000006
【図４Ｂ】
2019185741.tif 000007
【図５Ａ】
2019185741.tif 000008
【図５Ｂ】
2019185741.tif 000009
【図６】
2019185741.tif 000010
【図７】
2019185741.tif 000011
【図８】
2019185741.tif 000012
【図９】
2019185741.tif 000013
【図１０Ａ】
2019185741.tif 000014
【図１０Ｂ】
2019185741.tif 000015
【図１１Ａ】
2019185741.tif 000016
【図１１Ｂ】
2019185741.tif 000017
【図１２Ａ】
2019185741.tif 000018
【図１２Ｂ】
2019185741.tif 000019
【外国語明細書】
2019185741000001.pdf