JP2017117045A - Method, device, and program for language probability calculation - Google Patents

Method, device, and program for language probability calculation Download PDF

Info

Publication number
JP2017117045A
JP2017117045A JP2015249375A JP2015249375A JP2017117045A JP 2017117045 A JP2017117045 A JP 2017117045A JP 2015249375 A JP2015249375 A JP 2015249375A JP 2015249375 A JP2015249375 A JP 2015249375A JP 2017117045 A JP2017117045 A JP 2017117045A
Authority
JP
Japan
Prior art keywords
vector
activity
activity vector
layer
intermediate layer
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.)
Granted
Application number
JP2015249375A
Other languages
Japanese (ja)
Other versions
JP6495814B2 (en
Inventor
貴明 堀
Takaaki Hori
貴明 堀
具治 岩田
Tomoharu Iwata
具治 岩田
哲則 小林
Tetsunori Kobayashi
哲則 小林
幹 森岡
Miki Morioka
幹 森岡
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.)
Waseda University
Nippon Telegraph and Telephone Corp
Original Assignee
Waseda University
Nippon Telegraph and Telephone 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 Waseda University, Nippon Telegraph and Telephone Corp filed Critical Waseda University
Priority to JP2015249375A priority Critical patent/JP6495814B2/en
Publication of JP2017117045A publication Critical patent/JP2017117045A/en
Application granted granted Critical
Publication of JP6495814B2 publication Critical patent/JP6495814B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Machine Translation (AREA)

Abstract

PROBLEM TO BE SOLVED: To appropriately predict the next word by effectively utilizing information of a long text, that is, a topic and a style of the sentence, a word peculiar to a speaker and a way of speaking or the like.SOLUTION: A language probability calculation device 1 sequentially reads a vector showing a symbol, and calculates an activity vector of an input layer for each reading, and every time the activity vector of the input layer is calculated, the activity vector of the intermediate layer is calculated based on the activity vector calculated last time in the intermediate layer and the activity vector of the input layer. At this time, the language probability calculation device 1 calculates an average activity vector which is an average of the activity vector calculated previous to the prescribed number of times from among the activity vectors of the intermediate layer, and every time the activity vector of the intermediate layer is calculated, the activity vector of an output layer is calculated based on the activity vector of the intermediate layer and the average activity vector of the intermediate layer, and an appearance probability of the symbol is calculated based on the activity vector of the output layer.SELECTED DRAWING: Figure 4

Description

本発明は、言語モデルを用いた言語確率算出方法、言語確率算出装置および言語確率算出プログラムに関する。   The present invention relates to a language probability calculation method, a language probability calculation device, and a language probability calculation program using a language model.

従来、文字や単語の列である記号列が、ある対象の言語においてどの程度もっともらしいかを言語確率として与えるモデルである言語モデルが知られている。言語モデルは様々な目的に利用されている。例えば音声認識においては、ある入力音声信号に対して任意の単語列の発音と音響的に類似している度合を示す音響確率と、単語の並びとして言語的に妥当である度合を表す言語確率とを併せて考慮することで、音響的にも言語的にももっともらしい単語列を多数の認識候補の中から選ぶことができる。   2. Description of the Related Art Conventionally, a language model is known, which is a model that gives as a language probability how likely a symbol string, which is a string of characters or words, in a target language. Language models are used for various purposes. For example, in speech recognition, an acoustic probability indicating the degree of acoustic similarity to the pronunciation of an arbitrary word sequence for a certain input speech signal, and a language probability indicating the degree of linguistic validity as a word sequence In addition, it is possible to select a word string that is plausible acoustically and linguistically from among a large number of recognition candidates.

一般的に広く用いられる言語モデルとしてNグラム言語モデルがある。Nグラム言語モデルは、ある単語の出現確率はその単語の前にあるN−1単語にのみ依存するという仮定を置く。つまり、N単語の連鎖確率を個々の単語の言語確率として推定し、その累積値を単語列に対する言語確率とする。一般にNには2〜4程度の値が用いられる。   There is an N-gram language model as a widely used language model. The N-gram language model makes the assumption that the appearance probability of a word depends only on the N-1 word preceding that word. That is, the chain probability of N words is estimated as the language probability of each word, and the accumulated value is used as the language probability for the word string. Generally, a value of about 2 to 4 is used for N.

一方、Nグラム言語モデル以外の言語モデルとして、RNN(リカレントニューラルネットワーク:Recurrent Neural Network)言語モデルがある(例えば非特許文献1を参照)。RNNは多層ニューラルネットワークの一種であり、中間層のニューロンに再帰的な結合を持つ。この再帰的な結合により、入力単語列の頭から直前に読み込んだ単語までの全文脈を中間層の活性度ベクトルに蓄えることができ、より長い文脈に依存する言語確率を算出することができる。   On the other hand, as a language model other than the N-gram language model, there is an RNN (Recurrent Neural Network) language model (see, for example, Non-Patent Document 1). RNN is a kind of multilayer neural network, and has recursive connections to neurons in the intermediate layer. By this recursive combination, all contexts from the beginning of the input word string to the word read immediately before can be stored in the activity vector of the intermediate layer, and a longer language-dependent language probability can be calculated.

T. Mikolov, M. Karafiat, L. Burget, J. Cernocky, S. Khudanpur,“Recurrent neural network based language model,” 国際会議Interspeech 2010予稿集, pp. 1045-1048, 2010.T. Mikolov, M. Karafiat, L. Burget, J. Cernocky, S. Khudanpur, “Recurrent neural network based language model,” International Conference Interspeech 2010 Proceedings, pp. 1045-1048, 2010.

しかしながら、従来の言語モデルには、長い文脈の情報、すなわち文章の話題やスタイル、話者に特有の単語や話し方等を効果的に利用して次の単語を適切に予測することができないという問題があった。   However, the conventional language model cannot effectively predict the next word by effectively using long contextual information, that is, the topic and style of the sentence, the word and the way of speaking specific to the speaker, etc. was there.

例えば、Nグラム言語モデルを用いて単語を予測する場合、前述の通り単語数個分の情報しか単語の予測に利用することができないため、長い文脈の情報を効果的に利用して次の単語を適切に予測することができない場合がある。   For example, when predicting a word using an N-gram language model, only the information for several words can be used for predicting a word as described above. May not be predicted properly.

また、RNN言語モデルを用いて単語を予測する場合、より新しく出現した単語の影響が大きくなり、ある程度過去の単語の影響は非常に小さくなるため、長い文脈の情報を効果的に利用して次の単語を適切に予測することができない場合がある。これは、再帰的な結合によって伝えられる成分が活性度関数により0と1の間に正規化されることにより、活性度ベクトルに蓄えられる過去に読み込まれた記号に対する成分が、新たな記号を読み込むごとに指数的に減少するためである。   In addition, when predicting a word using the RNN language model, the influence of a newly appearing word becomes large, and the influence of a past word to some extent becomes very small. May not be able to predict the word properly. This is because the component transmitted by recursive combination is normalized between 0 and 1 by the activity function, so that the component for the previously read symbol stored in the activity vector reads a new symbol. This is because it decreases exponentially.

本発明の言語確率算出方法は、入力層と、再帰結合したニューロンを有する中間層と、出力層と、を有するニューラルネットワークモデルを用いて言語確率を算出する言語確率算出方法であって、記号を表すベクトルを順次読み込む記号ベクトル読込工程と、前記記号ベクトル読込工程によって前記ベクトルが読み込まれるたびに、前記ベクトルを基に前記入力層における活性度ベクトルを算出する入力層活性度ベクトル算出工程と、前記入力層活性度ベクトル算出工程によって前記入力層における活性度ベクトルが算出されるたびに、前記中間層において前回算出された活性度ベクトルと、前記入力層における活性度ベクトルとを基に前記中間層における活性度ベクトルを算出する中間層活性度ベクトル算出工程と、前記中間層における活性度ベクトルのうち、所定回数前までに算出された活性度ベクトルの平均である平均活性度ベクトルを算出する平均活性度ベクトル算出工程と、前記中間層活性度ベクトル算出工程によって前記中間層における活性度ベクトルが算出されるたびに、前記中間層における活性度ベクトルと、前記中間層における前記平均活性度ベクトルとを基に前記出力層における活性度ベクトルを算出する出力層活性度ベクトル算出工程と、前記出力層における活性度ベクトルを基に所定の記号の出現確率を算出する記号出現確率算出工程と、を含んだことを特徴とする。   The language probability calculation method of the present invention is a language probability calculation method for calculating a language probability using a neural network model having an input layer, an intermediate layer having recursively coupled neurons, and an output layer, A symbol vector reading step for sequentially reading vectors to be represented; an input layer activity vector calculating step for calculating an activity vector in the input layer based on the vector each time the vector is read by the symbol vector reading step; Each time the activity vector in the input layer is calculated by the input layer activity vector calculation step, the activity level in the intermediate layer is calculated based on the activity vector previously calculated in the intermediate layer and the activity vector in the input layer. An intermediate layer activity vector calculating step for calculating an activity vector, and an activity in the intermediate layer; An average activity vector calculating step of calculating an average activity vector that is an average of the activity vectors calculated up to a predetermined number of times before, and the activity in the intermediate layer by the intermediate layer activity vector calculating step An output layer activity vector calculation step of calculating an activity vector in the output layer based on the activity vector in the intermediate layer and the average activity vector in the intermediate layer each time a vector is calculated; And a symbol appearance probability calculating step of calculating an appearance probability of a predetermined symbol based on an activity vector in the output layer.

また、本発明の言語確率算出装置は、入力層と、再帰結合したニューロンを有する中間層と、出力層と、を有するニューラルネットワークモデルを用いて言語確率を算出する言語確率算出装置であって、記号を表すベクトルを順次読み込む記号ベクトル読込部と、前記記号ベクトル読込部によって前記ベクトルが読み込まれるたびに、前記ベクトルを基に前記入力層における活性度ベクトルを算出する入力層活性度ベクトル算出部と、前記入力層活性度ベクトル算出部によって前記入力層における活性度ベクトルが算出されるたびに、前記中間層において前回算出された活性度ベクトルと、前記入力層における活性度ベクトルとを基に前記中間層における活性度ベクトルを算出する中間層活性度ベクトル算出部と、前記中間層における活性度ベクトルのうち、所定回数前までに算出された活性度ベクトルの平均である平均活性度ベクトルを算出する平均活性度ベクトル算出部と、前記中間層活性度ベクトル算出部によって前記中間層における活性度ベクトルが算出されるたびに、前記中間層における活性度ベクトルと、前記中間層における前記平均活性度ベクトルとを基に前記出力層における活性度ベクトルを算出する出力層活性度ベクトル算出部と、前記出力層における活性度ベクトルを基に所定の記号の出現確率を算出する記号出現確率算出部と、を有することを特徴とする。   The language probability calculation device of the present invention is a language probability calculation device that calculates a language probability using a neural network model having an input layer, an intermediate layer having recursively coupled neurons, and an output layer, A symbol vector reading unit that sequentially reads a vector representing a symbol, and an input layer activity vector calculation unit that calculates an activity vector in the input layer based on the vector each time the vector is read by the symbol vector reading unit; Each time the activity vector in the input layer is calculated by the input layer activity vector calculator, the intermediate level is calculated based on the activity vector previously calculated in the intermediate layer and the activity vector in the input layer. An intermediate layer activity vector calculating unit for calculating an activity vector in the layer; and an activity in the intermediate layer An average activity vector calculation unit that calculates an average activity vector that is an average of activity vectors calculated up to a predetermined number of times before the battle, and the activity vector in the intermediate layer by the intermediate layer activity vector calculation unit An output layer activity vector calculation unit that calculates an activity vector in the output layer based on the activity vector in the intermediate layer and the average activity vector in the intermediate layer, and the output A symbol appearance probability calculating unit that calculates an appearance probability of a predetermined symbol based on an activity vector in the layer.

