(57)【要約】【課題】分類の精度および有用性を改善する。【解決手段】仮想アシスタントは、ドメインプロバイダによって作成された文法規則に従って自然言語表現を処理する。仮想アシスタントは、複数のユーザの各々を一意的に識別し、各ユーザからの自然言語表現によって埋められた文法スロットの値を記憶する。仮想アシスタントは、スロット値の履歴を記憶し、履歴から統計値を計算する。仮想アシスタントプロバイダまたは分類クライアントは、ユーザの属性値をラベルとして機械学習分類アルゴリズムに提供する。アルゴリズムは、文法スロット値およびラベルを処理することによって、ユーザの未知属性値の確率分布を計算する。ユーザおよびドメイン文法のネットワーク効果によって、仮想アシスタントが有用になり、より多くのデータを提供し、分類の精度および有用性を改善する。【選択図】図３
2019046459.tif 000002
【特許請求の範囲】
【請求項１】
文法に従って、識別されたユーザからの自然言語表現を構文解析することによって、文法スロットの値を決定するステップと、
文法スロットの、複数の前記ユーザの各々に関連する値を格納するステップと、
属性ラベルの、複数の前記ユーザの各々に関連するクラス値を格納するステップと、
前記複数のユーザに関連する前記スロット値および前記クラス値に基づいて、前記属性ラベルを有する特定のユーザの分類を計算するステップと、
分類要求に応答して、前記分類を分類クライアントに提供し、クレジット数から増分を減算するステップとを含む、方法。
【請求項２】
ウェブＡＰＩインターフェイスを介して、分類要求が受信され、分類が提供される、請求項１に記載の方法。
【請求項３】
前記分類を計算するステップは、前記分類要求の前に実行される、請求項１または２に記載の方法。
【請求項４】
前記分類を計算するステップは、前記分類要求に応答して実行される、請求項１または２に記載の方法。
【請求項５】
前記分類は、確率を含む、請求項１〜４のいずれか１項に記載の方法。
【請求項６】
前記分類は、複数のクラスの各々の確率を含む、請求項１〜５のいずれか１項に記載の方法。
【請求項７】
前記クレジット数を増やすように前記分類クライアントに命令するステップをさらに含む、請求項１〜６のいずれか１項に記載の方法。
【請求項８】
前記文法は、ドメインプロバイダによって提供される、請求項１〜７のいずれか１項に記載の方法。
【請求項９】
各分類要求に応じて、クレジット累算器を増分するステップと、
前記クレジット累算器の値に比例して、前記ドメインプロバイダに報酬を支払うステップとをさらに含む、請求項８に記載の方法。
【請求項１０】
第２のドメインプロバイダによって提供された第２の文法に従って、前記自然言語表現を構文解析することによって、第２の文法スロットの値を決定するステップと、
前記分類要求に応答して、第２の増分を第２のクレジット累算器に加算するステップと、
前記第２のクレジット累算器の値に比例して、前記第２のドメインプロバイダに報酬を支払うステップとをさらに含む、請求項９に記載の方法。
【請求項１１】
前記特定のユーザの前記スロットの履歴値を格納するステップをさらに含む、請求項１〜１０のいずれか１項に記載の方法。
【請求項１２】
前記履歴値に関連するタイムスタンプを格納するステップをさらに含む、請求項１１に記載の方法。
【請求項１３】
コードを含むコンピュータプログラムであって、コンピュータシステムによって実行されると、前記コンピュータシステムに、
文法に従って、識別されたユーザからの自然言語表現を構文解析することによって、文法スロットの値を決定するステップと、
文法スロットの、複数の前記ユーザの各々に関連する値を格納するステップと、
属性ラベルの、複数の前記ユーザの各々に関連するクラス値を格納するステップと、
前記複数のユーザに関連する前記スロット値および前記クラス値に基づいて、前記属性ラベルを有する特定のユーザの分類を計算するステップと、
前記分類に対する要求に応答して、分類クライアントに前記分類を提供し、クレジット数から増分を減算するステップとを実行させる、コンピュータプログラム。
【請求項１４】
ウェブＡＰＩインターフェイスを介して、分類要求が受信され、分類が提供される、請求項１３に記載のコンピュータプログラム。
【請求項１５】
前記分類を計算するステップは、前記分類要求の前に実行される、請求項１３または１４に記載のコンピュータプログラム。
【請求項１６】
前記分類を計算するステップは、前記分類要求に応答して実行される、請求項１３または１４に記載のコンピュータプログラム。
【請求項１７】
前記分類は、確率を含む、請求項１３〜１６のいずれか１項に記載のコンピュータプログラム。
【請求項１８】
前記分類は、複数のクラスの各々の確率を含む、請求項１３〜１７のいずれか１項に記載のコンピュータプログラム。
【請求項１９】
前記コードはさらに、前記コンピュータシステムに、前記クレジット数を増やすように前記分類クライアントに命令するステップを実行させる、請求項１３〜１８のいずれか１項に記載のコンピュータプログラム。
【請求項２０】
前記文法は、ドメインプロバイダによって提供される、請求項１３〜１９のいずれか１項に記載のコンピュータプログラム。
【請求項２１】
前記コードはさらに、前記コンピュータシステムに、
各分類要求に応じてクレジット累算器を増分するステップと、
前記クレジット累算器の値に比例して、ドメインプロバイダに報酬を支払うステップとを実行させる、請求項２０に記載のコンピュータプログラム。
【請求項２２】
前記コードはさらに、前記コンピュータシステムに、
第２のドメインプロバイダによって提供された第２の文法に従って、前記自然言語表現を構文解析することによって、第２の文法スロットの値を決定するステップと、
前記分類要求に応答して、第２の増分を第２のクレジット累算器に加算するステップと、
前記第２のクレジット累算器の値に比例して、前記第２のドメインプロバイダに報酬を支払うステップとを実行させる、請求項２１に記載のコンピュータプログラム。
【請求項２３】
前記コンピュータシステムに、前記特定のユーザの前記スロットの履歴値を格納するステップをさらに実行させる、請求項１３〜２２のいずれか１項に記載のコンピュータプログラム。
【請求項２４】
前記コンピュータシステムに、前記履歴値に関連するタイムスタンプを格納するステップをさらに実行させる、請求項１３〜２３のいずれか１項に記載のコンピュータプログラム。
【請求項２５】
文法に従って、識別されたユーザからの自然言語表現を構文解析することによって、文法スロットの値を決定するステップと、
文法スロットの、複数の前記ユーザの各々に関連する値を格納するステップと、
前記複数のユーザに関連する前記スロット値およびクラス値に基づいて、分類アルゴリズムから特定のユーザのドメイン確率分布を計算するステップと、
特定の自然言語表現を構文解析することによって、複数の解釈スコアおよび選択されるドメインを生成するステップと、
前記ドメイン確率を重みとして解釈スコアに適用することによって、ドメインを選択するステップとを含む、方法。
【請求項２６】
前記ドメイン確率分布を計算するステップは、前記特定の自然言語表現を構文解析する前に実行される、請求項２５に記載の方法。
【請求項２７】
前記ドメイン確率分布を計算するステップは、前記特定の自然言語表現を構文解析することに応答して実行される、請求項２５に記載の方法。
【請求項２８】
前記特定のユーザの前記スロットの履歴値を格納するステップをさらに含む、請求項２５〜２７のいずれか１項に記載の方法。
【請求項２９】
前記履歴値に関連するタイムスタンプを格納するステップをさらに含む、請求項２８に記載の方法。
【請求項３０】
コードを含むコンピュータプログラムであって、コンピュータシステムによって実行されると、前記コンピュータシステムに、
文法スロットの、複数の前記ユーザの各々に関連する値を格納するステップと、
前記複数のユーザに関連する前記スロット値およびクラス値に基づいて、分類アルゴリズムから、特定のユーザのドメイン確率分布を計算するステップと、
特定の自然言語表現を構文解析することによって、複数の解釈スコアおよび選択されるドメインを生成するステップと、
前記ドメイン確率を重みとして解釈スコアに適用することによって、ドメインを選択するステップとを実行させる、コンピュータプログラム。
【請求項３１】
前記ドメイン確率分布を計算するステップは、前記特定の自然言語表現を構文解析する前に実行される、請求項３０に記載のコンピュータプログラム。
【請求項３２】
前記ドメイン確率分布を計算するステップは、前記特定の自然言語表現を構文解析することに応答して実行される、請求項３０に記載のコンピュータプログラム。
【請求項３３】
前記コードはさらに、前記コンピュータシステムに、前記特定のユーザの前記スロットの履歴値を格納するステップを実行させる、請求項３０〜３２のいずれか１項に記載のコンピュータプログラム。
【請求項３４】
前記コードはさらに、前記コンピュータシステムに、前記履歴値に関連するタイムスタンプを格納するステップを実行させる、請求項３０〜３３のいずれか１項に記載のコンピュータプログラム。
【請求項３５】
広告を選択する方法であって、
ユーザＩＤを含む分類要求を仮想アシスタントプロバイダのウェブＡＰＩに送信するステップと、
前記ウェブＡＰＩから、前記ユーザＩＤに対応する分類を受信するステップと、
少なくとも部分的に前記分類に応じて、複数の広告のうちの１つを選択するステップと、
前記仮想アシスタントプロバイダからＡＰＩクレジットを要求するステップとを含む、方法。
【請求項３６】
興味のある特性でラベル付けた複数のユーザのユーザＩＤデータを前記仮想アシスタントプロバイダに提供するステップをさらに含む、請求項３５に記載の方法。
【請求項３７】
分類に使用される文法スロットのサブセットを選択するステップをさらに含む、請求項３５または３６に記載の方法。
【請求項３８】
複数の文法スロットのサブセットに対する分類要求を検査するステップをさらに含む、請求項３５に記載の方法。
【請求項３９】
コードを含むコンピュータプログラムであって、コンピュータシステムによって実行されると、前記コンピュータシステムに、
ユーザＩＤを含む分類要求を仮想アシスタントプロバイダのウェブＡＰＩに送信するステップと、
前記ウェブＡＰＩから、前記ユーザＩＤに対応する分類を受信するステップと、
少なくとも部分的に前記分類に応じて、複数の広告のうちの１つを選択するステップと、
前記仮想アシスタントプロバイダからＡＰＩクレジットを要求するステップとを実行させる、コンピュータプログラム。
【請求項４０】
前記コードはさらに、前記コンピュータシステムに、興味のある特性でラベル付けた複数のユーザのユーザＩＤデータを前記仮想アシスタントプロバイダに提供するステップを実行させる、請求項３９に記載のコンピュータプログラム。
【請求項４１】
前記コードはさらに、前記コンピュータシステムに、分類に使用される文法スロットのサブセットを選択するステップを実行させる、請求項３９または４０に記載のコンピュータプログラム。
【請求項４２】
前記コードはさらに、前記コンピュータシステムに、複数の文法スロットのサブセットに対する分類要求を検査するステップを実行させる、請求項３９〜４１のいずれか１項に記載のコンピュータプログラム。
【請求項４３】
方法であって、
ドメインプロバイダによって作成された自然言語文法のスロットに対してユーザが表現した値のベクトルに基づいて、識別されたユーザを分類するステップと、
前記分類の実行に応じて、前記ドメインプロバイダに報酬を支払うステップとを含み、
前記分類は、複数の他のユーザの各々のスロットベクトル上で訓練され、
前記ベクトルは、興味のあるクラスに分類される、方法。
【請求項４４】
前記分類は、分類クライアントからのＡＰＩ要求に応じて実行される、請求項４３に記載の方法。
【請求項４５】
前記分類は、分類クライアントからの要求に応じて実行され、
前記方法は、前記分類に応じて、前記分類クライアントのＡＰＩクレジットを減算するステップをさらに含む、請求項４３に記載の方法。
【請求項４６】
コードを含むコンピュータプログラムであって、コンピュータシステムによって実行されると、前記コンピュータシステムに、
ドメインプロバイダによって作成された自然言語文法のスロットに対してユーザが表現した値のベクトルに基づいて、識別されたユーザを分類するステップと、
前記分類の実行に応答して、前記ドメインプロバイダに報酬を支払うステップとを実行させ、
前記分類は、複数の他のユーザの各々のスロットベクトル上で訓練され、
前記ベクトルは、興味のあるクラスでラベル付けられる、コンピュータプログラム。
【請求項４７】
前記分類は、分類クライアントからのＡＰＩ要求に応じて実行される、請求項４６に記載のコンピュータプログラム。
【請求項４８】
前記コードはさらに、前記コンピュータシステムに、前記分類に応じて、前記分類クライアントのＡＰＩクレジットを減算するステップを実行させる、請求項４６または４７に記載のコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
発明の分野
本発明は、機械学習の分野に属し、特に、ユーザが自然言語を理解するシステムに対して話したことに基づいてユーザを分類する分野に属する。
【背景技術】
【０００２】
背景
ドメインと文法
SoundHound Hound（登録商標）、Okay Google（登録商標）、Amazon Alexa（登録商標）、Baidu Duer（登録商標）、Apple Siri（登録商標）、Line Clova（登録商標）、Microsoft Cortana（登録商標）、KT Giga Genie（登録商標）、SK Telecom NUGU（登録商標）などの仮想アシスタントを使用するユーザが増えている。これらのシステムは、天気、ニュース、豆知識、レストラン、数学、ウィキペディア（Wikipedia）などの様々なドメインの知識を有する。また、これらのシステムは、サーモスタット、照明制御、音楽演奏、ＳＭＳテキスティング、およびカレンダー予約のような様々なドメインの機能を有する。一部の仮想アシスタントは、各々の会社が利用可能なドメインを制御できるため、クローズドシステムである。これによって、友好的なユーザ体験を確保することができる。また、一部の仮想アシスタントは、第三者がドメインを作成できるため、オープンシステムである。
【０００３】
一部のシステムは、数千の第三者ドメインプロバイダを含む。その多くは、中小企業または個人のプログラマーである。多くのドメインは、特定の情報または動的情報を利用するもしくは要求した動作を実行するために、ウェブアプリケーションプログラミングインターフェイス（ＡＰＩ）にアクセスする。たとえば、一部の天気ドメインは、天気予報情報を取得するために、国立気象局のＡＰＩにアクセスする。
【０００４】
多くのＡＰＩは、要求者ＩＤ（requester ID）の提供を要求し、ＡＰＩプロバイダは、各要求者ＩＤに割り当てられたクレジット数（信用度）を保存する。ＡＰＩに対する各々の要求は、一定量のクレジットを消費する。これらのＡＰＩは、各要求者のクレジットを追跡し、各要求者を特定のクレジット数に制限する。一部のＡＰＩは、毎日に一定数のクレジットを提供する。場合によって、要求者は、クレジットを購入することができる。
【０００５】
多くの仮想アシスタントシステムは、クライアント−サーバアーキテクチャを使用する。このクライアント−サーバアーキテクチャにおいて、クライアント装置がユーザインターフェイスを提供し、サーバが高性能の処理および大量データの利用を提供する。様々なシステムは、電話、車、ロボット、ショッピングキオスクおよび電気製品などのネットワーク接続装置から、音声または他の自然言語表現を受け取る。
【０００６】
ドメインの知識および機能に対するユーザアクセスを容易にするために、各ドメインは、文法を含む。文法は、単語および熟語の集合であり、自然言語処理システムは、文法を用いて、ドメインに提供されたユーザ表現を構文解析する。文法は、文法スロット上で動作する文法規則を有し、システムは、表現から得られた情報を用いて文法スロットを埋める。
【０００７】
例えば、天気予報を提供するための文法は、＜位置＞スロット（<location>）および＜時間＞スロット（<time>）を有する。ユーザが「明日、Timbuktuの天気は如何ですか」と質問する場合、システムは、＜位置＞スロットに値「Timbuctoo」を入れ、＜時間＞スロットに値「明日」を入れる。ユーザが「少なくとも４つ星の最も近いフランスレストランはどこですか」と質問する場合、システムは、レストランドメインの文法を用いて、＜料理種類＞スロット（<food style>）に値「フランス」を入れ、＜星評価＞スロット（<star rating>）に値「少なくとも４つ」を入れる。ユーザが「あなたを愛しているというメッセージをお母さんに送信してください」と言う場合、システムは、ＳＭＳテキスティングドメインの文法スロットを用いて、＜受信者＞スロット（<recipient>）に「お母さん」を入れ、＜メッセージ＞スロット（<message>）に「あなたを愛している」を入れる。ユーザが「猫はいくつの爪を持っていますか」と質問する場合、システムは、動物ドメイン文法を用いて、＜種＞スロット（<species>）に値「猫」を入れ、＜属性＞スロット（<attribute>）に「爪」を入れ、＜問題＞スロット（<question>）に「いくつ」を入れる。一部のシステムは、ユーザ表現の履歴を保存する。
【０００８】
一般的に、仮想アシスタントは、より多くのドメインを持つと、より多くのユーザに好かれる。仮想アシスタントがより多くのユーザに好かれると、ドメインプロバイダがドメインを作成および改善する意欲がより強くなる。
【０００９】
分類
分類は、教師あり機械学習アルゴリズムの有用なタイプである。教師あり機械学習アルゴリズムは、既知であり且つラベル付けられているクラス要素の値を含む訓練データセットに基づいて、未知値が属するクラスセットの確率を計算する。分類の結果は、確率分布である。しかしながら、一部のアルゴリズムは、最確値のみを出力する。例えば、フォルクスワーゲン（登録商標）またはフェラーリ（登録商標）などのブランドでラベル付けされ、且つ赤色または銀色などの色でラベル付けられた各々の車を含む大きなデータセットを例とする。見たことの無いフェラーリに対して、分類アルゴリズムは、その車が赤色である確率およびその車が銀色である確率を計算することができる。見たことの無い赤色車に対して、分類アルゴリズムは、その車がフェラーリである確率およびその車がフォルクスワーゲンである確率を計算することができる。
【００１０】
人の分類は、多くの目的のために有用である。広告は、その一例である。例えば、男性と女性とは、一部の広告に対して異なる関心レベルで反応する。人の名前および性別を含む大きなデータセットが与えられる場合、システムは、新しいユーザの名前を分かると、そのユーザが男性であるまたは女性である確率を計算することができる。その結果、システムは、関心レベル最も高いの広告を選択して表示することができる。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】米国特許出願公開第２０１６／０１３２７７３号明細書
【非特許文献】
【００１２】
【非特許文献１】JIANBO YUAN, et al., Solving Cold-Start Problem in Large-scale Recommendation Engines: A Deep Learning Approach, IEEE International Conference on Big Data, 16 Nov 2016 arXiv:1611.05480v1 [cs.IR] 16 Nov 2016.
【非特許文献２】SANDER DIELMAN, Recommending music on Spotify with deep learning, blog post, http://benanne.github.io/2014/08/05/spotify-cnns.html, August 05, 2014.
【非特許文献３】XIAOXUE ZHAO, Cold-Start Collaborative Filtering, PhD dissertation, University College London, 18 January 2016.
【非特許文献４】ALES TAVCAR, et al., Recommender System for Virtual Assistant Supported Museum Tours, Informatica 40 pages 279-284, 2016.
【非特許文献５】XIAOHU LIU, et al., Personalized Natural Language Understanding, Interspeech, July 22, 2016.
【非特許文献６】YUN-NUNG CHEN, et al., Unsupervised induction and filling of semantic slots for spoken dialogue systems using frame-semantic parsing, IEEE Workshop on Automatic Speech Recognition and Understanding (ASRU), pages 120-125, 11-2013.
【非特許文献７】DAVID BAMMAN, People-Centric Natural Language Processing, PhD Thesis, Carnegie Mellon University, School of Computer Science, Language Technologies Institute, 2015.
【非特許文献８】PASQUALE LOPS, et al., Improving Social Filtering Techniques Through WordNet-Based User Profiles, International Conference on User Modeling 2007, pp. 268-277, 2007.
【非特許文献９】MAARTEN SAP, et al., Developing Age and Gender Predictive Lexica over Social Media, Proceedings of the 2014 Conference on Empirical Methods in Natural Language Processing (EMNLP), pages 1146-1151, October 25-29, 2014, Doha, Qatar.
【非特許文献１０】JULIA HIRSCHBERG, et al., Advances in natural language processing, SCIENCE Magazine, 17 JULY 2015, Vol. 349, Issue 6245, page 261-266.
【発明の概要】
【課題を解決するための手段】
【００１３】
発明の概要
本開示は、機械学習アルゴリズムを適用することによって、文法スロットの値に基づいて仮想アシスタントのユーザを分類するためのシステムおよび方法ならびにコンピュータ可読媒体に関する。また、本開示は、高価値の分類を達成するために訓練データを提供することによって、クライアントの分類を行うためのシステム、方法およびコンピュータ可読媒体に関する。さらに、本開示は、分類を用いて、自然言語表現の解釈精度を改善するためのシステム、方法およびコンピュータ可読媒体に関する。
【図面の簡単な説明】
【００１４】
【図１】いくつかの実施形態に従って、情報の流れを示す図である。
【図２】いくつかの実施形態に従って、異なるＡＰＩにアクセスを提供するモジュール式ドメイン文法を有する仮想アシスタントを示す図である。
【図３】いくつかの実施形態に従って、ユーザＩＤに関連するスロット値を生成する仮想アシスタントを示す図である。
【図４】いくつかの実施形態に従って、文法スロット値を用いてユーザを分類するためのシステムを示す図である。
【図５】いくつかの実施形態に従って、分類サービスを示す図である。
【図６Ａ】いくつかの実施形態に従って、英語の文法規則を示す図である。
【図６Ｂ】いくつかの実施形態に従って、中国語の文法規則を示す図である。
【図７】いくつかの実施形態に従って、文法スロット値およびユーザ属性ラベルのデータベースを示す図である。
【図８Ａ】いくつかの実施形態に従って、英語の文法規則を示す図である。
【図８Ｂ】いくつかの実施形態に従って、中国語の文法規則を示す図である。
【図８Ｃ】いくつかの実施形態に従って、別の英語の文法規則を示す図である。
【図８Ｄ】いくつかの実施形態に従って、別の中国語の文法規則を示す図である。
【図９】いくつかの実施形態に従って、文法スロット値およびユーザ属性ラベルのデータベースを示す図である。
【図１０】いくつかの実施形態に従って、スロット値によるユーザ分類によって、自然言語を理解するドメインの選択を改善する仮想アシスタントを示す図である。
【図１１】いくつかの実施形態に従って、クラウドデータベースアーキテクチャを示す図である。
【図１２Ａ】いくつかの実施形態に従って、非一時的コンピュータ可読媒体であるディスクを示す図である。
【図１２Ｂ】いくつかの実施形態に従って、非一時的コンピュータ可読媒体であるメモリチップを示す図である。
【図１２Ｃ】いくつかの実施形態に従って、処理チップを示す図である。
【図１２Ｄ】いくつかの実施形態に従って、処理チップを示す図である。
【図１３Ａ】いくつかの実施形態に従って、サーバシステムを示す図である。
【図１３Ｂ】いくつかの実施形態に従って、サーバチップを示す図である。
【発明を実施するための形態】
【００１５】
詳細な説明
様々な企業は、仮想アシスタントプロバイダである。多くの物は、仮想アシスタントとして使用される。例えば、一部の仮想アシスタントは、携帯電話のアプリである。一部の仮想アシスタントは、室内の固定スピーカ装置である。一部の仮想アシスタントは、公衆自動販売機である。一部の仮想アシスタントは、自動車である。
【００１６】
一部の仮想アシスタントは、タイピングまたはジェスチャーを利用し、表示画面を有するインターフェイスを備える。一部の仮想アシスタントは、ユーザから取得した音声に対する音声認識を利用し、テキストを音声に変換するモジュールを介して音声を提供する音声インターフェイスを備える。一部の仮想アシスタントは、神経活動の検出および刺激などの他のインターフェイスを使用する。一部の仮想アシスタントは、複数モードのユーザインターフェイスを使用する。
【００１７】
図１は、いくつかの実施形態に従って、分類を行うことができる仮想アシスタントプロバイダ１１との間の情報の流れを高いレベルで示す図である。仮想アシスタントのユーザは、仮想アシスタントプロバイダ１１に表現を入れ、応答（言語、視覚、動作、または任意の組み合わせ）を得る。ドメインプロバイダは、文法を生成し、仮想アシスタントプロバイダ１１は、生成された文法を用いて、ユーザ表現を解釈する。図１には、ユーザ表現に応じて、仮想アシスタントによって呼び出すことができるデータソースまたは動作サービスへのアクセスを示していない。
【００１８】
さらに、仮想アシスタントプロバイダ１１は、分類を行うことができる。仮想アシスタントプロバイダは、分類クライアントから得られた、特定のユーザに関する情報の要求に応じて、分類情報を分類クライアントに提供する。いくつかの実施形態は、要求に応じて、リアルタイムでユーザの分類を行う。いくつかの実施形態は、ユーザ分類情報を計算して保存しており、分類要求に応答して結果を検索する。
【００１９】
仮想アシスタントプロバイダによるユーザ分類の利点は、分類クライアントにユーザの個人情報を与えることなく、特定のユーザに関する非常に価値のある分類情報を分類クライアントに提供することである。
【００２０】
文法に基づいた仮想アシスタント
いくつかの実施形態は、モジュール式ドメイン特有の文法を使用する。殆どの仮想アシスタントプロバイダは、自ら少なくともいくつかのドメイン文法を作成する。オープンシステムのプロバイダは、第三者ドメインプロバイダが有用な文法を作成することを許可する（およびそれに依存する）。一般的に、このような文法は、仮想アシスタントに指示して、文法が解釈できる表現に対して有用な方法で応答させる。一般的に、このような応答は、ウェブＡＰＩにアクセスして、望ましい情報を要求するまたは所望の動作を実行することである。
【００２１】
図２は、モジュール式仮想アシスタント２１の一実施形態を示す。仮想アシスタント２１は、ユーザ表現を受け取り、文法に従って、自然言語理解を用いてユーザ表現を解釈する。仮想アシスタント２１は、ウィキペディア（Wikipedia）から入手可能な情報を要求する表現を解釈するのに有用な文法規則を提供する文法２２を受け取る。仮想アシスタント２１は、文法２２に最も関連する表現を解釈すると、ウィキペディア２３にＡＰＩ要求を送信し、ユーザが要求した情報と共にＡＰＩ応答を受信する。次に、仮想アシスタント２１は、応答を作成してユーザに出力する。
【００２２】
また、図２の実施形態において、仮想アシスタント２１は、株式市場に関連する文法２４からの文法規則を使用する。文法２４に最も関連する表現があった場合、仮想アシスタント２１は、ＡＰＩ要求を株価データソース２５に送信する。データソース２５は、ＡＰＩ応答を提供し、仮想アシスタント２１は、このＡＰＩ応答をユーザ応答として提供する。
【００２３】
さらに、図２の実施形態において、仮想アシスタント２１は、ＳＭＳテキストメッセージの送信に関する文法２６からの文法規則を使用する。表現がＳＭＳメッセージの送信に最も関連する場合、仮想アシスタント２１は、ＳＭＳ送信サービス２７にＡＰＩ要求を送信し、ＳＭＳ送信サービス２７は、要求されたＳＭＳ送信動作を実行する。
【００２４】
一部の仮想アシスタントは、数千個のドメインをサポートする。これらのドメインは、文法を含み、多くの場合、関連する情報源または動作機能を含む。
【００２５】
スロット値の取得
図３は、仮想アシスタント３１の構成要素を示す。仮想アシスタント３１は、ユーザ表現を受け取り、一組のドメイン文法３２から文法規則を読み込む。自然言語構文解析モジュール３３は、文法規則に従って表現を構文解析することによって、各表現の可能な解釈および尤度スコアの集合を生成する。尤度スコアは、規則に従って表現を解釈するユーザの意図を表す可能性を示す。例えば、「アップルタルトを注文する」ことは、製パン分野では高いスコアを有し、科学技術分野では低いスコアを有するであろう。一方、「アップルパーツを注文する」ことは、科学技術分野では高いスコアを有し、製パン分野では低いスコアを有するであろう。例えば、「アップル花屋」は、草花分野では高いスコアを有し、科学技術分野では低いスコアを有するであろう。一方、「アップル電話」は、科学技術分野では高いスコアを有し、草花分野では低いスコアを有するであろう。
【００２６】
選択モジュール３４は、解釈およびスコアを取り込み、スコアに従って１つの解釈を選択し、選択した解釈を出力する。ＡＰＩアクセスモジュール３５は、インターネットなどのネットワークを介して、ＡＰＩ要求を送信し、ＡＰＩ応答を受信することを含むウェブＡＰＩヒットを行う。
【００２７】
解釈は、当該解釈を作成した文法規則によって特定された文法スロットの値を含む。一般的に、文法スロットの値は、ＡＰＩヒットの引数である。
【００２８】
図３の実施形態において、仮想アシスタント３１は、各ユーザ表現と共にユーザＩＤ（ＵＩＤ）を受信する。仮想アシスタント３１は、解釈の選択に応じて、選択された解釈のＵＩＤおよびスロット値を出力する。
【００２９】
ユーザの特定
各ユーザは、固有番号、ユーザ名、または電子メールアドレスなどのＵＩＤを有する。一部のシステムは、個人装置のユーザを識別するために有効な装置ＩＤ、例えば、装置シリアル番号またはＩＭＥＩ（国際携帯電話端末識別情報：International Mobile Equipment Identity）番号などを使用する。Facebook Connect（登録商標）ＡＰＩ、Google+（登録商標）サインインＡＰＩ、QQまたはRenrenソーシャルログインＡＰＩは、サービスまたは装置システム間のユーザを識別するシームレスな方法を提供する。音声ＩＤ、網膜スキャン、電話ＲＦＩＤ、政府識別番号、およびクレジットカード番号は、ユーザを識別するために使用できる追加的または代替的な他の方法である。
【００３０】
ユーザのラベル付け
図４は、分類システム４０の一実施形態を示す。システム４０は、仮想アシスタント４１を含み、仮想アシスタント４１は、表現およびＵＩＤを受信し、ドメイン文法４２に従って表現を構文解析し、スロット値およびＵＩＤの対を生成する。システム４０は、対応するＵＩＤに関連してスロット値をスロット値データベース４３に格納する。
【００３１】
クラスデータベース４４は、クラスラベルおよびＵＩＤの対を受信して格納する。分類アルゴリズム４５は、データベース４３からユーザ毎のスロット値およびデータベース４４から既知ユーザのクラスを取得し、データベース４３内のスロット値ベクトル間の類似性に基づいて、要求されているまたは要求可能なラベル付けられていない各ＵＩＤの分類を計算する。
【００３２】
いくつかの実施形態は、全てのユーザのうちごく一部、例えば、１万人のうち１００人または１億人のうち１万人のみがラベルを必要とする。いくつかの実施形態において、殆どのＵＩＤがラベルを有するため、全てのユーザのうちごく一部のみを分類する必要がある。一般的に、ユーザ間でクラス変動のランダム分布を有するユーザ属性の場合、データベース４４がより多くのラベル付きデータを有すると、分類がより精確になる。
【００３３】
一部のユーザは、自分にラベルを付ける。例えば、ユーザは、氏名、性別、住所、生年月日または婚姻状況を入力すると、多くの分類クライアント要求に有用な情報を提供する。いくつかの実施形態において、人間は、ＵＩＤにラベルを付ける。例えば、いくつかの実施形態は、人間データラベラを用いてユーザの音声を聞き取り、ユーザの性別およびアクセントを入力する。いくつかの実施形態において、このようなデータラベラを用いて、文法スロット値に従って、音声認識エラーを修正することによって、分類の精度を改善する。一部のＵＩＤは、機械によってラベル付けられる。例えば、いくつかのシステムは、モバイル装置から、ユーザ表現と共にジオロケーションデータを受信する。いくつかのシステムは、ユーザの音声に対して音響処理を行うことによって、ユーザの性別、アクセント、年齢範囲および環境ノイズを識別する。いくつかの実施形態は、例えば俗語または会話体などの言語使いを分析することによって、ユーザに言語ラベルを付ける。いくつかの実施形態は、文法スロット値によってユーザを分類する。例えば、好きなスポーツチームまたは天気クエリの興味のある場所によって、ユーザを分類することも可能である。
【００３４】
分類サービス
図５は、いくつかの実施形態に従って、分類サービスによるデータの流れを示す。分類サービス５１は、ユーザの文法スロット値およびラベル付きユーザ分類のデータベースを含む。分類サービス５１は、分類クライアントから、要求ＵＩＤを含む分類要求を受信する。分類サービス５１は、必要に応じて、分類を行うまたは予め計算した分類を検索する。次に、分類サービス５１は、分類クライアントに分類応答を提供する。この分類応答は、一般的に使用される属性に従った分類に対して適切である。広告を提供するいくつかの実施形態において、性別、年齢、アクセントおよび場所は、有用な共通属性である。
【００３５】
いくつかの実施形態において、分類サービス５１は、分類クライアントからラベル付きＵＩＤを取得する。このことは、珍しい属性または専有属性を有する分類クライアントにとって便利である。一部の分類クライアントは、ユーザ調査を実施することによって、ＵＩＤにラベルを付ける。いくつかの実施形態は、ユーザの行動を観察し、ユーザ属性の帰納的な結論を出すことによって、ＵＩＤにラベルを付ける。
【００３６】
様々な周知の機械学習分類アルゴリズムは、様々な実施形態に適している。いくつかの実施形態は、特異値分解法またはその殆どが実質的に行列因数分解法である他の方法、例えば協調フィルタリング法を使用する。様々なオープンソースおよび広く使用されている専用ソフトウェアフレームワークは、様々な実施形態に適している。一部の例として、Tensorflow、Caffe、Spark MLLib、Theano、Torch、Keras、およびScikit-Learnが挙げられる。
【００３７】
いくつかの実施形態において、実用的な処理性能で可能な実行時間を達成するために、次元削減を適用する。次元削減を行うための１つの方法は、所望の属性に従って、分類を行うために最も有効的な文法スロットを手動で選択することである。いくつかの実施形態は、分類クライアントが文法スロットを選択したか否かまたは分類のために選択した文法スロットの数に従って、クレジット累算器において、ドメインプロバイダに割り当てられたクレジットを加算する。これによって、多様な関心を有し、特に異なるユーザ属性をターゲットにするドメインを作成する意欲をドメインプロバイダに提供する。
【００３８】
いくつかの実施形態は、文法スロットと属性分類との間のクラスタリングを計算し、その後、最大の識別能力を有する文法スロットを選択することによって、次元削減を適用する。様々な既知の次元削減アルゴリズムが、様々な実施形態に適している。
【００３９】
いくつかの実施形態は、分類クライアントにクレジットを請求する。いくつかの実施形態は、クレジット累算器からの値に比例してドメインプロバイダに報酬を支払う。
【００４０】
いくつかの実施形態は、分類要求に応じて、直ちに分類を計算する。迅速な分類応答を提供する必要によって、利用可能な時間内に処理できるデータ量が制限され、その結果、達成可能な精度も制限される。いくつかの実施形態は、例えば、１日に１回または１週間に１回などの低い頻度で分類を計算する。これによって、アルゴリズムは、より精確な結果を得るために、より多くの時間および処理労力を費やすことができる。しかしながら、低い頻度で分類を計算することは、新たなデータが考慮されていないことを意味する。これは、新規ユーザがシステムに入り、文法スロット値が分からないまたはごく僅かしか分からない場合、特に問題になる。これは、冷態始動問題として知られている。
【００４１】
いくつかの実施形態において、最近取得した文法スロット値を用いて高精度の分類および分類を提供するために、最近取得した文法スロット値を用いて迅速分類を計算することによって、各クラスの確率を生成し、その後、これらの確率を用いて、過去に計算した分類分布のスケールを変更する。
【００４２】
例示的な実施形態
図６Ａは、天気に関するユーザの問い合わせを理解するように仮想アシスタントサーバに使用された例示的な英語の文法規則を示す。この文法規則は、場所引数および時間引数を必要とするＡＰＩに適用され、天気予報で応答する。この文法規則は、「天気ドメイン」という名前を有する文法の定義から始まる。
【００４３】
次のセクションは、２つの文法スロットにデフォルト値を割り当てる。スロット＄ｌには、関数current_location()から返される値が割り当てられる。このデータ構造は、表現を提供するユーザの現在位置を表している。いくつかの実施形態において、この位置は、緯度および経度を含む。この位置は、ユーザ表現の音声データをサーバに提供するモバイルクライアント装置から得られる。
【００４４】
２番目の文法スロット＄ｔには、関数current_time()から返される値が割り当てられる。このデータ構造は、ユーザが表現を提供する時間を概ね表している。
【００４５】
この文法規則の次のセクションにおいて、ユーザは、表現を提供し、自然言語仮想アシスタントは、この表現を用いて位置および時間の一方または両方を検出するまたはどちらも検出しない。縦バーで区切られた小括弧内のテキスト部分は、別の形式の表現を示す。大括弧内のテキスト部分は、表現のオプション部分を示す。山括弧内のテキスト部分は、ＡＰＩ引数および引数に渡すローカル変数を示す。したがって、図示された規則は、認識可能な表現から「天気は如何ですか」、「天気はどうですか」、「明日の天気は如何ですか」、「パリの天気はどうですか」、「来週にエッフェル塔の天気は如何ですか」などの語句を認識するだろう。
【００４６】
【数１】
2019046459.tif 000003
【００４７】
図７は、図６Ａおよび６Ｂの天気ドメイン文法規則に有用なユーザスロット値データベース７０の内容の一部を示す表である。最初の１０人のユーザは、天気ドメインにおいて、位置値「北京」または位置値「オランダ」に対応する表現を各々提供した。また、各ユーザは、現在の天気「現在」または明日の天気「明日」を問い合わせた。また、表には、１０人のユーザの各々の性別（「Ｍ」または「Ｆ」）または好きな飲み物（「コーヒー」または「お茶」）もしくは性別および好きな飲み物の両方のラベルが示されている。新しいユーザＮは、仮想アシスタントに北京の現在の天気を問い合わせる。分類クライアントは、コーヒーを好む人またはお茶を好む人としてユーザＮを分類するように要求する。したがって、分類サービスは、スロット値データに対して分類アルゴリズムを実行し、ユーザＮがコーヒーを好む確率が１／４であり、ユーザＮが茶を好む確率が３／４であると計算する。その結果、分類クライアントは、ユーザＮにドリンクの電子メニューを表示する時に、お茶の種類をコーヒーの種類の前に示すようにソートする。
【００４８】
天気は、一部の仮想アシスタントにとって最も頻繁に使用されるドメインである。レストラン評論、音楽再生、ＳＭＳメッセージも良く使用される。多くのモジュール式仮想アシスタントの場合、大企業は、これらのドメインを作成して、ユーザトラフィックを企業のＡＰＩに誘導する。仮想アシスタントプロバイダの中には、中小企業、学術機関および個人が、大きな商業価値を有さず、一部のユーザにとって興味深い情報を提供するドメインを作成できるようにするものもある。
【００４９】
【数２】
2019046459.tif 000004
【００５０】
図８Ｃは、計算を実行する単純なドメインの文法規則の一例を示す。このドメインは、人の体重、運動の種類および時間を受け入れ、その時間にその運動をした人によって消費されたエネルギーを返す。例えば、「how much energy is used by a 137 pound person doing running for 15 minutes」（「体重１３７ポンドの人が１５分間ランニングをした場合に消費されたエネルギーはいくらですか」）というユーザ表現に対して、ドメインプロバイダのＡＰＩは、「１４１カロリー」であると応答する。
【００５１】
【数３】
2019046459.tif 000005
【００５２】
図９は、運動およびラテン名ドメインに有用なユーザスロット値データベース９０の内容の一部を示す表である。１０人のユーザは、お茶またはコーヒーのいすれかとして、飲み物の好みによってラベル付けられる。各ユーザは、「ランニング」、「バイキング」もしくは「ウォーキング」のいずれかの運動を表現したか、または、運動ドメインを使用していなかった。各ユーザは、「植物」もしくは「動物」界にある種のラテン名を要求した、または、ラテン名ドメインを使用していなかった。ラベル付きＵＩＤをスロット値に関連することによって、機械学習分類アルゴリズムは、「ランニング」運動を行った新しいユーザＮがお茶を好む確率が３／４であり、コーヒーを好む確率が１／４であると計算することができる。その後、ユーザＮが植物のラテン名を求める場合、機械学習アルゴリズムは、ユーザＮがお茶を好む確率が２／３、コーヒーを好む確率が１／３であると再分類することができる。
【００５３】
多数のユーザ、多数の文法スロットまたは多数のラベル付き属性を有する実施形態において、データ保存および分類処理は、システムの実用限界にストレスをかけることがある。この場合、いくつかの実施形態は、Hadoop分散ファイルシステム（Hadoop Distributed File System：ＨＤＦＳ）または他の適切なフレームワークを用いて、分散保存およびデータ処理を行う。
【００５４】
スロット履歴
いくつかの実施形態は、各スロット値の履歴をユーザ毎に保存する。第１のユーザが１つの都市の天気を常に問い合わせ、第２のユーザが２つの異なる都市の天気を頻繁に問い合わせ、および第３のユーザが様々な都市の天気を問い合わせると仮定する。好きなスポーツチームでユーザを分類するために、分類アルゴリズムはおそらく、第１のユーザが１つの都市のスポーツチームを好む確率を高く計算するであろう。第２のユーザの場合、分類アルゴリズムはおそらく、他の全てのチームに比べて２つの都市のチームを好む確率を高く計算するであろう。第３のユーザの場合、分類アルゴリズムはおそらく、他の全てのチームよりも強く好むチームを計算しないであろう。
【００５５】
同様の３人のユーザの場合、第３のユーザが様々な都市の天気に対する問い合わせをするため、広告分類クライアントはおそらく、第３のユーザが旅行関連広告をクリックする確率を高く計算し、第１のユーザが複数の都市の天気に対する問い合わせをしないため、第１のユーザが旅行関連広告をクリックする確率を低く計算するだろう。
【００５６】
専門家にとって明らかなことは、様々な方法で文法スロット値の履歴を使用することができる。いくつかの実施形態において、分類の前に、統計分散値、最頻値および複数の異なるスロット履歴値のうち１つ以上を計算し、１つ以上の統計値に従って、場合によって最新のスロット値または最も共通のスロット値に従って、分類を行う。
【００５７】
いくつかの実施形態は、各履歴スロット値と共に、スロット値を提供するときのタイムスタンプを保存する。いくつかの実施形態は、一定の時間よりも古い表現値を廃棄する。いくつかの実施形態は、表現の時刻に基づいて履歴値をフィルタリングする。
【００５８】
動作モデル
いくつかの実施形態において、法的理由または倫理的理由により、文法スロット値などの特定のユーザデータを第三者と共有しないことが重要であるが、分類などの派生情報を第三者に提供してもよい。いずれにせよ、多くのベンダ、広告主および他の分類クライアントは、ユーザデータを所有しても、分類以外の目的には使用しないだろう。したがって、分類ＡＰＩまたは分類データを配信する他のものは、一部の分類クライアントにとって非常に有用である。その結果、分類クライアントは、有用な分類データ、特に高精度の分類を提供する仮想アシスタントプロバイダに喜んで報酬を支払う。これによって、仮想アシスタントプロバイダは、最も有用なドメイン文法を提供する第三者のドメインプロバイダに報酬を支払うことができる。
【００５９】
いくつかの実施形態によれば、多くの要因が分類の精度および価値に影響を及ぼすことができる。いくつかの実施形態において、一般的に、ドメインの数が多くなると、文法スロットの数が多くなり、分類の精度および価値が改善される。いくつかの実施形態において、ドメインの範囲が多様になると、特にユーザを区別するスロットを有する広範囲のユーザにアピールするドメインを含むドメイン範囲が多様になると、分類の精度および価値が改善される。いくつかの実施形態において、ドメインが依存性を有する場合、ユーザに多くの表現を示させ、分類の精度および価値を改善する。いくつかの実施形態において、広く認識されたドメインが、複数のユーザを招き、分類の精度および価値を改善する。一般的に、仮想アシスタントの様々な実施形態において、ドメインがより面白くなると、より多くのユーザを招き、より多くのユーザを招くことにより、ドメインプロバイダがドメインを作成し改善する意欲が強くなるというネットワーク効果が存在する。
【００６０】
いくつかの実施形態において、仮想アシスタントをサポートするように、より有用なドメインを提供するドメインプロバイダの意欲を高めるために、１つ以上のドメインプロバイダを評価するようにより効率的な評価計画を仮想アシスタントプロバイダに提供する必要がある。いくつかの実施形態において、仮想アシスタントプロバイダは、１つ以上のドメインプロバイダの各々の固有識別子に関連して格納されるクレジット重みを１つ以上のドメインプロバイダの各々に割り当てる。このクレジット重みは、１つ以上のドメインプロバイダの各々の寄与を反映する。いくつかの実施形態において、このクレジット重みは、各ドメインプロバイダに対応するクレジット累算器の増分量を変更する。いくつかの実施形態において、このクレジット重みは、ドメインプロバイダの文法規則が提供する分類の範囲に比例する。
【００６１】
いくつかの実施形態において、仮想アシスタントプロバイダと１つ以上のドメインプロバイダとは、分類クライアントからの分類要求による報酬を共有する。仮想アシスタントプロバイダと１つ以上のドメインプロバイダとは、各要求に対する分類クライアントのクレジットを減算し、ドメインプロバイダに対応するクレジット累算器を増分することによって、報酬を共有する。いくつかの実施形態において、報酬は、全てのドメインプロバイダに与えられる。いくつかの実施形態において、文法規則が提供する分類の範囲に比例してドメインプロバイダに報酬を支払う。いくつかの実施形態において、報酬は、金銭的であり、仮想アシスタントプロバイダは、クレジット数を増加するように分類クライアントに命令する。いくつかの実施形態において、仮想アシスタントプロバイダは、割り当てられたクレジット重みに従って、１つ以上のドメインプロバイダの各々に報酬を支払う。いくつかの実施形態において、クレジット重みは、ドメインプロバイダに報酬を支払うべき金額に比例する。いくつかの実施形態において、クレジット重み自身の価値は、金額に等しい。
【００６２】
いくつかの実施形態において、分類クライアントは、分類のために使用される全てのドメインのサブセットを選択することができ、選択されたドメインのみのドメインプロバイダに対応するクレジット累算器は、分類要求に応答して増分する。いくつかの実施形態において、分類クライアントは、ドメインのサブセットを選択し、ラベル付きデータのテストセットを提供することによって、有用なドメインのサブセットを見つけることができる。仮想アシスタントプロバイダは、分類クライアントが選択したドメインの数に基づいて、分類クライアントに料金を請求する。
【００６３】
いくつかのこのような実施形態において、分類クライアントによって提供されるラベル付きデータセットに対して最大の区別能力を有するドメインを自動的に計算し、文法スロット値のデータベースが与えられたときに、ユーザを区別する能力の順序でドメインのリストを提供する。また、いくつかのこのような実施形態において、分類クライアントによって選択されたサブセットの精度を推定することができる。いくつかのこのような実施形態において、分類クライアントがドメインを選択した後、選択されたドメインに加えて、残りのドメインの増分利益に従ってリストを再度並べ替える。例えば、２つの競合する天気ドメインが最も有用な分類を提供できるが、分類クライアントが一方の天気ドメインを選択した後、他方の天気ドメインは、選択された天気ドメインの値を超える分類精度の改善にほぼ寄与しないであろう。
【００６４】
いくつかの実施形態は、ドメインプロバイダに既存のスロット値のリストを提供し、他のスロット値を作成するように新しいドメインプロバイダを促す。例えば、天気ドメインが位置スロット値を提供する場合、新しいドメインプロバイダは、他の位置スロット値を作成し、他の有用なスロット値と共に文法規則を作成するように促される。
【００６５】
いくつかの実施形態は、ドメインプロバイダに作成してもらいたい所望のスロットのリストを提供する。いくつかのそのような実施形態は、精選されたリスト（専門家によって選択されたリスト）を提供する。いくつかのそのような実施形態において、分類クライアントは、ドメインプロバイダが実行するための所望の文法スロット、殆どの場合価値のある文法スロットをリストすることができる。これにより、ドメインおよび文法スロットの市場が形成される。
【００６６】
いくつかの実施形態において、分類クライアントは、仮想アシスタントが使用する文法スロットの機能を作成することができる。例えば、分類クライアントは、運動文法スロットに値「ランニング」を与えたユーザのみに対して、気象位置である分類スロットを作成することを望むことがある。
【００６７】
ドメイン選択の加重
いくつかの実施形態は、文法スロットによる分類を用いて、仮想アシスタントの自然言語処理を改善する。これによって、表現解釈の成功率を改善し、ユーザ満足度および成功率を改善する。
【００６８】
図１０は、仮想アシスタントの構成要素を示す。仮想アシスタントは、ユーザ表現を受け取り、一組のドメイン文法１０２から文法規則を読み込む。自然言語構文解析モジュール１０３は、文法規則に従って表現を構文解析することによって、各表現の可能な解釈および尤度スコアのセットを生成する。
【００６９】
選択モジュール１０４は、解釈およびスコアを取得し、スコアに従って１つの解釈を選択し、選択された解釈を出力する。ＡＰＩアクセスモジュール１０５は、インターネットなどのネットワークを介して、文法スロットからの値と共にＡＰＩ要求を送信し、ＡＰＩ応答を受信することを含むウェブＡＰＩヒットを行う。
【００７０】
図１０の実施形態において、仮想アシスタントは、各ユーザ表現と共にユーザＩＤ（ＵＩＤ）を受信する。仮想アシスタントは、解釈の選択に応じて、選択された解釈のＵＩＤおよびスロット値を出力する。システムは、各表現のＵＩＤおよびユーザ毎のドメイン１０６のデータベースから選択された当該ＵＩＤのドメインを蓄積する。分類アルゴリズム１０７は、ドメインデータベース１０６からのデータを処理することによって、ＵＩＤに対応するドメイン確率分布を生成する。システムは、ドメイン確率分布を重み値の集合として選択器１０４に提供し、解釈スコアをスケーリングすることによって、選択器１０４による解釈の選択に影響を与える。
【００７１】
いくつかの実施形態において、分類ドメインの重みは、単に、ＵＩＤに対応する各ドメインに取り込まれた表現の履歴頻度である。しかしながら、これには冷態始動問題がある。いくつかの実施形態において、分類アルゴリズムは、ドメイン間の重みの円滑な分布を計算する。分類アルゴリズムは、たとえシステムがあるユーザに関するデータを殆ど取得しなくても、既知のドメイン頻度を他の類似するユーザのドメイン頻度と比較することによって、ドメイン間の重みの円滑な分布を計算する。様々な機械学習分類アルゴリズムは、様々な実施形態に適している。
【００７２】
物理的な実施形態
図１１は、クライアント−サーバ型のアーキテクチャを使用する実施形態を示す。ユーザ１１１は、装置１１２と対話する。装置１１２は、ネットワーク１１３を介してサーバ１１４と通信するクライアントとして機能する。サーバ１１４は、仮想アシスタントとして動作し、ネットワーク１１３を介して装置１１２に応答を提供する。また、サーバ１１４は、分類クライアント１１５に分類を提供する。
【００７３】
サーバ１１４は、プロセッサ１１６を含み、プロセッサ１１６は、装置１１２からの自然言語要求を処理し、応答を生成し、分類アルゴリズムを実行することによって、分類結果を生成し、分類クライアント１１５に与える。プロセッサ１１６は、非一時的コンピュータ可読媒体１１７に格納されたコードを実行する。プロセッサ１１６は、データベース１１８に格納されたドメイン文法規則に従って、自然言語表現を処理する。さらに、プロセッサ１１６は、ユーザスロット値およびユーザラベルをデータベース１１８に格納する。
【００７４】
図１２Ａは、いくつかの実施形態に従って、非一時的なコンピュータ可読媒体である回転ディスク１２１を示す。
【００７５】
図１２Ｂは、いくつかの実施形態に従って、非一時的なコンピュータ可読媒体であるフラッシュメモリチップ１２２を示す。
【００７６】
図１２Ｃは、プリント回路基板に半田付けられるボールグリッドアレイを備えたパッケージ型システムオンチップ装置１２３の底面を示す。システムオンチップ１２３は、いくつかの実施形態に係るプロセッサである。
【００７７】
図１２Ｄは、システムオンチップ装置１２３の上面を示す。
図１３Ａは、いくつかの実施形態に従って、ラック型マルチプロセッササーバ１３０を示す。
【００７８】
図１３Ｂは、いくつかの実施形態に従って、プロセッサチップ１３１内の機能要素を示すブロック図である。中央処理装置（ＣＰＵ）１３２およびグラフィックス処理装置（ＧＰＵ）１３３は、相互接続１３４を介して一時データを記憶するためのランダムアクセスメモリ（ＲＡＭ）１３５と通信し、ネットワークインターフェイス１３６を介して他のサーバおよび装置と通信することによって処理を行い、媒体インターフェイス１３７を介してユーザから入力を受け取り、出力をユーザに提供する。
【図１】
2019046459.tif 000006
【図２】
2019046459.tif 000007
【図３】
2019046459.tif 000008
【図４】
2019046459.tif 000009
【図５】
2019046459.tif 000010
【図６Ａ】
2019046459.tif 000011
【図６Ｂ】
2019046459.tif 000012
【図７】
2019046459.tif 000013
【図８Ａ】
2019046459.tif 000014
【図８Ｂ】
2019046459.tif 000015
【図８Ｃ】
2019046459.tif 000016
【図８Ｄ】
2019046459.tif 000017
【図９】
2019046459.tif 000018
【図１０】
2019046459.tif 000019
【図１１】
2019046459.tif 000020
【図１２Ａ】
2019046459.tif 000021
【図１２Ｂ】
2019046459.tif 000022
【図１２Ｃ】
2019046459.tif 000023
【図１２Ｄ】
2019046459.tif 000024
【図１３Ａ】
2019046459.tif 000025
【図１３Ｂ】
2019046459.tif 000026
【外国語明細書】
2019046459000001.pdf