(57)【要約】  自動化されたアシスタントと関わり合っているユーザの検出された年齢層および/または「語彙レベル」に応じて自動化されたアシスタントがその挙動を調整することを可能にするための技術が、本明細書において説明される。様々な実装においては、ユーザの発話を示すデータが、ユーザの年齢層および/または語彙レベルのうちの1つまたは複数を推定するために使用される可能性がある。推定された年齢層/語彙レベルが、自動化されたアシスタントによって使用されるデータ処理パイプラインの様々な点に影響を与えるために使用される可能性がある。様々な実装において、ユーザの年齢層/語彙レベルによって影響を受ける可能性があるデータ処理パイプラインの点は、自動化されたアシスタントの呼び出し、スピーチトゥテキスト(「STT」)処理、意図のマッチング、意図の解決(もしくは遂行)、自然言語生成、および/またはテキストトゥスピーチ(「TTS」)処理のうちの1つまたは複数を含む。一部の実装において、文法の許容度、語彙の許容度などの、これらの点のうちの1つまたは複数に関連する1つまたは複数の許容度の閾値が、調整される可能性がある。
2021513119.tif 000002
【特許請求の範囲】
【請求項１】
1つまたは複数のプロセッサを使用して実施される方法であって、
1つまたは複数のクライアントデバイスの1つまたは複数の入力構成要素においてユーザから音声の発話を受け取るステップと、
出力を生成するために、前記音声の発話を示すデータを訓練された機械学習モデルに適用するステップと、
前記出力に基づいて前記ユーザが所定の年齢グループに入ると判定するステップと、
複数の候補問い合わせ理解モデルから、前記所定の年齢グループに関連付けられる所与の問い合わせ理解モデルを選択するステップと、
前記所与の問い合わせ理解モデルを使用して前記ユーザの意図を判定するステップと、
前記所定の年齢グループに基づいて、前記ユーザの前記意図が解決可能であると判定するステップと、
応答データを生成するために前記ユーザの意図を解決するステップと、
前記クライアントデバイスのうちの1つまたは複数の1つまたは複数の出力構成要素において前記応答データを出力するステップと
を含む、方法。
【請求項２】
前記複数の候補問い合わせ理解モデルが、前記所与の問い合わせ理解モデルの文法の許容度とは異なる文法の許容度を有する少なくとも1つの候補問い合わせ理解モデルを含む請求項1に記載の方法。
【請求項３】
前記音声の発話を示す前記データが、前記ユーザによる発話のオーディオ録音を含み、
前記機械学習モデルが、前記オーディオ録音に含まれる1つまたは複数の音素に基づいて前記ユーザの年齢を示す出力を生成するように訓練される請求項1または請求項2に記載の方法。
【請求項４】
複数の候補自然言語生成モデルから、前記所定の年齢グループに関連付けられる所与の自然言語生成モデルを選択するステップをさらに含み、
前記選択された所与の自然言語出力モデルが、前記応答データを生成するために使用される請求項1から3のいずれか一項に記載の方法。
【請求項５】
前記複数の候補自然言語生成モデルが、前記所与の自然言語出力モデルによって使用される語彙よりも複雑な語彙を使用する少なくとも1つの候補自然言語生成モデルを含む請求項4に記載の方法。
【請求項６】
複数の候補音声合成モデルから、前記所定の年齢グループに関連付けられる所与の音声合成モデルを選択するステップをさらに含み、
前記応答データを出力するステップが、前記所与の音声合成モデルを使用して実行される請求項1から5のいずれか一項に記載の方法。
【請求項７】
前記所与の問い合わせ理解モデルが、前記音声の発話のスピーチトゥテキスト処理を実行するために適用される請求項1から6のいずれか一項に記載の方法。
【請求項８】
前記所与の問い合わせ理解モデルが、前記音声の発話から生成された音声認識出力の自然言語理解を実行するために適用される請求項1から7のいずれか一項に記載の方法。
【請求項９】
1つまたは複数のプロセッサを使用して実施される方法であって、
1つまたは複数のクライアントデバイスの1つまたは複数の入力構成要素においてユーザから音声の発話を受け取るステップと、
出力を生成するために、前記音声の発話を示すデータを訓練された機械学習モデルに適用するステップと、
前記出力に基づいて、前記ユーザが複数の所定の語彙レベルのうちの所与の語彙レベルに入ると判定するステップと、
複数の候補問い合わせ理解モデルから、前記所与の語彙レベルに関連付けられる所与の問い合わせ理解モデルを選択するステップと、
前記所与の問い合わせ理解モデルを使用して前記ユーザの意図を判定するステップと、
前記所与の語彙レベルに基づいて、前記ユーザの前記意図が解決可能であると判定するステップと、
応答データを生成するために前記ユーザの意図を解決するステップと、
前記クライアントデバイスのうちの1つまたは複数の1つまたは複数の出力構成要素において前記応答データを出力するステップと
を含む、方法。
【請求項１０】
前記複数の候補問い合わせ理解モデルが、前記所与の問い合わせ理解モデルの文法の許容度とは異なる文法の許容度を有する少なくとも1つの候補問い合わせ理解モデルを含む請求項9に記載の方法。
【請求項１１】
前記音声の発話を示す前記データが、前記ユーザによる発話のオーディオ録音を含み、
前記機械学習モデルが、前記オーディオ録音に含まれる1つまたは複数の音素に基づいて前記ユーザの語彙レベルを示す出力を生成するように訓練される請求項9または請求項10に記載の方法。
【請求項１２】
複数の候補自然言語生成モデルから、前記所定の語彙レベルに関連付けられる所与の自然言語生成モデルを選択するステップをさらに含み、
前記選択された所与の自然言語出力モデルが、前記応答データを生成するために使用される請求項9から11のいずれか一項に記載の方法。
【請求項１３】
前記複数の候補自然言語生成モデルが、前記所与の自然言語出力モデルによって使用される語彙よりも複雑な語彙を使用する少なくとも1つの候補自然言語生成モデルを含む請求項12に記載の方法。
【請求項１４】
複数の候補音声合成モデルから、前記所定の語彙レベルに関連付けられる所与の音声合成モデルを選択するステップをさらに含み、
前記応答データを出力するステップが、前記所与の音声合成モデルを使用して実行される請求項9から13のいずれか一項に記載の方法。
【請求項１５】
前記所与の問い合わせ理解モデルが、前記音声の発話のスピーチトゥテキスト処理を実行するために適用される請求項9から14のいずれか一項に記載の方法。
【請求項１６】
前記所与の問い合わせ理解モデルが、前記音声の発話から生成された音声認識出力の自然言語理解を実行するために適用される請求項9から15のいずれか一項に記載の方法。
【請求項１７】
1つまたは複数のプロセッサと、前記1つまたは複数のプロセッサに動作可能なように結合されたメモリとを含み、前記メモリが、1つまたは複数のプロセッサによる命令の実行に応じて、前記1つまたは複数のプロセッサに、
1つまたは複数のクライアントデバイスの1つまたは複数の入力構成要素においてユーザから音声の発話を受け取ることと、
出力を生成するために、前記音声の発話を示すデータを訓練された機械学習モデルに適用することと、
前記出力に基づいて前記ユーザが所定の年齢グループに入ると判定することと、
複数の候補問い合わせ理解モデルから、前記所定の年齢グループに関連付けられる所与の問い合わせ理解モデルを選択することと、
前記所与の問い合わせ理解モデルを使用して前記ユーザの意図を判定することと、
前記所定の年齢グループに基づいて、前記ユーザの前記意図が解決可能であると判定することと、
応答データを生成するために前記ユーザの意図を解決することと、
前記クライアントデバイスのうちの1つまたは複数の1つまたは複数の出力構成要素において前記応答データを出力することと
を実行させる前記命令を記憶するシステム。
【請求項１８】
前記複数の候補問い合わせ理解モデルが、前記所与の問い合わせ理解モデルの文法の許容度とは異なる文法の許容度を有する少なくとも1つの候補問い合わせ理解モデルを含む請求項17に記載のシステム。
【請求項１９】
前記音声の発話を示す前記データが、前記ユーザによる発話のオーディオ録音を含み、
前記機械学習モデルが、前記オーディオ録音に含まれる1つまたは複数の音素に基づいて前記ユーザの年齢を示す出力を生成するように訓練される請求項17または請求項18に記載のシステム。
【請求項２０】
複数の候補自然言語生成モデルから、前記所定の年齢グループに関連付けられる所与の自然言語生成モデルを選択するための命令をさらに含み、
前記選択された所与の自然言語出力モデルが、前記応答データを生成するために使用される請求項17から19のいずれか一項に記載のシステム。
【発明の詳細な説明】
【背景技術】
【０００１】
人は、本明細書において「自動化されたアシスタント(automated assistant)」(「チャットボット」、「インタラクティブパーソナルアシスタント」、「インテリジェントパーソナルアシスタント」、「パーソナルボイスアシスタント」、「会話エージェント」などとも呼ばれる)と呼ばれるインタラクティブなソフトウェアアプリケーションを用いて人とコンピュータとの対話に従事する可能性がある。たとえば、人(自動化されたアシスタントとインタラクションするときは「ユーザ」と呼ばれる可能性がある)は、テキストに変換され、それから処理される音声の発話を含む可能性がある自由形式の自然言語入力および/またはタイピングされた自由形式の自然言語入力を使用してコマンド、クエリ、および/または要求(本明細書においては集合的に「問い合わせ」と呼ばれる)を与える可能性がある。
【０００２】
ユーザは、スマートフォン、ラップトップコンピュータ、タブレットコンピュータなどの様々な異なる種類のコンピューティングデバイスを使用して自動化されたアシスタントと関わり合う可能性がある。「アシスタントデバイス」は、主としてユーザと自動化されたアシスタントとの間の人とコンピュータとの対話を容易にするために、または完全にユーザと自動化されたアシスタントとの間の人とコンピュータとの対話を容易にするためだけに設計されるコンピューティングデバイスである。アシスタントデバイスの1つのよくある例は、たとえば、自動化されたアシスタントがユーザの次の発話に応答することができるように自動化されたアシスタントをアクティブ化するための所定の呼び出しフレーズを発話することによってユーザが自動化されたアシスタントと声で関わり合うことを可能にするスタンドアロンのインタラクティブスピーカである。
【０００３】
アシスタントデバイスが音声インタラクションに焦点を合わせることは、それらのアシスタントデバイスを子供による使用に適するようにする。しかし、市販の自動化されたアシスタントに組み込まれたまたはそうでなければ市販の自動化されたアシスタントを使用してアクセスされ得る多くの機能は、子供に適さない可能性がある。たとえば、子供が歯の妖精が本当にいるのか尋ねたとすると、通常の自動化されたアシスタントは、オンラインで見つけられた文書に基づいて、「いいえ、歯の妖精は、子供に抜けそうな歯を引き抜く気にさせるために親によって呼び起こされる架空のキャラクタです。」と答える可能性がある。別の例として、自動化されたアシスタントは、ユーザがピザ、映画、おもちゃなどの品物/サービスを注文することを可能にするサードパーティアプリケーションなどの独立したエージェントと関わり合うように構成される可能性がある--この種の能力が、自分の行為のすべての結果を判断することができない可能性がある子供によって使用される可能性がある。加えて、通常の自動化されたアシスタントは、十分に発達した語彙を有する人とインタラクションするために設計される。ユーザの入力が十分に明確でない場合、自動化されたアシスタントは、ユーザの意図に関する「最も有力な推量」に基づいてユーザの要求を解決しようとするのではなく明確化および/または曖昧性の解消を要求する可能性がある。そのような長い堂々巡りのやりとりは、(たとえば、明確化の要求を生成し、レンダリングした、および/もしくは結果として得られた入力を処理した結果として)様々なコンピュータおよび/もしくはネットワークリソースの余分な消費を引き起こす可能性があり、ならびに/または語彙の限られた子供にとって苛立たしい可能性がある。
【発明の概要】
【課題を解決するための手段】
【０００４】
自動化されたアシスタントと関わり合っているユーザの検出された年齢層および/または「語彙レベル」に応じて自動化されたアシスタントがその挙動を調整することを可能にするための技術が、本明細書において説明される。結果として、自動化されたアシスタントは、子供とインタラクションするときには「キッズモード」などの1つのモードを使用し、子供とみなされないユーザ(たとえば、ティーンエージャー以上)とインタラクションする間は「通常」または「大人」モードなどの別のモードを使用することができる。一部の実装において、自動化されたアシスタントは、特定の年齢層にそれぞれ関連する一連のモードの間を(または代替的に複数の語彙レベルに関連する一連のモードの間を)遷移することができる可能性がある。(i)ユーザの意図の認識、(ii)ユーザの意図の解決、および(iii)ユーザの意図を解決した結果がどのようにして出力されるかなどの自動化されたアシスタントの挙動の様々な点が、ユーザの年齢層(または語彙レベル)に基づいて選択されたモードによって影響を受ける可能性がある。
【０００５】
本明細書においてより詳細に説明されるように、様々な実装は、自動化されたアシスタントが本明細書において説明される技術がないときには解決可能でない様々な入力に対する応答を生成することを可能にし得る。本明細書においてやはり説明されるように、様々な実装は、自動化されたアシスタントが様々な入力に関して明確化を要求する必要を減らし、それによって、そうしなければ明確化のそのような要求を生成し、レンダリングし、および/または明確化の要求に応じたさらなる入力を処理するために利用される様々なコンピュータおよび/またはネットワークリソースを節約することができる。さらに、本開示の選択された態様によって構成された自動化されたアシスタントは、ユーザがアシスタントデバイスとインタラクションするのが通常難しい可能性がある状況においてユーザとのより効果的なインタラクションを容易にする可能性がある。これは、たとえば、ユーザの話しがそのようなデバイスの平均的なユーザよりも明確でないときに(たとえば、後続のユーザが年少の子供である、ユーザの話しの明瞭さに影響を与える障害を持っている、および/または非母語話者であるときに)行われる可能性がある。
【０００６】
本明細書の例は主としてユーザの年齢層を判定することと、それに応じて作動することとを含むが、これは限定であるように意図されていない。性別、位置などの様々なユーザの特徴が、検出され、自動化されたアシスタントの挙動に影響と与えるために使用される可能性がある。たとえば、一部の実装においては、比較的高度な語彙を用いる比較的年少のユーザが自動化されたアシスタントによって適切に関わり合われるように、ユーザの年齢層よりもユーザの語彙レベルが推定される可能性がある(すなわち、高度な語彙を用いる子供は、自動化されたアシスタントに見下されない)。同様に、大人らしい声を有するが(たとえば、学習障害、非母語などが原因で)語彙が限られている比較的年長のユーザは、ユーザの限られた語彙の助けとなる方法で自動化されたアシスタントによって関わり合われる可能性がある。さらに、自動化されたアシスタントがユーザによって使用される同じ語彙レベルでユーザとコミュニケーションするとき、これは、ユーザが自動化されたアシスタントとコミュニケーションするときにユーザの言葉を「低レベルにした」という事実をユーザに気付かせる可能性がある。これは、より自然に話すようにユーザを励ます可能性がある。
【０００７】
本開示の選択された態様によって構成された自動化されたアシスタントは、様々な合図に基づいて(たとえば、大人に適する)「通常」および(たとえば、小さな子供に適する)「キッズモード」などの様々な年齢に関連するモードになるように構成される可能性がある。一部の実装においては、親またはその他の大人(たとえば、保護者、先生)が、たとえば、要求に応じて、および/または子供が自動化されたアシスタントと関わり合う可能性が高いスケジューリングされた時間間隔の間、自動化されたアシスタントをキッズモードに手動で遷移させる可能性がある。
【０００８】
追加的にまたは代替的に、一部の実施形態において、自動化されたアシスタントは、たとえば、リズム、高さ、音素、語彙、文法、発音などのユーザの声の特徴に基づいてユーザの年齢層を自動的に検出する(たとえば、予測する、推定する)可能性がある。一部の実装においては、機械学習モデルが、ユーザの口で言われた発話(たとえば、音声録音、特徴ベクトル、埋め込み(embedding))を示すデータに基づいて、ユーザの予測された年齢を示す出力を生成するように訓練される可能性がある。たとえば、順伝播型(feed forward)ニューラルネットワークは、複数の年齢層に関連する複数の確率(たとえば、2〜4歳:25%、5〜6歳: 38%、7-9歳: 22%、10〜14歳: 10%、年齢>14: 5%)を生成するために、たとえば、話者の年齢(または年齢層)によってラベル付けされたオーディオサンプルの形態の訓練例を使用して訓練される可能性がある。様々な実装において、最も高い確率を有する年齢層が、ユーザの事実上の年齢層として選択される可能性がある。その他の実装においては、その他の種類の人工知能モデルおよび/またはアルゴリズムが、ユーザの年齢を推定するために使用される可能性がある。
【０００９】
追加的にまたは代替的に、一部の実装においては、音声認識が、個々の話者を区別し、特定するために、たとえば、1人または複数のユーザによる構成に応じて自動化されたアシスタントによって使用される可能性がある。たとえば、家族が、すべての家族の構成員の声を認識するようにその家族の家の1つまたは複数のアシスタントデバイスを構成する可能性があり、その結果、各構成員のプロファイルが、その構成員が自動化されたアシスタントと関わり合うときにアクティブになる可能性がある。一部のそのような実装において、それぞれの家族の構成員のプロファイルは、その年齢(たとえば、誕生日)含む可能性があり、したがって、話者を特定すると、自動化されたアシスタントは、話者の年齢も判定することができる。
【００１０】
ユーザ/話者の年齢および/または年齢層(または語彙レベル)が判定されると、それは、自動化されたアシスタントがどのようにして動作するかの様々な点に影響を与える可能性がある。たとえば、一部の実装においては、話者が子供(または限られた言語能力を有する別のユーザ)であると判定されるとき、自動化されたアシスタントは、話者が大人またはそうでなければ習熟した話者であると判定される場合よりもどの発話が呼び出しフレーズとして適するかについて厳格でない可能性がある。一部の実装においては、1つまたは複数のデバイスに搭載されたモデル(たとえば、訓練された人工知能モデル)が、所定の呼び出しフレーズを検出するために、たとえば、クライアントデバイスのローカルで使用される可能性がある。話者が子供であると検出される場合、一部の実装において、特に子供のために設計された呼び出しモデルが使用される可能性がある。追加的にまたは代替的に、単一の呼び出しモデルがすべてのユーザのために使用される場合、たとえば、子供の発音を間違えた呼び出しの試みがそれにもかかわらず適切な呼び出しフレーズとして分類される可能性があるように、ユーザの発話を適切な呼び出しとして分類するために満たされなければならない1つまたは複数の閾値が引き下げられる可能性がある。
【００１１】
別の例として、ユーザの推定された年齢層および/または語彙レベルが、ユーザの意図を検出する際に使用される可能性がある。様々な実装において、それぞれが特定の年齢層に関連する1つまたは複数の候補「問い合わせ理解モデル」が、自動化されたアシスタントによる使用のために利用され得る可能性がある。各問い合わせ理解モデルは、ユーザの意図を判定するために使用され得る可能性があるが、その他の問い合わせ理解モデルと異なるように動作する可能性がある。大人のために設計された「標準的」問い合わせ理解モデルは、たとえば、「子供の」問い合わせ理解モデルに関連する文法の許容度よりも低い特定の「文法の許容度」を有する可能性がある。たとえば、子供の問い合わせ理解モデルは、年少の子供が通常そうであるように、たとえユーザの文法/語彙が不完全であるときでもユーザの意図を「推量する」ための大きな余地を自動化されたアシスタントに与える文法の許容度(たとえば、最小の信頼性の閾値)を有する可能性がある。対照的に、自動化されたアシスタントが「標準的」問い合わせ理解モデルを選択するとき、自動化されたアシスタントは、比較的低い文法の許容度を有する可能性があり、したがって、比較的信頼性の低い候補の意図をユーザの実際の意図として「推量する」または選択するよりも、より速やかにユーザからの曖昧性の解消および/または明確化を求める可能性がある。
【００１２】
追加的にまたは代替的に、一部の実装において、問い合わせ理解モデルは、自動化されたアシスタントによってまたは自動化されたアシスタントの代わりに使用されるスピーチトゥテキスト(「STT」)処理に影響を与える可能性がある。たとえば、通常のSTTプロセッサは、子供の発話「meow like giggy」を処理することができない可能性がある。ユーザによって出された音声学的な音を追跡する音声認識出力(たとえば、テキスト)を生成する代わりに、STTプロセスは、(たとえば、単語が辞書内で特定されなかったために)発話を単純に拒否する可能性があり、自動化されたアシスタントは、「I'm sorry, I didn't catch that.」のようなことを言う可能性がある。しかし、本開示の選択された態様によって構成されたSTTプロセッサは、話者が子供であるという判定に応じて、間違った発音および/または標準以下の文法/語彙の許容度がより高くなる可能性がある。子供の話者が検出されるとき、STTプロセッサは、たとえ音声認識出力が辞書内で見つからないいくつかの単語/フレーズを含むとしても、ユーザによって出された音声学的な音を追跡する音声認識出力(たとえば、発話のテキスト解釈、埋め込みなど)を生成する。同様に、自然言語理解モジュールが、子供中心の問い合わせ理解モデルを利用してテキスト「giggy」を「kitty」と解釈する可能性がある一方、大人中心の問い合わせ理解モデルが使用されたとすると、語「giggy」は、解釈され得ない可能性がある。
【００１３】
一部の実装において、STTプロセッサは、子供によって使用される簡略化された文法を処理するとき、専用の解析モジュールを使用する可能性がある。一部のそのような実装において、専用の解析モジュールは、既存のテクノロジーを使用するが、ただし、よりノイズのある(たとえば、不完全、文法的に曖昧などの)訓練データを用いて訓練されるSTTモデルを使用する可能性がある。たとえば、一部の実装において、訓練データは、元々は大人から生成されたが、子供の声道の形態のモデルに従っておよび/または不完全な文法を表すためにテキスト入力にノイズを追加することによって変換されたデータから少なくとも部分的に生成される可能性がある。
【００１４】
概して、本開示の選択された態様によって構成された自動化されたアシスタントは、子供と関わり合うときに通常の自動化されたアシスタントよりも積極的である可能性がある。たとえば、上述のように、本開示の選択された態様によって構成された自動化されたアシスタントは、子供の意図が何であるかをより進んで「推量する」可能性がある。さらに、自動化されたアシスタントは、子供の話者を検出するとき、呼び出しフレーズを要求することについてより寛容である可能性がある。たとえば、一部の実装においては、子供が動物の名前を叫ぶ場合、自動化されたアシスタントは、話者が子供であると判定すると、子供が呼び出しフレーズを言うことを要求するのを止める可能性があり、その代わりに、動物の出す音をまねる可能性がある。追加的にまたは代替的に、自動化されたアシスタントは、たとえば、文法的に間違ったおよび/または間違って発音された発話に応じて、子供に適切な文法、発音、および/または語彙を「教える」ことを試みる可能性がある。
【００１５】
ユーザの意図の解決に関して、様々な行為および/または情報が、子供に適さない可能性がある。したがって、様々な実施形態においては、ユーザの予測された年齢層に基づいて、自動化されたアシスタントは、ユーザの意図が解決可能であるかどうかを判定する可能性がある。たとえば、ユーザが子供であると判定される場合、自動化されたアシスタントは、その自動化されたアシスタントがユーザの要求に応じて情報を取り出すことができるデータのオンラインコーパスを、たとえば、子供に向けのウェブサイトの「ホワイトリスト」におよび/または子供向けでないウェブサイトの「ブラックリスト」を避けるように制限する可能性がある。同じことが、たとえば、音楽にも当てはまる可能性がある。子供が「play music!」と言う場合、自動化されたアシスタントは、その自動化されたアシスタントが再生する音楽を、より年長の人を通常対象とする音楽を含む大人中心のライブラリよりも子供向けの音楽のライブラリに制限する可能性がある。自動化されたアシスタントは、子供のユーザがプレイリストまたはアーティストを指定することを必要としない可能性もあり、単にユーザの検出された年齢に適した音楽を再生する可能性がある。対照的に、「音楽を再生する」大人の要求は、自動化されたアシスタントにどの音楽を再生すべきかについての追加の情報を求めさせる可能性がある。一部のそのような実装においては、自動化されたアシスタントがキッズモードであるとき、ボリュームが、たとえば、そうでない場合に大人によって利用され得るよりも低い限度を有するように調整される可能性もある。別の例として、サードパーティアプリケーションを通じて品物/サービスを注文することなどの様々な行為は、子供に適さない可能性がある。したがって、自動化されたアシスタントが子供と関わり合っているとその自動化されたアシスタントが判定するとき、その自動化されたアシスタントは、たとえば、お金がかかるまたはオンラインで見知らぬ人と関わり合うことを容易にする可能性がある様々な行為を実行することを拒否する可能性がある。
【００１６】
ユーザの意図を解決した結果を出力することに関して、様々な実施形態において、自動化されたアシスタントは、複数の候補音声合成モデルから、ユーザに関して予測された所定の年齢グループに関連付けられる所与の音声合成モデルを選択する可能性がある。たとえば、自動化されたアシスタントによって使用される既定の音声合成モデルは、(たとえば、大人同士の現実の会話と同様に)比較的速いペースで話す大人の声である可能性がある。対照的に、子供のユーザと関わり合うときに自動化されたアシスタントによって使用される音声合成モデルは、漫画のキャラクタの声である可能性があり、および/または比較的遅いペースで話す可能性がある。
【００１７】
追加的にまたは代替的に、一部の実装においては、より多くのまたはより少ない詳細が、ユーザの予測された年齢に応じて自動化されたアシスタントによって出力される可能性がある。これは、たとえば、それぞれが特定の年齢グループに合わせて仕立てられた複数の自然言語生成モデルを利用可能にすることによって実現される可能性がある。例として、2歳から4歳までの間であると判定されたユーザと関わり合うとき、自動化されたアシスタントは、自動化されたアシスタントに簡単な単語および短い文を使用させるために好適な自然言語生成モデルを使用する可能性がある。話者の検出された年齢が高くなるにつれて、自動化されたアシスタントがより長い文およびより複雑なまたは高度な単語を使用するように、自動化されたアシスタントによって使用される語彙が(たとえば、自動化されたアシスタントが選択する自然言語生成モデルに従って)増える可能性がある。一部の実施形態において、自動化されたアシスタントは、より完全な文で話すように子供のユーザを励ましたり、代替的な単語を提案したりする出力を提供する可能性がある。一部の実装において、通常は大人への説明を必要としない語および/またはフレーズが、子供と関わり合うときには自動化されたアシスタントによってより十分に説明される可能性がある。
【００１８】
追加的にまたは代替的に、一部の実装において、自然言語生成(「NLG」)テンプレートは、ユーザが第1の年齢層に入ると推定されるときには1つの自然言語出力が提供され、ユーザが第2の年齢層に入ると推定されるときには別の自然言語出力が提供されることを指示する論理を含む可能性がある。したがって、子供は、そのユーザに合わせられた(たとえば、子供に適する語および/またはスラングを使用する)出力を聞く可能性があり、一方、大人は、異なる出力を聞く可能性がある。
【００１９】
別の例として、自動化されたアシスタントがよく経験する1つのユースケースは、ウェブページの要約(またはウェブページの一部)である。たとえば、ユーザは、オンライン百科事典の記載項目を使用して答えられ得る可能性があるランダムな質問を自動化されたアシスタントに尋ねることが多い。自動化されたアシスタントは、ウェブページの密接な関係がある部分を首尾一貫した答えへと要約するための様々な技術を使用する可能性がある。本明細書において説明される技術を使用して、自動化されたアシスタントは、ウェブページの密接な関係がある部分を要約するときにユーザの推定された年齢層および/または語彙レベルを考慮に入れる可能性がある。たとえば、子供は、ウェブページに記載された高レベルのおよび/または容易に理解可能な概念のみを受け取る可能性があり、一方、大人は、さらなる詳細および/または説明を受け取る可能性がある。一部の実施形態においては、要約が抜粋的(abstractive)なだけでなく生成的(generative)である場合、要約は、自動機械翻訳システム(たとえば、「大人の英語-易しい英語」翻訳システム)によって作動するおよび/または自動機械翻訳システムと組み合わされる可能性さえある。
【００２０】
一部の実装において、自動化されたアシスタントは、子供の文法のおよび/または語彙の進歩について報告するように構成される可能性がある。たとえば、自動化されたアシスタントがその自動化されたアシスタントが大人と関わり合うと判定するとき、または特に自動化されたアシスタントが親の声を認識するとき、大人の/親のユーザは、1人または複数の子供の自動化されたアシスタントとのインタラクションの経過について自動化されたアシスタントに尋ねる可能性がある。様々な実装において、自動化されたアシスタントは、そのような質問に応答して、子供が発音を間違えるかまたは苦労する傾向がある単語または音節、どもる傾向が子供に検出されるかどうか、子供がどんな質問をしたか、子供がインタラクティブゲームでどのように進歩したのかなどなどの様々なデータを提供する可能性がある。
【００２１】
一部の実装においては、1つまたは複数のクライアントデバイスの1つまたは複数の入力構成要素においてユーザから音声の発話を受け取るステップと、出力を生成するために、音声の発話を示すデータを訓練された機械学習モデルに適用するステップと、出力に基づいてユーザが所定の年齢グループに入ると判定するステップと、複数の候補問い合わせ理解モデルから、所定の年齢グループに関連付けられる所与の問い合わせ理解モデルを選択するステップと、所与の問い合わせ理解モデルを使用してユーザの意図を決定するステップと、所定の年齢グループに基づいて、ユーザの意図が解決可能であると判定するステップと、応答データを生成するためにユーザの意図を解決するステップと、クライアントデバイスのうちの1つまたは複数の1つまたは複数の出力構成要素において応答データを出力するステップとを含む、1つまたは複数のプロセッサによって実行される方法が、提供される。
【００２２】
様々な実装において、複数の候補問い合わせ理解モデルは、所与の問い合わせ理解モデルの文法の許容度とは異なる文法の許容度を有する少なくとも1つの候補問い合わせ理解モデルを含む可能性がある。様々な実装において、音声の発話を示すデータは、ユーザによる発話のオーディオ録音を含む可能性があり、機械学習モデルは、オーディオ録音に含まれる1つまたは複数の音素に基づいてユーザの年齢を示す出力を生成するように訓練される。
【００２３】
様々な実装において、方法は、複数の候補自然言語生成モデルから、所定の年齢グループに関連付けられる所与の自然言語生成モデルを選択するステップをさらに含む可能性があり、選択された所与の自然言語出力モデルは、応答データを生成するために使用される。様々な実装において、複数の候補自然言語生成モデルは、所与の自然言語出力モデルによって使用される語彙よりも複雑な語彙を使用する少なくとも1つの候補自然言語生成モデルを含む可能性がある。
【００２４】
様々な実装において、方法は、複数の候補音声合成モデルから、所定の年齢グループに関連付けられる所与の音声合成モデルを選択するステップをさらに含む可能性があり、応答データを出力するステップは、所与の音声合成モデルを使用して実行される。様々な実装において、所与の問い合わせ理解モデルは、音声の発話のスピーチトゥテキスト処理を実行するために適用される可能性がある。様々な実装において、所与の問い合わせ理解モデルは、音声の発話から生成された音声認識出力の自然言語理解を実行するために適用される可能性がある。
【００２５】
別の態様においては、1つまたは複数のクライアントデバイスの1つまたは複数の入力構成要素においてユーザから音声の発話を受け取るステップと、出力を生成するために、音声の発話を示すデータを訓練された機械学習モデルに適用するステップと、前記出力に基づいて、前記ユーザが複数の所定の語彙レベルのうちの所与の語彙レベルに入ると判定するステップと、複数の候補問い合わせ理解モデルから、所与の語彙レベルに関連付けられる所与の問い合わせ理解モデルを選択するステップと、所与の問い合わせ理解モデルを使用してユーザの意図を判定するステップと、所与の語彙レベルに基づいて、ユーザの意図が解決可能であると判定するステップと、応答データを生成するためにユーザの意図を解決するステップと、クライアントデバイスのうちの1つまたは複数の1つまたは複数の出力構成要素において応答データを出力するステップとを含む、1つまたは複数のプロセッサによって実行される方法が、提供される。
【００２６】
加えて、一部の実装は、1つまたは複数のコンピューティングデバイスの1つまたは複数のプロセッサを含み、1つまたは複数のプロセッサは、関連するメモリに記憶された命令を実行するように動作可能であり、命令は、上述の方法のいずれかの実行を引き起こすように構成される。一部の実装は、上述の方法のいずれかを実行するために1つまたは複数のプロセッサによって実行され得るコンピュータ命令を記憶する1つまたは複数の非一時的コンピュータ可読ストレージ媒体も含む。
【００２７】
上述の概念および本明細書においてより詳細に説明される追加的な概念のすべての組合せは、本明細書において開示される対象の一部であると考えられることを理解されたい。たとえば、本開示の最後に現れる特許請求の対象のすべての組合せは、本明細書において開示される対象の一部であると考えられる。
【図面の簡単な説明】
【００２８】
【図１】本明細書において開示される実装が実装される可能性がある例示的な環境のブロック図である。
【図２】様々な実装による本開示の様々な態様を明示する例示的なプロセスフローを示す図である。
【図３Ａ】様々な実装によるユーザと自動化されたアシスタントとの間の例示的な対話を示す図である。
【図３Ｂ】様々な実装によるユーザと自動化されたアシスタントとの間の例示的な対話を示す図である。
【図４Ａ】様々な実装によるユーザと自動化されたアシスタントとの間の例示的な対話を示す図である。
【図４Ｂ】様々な実装によるユーザと自動化されたアシスタントとの間の例示的な対話を示す図である。
【図５Ａ】様々な実装によるユーザと自動化されたアシスタントとの間の例示的な対話を示す図である。
【図５Ｂ】様々な実装によるユーザと自動化されたアシスタントとの間の例示的な対話を示す図である。
【図６】本明細書において開示される実装による例示的な方法を示す流れ図である。
【図７】コンピューティングデバイスの例示的なアーキテクチャを示す図である。
【発明を実施するための形態】
【００２９】
ここで図1に目を向けると、本明細書において開示される技術が実装される可能性がある例示的な環境が示される。例示的な環境は、1つまたは複数のクライアントコンピューティングデバイス106を含む。各クライアントデバイス106は、自動化されたアシスタントクライアント108のそれぞれのインスタンスを実行する可能性がある。自然言語理解モジュール135などの1つまたは複数のクラウドに基づく自動化されたアシスタント構成要素119は、114に全体的に示される1つまたは複数のローカルエリアおよび/または広域ネットワーク(たとえば、インターネット)を介してクライアントデバイス1061〜Nに通信可能なように結合される1つまたは複数のコンピューティングシステム(集合的に「クラウド」コンピューティングシステムと呼ばれる)に実装される可能性がある。
【００３０】
様々な実装において、自動化されたアシスタントクライアント108のインスタンスは、1つまたは複数のクラウドに基づく自動化されたアシスタント構成要素119とのインタラクションを通して、ユーザの観点から見てユーザが、それにより人とコンピュータとの対話に従事する可能性がある自動化されたアシスタント120の論理的なインスタンスであるように見えるものを形成する可能性がある。そのような自動化されたアシスタント120の1つのインスタンスが、図1において破線の中に示される。したがって、クライアントデバイス106上で実行される自動化されたアシスタントクライアント108と関わり合う各ユーザは、実際には、自動化されたアシスタント120のそのユーザ独自の論理的なインスタンスと関わり合う可能性があることを理解されたい。簡潔で単純にするために、特定のユーザに「サービスを提供する」ものとして本明細書において使用される用語「自動化されたアシスタント」は、ユーザによって運用されるクライアントデバイス106上で実行される自動化されたアシスタントのクライアント108と(複数の自動化されたアシスタントクライアント108の間で共有される可能性がある)1つまたは複数のクラウドに基づく自動化されたアシスタント構成要素119との組み合わせを指す。一部の実装において、自動化されたアシスタント120は、ユーザが自動化されたアシスタント120のその特定のインスタンスによって実際に「サービスを提供される」かどうかに関係なく任意のユーザからの要求に応答する可能性があることも理解されたい。
【００３１】
1つまたは複数のクライアントデバイス106は、たとえば、デスクトップコンピューティングデバイス、ラップトップコンピューティングデバイス、タブレットコンピューティングデバイス、モバイル電話コンピューティングデバイス、ユーザの乗り物のコンピューティングデバイス(たとえば、車載通信システム、車載エンターテインメントシステム、車載ナビゲーションシステム)、スタンドアロンのインタラクティブスピーカ、スマートテレビ(もしくは自動化されたアシスタントの能力を有するネットワークに接続されたドングルを備える普通のテレビ)などのスマート家電、および/またはコンピューティングデバイスを含むユーザのウェアラブル装置(たとえば、コンピューティングデバイスを有するユーザの腕時計、コンピューティングデバイスを有するユーザのメガネ、仮想もしくは拡張現実コンピューティングデバイス)のうちの1つまたは複数を含む可能性がある。追加的なおよび/または代替的なクライアントコンピューティングデバイスが、提供される可能性がある。
【００３２】
本明細書においてより詳細に説明されるように、自動化されたアシスタント120は、1つまたは複数のクライアントデバイス106のユーザインターフェースの入力および出力デバイスを介した1人または複数のユーザとの人とコンピュータとの対話セッションに従事する。一部の実装において、自動化されたアシスタント120は、クライアントデバイス106のうちの1つの1つまたは複数のユーザインターフェースの入力デバイスを介してユーザによって与えられたユーザインターフェース入力に応答してユーザとの人とコンピュータとの対話セッションに従事する可能性がある。それらの実装の一部において、ユーザインターフェースの入力は、自動化されたアシスタント120に明示的に向けられる。たとえば、ユーザは、自動化されたアシスタント120にアクティブなリスニングを開始させる「OK, Assistant」または「Hey, Assistant」などの所定の呼び出しフレーズを言う可能性がある。
【００３３】
一部の実装において、自動化されたアシスタント120は、ユーザインターフェース入力が自動化されたアシスタント120に明示的に向けられないときでさえもそのユーザインターフェース入力に応答して人とコンピュータとの対話セッションに従事する可能性がある。たとえば、自動化されたアシスタント120は、ユーザインターフェース入力の内容を調べ、ユーザインターフェース入力の中に特定の用語が存在することに応じておよび/またはその他の手掛かりに基づいて対話セッションに従事する可能性がある。多くの実装において、自動化されたアシスタント120は、音声認識を利用してユーザからの発話をテキストに変換し、たとえば、検索結果を提供することによって、全般的な情報を提供することによって、および/または1つもしくは複数の応答する行為を行うこと(たとえば、メディアを再生すること、ゲームを起動すること、食べ物を注文することなど)によってテキストに相応に応答する可能性がある。一部の実装において、自動化されたアシスタント120は、追加的にまたは代替的に、発話をテキストに変換することなく発話に応答し得る。たとえば、自動化されたアシスタント120は、音声入力を埋め込み、(音声入力内に存在する1つのエンティティ(entity)/複数のエンティティを示す)エンティティ表現、および/またはその他の「非テキスト」表現に変換し、そのような非テキスト表現によって働き得る。したがって、音声入力から変換されたテキストに基づいて動作するものとして本明細書において説明される実装は、追加的におよび/または代替的に、直接的に音声入力によっておよび/または音声入力のその他の非テキスト表現によって動作する可能性がある。
【００３４】
クライアントコンピューティングデバイス106およびクラウドに基づく自動化されたアシスタント構成要素119を動作させるコンピューティングデバイスの各々は、データおよびソフトウェアアプリケーションを記憶するための1つまたは複数のメモリと、データにアクセスし、アプリケーションを実行するための1つまたは複数のプロセッサと、ネットワークを介した通信を容易にするためのその他の構成要素とを含む可能性がある。クライアントコンピューティングデバイス106によっておよび/または自動化されたアシスタント120によって実行される動作は、複数のコンピュータシステムに分散される可能性がある。自動化されたアシスタント120は、たとえば、ネットワークを通じて互いに結合される1つまたは複数の場所の1つまたは複数のコンピュータ上で実行されるコンピュータプログラムとして実装される可能性がある。
【００３５】
上述のように、様々な実装において、クライアントコンピューティングデバイス106は、自動化されたアシスタントクライアント108を動作させる可能性がある。様々な実装において、自動化されたアシスタントクライアント108は、音声キャプチャモジュール110、習熟度ディテクタ111、および/または呼び出しモジュール112を含む可能性がある。その他の実装において、音声キャプチャモジュール110、習熟度ディテクタ111、および/または呼び出しモジュール112の1つまたは複数の態様は、たとえば、1つまたは複数のクラウドに基づく自動化されたアシスタント構成要素119によって自動化されたアシスタントクライアント108と別れて実装される可能性がある。様々な実装において、音声キャプチャモジュール110は、ユーザの発話のオーディオ録音をキャプチャするためにマイクロフォンなどのハードウェア(図示せず)とインターフェースを取る可能性がある。様々な種類の処理が、下で説明されるように、様々な目的でオーディオ録音に対して実行される可能性がある。
【００３６】
様々な実装において、ハードウェアまたはソフトウェアの任意の組合せを使用して実装される可能性がある習熟度ディテクタ111は、ユーザの明白な話し方の習熟度に基づいて1つまたは複数の判定を行うために音声キャプチャモジュール110によってキャプチャされたオーディオ録音を分析するように構成される可能性がある。一部の実装において、これらの判定は、ユーザの年齢の予測または推定を、たとえば、複数の年齢層のうちの1つへのユーザの分類として含む可能性がある。追加的にまたは代替的に、これらの判定は、ユーザの語彙レベルの予測もしくは推定、または複数の語彙レベルのうちの1つへのユーザの分類を含む可能性がある。以下で説明されるように、習熟度ディテクタ111によって行われる判定は、たとえば、複数の異なる年齢グループおよび/または語彙レベルのユーザに対処するために自動化されたアシスタントクライアント120の様々な構成要素によって使用される可能性がある。
【００３７】
習熟度ディテクタ111は、ユーザの話し方の習熟度についての判定を行うために様々な技術を使用する可能性がある。たとえば、図1において、習熟度ディテクタ111は、(クライアントデバイス106と一体である、および/またはクライアントデバイス106の遠隔に、たとえば、クラウドにホストされる可能性がある)習熟度モデルデータベース113と通信可能なように結合される。習熟度モデルデータベース113は、ユーザの話し方の習熟度を示す出力を生成するように訓練される1つまたは複数の人工知能(または機械学習)モデルを含む可能性がある。様々な実装において、人工知能(または機械学習)モデルは、オーディオ録音に含まれる1つまたは複数の音素、オーディオ録音内で検出されたユーザの声の高さ、発音などに基づいてユーザの年齢を示す出力を生成するように訓練される可能性がある。
【００３８】
1つの非限定的な例として、ニューラルネットワークが、ユーザの発話のオーディオ録音--またはオーディオ録音から抽出された特徴ベクトル--が入力としてニューラルネットワークに適用される可能性があるように訓練される(およびデータベース113に記憶される)可能性がある。様々な実装において、ニューラルネットワークは、複数の出力を生成する可能性があり、各出力は、年齢層および関連する確率に対応する。一部のそのような実装においては、最も高い確率を有する年齢層が、ユーザの年齢層の予測として使用される可能性がある。そのようなニューラルネットワークは、ユーザのそれぞれの年齢(または年齢層)をラベル付けされたユーザのオーディオ録音(またはオーディオ録音から生成された特徴ベクトル)などの様々な形態の訓練例を使用して訓練される可能性がある。訓練例がネットワークに適用されるとき、生成された出力と訓練例に関連するラベルとの間の違いが、たとえば、損失関数を最小化するために使用される可能性がある。そして、ニューラルネットワークの様々な重みが、たとえば、勾配降下および/または逆伝播などの標準的な技術を使用して調整される可能性がある。
【００３９】
音声キャプチャモジュール110は、上述のように、たとえば、マイクロフォン(図示せず)によってユーザの話しをキャプチャするように構成される可能性がある。追加的にまたは代替的に、一部の実装において、音声キャプチャモジュール110は、たとえば、スピーチトゥテキスト(「STT」)処理技術を使用してそのキャプチャされたオーディオをテキストおよび/またはその他の表現もしくは埋め込みに変換するようにさらに構成される可能性がある。追加的にまたは代替的に、一部の実装において、音声キャプチャモジュール110は、たとえば、1つまたは複数の音声合成器を使用してテキストをコンピュータによって合成された話しに変換するように構成される可能性がある。しかし、クライアントデバイス106が計算リソース(たとえば、プロセッササイクル、メモリ、バッテリなど)の点で比較的制約される可能性があるので、クライアントデバイス106のローカルにある音声キャプチャモジュール110は、有限の数の異なる口語フレーズ--特に自動化されたアシスタント120を呼び出すフレーズ--をテキストに(またはより低い次元の埋め込みなどのその他の形態に)変換するように構成される可能性がある。その他の音声入力が、クラウドに基づく自動化されたアシスタントの構成要素119に送信される可能性があり、クラウドに基づく自動化されたアシスタントの構成要素119は、クラウドに基づくTTSモジュール116および/またはクラウドに基づくSTTモジュール117を含む可能性がある。
【００４０】
一部の実装において、クライアントデバイス106は、ユーザの発話が自動化されたアシスタント120との人とコンピュータとの対話を開始すべき呼び出しフレーズとして適するかどうかを判定するように構成される呼び出しモジュール112を含む可能性がある。ユーザの年齢(または年齢層)が習熟度ディテクタ111によって推定されると、一部の実装において、呼び出しモジュール112は、オーディオ録音またはオーディオ録音から抽出された特徴のベクトル(たとえば、埋め込み)などのユーザの発話を示すデータをユーザ推定された年齢層と併せて分析する可能性がある。一部の実装において、自動化されたアシスタント120を呼び出すべきかどうかを判定するために呼び出しモジュール112によって使用される閾値は、ユーザの推定された年齢が1つまたは複数の年齢層、たとえば、小さな子供に関連する年齢層に入る場合、引き下げられる可能性がある。結果として、小さな子供と関わり合うとき、適切な呼び出しフレーズ「OK assistant」と異なるが潜在的に幾分にている「OK assisa」などのフレーズが、それにもかかわらず呼び出しとして受け付けられる可能性がある。
【００４１】
追加的にまたは代替的に、デバイスに搭載された呼び出しモデルが、発話が呼び出しとして適するかどうかを判定するために呼び出しモデル112によって使用される可能性がある。そのようなデバイスに搭載された呼び出しモデルは、呼び出しフレーズのよくある変化形を検出するように訓練される可能性がある。たとえば、一部の実装において、デバイスに搭載された呼び出しモデル(たとえば、1つまたは複数のニューラルネットワーク)は、子供の発話のオーディオ録音(または抽出された特徴ベクトル)をそれぞれが含む訓練例を使用して訓練される可能性がある。一部の訓練例は、適切な呼び出しフレーズを発しようとする子供の試みを含む可能性があり、そのような訓練例は、肯定的訓練例である可能性がある。加えて、一部の実装において、一部の訓練例は、呼び出しフレーズを言おうと試みない子供からのその他の発話を含む可能性がある。これらのその他の訓練例は、否定的訓練例として使用される可能性がある。(肯定的および/または否定的)訓練例は、出力を生成するために、入力として、デバイスに搭載された呼び出しモデルに適用される可能性がある。出力は、訓練例に関連するラベル(たとえば、肯定的または否定的)と比較される可能性があり、違い(誤差関数)が、たとえば、勾配降下および/または逆伝播などの技術を使用してデバイスに搭載された呼び出しモデルを訓練するために使用される可能性がある。一部の実装においては、デバイスに搭載された呼び出しモデルが発話が呼び出しとして適することを示すが、出力に関連する信頼スコアが(たとえば、発話が間違った発音をしがちな子供によって生成されたために)比較的低い場合、低い信頼性スコア自体が、たとえば、子供の年齢を推定するために習熟度ディテクタ111によって使用される可能性がある。
【００４２】
クラウドに基づくTTSモジュール116は、テキストデータ(たとえば、自動化されたアシスタント120によって作られた自然言語応答)をコンピュータによって生成される音声出力に変換するためにクラウドの潜在的にずっと大きなコンピューティングリソースを利用するように構成される可能性がある。一部の実装において、TTSモジュール116は、コンピュータによって生成される音声出力を、たとえば、1つまたは複数のスピーカを使用して直接出力されるようにクライアントデバイス106に提供する可能性がある。その他の実装において、自動化されたアシスタント120によって生成されたテキストデータ(たとえば、自然言語応答)は、音声キャプチャモジュール110に提供される可能性があり、それから、音声キャプチャモジュール110が、テキストデータを、ローカルで出力されるコンピュータによって生成される音声に変換する可能性がある。一部の実装において、クラウドに基づくTTSモジュール116は、複数の音声合成モデルを含むデータベース115と動作可能なように結合される可能性がある。各音声合成モデルは、特定の話し方の習熟度を有するおよび/または特定の年齢グループのユーザとインタラクションするとき、特定の種類の声--たとえば、男性、女性、漫画のキャラクタ、特定のアクセントを有する話者など--をエミュレートするコンピュータ音声を生成するために自動化されたアシスタント120によって使用される可能性がある。
【００４３】
一部の実装において、TTSモジュール116は、要求に応じて特定の音声合成モデルを使用する可能性がある。たとえば、自動化されたアシスタント120が、通常、フレーズ「Hey Assistant」によって呼び出されると仮定する。一部の実装において、このフレーズを検出するために使用されるモデル(たとえば、上述のデバイスに搭載された呼び出しモデル)は、たとえば、任意の発話「Hey, <entity>」に応答するように修正される可能性がある。一部のそのような実装においては、要求された<entity>が、使用する音声合成モデルを選択するためにTTSモジュール116によって使用される可能性がある。したがって、子供が「Hey, Hypothetical Hippo」のようなことを言うことによって自動化されたアシスタントを呼び出す場合、エンティティ「Hypothetical Hippo」に関連する音声合成モデルが、使用される可能性がある。
【００４４】
クラウドに基づくSTTモジュール117は、音声キャプチャモジュール110によってキャプチャされた音声データをテキストに変換するためにクラウドの潜在的にずっと大きなコンピューティングリソースを利用するように構成される可能性があり、それから、テキストは、自然言語理解モジュール135に提供される可能性がある。様々な実装において、クラウドに基づくSTTモジュール117は、子供などの限られたおよび/または十分に発達していない語彙および/または文法を用いるユーザの話しを解釈するように特に仕立てられる1つまたは複数のカスタムパーサおよび/またはSTTモデル(本明細書においては包括的用語「問い合わせ理解モデル」で呼ばれることがある)を使用する可能性がある。
【００４５】
たとえば、一部の実装において、クラウドに基づくSTTモジュール117は、複数の問い合わせ理解モデルを記憶する1つまたは複数のデータベース118と動作可能なように結合される可能性がある。各問い合わせ理解モデルは、ユーザの特定の年齢層で使用するために構成される可能性がある。一部の実装において、各問い合わせ理解モデルは、オーディオ入力(または特徴ベクトルへと抽出されるオーディオ入力の音素および/もしくはその他の特徴などのオーディオ入力を示すデータ)に基づいて話しからテキストを生成するように訓練される人工知能モデル(たとえば、様々な種類のニューラルネットワーク)を含む可能性がある。一部のそのような実装において、そのようなモデルのための訓練データは、たとえば、音声の実際のテキストによってラベル付けされた、ノイズを入れた大人からのオーディオ録音(またはオーディオ録音を示すデータ)を含む可能性がある。追加的にまたは代替的に、一部の実装において、訓練データは、子供の話しのテキストによってラベル付けされた子供からのオーディオ録音を含む可能性がある。
【００４６】
一部の実装において、クラウドに基づくSTTモジュール117は、話しのオーディオ録音を1つまたは複数の音素に変換し、それから、1つまたは複数の音素をテキストに変換する可能性がある。追加的にまたは代替的に、一部の実装において、STTモジュール117は、状態復号グラフ(state decoding graph)を使用する可能性がある。一部の実装において、STTモジュール117は、ユーザの発話の複数の候補テキスト解釈を生成する可能性がある。通常の自動化されたアシスタント120によると、信頼スコアが何らかの閾値を満たしたおよび/またはその他の候補テキスト解釈に関連する信頼スコアよりも十分に良い信頼スコアを持っていたのであれば、最も高い関連する信頼スコアを有する候補テキスト解釈が、ユーザの自由形式の入力として受け付けられる可能性がある。そうでなければ、自動化されたアシスタント120は、ユーザに明確化および/または曖昧性の解消を求める可能性がある。本開示の選択された態様によって構成されたSTTモジュール117によると、そのような閾値が、引き下げられる可能性がある。結果として、自動化されたアシスタント120は、たとえユーザの発話(たとえば、幼児の発言)が文法的な/語彙の欠陥を示すとしてもユーザの意図を満足させようと試みる可能性がより高い可能性がある。
【００４７】
自動化されたアシスタント120(および特にクラウドに基づく自動化されたアシスタント構成要素119)は、自然言語理解モジュール135、上述のTTSモジュール116、上述のSTTモジュール117、および下でより詳細に説明されるその他の構成要素を含む可能性がある。一部の実装において、自動化されたアシスタント120のモジュールおよび/またはモジュールのうちの1つまたは複数は、省略される、組み合わされる、および/または自動化されたアシスタント120とは別である構成要素に実装される可能性がある。一部の実装においては、プライバシーを保護するために、自然言語プロセッサ122、TTSモジュール116、STTモジュール117などの自動化されたアシスタント120の構成要素のうちの1つまたは複数が、(たとえば、クラウドを除いて)少なくとも部分的にクライアントデバイス106に実装される可能性がある。
【００４８】
一部の実装において、自動化されたアシスタント120は、自動化されたアシスタント120との人とコンピュータとの対話セッション中にクライアントデバイス1061〜Nのうちの1つのユーザによって生成された様々な入力に応答して応答内容を生成する。自動化されたアシスタント120は、対話セッションの一部としてユーザに提示するための応答内容を(たとえば、ユーザのクライアントデバイスと別であるときは1つまたは複数のネットワークを介して)提供する可能性がある。たとえば、自動化されたアシスタント120は、クライアントデバイス106を介して与えられた自由形式の自然言語入力に応答して応答内容を生成する可能性がある。本明細書において使用されるとき、自由形式の入力は、ユーザによって作られ、ユーザによる選択のために提示される一群の選択肢に制約されない入力である。
【００４９】
本明細書において使用されるとき、「対話セッション」は、ユーザと自動化されたアシスタント120(および場合によってはその他の人間の参加者)との間の1つまたは複数のメッセージの論理的に自己充足的な交換を含む可能性がある。自動化されたアシスタント120は、セッション間の時間の経過、セッション間のユーザコンテキスト(たとえば、場所、スケジューリングされた会議の前/間/後など)、ユーザと自動化されたアシスタントとの間の対話以外のユーザとクライアントデバイスとの間の1つまたは複数の仲介インタラクションの検出(たとえば、ユーザはしばらくの間アプリケーションを切り替え、ユーザはスタンドアロンの音声作動式の製品から遠ざかり、そして後でその音声作動式の製品に戻る)、セッション間のクライアントデバイスのロック/スリープ、自動化されたアシスタント120の1つまたは複数のインスタンスとインターフェースを取るために使用されるクライアントデバイスの変更などの様々な合図に基づいてユーザとの複数の対話セッションを区別する可能性がある。
【００５０】
自然言語理解モジュール135の自然言語プロセッサ122は、クライアントデバイス106を介してユーザによって生成された自然言語入力を処理し、自動化されたアシスタント120の1つまたは複数のその他の構成要素による使用のために(たとえば、テキスト形式の)注釈付きの出力を生成する可能性がある。たとえば、自然言語プロセッサ122は、クライアントデバイス1061の1つまたは複数のユーザインターフェースの入力デバイスを介してユーザによって生成される自然言語の自由形式の入力を処理する可能性がある。生成される注釈付きの出力は、自然言語入力の1つまたは複数の注釈および自然言語入力の語のうちの1つまたは複数(たとえば、すべて)を含む。
【００５１】
一部の実装において、自然言語プロセッサ122は、自然言語入力内の様々な種類の文法的情報を特定し、注釈を付けるように構成される。たとえば、自然言語プロセッサ122は、個々の単語を形態素に分割するおよび/または形態素にたとえばそれらの形態素のクラスによって注釈を付ける可能性がある形態モジュールを含む可能性がある。自然言語プロセッサ122は、語にそれらの語の文法的役割によって注釈を付けるように構成された品詞タガーも含む可能性がある。たとえば、品詞タガーは、各語を「名詞」、「動詞」、「形容詞」、「代名詞」などのその語の品詞によってタグ付けする可能性がある。また、たとえば、一部の実装において、自然言語プロセッサ122は、追加的におよび/また代替的に、自然言語入力内の語の間の統語的関係を決定するように構成された依存関係パーサ(図示せず)を含む可能性がある。たとえば、依存関係パーサは、どの語がその他の語を修飾するか、文の主語および動詞など(たとえば、解析木)を決定する可能性があり--そのような依存関係の注釈を付ける可能性がある。
【００５２】
一部の実装において、自然言語プロセッサ122は、追加的におよび/また代替的に、(たとえば、文学のキャラクタ、有名人、著名人などを含む)人、組織、(現実のおよび架空の)場所などへの言及などの1つまたは複数のセグメント内のエンティティの言及に注釈を付けるように構成されたエンティティタガー(図示せず)を含む可能性がある。一部の実装においては、エンティティについてのデータが、ナレッジグラフ(knowledge graph)(図示せず)などの1つまたは複数のデータベースに記憶される可能性がある。一部の実装において、ナレッジグラフは、知られているエンティティ(および場合によってはエンティティの属性)を表すノードと、ノードを接続し、エンティティの間の関係を表すエッジとを含む可能性がある。たとえば、「banana」ノードが、「fruit」ノードに(たとえば、子として)接続される可能性があり、そして今度は、「fruit」ノードが、「produce」および/または「food」ノードに(たとえば、子として)接続される可能性がある。別の例として、「Hypothetical Cafe」と呼ばれるレストランが、そのレストランの住所、提供される食事の種類、営業時間、連絡先情報などの属性も含むノードによって表される可能性がある。「Hypothetical Cafe」ノードは、一部の実装において、「restaurant」ノード、「business」ノード、レストランのある都市および/または州を表すノードなどの1つまたは複数のその他のノードに(たとえば、子-親関係を表す)エッジによって接続される可能性がある。
【００５３】
自然言語プロセッサ122のエンティティタガーは、(たとえば、人などのエンティティのクラスへのすべての言及の特定を可能にするための)高レベルの粒度(granularity)および/または(たとえば、特定の人物などの特定のエンティティへのすべての言及の特定を可能にするための)より低いレベルの粒度でエンティティへの言及に注釈を付ける可能性がある。エンティティタガーは、特定のエンティティを解決するために自然言語入力の内容に依拠する可能性があり、および/または特定のエンティティを解決するためにナレッジグラフもしくはその他のエンティティデータベースと任意で通信する可能性がある。
【００５４】
一部の実装において、自然言語プロセッサ122は、追加的におよび/また代替的に、1つまたは複数の状況から得られる手掛かり(contextual cue)に基づいて同じエンティティへの言及をグループ分けするかまたは「クラスタリングする」ように構成された同一指示(coreference)リゾルバ(図示せず)を含む可能性がある。たとえば、同一指示リゾルバは、自然言語入力「I liked Hypothetical Cafe last time we ate there.」内の語「there」を「Hypothetical Cafe」に解決するために利用される可能性がある。
【００５５】
一部の実装において、自然言語プロセッサ122の1つまたは複数の構成要素は、自然言語プロセッサ122の1つまたは複数のその他の構成要素からの注釈に依拠する可能性がある。たとえば、一部の実装において、指定されたエンティティタガーは、特定のエンティティへのすべての言及に注釈を付ける際に同一指示リゾルバおよび/または依存関係パーサからの注釈に依拠する可能性がある。また、たとえば、一部の実装において、同一指示リゾルバは、同じエンティティへの言及をクラスタリングする際に依存関係パーサからの注釈に依拠する可能性がある。一部の実装においては、特定の自然言語入力を処理する際に、自然言語プロセッサ122の1つまたは複数の構成要素が、1つまたは複数の注釈を決定するために関連する以前の入力および/または特定の自然言語入力の外のその他の関連するデータを使用する可能性がある。
【００５６】
自然言語理解モジュール135は、自動化されたアシスタント120との人とコンピュータとの対話セッションに従事させられるユーザの意図を判定するように構成される意図マッチャ136も含む可能性がある。図1においては自然言語プロセッサ122とは別に示されているが、その他の実装において、意図マッチャ136は、自然言語プロセッサ122の(またはより広く自然言語プロセッサ122を含むパイプラインの)一体的な部分である可能性がある。一部の実装において、自然言語プロセッサ122および意図マッチャ136は、集合的に、上述の「自然言語理解」モジュール135を形成する可能性がある。
【００５７】
意図マッチャ136は、たとえば、(自然言語入力の注釈および語を含む可能性がある)自然言語プロセッサ122からの出力に基づいてユーザの意図を判定するための様々な技術を使用する可能性がある。一部の実装において、意図マッチャ136は、たとえば文法と応答する行為(またはより広く意図)との間の複数のマッピングを含む1つまたは複数のデータベース137にアクセスすることができる可能性がある。多くの場合、これらの文法は、選択されおよび/または時間とともに学習される可能性があり、ユーザの最も普通の意図を表す可能性がある。たとえば、1つの文法「play <artist>」は、<artist>による音楽をユーザによって運用されるクライアントデバイス106上で再生させる応答する行為を呼び出す意図にマッピングされる可能性がある。別の文法「[weather|forecast] today」は、「what's the weather today」および「what's the forecast for today?」などのユーザの問い合わせにマッチングされ得る可能性がある。文法に加えてまたは文法の代わりに、一部の実装において、意図マッチャ136は、1つまたは複数の訓練された機械学習モデルを単独でまたは1つもしくは複数の文法と組み合わせて使用する可能性がある。これらの訓練された機械学習モデルも、1つまたは複数のデータベース137に記憶される可能性があり、たとえば、ユーザの発話を示すデータを削減された次元の空間に埋め込むことによって意図を特定し、それから、たとえば、ユークリッド距離、コサイン類似度などの技術を使用してどのその他の埋め込み(およびしたがって意図)が最も近いかを判定するように訓練される可能性がある。
【００５８】
「play <artist>」の例示的な文法に見られるように、いくつかの文法は、スロット値(または「パラメータ」)によって埋められ得るスロット(たとえば、<artist>)を有する。スロット値は、様々な方法で決定される可能性がある。多くの場合、ユーザは、スロット値を先回りして与える。たとえば、文法「Order me a <topping> pizza」に関して、ユーザは、フレーズ「order me a sausage pizza」と言う見込みが大きい可能性があり、その場合、スロット<topping>は、自動的に埋められる。追加的にまたは代替的に、ユーザがスロット値を先回りして与えることなしにユーザがスロット値によって埋められるスロットを含む文法を呼び出す場合、自動化されたアシスタント120が、ユーザにそれらのスロット値を求める可能性がある(たとえば、「what type of crust do you want on your pizza?」)。
【００５９】
一部の実装において、自動化されたアシスタント120は、ユーザと、入力を受け取り、応答出力を提供する独立したソフトウェアプロセスである可能性があるエージェントとの間のトランザクションを容易にする(たとえば、「仲介する」)可能性がある。一部のエージェントは、たとえば、クラウドに基づく自動化されたアシスタント構成要素119を動作させるコンピューティングシステムとは別であるコンピューティングシステム上で動作する可能性がありまたは動作しない可能性があるサードパーティアプリケーションの形態をとる可能性がある。意図マッチャ136によって特定される可能性があるユーザの意図の1つの種類は、サードパーティアプリケーションを関与させることになる。たとえば、自動化されたアシスタント120は、アプリケーションプログラミングインターフェース(「API」)へのアクセスをピザ宅配サービスに提供する可能性がある。ユーザは、自動化されたアシスタント120を呼び出し、「I'd like to order a pizza.」などのコマンドを与える可能性がある。意図マッチャ136は、このコマンドを、サードパーティピザ宅配サービスと関わり合うように自動化されたアシスタント120をトリガする(場合によってはサードパーティによってデータベース137に追加される可能性がある)文法にマッピングする可能性がある。サードパーティピザ宅配サービスは、自動化されたアシスタント120に、ピザ宅配の注文を遂行するために埋められる必要があるスロットの最小限のリストを与える可能性がある。自動化されたアシスタント120は、スロットのためのパラメータを求める自然言語出力を生成し、(クライアントデバイス106を介して)ユーザに与える可能性がある。
【００６０】
様々な実装において、意図マッチャ136は、たとえば、データベース137において、文法および/または訓練されたモデルの複数の組のライブラリにアクセスすることができる可能性がある。文法および/またはモデルの各組は、自動化されたアシスタント120と特定の年齢層および/または語彙レベルのユーザとの間のインタラクションを容易にするように設計される可能性がある。一部の実装において、これらの文法および/またはモデルは、(たとえば、データベース118に記憶された)STTモジュール117に関連して上で説明されたモデルに加えてまたはそれらのモデルの代わりに上述の「問い合わせ理解モデル」の一部である可能性がある。したがって、一部の実装において、問い合わせ理解モデルは、STT処理と意図マッチングとの両方の間に使用される構成要素を含む可能性がある。その他の実装において、問い合わせ理解モデルは、STT処理中にのみ使用される構成要素を含む可能性がある。さらにその他の実装において、問い合わせ理解モデルは、意図マッチングおよび/または自然言語処理にのみ使用される構成要素を含む可能性がある。これらの変化形の任意の組合せが、本明細書において想定される。問い合わせ理解モデルがSTT処理と意図マッチングとの両方の間に使用される場合、一部の実装において、データベース118および137は、組み合わされる可能性がある。
【００６１】
例として、データベース137に記憶された文法および/またはモデル(もしくは「問い合わせ理解モデル」)の第1の組が、非常に小さな子供、たとえば、2歳未満の幼児とのインタラクションを容易にするように構成される可能性がある。一部のそのような実装において、文法/モデルのそのような組は、文法、語彙、発音などの誤りに関して比較的高い許容度を有する可能性があり、たとえば、子供が動物の名前を言うときに動物の鳴き声を出すようなことをする可能性がある。文法および/またはモデルの別の組は、2歳から4歳までの子供および/または限られた語彙を有するその他の者(たとえば、自動化されたアシスタント120によって使用される言語を学習中のユーザ)との関わり合いを容易にするように構成される可能性がある。文法および/またはモデルのそのような組は、誤りに関して若干低い許容度を有する可能性があるが、しかしなおも比較的寛大である可能性がある。文法および/またはモデルの別の組は、「次の」年齢層および/または語彙、たとえば、5歳から7歳までのおよび/または中級の話者との関わり合いを容易にするように構成される可能性があり、誤りの許容度がさらに低い可能性がある。文法および/またはモデルのさらに別の組は、大人、より年上の子供、および/またはその他の比較的習熟した話者との「通常の」関わり合いを容易にするように構成される可能性がある--文法、語彙、および/または発音の誤りに関する許容度は、文法/モデルのそのような組に関しては比較的低い可能性がある。
【００６２】
遂行モジュール124は、意図マッチャ136によって出力される予測された/推定された意図と、(ユーザによって先回りして与えられるかまたはユーザに求められるかに関わらず)関連するスロット値とを受け取り、意図を遂行する(または「解決する」)ように構成される可能性がある。様々な実装において、ユーザの意図の遂行(または「解決」)は、様々な遂行情報(「応答」情報またはデータとも呼ばれる)を、たとえば、遂行モジュール124によって生成させる/取得させる可能性がある。以下で説明されるように、遂行情報は、一部の実装においては、自然言語ジェネレータ(一部の図においては「NLG」)126に提供される可能性があり、自然言語ジェネレータ126は、遂行情報に基づいて自然言語出力を生成する可能性がある。
【００６３】
遂行情報は、意図が様々な方法で遂行され得るので様々な形態をとる可能性がある。ユーザが「Where were the outdoor shots of 'The Shining' filmed?」のように純然たる情報を要求すると仮定する。ユーザの意図は、たとえば、意図マッチャ136によって検索クエリであるものと判定される可能性がある。検索クエリの意図および内容が、遂行モジュール124に与えられる可能性があり、遂行モジュール124は、図1に示されるように、応答情報に関して文書のコーパスおよび/またはその他のデータソース(たとえば、ナレッジグラフなど)を検索するように構成された1つまたは複数の検索モジュール150と通信する可能性がある。遂行モジュール124は、検索クエリを示すデータ(たとえば、クエリのテキスト、次元の削減された埋め込みなど)を検索モジュール150に提供する可能性がある。検索モジュール150は、GPS座標または「Timberline Lodge, Mt. Hood, Oregon」などのその他のより明示的な情報などの応答情報を提供する可能性がある。この応答情報は、遂行モジュール124によって生成される遂行情報の一部を形成する可能性がある。
【００６４】
追加的にまたは代替的に、遂行モジュール124は、たとえば、自然言語理解モジュール135から、ユーザの意図と、ユーザによって与えられたまたはその他の手段を使用して決定された任意のスロット値(たとえば、ユーザのGPS座標、ユーザの好みなど)とを受け取り、応答する行為をトリガするように構成される可能性がある。応答する行為は、たとえば、品物/サービスを注文すること、タイマーを開始すること、リマインダを設定すること、電話をかけること、メディアを再生すること、メッセージを送信することなどを含む可能性がある。一部のそのような実装において、遂行情報は、遂行に関連するスロット値、(場合によっては所定の応答から選択される可能性がある)確認応答などを含む可能性がある。
【００６５】
一部の実装においては、STTモジュール117および意図マッチャ136などの本明細書におけるその他の構成要素と同様に、遂行モジュール124は、様々な年齢層および/または語彙レベルに合わせられる規則のライブラリ、ヒューリスティックスなどを記憶するデータベース125にアクセスすることができる可能性がある。たとえば、データベース125は、ユーザの年齢に応じてユーザが何にアクセスすることができ、何にアクセスすることができないのかを指示するウェブサイト、統一資源識別子(URI)、ユニバーサルリソースロケータ(URL)、ドメインなどの1つまたは複数のホワイトリストおよび/またはブラックリストを記憶する可能性がある。データベース125は、どのようにしてユーザが自動化されたアシスタント120を上述のようにたとえば品物もしくはサービスを注文するために使用され得るサードパーティアプリケーションと関わり合わせることができるのか、および/またはユーザが自動化されたアシスタント120を上述のようにたとえば品物もしくはサービスを注文するために使用され得るサードパーティアプリケーションと関わり合わせることができるのかどうかを指示する1つまたは複数の規則も含む可能性がある。
【００６６】
上述のように、自然言語ジェネレータ126は、様々なソースから取得されたデータに基づいて自然言語出力(たとえば、人間の話しをまねるように設計される単語/フレーズ)を生成するおよび/または選択するように構成される可能性がある。一部の実装において、自然言語ジェネレータ126は、意図の遂行に関連する遂行情報を入力として受け取り、遂行情報に基づいて自然言語出力を生成するように構成される可能性がある。追加的にまたは代替的に、自然言語ジェネレータ126は、その自然言語ジェネレータ126がユーザのための自然言語出力を構成するために使用する可能性があるサードパーティアプリケーションなどのその他のソースからの情報(たとえば、必要とされるスロット)を受け取る可能性がある。
【００６７】
ユーザの意図が全般的な情報を検索することである場合、自然言語ジェネレータ126は、たとえば、文の形態でユーザの意図に応答する情報を運ぶ自然言語出力を生成する可能性がある。場合によっては、自然言語出力は、たとえば、自然言語ジェネレータ126によって抽出され、(たとえば、それが既に完全な文の形態であるので)文書から変更されず、そのまま提供される可能性がある。追加的にまたは代替的に、一部の実装において、応答内容は、完全な文の形態ではない可能性があり(たとえば、今日の天気の要求は、高い温度および降水確率を独立したデータとして含む可能性がある)、その場合は、自然言語ジェネレータ126が、応答内容を提示する1つまたは複数の完全な文またはフレーズを自然言語出力として作る可能性がある。
【００６８】
一部の実装において、自然言語ジェネレータ126は、自然言語出力を生成するために、本明細書において「自然言語生成テンプレート」(または「NLGテンプレート」)と呼ばれるものに依拠する可能性がある。一部の実装において、NLGテンプレートは、データベース127に記憶される可能性がある。NLGテンプレートは、遂行モジュール124によって生成される遂行情報と一緒に含められるデータなどの様々なソースからの様々な情報に応じて自然言語出力の作成を命じる論理(たとえば、if/else文、ループ、その他のプログラミング論理)を含む可能性がある。したがって、いくつかの方法で、NLGテンプレートは、実際には状態機械を構成する可能性があり、任意の知られているプログラミング言語またはその他のモデリング言語(たとえば、統一モデリング言語、仕様記述言語(Specification and Description Language)、拡張可能マークアップ言語など)を使用して作成される可能性がある。
【００６９】
例として、NLGテンプレートは、天気情報の英語の要求に応答するように構成される可能性がある。NLGテンプレートは、複数の候補の自然言語出力のうちのどれが複数の状況下で提供されるかを指示する可能性がある。たとえば、遂行モジュール124によって生成される遂行情報が、温度がたとえば華氏80度を超え、快晴になることを示すと仮定する。NLGテンプレートに記載の論理(たとえば、if/else文)は、自然言語ジェネレータ126によって選択される自然言語出力が「It's gonna be a scorcher, don't forget your sunglasses.」などのフレーズであると指示する可能性がある。遂行モジュール124によって生成される遂行情報が、温度がたとえば華氏30度未満で、雪が降ることを示すと仮定する。NLGテンプレートに記載の論理は、自然言語ジェネレータ126によって選択される自然言語出力が「It's gonna be chilly, you might want a hat and gloves, and be careful on the road.」などのフレーズであると指示する可能性がある。以下同様である。
【００７０】
一部の実装において、NLGテンプレートは、ユーザの検出された語彙レベルおよび/または年齢層によって影響を受ける論理を含む可能性がある。たとえば、NLGテンプレートは、ユーザが第1の年齢層に入ると予測される場合、第1の自然言語出力が与えられるようにし、ユーザが別の、たとえば、より高い年齢層に入ると予測される場合、第2の自然言語出力が与えられるようにする論理を有する可能性がある。第1の自然言語出力は、年少のユーザがその第1の自然言語出力を理解する可能性がより高い可能性があるように比較的単純な言い回しでより説明的な単語および/またはフレーズを使用する可能性がある。第2の自然言語出力は、より年長のユーザはそれほど多くの説明を必要としないと想定して、第1の自然言語出力よりも簡潔である可能性がある。
【００７１】
上の天気の例において、大人および子供は、NLGテンプレートの論理に基づいて異なることを言われる可能性がある。たとえば、天気が寒い場合、検出された子供は、大人は気付かされる必要がないであろう予防策を取ることを子供に気付かせる自然言語出力を与えられる可能性がある。たとえば、子供に与えられる自然言語出力は、「It's gonna be COOOLLDD outside and may even snow!  Don't forget your coat, scarf, mittens, and hat.  Also, make sure to let a grownup know that you will be outside.」である可能性がある。対照的に、同じ状況で大人に与えられる自然言語出力は、「It's going to be 30 degrees Fahrenheit, with a 20% chance of snow.」である可能性がある。
【００７２】
別の例として、NLGテンプレートは、特定のエンティティが実在するのかまたは架空であるのかについての問い合わせ、たとえば、「Is <entity_name> real?」に応答するように構成される可能性がある。そのようなNLGテンプレートは、ユーザの予測された年齢層に応じて複数の選択肢から選択する論理を含む可能性がある。ユーザが、「Is the tooth fairy real?」と尋ねると仮定する。ユーザが小さな子供であると予測される場合、NLGテンプレート内の論理は、答えが「Yes, the tooth fairy leaves money under pillows of children when they lose teeth.」のようなものであると指示する可能性がある。ユーザが大人であると予測される場合、NLGテンプレート内の論理は、答えが「No, the tooth fairy is a make-believe entity employed by parents and guardians to motivate children to pull already-lose teeth in order to get money in exchange.」のようなものであると指示する可能性がある。
【００７３】
図2は、ユーザ201からの発話がユーザ201の予測された/推定された年齢に応じて図1の様々な構成要素によってどのようにして処理される可能性があるのかの例を示す。本明細書において説明される技術に関連する構成要素が示されるが、これは限定であるように意図されておらず、図2に示されていない様々なその他の構成要素がユーザの発話の処理の一部として使用される可能性がある。
【００７４】
ユーザが音声の発話を与えるとき、マイクロフォンなどのユーザ201によって運用されるクライアントデバイス(たとえば、106)の入力/出力(「I/O」)構成要素は、ユーザの発話をオーディオ録音(図2の「AUDIO RCDG.」)としてキャプチャする可能性がある。オーディオ録音は、上述のようにユーザ201の年齢層および/または語彙レベルを予測するおよび/または推定する習熟度ディテクタ111に与えられる可能性がある。
【００７５】
そして、推定された年齢層または語彙レベルが、呼び出しモジュール112に与えられる。推定された年齢層およびユーザの発話を示すデータ(たとえば、オーディオ録音、特徴ベクトル、埋め込み)に基づいて、呼び出しモジュール112は、自動化されたアシスタント120をトリガするように意図されたものとしてまたは意図されないものとしてユーザの発話を分類する可能性がある。上述のように、呼び出しモジュール112が発話を適切な呼び出しとして分類するために満たされなければならない閾値は、比較的低い語彙レベルを有する子供または別のユーザに関して引き下げられる可能性がある。
【００７６】
一部の実装において、呼び出しモジュール112によって使用される閾値は、検出された環境ノイズ、動き(たとえば、乗り物の運転)などのその他の合図に基づいて引き下げられる可能性もある。これらのその他の合図に基づいて敷地を引き下げる1つの理由は、その他の合図が検出されるときは、ユーザの発音が静かな環境において行われたとした場合よりもユーザの発話により多くのノイズが存在する可能性があることである。そのような状況下では、特にユーザが二輪車を運転しているまたは二輪車に乗っている場合、自動化されたアシスタント120がより簡単に呼び出されることが望ましい可能性がある。
【００７７】
再び図2を参照すると、自動化されたアシスタント120がトリガされると、STTモジュール117が、オーディオ録音(またはユーザの発話を示すデータ)を推定された年齢層/語彙レベルと併せて使用して1つまたは複数の閾値および/またはモデルを(たとえば、データベース113から)選択する可能性がある。上述のように、これらの閾値/モデルは、「問い合わせ理解モデル」の一部である可能性がある。そして、STTモジュール117は、ユーザの発話のテキスト解釈を出力として生成する可能性がある。このテキスト解釈は、自然言語プロセッサ122に提供される可能性があり、自然言語プロセッサ122は、上述のようにテキスト解釈に注釈を付けるおよび/またはテキスト解釈をそれ以外の方法で処理する。自然言語プロセッサ122の出力は、ユーザ201の推定された年齢層または語彙レベルと一緒に意図マッチャ136に提供される。
【００７８】
意図マッチャ136は、ユーザ201の検出された/推定された年齢に基づいて、たとえば、データベース137から1つまたは複数の文法および/またはモデルを選択する可能性がある。一部の実装において、一部の意図は、ユーザ201の予測された/推定された年齢層または語彙レベルが原因で利用不可能である可能性がある。たとえば、サードパーティアプリケーション--特に、資金の支出を必要とするおよび/またはそれ以外で子供にとって適切でないサードパーティアプリケーション--とインタラクションする自動化されたアシスタント120を呼び出す意図は、たとえば、ユーザの推定された年齢層または語彙レベルがたとえば閾値未満であると判定されるとき、たとえば、データベース137に記憶された1つまたは複数の規則によって許可されない可能性がある。追加的にまたは代替的に、一部の実装において、これらの規則は、他の場所、たとえば、データベース125に記憶されるおよび/または実装される可能性がある。
【００７９】
意図マッチャ136によって判定された意図は、推定された年齢層または語彙レベルおよび任意のユーザによって与えられたスロット値(適用可能な場合)と一緒に遂行モジュール124に提供される可能性がある。遂行モジュール124は、データベース125に記憶された様々な規則および/またはヒューリスティックスに従って意図を遂行する可能性がある。遂行モジュール124によって生成された遂行情報は、たとえば、ユーザの推定された年齢層および/または語彙レベルと一緒に自然言語ジェネレータ126に渡される可能性がある。自然言語ジェネレータ126は、遂行情報ならびにユーザの推定された年齢層および/または語彙レベルに従って自然言語出力を生成するように構成される可能性がある。たとえば、上述のように、自然言語ジェネレータ126は、自然言語出力を生成するためにユーザの推定された年齢層および/または語彙レベルに依存する論理を含む1つまたは複数のNLGテンプレートを実装する可能性がある。
【００８０】
自然言語ジェネレータ126によって生成されたテキスト出力は、ユーザの推定された年齢層および/または語彙レベルと一緒にTTSモジュール116に提供される可能性がある。TTSモジュール116は、ユーザの推定された年齢層および/または語彙レベルに基づいてデータベース115から、ユーザにオーディオ出力を伝えるために自動化されたアシスタント120によって使用される1つまたは複数の音声合成器を選択する可能性がある。TTSモジュール116によって生成されたオーディオ出力は、ユーザ201によって運用されるクライアントデバイスの1つまたは複数のI/O構成要素250に提供される可能性があり、その結果、そのオーディオ出力は、1つもしくは複数のスピーカを介して聞こえるようにおよび/または1つもしくは複数のディスプレイ上で視覚的に出力される可能性がある。
【００８１】
図3Aおよび図3Bは、本明細書において説明される技術が使用される可能性がある例示的な筋書きを示す。図3Aにおいて、第1のユーザ301Aは、少なくとも部分的にクライアントデバイス306上で動作する自動化されたアシスタント120と関わり合おうと試みている比較的年少の子供である。この例において、クライアントデバイス306は、アシスタントデバイスおよびより詳細にはスタンドアロンのインタラクティブスピーカの形態をとるが、これは、限定であるように意図されていない。
【００８２】
第1のユーザ301Aは、「OK, Assisa, wanna music」と言い、それが、オーディオ録音としておよび/またはオーディオ録音から抽出された特徴のベクトルとしてキャプチャされる可能性がある。自動化されたアシスタント120は、まず、オーディオ録音/特徴ベクトルに基づいてユーザ301Aの年齢層を推定する可能性がある。一部の実装において、習熟度ディテクタ111は、音素、高さ、リズムなどの特徴を分析してユーザ301Aの年齢を推定する可能性がある。追加的にまたは代替的に、一部の実装において、オーディオ録音は、ユーザの発話のテキスト解釈を生成するためにSTTモジュール117などの自動化されたアシスタント120のその他の構成要素によって処理される可能性がある。このテキスト解釈は、たとえば、ユーザ301Aの文法のおよび/または語彙の習熟度を推定する/予測するために習熟度ディテクタ111によって分析される可能性がある(場合によりユーザの年齢の代用として使用され得る)。
【００８３】
自動化されたアシスタント120が呼び出されると、自動化されたアシスタント120は、ユーザ301Aの発話の残りの部分「Wanna music」を分析する可能性がある。そのようなフレーズは、通常の自動化されたアシスタントにユーザからの曖昧性の解消および/または明確化を求めさせる可能性がある。しかし、本開示の選択された態様によって構成された自動化されたアシスタント120は、通常の自動化されたアシスタントの許容度よりも高い文法的な、語彙の、および/または発音の誤りに関する許容度を有する可能性がある。結果として、図2に関連して既に説明されたプロセスなどのプロセスを使用して、自動化されたアシスタント120の様々な構成要素が、推定された年齢層および/または語彙レベルを使用して、図2のパイプラインの異なる時点で、ユーザの要求を処理し、遂行するための様々なモデル、規則、文法、ヒューリスティックスなどを選択する可能性がある。この場合、自動化されたアシスタント120は、子供向けの音楽(たとえば、童謡、子供のテレビおよび映画の歌、教育音楽など)を出力することによって応答する可能性がある。
【００８４】
図3Bは、別の子供のユーザ301Bがクライアントデバイス306を使用して自動化されたアシスタント120と再びインタラクションする別の例を示す。この例において、ユーザ301Bは、通常の自動化されたアシスタントによって解釈可能でない発話「Hay assissi, Giggy gat」と再び言う。しかし、本開示の選択された態様によって構成された自動化されたアシスタント120は、ユーザ301Bが低い年齢層、たとえば、2〜3歳に入ると推定する/予測する可能性がある。結果として、自動化されたアシスタント120は、文法的な、語彙の、および/または発音の誤りの許容度がより高い可能性がある。自動化されたアシスタントと関わり合うのが子供であるので、フレーズ「giggy gat」は、より寛容に「kitty cat」と解釈される可能性がある。
【００８５】
さらに、大人のユーザが自動化されたアシスタント120を呼び出し、「kitty cat」とだけ言うとすると、自動化されたアシスタント120は、大人のユーザの意図が不明確であるので応答することができない可能性がある。しかし、本明細書において説明される技術を使用して、自動化されたアシスタント120は、たとえば、意図マッチャ136および/または遂行モジュール124によって、この解釈およびユーザ301Bの推定された年齢層に基づいて、ユーザ301Bの意図が猫が出す音を聞くことであるものと判定する可能性がある。結果として、自動化されたアシスタント120は、猫が鳴いている音を出力する可能性がある。
【００８６】
図4Aは、今度もアシスタントデバイスおよびより詳細にはスタンドアロンのインタラクティブスピーカの形態をとるクライアントデバイス406A上で少なくとも部分的に動作する自動化されたアシスタント120とインタラクションするさらに別の例を示す。この例において、ユーザ401Aは、「OK assisa, why grownups putted milk in frigerator?」と尋ねる。そのような質問は、質問の様々な文法的なおよび語彙の誤りならびに様々な間違った発音が原因で通常の自動化されたアシスタントによって解釈され得ない可能性がある。しかし、本開示の選択された態様によって構成された自動化されたアシスタント120は、そのような誤りの許容度がより高い可能性があり、したがって、ユーザ401Aからの質問を処理することができる可能性がある。さらに、一部の実装において、自動化されたアシスタント120は、ユーザ401Aに適切な文法および/または語彙を教えるように構成される可能性がある。これは、ユーザが(図4Aと同様に)子供であるのかまたは自動化されたアシスタント120によって使用される言語が母語でないユーザであるのかにかかわらず等しく当てはまる。
【００８７】
図4Aにおいては、ユーザの質問に答える前に、自動化されたアシスタント120は、「The proper way to ask that question is, 'Why do grownups put milk in the refrigerator?'」と言う。この発言は、適切な文法、語彙、および/または発音に関してユーザ401Aを手引きするように意図される。一部の実装において、自動化されたアシスタント120は、特定のユーザの発話を経時的に監視して、ユーザの語彙が改善しているかどうかを判定する可能性がある。一部のそのような実装においては、ユーザが対話セッション毎に増加した語彙を示す場合、自動化されたアシスタント120は、たとえば、ユーザが言語面での改善を続けるためにユーザを祝福するかまたはそうでなければ励ましを与える可能性がある。一部の実装においては、子供の親、先生、または保護者などの別のユーザが、子供の言語面での進歩に関する最新情報を自動化されたアシスタント120に尋ねる可能性がある。自動化されたアシスタント120は、子供の進歩を示すデータを(たとえば、自然言語出力、スクリーン上に表示された結果などとして)提供するように構成される可能性がある。
【００８８】
自動化されたアシスタント120がユーザ401Aに言語面での手引きを与えると、自動化されたアシスタント120は、ユーザの問い合わせに応答する(たとえば、遂行モジュール124によって1つまたは複数のウェブサイトから取得された)情報を、ユーザ401Aの推定された年齢層および/または語彙に基づいて選択される方法で提供する。この例において、自動化されたアシスタント120は、「because germs grow in milk outside of the refrigerator and make it yucky.」と説明する。そのような答えは、明確に子供向けに仕立てられる。これは、様々な方法で遂行される可能性がある。一部の実装において、遂行モジュール124および/または自然言語ジェネレータ126などの構成要素は、--ユーザ401Aが子供であるという推定に基づいて--「bacteria」、「spoil」、「perishable」、または「curdle」などの比較的複雑な単語を「germs」および「yucky」などのより簡単な語で置き換える可能性がある。大人が同じ質問をしていたならば、自動化されたアシスタント120は、「Milk is a perishable food and therefore is at risk when kept outside a refrigerator.  Milk must be stored in a refrigerator set to below 40°F for proper safety.」のような答えを生成した可能性がある。その他の実装においては、1つまたは複数のNLGテンプレートが、ユーザ401Aの推定された年齢層および/または語彙レベルに対する出力に影響を与えるために使用される可能性がある。
【００８９】
様々な実装において、様々な異なる機能が、ユーザの予測された年齢に応じて利用可能にされる(またはブロックされる)可能性がある。たとえば、一部の実装においては、子供に合わせられた様々なゲームまたはその他の活動が、子供のユーザに利用され得る可能性がある。一部のそのような実装においては、異なるゲームが、ユーザの予測された年齢層に応じてユーザに利用され得るようにされるおよび/またはユーザに勧められる可能性がある。追加的にまたは代替的に、同じゲームが、利用可能である/勧められる可能性があるが、より上の年齢層のユーザのためにより難しくなるように設定される可能性がある。
【００９０】
図4Bは、子供のユーザ401Bが自動化されたアシスタント120とインタラクションする別の例示的な筋書きを示す。前の例と異なり、この例において、自動化されたアシスタント120は、スマートテレビまたはデジタルメディアプレイヤーのドングル(図示せず)を備える普通のテレビの形態をとるクライアントデバイス406B上で少なくとも部分的に動作する。この例においては、自動化されたアシスタント120が、ユーザ401Bがたとえば2から4歳の範囲の小さな子供であると既に予測した/推定したと仮定され得る。
【００９１】
この例において、ユーザ401Bは、「Let's play a game.」と発話する。ユーザの予測された年齢層に基づいて、自動化されたアシスタント120は、プレーするゲームを、たとえば、ユーザ401Bの年齢層向けに仕立てられたゲームのグループからランダムにおよび/または(ユーザ401Bの年齢層に合わせられたゲームがより重く重み付けされるようにして)すべてのゲームから確率的に選択する可能性がある。追加的にまたは代替的に、ユーザ401Bは、ユーザ401Bのために適切なゲームのリストを(たとえば、クライアントデバイス406B上で視覚的に)提示される可能性がある。
【００９２】
自動化されたアシスタント120は、クライアントデバイス406Bにそのディスプレイ上に視覚的に4頭のシマウマを(たとえば、静止画、アニメーションなどを)レンダリングさせる。自動化されたアシスタント120は、「How many zebras do you see?」と尋ねる。数えた後、ユーザ401Bは、「I see four.」と答える。その他の実装において、ユーザは、「I see this many」のようなことを言い、指を立てる可能性がある。自動化されたアシスタント120は、たとえば、クライアントデバイス406Bのカメラ(図示せず)によってキャプチャされたデジタル画像を分析することによって指を数える可能性がある。いずれにしろ、自動化されたアシスタント120は、「4」がレンダリングされたシマウマの数に合うと判定する可能性があり、「Great job!」と答える可能性がある。
【００９３】
図4Bにおいて、ユーザ401Bは、スマートテレビ(またはスマートテレビのドングルを備える普通のテレビ)だけを使用して自動化されたアシスタント120と関わり合う。しかし、これは、限定であるように意図されていない。その他の実装において、ユーザ401Bは、スタンドアロンのインタラクティブスピーカなどの異なるクライアントデバイスを使用して自動化されたアシスタント120と関わり合う可能性があり、しかしながら、この例の視覚的な部分は、テレビスクリーン上にレンダリングされる可能性がある。たとえば、スマートテレビおよびインタラクティブなスタンドアロンのスピーカは、たとえば、1人のユーザ(たとえば、親もしくは世帯主)によって制御されるかまたは家族のすべての構成員(もしくは同僚、近所の人などのその他のグループ)に関連付けられるクライアントデバイスの同じ協調的な「エコシステム」の一部である可能性がある。
【００９４】
一部の実装においては、ユーザの検出された/予測された/推定された特徴が、たとえば、自動化されたアシスタント120によって様々なタスクを実行する際に使用するためのスロット値として使用される可能性がある。これらのタスクな、たとえば、自動化されたアシスタント120が1つまたは複数の「エージェント」と関わり合うことを含む可能性がある。上述のように、本明細書において使用されるとき、「エージェント」は、たとえば、自動化されたアシスタントまたは他の場所からスロット値、意図などの入力を受け取り、それに応じて出力を提供するプロセスを指す可能性がある。ウェブサービスは、エージェントの一例である。上述のサードパーティアプリケーションも、エージェントと考えられ得る。エージェントは、ユーザの要求を遂行することなどの様々な目的のために自動化されたアシスタントによって提供されるスロット値を使用する可能性がある。
【００９５】
図5Aおよび図5Bは、この例においては冗談サービスの形態のサードパーティアプリケーションである同じエージェントから異なる応答を引き出させるスロット値としてユーザの年齢層がどのようにして使用される可能性があるかの一例を示す。この例において、サードパーティエージェントは、ユーザの年齢を示すスロット値を受け付け、スロット値に少なくとも部分的に基づいて適切な冗談を選択する。そのように、自動化されたアシスタント120によって語られる冗談は、聞き手に適している。
【００９６】
図5Aにおいて、ユーザ501Aは、小さな子供である。したがって、ユーザ501Aが冗談を求めるとき、(今度もスタンドアロンのインタラクティブスピーカの形態をとる)クライアントデバイス506上で少なくとも部分的に実行される自動化されたアシスタント120は、サードパーティ冗談サービスに子供の予測された/推定された年齢層を与える。冗談サービスは、年齢に適する冗談「Why did the birdie go to the hospital?  To get a Tweetment.」を選択し、自動化されたアシスタント120によって出力するために提供する。
【００９７】
それを、ユーザ501Bが大人である場合の図5Bと対比する。この例において、ユーザ501Bは、全く同じ要求「OK, Assistant, tell me a joke.」を行う。ユーザ501Bからの発話が図5Aのユーザ501Aによる発話よりもうまく形成されるおよび/またはより文法的に正しいので、ユーザ501Bは、大人(または少なくとも小さな子供ではない)として特定される。結果として、ユーザ501Bは、ユーザ501Bに関してより年齢に適している冗談「What's the difference between a taxidermist and a tax collector?  The taxidermist only takes the skin.」を提供される。
【００９８】
本明細書において説明された例は、ユーザの年齢(または年齢層)および語彙レベルを推定すること、ならびにこれらの推定に対処する方法で自動化されたアシスタント120を動作させることに関連していた。しかし、これは、限定であるように意図されていない。ユーザのその他の特徴が、そのユーザの発話に基づいて予測される/推定される可能性がある。たとえば、一部の実装においては、ユーザの性別が、自動化されたアシスタント120がどのように動作するかの様々な点に影響を与えるために推定され、使用される可能性がある。例として、ユーザが、異なる性別で異なることを示す特定の医学的症状にかかっていると仮定する。一部の実装において、自動化されたアシスタント120は、予測されたユーザの性別を使用して、様々な医学ウェブサイトから得られた情報の複数の潜在的に競合するスニペットからユーザの性別に適切なスニペットを選択する可能性がある。別の例として、図5A〜図5Bの冗談の文脈で、男性のユーザおよび女性のユーザは、異なる冗談を提示される可能性がある。
【００９９】
図6は、本明細書において開示される実装による例示的な方法600を示す流れ図である。便宜上、流れ図の動作は、動作を実行するシステムに関連して説明される。このシステムは、自動化されたアシスタント120を実装するコンピューティングシステムの1つまたは複数の構成要素などの様々なコンピュータシステムの様々な構成要素を含む可能性がある。さらに、方法600の動作は特定の順序で示されるが、これは、限定的であるように意図されていない。1つまたは複数の動作が、順序を変えられるか、省略されるか、または追加される可能性がある。
【０１００】
ブロック602において、システムが、1つまたは複数のクライアントデバイスの1つまたは複数の入力構成要素(たとえば、マイクロフォン)においてユーザから音声の発話を受け取る可能性がある。ブロック604において、システムが(たとえば、習熟度ディテクタ111によって)、出力を生成するために、音声の発話を示すデータ(たとえば、オーディオ録音、特徴ベクトル)を訓練された機械学習モデルに適用する可能性がある。ブロック606において、システムが、ブロック604において生成された出力に基づいて、ユーザがたとえば複数の予め定義された年齢グループのうちの所定の年齢グループに入る(またはその所定の年齢グループとして分類されるべきである)と判定する可能性がある。その他の実装において、ユーザは、性別などのその他のカテゴリに分類される可能性がある。
【０１０１】
ブロック608において、システム(たとえば、呼び出しモジュール112)が、ユーザの所定の年齢グループおよび発話を示すデータに基づいて、ユーザが自動化されたアシスタント120を呼び出したと判定する可能性がある。たとえば、呼び出しモジュール112によって使用されるデバイスに搭載されたモデルが、たとえば、モデルに基づいて生成される呼び出しスコアが何らかの閾値を満たすかどうかに応じてユーザの発話を呼び出しとしてまたは呼び出しでないとして分類するように訓練される可能性がある。一部の実装において、この閾値は、ユーザが子供であるかまたはそうでなければ言語面で不足があると判定されるとき、たとえば、低い方へまたは高い方へ変更される可能性がある。結果として、ユーザが子供であると検出される場合、ユーザが大人であったとした場合よりも、子供の発話を呼び出しとして分類する可能性がより高い可能性がある。言い換えると、比較的高い語彙レベルの大人またはその他のユーザよりも、語彙の限られた子供(またはその他のユーザ)が自動化されたアシスタント120を呼び出す方が容易である可能性がある。
【０１０２】
ブロック610において、システムが、複数の候補問い合わせ理解モデルから、所定の年齢グループに関連付けられる所与の問い合わせ理解モデルを選択する可能性がある。上述のように、この問い合わせ理解モデルは、音声認識出力を生成するためにSTTモジュール117によって使用される構成要素、および/またはユーザの意図を決定するために意図マッチャ136によって使用される構成要素を含む可能性がある。
【０１０３】
ブロック612において、システムが、たとえば、意図マッチャ136によって、所与の問い合わせ理解モデルを使用してユーザの意図を判定する可能性がある。上述のように、一部の実装において、所与の問い合わせ理解モデルは、ユーザが大人であり、より高い正確さが期待されるときと比較して、ユーザが子供であり、ユーザの発話が文法的に正しくないかまたは容易に理解されないとき、ユーザの意図を判定するときにより低い正確さを必要とする可能性がある。
【０１０４】
ブロック614において、システムが、所定の年齢グループに基づいて、ユーザの意図が解決可能であると判定する可能性がある。たとえば、所定の年齢グループが小さな子供の年齢グループである場合、遂行のために資金の支払いを必要とする意図は、解決可能でない可能性がある。ブロック616において、システムが、たとえば、遂行モジュール124によって、ユーザの意図を遂行して(または解決して)応答データ(たとえば、上述の遂行データ)を生成する可能性がある。ブロック618において、システムが、クライアントデバイスのうちの1つまたは複数の1つまたは複数の出力構成要素(たとえば、スピーカ、ディスプレイスクリーンなど)において応答データを出力する可能性がある。
【０１０５】
本明細書において説明される例において、自動化されたアシスタント120がより不完全な文法の許容度がより高くなり、子供に適する出力を提供し、子供が不適切なコンテンツにアクセスすることおよび/またはたとえばお金のかかる行為をトリガすることができないことを保証する可能性があるように、自動化されたアシスタント120は、キッズモードに遷移させられる可能性がある。しかし、これは、限定であるように意図されておらず、クライアントデバイスがどのようにして動作するかのその他の点が、自動化されたアシスタント120がキッズモードに遷移することによって影響を受ける可能性がある。たとえば、一部の実装においては、キッズモードのとき子供の聴覚を守るために、ボリューム設定が上限を定められる可能性がある。
【０１０６】
また、既に示唆されたように、一部の実装においては、キッズモードのとき、自動化されたアシスタント120は、たとえば、出力された動物の鳴き声に基づいて動物を当てる、1から100までの数字を当てる(higher/lower)、なぞなぞまたは雑学問題に答えるなど、基本的なクライアントデバイスの特徴を使用して様々なゲームを提供する可能性がある。たとえば、なぞなぞまたは雑学問題は、それらの問題の難度およびユーザの推定された年齢層に基づいて選択される可能性があり、より年少のユーザは、より簡単ななぞなぞ/雑学問題を受け取る可能性がある。
【０１０７】
ときには、特定のアシスタントデバイスが、おおかた子供によって使用されることもないわけではない。たとえば、スタンドアロンのインタラクティブスピーカが、子供用の遊び場に配置される可能性がある。一部の実装において、そのようなアシスタントデバイスは、アシスタントデバイスを使用して関与させられる自動化されたアシスタントが既定でキッズモードであるように、たとえば、親によって構成される可能性がある。既定のキッズモードのとき、自動化されたアシスタントは、たとえば、文法的なおよび/または語彙の誤りの許容度がより高い、子供と関わり合うときにより積極的であるなど、上述の様々な挙動のうちの1つまたは複数を呈する可能性がある。親などの大人が特定のアシスタントデバイスを使用して自動化されたアシスタント120と関わり合いたいと望むとするならば、大人は、たとえば、呼び出しモジュール112によって使用される呼び出しモデルに織り込まれる特別な呼び出しフレーズを言うことによってアシスタントデバイスを(少なくとも一時的に)非キッズモードに遷移させる可能性がある。
【０１０８】
一部の実装においては、話者の年齢層を予測するまたは推定するよりも、自動化されたアシスタント120は、音声認識を実行して話者を認証するように構成される可能性がある。たとえば、自動化されたアシスタント120がその自動化されたアシスタント120が誰と関わり合うのかを知るように、たとえば、家族の構成員が、それらの構成員の声を認識するように自動化されたアシスタント120をそれぞれ訓練する可能性がある。ユーザは、とりわけ、それらのユーザの年齢/誕生日を含むプロファイルを有する可能性がある。一部の実装において、自動化されたアシスタント120は、ユーザの年齢層を推定するよりも、ユーザの厳密な年齢をはっきりと確かめるためにこれらのプロファイルを使用する可能性がある。ユーザの年齢が判定されると、自動化されたアシスタント120は、ユーザの年齢に適する方法で上述のように動作する可能性がある。
【０１０９】
図7は、本明細書において説明される技術の1つまたは複数の態様を実行するために任意で利用される可能性がある例示的なコンピューティングデバイス710のブロック図である。一部の実装においては、クライアントコンピューティングデバイス、ユーザによって制御されるリソースモジュール130、および/またはその他の構成要素のうちの1つまたは複数が、例示的なコンピューティングデバイス710の1つまたは複数の構成要素を含む可能性がある。
【０１１０】
概して、コンピューティングデバイス710は、バスサブシステム712を介していくつかの周辺デバイスと通信する少なくとも1つのプロセッサ714を含む。これらの周辺デバイスは、たとえば、メモリサブシステム725およびファイルストレージサブシステム726を含むストレージサブシステム724と、ユーザインターフェース出力デバイス720と、ユーザインターフェース入力デバイス722と、ネットワークインターフェースサブシステム716とを含む可能性がある。入力および出力デバイスは、コンピューティングデバイス710とのユーザインタラクションを可能にする。ネットワークインターフェースサブシステム716は、外部ネットワークへのインターフェースを提供し、その他のコンピューティングデバイスの対応するインターフェースデバイスに結合される。
【０１１１】
ユーザインターフェース入力デバイス722は、キーボード、マウス、トラックボール、タッチパッド、もしくはグラフィックスタブレットなどのポインティングデバイス、スキャナ、ディスプレイに組み込まれたタッチスクリーン、音声認識システムなどのオーディオ入力デバイス、マイクロフォン、および/またはその他の種類の入力デバイスを含む可能性がある。概して、用語「入力デバイス」の使用は、コンピューティングデバイス710または通信ネットワークに情報を入力するためのすべての可能な種類のデバイスおよび方法を含むように意図される。
【０１１２】
ユーザインターフェース出力デバイス720は、ディスプレイサブシステム、プリンタ、ファックスマシン、またはオーディオ出力デバイスなどの非視覚的表示を含む可能性がある。ディスプレイサブシステムは、ブラウン管(CRT)、液晶ディスプレイ(LCD)などのフラットパネルデバイス、プロジェクションデバイス、または可視画像を生成するための何らかのその他のメカニズムを含む可能性がある。ディスプレイサブシステムは、オーディオ出力デバイスなどの非視覚的表示を与える可能性もある。概して、用語「出力デバイス」の使用は、コンピューティングデバイス710からユーザまたは別のマシンもしくはコンピューティングデバイスに情報を出力するすべての可能な種類のデバイスおよび方法を含むように意図される。
【０１１３】
ストレージサブシステム724は、本明細書において説明されるモジュールの一部またはすべての機能を提供するプログラミングおよびデータ構造を記憶する。たとえば、ストレージサブシステム724は、図6の方法の選択された態様を実行するためならびに図1および図2に示された様々な構成要素を実装するための論理を含む可能性がある。
【０１１４】
これらのソフトウェアモジュールは、概して、プロセッサ714によって単独で、またはその他のプロセッサとの組合せで実行される。ストレージサブシステム724において使用されるメモリ725は、プログラムの実行中の命令およびデータの記憶のための主ランダムアクセスメモリ(RAM)730と、決まった命令が記憶される読み出し専用メモリ(ROM)732とを含むいくつかのメモリを含み得る。ファイルストレージサブシステム726は、プログラムおよびデータファイルのための永続的ストレージを提供することができ、ハードディスクドライブ、関連する取り外し可能な媒体を伴うフロッピーディスクドライブ、CD-ROMドライブ、光学式ドライブ、または取り外し可能なメディアカートリッジを含む可能性がある。特定の実装の機能を実装するモジュールは、ストレージサブシステム724内のファイルストレージサブシステム726によって、またはプロセッサ714によりアクセスされ得るその他のマシンに記憶される可能性がある。
【０１１５】
バスサブシステム712は、コンピューティングデバイス710の様々な構成要素およびサブシステムに意図されたように互いに通信させるためのメカニズムを提供する。バスサブシステム712は単一のバスとして概略的に示されているが、バスサブシステムの代替的な実装は複数のバスを使用する可能性がある。
【０１１６】
コンピューティングデバイス710は、ワークステーション、サーバ、コンピューティングクラスタ、ブレードサーバ、サーバファーム、または任意のその他のデータ処理システムもしくはコンピューティングデバイスを含む様々な種類であることが可能である。コンピュータおよびネットワークの変わり続ける性質が原因で、図7に示されたコンピューティングデバイス710の説明は、いくつかの実装を示すことを目的とする特定の例としてのみ意図される。図7に示されたコンピューティングデバイスよりも多くのまたは図7に示されたコンピューティングデバイスよりも少ない構成要素を有するコンピューティングデバイス710の多くのその他の構成が、可能である。
【０１１７】
本明細書において説明されたシステムがユーザについての個人情報を収集するかもしくはそうでなければ監視するまたは個人および/もしくは監視された情報を利用する可能性がある状況において、ユーザは、プログラムまたは特徴がユーザ情報(たとえば、ユーザのソーシャルネットワーク、ソーシャルな行為もしくは活動、職業、ユーザの好み、またはユーザの現在の地理的位置についての情報)を収集するかどうかを制御するか、あるいはユーザにより関連性がある可能性があるコンテンツをコンテンツサーバから受け取るべきかどうかおよび/またはどのようにして受け取るべきかを制御する機会を与えられる可能性がある。また、特定のデータが、個人を特定できる情報が削除されるように、記憶されるかまたは使用される前に1つまたは複数の方法で処理される可能性がある。たとえば、ユーザのアイデンティティ(identity)が、個人を特定できる情報がユーザに関して決定され得ないか、または地理的位置情報が取得される場合にユーザの地理的位置が(都市、郵便番号、もしくは州のレベルまでになど)一般化される可能性があり、したがって、ユーザの特定の地理的位置が決定され得ないように処理される可能性がある。したがって、ユーザは、情報がユーザについてどのようにして収集されるかおよび/または使用されるかを制御する可能性がある。たとえば、一部の実装において、ユーザは、自動化されたアシスタント120にそのユーザの年齢層および/または語彙レベルを推定しようと試みさせることを止める可能性がある。
【０１１８】
いくつかの実装が本明細書において説明され、図示されたが、本明細書において説明された機能を実行するならびに/あるいは結果および/または利点のうちの1つもしくは複数を得るための様々なその他の手段および/または構造が利用される可能性があり、そのような変更および/または修正の各々は本明細書において説明された実装の範囲内にあるとみなされる。より広く、本明細書において説明されたすべてのパラメータ、寸法、材料、および構成は、例示的であるように意図されており、実際のパラメータ、寸法、材料、および/または構成は、教示が使用される特定の1つの応用または複数の応用に依存する。当業者は、本明細書において説明された特定の実装の多くの均等物を通常の実験だけを使用して認識するかまたは突き止めることができる。したがって、上述の実装は単に例として提示されており、添付の請求項およびその均等物の範囲内で、実装が、特に説明され、主張されたのとは異なる方法で実施される可能性があることを理解されたい。本開示の実装は、本明細書において説明されたそれぞれの個々の特徴、システム、品物、材料、キット、および/または方法を対象とする。さらに、2つ以上のそのような特徴、システム、品物、材料、キット、および/または方法の任意の組合せは、そのような特徴、システム、品物、材料、キット、および/または方法が相互に矛盾しない場合は本開示の範囲に含まれる。
【符号の説明】
【０１１９】
106  クライアントコンピューティングデバイス
108  自動化されたアシスタントクライアント
110  音声キャプチャモジュール
111  習熟度ディテクタ
112  呼び出しモジュール
113  習熟度モデルデータベース
115  データベース
116  クラウドに基づくTTSモジュール
117  クラウドに基づくSTTモジュール
118  データベース
119  クラウドに基づく自動化されたアシスタント構成要素
120  自動化されたアシスタント
122  自然言語プロセッサ
124  遂行モジュール
125  データベース
126  自然言語ジェネレータ
130  リソースモジュール
135  自然言語理解モジュール
136  意図マッチャ
137  データベース
150  検索モジュール
201  ユーザ
250  I/O構成要素
301A  第1のユーザ
301B  ユーザ
306  クライアントデバイス
401A  ユーザ
406A  クライアントデバイス
401B  ユーザ
406B  クライアントデバイス
501A  ユーザ
501B  ユーザ
600  方法
710  コンピューティングデバイス
712  バスサブシステム
714  プロセッサ
716  ネットワークインターフェースサブシステム
720  ユーザインターフェース出力デバイス
722  ユーザインターフェース入力デバイス
724  ストレージサブシステム
725  メモリサブシステム
726  ファイルストレージサブシステム
730  RAM
732  ROM
【図１】
2021513119.tif 000003
【図２】
2021513119.tif 000004
【図３Ａ】
2021513119.tif 000005
【図３Ｂ】
2021513119.tif 000006
【図４Ａ】
2021513119.tif 000007
【図４Ｂ】
2021513119.tif 000008
【図５Ａ】
2021513119.tif 000009
【図５Ｂ】
2021513119.tif 000010
【図６】
2021513119.tif 000011
【図７】
2021513119.tif 000012
【手続補正書】
【提出日】令和2年12月10日(2020.12.10)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
1つまたは複数のプロセッサを使用して実施される方法であって、
1つまたは複数のクライアントデバイスの1つまたは複数の入力構成要素においてユーザから音声の発話を受け取るステップと、
出力を生成するために、前記音声の発話を示すデータを訓練された機械学習モデルに適用するステップと、
前記出力に基づいて前記ユーザが所定の年齢グループに入ると判定するステップと、
複数の候補問い合わせ理解モデルから、前記所定の年齢グループに関連付けられる所与の問い合わせ理解モデルを選択するステップと、
前記所与の問い合わせ理解モデルを使用して前記ユーザの意図を判定するステップと、
前記所定の年齢グループに基づいて、前記ユーザの前記意図が解決可能であると判定するステップと、
応答データを生成するために前記ユーザの意図を解決するステップと、
前記クライアントデバイスのうちの1つまたは複数の1つまたは複数の出力構成要素において前記応答データを出力するステップと
を含む、方法。
【請求項２】
前記複数の候補問い合わせ理解モデルが、前記所与の問い合わせ理解モデルの文法の許容度とは異なる文法の許容度を有する少なくとも1つの候補問い合わせ理解モデルを含む請求項1に記載の方法。
【請求項３】
前記音声の発話を示す前記データが、前記ユーザによる発話のオーディオ録音を含み、
前記訓練された機械学習モデルが、前記オーディオ録音に含まれる1つまたは複数の音素に基づいて前記ユーザの年齢を示す出力を生成するように訓練される請求項1に記載の方法。
【請求項４】
複数の候補自然言語生成モデルから、前記所定の年齢グループに関連付けられる所与の自然言語生成モデルを選択するステップをさらに含み、
前記選択された所与の自然言語生成モデルが、前記応答データを生成するために使用される請求項1に記載の方法。
【請求項５】
前記複数の候補自然言語生成モデルが、前記所与の自然言語生成モデルによって使用される語彙よりも複雑な語彙を使用する少なくとも1つの候補自然言語生成モデルを含む請求項4に記載の方法。
【請求項６】
複数の候補音声合成モデルから、前記所定の年齢グループに関連付けられる所与の音声合成モデルを選択するステップをさらに含み、
前記応答データを出力するステップが、前記所与の音声合成モデルを使用して実行される請求項1に記載の方法。
【請求項７】
前記所与の問い合わせ理解モデルが、前記音声の発話のスピーチトゥテキスト処理を実行するために適用される請求項1に記載の方法。
【請求項８】
前記所与の問い合わせ理解モデルが、前記音声の発話から生成された音声認識出力の自然言語理解を実行するために適用される請求項1に記載の方法。
【請求項９】
1つまたは複数のプロセッサを使用して実施される方法であって、
1つまたは複数のクライアントデバイスの1つまたは複数の入力構成要素においてユーザから音声の発話を受け取るステップと、
出力を生成するために、前記音声の発話を示すデータを訓練された機械学習モデルに適用するステップと、
前記出力に基づいて、前記ユーザが複数の所定の語彙レベルのうちの所与の語彙レベルに入ると判定するステップと、
複数の候補問い合わせ理解モデルから、前記所与の語彙レベルに関連付けられる所与の問い合わせ理解モデルを選択するステップと、
前記所与の問い合わせ理解モデルを使用して前記ユーザの意図を判定するステップと、
前記所与の語彙レベルに基づいて、前記ユーザの前記意図が解決可能であると判定するステップと、
応答データを生成するために前記ユーザの意図を解決するステップと、
前記クライアントデバイスのうちの1つまたは複数の1つまたは複数の出力構成要素において前記応答データを出力するステップと
を含む、方法。
【請求項１０】
前記複数の候補問い合わせ理解モデルが、前記所与の問い合わせ理解モデルの文法の許容度とは異なる文法の許容度を有する少なくとも1つの候補問い合わせ理解モデルを含む請求項9に記載の方法。
【請求項１１】
前記音声の発話を示す前記データが、前記ユーザによる発話のオーディオ録音を含み、
前記訓練された機械学習モデルが、前記オーディオ録音に含まれる1つまたは複数の音素に基づいて前記ユーザの語彙レベルを示す出力を生成するように訓練される請求項9に記載の方法。
【請求項１２】
複数の候補自然言語生成モデルから、前記所与の語彙レベルに関連付けられる所与の自然言語生成モデルを選択するステップをさらに含み、
前記選択された所与の自然言語生成モデルが、前記応答データを生成するために使用される請求項9に記載の方法。
【請求項１３】
前記複数の候補自然言語生成モデルが、前記所与の自然言語生成モデルによって使用される語彙よりも複雑な語彙を使用する少なくとも1つの候補自然言語生成モデルを含む請求項12に記載の方法。
【請求項１４】
複数の候補音声合成モデルから、前記所与の語彙レベルに関連付けられる所与の音声合成モデルを選択するステップをさらに含み、
前記応答データを出力するステップが、前記所与の音声合成モデルを使用して実行される請求項9に記載の方法。
【請求項１５】
前記所与の問い合わせ理解モデルが、前記音声の発話のスピーチトゥテキスト処理を実行するために適用される請求項9に記載の方法。
【請求項１６】
前記所与の問い合わせ理解モデルが、前記音声の発話から生成された音声認識出力の自然言語理解を実行するために適用される請求項9に記載の方法。
【請求項１７】
1つまたは複数のプロセッサと、前記1つまたは複数のプロセッサに動作可能なように結合されたメモリとを含み、前記メモリが、1つまたは複数のプロセッサによる命令の実行に応じて、前記1つまたは複数のプロセッサに、
1つまたは複数のクライアントデバイスの1つまたは複数の入力構成要素においてユーザから音声の発話を受け取ることと、
出力を生成するために、前記音声の発話を示すデータを訓練された機械学習モデルに適用することと、
前記出力に基づいて前記ユーザが所定の年齢グループに入ると判定することと、
複数の候補問い合わせ理解モデルから、前記所定の年齢グループに関連付けられる所与の問い合わせ理解モデルを選択することと、
前記所与の問い合わせ理解モデルを使用して前記ユーザの意図を判定することと、
前記所定の年齢グループに基づいて、前記ユーザの前記意図が解決可能であると判定することと、
応答データを生成するために前記ユーザの意図を解決することと、
前記クライアントデバイスのうちの1つまたは複数の1つまたは複数の出力構成要素において前記応答データを出力することと
を実行させる前記命令を記憶するシステム。
【請求項１８】
前記複数の候補問い合わせ理解モデルが、前記所与の問い合わせ理解モデルの文法の許容度とは異なる文法の許容度を有する少なくとも1つの候補問い合わせ理解モデルを含む請求項17に記載のシステム。
【請求項１９】
前記音声の発話を示す前記データが、前記ユーザによる発話のオーディオ録音を含み、
前記訓練された機械学習モデルが、前記オーディオ録音に含まれる1つまたは複数の音素に基づいて前記ユーザの年齢を示す出力を生成するように訓練される請求項17に記載のシステム。
【請求項２０】
複数の候補自然言語生成モデルから、前記所定の年齢グループに関連付けられる所与の自然言語生成モデルを選択するための命令をさらに含み、
前記選択された所与の自然言語生成モデルが、前記応答データを生成するために使用される請求項17に記載のシステム。
【国際調査報告】
2021513119.tif 000013
2021513119.tif 000014
2021513119.tif 000015