本発明によれば、長い文脈の情報、すなわち文章の話題やスタイル、話者に特有の単語や話し方等を効果的に利用して次の単語を適切に予測することができる。   According to the present invention, it is possible to appropriately predict the next word by effectively using long context information, that is, the topic and style of the sentence, the word and the way of speaking peculiar to the speaker, and the like.

図1は、RNN言語モデルの一例を示す図である。FIG. 1 is a diagram illustrating an example of an RNN language model. 図2は、RNN言語モデルにおける活性度を算出する方法の一例を示すフローチャートである。FIG. 2 is a flowchart illustrating an example of a method for calculating the degree of activity in the RNN language model. 図3は、RNN言語モデルにおける言語確率算出方法の一例を説明するための図である。FIG. 3 is a diagram for explaining an example of a language probability calculation method in the RNN language model. 図4は、第1の実施形態に係る言語確率算出装置の構成の一例を示す図である。FIG. 4 is a diagram illustrating an example of the configuration of the language probability calculation apparatus according to the first embodiment. 図5は、第1の実施形態に係る言語確率算出装置における処理の一例を示すフローチャートである。FIG. 5 is a flowchart illustrating an example of processing in the language probability calculation apparatus according to the first embodiment. 図6は、第1の実施形態に係る言語確率算出装置における言語確率算出方法の一例を説明するための図である。FIG. 6 is a diagram for explaining an example of a language probability calculation method in the language probability calculation apparatus according to the first embodiment. 図7は、第2の実施形態に係る音声認識装置の構成の一例を示す図である。FIG. 7 is a diagram illustrating an example of the configuration of the speech recognition apparatus according to the second embodiment. 図8は、第2の実施形態に係る音声認識装置における処理の一例を示すフローチャートである。FIG. 8 is a flowchart illustrating an example of processing in the speech recognition apparatus according to the second embodiment. 図9は、プログラムが実行されることにより、言語確率算出装置もしくは音声認識装置が実現されるコンピュータの一例を示す図である。FIG. 9 is a diagram illustrating an example of a computer in which a language probability calculation device or a speech recognition device is realized by executing a program.

以下に、本願に係る言語確率算出方法、言語確率算出装置および言語確率算出プログラムの実施形態を図面に基づいて詳細に説明する。なお、この実施形態により本願に係る言語確率算出方法、言語確率算出装置および言語確率算出プログラムが限定されるものではない。   Hereinafter, embodiments of a language probability calculation method, a language probability calculation device, and a language probability calculation program according to the present application will be described in detail with reference to the drawings. The language probability calculation method, the language probability calculation device, and the language probability calculation program according to the present application are not limited by this embodiment.

[RNN言語モデルの概要]
まず、RNN言語モデルの概要について説明する。RNNは、1つの入力層、1つ以上の中間層、および1つの出力層を持ち、少なくとも1つの中間層の中でニューロンが相互に結合された再帰結合を持つ。そして、RNN言語モデルのRNNには入力記号列の各記号が順次入力され、現在の1つ前の記号を表すベクトルと、その時の中間層の各ニューロンの活性度とを用いて、現在の記号の出現確率を算出する。
[Outline of RNN language model]
First, an outline of the RNN language model will be described. The RNN has one input layer, one or more intermediate layers, and one output layer, and has a recursive connection in which neurons are connected to each other in at least one intermediate layer. Then, each symbol of the input symbol string is sequentially input to the RNN of the RNN language model, and the current symbol is obtained by using the vector representing the current previous symbol and the activity of each neuron in the intermediate layer at that time. The appearance probability of is calculated.

RNNにおける各層には複数のニューロンがあり、それぞれ上位や下位、もしくは同じ層にあるニューロンと結合されている。各ニューロンは、発火している度合を表す活性度(実数値)を持ち、結合されたニューロン間には結合の強さを表す結合重み(実数値)が割り当てられる。各ニューロンの活性度に結合重みを掛けた値が結合先のニューロンに伝播される。また同じ層に含まれるニューロンの活性度はまとめて活性度ベクトルとして表現される。   Each layer in the RNN has a plurality of neurons, which are connected to neurons in the upper layer, the lower layer, or the same layer. Each neuron has an activity (real value) indicating the degree of firing, and a connection weight (real value) indicating the strength of connection is assigned between the connected neurons. A value obtained by multiplying the activity of each neuron by the connection weight is propagated to the connection destination neuron. In addition, the activity of neurons included in the same layer is collectively expressed as an activity vector.

図1は、RNN言語モデルの一例を示す図である。図1は、入力層、中間層、出力層を各1層ずつ持つRNNを表している。図1に示すように、中間層は同じ層に戻る再帰的な結合を持っている。入力層には入力ベクトルの値が活性度として与えられる。   FIG. 1 is a diagram illustrating an example of an RNN language model. FIG. 1 shows an RNN having one input layer, one intermediate layer, and one output layer. As shown in FIG. 1, the intermediate layer has a recursive connection back to the same layer. The input layer is given the value of the input vector as the activity.

前述のように、RNN言語モデルでは、入力される記号は0または1の値からなるベクトルとして表現される。例えば、考慮する全ての記号の数(語彙サイズ)と同じだけのニューロンを入力層に用意しておき、入力記号に対応するニューロンだけが1、他のニューロンは0を取るように活性度を設定することができる。この場合、仮に考慮する記号の種類をA、B、Cとすると、入力層のニューロンは3つ必要であり、記号A、記号B、記号Cに対応する入力ベクトルは、例えば式(1)のように表される。ただし、ベクトルの1次元目が記号A、2次元目が記号B、3次元目が記号Cに対応するものとする。   As described above, in the RNN language model, an input symbol is expressed as a vector composed of 0 or 1 values. For example, as many neurons as the number (vocabulary size) of all the symbols to be considered are prepared in the input layer, and the activity is set so that only the neurons corresponding to the input symbols take 1 and the other neurons take 0. can do. In this case, if the types of symbols to be considered are A, B, and C, three neurons in the input layer are required, and the input vectors corresponding to the symbols A, B, and C are, for example, those of Expression (1). It is expressed as follows. However, the first dimension of the vector corresponds to the symbol A, the second dimension corresponds to the symbol B, and the third dimension corresponds to the symbol C.

Figure 2017117045
Figure 2017117045

また、図1では入力層のニューロンの上から順にベクトルの1、2、3次元目の要素が活性度になるように対応している。中間層においては再帰的な結合を考慮して活性度を算出する。ただし、最初の記号を読み込んだとき、すなわちt=1のときは活性度を0と仮定する。また、出力層のニューロンの活性度ベクトルはソフトマックス関数等を用いて算出する。なお、出力層のニューロンも入力層と同様に上から順に記号A、記号B、記号Cに対応している。   In FIG. 1, the elements in the first, second, and third dimensions of the vector correspond to the degree of activity in order from the top of the neurons in the input layer. In the intermediate layer, the activity is calculated in consideration of recursive coupling. However, when the first symbol is read, that is, when t = 1, the activity is assumed to be zero. Further, the activity vector of the neurons in the output layer is calculated using a softmax function or the like. Note that the neurons in the output layer also correspond to the symbols A, B, and C in order from the top as in the input layer.

次に、図2を用いて活性度を算出する方法について説明する。図2は、RNN言語モデルにおける活性度を算出する方法の一例を示すフローチャートである。ここで、活性度の算出には、L層からなるRNNであって、第1層が入力層、第2〜第L−1層が中間層(L≧3)、第L層が出力層であるRNNを用いる。また、RNNの第n層(1≦n≦L)にはH個のニューロンが含まれる。また、第m層のj番目のニューロンから第n層のk番目のニューロンへの結合重みwm,n[k,j]を要素とする行列をwm,nで表す。ただし、1≦m≦n≦L、1≦j≦H、1≦k≦Hとする。また、第n層(1<n≦L)の時刻tにおけるニューロンの活性度ベクトルをh (t)と表す。 Next, a method for calculating the activity will be described with reference to FIG. FIG. 2 is a flowchart illustrating an example of a method for calculating the degree of activity in the RNN language model. Here, the activity is calculated by the RNN consisting of the L layer, where the first layer is the input layer, the second to L-1 layers are the intermediate layers (L ≧ 3), and the L layer is the output layer. Some RNN is used. In addition, the nth layer (1 ≦ n ≦ L) of the RNN includes H n neurons. In addition, a matrix having a connection weight w m, n [k, j] from the j-th neuron in the m-th layer to the k-th neuron in the n-th layer is represented by w m, n . However, the 1 ≦ m ≦ n ≦ L, 1 ≦ j ≦ H m, 1 ≦ k ≦ H n. Further, the activity vector of the neuron at the time t in the nth layer (1 <n ≦ L ) is represented as h n (t) .

まず、tを1に設定する(ステップS101)。次に、t番目の入力記号xを入力層の活性度ベクトルh (t)に代入し(ステップS102)、nを2に初期化する(ステップS103)。ここで、RNNの第n層が再帰接続のある中間層である場合(ステップS104、Yes)、再帰的に伝搬される成分wn,n・h (t−1)をzに代入する(ステップS105)。一方、RNNの第n層が再帰接続のある中間層でない場合(ステップS104、No)、zは0ベクトルに設定する(ステップS106)。 First, t is set to 1 (step S101). Next, the t-th input symbol x t is substituted into the activity vector h 1 (t) of the input layer (step S102), and n is initialized to 2 (step S103). Here, when the n-th layer of the RNN is an intermediate layer with recursive connection (step S104, Yes), the recursively propagated component w n, n · h n (t−1) is substituted into z n . (Step S105). On the other hand, when the n-th layer of the RNN is not an intermediate layer with recursive connection (No in step S104), z n is set to a 0 vector (step S106).

そして、第n−1層から伝搬される成分wn−1,n・hn−1 (t)をzに加える(ステップS107)。次に、zに活性化関数f(・)を適用し、第n層の活性度ベクトルh (t)を得る(ステップS108)。ここで、Lを層の数としたときに、n<Lの場合(ステップS109、Yes)、nを1だけ増加させ(ステップS110)、ステップS104へ戻り処理を繰り返す。また、n<Lでない場合(ステップS109、No)、t<Tであれば(ステップS111、Yes)tを1だけ増加させ(ステップS112)、ステップS102へ戻り処理を繰り返す。t<Tでなければ(ステップS111、No)処理を終了する。 Then, the component w n−1, n · h n−1 (t) propagated from the ( n−1 ) th layer is added to z n (step S107). Next, the activation function f n (•) is applied to z n to obtain the n-th layer activity vector h n (t) (step S108). Here, when L is the number of layers, if n <L (step S109, Yes), n is incremented by 1 (step S110), and the process returns to step S104 and is repeated. If n <L is not satisfied (step S109, No), if t <T (step S111, Yes), t is incremented by 1 (step S112), and the process returns to step S102 to repeat the process. If t <T is not satisfied (No in step S111), the process is terminated.

図3を用いてRNN言語モデルにおける言語確率算出方法について説明する。図3は、RNN言語モデルにおける言語確率算出方法の一例を説明するための図である。なお、図3の例ではL=3であり、中間層は1層のみとする。   The language probability calculation method in the RNN language model will be described with reference to FIG. FIG. 3 is a diagram for explaining an example of a language probability calculation method in the RNN language model. In the example of FIG. 3, L = 3, and only one intermediate layer is provided.

図3に示すように、順に入力された記号x,x,…,xに対して、中間層の活性度ベクトルh (t)は、現在の記号に対する入力層の活性度ベクトルh (t)と1つ前の記号に対する中間層の活性度ベクトルh (t−1)とから算出される(図2のステップS105、S106、S107、S108)。また、h (t)に基づいて出力層の活性度ベクトルh (t)が算出される。そして、出力層活性度ベクトルに基づいて記号の出現確率が算出される。 As shown in FIG. 3, for the symbols x 1 , x 2 ,..., X t that are input in order, the intermediate layer activity vector h 2 (t) is the input layer activity vector h for the current symbol. 1 (t) and the intermediate layer activity vector h 2 (t−1) for the previous symbol are calculated (steps S105, S106, S107, and S108 in FIG. 2). Further, the activity vector h 3 (t) of the output layer is calculated based on h 2 (t) . Then, the appearance probability of the symbol is calculated based on the output layer activity vector.

