JP2021105708A - ニューラル・スピーチ・ツー・ミーニング - Google Patents
ニューラル・スピーチ・ツー・ミーニング Download PDFInfo
- Publication number
- JP2021105708A JP2021105708A JP2020200974A JP2020200974A JP2021105708A JP 2021105708 A JP2021105708 A JP 2021105708A JP 2020200974 A JP2020200974 A JP 2020200974A JP 2020200974 A JP2020200974 A JP 2020200974A JP 2021105708 A JP2021105708 A JP 2021105708A
- Authority
- JP
- Japan
- Prior art keywords
- variable
- intent
- recognizer
- speech
- voice
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000001537 neural effect Effects 0.000 title abstract description 31
- 230000009471 action Effects 0.000 claims abstract description 16
- 238000012549 training Methods 0.000 claims description 44
- 238000000034 method Methods 0.000 claims description 43
- 230000004044 response Effects 0.000 claims description 37
- 238000013518 transcription Methods 0.000 claims description 16
- 230000035897 transcription Effects 0.000 claims description 16
- 239000013598 vector Substances 0.000 claims description 13
- 230000015572 biosynthetic process Effects 0.000 claims description 12
- 238000003786 synthesis reaction Methods 0.000 claims description 12
- 238000012545 processing Methods 0.000 claims description 11
- 230000006870 function Effects 0.000 claims description 9
- 230000008569 process Effects 0.000 claims description 7
- 238000004364 calculation method Methods 0.000 claims description 6
- 230000001143 conditioned effect Effects 0.000 claims description 4
- 230000002194 synthesizing effect Effects 0.000 claims description 4
- 230000003111 delayed effect Effects 0.000 claims 2
- 238000013528 artificial neural network Methods 0.000 abstract description 18
- 238000013459 approach Methods 0.000 description 32
- 238000010586 diagram Methods 0.000 description 12
- 238000001514 detection method Methods 0.000 description 9
- 230000014509 gene expression Effects 0.000 description 9
- 230000001755 vocal effect Effects 0.000 description 8
- 230000008901 benefit Effects 0.000 description 6
- 238000003860 storage Methods 0.000 description 6
- 238000013461 design Methods 0.000 description 5
- 230000003595 spectral effect Effects 0.000 description 5
- 238000013519 translation Methods 0.000 description 5
- 230000014616 translation Effects 0.000 description 5
- 230000006399 behavior Effects 0.000 description 4
- 230000015654 memory Effects 0.000 description 4
- 239000008186 active pharmaceutical agent Substances 0.000 description 3
- 235000012791 bagels Nutrition 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000009826 distribution Methods 0.000 description 3
- 235000013305 food Nutrition 0.000 description 3
- 235000015243 ice cream Nutrition 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 241000282412 Homo Species 0.000 description 2
- 230000004913 activation Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 150000001875 compounds Chemical class 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000009432 framing Methods 0.000 description 2
- 238000002372 labelling Methods 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 239000000047 product Substances 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000006403 short-term memory Effects 0.000 description 2
- 241000699670 Mus sp. Species 0.000 description 1
- 241000270295 Serpentes Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000002547 anomalous effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 230000001771 impaired effect Effects 0.000 description 1
- 238000002513 implantation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000001556 precipitation Methods 0.000 description 1
- 238000011002 quantification Methods 0.000 description 1
- 230000000306 recurrent effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 229910000679 solder Inorganic materials 0.000 description 1
- 238000005476 soldering Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
- 230000002103 transcriptional effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 238000009827 uniform distribution Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/16—Speech classification or search using artificial neural networks
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/16—Sound input; Sound output
- G06F3/167—Audio in a user interface, e.g. using voice commands for navigating, audio feedback
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/06—Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
- G10L15/063—Training
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/18—Speech classification or search using natural language modelling
- G10L15/1815—Semantic context, e.g. disambiguation of the recognition hypotheses based on word meaning
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/18—Speech classification or search using natural language modelling
- G10L15/1822—Parsing for meaning understanding
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/18—Speech classification or search using natural language modelling
- G10L15/183—Speech classification or search using natural language modelling using context dependencies, e.g. language models
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/26—Speech to text systems
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/28—Constructional details of speech recognition systems
- G10L15/30—Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/40—Processing or translation of natural language
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/22—Procedures used during a speech recognition process, e.g. man-machine dialogue
- G10L2015/223—Execution procedure of a spoken command
Landscapes
- Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Multimedia (AREA)
- Computational Linguistics (AREA)
- Acoustics & Sound (AREA)
- Artificial Intelligence (AREA)
- Theoretical Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Machine Translation (AREA)
- Electrically Operated Instructional Devices (AREA)
Abstract
【課題】発話音声から意味を抽出するためのユニタリシステムを提供する。【解決手段】ニューラル・スピーチ・ツー・ミーニングシステムは、発話を含む音声を取り込み、仮想アシスタントアクションを求める要求を呼び出すための信号を出力するニューラルネットワークベースのモデルであるインテント認識器401と、取り込んだ音声における変数についての既知の列挙値を認識したことを示す信号とAPIヒットのための引数として提供される変数値とを出力する変数認識器402を含む。【選択図】図6
Description
発明の分野
本発明は、ニューラルネットワーク機械学習を使用する自然言語理解の分野にある。
本発明は、ニューラルネットワーク機械学習を使用する自然言語理解の分野にある。
背景
図1は、音声インターフェイスを有する従来の仮想アシスタントのアーキテクチャを示す。仮想アシスタントは、ネットワークを通して、マイクまたは音声情報のパケットなどのソースから、取り込まれた発話音声を受信する。仮想アシスタントは、取り込まれた発話音声に対して自動音声認識(automatic speech recognition:ASR)101を実行して、トランスクリプションを生成する。仮想アシスタントの中には、確率スコアを各々有する複数のトランスクリプション仮説のセットを生成するものもある。図1の仮想アシスタントは、自然言語理解(natural language understanding:NLU)102をトランスクリプションに対して実行し、または、多くの場合、トランスクリプション仮説に対して実行する。NLUはインテントを生成する。それは、仮想アシスタントがユーザを支援するために作用し得る情報を有するデータ構造である。
図1は、音声インターフェイスを有する従来の仮想アシスタントのアーキテクチャを示す。仮想アシスタントは、ネットワークを通して、マイクまたは音声情報のパケットなどのソースから、取り込まれた発話音声を受信する。仮想アシスタントは、取り込まれた発話音声に対して自動音声認識(automatic speech recognition:ASR)101を実行して、トランスクリプションを生成する。仮想アシスタントの中には、確率スコアを各々有する複数のトランスクリプション仮説のセットを生成するものもある。図1の仮想アシスタントは、自然言語理解(natural language understanding:NLU)102をトランスクリプションに対して実行し、または、多くの場合、トランスクリプション仮説に対して実行する。NLUはインテントを生成する。それは、仮想アシスタントがユーザを支援するために作用し得る情報を有するデータ構造である。
仮想アシスタントは、ユーザが完全なインテントを有する完全な表現をいつ行なったかに関して決定を下す。我々はそれをヒットと呼ぶであろう。いくつかの仮想アシスタントは、ユーザが十分な量の時間にわたって話すのをやめた場合に、ヒットが生じたと判定する。これは、発言終了(end-of-utterance:EOU)検出と呼ばれる。いくつかの仮想アシスタントはまた、または代わりに、NLUに従った表現の明らかな完全性に基づいて、ヒットを判定する。
図1の仮想アシスタントは、ヒットが生じたと判定した後で、表現されたインテントを与えられるユーザにとって有用でありそうな何か103を速やかに行なう。その何かとは、インテントに応答するのに適切である任意の種類の機能である。たとえば、仮想アシスタントは、HTTPプロトコルの使用などによって、インターネット上のデータ104のソースへのウェブアプリケーションプログラミングインターフェイス(application programming interface:API)呼び出しを実行してもよい。これは、たとえば天気予報を調べるために有用である。もう1つ例を挙げると、仮想アシスタントは、インテントに含まれる単語を有するメッセージを送信すること、または、ロボットを物理的に動すことなどのアクションを実行してもよい。この機能はソフトウェア開発キット(software development kit:SDK)において定義可能であり、ここで、APIアクセスは適切な関数呼び出しの一例である。
図1の仮想アシスタントは、何かを行なった後で、ユーザへの応答を生成する。これは、APIアクセスからのデータ、アクションの確認、任意の他の関連情報を含み得る。仮想アシスタントは、発話音声を合成するために、テキスト・ツー・スピーチ(text-to-speech:TTS)105を実行する。応答は、ある単語を強調して望ましい音声スタイルを伝えるために、合成された音声のための韻律の表示を含み得る。従来のシステムは、集団として発話音声を受信してインテントおよびヒット信号を生成するASRおよびNLUコンポーネントにおける多くの複雑な技術を含む。
図2は、ASR機能内の従来のコンポーネントを示す。音響モデル201は音声を受信し、それをフレームへと分割し、デジタル信号処理(DSP)を実行して、フレーム内で音声サンプルをスペクトルエネルギー値に変換する。より古いシステムは、スペクトルデータ上で隠れマルコフモデル(hidden Markov model:HMM)を使用した。より新しいシステムは、ニューラルネットワーク(neural network:NN)モデル202を使用する。他のアプローチが可能である。音響モデルは、音素シーケンス仮説と、各仮説についての音響スコアとを生成する。
トークン化203のプロセスにおいて、アルファベット言語のためのASRは、単語ごとに1つ以上の発音を含む発音辞書204に照らして、音素シーケンス仮説をチェックする。十分な言語トランスクリプションのためには、発音辞書は100万個以上の単語を有するかもしれない。特定用途向けのシステムのためには、辞書はより小さくてもよい。トークン化は、音素の仮説化されたシーケンスを順に含む単語のシーケンスから作られた単語シーケンス仮説を生成する。中国語などの非アルファベット言語は、辞書に従ったトークン化の代わりに、音素を文字の発音へと順に組み立てる。文字であれ単語であれ、結果はトークンシーケンス仮説である。
統計的言語モデル(statistical language model:SLM)205は、トークンシーケンス仮説と、トークンシーケンス仮説が導き出される音素シーケンス仮説に対応する音響スコアとを使用して、トークンシーケンス仮説ごとに確率スコアを計算する。確率スコアは、トークンのシーケンスが言語に現われそうな頻度に基づいており、音響スコアに従ってトークンシーケンスの確率によって重み付けされる。長文口述用のシステムなどのシステムでは、ASRの出力は、単一の最高SLMスコアを有するトランスクリプション仮説である。NLUを実行する仮想アシスタントでは、ASRは、複数のトランスクリプション仮説と、それらの対応するスコアとを出力可能であり、それらは各々、最も確率が高いインテントを計算するために処理され得る。SLMは、言語使用例のコーパスについて訓練される。より古いSLMは、N数のトークンのシーケンスの確率を計算するnグラムモデル206を使用した。典型的には、Nは3または4であるが、それより少なくても多くてもよい。より現代的なSLMは、NNモデル、特に、長短期記憶(long short-term memory:LSTM)NNなどの長期回帰を有するモデルを使用する。これらは、長い先行トークンに、それらの差別的な値に比例して重みを与えることを学習する。
図3は、従来のNLUのコンポーネントを示す。それは、トランスクリプションを受信する。これらは、ASRからの多数のトランスクリプション仮説、または、キーボードなどからのテキストとしての1つの入力といった単一のトランスクリプションであり得る。トランスクリプション仮説は、文法301と比較される。文法は、フレージングとスロットとを含む。スロットとは、可能値のリストから満たされ得る情報のためのプレースホルダである。たとえば、場所の名前は、天気に関する文法にとって有用である。時間がスロット値であってもよい。スロット値はまた、計算を実行する文法のためなどのあらゆる任意の数であってもよい。
文法内のフレージングは、正規表現フォーマットまたは独自仕様のフォーマットなどのさまざまな特定のフォーマットで表現され得る。図3は、「what’s the weather [going to be] in <PLACE> [on] <TIME>(<時間>[の]<場所>の天気は何[になる]でしょうか)」というフレージングを有する例示的な文法を示す。これは、角括弧内のテキストはオプションであり、山括弧内のテキストはスロット値であると見なすフォーマットで書かれている。したがって、この例は、「what's the weather in Chicago on Wednesday(水曜日のシカゴの天気は何でしょうか)」というトランスクリプションと、「what's the weather going to be in Miami next week(来週のマイアミの天気は何になるでしょうか」とを一致させる。いくつかの仮想アシスタントは、それらが対処できる知識のドメインに基づいて文法をグループ化する。しかしながら、ドメイングループ化302は、正常機能のために必要ではない。
文法は、インテントとスコアとを生成する。たとえば、図3に示す文法は、PLACE(場所)およびTIME(時間)スロット値で満たされた引数を含む天気APIユニバーサルリソースロケータ(universal resource locator:URL)を有するインテントを生成するであろう。文法はまた、特定のフレージングの確率に基づいたスコアを与え得る。たとえば、「what's the weather going to be in Boston on yesterday(昨日のボストンの天気は何になるでしょうか)」という英文は、未来時制の指標である「going to be(になる)」を過去時制の時間である「yesterday(昨日)」とともに使用しているため、不適切な話し方であり、若干非合理的である。その結果、文法はその文に低いスコアを与えるかもしれない。一方、「what's the weather in Seattle currently(現在のシアトルの天気は何でしょうか)」は、意味のあるインテントと高い文法スコアとを有して、文法と一致するであろう。
仮想アシスタントNLUコンポーネントは、最も高い文法スコアを有するインテントを選択する(303)。音声仮想アシスタントは、最も高い文法スコアを有するインテントを、音響スコアによって重み付けされたSLMスコアによって重み付けされているとして選択する。他のスコアコンポーネントが、さまざまな仮想アシスタントの設計において可能である。
いくつかの仮想アシスタントは、会話状態304を格納する。他の情報の中でも特に、これはスロット値を含む。その結果、「what's the weather in Seattle(シアトルの天気は何でしょうか)」というクエリは、シアトルをPLACEスロットの値として格納する。「how long would it take to drive there(車でそこへ行くのにどのくらい時間がかかるでしょうか)」といった、代名詞「there(そこへ)」を使用するクエリは、PLACEスロットをシアトルという値で満たす。なぜなら、それが、最も最近に述べられた場所であったためである。その結果、そのような仮想アシスタントは、自然なスタイルで表現された音声を理解することができる。
問題
従来のシステムは、多くのコンポーネントを有する。いくつかのコンポーネントは、利用可能な最高の研究を使用して、賢いエンジニアによって設計されている。それは常に改良されているものの、決して完全ではない。従来のシステムのいくつかのコンポーネントは、データの大型コーパスから訓練される。データ量は有限であり、また、システムを訓練するために使用されるコーパスは決して、システムの将来の使用に完全に一致するものではない。システムのあらゆるコンポーネントは不正確性を有し、それは、パイプライン全体にわたって有用な情報を失う。多くの努力が、各段階を個々に改良することに注がれ、また、多くの努力が、段階同士を互いに十分に相互作用させることに注がれる。しかしながら、それらの努力は異なっている必要があり、したがって、それらの特色に基づいて人間言語ごとに繰り返される必要がある。さらに、それらは、少ないまたは多いドメイン、多いまたは少ないボキャブラリを有し、パワーセンシティブであるかまたは待ち時間が重要である用途などの用途に基づいて、異なるように行なわれる必要があり、また、他の用途特有の制約を満たす必要がある。
従来のシステムは、多くのコンポーネントを有する。いくつかのコンポーネントは、利用可能な最高の研究を使用して、賢いエンジニアによって設計されている。それは常に改良されているものの、決して完全ではない。従来のシステムのいくつかのコンポーネントは、データの大型コーパスから訓練される。データ量は有限であり、また、システムを訓練するために使用されるコーパスは決して、システムの将来の使用に完全に一致するものではない。システムのあらゆるコンポーネントは不正確性を有し、それは、パイプライン全体にわたって有用な情報を失う。多くの努力が、各段階を個々に改良することに注がれ、また、多くの努力が、段階同士を互いに十分に相互作用させることに注がれる。しかしながら、それらの努力は異なっている必要があり、したがって、それらの特色に基づいて人間言語ごとに繰り返される必要がある。さらに、それらは、少ないまたは多いドメイン、多いまたは少ないボキャブラリを有し、パワーセンシティブであるかまたは待ち時間が重要である用途などの用途に基づいて、異なるように行なわれる必要があり、また、他の用途特有の制約を満たす必要がある。
音響データは高価である。テキスト単語統計は、音声に完全に一致しない。ドメイン特有の言語モデルのためのコーパスは、困難/不可能/高価である。ドメイン文法は、プログラミングスキルを必要とする。文法言語がより強力になるにつれて、より進んだスキルが必要とされる。システムが有するドメイン文法が多くなるにつれて、自然な人間音声の曖昧さを解明するためにより多くの微調整が必要である。
エンジニアの給料は、そのような微調整に費やすために天文学的に高価である。
従来技術は、AMまたはLMのない「エンド・ツー・エンド」トランスクリプションのための受け入れ可能な精度を実証してきた。しかし、テキストは、仮想アシスタントにとってエンド(終わり)ではない。終わりは、NLU文法が生成するような、音声のインテントのアクション可能な表現である。
従来技術は、AMまたはLMのない「エンド・ツー・エンド」トランスクリプションのための受け入れ可能な精度を実証してきた。しかし、テキストは、仮想アシスタントにとってエンド(終わり)ではない。終わりは、NLU文法が生成するような、音声のインテントのアクション可能な表現である。
概要
本発明は、発話音声から意味を抽出するためのユニタリシステムを提供する。入力は、デジタル化された発話音声である。いくつかのシステムは時間ドメイン表現を取り込み、いくつかは周波数ドメイン表現を取り込む。出力は、インテントを表わすデータ構造である。データ構造は、アクションを実行するかまたはデータ値を読む機能のために必要な入力を、さらなる処理をほとんどすることなく提供するフォーマットになっている。オプションの出力は、話し手が表現を完成させたことを示すヒット信号である。
本発明は、発話音声から意味を抽出するためのユニタリシステムを提供する。入力は、デジタル化された発話音声である。いくつかのシステムは時間ドメイン表現を取り込み、いくつかは周波数ドメイン表現を取り込む。出力は、インテントを表わすデータ構造である。データ構造は、アクションを実行するかまたはデータ値を読む機能のために必要な入力を、さらなる処理をほとんどすることなく提供するフォーマットになっている。オプションの出力は、話し手が表現を完成させたことを示すヒット信号である。
いくつかのシステムは、主要インテント認識器と、1つ以上の変数認識器とを含む。インテント認識器は、ある種のインテントを有する表現の完成を検出する。変数認識器は、場所の名前または数字などのエンティティ値を有する複雑な表現をサポートするシステムにとって有用である。変数認識器は発話音声を取り込み、変数のどの列挙値が認識されたかの表示を出力する。変数認識器はオプションで、変数の列挙値が検出されたことを示す信号を出力する。変数値は、インテントデータ構造出力のための引数として、多くのシステムにおいて有用である。いくつかのインテント認識器は、変数の列挙値の検出を、完全なインテントの検出を通知するための入力として使用してもよい。
いくつかのシステムは、複数または多くのインテント認識器と、複数または多くの変数認識器とを有していてもよい。いくつかのタイプの変数認識器の出力は、複数のインテント認識器に通知することができ、いくつかのインテント認識器は、複数の変数認識器の出力を観察することができる。
いくつかのシステムは、関連するインテント認識器のグループをドメインとして扱う。そのようなシステムはオプションで、発話音声を取り込み、音声が複数のドメインのうちのどれに言及しているかの表示を出力するドメイン認識器を含んでいてもよい。
認識器は、ヒット出力および変数値出力を生成するために発話音声について訓練されたニューラルネットワークに基づいて実現されてもよい。インテント認識器は、任意の数の人間言語でのフレージングを含む、同じインテントの複数のフレージングについて訓練されてもよい。データ収集時間およびコストを減少させるために、変数認識器は、生成された発話音声について訓練され得る。
いくつかのシステムは、自然言語理解のための認識器を、単独でまたは仮想アシスタント能力の一部として、プラットフォームを通してサービスとして提供する。
音声および認識器サービスを取り込むデバイス間の相互作用は、無線接続を含むネットワーク接続を経由し得る。多くのシステムは、記憶媒体上に格納されたソフトウェア命令を使用して実現されており、プロセッサが当該命令を実行すると、それがここに説明され請求される方法を実行し、システムとして機能するようになっている。
図面の説明
音声制御システムの図である。
音声からテキストへのプロセスの図である。
自然言語理解プロセスの図である。
ニューラル・スピーチ・ツー・ミーニング(neural speech-to-meaning)のブラックボックス図である。
入力音声波形を示す図である。
入力音声スペクトル写真を示す図である。
いくつかの基本的な認識器要素の図である。
いくつかのタイプの認識器のインスタンスの一例を示す図である。
ニューラルネットワークアーキテクチャの一例を示す図である。
学習された意味空間を通した翻訳の図である。
発話音声を生成するための例示的な生成的ニューラルネットワークを示す図である。
音声制御システムのための例示的なプラットフォームエコシステムの図である。
回転式の非一時的コンピュータ読取可能媒体を示す図である。
ソリッドステートの非一時的コンピュータ読取可能媒体を示す図である。
パッケージ化されたシステム・オン・チップデバイスを示す図である。
例示的なシステム・オン・チップの高レベル機能ブロック図である。
サーバブレードシステムを示す図である。
例示的なサーバアーキテクチャの高レベル機能ブロック図である。
詳細な説明
下記は、請求される発明のさまざまな実施形態を説明する。説明される実施形態は、さまざまな構成要素を有する。いくつかの構成要素は、代替的な設計選択を有する。いくつかの構成要素はオプションである。以下の説明は、各構成要素がオプションであるかどうか、設計選択が代替案を有するかどうか、および、すべての可能代替案が何であるかについて、必ずしも明示的ではない。以下の説明は例を挙げており、当業者であれば、それらの例から、説明される発明および請求項を理解するであろう。以下の説明は、単語システムを、マシンおよび方法を説明するために使用し、また、1つのシステムが別のシステムの構成要素であり得るように異なるレベルで使用する。
下記は、請求される発明のさまざまな実施形態を説明する。説明される実施形態は、さまざまな構成要素を有する。いくつかの構成要素は、代替的な設計選択を有する。いくつかの構成要素はオプションである。以下の説明は、各構成要素がオプションであるかどうか、設計選択が代替案を有するかどうか、および、すべての可能代替案が何であるかについて、必ずしも明示的ではない。以下の説明は例を挙げており、当業者であれば、それらの例から、説明される発明および請求項を理解するであろう。以下の説明は、単語システムを、マシンおよび方法を説明するために使用し、また、1つのシステムが別のシステムの構成要素であり得るように異なるレベルで使用する。
インテント
インテントとは、特定の予想されたタイプの応答を有する要求である。多くの口頭フレージングは、同じインテントを有し得る。たとえば、「what's the time(何時ですか)」と、「what time is it(何時ですか)」とは、同じインテントを有する2つのフレージングである。システムはインテントを構造化データとして表わし得る。構造化データは、JSONまたはXMLなどのフォーマットを使用して特定のスキーマで表わされ得る。API呼び出しを使用して機能するシステムでは、インテントは、(a)API要求のための一組の引数として、および、(b)場合によっては、API応答からのどの情報がユーザにとって興味深いものであるかの選択として表わされ得る。
インテントとは、特定の予想されたタイプの応答を有する要求である。多くの口頭フレージングは、同じインテントを有し得る。たとえば、「what's the time(何時ですか)」と、「what time is it(何時ですか)」とは、同じインテントを有する2つのフレージングである。システムはインテントを構造化データとして表わし得る。構造化データは、JSONまたはXMLなどのフォーマットを使用して特定のスキーマで表わされ得る。API呼び出しを使用して機能するシステムでは、インテントは、(a)API要求のための一組の引数として、および、(b)場合によっては、API応答からのどの情報がユーザにとって興味深いものであるかの選択として表わされ得る。
一般に、システムの能力がより詳細になるにつれて、インテントごとに存在するフレージングがより少なくなる。1種類の応答しか与えない報時システムは、その応答を、「what time is it(何時ですか)」、「what hour is it(何時ですか)」、および「what minute is it(何分ですか)」というフレージングについて与える。しかし、時刻全て、時間のみ、または分のみを報告する能力を有する報時システムは、3つのインテントを有しており、それらは各々、それらのフレージングのうちの1つのみについて応答する。
いくつかのシステムは、同じであるものの、可変情報のうちの1つまたは少数に関するものである、多くのインテントに応答し得る。たとえば、多くの異なる都市のうちのいずれかでの天気を報告可能なシステムは、多くの異なるインテントを有し得る。しかしながら、データの収集およびシステムの訓練に対する実際的制限により、変数を含む1つのインテントを用いてそれを設計することがより効率的である。ここで、変数は、多くの特定値のうちのいずれかを有し得る。
一般的なインテントデータ構造とは、インテントが変数を有する場合、変数のためのプレースホルダを有するものである。特定のインテントデータ構造とは、変数ごとに特定値を特定するものである。
APIの例
多くの仮想アシスタントは、APIにアクセスする(「ヒットする」)ことにより、ユーザにとって興味深い情報を検索する。多くの現代のAPIは、レプリゼンテーショナル・ステート・トランスファー(Representational State Transfer:REST)スタイルを使用する。これは典型的には、コマンドラインURL(curl)などのプログラム、またはFlaskなどのウェブフレームワークを通して行なわれる。
多くの仮想アシスタントは、APIにアクセスする(「ヒットする」)ことにより、ユーザにとって興味深い情報を検索する。多くの現代のAPIは、レプリゼンテーショナル・ステート・トランスファー(Representational State Transfer:REST)スタイルを使用する。これは典型的には、コマンドラインURL(curl)などのプログラム、またはFlaskなどのウェブフレームワークを通して行なわれる。
これは、気象情報を入手するためのAPIへの例示的な要求である。この要求はURLを有し、それは、ロンドン(London)という値を有する引数qを有する。
これは、上述のURLを有するAPIヒットへの例示的な応答である。
この応答は、天気に関する情報を、ユーザが通常望むよりも多く含み、情報は、異なるようにフォーマット化される。したがって、ユーザの質問のインテントに応答する有用な仮想アシスタントであれば、「the weather in London is 14 degrees Celsius with clear skies(ロンドンの天気は晴天で摂氏14度です)」といった、結果として生じる口頭のユーザ応答を提供するであろう。なお、286.67ケルビン度は、摂氏13.52度である。
多くのAPIヒットは、ネットワークを通してデータソースにアクセスすることを伴う。一般に、データはサーバ上にあり、APIヒットを実行する仮想アシスタントはクライアントである。仮想アシスタントを含むデバイスは、ネットワーククライアントハードウェアおよび/またはソフトウェア機能性を含んでいてもよい。
出力および入力
図4は、ニューラル・スピーチ・ツー・ミーニングシステム400の入力および出力の概観を示す。ある出力は、上述されたものと同様の形式のインテントデータ構造である。この出力は、システムが作動するとともに効果的に連続的に経時変化してもよい。それはまた、ユーザ表現が完成しているとシステムが仮定した特定の時間に登録されてもよい。そのような場合、ヒットが生じたことを示す追加の信号があってもよい。ヒット信号は、連続的に変化してもよく、または、完全な表現を仮説化するときにパルスを放出してもよい。
図4は、ニューラル・スピーチ・ツー・ミーニングシステム400の入力および出力の概観を示す。ある出力は、上述されたものと同様の形式のインテントデータ構造である。この出力は、システムが作動するとともに効果的に連続的に経時変化してもよい。それはまた、ユーザ表現が完成しているとシステムが仮定した特定の時間に登録されてもよい。そのような場合、ヒットが生じたことを示す追加の信号があってもよい。ヒット信号は、連続的に変化してもよく、または、完全な表現を仮説化するときにパルスを放出してもよい。
ニューラル・スピーチ・ツー・ミーニングへの入力は、発話音声データである。未加工の時間ドメイン音声サンプルを取り込むことが可能である。図5Aは、音声のサンプルの時間ドメイン波形を示す。
従来のASRは、時間ドメインサンプルをスペクトル表現に変換する第1のデジタル信号処理ステップを含む。図5Bは、(「never touch a snake with your bare hands(素手でヘビに触らないで下さい)」)という音声のスペクトル写真を示す。それは、横軸の時間においてフレームごとに変化する発話音声の周波数成分を縦軸に示す。
多くの従来のASRシステムは、音声サンプルのおよそ25msのウィンドウ上で、およそ10msのフレームレート(100フレーム/秒は、認識されると予想される人間の音素生成の最速レートよりも若干速い)で、メル周波数ケプストラム係数(Mel-frequency Cepstral Coefficien:MFCC)を計算する。メル尺度は平均的な人間音声用にうまく設計されているため、未加工の時間ドメイン音声サンプルをMFCC係数に変換することによって、有用な情報がほとんど失われない。しかしながら、ニューラルネットワークは未加工データから推論を行なうことに優れており、MFCC係数計算は不必要な計算性能を消費する。
学習への2つのアプローチが可能である。
(1)ウィンドウイングを使用する。これは、サイナス(Sainath)らによる論文「未加工波形CLDNNを用いた音声フロントエンドの学習(Learning the Speech Front-end With Raw Waveform CLDNNs)」(2015)に記載されたアプローチのように、未加工波形から音響モデルを直接学習し、ウィンドウイング/FFT/ログ・メル・フィルターバンクを畳み込み層と置き換えるよう試みる。しかしながら、この学習された音声フロントエンドは依然として、サイズが25〜50msの音声ウィンドウを10msのシフトで取り込む。それは結局、音声認識で伝統的に使用されるものと同様のフィルターバンクを学習することになり、それは、それが(ほぼ)最適な特徴入力であると示唆する。この種のアーキテクチャは、ゼジダー(Zeghidour)らによる論文「未加工波形からのエンド・ツー・エンド音声認識(End-to-End Speech Recognition From the Raw Waveform)」(2018)などに記載されているように、エンド・ツー・エンド音声認識システムにとって比較的一般的である。
(1)ウィンドウイングを使用する。これは、サイナス(Sainath)らによる論文「未加工波形CLDNNを用いた音声フロントエンドの学習(Learning the Speech Front-end With Raw Waveform CLDNNs)」(2015)に記載されたアプローチのように、未加工波形から音響モデルを直接学習し、ウィンドウイング/FFT/ログ・メル・フィルターバンクを畳み込み層と置き換えるよう試みる。しかしながら、この学習された音声フロントエンドは依然として、サイズが25〜50msの音声ウィンドウを10msのシフトで取り込む。それは結局、音声認識で伝統的に使用されるものと同様のフィルターバンクを学習することになり、それは、それが(ほぼ)最適な特徴入力であると示唆する。この種のアーキテクチャは、ゼジダー(Zeghidour)らによる論文「未加工波形からのエンド・ツー・エンド音声認識(End-to-End Speech Recognition From the Raw Waveform)」(2018)などに記載されているように、エンド・ツー・エンド音声認識システムにとって比較的一般的である。
また、重複しないウィンドウを使用することも可能である。タスケ(Tuske)らは、DNNを使用するそのようなアプローチを、論文「LVCSRのために未加工時間信号を使用するディープニューラルネットワークを用いた音響モデリング(Acoustic Modeling with Deep Neural Networks Using Raw Time Signal for LVCSR)」(2014)に記載する。DNNは、(ここでもmelfb/ガンマトーンが理想にかなり近く見えることを示す)バンドパスフィルターを学習し、十分な訓練データを用いつつも、フロントエンド特徴または未処理の重複しない入力ウィンドウを使用する場合と同様の性能を達成することができる。
(2)一度に1つのサンプルを回帰ネットワークに送り込む。このアプローチはウィンドウイングを必要としない。受け入れ可能な性能は、情報を得た上で決断を下すのに十分なコンテキストを有することを必要とする。たとえば、いくつかの母音は長さが200msであり得る。16kHzのサンプリングレートでは、それは3200個のサンプルにわたる記憶を必要とする。これは、時間伸張を、チャン(Chang)らによって論文「Dilated Recurrent Neural Networks(伸張された回帰ニューラルネットワーク)」(2017)に記載されたようなRNN、または、グーグルWavenet音声生成システムなどで使用されるCNNで使用するなどのさまざまなやり方で対処され得る。
上述の2つのアプローチの組合せを用いて、改良された性能が可能である。コンテキストに依存しないターゲットを使用することは、前の音素と次の音素とを見るために十分に長い記憶を有する必要性を回避することによって、役立ち得る。
基本システム
図6は、単純なニューラル・スピーチ・ツー・ミーニングシステムのコンポーネントの高レベルの図を示す。それは、インテント認識器401と、変数認識器402とを含む。インテント認識器は、発話を含み得る音声を取り込み、仮想アシスタントアクションを求める要求を呼び出すための信号を出力する、ニューラルネットワークベースのモデルである。発話音声がインテントを有する確率がしきい値に達すると、インテント認識器は要求を発行する。しきい値のレベルは、システムの設計によって固定されてもよく、または、用途、環境、時間もしくは他のコンテキスト情報に依存していてもよい。
図6は、単純なニューラル・スピーチ・ツー・ミーニングシステムのコンポーネントの高レベルの図を示す。それは、インテント認識器401と、変数認識器402とを含む。インテント認識器は、発話を含み得る音声を取り込み、仮想アシスタントアクションを求める要求を呼び出すための信号を出力する、ニューラルネットワークベースのモデルである。発話音声がインテントを有する確率がしきい値に達すると、インテント認識器は要求を発行する。しきい値のレベルは、システムの設計によって固定されてもよく、または、用途、環境、時間もしくは他のコンテキスト情報に依存していてもよい。
要求は、パルス、または連続的に変化するレベルであり得る。それは、要求発行後にインテント認識器が少なくとも、インテントを有する第2の表現をユーザが行ない得る最短量の時間の前に、第2の要求を発行しないように、一種のヒステリシス効果またはホールドオフ・タイマーを用いてプログラムされ得る。インターネットを通して要求を作って送信することによってウェブAPIをヒットすることは、仮想アシスタントアクションの一例である。デバイス内で信号を送信してそれにモータを制御させることは、別の例である。
インテント認識器は、潜在的に複数の人間言語でのインテントの複数のフレージングのために、多数の声について訓練される。単一ユーザのシステムは、ユーザが各フレージングを数回話すことによって訓練され得る。任意の声をサポートするためのシステムは、50個の多様な声について訓練されるならば機能的かもしれないが、大量生産品質システムは、何千もの異なる声について訓練されるべきである。
いくつかのシステムでは、インテント認識器は音声に対して連続的に作動し、インテントが認識されるたびにAPIヒットを呼び出す。それに代えて、インテント認識器はフレーズスポッターがウェークフレーズを検出した後でのみ作動し、特定の持続期間にわたって音声のない期間を認識する検出といった発言終了検出をAPIヒットの信号の条件とする。
変数認識器402は音声を取り込み、それが音声における変数についての既知の列挙値を認識したことを示す信号を出力する。変数の値は、APIヒットのための引数を提供する。
変数検出信号と変数の値とは、インテント認識器によって、インテント検出を通知するための入力として使用されてもよい。これは、たとえば、「I don't know the weather in Boston(私はボストンの天気を知りません)」という音声を受信した場合には、ボストンが都市名変数の既知の列挙値として認識されているため、インテント認識器に天気を調べさせるものの、「I don't know whether to stay or go(私は、とどまるべきか行くべきかわかりません)」という音声を受信した場合には、「weather(天気)」と発音が似ている重要な単語の直前または直後に都市名がないため、当該音声に応答して認識器が気象情報要求を実行するのを防止するのに有用である。したがって、仮想アシスタントアクション(たとえばAPIヒット)を求める要求の出力は、発話音声が列挙変数値を有する確率を条件とする。
いくつかのシステムでは、変数認識器は、変数が検出されたという信号と、それがいつ検出されたかのタイムスタンプとの双方を出力する。インテント認識器は、インテント検出を通知するために現在取り込まれた音声に対する変数認識のタイミングを使用するように訓練されてもよい。別のアプローチは、変数に依存するインテント認識器が、繰り返し訓練されること、または、LSTM層が変数認識器からの確率値における時間遅れピークに従ってそのインテント確率を計算することである。たとえば、「weather in Boston(ボストンの天気)」および「Boston's weather(ボストンの天気)」は、キー情報である「weather(天気)」および「Boston(ボストン)」が異なる順序で来るにもかかわらず、天気インテントをトリガする。しかしながら、「in Boston weather(ボストン天気の)」および「weather's Boston(天気のボストン)」は、「in(の)」または「's(の)」のタイミングに対する変数名「Boston(ボストン)」の相対的順序がインテントのヒットではないとして学習されているため、インテントをトリガしない。
ニューラル・スピーチ・ツー・ミーニングに基づいた仮想アシスタントは典型的には、APIヒットトリガを各々有する複数の離散的なインテント認識器ネットワークか、または、APIヒットトリガごとに1つのインテント認識器がある、複数の出力を有するグローバルなインテント認識器ネットワークを含む。
図6に示すシステムは、システムに人間が読める音声のトランスクリプションが存在するポイントがないという点で、他の「エンド・ツー・エンドの」音声からテキストへのモデルまたは自然言語インテント推論モデルとは異なる。入力としての、出力としての、またはシステム内部から観察もしくは抽出され得る、音声の語彙表示はない。
図7は、ニューラル・スピーチ・ツー・ミーニング認識器を用いて作られた仮想アシスタントのアーキテクチャを示す。天気、ビジネス、およびナビゲーションの各々について1つずつの、3つのドメインが示される。天気ドメインは、現在の天気401a、明日の天気401b、および、10日間の予報401cのためのインテント認識器を有する。ビジネスドメインはレストラン検索インテント認識器401dを有し、ナビゲーションドメインはナビゲーション要求インテント認識器401eを有する。各ドメインは他のインテント認識器を有していてもよい。
アーキテクチャはまた、人々402aの名前、場所402bの名前、通り402c、および数字402dを認識するように訓練された変数認識器を含む。仮想アシスタントは他のタイプの変数認識器を有していてもよい。人々の名前のための認識器は、人々にメッセージを送信することをサポートする仮想アシスタントにとって有用であろう。都市の名前のための変数認識器は、特定の時間の特定の都市の天気に関するクエリに答えるための、レストランを検索するための、および特定の場所へのナビゲーションを実行するための適切なインテント認識器とともに有用である。数字のための変数認識器も、特定の住所へのナビゲーションなどを求めるナビゲーション要求にとって有用である。
図7の仮想アシスタントアーキテクチャはまた、ドメイン認識器403を含む。これは、音声のドメインによってラベル付けされた音声の記録について訓練される。訓練データは、ドメイン認識器のために収集してラベル付けすることが容易である。それは、さまざまなドメイン特有のインテント認識器においてヒットの仮説スコアを明確にするかまたは重み付けするのに有用なスコアを提供することができる。
入力発話音声からのインテントの認識を実行する、いくつかの音声ベースの仮想アシスタントデバイスはまた、TTS合成発話音声の形式で応答をユーザに提供する。いくつかのモバイルデバイスおよび直接ユーザデバイスは、サーバから受信されたテキストから音声を生成できるローカルTTSエンジンを含む。いくつかのシステムは、音声合成エンジンを使用してサーバに対して音声合成を実行し、音声出力を、ネットワークを通して送信されるデジタル音声として提供する。
条件付き呼び出し
モバイルデバイスおよびデータセンターといった、パワーセンシティブなまたは性能が制限されたシステムにとって、認識器を不必要に作動させることを回避することは有益であり得る。したがって、認識器が確率スコアを計算し、スコアに依存して他のものを必要に応じて呼び出すことが可能である。
モバイルデバイスおよびデータセンターといった、パワーセンシティブなまたは性能が制限されたシステムにとって、認識器を不必要に作動させることを回避することは有益であり得る。したがって、認識器が確率スコアを計算し、スコアに依存して他のものを必要に応じて呼び出すことが可能である。
たとえば、インテント認識器は、定常状態では変数認識器とは独立して動作してもよい。そのスコアがしきい値に達すると、インテント認識器は、インテントに潜在的に存在する変数のための1つ以上の変数認識器を呼び出してもよい。
たとえば、ドメイン認識器は連続的に動作し、多くの可能ドメインまたは個別インテントの各々についてスコアを計算してもよい。スコアがしきい値に達すると、ドメイン認識器は、1つ以上のインテント認識器を呼び出してもよい。ドメイン認識器はまた、変数認識器を適宜呼び出してもよい。
たとえば、変数認識器は連続的に作動し、確率スコアを計算してもよい。スコアがしきい値に達すると、変数認識器は、変数に依存し得る1つ以上のインテント認識器を呼び出してもよい。変数認識器は、複数の列挙変数のうちのどれが認識されるかに基づいてインテント認識器を呼び出してもよい。これは、すべての変数値を理解するとは限らないインテント認識器を呼び出すことを回避するために有用である。それはまた、複数の変数タイプにわたって作動する変数認識器の訓練を可能にするために有用であり得る。たとえば、ロンドンについての興味深いポイントの名前タイプ変数および通りの名前タイプ変数のために、単一の変数認識器が訓練されてもよい。終業時刻インテントは、通りの名前の値ではなく、興味深いポイントの値についてのみ呼び出されるであろう。Paris(パリ)について、興味深いポイントおよび通りの名前のための別個の変数認識器が訓練されるであろう。同様に、複数の変数タイプのための変数認識器が、特定のユーザが使用する、または特定の製品が販売される場所で使用される、異なる発声言語について訓練されてもよい。
システム構築
下記は、ニューラル・スピーチ・ツー・ミーニングが可能なシステムの作成および強化に関与する手順である。
下記は、ニューラル・スピーチ・ツー・ミーニングが可能なシステムの作成および強化に関与する手順である。
インテントの追加 − インテントをシステムに追加するために、設計者は、インテントのためのフレージングをブレーンストーミングし、それらのフレージングをランダムな順序でシステムに入れて、インテントを表現する読み手から多様な音声データを入手してもよい。そのようなシステムの公然の一例はMozilla Common Voice(モジラ・コモン・ボイス)であり、参加者らは、自分たちの電話またはコンピュータが自分たちの声を取り込むように、文を音読する。そのようなシステムは、新しいインテントのさまざまなフレージングを話す多様な範囲の声を収集するのに有用であり得る。
変数認識器の作成 − インテントにおける各タイプの変数について、変数認識器を有することが必要である。それは、変数のサポートされた値(たとえば都市の名前)をすべて認識できる必要がある。変数値をすべてカバーする整列されたトランスクリプションされた音声記録から変数認識器を訓練することが可能である。また、音声記録収集システムを通して特定の変数値の記録を収集することも可能である。
新しいインテントは、適切なタイプの既存の変数認識器を使用してもよい。しかしながら、変数認識器によって認識されない変数の値をインテントが認識できる場合には、新しい変数値のための新しい音声記録を収集することが適切かもしれない。音声収集システムはこれを、文における変数単語の値を、訓練精度を高めるためにより多くの音声データを必要とする変数の値と置き換える、声の提供者が読むための文を構成することによって行なうことができる。
変数認識器は、インテント認識器とは独立して訓練され得るが、表現された実際のインテントでの使用のコンテキストで訓練される場合、より良好な性能を達成し得る。なぜなら、人々はコンテキストにおける場合とは異なって単語のみを話すためである。インテント認識器は、インテントフレージングの記録を用いて独立して訓練され得る。インテント認識器は、変数値を表現する音声記録における情報を、それが記録ごとに著しく変わる限り無視することを学ぶであろう。また、特定の変数値を有する音声区分へのランダムノイズをゼロにするかまたは追加することも、良いであろう。インテント認識器およびそれらがサポートする変数認識器を共同訓練することは、所望の精度への若干より速い訓練を達成することができる。
動作中にいったん、ユーザ音声クエリは取り込まれて、認識器を再訓練し、それにより将来の精度を高めるために使用され得る。1つの可能性は、人間のデータラベラーに、クエリ音声を聞かせ、応答を見させ、応答がクエリにとって適切であったかどうかに関する真または偽の信号を単に示させることである。別の可能性は、人間のラベラーが、クエリ音声を聞き、既知の一組のドメインのうちのどれにクエリが対処しているかを単に示すことである。別の可能性は、人間のラベラーが、何のAPIが何の引数でヒットしたかを示すディスプレイを見ながらクエリ音声を聞き、どれが間違っているかを示し、間違っているものについて、正しいAPIヒットまたは引数値は何であるべきかを示すことである。
別の可能性は、システムが、以前の仮想アシスタント応答が不満足であったという表示を認識するように訓練された特別のインテント認識器を有することである。「no(いいえ)」または「I meant(というつもりだった)」などの単語、またはいらいらしたトーンの声は、そのような指標であり得る。不満足認識器は、以前の表現がおそらく正しくなかったため、それらに、人間のラベル付けか、または、訓練データのラベル付けもしくは改良のための他の自動化手順のための優先順位を与えるものとして、以前の表現にフラグを立てるために使用され得る。
ニューラル・スピーチ・ツー・ミーニング仮想アシスタントシステムを作成することは、開始が非常に困難であるが、システムが使用されるにつれて、および、使用からデータが収集されるにつれて、より良好に、かつより容易になる。
グローバル認識器およびハイブリッド認識器
1つの可能なアプローチは、離散的なドメイン特有認識器を有することである。これは、モジュール式の構成可能な仮想アシスタントを構築するのに有用である。たとえば、プラットフォームは、自動車制御ドメインおよび天気ドメインをサポートするものの料理ドメインをサポートしない、自動車のための第1の仮想アシスタントと、天気ドメインおよび料理ドメインをサポートするものの自動車制御ドメインをサポートしない、スマートスピーカのための第2の仮想アシスタントとを構成することをサポートできる。離散的な認識器はまた、開発者が、グローバルモデルを再訓練することなく、インテント認識を独立して追加し、除去し、アップグレードすることを可能にするという利点を有する。それは、各インテントが、インテント間で正規化される確率スコアと、自然言語表現のために最も確率が高いインテントを選択するための最終選択段階とを出力することを必要とする。
1つの可能なアプローチは、離散的なドメイン特有認識器を有することである。これは、モジュール式の構成可能な仮想アシスタントを構築するのに有用である。たとえば、プラットフォームは、自動車制御ドメインおよび天気ドメインをサポートするものの料理ドメインをサポートしない、自動車のための第1の仮想アシスタントと、天気ドメインおよび料理ドメインをサポートするものの自動車制御ドメインをサポートしない、スマートスピーカのための第2の仮想アシスタントとを構成することをサポートできる。離散的な認識器はまた、開発者が、グローバルモデルを再訓練することなく、インテント認識を独立して追加し、除去し、アップグレードすることを可能にするという利点を有する。それは、各インテントが、インテント間で正規化される確率スコアと、自然言語表現のために最も確率が高いインテントを選択するための最終選択段階とを出力することを必要とする。
別のアプローチは、グローバルなクロスドメインインテント認識器を訓練することである。これは、特定用途向けのシステムにおける冗長性を最小化するのに有用である。グローバルなインテント認識器は、あらゆる可能インテントについて訓練され、したがって、最も確率が高いインテントの選択を自動的に行なうという利点を有する。
グローバルアプローチであれ、離散的アプローチであれ、インテント認識器は、インテントに反応することをトリガする出力を有する。これは、従来の質問応答仮想アシスタントにおける発言終了検出器の機能を果たす。
保持された低レベル特徴の重みおよびバイアスへの逆伝搬なく、新しいまたは改良されたインテントのために、固定された低レベル特徴を保持し、高レベル特徴を訓練することによって、グローバルなインテント認識器が再訓練される、ハイブリッドアプローチが可能である。
ニューラル・スピーチ・ツー・ミーニング認識器の実現へのいくつかのアプローチは、アテンションを含むCNN−LSTM−DNNまたはシーケンス・ツー・シーケンスまたはRNNトランスデューサモデルである。図8は、4つの層を有し、インテント認識器のために使用され得る一例を示す。より多い、またはより少ない層が可能である。それは、音声サンプルのフレームまたはスペクトル写真に対して動作する畳み込み層である最下位の入力層を有する。それは、層1特徴の確率のセットを計算する。第2の層は回帰層である。回帰ノードは二重丸で示される。回帰は、長短期記憶(LSTM)タイプであってもよい。層2特徴は、より小さい第3の層に入力される。第3の層も回帰層であり、LSTM層であってもよい。層3特徴は、Xのついた丸で示された外部認識器からの入力を取り込むフィードフォワード層によって使用される。外部認識は、1つ以上の変数認識器および/またはドメイン認識器からであってもよい。そのようなアーキテクチャでは、インテント認識器として使用される場合、最上層ノードの組合せは、APIヒットが生じるべきであることを示す最終出力を生成する。
この表は、4層のニューラル・スピーチ・ツー・ミーニングネットワークの一実施形態について、特徴の複雑性のレベルごとに、科学用語および従来のASR−NLUシステムの用語で何が適切な類推であり得るかを示す。
独立した変数認識器
図8のものと同様のアーキテクチャが、変数認識器で使用可能である。畳み込み入力層、回帰層、およびいくつかのディープフィードフォワード層が適切である。変数認識器として使用される場合、列挙変数値を各々表わす多くの(潜在的には何千もの)出力ノードがあってもよい。また、下流システムが最も確率が高い単一の変数値を識別することを可能にする最終ソフトマックス(SoftMax)層があってもよい。
図8のものと同様のアーキテクチャが、変数認識器で使用可能である。畳み込み入力層、回帰層、およびいくつかのディープフィードフォワード層が適切である。変数認識器として使用される場合、列挙変数値を各々表わす多くの(潜在的には何千もの)出力ノードがあってもよい。また、下流システムが最も確率が高い単一の変数値を識別することを可能にする最終ソフトマックス(SoftMax)層があってもよい。
いくつかのシステムは、変数認識器を連続的に作動させる。それらは、音声フォルマントなどの共通の特徴を認識する低層を用いてマルチタスク学習を使用し、性別および年齢に特有の音響情報といった無関係の情報を破棄する。上位層は、特定の変数値を区別することを学習する層である傾向があるであろう。
しかし、すべての変数のために単一の認識器を訓練することは可能であり、それは、低レベル特徴のための計算の複製を回避するという利点を有する。構成可能でアップグレード可能なシステムは、新しい場所の名前または新しい有名人の名前といった新しい値が知られるようになるにつれて、変数認識器の頻繁な再訓練を必要とする。いくつかのシステムは、場所の名前、人々の名前、および企業の名前などのタイプによって変数認識器を分類する。いくつかのシステムは、北米およびヨーロッパなどの地理的場所によって変数認識器を分類する。いくつかのシステムは、中華人民共和国の中国語、日本語、および英語などの言語によって変数認識器を分類する。いくつかのシステムは、自動車、スマートスピーカ、および小売り業などの用途によって変数認識器を分類する。
人々の一般的な名前のための変数認識器は、ユーザの個人的な連絡先リストにアクセスすることを必要とするインテントにとって有用である。そのようなインテントを扱うAPIは、認識された名前を受信し、連絡先リストにある名前の複数の既知の発音のセットへの音声学的一致を実行し、認識された名前が住所録にある名前と一致しない場合にはエラー信号を返す必要がある。いくつかのシステムでは、姓および名のための別々の変数認識器が適切である。
共同訓練される変数認識器
ビン・リウ(Bing Liu)による論文(SIGDIAL2016会議の議事録、22〜30ページ、米国ロサンゼルス、2016年9月13〜15日)などでのように、インテント認識器および変数認識器を共同訓練することが可能である。しかしながら、リウのアプローチは、(a)出力空間は可能変数ラベルの数が指数関数的であるため、ビーム検索を実行する間、カバレッジがより少なく、また、(b)変数を求める間、グローバルインテントの知識がない。
ビン・リウ(Bing Liu)による論文(SIGDIAL2016会議の議事録、22〜30ページ、米国ロサンゼルス、2016年9月13〜15日)などでのように、インテント認識器および変数認識器を共同訓練することが可能である。しかしながら、リウのアプローチは、(a)出力空間は可能変数ラベルの数が指数関数的であるため、ビーム検索を実行する間、カバレッジがより少なく、また、(b)変数を求める間、グローバルインテントの知識がない。
2パスアプローチは、グローバルインテントの知識の欠如を回避する。第1のパスは、文全体のインテント/ドメインを判定するために長い量の時間を見る。第2のパスは、第1のパスで予測されたインテントを条件とする。第2のパスは、変数のための値を予測する。2パスアプローチは、第2のパスが始まり得る前に第1のパスで完全な文を処理することを必要とするという欠点を有しており、それは、リアルタイム要件を満たすために第2のパスを作動させるための処理パワー需要の大きいスパイクを作る。
第3のアプローチは、たった1つのパスを行なうことを必要とするものの、前述のアプローチの双方の問題に対処する。第3のアプローチは、以下のように、単語/音響信号から変数値予測の条件付き確率を分ける:
唯一懸念されることは、最も確率が高いドメインおよび/またはインテントのための変数値を予測することであるため、このアプローチは、上述の式における和をargmaxに変換し、それにより、以下の式に従って、最も確率が高い(ドメイン、インテント、変数)トリプレットを生み出す:
我々が、D個のドメイン、ドメインごとにI個の平均インテント、および、インテントごとにS個の平均変数を有すると仮定する。上述の式は、O(DIS)という複雑性を有し、それは何千にもなり得る。さらに、我々はこれを、入力におけるすべての特徴について行ない、それにより、総複雑性をO(TDIS)にする。ここで、Tは、入力時間ステップの総数である。複雑性を減少させるには、最も確率が高いW個のインテント/ドメインのビーム幅を考慮することによって、ドメイン/インテントに対してビーム検索を行なうことが可能である。これは、複雑性をO(TWS)まで下げる。実際的事例については、Wは、5〜20という近似範囲にあり得る。
このアプローチは最も確率が高いW個のインテントについての変数およびそれらの値を予測するものの、モデルは、各入力特徴の取得を用いてそのインテント確率分布を改良し続ける。T個の時間ステップの最後に、分布P(Intent|x)が、対応する変数を再度重み付けするための再採点メカニズムとして使用され、それにより、最終出力を文全体のインテントと一致させる。
このアプローチの場合、カバレッジ比率は、W/KTというよりもむしろW/Iである。ここで、Wはビーム幅、Iは別個のインテントの数、Kはビン・リウら(2016)からの別個の変数ラベルの数、Tは入力特徴の総数である。I<<KTであるため、我々の方法は、変数の条件付き分布を計算的に扱いやすく保ちつつ、ビン・リウら(2016)よりも指数関数的により良好なカバレッジを有する。
ASR認識器
いくつかのドメインは、任意のテキストを必要とする。たとえば、口述されたテキストメッセージを送信するためのドメインは、十分なボキャブラリASRを必要とする。テキストトランスクリプションは効果的には、特別の変数認識器である。
いくつかのドメインは、任意のテキストを必要とする。たとえば、口述されたテキストメッセージを送信するためのドメインは、十分なボキャブラリASRを必要とする。テキストトランスクリプションは効果的には、特別の変数認識器である。
テキストメッセージを送信するようにインテント認識器を訓練することを考慮されたい。システムは、テキストが最初の「text(テキスト)」と最後の「to(に)」とによって区切られたフレージングを学習することができる。それはたとえば、「text i love you to my mom」をサポートする。
しかし、単語「to」がASRに現われている「text go to the store to my mom」といったフレージングをサポートすることは、アテンションベースのモデルの使用から利益を得る。ここで、このモデルは、ラベルを予測しながら入力の両端を見ることができる。ラベルは、たとえば、MESSAGE_BEGIN、MESSAGE_END、TO_PERSON_BEGIN、およびTO_PERSON_ENDであり得る。このため、完全な文を有することが必要であり、したがって、単語を見てそのラベルを予測することによって反復する態様で行なうことはできない。
ドメイン認識器
ドメインとは、共通のデータソースまたは同様のトピックに関連する、インテント認識器の集合、または、複数のインテント出力を有するそれぞれの訓練された認識器である。
ドメインとは、共通のデータソースまたは同様のトピックに関連する、インテント認識器の集合、または、複数のインテント出力を有するそれぞれの訓練された認識器である。
複数のドメインをサポートするシステムでの推論時間処理を減少させるために、ドメイン特有のインテント認識器間で選択し、音声を認識しそうなドメインに特有のインテント認識器のうちの1つまたは少数のみを作動させるように、ドメイン認識器を訓練する。
多言語性
これらの手法の利点は、それらが言語に依存しないということである。発声言語の違いは単に、インテントの学習されたフレージングの違いである。ニューラル翻訳器は本質的に、埋め込み空間におけるエンコーダ−デコーダである。妥当な数のインテントのために、次元性は、人間言語間の翻訳器全体よりもはるかに小さくなり得る。
これらの手法の利点は、それらが言語に依存しないということである。発声言語の違いは単に、インテントの学習されたフレージングの違いである。ニューラル翻訳器は本質的に、埋め込み空間におけるエンコーダ−デコーダである。妥当な数のインテントのために、次元性は、人間言語間の翻訳器全体よりもはるかに小さくなり得る。
インテントが本質的に、ありふれた翻訳用ターゲット言語である場合、システムは、ニューラル翻訳能力を使用することができる。図9は、学習された意味空間を示す。任意の発声言語での表現は、共有の意味空間を通して、別の言語の表現にマッピングされ得る。同様に、表現はインテントに、それらが発声言語であるかのようにマッピングされ得る。
これは、一組のインテント引数から人間言語での文法上正しい可聴音声を生成できる逆のネットワークの生成を可能にするというさらに驚くべき効果を有する。
なお、言語間の借用語により、言語を越えた変数認識器の多くの重複がすでに存在する。たとえば、「KFC」および「iPhone(登録商標)(アイフォン)」という単語はすべての言語で使用され、国際的に知られたミュージシャンの名前のリストは言語を越えて使用される。
インテント認識器は、既存の意味空間言語翻訳器モデルを使用して、任意の言語のフレージングを学習することができる。これは実用的である。なぜなら、仮想アシスタントは、言語のあらゆる可能な文の意味と比べて、ほんの少数のインテントをサポートするだけであるためである。インテントJSONは、その引数を用いてAPI要求を形成するために、および、どのAPI応答データ値がユーザに提供するのに適切かを選択するために有用である。
精度の定量化
従来のシステムは、ASRの単語エラー率を測定する。文法解釈の精度についての業界標準メトリクスはない。解釈が正しいかどうかは主観的であり得る。精度のより実用的な測定は、全体的なユーザ満足度である。それはまた、ニューラル・スピーチ・ツー・ミーニングの精度を定量化するための最も意味のある方法である。もちろん、精度は訓練データの量が増えるにつれて高まり、いくつかのデータは他のデータよりも有用である。
従来のシステムは、ASRの単語エラー率を測定する。文法解釈の精度についての業界標準メトリクスはない。解釈が正しいかどうかは主観的であり得る。精度のより実用的な測定は、全体的なユーザ満足度である。それはまた、ニューラル・スピーチ・ツー・ミーニングの精度を定量化するための最も意味のある方法である。もちろん、精度は訓練データの量が増えるにつれて高まり、いくつかのデータは他のデータよりも有用である。
インテント認識器のほとんどのシステムは、発声表現での単語の可能な組合せの存在よりも少ない可能インテントを認識する。ほとんどの変数認識器は、発声表現での単語の可能な組合せの存在よりも少ない列挙値を認識する。したがって、予測空間は、インテント認識器および変数認識器にとってはるかに小さく、したがって、満足できる性能を達成するために必要とされる絶対精度ははるかに低い。
インテント認識器の精度の測定は、間違った表明を与えるかまたは実際の表現を欠くという点で、フレーズスポッターの精度の測定に相当する。フレーズスポッターと発言終了検出器とを有するシステムにおいてニューラル・スピーチ・ツー・ミーニングを使用することは、非使用時間中にヒット表明を回避することによって精度をさらに高め得る。さらに、ウェークフレーズの後で、発言終了検出時に、ニューラル・スピーチ・ツー・ミーニングに基づいたシステムは、完全な表現を有することがわかっている音声の区切られたセグメントを有しており、どのインテントが表現されたかを判定するために完全な表現に対して動作する。
データを入手するコスト
ニューラル・スピーチ・ツー・ミーニング・システムを立ち上げ、それを正確にすることへの最大の挑戦のうちの1つは、十分な数の訓練データと十分に多様な訓練データとを入手することである。
ニューラル・スピーチ・ツー・ミーニング・システムを立ち上げ、それを正確にすることへの最大の挑戦のうちの1つは、十分な数の訓練データと十分に多様な訓練データとを入手することである。
ユーザ受け入れのための十分な精度を有するシステムを立ち上げることは、少数のインテントから始まり、ユーザが妥当な期待を有するシステムにとって比較的容易である。例としては、1つのインテントを有する目の不自由な人々のための音声ベースの時計、オンおよびオフという2つのインテントを有する音声制御電球、または、今日、明日、もしくは今後10日間の各々についての一般的な天気予報、気温予報、または降水予報の各々についての短いまたは長い予報といった、10〜20個のインテントをサポートする仮想気象予報士が挙げられる。
インテントが20個ある仮想気象予報士は、人間言語ごとに約100個の慎重に選ばれたフレージングについて訓練され得る。1つの人間言語において、インテントごとに100/20=5個以上の可能フレージングがあるが、LSTMモデルをアテンションとともに使用することは、さまざまなフレージングにおけるキーワードからインテントを認識するであろう。たとえば、「what is today's high temperature(今日の最高気温は何度ですか)」および「tell me the high temperature for today(私に今日の最高気温を教えて下さい)」というフレージングについての訓練は、「high temperature(最高気温)」および「today(今日)」という音声セグメントをいずれかの順序で有する他の妥当なユーザフレージングをほぼ全て認識するであろう。
多くのボランティアが、たとえば10ドルの商品券と引き換えに100個のフレーズを読むであろう。100個のフレーズを読むごとに10ドルもかからない品質データソースが、今日利用可能である。インテントが20個ある認識器を受け入れ可能な精度で訓練するには、100〜1000個の声でおそらく十分である。つまり、訓練データのためのコストは1000ドル〜10,000ドルである。
識別可能に同様であるインテントを有するフレーズのシーケンスを見ている読み手は、自分たちのタスクの単調さを回避するために、不自然な音声スタイルを使用する傾向があるであろう。訓練システムは、不自然な読み方を妨げるために、異なるタイプのデバイス、API、またはコンテキストのためのインテントのためのテキストサンプルをランダム化することができる。さらに、システムは、変数のための音声データを収集するために、自然文内の変数値をランダム化することができる。
「ボランティア」の読み手の音声記録を収集するためのいくつかの方法は、ダウンロード可能な電話アプリ、Mozilla Common Voiceなどの音声入力能力を有するウェブページを介するものであり、または、防音されたレコーディングブースを公共の場所に配置することによるものである。
何人かのおっちょこちょいの読み手は、自分たちが見ているテキスト以外の何かを言うかもしれない。訓練するためのデータを使用する前に、従来のASRを使用してテキストに照らして声をチェックすることが可能である。読み手の読む精度が90%などの高率に満たない場合、商品券は渡されない。
多様な範囲のユーザのための音声ベースのシステムは、多様な一組の音声について訓練される必要がある。訓練セットを多様化させるために必要な音声記録ボランティアのタイプを引き寄せるために、フェースブック(登録商標)またはグーグル(登録商標)アドワーズ(Google AdWords)などを通してターゲット広告を購入することが可能である。たとえば、ある性別の人々は、音声記録の機会の全体的通知に応答する可能性が高いため、応答する可能性が低いグループをターゲットとする広告を購入することは、多様な一組の訓練データを保証するための1つの方法である。
ドメインが多い仮想アシスタントは100個のドメインを有し、それらは各々、平均100個の包括的インテントを有し、それらは各々、平均10個の効果的なフレージングを10個の主要言語の各々において有し、主要言語は各々、良好な精度のために1000個の声を必要とするかもしれない。それは、約10億個の記録を必要とする。記録ごとの平均コストが記録ごとに0.01ドルである場合、仮想アシスタントは、たった1000万ドルで訓練され得る。
ドメインに特化したアシスタントは、はるかに安価であり得る。単一言語の仮想アシスタントは、はるかに安価であり得る。
データの取得
多様なフレージングのデータベースから訓練データを取得することも可能である。そのようなデータベースは、既存の仮想アシスタントシステムのユーザからの音声発言データを保存した結果、存在する。一般に、それらの記録は、将来のニューラル・スピーチ・ツー・ミーニング仮想アシスタントを訓練するために特に統計的に関連する。そのようなシステムは一般に、インテントデータ構造とともに、または、インテントデータ構造を直ちに再生する能力とともに格納された音声記録を有する。
多様なフレージングのデータベースから訓練データを取得することも可能である。そのようなデータベースは、既存の仮想アシスタントシステムのユーザからの音声発言データを保存した結果、存在する。一般に、それらの記録は、将来のニューラル・スピーチ・ツー・ミーニング仮想アシスタントを訓練するために特に統計的に関連する。そのようなシステムは一般に、インテントデータ構造とともに、または、インテントデータ構造を直ちに再生する能力とともに格納された音声記録を有する。
理想的なデータソースは、以前に正しくないインテントを生み出したために専門家が正しいインテントをラベル付けした音声記録を含むであろう。効率的なチェックを容易にするための方法は、人間が同時に発話音声を聞き、仮想アシスタントの応答を見て、それが正しいかどうかの表示をタイプまたはクリックするためのウェブベースのインターフェイスを作成することである。第2段階のウェブページは、正しくないとしてチェックされたデータだけを見て、音声と、選択すべきいくつかの可能な正しいインテントのビューと、どれも正しくないかどうかを示すかまたは可能であれば正しいインテントを入力するためのオプションとを提供する。
チェックされ、ラベル付けされたクリーンデータのデータベースから、訓練プロセスは、データベースをインテントごとにフィルタリングして、インテント認識器ごとに独立して訓練データを提供することができる。
入手されたクリーンデータと比較して、取得されたデータは、より多様なフレージングを有する傾向がある。その結果、それは、正確なモデル訓練にとってより貴重であり得る。ただし、それは、専門家がチェックしてラベル付けする時間を必要とするため、比較的より高価になり得る。また、それは、システムが現場にあり、ユーザがそれを使用した後でのみ、データが利用可能であるというコールドスタート問題を有する。
訓練データのTTS生成
特にコールドスタート問題を克服するために訓練データセットを生成または増大するための別の方法は、高いパラメータ多様性を使用して、識別可能なフレージングのための発話音声を生成するために、パラメトリックTTSを使用することである。これは最小価格であるが、訓練データセットの一部のみのために使用されるべきである。さもなければ、訓練はTTS合成器の属性に過剰適合するであろう。第1世代のTTSシステムは連結型であった。それらのシステムは、音声提供者の記録から音声を合成した。現代のTTSは、生成された音声のための声の音を定義するために、パラメータのセットを使用する。パラメータは、テキストから音声を生成するために、生成的ニューラルネットワークなどのモデルによって使用される。パラメトリックTTSシステムは、合成音声のより多くのバリエーションおよびリアリズムのための能力を有して、より精巧になっている。これにより、TTSは、訓練されたモデルをTTSの属性に過剰適合させることなく、より多くの訓練データを安価で生成することができる。
特にコールドスタート問題を克服するために訓練データセットを生成または増大するための別の方法は、高いパラメータ多様性を使用して、識別可能なフレージングのための発話音声を生成するために、パラメトリックTTSを使用することである。これは最小価格であるが、訓練データセットの一部のみのために使用されるべきである。さもなければ、訓練はTTS合成器の属性に過剰適合するであろう。第1世代のTTSシステムは連結型であった。それらのシステムは、音声提供者の記録から音声を合成した。現代のTTSは、生成された音声のための声の音を定義するために、パラメータのセットを使用する。パラメータは、テキストから音声を生成するために、生成的ニューラルネットワークなどのモデルによって使用される。パラメトリックTTSシステムは、合成音声のより多くのバリエーションおよびリアリズムのための能力を有して、より精巧になっている。これにより、TTSは、訓練されたモデルをTTSの属性に過剰適合させることなく、より多くの訓練データを安価で生成することができる。
いくつかのドメインは、何百万もの変数値をサポートする変数認識器を必要とする。これは、たとえば「show me <ITEM>(私に<品物>を見せて下さい)」などのフレージングをサポートする、モールマート(Mall-Mart)大型小売店で入手可能な品物を見るためのインテントを有する用途で生じる。ここで、<ITEM>(品物)は、店の在庫における何百万もの品物のうちのいずれか1つを指し得る変数である。品物の名前を1つ残らず読む音声記録を収集することが非実用的である場合、TTSによって生成された発話音声のデータセットを使用して変数認識器を訓練することが可能である。
図10は、ニューラルTTS生成器1001の図を示す。それは、変数値のテキストを入力として受け入れる。システムは、単語、文字、または音素を入力として受け入れてもよい。システムは、異なる数の入力を受け入れてもよい。TTS生成器1001は、1組の重みとともにニューラルネットワークを使用して、入力テキストを変換して発話音声を出力する。ニューラルTTS生成器のいくつかの隠れノードは、再帰ノードである。
自然に聞こえるTTS生成器を設計する際、主な目標は、人間の聞き手が自然で心地よく聞こえると評価するパラメータセットを学習することである。それは、変数認識器を訓練するためにデータを生成するための主な目標ではない。まとめると、システムを使用するであろう話し手の範囲と一致する発話音声を生成する、多くの多様なパラメータセットを見つけることが、重要である。
それを達成することへの1つのアプローチは、多様な範囲の声のコーパスを作成することである。声はすべて、仮想アシスタントのためのウェークフレーズなどの特定のフレーズを言っていてもよい。声はすべて、異なるフレーズを言っていてもよい。次に:
1.関連する特徴に従った音声分析(たとえばiベクトルフィンガープリンティング)アルゴリズムを使用して、すべての音声記録についての重心値と、自然音声をすべて取り込む重心からの範囲とを計算する。アルゴリズムは、人間の音声特性(フォルマントパターンまたは現実的な有声音声周波数)が存在することだけでなく、人間以外の音声特性(たとえば、人間の音声には生じないノイズまたは他のアーチファクト)が存在しないことも確かめることが重要である;
2.基本パラメータニューラル生成的TTSエンジンを使用して、パラメータセットに従ってフレーズのための発話音声を生成する;
3.生成された発話音声を、重心からのその距離を見つけるために分析する;
4.生成された音声が自然な範囲を超えている場合、パラメータセットを破棄する;
5.超えていない場合、重心から生成された発話音声の特徴値へのベクトルを計算し、パラメータセットとそのベクトル値とを保存する;
6.保存されたパラメータセットのベクトルから遠い距離にある方を好むものの、重心からの自然な範囲内にある次のパラメータセットの選択に、コスト関数を適用する;
7.多くの反復のためにステップ1に戻る;
8.広範囲の音素およびダイフォン(diphone)をカバーする少なくともいくつかの異なる特定のフレーズについて、上述の手順を繰り返す;
9.変数認識器が認識する必要がある変数値ごとに、保存されたパラメータセットごとに、発話音声を、変数認識器を訓練するための初期訓練セットとして生成する。
1.関連する特徴に従った音声分析(たとえばiベクトルフィンガープリンティング)アルゴリズムを使用して、すべての音声記録についての重心値と、自然音声をすべて取り込む重心からの範囲とを計算する。アルゴリズムは、人間の音声特性(フォルマントパターンまたは現実的な有声音声周波数)が存在することだけでなく、人間以外の音声特性(たとえば、人間の音声には生じないノイズまたは他のアーチファクト)が存在しないことも確かめることが重要である;
2.基本パラメータニューラル生成的TTSエンジンを使用して、パラメータセットに従ってフレーズのための発話音声を生成する;
3.生成された発話音声を、重心からのその距離を見つけるために分析する;
4.生成された音声が自然な範囲を超えている場合、パラメータセットを破棄する;
5.超えていない場合、重心から生成された発話音声の特徴値へのベクトルを計算し、パラメータセットとそのベクトル値とを保存する;
6.保存されたパラメータセットのベクトルから遠い距離にある方を好むものの、重心からの自然な範囲内にある次のパラメータセットの選択に、コスト関数を適用する;
7.多くの反復のためにステップ1に戻る;
8.広範囲の音素およびダイフォン(diphone)をカバーする少なくともいくつかの異なる特定のフレーズについて、上述の手順を繰り返す;
9.変数認識器が認識する必要がある変数値ごとに、保存されたパラメータセットごとに、発話音声を、変数認識器を訓練するための初期訓練セットとして生成する。
TTSからニューラル・スピーチ・ツー・ミーニングを訓練することへの1つのアプローチは、以下の通りである:
1.インテントのフレージングにおける変数の値であり得る多数の単語を判定する;
2.仮想アシスタントのユーザの声を表わす多数のパラメータセットを判定する;
3.多数の単語のために多数の発話音声セグメントを合成する。セグメントは、多数のパラメータセットに従って合成される;および、
4.合成された発話音声セグメントを使用して、発話音声における多数の単語のうちのいずれかの存在の確率を計算することができる変数認識器を訓練する。
1.インテントのフレージングにおける変数の値であり得る多数の単語を判定する;
2.仮想アシスタントのユーザの声を表わす多数のパラメータセットを判定する;
3.多数の単語のために多数の発話音声セグメントを合成する。セグメントは、多数のパラメータセットに従って合成される;および、
4.合成された発話音声セグメントを使用して、発話音声における多数の単語のうちのいずれかの存在の確率を計算することができる変数認識器を訓練する。
さらに、インテント認識器を、フレージングの発話音声のセグメントについて訓練することが可能であり、インテント認識器への入力は、変数認識器から出力された確率である。オプションで、音声を合成するために、フレージング内の変数のコンテキストにおける隣接する音声情報、すなわち、単語の前後にどの単語/音素が来るかに関してそうすることが可能である。音素の発音は、直前または直後に他のどの音素が話されるによって影響される。これは、すべての言語で意図せずに起こるが、いくつかの言語では言語学的規則によって特異的に起こる。フランス語のリエゾン規則は一例である。
また、フレージング内の変数に対する強調に関してそうすることも、オプションで可能である。自然音声で話されたフレーズ、特に命令はしばしば、強調を含む。強調は、聞き手が最も関連する情報を取り込むのを助けるために、変数単語上にある場合がある。たとえば、「how is the weather in AUSTIN(オースチンの天気はどうですか)」では、「how is the weather in Boston(ボストンの天気はどうですか)」と混同されないように、AUSTIN(オースチン)が強調される。強調はまた、重要な意味情報を有する他の単語上にある場合がある。たとえば、「book a flight FROM London TO Hong Kong(ロンドンから香港へのフライトを予約して下さい)」では、FROM(から)とTO(への)が強調される。
多様なユーザの声を表わす複数のパラメータセットを最小のバイアスで判定することへの1つのアプローチは、以下の通りである:
1.多様な声を表わす普通の人々の多数の発話音声記録を入手する;
2.音声特徴の埋め込み空間内の記録された音声ベクトルを計算するために、記録を分析する;
3.埋め込み空間内の記録された音声ベクトルの範囲を表わす領域を計算する;
4.損失関数に従って勾配降下によって複数の音声合成パラメータセットを学習する。損失関数は、
4a.複数のパラメータセットにおけるパラメータセットに従って音声セグメントを合成し、
4b.空間における合成された音声ベクトルを計算するために、合成された音声セグメントを分析し、
4c.空間内の合成された音声ベクトルのクラスタ化に比例した損失を計算することによって計算される。
1.多様な声を表わす普通の人々の多数の発話音声記録を入手する;
2.音声特徴の埋め込み空間内の記録された音声ベクトルを計算するために、記録を分析する;
3.埋め込み空間内の記録された音声ベクトルの範囲を表わす領域を計算する;
4.損失関数に従って勾配降下によって複数の音声合成パラメータセットを学習する。損失関数は、
4a.複数のパラメータセットにおけるパラメータセットに従って音声セグメントを合成し、
4b.空間における合成された音声ベクトルを計算するために、合成された音声セグメントを分析し、
4c.空間内の合成された音声ベクトルのクラスタ化に比例した損失を計算することによって計算される。
クラスタ化に比例した損失とは、声音のほぼ均一な分布を生成する多数のパラメータセットを学習する方を好むことを意味する。これは、あるスピーカタイプへのバイアスを回避し、正確なモデルを訓練するために必要とされるデータ量を最小化する。
音声合成パラメータセットのうちの十分訓練されたセットを用いると、音声合成パラメータセットに従って1つ以上の列挙された単語の音声のセグメントを合成し、それを使用して変数認識器を訓練することが可能であり、訓練データは、列挙された単語の音声の合成されたセグメントを含む。訓練データはまた、他のデータサンプルを含んでいてもよい。
埋め込み空間は一般に学習される。しかしながら、それらはまた、エンジニアまたは科学者らが関連があることを知っているパラメータに従って選択され得る。
パラメータセットを生成し、音声を合成し、それを分析してその埋め込みベクトルを計算する際、いくつかのパラメータセットは、自然音声の範囲から外れる音声を生成することが可能である。そのような場合、そのようなパラメータセットを単に破棄することが妥当であろう。
許容可能な音声の範囲を学習するために使用される自然音声のデータセットに過度に厳しく制約されたパラメータセットを学習することを回避するために、領域のまわりに何らかのマージンを追加することが妥当である。そのマージンを含む領域に含まれる音声セグメントを合成するパラメータセットは、破棄されるべきでない。それらは、異常な音声を取り込む認識器モデルを訓練するために使用されるべきである。
用途特有の変形に概して類似するアプローチと同様に、TTSによって訓練データを生成することへの上述のアプローチのハイブリッドが可能である。
プラットフォーム・インフラストラクチャ
いくつかの企業は、多様な範囲のデバイスのための仮想アシスタント能力を提供するプラットフォームを提供する。それらはまた、多様な範囲のデータソースドメインおよびアクション能力ドメインへのアクセスを提供する。プラットフォームがより多くのドメインをサポートするにつれて、それはデバイスユーザにとってより有用になり、より多くのデバイスユーザがプラットフォームにつながるにつれて、プラットフォームを通してコンテンツを提供することが第三者ドメインプロバイダにとってより有益になる。競合する仮想アシスタントプラットフォームプロバイダは、さらにより多くのタイプのデバイスを通してさらにより多くのタイプのデータにアクセできるさらにより多くのドメインインテントをサポートするように連続的に成長する必要がある。
いくつかの企業は、多様な範囲のデバイスのための仮想アシスタント能力を提供するプラットフォームを提供する。それらはまた、多様な範囲のデータソースドメインおよびアクション能力ドメインへのアクセスを提供する。プラットフォームがより多くのドメインをサポートするにつれて、それはデバイスユーザにとってより有用になり、より多くのデバイスユーザがプラットフォームにつながるにつれて、プラットフォームを通してコンテンツを提供することが第三者ドメインプロバイダにとってより有益になる。競合する仮想アシスタントプラットフォームプロバイダは、さらにより多くのタイプのデバイスを通してさらにより多くのタイプのデータにアクセできるさらにより多くのドメインインテントをサポートするように連続的に成長する必要がある。
そのようなプラットフォームは典型的には、数字および場所名といった、多くのドメインインテントで使用されそうな変数のための内蔵された変数認識器を提供するであろう。プラットフォームはまた、変数認識器よりも多くのインテント認識器をホストするであろう。なぜなら、典型的には、ドメインごとに1つまたは多くのインテント認識器が存在し、プラットフォームを通して自分たちのデータおよびアクション能力サービスを提供する何千もの第三者ドメインプロバイダが存在し得るためである。また、特定の小売店で入手可能な製品の名前を認識するものといった、ドメイン特有の変数認識器を有することも可能である。
図11は、1人以上のユーザ1101によって使用される非常に小さいプラットフォームの一例を示す。1人以上のユーザは、携帯電話1102、ホームデバイス1103、または自動車1104などのデバイスを通して、音声コマンドによってドメインにアクセスする。デバイスは、インターネットまたは5Gモバイルデバイスネットワークなどのネットワーク1106を通して、プラットフォーム1105にアクセスすることができる。プラットフォーム1105は、デバイスメーカーおよびネットワークプロバイダとは別の企業によって提供されてもよい。
デバイスは、発話を含むデジタル音声の記録またはストリームをプラットフォームへ送信する。プラットフォームプロバイダは、場所名1107、レストラン名1108、住所1109、数字1110のためのものといった、内蔵された一般的な変数認識器を提供する。
いくつかのプラットフォームは、ユーザの連絡先リスト内のデータを使用し、ユーザの声の記録と、同じ字句スペリングを有する名前の既知の音声セグメントとから訓練する、友人名1111のための認識器といった、ユーザ特有の変数認識器を構築してもよい。
いくつかのプラットフォームは、ドメインプロバイダによって提供された、または、ドメインプロバイダからの認識可能な変数値のための音声データを使用してプラットフォームプロバイダによって訓練された、ドメイン特有の変数認識器を提供してもよい。図11は、ドメイン特有の変数認識器を示していない。
プラットフォーム1105はまた、ドメイン認識器1112を含む。それは、既知のまたはラベル付けされたドメイン特有の音声記録について訓練される。それは、入ってくる発話音声について、クエリを認識するためにどのドメインインテントが正しいかを予測する。プラットフォームはこれを、インテント認識器の作動または表明受入れの条件とするために、またはインテント認識器仮説を再採点するために使用してもよい。これは、特にプラットフォームがいくつかの第三者ドメインのための未熟なインテント認識器に応答を提供する場合に、プラットフォームの精度、ひいてはユーザ経験を高める。
ドメインプロバイダは、ドメインごとのインテント認識器を提供する。ドメインプロバイダは、おそらくプラットフォームプロバイダとともに、それらのドメインが応答できるインテントのための認識器モデルを訓練する。図11のシステムでは、インテント認識器1114がヒットを表明すると、天気データ1113を有する天気情報ドメインプロバイダは、そのAPIへのヒットを可能にする。天気プロバイダAPIヒットは、場所名変数認識器1107から場所名値を受信する。天気インテント認識器をトリガする音声が受信される期間中に場所名認識器が有効な場所名を表明する場合、APIへのCURL要求のみが生じる。同様に、食品データ1115を有する食品情報プロバイダは、レストラン名変数認識器からの有効なレストラン名1108を条件とする食品インテント認識器1116によってトリガされたAPIヒットを受信する。
スマート電球1117のプロバイダは、ライトインテント認識器1118がAPIヒットをトリガすると、スマート電球がスピーチ・ツー・ミーニングプラットフォームによって制御されることを可能にする。ライトインテントAPIおよびその認識器は、変数認識器からの入力を必要としない。なぜなら、電球の機能は、オンおよびオフにし、光をより明るくまたはより薄暗くする能力以外の情報を必要としないためである。
ナビゲーションコマンドプロバイダ1119は、ナビゲーション制御および情報を、ホームデバイス1103以外の携帯電話1102または自動車1104などのユーザデバイスに送信する。ナビゲーションドメインAPIアクセスは、レストラン名、住所、または友人名変数のうちの1つだけを必要とするナビゲーションインテント認識器1120によって制御される。
メッセージ1121を送信する能力を有するドメインは、メッセージインテント認識器1122によってトリガされたAPIヒットによって制御される。それは、有効な友人名変数を、メッセージのための宛先として必要とする。それはまた、オプションで数字を含み得るメッセージテキストを必要とする。それはまた、一般的な自動音声認識機能を使用したトランスクリプションとして認識されるあらゆる任意のテキストを含み得る。それは、図11には図示されていない。
携帯電話、ホームデバイス、および自動車などのクライアントデバイスの開発者らは、プラットフォームを通して、それらがどのドメインにアクセスできるか、そしてその結果、それらのデバイスからのクエリのためにどのインテント認識器が作動すべきかを選択することができる。これは有用である。なぜなら、たとえばホームデバイスはナビゲーションを実行できず、したがってナビゲーションインテントを認識する必要がないためである。
文法ベースのシステムの補足
クエリの大型データベースを分析し、その一般的なインテントを見つけるために各々を文法解析し、頻度によって順序付けられたインテントのリストを生成することにより、文法ベースのシステムからの既存データを使用してニューラルベースのアプローチをブートストラップすることが可能である。次に、変数値をタグ(たとえばCITY(都市)およびNUMBER(数字))と置き換える;
例:「what's the weather in <CITY>(<都市>の天気は何ですか)」
例:「what's <NUMBER> plus <NUMBER>(<数字>足す<数字>は何ですか)」。
クエリの大型データベースを分析し、その一般的なインテントを見つけるために各々を文法解析し、頻度によって順序付けられたインテントのリストを生成することにより、文法ベースのシステムからの既存データを使用してニューラルベースのアプローチをブートストラップすることが可能である。次に、変数値をタグ(たとえばCITY(都市)およびNUMBER(数字))と置き換える;
例:「what's the weather in <CITY>(<都市>の天気は何ですか)」
例:「what's <NUMBER> plus <NUMBER>(<数字>足す<数字>は何ですか)」。
次に、最も頻度が高い一般的なインテントのために、インテントを生成するためにユーザが使用したさまざまなフレージングを見つけ、そのインテントのためのクエリ音声をインテント認識器のための訓練データとして使用する。
変数認識器のために、学習されるべき変数値と一致するインスタンスのための信頼できるトランスクリプションを検索する。各変数値を学習するために、整えられ整列された音声セグメントを使用する。
信頼できる文法解釈を有するクエリは、訓練データとして有用である。また、文法に合わないことがわかっているクエリも、否定的な訓練の例として有用である。ニューラル・スピーチ・ツー・ミーニング認識器がさらにより多くのデータについて再訓練されるにつれて、それは、文法に現われないフレージングのためのインテント仮説を正確に計算できるようになる。これは、文法作者にフィードバックを提供し、それらの文法の改良を支援するために使用され得る。これは、新しい理解能力をシステムに迅速に追加するのに特に有用である。文法開発者はフレージングを予想するために最善を尽くし、現場でのいくらかの使用時間の後で、システムは、文法を改良するために文法開発者にフィードバックを与える。
異なるインテントに対応する多数の重み付けされた文法を用いるハイブリッドシステムは、最も確率が高いインテントを推測するために、重みに従ってさまざまな文法からインテント仮説スコアを計算することができる。同時に、システムは、ニューラルモデルを使用してインテント仮説スコアを計算することができる。最終的なインテントの決定は、文法ベースのスコアとニューラルベースのスコアとの加重平均に基づき得る。
また、文法と一致する文を生成するために文法を使用することも可能である。そのような文にTTSを適用することは、上述のように訓練音声セグメントを生成することができる。多様な範囲のTTSパラメータおよび生成された文フレージングは、非常に正確なニューラル・スピーチ・ツー・ミーニング・インテント認識器を作成することができる。
会話状態
ヒットがトリガされると、ニューラル・スピーチ・ツー・ミーニング・システムは、APIヒットまたは他の結果的に生じるアクションにおいて使用される変数タイプおよびその値の記録を格納してもよい。場所の名前、時間、人の名前、男性の名前、および女性の名前といった、複数の格納された変数タイプおよび値があってもよい。前述された変数および値の集合は、会話状態として知られている。
ヒットがトリガされると、ニューラル・スピーチ・ツー・ミーニング・システムは、APIヒットまたは他の結果的に生じるアクションにおいて使用される変数タイプおよびその値の記録を格納してもよい。場所の名前、時間、人の名前、男性の名前、および女性の名前といった、複数の格納された変数タイプおよび値があってもよい。前述された変数および値の集合は、会話状態として知られている。
インテント認識器は、過去の意味情報に言及する代名詞または他の言語学的指標を含む音声について訓練されてもよい。たとえば、英語では、「Where is the nearest ice cream shop(最も近いアイスクリームショップはどこですか」という前の文に続く「Let's go there(そこへ行きましょう)」などの「there(そこへ)」という単語は、前述された場所を指す。「then(そのとき)」という単語は、前述された時間を指す。「him(彼に/を)」、「her(彼女に/を)」、「he(彼)」、および「she(彼女)」という単語は、前述された人々を指す。
古い会話状態情報は、人が会話中におそらくそれを忘れた後でしばらくたってから破棄されてもよい。それに代えて、会話状態情報は、ある数の会話のやりとりの後で破棄されてもよい。さらに、変数タイプの新しい値が認識されるたびに、そのタイプの変数のための以前に格納された値は破棄されなければならない。なぜなら、人間の会話における代名詞は、任意の変数タイプの最も最近の値のみを指すためである。
システムはまた、会話状態情報を、ユーザ音声において認識された新しい変数値とだけでなく、API応答における情報からユーザへの応答を提供するために使用された値とも、置き換えてもよい。たとえば、仮想アシスタントが「The nearest ice cream shop is just 3 blocks up the street(最も近いアイスクリームショップは、通りをちょうど3ブロック上がったところにあります」と言うユーザ応答を提供する場合、システムは、「3 blocks up the street(通りを3ブロック上がったところ)」というPLACE(場所)変数値を格納するであろう。
いくつかのシステムは、ユーザ会話ごとに単一の会話状態履歴を格納する。したがって、「What is the population of New York?(ニューヨークの人口は何人ですか?)」という地理学クエリに続く「What's the weather there?(そこの天気は何ですか?)」という天気クエリは、「New York(ニューヨーク)」という値を天気クエリの場所スロットのために使用するであろう。
いくつかのシステムは、ドメインごとに会話状態履歴を格納する。したがって、「Where's the nearest bagel shop?(最も近いベーグルショップはどこですか?)」、「How many bagel shops are there in Pocatello?(ポカテロにはベーグルショップが何軒ありますか?)」、「Give me directions there(私にそこへの行き方を教えて下さい)」などのクエリ履歴は、ポカテロへの行き方ではなく、最も近いベーグルショップへの行き方を教えるであろう。
変数値ではなく、会話状態に格納された情報をいつ使用すべきかを認識することへの1つのアプローチは、指示対象への代名詞およびポインタでラベル付けされた会話音声についてモデルを訓練することである。特定の指示対象は興味深いものではないが、前のクエリの特定のインテントにおける引数への代名詞およびポインタを識別するための訓練は、そのようなルックアップ要件を示す特徴を学習するために重要である。訓練は、マシンからユーザへ行った前の特定のインテントおよび応答の双方を含み得る。なぜなら、代名詞は、前のクエリからだけでなく、応答における意味情報を指し得るためである。
グレーブス(Graves)(arXiv:1410.5401v2 [cs.NE] 2014年12月10日)によるものといった、ニューラルチューリングマシンアプローチも可能である。ニューラルチューリングマシンは、アテンションメカニズムによって示されるようにメモリに情報を(確率的に)格納し、検索することができる。
言語学的複雑性
以下の検討事項は、システムが高いユーザ満足度を達成するのに不可欠ではない。仮想アシスタントへのクエリの大半(99%以上)は言語学的に単純であり、以下の検討事項から利益を得ないであろう。しかしながら、言語学的に複雑なクエリをサポートすることは、いくつかの仮想アシスタントにとってセールスポイントである。下記は、いくつかの難易度の高いケース、およびそれらを扱う方法である。
以下の検討事項は、システムが高いユーザ満足度を達成するのに不可欠ではない。仮想アシスタントへのクエリの大半(99%以上)は言語学的に単純であり、以下の検討事項から利益を得ないであろう。しかしながら、言語学的に複雑なクエリをサポートすることは、いくつかの仮想アシスタントにとってセールスポイントである。下記は、いくつかの難易度の高いケース、およびそれらを扱う方法である。
否定語 − 1つのアプローチは、否定語(たとえば「not(ない)」、「「except(を除いて)」、「without(なしで)」)のための変数認識器を訓練することである。クエリの動詞特徴に対する否定語の直前(英語などのいくつかの言語の場合)または直後(他のいくつかの言語の場合)に対応する単語の時間に基づいて、出力インテントは、インテントにおける否定指標を得る。APIプロトコルによってサポートされる場合、否定指標は、API要求とともに通されてもよい。それはまた、APIヒットからの応答を条件とするかまたはフィルタリングするために使用されてもよい。
別のアプローチは、否定を有するデータサンプルを用いて訓練することである。人間の記録された音声データまたはTTS生成データからの否定を用いて例同士を合成することが可能である。
二重否定および文の途中での修正 − これはまれであるため、大きい懸案事項ではなく、ユーザは、応答がなぜ無意味であるかを理解するであろう。
複合クエリ − ラベル付けされた音声から、または合成された単一クエリからクエリ境界認識器を訓練することが可能である。英語の場合、「and(および)」という単語は、複合クエリを見分けるための高度に重み付けされた特徴として出現する傾向があるであろう。
CRM
図12Aは、回転磁気ディスクである例示的な非一時的コンピュータ読取可能媒体を示す。データセンターは通常、サーバプロセッサのための命令を含むコードおよびデータを格納するために磁気ディスクを使用する。磁気ディスクは、1つ以上のコンピュータによって実行されるとコンピュータにここに説明される方法のステップを行なわせるであろう命令を含むコードを格納する。回転光学ディスクおよび他の機械的に動く記憶媒体が可能である。
図12Aは、回転磁気ディスクである例示的な非一時的コンピュータ読取可能媒体を示す。データセンターは通常、サーバプロセッサのための命令を含むコードおよびデータを格納するために磁気ディスクを使用する。磁気ディスクは、1つ以上のコンピュータによって実行されるとコンピュータにここに説明される方法のステップを行なわせるであろう命令を含むコードを格納する。回転光学ディスクおよび他の機械的に動く記憶媒体が可能である。
図12Bは、フラッシュランダムアクセスメモリ(Flash random access memory:RAM)チップである例示的な非一時的コンピュータ読取可能媒体を示す。データセンターは通常、サーバプロセッサのためのコードおよびデータを格納するためにフラッシュメモリを使用する。モバイルデバイスは通常、システム・オン・チップデバイス内にプロセッサのためのコードおよびデータを格納するためにフラッシュメモリを使用する。フラッシュRAMチップは、1つ以上のコンピュータによって実行されるとコンピュータにここに説明される方法のステップを行なわせるであろう命令を含むコードを格納する。リードまたははんだボールを用いてパッケージ化された他の動かない記憶媒体が可能である。
さまざまなタイプのコンピュータ読取可能媒体が、さまざまな実施形態に従った命令を含むコードを格納するのに適切である。
SoC
図13Aは、プリント回路基板への表面実装はんだ付けのためのボールグリッドアレイを有する、パッケージ化されたシステム・オン・チップデバイス1300の底側を示す。さまざまなチップ実現化例のために、さまざまなパッケージ形状およびサイズが可能である。システム・オン・チップ(system-on-chip:SoC)デバイスは、ここに説明されるような多くの埋め込みシステム実施形態を制御する。
図13Aは、プリント回路基板への表面実装はんだ付けのためのボールグリッドアレイを有する、パッケージ化されたシステム・オン・チップデバイス1300の底側を示す。さまざまなチップ実現化例のために、さまざまなパッケージ形状およびサイズが可能である。システム・オン・チップ(system-on-chip:SoC)デバイスは、ここに説明されるような多くの埋め込みシステム実施形態を制御する。
図13Bは、システム・オン・チップ1300のブロック図を示す。それは、コンピュータプロセッサ(CPU)コア1301のマルチコアクラスタと、グラフィックスプロセッサ(GPU)コア1302のマルチコアクラスタとを含む。プロセッサは、ネットワーク・オン・チップ1303を通して、プログラムおよびデータの揮発性格納のためのオフチップダイナミックランダムアクセスメモリ(dynamic random access memory:DRAM)インターフェイス1304と、フラッシュRAMである非一時的コンピュータ読取可能媒体におけるコンピュータプログラムコードの不揮発性格納のためのフラッシュインターフェイス1305とに接続する。SoC1300はまた、異なる周辺機器に必要とされるような、GUIを表示するためのディスプレイインターフェイス1306と、さまざまなI/Oインターフェイスデバイスに接続するためのI/Oインターフェイスモジュール1307とを有する。I/Oインターフェイスはとりわけ、タッチスクリーンセンサなどのセンサ、地理的位置受信機、マイク、スピーカ、ブルートゥース(登録商標)周辺装置、キーボードおよびマウスなどのUSBデバイスをイネーブルにする。SoC1300はまた、プロセッサが、有線または無線接続、たとえばWiFi、3G、4Gロングタームエボリューション(long-term evolution:LTE)、5G、および他の無線インターフェイス規格の無線、ならびにイーサネット(登録商標)接続ハードウェアを通してインターネットにアクセスすることを可能にするためのネットワークインターフェイス1308を含む。インターフェイス1304を通してRAMデバイスに格納された、またはインターフェイス1305を通してフラッシュデバイスに格納された命令を実行することによって、CPU1301およびGPU1302は、ここに説明されるような方法のステップを行なう。
サーバ
図14Aは、いくつかの実施形態に従ったラックマウント型サーバブレードマルチプロセッササーバシステム1400を示す。それは、ソフトウェアを並列に作動させる多数のネットワーク接続型コンピュータプロセッサを含む。
図14Aは、いくつかの実施形態に従ったラックマウント型サーバブレードマルチプロセッササーバシステム1400を示す。それは、ソフトウェアを並列に作動させる多数のネットワーク接続型コンピュータプロセッサを含む。
図14Bは、サーバシステム1400のブロック図を示す。それは、コンピュータプロセッサ(CPU)コア1401のマルチコアクラスタと、グラフィックスプロセッサ(GPU)コア1402のマルチコアクラスタとを含む。プロセッサは、基板レベル配線1403を通して、プログラムコードおよびデータ格納のためのランダムアクセスメモリ(RAM)デバイス1404に接続する。サーバシステム1400はまた、プロセッサがインターネットにアクセスすることを可能にするためのネットワークインターフェイス1408を含む。RAMデバイス1404に格納された命令を実行することによって、CPU1401およびGPU1402は、ここに説明されるような方法のステップを行なう。
特殊な決まり文句
図示され説明された例は、ある発声言語を使用する。さまざまな実施形態は、他の言語または言語の組合せのために同様に動作する。図示され説明された例は、知識のあるドメインを使用する。さまざまな実施形態は、他のドメインまたはドメインの組合せのために同様に動作する。
図示され説明された例は、ある発声言語を使用する。さまざまな実施形態は、他の言語または言語の組合せのために同様に動作する。図示され説明された例は、知識のあるドメインを使用する。さまざまな実施形態は、他のドメインまたはドメインの組合せのために同様に動作する。
いくつかの実施形態は、ディスプレイスクリーンがないイヤホンなどのように、スクリーンがない。いくつかの実施形態は、自動販売機などのように静止している。いくつかの実施形態は、自動車などのように可動である。いくつかの実施形態は、携帯電話などのように携帯可能である。いくつかの実施形態は、人体に植え込むためのものである。いくつかの実施形態は、キーボードまたはタッチスクリーンなどの手動インターフェイスを含む。いくつかの実施形態は、人間の思考を自然言語表現の形式として使用するニューラルインターフェイスを含む。
いくつかの実施形態は、ARMまたはx86アーキテクチャを有するものといった汎用プログラマブルプロセッサ(CPU)上でソフトウェアを実行することによって機能する。パワーセンシティブないくつかの実施形態、および、ニューラルネットワーク訓練などのために特に高い性能を必要とするいくつかの実施形態は、ハードウェア最適化を使用する。いくつかの実施形態は、シノプシス(Synopsys)からのARCプロセッサおよびケイデンス(Cadence)からのエクステンサ(Xtensa)プロセッサといった特殊なシステム・オン・チップにおいて、構成可能命令セットを有するアプリケーションカスタマイズ可能なプロセッサを使用する。いくつかの実施形態は、フィールドプログラマブルゲートアレイ(field programmable gate array:FPGA)に焼きつけられた専用ハードウェアブロックを使用する。いくつかの実施形態は、グラフィック処理装置(graphics processing unit:GPU)のアレイを使用する。いくつかの実施形態は、最良の性能を与えるためにカスタマイズされたロジックを有する特定用途向け集積回路(application-specific-integrated circuit:ASIC)を使用する。いくつかの実施形態は、ベリログ(Verilog)言語で書かれたコードなどのハードウェア記述言語コードにある。
ここに説明され請求される物理マシンのいくつかの実施形態は、多くの変数においてプログラムマブルであり、当該変数の組合せは、本質的に無限のさまざまな動作挙動を提供する。ここでのいくつかの実施形態は、多くのパラメータを提供するソフトウェアツールによって構成され、当該パラメータの組合せは、説明され請求されるこの発明の本質的に無限のさまざまな物理マシン実施形態を提供する。ハードウェア記述言語表現を構成するためにそのようなソフトウェアツールを使用する方法は、説明され請求されるこの発明を具体化する。物理マシンは、半導体チップ、説明され請求されるこの発明に従ったマシンの論理的または機能的挙動のハードウェア記述言語表現、および、そのようなハードウェア記述言語表現を格納するために配置された1つ以上の非一時的コンピュータ読取可能媒体といった、ここに説明され請求されるマシンを具体化することができる。
ハードウェアブロック、カスタムプロセッサ命令、コプロセッサ、およびハードウェアアクセラレータは、特に高い性能およびパワー効率でニューラルネットワーク処理、またはニューラルネットワーク処理アルゴリズムの一部を実行する。これは、バッテリ駆動デバイスに長いバッテリ寿命を提供するとともに、多くのクライアントデバイスに同時にサービスを提供するデータセンターでの熱除去コストを減少させる。
一般的な決まり文句
当業者であれば、多くの修正および変形を認識するであろう。これらの修正および変形は、開示された特徴の任意の関連する組合せを含む。
当業者であれば、多くの修正および変形を認識するであろう。これらの修正および変形は、開示された特徴の任意の関連する組合せを含む。
さまざまな実施形態は、人間およびマシンのいずれかまたはそれらの組合せの挙動を使用する方法である。いくつかの実施形態は、ここに説明される方法のためのそのような命令を格納するために配置された1つ以上の非一時的コンピュータ読取可能媒体のシステムである。いくつかの実施形態は、半導体チップなどの物理デバイス、そのようなデバイスの論理的または機能的挙動のハードウェア記述言語表現、および、そのようなハードウェア記述言語表現を格納するために配置された1つ以上の非一時的コンピュータ読取可能媒体である。
原理、特徴、および実施形態を記載するここでの説明は、それらの構造的および機能的同等物の双方を包含する。
Claims (28)
- 発話音声におけるインテントを認識するためのマシンであって、前記マシンは、
発話音声特徴を処理し、前記発話音声が複数の列挙変数値のうちのいずれかを有する確率を計算し、最も高い確率を有する前記列挙変数値を出力する変数認識器と、
発話音声特徴を処理し、前記発話音声が前記インテントを有する確率を計算し、前記確率がインテントしきい値を上回ることに応答して、仮想アシスタントアクションを求める要求を生成するインテント認識器とを含む、マシン。 - 前記変数認識器は、前記発話音声が列挙変数値を有する前記確率を示し、
前記インテント認識器は、前記発話音声が列挙変数値を有する前記確率を、アクションを求める要求のその出力の条件とする、請求項1に記載のマシン。 - 条件とすることは、前記発話音声が列挙変数値を有する前記確率の表示の遅れに基づく、請求項2に記載のマシン。
- 前記インテント認識器は、変数のどの値が最も高い確率を有するかを、アクションを求める要求のその出力の条件とする、請求項1に記載のマシン。
- 条件とすることは、前記変数のどの値が最も高い確率を有するかの表示の遅れに基づく、請求項4に記載のマシン。
- 前記変数認識器および前記インテント認識器のうちの一方がスコアを生成し、前記スコアがスコアしきい値を上回ることに応答して前記変数認識器および前記インテント認識器のうちの他方が呼び出される、請求項1〜5のいずれか1項に記載のマシン。
- 発話音声特徴を処理し、前記発話音声が特定のドメインに言及する確率を計算するドメイン認識器をさらに含み、
前記インテント認識器は前記ドメインに関連付けられ、前記発話音声が特定のドメインに言及する前記確率がドメインしきい値を上回ることに応答して呼び出される、請求項1〜6のいずれか1項に記載のマシン。 - 人間が読める音声トランスクリプションは計算されない、請求項1〜7のいずれか1項に記載のマシン。
- ウェブAPIへのアクセスを有するネットワーククライアントをさらに含み、
前記インテント認識器が仮想アシスタントアクションを求める要求を生成することに応答して、前記ネットワーククライアントは前記ウェブAPIへの要求を実行し、前記要求は、前記変数認識器によって出力された前記列挙変数値を引数として有する、請求項1〜8のいずれか1項に記載のマシン。 - 音声合成エンジンをさらに含み、
前記ウェブAPIから応答を受信することに応答して、前記音声合成エンジンは、ウェブAPI応答からの情報を含む発話音声を合成し、合成された前記発話音声を仮想アシスタントのユーザのために出力する、請求項9に記載のマシン。 - コンピュータシステムによって発話音声からのインテントを認識する方法であって、前記方法は、
発話音声を得るステップと、
前記発話音声が複数の列挙変数値のうちのいずれかを有する確率を計算するために、前記発話音声の特徴を処理するステップと、
最も高い確率を有する前記列挙変数値を出力するステップと、
前記発話音声が前記インテントを有する確率を計算するために、前記発話音声の前記特徴を処理するステップと、
前記確率がインテントしきい値を上回ることに応答して、仮想アシスタントアクションを求める要求を出力するステップとを含む、方法。 - 要求を出力するステップは、最も高い確率を有する変数の確率を条件とする、請求項11に記載の方法。
- 前記確率は遅れている、請求項12に記載の方法。
- 要求を出力するステップは、変数のどの値が最も高い確率を有するかを条件とする、請求項11に記載の方法。
- 前記変数の前記列挙変数値の表示は遅れている、請求項14に記載の方法。
- 確率計算のうちの一方は、他方の確率計算がしきい値を上回る結果を有することに応答して実行される、請求項11〜15のいずれか1項に記載の方法。
- 前記発話音声が特定のドメインに言及する確率を計算するために、前記発話音声の特徴を処理するステップをさらに含み、
前記インテントは前記ドメインに関連付けられ、前記発話音声が前記インテントを有する前記確率の計算は、前記発話音声が前記ドメインに言及する前記確率がしきい値を上回ることに応答して実行される、請求項11〜16のいずれか1項に記載の方法。 - 人間が読める音声トランスクリプションは計算されない、請求項11〜17のいずれか1項に記載の方法。
- 仮想アシスタントアクションを求める要求を出力するステップは、ウェブAPIへの要求を行なうことによって実行され、前記要求は、最も高い確率を有する前記列挙変数値を引数として有する、請求項11〜18のいずれか1項に記載の方法。
- 前記ウェブAPIから応答を受信するステップと、
ウェブAPI応答からの情報を含む発話音声を合成するステップとをさらに含む、請求項19に記載の方法。 - スピーチ・ツー・ミーニングモデルを訓練する方法であって、前記方法は、
インテントのフレージングにおける変数の値であり得る多数の単語を判定するステップと、
仮想アシスタントのユーザの声を表わす多数のパラメータセットを判定するステップと、
前記多数の単語のために多数の発話音声セグメントを合成するステップとを含み、前記セグメントは前記多数のパラメータセットに従って合成され、前記方法はさらに、
合成された前記発話音声セグメントを使用して、発話音声における前記多数の単語のうちのいずれかの存在の確率を計算することができる変数認識器を訓練するステップを含む、方法。 - インテント認識器を、フレージングの発話音声のセグメントについて訓練するステップをさらに含み、
前記インテント認識器への入力は、前記変数認識器から出力された確率である、請求項21に記載の方法。 - 前記フレージング内の前記変数のコンテキストを、隣接する音声情報に関して判定するステップをさらに含み、
前記コンテキストは、音声合成のさらなるパラメータである、請求項22に記載の方法。 - 前記フレージング内の前記変数のコンテキストを、強調に関して判定するステップをさらに含み、
前記コンテキストは、音声合成のさらなるパラメータである、請求項22に記載の方法。 - 多様な声を表わす複数の音声合成パラメータセットを計算する方法であって、前記方法は、
多様な声を表わす普通の人々の多数の発話音声記録を入手するステップと、
音声特徴の埋め込み空間内の記録された音声ベクトルを計算するために、前記記録を分析するステップと
前記埋め込み空間内の記録された音声ベクトルの範囲を表わす領域を計算するステップと、
損失関数に従って勾配降下によって前記複数の音声合成パラメータセットを学習するステップとを含み、前記損失関数は、
前記複数のパラメータセットにおけるパラメータセットに従って音声セグメントを合成し、
前記空間における合成された音声ベクトルを計算するために、合成された前記音声セグメントを分析し、
前記空間内の合成された前記音声ベクトルのクラスタ化に比例した損失を計算することによって計算される、方法。 - 前記埋め込み空間は学習される、請求項25に記載の方法。
- 前記音声合成パラメータセットに従って、列挙された単語の音声のセグメントを合成するステップと、
変数認識器を訓練するステップとをさらに含み、
訓練データは、前記列挙された単語の音声の合成された前記セグメントを含む、請求項25に記載の方法。 - 1つ以上のコンピュータの少なくとも1つのプロセッサによって実行されると、前記1つ以上のコンピュータに、請求項11〜27のいずれか1項に記載の方法を行なわせる、プログラム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/703,783 US11749281B2 (en) | 2019-12-04 | 2019-12-04 | Neural speech-to-meaning |
US16/703,783 | 2019-12-04 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2021105708A true JP2021105708A (ja) | 2021-07-26 |
Family
ID=73698728
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020200974A Pending JP2021105708A (ja) | 2019-12-04 | 2020-12-03 | ニューラル・スピーチ・ツー・ミーニング |
Country Status (4)
Country | Link |
---|---|
US (2) | US11749281B2 (ja) |
EP (2) | EP4343615A3 (ja) |
JP (1) | JP2021105708A (ja) |
CN (1) | CN113012686A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022270629A1 (ja) | 2021-06-25 | 2022-12-29 | サンアロマー株式会社 | ポリプロピレン系樹脂組成物、シート成形体及び容器 |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6799297B1 (ja) * | 2019-10-23 | 2020-12-16 | ソプラ株式会社 | 情報出力装置、情報出力方法、及び情報出力プログラム |
CN111261144B (zh) * | 2019-12-31 | 2023-03-03 | 华为技术有限公司 | 一种语音识别的方法、装置、终端以及存储介质 |
KR20200007983A (ko) * | 2020-01-03 | 2020-01-22 | 엘지전자 주식회사 | 지역적 특징 기반의 음성인식 방법 및 시스템 |
CN111241398B (zh) * | 2020-01-10 | 2023-07-25 | 百度在线网络技术(北京)有限公司 | 数据预取方法、装置、电子设备及计算机可读存储介质 |
US11328721B2 (en) * | 2020-02-04 | 2022-05-10 | Soundhound, Inc. | Wake suppression for audio playing and listening devices |
US11335321B2 (en) * | 2020-08-28 | 2022-05-17 | Google Llc | Building a text-to-speech system from a small amount of speech data |
US11922123B2 (en) * | 2020-09-30 | 2024-03-05 | Oracle International Corporation | Automatic out of scope transition for chatbot |
CN113129870B (zh) * | 2021-03-23 | 2022-03-25 | 北京百度网讯科技有限公司 | 语音识别模型的训练方法、装置、设备和存储介质 |
US11990124B2 (en) * | 2021-12-22 | 2024-05-21 | Google Llc | Language model prediction of API call invocations and verbal responses |
US11978457B2 (en) * | 2022-02-15 | 2024-05-07 | Gong.Io Ltd | Method for uniquely identifying participants in a recorded streaming teleconference |
Family Cites Families (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5230103B2 (ja) | 2004-02-18 | 2013-07-10 | ニュアンス コミュニケーションズ,インコーポレイテッド | 自動音声認識器のためのトレーニングデータを生成する方法およびシステム |
US9318108B2 (en) * | 2010-01-18 | 2016-04-19 | Apple Inc. | Intelligent automated assistant |
US8527276B1 (en) * | 2012-10-25 | 2013-09-03 | Google Inc. | Speech synthesis using deep neural networks |
US9099083B2 (en) | 2013-03-13 | 2015-08-04 | Microsoft Technology Licensing, Llc | Kernel deep convex networks and end-to-end learning |
WO2014197334A2 (en) | 2013-06-07 | 2014-12-11 | Apple Inc. | System and method for user-specified pronunciation of words for speech synthesis and recognition |
US10176167B2 (en) * | 2013-06-09 | 2019-01-08 | Apple Inc. | System and method for inferring user intent from speech inputs |
US9633004B2 (en) * | 2014-05-30 | 2017-04-25 | Apple Inc. | Better resolution when referencing to concepts |
US9558740B1 (en) * | 2015-03-30 | 2017-01-31 | Amazon Technologies, Inc. | Disambiguation in speech recognition |
US11138207B2 (en) | 2015-09-22 | 2021-10-05 | Google Llc | Integrated dynamic interface for expression-based retrieval of expressive media content |
CN108885870A (zh) | 2015-12-01 | 2018-11-23 | 流利说人工智能公司 | 用于通过将言语到文本系统与言语到意图系统组合来实现声音用户接口的系统和方法 |
US10089974B2 (en) | 2016-03-31 | 2018-10-02 | Microsoft Technology Licensing, Llc | Speech recognition and text-to-speech learning system |
US10827064B2 (en) | 2016-06-13 | 2020-11-03 | Google Llc | Automated call requests with status updates |
CN107516511B (zh) * | 2016-06-13 | 2021-05-25 | 微软技术许可有限责任公司 | 意图识别和情绪的文本到语音学习系统 |
KR20180025634A (ko) | 2016-09-01 | 2018-03-09 | 삼성전자주식회사 | 음성 인식 장치 및 방법 |
US11081106B2 (en) * | 2017-08-25 | 2021-08-03 | Microsoft Technology Licensing, Llc | Contextual spoken language understanding in a spoken dialogue system |
US10574824B2 (en) | 2017-11-02 | 2020-02-25 | [24]7.ai, Inc. | Method and apparatus for facilitating agent conversations with customers of an enterprise |
US10553203B2 (en) | 2017-11-09 | 2020-02-04 | International Business Machines Corporation | Training data optimization for voice enablement of applications |
KR102462426B1 (ko) * | 2017-12-14 | 2022-11-03 | 삼성전자주식회사 | 발화의 의미를 분석하기 위한 전자 장치 및 그의 동작 방법 |
US11238843B2 (en) | 2018-02-09 | 2022-02-01 | Baidu Usa Llc | Systems and methods for neural voice cloning with a few samples |
US11538455B2 (en) | 2018-02-16 | 2022-12-27 | Dolby Laboratories Licensing Corporation | Speech style transfer |
US10140977B1 (en) * | 2018-07-31 | 2018-11-27 | botbotbotbot Inc. | Generating additional training data for a natural language understanding engine |
CN118538199A (zh) | 2018-08-23 | 2024-08-23 | 谷歌有限责任公司 | 确定经由自动助理界面接收的口头话语的语音识别的语言 |
US10860096B2 (en) | 2018-09-28 | 2020-12-08 | Apple Inc. | Device control using gaze information |
KR20190098928A (ko) * | 2019-08-05 | 2019-08-23 | 엘지전자 주식회사 | 음성 인식 방법 및 장치 |
US11935521B2 (en) * | 2019-09-12 | 2024-03-19 | Oracle International Corporation | Real-time feedback for efficient dialog processing |
-
2019
- 2019-12-04 US US16/703,783 patent/US11749281B2/en active Active
-
2020
- 2020-12-03 EP EP24156087.9A patent/EP4343615A3/en active Pending
- 2020-12-03 JP JP2020200974A patent/JP2021105708A/ja active Pending
- 2020-12-03 EP EP20211702.4A patent/EP3832644B1/en active Active
- 2020-12-03 CN CN202011401199.0A patent/CN113012686A/zh active Pending
-
2023
- 2023-09-05 US US18/461,212 patent/US20230419970A1/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022270629A1 (ja) | 2021-06-25 | 2022-12-29 | サンアロマー株式会社 | ポリプロピレン系樹脂組成物、シート成形体及び容器 |
Also Published As
Publication number | Publication date |
---|---|
EP3832644A1 (en) | 2021-06-09 |
US20230419970A1 (en) | 2023-12-28 |
EP4343615A2 (en) | 2024-03-27 |
EP3832644B1 (en) | 2024-02-07 |
US11749281B2 (en) | 2023-09-05 |
EP4343615A3 (en) | 2024-05-01 |
US20210174806A1 (en) | 2021-06-10 |
CN113012686A (zh) | 2021-06-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11769488B2 (en) | Meaning inference from speech audio | |
EP3832644B1 (en) | Neural speech-to-meaning translation | |
JP6550068B2 (ja) | 音声認識における発音予測 | |
US9711138B2 (en) | Method for building language model, speech recognition method and electronic apparatus | |
Besacier et al. | Automatic speech recognition for under-resourced languages: A survey | |
US10163436B1 (en) | Training a speech processing system using spoken utterances | |
US9613621B2 (en) | Speech recognition method and electronic apparatus | |
WO2018192186A1 (zh) | 语音识别方法及装置 | |
CN112466279B (zh) | 一种英语口语发音自动纠正方法和装置 | |
Kumar et al. | Machine learning based speech emotions recognition system | |
Wooters | Lexical modeling in a speaker independent speech understanding system | |
Desot et al. | End-to-End Spoken Language Understanding: Performance analyses of a voice command task in a low resource setting | |
Badenhorst et al. | Collecting and evaluating speech recognition corpora for 11 South African languages | |
Rao et al. | Language identification using excitation source features | |
López-Cózar | Using knowledge on word-islands to improve the performance of spoken dialogue systems | |
US20230245649A1 (en) | Token confidence scores for automatic speech recognition | |
Sobti et al. | Comprehensive literature review on children automatic speech recognition system, acoustic linguistic mismatch approaches and challenges | |
JP7146038B2 (ja) | 音声認識システム及び方法 | |
Mittal et al. | Speaker-independent automatic speech recognition system for mobile phone applications in Punjabi | |
Zribi et al. | Toward developing an intelligent personal assistant for Tunisian Arabic | |
TW202223622A (zh) | 語音應答系統和語音應答方法 | |
Sher et al. | Development of a Taiwanese Speech Synthesis System Using Hidden Markov Models and a Robust Tonal Phoneme Corpus | |
Palojärvi | Methods and applications of automatic speech recognition | |
Gruhn et al. | Automatic speech recognition | |
KR100339668B1 (ko) | 음성 발생 원리를 이용한 음성 언어 파서 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210331 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20231201 |