IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ グーグル インコーポレイテッドの特許一覧

特表2022-539355適応ダイアライゼーションモデルおよびユーザインタフェース
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-09-08
(54)【発明の名称】適応ダイアライゼーションモデルおよびユーザインタフェース
(51)【国際特許分類】
   G10L 17/00 20130101AFI20220901BHJP
【FI】
G10L17/00 200C
G10L17/00 400
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2021577103
(86)(22)【出願日】2019-07-01
(85)【翻訳文提出日】2022-01-13
(86)【国際出願番号】 US2019040111
(87)【国際公開番号】W WO2021002838
(87)【国際公開日】2021-01-07
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.HDMI
2.3GPP
(71)【出願人】
【識別番号】502208397
【氏名又は名称】グーグル エルエルシー
【氏名又は名称原語表記】Google LLC
【住所又は居所原語表記】1600 Amphitheatre Parkway 94043 Mountain View, CA U.S.A.
(74)【代理人】
【識別番号】100142907
【弁理士】
【氏名又は名称】本田 淳
(72)【発明者】
【氏名】ドンスバッハ、アーロン
(72)【発明者】
【氏名】パッドフィールド、ディルク
(57)【要約】
コンピューティングデバイスは、第1の発話および第2の発話を表す第1の音声波形を受信する。コンピューティングデバイスは、第1の発話が第1の話者に対応すること、および第2の発話が第2の話者に対応することを示す識別データを受信する。コンピューティングデバイスは、第1の発話、第2の発話、および識別データに基づいて、第1の話者による発話と第2の話者による発話とを区別するように構成されたダイアライゼーションモデルを決定する。コンピューティングデバイスは、第3の発話の元話者を示すさらなる識別データを受信することを含まずに、第3の発話を表す第2の音声波形を受信する。コンピューティングデバイスは、ダイアライゼーションモデルによって、かつ第1のタイプのさらなる識別データとは無関係に、第3の発話の元話者を決定する。コンピューティングデバイスは、第3の発話および決定された元話者に基づいてダイアライゼーションモデルを更新する。
【特許請求の範囲】
【請求項1】
方法であって、
コンピューティングデバイスが、初期時間ウィンドウの間に捕捉され、かつ第1の発話および第2の発話を表す第1の音声波形を受信するステップと、
前記コンピューティングデバイスが、(i)前記第1の発話が第1の話者に対応すること、および(ii)前記第2の発話が第2の話者に対応することを示す第1のタイプの識別データを受信するステップと、
前記コンピューティングデバイスが、前記第1の発話、前記第2の発話、および前記第1のタイプの識別データに基づいて、前記第1の話者による発話と前記第2の話者による発話とを区別するように構成されたダイアライゼーションモデルを決定するステップと、
前記コンピューティングデバイスが、第3の発話の元話者を示す第1のタイプのさらなる識別データを受信することを含まずに、後続の時間ウィンドウ中に捕捉され、かつ前記第3の発話を表す第2の音声波形を受信するステップと、
前記コンピューティングデバイスが、前記ダイアライゼーションモデルによって、かつ第1のタイプのさらなる識別データとは無関係に、前記第3の発話の元話者を決定するステップと、ここで、前記元話者は、前記第1の話者または前記第2の話者であると決定され、
前記コンピューティングデバイスが、前記第3の発話および決定された前記元話者に基づいて前記ダイアライゼーションモデルを更新するステップと、を含む方法。
【請求項2】
識別データおよび前記第1の音声波形を受信する前に、前記コンピューティングデバイスのユーザインタフェースを介して識別データの入力に関する視覚的プロンプトを表示するステップをさらに含む、請求項1に記載の方法。
【請求項3】
前記第2の音声波形は、さらなる識別データに関する視覚的プロンプトを表示することなく受信される、請求項2に記載の方法。
【請求項4】
前記第1の音声波形は、前記第1の話者による第1の複数の発話および前記第2の話者による第2の複数の発話を表し、方法は、さらに
前記第1の複数の発話と前記第2の複数の発話とを区別する際のダイアライゼーションモデルの精度を決定するステップと、
前記精度が閾値精度を超えると判定するステップと、
前記精度が閾値精度を超えると判定することに基づいて、視覚的プロンプトを前記ユーザインタフェースから取り除くように前記ユーザインタフェースを変更するステップと、を含む、請求項2乃至3のいずれか一項に記載の方法。
【請求項5】
視覚的プロンプトは、(i)前記第1の話者が前記初期時間ウィンドウの間に少なくとも第1の期間話すことを示し、かつ(ii)前記第2の話者が前記初期時間ウィンドウの間に少なくとも第2の期間話すことを示す指示を含み、前記第1の期間および前記第2の期間は相互に排他的であり、前記識別データを受信するステップは、
前記第1の期間中に前記第1の発話を表す前記第1の音声波形の第1の部分を捕捉すること、
前記第2の期間中に前記第2の発話を表す前記第1の音声波形の第2の部分を捕捉すること、を含む、請求項2乃至4のいずれか一項に記載の方法。
【請求項6】
前記識別データを受信するステップは、
前記コンピューティングデバイスのユーザインタフェースを介して、前記第1の話者に対応する第1のボタンの選択を受信すること、ここで、前記第1のボタンの選択に応答して、前記第1の発話を表す前記第1の音声波形の第1の部分が捕捉され、
前記ユーザインタフェースを介して、前記第2の話者に対応する第2のボタンの選択を受信すること、を含み、前記第2のボタンの選択に応答して、前記第2の発話を表す前記第1の音声波形の第2の部分が捕捉される、請求項1乃至4のいずれか一項に記載の方法。
【請求項7】
前記識別データを受信するステップは、
カメラデバイスから、前記第1の発話を表現する前記第1の話者を表す第1の画像フレームを受信すること、ここで、前記第1の発話を表す前記第1の音声波形の第1の部分は、前記第1の発話を表現する前記第1の話者を表す前記第1の画像フレームに基づいて、前記第1の話者に関連付けられ、
前記カメラデバイスから、前記第2の発話を表現する前記第2の話者を表す第2の画像フレームを受信すること、を含み、前記第2の発話を表す前記第1の音声波形の第2の部分は、前記第2の発話を表現する前記第2の話者を表す前記第2の画像フレームに基づいて、前記第2の話者に関連付けられる、請求項1乃至6のいずれか一項に記載の方法。
【請求項8】
前記ダイアライゼーションモデルは、
(i)波形の一部を入力として受信して、(ii)前記波形の一部の特性を表す複数の値を含む埋め込みベクトルを生成するように構成された波形埋め込みモデルと、
(i)前記埋め込みベクトルに基づく最近傍重心モデル、(ii)前記埋め込みベクトルに基づくk最近傍モデル、または(iii)前記埋め込みベクトルに基づくガウス型ナイーブベイズモデルのうちの1つまたは複数を含むベクトル分類モデルと、を含む、請求項1乃至7のいずれか一項に記載の方法。
【請求項9】
前記ベクトル分類モデルは最近傍重心モデルを含み、前記ダイアライゼーションモデルを決定するステップは、
前記波形埋め込みモデルによって、前記第1の発話を表す前記第1の音声波形の個々の第1の部分に対応する第1の複数の埋め込みベクトルを生成すること、
前記波形埋め込みモデルによって、前記第2の発話を表す前記第1の音声波形の個々の第2の部分に対応する第2の複数の埋め込みベクトルを生成すること、
(i)前記第1の複数の埋め込みベクトルに基づく第1の重心、および(ii)前記第2の複数の埋め込みベクトルに基づく第2の重心を決定すること、を含む、請求項8に記載の方法。
【請求項10】
前記第3の発話の元話者を決定するステップは、
前記波形埋め込みモデルによって、前記第3の発話を表す第2の音声波形の第3の部分に対応する第3の埋め込みベクトルを生成すること、
(i)前記第3の埋め込みベクトルと前記第1の重心との間の第1の距離、および(ii)前記第3の埋め込みベクトルと前記第2の重心との間の第2の距離を決定すること、
前記第1の距離が前記第2の距離よりも小さいと判定すること、
前記第1の距離が前記第2の距離よりも小さいと判定することに基づいて、前記第1の話者が前記第3の発話の元話者であることを決定すること、を含む、請求項9に記載の方法。
【請求項11】
前記ベクトル分類モデルはガウス型ナイーブベイズモデルを含み、前記ダイアライゼーションモデルを決定するステップは、
前記波形埋め込みモデルによって、前記第1の発話を表す前記第1の音声波形の個々の第1の部分に対応する第1の複数の埋め込みベクトルを生成すること、
前記波形埋め込みモデルによって、前記第2の発話を表す前記第1の音声波形の個々の第2の部分に対応する第2の複数の埋め込みベクトルを生成すること、
(i)前記第1の複数の埋め込みベクトルに基づいて第1の平均値および第1の標準偏差、および(ii)前記第2の複数の埋め込みベクトルに基づいて第2の平均値および第2の標準偏差を決定すること、を含む、請求項8に記載の方法。
【請求項12】
前記第3の発話の元話者を決定するステップは、
前記波形埋め込みモデルによって、前記第3の発話を表す第2の音声波形の第3の部分に対応する第3の埋め込みベクトルを生成すること、
(i)前記第1の平均値および前記第1の標準偏差に基づいて前記第3の埋め込みベクトルが前記第1の複数の埋め込みベクトルに属する第1の確率、および(ii)前記第2の平均値および前記第2の標準偏差に基づいて前記第3の埋め込みベクトルが前記第2の複数の埋め込みベクトルに属する第2の確率を決定すること、
前記第1の確率が前記第2の確率よりも高いと判定すること、
前記第1の確率が前記第2の確率よりも高いと判定することに基づいて、前記第1の話者が前記第3の発話の元話者であることを決定すること、を含む、請求項11に記載の方法。
【請求項13】
前記ダイアライゼーションモデルを決定するステップは、(i)前記波形埋め込みモデルによって、前記第1の発話を表す前記第1の音声波形の個々の第1の部分に対応する第1の複数の埋め込みベクトルを生成すること、(ii)前記波形埋め込みモデルによって、前記第2の発話を表す前記第1の音声波形の個々の第2の部分に対応する第2の複数の埋め込みベクトルを生成すること、を含み、前記ベクトル分類モデルは、k最近傍モデルを含み、前記第3の発話の元話者を決定するステップは、
前記波形埋め込みモデルによって、前記第3の発話を表す第2の音声波形の第3の部分に対応する第3の埋め込みベクトルを生成すること、
前記第3の埋め込みベクトルに対して最近傍のk個の点を決定すること、
前記k個の点の各個々の点に関して、個々の点が前記第1の複数の埋め込みベクトルに属するか、または前記第2の複数の埋め込みベクトルに属するかを決定すること、
前記第1の複数の埋め込みベクトルまたは前記第2の複数の埋め込みベクトルに属する個々の点に基づいて元話者を決定すること、を含む、請求項8に記載の方法。
【請求項14】
前記ダイアライゼーションモデルを更新するステップは、
前記第3の発話の第3の複数の埋め込みを決定すること、
前記第3の複数の埋め込みの少なくとも一部を含むように前記ベクトル分類モデルを更新すること、を含む、請求項8乃至13のいずれか一項に記載の方法。
【請求項15】
前記ダイアライゼーションモデルを更新するステップは、
前記第3の発話の元話者を決定する際の前記ダイアライゼーションモデルの信頼度を決定すること、
信頼度が閾値信頼度を超えると判定すること、
前記信頼度が前記閾値信頼度を超えと判定することに基づいて前記ダイアライゼーションモデルを更新すること、を含む、請求項1乃至14のいずれか一項に記載の方法。
【請求項16】
前記ダイアライゼーションモデルを形成する各発話にはモデル内で対応する重みが割り当てられ、前記ダイアライゼーションモデルを更新するステップは、
(i)前記第1の発話に割り当てられた第1の重み、または(ii)前記第2の発話に割り当てられた第2の重みのうちの少なくとも1つよりも低い第3の重みを前記第3の発話に割り当てることを含む、請求項1乃至15のいずれか一項に記載の方法。
【請求項17】
(i)前記第1の発話が第1の話者に対応すること、および(ii)前記第2の発話が第2の話者に対応することを示す第2のタイプの識別データを受信するステップと、
前記第3の発話の元話者を示す第2のタイプのさらなる識別データを受信するステップと、
前記第2のタイプのさらなる識別データに基づいて、前記ダイアライゼーションモデルによる元話者の決定を検証するステップと、をさらに含む、請求項1乃至16のいずれか一項に記載の方法。
【請求項18】
前記第1のタイプの識別データは、前記コンピューティングデバイスのユーザインタフェースを介して提供される入力を表し、前記第2のタイプの識別データは、前記コンピューティングデバイスに接続されたカメラによって捕捉された画像データを含む、請求項17に記載の方法。
【請求項19】
システムであって、
マイクと
プロセッサと、を備え、前記プロセッサは、
前記マイクから、初期時間ウィンドウの間に捕捉され、かつ第1の発話および第2の発話を表す第1の音声波形を受信すること、
(i)前記第1の発話が第1の話者に対応すること、および(ii)前記第2の発話が第2の話者に対応することを示す第1のタイプの識別データを受信すること、
前記第1の発話、前記第2の発話、および前記第1のタイプの識別データに基づいて、前記第1の話者による発話と前記第2の話者による発話とを区別するように構成されたダイアライゼーションモデルを決定すること、
前記マイクから、第3の発話の元話者を示す第1のタイプのさらなる識別データを受信することを含まずに、後続の時間ウィンドウ中に捕捉され、かつ前記第3の発話を表す第2の音声波形を受信すること、
前記ダイアライゼーションモデルによって、かつ第1のタイプのさらなる識別データとは無関係に、前記第3の発話の元話者を決定すること、ここで、前記元話者は、前記第1の話者または前記第2の話者であると決定され、
前記第3の発話および決定された前記元話者に基づいて前記ダイアライゼーションモデルを更新すること、を含む動作を実行するように構成されている、システム。
【請求項20】
命令が格納された非一時的なコンピュータ可読記憶媒体であって、前記命令は、コンピューティングデバイスによる実行時に、前記コンピューティングデバイスに
初期時間ウィンドウの間に捕捉され、かつ第1の発話および第2の発話を表す第1の音声波形を受信すること、
(i)前記第1の発話が第1の話者に対応すること、および(ii)前記第2の発話が第2の話者に対応することを示す第1のタイプの識別データを受信すること、
前記第1の発話、前記第2の発話、および前記第1のタイプの識別データに基づいて、前記第1の話者による発話と前記第2の話者による発話とを区別するように構成されたダイアライゼーションモデルを決定すること、
後続の時間ウィンドウ中に捕捉され、かつ第3の発話を表す第2の音声波形を受信すること、ここで、前記第2の音声波形は、第3の発話の元話者を示す第1のタイプのさらなる識別データを受信することを含まずに受信され、
前記ダイアライゼーションモデルによって、かつ第1のタイプのさらなる識別データとは無関係に、前記第3の発話の元話者を決定すること、ここで、前記元話者は、前記第1の話者または前記第2の話者であると決定され、
前記第3の発話および決定された前記元話者に基づいて前記ダイアライゼーションモデルを更新すること、を含む動作を実行させる、非一時的なコンピュータ可読記憶媒体。
【発明の詳細な説明】
【背景技術】
【0001】
ダイアライゼーション、即ち、話者ダイアライゼーションは、話者の識別(identity)に従って音声データを1つまたは複数のセクションに区分することを含む。従って、ダイアライゼーションは、「誰がいつ話したのか」という質問に答えることを含む。従って、ダイアライゼーションプロセスまたはアルゴリズムは、音声文字変換、音声翻訳、または話者の識別が必要または有用であるその他のコンテキストで使用することができる。
【発明の概要】
【0002】
ダイアライゼーションモデルは、2人以上の話者を区別するように訓練され得る。訓練は、波形と、波形内でどの話者がいつ話したかを示す対応するヒントデータ/識別データとを含む教師ありデータセッとに基づいて行われ得る。一旦訓練が完了すると、ダイアライゼーションモデルは、ヒントデータ/識別データに依存することなく、発話の元話者を決定するために使用され得る。訓練されたモデルがそのような決定を行うことで、その決定はモデルにフィードバックされて、そのモデルが経時的に成長して適応することを可能にし、それによりモデルの精度を向上させることができる。
【0003】
例えば、翻訳アプリケーションのコンテキストで使用される場合、教師ありデータは、ユーザが所定の時間に話者交替で話すことに基づいて生成され得る。例えば、話者は特定の言語に任意選択的に対応し得るボタンを押した後に話すことができ、したがって付随する波形のヒントデータ/識別データを生成することができる。別の例では、各話者には、いくつかのフレーズを言うように要求される対応する較正期間が提供され得る。さらなる例では、画像データは、話者の顔の動きを表すことによって、どの話者が能動的に話しているかを示すことができるという点で、ヒントデータ/識別データを構成することができる。
【0004】
従って、第1の例示的な実施形態では、方法は、コンピューティングデバイスが、初期時間ウィンドウの間に捕捉され、かつ第1の発話および第2の発話を表す第1の音声波形を受信するステップを含み得る。方法は、コンピューティングデバイスが、(i)第1の発話が第1の話者に対応すること、および(ii)第2の発話が第2の話者に対応することを示す第1のタイプの識別データを受信するステップをも含み得る。方法は、コンピューティングデバイスが、第1の発話、第2の発話、および第1のタイプの識別データに基づいて、第1の話者による発話と第2の話者による発話とを区別するように構成されたダイアライゼーションモデルを決定するステップをさらに含み得る。方法は、コンピューティングデバイスが、第3の発話の元話者を示す第1のタイプのさらなる識別データを受信することを含まずに、後続の時間ウィンドウ中に捕捉され、かつ第3の発話を表す第2の音声波形を受信するステップをさらに含み得る。方法は、コンピューティングデバイスが、ダイアライゼーションモデルによって、かつ第1のタイプのさらなる識別データとは無関係に、第3の発話の元話者を決定するステップをさらに含み得、元話者は、第1の話者または第2の話者であると決定される。方法は、コンピューティングデバイスが、第3の発話および決定された元話者に基づいてダイアライゼーションモデルを更新するステップをさらに含み得る。
【0005】
第2の例示的な実施形態では、システムは、マイクと、動作を実行するように構成されたプロセッサとを含み得る。動作は、マイクから、初期時間ウィンドウの間に捕捉され、かつ第1の発話および第2の発話を表す第1の音声波形を受信することを含み得る。動作は、(i)第1の発話が第1の話者に対応すること、および(ii)第2の発話が第2の話者に対応することを示す第1のタイプの識別データを受信することをも含み得る。動作は、第1の発話、第2の発話、および第1のタイプの識別データに基づいて、第1の話者による発話と第2の話者による発話とを区別するように構成されたダイアライゼーションモデルを決定することをさらに含み得る。動作は、マイクから、第3の発話の元話者を示す第1のタイプのさらなる識別データを受信することを含まずに、後続の時間ウィンドウ中に捕捉され、かつ第3の発話を表す第2の音声波形を受信することを含み得る。動作は、ダイアライゼーションモデルによって、かつ第1のタイプのさらなる識別データとは無関係に、第3の発話の元話者を決定することをさらに含み得、元話者は、第1の話者または第2の話者であると決定される。動作は、第3の発話および決定された元話者に基づいてダイアライゼーションモデルを更新することをさらに含み得る。
【0006】
第3の例示的な実施形態は、コンピューティングデバイスによる実行時に、コンピューティングデバイスに動作を実行させる命令を格納した非一時的なコンピュータ可読記憶媒体を含み得る。動作は、初期時間ウィンドウの間に捕捉され、かつ第1の発話および第2の発話を表す第1の音声波形を受信することを含み得る。動作は、(i)第1の発話が第1の話者に対応すること、および(ii)第2の発話が第2の話者に対応することを示す第1のタイプの識別データを受信することをも含み得る。動作は、第1の発話、第2の発話、および第1のタイプの識別データに基づいて、第1の話者による発話と第2の話者による発話とを区別するように構成されたダイアライゼーションモデルを決定することをさらに含み得る。動作は、後続の時間ウィンドウの間に捕捉され、かつ第3の発話を表す第2の音声波形を受信することをさらに含み得、第2の音声波形は、第3の発話の元話者を示す第1のタイプのさらなる識別データを受信することを含まずに受信される。動作は、ダイアライゼーションモデルによって、かつ第1のタイプのさらなる識別データとは無関係に、第3の発話の元話者を決定することをさらに含み得、元話者は、第1の話者または第2の話者であると決定される。動作は、第3の発話および決定された元話者に基づいてダイアライゼーションモデルを更新することをさらに含み得る。
【0007】
第4の例示的な実施形態では、初期時間ウィンドウの間に捕捉され、かつ第1の発話および第2の発話を表す第1の音声波形を受信するための手段を含むシステムが提供される。システムは、(i)第1の発話が第1の話者に対応すること、および(ii)第2の発話が第2の話者に対応することを示す第1のタイプの識別データを受信するための手段をも含み得る。システムは、第1の発話、第2の発話、および第1のタイプの識別データに基づいて、第1の話者による発話と第2の話者による発話とを区別するように構成されたダイアライゼーションモデルを決定するための手段をさらに含み得る。システムは、第3の発話の元話者を示す第1のタイプのさらなる識別データを受信することを含まずに、後続の時間ウィンドウ中に捕捉され、かつ第3の発話を表す第2の音声波形を受信するための手段をさらに含み得る。システムは、ダイアライゼーションモデルによって、かつ第1のタイプのさらなる識別データとは無関係に、第3の発話の元話者を決定するための手段をさらに含み得、元話者は、第1の話者または第2の話者であると決定される。システムは、第3の発話および決定された元話者に基づいてダイアライゼーションモデルを更新するための手段をさらに含み得る。
【0008】
これら、ならびに他の実施形態、態様、利点、および代替案は、添付の図面を適宜参照して、以下の詳細な説明を読解することによって、当業者に明らかになるであろう。さらに、この要約および本明細書で提供される他の説明および図面は、例示によってのみ実施形態を説明することを意図しており、従って、多くの変形が可能である。例えば、構成要素およびプロセスステップは、特許請求の範囲に記載された実施形態の範囲内に収まりつつ、再配置、結合、分散、除去、またはそれ以外に変更が可能である。
【図面の簡単な説明】
【0009】
図1】例示的な実施形態による、コンピューティングシステムを示す図である。
図2】例示的な実施形態による、コンピューティングデバイスを示す図である。
図3A】例示的な実施形態による、ユーザインタフェースを示す図である。
図3B】例示的な実施形態による、ユーザインタフェースを示す図である。
図3C】例示的な実施形態による、ユーザインタフェースを示す図である。
図3D】例示的な実施形態による、コンピューティングデバイスによる画像捕捉を示す図である。
図4】例示的な実施形態による、システムのブロック図を示す図である。
図5A】例示的な実施形態による、ダイアライゼーションモデルを示す図である。
図5B】例示的な実施形態による、ダイアライゼーションモデルを示す図である。
図5C】例示的な実施形態による、ダイアライゼーションモデルを示す図である。
図6A】例示的な実施形態による、ダイアライゼーションモデルを示す図である。
図6B】例示的な実施形態による、ダイアライゼーションモデルを示す図である。
図7】例示的な実施形態によるフローチャートを示す図である。
【発明を実施するための形態】
【0010】
本明細書には、例示的な方法、装置、およびシステムが記載されている。本明細書では、「例」および「例示的」という用語は、「例、実例、または例示として役立つ」という意味で使用されていることを理解されたい。本明細書において「例」、「例示的」、および/または「例示的」であるとして記載される任意の実施形態または特徴は、そのように記載されない限り、必ずしも他の実施形態または特徴よりも好ましいか、または有利であると解釈されるべきではない。従って、本明細書に示される主題の範囲から逸脱することなく、他の実施形態を利用することができ、他の変更を加えることができる。
【0011】
従って、本明細書に記載の例示的な実施形態は、限定することを意味するものではない。本明細書で一般的に説明され、図面に示される本開示の態様は、多種多様な異なる構成で配置、置換、結合、分離、および設計することができることが容易に理解されよう。
【0012】
さらに、文脈上別段の指示がない限り、各図面に示されている特徴は、互いに組み合わせて使用することができる。従って、図面は、一般的に、1つまたは複数の全体の実施形態の構成要素として見なされるべきであり、全ての図示された特徴が各実施形態に必要であるとは限らないことを理解されたい。
【0013】
加えて、本明細書または特許請求の範囲における構成要素、ブロック、またはステップの列挙は、明確化のためのものである。従って、そのような列挙は、これらの要素、ブロック、またはステップが特定の配置に従うこと、または特定の順序で実行されることを要求または示唆するものと解釈されるべきではない。特に明記されていない限り、図面は縮尺通りに描かれていない。
【0014】
I. 概要
ダイアライゼーションモデルは、音声波形に基づいて、音声波形内の特定の期間中に複数の話者のうちのどの話者が話したかを決定するために使用され得る。従って、異なる話者による複数の発話を含む音声波形は、各発話の話者に応じて区分され得る。ダイアライゼーションモデルは、訓練波形における各発話に関連する話者を示すヒントデータ/識別データに関連付けられた訓練波形に基づいて訓練され得る。一旦訓練されると、ダイアライゼーションモデルを使用して、追加の識別データとは無関係に、および/または依存することなく、特定の発話に関連する話者を決定することができる。ダイアライゼーションモデルは、様々な発話の話者を識別するように動作するため、モデルは、これらの話者の識別情報(identification)に基づいて更新され得る。即ち、ダイアライゼーションモデルは、モデルが時間の経過とともに行う教師なし予測に基づいて成長、適応、および発展し得る。
【0015】
本明細書では、特に、ヒントデータ、識別データ、および/または識別ヒントデータという用語は、所与の音声信号へのラベル(例えば、話者#1、話者A、または他の任意のラベル)の割り当てを示すために使用される。このラベルは、同じ音声が検出されるたびに、長時間にわたって維持され得る。このラベルは、ラベルが事実上匿名であるように、人に関して個人的に特定可能な他の情報(例えば、名前、住所)を含まないか、または関連付けられていない場合があり得る。プライバシーおよび匿名性は、数ある可能性の中でも、(i)2人のユーザが会話する毎に新たなダイアライゼーションモデルを生成する(かつ会話が終了するとモデルを破棄する)ことによって、(ii)ダイアライゼーションモデルを、例えば、クラウドベースのプラットフォームではなく、1つのコンピューティングデバイス(例えば、翻訳アプリケーションを実行するコンピューティングデバイス)上でローカルに生成し、実行し、保存することによって、および/または(iii)特定のユーザに固有のダイアライゼーションモデルの態様を他のコンピューティングデバイスと共有しないことによって、さらにサポートされ得る。
【0016】
ダイアライゼーションモデルは、数ある可能性のあるアプリケーションの中でも、翻訳アプリケーションまたは文字変換アプリケーションの一部として使用され得る。翻訳アプリケーションのコンテキストにおいて、翻訳アプリケーションは、少なくとも2つのボタンを含むグラフィカルユーザインタフェース(UI)を提供し得る。第1のボタンは、第1の話者および任意選択的に第1の言語に対応し得、第2のボタンは、第2の話者および任意選択的に第2の言語に対応し得る。第1の話者が自身の音声を翻訳することを選択すると、第1の話者は第1のボタンを押して話を開始する。翻訳アプリケーションは、第1の話者によって生成された発話を捕捉し、閾値振幅を超える音が少なくとも所定の期間(例えば、2.5秒)検出されない場合、翻訳アプリケーションは、さらなる発話の聞き取りを停止し得る。翻訳アプリケーションは、発話のテキスト表現を生成し、テキストを第2の言語に翻訳し、このテキストを第2の話者に対して表示し得る。
【0017】
この時点で、第1の話者に応答するために、第2の話者は第2のボタンを押して、同様の手順を繰り返し得る。そのようなやりとりは、会話が終了するまで延々と続き得る。しかしながら、特に、そのような話者の明示的な表示に依存することは、特に、1つまたは複数の機器に対して各話者を識別する目的のために、1つまたは複数の使用する機器への繰り返しの入力(例えば、第1および第2のボタンへのタッチ入力)を必要とする。1つまたは複数の機器は、これらの受信した入力を検出して処理する必要がある。また、話者の明示的な表示に依存する場合、煩雑でミスが発生しやすい。
【0018】
例えば、話者の1人が間違ったボタンを押すと、翻訳アプリケーションが、例えば、英語をスペイン語に翻訳しようとするが、実際には、話者がスペイン語で発話を生成する場合がある。別の例では、話者は、ボタンを押す前に話を開始したり、ボタンを押した直後に話を開始することで、発話の最初の部分が捕捉された波形に表されない場合がある。さらなる例では、翻訳アプリケーションは、所定の無音期間に依存して、ユーザが話を終了したことを決定し得る。しかしながら、ノイズの多い環境では、そのような無音が利用できない場合があり、その結果、翻訳アプリケーションは、特定の話者を無期限に聞き取ったり、話者が話を終了した後の長期間にわたって聞き取ることとなる。この場合、プロセスが長くなる可能性および/またはエラーが導入される可能性があることに加えて、機器の1つまたは複数のマイクなど、1つまたは複数の使用する機器のハードウェア要素をより長く配置する必要があり得る。これの1つの影響は、プロセスを実行する際に機器が必要とする電力量が増加して、1つまたは複数の機器のバッテリ寿命が短くなる、かつ/またはそれ以外に機器上の電力がさらに消費されるということがあり得る。
【0019】
このような欠点は、2人以上の話者の間で波形内の発話を自動的に分類するダイアライゼーションモデルを採用することによって改善され得る。注目すべきは、ボタンを押してから話すというプロセスにより、翻訳アプリケーションが教師あり学習データを生成することにある。即ち、第1のボタンが押された後に捕捉された発話は、第1の話者に対応するように示され、第2のボタンが押された後に捕捉された発話は、第2の話者に対応するように示される。従って、そのような教師あり学習データは、ダイアライゼーションモデルを訓練するために使用され得る。一旦訓練が完了すると、翻訳アプリケーションは、明示的な話者の表示(即ち、話者の識別データ)を要求しなくなり、代わりに、ダイアライゼーションモデルに依存して話者を識別する。
【0020】
ダイアライゼーションモデルは、例えば、捕捉された波形の250ミリ秒の部分に基づいて動作し得る。従って、翻訳アプリケーションは、能動的に話している話者の変化に応答する際に、例えば、250ミリ秒の最大待ち時間を有し得る。さらに、話者の明示的な表示が要求されないか、または必要とされなくなったことで、人為的なミスを削減、最小化、および/または排除することができる。例えば、アプリケーションは、ボタンの明示的な押下に依存することなく、別の話者による発話を聞き取ることができるため、話者から話者に移行するときに発話の一部が途切れるのを防止することができる。さらに、話者の一連の発話の終了を決定することによって、もはや無音期間に依存しなくてもよく、従って、他の話者が不自然な一時停止なしに話を開始することができる。これらの利点の各々により、翻訳アプリケーションでは、2人以上の話者間で、はるかに自然で妨害のない会話を行うことができる。さらに、全体的なインタラクションの長さを短縮することができ、例えば、スクリーン・オン時間、マイク・オン時間、および/または1つまたは複数のデバイスにおける電力消費の対応する減少をもたらすことができる。
【0021】
ダイアライゼーションモデルは、任意のヒントデータ/識別データとは無関係に(例えば、含まずに)、発話中の話者を自動的に識別するように動作するため、これらの自動話者の識別情報はモデルにフィードバックされて、動作するにつれて成長し、かつ適応するモデルとなり得る。いくつかの実施形態では、少なくとも閾値の信頼値により決定された話者の識別情報は、ダイアライゼーションモデルを更新するために使用され得るが、閾値の信頼値未満の信頼値を有する話者の識別情報はそのように使用されないかもしれない。従って、モデルは、潜在的に誤りのある予測値をモデルから除外しながら、正しいものである可能性が高い予測値を使用して更新され得る。追加または代替として、初期訓練データは、自動話者識別から得られたデータよりもモデル内でより重く重み付けされ得る。このような手法により、単一の自動話者識別がモデルを大幅に変更することなしに、モデルを適応させることが可能となるため、誤りのある話者の識別の影響を低減することができる。
【0022】
このような適応がない場合、モデルは、各話者について約5秒の音声データ(例えば、2人の話者の場面の場合、合計で少なくとも10秒続く発話を有する波形)で訓練する必要があり得る。必要とされる訓練データの量は、例えば、話者が非常によく似た発話を生成し、従って、話者の声の広い範囲を表現しない場合、より長くなり得る。逆に、ダイアライゼーションモデルが独自の予測に基づいて適応することが許容される場合、話者ごとの1秒の音声データは、ヒントデータ/識別データを伴わない自動予測を行うことが許容されるよりも前に、モデルを訓練するのに十分であり得る。それにもかかわらず、モデルが適応する場合、モデルは、より長期間(例えば、5秒以上の音声に基づいて)訓練されたモデルと同じまたは同等のレベルの話者の識別精度に達し得る。従って、適応モデルを使用すると、翻訳アプリケーションが、会話全体で一定のままである非適応モデルよりもはるかに高速に、明示的な話者の識別の要求を段階的に廃止することを可能にすることができる。
【0023】
ダイアライゼーションモデルは、波形埋め込みモデルおよびベクトル分類モデルから構成される。埋め込みモデルは、(i)波形の複数のサンプル(例えば、特定のレートで250ミリ秒サンプリングされたもの)と(ii)ベクトル空間との間の数学的変換を定義し得る。埋め込みモデルの出力は、話者の声の様々な物理的特性または物理的特徴を示す値を有する埋め込みベクトルであり得る。埋め込みモデルは、異なる音の音声がベクトル空間上で遠くに離され、類似した音の音声がベクトル空間で密接にグループ化されるように、対応する話者でラベル付けされた大規模な発話のコーパス上で訓練され得る。従って、会話中に、埋め込みモデルは、第1の話者に対する埋め込みベクトルの第1のクラスタと、第2の話者に対する埋め込みベクトルの第2のクラスタとを生成し得る。特に、埋め込みモデルの訓練で使用されるコーパスに含まれる発話の話者が、会話における話者とは異なる場合がある。従って、埋め込みモデルの訓練は1回だけ行われてもよく、この訓練された埋め込みモデルは、任意の話者のグループ間の新たな会話に適用することができる。
【0024】
ラベル付けされていない発話の話者を識別するために、発話が埋め込みモデルによって処理されて、埋め込みベクトルを生成するようにしてもよい。次に、この埋め込みベクトルは、ベクトル分類モデル(k最近傍モデル、最近傍重心モデル、ガウス型ナイーブベイズモデル、または別の同様のモデル)によって、第1のクラスタおよび第2のクラスタと比較され得る。発話の話者は、ベクトル分類モデルによって生成された信頼度メトリックまたは他の定量的尺度に基づいて決定され得る。ダイアライゼーションモデルは、モデルによって生成された分類を埋め込みベクトルの第1または第2のクラスタに追加することによって更新され得る。
【0025】
II. 例示的なコンピューティングデバイス
図1は、コンピューティングシステム100の例示的なフォームファクタを示す。コンピューティングシステム100は、例えば、携帯電話、タブレットコンピュータ、またはウェアラブルコンピューティングデバイスであり得る。しかしながら、他の実施形態も可能である。コンピューティングシステム100は、本体102、ディスプレイ106、およびボタン108および110などの様々な要素を含み得る。コンピューティングシステム100は、前面カメラ104、背面カメラ112、前面赤外線カメラ114、第1の赤外線パターンプロジェクタ116、および第2の赤外線パターンプロジェクタ118をさらに含み得る。
【0026】
前面カメラ104は、動作中に通常はユーザに面する本体102の側面上に配置することができる(例えば、ディスプレイ106と同じ側面上に)。背面カメラ112は、前面カメラ104の反対側の本体102の側面上に配置することができる。カメラを前面および背面として向けることは任意であり、コンピューティングシステム100は、本体102の様々な側面上に配置された複数のカメラを含み得る。前面カメラ104および背面カメラ112はそれぞれ、可視光スペクトルで画像を捕捉するように構成され得る。
【0027】
ディスプレイ106は、ブラウン管(CRT)ディスプレイ、発光ダイオード(LED)ディスプレイ、液晶(LDC)ディスプレイ、プラズマディスプレイ、有機発光ダイオード(OLED)ディスプレイ、または当技術分野で既知の任意の他のタイプのディスプレイを代表し得る。いくつかの実施形態では、ディスプレイ106は、前面カメラ104、背面カメラ112、および/または赤外線カメラ114によって捕捉されている現在の画像、および/またはこれらのカメラの1つまたは複数によって捕捉され得るか、または最近捕捉された画像のデジタル表現を表示し得る。従って、ディスプレイ106は、カメラのビューファインダーとして機能し得る。ディスプレイ106はまた、コンピューティングシステム100の任意の態様の設定および/または構成を調整することができるタッチスクリーン機能をサポートし得る。
【0028】
前面カメラ104は、画像センサおよびレンズなどの関連する光学要素を含み得る。前面カメラ104は、ズーム機能を提供するか、または固定焦点距離を有することができる。他の実施形態では、交換可能なレンズは、前面カメラ104と共に使用することができる。前面カメラ104は、可変の機械式絞りおよび機械式および/または電子式シャッターを有し得る。前面カメラ104はまた、静止画像、ビデオ画像、またはその両方を捕捉するように構成することができる。さらに、前面カメラ104は、モノスコピック、ステレオスコピック、またはマルチスコピックカメラとして動作し得る。背面カメラ112および/または赤外線カメラ114は、同様にまたは異なって配置され得る。さらに、前面カメラ104、背面カメラ112、または赤外線カメラ114のうちの1つまたは複数は、1つまたは複数のカメラのアレイであり得る。
【0029】
前面カメラ104および背面カメラ112のいずれかまたは両方は、標的物体を照明するために可視光スペクトルの光場を提供する照明コンポーネントを含むか、またはそれに関連付けられ得る。例えば、照明コンポーネントは、標的物体のフラッシュまたは一定の照明を提供することができる。照明コンポーネントはまた、構造化光、偏光、および特定のスペクトル成分を有する光のうちの1つまたは複数を含む光場を提供するように構成することができる。物体から3次元(3D)モデルを再生するために知られ、かつ使用される他のタイプの光場は、本明細書の実施形態のコンテキストの範囲内で可能である。
【0030】
第1の赤外線パターンプロジェクタ116および第2の赤外線パターンプロジェクタ118はそれぞれ、対応する赤外線構造化光パターンを標的物体に投影するように構成され得る。一例では、第1の赤外線プロジェクタ116は、ドットパターンを投影するように構成され得、第2の赤外線プロジェクタ118は、フラッドパターンを投影するように構成され得る。従って、標的物体の異なる物理的特徴に対応する複数の深度値を決定するために、第1および第2の赤外線プロジェクタ116および118が赤外線カメラ114と組み合わせて使用され得る。
【0031】
即ち、第1の赤外線プロジェクタ116は、既知のドットパターンを標的物体に投影し、赤外線カメラ114は、投影されたドットパターンを含む標的物体の赤外線画像を捕捉し得る。次に、コンピューティングシステム100は、捕捉された赤外線画像内の領域と、投影されたドットパターンの特定の部分との間の対応関係を決定し得る。第1の赤外線プロジェクタ116の位置、赤外線カメラ114の位置、および捕捉された赤外線画像内の投影されたドットパターンの特定の部分に対応する領域の位置が与えられると、コンピューティングシステム100は、三角測量法を使用して、標的物体の表面への深度を推定し得る。
【0032】
投影されたドットパターンの異なる部分に対応する異なる領域に対してこれを繰り返すことによって、コンピューティングシステム100は、標的物体の様々な物理的特徴または部分の深度を推定することができる。このようにして、コンピューティングシステム100を使用して、標的物体の3次元(3D)モデルを生成することができる。第2の赤外線プロジェクタ118は、異なる照明条件(例えば、暗い環境)を補償するために、フラッドパターンで標的物体を照明するために使用され得る。即ち、第2の赤外線プロジェクタ118は、赤外線カメラ114によって捕捉された画像が、異なる環境および照明条件にわたって実質的に一定の赤外線パワーで照明された標的物体を表すことを可能にし得る。第2の赤外線プロジェクタ118によって投影されるフラッドパターンは、一定かつ均一な照明を提供し得る。
【0033】
いくつかの実施形態では、投影されるドットパターンは、ドットの固有の組み合わせまたは配置である既知のまたはそれ以外に所定のパターンであり得る。ドットパターンが事前に決定されている場合、そのパターンの固有の部分は、捕捉された赤外線画像内に配置され、かつ三角測量の基準点を提供し得る。例えば、所定のパターンの固有の部分が捕捉された赤外線画像から識別されると、所定のパターンのその固有の部分の特性(サイズおよび位置など)を、その固有の部分が投影されている面の深度を決定するための基礎として使用することができる。
【0034】
コンピューティングシステム100はまた、カメラ104、112、および/または114が捕捉することができるシーンの周囲の明るさ(例えば、可視光および/または赤外光に関して)を連続的にまたは随時決定し得る周囲光センサを含み得る。いくつかの実施形態では、ディスプレイ106のディスプレイの明るさを調整するために周囲光センサを使用することができる。さらに、1つまたは複数のカメラ104、112、または114の露出長を決定するか、またはこの決定を支援するために、周囲光センサが使用され得る。
【0035】
コンピューティングシステム100は、標的物体の画像を捕捉するために、ディスプレイ106および前面カメラ104、背面カメラ112、および/または前面赤外線カメラ114を使用するように構成され得る。捕捉された画像は、複数の静止画像またはビデオストリームである可能性がある。画像捕捉は、ボタン108を作動させるか、ディスプレイ106のソフトキーを押すか、または他の何らかのメカニズムによってトリガーすることができる。実施形態に応じて、例えば、ボタン108を押下時、標的物体の適切な照明条件時、デジタルカメラデバイス100を所定の距離の移動時、または所定の捕捉スケジュールに従って、画像を特定の時間間隔で自動的に捕捉することができる。
【0036】
上記したように、コンピューティングシステム100の機能は、ワイヤレスコンピューティングデバイス、携帯電話、タブレットコンピュータ、ラップトップコンピュータなどのようなコンピューティングデバイスに統合することができる。例として、図2は、カメラコンポーネント224を含み得る例示的なコンピューティングデバイス200の構成要素のいくつかを示す簡略化されたブロック図である。
【0037】
例として、限定されないが、コンピューティングデバイス200は、携帯電話(例えば、スマートフォン)、スチルカメラ、ビデオカメラ、コンピュータ(デスクトップ、ノートブック、タブレット、またはハンドヘルドコンピュータなど)、パーソナルデジタルアシスタント(PDA)、ホームオートメーションコンポーネント、デジタルビデオレコーダ(DVR)、デジタルテレビ、リモートコントロール、ウェアラブルコンピューティングデバイス、ゲームコンソール、ロボットデバイス、または少なくともいくつかの音声捕捉および/または音声処理機能を備えた他の何らかのタイプのデバイスであり得る。コンピューティングデバイス200は、物理オーディオ処理システム、音声感知および処理アプリケーションがソフトウェアで動作する特定の物理ハードウェアプラットフォーム、または音声捕捉、処理および/またはダイアライゼーション機能を実行するように構成されたハードウェアおよびソフトウェアの他の組み合わせに相当するものとすることができることを理解されたい。
【0038】
図2に示すように、コンピューティングデバイス200は、通信インタフェース202、ユーザインタフェース204、プロセッサ206、データストレージ208、およびカメラコンポーネント224を含み得、これらの全ては、システムバス、ネットワーク、または他の接続メカニズム210によって互いに通信可能にリンクされ得る。
【0039】
通信インタフェース202は、コンピューティングデバイス200が、アナログまたはデジタル変調を使用して、他のデバイス、アクセスネットワーク、および/またはトランスポートネットワークと通信することを可能にし得る。従って、通信インタフェース202は、基本電話サービス(POTS)通信および/またはインターネットプロトコル(IP)または他のパケット化された通信などの回線交換および/またはパケット交換通信を可能にし得る。例えば、通信インタフェース202は、無線アクセスネットワークまたはアクセスポイントとの無線通信のために配置されたチップセットおよびアンテナを含み得る。また、通信インタフェース202は、イーサネット、ユニバーサル・シリアル・バス(USB)、またはハイ・デフィニション・マルチメディア・インタフェース(HDMI)ポートなどの有線インタフェースの形態をとるか、またはそれを含み得る。通信インタフェース202はまた、Wifi、BLUETOOTH(登録商標)、全地球測位システム(GPS)、または広域無線インタフェース(例えば、WiMAX(登録商標)または3GPPロングタームエボリューション(LTE))などの無線インタフェースの形態をとるか、またはそれを含み得る。しかしながら、他の形態の物理層インタフェースおよび他のタイプの標準または独自の通信プロトコルが、通信インタフェース202上で使用され得る。さらに、通信インタフェース202は、複数の物理的通信インタフェース(例えば、Wifiインタフェース、BLUETOOTH(登録商標)インタフェース、および広域無線インタフェース)で構成され得る。
【0040】
ユーザインタフェース204は、コンピューティングデバイス200が、ユーザからの入力を受信して、ユーザに出力を提供するなど、人間または人間以外のユーザと対話することを可能にするように機能し得る。従って、ユーザインタフェース204は、キーパッド、キーボード、タッチセンサ式パネル、コンピュータマウス、トラックボール、ジョイスティック、マイクなどの入力コンポーネントを含み得る。ユーザインタフェース204はまた、例えば、タッチセンサ式パネルと組み合わせ得るディスプレイ画面などの1つまたは複数の出力コンポーネントを含み得る。ディスプレイ画面は、CRT、LCD、および/またはLED技術、あるいは現在知られている、または将来開発される他の技術に基づくものであり得る。ユーザインタフェース204はまた、スピーカ、スピーカジャック、オーディオ出力ポート、オーディオ出力デバイス、イヤホン、および/または他の同様のデバイスを介して、1つまたは複数の可聴出力を生成するように構成され得る。ユーザインタフェース204はまた、マイクおよび/または他の同様のデバイスを介して、1つまたは複数の可聴発話、1つまたは複数のノイズ、および/または1つまたは複数の信号を受信および/または捕捉するように構成され得る。
【0041】
いくつかの実施形態では、ユーザインタフェース204は、コンピューティングデバイス200によってサポートされる(例えば、可視スペクトルおよび赤外線スペクトルの両方で)スチルカメラ機能および/またはビデオカメラ機能のためのビューファインダーとして機能するディスプレイを含み得る。さらに、ユーザインタフェース204は、カメラ機能の設定および焦点合わせ、並びに画像の捕捉を可能にする1つまたは複数のボタン、スイッチ、ノブ、および/またはダイヤルを含み得る。これらのボタン、スイッチ、ノブ、および/またはダイヤルの一部または全てを、タッチセンサ式パネルにより実現することも可能であり得る。
【0042】
プロセッサ206は、1つまたは複数の汎用プロセッサ(例えば、マイクロプロセッサ)および/または1つまたは複数の特殊用途プロセッサ(例えば、デジタル信号プロセッサ(DSP)、グラフィックス処理ユニット(GPU)、浮動小数点ユニット(FPU)、ネットワークプロセッサ、または特定用途向け集積回路(ASIC))から構成され得る。いくつかの例では、特殊用途プロセッサは、他の可能性の中でもとりわけ、画像処理、画像の位置合わせ、および画像のマージが可能であり得る。データストレージ208は、磁気、光学、フラッシュ、または有機ストレージなどの1つまたは複数の揮発性および/または不揮発性ストレージコンポーネントを含み得、全体または一部がプロセッサ206と統合され得る。データストレージ208は、取り外し可能および/または取り外し不可能なコンポーネントを含み得る。
【0043】
プロセッサ206は、本明細書で説明される様々な機能を実行するために、データストレージ208に格納されたプログラム命令218(例えば、コンパイルされたまたはコンパイルされていないプログラムロジックおよび/または機械コード)を実行可能であり得る。従って、データストレージ208は、非一時的なコンピュータ可読媒体であって、コンピューティングデバイス200による実行時に、コンピューティングデバイス200に本明細書および/または添付の図面に開示された方法、プロセス、または動作のいずれかを実行させるプログラム命令を可読媒体上に格納した非一時的なコンピュータ可読媒体を含み得る。プロセッサ206によるプログラム命令218の実行により、プロセッサ206は、データ212を使用することとなり得る。
【0044】
例として、プログラム命令218は、コンピューティングデバイス200にインストールされたオペレーティングシステム222(例えば、オペレーティングシステムカーネル、1つまたは複数のデバイスドライバ、および/または他のモジュール)および1つまたは複数のアプリケーションプログラム220(例えば、カメラ機能、アドレス帳、電子メール、ウェブブラウジング、ソーシャルネットワーキング、音声対テキスト機能、テキスト翻訳機能、および/またはゲームアプリケーション)を含み得る。同様に、データ212は、オペレーティングシステムデータ216およびアプリケーションデータ214を含み得る。オペレーティングシステムデータ216は、主にオペレーティングシステム222にアクセス可能であり得、アプリケーションデータ214は、主に1つまたは複数のアプリケーションプログラム220にアクセス可能であり得る。アプリケーションデータ214は、コンピューティングデバイス200のユーザに見えるか、または見えないファイルシステムに配置され得る。
【0045】
アプリケーションプログラム220は、1つまたは複数のアプリケーションプログラミングインタフェース(API)を介してオペレーティングシステム222と通信し得る。これらのAPIは、例えば、アプリケーションプログラム220がアプリケーションデータ214を読み取りおよび/または書き込みすること、通信インタフェース202を介して情報を送信または受信すること、ユーザインタフェース204上で情報を受信および/または表示すること等を可能にし得る。
【0046】
いくつかの専門用語では、アプリケーションプログラム220は略して「アプリ(app)」と呼ばれることがある。さらに、アプリケーションプログラム220は、1つまたは複数のオンラインアプリケーションストアまたはアプリケーションマーケットを通じてコンピューティングデバイス200にダウンロード可能であり得る。しかしながら、アプリケーションプログラムは、ウェブブラウザを介して、またはコンピューティングデバイス200上の物理的インタフェース(例えば、USBポート)を介してなど、他の方法でコンピューティングデバイス200上にインストールすることも可能である。
【0047】
カメラコンポーネント224は、これらに限定されないが、絞り、シャッター、記録面(例えば、写真フィルムおよび/または画像センサ)、レンズ、シャッターボタン、赤外線プロジェクタ、および/または可視光プロジェクタを含み得る。カメラコンポーネント224は、可視光スペクトル(例えば、380~700ナノメートルの波長を有する電磁放射)で画像を捕捉するように構成されたコンポーネント、および赤外光スペクトル(例えば、701ナノメートル~1ミリメートルの波長)で画像を捕捉するように構成されたコンポーネントを含み得る。カメラコンポーネント224は、プロセッサ206によって実行されるソフトウェアによって少なくとも部分的に制御され得る。
【0048】
III. 例示的なユーザインタフェース
図3A図3B、および図3Cは、翻訳ソフトウェアアプリケーション(「翻訳アプリケーション」)の例示的なユーザインタフェースを示す。具体的には、翻訳アプリケーションは、2人以上のユーザが2つの異なる言語で互いに通信するときに、2つの異なる言語間の翻訳を提供するように構成される。図3Aのユーザインタフェース(UI)300は、翻訳アプリケーションが、第1の言語に対応する第1のボタン306と、第2の言語に対応する第2のボタン308とを含むことを示している。図3A図3B、および図3Cに示す例では、第1の言語は英語であり、第2の言語はスペイン語である。しかしながら、任意の2つの言語間の翻訳は、翻訳アプリケーションによって提供され得る。また、UI300は、第1の言語でテキストを表示するように構成された第1の表示領域302と、第2の言語でテキストを表示するように構成された第2の表示領域304とを含む。
【0049】
発話(例えば、話された単語、フレーズ、および/または文)の翻訳は、ボタン306またはボタン308との相互作用の検出に基づいて、またはその検出に応答して開始され得る。例えば、UI310におけるボタン306のクロスハッチによって示されるように、第1の話者は、ボタン306を選択することができ(例えば、UIに触れることによって)、これにより、翻訳アプリケーションは、第1の発話に関する聞き取りを開始し得る。従って、UI310は、視覚的プロンプト「SPEAK NOW(今、話して下さい)」を表示して、発話をスペイン語に翻訳するために、第1の話者が1つまたは複数の発話を英語で話すべきであることを示し得る。いくつかの実施形態では、ボタン306と308との間のマイクアイコンは、翻訳アプリケーションが聞き取っていることを示すために、移動する(例えば、揺動する、振動する)か、またはその外観を変更し得る。
【0050】
第1の話者の捕捉された第1の発話に基づいて、翻訳アプリケーションは、領域302において英語での発話のテキスト表現(即ち、「Hello,how are you?(こんにちは、お元気ですか?)」)を表示し、領域304においてスペイン語に翻訳された発話のテキスト表現(即ち、「Hola,co’mo esta’s?」)を表示し得る。第2の話者は、領域304内のスペイン語のテキストを読んで、応答を言い表し得る。第2の話者が話していることを示すために、UI312におけるボタン308のハッシングによって示されるように、第2の話者はボタン308を選択することができ、これにより、翻訳アプリケーションは、第2の発話に関する聞き取りを開始し得る。従って、UI312は、視覚的プロンプト「HABLA AHORA(今、話してください)」を表示して、発話を英語に翻訳するために、第2の話者が1つまたは複数の発話をスペイン語で話すべきであることを示し得る。
【0051】
第2の話者の捕捉された第2の発話に基づいて、翻訳アプリケーションは、領域304においてスペイン語での発話のテキスト表現(即ち、「?Bien,y tu’?(私は元気、あたなは?)」)を表示し、領域304において英語に翻訳された発話のテキスト表現(即ち、「Good,and you?」)を表示し得る。第1の話者は、領域302内の英語のテキストを読んで、応答を言い表し得る。各ユーザが個々のボタンを押して話し、他の話者に応答する機会を与えて、会話を続けることができる。
【0052】
いくつかの実施形態では、このような話者交替は、例えば、2人の話者間の会話が終了するまで、延々と続き得る。しかしながら、そのような話者交替は面倒であり、時期尚早の終了指定(即ち、話者が話し終える前に翻訳アプリケーションが聞き取りを停止する)および/または遅滞した終了指定(即ち、話者が話し終えた後しばらくの間、翻訳アプリケーションが聞き取りを続ける)といった問題を被り得る。即ち、話者が話し始める時期に対して話者が個々のボタンを押すのが遅すぎると、発話の開始部分が途切れることがあり得る。同様に、話者が雑音の多い環境にいる場合、翻訳アプリケーションは、聞き取りを停止するのに十分な長さ(例えば、2.5秒)の無音期間を検出できない場合があり、その結果、話者が話を停止した後に聞き取りを行っていることになる。
【0053】
従って、本明細書に開示されるシステム、方法、およびデバイスは、誰が話しているかについての明示的なインジケータ/表示の必要性を段階的に排除するように構成され得る。誰が話しているかのそのような表示は、本明細書では、ヒントデータ、識別データ、または識別ヒントデータと称され得る。即ち、ダイアライゼーションモデルは、話者交替の1つまたは複数の初期段階の間に得られた情報に基づいて、話している人の声の音声を決定するように訓練され得る。特に、ダイアライゼーションは、話者の識別に従って音声波形を複数のセクションに区分または分割するプロセスである。
【0054】
訓練されると、ダイアライゼーションモデルは、話者の明示的な表示なしに誰が話しているかを決定することができる。この時点で、翻訳アプリケーションのUIは、話者が話そうとしているかをUIによって示す必要なしに、話者が自由に話すことができることを示すように変更され得る。さらに、ダイアライゼーションモデルが話者を識別するように使用されることで、この追加情報を使用して、会話が進むにつれてモデルが話者を識別する際にますます正確になることが可能となるように、ダイアライゼーションモデルを更新および適合させることができる。
【0055】
図3Bは、翻訳アプリケーションが話者の明示的な表示を設ける必要がないモードに入ったこと、および/またはそのモードで動作していることを示すために使用され得る例示的なUIを示す。例えば、翻訳アプリケーションは、ダイアライゼーションモデルが話者を予測する際の精度の閾値レベルに到達したことに応答して、このモードに入り得る。
【0056】
第1の例では、UI314は、翻訳アプリケーションが、ボタン306および308の表示を停止することによって、誰が話しているか、または誰が話しかけようとしているのかの明示的な表示をもはや要求しないことを話者に示すことができる。さらに、領域302および304は、ボタン306および308に以前専用であったスペースを埋めるために拡張され得る。従って、例えば、第1の話者は、何の手がかりを提供することなく、「Where can I find the shoe store?(靴屋はどこですか)」と言う。ダイアライゼーションモデルは、この発話が第1の話者に対応することを判定し、それに応じて発話をスペイン語に翻訳し、領域304において「?Do’nde puedo encontrar la zapateri’a?」と表示するように構成され得る。領域302の視覚的表現は、この話者の明示的な表示が提供されなかったとして、翻訳アプリケーションが第1の話者を識別したことを示す視覚的フィードバックを第1の話者に提供するように、調整、修正、または変更(例えば、UI314におけるクロスハッチング)され得る。同様に、第2のユーザが話を始めたとき、領域304の視覚的表現は、第2の話者に同様の視覚的フィードバックを提供するように調整、修正、または変更され得る。
【0057】
同様に、第2の例では、UI316は、ボタン306および308の視覚的表現を調整することによって、翻訳アプリケーションが話者を自動的に識別するように構成されていることを示し得る。UI316では、ボタン306および308は、これらのボタンがもはや有効ではなく、かつ/または入力を受信するように構成されていないことを示すために灰色で表示されている。例えば、UI312からUI316への視覚的な変更は、翻訳アプリケーションの自動話者認識モードへの移行を示す追加の視覚的な手がかりを提供し得る。
【0058】
さらに、第3の例では、UI318は、プロンプト320および322によって、話者が普通に話すことができること、および翻訳アプリケーションが話者を自動的に識別することを明示的に表示し得る。即ち、第1の英語の話者に向けられたプロンプト320は、「SPEAK FREELY. AUTOMATIC SPEAKER DETECTION IS ACTIVE(自由に話してください。自動話者検出が有効です。)」と表示され、プロンプト322はスペイン語で同じことを示し得る。即ち、第2のスペイン語話者に向けられたプロンプト322は、「HABLA LIBREMENTE. LA DETECCIO’N AUTOMA’TICA DE ORADOR ESTA’ ACTIVA」を示し得る。
【0059】
代替の実施形態では、明示的な話者交替の1つまたは複数の初期段階は、初期訓練期間によって置き換えられるか、または補足され得る。この初期訓練期間は、通常の会話以外で行われ得る。即ち、個々の声に合わせて翻訳アプリケーションを調整するために、図3Cに示すように、2人の話者の各々は、個々の言語でいくつかの単語またはフレーズを言うように要求され得る。いくつかの実施形態では、これらの単語またはフレーズを発音する際に各話者が生成する音の範囲を最大化するために、各話者は、翻訳アプリケーションによって選択または決定される特定の一連の単語またはフレーズを言うように要求され得る。このような手法は、初期訓練期間/初期較正期間を短縮し得る。
【0060】
即ち、UI324において示されるように、第1の話者には、「SAY A FEW WORDS OR PHRASES IN ENGLISH TO CALIBRATE THE TRANSLATOR TO YOUR VOICE.(あなたの声に合わせて翻訳器を較正するために、英語でいくつかの単語またはフレーズを言って下さい。)」と示すプロンプト330が提供され得る。同様に、第2の話者にも同じことをするようにスペイン語で要求され得る。即ち、UI326において示されるように、第2の話者には、「DIGA ALGUNAS PALABRAS O FRASEEN ESPANOL PARA CALIBRAR EL TRADUCTOR A SU VOZ」を示すプロンプト334が提供され得る。プロンプト328は、第1の話者に「SPEAK NOW(今、話して下さい)とさらに指示し得、プロンプト332は、第2の話者に対して同じこと(即ち、「HABLA AHORA」)を指示し得る。
【0061】
従って、例えば、UI324が表示されている間、第1の話者は、UI324がUI326に変化するまで話すことができ、これは、十分な訓練データが収集されたことを示す。同様に、UI326が表示されている間、第2の話者は、UI326が次のUI(例えば、UI318)に変化するまで話すことができ、これは、ダイアライゼーションモデルが訓練され、翻訳アプリケーションが話者を自動的に検出したことを示すし、従って、会話は自然に進行することができる。この場合、UI324および326が表示されている間に取得した発話は、ボタン306および308を使用して取得した発話と同じ目的を果たし得る(即ち、両方の手法は、ヒントデータ/識別データを生成する)。しかしながら、特に、ボタン306および308の使用は、2人の個人が会話していない明示的な較正期間なしに、会話をより自然に開始することを可能にするという利点を有し得る。
【0062】
図3Dに示されるさらなる実施形態では、ヒントデータは、センサデータに基づいて取得され得る。例えば、話者340が発話を生成する(即ち、話す)と、コンピューティングデバイス342は、コンピューティングデバイス342上の1つまたは複数の画像センサを使用して、視野344によって示されるように、話者340の1つまたは複数の画像を捕捉することができる。これらの画像は、可視光画像(例えば、前面カメラ104および/または背面カメラ112によって生成される)、赤外線画像(例えば、前面赤外線カメラ114、第1の赤外線パターンプロジェクタ116、および/または第2の赤外線パターンプロジェクタ118によって生成される)、またはそれらの組み合わせであり得る。1つまたは複数の画像は、1つまたは複数の画像に表される話者の顔(例えば、口)の動きおよび/または話者の識別に発話をマッピングすることができるように、捕捉された音声波形と同期され得る。
【0063】
従って、翻訳アプリケーションは、1つまたは複数の画像に基づいて、特定の発話に関連する話者を決定し得る。ポータブルコンピューティングデバイスの場合、話者が能動的に話しているとき、図3Dに示されるように、ポータブルコンピューティングデバイスは、能動的な話者の顔の画像を捕捉するように保持され得る。従って、特定の画像が第1の話者または第2の話者のどちらを表すかを決定することによって、翻訳アプリケーションは、対応する発話の元を決定することができる。いくつかの実施形態では、翻訳アプリケーションは、連続する画像が、対応する発話に対応する、および/または一致する顔の動きを表すことをさらに決定し得る。(例えば、ビデオ会議のコンテキストにおいて)両方の話者を同時に見るのに十分な広さの視野を有する1つまたは複数のカメラを備えたコンピューティングデバイスの場合、識別ではなく顔の動きを使用して元話者を決定し得る。特に、それにもかかわらず、例えば、話者が1つまたは複数のカメラによって監視される環境を移動するときに、話者の識別もまた考慮され得る。
【0064】
このような視覚情報は、ダイアライゼーションモデルの訓練に関するヒントデータとしても、ダイアライゼーションモデルが元話者を正確に決定したかどうかを検証するための方法としても使用され得る。例えば、画像データが利用可能である場合、翻訳アプリケーションは、ボタン306および308、および/または図3Cに示される較正プロセスを含まない場合がある。代わりに、波形中の発話は、画像データに基づいて対応する話者にマッピングされ、それによって、ダイアライゼーションモデルを訓練するために使用することができるヒントデータを生成することができる。ダイアライゼーションモデルが訓練されると、翻訳アプリケーションは追加の画像データに依存しない場合がある。代替的に、翻訳アプリケーションは、追加の画像データの取得を継続し、ダイアライゼーションモデルによって決定された元話者が画像に表された話者と一致するかどうか、および/または顔の動きが音声を示す話者と一致するかどうかを決定し得る。
【0065】
さらに、いくつかの実施形態では、翻訳アプリケーションは、図3A図3B図3C、および図3Dの機能の任意の組み合わせを使用して、ダイアライゼーションモデルを訓練および更新し得る。いくつかの実施形態では、画像データ以外に、話者の識別を示す可能性のある追加のセンサデータに依存し得る。例えば、慣性測定ユニット(IMU)からの慣性データは、異なる話者間でのコンピューティングデバイスの物理的なハンドオフまたはハンドオーバーを示し得るため、次の発話が、先行する発話を生成した話者とは異なる話者によって生成された可能性が高いことが示唆される。
【0066】
IV. 例示的なシステム
図4は、発話の元話者402を決定、予測、および/または推定するために使用される例示的なダイアライゼーションモデル400を示す。ダイアライゼーションモデル400は、訓練音声波形410および識別データ420を使用して、元話者402を識別するように訓練され得る。訓練音声波形410は、例えば、第1および第2の話者がボタン306および308を使用して会話中に交互に話す間に捕捉された音声、初期較正期間中に捕捉された音声、および/または元話者を示す画像データが捕捉されている間に捕捉された音声を表し得る。
【0067】
訓練音声波形410は、発話412~416(即ち、発話412および発話414~発話416)を含む複数の発話を含み得る。これらの発話の各々は、識別422~426(即ち、識別422および識別424~識別426)を含む対応する識別データにマッピングされ得る。即ち、訓練音声波形410の一部は、対応する話者に関連付けられ得る。識別データ420は、ボタン306および308を使用した話者交替、初期較正中に捕捉された音声、および/または特定の時間における話者を示す画像または他のセンサデータに基づいて生成され得る。各発話は、所定の持続時間(例えば、250ミリ秒)を有し得る。しかしながら、ダイアライゼーションモデル400は、追加的または代替的に、異なる持続時間を有する発話を処理するように訓練され得る。
【0068】
ダイアライゼーションモデル400は、例えば、ダイアライゼーションモデルが元話者402を正しく識別する際の精度の少なくとも閾値レベルに達するまで、訓練音声波形410および識別データ420を使用して訓練され得る。例えば、発話412~416の第1の部分は、ダイアライゼーションモデル400を訓練するために使用され得、発話412~416の第2の異なる部分は、訓練されたダイアライゼーションモデル400が元話者402を正確に決定するかどうかを判定するために使用され得る。例えば、発話414は、ダイアライゼーションモデル400をテストするための入力として提供され得、決定された元話者402は、識別426と比較されて、2つが一致するかどうかを判定し得る。そのようなテストの少なくとも閾値の比率が満たされた場合、ダイアライゼーションモデル400を使用して、新たな発話を分類することができる(即ち、翻訳アプリケーションは、ヒントデータに依存することなく、話者を自動的に認識することができる)。
【0069】
従って、ダイアライゼーションモデルを使用して、識別のない音声波形430における発話の元話者を決定することができる。即ち、ダイアライゼーションモデルは、識別のない音声波形430を受信して、発話432~436(即ち、発話432および発話434~発話436)の各々に、対応する元話者402を割り当てることができる。特に、音声波形430は、対応する識別データに関連付けられていないため、識別のない、識別に依存しない、および/または識別を含まないものとして参照され得る。即ち、音声波形430は、翻訳アプリケーションが各発話の元話者を自動的に決定するモードに入ると、捕捉され得る。
【0070】
ダイアライゼーションモデル400は、発話432~436について決定された元話者402に基づいて更新および調整され得る。即ち、ダイアライゼーションモデル400は、さらなる識別データが利用できない場合であっても、教師なしの方法で適応し続けることができる。一実施形態では、ダイアライゼーションモデル400は、決定された元話者402の各インスタンスに基づいて更新され得る。即ち、新たな発話が第1の話者、第2の話者、または他の話者に属するものとして分類されるたびに、この分類は、正確であると見なされ、かつ、従って、ダイアライゼーションモデル400を更新するために使用され得る。別の実施形態では、ダイアライゼーションモデル400は、元話者402の決定に関連する信頼度レベルが閾値信頼度レベルを超えるときに更新され得る。例えば、元話者402を予測する際のダイアライゼーションモデル400の信頼度が85%を超えた場合、対応する発話および決定された元話者が、さらなる訓練データとしてダイアライゼーションモデル400に追加され得る。
【0071】
さらなる実施形態において、訓練音声波形410および識別データ420に基づいて得られた訓練データ(即ち、教師あり訓練データ)には、識別のない音声波形430に基づいて得られた訓練データ(即ち、教師なし訓練データ)とは異なる重みが割り当てられ得る。即ち、教師あり訓練データには、教師なし訓練データよりも高い重みが割り当てられ得る。従って、ダイアライゼーションモデル400は、初期の教師あり訓練データと大量の正しく分類された教師なし訓練データとによって大半が決定され得るため、ダイアライゼーションモデル400による誤分類はさらなる分類の精度にそれほど影響を与えない可能性がある。
【0072】
V. 例示的なダイアライゼーションモデルの訓練および適応
図5A図5B、および図5Cは、ダイアライゼーションモデル400の例示的な波形処理パイプラインを示す。具体的には、ダイアライゼーションモデルは、波形埋め込みモデル500およびベクトル分類モデル520を含み得る。波形埋め込みモデル500は、音声波形を構成する(かつ、波形空間を定義すると言うことができる)サンプルのN次元ベクトル空間への数学的変換を定義する。従って、波形埋め込みモデル500は、音声波形502に基づいて埋め込みベクトル504を生成するように構成され得る。音声波形502は、所定の持続時間および/または所定の数のサンプルを有する単一の発話を表し得る。埋め込みベクトル504は、N次元ベクトル空間における音声波形502を表す複数の値X~X(即ち、X、X、X、X、X、X、X、X、X、およびX10~X)を含み得る。
【0073】
波形埋め込みモデル500は、プロセッサ(例えば、プロセッサ206)によって実行可能なソフトウェア命令として、プログラマブル回路(例えば、フィールドプログラマブルゲートアレイ(FPGA))として、専用回路(例えば、ASIC)として、またはそれらの組み合わせとして実装され得る。波形埋め込みモデル500は、複数のサンプル話者による複数のサンプル発話を表す複数のサンプル波形に基づく訓練を通じて経験的に定義され得る。即ち、波形埋め込みモデル500のパラメータは、プログラマーによって事前に決定されるのではなく、コンピューティングデバイスによって学習され得る。波形埋め込みモデルは、人工ニューラルネットワーク(ANN)(例えば、ディープANN)を含み、かつ/または人工ニューラルネットワークで構成され得る。
【0074】
特に、波形埋め込みモデル500は、声が類似している2人の話者の音声の個々の埋め込みベクトルがN次元ベクトル空間内において互いに接近し、声が著しく異なる2人の話者の音声の個々の埋め込みベクトルがN次元ベクトル空間内で大きく離れるように、損失関数を使用して訓練され得る。例えば、損失関数により、同じラベル(例えば、話者の年齢、話者の性別、話者の声の範囲、話者の声の音色など)を有する可聴音声特徴が共にグループ化され、異なるラベルを有する可聴音声特徴がベクトル空間で遠くに離され得る。波形埋め込みモデル500は、翻訳アプリケーションの一部として使用される前に(例えば、翻訳アプリケーションが音声を翻訳するために使用される前に)訓練され得るが、定期的に更新されてもよい。対照的に、以下に説明するように、ベクトル分類モデル520は、翻訳アプリケーションが音声を翻訳するために使用される間、訓練され得る。
【0075】
埋め込みベクトル504の値X~Xは、音声波形502に関連する物理的特性または物理的特性を表し得る。従って、2つの異なる発話の特性または特徴の類似度を決定するために値X~Xを使用することができる。即ち、2つの異なる発話のN次元空間における対応する埋め込みベクトル間の距離は、2つの異なる発話間の類似度を示し得る。例えば、距離が小さい場合、2つの発話の物理的特性は、距離が大きい場合よりも類似し得る。2つの異なる発話の物理的特性間の類似度を示すために、ベクトルの値の部分集合がグラフ化され得る。そのために、図5Aは、埋め込みベクトル504の第1の次元DIMの値Xと、埋め込みベクトル504の第2の次元DIMの値Xとをそれぞれ横軸および縦軸に沿ってプロットしたグラフ506を示す。グラフ506は、説明の目的のために生成された埋め込みベクトル504の次元的に縮小されたバージョンであり得、一方、埋め込みベクトル504の全体は、他の目的のために使用され得る。
【0076】
埋め込みベクトル504のグラフ表現508の閾値510内にある他のベクトルは、他のベクトルが類似の物理的特性または物理的特徴を有する発話の音声波形を表すという点で類似していると見なされ得る。特に、グラフ506は、説明を簡単にするために2つの次元のみを示しているが、本明細書で説明される概念は、N次元に拡張され得る。例えば、3次元の場合、閾値510は、円ではなく、球としてグラフィカルに表現され得る。一例では、2つのベクトル間の距離は、ユークリッド距離であり得る。即ち、値X1~X1を有する第1のベクトルX1および値X2~X2を有する第2のベクトルX2について、距離dは、
【0077】
【数1】
として定義され得る。別の例では、2つのベクトル間の距離は、余弦距離または他の尺度の距離であり得る。従って、同様の物理的特性を有する複数の発話は、波形埋め込みモデル500によって定義されるN次元空間に埋め込まれたときに、互いに閾値距離内に収まる波形を生成し得る。
【0078】
場合によっては、値X~Xのいくつかは人間が解釈可能な値であり得る。即ち、値のいくつかは、音声波形502によって表される発話の物理的特性の明示的なメトリックを提供し得る。他の場合では、値X~Xは人間が解釈可能でない場合があるが、それでも、例えば、ベクトル分類モデル520によって解釈可能であり、かつ発話の話者を決定する際に使用され得る。従って、値X~X自体は人間が解釈可能でない場合があるが、値X~Xは、人間が解釈可能な出力を生成するために、別のモデルおよび/またはアルゴリズムによって結合され、変換され、かつ/またはそれ以外に処理され得る。
【0079】
図5Bおよび図5Cは、ダイアライゼーションモデル400の例示的な訓練プロセスを示す。即ち、訓練音声波形410および識別データ420は、波形埋め込みモデル500への入力として提供され得る。訓練音声波形は、第1の話者による第1の複数の発話および第2の話者による第2の複数の発話を含み得、これらの各々は、識別データ420によって指定され、表示され、またはそれ以外にラベル付けされ得る。第1の複数の発話に基づいて、波形埋め込みモデル500は、第1の話者に関する第1の複数の埋め込みベクトル512と、第2の話者の第2の複数の埋め込みベクトル514とを生成するように構成され得る。異なる話者の埋め込みがベクトル空間内に空間的に分離され得ることを示すために、埋め込みベクトル512がグラフ516内に示され、埋め込みベクトルがグラフ518内に示されている。特に、グラフ516および518は、説明を明確にするために、2つの次元の個々の埋め込みベクトルを示す。埋め込みベクトル512および514は、グラフ516および518には示されていないが、話者ダイアライゼーションに使用され得る複数の別の次元を含み得る。
【0080】
波形埋め込みモデル500によって生成された埋め込みベクトル512および埋め込みベクトル514は、ベクトル分類モデル520への入力として提供され得る。図5Bに示すように、ベクトル分類モデルは、他の同様の可能性のある機械学習モデル中でも、k最近傍モデル524、最近傍重心モデル526、および/またはガウス型ナイーブベイズモデル528のうちの1つまたは複数を含み得る。モデル524、526、および528の各々は、1つまたは複数のカテゴリ(例えば、第1の話者対第2の話者)の間でベクトルを分類するように構成され得る。また、図5Cは、単一のグラフ522に組み合わされたグラフ516および518の埋め込みベクトルを示す。特に、埋め込みベクトル512および埋め込みベクトル514はそれぞれ、別個の点のクラスタを形成し、従って、いずれかのクラスタへの近接性に基づいて、さらなる埋め込みベクトルの分類が可能となる。
【0081】
ダイアライゼーションモデル400を訓練することは、k最近傍モデル524、最近傍重心モデル526、および/またはガウス型ナイーブベイズモデル528のうちの1つまたは複数を訓練することを含み得る。k最近傍モデル524を訓練することは、波形埋め込みモデル500によって埋め込みベクトル512および514を計算することを含み得る。換言すれば、このタイプのモデルの特性の結果として、訓練することは、これらの埋め込みの追加の変換なしに、第1の複数の発話および第2の複数の発話を埋め込むことを単に決定することを含み得る。従って、k最近傍モデル524のグラフ530とグラフ522とは同一である。未分類の発話に対応する埋め込みベクトルは、この埋め込みベクトルに対して最近傍のグラフ530内のk個(例えば、3個)の点に基づいて、第1の話者または第2の話者のいずれかに属するものとして分類され得る。
【0082】
他方、最近傍重心モデル526を訓練することは、埋め込みベクトル512および埋め込みベクトル514の重心を決定することを含み得る。グラフ532は、埋め込みベクトル512の第1の重心(黒)および埋め込みベクトル514の第2の重心(クロスハッチされたもの)を示している。各重心は、個々の組の埋め込みベクトルの空間平均を表し得る。埋め込みベクトルに重みが割り当てられる場合、空間平均はそのような重みに従って重み付けされ得る。未分類の発話に対応する埋め込みベクトルは、埋め込みベクトルが第1の重心または第2の重心のいずれかにより近いことに基づいて、第1の話者または第2の話者のいずれかに属するものとして分類され得る。
【0083】
さらに、ガウス型ナイーブベイズモデル528を訓練することは、埋め込みベクトル512および埋め込みベクトル514の算術的平均値(means)(即ち、平均値(averages))および標準偏差を決定することを含み得る。従って、個々のガウス分布(即ち、正規分布)は、その各次元に関して埋め込みベクトル512に適合され得、個々のガウス分布は、その各次元に関して埋め込みベクトル514に適合され得る。グラフ534は、グラフの第1の次元に関して埋め込みベクトル512の第1のガウス分布540を示し、グラフの第2の次元に関して埋め込みベクトル512の第2のガウス分布542を示している。同様に、グラフ534は、グラフの第1の次元に関して埋め込みベクトル514の第1のガウス分布546を示し、グラフの第2の次元に関して埋め込みベクトル514の第2のガウス分布544を示している。ガウス分布540、542、544、および546の各々は、対応する平均値および標準偏差と関連付けられ得る。
【0084】
未分類の発話に対応する埋め込みベクトルは、埋め込みベクトルが第1の話者のガウス分布(例えば、540および542)または第2の話者のガウス分布(例えば、544および546)のいずれかに属する可能性がより高いことに基づいて、第1の話者または第2の話者のいずれかに属するものとして分類され得る。具体的には、この尤度は、ベイズの規則/定理を個々のガウス分布によって示される確率と組み合わせて適用することによって計算され得る。即ち、ベイズの規則によれば、埋め込みベクトルEが観測された場合に話者が第1の話者Sである確率は
【0085】
【数2】
であり、埋め込みベクトルEが観測された場合に話者が第2の話者Sである確率は
【0086】
【数3】
である。
【0087】
一旦訓練されると、新たな発話の話者を識別するためにダイアライゼーションモデル400が使用され得る。図6Aおよび図6Bは、例えば、識別のない音声波形430における発話432に対して動作する訓練されたダイアライゼーションモデル400を示す。発話432はグラフ600において示されている。発話432は、波形埋め込みモデル500への入力として提供され、波形埋め込みモデル500は、発話432に基づいて埋め込みベクトル602を生成する。埋め込みベクトル602の2つの次元の値は、グラフ604によって示されている。
【0088】
次に、埋め込みベクトル602は、ベクトル分類モデル520への入力として提供され、ベクトル分類モデル520は、埋め込みベクトル602をモデル524、526、および/または528のうちの1つまたは複数と比較して、元話者の信頼度メトリック606を決定し得る。例えば、グラフ530は、埋め込みベクトル512(黒い点)および埋め込みベクトル514(クロスハッチされた点)と共にグラフ化された埋め込みベクトル602(白い点)を示している。埋め込みベクトル602の3個の最近傍は黒い点である。従って、埋め込みベクトル602は、黒い点のクラスタに属し、従って、第1の話者の声を表すものとして分類され得る。k最近傍モデル524の場合、未分類の埋め込みベクトルは、大多数のk最近傍の他の埋め込みベクトルのクラスに基づいて分類され得る。元話者の信頼度メトリック606は、大多数を構成する埋め込みベクトルの数をkで除算したものに等しい。従って、例えば、4つの黒い点と1つの白い点が埋め込みベクトル602の最近傍のベクトルである場合、信頼度メトリック606は4/5に等しくなる。特に、場合によっては、信頼度メトリック606の計算は、各埋め込みベクトルに関連する重み、および/または埋め込みベクトル602とk個の最近傍ベクトルの各々との間の距離を考慮に入れてもよい。
【0089】
最近傍重心モデル526のグラフは示されていないが、埋め込みベクトル602は、グラフ532に示されている2つの重心に対して同様にグラフ化され得る。埋め込みベクトル602は、2つの重心のうちの一方が他方よりもより近いことに基づいて分類され得る。例えば、埋め込みベクトル602は、グラフ604に示されるように、クロスハッチされた第2の重心よりも、グラフ532において示される黒い第1の重心により近い。従って、埋め込みベクトル602は、第1の話者の声を表すものとして分類されることとなる。変数Cで表される信頼度メトリック606は、
【0090】
【数4】
に従って計算されてもよく、ここで、Dは埋め込みベクトル602と第1の重心との間の距離(またはこの距離のある三角関数成分)を表し、Dは埋め込みベクトル602と第2の重心との間の距離(またはこの距離のある三角関数成分)を表す。
【0091】
さらに、グラフ534は、ガウス型ナイーブベイズモデル528のガウス分布540、542、544、および546と共にグラフ化された埋め込みベクトル602(白い点)を示している。上記したように、埋め込みベクトル602は、埋め込みベクトル602が第1の話者のガウス分布(例えば、540および542)または第2の話者のガウス分布(例えば、544および546)の一部として観測される可能性に基づいて、第1の話者または第2の話者のいずれかに属するものとして分類され得る。この場合、信頼度メトリック606は、(i)埋め込みベクトル602が第1の話者のガウス分布の一部として観測される確率、または(ii)埋め込みベクトル602が第2の話者のガウス分布の一部として観測される確率とのうち大きい方であってもよい。
【0092】
いくつかの実施形態では、ベクトル分類モデル520によって決定された話者は、元話者の信頼度メトリック606が閾値信頼度値(例えば、75%)を超えた場合、元話者402としてダイアライゼーションモデル400によって出力され得る。信頼度メトリック606が閾値信頼度値を下回る場合、ダイアライゼーションモデル400は、元話者402を十分な精度で決定することができないことを示し得る。
【0093】
さらに、ダイアライゼーションモデル400が埋め込みベクトル602の元話者を決定すると、ダイアライゼーションモデル400は、この情報を使用して更新され得る。即ち、埋め込みベクトル602は、1つまたは複数のモデル524、526、および/または528に追加され得、これは、グラフ530~534において埋め込みベクトル602を表す白い点を黒色にすること、重心の位置を調整すること、および/またはガウス分布540、542、544、および/または546のサイズを調整することによって視覚的に表され得る。実施形態に応じて、埋め込みベクトル602を使用して、信頼度メトリック606がある閾値レベルを超えた場合、ベクトル602の分類が外部により検証可能である場合(例えば、捕捉された画像フレームに基づいて)、識別データに関連付けられた他のベクトルとは異なる重みを埋め込みベクトル602に割り当てることによって、かつ/または任意の信頼度および/または重みに関係なく、ベクトル分類モデル520を更新してもよい。
【0094】
特に、ダイアライゼーションモデルは会話ごとに決定され得る。即ち、2人のユーザが会話するたびに、新たなダイアライゼーションモデルが生成され、訓練され、使用され、かつ更新され得る。さらに、ダイアライゼーションモデルは、翻訳アプリケーションを実行するコンピューティングデバイスによって生成され、実行され、かつコンピューティングデバイスに格納され得る。従って、特定のユーザに固有のダイアライゼーションモデルの態様は、他のコンピューティングデバイスと共有されない可能性がある。さらに、ダイアライゼーションモデルを、例えば、クラウドベースのプラットフォームではなく、ローカルに実行することにより、そのようなプラットフォームによって利用される処理電力、電力、およびネットワーク帯域幅の量が低減され得る。さらに、ダイアライゼーションモデルは、ネットワーク接続の速度に依存しないため、遅延がほとんどないか、またはまったくない状態で動作し得る。
【0095】
いくつかの実施形態では、会話が終了すると、ダイアライゼーションモデルが破棄されてもよい。従って、話者の声の特徴を示す情報は、1回の会話の期間よりも長く保存されない場合がある。他の実施形態では、翻訳アプリケーションが実行されているコンピューティングデバイスの所有者に関連付けられたダイアライゼーションモデルの一部は、再生成する必要がないように、さらなる会話で使用するために保存され得る。話者は、そのようなモデルの保存をオプトインおよび/またはオプトアウトすることが可能であり得る。従って、ダイアライゼーションモデルが生成、維持、および/または破棄される方法は、話者特定データのプライバシーに貢献する。
【0096】
さらに、本明細書では、ダイアライゼーションモデル400を、翻訳アプリケーションのコンテキストで説明したが、本明細書で開示されるダイアライゼーションモデル400および他の技術は、複数の他の用途に適用され得る。例えば、ダイアライゼーションモデルおよび対応するUIは、音声文字変換アプリケーションの一部として実装され得る。即ち、同じ言語で会話している2人以上のユーザが、UIを介して、どのユーザが話しているかを最初に話者交替で示すことができる。音声文字変換アプリケーションは、発話を翻訳するのではなく、誰が何を言ったかを示す会話のテキスト表現を生成し得る。別の例では、カメラアプリケーションは、3人以上の話者が関与するビデオ会議の一部として、能動的な話者に焦点を合わせるように可動カメラを制御するように構成され得る。カメラは、可能性のある話者の各々を同時に見ることができない場合があるため、カメラは、特定の話者が現在話していると判定したことに応答して、その特定の話者の最後の既知の位置まで回転され得る。ダイアライゼーションを利用またはダイアライゼーションに依存する他の実施形態が可能である。
【0097】
さらに、翻訳アプリケーションの識別は、単一のコンピューティングデバイスによって実行されるものとして説明されているが、いくつかの実施形態では、2つの異なるコンピューティングデバイス上で実行される翻訳アプリケーションの2つの異なるインスタンスが互いに協調して、同様の翻訳体験を提供し得る。デバイスは無線で通信できるため、各話者が自身のデバイスを使用して他の話者と会話することが可能である。
【0098】
VI. その他の例示的な動作
図7は、特定の時間に話す話者の決定に関連する動作のフローチャートを示す。動作は、他の可能性の中でもとりわけ、コンピューティングシステム100、コンピューティングデバイス200、および/またはコンピューティングデバイス342によって実行され得る。しかしながら、このプロセスは、他のタイプのデバイスまたはデバイスサブシステムによって実行することができる。例えば、このプロセスは、ラップトップまたはタブレットデバイスなどのポータブルコンピュータによって実行することができる。
【0099】
図7の実施形態は、図7に示されている特徴のうちの任意の1つまたは複数を除去することによって単純化され得る。さらに、これらの実施形態は、以前の図のいずれかの特徴、態様、および/または実施形態と組み合わせることができるか、またはそれ以外に本明細書に記載することができる。
【0100】
ブロック700は、コンピューティングデバイスが、初期時間ウィンドウの間に捕捉され、かつ第1の発話および第2の発話を表す第1の音声波形を受信することを含み得る。
ブロック702は、コンピューティングデバイスが、(i)第1の発話が第1の話者に対応すること、および(ii)第2の発話が第2の話者に対応することを示す第1のタイプの識別データを受信することを含み得る。
【0101】
ブロック704は、コンピューティングデバイスが、第1の発話、第2の発話、および第1のタイプの識別データに基づいて、第1の話者による発話と第2の話者による発話とを区別するように構成されたダイアライゼーションモデルを決定することを含み得る。
【0102】
ブロック706は、コンピューティングデバイスが、第3の発話の元話者を示す第1のタイプのさらなる識別データを受信することを含まずに、後続の時間ウィンドウ中に捕捉され、かつ第3の発話を表す第2の音声波形を受信することを含み得る。
【0103】
ブロック708は、コンピューティングデバイスが、ダイアライゼーションモデルによって、かつ第1のタイプのさらなる識別データとは無関係に、第3の発話の元話者を決定することを含み得る。元話者は、第1の話者または第2の話者であると決定され得る。
【0104】
ブロック710は、コンピューティングデバイスが、第3の発話および決定された元話者に基づいてダイアライゼーションモデルを更新することを含み得る。
いくつかの実施形態では、コンピューティングデバイスは、識別データおよび第1の音声波形を受信する前に、コンピューティングデバイスのユーザインタフェースを介して識別データの入力に関する視覚的プロンプトを表示するように構成され得る。
【0105】
いくつかの実施形態では、第2の音声波形は、さらなる識別データに関する視覚的プロンプトを表示することなく受信され得る。
いくつかの実施形態では、第1の音声波形は、第1の話者による第1の複数の発話および第2の話者による第2の複数の発話を表し得る。コンピューティングデバイスは、第1の複数の発話と第2の複数の発話とを区別する際のダイアライゼーションモデルの精度を決定するように構成され得る。コンピューティングデバイスはまた、精度が閾値精度を超えると判定し、精度が閾値精度を超えると判定することに基づいて、視覚的プロンプトをユーザインタフェースから取り除くようにユーザインタフェースを変更するように構成され得る。
【0106】
いくつかの実施形態では、視覚的プロンプトは、(i)第1の話者が初期時間ウィンドウの間に少なくとも第1の期間話すことを示し、かつ(ii)第2の話者が初期時間ウィンドウの間に少なくとも第2の期間話すことを示す指示を含み得る。第1の期間および第2の期間は、相互に排他的であり得る。識別データを受信することは、第1の期間中に第1の発話を表す第1の音声波形の第1の部分を捕捉し、第2の期間中に第2の発話を表す第1の音声波形の第2の部分を捕捉することを含み得る。
【0107】
いくつかの実施形態では、識別データを受信することは、コンピューティングデバイスにおいて、第1の音声波形とは別の第1のユーザ入力を検出することをさらに含み得る。コンピューティングデバイスは、第1のユーザ入力の検出に応答して、第1の発話を表す第1の音声波形の第1の部分の捕捉を開始するように構成され得る。
【0108】
いくつかの実施形態では、識別データを受信することは、コンピューティングデバイスにおいて、第1の音声波形とは別の第2のユーザ入力を検出することをさらに含み得る。コンピューティングデバイスは、第2のユーザ入力の検出に応答して、第2の発話を表す第1の音声波形の第2の部分の捕捉を開始するように構成され得る。
【0109】
いくつかの実施形態では、識別データを受信することは、コンピューティングデバイスのユーザインタフェースを介して、第1の話者に対応する第1のボタンの選択を受信することを含み得る。第1のボタンの選択に応答して、第1の発話を表す第1の音声波形の第1の部分が捕捉され得る。識別データを受信することは、ユーザインタフェースを介して、第2の話者に対応する第2のボタンの選択を受信することをも含み得る。第2の発話を表す第1の音声波形の第2の部分は、第2のボタンの選択に応答して捕捉され得る。
【0110】
いくつかの実施形態では、識別データを受信することは、カメラデバイスから、第1の発話を表現する第1の話者を表す第1の画像フレームを受信することを含み得る。第1の発話を表す第1の音声波形の第1の部分は、第1の発話を表現する第1の話者を表す第1の画像フレームに基づいて、第1の話者に関連付けられ得る。識別データを受信することは、カメラデバイスから、第2の発話を表現する第2の話者を表す第2の画像フレームを受信することを含み得る。第2の発話を表す第1の音声波形の第2の部分は、第2の発話を表現する第2の話者を表す第2の画像フレームに基づいて、第2の話者に関連付けられ得る。
【0111】
いくつかの実施形態では、ダイアライゼーションモデルは、(i)波形の一部を入力として受信して、(ii)波形の一部の特性を表す複数の値を含む埋め込みベクトルを生成するように構成された波形埋め込みモデルを含み得る。また、ダイアライゼーションモデルは、(i)埋め込みベクトルに基づく最近傍重心モデル、(ii)埋め込みベクトルに基づくk最近傍モデル、または(iii)埋め込みベクトルに基づくガウス型ナイーブベイズモデルのうちの1つまたは複数を含むベクトル分類モデルを含み得る。
【0112】
いくつかの実施形態では、ベクトル分類モデルは、最近傍重心モデルを含み得る。ダイアライゼーションモデルを決定することは、波形埋め込みモデルによって、第1の発話を表す第1の音声波形の個々の第1の部分に対応する第1の複数の埋め込みベクトルを生成することを含み得る。ダイアライゼーションモデルを決定することは、波形埋め込みモデルによって、第2の発話を表す第1の音声波形の個々の第2の部分に対応する第2の複数の埋め込みベクトルを生成することをも含み得る。ダイアライゼーションモデルを決定することは、(i)第1の複数の埋め込みベクトルに基づく第1の重心、および(ii)第2の複数の埋め込みベクトルに基づく第2の重心を決定することをさらに含み得る。
【0113】
いくつかの実施形態では、第3の発話の元話者を決定することは、波形埋め込みモデルによって、第3の発話を表す第2の音声波形の第3の部分に対応する第3の埋め込みベクトルを生成することを含み得る。第3の発話の元話者を決定することは、(i)第3の埋め込みベクトルと第1の重心との間の第1の距離、および(ii)第3の埋め込みベクトルと第2の重心との間の第2の距離を決定することをも含み得る。第3の発話の元話者を決定することは、第1の距離が第2の距離よりも小さいと判定すること、および第1の距離が第2の距離よりも小さいと判定することに基づいて、第1の話者が第3の発話の元話者であることを決定することをさらに含み得る。
【0114】
いくつかの実施形態では、ベクトル分類モデルは、ガウス型ナイーブベイズモデルを含み得る。ダイアライゼーションモデルを決定することは、波形埋め込みモデルによって、第1の発話を表す第1の音声波形の個々の第1の部分に対応する第1の複数の埋め込みベクトルを生成することを含み得る。ダイアライゼーションモデルを決定することは、波形埋め込みモデルによって、第2の発話を表す第1の音声波形の個々の第2の部分に対応する第2の複数の埋め込みベクトルを生成することをも含み得る。ダイアライゼーションモデルを決定することは、(i)第1の複数の埋め込みベクトルに基づいて第1の平均値および第1の標準偏差、および(ii)第2の複数の埋め込みベクトルに基づいて第2の平均値および第2の標準偏差を決定することをさらに含み得る。
【0115】
いくつかの実施形態では、第3の発話の元話者を決定することは、波形埋め込みモデルによって、第3の発話を表す第2の音声波形の第3の部分に対応する第3の埋め込みベクトルを生成することを含み得る。第3の発話の元話者を決定することは、(i)第1の平均値および第1の標準偏差に基づいて第3の埋め込みベクトルが第1の複数の埋め込みベクトルに属する第1の確率、および(ii)第2の平均値および第2の標準偏差に基づいて第3の埋め込みベクトルが第2の複数の埋め込みベクトルに属する第2の確率を決定することをも含み得る。第3の発話の元話者を決定することは、第1の確率が第2の確率よりも高いと判定すること、および第1の確率が第2の確率よりも高いと判定することに基づいて、第1の話者が第3の発話の元話者であることを決定することをさらに含み得る。
【0116】
いくつかの実施形態では、ダイアライゼーションモデルを決定することは、(i)波形埋め込みモデルによって、第1の発話を表す第1の音声波形の個々の第1の部分に対応する第1の複数の埋め込みベクトルを生成すること、および(ii)波形埋め込みモデルによって、第2の発話を表す第1の音声波形の個々の第2の部分に対応する第2の複数の埋め込みベクトル生成することを含み得る。ベクトル分類モデルは、k最近傍モデルを含み得る。第3の発話の元話者を決定することは、波形埋め込みモデルによって、第3の発話を表す第2の音声波形の第3の部分に対応する第3の埋め込みベクトルを生成することを含み得る。第3の発話の元話者を決定することは、第3の埋め込みベクトルに対して最近傍のk個の点を決定することをも含み得る。第3の発話の元話者を決定することは、k個の点の各個々の点に関して、個々の点が第1の複数の埋め込みベクトルに属するか、または第2の複数の埋め込みベクトルに属するかを決定することをさらに含み得る。第3の発話の元話者を決定することは、第1の複数の埋め込みベクトルまたは第2の複数の埋め込みベクトルに属する各個々の点に基づいて元話者を決定することをさらに含み得る。
【0117】
いくつかの実施形態では、ダイアライゼーションモデルを更新することは、第3の発話の第3の複数の埋め込みを決定すること、および第3の複数の埋め込みの少なくとも一部を含むようにベクトル分類モデルを更新することを含み得る。
【0118】
いくつかの実施形態では、ダイアライゼーションモデルを更新することは、第3の発話の元話者を決定する際のダイアライゼーションモデルの信頼度を決定すること、信頼度が閾値信頼度を超えると判定すること、および信頼度が閾値信頼度を超えると判定することに基づいてダイアライゼーションモデルを更新することを含み得る。
【0119】
いくつかの実施形態では、ダイアライゼーションモデルを形成する各発話には、モデル内で対応する重みが割り当てられ得る。ダイアライゼーションモデルを更新することは、(i)第1の発話に割り当てられた第1の重み、または(ii)第2の発話に割り当てられた第2の重みのうちの少なくとも1つよりも低い第3の重みを第3の発話に割り当てることを含み得る。
【0120】
いくつかの実施形態では、コンピューティングデバイスは、(i)第1の発話が第1の話者に対応すること、および(ii)第2の発話が第2の話者に対応することを示す第2のタイプの識別データを受信するように構成され得る。コンピューティングデバイスは、第3の発話の元話者を示す第2のタイプのさらなる識別データを受信するようにも構成され得る。コンピューティングデバイスは、第2のタイプのさらなる識別データに基づいて、ダイアライゼーションモデルによる元話者の決定を検証するようにさらに構成され得る。
【0121】
いくつかの実施形態では、第1のタイプの識別データは、コンピューティングデバイスのユーザインタフェースを介して提供される入力を表し得る。第2のタイプの識別データは、コンピューティングデバイスに接続されたカメラによって捕捉された画像データを含み得る。
【0122】
VII. 結び
本開示は、本願に記載されている特定の実施形態の観点から限定されるべきものではなく、様々な態様の例示として意図されるものである。当業者には明らかなように、本開示の範囲から逸脱することなく、多くの修正および変形を行うことが可能である。本明細書に記載されたものに加えて、本開示の範囲内の機能的に同等の方法および装置は、前述の説明から当業者には明らかであろう。そのような修正および変形は、添付の特許請求の範囲内に含まれることが意図される。
【0123】
上記の詳細な説明では、添付の図を参照しつつ、開示されたシステム、装置、および方法の様々な特徴および動作が説明されている。図では、文脈上別段の指示がない限り、同様の記号は、同様の構成要素を示す。本明細書および図面に記載されている例示的な実施形態は、限定することを意味するものではない。本明細書に提示される主題の範囲から逸脱することなく、他の実施形態を利用することができ、他の変更を行うことができる。本明細書で一般的に説明され、図面に示される本開示の態様は、多種多様な異なる構成で配置、置換、結合、分離、および設計することができることが容易に理解されるであろう。
【0124】
図面中のメッセージフロー図、場面、およびフローチャートのいずれかまたは全てに関して、および本明細書で説明するように、各ステップ、ブロック、および/または通信は、例示的な実施形態に従って、情報の処理および/または情報の送信を表すことが可能である。代替の実施形態は、これらの例示的な実施形態の範囲内に含まれる。これらの代替の実施形態では、例えば、ステップ、ブロック、送信、通信、要求、応答、および/またはメッセージとして記述された動作は、関連する機能に応じて、実質的に同時または逆の順序を含めて、図示または説明された順序とは異なって実行することができる。さらに、より多くのまたはより少ないブロックおよび/または動作を、本明細書で説明されるメッセージフロー図、場面、およびフローチャートのいずれかと共に使用することができ、これらのメッセージフロー図、場面、およびフローチャートは、一部または全部が互いに結合され得る。
【0125】
情報の処理を表すステップまたはブロックは、本明細書で説明する方法または技法の特定の論理機能を実行するように構成することができる回路に対応し得る。代替的または追加的に、情報の処理を表すブロックは、モジュール、セグメント、またはプログラムコードの一部(関連データを含む)に対応し得る。プログラムコードは、方法または技法において特定の論理演算または動作を実行するためのプロセッサによって実行可能な1つまたは複数の命令を含み得る。プログラムコードおよび/または関連データは、ランダムアクセスメモリ(RAM)を含むストレージデバイス、ディスクドライブ、ソリッドステートドライブ、または他の記憶媒体などの任意のタイプのコンピュータ可読媒体に格納され得る。
【0126】
コンピュータ可読媒体は、レジスタメモリ、プロセッサキャッシュ、およびRAMなどのデータを短期間保存するコンピュータ可読媒体などの非一時的なコンピュータ可読媒体をも含み得る。コンピュータ可読媒体は、プログラムコードおよび/またはデータをより長期間保存する非一時的なコンピュータ可読媒体をも含み得る。従って、コンピュータ可読媒体は、例えば、読み取り専用メモリ(ROM)、光または磁気ディスク、ソリッドステートドライブ、コンパクトディスク読み取り専用メモリ(CD-ROM)などの二次的または持続的な長期ストレージを含み得る。コンピュータ可読媒体は、任意の他の揮発性または不揮発性ストレージシステムでもあり得る。コンピュータ可読媒体は、例えば、コンピュータ可読記憶媒体、または有形ストレージデバイスと見なされ得る。
【0127】
さらに、1つまたは複数の情報送信を表すステップまたはブロックは、同じ物理デバイス内のソフトウェアおよび/またはハードウェアモジュール間の情報送信に対応し得る。しかしながら、他の情報送信は、異なる物理デバイス内のソフトウェアモジュールおよび/またはハードウェアモジュール間で行われ得る。
【0128】
図面に示されている特定の配置は、限定的であると見なされるべきではない。他の実施形態は、任意の図面に示される各要素をより多くまたはより少なく含み得ることを理解されたい。さらに、図示された要素のいくつかは、組み合わせるか、または省略するもとができる。さらに、例示的な実施形態は、図面に示されていない要素を含むことができる。
【0129】
様々な態様および実施形態が本明細書に開示されているが、他の態様および実施形態は当業者には明らかであろう。本明細書に開示される様々な態様および実施形態は、例示を目的とするものであり、限定することを意図するものではなく、真の範囲は、特許請求の範囲によって示される。
【0130】
例示的な実施形態が、人または人のデバイスに関連する情報を含む場合、いくつかの実施形態は、プライバシー制御を含み得る。このようなプライバシー制御は、少なくとも、デバイス識別子の匿名化、透明性、およびユーザ制御を含み得る。例えば、実施形態は、ユーザが製品のユーザの使用に関連する情報を変更または削除することを可能にする機能を含み得る。
【0131】
さらに、本明細書で説明される実施形態がユーザに関連する個人情報を収集するか、または個人情報を利用し得る状況では、ユーザには、プログラムまたは機能がユーザ情報(例えば、ユーザの生体機能、ソーシャルネットワーク、社会的行動または活動、職業、ユーザの好み、またはユーザの現在の場所に関する情報)を収集するかどうかを制御する機会が提供され得る。従って、ユーザは、本明細書で説明される任意のデータの共有をオプトアウトすることを選択し得る。
【0132】
さらに、個人を特定できる情報が削除されるように、特定のデータが保存または使用される前に1つまたは複数の方法で処理され得る。例えば、ユーザの個人を特定可能な情報がユーザに関して決定することができないようにユーザの識別が処理され得る(例えば、ユーザの顔を表す写真から)か、または、ユーザの特定の位置を決定することができないように、ユーザの地理的位置が位置情報(都市、郵便番号、または州レベルなど)が取得される場所で一般化され得る。従って、ユーザは、ユーザに関する情報がどのように収集され、本明細書で説明される実施形態のいずれかによってどのように使用されるかを制御することができる。
図1
図2
図3A
図3B
図3C
図3D
図4
図5A
図5B
図5C
図6A
図6B
図7
【国際調査報告】