このように、RNNの中間層のニューロンの活性度は再帰的な結合により再び中間層のニューロンへ伝搬されることから、中間層のニューロンの活性度には、現在までに読み込んだ入力系列の特徴が記憶される。したがって、RNN言語モデルは入力記号列の最初から現在までの履歴に依存した記号出現確率を求めることができる。   Thus, since the activity of the neurons in the intermediate layer of the RNN is propagated again to the neurons in the intermediate layer by recursive connection, the activity of the neurons in the intermediate layer includes the characteristics of the input sequence read so far. Is memorized. Therefore, the RNN language model can obtain the symbol appearance probability depending on the history from the beginning of the input symbol string to the present.

これにより、RNN言語モデルは、過去のN−1個の記号のみから次の記号を予測するNグラムモデル(Nは高々3か4)よりも長い文脈を考慮した記号出現確率を求めることが可能なモデルとなっている。しかしながら、前述の通り、より新しく出現した単語の影響が大きくなり、ある程度過去の単語の影響は非常に小さくなる。そのため、ある程度過去の単語が、単語の予測に効果的に利用されていない。   As a result, the RNN language model can determine the symbol appearance probability considering a longer context than the N-gram model (N is 3 or 4 at most) that predicts the next symbol from only the past N-1 symbols. Model. However, as described above, the influence of newly appearing words becomes large, and the influence of past words to some extent becomes very small. Therefore, some past words are not effectively used for word prediction.

[第1の実施形態]
以下の実施形態では、第1の実施形態に係る言語確率算出装置の構成、および言語確率算出装置によって実行される言語確率算出方法を説明し、さらに第1の実施形態による効果を説明する。また、以降の説明において「RNN言語モデル」は本発明の実施形態におけるRNN言語モデルを示すが、「従来のRNN言語モデル」はこれまで図1〜3を用いて説明したRNN言語モデルを示すものとする。
[First Embodiment]
In the following embodiments, the configuration of the language probability calculation device according to the first embodiment, the language probability calculation method executed by the language probability calculation device, and the effects of the first embodiment will be described. In the following description, “RNN language model” indicates the RNN language model in the embodiment of the present invention. “Conventional RNN language model” indicates the RNN language model described above with reference to FIGS. And

[第1の実施形態の構成]
まず、図4を用いて第1の実施形態に係る言語確率算出装置の構成について説明する。図4は、第1の実施形態に係る言語確率算出装置の構成の一例を示す図である。図4に示すように、言語確率算出装置1は、予測部10、学習部11および記憶部12を有する。
[Configuration of First Embodiment]
First, the configuration of the language probability calculation apparatus according to the first embodiment will be described with reference to FIG. FIG. 4 is a diagram illustrating an example of the configuration of the language probability calculation apparatus according to the first embodiment. As illustrated in FIG. 4, the language probability calculation device 1 includes a prediction unit 10, a learning unit 11, and a storage unit 12.

また、予測部10は記号ベクトル読込部101、入力層活性度ベクトル算出部102、中間層活性度ベクトル算出部103、平均活性度ベクトル算出部104、出力層活性度ベクトル算出部105および記号出現確率算出部106を有する。また、学習部11は損失関数定義部111およびパラメータ推定部112を有する。また、記憶部12は予測部10等で用いられるRNN言語モデルを記憶するRNN言語モデル記憶部121を有する。   The prediction unit 10 includes a symbol vector reading unit 101, an input layer activity vector calculation unit 102, an intermediate layer activity vector calculation unit 103, an average activity vector calculation unit 104, an output layer activity vector calculation unit 105, and a symbol appearance probability. A calculation unit 106 is included. The learning unit 11 includes a loss function definition unit 111 and a parameter estimation unit 112. In addition, the storage unit 12 includes an RNN language model storage unit 121 that stores an RNN language model used in the prediction unit 10 and the like.

まず、予測部10の各部について詳細に説明するとともに、言語確率算出装置1によって実行される言語確率算出方法について説明する。ここで、言語確率算出装置1は、L層からなるRNNであって、第1層が入力層、第2〜第L−1層が中間層(L≧3)、第L層が出力層であるRNNを用いて言語確率の算出を行う。また、RNNの第n層(1≦n≦L)にはH個のニューロンが含まれる。また、第m層のj番目のニューロンから第n番層のk番目のニューロンへの結合重みwm,n[k,j]を要素とする行列をwm,nで表す。ただし、1≦m≦n≦L、1≦j≦H、1≦k≦Hとする。また、第n層(1<n≦L)の時刻tにおけるニューロンの活性度ベクトルをh (t)と表す。 First, each part of the prediction unit 10 will be described in detail, and a language probability calculation method executed by the language probability calculation device 1 will be described. Here, the language probability calculation device 1 is an RNN composed of L layers, where the first layer is an input layer, the second to (L-1) th layers are intermediate layers (L ≧ 3), and the Lth layer is an output layer. A language probability is calculated using a certain RNN. In addition, the nth layer (1 ≦ n ≦ L) of the RNN includes H n neurons. Further, a matrix having the connection weights w m, n [k, j] from the j-th neuron in the m-th layer to the k-th neuron in the n-th layer is represented by w m, n . However, the 1 ≦ m ≦ n ≦ L, 1 ≦ j ≦ H m, 1 ≦ k ≦ H n. Further, the activity vector of the neuron at the time t in the nth layer (1 <n ≦ L ) is represented as h n (t) .

記号ベクトル読込部101は記号を表すベクトルを順次読み込む。個々の記号は、1つのベクトルの次元に対応し、対応する次元の要素のみを1、対応しない次元の要素を0とすることで固有の記号を表現する。   The symbol vector reading unit 101 sequentially reads vectors representing symbols. Each symbol corresponds to a dimension of one vector, and a unique symbol is expressed by setting only an element of a corresponding dimension to 1 and setting an element of a dimension not corresponding to 0.

入力層活性度ベクトル算出部102は、記号ベクトル読込部101によってベクトルが読み込まれるたびに、ベクトルを基に入力層における活性度ベクトルを算出する。第1の実施形態においては、入力層活性度ベクトル算出部102は入力記号のベクトルの各次元の値を入力層のニューロンの活性度に決定する。したがって、入力記号のベクトルの次元数は出現する可能性のある入力記号の種類数および入力層のニューロンの数に等しい。ここで、入力記号列X=x,x,…,x,…,xの1番目から順にt番目の記号xが読み込まれたとき、入力層の各ニューロンの活性度を表す活性度ベクトルh (t)は、式(2)のようになる。 Every time a vector is read by the symbol vector reading unit 101, the input layer activity vector calculation unit 102 calculates an activity vector in the input layer based on the vector. In the first embodiment, the input layer activity vector calculation unit 102 determines the value of each dimension of the input symbol vector as the neuron activity of the input layer. Therefore, the number of dimensions of the vector of input symbols is equal to the number of types of input symbols that can appear and the number of neurons in the input layer. Here, the input symbol sequence X = x 1, x 2, ..., x t, ..., when the t-th symbol x t is read from the first x T in order, representing the activity of the neurons in the input layer The activity vector h 1 (t) is expressed by Equation (2).

Figure 2017117045
Figure 2017117045

中間層活性度ベクトル算出部103は、入力層活性度ベクトル算出部102によって入力層における活性度ベクトルが算出されるたびに中間層における活性度ベクトルを算出する。中間層活性度ベクトル算出部103は、式(3)に示すように、第n層(1<n≦L)のニューロンの活性度ベクトルh (t)を、当該ニューロンに結合されたニューロンの活性度に結合重みを掛けた値の集合、すなわち結合重み行列と活性度ベクトルの積を求め、求めたベクトルの積を活性化関数によって0と1の間に正規化することによって算出する。なお、中間層が1層の場合、hn−1 (t)は入力層における活性度ベクトルである。 The intermediate layer activity vector calculation unit 103 calculates the activity vector in the intermediate layer each time the input layer activity vector calculation unit 102 calculates the activity vector in the input layer. As shown in Expression (3), the intermediate layer activity vector calculation unit 103 uses the n-th layer (1 <n ≦ L) neuron activity vector h n (t) to the neuron coupled to the neuron. A set of values obtained by multiplying the activity by the connection weight, that is, the product of the connection weight matrix and the activity vector is obtained, and the product of the obtained vector is calculated by normalizing between 0 and 1 by the activation function. When the intermediate layer is one layer, h n−1 (t) is an activity vector in the input layer.

Figure 2017117045
Figure 2017117045

ここで、活性化関数としては式(4)に示すシグモイド関数が用いられる。ただし、xはベクトルの各要素を表すものとする。   Here, the sigmoid function shown in Formula (4) is used as the activation function. Here, x represents each element of the vector.

Figure 2017117045
Figure 2017117045

一方、中間層において同じ層内のニューロンとの再帰的な結合がある場合は、式(5)に示すように、中間層において前回算出された活性度ベクトル、すなわちt−1番目の記号xt−1を読み込んだ時の中間層における活性度ベクトルを基にh (t)を算出する。式(5)の右辺のf(・)内の第2項には、添え字(t−1)が付いた活性度ベクトルh (t−1)が同じ層内のニューロンの活性度にwn,nの重み付きで加算される。 On the other hand, when there is a recursive connection with neurons in the same layer in the intermediate layer, as shown in the equation (5), the activity vector previously calculated in the intermediate layer, that is, the t−1th symbol x t H n (t) is calculated based on the activity vector in the intermediate layer when −1 is read. In the second term in f n (•) on the right side of Equation (5), the activity vector h n (t−1) with the subscript (t−1) is assigned to the activity of the neurons in the same layer. Add with weighting w n, n .

Figure 2017117045
Figure 2017117045

平均活性度ベクトル算出部104は、中間層における活性度ベクトルのうち、所定回数前までに算出された活性度ベクトルの平均である平均活性度ベクトルを算出する。すなわち、平均活性度ベクトル算出部104は、時刻tまでに読み込んだ記号列x,x,…,xに対して第n−1層の中間層の活性度ベクトルhn−1 (1),hn−1 (2),…,hn−1 (t−1),hn−1 (t)が中間層活性度ベクトル算出部103によって算出されているとき、算出された中間層の活性度ベクトルの過去A個分の平均である平均活性度ベクトルを式(6)によって算出する。 The average activity vector calculation unit 104 calculates an average activity vector that is an average of the activity vectors calculated up to a predetermined number of times among the activity vectors in the intermediate layer. That is, the average activity vector calculation unit 104 performs the activity vector h n−1 (1) of the ( n−1 ) th intermediate layer with respect to the symbol strings x 1 , x 2 ,. ), h n-1 (2 ), ..., h n-1 (t-1), when h n-1 (t) is calculated by an interlayer activity vector calculating unit 103, the intermediate layer is calculated An average activity vector, which is the average of past A activity vectors, is calculated by Equation (6).

Figure 2017117045
Figure 2017117045

このとき、Aの値を大きくすることで、従来よりも長い文脈情報が平均活性度ベクトルに保持される。さらに、平均活性度ベクトル算出部104は、所定回数を変化させて複数の平均活性度ベクトルを算出するようにしてもよい。この場合、平均活性度ベクトル算出部104は、異なるAの値A(1),A(2),…,A(m),…,A(M)を設定し、複数の平均活性度ベクトルを算出する。ここで、Mは任意の定数とし、A(m)は整数を返すmの関数とする。このとき、m=1,2,…,Mに対する平均活性度ベクトルを式(7)によって算出する。 At this time, by increasing the value of A, context information longer than the conventional context information is held in the average activity vector. Further, the average activity vector calculation unit 104 may calculate a plurality of average activity vectors by changing the predetermined number of times. In this case, the average activity vector calculating unit 104, different values of A A (1), A ( 2), ..., A (m), ..., set the A (M), a plurality of average activity vector calculate. Here, M is an arbitrary constant, and A (m) is a function of m that returns an integer. At this time, an average activity vector for m = 1, 2,...

