JP6430305B2 - データ処理装置、データ処理方法およびプログラム - Google Patents

データ処理装置、データ処理方法およびプログラム Download PDF

Info

Publication number
JP6430305B2
JP6430305B2 JP2015055258A JP2015055258A JP6430305B2 JP 6430305 B2 JP6430305 B2 JP 6430305B2 JP 2015055258 A JP2015055258 A JP 2015055258A JP 2015055258 A JP2015055258 A JP 2015055258A JP 6430305 B2 JP6430305 B2 JP 6430305B2
Authority
JP
Japan
Prior art keywords
data
processing
unit
order
processing unit
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.)
Active
Application number
JP2015055258A
Other languages
English (en)
Other versions
JP2016177365A (ja
Inventor
翔子 宮森
翔子 宮森
貴史 益子
貴史 益子
舘森 三慶
三慶 舘森
上野 晃嗣
晃嗣 上野
学 永尾
学 永尾
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2015055258A priority Critical patent/JP6430305B2/ja
Priority to US15/070,874 priority patent/US10269355B2/en
Publication of JP2016177365A publication Critical patent/JP2016177365A/ja
Application granted granted Critical
Publication of JP6430305B2 publication Critical patent/JP6430305B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems
    • G10L15/34Adaptation of a single recogniser for parallel processing, e.g. by use of multiple processors or cloud computing

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Telephonic Communication Services (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)

Description

本発明の実施形態は、データ処理装置、データ処理方法およびプログラムに関する。
要求されたタスクの処理を並列化(分散処理)することで、処理を高速化して応答時間の短縮を図る技術がある。しかし、データの順序関係に依存した処理を行うタスク、つまり、あるデータの処理に、それよりも前のデータの処理結果が必要となるタスクを考えた場合、1つのタスクを分散処理することができない。
このようなタスクの例としては、デコーダ部とスコア演算部を持つ構成の音声認識装置による音声認識処理がある。この音声認識装置では、認識対象となる一連の音声データ(系列データ)を処理単位となるフレーム(一般的に10ms程度)ごとに切り出して処理を行う。処理は、まずスコア演算部でフレームごとに音響・言語スコア(以下、単にスコアと呼ぶ。)を求める。次にデコーダ部で、一連の音声データを構成する各フレームのスコアをフレームの出現順に統合し、音声データ全体に対して統合スコアの最も高い結果を最終的な認識結果として出力する。このように、一連の音声データから音声認識結果を得るというタスクでは、あるフレームまでの統合スコアを求めるために、それよりも前に出現しているフレームのスコアが必要となる。
音声認識の分野では、これまで、発話区間と非発話区間とを含む入力データから検出された発話区間(この発話区間の音声データが、認識対象となる一連の音声データとなる。)ごとの音声認識処理を並列化したり、音響スコア計算の内部処理をタスクごとに分散処理したりする試みはあった。しかし、フレーム間の依存関係が結果に関わる一連の音声データを対象とする音声認識処理の全体を1つのタスクとしたときに、タスク自体の分散処理は行われておらず、処理の高速化に限界があった。
ほかにも、文字認識処理やジェスチャ認識処理などのように、系列データを処理の対象とするタスクでは、音声認識処理と同様にデータの順序関係に依存した処理が必要となるため、同様の問題が生じる。このため、系列データに対する分散処理を可能にする仕組みを構築し、さらなる処理の高速化を図ることが求められる。
特開2013−101204号公報
Keliang Zhang and Baifeng Wu,"Task Scheduling for GPU Heterogeneous Cluster"IEEE International Conference on Cluster Computing Workshops,2012
本発明が解決しようとする課題は、系列データに対する分散処理を可能にして処理の高速化率を高めることができるデータ処理装置、データ処理方法およびプログラムを提供することである。
実施形態のデータ処理装置は、系列データに対する所定処理の結果である結果データを生成する。このデータ処理装置は、複数の上位処理部と、下位処理部と、を備える。複数の上位処理部は、前記系列データを構成するデータブロックに順序情報を付与する機能を有する。下位処理部は、前記順序情報が付与された前記データブロックに対して下位処理を実行し、得られた値に前記データブロックと共通の順序情報を付与する。そして、前記複数の上位処理部のうち、前記データブロックに前記順序情報を付与した第1の上位処理部とは異なる第2の上位処理部、前記共通の順序情報が付与された前記値を前記共通の順序情報に基づいて統合して上位処理を実行し、前記結果データを生成する。
第1実施形態のデータ処理装置の構成例を示すブロック図。 上位処理部による処理手順の一例を示すフローチャート。 下位処理部による処理手順の一例を示すフローチャート。 上位処理部による処理手順の一例を示すフローチャート。 第2実施形態の下位処理部による処理手順の一例を示すフローチャート。 第2実施形態の上位処理部による処理手順の一例を示すフローチャート。 第3実施形態のデータ処理装置の概略構成例を示すブロック図。 第4実施形態のデータ処理装置の構成例を示すブロック図。
以下、添付図面を参照しながら、実施形態のデータ処理装置、データ処理方法およびプログラムについて詳細に説明する。実施形態のデータ処理装置は、系列データに対する所定処理の結果である結果データを生成するものであり、例えば、系列データとして音声データを入力し、この音声データに対する音声認識結果を結果データとして出力する音声認識装置(音声認識システム)として構築される。
音声認識装置は、認識対象となる一連の音声データ(1つの発話区間の音声データ)を、装置内部での処理単位となるフレームごとに切り出してフレームごとのスコアを求め、各フレームのスコアをフレームの出現順に統合して、音声データ全体に対して統合スコアの最も高い結果を最終的な音声認識結果として出力する。ここで、フレームごとのスコアを計算するスコア演算処理と、各フレームのスコアを統合して最終的な音声認識結果を得るデコード処理とでは、効率的な処理を実現する上で最適な計算リソースが異なる。すなわち、スコア演算処理は、DNN(deep neural network)などによるスコア計算を行う。そのため、スコア演算処理を実行するための計算リソースとしては、GPGPUのように計算そのものを高速に実行できるハードウェアが理想的である。一方、デコード処理は、多数のスコアを統合して音声認識結果の計算を行う。そのため、デコード処理を実行するための計算リソースとしては、大容量RAMを搭載したハードウェアが望ましい。
そこで、実施形態のデータ処理装置では、構成の異なる計算リソースを個別に用意し、計算速度が速い計算リソースを用いてスコア演算処理のような下位処理を実行し、メモリ容量が大きい計算リソースを用いてデコード処理のような上位処理を実行する。下位処理と上位処理との間でのデータの受け渡しには、プロセス間通信(IPC:interprocess communication)の技術を用いる。ここで下位処理とは、結果データの生成に必要な値を得るための処理であり、上位処理とは、下位処理により得られた値を用いて結果データを生成する処理である。実施形態のデータ処理装置を音声認識装置として構築する場合、結果データとしての音声認識結果の生成に必要な値であるフレームごとのスコアを計算するスコア演算処理が下位処理に相当し、下位処理により得られた値であるフレームごとのスコアを用いて結果データとしての音声認識結果を生成するデコード処理が上位処理に相当する。以下では、実施形態のデータ処理装置において下位処理を実行する部分を下位処理部と呼び、上位処理を実行する部分を上位処理部と呼ぶ。
実施形態のデータ処理装置は、系列データに対して、データの順序関係に依存せずに処理が可能な下位処理と、データの順序関係が重要となる上位処理とを含む一連の処理を行って結果データを生成することを1つのタスクとする。音声認識装置としての構築例では、認識対象となる一連の音声データ(1つの発話区間の音声データ)から1つの発話の音声認識結果(テキストデータ)を生成する一連の処理が1つのタスクとなる。ここで、認識対象の音声データに対してフレームごとのスコアを計算するスコア演算処理(下位処理)は、フレームの順序関係に依存せずに処理が可能である。一方、フレームごとのスコアを用いて音声認識結果を生成するデコード処理(上位処理)は、フレーム間の順序関係に依存した処理となる。
実施形態のデータ処理装置では、このような1つのタスクに対し、データの順序関係に依存せずに処理が可能な下位処理を並列化(分散処理)することにより、1つのタスクの処理を高速化することが可能な仕組みを持つ。すなわち、実施形態のデータ処理装置では、上位処理部が、1つのタスクで処理する系列データ(音声認識装置としての構築例では1つの発話区間の音声データ)に対し、その系列データを構成するデータブロックであって処理単位となるデータブロック(音声認識装置としての構築例ではフレーム)ごとに、その系列データにおける各データブロックの順序を表す順序情報を付与して第1の格納部に格納する。また、下位処理部が、第1の格納部に格納されているデータブロックに対して下位処理を実行し、得られた値(音声認識装置としての構築例ではフレームごとのスコア)にデータブロックと共通の順序情報を付与して第2の格納部に格納する。そして、上位処理部は、第2の格納部に格納されている値を順序情報に基づいて統合して上位処理を実行する。
このように、実施形態のデータ処理装置は、上位処理部と下位処理部との間で、バッファ(第1の格納部および第2の格納部)を介して、データの受け渡し(プロセス間通信)を行う。このとき、1つのタスクで処理する系列データを構成する各データブロックや、これらのデータブロックに対する下位処理によって得られたそれぞれの値に対して、順序関係が分かる順序情報を付与しておく。これにより、各データブロックを対象とした下位処理を並列化しつつ、順序関係に依存する上位処理を適切に実行することができる。つまり、実施形態のデータ処理装置では、上述の仕組みを持つことで、1つのタスクで処理する系列データに対する分散処理を可能にし、処理の高速化率を高めることができる。
また、従来のプロセス間通信では、音声データのように順序関係が重要な系列データを扱う場合は、例えばTCP(Transmission Control Protocol)のようにデータの順序関係が保障されるプロトコルを用いる必要があったが、実施形態のデータ処理装置で行うプロセス間通信では、このような制約がない。
以下では、音声認識装置としての構築例を想定しながら、実施形態のデータ処理装置の具体例についてさらに詳しく説明する。
[第1実施形態]
図1は、第1実施形態のデータ処理装置の構成例を示すブロック図である。図1に示すように、本実施形態のデータ処理装置は、上位処理部100と、データ管理部200と、下位処理部300と、を備える。上位処理部100、データ管理部200、および下位処理部300は、各々独立の情報処理装置(コンピュータ)を用いて実現されていてもよいし、一部または全部が共通の情報処理装置(コンピュータ)を用いて実現される構成であってもよい。上位処理部100と下位処理部300とを個別の情報処理装置を用いて実現する場合、メモリ容量が大きい計算リソースを備えた情報処理装置を用いて上位処理部100を実現し、計算速度が速い計算リソースを備えた情報処理装置を用いて下位処理部300を実現することが望ましい。また、上位処理部100と下位処理部300とを共通の情報処理装置を用いて実現する場合、構成が異なる少なくとも2つの計算リソースを備えた情報処理装置を用い、メモリ容量が大きい計算リソースにより上位処理部100を実現し、計算速度が速い計算リソースにより下位処理部300を実現することが望ましい。
上位処理部100とデータ管理部200、データ管理部200と下位処理部300をそれぞれ個別の情報処理装置を用いて実現する場合、これらの情報処理装置はLANやインターネットなどの通信回線により接続されているものとする。また、上位処理部100とデータ管理部200、データ管理部200と下位処理部300をそれぞれ共通の情報処理装置を用いて実現する場合、これらの各部がバスにより接続されているものとする。
図1に示すように、上位処理部100は、入力受付部101、フレーム分割部102、データ送信部103(順序情報付与部)、スコア受信部104、および結果演算部105を有する。また、データ管理部200は、データ格納部201(第1の格納部)、データ送信部202、スコア格納部203(第2の格納部)、およびスコア送信部204を有する。また、下位処理部300は、データ受信部301、データ変換部302、スコア演算部303、およびスコア送信部304を有する。以下、これら各部の役割を説明する。
上位処理部100の入力受付部101は、本実施形態のデータ処理装置が1つのタスクを実行するにあたり、このタスクで処理する音声データ(系列データ)の入力を受け付ける。本実施形態のデータ処理装置が1つのタスクで処理する音声データは、上述したように、1つの発話区間の音声データである。本実施形態のデータ処理装置に入力されるデータが発話区間と非発話区間とを含むデータである場合、例えば上位処理部100において発話区間を検出し、検出した発話区間ごとの音声データを1つのタスクで処理する音声データとして、入力受付部101が受け付けるようにしてもよい。
フレーム分割部102は、入力受付部101が入力を受け付けた音声データを、装置内部での処理単位となるフレーム(データブロック)に分割する。なお、入力受付部101が入力を受け付けた音声データがすでにフレーム分割されている場合は、フレーム分割部102の処理は不要である。また、フレーム分割部102は、分割した各フレームのデータ(以下、フレームデータと呼ぶ。)が音声波形データである場合、この音声波形データを音響特徴量に変換する処理を行ってもよい。
データ送信部103は、フレーム分割部102で分割された各フレームデータに対し、認識対象の音声データにおける各フレームの順序を表す順序情報を付与してデータ管理部200に送信する。データ管理部200に送信された順序情報が付与されたフレームデータは、データ格納部201に格納される。各フレームデータに対して付与する順序情報は、順序を特定できる情報であればよく、連続数値のほか離散数値、アルファベット、およびそれらから構成される文字列などを用いることができる。
また、データ送信部103は、フレーム分割部102で分割された各フレームデータに対し、上述の順序情報に加えて、フレームの優先度を表す優先度情報をさらに付与してデータ管理部200に送信してもよい。優先度情報の付与により、順序とは別に処理の順番を制御するなどの応用が可能となる。例えば、本実施形態のデータ処理装置に入力されたデータが複数の発話区間を含むデータであり、このデータから検出された複数の発話区間の音声データに対して複数のタスクの音声認識処理を行う場合などにおいて、順序が後のタスクで処理する音声データの方が前のタスクで処理する音声データよりもノイズが少なく、即座に結果を返せるのであれば、順序が後のタスクで処理する音声データの各フレームの優先度を高くして、後のタスクの処理を優先させる。これにより、はじめに応答を返すまでの時間を短縮できる。また、例えば、1つのタスクで処理する音声データの各フレームに対し、下位処理部300でのスコア計算に要する時間を予測できる場合、スコア計算に時間がかかるフレームの優先度を高くして、そのフレームに対するスコア計算を先に開始させる。これにより、1つのタスクに対するトータルの処理時間を短縮できる。
データ管理部200のデータ送信部202は、下位処理部300からのデータ参照要求に応じて、下位処理部300で未処理のフレームデータがデータ格納部201に格納されているか否かを確認し、データ格納部201に未処理のフレームデータが格納されている場合に、そのフレームデータをデータ格納部201から読み出して下位処理部300に送信する。このとき、データ格納部201に優先度情報が付与された未処理のフレームデータが複数格納されている場合、データ送信部202は、優先度が高いフレームデータから順にデータ格納部201から読み出して下位処理部300に送信する。また、データ格納部201に格納されているフレームデータに優先度情報が付与されていない場合、データ送信部202は、データ格納部201に格納されている複数のフレームデータのうち、順序情報で示される順序が前のフレームデータから順に読み出して下位処理部300に送信するように構成してもよい。
下位処理部300のデータ受信部301は、データ管理部200に対してデータ参照要求を送信し、その応答としてデータ管理部200から未処理のフレームデータが送られてくると、そのフレームデータを受信する。データ受信部301が受信するフレームデータは、上述したように、上位処理部100において順序情報が付与されたフレームデータである。
データ変換部302は、データ受信部301が受信したフレームデータを、スコア計算に適した音響特徴量などのデータに変換する。なお、上述した上位処理部100のフレーム分割部102によってフレームデータが音声波形データから音響特徴量に変換されている場合など、データ受信部301が受信したフレームデータがすでにスコア計算に適したデータとなっている場合は、データ変換部302の処理は不要である。
スコア演算部303は、データ変換部302により変換されたフレームデータ(データ変換部302による変換が不要な場合は、データ受信部301が受信したフレームデータとなる。)をもとに、例えばDNNなどによるフレームごとのスコア計算を行う。フレームごとのスコアは、一般にフレームデータから計算される複数の値の集合(スコア集合)であるが、ここでは単にスコアと呼ぶ。スコア演算部303によるフレームごとのスコア計算は、フレームの順序関係に依存しない処理となるため、複数のフレームに対するスコア計算を並列化して行うことができる。
スコア送信部304は、スコア演算部303でのスコア計算によって得られたフレームごとのスコアに対し、フレームデータと共通の順序情報を付与してデータ管理部200に送信する。データ管理部200に送信された順序情報が付与されたスコアは、スコア格納部203に格納される。なお、フレームデータと共通の順序情報は、上位処理部100によってフレームデータに付与された順序情報と同じ順序を表すものであればよく、必ずしもフレームデータに付与された順序情報と同一の情報である必要はない。例えば、フレームデータに付与された順序情報を元に計算される情報を、スコアに付与してもよい。
データ管理部200のスコア送信部204は、上位処理部100からのスコア参照要求に応じて、上位処理部100で未処理のフレームのスコアがスコア格納部203に格納されているか否かを確認し、スコア格納部203に未処理のフレームのスコアが格納されている場合に、そのスコアをスコア格納部203から読み出して上位処理部100に送信する。このとき、スコア格納部203に未処理のフレームのスコアが複数格納されている場合、スコア送信部204は、スコア格納部201に格納されている複数のスコアのうち、順序情報で示される順序が前のスコアから順に読み出して上位処理部100に送信する。
上位処理部100のスコア受信部104は、データ管理部200に対してスコア参照要求を送信し、その応答としてデータ管理部200から未処理のフレームのスコアが送られてくると、そのスコアを受信する。スコア受信部104が受信するスコアは、上述したように、フレームデータと共通の順序情報が付与されたスコアである。
結果演算部105は、スコア受信部104が受信した各フレームのスコアを、そのスコアに付与された順序情報に基づいて統合する。そして、結果演算部105は、入力受付部101が入力を受け付けた音声データ、すなわち、認識対象となる1つの発話区間の音声データに含まれる全てのフレームのスコアが統合されると、統合スコアが最も高くなる結果を音声データ全体に対する音声認識結果として生成し、外部のアプリケーションなどに出力する。
次に、本実施形態のデータ処理装置の動作例を説明する。
まず、図2を参照して、認識対象の音声データが入力されてからフレームデータをデータ格納部201に格納するまでの上位処理部100による処理を説明する。図2は、このときの上位処理部100による処理手順の一例を示すフローチャートである。
認識対象の音声データが上位処理部100に入力されると、まず、入力受付部101が、その音声データの入力を受け付ける(ステップS101)。入力受付部101によって入力が受け付けられた音声データは、フレーム分割部102に渡される。
次に、フレーム分割部102が、入力受付部101から渡された音声データをフレーム分割する(ステップS102)。フレーム分割部102の処理により得られた各フレームデータは、データ送信部103に渡される。
次に、データ送信部103が、フレーム分割部102から渡された各フレームデータに対し、音声データにおける各フレームの順序を表す順序情報を付与してデータ管理部200に送信する(ステップS103)。このとき、データ送信部103は、各フレームの優先度を表す優先情報をフレームデータにさらに付与してデータ管理部200に送信してもよい。データ送信部103からデータ管理部200に送信されたフレームデータは、データ格納部201に格納される。
次に、図3を参照して、下位処理部300による処理を説明する。図3は、下位処理部300による処理手順の一例を示すフローチャートである。
下位処理部300では、まず、データ受信部301が、データ管理部200に対してデータ参照要求を送信する(ステップS201)。このとき、データ管理部200のデータ格納部201に下位処理部300で未処理のフレームデータが格納されていれば、データ管理部200のデータ送信部202から下位処理部300に対し、データ参照要求に対する応答として、この未処理のフレームデータが送信される。また、優先度情報が付与された未処理のフレームデータがデータ格納部201に複数格納されていれば、優先度の高いフレームデータから順に送信される。
データ受信部301は、データ管理部200に対してデータ参照要求を送信した後、このデータ参照要求に対する応答としてデータ管理部200からフレームデータが送信されたか否かを判定する(ステップS202)。そして、データ管理部200からフレームデータが送信されると(ステップS202:Yes)、このフレームデータを受信する(ステップS203)。データ受信部301により受信されたフレームデータは、データ変換部302に渡される。一方、データ管理部200からフレームデータが送信されない場合は(ステップS202:No)、ステップS201に戻って、データ受信部301によるデータ参照要求の送信が再度行われ、以降の処理が繰り返される。
次に、データ変換部302が、データ受信部301から渡されたフレームデータを、スコア計算に適した音響特徴量などのデータに変換する(ステップS204)。データ変換部302により変換されたフレームデータは、スコア演算部303に渡される。なお、データ受信部301から渡されたフレームデータがすでにスコア計算に適したデータとなっている場合は、ステップS204の処理は省略される。
次に、スコア演算部303が、データ変換部302から渡されたフレームデータをもとに、フレームごとのスコアを計算する(ステップS205)。スコア演算部303により計算されたフレームごとのスコアは、スコア送信部304に渡される。
次に、スコア送信部304が、スコア演算部303から渡されたフレームごとのスコアに対し、フレームデータと共通の順序情報を付与してデータ管理部200に送信する(ステップS206)。スコア送信部304からデータ管理部200に送信されたフレームごとのスコアは、スコア格納部203に格納される。
次に、図4を参照して、スコア格納部203に格納されたスコアを用いて認識対象の音声データに対する音声認識結果を生成する上位処理部100による処理を説明する。図4は、このときの上位処理部100による処理手順の一例を示すフローチャートである。
上位処理部100では、まず、スコア受信部104が、データ管理部200に対してスコア参照要求を送信する(ステップS301)。このとき、データ管理部200のスコア格納部203に上位処理部100で未処理のスコアが格納されていれば、データ管理部200のスコア送信部204から上位処理部100に対し、スコア参照要求に対する応答として、この未処理のスコアが送信される。未処理のスコアがスコア格納部203に複数格納されている場合は、順序情報で示される順序が前のスコアから順に送信される。
スコア受信部104は、データ管理部200に対してスコア参照要求を送信した後、このスコア参照要求に対する応答としてデータ管理部200からスコアが送信されたか否かを判定する(ステップS302)。そして、データ管理部200からスコアが送信されると(ステップS302:Yes)、このスコアを受信する(ステップS303)。スコア受信部104により受信されたスコアは、結果演算部105に渡される。一方、データ管理部200からスコアが送信されない場合は(ステップS302:No)、ステップS301に戻って、スコア受信部104によるスコア参照要求の送信が再度行われ、以降の処理が繰り返される。
次に、結果演算部105が、スコア受信部104から渡された各フレームのスコアを、スコアに付与された順序情報に基づいて、認識対象の音声データにおけるフレームの順序と整合するように統合する(ステップS304)。
その後、結果演算部105は、認識対象の音声データの最終フレームまでスコアが統合されたか否かを判定する(ステップS305)。そして、最終フレームまでスコアが統合されていない場合は(ステップS305:No)、ステップS301に戻って、スコア受信部104によるスコア参照要求の送信が再度行われ、以降の処理が繰り返される。
一方、認識対象の音声データの最終フレームまでスコアが統合されると(ステップS305:Yes)、結果演算部105は、最終フレームまでの統合スコアが最も高くなる結果を、認識対象の音声データに対する音声認識結果として生成する(ステップS306)。そして、結果演算部105は、生成した音声認識結果を、外部のアプリケーションなどに出力する(ステップS307)。
以上、具体的な例を挙げながら説明したように、本実施形態のデータ処理装置では、上位処理部100が、認識対象となる音声データのフレームごとに音声データにおける各フレームの順序を表す順序情報を付与して、データ管理部200のデータ格納部201に格納する。また、下位処理部300が、データ格納部201に格納されている各フレームデータをもとにフレームごとのスコア計算を行い、得られたフレームごとのスコアに対してフレームデータと共通の順序情報を付与して、データ管理部200のスコア格納部203に格納する。そして、上位処理部100は、スコア格納部203に格納されているフレームごとのスコアを順序情報に基づいて統合し、認識対象となる音声データに対する音声認識結果を生成する。したがって、本実施形態のデータ処理装置によれば、下位処理部300によるフレームごとのスコア計算を並列化しながら、上位処理部100による音声データ全体に対する音声認識結果の生成を適切に行うことができ、処理の高速化率を高めることができる。
[第2実施形態]
次に、第2実施形態について説明する。上述の第1実施形態では、データ管理部200から下位処理部300へのフレームデータの受け渡しと、データ管理部200から上位処理部100へのスコアの受け渡しを、それぞれ下位処理部300や上位処理部100がデータ管理部200にアクセスしてフレームデータやスコアを取得する、いわゆるpull型で行うようにしていた。これに対し、本実施形態では、データ管理部200から下位処理部300へのフレームデータの受け渡しと、データ管理部200から上位処理部100へのスコアの受け渡しを、それぞれデータ管理部200からの自律的な送信、いわゆるpush型で行う。以下では、第1実施形態との相違点のみを説明する。
本実施形態のデータ処理装置の構成は、第1実施形態のデータ処理装置の構成(図1参照)と同様であるため、詳細な説明は省略する。ただし、本実施形態では、下位処理部300のデータ受信部301は、データ管理部200に対するデータ参照要求の送信は行わず、データ管理部200のデータ送信部202から自律的に送信されたフレームデータを受信する。また、本実施形態では、上位処理部100のスコア受信部104は、データ管理部200に対するスコア参照要求の送信は行わず、データ管理部200のスコア送信部204から自律的に送信されたスコアを受信する。
本実施形態では、データ管理部200のデータ送信部202が、データ格納部201に格納されているフレームデータを、優先度情報が付与されていればその優先度情報で示される優先度が高い順に、下位処理部300に送信する。また、データ格納部201に格納されているフレームデータに優先度情報が付与されていなければ、データ送信部202は、例えば順序情報で示される順序が前のフレームデータから順に、下位処理部300に送信する。下位処理部300では、このようにデータ管理部200のデータ送信部202から自律的に送信されたフレームデータを受信し、フレームごとのスコア計算を行う。
また、本実施形態では、データ管理部200のスコア送信部204が、スコア格納部203に格納されているフレームごとのスコアを、順序情報で示される順序が前のフレームのスコアから順に、上位処理部100に送信する。上位処理部100では、このようにデータ管理部200のスコア送信部204から自律的に送信されたフレームごとのスコアを受信し、順序情報に基づいて受信したスコアを統合して、音声データ全体に対する音声認識結果を生成する。
図5は、本実施形態の下位処理部300による処理手順の一例を示すフローチャートである。本実施形態の下位処理部300では、データ管理部200からフレームデータが送信されると、データ受信部301がこのフレームデータを受信する(ステップS401)。その後、第1実施形態と同様に、データ変換部302によるデータ変換(ステップS402)、スコア演算部303によるフレームごとのスコア計算(ステップS403)、スコア送信部304による順序情報の付与およびデータ管理部200へのスコアの送信(ステップS404)が行われる。
図6は、本実施形態の上位処理部100による処理手順の一例を示すフローチャートである。本実施形態の上位処理部100では、データ管理部200からフレームごとのスコアが送信されると、スコア受信部104がこのスコアを受信する(ステップS501)。その後、第1実施形態と同様に、結果演算部105によるスコアの統合(ステップS502)、最終フレームまで統合されたかの判定(ステップS503)、統合スコアに基づく音声認識結果の生成(ステップS504)、および生成した音声認識結果の出力(ステップS505)が行われる。
本実施形態においても、上述した第1実施形態と同様に、上位処理部100からデータ管理部200を介して下位処理部300に受け渡されるフレームデータ、および、下位処理部300からデータ管理部200を介して上位処理部100に受け渡されるフレームごとのスコアには、認識対象となる音声データにおけるフレームの順序を表す順序情報が付与されている。したがって、本実施形態においても、上述した第1実施形態と同様に、下位処理部300によるフレームごとのスコア計算を並列化しながら、上位処理部100による音声データ全体に対する音声認識結果の生成を適切に行うことができ、処理の高速化率を高めることができる。
なお、本実施形態では、データ管理部200から下位処理部300へのフレームデータの受け渡しと、データ管理部200から上位処理部100へのスコアの受け渡しの双方をpush型で行うようにしているが、いずれか一方をpush型で行うようにしてもよい。
[第3実施形態]
次に、第3実施形態について説明する。本実施形態は、上位処理部100、データ管理部200、および下位処理部300をそれぞれ複数備えるデータ処理装置の構成例である。上位処理部100、データ管理部200、および下位処理部300それぞれの内部の構成は、第1実施形態のデータ処理装置の構成(図1参照)と同様である。また、データ処理装置の基本的な動作は、上述した第1実施形態あるいは第2実施形態と同様である。以下では、第1実施形態や第2実施形態との相違点のみを説明する。
図7は、本実施形態のデータ処理装置の概略構成例を示すブロック図である。図7に示すように、本実施形態のデータ処理装置は、上位処理部100a,100b,100c(これらを総称する場合は上位処理部100と表記する)と、データ管理部200a,200b(これらを総称する場合はデータ管理部200と表記する)と、下位処理部300a,300b(これらを総称する場合は下位処理部300と表記する)と、を備える。上位処理部100a,100b,100cとデータ管理部200a,200bとの間、データ管理部200a,200bと下位処理部300a,300bとの間は、それぞれLANやインターネットなどの通信回線により接続されているものとする。データ管理部200a,200bから下位処理部300a,300bへのフレームデータの受け渡しと、データ管理部200a,200bから上位処理部100a,100b,100cへのスコアの受け渡しは、第1実施形態のようなpull型であってもよいし、第2実施形態のようなpush型であってもよい。なお、図7に示した構成例では、上位処理部100の数を3つ、データ管理部200の数を2つ、下位処理部300の数を2つとしているが、これら上位処理部100、データ管理部200、および下位処理部300の数は任意であり、図7に例示した構成に限定されるものではない。
本実施形態では、上位処理部100からデータ管理部200に送信するフレームデータに対し、下位処理部300a,300bのうちで当該フレームデータを処理する下位処理部300を指定した指定情報を付与してもよい。上位処理部100からデータ管理部200に送信されたフレームデータに指定情報が付与されている場合、データ管理部200は、当該フレームデータを、指定情報により指定された下位処理部300に対して送信する。
すなわち、データ管理部200から下位処理部300へのフレームデータの受け渡しをpull型で行う場合、データ管理部200は、データ格納部201に格納されているフレームデータのうち、指定情報が付与されたフレームデータについては、この指定情報で示される下位処理部300以外の他の下位処理部300からデータ参照要求があったとしても、当該フレームデータを他の下位処理部300には送信しない。また、データ管理部200から下位処理部300へのフレームデータの受け渡しをpush型で行う場合、データ管理部200は、データ格納部201に格納されているフレームデータのうち、指定情報が付与されているフレームデータについては、この指定情報で示される下位処理部300のみに当該フレームデータを送信する。そして、下位処理部300は、指定情報が自己を示すフレームデータに対してスコア計算を行う。これにより、スコア計算に高い演算能力が必要なフレームデータの処理を、必要なスペックを持つ下位処理部300に割り当てることができ、効率的な処理を実現できる。
また、本実施形態では、上位処理部100a,100b,100cのうち、フレームデータに順序情報を付与してデータ管理部200に送信した上位処理部100とは異なる上位処理部100が、データ管理部200から受信したスコアを統合して音声認識結果を生成することも可能である。つまり、音声データにおける各フレームの順序が順序情報で担保されるため、音声データの入力を受け付けた上位処理部100とは別の上位処理部100により、その音声データに対する音声認識結果を生成して出力することができる。これにより、特に、能力が高い、または、処理中でない上位処理部100に対して音声認識結果を生成する処理を優先的に割り当てて、タスクの処理全体をより高速に実施することが可能となる。
[第4実施形態]
次に、第4実施形態について説明する。本実施形態は、データ格納部201を下位処理部300に設けるとともに、スコア格納部203を上位処理部100に設けることで、データ管理部200を不要にしたデータ処理装置の構成例である。
図8は、本実施形態のデータ処理装置の構成例を示すブロック図である。図8に示すように、本実施形態のデータ処理装置では、図1に示した第1実施形態のデータ処理装置の構成と比較して、下位処理部300のデータ受信部301の代わりにデータ格納部201が設けられている。また、上位処理部100のスコア受信部104の代わりにスコア格納部203が設けられている。
本実施形態のデータ処理装置では、上位処理部100のデータ送信部103が、順序情報を付与したフレームデータを下位処理部300に送信する。下位処理部300に送信されたフレームデータは、下位処理部300に設けられたデータ格納部201に格納される。下位処理部300では、データ格納部201に格納されたフレームデータが例えば順序情報で示される順序に従って読み出され、データ変換やスコア計算が行われる。そして、下位処理部300のスコア送信部304は、順序情報を付与したスコアを上位処理部100に送信する。上位処理部100に送信されたスコアは、上位処理部100に設けられたスコア格納部203に格納される。上位処理部100では、スコア格納部203に格納されたスコアが順序情報で示される順序に従って読み出され、結合されて、音声認識結果が生成される。
以上のように、本実施形態のデータ処理装置では、データ管理部200が不要とされるため、上述の第1実施形態や第2実施形態と比較して構成が簡素になる。
[補足説明]
実施形態のデータ処理装置を構成する上位処理部100、データ管理部200、および下位処理部300は、それぞれ、例えば汎用のコンピュータシステムを基本ハードウェアとして用い、このコンピュータシステム上で所定のプログラム(ソフトウェア)を実行することによって実現することができる。このとき、上記のプログラムは、例えば、磁気ディスク(フレキシブルディスク、ハードディスクなど)、光ディスク(CD−ROM、CD−R、CD−RW、DVD−ROM、DVD±R、DVD±RW、Blu−ray(登録商標)Discなど)、半導体メモリ、またはこれに類する記録媒体に記録されて提供される。なお、プログラムを記録する記録媒体は、コンピュータシステムが読み取り可能な記録媒体であれば、その記憶形式は何れの形態であってもよい。また、上記プログラムを、コンピュータシステムに予めインストールするように構成してもよいし、ネットワークを介して配布される上記のプログラムをコンピュータシステムに適宜インストールするように構成してもよい。
上記のコンピュータシステムで実行されるプログラムは、実施形態のデータ処理装置を構成する上位処理部100、データ管理部200、および下位処理部300それぞれの各機能的な構成要素を含むモジュール構成となっており、プロセッサがこのプログラムを適宜読み出して実行することにより、上述した上位処理部100、データ管理部200、および下位処理部300それぞれの各機能的な構成要素がメインメモリ上にロードされ、メインメモリ上に生成されるようになっている。
なお、上述した上位処理部100、データ管理部200、および下位処理部300それぞれの各機能的な構成要素は、プログラム(ソフトウェア)により実現するだけでなく、その一部または全部を、ASIC(Application Specific Integrated Circuit)やFPGA(Field-Programmable Gate Array)などの専用のハードウェアにより実現することもできる。
なお、上述の第1実施形態乃至第4実施形態は、系列データとして音声データを入力し、この音声データに対する音声認識結果を結果データとして出力する音声認識装置(音声認識システム)としての構築例であるが、実施形態のデータ処理装置は、音声認識処理以外にも、例えば、文字認識処理やジェスチャ認識処理など、系列データに対する処理を行う装置(システム)に対して広く適用することができる。
以上、本発明の実施形態を説明したが、ここで説明した実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。ここで説明した新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。ここで説明した実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
100 上位処理部
101 入力受付部
102 フレーム分割部
103 データ送信部
104 スコア受信部
105 結果演算部
200 データ管理部
201 データ格納部
202 データ送信部
203 スコア格納部
204 スコア送信部
300 下位処理部
301 データ受信部
302 データ変換部
303 スコア演算部
304 スコア送信部

Claims (11)

  1. 系列データに対する所定処理の結果である結果データを生成するデータ処理装置であって、
    前記系列データを構成するデータブロックに順序情報を付与する機能を有する複数の上位処理部と、
    前記順序情報が付与された前記データブロックに対して下位処理を実行し、得られた値に前記データブロックと共通の順序情報を付与する下位処理部と、を備え
    前記複数の上位処理部のうち、前記データブロックに前記順序情報を付与した第1の上位処理部とは異なる第2の上位処理部が、前記共通の順序情報が付与された前記値を前記共通の順序情報に基づいて統合して上位処理を実行し、前記結果データを生成する、データ処理装置。
  2. 前記データブロックは、前記下位処理部での処理単位となるデータブロックであり、
    前記順序情報は、前記系列データにおける各データブロックの順序を表す情報である、請求項1に記載のデータ処理装置。
  3. 前記第1の上位処理部は、前記順序情報が付与された前記データブロックを第1の格納部に格納し、
    前記下位処理部は、前記第1の格納部に格納されている前記データブロックに対して前記下位処理を実行し、前記共通の順序情報が付与された前記値を第2の格納部に格納し、
    前記第2の上位処理部は、前記第2の格納部に格納されている前記値を前記共通の順序情報に基づいて統合して前記上位処理を実行する、請求項1または2に記載のデータ処理装置。
  4. 前記第1の上位処理部は、前記データブロックに分割されていない前記系列データを入力し、入力した前記系列データを前記データブロックに分割して前記順序情報を付与する、請求項1乃至3のいずれか一項に記載のデータ処理装置。
  5. 前記第1の上位処理部は、前記データブロックの優先度を表す優先度情報をさらに付与し、
    前記下位処理部は、前記順序情報と前記優先度情報とが付与された前記データブロックのうち、前記優先度情報が示す優先度が高い前記データブロックを優先して前記下位処理を実行する、請求項1乃至4のいずれか一項に記載のデータ処理装置。
  6. 複数の前記下位処理部を備え、
    前記第1の上位処理部は、前記データブロックに対して前記下位処理を実行する前記下位処理部を指定した指定情報をさらに付与し、
    複数の前記下位処理部の各々は、前記指定情報が自己を示す前記データブロックに対して前記下位処理を実行する、請求項1乃至5のいずれか一項に記載のデータ処理装置。
  7. 前記第1の格納部は前記下位処理部に設けられ、
    前記第2の格納部は前記第2の上位処理部に設けられている、請求項3に記載のデータ処理装置。
  8. 前記系列データは音声データであり、
    前記所定処理は音声認識処理であり、
    前記下位処理は、前記音声データのフレームごとのスコアを計算するスコア演算処理であり、
    前記上位処理は、前記スコアに基づいて前記音声データに対する音声認識処理の結果を計算するデコード処理である、請求項1乃至のいずれか一項に記載のデータ処理装置。
  9. 前記下位処理部は、第1の計算リソースを用いて前記下位処理を実行し、
    前記第2の上位処理部は、第2の計算リソースを用いて前記上位処理を実行し、
    前記第1の計算リソースは前記第2の計算リソースよりも計算速度が速く、前記第2の計算リソースは前記第1の計算リソースよりもメモリ容量が大きい、請求項1乃至のいずれか一項に記載のデータ処理装置。
  10. 系列データに対する所定処理の結果である結果データを生成するデータ処理装置において実行されるデータ処理方法であって、
    複数の上位処理部のうちの第1の上位処理部が、前記系列データを構成するデータブロックに順序情報を付与するステップと、
    下位処理部が、前記順序情報が付与された前記データブロックに対して下位処理を実行し、得られた値に前記データブロックと共通の順序情報を付与するステップと、
    前記複数の上位処理部のうちの前記第1の上位処理部とは異なる第2の上位処理部が、前記共通の順序情報が付与された前記値を前記共通の順序情報に基づいて統合して上位処理を実行し、前記結果データを生成するステップと、を含むデータ処理方法。
  11. コンピュータを、系列データに対する所定処理の結果である結果データを生成するデータ処理装置として機能させるためのプログラムであって、
    前記コンピュータに、
    前記系列データを構成するデータブロックに順序情報を付与する機能を有する複数の上位処理部と、
    前記順序情報が付与された前記データブロックに対して下位処理を実行し、得られた値に前記データブロックと共通の順序情報を付与する下位処理部と、を実現させ、
    前記複数の上位処理部のうち、前記データブロックに前記順序情報を付与した第1の上位処理部とは異なる第2の上位処理部が、前記共通の順序情報が付与された前記値を前記共通の順序情報に基づいて統合して上位処理を実行し、前記結果データを生成する、プログラム。
JP2015055258A 2015-03-18 2015-03-18 データ処理装置、データ処理方法およびプログラム Active JP6430305B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015055258A JP6430305B2 (ja) 2015-03-18 2015-03-18 データ処理装置、データ処理方法およびプログラム
US15/070,874 US10269355B2 (en) 2015-03-18 2016-03-15 Data processing device, data processing method, and computer program product

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015055258A JP6430305B2 (ja) 2015-03-18 2015-03-18 データ処理装置、データ処理方法およびプログラム

Publications (2)

Publication Number Publication Date
JP2016177365A JP2016177365A (ja) 2016-10-06
JP6430305B2 true JP6430305B2 (ja) 2018-11-28

Family

ID=56923924

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015055258A Active JP6430305B2 (ja) 2015-03-18 2015-03-18 データ処理装置、データ処理方法およびプログラム

Country Status (2)

Country Link
US (1) US10269355B2 (ja)
JP (1) JP6430305B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6458823B2 (ja) * 2017-04-14 2019-01-30 富士通株式会社 情報処理装置、情報処理方法及び情報処理プログラム
US11063435B2 (en) * 2017-08-07 2021-07-13 Raytheon Company Energy-based adaptive stability control system
US11349292B2 (en) 2019-04-09 2022-05-31 Raytheon Company Arc flash protection of power systems

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0581163A (ja) 1991-09-19 1993-04-02 Nec Corp 情報処理システム
JPH11250021A (ja) 1998-03-05 1999-09-17 Nippon Telegr & Teleph Corp <Ntt> ネットワーク上での分散処理方法及びそのシステム並びに分散処理プログラムを記録した媒体
JP2001142487A (ja) 1999-11-11 2001-05-25 Sony Corp 音声データ入力システム
JP2001237883A (ja) 2000-02-23 2001-08-31 Sony Corp マルチキャスト通信システム及び方法、並びに、データ通信装置及びデータ通信方法
JP4189374B2 (ja) 2004-11-19 2008-12-03 富士通株式会社 処理システム
JP5469028B2 (ja) 2010-09-17 2014-04-09 矢崎総業株式会社 通信システム
JP5667962B2 (ja) * 2011-11-08 2015-02-12 日本電信電話株式会社 音声認識装置とその方法とプログラム
US9477925B2 (en) * 2012-11-20 2016-10-25 Microsoft Technology Licensing, Llc Deep neural networks training for speech and pattern recognition
EP2956845A2 (en) * 2013-02-17 2015-12-23 Keyless Systems Ltd Improved data entry systems
US9484022B2 (en) * 2014-05-23 2016-11-01 Google Inc. Training multiple neural networks with different accuracy
WO2016039651A1 (en) * 2014-09-09 2016-03-17 Intel Corporation Improved fixed point integer implementations for neural networks
JP6446993B2 (ja) * 2014-10-20 2019-01-09 ヤマハ株式会社 音声制御装置およびプログラム

Also Published As

Publication number Publication date
US20160274947A1 (en) 2016-09-22
US10269355B2 (en) 2019-04-23
JP2016177365A (ja) 2016-10-06

Similar Documents

Publication Publication Date Title
JP7382925B2 (ja) ニューラルネットワークアクセラレーションのための機械学習ランタイムライブラリ
US11586473B2 (en) Methods and apparatus for allocating a workload to an accelerator using machine learning
CN106503791B (zh) 用于有效神经网络部署的系统和方法
US9477925B2 (en) Deep neural networks training for speech and pattern recognition
EP3389044A1 (en) Management layer for multiple intelligent personal assistant services
US9983901B2 (en) Dynamic shard allocation adjustment
US20190196779A1 (en) Intelligent personal assistant interface system
JP2016126801A (ja) 学習メカニズムを有する電子システム及びその動作方法並びに不揮発性コンピュータ読取可能ストレージ媒体
JP2018026127A (ja) 翻訳方法、翻訳装置及びコンピュータプログラム
US10768997B2 (en) Tail latency-based job offloading in load-balanced groups
JP6430305B2 (ja) データ処理装置、データ処理方法およびプログラム
WO2020098414A1 (zh) 终端数据处理方法、装置及终端
EP3575979B1 (en) Query priority and operation-aware communication buffer management
US20120030684A1 (en) Resource allocation
US11948352B2 (en) Speculative training using partial gradients update
KR20160112830A (ko) 최적화된 태스크 기반 데이터 처리 서비스 생성 방법 및 장치
CN112333234B (zh) 分布式机器学习训练方法、装置、电子设备及存储介质
US20130219386A1 (en) Dynamic allocation of compute resources
JP2022028810A (ja) メモリ割り当て方法、装置、及び電子機器
US10700978B2 (en) Offloading at a virtual switch in a load-balanced group
US10811009B2 (en) Automatic skill routing in conversational computing frameworks
CN116848579A (zh) 具有序列级发射正则化的快速发射低时延流式asr
US11093438B2 (en) Pipelining multi-directional reduction
EP3502868A1 (en) Intelligent personal assistant interface system
KR20220064338A (ko) 가속기 연산 스케줄링의 경량화 및 병렬화 방법 및 장치

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171121

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180703

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180629

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180831

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20181002

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181031

R151 Written notification of patent or utility model registration

Ref document number: 6430305

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151