JPH0465396B2 - - Google Patents
Info
- Publication number
- JPH0465396B2 JPH0465396B2 JP62061735A JP6173587A JPH0465396B2 JP H0465396 B2 JPH0465396 B2 JP H0465396B2 JP 62061735 A JP62061735 A JP 62061735A JP 6173587 A JP6173587 A JP 6173587A JP H0465396 B2 JPH0465396 B2 JP H0465396B2
- Authority
- JP
- Japan
- Prior art keywords
- word
- point
- cumulative value
- recurrence formula
- pattern
- 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.)
- Expired
Links
Landscapes
- Image Processing (AREA)
Description
【発明の詳細な説明】
(産業上の利用分野)
本発明は人間が発声した音声を自動認識する音
声認識等の主要処理であるパタースマツチング方
式に関する。DETAILED DESCRIPTION OF THE INVENTION (Field of Industrial Application) The present invention relates to a pattern matching method, which is a main processing such as speech recognition, which automatically recognizes speech uttered by a human being.
(従来の技術)
音声認識のパターンマツチングに関しては種々
の技術が開発されているが、それらの中で最も重
用されているものの一つとして「日本音響学会誌
第42巻9号(昭和61年9月発行の第725頁」に記
載される如きDPマツチング法がある。これは音
声の時間軸歪を整合する手法として極めて有効と
されている。また、DPマツチング法を連続単語
認識に拡張したものとして、特願昭56−199098号
明細書に記載されるが如きクロツクワイズDP法
がある。この手法は構文制御を有する連続単語認
識法として説明されているが、その特殊形として
当然離散単語認識をも包含している。ここでは簡
単のため離散単語認識の形式で、クロツクワイズ
DP法の要部を説明する。(Prior art) Various technologies have been developed regarding pattern matching for speech recognition, but one of the most heavily used among them is the one published in ``Journal of the Acoustical Society of Japan, Vol. 42, No. 9 (1986). There is a DP matching method as described in "Page 725 of the September issue. This is considered to be extremely effective as a method for matching time axis distortion of speech. Also, the DP matching method was extended to continuous word recognition. One such method is the Clockwise DP method as described in the specification of Japanese Patent Application No. 199098.This method is described as a continuous word recognition method with syntactic control, but its special form is of course discrete word recognition. For simplicity, we will use the form of discrete word recognition.
Explain the main parts of the DP method.
単語名を番号nで指定することとして
{n|n=1、2、…N}
なる単語セツトを認識対象とする。各単語に標準
パターン
Bn=〓1 n、〓2 n、…〓j n…〓n Jo
を考える。ここにjは時刻を示し、〓j nは標準パ
ターンBnの時刻jの特徴を意味する。入力音声
パターンを同様に
A=a|1、a|2…a|i…a|I
と示す。 Assuming that word names are designated by numbers n, a set of words {n|n=1, 2, . . . N} is to be recognized. Consider the standard pattern B n =〓 1 n , 〓 2 n , …〓 j n …〓 n Jo for each word. Here, j indicates time, and 〓 j n means the characteristic of standard pattern B n at time j. The input speech patterns are similarly expressed as A=a| 1 , a| 2 ...a| i ...a| I.
音声認識は、入力パターンAと標準パターン
Bnとのパターン間距離D(A、Bn)を求め、それ
が最小となるnを定め、認識結果とすることによ
つて行なわれる。 Speech recognition uses input pattern A and standard pattern
This is done by finding the inter-pattern distance D (A, B n ) with respect to B n , determining n at which it is the minimum, and using this as the recognition result.
DPマツチングではこのパターン間距離の計算
を一例として次のような動的計画法計算によつて
行なう。 In DP matching, the distance between patterns is calculated by the following dynamic programming calculation, for example.
Γ初期条件
gn(1、1)=dn(1、1) ……(1)
Γ漸化式
gn(i、j)=dn(i、j)+mingn(i−1
、j)
gn(i−1、j−1)
gn(i−1、j−2) ……(2)
i=1、2、…I
j=1、2、…J
Γパターン間距離
D(A、Bn)=gn(I、Jn) ……(3)
ここにdn(i、j)は特徴a|iと〓j nの距離dn
(i、j)=‖a|i−〓j n‖である。これを積分した
形式となる。gn(i、j)を最適累積距離と呼ぶ。Γ initial condition g n (1, 1) = d n (1, 1) ...(1) Γ recurrence formula g n (i, j) = d n (i, j) + ming n (i-1
, j) g n (i-1, j-1) g n (i-1, j-2) ...(2) i=1, 2, ...I j=1, 2, ...J Γ pattern distance D (A, B n ) = g n (I, J n ) ...(3) Here, d n (i, j) is the distance d n between feature a | i and 〓 j n
(i, j)=‖a| i −〓 j n ‖. This is the integral form. g n (i, j) is called the optimal cumulative distance.
このDPマツチング処理は当初、単語ごとに実
行されていたが、クロツクワイズDP法では各単
語に対して並列的に実行される形式に改良され
た。すなわち、第1図のような、i,j,nが張
る空間において入力パターンの各時刻iにおい
て、各標準パターンBnの指定nと、それらの中
のjのすべての組み合わせで指定されるn、に対
してgn(i、j)なる最適累積値を計算し、しか
る後に時刻iを進めて処理を実行するという方式
になつている。 Initially, this DP matching process was executed for each word, but in the Crotwise DP method, it has been improved to a format in which it is executed for each word in parallel. That is, at each time i of the input pattern in the space spanned by i, j, and n as shown in Figure 1, the n specified by the specification n of each standard pattern B n and all the combinations of j among them. , the optimal cumulative value g n (i, j) is calculated for , and the process is then executed by advancing time i.
実際の計算においては図の空間のすべてのワー
クエリアを用意する必要はなく、i方向に関して
は、時刻iとi−1の2時刻分があれば(2)式の計
算を進めることができる。このような方法は、入
力パターンの特徴a|iの入力に同期して処理を進
めることができるので、発声と並行して認識のた
めの計算を進行することができ、実時間性が良い
とされている。 In the actual calculation, it is not necessary to prepare the entire work area in the space shown in the figure, and in the i direction, the calculation of equation (2) can proceed as long as there are two times, i and i-1. In this method, processing can proceed in synchronization with the input of the input pattern feature a | has been done.
(発明が解決しようとする問題点)
しかし、この方法を大語いの認識に適用しよう
とすると計算量が大となるという問題がある。(2)
式の漸化式はiの1サイクル内で、nとjのすべ
ての組合せについて実行しなくてはならない。標
準パターン長がJn=30で、1000語を認識しようと
すると、3×104の点で(2)式を計算することにな
る。1点あたり10μsで実行したとしても300ms
を要する。通常の音声認識ではiの量子化は20μs
程度で行なわれるので、このような大語いでは実
時間実行はとても不可能である。(Problems to be Solved by the Invention) However, when this method is applied to recognizing large words, there is a problem in that the amount of calculation becomes large. (2)
The recurrence formula must be executed for all combinations of n and j within one cycle of i. If the standard pattern length is J n =30 and an attempt is made to recognize 1000 words, equation (2) will be calculated using 3×10 4 points. Even if it is executed at 10μs per point, it will take 300ms
It takes. In normal speech recognition, the quantization of i is 20μs
Real-time execution is quite impossible with such a large term.
本発明はクロツクワイズ型DPマツチングの有
する計算量が多いという上記欠点を改良して、高
速で大語い認識が可能でありながら低価格な音声
認識装置のパターンマツチング方式を提供するこ
とを目的とする。 An object of the present invention is to provide a pattern matching method for a speech recognition device that is capable of recognizing large words at high speed and at low cost, by improving the above-mentioned drawback that the clockwise type DP matching has a large amount of calculation. do.
(問題点を解決するための手段)
本発明によるパターンマツチング方式は、上記
クロツクワイズ型のDPマツチングの(2)式の漸化
式計算を実行するに当り、過去に計算された最適
累積値に基づいて新たな最適累積値gn(i、j)
を計算する点(n、j)を制限し、かつ各(n、
j)点における漸化式計算処理を、その近傍で計
算が実行された点(n′、j′)との相互関係に基づ
いて制御することを特徴とする。(Means for Solving the Problems) The pattern matching method according to the present invention uses the optimal cumulative value calculated in the past when executing the recurrence formula calculation of equation (2) of the above clockwise type DP matching. Based on the new optimal cumulative value g n (i, j)
We limit the points (n, j) at which we calculate and each (n,
The method is characterized in that the recurrence formula calculation process at point j) is controlled based on the mutual relationship with points (n', j') for which calculations were performed in the vicinity.
(作用・原理)
元来DPマツチングは第1図の如きn、i、j
が張る空間において、各単語ごとに、(1、1)
点から(I、Jn)点に至る経路でdn(i、j)の
総和、すなわち累積値が最小となるものを探索す
るものである。この過程で計算される最適累積値
gn(i、j)は、単語nの(1、1)点から(i、
j)点に至る距離dn(i、j)の累積値を与えて
いる。したがつてgn(i、j)の値が大であると
いうことはこの点(i、j)が最適経路上にある
可能性が低いことを意味する。本発明の第1の特
徴はgn(i、j)が大となると予測される場合に
は、DPの漸化式計算を省略することによつて高
速化を図る点にある。(Operation/Principle) Originally, DP matching was based on n, i, j as shown in Figure 1.
For each word in the space spanned by (1, 1)
This is a search for a path from a point to a point (I, J n ) that minimizes the sum of d n (i, j), that is, the cumulative value. The optimal cumulative value calculated in this process
g n (i, j) is from the (1, 1) point of word n to (i,
j) The cumulative value of the distance d n (i, j) to the point is given. Therefore, a large value of g n (i, j) means that this point (i, j) is unlikely to be on the optimal route. The first feature of the present invention is that when g n (i, j) is predicted to be large, speeding up is achieved by omitting the calculation of the DP recurrence formula.
具体的には第2図に示すように、過去のクロツ
ク(i−1)で計算された最適累積値gn(i、j)
を所定の基準で検定し、その値が小である(n、
j)の点の集合w(図に○で表示)を定め、新た
な最適累積値gn(i、j)を算出するための(2)式
の漸化式計算は、これらの点の近傍のみで行なう
ものとする。 Specifically, as shown in Figure 2, the optimal cumulative value g n (i, j) calculated at the past clock (i-1)
is tested according to a predetermined standard, and the value is small (n,
j), and calculate the new optimal cumulative value g n (i, j) using the recurrence formula of equation (2). It shall be carried out by only one person.
しかし、この方法をこのまま実行しようとする
第3図のような問題が残る。この図は単語nの
(i、j)点の近傍を拡大した図である。参照数
字1で示す孤立した点gn(i−1、j)が集合w
に含まれていたとする。(2)式の漸化式計算を行な
うとすると、このgn(i−1、j)は参照数字2,
3,4で示す3点の最適累積値、すなわちgn(i、
j)、gn(i、j+1)、gn(i、j+2)に影響を
及ぼす。したがつて、これら3点での漸化式計算
を行なう必要があるが、(2)式をそのまま実行した
のでは効率が悪い。なぜならば(i−1、j)の
近傍ではこの点だけが集合wに含まれていること
から
gn(i−1、j)<gn(i−1、k) ……(4)
k=j−2、j−1、j+1、j+2
であり、(2)式の漸化式計算結果が
gn(i、j)=dn(i、j)+gn(i−
1、j)
gn(i、j)=dn(i、j)+gn(i−
1、j)
gn(i、j+1)=dn(i、j+1)+gn(i−1
、j)
gn(i、j)=dn(i、j)+gn(i−
1、j)
gn(i、j+1)=dn(i、j+1)+gn(i−1
、j)
gn(i、j+2)=dn(i、j+2)+gn(i−1
、j)……(5)
となるのは自明であるからである。それにもかか
わらず、(2)式をそのまま計算するのは不利であ
り、特に参照数字5,6,1,7,8のgn(i−
1、k)に対する3×3=9回のメモリアクセス
は処理速度を低下させる。 However, if this method is attempted to be carried out as is, the problem as shown in FIG. 3 remains. This figure is an enlarged view of the vicinity of point (i, j) of word n. Isolated points g n (i-1, j) indicated by reference number 1 are set w
Suppose that it was included in When calculating the recurrence formula of equation (2), this g n (i-1, j) is the reference number 2,
The optimal cumulative value of the three points indicated by 3 and 4, that is, g n (i,
j), g n (i, j+1), and g n (i, j+2). Therefore, it is necessary to calculate the recurrence formula at these three points, but it is inefficient to execute equation (2) as is. This is because in the vicinity of (i-1, j), only this point is included in the set w, so g n (i-1, j) < g n (i-1, k) ...(4) k = j-2, j-1, j+1, j+2, and the recurrence formula calculation result of equation (2) is g n (i, j) = d n (i, j) + g n (i-
1, j) g n (i, j) = d n (i, j) + g n (i-
1, j) g n (i, j+1)=d n (i, j+1)+g n (i-1
, j) g n (i, j) = d n (i, j) + g n (i-
1, j) g n (i, j+1)=d n (i, j+1)+g n (i-1
, j) g n (i, j+2)=d n (i, j+2)+g n (i-1
, j)...(5) is obvious. Nevertheless, it is disadvantageous to calculate equation (2) as is, especially g n (i−
1,k) 3×3=9 memory accesses reduces processing speed.
以上では集合wに含まれる点がその近傍で完全
に孤立している場合の例を上げたが、同様のこと
は、集合wに含まれる点の近傍の点との関係にお
いて、程度の差こそあれ生じる。本発明は集合w
に含まれる点の近傍の相互関係によつて漸化式計
算を制御することによつて効率良くクロツクワイ
ズ型のDPマツチングを実行することを第2の特
徴とする。 In the above, we have given an example where a point included in the set w is completely isolated in its vicinity, but the same thing can be said to be that there is a difference in degree in the relationship between a point included in the set w and its neighboring points. That happens. The present invention is a set w
The second feature is that clockwise-type DP matching can be efficiently executed by controlling recurrence formula calculations based on the mutual relationships in the vicinity of points included in the method.
DP漸化式の例とし(2)式を考える。(n、j)∈
wとし、その直前に処理を行なつた点を(n′、j′)
∈wとする。いま漸化式計算を実行するプロセツ
サに密に結合されたレジスタR0、R1とR2をワー
クエリアとして考える。このとき(n、j)と
(n′、j′)との相互関係によつて制御される計算処
理の例は次のごとくである。 Consider equation (2) as an example of a DP recurrence equation. (n,j)∈
Let w and the point processed immediately before that point be (n′, j′)
Let ∈w. Now consider the registers R0, R1, and R2, which are tightly coupled to the processor that executes the recurrence formula calculation, as work areas. An example of calculation processing controlled by the mutual relationship between (n, j) and (n', j') is as follows.
(A) n≠n′のとき
(A) n≠n′のとき
min(R1、R2)+dn′(i、j′+1)→gn′(i、
j′+1)
R1+dn′(i、j′+2)→gn′(i、j′+2)
gn(i−1、j)→R1
R1+dn(i、j)→gn(i、j)
∞→R2
n→n′、j→j′ ……(6−1)
(B) n−n′、j−j′>2のとき
(B) n−n′、j−j′>2のとき
min(R1、R2)+dn(i、j′+1)→gn′(i、j
′+1)
R1+dn(i、j′+2)→gn′(i、j′+2)
gn′(i−1、j)→R1
R1+dn(i、j)→gn(i、j)
∞→R2
j→j′ ……(6−2)
(C) n=n′、j−j′=2のとき
(C) n=n′、j−j′=2のとき
min(R1、R2)+dn(i、j′+1)→gn(i、j′
+1)
gn(i−j、j)→R0
min(R0、R1)+dn(i、j)→gn(i、j)
R0→R1
∞→R2
j→j′ ……(6−3)
(D) j−j′=1のとき
gn(i−1、j)→R0
min(R0、R1、R2)+dn(i、j)→gn(i、j)
R1→R2
R0→R1
j→j′ ……(6−4)
以上の各処理の始まる時点では、手続(6−
1)における、、、手続(6−2)におけ
る、、、手続(6−3)における、、
、手続(6−4)における、、の処理か
ら分るように、n′、j′には前回処理を行なつた
(n′、j′)点の情報が含まれ、R1にはgn(i−1、
j′)、R2にはgn′(i−1、j′−1)が記憶された状
態になつている。 (A) When n≠n′ (A) When n≠n′ min(R1, R2)+d n ′(i, j′+1)→g n ′(i,
j′+1) R1+d n ′(i, j′+2)→g n ′(i, j′+2) g n (i−1, j)→R1 R1+d n (i, j)→g n (i, j ) ∞→R2 n→n′, j→j′ ……(6-1) (B) When n−n′, j−j′>2 (B) n−n′, j−j′>2 When min(R1, R2) + d n (i, j′+1) → g n ′(i, j
′+1) R1+d n (i, j′+2)→g n ′(i, j′+2) g n ′(i−1, j)→R1 R1+d n (i, j)→g n (i, j) ∞→R2 j→j′ ……(6-2) (C) When n=n′, j−j′=2 (C) When n=n′, j−j′=2 min(R1, R2) + d n (i, j'+1) → g n (i, j'
+1) g n (i-j, j) → R0 min (R0, R1) + d n (i, j) → g n (i, j) R0 → R1 ∞ → R2 j → j' ... (6-3 ) (D) When j-j'=1 g n (i-1, j) → R0 min (R0, R1, R2) + d n (i, j) → g n (i, j) R1 → R2 R0 →R1 j→j′ ...(6-4) At the start of each of the above processes, procedure (6-
In 1), in procedure (6-2), in procedure (6-3),
As can be seen from the processing of , in procedure (6-4), n', j' contain information about the previously processed point (n', j'), and R1 contains g n (i-1,
j') and R2 stores g n '(i-1, j'-1).
上記(A)は単語が切り替つた場合の処理で、直前
に処理していた単語n′に対して手続(6−1)の
、の処理を行なう。このとき、R1にはgn(i
−1、j′)が、R2にはgn(i−1、j′−1)が含ま
れている。(2)式に照し合わせて、これらのデータ
から計算可能なのはgn′(i、j′+1)とgn′(i、
j′+2)であることが分かる。それゆえ、これら
のレジスタ内のデータを基にして、
gn′(i、j′+1)=dn(i、j′+1)+
mingn′(i、j′)
gn′(i、j′−1) ……(7)
と、
gn′(i、j′+2)=dn(i、j′+2)+gn′(i、j′) ……(8)
なる形で(2)式を簡略化して計算を行なう。続いて
(n、j)点に対する処理を行なう。R1にgn(i
−1、を読み出す。(n、j−1)、(n、j−2)
は集合wに含まれていないので、gn(i、j)は
このデータのみで確定するとしてが実行され
る。やはり、(n、j−1)が集合wに含まれて
いないことからgn(i−1、j−1)=∞とみなし
てR2には∞をセツトしておく。 The above (A) is the process when the word is switched, and the process of procedure (6-1) is performed for the word n' that was being processed immediately before. At this time, R1 has g n (i
-1, j'), and R2 contains g n (i-1, j'-1). According to equation (2), what can be calculated from these data are g n ′(i, j′+1) and g n ′(i, j′+1).
j′+2). Therefore, based on the data in these registers, g n ′(i, j′+1)=d n (i, j′+1)+
ming n ′(i, j′) g n ′(i, j′−1) …(7) and g n ′(i, j′+2)=d n (i, j′+2)+g Calculation is performed by simplifying equation (2) in the form n ′(i, j′) ……(8). Subsequently, processing is performed on point (n, j). In R1 g n (i
-1, is read out. (n, j-1), (n, j-2)
is not included in the set w, so it is assumed that g n (i, j) is determined only by this data. Again, since (n, j-1) is not included in the set w, it is assumed that g n (i-1, j-1) = ∞, and ∞ is set in R2.
上記(B)は同一単語でjがj′より2以上離れてい
る場合であるが、処理の内容は(a)の場合と類似し
ている。(n=n′とすればまつたく同じ)ので説
明を省略する。 The above (B) is a case where j is two or more away from j' for the same word, but the content of the processing is similar to the case (a). (If n=n', it is the same again), so the explanation will be omitted.
上記の(C)は同一単語でjがj′と2だけ離れてい
る場合である。このときR1にはgn(i−1、j′)、
R2にはgn(i−1、j′−1)が記憶されている。
(n、j′+1)が集合wに含まれないことから、
gn(i、j′+1)はこれらの2データより決定さ
れるゆえによつて
gn(i、j′+1)=mingn(i−1、j′)
gn(i−1、j′−1)
……(9)
なる形で(2)式を簡略化して実行する。次いでR0
にgn(i、j)を読み出す。(n、j−1)が集合
wに含まれていないこと、R1にgn(i−1、j′)
としてgn(i−1、j−2)が記憶されているこ
とからによつて
gn(i、j)=mingn(i−1、j)
gn(i−1、j−2) ……(10)
なる(2)式の簡略形を実行する。によつてR1に
gn(i−1、j)をセツトし、によつて集合w
に含まれないgn(i−1、j−1)に代わるもの
として∞をR2にセツトする。 (C) above is the case where j is the same word and j is separated by 2 from j'. At this time, R1 has g n (i-1, j'),
G n (i-1, j'-1) is stored in R2.
Since (n, j′+1) is not included in the set w,
Since g n (i, j'+1) is determined from these two data, g n (i, j'+1)=ming n (i-1, j') g n (i-1, j' -1)
...(9) Simplify and execute equation (2) in the form. Then R0
Read out g n (i, j). (n, j-1) is not included in the set w, and in R1 g n (i-1, j')
Since g n (i-1, j-2) is stored as g n (i, j) = ming n (i-1, j) g n (i-1, j-2) ...(10) Execute the simplified form of equation (2). to R1 by
Set g n (i-1, j) and set w by
∞ is set in R2 as a replacement for g n (i-1, j-1) which is not included in .
最後の(D)は、同一単語でjとj′が1だけ離れて
いる場合、すなわち連続している場合である。
によつてR0にgn(i−1、j)を読み出した後、
によつて(2)式をそのまま実行する。、によ
つてR1にはgn(i−1、j)が、R2にはgn(i−
1、j−1)がセツトされる。 The last case (D) is the case where j and j' are the same word and are separated by 1, that is, they are continuous.
After reading g n (i-1, j) into R0 by
Expression (2) is executed as is. , R1 has g n (i-1, j) and R2 has g n (i-
1, j-1) is set.
以上述べた方法によると、多くの場合漸化式(2)
を(7)〜(10)式のように簡略化して計算することがで
き、第3図のような不利を避けることができる。
しかもgn(i−1、j)のメモリへのアクセスは
上記(A)〜(D)のいずれのケースでも各1回であり、
実効的な高速化が可能となる。 According to the method described above, in many cases the recurrence formula (2)
can be calculated by simplifying it as shown in equations (7) to (10), and the disadvantages shown in FIG. 3 can be avoided.
Moreover, the memory of g n (i-1, j) is accessed once in each case of (A) to (D) above.
Effective speeding up becomes possible.
(実施例)
第4図は本発明によるパターンマツチング方式
に基づいた離散単語型の音声認識装置の構成例を
示すブロツク図であり、第5図はその動作を示す
フローチヤートである。マイクロホン10より入
力された音声信号は分析部10によつて周波数分
析され、マイクロプロセツサ30に入力される。
マイクロプロセツサ30には前記の手続(6−
1)〜(6−4)で使用するためのレジスタR0、
R1、R2が内蔵されている。また外部には標準パ
ターンBn=〓1 n、…〓n j、…〓nJoを記憶するため
の標準パターン記憶部40と、gn(i、j)のワ
ークメモりとなるgメモリ50とが接続されてい
る。(Embodiment) FIG. 4 is a block diagram showing a configuration example of a discrete word type speech recognition device based on the pattern matching method according to the present invention, and FIG. 5 is a flowchart showing its operation. The audio signal inputted from the microphone 10 is subjected to frequency analysis by the analysis section 10 and inputted to the microprocessor 30.
The microprocessor 30 performs the above procedure (6-
1) Register R0 for use in (6-4),
Built-in R1 and R2. Also, externally there is a standard pattern storage unit 40 for storing standard patterns B n =〓 1 n , ...〓 n j , ...〓n Jo , and a g memory 50 that serves as a work memory for g n (i, j). are connected.
このgメモリ50は、gn(i−1、j)とgn
(i、j)のための2段分用意され、各単語nご
とにj=1、2、…Jn、Jn+1、Jn+2のアドレ
スを有している。この最後の2個は、手続(6−
1)の処理においてj′−Jn′であつたとき、が
空回りするためのエリアとなるものである。ま
た、n=0に対してはj=0、j=−1の2アド
レスが余分に用意されている。これについては後
で説明する。 This g memory 50 has g n (i-1, j) and g n
Two stages are prepared for (i, j), and each word n has an address of j=1, 2, . . . J n , J n +1, J n +2. These last two are the procedure (6-
In the process of 1), when j' - J n ', becomes the area for idle rotation. Furthermore, for n=0, two extra addresses, j=0 and j=-1, are prepared. This will be explained later.
最初の入力ベクトルa|1が与えらえると、gメ
モリ50内のgn(i−1、j)に対して次のよう
な初期設定が行なわれる。 When the first input vector a| 1 is given, g n (i-1, j) in the g memory 50 is initialized as follows.
gn(1、1)=dn(1、1)
gn(1、j)=∞(j≠1) ……(11)
これらは特願56−199098号明細書第6図aの場
合と同様である。g n (1, 1) = d n (1, 1) g n (1, j) = ∞ (j≠1) ... (11) These are the cases shown in Figure 6 a of the specification of Japanese Patent Application No. 56-199098. It is similar to
一般的に時刻iでは第5図に示す処理が実行さ
れる。まずa|iが入力されるとブロツク100により
gメモリ50内のgn(i、j)のテーブルを総て
∞でリセツトする。これは虫喰い的に漸化式計算
を行なうことにより生じる未定義の累積距離gn
(i、j)が次の時刻i+1で不都合を生じさせ
ないようにするためである。次にn=1、n′=
0、j′=−2なる初期設定がなされる。n′=0、
j′=−2とするのは、このiサイクルで最初に手
続(6−1)の処理が実行されるときとの処
理が、先に説明したg0(i、−1)とg0(i、0)
で空回りできるようにするためである。 Generally, at time i, the process shown in FIG. 5 is executed. First, when a| i is input, the block 100 resets all the tables of g n (i, j) in the g memory 50 to ∞. This is the undefined cumulative distance g n that is generated by performing recurrence formula calculations
This is to prevent (i, j) from causing any inconvenience at the next time i+1. Then n=1, n′=
The initial settings are 0 and j'=-2. n′=0,
The reason for setting j'=-2 is that the processing when the process of procedure (6-1) is executed for the first time in this i cycle is the same as g 0 (i, -1) and g 0 ( i, 0)
This is so that you can spin freely.
一般的な(n、j)に対しては、ブロツク120
でgn(i−1、j)をR0に読み出し、130で閾値
θ(i)との比較を行なう。これは先に述べた集合w
にこの(n、j)が含まれるか否かのテストであ
る。閾値θ(i)はiの単調増加関数として予かじめ
与えられている。R0>θ(i)のときは、このjに
対する処理はすべて省略される。R0<θ(i)のと
きはnとn′、jとj′の関係がテストされ、それぞ
れに応じて(6−1)、(6−3)、(6−4)のい
ずれかの処理がなされる。なお、(6−2)の処
理は本質的に同等な(6−1)とまとめてブロツ
ク140に示している。また、gn(i−1、j)は
120のブロツクでR0に読み出されているので、
(6−1)式の等はR0からの転送でよく、(6
−3)の等は省略してもよい。 For general (n,j), block 120
At step 130, g n (i-1, j) is read out to R0 and compared with the threshold value θ(i). This is the set mentioned earlier lol
This is a test to see whether this (n, j) is included in . The threshold value θ(i) is given in advance as a monotonically increasing function of i. When R0>θ(i), all processing for this j is omitted. When R0<θ(i), the relationship between n and n' and j and j' is tested, and one of (6-1), (6-3), and (6-4) is performed depending on each. will be done. Note that the processing of (6-2) is collectively shown in block 140 with (6-1), which is essentially equivalent. Also, g n (i-1, j) is
Since it is read to R0 in block 120,
Equation (6-1) can be transferred from R0, and (6
-3) etc. may be omitted.
以上の処理をn、jの2重ループとして回すこ
とによつて時刻iのサイクルは終了する。このサ
イクルで計算されたgn(i、j)を過去の最適累
積値gn(i−1、j)として切り替えて次のi+
1のサイクルに移行する。 The cycle at time i is completed by repeating the above processing as a double loop of n and j. Switch g n (i, j) calculated in this cycle as the past optimal cumulative value g n (i-1, j) and use it for the next i+
Shift to cycle 1.
かくして時刻Iまでの処理が行なわれ、入力音
声が終了しi=I+1となつた時点では、各単語
nごとにgメモリ50内にgn(i−1、Jn)とし
てパターン間距離D(A、Bn)が得られる。これ
らを比較して最小となる単語n=n^として認識結
果を定め出力する。 In this way, the processing up to time I is completed, and when the input voice ends and i=I+1, the inter-pattern distance D ( A, B n ) are obtained. These are compared and the recognition result is determined and output as the minimum word n=n^.
以上、本発明の原理を実施例に基づいて述べた
が、これらは本発明の範囲を限定するものではな
い。特に、第3図におけるブロツク130の判定処
理には種々の変形が考えられる。閾値θ(i)の定め
方に関しても、予じめ人手によつて定義しておく
方法の他に、gn(i−1、j)の最小値にリンク
させて設定するなどの変形が考えられ、本発明の
権利範囲に属するものである。 Although the principle of the present invention has been described above based on examples, these do not limit the scope of the present invention. In particular, various modifications can be made to the determination process of block 130 in FIG. Regarding the method of determining the threshold value θ(i), in addition to the method of manually defining it in advance, variations such as setting it by linking it to the minimum value of g n (i-1, j) are considered. and falls within the scope of the present invention.
また以上の説明では、基本的な漸化式として(2)
式を用いたが、「日経エレクトロニクスの1983年
11月7日号第184頁の表1」に記載されるが如き、
種々の変形の漸化式についても本発明の原理は適
用される。さらに本発明は特願昭56−199098記載
のクロツクワイズDP法と同様連続単語認識に利
用できるものである。 In addition, in the above explanation, we use (2) as the basic recurrence formula.
``Nikkei Electronics' 1983
As stated in “Table 1” on page 184 of the November 7th issue,
The principles of the present invention are also applicable to various deformed recurrence formulas. Furthermore, the present invention can be used for continuous word recognition similar to the clockwise DP method described in Japanese Patent Application No. 56-199098.
(発明の効果)
以上述べた本発明の原理によるとDP漸化式の
計算を、必要な(n、j)点のみで、極めて無駄
なく実行することができ、安価かつ高速な音声認
識装置を実現・提供できる。(Effects of the Invention) According to the principle of the present invention described above, the calculation of the DP recurrence formula can be executed with only the necessary (n, j) points without waste, and an inexpensive and high-speed speech recognition device can be realized. Can be realized and provided.
第1図、第2図、第3図は本発明の原理説明
図、第4図は実施例ブロツク図、第5図はその動
作を説明するフローチヤートである。
10……マイクロホン、20……分析部、30
……マイクロプロセツサ、40……標準パターン
記憶部、50……gメモリ。
1, 2, and 3 are diagrams explaining the principle of the present invention, FIG. 4 is a block diagram of an embodiment, and FIG. 5 is a flowchart explaining its operation. 10...Microphone, 20...Analysis department, 30
...Microprocessor, 40...Standard pattern storage unit, 50...g memory.
Claims (1)
Bn=〓1 n…〓j n…〓n Joとして記憶する手段と、入
力音声パターンの特徴a|iを一時保存する手段と、
それぞれの単語nに対応して前記特徴a|iと〓j nと
の距離dn(i、j)の最適累積値gn(i、j)を動
的計画法の漸化式によつて計算する手段とを有
し、各時刻iにて、過去の最適累積値に基づいて
新たな最適累積値gn(i、j)を計算する(n、
j)を制限し、かつ各(n、j)点における漸化
式計算処理を、直前に計算されたnとjの点
(n′、j′)との相互関係で制御することを特徴とす
る高能率パターンマツチング方式。1 Characterize the standard pattern of each word n〓 Time series of j n
means for storing as B n =〓 1 n …〓 j n …〓 n Jo ; means for temporarily storing the feature a| i of the input voice pattern;
Corresponding to each word n, the optimal cumulative value g n (i, j ) of the distance d n (i, j) between the feature a| i and 〓 j n is determined by the recurrence formula of dynamic programming. and calculates a new optimal cumulative value g n (i, j) at each time i based on the past optimal cumulative value (n,
j), and the recurrence formula calculation process at each (n, j) point is controlled by the mutual relationship between the point (n', j') of n and j calculated immediately before. Highly efficient pattern matching method.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP62061735A JPS63226696A (en) | 1987-03-16 | 1987-03-16 | Highly efficient pattern matching system |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP62061735A JPS63226696A (en) | 1987-03-16 | 1987-03-16 | Highly efficient pattern matching system |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS63226696A JPS63226696A (en) | 1988-09-21 |
| JPH0465396B2 true JPH0465396B2 (en) | 1992-10-19 |
Family
ID=13179751
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP62061735A Granted JPS63226696A (en) | 1987-03-16 | 1987-03-16 | Highly efficient pattern matching system |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPS63226696A (en) |
-
1987
- 1987-03-16 JP JP62061735A patent/JPS63226696A/en active Granted
Also Published As
| Publication number | Publication date |
|---|---|
| JPS63226696A (en) | 1988-09-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US9196252B2 (en) | Selective enablement of speech recognition grammars | |
| JP3459712B2 (en) | Speech recognition method and device and computer control device | |
| US5073939A (en) | Dynamic time warping (DTW) apparatus for use in speech recognition systems | |
| JPH0159600B2 (en) | ||
| JPS6223320B2 (en) | ||
| JP2004101901A (en) | Speech interaction system and speech interaction program | |
| JP2980026B2 (en) | Voice recognition device | |
| US6484141B1 (en) | Continuous speech recognition apparatus and method | |
| JPS60211498A (en) | Continuous voice recognition equipment | |
| JPS61118850A (en) | Microprocessor | |
| JPH0582599B2 (en) | ||
| JPH0465396B2 (en) | ||
| JP2000075879A (en) | Speech synthesis method and apparatus | |
| JPH0465397B2 (en) | ||
| JP3094473B2 (en) | Dynamic programming collator | |
| JPH0465395B2 (en) | ||
| Janin et al. | Speechcorder, the portable meeting recorder | |
| US6452517B1 (en) | DSP for two clock cycle codebook search | |
| JP3348735B2 (en) | Pattern matching method | |
| JPH10260831A (en) | Signal processing device | |
| JP2024151738A (en) | PROGRAM, INFORMATION PROCESSING APPARATUS AND INFORMATION PROCESSING METHOD | |
| JPS59117632A (en) | Voice input system | |
| JP2000099077A (en) | Voice recognition device | |
| JPH09179582A (en) | Speech recognition device | |
| JPS6122350B2 (en) |