Figure 2017117045
Figure 2017117045

ここで、wn−1,n (m)はA(m)個分の平均活性度ベクトルを算出するための結合重み行列である。なお、M=1、A(1)=1、wn−1,n (1)=wn−1,nとした場合は、平均活性度ベクトルは中間層活性度ベクトル算出部103によって算出される活性度ベクトルと等しくなる。また、第n層が再帰的な結合を持つ場合は、平均活性度ベクトル算出部104は中間層活性度ベクトル算出部103と同様に、式(8)によってt−1の活性度ベクトルh (t−1)を結合重みwn,nを掛けて加える。 Here, w n−1, n (m) is a connection weight matrix for calculating an average activity vector for A (m) . When M = 1, A (1) = 1, w n−1, n (1) = w n−1, n , the average activity vector is calculated by the intermediate layer activity vector calculation unit 103. Equal to the activity vector. When the n-th layer has a recursive combination, the average activity vector calculation unit 104, like the intermediate layer activity vector calculation unit 103, uses the equation (8) to calculate the activity vector h n ( t-1) is multiplied by the connection weights w n, n and added.

Figure 2017117045
Figure 2017117045

出力層活性度ベクトル算出部105は、中間層活性度ベクトル算出部103によって中間層における活性度ベクトルが算出されるたびに、出力層における活性度ベクトルを算出する。出力層活性度ベクトル算出部105は、出力層に最も近い中間層である第L−1層の活性度ベクトルもしくは平均活性度ベクトルに基づいて、第L層すなわち出力層における活性度ベクトルの算出を行う。このとき、出力層活性度ベクトル算出部105は、活性度を確率と見なすために、活性化関数として式(9)に示すソフトマックス関数を用いて出力層における活性度ベクトルを算出する。   The output layer activity vector calculation unit 105 calculates an activity vector in the output layer every time the activity vector in the intermediate layer is calculated by the intermediate layer activity vector calculation unit 103. The output layer activity vector calculation unit 105 calculates the activity vector in the Lth layer, that is, the output layer, based on the activity vector or the average activity vector of the (L-1) th layer which is the intermediate layer closest to the output layer. Do. At this time, the output layer activity vector calculation unit 105 calculates the activity vector in the output layer using the softmax function shown in Expression (9) as the activation function in order to regard the activity as a probability.

Figure 2017117045
Figure 2017117045

ここで、式(9)の分母は活性度を確率と見なすための正規化項であり、z[i]は、式(10)に示すn−1層目から重み付きで伝搬された活性度ベクトルzのi次元目の要素を表す。 Here, the denominator of the equation (9) is a normalization term for regarding the activity as a probability, and z n [i] is the activity propagated with weight from the (n−1) th layer shown in the equation (10). This represents the i- th element of the degree vector z n .

Figure 2017117045
Figure 2017117045

RNN言語モデルでは、出力層の個々のニューロンは固有の記号に対応しており、予測される次の記号の出現確率は、その記号に対応するニューロンの活性度として求められる。そこで、記号出現確率算出部106は、入力記号列x,x,…,xを読み込んだ後で出力層における活性度ベクトルh (t)を基に記号vが出現する確率を、式(11)によって算出する。ただし、記号vは出力層のk番目のニューロンに対応する記号を表す。 In the RNN language model, each neuron in the output layer corresponds to a unique symbol, and the appearance probability of the predicted next symbol is obtained as the activity of the neuron corresponding to that symbol. Therefore, the symbol occurrence probability calculation unit 106, an input symbol sequence x 1, x 2, ..., the probability that the symbol v k based on the activity of vector h L (t) in the output layer after reading x t appears , Calculated by the equation (11). Here, the symbol v k represents a symbol corresponding to the k-th neuron in the output layer.

Figure 2017117045
Figure 2017117045

なお、平均活性度ベクトル算出部104が所定回数を変化させて複数の平均活性度ベクトルを算出する場合、出力層活性度ベクトル算出部105は、中間層における活性度ベクトルおよび中間層における複数の平均活性度ベクトルのそれぞれの重み付きの和を出力層における活性度ベクトルとして算出する。この場合、出力層活性度ベクトル算出部105はnをLに設定した式(7)または式(8)を用いる。   When the average activity vector calculation unit 104 calculates a plurality of average activity vectors by changing the predetermined number of times, the output layer activity vector calculation unit 105 calculates the activity vector in the intermediate layer and the plurality of averages in the intermediate layer. The weighted sum of each activity vector is calculated as the activity vector in the output layer. In this case, the output layer activity vector calculation unit 105 uses Expression (7) or Expression (8) in which n is set to L.

中間層活性度ベクトル算出部103および平均活性度ベクトル算出部104は、第n−1層および第n層に再帰接続があるか否かによって、これまで説明した方法を使い分けて活性度の算出を行う。   The intermediate layer activity vector calculation unit 103 and the average activity vector calculation unit 104 calculate the activity by using the method described so far depending on whether or not the n−1th layer and the nth layer have recursive connections. Do.

まず、第n層および第n−1層のいずれにも再帰接続がない場合は、式(3)によって算出される活性度ベクトルが第n層の活性度ベクトルとなる。また、第n−1層に再帰接続があり第n層に再帰接続がない場合は、式(5)によって算出される活性度ベクトルが第n層の活性度ベクトルとなる。また、第n−1層に再帰接続がなく第n層に再帰接続がある場合は、式(7)によって算出される活性度ベクトルが第n層の活性度ベクトルとなる。また、第n層および第n−1層のいずれにも再帰接続がある場合は、式(8)によって算出される活性度ベクトルが第n層の活性度ベクトルとなる。   First, when there is no recursive connection in either the nth layer or the (n−1) th layer, the activity vector calculated by the equation (3) becomes the activity vector of the nth layer. Further, when there is a recursive connection in the (n−1) th layer and there is no recursive connection in the nth layer, the activity vector calculated by the equation (5) becomes the activity vector of the nth layer. Further, when there is no recursive connection in the (n−1) th layer and there is a recursive connection in the nth layer, the activity vector calculated by the equation (7) becomes the activity vector of the nth layer. Further, when there is a recursive connection in both the nth layer and the n−1th layer, the activity vector calculated by the equation (8) becomes the activity vector of the nth layer.

次に、学習部11の各部について詳細に説明するとともに、活性度ベクトル算出のための結合重みの設定方法について説明する。まず、基本的にはRNNのパラメータである結合重みは、記号列の学習データを用いて誤差逆伝搬法を用いて推定される。   Next, each part of the learning unit 11 will be described in detail, and a connection weight setting method for calculating the activity vector will be described. First, the coupling weight, which is basically an RNN parameter, is estimated by using the error back propagation method using the learning data of the symbol string.

例として、L=3すなわち3層のRNN言語モデルを作成する場合を例に挙げて結合重みの設定方法について説明する。この場合、第1層が入力層、第2層が中間層、第3層が出力層である。まず、結合重み行列w1,2、w2,2、w2,3は、BPTT(通時的誤差逆伝搬:Back Propagation Through Time)等の既知の方法によって設定することができる(参考文献:Williams,R.J.,and Zipser,D. A learning algorithm for continually running fully recurrent neural networks. Neural Computation. 1(2),270, 1989.)。 As an example, a method of setting the connection weight will be described by taking L = 3, that is, a case of creating a three-layer RNN language model as an example. In this case, the first layer is an input layer, the second layer is an intermediate layer, and the third layer is an output layer. First, the connection weight matrices w 1 , 2 , w 2 , 2 , w 2 , 3 can be set by a known method such as BPTT (Back Propagation Through Time) (reference document: Williams, RJ, and Zipser, D. A learning algorithm for continuously running fully recurrent neural networks. Neural Computation. 1 (2), 270, 1989.).

一方、学習部20は、平均活性度ベクトル算出部104における結合重みw2,3 (1),…,w2,3 (M)を次のように設定する。まず、学習部20は、予測部10の機能を利用すること等により行列w1,2およびw2,2を用いて学習データの記号列x,x,…,xに対する中間層の活性度ベクトル系列h (1),h (2),…,h (t),…,h (T)を求める。そして、損失関数定義部111は学習データを用いて、重み付きの和における重みをパラメータとする損失関数を定義する。すなわち損失関数定義部111は、式(12)に示すパラメータの集合に対して、式(13)に示す負の対数尤度に基づく損失関数を定義する。 On the other hand, the learning unit 20 sets the connection weights w 2,3 (1) ,..., W 2,3 (M) in the average activity vector calculation unit 104 as follows. First, the learning unit 20 uses the functions of the prediction unit 10 or the like to use the matrices w 1,2 and w 2,2 to change the intermediate layer for the symbol strings x 1 , x 2 ,. activity vector sequence h 2 (1), h 2 (2), ..., h 2 (t), ..., determine the h 2 (T). Then, the loss function definition unit 111 uses the learning data to define a loss function using the weight in the weighted sum as a parameter. That is, the loss function definition unit 111 defines a loss function based on the negative log likelihood shown in Expression (13) for the set of parameters shown in Expression (12).

Figure 2017117045
Figure 2017117045

Figure 2017117045
Figure 2017117045

そして、パラメータ推定部112は損失関数が最小となるようにパラメータを推定する。パラメータ推定部112は、式(13)のE(V)が最小になるようにVを推定する。ここで、式(14)に示すように、y[k]は学習データのベクトル表現された個々の記号xの次、すなわち時刻t+1に出現する記号yの第k次元目の要素を表す。 Then, the parameter estimation unit 112 estimates parameters so that the loss function is minimized. The parameter estimation unit 112 estimates V so that E (V) in Expression (13) is minimized. Here, as shown in Expression (14), y t [k] is an element of the k-th dimension of the symbol y t that appears next to each symbol x t expressed in vector of the learning data, that is, at time t + 1. Represent.

Figure 2017117045
Figure 2017117045

また、h (t)は出力層の活性度ベクトルであり、予測された次の記号の確率分布を表す。つまり、E(V)は、実際に次に出現した記号に対してRNN言語モデルがより高い確率を付けるほど小さくなる。そのため、パラメータ推定部112はE(V)が最小になるようなVを求めれば良い。ただし、右辺第2項は、Vの個々の要素w2,3 (m)[k,j]が大きくなり過ぎないように制御するための正則化項であり、βは正則化項に対する重み係数を表す正の定数である。 H 3 (t) is an activity vector of the output layer and represents the probability distribution of the predicted next symbol. That is, E (V) becomes smaller as the RNN language model gives a higher probability to the symbol that actually appears next. Therefore, the parameter estimation unit 112 may obtain V that minimizes E (V). However, the second term on the right-hand side is a regularization term for controlling the individual elements w 2,3 (m) [k, j] of V so as not to become too large, and β is a weighting factor for the regularization term. Is a positive constant.

パラメータ推定部112は、例えば勾配法を用いてE(V)の最小値を求める。例えば、式(15)に示すように、パラメータ推定部112は、E(V)の個々の要素w2,3 (m)[k,j]に対する偏微分を求める。 The parameter estimation unit 112 obtains the minimum value of E (V) using, for example, a gradient method. For example, as shown in Expression (15), the parameter estimation unit 112 obtains partial differentiation with respect to individual elements w 2,3 (m) [k, j] of E (V).

Figure 2017117045
Figure 2017117045

そして、パラメータ推定部112は式(16)に示すように新しいパラメータを求め、求めた新しいパラメータを用いてさらに偏微分計算およびパラメータ更新を繰り返す。ここで、ηは学習率を表す。   Then, the parameter estimation unit 112 obtains a new parameter as shown in Expression (16), and further repeats partial differential calculation and parameter update using the obtained new parameter. Here, η represents a learning rate.

Figure 2017117045
Figure 2017117045

