(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-12-12
(45)【発行日】2022-12-20
(54)【発明の名称】音声処理方法、装置、デバイス、プログラム及びコンピュータ記憶媒体
(51)【国際特許分類】
G10L 15/32 20130101AFI20221213BHJP
G06F 21/33 20130101ALI20221213BHJP
G10L 15/22 20060101ALI20221213BHJP
G10L 15/30 20130101ALI20221213BHJP
【FI】
G10L15/32 220Z
G06F21/33
G10L15/22 300Z
G10L15/30
(21)【出願番号】P 2021514574
(86)(22)【出願日】2020-05-07
(86)【国際出願番号】 CN2020088943
(87)【国際公開番号】W WO2021047193
(87)【国際公開日】2021-03-18
【審査請求日】2021-04-07
(31)【優先権主張番号】201910862398.2
(32)【優先日】2019-09-12
(33)【優先権主張国・地域又は機関】CN
(73)【特許権者】
【識別番号】512015127
【氏名又は名称】バイドゥ オンライン ネットワーク テクノロジー(ペキン) カンパニー リミテッド
(74)【代理人】
【識別番号】110000877
【氏名又は名称】弁理士法人RYUKA国際特許事務所
(72)【発明者】
【氏名】フアン、ジジョウ
(72)【発明者】
【氏名】ディン、シチアン
(72)【発明者】
【氏名】ホウ、チャンシュン
【審査官】大野 弘
(56)【参考文献】
【文献】特開2019-050554(JP,A)
【文献】特表2018-507465(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G10L 15/32
G06F 21/33
G10L 15/30
G10L 15/22
(57)【特許請求の範囲】
【請求項1】
音声処理方法であって、
第1の音声アシスタントのサーバが、受信した音声リクエストを識別し、
識別されたテキストリクエストを第2の音声アシスタントのサーバに送信し、
第2の音声アシスタントのサーバが前記テキストリクエストに対して生成して返信したトークン情報を受信し、
前記第1の音声アシスタントのクライアントが前記第2の音声アシスタントのクライアントを呼び出して前記トークン情報による前記テキストリクエストへの応答を実行させるように、前記テキストリクエスト及び前記トークン情報を第1の音声アシスタントのクライアントに送信することを含む、
音声処理方法。
【請求項2】
前記識別されたテキストリクエストを第2の音声アシスタントのサーバに送信することは、
前記第1の音声アシスタントのサーバが、前記テキストリクエストを処理できる第2の音声アシスタントの情報を特定し、
前記テキストリクエストを前記第2の音声アシスタントのサーバに送信することを含む、請求項1に記載の音声処理方法。
【請求項3】
前記第1の音声アシスタントのサーバが、前記テキストリクエストを処理できる第2の音声アシスタントの情報を特定することは、
前記テキストリクエストを少なくとも一つの他の音声アシスタントのサーバに送信し、
確認情報を返信した他の音声アシスタントのサーバから第2の音声アシスタントの情報を特定することであって、前記確認情報は、前記確認情報を送信した他の音声アシスタントのサーバが前記テキストリクエストを処理できることを示す情報である、ことを含む、請求項2に記載の音声処理方法。
【請求項4】
前記第1の音声アシスタントのクライアントから送信された端末デバイスにインストールされた音声アシスタント情報リストを受信し、
前記音声アシスタント情報リストに従って、前記テキストリクエストを少なくとも一つの他の音声アシスタントのサーバに送信するステップを実行することを更に含む、請求項3に記載の音声処理方法。
【請求項5】
前記第1の音声アシスタントのサーバが、前記テキストリクエストを処理できる第2の音声アシスタントの情報を特定することは、
前記第1の音声アシスタントのサーバが、前記テキストリクエストの属する分野を識別し、
識別された分野に対応する音声アシスタントの情報を前記第2の音声アシスタントの情報として特定することを含む、請求項2から4の何れか一項に記載の音声処理方法。
【請求項6】
前記識別されたテキストリクエストを第2の音声アシスタントのサーバに送信することの前に、更に、
前記第1の音声アシスタントのサーバが前記テキストリクエストを処理できるかどうかを判断し、否定の場合、前記識別されたテキストリクエストを第2の音声アシスタントのサーバに送信することを継続し、肯定の場合、前記テキストリクエストに応答し、応答結果を第1の音声アシスタントのクライアントに返信することを含む、請求項1から5の何れか一項に記載の音声処理方法。
【請求項7】
音声処理方法であって、
第2の音声アシスタントのサーバは、第1の音声アシスタントのサーバから送信された、前記第1の音声アシスタントのサーバにより音声リクエストを識別して得られたテキストリクエストを受信し、
前記テキストリクエストに対してトークン情報を生成し、前記トークン情報を前記第1の音声アシスタントのサーバに送信し、
第2の音声アシスタントのクライアントから送信されたテキストリクエストおよびトークン情報を受信し、
受信されたトークン情報と前記生成されたトークン情報とに基づいて検証を行い、検証に成功した場合に前記テキストリクエストに応答し、前記テキストリクエストに対する応答結果を前記第2の音声アシスタントのクライアントに返信すること、を含む音声処理方法。
【請求項8】
前記テキストリクエストに応答することは、
前記テキストリクエストをタスクコマンドに解析し、前記タスクコマンドに従って対応するタスク処理を実行し、あるいは、
前記テキストリクエストをタスクコマンドに解析し、前記第2の音声アシスタントのクライアントが非音声アシスタントのクライアントを呼び出して前記タスクコマンドを実行させるように、前記タスクコマンドおよび前記タスクコマンドを実行する非音声アシスタントの情報を前記第2の音声アシスタントのクライアントに返信することを含む、請求項7に記載の音声処理方法。
【請求項9】
前記第2の音声アシスタントのクライアントに対して周波数制御処理を行い、設定時間内に前記第2の音声アシスタントのクライアントから送信された検証に失敗したリクエストの数が所定の閾値を超えた場合に、前記第2の音声アシスタントのクライアントをブラックリストに登録することをさらに含む、請求項7または8に記載の音声処理方法。
【請求項10】
前記第2の音声アシスタントのサーバは、前記トークン情報と前記第1の音声アシスタントの情報との対応関係を記録し、前記対応関係に基づいてテキストリクエストに対する応答のうち、前記第1の音声アシスタントに対応する応答回数を統計し、
前記応答回数に基づいて前記第1の音声アシスタントに課金することをさらに含む、請求項7から9の何れか一項に記載の音声処理方法。
【請求項11】
前記第2の音声アシスタントのサーバが前記テキストリクエストを処理できる場合、確認情報を前記第1の音声アシスタントのサーバに返信することをさらに含む、請求項7から10の何れか一項に記載の音声処理方法。
【請求項12】
第1の音声アシスタントのサーバに配置される音声処理装置であって、
第1の音声アシスタントのクライアントから送信された音声リクエストを受信するクライアントインタラクションユニットと、
前記音声リクエストを識別してテキストリクエストを得る識別ユニットと、
前記テキストリクエストを第2の音声アシスタントのサーバに送信し、第2の音声アシスタントのサーバが前記テキストリクエストに対して生成して返信したトークン情報を受信するサーバインタラクションユニットとを備え、
前記クライアントインタラクションユニットは、更に、前記第1の音声アシスタントのクライアントが前記第2の音声アシスタントのクライアントを呼び出して前記トークン情報による前記テキストリクエストへの応答を実現させるように、前記テキストリクエスト及び前記トークン情報を前記第1の音声アシスタントのクライアントに送信する、音声処理装置。
【請求項13】
前記サーバインタラクションユニットは、具体的に、前記テキストリクエストを少なくとも一つの他の音声アシスタントのサーバに送信し、確認情報を返信した他の音声アシスタントのサーバから第2の音声アシスタントの情報を特定し、前記確認情報は、前記確認情報を送信した他の音声アシスタントのサーバが前記テキストリクエストを処理できることを示す情報である、請求項12に記載の音声処理装置。
【請求項14】
前記クライアントインタラクションユニットは、更に、前記第1の音声アシスタントのクライアントから送信された端末デバイスにインストールされた音声アシスタント情報リストを受信し、
前記サーバインタラクションユニットは、更に、前記音声アシスタント情報リストに従って、前記テキストリクエストを少なくとも一つの他の音声アシスタントのサーバに送信するステップを実行する、請求項12または13に記載の音声処理装置。
【請求項15】
第2の音声アシスタントのサーバに設けられる音声処理装置であって、
第1の音声アシスタントのサーバから送信された、前記第1の音声アシスタントのサーバにより音声リクエストを識別して得られるテキストリクエストを受信し、検証ユニットにより生成されたトークン情報を前記第1の音声アシスタントのサーバに送信するサーバインタラクションユニットと、
第2の音声アシスタントのクライアントから送信されたテキストリクエストおよびトークン情報を受信し、前記第2の音声アシスタントのクライアントに応答処理ユニットによる前記テキストリクエストに対する応答結果を返信するクライアントインタラクションユニットと、
前記テキストリクエストに対してトークン情報を生成し、前記クライアントインタラクションユニットにより受信されたトークン情報および生成されたトークン情報を利用して検証処理を行う検証ユニットと、
前記検証処理に成功した場合に、前記テキストリクエストに応答する応答処理ユニットと、を備える、音声処理装置。
【請求項16】
前記第2の音声アシスタントのクライアントに対して周波数制御処理を行い、設定時間内に前記第2の音声アシスタントのクライアントから送信された検証に失敗したリクエストの数が所定の閾値を超えた場合に、前記第2の音声アシスタントのクライアントをブラックリストに登録する周波数制御処理ユニットを更に備える、請求項15に記載の音声処理装置。
【請求項17】
課金ユニットを更に備え、
前記検証ユニットは、更に、前記トークン情報と前記第1の音声アシスタントの情報との対応関係を記録し、
前記課金ユニットは、前記対応関係に基づいてテキストリクエストに対する応答のうち、前記第1の音声アシスタントに対応する応答回数を統計し、前記応答回数に基づいて前記第1の音声アシスタントに課金する、請求項15または16に記載の音声処理装置。
【請求項18】
前記サーバインタラクションユニットは、更に、前記第2の音声アシスタントのサーバが前記テキストリクエストを処理できる場合に、前記第1の音声アシスタントのサーバに確認情報を返信する、請求項16に記載の音声処理装置。
【請求項19】
少なくとも一つのプロセッサと、
前記少なくとも一つのプロセッサと通信接続されたメモリと、を備え
前記メモリに前記少なくとも一つのプロセッサにより実行可能なコマンドが記憶されており、前記コマンドが前記少なくとも一つのプロセッサにより実行されると、前記少なくとも一つのプロセッサに請求項1~11の何れか一項に記載の音声処理方法を実行させる電子デバイス。
【請求項20】
コンピュータに請求項1~11の何れか一項に記載の音声処理方法を実行させるコンピュータ
プログラムを記憶した非一時的なコンピュータ可読記憶媒体。
【請求項21】
コンピュータに請求項1~11の何れか一項に記載の音声処理方法を実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、出願日が2019年09月12日、出願番号が201910862398.2、発明名称が「音声処理方法、装置、デバイス及びコンピュータ記憶媒体」である中国特許出願の優先権を請求する。
本出願はコンピュータ応用技術分野に関し、特に音声技術における音声処理方法、装置及びコンピュータ記憶媒体に関する。
【背景技術】
【0002】
上記部分は、特許請求の範囲に記載されている本発明の実施形態に対して背景又は文脈を提供するためである。ここでの説明は、上記部分に含まれたからといって従来技術であると考えてはいけない。
【0003】
音声識別技術の飛躍の発展につれて、音声アシスタントが各種のモバイルアプリプロバイダー及びモバイルユーザに注目されている。ユーザは、音声リクエストを入力する方式で音声アシスタントとのインタラクションを行うことができる。音声アシスタントは、音声リクエストを識別した後に、対応する処理タスクを実行してユーザに応答する。
【0004】
しかし、ユーザが音声アシスタントを使用している間に、現在の音声アシスタントはユーザから入力された音声リクエストをうまく処理できず、同じ端末デバイスにおける他の音声アシスタントはその音声リクエストをうまく処理できるという状況が存在する可能性がある。しかし、現在、音声アシスタントの間で互いに呼び出すことにより音声リクエストに応答するメカニズムは不足している。
【発明の概要】
【発明が解決しようとする課題】
【0005】
これに鑑みて、本出願は、音声アシスタントの間の相互呼び出しを実現して音声リクエストに応答する音声処理方法、装置、およびコンピュータ記憶媒体を提供する。
【課題を解決するための手段】
【0006】
第1の局面によれば、本発明は、第1の音声アシスタントのサーバは、受信した音声リクエストを識別し、識別されたテキストリクエストを第2の音声アシスタントのサーバに送信し、第2の音声アシスタントのサーバが前記テキストリクエストに対して生成して返信したトークン情報を受信し、前記第1の音声アシスタントのクライアントが前記第2の音声アシスタントのクライアントを呼び出して前記トークン情報による前記テキストリクエストへの応答を実行させるように、前記テキストリクエスト及び前記トークン情報を第1の音声アシスタントのクライアントに送信することを含む音声処理方法を提供する。
【0007】
本明細書の一実施形態によれば、前記識別されたテキストリクエストを第2の音声アシスタントのサーバに送信することは、前記第1の音声アシスタントのサーバは、前記テキストリクエストを処理できる第2の音声アシスタントの情報を特定し、前記テキストリクエストを前記第2の音声アシスタントのサーバに送信することを含む。
【0008】
本明細書の一実施形態によれば、前記第1の音声アシスタントのサーバは、前記テキストリクエストを処理できる第2の音声アシスタントの情報を特定することは、前記テキストリクエストを少なくとも一つの他の音声アシスタントのサーバに送信し、確認情報を返信した他の音声アシスタントのサーバから第2の音声アシスタントの情報を特定し、前記確認情報は、上記確認情報を送信した他の音声アシスタントのサーバが前記テキストリクエストを処理できると示す、ことを含む。
【0009】
本発明の一実施形態によれば、上記方法は、更に、前記第1の音声アシスタントのクライアントから送信された端末デバイスにインストールされた音声アシスタント情報リストを受信し、前記音声アシスタント情報リストに従って、前記テキストリクエストを少なくとも一つの他の音声アシスタントのサーバに送信するステップを実行することを含む。
【0010】
本明細書の一実施形態によれば、前記第1の音声アシスタントのサーバは、前記テキストリクエストを処理できる第2の音声アシスタントの情報を特定することは、前記第1の音声アシスタントのサーバは、前記テキストリクエストが属する分野を識別し、識別された分野に対応する音声アシスタントの情報を前記第2の音声アシスタントの情報として特定することを含む。
【0011】
本明細書の一実施形態によれば、前記識別されたテキストリクエストを第2の音声アシスタントのサーバに送信する前に、更に、前記第1の音声アシスタントのサーバが前記テキストリクエストを処理できるかどうかを判断し、否定の場合、前記識別されたテキストリクエストを第2の音声アシスタントのサーバに送信することを継続し、肯定の場合、前記テキストリクエストに応答し、応答結果を第1の音声アシスタントのクライアントに返信することを含む。
【0012】
第2の局面によれば、本出願は、第2の音声アシスタントのサーバは、第1の音声アシスタントのサーバから送信された、前記第1の音声アシスタントのサーバにより音声リクエストを識別して得られたテキストリクエストを受信し、前記テキストリクエストに対してトークン情報を生成し、前記トークン情報を前記第1の音声アシスタントのサーバに送信し、第2の音声アシスタントのクライアントから送信されたテキストリクエストおよびトークン情報を受信し、受信されたトークン情報と前記生成されたトークン情報とに基づいて検証を行い、検証に成功した場合に前記テキストリクエストに応答し、前記テキストリクエストに対する応答結果を前記第2の音声アシスタントのクライアントに返信することを含む音声処理方法を提供する。
【0013】
本明細書の一実施形態によれば、前記テキストリクエストに応答することは、前記テキストリクエストをタスクコマンドに解析し、前記タスクコマンドに従って対応するタスク処理を実行し、あるいは、前記テキストリクエストをタスクコマンドに解析し、前記第2の音声アシスタントのクライアントが非音声アシスタントのクライアントを呼び出して前記タスクコマンドを実行させるように、前記タスクコマンドおよび上記タスクコマンドを実行する非音声アシスタントの情報を前記第2の音声アシスタントのクライアントに返信することを含む。
【0014】
本明細書の一実施形態によれば、上記方法は、さらに、前記第2の音声アシスタントのクライアントに対して周波数制御処理を行い、設定時間内に前記第2の音声アシスタントのクライアントから送信された検証に失敗したリクエストの数が所定の閾値を超えた場合に、前記第2の音声アシスタントのクライアントをブラックリストに登録することを含む。
【0015】
本明細書の一実施形態によれば、上記方法は、さらに、前記第2の音声アシスタントのサーバは、前記トークン情報と前記第1の音声アシスタントの情報との対応関係を記録し、前記対応関係に基づいてテキストリクエストに対する応答のうち、前記第1の音声アシスタントに対応する応答回数を統計し、前記応答回数に基づいて前記第1の音声アシスタントに課金することを含む。
【0016】
本明細書の一実施形態によれば、上記方法は、さらに、前記第2の音声アシスタントのサーバは前記テキストリクエストを処理できる場合、確認情報を前記第1の音声アシスタントのサーバに返信することを含む。
【0017】
第3の局面によれば、本出願は、第1の音声アシスタントのサーバに配置され、第1の音声アシスタントのクライアントから送信された音声リクエストを受信するクライアントインタラクションユニットと、前記音声リクエストを識別してテキストリクエストを得る識別ユニットと、前記テキストリクエストを第2の音声アシスタントのサーバに送信し、第2の音声アシスタントのサーバが前記テキストリクエストに対して生成して返信したトークン情報を受信するサーバインタラクションユニットとを備え、前記クライアントインタラクションユニットは、更に、前記第1の音声アシスタントのクライアントが前記第2の音声アシスタントのクライアントを呼び出して前記トークン情報による前記テキストリクエストへの応答を実現させるように、前記テキストリクエスト及び前記トークン情報を前記第1の音声アシスタントのクライアントに送信する音声処理装置を提供する。
【0018】
第4の局面によれば、本出願は、第2の音声アシスタントのサーバに配置され、第1の音声アシスタントのサーバから送信された、前記第1の音声アシスタントのサーバにより音声リクエストを識別して得られるテキストリクエストを受信し、検証ユニットにより生成されたトークン情報を前記第1の音声アシスタントのサーバに送信するサーバインタラクションユニットと、前記テキストリクエストに対してトークン情報を生成し、前記クライアントインタラクションユニットにより受信されたトークン情報および生成されたトークン情報を利用して検証処理を行う検証ユニットと、第2の音声アシスタントのクライアントから送信されたテキストリクエストおよびトークン情報を受信し、前記第2の音声アシスタントのクライアントに応答処理ユニットによる前記テキストリクエストに対する応答結果を返信するクライアントインタラクションユニットと、前記検証に成功した場合に、前記テキストリクエストに応答する応答処理ユニットと、を備える音声処理装置を提供する。
【0019】
第5の局面によれば、本出願は、少なくとも一つのプロセッサと、前記少なくとも一つのプロセッサと通信接続されたメモリと、を備え、前記メモリに前記少なくとも一つのプロセッサにより実行可能なコマンドが記憶されており、前記コマンドが前記少なくとも一つのプロセッサにより実行されると、前記少なくとも一つのプロセッサに前記の方法を実行させる電子デバイスを提供する。
【0020】
第6の局面によれば、本出願は、コンピュータに前記の方法を実行させるコンピュータコマンドを記憶した非一時的なコンピュータ可読記憶媒体を提供する。
【0021】
前記出願の一実施形態は、以下の利点を有する。
【0022】
1)本出願は、ユーザから入力された音声リクエストへの応答を実現するために、トークン情報による音声アシスタントの間の相互呼出しのメカニズムを提供する。これにより、ユーザが第1の音声アシスタントを用いて音声リクエストを入力した後、第2の音声アシスタントがより良く応答できる場合に、第1の音声アシスタント側が第2の音声アシスタントを呼び出して音声リクエストに対する応答を実現することができる。
【0023】
2)第2の音声アシスタントのサーバが提供するTokenによる検証メカニズムによれば、第1の音声アシスタントのクライアントが第2の音声アシスタントのクライアントを誤って呼び出すことで発生する誤応答を防止することができ、悪意のある第1の音声アシスタントのクライアントが第2の音声アシスタントのクライアントを呼び出して攻撃することを防止することもでき、信頼性及び安全性を向上させた。
【0024】
3)第2の音声アシスタントのサーバはTokenを利用して周波数制御処理を行うことができ、不正なクライアントがリクエストを模倣することで発生する悪意のある攻撃を防止することができる。
【0025】
4)第2の音声アシスタントのサーバは、第1の音声アシスタント側でテキストリクエストに応答した回数の代わりに、Tokenと第1の音声アシスタントとの対応関係を記録し統計して第1の音声アシスタント側に対する課金の基礎とすることができる。
【0026】
5)本出願は、第1の音声アシスタントのサーバによりテキストリクエストを他の音声アシスタントのサーバに送信し、確認情報を返信した他の音声アシスタントのサーバから第2の音声アシスタントの情報を特定して呼び出しを行うことにより、音声リクエストに対する応答がより正確になる、音声リクエストを処理できる第2の音声アシスタントを特定する具体的な方法を提供する。
【0027】
前記選択可能な方式における他の効果は、以下で具体的な実施例と合わせて説明する。
【図面の簡単な説明】
【0028】
【
図1】本出願の実施形態を適用可能な音声処理方法または音声処理装置の例示的なシステムアーキテクチャを示す。
【
図2】本出願の実施形態により提供される主要な方法のフローチャートである。
【
図3】本出願の実施形態により提供される改善された方法のフローチャートである。
【
図4a】本願により提供される実例一の画面実例図である。
【
図4b】本願により提供される実例一の画面実例図である。
【
図5a】本願により提供される実例二の画面実例図である。
【
図5b】本願により提供される実例二の画面実例図である。
【
図5c】本願により提供される実例二の画面実例図である。
【
図5d】本願により提供される実例二の画面実例図である。
【
図6】本出願の実施形態により提供される、第1の音声アシスタントのサーバに設置された音声処理装置の模式図である。
【
図7】本出願の実施形態により提供される、第1の音声アシスタントのクライアントに設置された音声処理装置の模式図である。
【
図8】本出願の実施形態により提供される、第2の音声アシスタントのクライアントに設置された音声処理装置の模式図である。
【
図9】本出願の実施形態により提供される、第2の音声アシスタントのサーバに設置された装置の模式図である。
【
図10】本出願の実施形態に係る音声処理方法を実現するための電子デバイスのブロック図である。
【発明を実施するための形態】
【0029】
以下、図面に基づいて、本出願の例示的な実施例を説明する。理解を容易にするために、本出願の実施例の様々な詳細が含まれており、それらは単なる例示と見なされるべきである。従って、当業者は、本出願の範囲及び精神から逸脱することなく、本明細書に記載の実施形態に対して様々な変更及び修正を行うことができることを認識するはずである。同様に、簡明のために、以下の説明では、よく知られた機能と構造の説明は省略される。
【0030】
図1は、本出願の実施形態を適用することができる音声処理方法または音声処理装置の例示的なシステムアーキテクチャを示す。
【0031】
図1に示すように、上記システムアーキテクチャは、端末デバイス100における第1の音声アシスタントのクライアント101および第2の音声アシスタントのクライアント102と、ネットワーク103と、第1の音声アシスタントのサーバ104と、第2の音声アシスタントのサーバ105とを含むことができる。ネットワーク103は、端末デバイス100とサーバ104、105との間に通信リンクの媒体を提供する。ネットワーク103は、有線、無線通信リンク、または光ファイバケーブルなどの様々な接続タイプを含むことができる。
【0032】
ユーザは、端末デバイス100を使用して、ネットワーク103を介してサーバ104、105とインタラクションすることができる。端末デバイス100には、各種のクライアントが搭載されて良く、
図1に示す音声アシスタント系のクライアントに加えて、ウェブブラウザや通信系アプリケーションなどのクライアントが搭載されてもよい。さらに、説明すべきなのは、本出願に示された端末デバイス100における音声アシスタント系のクライアントの数は、例示的なものに過ぎず、2つに限定されるものではなく、2つを超える他の数の音声アシスタント系のクライアントであってもよい。本出願に記載の音声アシスタント系のクライアントは、音声アシスタント系の機能のみを備えたクライアントであってもよく、音声アシスタント機能を備えた地図アプリケーションクライアント、音声アシスタント機能を備えた検索アプリケーションクライアント、音声アシスタント機能を備えたビデオ再生クライアントなど、音声アシスタント系の機能と他の機能とを統合したクライアントであってもよい。オペレーティングシステムに付属のクライアントであってもよく、ユーザがインストールしたクライアントであってもよい。
【0033】
端末デバイス100は、音声インタラクションをサポートする様々な電子デバイスであってもよく、スクリーン付きのデバイスであってもよいし、スクリーンなしのデバイスであってもよい。スマートフォン、タブレット、スマートスピーカー、スマートテレビなどを含むが、これらに限定されない。本出願により提供される音声処理装置は、前記端末デバイス100に設置されて動作することができる。これは、複数のソフトウェアまたはソフトウェアモジュールとして実現されても良く(例えば、分散的なサービスを提供するために)、単一のソフトウェアまたはソフトウェアモジュールとして実現されても良く、ここでは具体的に限定されない。
【0034】
サーバ104および105は、それぞれ単一のサーバであっても良く、それぞれ複数のサーバからなるサーバグループであっても良い。本出願では、サーバ104および105は、それぞれのクライアントからの情報を受信、応答するだけでなく、サーバ104および105の間にも情報のやりとりが存在する。
【0035】
理解すべきなのは、
図1における端末デバイス、ネットワーク、およびサーバの数は、例示的なものに過ぎない。実際の必要に応じて、任意の数の端末デバイス、ネットワーク、およびサーバを有することができる。
【0036】
従来技術では、ユーザが第1の音声アシスタントを使っている間に、第1の音声アシスタントのクライアントは、ユーザから入力された音声リクエストを第1の音声アシスタントのサーバに送信した後、第1の音声アシスタントのサーバは、音声リクエストの音声識別およびコマンド解析を担う。なお、音声識別は、音声リクエストをテキストリクエストに識別することであり、コマンド解析は、予め設定された解析ポリシーに合わせて、テキストリクエストをタスクコマンドに解析することである。そして、タスクコマンドに従って対応するタスク処理を実行する。なお,コマンド解析は通常,具体的な分野と深く関連しており,関連分野の専門の音声アシスタントのみが上記分野のテキストリクエストに対してコマンド解析を良く行うことができる。
【0037】
例えば、ユーザが携帯電話システムに付属している音声アシスタントを使用する場合、ユーザは「五彩城に行ってから清華大学に行く」という音声リクエストを入力したが、携帯電話システムに付属している音声アシスタントは音声リクエストをテキストに識別した後、それを正しいタスクコマンドに変換することは困難である。「ルート検索を開始し、目的地は清華大学」というタスク指令に解析し、通過地点である五彩城が欠落してしまうことになる。携帯電話システムに付属の音声アシスタントが上記タスクコマンドに応答してナビゲーション系または地図系アプリケーションのクライアントを呼び出しても、ナビゲーション系または地図系クライアントが上記タスクコマンドを実行してユーザのニーズに適切に応じることはできない。
【0038】
本願の発明者は、検討することにより、一般的に音声アシスタントが「聞こえる」の段階を確実に完成できるが(即ち音声コマンドをテキストコマンドに確実に識別することができる)、「聞き取る」の段階(即ちテキストコマンドをタスクコマンドに解析する)においてより専門的なクライアントが必要であることが分かった。これに鑑み、本願の主旨は、ユーザが第1の音声アシスタントを使用して音声リクエストを入力する場合に、「聞こえる」の段階が依然として第1の音声アシスタントにより実行される一方、「聞き取る」と実行の段階が上記音声リクエストに対応するテキストリクエストを処理できる第2の音声アシスタントにより実行されることにある。以下で実施例と合わせて本願により提供される方法を説明する。
【0039】
図2は、本出願の実施形態により提供される主要な方法のフローチャートである。本方法の応用場面は、ユーザに使用される端末デバイスに少なくとも第1の音声アシスタントのクライアントと第2の音声アシスタントのクライアントがインストールされたことである。
図2に示されたように、上記方法は以下のステップを含んで良い。
【0040】
201において、第1の音声アシスタントのクライアントはユーザから入力された音声リクエストを受信した。
【0041】
上記ステップにおいて、ユーザが第1の音声アシスタントのクライアントを使用する場合に音声リクエストを入力し、或いは、ユーザが音声リクエストを入力した時に使用されたウェイクワードにより第1の音声アシスタントをアクティブすることにより、第1の音声アシスタントのクライアントがユーザから入力された音声リクエストを受信する。
【0042】
例えば、ユーザは第1の音声アシスタントのクライアントを使用する場合に、ある録音ボタンを押下して音声リクエストを入力すると仮定すると、第1の音声アシスタントのクライアントがユーザから入力された音声リクエストを受信する。
【0043】
また、例えば、ユーザは携帯電話を使用している間に、システムに付属された音声アシスタントのクライアントを起動して音声リクエストを入力すると仮定すると、上記システムに付属された音声アシスタントのクライアントが上記音声リクエストを受信する。
【0044】
また、例えば、ユーザはバイドゥ地図を使用している間に、音声リクエストとして「ショウドゥショウドゥ、……」を入力すると仮定すると、ウェイクワードである「ショウドゥショウドゥ」によりバイドゥ地図に付属された音声アシスタントがウェイクアップされ、バイドゥ地図のクライアントがユーザから入力された音声リクエストを受信する。
【0045】
勿論、他の場面にも適用可能であるが、ここでは列挙しない。
【0046】
202において、第1の音声アシスタントのクライアントは音声リクエストを第1の音声アシスタントのサーバに送信する。
【0047】
203において、第1の音声アシスタントのサーバは上記音声リクエストを識別して対応するテキストリクエストを得る。
【0048】
現在、殆どの音声アシスタントは音声識別を確実に行うことができるため、第1の音声アシスタントのサーバは音声リクエストを受信した後に、音声リクエストの識別を行って対応するテキストリクエストを得る。
【0049】
204において、第1の音声アシスタントのサーバはテキストリクエストを第2の音声アシスタントのサーバに送信する。
【0050】
このステップは、第1の音声アシスタントのサーバにより上記テキストリクエストを処理できる第2の音声アシスタントの情報を特定することを前提として実現される。具体的には、任意の特定方式を採用することができ、以下のものを含んで良いが、これらに限定されない。
【0051】
第1の方式において、第1の音声アシスタントのサーバは、上記テキストリクエストが属する分野を識別し、次に識別された分野に対応する音声アシスタントの情報を第2の音声アシスタントの情報として特定する。例えば、テキストリクエストに対してキーワードや語義に基づく簡単な解析を行うことにより、上記テキストリクエストが属する分野を特定する。
【0052】
一つの実施形態として、第1の音声アシスタントのサーバは、協力関係を有する他の音声アシスタントの情報が予め配置され、そしてこれらの音声アシスタントから第2の音声アシスタントの情報を特定することができる。
【0053】
別の実施形態として、第1の音声アシスタントのクライアントは、端末デバイスにインストールされた音声アシスタント情報リストを走査することができる。 なお、端末デバイス内の各音声アシスタントのクライアントは、インストールパッケージ内に対応する情報を使用して音声アシスタント情報を指示して良く、第1の音声アシスタントのクライアントは、端末デバイス内のインストールパッケージを介して、どの音声アシスタントのクライアントが端末デバイスにインストールされているかを特定することにより、インストール済みの音声アシスタント情報リストを得ることができる。次に、第1の音声アシスタントのクライアントは、上記音声アシスタント情報リストを第1の音声アシスタントのサーバにアップロードすることができる。アップロードのタイミングは、第1の音声アシスタントのクライアントが起動時にアップロードしても良く、音声リクエストを送信すると同時にアップロードしても良く、音声リクエストを送信する前の他のタイミングでアップロードしてもよい。第1の音声アシスタントのサーバは、第1の音声アシスタントのクライアントによりアップロードされた音声アシスタント情報リストに基づいて、その中から第2の音声アシスタントの情報を特定することができる。
【0054】
第2の方式において、第1の音声アシスタントのサーバは、上記テキストリクエストを少なくとも一つの他の音声アシスタントのサーバに送信し、他の音声アシスタントのサーバは、自体が上記テキストリクエストを処理できると判断した場合に、確認情報を返信する。第1の音声アシスタントのサーバは、確認情報を返信した音声アシスタントのサーバから一つを選択して第2の音声アシスタントのサーバとする。
【0055】
この方法は、
図3に示された実施形態において詳細に説明する。
【0056】
前記の2つの方法以外にも、他の方法が存在する可能性がある。例えば、ユーザが使用する端末デバイスには、第1の音声アシスタントと第2の音声アシスタントという2つの音声アシスタントのクライアントだけが存在する。この場合に、第1の音声アシスタントのサーバは、自体がテキストリクエストを処理できないと判断した場合に、テキストリクエストを第2の音声アシスタントに送信する。なお、第1の音声アシスタントのサーバが上記テキストリクエストを処理できるか否かは、サーバが属する分野に基づいて判断することができ、例えばテキストリクエストをキーワードや語義に基づいて簡単に分析することで、上記テキストリクエストの属する分野を確定し、上記テキストリクエストの属する分野がサーバ自体の属する分野と一致するか否かを判断し、一致すれば、サーバ自体が上記テキストリクエストを処理できるとみなし、さもなければ、サーバ自体が上記テキストリクエストを処理できないとみなす。他の分野識別方式を採用してもよい。
【0057】
205において、第2の音声アシスタントのサーバは、上記テキストリクエストに対してToken(トークン情報)を生成し、上記Tokenを第1の音声アシスタントのサーバに返信する。
【0058】
このステップでは、Tokenを生成する際に、サーバにしか知らない鍵と暗号化方式でランダム情報を暗号化してTokenを得ることができる。上記Tokenの有効期限内の唯一性を確保し、且つ他のデバイスにクラッキングされ難くなれば良い。
【0059】
206において、第1の音声アシスタントのサーバは、テキストリクエストおよびTokenを第1の音声アシスタントのクライアントに送信する。
【0060】
207において、第1の音声アシスタントのクライアントは、第2の音声アシスタントのクライアントを呼び出して上記テキストリクエストに応答し、呼び出し時にテキストリクエストとTokenを伝送する。
【0061】
このステップにおいて、端末デバイスに2つの音声アシスタントのクライアントのみがある場合に、206において、第1の音声アシスタントのサーバは、第2の音声アシスタントの情報を第1の音声アシスタントのクライアントに伝送する必要がない。
【0062】
しかし、より一般的な場合に、206において、第1の音声アシスタントのサーバは、第1の音声アシスタントのクライアントが207において対応する第2の音声アシスタントのクライアントを呼び出すように、特定された第2の音声アシスタントの情報を一緒に第1の音声アシスタントのクライアントに送信する。
【0063】
208において、第2の音声アシスタントのクライアントは、テキストリクエストおよびTokenを第2の音声アシスタントのサーバに送信する。
【0064】
209において、第2の音声アシスタントのサーバは、Tokenを用いてテキストリクエストを検証し、検証が成功した場合にテキストリクエストに応答する。
【0065】
このステップでは,第2の音声アシスタントのサーバは,受信したTokenとテキストリクエストに対して生成されたTokenを用いて検証を行い,両者が一致するか否かを判断し,一致すれば検証に成功し,さもなければ検証に失敗する。
【0066】
検証に成功した場合、第2の音声アシスタントのサーバはテキストリクエストに応答する。
【0067】
検証に失敗した場合、第2の音声アシスタントのサーバはテキストリクエストに応答しないか、検証失敗または応答失敗の情報を第2の音声アシスタントのクライアントに返信する。
【0068】
前記のTokenによる検証により、第1の音声アシスタントのクライアントが第2の音声アシスタントのクライアントを誤って呼び出すことによる誤応答を防止することができ、悪意のある第1の音声アシスタントのクライアントが第2の音声アシスタントのクライアントを呼び出して攻撃することを防止することもできる。例えば、悪意のある第1の音声アシスタントのクライアントが第2の音声アシスタントのクライアントを呼び出して攻撃的なテキストリクエストを複数回送信しても、悪意のある第1の音声アシスタントのクライアントがTokenを知ることができないため、第2の音声アシスタントのサーバが悪意のあるテキストリクエストに応答しない。
【0069】
本出願は、Tokenによる検証処理に加えて、Tokenを利用して周波数制御処理および/または課金処理のうちの少なくとも一つを行っても良い。
【0070】
Tokenを利用して周波数制御処理を行う場合に、仮に第2の音声アシスタントのクライアントが第2の音声アシスタントのサーバにテキストリクエストとTokenを頻繁に送信したが、Tokenに対する検証が全て失敗し、即ち設定時間内に第2の音声アシスタントのクライアントが送信した、検証の失敗したリクエストの数が所定の閾値を超えた場合に、上記第2の音声アシスタントのクライアントをブラックリストに登録して良い。第2の音声アシスタントのサーバは、ブラックリストにおけるクライアントから送信されたリクエストに対して一切に応答せずに廃棄する。このような周波数制御方式によれば、悪意のある攻撃行為を防止することができる。
【0071】
Tokenにより課金処理を行う場合に、第2の音声アシスタントのサーバは、第1の音声アシスタント側でテキストリクエストに応答する回数の代わりに,Tokenと第1の音声アシスタントとの対応関係を記録し統計して第1の音声アシスタント側に対する課金の基礎とする。具体的に、第2の音声アシスタントのサーバは、前記対応関係に基づいてテキストリクエストに対する応答のうちの第1の音声アシスタントに対応する応答回数を統計し、上記応答回数に基づいて第1の音声アシスタントに対して課金する。
【0072】
210において、第2の音声アシスタントのサーバは、応答結果を第2の音声アシスタントのクライアントに返信する。
【0073】
図3は、本出願の実施形態により提供される改善された方法のフローチャートである。
図3に示されたように、上記方法は以下のステップを含んで良い。
【0074】
ステップ301~303は、
図2のステップ201~203と同じである。
【0075】
304において、第1の音声アシスタントのサーバは、上記テキストリクエストを少なくとも一つの他の音声アシスタントのサーバに送信する。
【0076】
好ましくは、このステップの前に、第1の音声アシスタントのサーバは、まず、自体が上記テキストリクエストを処理できるか否かを判断し、自体が上記テキストリクエストを処理できる場合には、テキストリクエストに直接に応答し、すなわち上記テキストリクエストを解析してタスクコマンドを得ることができる。後続のプロセスは、従来技術と同様である。自体が上記テキストリクエストを処理できない場合、このステップを実行し、上記テキストリクエストを他の音声アシスタントのサーバに配布する。
【0077】
なお、上記テキストリクエストを処理できるか否かは、サーバが所属された分野に基づいて判断して良い。例えば、テキストリクエストに対してキーワード又は語義による簡単な分析を行い、上記テキストリクエストが所属された分野を特定し、上記テキストリクエストの所属分野がサーバ自体の所属分野と一致するか否かを判断し、一致であれば、サーバ自体が上記テキストリクエストを処理できるとみなし、さもなければ、サーバ自体が上記テキストリクエストを処理できないとみなす。他の分野識別方式を採用しても良い。
【0078】
一つの実現方式として、第1の音声アシスタントのサーバは、協力関係を有する他の音声アシスタントの情報を予め配置し、そしてテキストリクエストをそれぞれこれらの音声アシスタントのサーバに送信して良い。
【0079】
他の実現方式として、第1の音声アシスタントのクライアントは端末デバイスにインストール済みの音声アシスタント情報リストを走査して良い。なお、端末デバイスにおける各音声アシスタントのクライアントはインストールパッケージ内に対応する情報で音声アシスタント情報を指示することができ、第1の音声アシスタントのクライアントは端末デバイスにおけるインストールパッケージにより端末デバイスにどんな音声アシスタントのクライアントがインストールされているかを特定することにより、インストール済みの音声アシスタント情報リストを得ることができる。そして、第1の音声アシスタントのクライアントは、上記音声アシスタント情報リストを第1の音声アシスタントのサーバにアップロードすることができる。アップロードのタイミングは、第1の音声アシスタントのクライアントが起動する時にアップロードしても良く、音声リクエストの送信と同時にアップロードしても良く、音声リクエストを送信する前の他のタイミングでアップロードしても良い。第1の音声アシスタントのサーバは、上記ステップにおいて、第1の音声アシスタントのクライアントからアップロードされた音声アシスタント情報リストに基づいて、テキストリクエストをリストのうちの音声アシスタントのサーバに送信すれば良い。
【0080】
305において、他の各音声アシスタントのサーバは、自体が上記テキストリクエストを処理できると判断した後に、上記テキストリクエストに対してTokenを生成し、第1の音声アシスタントのサーバに確認情報と上記Tokenを返信する。
【0081】
上記テキストリクエストを受信した他の各音声アシスタントのサーバも、前記の分野識別による方法を使用して、自体が上記テキストリクエストを処理できるかどうかを判断することができる。自体がテキストリクエストを処理できると判断した後に、確認情報を第1の音声アシスタントのサーバに返信する。自体がテキストリクエストを処理することができないと判断した場合、応答しないか、拒否情報を第1の音声アシスタントのサーバに返信することができる。
【0082】
このステップでは、Tokenを生成する際に、サーバにしか知らない鍵と暗号化方式でランダム情報を暗号化してTokenを得ることができる。上記Tokenの有効期限内の唯一性を確保し、且つ他のデバイスにクラッキングされ難くなれば良い。
【0083】
306において、第1の音声アシスタントのサーバは、確認情報を返信したサーバから、第2の音声アシスタントの情報を特定する。
図3には、第2の音声アシスタントのクライアントおよびサーバの状態のみが示されており、他の音声アシスタントが示されていない。
【0084】
このステップは、実際には、目標音声アシスタントを特定するプロセスであり、この実施形態において目標音声アシスタントを第2の音声アシスタントと呼ぶ。 確認情報を返信した他の音声アシスタントのサーバが一つだけ存在する場合に、上記サーバに対応する音声アシスタントの情報を第2の音声アシスタントの情報として直接に特定し、例えば第2の音声アシスタントの標識、名称等として具現化することができる。
【0085】
確認情報を返信した他の音声アシスタントのサーバが複数ある場合に、その中から一つのサーバに対応する音声アシスタントの情報を第2の音声アシスタントの情報として選択することができる。なお、選択する際に、何れか一つを選択しても良く、予め設定された優先順位に基づいて一つを選択しても良い。優先順位の設定ポリシーは、本出願で制限しない。
【0086】
また、すべての音声アシスタントのサーバから確認メッセージが返信されていない場合に、第1の音声アシスタントのサーバは自らそのテキストリクエストに対して応答処理を行うことができる。
【0087】
307において、第1の音声アシスタントのサーバは、テキストリクエスト、Token、および第2の音声アシスタントの情報を第1の音声アシスタントのクライアントに送信する。
【0088】
308において、第1の音声アシスタントのクライアントは、第2の音声アシスタントの情報に基づいて、上記テキストリクエストに応答するために第2の音声アシスタントのクライアントを呼び出し、呼び出し時にテキストリクエストおよびTokenを返送する。
【0089】
ステップ304において、第1の音声アシスタントのサーバは、協力関係に基づいてテキストリクエストを配信すると、第1の音声アシスタントのクライアントが設置された端末デバイスにおいて、選択された第2の音声アシスタントがインストールされていないという問題に直面する恐れがある。この場合、第1の音声アシスタントのクライアントによる呼び出しは失敗になる。この時、第1の音声アシスタントのクライアントは、上記音声リクエストを処理できないことを示す情報をユーザに返信して良い。
【0090】
前記の状況に基づいて、前記ステップ304において、第1の音声アシスタントのサーバは、第1の音声アシスタントのクライアントによりアップロードされた音声アシスタント情報リストに基づいてテキストリクエストを配信し、第2の音声アシスタントの情報を選択することが好ましい。このように、端末デバイスには必ず上記第2の音声アシスタントがインストールされており、第1の音声アシスタントのクライアントは、第2の音声アシスタントのクライアントを呼び出す際に、テキストリクエストを第2の音声アシスタントのクライアントに伝送する。 なお、2つの音声アシスタントのクライアントの間の呼び出しは、プロセス間通信の方法を採用することができ、本出願の中心ではないため、ここでは詳しく説明しない。
【0091】
309において、第2の音声アシスタントのクライアントは、テキストリクエストおよびTokenを第2の音声アシスタントのサーバに送信する。
【0092】
310では、第2の音声アシスタントのサーバは、Tokenを利用してテキストリクエストを検証し、検証に成功した場合に、テキストリクエストに応答する。
【0093】
なお、テキストリクエストに応答することは、少なくともテキストリクエストを解析してタスクコマンドを得ることを含む。さらに、第2の音声アシスタントのサーバは、直接に上記タスクコマンドに従って対応するタスク処理を実行し、処理結果を第2の音声アシスタントのクライアントに返信することができる。 あるいは、上記タスクコマンドを実行する非音声アシスタントのクライアントを特定し、上記非音声アシスタントのクライアント情報をテキストリクエストとともに第2の音声アシスタントのクライアントに返信することにより、第2の音声アシスタントのクライアントが上記タスクコマンドを実行するように上記非音声アシスタントのクライアントを呼び出すこともできる。テキストリクエストに対する第2のセマンティックアシスタントのサーバの応答は、従来技術における応答方法を採用することができ、本出願では制限しない。
【0094】
つまり、第2の音声アシスタントのサーバが所属の専門分野の解析ポリシーに基づいてテキストリクエストに対して解析及び後続の処理を行うことにより、「聞き取る」及び実行の段階を完成させる。更に、第2の音声アシスタント側におけるテキストリクエストに対する全ての処理過程は、第1の音声アシスタント側にとって不可視であるため、第1の音声アシスタント側は、第2の音声アシスタント側で処理できることだけを知るが、どのように処理するかを知らないため、二つの音声アシスタントの間の独立性を確保した。
【0095】
311において、第2の音声アシスタントのサーバは、応答結果を第2の音声アシスタントのクライアントに返信する。
【0096】
以下に前記方法を採用する二つの実例を列挙する。
【0097】
実例一:
図4aに示されたように、ユーザは携帯電話オペレーティングシステムに付属された音声アシスタントのクライアントを介して音声リクエストとして「五彩城に行ってから清華大学に行く」を入力する。上記音声アシスタントのクライアントは上記音声リクエストをサーバに送信する。また、オペレーティングシステムに付属された音声アシスタントのクライアントは起動された時に上記携帯電話にインストールされている音声アシスタント情報リストをサーバに送信する。サーバは、上記音声リクエストをテキストリクエストに解析した後に、上記テキストリクエストを音声アシスタント情報リストのうちの各音声アシスタントのサーバに送信し、例えば地図アプリのサーバに送信したり、ビデオアプリのサーバに送信したりする。地図アプリのサーバは、自体が上記テキストリクエストを処理できると確定した後に、上記テキストリクエストに対してTokenを生成し、上記Tokenと確認情報を携帯電話システムに付属された音声アシスタントのサーバに返信し、上記サーバにテキストリクエスト、地図アプリの情報及びTokenを携帯電話システムに付属された音声アシスタントクライアントに返信させる。携帯電話システムに付属された音声アシスタントのクライアントは、地図アプリのクライアントを呼び出し、テキストリクエストとTokenを地図アプリのクライアントに伝送する。地図アプリのクライアントは、上記テキストリクエストとTokenを地図アプリのサーバに送信し、地図アプリのサーバに上記テキストリクエストに応答させる。具体的に、目的地が清華大学で、五彩城を通過するようにルート検索を行い、ルート計画を行った後に地図アプリのクライアントにルート計画結果を返信する、というタスクコマンドに解析する。地図アプリのクライアントは、ユーザに
図4bに示されたルート計画結果を表示する。
【0098】
以上からわかるように、ユーザは
図4aに示された携帯電話システムに付属された音声アシスタントのクライアントから地図アプリの音声アシスタントのクライアントをルート計画結果を表示するように呼び出す。上記ルート計画結果は、携帯電話システムに付属された音声アシスタントの応答結果と比べて、明らかにユーザのニーズにより正確に応じる。
【0099】
実例二:
図5aに示されたように、ユーザは地図アプリのクライアントを使用している間に、位置情報を尋ねるメッセージを妻から受信した。ユーザは、
図5bに示されたように、地図アプリのクライアントの音声アシスタント機能により音声リクエストとして「妻に自分の位置を送信する」を入力する。地図アプリのクライアントは、上記音声リクエスト及び上記携帯電話にインストールされた音声アシスタントの情報リストを地図アプリのサーバに送信し、地図アプリのサーバに上記音声リクエストを識別させ、音声アシスタントの情報リストと共に識別されたテキストリクエストを各音声アシスタントのサーバに配布させる。仮に携帯電話システムに付属された音声アシスタントが確認情報とTokenを返信するとした場合に、地図アプリのサーバは、テキストリクエスト、携帯電話システムに付属された音声アシスタント情報及びTokenを地図アプリのクライアントに送信する。地図アプリのクライアントは、
図5cに示されたように、携帯電話システムに付属された音声アシスタントクライアントを呼び出してテキストリクエストとTokenを伝送する。携帯電話システムに付属された音声アシスタントのクライアントはテキストリクエストとTokenをサーバに送信し、サーバは上記テキストリクエストをウィーチャットクライアントを呼び出し、位置情報を妻に送信するというタスクコマンドに解析する。そして、上記タスクコマンドを携帯電話システムに付属された音声アシスタントのクライアントに返信する。
図5dに示されたように、携帯電話システムに付属された音声アシスタントのクライアントは、ウィーチャットクライアントを呼び出してタスクコマンドとして「妻に位置情報を送信する」を伝送した後に、ウィーチャットクライアントに上記タスクコマンドを実行して現在の位置情報を妻に送信させる。
【0100】
以上からわかるように、ユーザは
図5aに示された地図アプリの音声アシスタントのクライアントにより「聞こえる」の段階を実現し、目標音声アシスタントを確定した後に、オペレーティングシステムに付属された音声アシスタントのクライアントを「聞き取る」及び実行の段階を実現するように呼び出し、そしてオペレーティングシステムに付属された音声アシスタントのクライアントにウィーチャットを呼び出してユーザの音声リクエストを最終的に実現させる。それに対して、単純に地図アプリの音声アシスタントのクライアントによれば、ユーザのニーズに全く応じることができない。
【0101】
以上で本願により提供された方法を説明した。以下で実施例と合わせて本願により提供される装置を詳しく説明する。
【0102】
図6は、本願の実施例により提供される、第1の音声アシスタントのサーバに設置される音声処理装置の模式図である。上記装置は、第1の音声アシスタントのサーバに設置されるアプリであっても良く、第1の音声アシスタントのサーバに設置されたアプリにおけるプラグイン又はソフトウェア開発パッケージ(Software Development Kit,SDK)などの機能ユニットであっても良い。
図6に示されたように、上記装置は、識別ユニット01と、サーバインタラクションユニット02と、クライアントインタラクションユニット03とを備える。なお、各部の主な機能は以下のようになる。
【0103】
クライアントインタラクションユニット03は、第1の音声アシスタントのクライアントから送信された音声リクエストを受信する。
【0104】
識別ユニット01は、クライアントインタラクションユニット03が受信した音声リクエストを識別してテキストリクエストを得る。
【0105】
サーバインタラクションユニット02は、テキストリクエストを第2の音声アシスタントのサーバに送信し、第2の音声アシスタントのサーバが上記テキストリクエストに対して生成して返信したトークン情報を受信する。
【0106】
クライアントインタラクションユニット03は、更に、第1の音声アシスタントのクライアントが第2の音声アシスタントのクライアントを呼び出して前記トークン情報による前記テキストリクエストに対する応答を実現させるように、テキストリクエスト及びトークン情報を第1の音声アシスタントのクライアントに送信する。
【0107】
好ましい実施形態として、サーバインタラクションユニット02は、具体的に、テキストリクエストを少なくとも一つの他の音声アシスタントのサーバに送信し、確認情報を返信した他の音声アシスタントのサーバから第2の音声アシスタントの情報を特定する。なお、確認情報は、上記確認情報を送信した他の音声アシスタントのサーバが前記テキストリクエストを処理可能であることを示す。
【0108】
好ましい実施形態として、クライアントインタラクションユニット03は、更に、第1の音声アシスタントのクライアントから送信された端末デバイスにインストールされた音声アシスタント情報リストを受信しても良い。なお、第1の音声アシスタントのクライアントは、起動時に自端末デバイスにインストールされている音声アシスタント情報リストを走査して第1の音声アシスタントのサーバに送信しても良く、或いは、第1の音声アシスタントのクライアントは、音声リクエストとともに音声アシスタントリストを第1の音声アシスタントのサーバに送信してもよい。
【0109】
それに応じて、サーバインタラクションユニット02は、受信した音声アシスタント情報リストに従って、識別されたテキストリクエストを少なくとも一つの他の音声アシスタントのサーバに送信する処理を実行する。
【0110】
これに加えて、上記装置は、更に、第1の音声アシスタントのサーバが前記テキストリクエストを処理できるか否かを判断し、否定の場合に、サーバインタラクションユニット02をトリガーして識別されたテキストリクエストを第2の音声アシスタントのサーバに送信し、肯定の場合に、上記テキストリクエストに応答し、応答結果を第1の音声アシスタントのクライアントに返信する応答処理ユニット(未図示)を備えて良い。
【0111】
サーバインタラクションユニット02は、確認情報を返信した他の音声アシスタントのサーバから第2の音声アシスタントの情報を特定する場合に、確認情報を返信した他の音声アシスタントのサーバが一つだけあれば、上記サーバに対応する音声アシスタントの情報を第2の音声アシスタントの情報として確定し、確認情報を返信した他の音声アシスタントのサーバが複数あれば、その中から選択された一つのサーバに対応する音声アシスタントの情報を前記第2の音声アシスタントの情報とする。
【0112】
図7は、本願の実施例により提供される、第1の音声アシスタントのクライアントに設置される音声処理装置の模式図である。上記装置は、第1の音声アシスタントのクライアントに設置されたアプリであっても良く、第1の音声アシスタントのクライアントに設置されたアプリにおけるプラグイン又はSDKなどの機能ユニットであっても良い。
図7に示されたように、上記装置は、サーバインタラクションユニット11とクライアントインタラクションユニット12を備えて良く、更に走査ユニット13を備えて良い。なお、各部の主な機能は以下のようになる。
【0113】
サーバインタラクションユニット11は、音声リクエストを第1の音声アシスタントのサーバに送信する。なお、上記音声リクエストはユーザから入力された音声リクエストである。第1の音声アシスタントのサーバから返信された、上記音声リクエストを識別して得られたテキストリクエスト及び前記テキストリクエストを処理できる第2の音声アシスタントの情報を受信する。
【0114】
クライアントインタラクションユニット12は、第2の音声アシスタントのクライアントが前記テキストリクエストに応答するように、第2の音声アシスタントのクライアントを呼び出す。
【0115】
好ましくは、サーバインタラクションユニット11は、更に第1の音声アシスタントのサーバから返信されたトークン情報を受信して良い。前記トークン情報は、第2の音声アシスタントのサーバが前記テキストリクエストに対して生成された。上記トークン情報は、テキストリクエスト及び第2の音声アシスタントの情報と共に受信されて良い。
【0116】
それに応じて、クライアントインタラクションユニット12は、第2の音声アシスタントのクライアントを呼び出す時に、前記テキストリクエストとトークン情報を伝送する。
【0117】
走査ユニット13は、第1の音声アシスタントのクライアントが設置された端末デバイスにインストールされている音声アシスタント情報リストを走査する。
【0118】
それに応じて、サーバインタラクションユニット11は上記音声アシスタント情報リストを第1の音声アシスタントのサーバに送信する。
【0119】
図8は、本願の実施例により提供される、第2の音声アシスタントのクライアントに設置された音声処理装置の模式図である。上記装置は、第2の音声アシスタントのクライアントに設置されたアプリであっても良く、第2の音声アシスタントのクライアントに設置されたアプリにおけるプラグイン又はSDKなどの機能ユニットであっても良い。
図8に示されたように、上記装置は、クライアントインタラクションユニット21とサーバインタラクションユニット22を備える。なお、各部の主な機能は以下のようになる。
【0120】
クライアントインタラクションユニット21は、第1の音声アシスタントのクライアントの呼び出しを受信する。
【0121】
サーバインタラクションユニット22は、呼び出しに伝送されたテキストリクエストを第2の音声アシスタントのサーバに送信し、第2の音声アシスタントのサーバがテキストリクエストに対して返信された応答結果を受信する。
【0122】
好ましくは、前記呼び出しは、更に、トークン情報を伝送して良く、即ち第1の音声アシスタントのクライアントが第2の音声アシスタントのクライアントを呼び出す場合に、伝送されるパラメータにテキストリクエストとトークン情報が含まれる。
【0123】
それに応じて、サーバインタラクションユニット22は、第2の音声アシスタントのサーバがトークン情報を利用して検証を行うように、トークン情報をテキストリクエストと共に第2の音声アシスタントのサーバに送信する。
【0124】
図9は、本願の実施例により提供される、第2の音声アシスタントのサーバに設置された装置の模式図である。上記装置は、第2の音声アシスタントのサーバに設置されたアプリであっても良く、第2の音声アシスタントのサーバに設置されたアプリにおけるプラグイン又はSDKなどの機能ユニットであっても良い。
図9に示されたように、上記装置は、サーバインタラクションユニット31と、クライアントインタラクションユニット32と、応答処理ユニット33とを備え、更に検証ユニット34と周波数制御処理ユニット35を備えても良い。なお、各部の主な機能は以下のようになる。
【0125】
サーバインタラクションユニット31は、第1の音声アシスタントのサーバから送信された、第1の音声アシスタントのサーバが音声リクエストを識別して得られたテキストリクエストを受信する。
【0126】
検証ユニット34は、テキストリクエストに対してトークン情報を生成する。トークン情報を生成する場合に、第2の音声アシスタントのサーバにしか知らない鍵及び暗号化方式を採用してランダム情報を暗号化してトークン情報を得られる。上記トークン情報の有効期限内の唯一性を確保し、且つ他のデバイスにクラッキングされ難くなれば良い。
【0127】
サーバインタラクションユニット31は、トークン情報を第1の音声アシスタントのサーバに送信する。
【0128】
クライアントインタラクションユニット32は、第2の音声アシスタントのクライアントから送信されたテキストリクエストおよびトークン情報を受信する。
【0129】
検証ユニット34は、更に、クライアントインタラクションユニット32により受信されたトークン情報および生成されたトークン情報を用いて検証処理を行う。
【0130】
応答処理ユニット33は、検証に成功した場合にテキストリクエストに応答する。
【0131】
検証に失敗した場合、クライアントインタラクションユニット32は、テキストリクエストに応答しないか、或いは、検証失敗または応答失敗の情報を第2の音声アシスタントのクライアントに返信する。
【0132】
クライアントインタラクションユニット32は、更に、第2の音声アシスタントのクライアントにテキストリクエストに対する応答結果を返信する。
【0133】
前記Tokenによる検証によれば、第1の音声アシスタントのクライアントが第2の音声アシスタントのクライアントを誤って呼び出すことを防止でき、悪意のある第1の音声アシスタントのクライアントが第2の音声アシスタントのクライアントを呼び出して攻撃を行うことも防止できる。例えば、悪意のある第1の音声アシスタントのクライアントが第2の音声アシスタントのクライアントを呼び出して攻撃的なテキストリクエストを複数回に送信する場合に、悪意のある第1の音声アシスタントのクライアントがTokenを知ることができないため、第2の音声アシスタントのサーバが悪意のあるテキストリクエストに応答しない。
【0134】
本願において、Tokenによる検証処理のほか、Tokenを利用して周波数制御処理及び/又は課金処理のうちの少なくとも一つを行って良い。
【0135】
周波数制御処理ユニット35は、第2の音声アシスタントのクライアントに対して周波数制御処理を行い、設定時間内に第2の音声アシスタントのクライアントが送信した、検証の失敗したリクエストの数が所定の閾値を超えると、第2の音声アシスタントのクライアントをブラックリストに登録する。クライアントインタラクションユニット32は、ブラックリストにおけるクライアントからのリクエストに対して直接に廃棄処理を行う。
【0136】
検証ユニット34は、更に、トークン情報と第1の音声アシスタントの情報との対応関係を記録する。
【0137】
課金ユニット(未図示)は、第1の音声アシスタント側でテキストリクエストに応答する回数の代わりに、前記対応関係に基づいて統計して第1の音声アシスタント側に対して課金する基礎をとする。具体的に、上記対応関係に基づいてテキストリクエストに対する応答のうち第1の音声アシスタントに対応する応答回数を統計し、上記応答回数に基づいて第1の音声アシスタントに課金して良い。
【0138】
本願の実施例によれば、本願は更に電子デバイス及び可読記憶媒体を提供した。
【0139】
図10は、本願の実施例の音声処理方法による電子デバイスのブロック図を示した。電子デバイスは、様々な形式のデジタルコンピュータ、例えば、ラップトップコンピュータ、デスクトップコンピュータ、ワークステーション、PDA、サーバ、ブレードサーバ、メインフレームコンピュータ、及び他の適切なコンピュータであることが意図される。電子デバイスは、様々な形式のモバイル装置、例えば、PDA、携帯電話、スマートフォン、ウェアラブルデバイス、及び他の類似するコンピューティング装置を示してもよい。本文で示された構成要素、それらの接続及び関係、ならびにそれらの機能は例示にすぎなく、本明細書において説明及び/又は請求される本出願の実現を限定することが意図されない。
【0140】
図10に示すように、この電子デバイスは、一つ又は複数のプロセッサ1001、メモリ1002、及び各構成要素に接続するための高速インターフェース及び低速インターフェースを含むインターフェースを備える。各構成要素は、異なるバスで相互接続され、そして、共通マザーボードに、又は必要に応じて、他の態様で実装されてもよい。プロセッサは、電子デバイス内で実行されるコマンドを処理してもよく、メモリに記憶される又はメモリ上で外部入力/出力装置(例えば、インターフェースに結合される表示装置)にグラフィカルユーザインターフェースのグラフィカル情報を表示するコマンドを含む。他の実施形態において、必要な場合に、複数のプロセッサ及び/又は複数のバスが、複数のメモリとともに用いられてもよい。同様に、複数の電子デバイスが接続されてもよく、それぞれのデバイスが必要な操作の一部を提供する(例えば、サーババンク、ブレードサーバの集まり、又はマルチプロセッサシステムとする)。
図10において、一つのプロセッサ1001を例とする。
【0141】
メモリ1002は、本出願で提供される非一時的コンピュータ可読記憶媒体である。なお、前記メモリには、少なくとも1つのプロセッサが本願に提供された音声処理方法を実行するように、前記少なくとも1つのプロセッサに実行可能なコマンドが記憶されている。本出願の非一時的コンピュータ可読記憶媒体は、本願に提供された音声処理方法をコンピュータに実行させるためのコンピュータコマンドを記憶している。
【0142】
メモリ1002は、非一時的コンピュータ可読記憶媒体として、非一時的ソフトウェアプログラム、非一時的コンピュータ実行可能なプログラム、モジュール、例えば、本出願の実施例における音声処理方法に対応するプログラムコマンド/ユニットを記憶するために用いられる。プロセッサ1001は、メモリ1002に記憶されている非一時的ソフトウェアプログラム、コマンド及びモジュールを実行することで、サーバの様々な機能アプリケーション及びデータ処理を実行し、即ち、上記の方法実施例における音声処理方法を実現する。
【0143】
メモリ1002は、プログラム記憶領域及びデータ記憶領域を含んでもよく、プログラム記憶領域はオペレーティングシステム、少なくとも一つの機能に必要なアプリケーションプログラムを記憶してもよく、データ記憶領域は音声処理による電子デバイスの使用により作成されたデータなどを記憶してもよい。また、メモリ1002は、高速ランダムアクセスメモリを含んでもよく、さらに非一時的メモリ、例えば、少なくとも一つの磁気ディスク記憶装置、フラッシュメモリ装置、又は他の非一時的固体記憶装置を含んでもよい。幾つかの実施例において、メモリ1002は、プロセッサ1001に対して遠隔設置されたメモリを選択的に含んでもよく、これらのリモートメモリは、ネットワークを介して電子デバイスに接続されてもよい。上記のネットワークの実例には、インターネット、イントラネット、ローカルエリアネットワーク、モバイル通信ネットワーク、及びそれらの組み合わせが含まれるが、これらに限定されない。
【0144】
音声処理方法の電子デバイスは、更に、入力装置1003と出力装置1004とを備えても良い。プロセッサ1001、メモリ1002、入力装置1003及び出力装置1004は、バス又は他の手段により接続されても良く、
図10においてバスによる接続を例とする。
【0145】
入力装置1003は、入力された数字又はキャラクタ情報を受信し、音声処理の電子デバイスのユーザ設定及び機能制御に関連するキー信号入力を生成でき、例えば、タッチスクリーン、キーパッド、マウス、トラックパッド、タッチパッド、ポインティングスティック、一つ又は複数のマウスボタン、トラックボール、ジョイスティックなどの入力装置である。出力装置1004は、表示装置、補助照明装置(例えば、LED)、触覚フィードバック装置(例えば、振動モータ)などを含むことができる。上記表示装置は、液晶ディスプレイ(LCD)、発光ダイオードディスプレイ(LED)、及びプラズマディスプレイを含み得るが、これらに限定されない。いくつかの実施形態では、表示装置はタッチパネルであってもよい。
【0146】
本明細書に説明されるシステム及び技術の様々な実施形態は、デジタル電子回路システム、集積回路システム、専用ASIC(専用集積回路)、コンピュータハードウェア、ファームウェア、ソフトウェア、及び/又はそれらの組み合わせにおいて実現することができる。これらの様々な実施形態は、記憶システム、少なくとも一つの入力装置、及び少なくとも一つの出力装置からデータ及びコマンドを受信し、上記記憶システム、上記少なくとも一つの入力装置、及び上記少なくとも一つの出力装置にデータ及びコマンドを送信するようにつなげられた、特殊用途でもよく一般用途でもよい少なくとも一つのプログラマブルプロセッサを含む、プログラム可能なシステム上で実行可能及び/又は解釈可能な一つ又は複数のコンピュータプログラムにおける実行を含んでもよい。
【0147】
これらのコンピューティングプログラム(プログラム、ソフトウェア、ソフトウェアアプリケーション、又は、コードとも称される)は、プログラマブルプロセッサの機械命令を含み、高水準のプロセス及び/又はオブジェクト向けプログラミング言語、及び/又はアセンブリ/機械言語で実行されることができる。本明細書で用いられる「機械可読媒体」及び「コンピュータ可読媒体」という用語は、機械可読信号としての機械命令を受け取る機械可読媒体を含むプログラマブルプロセッサに機械命令及び/又はデータを提供するのに用いられる任意のコンピュータプログラム製品、機器、及び/又は装置(例えば、磁気ディスク、光ディスク、メモリ、及びプログラマブル論理デバイス(PLD))を指す。「機械可読信号」という用語は、プログラマブルプロセッサに機械命令及び/又はデータを提供するために用いられる任意の信号を指す。
【0148】
ユーザとのインタラクティブを提供するために、本明細書に説明されるシステムと技術は、ユーザに対して情報を表示するための表示装置(例えば、CRT(ブラウン管)又はLCD(液晶ディスプレイ)モニタ)、ユーザがコンピュータに入力を与えることができるキーボード及びポインティングデバイス(例えば、マウスや、トラックボール)を有するコンピュータ上に実施されることが可能である。その他の種類の装置は、さらに、ユーザとのインタラクションを提供するために使用されることが可能であり、例えば、ユーザに提供されるフィードバックは、任意の形態のセンシングフィードバック(例えば、視覚的なフィードバック、聴覚的なフィードバック、又は触覚的なフィードバック)であり得、ユーザからの入力は、任意の形態で(音響、音声又は触覚による入力を含む)受信され得る。
【0149】
本明細書に説明されるシステムと技術は、バックエンド構成要素を含むコンピューティングシステム(例えば、データサーバとする)、又はミドルウェア構成要素を含むコンピューティングシステム(例えば、アプリケーションサーバ)、又はフロントエンド構成要素を含むコンピューティングシステム(例えば、グラフィカルユーザインターフェースもしくはウェブブラウザを有するクライアントコンピュータであり、ユーザは、上記グラフィカルユーザインターフェースもしくは上記ウェブブラウザを通じて本明細書で説明されるシステムと技術の実施形態とインタラクションすることができる)、そのようなバックエンド構成要素、ミドルウェア構成要素、もしくはフロントエンド構成要素の任意の組合せを含むコンピューティングシステムに実施されることが可能である。ステムの構成要素は、任意の形態又は媒体のデジタルデータ通信(例えば、通信ネットワーク)によって相互に接続されることが可能である。通信ネットワークの例は、ローカルエリアネットワーク(「LAN」)、ワイド・エリア・ネットワーク(「WAN」)、インターネットワークを含む。
【0150】
コンピュータシステムは、クライアントとサーバを含み得る。クライアントとサーバは、一般的に互いから遠く離れており、通常は、通信ネットワークを通じてインタラクトする。クライアントとサーバとの関係は、相応するコンピュータ上で実行され、互いにクライアント-サーバの関係を有するコンピュータプログラムによって生じる。
【0151】
以上で示された様々な形式のフローを使用して、ステップを並べ替え、追加、又は削除できることを理解されたい。例えば、本出願に説明される各ステップは、並列の順序又は順次的な順序で実施されてもよいし、又は異なる順序で実行されてもよく、本出願で開示された技術案の望ましい結果が達成できる限り、ここで制限されない。
【0152】
上記の具体的な実施形態は本出願の保護範囲に対する制限を構成しない。設計要件及び他の要因に従って、様々な修正、組み合わせ、部分的組み合わせ及び置換を行うことができることを当業者は理解するべきである。本出願の精神及び原則の範囲内で行われる修正、同等の置換、改善は、何れも本出願の保護範囲内に含まれるべきである。