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

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

▶ ザ・ジョンズ・ホプキンス・ユニバーシティの特許一覧 ▶ 株式会社日立製作所の特許一覧

特許7340630ニューラルネットワークを使用した音声入力の複数話者ダイアライゼーション
<>
  • 特許-ニューラルネットワークを使用した音声入力の複数話者ダイアライゼーション 図1
  • 特許-ニューラルネットワークを使用した音声入力の複数話者ダイアライゼーション 図2
  • 特許-ニューラルネットワークを使用した音声入力の複数話者ダイアライゼーション 図3
  • 特許-ニューラルネットワークを使用した音声入力の複数話者ダイアライゼーション 図4
  • 特許-ニューラルネットワークを使用した音声入力の複数話者ダイアライゼーション 図5
  • 特許-ニューラルネットワークを使用した音声入力の複数話者ダイアライゼーション 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-08-30
(45)【発行日】2023-09-07
(54)【発明の名称】ニューラルネットワークを使用した音声入力の複数話者ダイアライゼーション
(51)【国際特許分類】
   G10L 17/18 20130101AFI20230831BHJP
   G10L 17/00 20130101ALI20230831BHJP
【FI】
G10L17/18
G10L17/00 200C
【請求項の数】 15
(21)【出願番号】P 2021575505
(86)(22)【出願日】2020-08-31
(65)【公表番号】
(43)【公表日】2022-09-26
(86)【国際出願番号】 US2020048730
(87)【国際公開番号】W WO2021045990
(87)【国際公開日】2021-03-11
【審査請求日】2022-01-24
(31)【優先権主張番号】62/896,392
(32)【優先日】2019-09-05
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】501335771
【氏名又は名称】ザ・ジョンズ・ホプキンス・ユニバーシティ
(73)【特許権者】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】100147485
【弁理士】
【氏名又は名称】杉村 憲司
(74)【代理人】
【識別番号】230118913
【弁護士】
【氏名又は名称】杉村 光嗣
(74)【代理人】
【識別番号】100195534
【弁理士】
【氏名又は名称】内海 一成
(72)【発明者】
【氏名】藤田 雄介
(72)【発明者】
【氏名】渡部 晋治
(72)【発明者】
【氏名】神田 直之
(72)【発明者】
【氏名】堀口 翔太
【審査官】大野 弘
(56)【参考文献】
【文献】米国特許出願公開第2018/0254040(US,A1)
【文献】特開2004-145161(JP,A)
【文献】特開2010-175614(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G10L 17/18
G10L 17/00
(57)【特許請求の範囲】
【請求項1】
デバイスによって、音声入力の一部分を受信するステップであって、
前記音声入力は複数の話者に関連付けられた音声に対応する、ステップと、
前記デバイスによって、ニューラルネットワークを使って、前記音声入力の一部分を処理し、前記音声入力の一部分中の複数の話者の音声活動を決定するステップであって、
前記ニューラルネットワークは、参照音声データと該参照音声データに対応する参照ダイアライゼーションデータを使ってトレーニングされ、前記参照ダイアライゼーションデータは前記参照音声データのタイミングに対する個々の参照話者の音声活動に関連するタイミングを示す、ステップと、
前記デバイスによって、前記音声入力の一部分を処理するために使用されるニューラルネットワークに基づいて、前記音声入力の一部分に関連するダイアライゼーション出力を決定するステップであって、
前記ダイアライゼーション出力は、前記複数の話者の個々の音声活動を示す、ステップと、
前記デバイスによって、前記ダイアライゼーション出力を提供して前記音声入力の一部分中の複数の話者の個々の音声活動を表示する、ステップと、
を含む方法。
【請求項2】
前記音声入力の一部分を処理するステップは、前記ニューラルネットワークのトレーニングによって、
前記複数の話者の音声活動の順列を決定し、
前記複数の話者の音声活動の順列の損失分析を実行し、
前記ダイアライゼーション出力は、前記損失分析に従って、しきい順列不変損失値を満たす順列として決定される、請求項1に記載の方法。
【請求項3】
前記ニューラルネットワークの前記参照ダイアライゼーションデータが、前記ニューラルネットワークを複数の参照音声サンプルの順列不変分析に基づいてトレーニングするために選択される、請求項1に記載の方法。
【請求項4】
前記ダイアライゼーション出力を決定するとき、前記順列不変分析が前記ニューラルネットワークに順列不変損失を低減させ、
前記順列不変損失は、前記ニューラルネットワークに前記複数の話者の音声活動の順列から前記ダイアライゼーション出力を選択させることによって低減される、請求項3に記載の方法。
【請求項5】
前記音声入力の一部分が音声入力の第1の部分であり、前記ダイアライゼーション出力が第1のダイアライゼーション出力であり、前記ニューラルネットワークが第1のニューラルネットワークである、請求項1に記載の方法において、
該方法は更に、
前記音声入力の第2の部分を受信するステップと、
第2のニューラルネットワークを使って、前記音声入力の第2の部分を処理して、前記音声入力の第2の部分中の複数の話者の音声活動を決定するステップと、
前記音声入力の第2の部分を処理するために使用されている前記第2のニューラルネットワークに基づいて、前記音声入力の第2の部分に関連する第2のダイアライゼーション出力を決定するステップと、
前記音声入力の第2の部分中の複数の話者の個々の音声活動を示すために前記第2のダイアライゼーション出力を提供するステップと、
を含む、方法。
【請求項6】
前記第1のニューラルネットワークおよび前記第2のニューラルネットワークは、同じニューラルネットワークの個別のインスタンスである、請求項5に記載の方法。
【請求項7】
1つまたは複数のメモリと、
前記1つまたは複数のメモリに通信可能に結合された1つまたは複数のプロセッサと、を含むデバイスであって、
音声入力の一部分を受信し、
ここで、前記音声入力は複数の話者に関連する音声に対応するものであり、
ニューラルネットワークを使って、前記音声入力の一部分を処理して、前記音声入力の一部分中の複数の話者の音声活動を決定し、
ここで、前記ニューラルネットワークは、参照音声データと該参照音声データに対応する参照ダイアライゼーションデータを使ってトレーニングされ、前記参照ダイアライゼーションデータは前記参照音声データのタイミングに対する個々の参照話者の音声活動に関連するタイミングを示すものであり、
前記音声入力の一部分を処理するために使用されている前記ニューラルネットワークに基づいて、前記音声入力の一部分に関連するダイアライゼーション出力を決定し、
ここで、前記ダイアライゼーション出力は、前記複数の話者の個々の音声活動を示すものであり、そして
前記ダイアライゼーション出力を提供して前記音声入力の一部分中の複数の話者の個々の音声活動を表示する、
ように構成されている、デバイス。
【請求項8】
前記1つまたは複数のプロセッサは、前記音声入力の一部を処理するときに、前記ニューラルネットワークのトレーニングによって、
前記複数の話者の音声活動の順列を決定し、
前記複数の話者の音声活動の順列のクロスエントロピー分析を実行し、ここで、前記ダイアライゼーション出力が、前記クロスエントロピー分析に従って、しきい順列不変損失値を満たす順列として決定される、
ように構成されている、請求項7に記載のデバイス。
【請求項9】
前記ニューラルネットワークの前記参照音声データが、複数の参照音声サンプルの順列不変分析に基づいてニューラルネットワークをトレーニングするために選択される、請求項7に記載のデバイス。
【請求項10】
前記ダイアライゼーション出力は、前記複数の話者のうちの2人以上が、前記音声入力の一部分中に同時にアクティブに話していることを示す、請求項7に記載のデバイス。
【請求項11】
前記音声入力は音声ストリームを含み、
前記ダイアライゼーション出力が前記音声ストリームの一部分のストリーミング再生に関連してリアルタイムで提供される、
請求項7に記載のデバイス。
【請求項12】
前記ニューラルネットワークは、
リカレントニューラルネットワーク、または
長短期記憶ニューラルネットワーク、
を含む、請求項7に記載のデバイス。
【請求項13】
前記1つまたは複数のプロセッサは、さらに
前記ダイアライゼーション出力を前記音声入力と同期して注釈付き音声出力を生成するように構成され、
前記ダイアライゼーション出力が前記注釈付き音声出力内に与えられる、
請求項7に記載のデバイス。
【請求項14】
前記注釈付き音声出力は、前記複数の話者のうちの1人以上が前記音声入力の一部分に関連するアクティブな話者として識別可能にする、請求項13に記載の装置。
【請求項15】
プログラムを格納する非一時的コンピュータ可読媒体であって、前記プログラムは、1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに、
音声入力を受信させ、ここで、前記音声入力は複数の話者に関連する音声に対応するものであり、
ニューラルネットワークを使って、前記音声入力の一部分を処理して前記音声入力の一部分中の前記複数の話者の音声活動を決定させ、ここで、前記ニューラルネットワークは参照音声データと該参照音声データに対応する参照ダイアライゼーションデータを使ってトレーニングされ、前記参照ダイアライゼーションデータは前記参照音声データのタイミングに対する個々の参照話者の音声活動に関連するタイミングを示すものであり、
前記音声入力の一部分を処理するために使われている前記ニューラルネットワークに基づいて、前記音声入力の一部分に関連するダイアライゼーション出力を決定させ、ここで、前記ダイアライゼーション出力は前記複数の話者の個々の音声活動を示すものであり、そして
前記ダイアライゼーション出力を提供して前記音声入力の一部分中の複数の話者の個々の音声活動を表示させる、
1つまたは複数の命令を含む、非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【関連出願の相互参照】
【0001】
この特許出願は、2019年9月5日に出願された「ニューラルネットワークを使用した音声入力の複数話者ダイアラライゼーション」と題する米国特許出願第62/896,392号の優先権を主張するものである。その先出願の開示は、本特許出願の一部と見なされ、参照により本特許出願に組み込まれる。
【背景技術】
【0002】
自動音声認識(ASR)は、音声信号中の音声言語を認識すること、および/またはテキストデータへ変換すること(例えば、スピーチツーテキスト(STT))を可能にする。ASRは、ユーザがデバイス(例えば、コンピュータ、スマートフォン、仮想アシスタントなどのようなユーザデバイス)の1つまたは複数の機能の制御を可能にするために使用することができる。例えば、デバイスは、音声入力としてユーザからの音声を検出し、(例えば、自然言語処理(NLP)を使用して)音声に関連付けられたコマンドを決定し、コマンドに対応するアクションを実行するためにASR技術を実装することができる。
【発明の概要】
【0003】
いくつかの実施形態による方法は、デバイスによって、音声入力の一部分を受信するステップであって、前記音声入力は複数の話者に関連付けられた音声に対応する、ステップと、前記デバイスによって、ニューラルネットワークを使って、前記音声入力の一部分を処理し、前記音声入力の一部分中の複数の話者の音声活動を決定するステップであって、前記ニューラルネットワークは、参照音声データと該参照音声データに対応する参照ダイアライゼーションデータを使ってトレーニングされ、前記参照ダイアライゼーションデータは前記参照音声データのタイミングに対する個々の参照話者の音声活動に関連するタイミングを示す、ステップと、前記デバイスによって、前記音声入力の一部分を処理するために使用されるニューラルネットワークに基づいて、前記音声入力の一部分に関連するダイアライゼーション出力を決定するステップであって、前記ダイアライゼーション出力は、前記複数の話者の個々の音声活動を示す、ステップと、前記デバイスによって、前記ダイアライゼーション出力を提供して前記音声入力の一部分中の複数の話者の個々の音声活動を提示する、ステップと、を含む。
【0004】
いくつかの実施形態によるデバイスは、1つまたは複数のメモリと、該1つまたは複数のメモリに通信可能に結合された1つまたは複数のプロセッサとを含み、音声入力の一部分を受信し、ここで、前記音声入力は複数の話者に関連する音声に対応するものであり、ニューラルネットワークを使って、前記音声入力の一部分を処理して、前記音声入力の一部分中の複数の話者の音声活動を決定し、ここで、前記ニューラルネットワークは、参照音声データと該参照音声データに対応する参照ダイアライゼーションデータを使ってトレーニングされ、前記参照ダイアライゼーションデータは前記参照音声データのタイミングに対する個々の参照話者の音声活動に関連するタイミングを示すものであり、前記音声入力の一部分を処理するために使用されている前記ニューラルネットワークに基づいて、前記音声入力の一部分に関連するダイアライゼーション出力を決定し、ここで、前記ダイアライゼーション出力は、前記複数の話者の個々の音声活動を示すものであり、そして、前記ダイアライゼーション出力を提供して前記音声入力の一部分中の複数の話者の個々の音声活動を表示する。
【0005】
いくつかの実施形態による非一時的なコンピュータ可読媒体は、1つまたは複数の命令を格納することができる。前記1つまたは複数の命令は、1つまたは複数のプロセッサによって実行されると、前記1つまたは複数のプロセッサに、音声入力の一部分を受信させ、ここで、前記音声入力は複数の話者に関連する音声に対応するものであり、ニューラルネットワークを使って、前記音声入力の一部分を処理して前記音声入力の一部分中の前記複数の話者の音声活動を決定させ、ここで、前記ニューラルネットワークは参照音声データと該参照音声データに対応する参照ダイアライゼーションデータを使ってトレーニングされ、前記参照ダイアリゼーションデータは前記参照音声データのタイミングに対する個々の参照話者の音声活動に関連するタイミングを示すものであり、前記音声入力の一部分を処理するために使われている前記ニューラルネットワークに基づいて、前記音声入力の一部分に関連するダイアライゼーション出力を決定させ、ここで、前記ダイアライゼーション出力は前記複数の話者の個々の音声活動を示すものであり、そして、前記ダイアリゼーション出力を提供して前記音声入力の一部分中の複数の話者の個々の音声活動を提示させる。
【図面の簡単な説明】
【0006】
図1】本明細書に記載の例示的な実施形態の図である。
図2図1の例示的な実施形態で実装可能なニューラルネットワークの例示的なアーキテクチャの図である。
図3】本明細書に記載の例示的な実施形態の図である。
図4】本明細書に記載のシステムおよび/または方法を実装可能な例示的な環境の図である。
図5図2の1つまたは複数のデバイスの例示的なコンポーネントの図である。
図6】ニューラルネットワークを使用した音声入力の複数話者ダイアライゼーションに関連する例示的なプロセスのフローチャートである。
【発明を実施するための形態】
【0007】
例示的な実施形態の以下の詳細な説明は、添付の図面を参照するものである。異なる図面の同じ参照番号は、同じまたは類似の要素を示し得る。
【0008】
場合により、自動音声認識(ASR)は、音声入力(例えば、音声ファイル、音声ストリームなど)における話者の音声活動を検出および/または識別するために使用することができる。ASRを含む従来の技術は、音声活動検出(例えば、音声が音声入力に存在するかどうかを検出する)、話者認識(例えば、特定の話者の検出された音声の特性によって特定の話者を識別する)、スピーチツーテキスト(STT)分析などの実行を含み得る。ただし、ASRを含む従来の技術では、複数の話者を含む音声入力における個々の音声活動の識別に関して、より具体的には、重複する音声(複数の話者が同時に話しているなど)が音声入力に存在する場合、パフォーマンスが低下する可能性がある。従来の技術は、個々の音声を音声入力から分離するための複雑なプロセス(たとえば、最小分散不偏応答プロセス)の実行、個々の話者の識別(たとえば、複数の話者の個々の音声活動に関連する特定の特性の分析による)などを含む可能性があり、そのような複雑なプロセスは、複数の話者を含む音声活動に対して最適化されていないために依然として不正確であり、計算集約的であり、および/または比較的長い時間を要する可能性がある(例えば、個々の話者のリアルタイム検出が妨げられる)。
【0009】
本明細書に記載のいくつかの実施形態によれば、音声分析プラットフォームは、ニューラルネットワーク(本明細書では「ダイアライゼーションニューラルネットワーク」または「DNN」と称することもある)を使用して音声入力を処理し、話者ダイアライゼーションを介して個々の音声活動を決定することができる。例えば、ニューラルネットワークは、参照音声データと該参照音声入力の話者の個々の音声活動を示す参照ダイアライゼーションデータに従ってトレーニングすることができる。いくつかの実施形態では、参照音声データは、以前受信した音声入力とし得る。いくつかの実施形態では、音声分析プラットフォームは、音声入力の一部分を受け取り、ニューラルネットワークを使用して音声入力の一部分を処理し、音声入力の該部分に対して(例えば、音声入力の音声に関連する)ダイアライゼーション出力を決定し、該音声入力の一部分で話している複数の話者の個々の音声活動を示すダイアライゼーション出力を提供することができる。このように、音声入力(および/または音声入力の一部分)のダイアライゼーションを使用して、音声分析プラットフォームは、従来使用されている複雑なプロセスと比較して、より正確に個々の音声活動を決定し、音声入力から音声を分離し、音声の特性(例えば、ピッチ、トーン、周波数、波長等)等に基づいて個々の話者アイデンティティを認識することができる。さらに、音声分析プラットフォームは、従来の技術と比較して処理時間を向上させ、音声入力のリアルタイムまたはほぼリアルタイムの処理および分析を可能にすることができる(これは、ライブ音声ストリームなどの音声入力にアクセスしている間の注釈付き音声出力(クローズドキャプションなど)の受信および/または表示に関連するユーザ体験を向上させることができる)。
【0010】
図1は、本明細書に記載の例示的な実施形態100の図である。例示的な実施形態100は、ダイアライゼーションニューラルネットワーク(DNN)を備えた音声分析プラットフォームを含む。例示的な実施形態100に関連して図示され、説明されるように、DNNは、参照音声データと参照ダイアライゼーションデータを使用してトレーニングされ得る。本明細書で説明されるように、音声分析プラットフォームは、N人の話者(本明細書では個別に「話者」と呼び、集合的に「複数の話者」と言い、図1では「話者1」から「話者N」として示され、ここでN≧1)からの音声を含む音声入力を受信し、DNNを使用して音声入力を処理し、音声入力の一部分に対して一人または複数の話者の個々の音声活動を決定し、音声入力の対応部分でどの話者がアクティブに話しているかを示す対応ダイアライゼーション出力を提供する。DNNは、リカレントニューラルネットワーク(RNN)、長短期記憶(LSTM)ニューラルネットワークとすることができる。
【0011】
図1に参照番号110で示されるように、DNNは、参照音声サンプルを使用してトレーニングされる。例えば、音声分析プラットフォームは、参照音声データと該音声データに対応する参照ダイアライゼーションデータを含む参照音声サンプルを使用してDNNをトレーニングすることができる。本明細書で使用される場合、「ダイアライゼーション」(および/または「話者ダイアライゼーション」)は、音声(または音声入力)のそれぞれの部分中の1人または複数の話者の音声活動を示すものである。参照音声サンプルは、以前分析された音声、複数の同時話者のダイアライゼーションを含む既知の話者のダイアライゼーションを有する参照会話などに対応するものとしてよい。同様に、参照音声データは、参照音声サンプルを表すものとしてよく、参照ダイアライゼーションデータは、参照音声データのダイアライゼーション情報に対応するものとしてもよい。ダイアライゼーション情報は、参照音声サンプルの個々の参照話者の音声活動を示すものとしてもよい。言い換えれば、特定の音声サンプル(および/または音声サンプルの特定の部分)のダイアライゼーションデータは、複数の参照話者のどの参照話者が音声サンプルで(または音声サンプルの特定の部分中)に話しているかを示すものとし得る。
【0012】
いくつかの実施形態によれば、DNNは、順列不変の損失値を(例えば、順列の交差エントロピー計算に従って)低減するようにトレーニングされる。このような場合、DNNは、最小損失値である順列を選択することによってトレーニングされ得る。順列不変の損失値は、他のすべての残りの順列に対して計算された他のすべての残りの損失値よりも小さい値に対応する。このように、DNNは、音声の一部分について分析された順列に対して計算されたすべての値の比較的低い損失値および/または最小損失値を有する参照ダイアライゼーション情報のために分析された順列を選択するようにトレーニングされ得る。さらに、いくつかの実施形態によれば、分析され選択された順列は、(例えば、1つまたは複数のLSTM層を使用して)ニューラルネットワークにフィードバックされ得る。このように、ニューラルネットワークのトレーニングのためにニューラルネットワークの参照ダイアライゼーション情報が複数の参照ダイアライゼーション情報の順列不変分析に基づいて選択される。
【0013】
ダイアライゼーションを提供するために、DNNは、1つまたは複数の音声サンプルに対して1つまたは複数のトレーニング用のダイアライゼーションを使用してトレーニングされることによって構成され得る。1つまたは複数の音声サンプルのトレーニング用ダイアライゼーションは、音声入力の対応する部分中にどの話者(および/またはどの話者の確率)がアクティブに話していたかを示す様々な音声活動ラベルに対応し得る。さらにまたは代わりに、トレーニング用ダイアライゼーションは、音声入力の音声活動ラベルの順列に対応し、例示的な実施形態100ではこの順列をDNNにより処理して話者の個々の音声活動を表す音声活動ラベルを決定することができる。
【0014】
いくつかの実施形態では、参照音声データおよび/または参照ダイアライゼーションデータは、分析中の音声入力の以前分析された部分および/または注釈が付された部分に対応する。例えば、音声入力の第1の部分の音声データおよび音声入力の第1の部分に対して決定されたダイアライゼーションデータは、音声入力の第2の部分(例えば、音声入力の第1の部分の後に順に受信される音声入力の部分)の音声活動を決定するようにDNNをトレーニングするために、参照音声データおよび参照ダイアライゼーションデータとしてDNNにフィードバックし得る。このようにして、DNNは、音声入力の一部分を処理しながらリアルタイムでトレーニングされ、DNNが音声入力の話者の個々の音声活動の決定および/または提供に関する精度(例えば、DERに対応)を改善することができる。
【0015】
DNNは、参照音声データおよび対応するダイアライゼーションデータをDNNに提供すことを含む教師ありトレーニング手順を使用してトレーニングすることができる。そのような場合、参照音声データおよび/または参照ダイアライゼーションデータは、ユーザによって生成および/またはユーザから提供することができ、および/または1つまたは複数の音声サンプルの監視および/または分析に関連付けることができる。いくつかの実施形態では、DNNは、複数の参照音声サンプルを自動的に分析および/または処理すること、参照音声サンプルの参照ダイアライゼーションを決定すること(例えば、DNNおよび/または1つまたは複数の他のASR技術を使用して)、および参照音声サンプルおよび/または決定された参照ダイアライゼーションの分析においてDNNの精度に基づいてDNNのノードに相応の重みを付けすることを含む教師なしトレーニング手順を使用してトレーニングすることができる。さらにまたは代わりに、DNNは、人工ニューラルネットワーク処理技術を使用して(たとえば、RNN、LSTMニューラルネットワークなどを使用して)、音声サンプルのダイアライゼーションが最小DERを提供するかどうかのパターンに関してパターン認識を実行するようトレーニングすることもできる。
【0016】
このようにして、音声分析プラットフォームは、DNNをトレーニングして、DNNを音声入力に関連する複数の話者(または多数の話者)の個々の音声活動を決定するように構成することができる。
【0017】
図1に参照番号120によってさらに示されるように、音声分析プラットフォームは、音声入力を受信する。例えば、音声入力は、(例えば、電話会議アプリケーション、音声通話アプリケーション、マルチメディアストリーミングアプリケーション、会議アプリケーションなどを介して記録および/またはストリーミングされる)N人の話者間の会話、N人の話者間の電話会議を表す信号および/または音声データ(例えば、音声ファイル、音声ストリームなど)を含み得る。本明細書で説明するように、音声入力が音声ストリームである場合、音声入力は、その音声入力の再生に必要とされるよりも長い期間音声を(例えば、ストレージリソースを使用して)保存することなく継続的に再生するエンドポイント(例えば、ユーザデバイス)に配信され得る。
【0018】
このように、音声分析プラットフォームは、音声入力を受信して、音声分析プラットフォームがDNNを使用して音声入力を処理することを可能にし得る。
【0019】
図1に参照番号130でさらに示されるように、音声分析プラットフォームは、DNNを使用して音声入力を処理する。例えば、音声分析プラットフォームは、DNNに音声入力のフレームのセット(本明細書では「部分」と呼ばれる)を繰り返し入力し、DNNがフレームのセットに対応する音声活動(例えば、話者のダイアライゼーション)を示すことができる。本明細書で説明するように、フレームは、0.008秒などの音声(または音声信号)のスライスに対応し得る(したがって、64秒の間隔は、8000フレームを含み得る)。 DNNは、(例えば、精度(DERなど)、処理速度、コンピューティングリソース要件等のような1つ以上の性能基準に基づいて)音声の部分が特定のフレーム数に対応するように調整することができる。
【0020】
いくつかの実施形態では、音声入力の部分を処理するために、DNNは、音声活動の順列を決定することができる(例えば、音声入力および/または音声サンプル内のどの話者が話しているかの可能なバリエーション)。たとえば、本明細書で説明されるように、音声入力が2人の話者に関連する場合(たとえば、音声入力が2人の別々の話者からの音声を含む)場合、音声の部分中の音声活動の順列(音声が音声部分で検出されるとき)は、2人の話者の最初の話者が話している、2人の話者の2番目の話者が話している、または両方の話者が話している可能性がある。話者の数が増えると、順列の数は(たとえば、話者の数の階乗に応じて)増える。たとえば、N = 2の場合、2!の順列があり得、 N = 3の場合、3!の順列があり得、N = 4の場合、4!の順列があり得、以下同様である。
【0021】
いくつかの実施形態によれば、音声分析プラットフォームは、音声出力に関連する話者の数を決定して、音声出力の一部分の音声活動の順列を決定することができる。たとえば、音声分析プラットフォームは、音声入力の一部分に含まれる話者の数を識別する情報を受信することができる。さらに、または代わりに、音声分析プラットフォームは、(例えば、音声入力を分析する前処理および/または較正段階中に)音声入力内の話者の数を自動的に決定することができる。その場合には、音声分析プラットフォームは、1つまたは複数の処理技術を使用して、音声入力内の別個の音声の識別可能な特徴を識別することができる。いくつかの実施形態では、音声分析プラットフォームは、DNNを使用して、音声入力内の話者の数を決定することができる。たとえば、DNNは、しきい値DER(たとえば、話者の可能性度を識別するための較正しきい値に対応するしきい値DER)を満たすダイアライゼーション出力が音声入力のしきい持続時間(例えば、音声入力の一部分のしきい量)にわたって決定されるまで、話者の可能性度に従って分析を調整することができる。
【0022】
このようにして、音声分析プラットフォームは、音声入力を処理して、音声入力の一部分について音声活動を示すおよび/または音声活動ラベルに対応するダイアライゼーション出力(またはダイアライゼーション出力ストリーム)を決定する(例えば、どの話者がアクティブに話しているかを示す)ことができる。
【0023】
図1に参照番号140でさらに示されるように、音声分析プラットフォームは、話者ダイアライゼーションの注釈付き音声を提供する。たとえば、音声分析プラットフォームは、複数の話者(たとえば、話者1から話者N)のどの話者が音声の特定の部分で現在話しているかを識別する注釈(たとえば、音声活動ラベル)を生成することができる。例えば、例示的な実施形態100に示されるように、話者1と話者3が、図1に示される音声の一部分中にアクティブに会話している。音声分析プラットフォームは、ここで説明されるように、DNNを使用して、音声入力のその部分に対して、話者1と話者3が音声入力のその部分の間アクティブに話していることを示すダイアライゼーション出力を決定し、提供することができる。
【0024】
いくつかの実施形態によれば、注釈付き音声出力は、アクティブな話者を識別するダイアライゼーション出力を含み得る。たとえば、音声分析プラットフォームは、音声入力と関連する潜在的な話者に識別子を割り当てることができる。識別子は、一般的な識別子(例えば、「話者1」、「話者2」、「話者3」など)であり得る。さらにまたは代わりに、話者の固有のアイデンティティ(例えば、名前、肩書きなど)が音声分析プラットフォームに知られている場合、音声分析プラットフォームは、話者の固有のアイデンティティに対応する固有の識別子(例えば、話者の名前、話者の肩書きなど)を使用することができる。例えば、話者の固有のアイデンティティは、ユーザ入力(例えば、較正段階中にどの話者が誰であるかを識別するユーザ入力)に基づいて、音声入力から学習する音声分析プラットフォームに基づいて(例えば、自らおよび/または互に識別する話者を検出する自然言語処理技術を使用する)、話者のアイデンティティにマッピングされている話者の声の特性などに基づいて、入力音声分析プラットフォームに知らせることができ。
【0025】
図1の例に示されるように、音声入力は、話者1からの音声と話者3からの音声を含む。したがって、示されるように、注釈付き音声出力は音声を再生し、図示の注釈(ダイアライゼーション出力のストリームに対応する)を介して、音声入力の再生中に話者1が話しているときと、音声入力の再生中に話者3が話しているときを提示することができる。示されるように、音声入力には重複する音声を含む部分がある(音声入力中に話者1と話者3の両方が話していることが示されている)。これに準じて、本明細書に記載のDNNを使用することによって、音声分析プラットフォームは、それらの部分中に、話者1と話者3の両方が話していることを示すことができる。
【0026】
いくつかの実施形態によれば、音声分析プラットフォームは、音声入力を音声ストリームとして受信し、本明細書に記載されるように音声入力を処理し、注釈付き音声出力を(出力ストリームとして)ユーザデバイスに提供(またはストリーミング)して、ユーザデバイスが注釈付き音声出力を再生することを可能にし得る。そのような場合、注釈付き音声出力は、音声入力の対応する部分のダイアライゼーション出力を含むダイアライゼーション出力ストリームを提供することに関連して、ユーザデバイスが音声入力の音声を聴覚的に再生することを可能にし得る。このように、注釈付き音声出力は、ダイアライゼーション出力とともに、ユーザデバイスが、ユーザインターフェース(例えば、ディスプレイ)を介して音声の音声活動を視覚的に提示すること、音声の再生などに関連して(例えば、音声を再生する話者を介して)音声活動をアナウンスすること、などを可能にし得る。
【0027】
このようにして、音声分析プラットフォームは、(例えば、ユーザのユーザデバイスを介して)音声入力が再生されている間、ダイアライゼーション出力および/または注釈付き音声出力を生成および/または提供して、どの話者が話しているかをユーザが識別することを可能にする。
【0028】
上に示したように、図1は、単に1つまたは複数の例として提示されているにすぎない。他の例は、図1に関して説明されているものから相違するものとし得る。
【0029】
図2は、図1の例示的な実施形態で実装され得るニューラルネットワーク200の例示的なアーキテクチャの図である。例えば、ニューラルネットワーク200は、図1のDNNに対応し得る。
【0030】
ニューラルネットワーク200は、時間「T」および話者の人数「C」を識別するマルチ話者音声活動検出器(VAD)を含む。時間Tは、音声入力の瞬間および/または部分に対応し得る。したがって、音声入力が受信されると、VADは、音声が検出されたかどうかを決定することができる。音声活動が検出されると、ニューラルネットワークは音声活動に関連付けられた可能な話者の順列を決定し、音声入力に関連付けられた可能な活動話者の順列に対応する音声活動ラベル(たとえば、「ラベル1」から「ラベルM」として示され、Mは順列の数量に対応する)を指定する。
【0031】
一例として、図2の場合、話者の数量Cが4である場合、ニューラルネットワーク200は、順列について24の音声活動ラベル(M = 4!= 24)を決定することができる。各音声活動ラベルはバイナリラベルとすることができ、「1」は話者が話していることを表し、「0」は話者が話していないことを表す。このような場合、[1、0、0、0]は話者1が話していることを表し、[0、1、0、0]は話者2が話していることを表し、[0、0、1、0]は話者3が話していることを表し、および[0、0、0、1]は話者4が話していることを表し得る。さらに、音声出力の期間中の重複する音声は、複数の1を含むラベルで表すことができる。たとえば、[1、0、1、0]は話者1と話者3の両方のアクティブな音声活動を表し、[0、1、1、0]は話者2と話者3の両方のアクティブな音声活動を表し、[0、0、1、1]は、話者3と話者4の両方のアクティブな音声活動を表し得る。本明細書で説明されるように、ダイアライゼーション出力は、ニューラルネットワーク200の音声活動ラベルの1つまたは複数の順列に対応し得る。
【0032】
本明細書で説明されるように、ニューラルネットワーク200は、順列のクロスエントロピー分析に入力されるニューラルネットワークトレーニングを使ってトレーニングすることができる。ニューラルネットワークトレーニングは、複数の参照音声データと参照ダイアライゼーションデータを対応させることができる。ニューラルネットワークトレーニングは、参照音声データの量、参照音声データの特性、参照音声データに対応する参照ダイアライゼーションデータの特性などを決定する特定のパラメータを調整することによって調整することができる。例えば、ニューラルネットワークトレーニングは、ニューラルネットワーク200のLSTM層の量、分析すべき音声入力および/または参照音声データの一部分の持続時間(またはフレームの量)、ニューラルネットワーク200のいくつかの隠しユニット等を調整するために調整可能であり得る。さらに、または代わりに、ニューラルネットワークトレーニングは、時間Tおよびニューラルネットワーク200の参照音声データの高速フーリエ変換(FFT)ビンの量に応じて、シグモイド(または他のタイプのスカッシング関数)、線形変換、短時間フーリエ変換(STFT)などの複数の関数を含み得る。
【0033】
いくつかの実施形態では、ニューラルネットワーク200をトレーニングするために使用される参照音声データおよび参照ダイアライゼーションデータは、本明細書で説明されるように、ニューラルネットワーク200により分析されている音声入力のごく最近分析された部分に対応する。例えば、参照音声データは、直近の期間(例えば、直近の64秒、直近の120秒など)および/またはごく最近受信されたフレームのセット(例えば、音声入力の最新の8000フレーム、最新の12,000フレームなど)に対応し得る。このようにして、ニューラルネットワーク200は、分析している特定の音声入力に従ってトレーニングされ得る。いくつかの実施形態では、音声入力の初期期間(例えば、上記の最新の期間に対応する初期期間または最新のフレーム数に対応する初期フレーム数に対応する期間)の間、ニューラルネットワークは、参照音声データおよび他の参照音声サンプル(例えば、以前に録音および/またはダイアライズされた音声)からの対応するダイアライゼーションデータを使用して、ニューラルネットワーク200を他の参照音声サンプルを使用する話者に較正(または適応)させることができる。
【0034】
音声入力を処理するために、ニューラルネットワーク200は、ニューラルネットワークトレーニングを使用して、各順列のクロスエントロピー分析を実行することができる。クロスエントロピー分析は、順列の順列不変損失値を低減および/または最小化するように構成することができる。したがって、順列のクロスエントロピー分析に基づいて、ニューラルネットワーク200は、順列不変損失値の閾値(例えば、順列に対して計算された最低値であることに対応する閾値、順列などに対して計算された値の最低パーセンテージ内にあることに対応する閾値等)を満たす順列を選択することができる。このようにして、ニューラルネットワーク200は、順列不変損失を低減または最小化するようにトレーニングすることができる。
【0035】
さらに、示されているように、注釈付き音声出力のラベルは、順列不変損失閾値を満たす順列に対応し、したがって、分析中の音声の部分中にどの話者がアクティブに話している可能性が最も高いかを示す。たとえば、順列[1、0、1、0]が順列不変損失閾値を満たした(および/または最小順列不変損失値を提供した)順列に対応する場合、注釈付き音声のラベルは話者1と話者3が音声入力の部分中にアクティブに話していたこと(および/または重複する音声発話であったこと)を示す。
【0036】
上記のように、図2は、単に1つまたは複数の例として提示されているにすぎない。他の例は、図2に関して説明されているものとは相違するものとし得る。
【0037】
図3は、本明細書で説明される例示的な実施形態300の図である。例示的な実施形態300では、音声分析プラットフォームは、DNNの複数のインスタンスを含む(DNN-1~DNN-Zとして示され、ここで、Zは、DNNのインスタンスの量に対応する)。 DNN-1~DNN-Zは、同じDNN(たとえば、同じ参照音声データと同じ参照ダイアライゼーションデータを使ってトレーニングされるおよび/または構成されるDNN)に対応し得る。いくつかの実施形態によれば、音声分析プラットフォームは、限定された数量のコンピューティングリソースを有するものとすることができ、および/またはDNNは、音声入力の一部分のダイアライゼーション出力を決定するために、(例えば、比較的大量のLSTM層、比較的大量の参照音声データおよび参照ダイアライゼーションデータなどのために)比較的長い期間を必要とするように構成することができる。そのような場合、音声分析プラットフォームは、DNNの複数のインスタンスを実装および/または使用して、DNNの複数のインスタンスが音声入力の異なる部分を処理できるようにすることができる。
【0038】
例えば、示されているように、第1のインスタンスDNN-1と第2のインスタンスDNN-2が音声入力の部分を交互に処理して音声入力の部分を処理するために必要とされる全時間量を短縮することができる。より具体的には、DNN-1とDNN-2は、(時々)音声入力の部分を同時に処理して、全時間量を短縮することができる。そのような例では、DNN-1によって処理される第1の部分は、DNN?2によって処理される第2の部分と同じフレームのセットを含み得る。本明細書で説明されるように、音声入力は、音声ストリームに対応し、その音声ストリームは、(例えば、ライブ会話、ライブ会議、ライブニュースキャスト、ライブスポーツイベントなどのライブイベントに対応する)ライブ音声ストリームであり得る。このような場合、音声が(たとえば、業界標準に関連してリアルタイムまたはほぼリアルタイムで)再生されているときにライブ音声ストリームに関連するダイアライゼーション出力(たとえば、注釈および/または音声活動ラベル)を決定および/または提供するのが望ましい。したがって、DNNの複数のインスタンスを使用することによって、音声分析プラットフォームは、比較的高い精度の閾値を可能にするDNNのパラメータを維持しながら、音声出力の一部分のダイアライゼーション出力を決定する間の時間量を効果的に短縮することができる。
【0039】
このように、音声分析プラットフォームは、本明細書で説明されるように、DNNの複数のインスタンスを使用して、ダイアライゼーション出力を決定する間および/または注釈付き音声出力の注釈を提供する間の時間量を短縮することができる。
【0040】
上述したように、図3は、単に1つまたは複数の例として提示されているにすぎない。他の例は、図3に関して説明されているものとは相違するものとし得る。
【0041】
したがって、本明細書で説明されるように、音声分析プラットフォームは、ニューラルネットワークを使用して、複数話者の音声および/または重複する音声のダイアライゼーションを決定することができる。したがって、ダイアライゼーションを使用して、音声分析プラットフォームは、音声入力内のどの話者がアクティブに話しているかを決定するためおよび/または音声入力の音声の再生時にどの話者が話しているかを示す対応情報を提供するために、リソースの浪費および/または(本明細書で説明する例示的な実施形態と比較してより多くのリソースを消費する)複雑なプロセスの実行を回避することによって、コンピューティングリソースを節約することおよび/または処理時間を改善することができる。
【0042】
図4は、本明細書に記載のシステムおよび/または方法を実施し得る例示的な環境400の図である。図4に示すように、環境400は、クラウドコンピューティング環境420の1つまたは複数のコンピューティングリソース415によってホストされる音声分析プラットフォーム410、音声ソース430、およびユーザデバイス440を含み得る。環境400のデバイスは、有線接続、無線接続、または有線接続と無線接続の組み合わせを介して相互接続することができる。
【0043】
音声分析プラットフォーム410は、音声入力に関連する複数の話者の個々の音声活動を決定および/または提供するために割り当てられた1つまたは複数のコンピューティングリソースを含む。例えば、音声分析プラットフォーム410は、本明細書で説明されるように、音声入力に関連する音声活動を示すために、音声入力を処理し、音声入力の話者ダイアライゼーションを決定し、および/または音声入力に関連するダイアライゼーション出力(例えば、注釈付き音声出力として)を提供することができる、クラウドコンピューティング環境420によって実装されるプラットフォームとし得る。いくつかの実施形態では、音声分析プラットフォーム410は、クラウドコンピューティング環境420のコンピューティングリソース415によって実装される。
【0044】
音声分析プラットフォーム410は、サーバデバイスまたはサーバデバイスのグループを含み得る。いくつかの実施形態では、音声分析プラットフォーム410は、クラウドコンピューティング環境420でホストされ得る。特に、本明細書で説明される実施形態は、音声分析プラットフォーム410をクラウドコンピューティング環境420でホストされるものとして説明されるが、いくつかの実施形態では、音声分析プラットフォーム410は、非クラウドベースまたは部分的にクラウドベースであってもよい。
【0045】
クラウドコンピューティング環境420は、コンピューティングをサービスとして提供する環境を含み、それにより、共有リソース、サービスなどが提供され、ニューラルネットワークを使用して音声入力を処理し、ダイアライゼーション出力を決定し、および/またはダイアライゼーション出力(またはダイアライゼーション出力ストリーム)および/または注釈付き音声出力(または注釈付き音声出力ストリーム)を提供する。クラウドコンピューティング環境420は、計算、ソフトウェア、データアクセス、ストレージ、および/またはサービスを提供するシステムおよび/またはデバイスの物理的位置および構成に関するエンドユーザ知識を必要としないその他のサービスを提供することができる。示されているように、クラウドコンピューティング環境420は、コンピューティングリソース415を含み得る。
【0046】
コンピューティングリソース415は、1つまたは複数のパーソナルコンピュータ、ワークステーションコンピュータ、サーバデバイス、または別のタイプの計算および/または通信デバイスを含む。いくつかの実施形態では、コンピューティングリソース415は、音声分析プラットフォーム410をホストすることができる。クラウドリソースは、コンピューティングリソース415で実行するコンピューティングインスタンス、コンピューティングリソース415で提供されるストレージデバイス、コンピューティングリソース415で提供されるデータ転送デバイスなどを含み得る。いくつかの実施形態では、コンピューティングリソース415は、有線接続、無線接続、または有線接続と無線接続の組み合わせを介して他のコンピューティングリソース415と通信することができる。
【0047】
図4にさらに示されるように、コンピューティングリソース415は、1つまたは複数のアプリケーション(「APP」)415-1、1つまたは複数の仮想マシン(「VM」)415-2、仮想化ストレージ(「VS」)415-3、1つまたは複数のハイパーバイザ(「HYP」)415-4などのクラウドリソースのグループを含み得る。
【0048】
アプリケーション415-1は、音声ソース430および/またはユーザデバイス440に提供し得る、またはアクセスし得る1つまたは複数のソフトウェアアプリケーションを含む。アプリケーション415-1は、音声ソース430にソフトウェアアプリケーションをインストールおよび実行する必要性を排除し得る。例えば、アプリケーション415-1は、音声分析プラットフォーム410と関連するソフトウェア、および/またはクラウドコンピューティング環境420を介して提供することができる他の任意のソフトウェアを含み得る。いくつかの実施形態では、1つのアプリケーション415-1は、1つまたは複数の他のアプリケーション415-1との間で仮想マシン415-2を介して情報を送受することができる。
【0049】
仮想マシン415-2は、物理マシンのようなプログラムを実行するマシン(例えば、コンピュータ)のソフトウェア実装を含む。仮想マシン415-2は、仮想マシン415-2による任意の実マシンへの使用と対応の程度に応じて、システム仮想マシンかプロセス仮想マシンのいずれかになり得る。システム仮想マシンは、完全なオペレーティングシステムの実行をサポートする完全なシステムプラットフォームを提供し得る。プロセス仮想マシンは、単一のプログラムを実行し、単一のプロセスをサポートし得る。いくつかの実施形態では、仮想マシン415-2は、音声ソース(例えば、音声ソース430)および/またはユーザデバイス(例えば、ユーザデバイス440)を代行することができ、例えば、データ管理、同期、または長期間のデータ転送などのクラウドコンピューティング環境420のインフラストラクチャを管理し得る。
【0050】
仮想化ストレージ415-3は、ストレージシステムまたはコンピューティングリソース415のデバイス内で仮想化技術を使用する1つまたは複数のストレージシステムおよび/または1つまたは複数のデバイスを含む。いくつかの実施形態では、ストレージシステムのコンテキスト内に、ブロック仮想化とファイル仮想化を含み得る。 「ブロック仮想化」とは、物理ストレージからの論理ストレージの抽象化(または分離)を指し、ストレージシステムは物理ストレージまたは異種構造に関係なくアクセスされ得る。この分離により、ストレージシステムの管理者は、管理者がエンドユーザのストレージを管理する方法に柔軟性を与えることができる。ファイルの仮想化により、ファイルレベルでアクセスされるデータと、ファイルが物理的に保存される場所との間の依存関係を排除することができる。これにより、ストレージの使用、サーバーの統合、および/または非破壊ファイル移行のパフォーマンスの最適化が可能になり得る。
【0051】
ハイパーバイザ415-4は、コンピューティングリソース415などのホストコンピュータ上で複数のオペレーティングシステム(例えば、「ゲストオペレーティングシステム」)の同時実行を可能にするハードウェア仮想化技術を提供する。ハイパーバイザ415-4は仮想オペレーティングプラットフォームを「ゲストオペレーティングシステム」に提供し、ゲストオペレーティングシステムの実行を管理することができる。さまざまなオペレーティングシステムの複数のインスタンスが、仮想化されたハードウェアリソースを共有することができる。
【0052】
音声ソース430は、本明細書に記載されているように、1人または複数の話者からの音声活動を含む音声と関連する音声入力(例えば、音声ストリーム、音声ファイル、音声信号など)を受信、生成、保存、処理、および/または提供することができる1つまたは複数のデバイスを含み得る。例えば、音声ソース430は、マイクロフォンを備えたデバイス、通信デバイス、および/または携帯電話(例えば、スマートフォン、ラジオテレフォンなど)、ラップトップコンピュータ、コンピューティングデバイス、タブレットコンピュータ、ハンドヘルドコンピュータ、デスクトップコンピュータ、ゲームデバイス、ウェアラブル通信デバイス(たとえば、スマート腕時計、スマート眼鏡など)、または同様のタイプのデバイスを含み得る。
【0053】
ユーザデバイス440は、本明細書に記載の実施形態に従って音声分析プラットフォーム410によって処理される音声および/またはダイアライゼーションデータ(例えば、注釈付き音声出力など)へのアクセスに関連する情報を受信、生成、保存、処理、および/または提供することができる1つまたは複数のデバイスを含む。例えば、ユーザデバイス440は、携帯電話(例えば、スマートフォン、ラジオテレフォンなど)、ラップトップコンピュータ、タブレットコンピュータ、ハンドヘルドコンピュータ、デスクトップコンピュータ、ゲームデバイス、ウェアラブル通信デバイス(例えば、スマート腕時計、スマート眼鏡など)、または同様のタイプのデバイス、などの通信および/またはコンピューティングデバイスを含み得る。
【0054】
ネットワーク450は、1つまたは複数の有線および/または無線ネットワークを含む。例えば、ネットワーク450は、セルラーネットワーク(例えば、ロングタームエボリューション(LTE)ネットワーク、コード分割マルチアクセス(CDMA)ネットワーク、3Gネットワーク、4Gネットワーク、5Gネットワーク、別のタイプの次世代ネットワークなど)、公衆移動体通信網(PLMN)、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、メトロポリタンエリアネットワーク(MAN)、電話ネットワーク(例えば、公衆交換電話網(PSTN))、プライベートネットワーク、アドホックネットワーク、イントラネット、インターネット、光ファイバーベースネットワーク、クラウドコンピューティングネットワークなど、および/またはこれらのまたは他のタイプのネットワークの組み合わせを含み得る。
【0055】
図4に示されるデバイスおよびネットワークの数および配置は、1つまたは複数の例として提示されている。実際には、追加のデバイスおよび/またはネットワーク、より少ないデバイスおよび/またはネットワーク、異なるデバイスおよび/またはネットワーク、または図4に示されているものと異なる配置のデバイスおよび/またはネットワークが存在し得る。更に、図4に示す2つ以上のデバイスは単一のデバイスに実装してもよく、また図4に示す単一のデバイスは、複数の分散されたデバイスとして実装してもよい。さらに、または代わりに、環境400のデバイスのセット(例えば、1つまたは複数のデバイス)は、環境400の別のデバイスのセットによって実行されると記載されている1つまたは複数の機能を実行するものとしてもよい。
【0056】
図5は、デバイス500の例示的なコンポーネントの図である。デバイス500は、音声分析プラットフォーム410、コンピューティングリソース415、音声ソース430、および/またはユーザデバイス440に対応し得る。いくつかの実施形態では、音声分析プラットフォーム410,コンピューティングリソース415、音声ソース430、および/またはユーザデバイス440は、1つまたは複数のデバイス500および/またはデバイス500の1つまたは複数のコンポーネントを含み得る。図5に示されるように、デバイス500は、バス510、プロセッサ520、メモリ530、ストレージコンポーネント540、入力コンポーネント550、出力コンポーネント560、および通信インターフェース570を含み得る。
【0057】
バス510は、デバイス500の複数のコンポーネント間の通信を可能にするコンポーネントを含む。プロセッサ520は、ハードウェア、ファームウェア、および/またはハードウェアとソフトウェアの組み合わせで実装される。プロセッサ520は、中央処理装置(CPU)、グラフィックス処理装置(GPU)、加速処理装置(APU)、マイクロプロセッサ、マイクロコントリーラ、デジタル信号プロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、特定用途向け集積回路(ASIC)、または別のタイプの処理コンポーネントである。いくつかの実施形態では、プロセッサ520は、機能を実行するようにプログラムすることができる1つまたは複数のプロセッサを含む。メモリ530は、ランダムアクセスメモリ(RAM)、読み取り専用メモリ(ROM)、および/またはプロセッサ520用の情報および/または命令を記憶する別のタイプの動的または静的記憶装置(例えば、フラッシュメモリ、磁気メモリ、および/または光メモリ)を含む。
【0058】
ストレージコンポーネント540は、デバイス500の動作および使用に関連する情報および/またはソフトウェアを格納する。例えば、ストレージコンポーネント540は、ハードディスク(例えば、磁気ディスク、光ディスク、および/または磁気-光ディスク)、ソリッドステートドライブ(SSD)、コンパクトディスク(CD)、デジタル多用途ディスク(DVD)、フロッピーディスク、カートリッジ、磁気テープ、および/または別のタイプの非一時的なコンピュータ可読媒体を対応するドライブと一緒に含み得る。
【0059】
入力コンポーネント550は、デバイス500が、例えば、ユーザ入力(例えば、タッチスクリーンディスプレイ、キーボード、キーパッド、マウス、ボタン、スイッチ、および/またはマイクロフォン)を介して情報を受信可能にするコンポーネントを含む。さらに、または代わりに、入力コンポーネント550は、位置を決定するためのコンポーネント(例えば、全地球測位システム(GPS)コンポーネント)および/またはセンサ(例えば、加速度計、ジャイロスコープ、アクチュエータ、別のタイプの位置または環境センサおよび/または同様のもの)を含み得る。出力コンポーネント560は、デバイス500からの出力情報を提供するコンポーネント(例えば、ディスプレイ、スピーカ、触覚フィードバックコンポーネント、音声または視覚的インジケータなど)を含み得る。
【0060】
通信インターフェース570は、デバイス500が、例えば、有線接続、無線接続、または有線接続と無線接続の組み合わせを介して、他のデバイスと通信することを可能にするトランシーバのようなコンポーネント(例えば、トランシーバ、別個の受信機、別個の送信機など)を含む。通信インターフェース570は、デバイス500が別のデバイスから情報を受信することおよび/または別のデバイスに情報を提供することを可能にし得る。例えば、通信インターフェース570は、イーサネットインターフェース、光インターフェース、同軸インターフェース、赤外線インターフェース、無線周波数(RF)インターフェース、ユニバーサルシリアルバス(USB)インターフェース、Wi-Fiインターフェース、セルラーネットワークインターフェースなどを含み得る。
【0061】
デバイス500は、本明細書に記載の1つまたは複数のプロセスを実行することができる。デバイス500は、メモリ530および/または記憶コンポーネント540などの非一時的なコンピュータ可読媒体によって記憶されたソフトウェア命令を実行するプロセッサ520に基づいてこれらのプロセスを実行することができる。本明細書で使用されるように、「コンピュータ可読媒体」とは非一時的なメモリデバイスを指す。メモリデバイスは、単一の物理ストレージデバイス内のメモリスペース、または複数の物理ストレージデバイスにまたがるメモリスペースを含み得る。
【0062】
ソフトウェア命令は、別のコンピュータ可読媒体から、または通信インターフェース570を介して別のデバイスから、メモリ530および/またはストレージコンポーネント540に読み込まれ得る。メモリ530および/またはストレージコンポーネント540に格納されたソフトウェア命令は、実行されると、プロセッサ520に、本明細書に記載の1つまたは複数のプロセスを実行させることができる。さらに、または代わりに、ハードウェア回路をソフトウェア命令の代わりに、またはソフトウェア命令と組み合わせて使用して、本明細書に記載の1つまたは複数のプロセスを実行させることができる。したがって、本明細書で説明される実施形態は、ハードウェア回路とソフトウェアの特定の組み合わせに限定されない。
【0063】
図5に示されるコンポーネントの数および配置は、一例として提示されている。実際には、デバイス500は、図5に示される例よりも追加のコンポーネント、より少ないコンポーネント、異なるコンポーネント、または異なる配置のコンポーネントを含み得る。さらに、または代わりに、デバイス500のコンポーネントのセット(例えば、1つ以上のコンポーネント)は、デバイス500の別のセットのコンポーネントで実行されると記載された1つ以上の機能を実行することもできる。
【0064】
図6は、ニューラルネットワークを使用した音声入力の複数話者ダイアライゼーションに関連する例示的なプロセス600のフローチャートである。いくつかの実施形態では、図6の1つまたは複数のプロセスブロックは、音声分析プラットフォーム(例えば、音声分析プラットフォーム410)によって実行され得る。いくつかの実施形態では、図6の1つまたは複数のプロセスブロックは、音声分析プラットフォームとは別のデバイスまたはそれを含むデバイスのグループ、例えば音声ソース(例えば、音声ソース430)、ユーザデバイス(例えば、ユーザデバイス440)など、によって実行することができる。
【0065】
図6に示されるように、プロセス600は、複数の話者に関連する音声に対応する音声入力の一部分を受信するステップを含み得る(ブロック610)。例えば、音声分析プラットフォーム(例えば、コンピューティングリソース415、プロセッサ520、メモリ530、ストレージコンポーネント540、入力コンポーネント550、出力コンポーネント560、通信インターフェース570などを使用する)は、上述したように、音声の一部分を受信することができる。いくつかの実施形態では、音声入力は、複数の話者に関連する音声に対応する。
【0066】
図6にさらに示されるように、プロセス600は、ニューラルネットワークを使用して音声入力の一部分を処理して音声入力の一部分中の複数の話者の音声活動を決定するステップを含み得、ここで、ニューラルネットワークは参照音声データと参照音声データに対応する参照ダイアライゼーションデータを使用してトレーニングされ、参照ダイアライゼーションデータは、参照音声データのタイミングに対する個々の参照話者の音声活動に関連するタイミングを示す(ブロック620)。例えば、音声分析プラットフォーム(例えば、コンピューティングリソース415、プロセッサ520、メモリ530、ストレージコンポーネント540、入力コンポーネント550、出力コンポーネント560、通信インターフェース570などを使用する)は、上記のように、ニューラルネットワークを使って音声入力の一部分を処理して音声入力の一部分中の複数の話者の音声活動を決定することができる。いくつかの実施形態では、ニューラルネットワークは、参照音声データおよび参照音声データに対応する参照ダイアライゼーションデータを使用してトレーニングされる。いくつかの実施形態では、参照ダイアライゼーションデータは、参照音声データのタイミングに対する個々の参照話者の音声活動に関連するタイミングを示す。
【0067】
図6にさらに示されるように、プロセス600は、音声入力の一部分を処理するために使用されるニューラルネットワークに基づいて、音声入力の一部分に関連するダイアライゼーション出力を決定するステップを含み得、ここで、ダイアライゼーション出力は、複数の話者の個々の音声活動を示す(ブロック630)。例えば、音声分析プラットフォーム(例えば、コンピューティングリソース415、プロセッサ520、メモリ530、ストレージコンポーネント540、入力コンポーネント550、出力コンポーネント560、通信インターフェース570などを使用する)は、上記のように、音声入力の一部分を処理するために使用されるニューラルネットワークに基づいて、音声入力の一部分に関連するダイアライゼーション出力を決定することができる。いくつかの実施形態では、ダイアライゼーション出力は、複数の話者の個々の音声活動を示す。
【0068】
図6にさらに示されるように、プロセス600は、音声入力の一部分中の複数の話者の個々の音声活動を示すためにダイアライゼーション出力を提供するステップを含み得る(ブロック640)。例えば、音声分析プラットフォーム(例えば、コンピューティングリソース415、プロセッサ520、メモリ530、ストレージコンポーネント540、入力コンポーネント550、出力コンポーネント560、通信インターフェース570などを使用する)は、上記のように、音声入力の一部分中の複数の話者の個々の音声活動を示すためにダイアライゼーション出力を提供することができる。
【0069】
プロセス600は、追加の実施形態、例えば、以下に記載される任意の単一の実施形態および/または本明細書の他の場所に記載される1つまたは複数の他のプロセスに関連する任意の組み合わせの実施形態を含み得る。
【0070】
第1の実施形態では、音声分析プラットフォームが、音声入力の一部分を処理するとき、複数の話者の音声活動の順列を決定し、複数の話者の音声活動の順列の損失分析を実行することができる。いくつかの実施形態では、ダイアライゼーション出力は、クロスエントロピー分析に従って、しきい順列不変損失値を満たす順列であると決定される。第2の実施形態では、単独で、または第1の実施形態との組み合わせで、ニューラルネットワークを複数の参照音声サンプルの順列不変分析に基づいてトレーニングするためにニューラルネットワークの参照音声データが選択される。
【0071】
第3の実施形態では、単独で、または第1および第2の実施形態のうちの1つ以上との組み合わせで、ダイアライゼーション出力を決定するとき、順列不変分析が、ニューラルネットワークに順列不変損失を低減させる。いくつかの実施形態では、ニューラルネットワークに複数の話者の音声活動の順列からダイアライゼーション出力を選択させることによって、順列不変損失を低減させる。
【0072】
第4の実施形態では、単独で、または第1から第3の実施形態のうちの1つまたは複数との組み合わせで、音声入力の一部分が音声入力の第1の部分であり、前記ダイアライゼーション出力が第1のダイアライゼーション出力であり、音声分析ネットワークが、音声入力の第2の部分を受信し、ニューラルネットワークを使って音声入力の第2の部分を処理して、音声入力の第2の部分中の複数の話者の音声活動を決定し、音声入力の第2の部分を処理するために使用されているニューラルネットワークに基づいて、音声入力の第2の部分に関連する第2のダイアライゼーション出力を決定し、音声入力の第2の部分中の複数の話者の個々の音声活動を示すために第2のダイアライゼーション出力を提供する。第5の実施形態では、単独で、または第1から第4の実施形態の1つまたは複数との組み合わせで、第1のダイアライゼーション出力が、ニューラルネットワークの第1のインスタンスを使用して決定され、第2のダイアライゼーション出力が、ニューラルネットワークの第2のインスタンスと第1のダイアライゼーション出力を使用して決定される。さらに、または代わりに、第1のニューラルネットワークと第2のニューラルネットワークは、同じニューラルネットワークの別個のインスタンスである。
【0073】
第6の実施形態では、単独で、または第1から第5の実施形態のうちの1つ以上との組み合わせで、ダイアライゼーション出力は、複数の話者のうちの2人以上が、音声入力の一部分中に同時にアクティブに話していることを示す。第7の実施形態では、単独で、または第1から第6の実施形態のうちの1つ以上との組み合わせで、音声入力は音声ストリームであり、ダイアライゼーション出力が、音声ストリームの一部分のストリーミング再生に関連してリアルタイムで提供される。第8の実施形態では、単独で、または第1から第7の実施形態の1つまたは複数との組み合わせで、ニューラルネットワークは、リカレントニューラルネットワーク、または長短期記憶ニューラルネットワークのうちの少なくとも1つを含む。
【0074】
第9の実施形態では、単独で、または第1から第8の実装の1つまたは複数との組み合わせで、音声分析プラットフォームが、ダイアライゼーション出力を音声入力と同期させて、注釈付き音声出力を生成することができ、ダイアライゼーション出力が注釈付きの音声出力内に提供される。第10の実施形態では、単独で、または第1から第9の実施形態のうちの1つ以上との組み合わせで、注釈付き音声出力は、音声入力の一部分に関連して複数の話者のうちの1人以上をアクティブ話者として識別することを可能にする。
【0075】
図6は、プロセス600の例示的なブロックを示すが、いくつかの実施形態では、プロセス600は、図6に示されるブロックよりも、追加のブロック、より少ないブロック、異なるブロック、または異なる配置のブロックを含み得る。プロセス600のより多くのブロックを並行して実行することができる。
【0076】
前述の開示は、例示および説明を提供するが、網羅的であること、または開示された正確な実施形態に限定することを意図するものではない。上記の開示に照らして多くの修正および変形を行うことが可能であり、また実施形態の実施から得ることができる。
【0077】
本明細書で使用されるとき、「コンポーネント」という用語は、ハードウェア、ファームウェア、および/またはハードウェアとソフトウェアの組み合わせとして広く解釈されることが意図されている。
【0078】
本明細書で使用されるとき、閾値を満たすとは、文脈に応じて、閾値よりも大きい、閾値よりも多い、閾値よりも高い、閾値以上、閾値よりも小さい、閾値よりも少ない、閾値よりも低い、閾値以下、閾値に等しい、など値を指し得る。
【0079】
特定のユーザインターフェースが本明細書で説明され、および/または図に示されている。ユーザインターフェースは、グラフィカルユーザインターフェース、非グラフィカルユーザインターフェース、テキストベースのユーザインターフェースなどを含み得る。ユーザインターフェースは、表示用の情報を提供し得る。いくつかの実施装形態では、ユーザは、表示用のユーザインターフェースを提供するデバイスの入力コンポーネントを介して入力を提供することなどによって、情報と対話することができる。いくつかの実施形態では、ユーザインターフェースは、デバイスおよび/またはユーザによって設定可能である(例えば、ユーザは、ユーザインターフェースのサイズ、ユーザインターフェースを介して提供される情報、ユーザインターフェースを介して提供される情報の位置などを変更することができる)。さらに、または代わりに、ユーザインターフェースは、標準設定、ユーザインターフェースが表示されるデバイスのタイプに基づく特定の設定、および/またはユーザインターフェースが表示されているデバイスと関連する機能および/または仕様に基づく一連の設定に事前に設定することができる。
【0080】
本明細書に記載のシステムおよび/または方法は、異なる形態のハードウェア、ファームウェア、またはハードウェアとソフトウェアの組み合わせで実装することができることは明らかであろう。これらのシステムおよび/または方法を実施するために使用する実際の特殊な制御ハードウェアまたはソフトウェアコードは、実施を制限するものではない。したがって、システムおよび/または方法の動作および挙動は、特定のソフトウェアコードを参照せずに本明細書で説明されており、ソフトウェアおよびハードウェアは、本明細書の説明に基づいてシステムおよび/または方法を実施するように設計することができることが理解されよう。
【0081】
特徴の特定の組み合わせが特許請求の範囲に記載されおよび/または明細書に開示されているとしても、これらの組み合わせは、様々な可能な実施の開示を制限することを意図するものではない。実際、これらの特徴の多くは、特許請求の範囲に明確に記載されていない、および/または明細書に開示されていない方法で組み合わせることができる。以下に記載の各従属請求項は、1つの請求項にのみ直接従属し得るが、さまざまな実施形態の開示は、請求の範囲内の他のすべての請求項と組み合わせた各従属請求項を含み得る。
【0082】
本明細書で使用するいかなる要素、行為、または命令も、明示的にそのように説明されない限り、重要または必須と解釈されるべきではない。また、本明細書で使用する冠詞「a」および「an」は、1つまたは複数の項目を含むものであり、「1つまたは複数」と互換的に使用され得る。さらに、本明細書で使用する「セット」という用語は、1つまたは複数の項目(たとえば、関係する項目、無関係の項目、関係する項目と無関係の項目の組合せなど)を含むものであり、「1つまたは複数」と互換的に使用され得る。ただ1つの項目が意図される場合、「1つ(one)」という用語または同様の言い回しが使用される。また、本明細書で使用する「有する(has)」、「有する(have)」「有する(having)」などという用語は、オープンエンド用語であるものとする。さらに、「に基づく」という句は、別段に明記されていない限り、「に少なくとも部分的に基づく」を意味するものである。
図1
図2
図3
図4
図5
図6