また、パラメータ推定部112は、学習データをいくつかの小さなブロック(もしくは個々の単語等)に分割し、分割されたブロックを順に読み込んで偏微分計算およびパラメータ更新を繰り返す確率的勾配法を用いることで、損失関数の収束を速くすることができる。   The parameter estimation unit 112 uses a stochastic gradient method that divides the learning data into several small blocks (or individual words, etc.), reads the divided blocks in order, and repeats the partial differential calculation and the parameter update. Thus, the convergence of the loss function can be accelerated.

[第1の実施形態の処理]
次に、図5を用いて言語確率算出装置1の処理について説明する。図5は、第1の実施形態に係る言語確率算出装置における処理の一例を示すフローチャートである。図5に示すように、まず、記号ベクトル読込部101はtを1に設定し(ステップS201)、記号列を読み込む。そして、入力層活性度ベクトル算出部102は記号xを入力層の活性度ベクトルh (t)に設定し(ステップS202)、nを2に設定する(ステップS203)。
[Process of First Embodiment]
Next, processing of the language probability calculation device 1 will be described with reference to FIG. FIG. 5 is a flowchart illustrating an example of processing in the language probability calculation apparatus according to the first embodiment. As shown in FIG. 5, first, the symbol vector reading unit 101 sets t to 1 (step S201), and reads a symbol string. Then, the input layer activity vector calculation unit 102 sets the symbol x t to the input layer activity vector h 1 (t) (step S202), and sets n to 2 (step S203).

ここで、第n層が再帰接続のある中間層である場合(ステップS204、Yes)、中間層活性度ベクトル算出部103は再帰的に伝搬される成分wn,n・h (t−1)をzに代入する(ステップS205)。一方、第n層が再帰接続のある中間層でない場合(ステップS204、No)、中間層活性度ベクトル算出部103はzを0ベクトルに設定する(ステップS206)。 Here, when the n-th layer is an intermediate layer with recursive connection (step S204, Yes), the intermediate layer activity vector calculation unit 103 recursively propagates the components wn , n · h n (t−1). ) is substituted into z n (step S205). On the other hand, if the n-th layer is not an intermediate layer with a recursive connection (step S204, No), the intermediate layer activity vector calculating unit 103 sets the z n to 0 vector (step S206).

さらに、第n−1層が再帰接続のある中間層である場合(ステップS207、Yes)、平均活性度ベクトル算出部104は平均活性度ベクトルの算出を行う。このとき、まず平均活性度ベクトル算出部104はmを1に設定する(ステップS209)。そして、平均活性度ベクトル算出部104は過去A(m)個分の平均活性度ベクトルを算出し(ステップS210)、重みを掛けてzに加える(ステップS211)。 Furthermore, when the (n−1) th layer is an intermediate layer with recursive connection (step S207, Yes), the average activity vector calculation unit 104 calculates an average activity vector. At this time, the average activity vector calculation unit 104 first sets m to 1 (step S209). Then, the average activity vector calculation unit 104 calculates an average activity vector for the past A (m) (step S210), adds the weight to z n (step S211).

ここで、m<Mである場合(ステップS212、Yes)、平均活性度ベクトル算出部104はmを1だけ増加させ(ステップS213)、ステップS209に戻り処理を繰り返す。また、m<Mでない場合(ステップS212、No)、平均活性度ベクトル算出部104は平均活性度ベクトルの算出を終了する。   If m <M (step S212, Yes), the average activity vector calculation unit 104 increases m by 1 (step S213), returns to step S209, and repeats the process. If m <M is not satisfied (step S212, No), the average activity vector calculation unit 104 ends the calculation of the average activity vector.

一方、第n−1層が再帰接続のある中間層でない場合(ステップS207、No)、中間層活性度ベクトル算出部103は第n−1層から伝搬される成分wn−1,n・hn−1 (t)をzに加える(ステップS208)。 On the other hand, when the (n−1) th layer is not an intermediate layer with recursive connection (No in step S207), the intermediate layer activity vector calculation unit 103 determines the component w n−1, n · h propagated from the (n−1) th layer. Add n-1 (t) to z n (step S208).

次に、平均活性度ベクトル算出部104は、zに活性化関数f(・)を適用し、第n層の活性度ベクトルh (t)を得る(ステップS214)。なお、n=Lの場合は出力層活性度ベクトル算出部105が活性化関数の適用を行う。ここで、n<Lの場合(ステップS215、Yes)、nを1だけ増加させ(ステップS216)、ステップS204へ戻り処理を繰り返す。また、n<Lでない場合(ステップS215、No)、t<Tであれば(ステップS217、Yes)tを1だけ増加させ(ステップS218)、ステップS202へ戻り処理を繰り返す。t<Tでなければ(ステップS217、No)処理を終了する。 Next, the average activity vector calculation unit 104 applies the activation function f n (·) to z n to obtain the n-th layer activity vector h n (t) (step S214). When n = L, the output layer activity vector calculation unit 105 applies the activation function. Here, when n <L (step S215, Yes), n is increased by 1 (step S216), and the process returns to step S204 and is repeated. If n <L is not satisfied (step S215, No), if t <T (step S217, Yes), t is increased by 1 (step S218), and the process returns to step S202 to repeat the process. If t <T is not satisfied (step S217, No), the process is terminated.

図6を用いて言語確率算出装置1における言語確率算出方法について説明する。図6は、第1の実施形態に係る言語確率算出装置における言語確率算出方法の一例を説明するための図である。なお、図6の例ではL=3であり、中間層は1層のみとする。   A language probability calculation method in the language probability calculation apparatus 1 will be described with reference to FIG. FIG. 6 is a diagram for explaining an example of a language probability calculation method in the language probability calculation apparatus according to the first embodiment. In the example of FIG. 6, L = 3, and only one intermediate layer is provided.

図6に示すように、順に入力された記号x,x,…,xに対して、中間層活性度ベクトル算出部103は、nを2として、現在の記号に対する入力層の活性度ベクトルh (t)と1つ前の記号に対する中間層の活性度ベクトルh (t−1)とから中間層の活性度ベクトルh (t)を算出する(図5のステップS205、S206、S208、S214)。 As shown in FIG. 6, for the symbols x 1 , x 2 ,..., X t that are sequentially input, the intermediate layer activity vector calculation unit 103 sets n to 2 and the activity of the input layer for the current symbol. An intermediate layer activity vector h 2 (t) is calculated from the vector h 1 (t) and the intermediate layer activity vector h 2 (t−1) for the previous symbol (steps S205 and S206 in FIG. 5 ) . , S208, S214).

次に、平均活性度ベクトル算出部104は、nを3として、過去2個分の中間層の活性度ベクトルの平均、過去4個分の中間層の活性度ベクトルの平均、および過去8個分の中間層の活性度ベクトルの平均を算出する(図5のステップS210、S211)。なお、このとき中間層の活性度ベクトルh (t)は過去1回分の中間層の活性度ベクトルの平均とみなされる。 Next, the average activity vector calculation unit 104 sets n to 3, the average of the activity vectors of the past two intermediate layers, the average of the past four intermediate layer activity vectors, and the past eight The average of the activity vectors of the intermediate layers is calculated (steps S210 and S211 in FIG. 5). At this time, the activity vector h 2 (t) of the intermediate layer is regarded as an average of the activity vectors of the intermediate layer for the past one time.

出力層活性度ベクトル算出部105は、過去1回分、2回分、4回分、8回分の平均活性度ベクトルに活性化関数を適用し、出力層における活性度ベクトルh (t)を算出する(図5のステップS214)。なお、過去何個分までの平均活性度ベクトルの算出対象の活性度ベクトルが過去何個分であるかは、定数Mおよび関数A(m)の設定による。 The output layer activity vector calculation unit 105 applies the activation function to the average activity vector for the past one time, two times, four times, and eight times, and calculates the activity vector h 3 (t) in the output layer ( Step S214 in FIG. It should be noted that the past number of activity vectors for which the average activity vector is calculated depends on the setting of the constant M and the function A (m) .

[第1の実施形態の効果]
実際のデータを用いて言語確率算出装置1の評価を行った結果を用いて第1の実施形態の効果について説明する。まず、RNN言語モデルのパラメータを求めるため「日本語話し言葉コーパス」に含まれる学会講演を人が書き起こした文章を学習データとして使用した。
[Effect of the first embodiment]
The effects of the first embodiment will be described using the results of the evaluation of the language probability calculation device 1 using actual data. First, in order to obtain the parameters of the RNN language model, we used sentences that were written by a person as a learning data for academic conferences included in the “Japanese spoken corpus”.

また、RNN言語モデルは、学習データに出現している単語(語彙サイズ52,564)に対し、入力層(H=52,564)、中間層(H=400)、出力層(H=52,564)からなる3層(L=3)のRNNとして構成した。また、第1の実施形態におけるRNN言語モデルのパラメータ(w2,3 (m)[k,j])の推定には確率的勾配法を用い、M=6、A(m)=2(m−1)、学習率η=0.1、β=10−5とした。 In addition, the RNN language model has an input layer (H 1 = 52,564), an intermediate layer (H 2 = 400), and an output layer (H 3 ) for words appearing in learning data (vocabulary sizes 52 and 564). = 52,564) and configured as a three-layer (L = 3) RNN. In addition, the stochastic gradient method is used to estimate the parameters (w 2,3 (m) [k, j]) of the RNN language model in the first embodiment, and M = 6, A (m) = 2 (m -1) , learning rate η = 0.1, β = 10 −5 .

第1の実施形態におけるRNN言語モデルおよび従来のRNN言語モデルに学習データを学習させ、学習データとは異なる学会講演の書き起こしデータ10講演分を評価データとして、それぞれのRNN言語モデルのテストセットパープレキシティを計算した結果を表1に示す。   The learning data is learned by the RNN language model in the first embodiment and the conventional RNN language model, and transcripts of 10 conference lectures different from the learning data are used as evaluation data, and test sets of each RNN language model are used. The results of calculating plexity are shown in Table 1.

Figure 2017117045
Figure 2017117045

なお、テストセットパープレキシティは言語モデルの性能を表す指標として知られている。テストセットパープレキシティは、評価データx,x,…xτ,…,xが与えられたとき、言語モデルを用いて式(17)に示すエントロピーで2を累乗した値、すなわち2として定義される。テストセットパープレキシティが小さいほど言語モデルの性能が高いことを意味するため、表1より第1の実施形態におけるRNN言語モデルの方が従来のRNN言語モデルより高い性能を示すことが分かる。 Test set perplexity is known as an index representing the performance of a language model. When the evaluation data x 1 , x 2 ,..., X τ ,..., X R are given, the test set perplexity is a value obtained by raising 2 to the entropy shown in Expression (17) using a language model, that is, 2 Defined as H. Since the smaller the test set perplexity means that the performance of the language model is higher, it can be seen from Table 1 that the RNN language model in the first embodiment shows higher performance than the conventional RNN language model.

Figure 2017117045
Figure 2017117045

言語確率算出装置1では、まず記号ベクトル読込部101は記号を表すベクトルを順次読み込む。次に、入力層活性度ベクトル算出部102は、記号ベクトル読込部101によってベクトルが読み込まれるたびに、ベクトルを基に入力層における活性度ベクトルを算出する。そして、中間層活性度ベクトル算出部103は、入力層活性度ベクトル算出部102によって入力層における活性度ベクトルが算出されるたびに、中間層において前回算出された活性度ベクトルと、入力層における活性度ベクトルとを基に中間層における活性度ベクトルを算出する。   In the language probability calculation apparatus 1, first, the symbol vector reading unit 101 sequentially reads vectors representing symbols. Next, every time a vector is read by the symbol vector reading unit 101, the input layer activity vector calculation unit 102 calculates an activity vector in the input layer based on the vector. Then, each time the input layer activity vector calculation unit 102 calculates the activity vector in the input layer, the intermediate layer activity vector calculation unit 103 calculates the activity vector previously calculated in the intermediate layer and the activity in the input layer. Based on the degree vector, the activity vector in the intermediate layer is calculated.

