(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-04-30
(45)【発行日】2024-05-10
(54)【発明の名称】オーディオプレゼンテーション対話を用いた自動アシスタント
(51)【国際特許分類】
G10L 15/22 20060101AFI20240501BHJP
G10L 13/00 20060101ALI20240501BHJP
G10L 15/30 20130101ALI20240501BHJP
G10L 15/16 20060101ALI20240501BHJP
G06F 3/16 20060101ALI20240501BHJP
【FI】
G10L15/22 300Z
G10L13/00 100M
G10L15/30
G10L15/16
G06F3/16 650
G06F3/16 630
(21)【出願番号】P 2022564435
(86)(22)【出願日】2020-12-14
(86)【国際出願番号】 US2020064929
(87)【国際公開番号】W WO2022015356
(87)【国際公開日】2022-01-20
【審査請求日】2022-11-15
(32)【優先日】2020-07-15
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】100108453
【氏名又は名称】村山 靖彦
(74)【代理人】
【識別番号】100110364
【氏名又は名称】実広 信哉
(74)【代理人】
【識別番号】100133400
【氏名又は名称】阿部 達彦
(72)【発明者】
【氏名】ヴィクター・カルブネ
(72)【発明者】
【氏名】マシュー・シャリフィ
【審査官】佐久 聖子
(56)【参考文献】
【文献】特開2018-182692(JP,A)
【文献】特開2013-250490(JP,A)
【文献】米国特許出願公開第2018/0349093(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G10L 13/00-13/10
G10L 15/00-17/26
G10L 19/00-99/00
G06F 3/16
(57)【特許請求の範囲】
【請求項1】
オーディオプレゼンテーション内でアドレス指定された1つまたは複数のエンティティを識別するために、前記オーディオプレゼンテーションに関連付けられた発話オーディオコンテンツを分析するステップと、
前記オーディオプレゼンテーションの再生中にユーザクエリを受信するステップと、
前記ユーザクエリが前記オーディオプレゼンテーションを対象とするかどうかを決定し、前記ユーザクエリが前記オーディオプレゼンテーションを対象とすると決定された場合、前記ユーザクエリに対する応答を生成するステップであって、前記ユーザクエリが前記オーディオプレゼンテーションを対象とするかどうかを決定するステップ、または前記ユーザクエリに対する前記応答を生成するステップが、前記識別された1つまたは複数のエンティティを使用する、ステップと、
を含む、コンピュータ実装方法
であって、
前記ユーザクエリが前記オーディオプレゼンテーションを対象とするかどうかを決定するステップが、前記オーディオプレゼンテーションからの転写テキストおよび前記ユーザクエリを、所与のユーザクエリが所与のオーディオプレゼンテーションを対象とする可能性があるかどうかの指示を出力するようにトレーニングされたニューラルネットワークベースの分類器に提供するステップを含む、
コンピュータ実装方法。
【請求項2】
前記オーディオプレゼンテーションに関連付けられた前記発話オーディオコンテンツを分析するステップが、
転写テキストを生成するために、前記発話オーディオコンテンツに対して音声認識処理を実行するステップと、
前記1つまたは複数のエンティティを識別するために、前記転写テキストに対して自然言語処理を実行するステップと、
を含む、請求項1に記載のコンピュータ実装方法。
【請求項3】
前記音声認識処理を実行するステップ、前記自然言語処理を実行するステップ、および前記ユーザクエリを受信するステップが、アシスタントデバイスによる前記オーディオプレゼンテーションの再生中に前記アシスタントデバイス上で実行される、請求項2に記載のコンピュータ実装方法。
【請求項4】
前記ユーザクエリを受信するステップが、アシスタントデバイスによる前記オーディオプレゼンテーションの再生中に前記アシスタントデバイス上で実行され、前記音声認識処理を実行するステップおよび前記自然言語処理を実行するステップのうちの少なくとも1つが、前記オーディオプレゼンテーションの再生に先立って実行される、請求項2または3に記載のコンピュータ実装方法。
【請求項5】
前記音声認識処理を実行するステップおよび前記自然言語処理を実行するステップのうちの少なくとも1つが、リモートサービスによって実行される、請求項2から4のいずれか一項に記載のコンピュータ実装方法。
【請求項6】
前記オーディオプレゼンテーション内の特定の時点に基づいて、前記識別された1つまたは複数のエンティティを使用して、1つまたは複数の示唆を決定するステップをさらに含む、請求項1から5のいずれか一項に記載のコンピュータ実装方法。
【請求項7】
アシスタントデバイスによる前記オーディオプレゼンテーション内の前記特定の時点の再生中に、前記1つまたは複数の示唆を前記アシスタントデバイス上に提示するステップをさらに含む、請求項6に記載のコンピュータ実装方法。
【請求項8】
前記識別された1つまたは複数のエンティティを使用して前記ユーザクエリを受信するのに先立って、1つまたは複数の潜在的なユーザクエリに対する応答を事前処理するステップをさらに含む、請求項1から7のいずれか一項に記載のコンピュータ実装方法。
【請求項9】
前記ユーザクエリに対する前記応答を生成するステップが、前記ユーザクエリに対する前記応答を生成するために、前記1つまたは複数の事前処理された応答からの1つの事前処理された応答を使用するステップを含む、請求項8に記載のコンピュータ実装方法
。
【請求項10】
前記ユーザクエリを受信するのに先立って、前記オーディオプレゼンテーションからのオーディオデータをバッファリングするステップをさらに含み、前記オーディオプレゼンテーションに関連付けられた前記発話オーディオコンテンツを分析するステップが、前記バッファリングされたオーディオデータ内でアドレス指定された1つまたは複数のエンティティを識別するために、前記ユーザクエリを受信した後、前記バッファリングされたオーディオデータからの発話オーディオコンテンツを分析するステップを含み、前記ユーザクエリが前記オーディオプレゼンテーションを対象とするかどうかを決定するステップまたは前記ユーザクエリに対する前記応答を生成するステップが、前記バッファリングされたオーディオデータ内でアドレス指定された、前記識別された1つまたは複数のエンティティを使用する、請求項1から
9のいずれか一項に記載のコンピュータ実装方法。
【請求項11】
前記オーディオプレゼンテーションが、ポッドキャストである、請求項1から
10のいずれか一項に記載のコンピュータ実装方法。
【請求項12】
前記ユーザクエリが前記オーディオプレゼンテーションを対象とするかどうかを決定するステップが、前記識別された1つまたは複数のエンティティを使用して前記ユーザクエリが前記オーディオプレゼンテーションを対象とするかどうかを決定するステップを含む、請求項1から
11のいずれか一項に記載のコンピュータ実装方法。
【請求項13】
前記ユーザクエリに対する前記応答を生成するステップが、前記識別された1つまたは複数のエンティティを使用して、前記ユーザクエリに対する前記応答を生成するステップを含む、請求項1から
12のいずれか一項に記載のコンピュータ実装方法。
【請求項14】
前記ユーザクエリが前記オーディオプレゼンテーションを対象とするかどうかを決定するステップが、前記ユーザクエリが前記オーディオプレゼンテーション内の特定の時点を対象とするかどうかを決定するステップを含む、請求項1から
13のいずれか一項に記載のコンピュータ実装方法。
【請求項15】
前記ユーザクエリが前記オーディオプレゼンテーションを対象とするかどうかを決定するステップが、前記ユーザクエリが前記オーディオプレゼンテーション内の特定のエンティティを対象とするかどうかを決定するステップを含む、請求項1か
ら14のいずれか一項に記載のコンピュータ実装方法。
【請求項16】
前記ユーザクエリを受信するステップが、アシスタントデバイス上で実行され、前記ユーザクエリが前記オーディオプレゼンテーションを対象とするかどうかを決定するステップが、
前記ユーザクエリが、前記アシスタントデバイスを対象とする
かつオーディオプレゼンテーションに無関係な一般的なクエリではなく、前記オーディオプレゼンテーションを対象とするかどうか
、
を決定するステップを含む、請求項1から
15のいずれか一項に記載のコンピュータ実装方法。
【請求項17】
前記ユーザクエリを受信するステップが、アシスタントデバイス上で実行され、
前記ユーザクエリが前記オーディオプレゼンテーションを対象とするかどうかを決定するステップが、
前記ユーザクエリが、前記アシスタントデバイスを対象とする
かつオーディオプレゼンテーションに無関係な一般的なクエリではなく、前記オーディオプレゼンテーションを対象とする
、
と決定するステップを含む、
請求項1か
ら16のいずれか一項に記載のコンピュータ実装方法。
【請求項18】
前記ユーザクエリが前記オーディオプレゼンテーションを対象とするかどうかを決定するステップが、前記ユーザクエリが、非クエリ発話ではなく、前記アシスタントデバイスを対象とすると決定するステップをさらに含む、請求項
17に記載のコンピュータ実装方法。
【請求項19】
前記ユーザクエリの受信に応答して、前記オーディオプレゼンテーションを一時停止するかどうかを決定するステップをさらに含む、請求項1か
ら18のいずれか一項に記載のコンピュータ実装方法。
【請求項20】
前記オーディオプレゼンテーションを一時停止するかどうかを決定するステップが、前記
ユーザクエリが視覚応答を用いて応答され得るかどうかを決定するステップを含み、前記コンピュータ実装方法が、
前記
ユーザクエリが視覚応答を用いて応答され得るとの決定に応答して、視覚的に、前記オーディオプレゼンテーションを一時停止せずに、前記生成された応答を提示するステップと、
前記
ユーザクエリが視覚応答を用いて応答され得ないとの決定に応答して、前記オーディオプレゼンテーションを一時停止し、前記オーディオプレゼンテーションが一時停止している間に、前記生成された応答を提示するステップと、
をさらに含む、請求項
19に記載のコンピュータ実装方法。
【請求項21】
前記オーディオプレゼンテーションを一時停止するかどうかを決定するステップが、前記オーディオプレゼンテーションが一時停止可能デバイス上で再生されているかどうかを決定するステップを含み、前記コンピュータ実装方法が、
前記オーディオプレゼンテーションが前記一時停止可能デバイス上で再生されていないとの決定に応答して、前記オーディオプレゼンテーションを一時停止せずに、前記生成された応答を提示するステップと、
前記オーディオプレゼンテーションが前記一時停止可能デバイス上で再生されているとの決定に応答して、前記オーディオプレゼンテーションを一時停止し、前記オーディオプレゼンテーションが一時停止している間に、前記生成された応答を提示するステップと、
をさらに含む、請求項
19に記載のコンピュータ実装方法。
【請求項22】
発話オーディオコンテンツを含むオーディオプレゼンテーションの再生中に、ユーザクエリを受信するステップと、
前記ユーザクエリが前記オーディオプレゼンテーションを対象とするかどうかを決定し、前記ユーザクエリが前記オーディオプレゼンテーションを対象とすると決定された場合、前記ユーザクエリに対する応答を生成するステップであって、前記ユーザクエリが前記オーディオプレゼンテーションを対象とするかどうかを決定するステップ、または前記ユーザクエリに対する前記応答を生成するステップが、前記オーディオプレゼンテーションの分析から識別された1つまたは複数のエンティティを使用する、ステップと、
を含む、コンピュータ実装方法
であって、
前記ユーザクエリが前記オーディオプレゼンテーションを対象とするかどうかを決定するステップが、前記オーディオプレゼンテーションからの転写テキストおよび前記ユーザクエリを、所与のユーザクエリが所与のオーディオプレゼンテーションを対象とする可能性があるかどうかの指示を出力するようにトレーニングされたニューラルネットワークベースの分類器に提供するステップを含む、
コンピュータ実装方法。
【請求項23】
発話オーディオコンテンツを含むオーディオプレゼンテーションの再生中に、前記オーディオプレゼンテーションからのオーディオデータをバッファリングし、ユーザクエリを受信するステップと、
前記ユーザクエリを受信した後、前記バッファリングされたオーディオデータ内でアドレス指定された1つまたは複数のエンティティを識別するために、前記バッファリングされたオーディオデータからの発話オーディオコンテンツを分析するステップと、
前記ユーザクエリが前記オーディオプレゼンテーションを対象とするかどうかを決定し、前記ユーザクエリが前記オーディオプレゼンテーションを対象とすると決定された場合、前記ユーザクエリに対する応答を生成するステップであって、前記ユーザクエリが前記オーディオプレゼンテーションを対象とするかどうかを決定するステップ、または前記ユーザクエリに対して前記応答を生成するステップが、前記識別された1つまたは複数のエンティティを使用する、ステップと、
を含む、コンピュータ実装方法
であって、
前記ユーザクエリが前記オーディオプレゼンテーションを対象とするかどうかを決定するステップが、前記オーディオプレゼンテーションからの転写テキストおよび前記ユーザクエリを、所与のユーザクエリが所与のオーディオプレゼンテーションを対象とする可能性があるかどうかの指示を出力するようにトレーニングされたニューラルネットワークベースの分類器に提供するステップを含む、
コンピュータ実装方法。
【請求項24】
1つまたは複数のプロセッサと、前記1つまたは複数のプロセッサに動作可能に結合されたメモリとを備えるシステムであって、前記メモリが、命令を記憶し、前記命令が、前記1つまたは複数のプロセッサによる前記命令の実行に応答して、前記1つまたは複数のプロセッサに、請求項1から
23のいずれか一項に記載の方法を実行させる、システム。
【請求項25】
オーディオ入力デバイスと、
前記オーディオ入力デバイスに結合された1つまたは複数のプロセッサであって、局所的に記憶された命令を実行して、前記1つまたは複数のプロセッサに、請求項1から
23のいずれか一項に記載の方法を実行させる、1つまたは複数のプロセッサと、
を備える、アシスタントデバイス。
【請求項26】
命令を含む、少なくとも1つのコンピュータ可読記憶媒体であって、前記命令が、1つまたは複数のプロセッサによる前記命令の実行に応答して、前記1つまたは複数のプロセッサに、請求項1から
23のいずれか一項に記載の方法を実行させる、コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
オーディオプレゼンテーション対話を用いた自動アシスタントに関する。
【背景技術】
【0002】
人間は、本明細書において「自動アシスタント」(「チャットボット」、「対話型パーソナルアシスタント」、「インテリジェントパーソナルアシスタント」、「パーソナルボイスアシスタント」、「会話エージェント」などとも呼ばれる)と呼ばれる対話型ソフトウェアアプリケーションを用いて、人間対コンピュータダイアログに参加することができる。たとえば、人間(人間が自動アシスタントと対話するときには、「ユーザ」と呼ばれることがある)は、いくつかの場合において、テキストに変換され、次いで処理され得る音声自然言語入力(すなわち、発話)を使用して、および/またはテキスト(たとえば、タイプされた)自然言語入力を提供することによって、コマンドおよび/または要求を自動アシスタントに提供し得る。自動アシスタントは、概して、可聴ユーザインターフェース出力および/または視覚的ユーザインターフェース出力を含み得る、応答ユーザインターフェース出力を提供することによって、コマンドまたは要求に応答する。
【0003】
自動アシスタントは、ユーザが情報を取得すること、サービスにアクセスすること、および/または様々なタスクを実行することを可能にする。たとえば、ユーザは、探索を実行すること、方向を得ること、また場合によっては、第三者コンピューティングサービスと対話することが可能である。ユーザは、ライドシェアアプリケーションから車を呼ぶこと、商品またはサービス(たとえば、ピザ)を注文すること、スマートデバイス(たとえば、照明切替え)を制御すること、予約することなど、様々なアクションを実行することも可能であり得る。
【0004】
自動アシスタントは、たとえば、ユーザの意図を予測するために、ボイス認識および自然言語処理を使用して、一部は機械学習および他の人工知能技術も利用することによって、ユーザと対話し得る。一部には、自動アシスタントはダイアログコンテキストを理解するため、自動アシスタントは、自然な、直観的な方法で、ユーザとの会話を維持するように適合され得る。ダイアログコンテキストを利用するために、自動アシスタントは、ユーザからの最近の入力、ユーザから入った質問、および/または自動アシスタントが提供した応答/質問を保存し得る。たとえば、ユーザは、「一番近いコーヒーショップはどこ?」と尋ねることがあり、それに対して自動アシスタントは、「2ブロック東です」と回答することができる。次いで、ユーザは「そこはどのくらい遅くまで開いてる?」と聞くことがある。少なくとも何らかの形態のダイアログコンテキストを保存することによって、自動アシスタントは、その代名詞「そこ」が「コーヒーショップ」を指すと決定することができる(すなわち、共参照解析)。
【0005】
多くの自動アシスタントはまた、音楽、ポッドキャスト、ラジオ放送局またはラジオストリーミング、オーディオブックなどのオーディオコンテンツを再生するために使用される。モバイルデバイスまたはスタンドアロン対話型スピーカー上で実行する自動アシスタントはしばしば、スピーカーを含むか、またはさもなければ、それを通してユーザがオーディオコンテンツを聴取することができるヘッドフォンに接続可能である。従来、そのようなオーディオコンテンツとの対話は、しかしながら、主に、再生を制御すること、たとえば、再生を開始すること、一時停止すること、再生を終了すること、前もしくは後ろにスキップすること、消音すること、再生音量を変更すること、またはたとえば、ある歌の題名、もしくはその歌を録音したアーティストに関する情報を取得するために、全体としてオーディオコンテンツに関する情報について自動アシスタントに問い合わせることに限定されている。特に発話コンテンツを組み込むオーディオプレゼンテーションの場合、自動アシスタント対話の範囲はかなり限定される。
【発明の概要】
【課題を解決するための手段】
【0006】
自動アシスタントによるオーディオプレゼンテーションとの、また具体的には、オーディオプレゼンテーション内の特定の時点で提示されるそのようなオーディオプレゼンテーションの発話コンテンツとのユーザ対話をサポートするための技法について本明細書で説明する。オーディオプレゼンテーションの分析は、オーディオプレゼンテーションによってアドレス指定された、それによって言及された、またはさもなければそれに関連付けられた1つまたは複数のエンティティを識別するために実行されてよく、発話分類は、オーディオプレゼンテーションの再生中に受信された発話がオーディオプレゼンテーションを対象とするかどうか、または場合によっては、オーディオプレゼンテーション内の特定のエンティティおよび/または再生点を対象とするかどうかを決定するために実行され、それにより、その発話に対して好適な応答が生成されることを可能にし得る。
【0007】
したがって、本発明の一態様によれば、方法は、オーディオプレゼンテーション内でアドレス指定された1つまたは複数のエンティティを識別するために、オーディオプレゼンテーションに関連付けられた発話オーディオコンテンツを分析するステップと、オーディオプレゼンテーションの再生中にユーザクエリを受信するステップと、ユーザクエリがオーディオプレゼンテーションを対象とするかどうかを決定し、ユーザクエリがオーディオプレゼンテーションを対象とすると決定された場合、ユーザクエリに対する応答を生成するステップであって、ユーザクエリがオーディオプレゼンテーションを対象とするかどうかを決定するステップ、またはユーザクエリに対応する応答を生成するステップは、識別された1つまたは複数のエンティティを使用する、ステップとを含んでよい。
【0008】
いくつかの実施形態では、オーディオプレゼンテーションに関連付けられた発話オーディオコンテンツを分析するステップは、転写テキストを生成するために、発話オーディオコンテンツに対して音声認識処理を実行するステップと、1つまたは複数のエンティティを識別するために、転写テキストに対して自然言語処理を実行するステップとを含む。また、いくつかの実施形態では、音声認識処理を実行するステップ、自然言語処理を実行するステップ、およびユーザクエリを受信するステップは、アシスタントデバイスによるオーディオプレゼンテーションの再生中にアシスタントデバイス上で実行される。
【0009】
さらに、いくつかの実施形態では、ユーザクエリを受信するステップは、アシスタントデバイスによるオーディオプレゼンテーションの再生中にアシスタントデバイス上で実行され、音声認識処理を実行するステップおよび自然言語処理を実行するステップのうちの少なくとも1つは、オーディオプレゼンテーションの再生に先立って実行される。いくつかの実施形態では、音声認識処理を実行するステップおよび自然言語処理を実行するステップのうちの少なくとも1つは、リモートサービスによって実行される。
【0010】
加えて、いくつかの実施形態はまた、オーディオプレゼンテーション内の特定の時点に基づいて、識別された1つまたは複数のエンティティを使用して、1つまたは複数の示唆を決定するステップを含み得る。いくつかの実施形態はまた、アシスタントデバイスによるオーディオプレゼンテーション内の特定の時点の再生中に1つまたは複数の示唆をアシスタントデバイス上に提示するステップを含み得る。加えて、いくつかの実施形態はまた、識別された1つまたは複数のエンティティを使用してユーザクエリを受信するのに先立って、1つまたは複数の潜在的なユーザクエリに対する応答を事前処理するステップを含み得る。さらに、いくつかの実施形態では、ユーザクエリに対する応答を生成するステップは、ユーザクエリに対する応答を生成するために、1つまたは複数の事前処理された応答からの1つの事前処理された応答を使用するステップを含む。
【0011】
いくつかの実施形態では、ユーザクエリがオーディオプレゼンテーションを対象とするかどうかを決定するステップは、オーディオプレゼンテーションからの転写テキストおよびユーザクエリを、所与のユーザクエリが所与のオーディオプレゼンテーションを対象とする可能性があるかどうかの指示を出力するようにトレーニングされたニューラルネットワークベースの分類器に提供するステップを含む。いくつかの実施形態はまた、ユーザクエリを受信するのに先立って、オーディオプレゼンテーションからのオーディオデータをバッファリングするステップを含んでよく、オーディオプレゼンテーションに関連付けられた発話オーディオコンテンツを分析するステップは、バッファリングされたオーディオデータ内でアドレス指定された1つまたは複数のエンティティを識別するために、ユーザクエリを受信した後、バッファリングされたオーディオデータからの発話オーディオコンテンツを分析するステップを含み、ユーザクエリがオーディオプレゼンテーションを対象とするかどうかを決定するステップまたはユーザクエリに対する応答を生成するステップは、バッファリングされたオーディオデータ内でアドレス指定された、識別された1つまたは複数のエンティティを使用する。さらに、いくつかの実施形態では、オーディオプレゼンテーションはポッドキャストである。
【0012】
いくつかの実施形態では、ユーザクエリがオーディオプレゼンテーションを対象とするかどうかを決定するステップは、識別された1つまたは複数のエンティティを使用して、ユーザクエリがオーディオプレゼンテーションを対象とするかどうかを決定するステップを含む。加えて、いくつかの実施形態では、ユーザクエリに対する応答を生成するステップは、識別された1つまたは複数のエンティティを使用してユーザクエリに対する応答を生成するステップを含む。いくつかの実施形態では、ユーザクエリがオーディオプレゼンテーションを対象とするかどうかを決定するステップは、ユーザクエリがオーディオプレゼンテーション内の特定の時点を対象とするかどうかを決定するステップを含む。さらに、いくつかの実施形態では、ユーザクエリがオーディオプレゼンテーションを対象とするかどうかを決定するステップは、ユーザクエリがオーディオプレゼンテーション内の特定のエンティティを対象とするかどうかを決定するステップを含む。
【0013】
また、いくつかの実施形態では、ユーザクエリを受信するステップはアシスタントデバイス上で実行され、ユーザクエリがオーディオプレゼンテーションを対象とするかどうかを決定するステップは、ユーザクエリが、アシスタントデバイスを対象とする一般的なクエリではなく、オーディオプレゼンテーションを対象とするかどうかを決定するステップを含む。いくつかの実施形態では、ユーザクエリを受信するステップはアシスタントデバイス上で実行され、ユーザクエリがオーディオプレゼンテーションを対象とするかどうかを決定するステップは、ユーザクエリが、アシスタントデバイスを対象とする一般的なクエリではなく、オーディオプレゼンテーションを対象とすると決定するステップを含む。
【0014】
加えて、いくつかの実施形態では、ユーザクエリがオーディオプレゼンテーションを対象とするかどうかを決定するステップは、ユーザクエリが、非クエリ発話ではなく、アシスタントデバイスを対象とすると決定するステップをさらに含む。加えて、いくつかの実施形態は、ユーザクエリの受信に応答して、オーディオプレゼンテーションを一時停止するかどうかを決定するステップをさらに含み得る。
【0015】
さらに、いくつかの実施形態では、オーディオプレゼンテーションを一時停止するかどうかを決定するステップは、クエリが視覚応答を用いて応答され得るかどうかを決定するステップを含み、この方法は、クエリが視覚応答を用いて応答され得るとの決定に応答して、視覚的に、オーディオプレゼンテーションを一時停止せずに、生成された応答を提示するステップと、クエリが視覚応答を用いて応答され得ないとの決定に応答して、オーディオプレゼンテーションを一時停止し、オーディオプレゼンテーションが一時停止している間に、生成された応答を提示するステップとをさらに含む。さらに、いくつかの実施形態では、オーディオプレゼンテーションを一時停止するかどうかを決定するステップは、オーディオプレゼンテーションが一時停止可能デバイス上で再生されているかどうかを決定するステップを含み、この方法は、オーディオプレゼンテーションが一時停止可能デバイス上で再生されていないとの決定に応答して、オーディオプレゼンテーションを一時停止せずに、生成された応答を提示するステップと、オーディオプレゼンテーションが一時停止可能デバイス上で停止しているとの決定に応答して、オーディオプレゼンテーションを一時停止し、オーディオプレゼンテーションが一時停止している間に、生成された応答を提示するステップとをさらに含む。
【0016】
本発明の別の態様によれば、方法は、発話オーディオコンテンツを含むオーディオプレゼンテーションの再生中に、ユーザクエリを受信するステップと、ユーザクエリがオーディオプレゼンテーションを対象とするかどうかを決定し、ユーザクエリがオーディオプレゼンテーションを対象とすると決定された場合、ユーザクエリに対する応答を生成するステップであって、ユーザクエリがオーディオプレゼンテーションを対象とするかどうかを決定するステップ、またはユーザクエリに対する応答を生成するステップは、オーディオプレゼンテーションの分析から識別され得た1つまたは複数のエンティティを使用する、ステップとを含んでよい。
【0017】
本発明の別の態様によれば、方法は、発話オーディオコンテンツを含むオーディオプレゼンテーションの再生中に、オーディオプレゼンテーションからのオーディオデータをバッファリングし、ユーザクエリを受信するステップと、ユーザクエリを受信した後、バッファリングされたオーディオデータ内でアドレス指定された1つまたは複数のエンティティを識別するために、バッファリングされたオーディオデータからの発話オーディオコンテンツを分析するステップと、ユーザクエリがオーディオプレゼンテーションを対象とするかどうかを決定し、ユーザクエリがオーディオプレゼンテーションを対象とすると決定された場合、ユーザクエリに対する応答を生成するステップであって、ユーザクエリがオーディオプレゼンテーションを対象とするかどうかを決定するステップ、またはユーザクエリに対する応答を生成するステップは、識別された1つまたは複数のエンティティを使用する、ステップとを含んでよい。
【0018】
さらに、いくつかの実装形態は、1つまたは複数のプロセッサと、1つまたは複数のプロセッサに動作可能に結合されたメモリとを含んでよく、メモリは命令を記憶し、命令は、1つまたは複数のプロセッサによる命令の実行に応答して、1つまたは複数のプロセッサに前述の方法のうちのいずれかを実行させる。いくつかの実装形態はまた、オーディオ入力デバイス(たとえば、マイクロフォン、ラインインインプット(line in input)、デジタルオーディオデータを受信するネットワークまたは記憶インターフェースなど)を含む自動アシスタントデバイスと、オーディオ入力デバイスに結合された1つまたは複数のプロセッサであって、局所的に記憶された命令を実行して、1つまたは複数のプロセッサに、前述の方法のうちのいずれかを実行させる、1つまたは複数のプロセッサとを含んでよい。いくつかの実装形態はまた、命令を含む、少なくとも1つの非一時的コンピュータ可読媒体であって、命令は、1つまたは複数のプロセッサによる命令の実行に応答して、1つまたは複数のプロセッサに、前述の方法のうちのいずれかを実行させる、少なくとも1つの非一時的コンピュータ可読媒体を含む。
【0019】
前述の概念と本明細書で詳細に説明する追加のすべての組合せは、本明細書において開示される主題の部分であるとして企図されることを諒解されたい。たとえば、本開示の最後に出現する特許請求される主題のすべての組合せは、本明細書において開示される主題の部分であるとして企図される。
【図面の簡単な説明】
【0020】
【
図1】本明細書において開示される実装形態が実装され得る例示的なコンピューティング環境のブロック図である。
【
図2】本明細書において開示される実装形態が実装され得る例示的な機械学習スタックの例示的な実装形態のブロック図である。
【
図3】様々な実装形態による、オーディオプレゼンテーションからオーディオコンテンツをキャプチャし分析するための動作の例示的なシーケンスを示すフローチャートである。
【
図4】様々な実装形態による、リモートサービスを利用して、オーディオプレゼンテーションからオーディオコンテンツをキャプチャし分析するための動作の例示的なシーケンスを示すフローチャートである。
【
図5】様々な実装形態による、オーディオバッファリングを利用して、オーディオプレゼンテーションからオーディオコンテンツをキャプチャし分析するための動作の例示的なシーケンスを示すフローチャートである。
【
図6】様々な実装形態による、オーディオプレゼンテーションに関連付けられた示唆を提示するための動作の例示的なシーケンスを示すフローチャートである。
【
図7】様々な実装形態による、発話を処理し、それに対する応答を生成するための動作の例示的なシーケンスを示すフローチャートである。
【
図8】コンピューティングデバイスの例示的なアーキテクチャを示す図である。
【発明を実施するための形態】
【0021】
ここで
図1を参照すると、本明細書において開示される技法が実装され得る例示的な環境100が示されている。例示的な環境100は、1つまたは複数のリモートおよび/またはクラウドベースの自動アシスタント構成要素104とインターフェースするアシスタントデバイス102を含み、自動アシスタント構成要素104は、概して106に示す1つまたは複数のローカルおよび/または広域ネットワーク(たとえば、インターネット)を介してアシスタントデバイス102に通信可能に結合された1つまたは複数のコンピューティングシステム(総称して「クラウド」コンピューティングシステムと呼ばれる)上で実装され得る。アシスタントデバイス102、およびリモートまたはクラウドベースの自動アシスタント構成要素104を動作させているコンピューティングデバイスは、データおよびソフトウェアアプリケーションの記憶のための1つまたは複数のメモリと、データにアクセスしアプリケーションを実行するための1つまたは複数のプロセッサと、ネットワーク上の通信を円滑にする他の構成要素とを含み得る。アシスタントデバイス102によって、および/または自動アシスタント構成要素104によって実行される動作は、複数のコンピュータシステムにわたって、たとえば、ネットワークを通して互いと結合された1つまたは複数のロケーション内の1つまたは複数のコンピュータ上で実行しているコンピュータプログラムとして分散され得る。様々な実装形態では、たとえば、自動アシスタントの機能性のうちのいくつかまたはすべては、複数のコンピュータシステム間で分散されてよく、またはクライアントコンピューティングデバイスにすら分散されてよい。いくつかの実装形態では、たとえば、本明細書で論じる機能性は、たとえば、何のオンライン接続性も存在しないときですら、そのような機能性がユーザに利用可能であるように、クライアントコンピューティングデバイス内で完全に実行されてよい。したがって、いくつかの実装形態では、アシスタントデバイスはクライアントデバイスを含んでよく、他の実装形態で、アシスタントデバイスは、クライアントデバイスから離れた1つまたは複数のコンピュータシステム、またはクライアントデバイスと1つまたは複数のリモートコンピュータシステムの組合せすら含んでよく、それにより、アシスタントデバイスは、デ
バイスの分散された組合せである。アシスタントデバイスは、したがって、様々な実装形態で、自動アシスタントの機能性のうちのいずれかを実装する任意の電子デバイスを含むと見なされてよい。
【0022】
示す実装形態では、アシスタントデバイス102は、概して、その上で、自動アシスタントクライアント108のインスタンスが、1つまたは複数のリモートおよび/またはクラウドベースの自動アシスタント構成要素104とのその対話により、ユーザの観点から、それを用いてユーザが人間対コンピュータダイアログに参加し得る自動アシスタントの論理インスタンスのように思われるものを形成するコンピューティングデバイスである。簡潔および簡単のために、特定のユーザに「サービスする」として、本明細書で使用する「自動アシスタント」という用語は、ユーザが動作させるアシスタントデバイス102上で実行している自動アシスタントクライアント108と1つまたは複数のリモートおよび/またはクラウドベースの自動アシスタント構成要素104(いくつかの実装形態では、複数の自動アシスタントクライアント間で共有され得る)の組合せを指す。
【0023】
アシスタントデバイス102はまた、様々なアプリケーション110のインスタンスを含んでよく、これらのアプリケーション110は、いくつかの実装形態では、自動アシスタントと対話し得るか、またはさもなければ、自動アシスタントによってサポートされ得る。サポートされ得る様々なアプリケーション110は、たとえば、ポッドキャストアプリケーション、オーディオブックアプリケーション、オーディオストリーミングアプリケーションなどのオーディオアプリケーションを含む。加えて、ハードウェアの観点から、アシスタントデバイス102は、たとえば、デスクトップコンピューティングデバイス、ラップトップコンピューティングデバイス、タブレットコンピューティングデバイス、モバイルフォンコンピューティングデバイス、ユーザの車両のコンピューティングデバイス(たとえば、車両内通信システム、車両内エンターテインメントシステム、車両内ナビゲーションシステム)、スタンドアロン対話型スピーカー、スマートテレビジョンなどのスマートアプライアンス、および/またはコンピューティングデバイス(たとえば、コンピューティングデバイスを有するユーザのウォッチ、コンピューティングデバイスを有するユーザの眼鏡、仮想または拡張現実コンピューティングデバイス)を含むユーザのウェアラブル装置のうちの1つまたは複数を含み得る。追加および/または代替のコンピューティングデバイスが他の実装形態で使用されてよく、様々な実装形態では、アシスタントデバイスは、その唯一の機能としてアシスタント機能性を利用してよく、他の実装形態では、アシスタント機能性は、他の機能の膨大なアレイを実行するコンピューティングデバイスの特徴であってよいことを諒解されよう。
【0024】
本明細書でより詳細に説明するように、自動アシスタントは、ユーザインターフェース入出力デバイスアシスタントデバイス102を介して、1人または複数のユーザとの人間対コンピュータダイアログセッションに参加する。さらに、そのようなセッションをサポートすることに関して、また具体的には、アシスタントデバイス上でオーディオプレゼンテーションとのユーザ対話をサポートするために、様々な追加の構成要素がアシスタントデバイス102内に存在する。
【0025】
たとえば、オーディオ再生モジュール112は、様々なオーディオプレゼンテーション、たとえば、オーディオプレゼンテーション記憶装置114内に存在する1つまたは複数のオーディオプレゼンテーション、またはリモートサービスからストリーミングされる1つまたは複数のオーディオプレゼンテーションの再生を制御するために使用され得る。オーディオ再生は、たとえば、アシスタントデバイス102の1つまたは複数のスピーカーを使用して、または代替として、たとえば、ヘッドフォン、イヤバッド、カーステレオ、ホームステレオ、テレビジョンなどの中の、アシスタントデバイス102と通信している1つまたは複数のスピーカーを使用して、ユーザに提示され得る。オーディオ再生に加えてまたはその代わりに、オーディオ記録モジュール116は、アシスタントデバイスと同じ環境で別のデバイス、たとえば、アシスタントデバイスの近傍で再生しているラジオによって再生されているオーディオプレゼンテーションの少なくとも一部分をキャプチャするために使用され得る。
【0026】
オーディオプレゼンテーションは、この点で、オーディオコンテンツの何らかのプレゼンテーション、また多くの場合、オーディオコンテンツの少なくとも一部分が人間語の発話を含む発話オーディオコンテンツであるオーディオコンテンツのプレゼンテーションと見なされてよい。いくつかの実装形態では、オーディオプレゼンテーション内のオーディオコンテンツは、音楽および/または歌声を含んでよく、以下で論じる実装形態の多くでは、それを用いてユーザが対話することを望む、歌声を伴わない発話オーディオコンテンツ、たとえば、ポッドキャスト、オーディオブック、ラジオ番組、トークショー、ニュース番組、スポーツ番組、教育番組などを含むオーディオプレゼンテーションに焦点が当てられる。オーディオプレゼンテーションは、いくつかの実装形態では、フィクションおよび/またはノンフィクションの主題を対象とすることがあり、またいくつかの実装形態では、オーディオコンテンツに加えて、視覚的またはグラフィカルなコンテンツを含むが、多くの実装形態では、オーディオプレゼンテーションは、オーディオコンテンツのみに限定され得る。
【0027】
以下で論じる実装形態では、オーディオプレゼンテーションに関連付けられる発話オーディオコンテンツは、オーディオプレゼンテーション内でアドレス指定される1つまたは複数のエンティティを識別するために分析されてよく、そのような分析は、ユーザに表示もしくは提示するための発話オーディオコンテンツに関連付けられた示唆を生成すること、および/またはオーディオプレゼンテーションの再生中にユーザが提起するユーザクエリに応答することなど、様々な動作を実行するために使用され得る。いくつかの実装形態では、たとえば、ユーザクエリは、オーディオプレゼンテーションの再生中に受信されてよく、ユーザクエリがオーディオプレゼンテーションを対象とすると決定された場合、ユーザクエリに対する適切な応答が生成され、ユーザに提示され得るように、ユーザクエリがオーディオプレゼンテーションを対象とするかどうかについて決定が行われてよい。以下でより明らかになるように、たとえば、ユーザクエリがオーディオプレゼンテーションを対象とするかどうかの決定を試みるとき、および/またはユーザクエリに対する応答を生成するとき、分析によって識別されたエンティティが使用されてよい。
【0028】
そのような機能性をサポートするために、アシスタントデバイス102は、様々な追加のモジュールまたは構成要素118~132を含んでよい。音声認識モジュール118は、たとえば、オーディオデータからテキスト(および/または他の好適な表現もしくは埋め込み)を生成または転写するために使用され得、自然言語処理モジュール120は、1つまたは複数のエンティティを生成するために使用され得る。モジュール118は、たとえば、音声入力のオーディオ記録を(たとえば、デジタルオーディオデータの形態で)受信し、デジタルオーディオデータを1つまたは複数のテキスト語または句(本明細書でトークンとも呼ばれる)に変換することができる。いくつかの実装形態では、トークンがユーザの音声と効果的に同時に、したがって、ユーザが完全な音声要求を発音するのに先立って、モジュール118から出力されるように、ボイス入力がトークン単位ベースで、またリアルタイムまたはニアリアルタイムで、テキストに変換されるように、音声認識モジュール118はストリーミングモジュールでもある。音声認識モジュール118は、言語におけるワードシーケンスととともに、言語における音響信号と音声単位の間の関係をともにモデル形成する1つまたは複数の音響および/または言語モジュールに依存し得る。いくつかの実装形態では、単一のモデルが使用されてよく、他の実装形態では、たとえば、複数の言語、複数の話者などをサポートするために、複数のモデルがサポートされ得る。
【0029】
音声認識モジュール118は音声をテキストに変換するが、自然言語処理モジュール120は、モジュールが出力したテキストのセマンティックまたは意味を認識することを試みる。たとえば、自然言語処理モジュール120は、アクションテキストを特定のコンピュータベースのアクションにマッピングするために、またそのようなアクションの実行を制約するエンティティテキストおよび/または他のテキストを識別するために、1つまたは複数の文法モデルに依存し得る。いくつかの実装形態では、単一のモデルが使用され得、他の実装形態では、たとえば、異なるコンピュータベースのアクションまたはコンピュータベースのアクション領域(すなわち、通信関連アクション、探索関連アクション、オーディオ/視覚関連アクション、カレンダー関連アクション、デバイス制御関連アクションなど、関連アクションの集合)をサポートするために、複数のモデルがサポートされ得る。一例として、(アシスタントデバイス102および/またはリモートコンピューティングデバイス上に記憶された)文法モデルは、コンピュータベースのアクションをアクション用語「についてもっと話して」、「までの道順」、「にナビゲートする」、「見る」、「呼び出す」、「電子メールする」、「連絡する」など、ボイスベースのアクションクエリのアクション用語にマッピングし得る。
【0030】
さらに、モジュール118および120は、いくつかの実装形態では、ユーザからのボイス入力またはクエリを処理するために使用され得るが、示す実装形態では、モジュール118および120は、オーディオプレゼンテーションからの発話オーディオコンテンツを処理するためにさらに使用される。オーディオプレゼンテーション分析モジュール122は、具体的には、オーディオプレゼンテーションに関連付けられた様々なエンティティを生成するためにモジュール118および120を利用することによって部分的に、オーディオプレゼンテーションを分析し得る。代替として、音声認識および自然言語処理は、たとえば、モジュール122内に埋め込まれたモジュール118、120からの個別の機能性を使用して実行され得る。エンティティは、この点で、たとえば、限定はしないが、オーディオプレゼンテーション内の発話オーディオコンテンツに関連付けられた、トピック、人物、場所、物、イベント、意見、事実、組織、日付、時間、アドレス、URL、電子メールアドレス、測定値などを含めて、発話オーディオコンテンツ内に組み込まれた事実上すべての論理概念または意味的概念を指し得る。モジュール118、120はいずれも、エンティティを識別および/またはあいまいさ除去するのを助けるために追加のコンテンツメタデータ(たとえば、ポッドキャストタイトル、記述など)を使用することもできる。エンティティは、たとえば、トピック「Battle of Verdun」に関するエンティティがそのトピックが第一次世界大戦に関するポッドキャストにおいて13:45に言及されたことを示す、関連するタイムスタンプを含む場合、オーディオプレゼンテーション内の特定の時点に論理的に関連付けられてもよい。ユーザが再生中に特定の時点でクエリを発行するときに何のエンティティがアドレス指定されているかを知ることは、多くの場合、クエリのあいまいな側面を解決する助けとなり得るため、エンティティをオーディオプレゼンテーション内の特定の時点に関連付けることによって、エンティティは、「これは何年に発生したの」または「これについてもっと話して」など、よりあいまいなユーザクエリに応答するために有用であり得る。
【0031】
示す実装形態では、オーディオプレゼンテーション分析モジュール122は、少なくとも2つの方法で、ユーザにフィードバックを提供するために使用され得るが、本発明はそのように限定されない。いくつかの実装形態では、たとえば、ユーザがオーディオプレゼンテーションの異なる時点で発行することを望む可能性がある、クエリに対する興味深い事実または示唆を表示することによって、たとえば、自動アシスタントがオーディオプレゼンテーションの再生中にユーザに示唆を提供することが望ましいことがある。したがって、モジュール122は、オーディオプレゼンテーション内で識別されたエンティティに基づいて示唆(たとえば、「ポッドキャストでインタビューを受けた<パーソナリティ>についてもっと学ぶにはここをタップ」または「<広告されているサービス>からのオファーをチェックアウトするにはここをタップ」)を生成することが可能な示唆生成器124を含み得る。いくつかの実装形態では、自動アシスタントが、ユーザが発行した特定のクエリに応答すること、したがって、モジュール122が特定のクエリに対する応答を生成するための応答生成器126も含み得ることが望ましいこともある。以下でより明らかになるように、生成器124、126はいずれも、示唆および/または応答をオンデマンドで(すなわち、再生中、および/または特定のクエリに応答して)生成するために使用され得、いくつかの実装形態では、これらの生成器はいずれも、再生および/またはクエリ処理中に処理オーバーヘッドを低減するために、オーディオプレゼンテーションの再生に先立って、事前処理された示唆および/または応答を生成するために使用され得る。
【0032】
モジュール122をサポートするために、エンティティおよびアクション記憶装置128は、オーディオプレゼンテーション内に識別されたエンティティ、ならびに、いずれかの記憶されたエンティティに関連付けられたユーザ入力に応答してトリガされ得るいずれかのアクション(たとえば、示唆、応答など)を記憶し得る。本発明はそのように限定されないが、いくつかの実装形態では、クエリが実行すべきアクション、およびそのアクションの焦点である1つまたは複数のエンティティを識別することができるか、またはさもなければそれらに関連付けられ得るように、アクションは、動詞と同様であり、エンティティは、名詞または代名詞と同様である。したがって、実行されると、ユーザクエリは、クエリ内で(直接的または周りのコンテキストを介して間接的のいずれかで)言及される1つまたは複数のエンティティの観点からコンピュータベースのアクションを実行させ得る(たとえば、「これは何年に発生したの」は、そのクエリがBattle of Verdunの議論中に発行されると、Battle of Verdunの開戦日に関するウェブ探索にマッピングし得る)。
【0033】
いくつかの実装形態では、記憶装置114、128は、アシスタントデバイス102内に局所的に存在し得ることを諒解されよう。他の実装形態では、しかしながら、記憶装置114、128は、1つまたは複数のリモートデバイス内に部分的にまたは完全に存在し得る。
【0034】
上述のように、オーディオプレゼンテーション分析モジュール122の示唆生成器124は、アシスタントデバイス102のユーザに提示するための示唆を生成し得る。いくつかの実装形態では、アシスタントデバイス102は、ディスプレイを含んでよく、したがって、一体化ディスプレイ上に示唆の視覚的表現をレンダリングするために視覚レンダリングモジュール130を含むことが好ましいことがある。さらに、クエリに対する視覚応答がサポートされる場合、モジュール130は、クエリに対するテキストおよび/またはグラフィカル応答を生成するためにも好適であり得る。
【0035】
自動アシスタント108が利用するさらに別のモジュールは、自動アシスタント108が検出した何らかの声による発話を分類するために使用される発話分類器モジュール132である。モジュール132は、概して、アシスタントデバイス102が位置する環境内で話された発話からのボイスベースのクエリを検出するために、ならびにその発話に関連付けられた意図(もしあれば)の決定を試みるために使用される。以下でより明らかになるように、本開示のコンテキストで、モジュール132は、たとえば、発話がクエリであるかどうか、発話が自動アシスタントを対象とするかどうか、発話がオーディオプレゼンテーションを対象とするかどうか、または発話がオーディオプレゼンテーション内の特定のエンティティおよび/もしくは時点を対象とするかどうかさえ決定するために使用され得る。
【0036】
アシスタントデバイス102内に存在するとして示した前述のモジュールおよび構成要素のいずれかの機能性のうちのいくつかまたはすべては、他の実装形態では、リモート自動アシスタント構成要素で実装され得ることを諒解されよう。したがって、本開示は、
図1に示す機能性の特定の配列に限定されない。
【0037】
本明細書で説明する機能性は、異なる実装形態では、いくつかの異なる方法で実装され得るが、
図2は次に、自動アシスタントとのオーディオプレゼンテーション対話をサポートするのに適した4つの段階152、154、156、158を含むエンドツーエンドオーディオ理解スタック150を利用する1つの例示的な実装形態を示す。
【0038】
この実装形態では、第1の音声認識段階152は、オーディオプレゼンテーション160からテキストを生成または転写し、そのテキストは次いで、適切なエンティティまたはメタデータを有するテキストに注釈付けするために第2の自然言語処理段階154によって処理される。第3の段階156は、2つの異なる構成要素、すなわち、注釈付けされたテキストから示唆を生成する示唆生成構成要素162および、たとえば、発話166として提供される、ユーザが発行したクエリの意図を検出し決定するクエリ処理構成要素164を含む。各構成要素162、164はまた、たとえば、ユーザの意図を決定する際に、および/または特定のユーザに対して有用かつ有益な示唆を生成する際にさらに使用され得る、ユーザクエリまたはバイアス、ダイアログ情報に先立って、コンテキスト情報168を利用することもできる。第4のフィードバック生成段階158は、構成要素162、164からの累積的オプションを利用し、受動的に聴取されたそれらの入力またはコンテキストに基づいて実行する可能性が最も高いアクションをユーザフィードバック170としてユーザに現わすランキングシステムを組み込んでもよい。いくつかの実装形態では、段階152、154は、ユーザ発話を処理するために使用される音声認識パイプラインおよびテキスト注釈を処理するためのアシスタントスタック内で使用されるものと同様のニューラルネットワークを使用して実装され得、また多くの場合、アシスタントデバイス上で局所的に、または代替として、1つもしくは複数のリモートデバイス上で少なくとも部分的に実行され得る。同様に、段階156、158は、いくつかの実装形態では、アシスタントスタックの拡張として、または代替として、アシスタントスタックとは個別のカスタム機械学習スタックを使用して実装されてよく、アシスタントデバイス上で局所的にまたは1つまたは複数のリモートデバイス上で部分的または完全に、のいずれかで実装されてよい。
【0039】
いくつかの実装形態では、示唆生成構成要素162は、ユーザが有するかまたは現在聴取しているコンテンツにマッチする示唆を生成するように構成され得、たとえば、エンティティ(または他のアプリケーション機能性)に関するディープリンクを現わすことによって、探索を実行するまたは他のアプリケーションと一体化するなどのアクションを実行し得る。さらに、クエリ処理構成要素164は、ユーザが発行したクエリまたは発話の意図を決定し得る。さらに、以下でより明らかになるように、クエリ処理構成要素164は、特定のクエリに応答してオーディオプレゼンテーションの再生を中断または一時停止することが可能であってもよく、クエリがオーディオプレゼンテーションに関するかまたは一般的な無関係なアシスタントコマンドであるか、また場合によっては、クエリがオーディオプレゼンテーション内の特定の時点に関するかまたはオーディオプレゼンテーション内で言及される特定のエンティティに関するかを分類することが可能な機械学習モデルを含んでよい。いくつかの実装形態では、機械学習モデルは、所与のユーザクエリが所与のオーディオプレゼンテーションを対象とする可能性があるかどうかの指示を出力し、たとえば、転写されたオーディオコンテンツならびにユーザクエリの両方の埋め込み層を入力として使用し、ユーザクエリがオーディオコンテンツに関すると決定された場合、1つまたは複数の利用可能なアクションを戻すようにトレーニングされた多層ニューラルネットワーク分類器であってよい。
【0040】
フィードバック生成段階は、いくつかの実装形態では、構成要素162、164の両方からの出力を組み合わせ、ユーザに何を提示するかしないかをランク付けし得る。たとえば、ユーザクエリがオーディオプレゼンテーションに関すると見なされたが、何のアクションも戻されず、1つまたは複数の示唆が依然としてユーザに現わされることが望まれ得る場合がこれに相当し得る。
【0041】
次に
図3~
図5を参照すると、上述のように、いくつかの実施形態では、オーディオプレゼンテーションからの発話オーディオコンテンツは、言及されたまたはさもなければ、オーディオプレゼンテーションに関連付けられた様々なエンティティを識別するために分析され得る。たとえば、
図3は、たとえば、
図1のオーディオプレゼンテーション分析モジュール122によって実行され得るように、オーディオプレゼンテーション上で実行され得る1つの例示的な動作シーケンス200を示す。いくつかの実装形態では、シーケンス200は、たとえば、オーディオプレゼンテーションの再生中に、リアルタイムベースで実行され得る。他の実装形態では、しかしながら、シーケンス200は、たとえば、オーディオプレゼンテーションに対して実行される動作を処理する一部として、オーディオプレゼンテーションの再生に先立って実行され得る。いくつかの実装形態では、たとえば、複数のオーディオプレゼンテーションをバッチプロセスで事前処理し、オーディオプレゼンテーションの再生中に後で取り出すために、エンティティ、タイムスタンプ、メタデータ、事前処理された示唆、および/または事前処理された応答を記憶することが望ましいことがある。それを行うことは、再生中にアシスタントデバイスを介したオーディオプレゼンテーションとのユーザ対話をサポートすることに関連付けられた処理オーバーヘッドを低減し得る。この点で、単一のユーザデバイスによってではなく、リモートまたはクラウドベースのサービスによってそのようなバッチ処理を実行することが望ましいことがある。
【0042】
したがって、ブロック202に示すように、オーディオプレゼンテーションを分析するために、オーディオプレゼンテーションを提示すること、取り出すこと、またはキャプチャすることができる。提示されるとは、この点で、概して、アシスタントデバイス上のオーディオプレゼンテーションの再生を指し、これは、ローカルストリーミングまたはリモートデバイスもしくはリモートサービスからのストリーミングを含んでよく、オーディオプレゼンテーションからの発話オーディオコンテンツは、概して、オーディオプレゼンテーションを提示する結果として取得されることを諒解されよう。取り出されるとは、この点で、概して、記憶装置からのオーディオプレゼンテーションの取出しを指す。取出しは、場合によっては再生と結合されてよく、他の場合には、たとえば、オーディオプレゼンテーションをバッチ処理の一部として事前処理するとき、取出しは、オーディオプレゼンテーションの再生とは別であってよい。キャプチャされるとは、この点で、概して、オーディオプレゼンテーションがアシスタントデバイス以外のデバイスによって提示されているとき、オーディオプレゼンテーションからオーディオコンテンツを取得することを指す。いくつかの実装形態では、たとえば、アシスタントデバイスは、たとえば、ラジオ、テレビジョン、ホームもしくはビジネスオーディオシステム、または別のユーザのデバイスによって再生され得る、アシスタントデバイスと同じ環境において別のデバイスによって再生されるオーディオをキャプチャするために使用され得るマイクロフォンを含み得る。
【0043】
オーディオプレゼンテーション内の発話オーディオコンテンツのソースにかかわらず、自動音声認識は、オーディオプレゼンテーションの転写テキストを生成するためにオーディオコンテンツに対して実行され得(ブロック204)、次いで、転写テキストは、オーディオプレゼンテーション内でアドレス指定されたまたはさもなければそれに関連付けられた1つまたは複数のエンティティを識別するために自然言語処理を実行するために使用され得る(ブロック206)。加えて、いくつかの実装形態では、1つまたは複数の事前処理された応答および/または示唆は、本明細書の他の場所で説明するように応答および示唆が生成されるのと同様の方法で、識別されたエンティティに基づいて生成され記憶され得る(ブロック208)。さらに、ブロック208からブロック202への矢印によって表すように、シーケンス200は、いくつかの実装形態では、オーディオプレゼンテーションに対して増分的に実行されてよく、それにより、再生および分析は、オーディオプレゼンテーションの再生中に平行して効果的に生じる。
【0044】
上述のように、オーディオプレゼンテーションの分析に関連付けられた様々な機能性は、複数のコンピューティングデバイス間で分散され得る。
図4は、たとえば、オーディオプレゼンテーションのリアルタイムのストリーミングおよび分析を実行するために、リモートまたはクラウドベースのサービス(右欄)と通信中のアシスタントデバイス(左欄)に依存する動作シーケンス210を示す。具体的には、ブロック212において、アシスタントデバイスは、たとえば、オーディオプレゼンテーションからアシスタントデバイスのユーザにオーディオを再生することによって、オーディオプレゼンテーションをユーザに提示し得る。そのような再生中に、オーディオプレゼンテーションは、リモートサービスにストリーミングされてもよく(ブロック214)、これは、
図3のブロック204および206とほとんど同様の方法で、自動音声認識および自然言語処理を実行する(ブロック216および218)。加えて、いくつかの実装形態では、1つまたは複数の事前処理された応答および/または示唆は、
図3のブロック208と同様の方法で、識別されたエンティティに基づいて生成され記憶されてよく(ブロック220)、エンティティ(ならびに任意選択で、応答および/または示唆)はアシスタントデバイスに戻されてよい(ブロック222)。アシスタントデバイスは、次いで、受信された情報を記憶し(ブロック224)、オーディオプレゼンテーションの提示は、提示が終了するまで、または早期に一時停止または中断されるまで続く。
【0045】
次に
図5を参照すると、いくつかの実装形態では、ユーザクエリによって必要とされるまで、オーディオプレゼンテーションの分析を延期または遅延することが望ましいことがあり、その一例をシーケンス230に示す。したがって、再生中に音声認識および自然言語処理をオーディオプレゼンテーション全体に対して連続して実行するのではなく、いくつかの実装形態では、適切なユーザクエリが受信されるまで、オーディオプレゼンテーションからのオーディオデータを単にバッファリングするかまたはさもなければ記憶し、次いで、その時点でユーザクエリが受信されるオーディオプレゼンテーション内の特定の時点に近接するオーディオプレゼンテーションの一部分(たとえば、最後のN秒)を分析することが望ましいことがある。したがって、1つの代表的な例では、ユーザが「これは何年に起きたの?」などのクエリを発行する場合、オーディオプレゼンテーションの最後の30秒程度を分析して、論じられている現在のトピックがBattle of Verdunであると決定することができ、探索を実行して、「Battle of Verdunは1916年に発生しました」など、代表的な応答を生成することができる。
【0046】
したがって、ブロック232に示すように、オーディオプレゼンテーションは、オーディオプレゼンテーションの最後のN秒がバッファリングされて、アシスタントデバイスによって提示され得るかまたは(別のデバイスによって提示される場合)キャプチャされ得る(ブロック234)。場合によっては、バッファリングは、キャプチャされたオーディオデータを記憶することを構成し得、他の場合には、たとえば、そのプレゼンテーションがアシスタントデバイスから発生し、オーディオプレゼンテーションが現在アシスタントデバイス上に記憶されている場合、バッファリングは、現在の再生点の前のオーディオプレゼンテーション範囲に対する参照を単に維持し、それにより、分析が所望されるとき、適切な範囲が記憶装置から取り出されることを可能にすることを含み得る。
【0047】
再生はこのようにユーザクエリが受信されるまで継続し(ブロック236)、ユーザクエリが受信されると、オーディオプレゼンテーションのバッファリングされたオーディオまたは範囲に対して、
図3~
図4に関して上記で論じたのと同様の方法で、自動音声認識および自然言語処理が実行される(ブロック238および240)。ユーザクエリは、次いで、
図7に関して以下で説明するのと同様の方法であるが、原則的に、オーディオプレゼンテーションのバッファリングされた部分の解析に基づいて処理される(ブロック242)。
【0048】
次に
図6を参照すると、いくつかの実装形態では、オーディオプレゼンテーションの提示中にアシスタントデバイス上に示唆をプロアクティブに表示することが望ましいことがあり、動作シーケンス250によってその一例を示す。具体的には、オーディオプレゼンテーションの提示またはキャプチャリング中(ブロック252)、いずれかの記憶された示唆がオーディオプレゼンテーション内の現在の再生点に関連付けられるかどうかを決定し得る。関連しない場合、オーディオプレゼンテーションの再生が続き、制御はブロック252に戻る。しかしながら、いずれかの示唆が現在の再生点に関連する場合、制御はブロック256に移り、たとえば、アシスタントデバイス上に表示されるカード、通知、またはチップを使用して、示唆のうちの1つまたは複数をアシスタントデバイス上に一時的に表示する。いくつかの実装形態では、それらの示唆とのユーザ対話が特定のアクションをトリガし得るように、これらの示唆はアクションに関連付けられてもよい。したがって、たとえば、特定のパーソナリティについてポッドキャスト上で論じられている場合、好適な示唆は、「ポッドキャストでインタビューを受けている<パーソナリティ>についてもっと学ぶにはここをタップ」と記述することができ、それにより、それらの示唆の選択は、そのパーソナリティに関する追加の情報を備えたブラウザタップを開くことができる。
【0049】
示唆は異なる実装形態でいくつかの方法で生成され得る。上述のように、たとえば、オーディオプレゼンテーションの再生中にリアルタイムであるか、または、たとえば、オーディオプレゼンテーションの事前処理の結果として事前にであるかにかかわらず、示唆は、オーディオプレゼンテーションの分析中に生成されてよい。したがって、記憶された示唆は、単にオーディオプレゼンテーションが分析されるにつれて最近記憶された可能性がある。さらに、いくつかの実装形態では、特定のエンティティが、オーディオプレゼンテーション中の特定の時点で言及され、オーディオプレゼンテーションの分析の結果として識別されるときはいつでも、その特定のエンティティに関連付けられたいずれの示唆も取り出され、任意選択でランク付けされ、ユーザに表示され得るように、示唆は特定のエンティティに関連付けられてよい。同じくまたは代替として、示唆の取出しが、オーディオプレゼンテーション内で何のエンティティが現在アドレス指定されているかではなく、オーディオプレゼンテーションの現在の再生点に基づき得るように、示唆はオーディオプレゼンテーション内の特定の時点に関連付けられてよい。
【0050】
図7は、次に、たとえば、
図1の発話分類器モジュール132によって少なくとも部分的に、またいくつかの実装形態では、所与のユーザクエリが所与のオーディオプレゼンテーションを対象とする可能性があるかどうかの指示を出力するようにトレーニングされたニューラルネットワークベースの分類器を使用して、実行され得る発話またはユーザクエリを処理するのに適した例示的な動作シーケンス260を示す。シーケンスは、たとえば、アシスタントデバイスのマイクロフォンによってキャプチャされたオーディオプレゼンテーションの提示中に発話を受信することによって開始する(ブロック262)。発話は、次いで、発話の意図を決定するために処理され得る(ブロック264)。発話の意図は、場合によっては、現在提示されているオーディオプレゼンテーションからの1つまたは複数の識別されたエンティティおよび/またはオーディオプレゼンテーション内の現在の再生点に少なくとも部分的に基づいてよい。発話の分類は、いくつかの実装形態では、多層であってよく、(1)発話が自動アシスタントを対象とするかどうか(たとえば、非クエリ発話が環境内の別の個人を対象とする、特に誰も対象としない、またはさもなければ背景雑音である、とは対照的に)、(2)発話がオーディオプレゼンテーションを対象とするかどうか(たとえば、自動アシスタントを対象とする一般的なクエリとは対照的に)、(3)発話がオーディオプレゼンテーション内の特定の時点を対象とするかどうか、または(4)発話がオーディオプレゼンテーションに関連付けられた特定のエンティティを対象とするかどうかのうちの1つまたは複数の決定を試みることができる。発話に対するアシスタントデバイスの応答は、したがって、分類に基づいて異なってよい。加えて、いくつかの実装形態では、オーディオプレゼンテーション自体が発話として処理されないように、音響エコー取消しが利用されてよい。
【0051】
1つの例示的な実装形態では、発話の分類は、発話がアシスタントを対象とするかどうか(ブロック266);そうである場合、発話が現在提示されているオーディオプレゼンテーションをより具体的に対象とするかどうか(ブロック268);そうである場合、発話がオーディオプレゼンテーション内の特定の時点をさらにより具体的に対象とするか(ブロック270)またはオーディオプレゼンテーション内の特定のエンティティを対象とするか(ブロック272)に基づく。
【0052】
発話がアシスタントを対象としないと決定された場合、発話は、無視されてよいか、または代替として、「理解できませんでした、繰り返して頂けますか」などの応答が生成されてよい(ブロック274)。発話がアシスタントを対象とするが、特にオーディオプレゼンテーションを対象としない(たとえば、「明日の天気はどう」)と決定された場合、応答は会話様式で生成されてよい(ブロック276)。同様に、発話がオーディオプレゼンテーションを対象とするが、オーディオプレゼンテーション内のいずれの特定の時点またはエンティティも対象としない(たとえば、「ポッドキャストを一時停止して」または「このポッドキャストは何と呼ばれている?」)と決定された場合、適切な応答が生成されてよい(ブロック276)。
【0053】
しかしながら、発話分類が発話はオーディオプレゼンテーション内の特定の時点および/またはエンティティを対象とすると決定した場合、制御はブロック278に移り、事前処理された応答が利用可能であるかどうかが任意選択で決定され得る(たとえば、
図3~
図4に関して上記で論じたように)。応答処理が使用されない場合、ブロック278は省略されてよい。何の事前処理された応答も利用可能でない場合、応答が生成され得る(ブロック280)。応答を準備する際、適切な応答を決定するために、オーディオプレゼンテーション内の1つもしくは複数の識別されたエンティティおよび/または現在の再生点が任意選択で使用され得る。
【0054】
次に、事前処理された応答が利用可能であるか、または新しい応答が生成されているかのいずれかの場合、応答はユーザに提示され得る。示す実装形態では、応答のタイプおよびその応答が生成されるコンテキストに応じて、いくつかの異なる方法で応答が提示され得る。具体的には、示す実装形態では、応答が視覚応答であるかどうか(ブロック282)、つまり、応答が視覚手段を通して(たとえば、アシスタントデバイスのディスプレイを介して)ユーザに提示されることが可能であるかどうかについて決定が下される。そうである場合、応答は、オーディオプレゼンテーションの再生を一時停止せずに提示され得る(ブロック284)。そのような応答の一例は、Battle of Verdunの議論中に「これはいつ発生したの」というクエリに応答して、「Battle of Verdunは1916年に発生しました」で開始するアシスタントデバイス上に表示される通知、カード、またはチップであってよい。他の実装形態では、しかしながら、何の視覚応答もサポートされなくてよく(たとえば、非表示アシスタントデバイスの場合)、それにより、ブロック282は省略されてよい。
【0055】
応答が視覚応答でない場合、再生が一時停止可能であるかどうかについて決定が下され得る(ブロック286)。たとえば、再生がラジオ上であるかもしくはさもなければアシスタントデバイス以外のデバイス上であり、および/もしくはそれにより制御可能でない場合、またはオーディオプレゼンテーションがそれに対する一時停止が望まれないライブストリームである場合、再生は一時停止可能でないことがある。そのような場合、制御はブロック284に移り、再生を一時停止せずに応答を提示する。しかしながら、再生が一時停止可能である場合、制御はブロック288に移り、再生を一時的に停止し、応答を提示し、概して、応答の提示の完了時にオーディオプレゼンテーションの再生を続ける。
【0056】
図8は、本明細書で説明する機能性のうちのすべてまたは部分を実装するのに適した例示的なコンピューティングデバイス300のブロック図である。コンピューティングデバイス300は、一般に、バスサブシステム304を介していくつかの周辺デバイスと通信する少なくとも1つのプロセッサ302を含む。これらの周辺デバイスは、たとえば、メモリサブシステム308およびファイル記憶サブシステム310を含む記憶サブシステム306と、ユーザインターフェース入力デバイス312と、ユーザインターフェース出力デバイス314と、ネットワークインターフェースサブシステム316とを含む。入出力デバイスは、ユーザがコンピューティングデバイス300と対話するのを可能にする。ネットワークインターフェースサブシステム316は、インターフェースを外部ネットワークに提供し、他のコンピューティングデバイス内の対応するインターフェースデバイスに結合される。
【0057】
ユーザインターフェース入力デバイス312は、キーボード、マウス、トラックボール、タッチパッド、もしくはグラフィックタブレットなどのポインティングデバイス、スキャナ、ディスプレイに組み込まれたタッチスクリーン、音声認識システム、マイクロフォンなどのオーディオ入力デバイス、および/または他のタイプの入力デバイスを含み得る。概して、「入力デバイス」という用語の使用は、情報をコンピューティングデバイス300内にまたは通信ネットワーク上に入力するためのすべての考えられるタイプのデバイスおよび方法を含むことを意図する。
【0058】
ユーザインターフェース出力デバイス314は、ディスプレイサブシステム、プリンタ、ファックスマシン、またはオーディオ出力デバイスなどの非視覚的ディスプレイを含み得る。ディスプレイシステムは、陰極線管(CRT)、液晶ディスプレイ(LCD)などのフラットパネルデバイス、投影デバイス、または視覚画像を作成するための何らかの他の機構を含み得る。ディスプレイサブシステムはまた、オーディオ出力デバイスなどの非視覚的表示を提供することもできる。概して、「出力デバイス」という用語の使用は、情報をコンピューティングデバイス300からユーザにまたは別のマシンもしくはコンピューティングデバイスに出力するすべての考えられるタイプのデバイスおよび方法を含むことを意図する。
【0059】
記憶サブシステム306は、本明細書で説明するモジュールのうちのいくつかまたはすべての機能性を提供するプログラミングおよびデータ構造を記憶する。たとえば、記憶サブシステム306は、
図3、
図4、
図5、
図6、および/または
図7に示す様々なシーケンスの選択された態様を実行するための論理を含み得る。
【0060】
これらのソフトウェアモジュールは、概して、プロセッサ302によって単独でまたは他のプロセッサと組み合わせて実行される。記憶サブシステム306内で使用されるメモリ308は、プログラム実行中に命令およびデータを記憶するためのメインランダムアクセスメモリ(RAM)318および固定された命令が記憶される読取り専用メモリ(ROM)420を含む、いくつかのメモリを含み得る。ファイル記憶サブシステム310は、プログラムおよびデータファイル用の永続記憶装置を提供し得、ハードディスクドライブ、関連するリムーバブルメディアとともにフロッピーディスクドライブ、CD-ROMドライブ、光ドライブ、またはリムーバブルメディアカートリッジを含み得る。いくつかの実装形態の機能性を実装するモジュールは、記憶サブシステム306内、またはプロセッサ302によってアクセス可能な他のマシン内にファイル記憶サブシステム310によって記憶され得る。
【0061】
バスサブシステム304は、コンピューティングデバイス300の構成要素およびサブシステムが意図するように互いと通信することを可能にするための機構を提供する。バスサブシステム304は、単一のバスとして概略的に示されているが、バスサブシステムの代替実装形態は複数のバスを使用し得る。
【0062】
コンピューティングデバイス300は、モバイルデバイス、スマートフォン、タブレット、ラップトップコンピュータ、デスクトップコンピュータ、ウェアラブルコンピュータ、プログラマブル電子デバイス、セットトップボックス、専用アシスタントデバイス、ワークステーション、サーバ、コンピューティングクラスタ、ブレードサーバ、サーバファーム、または任意の他のデータ処理システムもしくはコンピューティングデバイスを含めて、様々なタイプのものであってよい。コンピュータおよびネットワークの絶え間なく変化する性質により、
図8に示したコンピューティングデバイス300の説明は、いくつかの実装形態を示すための特定の例として意図される。
図8に示すコンピューティングデバイス300よりも多数または少数の構成要素を有する、多くの他の構成のコンピューティングデバイス300が可能である。
【0063】
本明細書で説明するシステムがユーザに関する個人情報を収集するか、または個人情報を使用し得る状況において、プログラムまたは特徴がユーザ情報(たとえば、ユーザのソーシャルネットワーク、ソーシャルアクションもしくはアクティビティ、職業、ユーザの選好、またはユーザの現在の地理的ロケーションに関する情報)を収集するかどうかを制御するための、またはユーザにより関連し得るコンテンツをコンテンツサーバから受信するかどうかおよび/またはどのように受信するかを制御するための機会がユーザに提供され得る。また、一定のデータは、個人を識別できる情報が除去されるように、それが記憶または使用される前に1つまたは複数の方法で処理され得る。たとえば、ユーザに関して個人を識別できる情報を決定することができないように、ユーザの識別情報は処理され得、または地理的ロケーション情報が(都市、郵便番号、もしくは州レベルなどで)取得される場合、ユーザの特定の地理的ロケーションを決定することができないように、ユーザの地理的ロケーションは一般化され得る。したがって、ユーザは、ユーザに関する情報がどのように収集されるかおよび/または使用されるかに対して制御を有し得る。
【0064】
いくつかの実装形態について本明細書で説明し示したが、機能を実行するためのならびに/または結果および/もしくは本明細書で説明する利点のうちの1つもしくは複数を取得するための様々な他の手段および/または構成が利用されてよく、そのような変形体および/または修正は各々、本明細書で説明する実装形態の範囲内と見なされる。より一般に、本明細書で説明するすべてのパラメータ、寸法、材料、および構成は、例示的であることを意味し、実際のパラメータ、寸法、材料、および/または構成は、1つまたは複数の教示が使用される特定の1つまたは複数のアプリケーションに依存することになる。当業者は、せいぜいルーチン的実験を使用して、本明細書で説明する特定の実装形態に対する多くの均等物を認識することになるか、または確認することが可能になる。したがって、前述の実装形態は、単なる例として提示され、添付の特許請求の範囲およびその均等物の範囲内で、具体的に説明し、特許請求される以外の実装形態が実践され得ることを理解されたい。本開示の実装形態は、本明細書で説明する各個々の特徴、システム、物品、材料、キット、および/または方法を対象とする。加えて、そのような特徴、システム、物品、材料、キット、および/または方法のうちの2つ以上の任意の組合せは、そのような特徴、システム、物品、材料、キット、および/または方法が相互に矛盾しない場合、本開示の範囲内に含まれる。
【符号の説明】
【0065】
100 環境
102 アシスタントデバイス、ユーザインターフェース入出力デバイスアシスタントデバイス
104 自動アシスタント構成要素
106 ローカルおよび/または広域ネットワーク(たとえば、インターネット)
108 自動アシスタントクライアント、自動アシスタント
110 アプリケーション
112 オーディオ再生モジュール
114 オーディオプレゼンテーション記憶装置、記憶装置
116 オーディオ記録モジュール
118~132 モジュールまたは構成要素
118 音声認識モジュール、モジュール
120 自然言語処理モジュール、モジュール
122 オーディオプレゼンテーション分析モジュール、モジュール
124 示唆生成器、生成器
126 応答生成器、生成器
128 エンティティおよびアクション記憶装置、記憶装置
130 視覚レンダリングモジュール、モジュール
132 発話分類器モジュール、モジュール
150 エンドツーエンドオーディオ理解スタック
152 段階、第1の音声認識段階
154 段階、第2の自然言語処理段階
156 段階、第3の段階
158 段階、第4のフィードバック生成段階
160 オーディオプレゼンテーション
162 示唆生成構成要素、構成要素
164 クエリ処理構成要素、構成要素
166 発話
168 コンテキスト情報
170 ユーザフィードバック
200 動作シーケンス、シーケンス
210 動作シーケンス
230 シーケンス
250 動作シーケンス
260 動作シーケンス、シーケンス
300 コンピューティングデバイス
302 プロセッサ
304 バスサブシステム
306 記憶サブシステム
308 メモリサブシステム
310 ファイル記憶サブシステム
312 ユーザインターフェース入力デバイス
314 ユーザインターフェース出力デバイス
316 ネットワークインターフェースサブシステム
318 メインランダムアクセスメモリ(RAM)
420 読取り専用メモリ(ROM)