(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-09-12
(54)【発明の名称】エンドツーエンド音声認識のためのニューラルトランスデューサモデルにおける音響情報と言語情報との分離
(51)【国際特許分類】
G10L 15/16 20060101AFI20240905BHJP
【FI】
G10L15/16
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024508050
(86)(22)【出願日】2022-09-07
(85)【翻訳文提出日】2024-02-08
(86)【国際出願番号】 EP2022074919
(87)【国際公開番号】W WO2023041404
(87)【国際公開日】2023-03-23
(32)【優先日】2021-09-17
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】390009531
【氏名又は名称】インターナショナル・ビジネス・マシーンズ・コーポレーション
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MACHINES CORPORATION
【住所又は居所原語表記】New Orchard Road, Armonk, New York 10504, United States of America
(74)【代理人】
【識別番号】100112690
【氏名又は名称】太佐 種一
(74)【代理人】
【識別番号】100120710
【氏名又は名称】片岡 忠彦
(72)【発明者】
【氏名】倉田 岳人
(57)【要約】
リカレントニューラルネットワークトランスデューサ(RNN-T)を訓練するためのコンピュータ実施方法が提供される。本方法は、オーディオ・データのセットを入力することにより、共通エンコーダ、順方向予測ネットワーク、並びに上記共通エンコーダ及び上記順方向予測ネットワークの両方の出力を組み合わせる第1ジョイントネットワークを含む第1RNN-Tを訓練することを含む。順方向予測ネットワークは、ラベルシーケンスを順方向に予測する。本方法は、さらに、上記オーディオ・データのセットを入力することにより、上記共通エンコーダ、逆方向予測ネットワーク、並びに上記共通エンコーダ及び上記逆方向予測ネットワークの両方の出力を組み合わせる第2ジョイントネットワークを含む第2RNN-Tを訓練することを含む。逆方向予測ネットワークは、ラベルシーケンスを逆方向に予測する。訓練された第1RNN-Tは、推論のために用いられる。
【特許請求の範囲】
【請求項1】
リカレントニューラルネットワークトランスデューサ(RNN-T)を訓練するためのコンピュータ実施方法であって、
オーディオ・データのセットを入力することにより、共通エンコーダ、ラベルシーケンスを順方向に予測する順方向予測ネットワーク、並びに前記共通エンコーダ及び前記順方向予測ネットワークの両方の出力を組み合わせる第1ジョイントネットワークを含む第1RNN-Tを訓練するステップと、
前記オーディオ・データのセットを入力することにより、前記共通エンコーダ、ラベルシーケンスを逆方向に予測する逆方向予測ネットワーク、並びに前記共通エンコーダ及び前記逆方向予測ネットワークの両方の出力を組み合わせる第2ジョイントネットワークを含む第2RNN-Tを訓練するステップと、
を含み、前記訓練された第1RNN-Tは、推論のために用いられる、コンピュータ実施方法。
【請求項2】
2つの前記訓練するステップは、言語情報を無視し、取り込むことなく前記順方向予測ネットワークと前記逆方向予測ネットワークとを一緒に訓練する、請求項1に記載のコンピュータ実施方法。
【請求項3】
前記第1RNN-Tと前記第2RNN-Tとを一緒に訓練するために前記共通エンコーダからの同じ符号化が用いられる、請求項1に記載のコンピュータ実施方法。
【請求項4】
前記第1RNN-Tは、ソフトマックス層を含み、前記方法は、前記第1ジョイントネットワークの出力にソフトマックス操作を適用するステップをさらに含む、請求項1に記載のコンピュータ実施方法。
【請求項5】
前記第2RNN-Tは、ソフトマックス層を含み、前記方法は、前記第2ジョイントネットワークの出力にソフトマックス操作を適用するステップをさらに含む、請求項1に記載のコンピュータ実施方法。
【請求項6】
前記第1RNN-Tを訓練するステップは、前記オーディオ・データのセットと前記第1RNN-Tの出力とから、x軸に沿った前記オーディオ・データのセットとy軸に沿った前記第1RNN-Tの出力とを用いて第1出力確率格子を生成するステップを含み、前記方法は、さらに、前記第1出力確率格子上でRNN-T損失を右上方向において計算するステップを含む、請求項1に記載のコンピュータ実施方法。
【請求項7】
前記第1出力確率格子の各ノードは、順方向に対応する前記第1ジョイントネットワークの出力のソフトマックスを表す、請求項1に記載のコンピュータ実施方法。
【請求項8】
前記第2RNN-Tを訓練するステップは、前記オーディオ・データのセットと前記第2RNN-Tの出力とから、x軸に沿った前記オーディオ・データのセットとy軸に沿った前記第2RNN-Tの出力とを用いて第2出力確率格子を生成するステップを含み、前記方法は、さらに、前記第2出力確率格子上でRNN-T損失を左下方向において計算するステップを含む、請求項1に記載のコンピュータ実施方法。
【請求項9】
前記第2出力確率格子の各ノードは、逆方向に対応する前記第2ジョイントネットワークの出力のソフトマックスを表す、請求項1に記載のコンピュータ実施方法。
【請求項10】
リカレントニューラルネットワークトランスデューサ(RNN-T)を訓練するためのコンピュータプログラムプロダクトであって、前記コンピュータプログラムプロダクトは、自体を用いて具体化されるプログラム命令を有する非一時的コンピュータ可読記憶媒体を含み、前記プログラム命令は、コンピュータによって前記コンピュータに、
オーディオ・データのセットを入力するプロセッサデバイスにより、共通エンコーダ、順方向予測ネットワーク、並びに前記共通エンコーダ及び前記順方向予測ネットワークの両方の出力を組み合わせる第1ジョイントネットワークを含む第1RNN-Tを訓練するステップであって、前記順方向予測ネットワークは、ラベルシーケンスを順方向に予測するステップと、
前記オーディオ・データのセットを入力するプロセッサデバイスにより、前記共通エンコーダ、逆方向予測ネットワーク、並びに前記共通エンコーダ及び前記逆方向予測ネットワークの両方の出力を組み合わせる第2ジョイントネットワークを含む第2RNN-Tを訓練するステップであって、前記逆方向予測ネットワークは、ラベルシーケンスを逆方向に予測するステップと、
を含み、前記訓練された第1RNN-Tは、推論のために用いられる方法を実施させるように実行可能なコンピュータプログラムプロダクト。
【請求項11】
2つの前記訓練するステップは、言語情報を無視し、取り込むことなく前記順方向予測ネットワークと前記逆方向予測ネットワークとを一緒に訓練する、請求項10に記載のコンピュータプログラムプロダクト。
【請求項12】
前記第1RNN-Tと前記第2RNN-Tとを一緒に訓練するために前記共通エンコーダからの同じ符号化が用いられる、請求項10に記載のコンピュータプログラムプロダクト。
【請求項13】
前記第1RNN-Tは、ソフトマックス層を含み、前記方法は、前記第1ジョイントネットワークの出力にソフトマックス操作を適用するステップをさらに含む、請求項10に記載のコンピュータプログラムプロダクト。
【請求項14】
前記第2RNN-Tは、ソフトマックス層を含み、前記方法は、前記第2ジョイントネットワークの出力にソフトマックス操作を適用するステップをさらに含む、請求項10に記載のコンピュータプログラムプロダクト。
【請求項15】
前記第1RNN-Tを訓練するステップは、前記オーディオ・データのセットと前記第1RNN-Tの出力とから、x軸に沿った前記オーディオ・データのセットとy軸に沿った前記第1RNN-Tの出力とを用いて第1出力確率格子を生成することを含み、前記方法は、前記第1出力確率格子上でRNN-T損失を右上方向において計算するステップをさらに含む、請求項10に記載のコンピュータプログラムプロダクト。
【請求項16】
前記第1出力確率格子の各ノードは、順方向に対応する前記第1ジョイントネットワークの出力のソフトマックスを表す、請求項10に記載のコンピュータプログラムプロダクト。
【請求項17】
前記第2RNN-Tを訓練するステップは、前記オーディオ・データのセットと前記第2RNN-Tの出力とから、x軸に沿った前記オーディオ・データのセットとy軸に沿った前記第2RNN-Tの出力とを用いて第2出力確率格子を生成することを含み、前記方法は、前記第2出力確率格子上でRNN-T損失を左下方向において計算するステップをさらに含む、請求項10に記載のコンピュータプログラムプロダクト。
【請求項18】
前記第2出力確率格子の各ノードは、逆方向に対応する前記第2ジョイントネットワークの出力のソフトマックスを表す、請求項10に記載のコンピュータプログラムプロダクト。
【請求項19】
リカレントニューラルネットワークトランスデューサ(RNN-T)を訓練するためのコンピュータ処理システムであって、
プログラムコードを記憶するためのメモリデバイスと、
オーディオ・データのセットを入力することにより、共通エンコーダ、ラベルシーケンスを順方向に予測する順方向予測ネットワーク、並びに前記共通エンコーダ及び前記順方向予測ネットワークの両方の出力を組み合わせる第1ジョイントネットワークを含む第1RNN-Tを訓練し、かつ
前記オーディオ・データのセットを入力することにより、前記共通エンコーダ、ラベルシーケンスを逆方向に予測する逆方向予測ネットワーク、並びに前記共通エンコーダ及び前記逆方向予測ネットワークの両方の出力を組み合わせる第2ジョイントネットワークを含む第2RNN-Tを訓練し、
前記訓練された第1RNN-Tは、推論のために用いられる、
ように前記プログラムコードを実行するために前記メモリデバイスに動作可能に結合されたプロセッサデバイスと、
を含むシステム。
【請求項20】
前記第1RNN-Tと前記第2RNN-Tとを一緒に訓練するために前記共通エンコーダからの同じ符号化が用いられる、請求項19に記載のコンピュータ処理システム。
【請求項21】
コンピュータプログラムであって、前記プログラムがコンピュータ上で実行されると、請求項1~9の何れか一項に記載の方法を実施するのに適したプログラムコード手段を含むプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、全体として音声認識に関し、より詳しくはエンドツーエンド音声認識のためのニューラルトランスデューサモデルにおける音響情報と言語情報との分離に関する。
【背景技術】
【0002】
音声認識のためにただ一つのニューラルネットワークがすべてをモデル化するニューラルトランスデューサを用いるエンドツーエンド音声認識は、訓練と推論との両方においてさまざまな利点を有する。トランスクリプトとオーディオからだけの純粋にエンドツーエンドの訓練が可能である。推論のためには一つのニューラルネットワーク上のビームサーチだけが必要であり、結果として計算コストが小さく、メモリフットプリントが小さく、推論エンジンが簡単になる。
【0003】
ニューラルトランスデューサモデルの訓練は、簡単であるがいくつか欠点がある。たとえばエンドツーエンド訓練は、1発話が1サンプルとしてしか使用され得ないため過剰適合の傾向がある。ニューラルトランスデューサモデルは、音響モデルとして役立つエンコーダネットワークと、言語モデルとして役立つ予測ネットワークと、エンコーダ及び予測ネットワークからの音響及び言語埋め込みを組み合わせるジョイントネットワークと、を含むが、エンドツーエンド訓練は、そのようなモジュール構造を考慮しない。その結果、ニューラルトランスデューサのカスタム化は、音響モデルと言語モデルとが別々に訓練され、独立にカスタム化され得る従来のハイブリッドモデルより難しい。クラウドから競争力あるサービスを提供するには改善された正確さとよりリアクティブなカスタム化とがともに重要である。したがって、(1)過剰適合を軽減することによって音声認識精度を向上させ、(2)カスタム化に対してよりリアクティブであるモデルを構築することが求められている。
【発明の概要】
【0004】
本発明の側面によれば、リカレントニューラルネットワークトランスデューサ(RNN-T)を訓練するためのコンピュータ実施方法が提供される。本方法は、オーディオ・データのセットを入力することにより、共通エンコーダ、順方向予測ネットワーク、並びに上記共通エンコーダ及び上記順方向予測ネットワークの両方の出力を組み合わせる第1ジョイントネットワークを含む第1RNN-Tを訓練することを含む。順方向予測ネットワークは、ラベルシーケンスを順方向に予測する。本方法は、さらに、上記オーディオ・データのセットを入力することにより、共通エンコーダ、逆方向予測ネットワーク、並びに共通エンコーダ及び逆方向予測ネットワークの両方の出力を組み合わせる第2ジョイントネットワークを含む第2RNN-Tを訓練することを含む。逆方向予測ネットワークは、ラベルシーケンスを逆方向に予測する。訓練された第1RNN-Tは、推論のために用いられる。
【0005】
本発明の別の側面によれば、リカレントニューラルネットワークトランスデューサ(RNN-T)を訓練するためのコンピュータプログラムプロダクトが提供される。本コンピュータプログラムプロダクトは、非一時的コンピュータ可読記憶媒体を含み、この記憶媒体は、それ自体を用いて具体化されるプログラム命令を有する。プログラム命令は、コンピュータによって、該コンピュータに方法を実施させるように実行可能である。本方法は、オーディオ・データのセットを入力するプロセッサデバイスにより、共通エンコーダ、順方向予測ネットワーク、並びに上記共通エンコーダ及び上記順方向予測ネットワークの両方の出力を組み合わせる第1ジョイントネットワークを含む第1RNN-Tを訓練するステップを含む。順方向予測ネットワークは、ラベルシーケンスを順方向に予測する。本方法は、さらに、上記オーディオ・データのセットを入力するプロセッサデバイスにより、上記共通エンコーダ、逆方向予測ネットワーク、並びに上記共通エンコーダ及び上記逆方向予測ネットワークの両方の出力を組み合わせる第2ジョイントネットワークを含む第2RNN-Tを訓練するステップを含む。逆方向予測ネットワークは、ラベルシーケンスを逆方向に予測する。訓練された第1RNN-Tは、推論のために用いられる。
【0006】
本発明のさらに別の側面によれば、リカレントニューラルネットワークトランスデューサ(RNN-T)を訓練するためのコンピュータ処理システムが提供される。本システムは、プログラムコードを記憶するためのメモリデバイスを含む。本システムは、さらに、オーディオ・データのセットを入力することにより、共通エンコーダ、順方向予測ネットワーク、並びに上記共通エンコーダ及び上記順方向予測ネットワークの両方の出力を組み合わせる第1ジョイントネットワークを含む第1RNN-Tを訓練するために、該プログラムコードを実行するためのメモリデバイスに動作可能に結合されたプロセッサデバイスを含む。順方向予測ネットワークは、ラベルシーケンスを順方向に予測する。プロセッサデバイスは、さらに、上記オーディオ・データのセットを入力することにより、上記共通エンコーダ、逆方向予測ネットワーク、並びに上記共通エンコーダ及び上記逆方向予測ネットワークの両方の出力を組み合わせる第2ジョイントネットワークを含む第2RNN-Tを訓練するために、該プログラムコードを実行するように動作可能である。逆方向予測ネットワークは、ラベルシーケンスを逆方向に予測する。訓練された第1RNN-Tは、推論のために用いられる。
【0007】
これらならびにその他の特徴及び利点は、それらを例示する実施形態についての以下の詳細な説明から明らかになる。それらの説明は、添付の図面と関連付けて読まれるべきである。
【0008】
次に、単に例として、本発明の好ましい実施形態が以下の図面を参照して記載される。
【図面の簡単な説明】
【0009】
【
図1】本発明の実施形態による例示的なコンピューティングデバイスを示すブロック図である。
【
図2】本発明の実施形態によるニューラルトランスデューサアーキテクチャの例を示す。
【
図3】本発明の実施形態による順方向の格子検索の例を示す図である。
【
図4】本発明の実施形態による逆方向の格子検索の例を示す図である。
【
図5】本発明の実施形態によってリカレントニューラルネットワークトランスデューサ(RNN-T)を訓練するための方法の例を示すフローチャートである。
【
図6】本発明の実施形態による動作環境の例を示す。
【
図7】本発明の実施形態によって、クラウドコンシューマによって用いられるローカルコンピューティングデバイスの通信相手である一つ以上のクラウドコンピューティングノードを有する例示的なクラウドコンピューティング環境を示すブロック図である。
【
図8】本発明の実施形態によってクラウドコンピューティング環境により提供される機能抽象層のセットを示すブロック図である。
【発明を実施するための形態】
【0010】
本発明の実施形態は、エンドツーエンド音声認識のためのニューラルトランスデューサモデルにおける音響情報と言語情報との分離を目的とする。
【0011】
本発明の実施形態は、ラベルシーケンスを逆方向に予測する追加の予測ネットワークを準備する。本発明の実施形態は、元の順方向予測ネットワークと追加の逆方向予測ネットワークとによるニューラルトランスデューサのマルチタスク訓練を実施する。マルチタスク学習時には同じエンコーダネットワークが用いられる。実際の試験(推論ステージ)のためには元の順方向予測ネットワークだけが用いられる。
【0012】
本発明の実施形態において、エンコーダネットワークは、順方向と逆方向との両方の予測ネットワークを用いて一緒に訓練され、したがって、言語情報を成果として取り込まない。この方法の利点の例は、少なくとも(1)訓練データへの過剰適合が軽減されることと;(2)予測ネットワーク及びエンコーダネットワークにおいて言語情報と音響情報とが分離度を高めて取り込まれることと、を含む。その結果、予測ネットワークとエンコーダネットワークとのカスタム化(
図2参照)がよりリアクティブになる。
【0013】
図1は、本発明の実施形態による例示的なコンピューティングデバイス100を示すブロック図である。コンピューティングデバイス100は、エンドツーエンド音声認識のためのニューラルトランスデューサモデルにおいて音響情報と言語情報とを分離するように構成される。この方法において、予測ネットワーク及びエンコーダネットワークのカスタム化(
図2参照)は、よりリアクティブになる。
【0014】
コンピューティングデバイス100は、コンピュータ、サーバ、ラック型サーバ、ブレードサーバ、ワークステーション、デスクトップコンピュータ、ラップトップコンピュータ、ノートブックコンピュータ、タブレットコンピュータ、モバイルコンピューティングデバイス、ウェアラブルコンピューティングデバイス、ネットワーク機器、ウェブ機器、分散型コンピューティングシステム、プロセッサ利用システムもしくはコンシューマ電子デバイスまたはそれらのいくつかもしくはすべてを含むがこれに限定されるものではない、本明細書に記載される機能を実施する能力があるあらゆるタイプのコンピューティングデバイスまたはコンピュータデバイスとして具体化されることがある。さらに、もしくはあるいは、コンピューティングデバイス100は、一つ以上のコンピュートスレッド、メモリスレッド、またはその他のラック、スレッド、コンピューティングシャシ、または物理的に切り離されたコンピューティングデバイスのその他のコンポーネントとして具体化されることがある。
図1に示されるように、コンピューティングデバイス100は、例示的にプロセッサ110、入力/出力サブシステム120、メモリ130、データ記憶デバイス140及び通信サブシステム150またはサーバもしくは類似のコンピューティングデバイス中に普通に見いだされる他のコンポーネント及びデバイスあるいはそれらのいくつかまたはすべてを含む。もちろん、コンピューティングデバイス100は、他の実施形態においてその他のコンポーネントまたは追加のコンポーネント、たとえばサーバコンピュータ中に普通に見いだされるもの(たとえばさまざまな入力/出力装置)を含むことがある。さらに、いくつかの実施形態において、例示的なコンポーネントの一種類以上が別のコンポーネントの中に組み込まれるかまたはその他の方法で別のコンポーネントの一部を形成することがある。たとえば、いくつかの実施形態においてメモリ130またはその一部がプロセッサ110の中に組み込まれることがある。
【0015】
プロセッサ110は、本明細書に記載される機能を実施する能力があるあらゆるタイプのプロセッサとして具体化されることがある。プロセッサ110は、単一プロセッサ、複数プロセッサ、中央処理ユニット(CPU)、グラフィクス処理ユニット(GPU)、シングルまたはマルチコアプロセッサ、ディジタル信号処理ユニット、マイクロコントローラ、またはその他のプロセッサまたは処理/制御回路として具体化されることがある。
【0016】
メモリ130は、本明細書に記載される機能を実施する能力があるあらゆるタイプの揮発メモリもしくは不揮発メモリまたはデータストレージとして具体化されることがある。動作時、メモリ130は、コンピューティングデバイス100の動作時に用いられるさまざまなデータ及びソフトウェア、たとえばオペレーティングシステム、アプリケーションプログラム、ライブラリ及びドライバを記憶することがある。メモリ130は、I/Oサブシステム120を介してプロセッサ110に通信的に結合され、I/Oサブシステム120は、プロセッサ110、メモリ130及びコンピューティングデバイス100のその他のコンポーネントとの入力/出力動作を促進する回路もしくはコンポーネントまたはその両方として具体化されることがある。たとえば、I/Oサブシステム120は、メモリコントローラハブ、入力/出力制御ハブ、プラットフォームコントローラハブ、集積制御回路、ファームウェアデバイス、通信リンク(たとえばポイントツーポイントリンク、バスリンク、ワイヤ、ケーブル、ライトガイド、プリント回路基板トレース等)もしくは入力/出力動作を促進する他のコンポーネント及びサブシステムまたはそれらのいくつかもしくはすべてとして具体化されるか、あるいは前記のものを他の形で含むことがある。いくつかの実施形態において、I/Oサブシステム120は、システム-オン-ア-チップ(SOC)の一部を形成すること及びプロセッサ110、メモリ130及びコンピューティングデバイス100のその他のコンポーネントとともに単一の集積回路チップに組み込まれることがある。
【0017】
データ記憶デバイス140は、たとえばメモリデバイス及び回路、メモリカード、ハードディスクドライブ、ソリッドステートドライブまたはその他のデータ記憶デバイスなど、データの短期または長期記憶のために構成されたあらゆるタイプのデバイスとして具体化されることがある。データ記憶デバイス140は、エンドツーエンド音声認識のためのニューラルトランスデューサモデルにおいて音響情報と言語情報とを分離するためのプログラムコードを記憶することができる。コンピューティングデバイス100の通信サブシステム150は、コンピューティングデバイス100とネットワーク上の他のリモートデバイスとの間の通信を可能にする能力があるあらゆるネットワークインタフェースコントローラまたはその他の通信回路、デバイスあるいはそれらの集まりとして具体化されることがある。通信サブシステム150は、そのような通信を行うために何れか1種類以上の通信技術(たとえば有線または無線通信)及び関連プロトコル(たとえばイーサネット、インフィニバンド(R)、ブルートゥース(R)、Wi-Fi(R)、WiMax等)を用いるように構成されることがある。
【0018】
図示のように、コンピューティングデバイス100は、一つ以上の周辺デバイス160も含むことがある。周辺デバイス160は、あらゆる数の追加の入力/出力デバイス、インタフェースデバイスもしくは他の周辺デバイスまたはその両方を含むことがある。たとえば、いくつかの実施形態において、周辺デバイス160は、ディスプレイ、タッチスクリーン、グラフィクス回路、キーボード、マウス、スピーカシステム、マイクロフォン、ネットワークインタフェース及び/またはその他の入力/出力デバイス、インタフェースデバイス及び/または周辺デバイスを含むことがある。
【0019】
もちろん、コンピューティングデバイス100は、当業者によって容易に予測されるように他の要素(図示せず)を含むことも特定の要素を除外することもある。たとえば、当業者によって容易に理解されるように、コンピューティングデバイス100の中に、その特定の実体化に応じてさまざまなその他の入力デバイスもしくは出力デバイスまたはその両方が含まれ得る。たとえば、さまざまなタイプの無線及び/または有線の入力及び/または出力デバイスが用いられ得る。そのうえ、さまざまな構成の追加のプロセッサ、コントローラ、メモリなども利用され得る。さらに、別の実施形態において、クラウド構成が用いられ得る(たとえば
図7~8参照)。処理システム100のこれらの変化形及びその他の変化形は、本明細書に提供される本発明の教示が与えられれば当業者によって容易に予測される。
【0020】
本明細書において使用されるとき、用語「ハードウェアプロセッササブシステム」または「ハードウェアプロセッサ」は、プロセッサ、メモリ(RAM、キャッシュなどを含む)、ソフトウェア(メモリ管理ソフトウェアを含む)または1種類以上の特定のタスクを実施するために協力するそれらの組み合わせを指すことができる。有用な実施形態において、ハードウェアプロセッササブシステムは、一つ以上のデータ処理要素(たとえばロジック回路、処理回路、命令実行デバイス等)を含むことができる。一つ以上のデータ処理要素は、中央処理ユニット、グラフィクス処理ユニットまたは別個のプロセッサもしくはコンピューティング要素に基づくコントローラ(たとえばロジックゲート等)あるいはそれらのいくつかまたはすべての中に含まれ得る。ハードウェアプロセッササブシステムは、一つ以上のオンボードメモリ(たとえばキャッシュ、専用メモリアレイ、読み出し専用メモリ等)を含むことができる。いくつかの実施形態において、ハードウェアプロセッササブシステムは、オンボードもしくはオフボードであり得るかまたはハードウェアプロセッササブシステムによる使用のための専用であり得る一つ以上のメモリ(たとえばROM、RAM、基本入力/出力システム(BIOS)等)を含むことができる。
【0021】
いくつかの実施形態において、ハードウェアプロセッササブシステムは、一つ以上のソフトウェア要素を含み、実行し得る。一つ以上のソフトウェア要素は、特定の結果を実現するためにオペレーティングシステム及び/または一つ以上のアプリケーション及び/または特定のコードを含み得る。
【0022】
他の実施形態において、ハードウェアプロセッササブシステムは、指定された結果を実現するために一つ以上の電子処理機能を実行する専用の、特別な回路を含むことができる。そのような回路は、一つ以上の特定アプリケーション向け集積回路(ASIC)、FPGAもしくはPLAまたはそれらのいくつかもしくはすべてを含み得る。
【0023】
ハードウェアプロセッササブシステムのこれらの変化形及びその他の変化形も本発明の実施形態によって予測される。
【0024】
図2は、本発明の実施形態による例示的なニューラルトランスデューサアーキテクチャ200を示す。
【0025】
ニューラルトランスデューサアーキテクチャ200は、第1リカレントニューラルネットワークトランスデューサ(RNN-T)210と第2RNN-T220とを含む。
【0026】
第1RNN-T210は、共通エンコーダ230と、順方向予測ネットワーク211と、第1ジョイントネットワーク(以後短く「ジョイントネットワーク」)212と、ソフトマックスブロック213と、を含む。順方向予測ネットワーク211は、ラベルシーケンスを順方向に予測する。ジョイントネットワーク212は、共通エンコーダ230及び順方向予測ネットワーク211の両方の出力を組み合わせる。順方向予測ネットワーク211、ジョイントネットワーク212及びソフトマックスブロック213は、第1デコーダネットワーク219を形成するとみなされ得る。
【0027】
第2RNN-T220は、共通エンコーダ230と、逆方向予測ネットワーク221と、第2ジョイントネットワーク(以後短く「ジョイントネットワーク」)222と、ソフトマックスブロック223と、を含む。逆方向予測ネットワーク221は、ラベルシーケンスを逆方向に予測する。ジョイントネットワーク222は、共通エンコーダ230及び逆方向予測ネットワーク221の両方の出力を組み合わせる。逆方向予測ネットワーク221、ジョイントネットワーク222及びソフトマックスブロック223は、第2デコーダネットワーク229を形成するとみなされ得る。
【0028】
共通エンコーダ230は、音響モデルとして役立つ。順方向予測ネットワーク211と逆方向予測ネットワーク221とは、言語モデルとして役立つ。ジョイントネットワーク212は、エンコーダ230及び順方向予測ネットワーク211からの音響埋め込みと言語埋め込みとを組み合わせる。ジョイントネットワーク222は、エンコーダ230及び逆方向予測ネットワーク221からの音響埋め込みと言語埋め込みとを組み合わせる。
【0029】
訓練された第1RNN-T210は、推論のために用いられる。
【0030】
エンコーダ230は、Xi…Tを入力として受け、
【0031】
【0032】
を出力する。
【0033】
順方向予測ネットワーク211は、YU-1を入力として受け、
【0034】
【0035】
を出力する。
【0036】
ジョイントネットワーク212は、
【0037】
【0038】
及び
【0039】
【0040】
を入力として受け、
【0041】
【0042】
を出力する。
【0043】
ソフトマックスブロック213は、
【0044】
【0045】
を入力として受け、P(y|t,u)を出力する。
【0046】
逆方向予測ネットワーク221は、Yu+1を入力として受け、
【0047】
【0048】
ジョイントネットワーク222は、
【0049】
【0050】
及び
【0051】
【0052】
を入力として受け、
【0053】
【0054】
を出力する。
【0055】
ソフトマックスブロック223は、
【0056】
【0057】
を入力として受け、P(y|t,u)を出力する。
【0058】
図2において、以下の表記法が適用される。
X
iは、音響シーケンスのi番目の入力特徴量を示し、Tは、シーケンス長(X:x1
…xT)を示し;
Y
u-1は、順方向に予測される出力文字シンボルを示し;
Y
u+1は、逆方向に予測される出力文字シンボルを示し;
【0059】
【0060】
は、入力特徴量の埋め込みベクトルシーケンスを示し;
【0061】
【0062】
は、順方向予測にコンディショニングを行った埋め込みを示し;
【0063】
【0064】
は、逆方向予測にコンディショニングを行った埋め込みを示し;
【0065】
【0066】
は、順方向予測ネットワーク211からの出力とエンコーダネットワーク230からの出力とを組み合わせることによるジョイントネットワーク212の埋め込みを示し;
【0067】
【0068】
は、逆方向予測ネットワーク221からの出力とエンコーダネットワーク230からの出力とを組み合わせることによるジョイントネットワーク222の埋め込みを示し;
P(y|t,u)は、文字のセットに対する事後分布を示し;
Y=(y1,…,yu)は、順方向の文字の出力セットを示し;
Y=(yu,…,y1)は、逆方向の文字の出力セットを示す。
【0069】
図3は、本発明の実施形態による例示的な順方向の格子検索300を示す図である。
【0070】
格子検索300は、x方向とy方向とを有する。x方向は、入力シーケンスx=(x1,…,XT)に対応する。y方向は、順方向出力シーケンスY=(y1,…,yU)に対応する。格子301中の各ノードは、ソフトマックスブロック213による
【0071】
【0072】
のソフトマックスを表す。
【0073】
図4は、本発明の実施形態による例示的な逆方向の格子検索400を示す図である。
【0074】
格子検索400は、x方向とy方向とを有する。x方向は、入力シーケンスx=(x1,…,XT)に対応する。y方向は、順方向出力シーケンスY=(y1,…,yU)に対応する。格子401中の各ノードは、ソフトマックスブロック223による
【0075】
【0076】
のソフトマックスを表す。
【0077】
図5は、本発明の実施形態による、リカレントニューラルネットワークトランスデューサ(RNN-T)を訓練するための例示的な方法500を示すフローチャートである。
【0078】
ブロック510において、オーディオ・データのセットを入力することによって、共通エンコーダ、順方向予測ネットワーク、並びに上記共通エンコーダ及び上記順方向予測ネットワークの両方の出力を組み合わせる第1ジョイントネットワークを含む第1RNN-Tを訓練する。順方向予測ネットワークは、ラベルシーケンスを順方向に予測する。
【0079】
実施形態において、ブロック510は、ブロック510Aを含み得る。
【0080】
ブロック510Aにおいて、上記オーディオ・データのセットと第1RNN-Tの出力とから、x軸に沿った上記オーディオ・データのセットとy軸に沿った上記第1RNN-Tの出力とを用いて第1出力確率格子を生成する。第1RNN-Tの第1出力確率格子上でRNN-T損失を右上方向において計算する。
【0081】
ブロック520において、上記オーディオ・データのセットを入力することによって、共通エンコーダ、逆方向予測ネットワーク、並びに共通エンコーダ及び逆方向予測ネットワークの両方の出力を組み合わせる第2ジョイントネットワークを含む第2RNN-Tを訓練する。逆方向予測ネットワークは、ラベルシーケンスを逆方向に予測する。第1RNN-Tと第2RNN-Tとは、RNN-Tを形成する。訓練するステップは、言語情報を無視し、取り込むことなく、順方向予測ネットワークと逆方向予測ネットワークとを一緒に訓練する。共通エンコーダネットワークは、前方向及び逆方向予測ネットワークと組み合わされる。したがって、共通エンコーダは、言語シーケンス(言語)情報を取り込んではならない。言語シーケンス情報は、前方向及び逆方向予測ネットワークによって取り込まれる必要がある。音響情報だけがエンコーダネットワークによって取り込まれるべきである。訓練された第1RNN-Tは、推論のために用いられる。
【0082】
実施形態において、ブロック520は、ブロック520Aを含み得る。
【0083】
ブロック520Aにおいて、上記オーディオ・データのセットと上記第2RNN-Tの出力とから、x軸に沿った上記オーディオ・データのセットとy軸に沿った上記第2RNN-Tの出力とを用いて第2出力確率格子を生成する。第2RNN-Tの第2出力確率格子上でRNN-T損失を左下方向において計算する。
【0084】
図6は、本発明の実施形態による例示的な動作環境600を示す。
【0085】
環境600は、サーバ側610とクライアント側650とを含む。
【0086】
サーバ側610は、音声に基づくコンピュータ処理システムを含む。例示を目的として、音声に基づくコンピュータ処理システムは、エンドツーエンド音声認識システム611である。エンドツーエンド音声認識システム611は、本原理による改善された音声認識精度を有する。ブロック611は、以下のもの、音声認識;話者識別;話者照合;話者推定;言語識別;キーワード認識;感情検出;自動翻訳;法廷速記;ハンズフリーコンピューティング;ホームオートメーション;携帯電話;など、の一つ以上を含む音声に基づくあらゆるコンピュータ処理システムを表し得ると理解されるべきである。
【0087】
クライアント側650は、ワークステーションのセット651を含む。
【0088】
ワークステーション651におけるユーザは、音声認識セッションに関与するかもしくは他の方法で音声認識セッションを用いるかまたはその両方を行うことができる。音声認識セッションは、顧客サービス、ボイスダイヤリング、機械制御、データ検索、データ入力、システム/施設/企業体アクセスなどに関してであってよいがこれに限定されるものではない。
【0089】
サーバ側610とクライアント側650との間の通信は、一つ以上のネットワーク699によって行われる。実施形態において、サーバ側610は、クラウド構成を用いて実現される。
【0090】
本開示は、クラウドコンピューティングに関する詳細な説明を含むが、本明細書に記載される教示の実施は、クラウドコンピューティング環境に限定されないと理解されるべきである。むしろ、本発明の実施形態は、現在公知であるかまたは今後開発されるあらゆる他のタイプのコンピューティング環境とともに実施され得る。
【0091】
クラウドコンピューティングは、最小限の管理努力またはサービスの提供者との相互作用で迅速に配信され公開され得る設定可能なコンピューティングリソース(たとえばネットワーク、ネットワーク帯域、サーバ、処理方法、メモリ、ストレージ、アプリケーション、仮想マシン及びサービス)の共用プールへの便利なオンデマンドネットワークアクセスを可能にするためのサービス供給のモデルである。このクラウドモデルは、少なくとも5つの特性、少なくとも3つのサービスモデル及び少なくとも4つの開発モデルを含むことがある。
【0092】
特性は、以下の通りである。
オンデマンドセルフサービス:クラウド消費者は、サービスの提供者との人的相互作用を必要とすることなく必要に応じて自動的にコンピューティング能力、たとえばサーバ時間及びネットワークストレージを単方向的に準備することができる。
幅広いネットワークアクセス:能力がネットワーク上で利用可能であり、不均質な低密度または高密度クライアントプラットフォーム(たとえば携帯電話、ラップトップ及びPDA)による使用を促進する標準メカニズムによってアクセスされる。
リソースプーリング:マルチテナントモデルを用いて複数の消費者にサービスを行うために提供者のコンピューティングリソースがプールされ、さまざまな物理リソース及び仮想リソースが需要にしたがって動的に割り当て及び再割り当てされる。消費者は、一般に、提供されるリソースの正確なロケーションに対して制御または知識をもたないが、より高い抽象化のレベルにおいてロケーション(たとえば国、州またはデータセンター)を指定し得ることがある点で、ロケーションに依存しない感覚がある。
迅速な弾力性:能力が、素早くスケールアウトするために迅速かつ弾力的に、場合によっては自動的に準備され、素早くスケールインするために迅速に解放され得る。消費者にとって、手当てするために利用可能な能力は、多くの場合に無制限のように見え、いつでもいかなる量でも購入することができる。
サービスの計量:クラウドシステムは、サービスのタイプに適切ななんらかのレベルの抽象化における計量能力(たとえばストレージ、プロセス処理、帯域及びアクティブユーザアカウント)を梃子にすることによってリソース使用を自動的に制御し、最適化する。リソース使用状況が監視され、制御され、報告され、利用されるサービスの提供者とコンシューマとの両方にとっての透明性を提供する。
【0093】
サービスモデルは、以下の通りである。
サービスとしてのソフトウェア(SaaS):コンシューマに提供される能力は、クラウドインフラストラクチャ上で実行されるプロバイダのアプリケーションを用いることである。アプリケーションは、ウェブブラウザなどのシンクライアントインタフェースを介してさまざまなクライアントデバイスからアクセス可能である(たとえばウェブ利用電子メール)。コンシューマは、限られたユーザ特異的アプリケーション構成設定をおそらく例外として、ネットワーク、サーバ、オペレーティングシステム、ストレージまたは場合によっては個々のアプリケーションの、能力を含む土台としてのクラウドインフラストラクチャを管理も制御もしない。
サービスとしてのプラットフォーム(PaaS):コンシューマに提供される能力は、プロバイダによってサポートされるプログラミング言語及びツールを用いて作り出された、コンシューマ作成または取得のアプリケーションをクラウドインフラストラクチャ上に展開することである。コンシューマは、ネットワーク、サーバ、オペレーティングシステムまたはストレージを含む土台としてのクラウドインフラストラクチャを管理も制御もしないが、展開されたアプリケーションと、おそらくはアプリケーションをホストする環境設定を制御する。
サービスとしてのインフラストラクチャ(IaaS):コンシューマに提供される能力は、オペレーティングシステム及びアプリケーションを含んでよい任意のソフトウェアをコンシューマが展開し、実行することができるプロセス処理、ストレージ、ネットワーク及びその他の基本的なコンピューティングリソースを準備することである。コンシューマは、土台としてのクラウドインフラストラクチャを管理も制御もしないが、オペレーティングシステム、ストレージ、展開されたアプリケーションを制御し、おそらくは選ばれたネットワークコンポーネント(たとえばホストファイアウォール)を限定的に制御する。
【0094】
展開モデルは、以下の通りである。
プライベートクラウド:クラウドインフラストラクチャは、機関のためにだけ運営される。それは、その機関または第三者によって管理され、オンプレミスまたはオフプレミスで存在することがある。
コミュニティクラウド:クラウドインフラストラクチャは、いくつかの機関によって共有され、共有される関心(たとえばミッション、セキュリティ要件、ポリシー及びコンプライアンスの考慮)を有する特定のコミュニティをサポートする。それは、その機関または第三者によって管理され、オンプレミスまたはオフプレミスで存在することがある。
パブリッククラウド:クラウドインフラストラクチャは、一般公衆または大規模な産業グループに利用可能であり、クラウドサービスを販売する機関によって所有される。
ハイブリッドクラウド:クラウドインフラストラクチャは、独自主体のままであるがデータ及びアプリケーションポータビリティ(たとえばクラウド間の負荷均衡のためのクラウドバースティング)を可能にする標準化技術または権利化技術によって結び付けられた2つ以上のクラウド(プライベート、コミュニティまたはパブリック)の複合体である。
【0095】
クラウドコンピューティング環境は、無国籍、低い結合、モジュール構造、及びセマンティック相互運用性に焦点を合わせたサービスを志向している。クラウドコンピューティングの中心には相互接続されたノードのネットワークを含むインフラストラクチャがある。
【0096】
次に
図7を参照すると、例示的なクラウドコンピューティング環境750が示される。図示のように、クラウドコンピューティング環境750は、たとえばパーソナルディジタルアシスタント(PDA)または携帯電話754A、デスクトップコンピュータ754B、ラップトップコンピュータ754Cもしくは自動車コンピュータシステム754Nまたはそれらのいくつかなど、クラウドコンシューマによって用いられるローカルコンピューティングデバイスの通信相手となることがある一つ以上のクラウドコンピューティングノード710を含む。ノード710は、互いに通信することがある。それらは、本明細書において上記に記載されたように一つ以上のネットワーク、たとえばプライベートクラウド、コミュニティクラウド、パブリッククラウドまたはハイブリッドクラウド、あるいはそれらの組み合わせにおいて物理的にまたは仮想的にグループ化される(図示せず)ことがある。これは、クラウドコンシューマがローカルコンピューティングデバイス上にリソースを維持する必要がない、サービスとしてのインフラストラクチャ、プラットフォームもしくはソフトウェアまたはそれらのいくつかをクラウドコンピューティング環境750が提供することを可能にする。
図7に示されるタイプのコンピューティングデバイス754A~Nは、単に例示的であるものとされ、コンピューティングノード710及びクラウドコンピューティング環境750は、あらゆるタイプのネットワークもしくはネットワークアドレス指定可能接続またはその両方によって(たとえばウェブブラウザを用いて)あらゆるタイプのコンピュータ化されたデバイスと通信することができることが理解される。
【0097】
次に、
図8を参照すると、クラウドコンピューティング環境750(
図7)によって提供される機能抽象層のセットが示される。
図7に示されるコンポーネント、層及び機能は、単に例示的であるものとされ、本発明の実施形態はそれに限定されないことが前もって理解されるべきである。図示のように、以下の層及び対応する機能が提供される:
【0098】
ハードウェア及びソフトウェア層860は、ハードウェア及びソフトウェアコンポーネントを含む。ハードウェアコンポーネントの例は、メインフレーム861と;RISC(縮小命令セットコンピュータ)アーキテクチャ利用サーバ862と;サーバ863と;ブレードサーバ864と;記憶デバイス865と;ネットワーク及びネットワークコンポーネント866と、を含む。いくつかの実施形態において、ソフトウェアコンポーネントは、ネットワークアプリケーションサーバソフトウェア867及びデータベースソフトウェア868を含む。
【0099】
仮想層870は、仮想実体の以下の例、仮想サーバ871と;仮想ストレージ872と;仮想プライベートネットワークを含む仮想ネットワーク873と;仮想アプリケーション及びオペレーティングシステム874と;仮想クライアント875と、が提供される元となることがある抽象層を提供する。
【0100】
一例において、管理層880が下記に記載される機能を提供することがある。リソース準備881は、クラウドコンピューティング環境内でタスクを実行するために利用されるコンピューティングリソースとその他のリソースとの動的な調達を提供する。計量及び価格決定882は、クラウドコンピューティング環境内でリソースが利用されるにつれてのコストトラッキングと、これらのリソースの消費に対する請求書または納品書の作成とを提供する。一例において、これらのリソースは、アプリケーションソフトウェア使用許諾を含むことがある。セキュリティは、クラウドコンシューマ及びタスクのための認識検証ならびにデータ及びその他のリソースのための保護を提供する。ユーザポータル883は、コンシューマ及びシステム管理者のためのクラウドコンピューティング環境へのアクセスを提供する。サービスレベル管理884は、必要なサービスレベルが満たされるようにクラウドコンピューティングリソース割り当て及び管理を提供する。サービスレベル契約(SLA)プランニング及び履行885は、SLAにしたがって将来の要件が予想されるクラウドコンピューティングリソースのための事前準備及び調達を提供する。
【0101】
ワークロード層890は、クラウドコンピューティング環境が利用され得る機能の例を提供する。この層から提供され得るワークロード及び機能の例は、マッピング及びナビゲーション891と;ソフトウェア開発及びライフサイクル管理792と;仮想授業配信893と;データアナリティクス処理894と;トランザクション処理795と;エンドツーエンド音声認識のためのニューラルネットワークモデルにおける音響情報と言語情報との分離896を含む。
【0102】
本発明は、統合についての可能なあらゆる技術詳細レベルにおけるシステム、方法もしくはコンピュータプログラムプロダクトまたはそれらのいくつかのことがある。コンピュータプログラムプロダクトは、本発明の側面をプロセッサに実行させるためのコンピュータ可読プログラム命令を搭載するコンピュータ可読記憶媒体を含むことがある。
【0103】
コンピュータ可読記憶媒体は、命令実行デバイスによる使用のための命令を保持及び記憶することができる有形装置であってよい。コンピュータ可読記憶媒体は、たとえば、電子記憶デバイス、磁気記憶デバイス、光記憶デバイス、電磁記憶デバイス、半導体記憶デバイス、または前記のもののあらゆる適当な組み合わせのことがあるがこれに限定されるものではない。コンピュータ可読記憶媒体の特定の例の完全に網羅的ではないリストは、以下、ポータブルコンピュータディスケット、ハードディスク、ランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、消去可能プログラマブルリードオンリーメモリ(EPROMまたはフラッシュメモリ)、スタティックランダムアクセスメモリ(SRAM)、携帯型読み取り専用コンパクトディスク(CD-ROM)、ディジタル多用途ディスク(DVD)、メモリカード、フレキシブルディスク、穿孔カードまたは命令が記録される溝の中の凸構造体などの機械的にコードされるデバイス、及び上記のもののあらゆる適当な組み合わせを含む。本明細書において用いられるコンピュータ可読記憶媒体は、それ自体が一過性信号、たとえば電波または他の自由に伝播する電磁波、導波路または他の伝送媒体を通って伝播する電磁波(たとえば光ファイバケーブルの中を通る光パルス)、またはワイヤを通って伝えられる電気信号であると解釈されるべきではない。
【0104】
本明細書に記載されるコンピュータ可読プログラム命令は、ネットワーク、たとえばインターネット、ローカルエリアネットワーク、ワイドエリアネットワークもしくは無線ネットワークまたはそれらのいくつかを介して、コンピュータ可読記憶媒体からそれぞれのコンピューティング/処理デバイスに、または外部コンピュータまたは外部記憶デバイスにダウンロードされ得る。ネットワークは、銅伝送ケーブル、光伝送ファイバ、無線伝送、ルータ、ファイアウォール、スイッチ、ゲートウェイコンピュータ及び/またはエッジサーバを含むことがある。各コンピューティング/処理デバイス中のネットワークアダプタカードまたはネットワークインタフェースがネットワークからコンピュータ可読プログラム命令を受け取り、コンピュータ可読プログラム命令をそれぞれのコンピューティング/処理デバイス内のコンピュータ可読記憶媒体の中に記憶するために転送する。
【0105】
本発明の操作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セットアーキテクチャ(ISA)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、またはSMALLTALK、C++などのようなオブジェクト指向プログラミング言語、及び従来の手続き型プログラミング言語、たとえば「C」プログラミング言語または類似のプログラミング言語を含む、1種類以上のプログラミング言語の何れかの組み合わせで書かれたソースコードまたはオブジェクトコードの何れかのことがある。コンピュータ可読プログラム命令は、スタンドアロンソフトウェアパッケージとしてユーザのコンピュータ上ですべて、ユーザのコンピュータ上で一部、ユーザのコンピュータ上で一部及びリモートコンピュータ上で一部、またはリモートコンピュータまたはサーバ上ですべてを実行することがある。後者のシナリオにおいて、リモートコンピュータは、ローカルエリアネットワーク(LAN)またはワイドエリアネットワーク(WAN)を含むあらゆるタイプのネットワークを通してユーザのコンピュータに接続されるか、または外部コンピュータに接続が行われる(たとえばインターネットサービスプロバイダを用いるインターネットを介して)ことがある。いくつかの実施形態において、本発明の側面を実施するために、たとえばプログラマブルロジック回路、フィールドプログラマブルゲートアレイ(FPGA)、またはプログラマブルロジックアレイ(PLA)を含む電子回路がコンピュータ可読プログラム命令の状態情報を利用することによりコンピュータ可読プログラム命令を実行して電子回路を個別に使用することがある。
【0106】
本発明の実施形態による方法、装置(システム)及びコンピュータプログラムプロダクトのフローチャート例示及び/またはブロック図を参照して本発明の側面が本明細書において記載される。コンピュータ可読プログラム命令によってフローチャート例示及び/またはブロック図の各ブロック、ならびに流フローチャート例示及び/またはブロック図の中のブロックの組み合わせが実施され得ることが理解されよう。
【0107】
これらのコンピュータ可読プログラム命令は、マシンを製造するために汎用コンピュータ、専用コンピュータ、または他のプログラマブルデータ処理装置のプロセッサに提供され、その結果、コンピュータまたは他のプログラマブルデータ処理装置のプロセッサによって実行される命令は、フローチャート及び/またはブロックダイヤグラムブロックにおいて指定される機能/動作を実体化するための手段を作り出することがある。これらのコンピュータ可読プログラム命令は、コンピュータ、プログラマブルデータ処理機械及び/または他の装置に特定の方法で機能するように指令することができるコンピュータ可読記憶媒体中に記憶されることもあり、それによって内部に命令を記憶したコンピュータ可読記憶媒体は、フローチャート及び/またはブロックダイヤグラムブロックにおいて指定される機能/行為の側面を実体化する命令を含むプロダクトを含む。
【0108】
コンピュータ可読プログラム命令は、コンピュータ実施プロセスを生み出すためにコンピュータ、他のプログラマブル装置または他のデバイス上で一連の操作ステップを実施させ、それによって、コンピュータ、他のプログラマブル装置または他のデバイス上で実行される命令が、フローチャートのブロックもしくはブロックダイヤグラムのブロックまたはそれらの両方において指定される機能/行動を実施するように、コンピュータ、他のプログラマブルデータ処理装置または他のデバイスに、ロードされることもある。
【0109】
図中のフローチャート及びブロックダイヤグラムは、本発明のさまざまな実施形態によるアーキテクチャ、機能ならびにシステム、方法及びコンピュータプログラムプロダクトの可能な実体化の操作を例示する。この点について、フローチャートまたはブロックダイヤグラムの中の各ブロックは、指定された論理機能を実体化するための一つ以上の実行可能な命令を含むモジュール、セグメントまたは部分を表すことがある。いくつかの代替実体化において、ブロック中に注記された機能は、図の中に注記された順序から外れて起こることがある。たとえば、連続して示される2つのブロックが実際には実質的に同時に実行されるか、またはブロックが時には含まれる機能に応じて逆の順序で実行されることがある。ブロックダイヤグラム及び/またはフローチャート例示の各ブロック、及びブロックダイヤグラム及び/またはフローチャート例示中のブロックの組み合わせは、指定された機能を実施するかまたは実行するか、動作するか、または特別な目的のハードウェア及びコンピュータ命令の組み合わせを実行する特別な目的のハードウェアに基づくシステムによって実体化され得る点も留意される。
【0110】
本明細書における本発明の「一実施形態」または「実施形態」ならびにそれらの他の変化形への参照は、実施形態と関連して記載される特定の特徴、構造、特性などが本発明の少なくとも一つの実施形態に含まれることを意味する。したがって、句「一実施形態において」または「実施形態において」ならびに本明細書全体にわたってさまざまな場所で表れるあらゆる他の変化形の出現は、必ずしもすべてが同じ実施形態を指すわけではない。
【0111】
たとえば「A/B」、「AもしくはBまたはその両方」及び「A及びBの少なくとも一方」の場合の以下、「/」、「もしくは…またはその両方」及び「の少なくとも一方」の何れかの使用は、第一に挙げられた選択肢(A)だけの選択、または第二に挙げられた選択肢(B)だけの選択、あるいは両方の選択肢(A及びB)の選択を包含すると理解されるべきである。さらなる例として、「A、BもしくはCまたはそれらのいくつか」と「A、B及びCの少なくとも一つ」の場合に、そのような句表現は、第一に挙げられた選択肢(A)だけの選択、または第二に挙げられた選択肢(B)だけの選択、または第三に挙げられた選択肢(C)だけの選択、または第一及び第二に挙げられた選択肢(A及びB)だけの選択、または第一及び第三に挙げられた選択肢(A及びC)だけの選択、または第二及び第三に挙げられた選択肢(B及びC)だけの選択、あるいは3つすべての選択肢(A及びB及びC)の選択を包含するものとする。これは、当分野及び関連分野において通常の知識を有する者によって容易に明らかであるように、挙げられた物の数に合わせて拡大されることがある。
【0112】
システム及び方法の好ましい実施形態(例示的であるものとされ、限定的ではない)を記載してきたが、上記教示を考慮すれば当業者によって変更及び変化が行われ得る。したがって、添付の請求項によって概略が示される本発明の範囲内にある、開示された特定の実施形態において変化が行われ得ると理解されるべきである。このように、特許法によって求められ詳細及び特定性とともに本発明の側面を記載した。請求され、特許状によって保護されることが望まれるものは、添付の請求項に記載される。
【国際調査報告】