ここで、平均活性度ベクトル算出部104は、中間層における活性度ベクトルのうち、所定回数前までに算出された活性度ベクトルの平均である平均活性度ベクトルを算出する。そして、出力層活性度ベクトル算出部105は、中間層活性度ベクトル算出部103によって中間層における活性度ベクトルが算出されるたびに、中間層における活性度ベクトルと、中間層における平均活性度ベクトルとを基に出力層における活性度ベクトルを算出する。そして、記号出現確率算出部106は、出力層における活性度ベクトルを基に所定の記号の出現確率を算出する。   Here, the average activity vector calculation unit 104 calculates an average activity vector that is an average of the activity vectors calculated up to a predetermined number of times among the activity vectors in the intermediate layer. The output layer activity vector calculation unit 105 calculates the activity vector in the intermediate layer and the average activity vector in the intermediate layer each time the activity vector in the intermediate layer is calculated by the intermediate layer activity vector calculation unit 103. Based on the above, the activity vector in the output layer is calculated. Then, the symbol appearance probability calculation unit 106 calculates the appearance probability of a predetermined symbol based on the activity vector in the output layer.

このように、平均活性度ベクトル算出部104によって、任意の回数前までに算出された活性度ベクトルの影響を、最終的な記号の出現確率の算出に十分に与えることが可能となる。よって、第1の実施形態によれば、長い文脈の情報、すなわち文章の話題やスタイル、話者に特有の単語や話し方等を効果的に利用して次の単語を適切に予測することができる。   As described above, the average activity vector calculation unit 104 can sufficiently affect the influence of the activity vector calculated up to an arbitrary number of times before the final symbol appearance probability. Therefore, according to the first embodiment, it is possible to appropriately predict the next word by effectively using long context information, that is, the topic and style of the sentence, the word and the way of speaking specific to the speaker, and the like. .

また、平均活性度ベクトル算出部104は、所定回数を変化させて複数の平均活性度ベクトルを算出するようにしてもよい。このとき、出力層活性度ベクトル算出部105は、中間層における活性度ベクトルおよび中間層における複数の平均活性度ベクトルのそれぞれの重み付きの和を出力層における活性度ベクトルとして算出する。さらに、損失関数定義部111は学習データを用いて、重み付きの和における重みをパラメータとする損失関数を定義する。そして、パラメータ推定部112は損失関数が最小となるようにパラメータを推定する。   In addition, the average activity vector calculation unit 104 may calculate a plurality of average activity vectors by changing the predetermined number of times. At this time, the output layer activity vector calculation unit 105 calculates the weighted sum of the activity vector in the intermediate layer and the plurality of average activity vectors in the intermediate layer as the activity vector in the output layer. Further, the loss function definition unit 111 uses the learning data to define a loss function using the weight in the weighted sum as a parameter. Then, the parameter estimation unit 112 estimates parameters so that the loss function is minimized.

このように、複数の平均活性度ベクトルを用い、学習により予測精度を向上させることができるため、長い文脈の情報をより効果的に利用できるようになる。   In this way, since the prediction accuracy can be improved by learning using a plurality of average activity vectors, information in a long context can be used more effectively.

[第2の実施形態]
次に、第2の実施形態として、本発明の言語確率算出方法を音声認識装置に適用した場合について説明する。音声認識装置においては、音響的な妥当性および言語的な妥当性の両方を考慮して認識結果を出力する。第2の実施形態においては、言語的な妥当性の判定に本発明の言語確率算出方法を用いる。
[Second Embodiment]
Next, a case where the language probability calculation method of the present invention is applied to a speech recognition apparatus will be described as a second embodiment. The speech recognition apparatus outputs a recognition result in consideration of both acoustic validity and linguistic validity. In the second embodiment, the language probability calculation method of the present invention is used to determine linguistic validity.

[第2の実施形態の構成]
図7を用いて、第2の実施形態に係る音声認識装置の構成について説明する。図7は、第2の実施形態に係る音声認識装置の構成の一例を示す図である。図7に示すように、音声認識装置2は、音声信号入力部21、候補文作成部22、音響スコア算出部23、言語確率算出部24、言語スコア算出部25および認識結果抽出部26を有する。
[Configuration of Second Embodiment]
The configuration of the speech recognition apparatus according to the second embodiment will be described with reference to FIG. FIG. 7 is a diagram illustrating an example of the configuration of the speech recognition apparatus according to the second embodiment. As illustrated in FIG. 7, the speech recognition device 2 includes a speech signal input unit 21, a candidate sentence creation unit 22, an acoustic score calculation unit 23, a language probability calculation unit 24, a language score calculation unit 25, and a recognition result extraction unit 26. .

音声信号入力部21には、認識対象となる音声信号が入力される。候補文作成部22が入力された音声信号に合致する文の候補である複数の候補文を作成する。ここで、候補文作成部22はQ個の候補文X,X,…,Xを作成する。 An audio signal to be recognized is input to the audio signal input unit 21. The candidate sentence creation unit 22 creates a plurality of candidate sentences that are sentence candidates that match the input voice signal. Here, the candidate sentence creation unit 22 creates Q candidate sentences X 1 , X 1 ,..., X Q.

音響スコア算出部23は候補文ごとの音声信号との音響的な一致度を表す音響スコアを算出する。音響スコア算出部23は、Q個の候補文それぞれに対し、音響スコアamscore(X)を算出する。なお、音響スコア算出部23は既知の方法を用いて音響スコアを算出するようにしてよい。 The acoustic score calculation unit 23 calculates an acoustic score representing an acoustic coincidence with the speech signal for each candidate sentence. The acoustic score calculation unit 23 calculates an acoustic score amscore (X q ) for each of the Q candidate sentences. The acoustic score calculation unit 23 may calculate the acoustic score using a known method.

ここで、従来のNグラム言語モデルを用いる場合、言語スコアをlmscore(X)とすると、式(18)に示すようにscore(X)が算出される。 Here, when the conventional N-gram language model is used, assuming that the language score is lmscore (X q ), score (X q ) is calculated as shown in Expression (18).

Figure 2017117045
Figure 2017117045

なお、言語スコアlmscore(X)はNグラムの言語確率を基に、式(19)によって算出される。ここで、候補文Xの記号列xq,1,q,τ−1における記号xq,τのNグラムによって算出された出現確率はPngram(xq,τ|xq,τ−N+1…xq,τ−1)と表される。このとき、Nは3〜4程度である。 The language score lmscore (X q ) is calculated by the equation (19) based on the language probability of N grams. Here, the appearance probability calculated by the N-gram of the symbol x q, τ in the symbol string x q, 1, ... , X q, τ−1 of the candidate sentence X q is P ngram (x q, τ | x q, τ−N + 1 ... x q, τ−1 ). At this time, N is about 3-4.

Figure 2017117045
Figure 2017117045

音声認識装置2においては、Nグラム言語モデルの代わりに第1の実施形態の言語確率算出方法におけるRNN言語モデルが用いられる。言語確率算出部24は、第1の実施形態と同様の言語確率算出方法により、候補文ごとに記号の出現確率を算出する。すなわち、言語確率算出部24は、候補文Xの記号列xq,1,q,τ−1における記号xq,τの出現確率Prnn(xq,τ|xq,1…xq,τ−1)を算出する。 In the speech recognition device 2, the RNN language model in the language probability calculation method of the first embodiment is used instead of the N-gram language model. The language probability calculation unit 24 calculates the appearance probability of the symbol for each candidate sentence by the same language probability calculation method as that of the first embodiment. That is, the language probability calculation unit 24 generates the appearance probability P rnn (x q, τ | x q, 1 of the symbols x q, τ in the symbol string x q, 1, ... , X q, τ−1 of the candidate sentence X q. ... Xq, [tau] -1 ) is calculated.

また、言語スコア算出部25は出現確率を基に候補文ごとの言語スコアを算出する。言語スコア算出部25は、言語確率算出部24が算出した記号の出現確率を基に、各候補文の言語スコアを式(20)によって算出する。   In addition, the language score calculation unit 25 calculates a language score for each candidate sentence based on the appearance probability. The language score calculation unit 25 calculates the language score of each candidate sentence based on the appearance probability of the symbol calculated by the language probability calculation unit 24 using Expression (20).

Figure 2017117045
Figure 2017117045

認識結果抽出部26は、候補文のうち、音響スコアと言語スコアとの合計が最も大きい候補文を音声信号に合致する文として抽出する。認識結果抽出部26は、音響スコアおよび言語スコアを基に、式(21)によって各候補文のscore(X)を算出し、score(X)が最大となる候補文を認識結果として抽出する。ここで、λは対数確率に対するスケーリング係数を表す正の定数である。 The recognition result extraction unit 26 extracts the candidate sentence having the largest sum of the acoustic score and the language score from the candidate sentences as a sentence that matches the voice signal. The recognition result extraction unit 26 calculates score (X q ) of each candidate sentence by Expression (21) based on the acoustic score and the language score, and extracts a candidate sentence having the maximum score (X q ) as a recognition result. To do. Here, λ is a positive constant representing a scaling coefficient with respect to the logarithmic probability.

Figure 2017117045
Figure 2017117045

[第2の実施形態の処理]
図8を用いて第2の実施形態の処理について説明する。図8は、第2の実施形態に係る音声認識装置における処理の一例を示すフローチャートである。図8に示すように、まず音声信号入力部21に音声信号が入力される(ステップS301)。次に、候補文作成部22は、音声認識結果の候補文を作成する(ステップS302)。そして、音響スコア算出部23は各候補文の音響スコアを算出する(ステップS303)。
[Process of Second Embodiment]
The processing of the second embodiment will be described with reference to FIG. FIG. 8 is a flowchart illustrating an example of processing in the speech recognition apparatus according to the second embodiment. As shown in FIG. 8, an audio signal is first input to the audio signal input unit 21 (step S301). Next, the candidate sentence creation unit 22 creates a candidate sentence of the speech recognition result (step S302). And the acoustic score calculation part 23 calculates the acoustic score of each candidate sentence (step S303).

ここで、言語確率算出部24は言語確率を算出する(ステップS304)。そして、言語スコア算出部25は言語確率を基に言語スコアを算出する(ステップS305)。認識結果抽出部26は、音響スコアおよび言語スコアにスケーリング係数を掛けた値の和が最大となる候補文を抽出し(ステップS306)、認識結果として出力する(ステップS307)。   Here, the language probability calculation unit 24 calculates a language probability (step S304). The language score calculation unit 25 calculates a language score based on the language probability (step S305). The recognition result extraction unit 26 extracts a candidate sentence having the maximum sum of values obtained by multiplying the acoustic score and the language score by the scaling coefficient (step S306), and outputs the candidate sentence as a recognition result (step S307).

[第2の実施形態の効果]
Nグラム言語モデル、従来のRNN言語モデルおよび第2の実施形態におけるRNN言語モデルを用いて音声認識を行った場合のそれぞれの単語誤り率を表2に示す。ただし、初めに出力する候補の数Qは500に設定した。また、単語誤り率は、実際に話された単語の中で誤って認識した単語の割合を表しており、小さいほど音声認識の精度が高いことを表す。
[Effects of Second Embodiment]
Table 2 shows respective word error rates when speech recognition is performed using the N-gram language model, the conventional RNN language model, and the RNN language model in the second embodiment. However, the number Q of candidates to be output first is set to 500. The word error rate represents the proportion of words that are mistakenly recognized among the actually spoken words. The smaller the word error rate, the higher the accuracy of speech recognition.

Figure 2017117045
Figure 2017117045

表2に示すように、Nグラム言語モデルを用いる音声認識では単語誤り率が14.8%であった。また、従来のRNN言語モデルを用いる音声認識では単語誤り率は13.9%であった。また、第2の実施形態におけるRNN言語モデルを用いる音声認識では単語誤り率は13.5%となった。これより、第2の実施形態におけるRNN言語モデルは、Nグラム言語モデルおよび従来のRNN言語モデルよりも高い精度の音声認識を実現することが示された。   As shown in Table 2, the word error rate in speech recognition using the N-gram language model was 14.8%. In addition, the word error rate was 13.9% in speech recognition using the conventional RNN language model. In the speech recognition using the RNN language model in the second embodiment, the word error rate is 13.5%. From this, it was shown that the RNN language model in the second embodiment realizes speech recognition with higher accuracy than the N-gram language model and the conventional RNN language model.

音声認識装置2では、まず候補文作成部22が入力された音声信号に合致する文の候補である複数の候補文を作成する。そして、音響スコア算出部23は候補文ごとの音声信号との音響的な一致度を表す音響スコアを算出する。   In the speech recognition apparatus 2, first, the candidate sentence creation unit 22 creates a plurality of candidate sentences that are sentence candidates that match the input speech signal. And the acoustic score calculation part 23 calculates the acoustic score showing an acoustic coincidence with the audio | voice signal for every candidate sentence.

また、言語確率算出部24は、第1の実施形態と同様の言語確率算出方法により、候補文ごとに記号の出現確率を算出する。そして、言語スコア算出部25は出現確率を基に候補文ごとの言語スコアを算出する。そして、認識結果抽出部26は、候補文のうち、音響スコアと言語スコアとの合計が最も大きい候補文を音声信号に合致する文として抽出する。   In addition, the language probability calculation unit 24 calculates a symbol appearance probability for each candidate sentence by the same language probability calculation method as that of the first embodiment. And the language score calculation part 25 calculates the language score for every candidate sentence based on an appearance probability. And the recognition result extraction part 26 extracts a candidate sentence with the largest sum of an acoustic score and a language score as a sentence which corresponds to an audio | voice signal among candidate sentences.

[その他の実施形態]
図6等においては、中間層が1層である場合を例として説明したが、本発明における中間層は1層に限られず複数であってもよい。その場合、言語確率算出装置1の中間層活性度ベクトル算出部103は、入力層活性度ベクトル算出部102によって入力層における活性度ベクトルが算出されるたびに、中間層において前回算出された活性度ベクトルおよび入力層における活性度ベクトルだけでなく、中間層の下の中間層における活性度ベクトルも基にして中間層における活性度ベクトルを算出する。
[Other Embodiments]
In FIG. 6 and the like, the case where the intermediate layer is one layer has been described as an example. However, the intermediate layer in the present invention is not limited to one layer and may be a plurality. In that case, the intermediate layer activity vector calculation unit 103 of the language probability calculation device 1 calculates the activity level previously calculated in the intermediate layer every time the input layer activity vector calculation unit 102 calculates the activity vector in the input layer. The activity vector in the intermediate layer is calculated based on the activity vector in the intermediate layer below the intermediate layer as well as the vector and the activity vector in the input layer.

また、言語確率算出装置1には、中間層活性度ベクトル算出部103によって中間層における活性度ベクトルが算出されるたびに、中間層活性度ベクトル算出部103によって算出された活性度ベクトルと、中間層における平均活性度ベクトルとを基に中間層の上の中間層における活性度ベクトルを算出する層間活性度ベクトル算出部がさらに設けられる。   The language probability calculation device 1 also includes an activity vector calculated by the intermediate layer activity vector calculation unit 103 and an intermediate level each time an activity vector in the intermediate layer is calculated by the intermediate layer activity vector calculation unit 103. An interlayer activity vector calculation unit is further provided for calculating an activity vector in the intermediate layer above the intermediate layer based on the average activity vector in the layer.

[システム構成等]
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPU(Central Processing Unit)および当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
[System configuration, etc.]
Further, each component of each illustrated apparatus is functionally conceptual, and does not necessarily need to be physically configured as illustrated. In other words, the specific form of distribution / integration of each device is not limited to that shown in the figure, and all or a part thereof may be functionally or physically distributed or arbitrarily distributed in arbitrary units according to various loads or usage conditions. Can be integrated and configured. Further, all or any part of each processing function performed in each device is realized by a CPU (Central Processing Unit) and a program analyzed and executed by the CPU, or hardware by wired logic. Can be realized as

また、本実施形態において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。   In addition, among the processes described in the present embodiment, all or part of the processes described as being automatically performed can be manually performed, or the processes described as being manually performed can be performed. All or a part can be automatically performed by a known method. In addition, the processing procedure, control procedure, specific name, and information including various data and parameters shown in the above-described document and drawings can be arbitrarily changed unless otherwise specified.

[プログラム]
図9は、プログラムが実行されることにより、言語確率算出装置または音声認識装置が実現されるコンピュータの一例を示す図である。コンピュータ1000は、例えば、メモリ1010、CPU1020を有する。また、コンピュータ1000は、ハードディスクドライブインタフェース1030、ディスクドライブインタフェース1040、シリアルポートインタフェース1050、ビデオアダプタ1060、ネットワークインタフェース1070を有する。これらの各部は、バス1080によって接続される。
[program]
FIG. 9 is a diagram illustrating an example of a computer in which a language probability calculation device or a speech recognition device is realized by executing a program. The computer 1000 includes a memory 1010 and a CPU 1020, for example. The computer 1000 also includes a hard disk drive interface 1030, a disk drive interface 1040, a serial port interface 1050, a video adapter 1060, and a network interface 1070. These units are connected by a bus 1080.

メモリ1010は、ROM(Read Only Memory)1011およびRAM(Random Access Memory)1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、例えばマウス1110、キーボード1120に接続される。ビデオアダプタ1060は、例えばディスプレイ1130に接続される。   The memory 1010 includes a ROM (Read Only Memory) 1011 and a RAM (Random Access Memory) 1012. The ROM 1011 stores a boot program such as BIOS (Basic Input Output System). The hard disk drive interface 1030 is connected to the hard disk drive 1090. The disk drive interface 1040 is connected to the disk drive 1100. For example, a removable storage medium such as a magnetic disk or an optical disk is inserted into the disk drive 1100. The serial port interface 1050 is connected to a mouse 1110 and a keyboard 1120, for example. The video adapter 1060 is connected to the display 1130, for example.

ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、言語確率算出装置または音声認識装置の各処理を規定するプログラムは、コンピュータにより実行可能なコードが記述されたプログラムモジュール1093として実装される。プログラムモジュール1093は、例えばハードディスクドライブ1090に記憶される。例えば、言語確率算出装置または音声認識装置における機能構成と同様の処理を実行するためのプログラムモジュール1093が、ハードディスクドライブ1090に記憶される。なお、ハードディスクドライブ1090は、SSD(Solid State Drive)により代替されてもよい。   The hard disk drive 1090 stores, for example, an OS 1091, an application program 1092, a program module 1093, and program data 1094. That is, a program that defines each process of the language probability calculation device or the speech recognition device is implemented as a program module 1093 in which a code executable by a computer is described. The program module 1093 is stored in the hard disk drive 1090, for example. For example, a program module 1093 for executing processing similar to the functional configuration in the language probability calculation device or the speech recognition device is stored in the hard disk drive 1090. The hard disk drive 1090 may be replaced by an SSD (Solid State Drive).

また、上述した実施形態の処理で用いられる設定データは、プログラムデータ1094として、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して実行する。   The setting data used in the processing of the above-described embodiment is stored as program data 1094 in, for example, the memory 1010 or the hard disk drive 1090. Then, the CPU 1020 reads the program module 1093 and the program data 1094 stored in the memory 1010 and the hard disk drive 1090 to the RAM 1012 and executes them as necessary.

なお、プログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、プログラムモジュール1093およびプログラムデータ1094は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール1093およびプログラムデータ1094は、他のコンピュータから、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。   The program module 1093 and the program data 1094 are not limited to being stored in the hard disk drive 1090, but may be stored in, for example, a removable storage medium and read out by the CPU 1020 via the disk drive 1100 or the like. Alternatively, the program module 1093 and the program data 1094 may be stored in another computer connected via a network (LAN (Local Area Network), WAN (Wide Area Network), etc.). The program module 1093 and the program data 1094 may be read by the CPU 1020 from another computer via the network interface 1070.

1 言語確率算出装置
10 予測部
11 学習部
12 記憶部
101 記号ベクトル読込部
102 入力層活性度ベクトル算出部
103 中間層活性度ベクトル算出部
104 平均活性度ベクトル算出部
105 出力層活性度ベクトル算出部
106 記号出現確率算出部
111 損失関数定義部
112 パラメータ推定部
121 RNN言語モデル記憶部
DESCRIPTION OF SYMBOLS 1 Language probability calculation apparatus 10 Prediction part 11 Learning part 12 Storage part 101 Symbol vector reading part 102 Input layer activity vector calculation part 103 Intermediate layer activity vector calculation part 104 Average activity vector calculation part 105 Output layer activity vector calculation part 106 Symbol appearance probability calculation unit 111 Loss function definition unit 112 Parameter estimation unit 121 RNN language model storage unit

Claims (7)

入力層と、再帰結合したニューロンを有する中間層と、出力層と、を有するニューラルネットワークモデルを用いて言語確率を算出する言語確率算出方法であって、
記号を表すベクトルを順次読み込む記号ベクトル読込工程と、
前記記号ベクトル読込工程によって前記ベクトルが読み込まれるたびに、前記ベクトルを基に前記入力層における活性度ベクトルを算出する入力層活性度ベクトル算出工程と、
前記入力層活性度ベクトル算出工程によって前記入力層における活性度ベクトルが算出されるたびに、前記中間層において前回算出された活性度ベクトルと、前記入力層における活性度ベクトルとを基に前記中間層における活性度ベクトルを算出する中間層活性度ベクトル算出工程と、
前記中間層における活性度ベクトルのうち、所定回数前までに算出された活性度ベクトルの平均である平均活性度ベクトルを算出する平均活性度ベクトル算出工程と、
前記中間層活性度ベクトル算出工程によって前記中間層における活性度ベクトルが算出されるたびに、前記中間層における活性度ベクトルと、前記中間層における前記平均活性度ベクトルとを基に前記出力層における活性度ベクトルを算出する出力層活性度ベクトル算出工程と、
前記出力層における活性度ベクトルを基に所定の記号の出現確率を算出する記号出現確率算出工程と、
を含んだことを特徴とする言語確率算出方法。
A language probability calculation method for calculating a language probability using a neural network model having an input layer, an intermediate layer having recursively coupled neurons, and an output layer,
A symbol vector reading step for sequentially reading vectors representing symbols;
An input layer activity vector calculation step of calculating an activity vector in the input layer based on the vector each time the vector is read by the symbol vector reading step;
Each time an activity vector in the input layer is calculated by the input layer activity vector calculation step, the intermediate layer is based on the activity vector previously calculated in the intermediate layer and the activity vector in the input layer. An intermediate layer activity vector calculation step of calculating an activity vector in
An average activity vector calculating step of calculating an average activity vector that is an average of the activity vectors calculated up to a predetermined number of times among the activity vectors in the intermediate layer;
Each time the activity vector in the intermediate layer is calculated by the intermediate layer activity vector calculation step, the activity in the output layer is based on the activity vector in the intermediate layer and the average activity vector in the intermediate layer. An output layer activity vector calculation step for calculating a degree vector;
A symbol appearance probability calculating step of calculating an appearance probability of a predetermined symbol based on an activity vector in the output layer;
A language probability calculation method comprising:
前記平均活性度ベクトル算出工程は、前記所定回数を変化させて複数の平均活性度ベクトルを算出し、
前記出力層活性度ベクトル算出工程は、前記中間層における活性度ベクトルおよび前記中間層における前記複数の平均活性度ベクトルのそれぞれの重み付きの和を前記出力層における活性度ベクトルとして算出することを特徴とする請求項1に記載の言語確率算出方法。
The average activity vector calculating step calculates a plurality of average activity vectors by changing the predetermined number of times,
The output layer activity vector calculation step calculates a weighted sum of the activity vector in the intermediate layer and the plurality of average activity vectors in the intermediate layer as the activity vector in the output layer. The language probability calculation method according to claim 1.
学習データを用いて、前記重み付きの和における重みをパラメータとする損失関数を定義する損失関数定義工程と、
前記損失関数が最小となるように前記パラメータを推定するパラメータ推定工程と、
をさらに含んだことを特徴とする請求項2に記載の言語確率算出方法。
A loss function defining step for defining a loss function using the weight in the weighted sum as a parameter, using learning data;
A parameter estimation step for estimating the parameter so that the loss function is minimized;
The language probability calculation method according to claim 2, further comprising:
複数の中間層を有し、
前記中間層活性度ベクトル算出工程は、前記入力層活性度ベクトル算出工程によって前記入力層における活性度ベクトルが算出されるたびに、前記中間層において前回算出された活性度ベクトルと、前記中間層の下の中間層における活性度ベクトルと、該中間層における前記平均活性度ベクトルとを基に前記中間層における活性度ベクトルを算出することを特徴とする請求項1から3のいずれか1項に記載の言語確率算出方法。
Having a plurality of intermediate layers,
In the intermediate layer activity vector calculation step, whenever the activity vector in the input layer is calculated by the input layer activity vector calculation step, the activity vector previously calculated in the intermediate layer and the intermediate layer 4. The activity vector in the intermediate layer is calculated based on the activity vector in the lower intermediate layer and the average activity vector in the intermediate layer. 5. Language probability calculation method.
入力された音声信号に合致する文の候補である複数の候補文を作成する候補文作成工程と、
前記候補文ごとの前記音声信号との音響的な一致度を表す音響スコアを算出する音響スコア算出工程と、をさらに含み、
前記記号ベクトル読込工程は、前記候補文を構成する単語を表すベクトルを順次読み込み、
記号出現確率算出工程によって算出された前記出現確率を基に前記候補文ごとの言語スコアを算出する言語スコア算出工程と、
前記候補文のうち、前記音響スコアと前記言語スコアとの合計が最も大きい候補文を前記音声信号に合致する文として抽出する認識結果抽出工程と、
をさらに含んだことを特徴とする請求項1から4のいずれか1項に記載の言語確率算出方法。
A candidate sentence creation step of creating a plurality of candidate sentences that are sentence candidates that match the input speech signal;
An acoustic score calculation step of calculating an acoustic score representing an acoustic coincidence with the voice signal for each candidate sentence, and
The symbol vector reading step sequentially reads a vector representing words constituting the candidate sentence,
A language score calculating step of calculating a language score for each candidate sentence based on the appearance probability calculated by the symbol appearance probability calculating step;
A recognition result extraction step of extracting a candidate sentence having the largest sum of the acoustic score and the language score as a sentence matching the voice signal among the candidate sentences;
The language probability calculation method according to claim 1, further comprising:
入力層と、再帰結合したニューロンを有する中間層と、出力層と、を有するニューラルネットワークモデルを用いて言語確率を算出する言語確率算出装置であって、
記号を表すベクトルを順次読み込む記号ベクトル読込部と、
前記記号ベクトル読込部によって前記ベクトルが読み込まれるたびに、前記ベクトルを基に前記入力層における活性度ベクトルを算出する入力層活性度ベクトル算出部と、
前記入力層活性度ベクトル算出部によって前記入力層における活性度ベクトルが算出されるたびに、前記中間層において前回算出された活性度ベクトルと、前記入力層における活性度ベクトルとを基に前記中間層における活性度ベクトルを算出する中間層活性度ベクトル算出部と、
前記中間層における活性度ベクトルのうち、所定回数前までに算出された活性度ベクトルの平均である平均活性度ベクトルを算出する平均活性度ベクトル算出部と、
前記中間層活性度ベクトル算出部によって前記中間層における活性度ベクトルが算出されるたびに、前記中間層における活性度ベクトルと、前記中間層における前記平均活性度ベクトルとを基に前記出力層における活性度ベクトルを算出する出力層活性度ベクトル算出部と、
前記出力層における活性度ベクトルを基に所定の記号の出現確率を算出する記号出現確率算出部と、
を有することを特徴とする言語確率算出装置。
A language probability calculation device that calculates a language probability using a neural network model having an input layer, an intermediate layer having recursively coupled neurons, and an output layer,
A symbol vector reading unit for sequentially reading vectors representing symbols;
An input layer activity vector calculation unit that calculates an activity vector in the input layer based on the vector each time the vector is read by the symbol vector reading unit;
Each time the activity vector in the input layer is calculated by the input layer activity vector calculation unit, the intermediate layer based on the activity vector previously calculated in the intermediate layer and the activity vector in the input layer An intermediate layer activity vector calculation unit for calculating an activity vector in
An average activity vector calculation unit that calculates an average activity vector that is an average of activity vectors calculated up to a predetermined number of times among the activity vectors in the intermediate layer;
Each time the activity vector in the intermediate layer is calculated by the intermediate layer activity vector calculation unit, the activity in the output layer is based on the activity vector in the intermediate layer and the average activity vector in the intermediate layer. An output layer activity vector calculation unit for calculating a degree vector;
A symbol appearance probability calculating unit that calculates an appearance probability of a predetermined symbol based on an activity vector in the output layer;
A language probability calculation apparatus comprising:
コンピュータを、請求項6に記載の言語確率算出装置として機能させるための言語確率算出プログラム。   A language probability calculation program for causing a computer to function as the language probability calculation device according to claim 6.
JP2015249375A 2015-12-22 2015-12-22 Language probability calculation method, language probability calculation device, and language probability calculation program Active JP6495814B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015249375A JP6495814B2 (en) 2015-12-22 2015-12-22 Language probability calculation method, language probability calculation device, and language probability calculation program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015249375A JP6495814B2 (en) 2015-12-22 2015-12-22 Language probability calculation method, language probability calculation device, and language probability calculation program

Publications (2)

Publication Number Publication Date
JP2017117045A true JP2017117045A (en) 2017-06-29
JP6495814B2 JP6495814B2 (en) 2019-04-03

Family

ID=59234814

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015249375A Active JP6495814B2 (en) 2015-12-22 2015-12-22 Language probability calculation method, language probability calculation device, and language probability calculation program

Country Status (1)

Country Link
JP (1) JP6495814B2 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019035936A (en) * 2017-08-14 2019-03-07 三星電子株式会社Samsung Electronics Co.,Ltd. Method and apparatus for recognition using neural network, and training method and electronic apparatus
JP2020027224A (en) * 2018-08-17 2020-02-20 日本電信電話株式会社 Apparatus for calculating language model score, learning apparatus, method for calculating language model score, learning method, and program
WO2020162240A1 (en) * 2019-02-08 2020-08-13 日本電信電話株式会社 Language model score calculation device, language model creation device, methods therefor, program, and recording medium
JP2020135546A (en) * 2019-02-21 2020-08-31 京セラドキュメントソリューションズ株式会社 Information processing apparatus and trouble estimation method
CN111768756A (en) * 2020-06-24 2020-10-13 华人运通(上海)云计算科技有限公司 Information processing method, information processing apparatus, vehicle, and computer storage medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04117560A (en) * 1990-09-07 1992-04-17 Fujitsu Ltd Clause/phrase boundary extracting system
JPH04156660A (en) * 1990-10-20 1992-05-29 Fujitsu Ltd Neural network learning device having past hystory preservation function
JPH05174051A (en) * 1991-12-26 1993-07-13 Fujitsu Ltd Spelling-phonetic symbol conversion processing system and exceptional word dictionary managing data registration processing system
JP2015075706A (en) * 2013-10-10 2015-04-20 日本放送協会 Error correction model learning device and program

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04117560A (en) * 1990-09-07 1992-04-17 Fujitsu Ltd Clause/phrase boundary extracting system
JPH04156660A (en) * 1990-10-20 1992-05-29 Fujitsu Ltd Neural network learning device having past hystory preservation function
JPH05174051A (en) * 1991-12-26 1993-07-13 Fujitsu Ltd Spelling-phonetic symbol conversion processing system and exceptional word dictionary managing data registration processing system
JP2015075706A (en) * 2013-10-10 2015-04-20 日本放送協会 Error correction model learning device and program

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019035936A (en) * 2017-08-14 2019-03-07 三星電子株式会社Samsung Electronics Co.,Ltd. Method and apparatus for recognition using neural network, and training method and electronic apparatus
JP7170405B2 (en) 2017-08-14 2022-11-14 三星電子株式会社 Recognition method, device and training method using neural network
JP2020027224A (en) * 2018-08-17 2020-02-20 日本電信電話株式会社 Apparatus for calculating language model score, learning apparatus, method for calculating language model score, learning method, and program
WO2020035998A1 (en) * 2018-08-17 2020-02-20 日本電信電話株式会社 Language-model-score calculation device, learning device, method for calculating language model score, learning method, and program
WO2020162240A1 (en) * 2019-02-08 2020-08-13 日本電信電話株式会社 Language model score calculation device, language model creation device, methods therefor, program, and recording medium
JP2020129061A (en) * 2019-02-08 2020-08-27 日本電信電話株式会社 Language model score calculation device, language model generation device, method thereof, program and recording medium
JP7120064B2 (en) 2019-02-08 2022-08-17 日本電信電話株式会社 Language model score calculation device, language model creation device, methods thereof, program, and recording medium
JP2020135546A (en) * 2019-02-21 2020-08-31 京セラドキュメントソリューションズ株式会社 Information processing apparatus and trouble estimation method
JP7314526B2 (en) 2019-02-21 2023-07-26 京セラドキュメントソリューションズ株式会社 Information processing device and defect estimation method
CN111768756A (en) * 2020-06-24 2020-10-13 华人运通(上海)云计算科技有限公司 Information processing method, information processing apparatus, vehicle, and computer storage medium
CN111768756B (en) * 2020-06-24 2023-10-20 华人运通(上海)云计算科技有限公司 Information processing method, information processing device, vehicle and computer storage medium

Also Published As

Publication number Publication date
JP6495814B2 (en) 2019-04-03

Similar Documents

Publication Publication Date Title
JP6637078B2 (en) Acoustic model learning device, acoustic model learning method and program
JP6495814B2 (en) Language probability calculation method, language probability calculation device, and language probability calculation program
CN108346436B (en) Voice emotion detection method and device, computer equipment and storage medium
KR102167719B1 (en) Method and apparatus for training language model, method and apparatus for recognizing speech
US10580432B2 (en) Speech recognition using connectionist temporal classification
JP2017228160A (en) Dialog act estimation method, dialog act estimation device, and program
JP2019537809A (en) Pointer sentinel mixed architecture
WO2015079885A1 (en) Statistical-acoustic-model adaptation method, acoustic-model learning method suitable for statistical-acoustic-model adaptation, storage medium in which parameters for building deep neural network are stored, and computer program for adapting statistical acoustic model
EP0313975A2 (en) Design and construction of a binary-tree system for language modelling
CN113435208B (en) Training method and device for student model and electronic equipment
JP6831343B2 (en) Learning equipment, learning methods and learning programs
CN112232087B (en) Specific aspect emotion analysis method of multi-granularity attention model based on Transformer
US20220067280A1 (en) Multi-token embedding and classifier for masked language models
US20220382978A1 (en) Training masked language models based on partial sequences of tokens
JP2019095600A (en) Acoustic model learning device, speech recognition device, and method and program for them
CN114626518A (en) Knowledge distillation using deep clustering
JP2017010249A (en) Parameter learning device, sentence similarity calculation device, method, and program
KR102292921B1 (en) Method and apparatus for training language model, method and apparatus for recognizing speech
Tan et al. Towards implicit complexity control using variable-depth deep neural networks for automatic speech recognition
Andrew et al. Sequential deep belief networks
JP6605997B2 (en) Learning device, learning method and program
JP2020095732A (en) Dialogue action estimation method, dialogue action estimation device and program
US11954448B2 (en) Determining position values for transformer models
Tascini Al-Chatbot: elderly aid
JP6612796B2 (en) Acoustic model learning device, speech recognition device, acoustic model learning method, speech recognition method, acoustic model learning program, and speech recognition program

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20180309

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180312

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20180309

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190124

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: 20190305

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190307

R150 Certificate of patent or registration of utility model

Ref document number: 6495814

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150