JP4521631B2 - Storage medium recording tree structure dictionary and language score table creation program for tree structure dictionary - Google Patents

Storage medium recording tree structure dictionary and language score table creation program for tree structure dictionary Download PDF

Info

Publication number
JP4521631B2
JP4521631B2 JP2004074702A JP2004074702A JP4521631B2 JP 4521631 B2 JP4521631 B2 JP 4521631B2 JP 2004074702 A JP2004074702 A JP 2004074702A JP 2004074702 A JP2004074702 A JP 2004074702A JP 4521631 B2 JP4521631 B2 JP 4521631B2
Authority
JP
Japan
Prior art keywords
language score
node
score table
terminal
language
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 - Fee Related
Application number
JP2004074702A
Other languages
Japanese (ja)
Other versions
JP2005265967A (en
Inventor
浩明 小窪
博史 山本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ATR Advanced Telecommunications Research Institute International
Original Assignee
ATR Advanced Telecommunications Research Institute International
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 ATR Advanced Telecommunications Research Institute International filed Critical ATR Advanced Telecommunications Research Institute International
Priority to JP2004074702A priority Critical patent/JP4521631B2/en
Publication of JP2005265967A publication Critical patent/JP2005265967A/en
Application granted granted Critical
Publication of JP4521631B2 publication Critical patent/JP4521631B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide a tree structure capable of suppressing a search error while efficiently reducing necessary capacity. <P>SOLUTION: It is decided whether the number of words sharing each non-terminal node of the tree structure dictionary stored on the storage medium (the number of terminal nodes which can be reached from the non-terminal node through child nodes) is larger than a specified threshold (444) and when it exceeds the threshold, a nonapproximate bigram language score table is held (446), but when not, scores which are approximated by unigram are requested of all of the child nodes (448), so that a maximum value among obtained apprximiate scores is held as an approximate score of the non-terminal node (450). <P>COPYRIGHT: (C)2005,JPO&amp;NCIPI

Description

本発明は、大語彙音声認識等で用いられる木構造辞書の作成方法に関し、特に、消費メモリ量を削減するために、各ノードに付与される言語スコアに近似値を導入した木構造辞書、及びその作成方法に関する。   The present invention relates to a method for creating a tree structure dictionary used in large vocabulary speech recognition and the like, and in particular, to reduce the amount of memory consumed, a tree structure dictionary that introduces approximate values into language scores assigned to each node, and It relates to its creation method.

大語彙音声認識システムでは、音声認識の過程又は認識後の検証の過程で確率的言語モデルを用いた言語スコアを算出する。確率的言語モデルとは、ある言語において、単語列又は文字列等に対して、それらが起こる確率で自然言語をモデル化したものである。言語スコアは、音声認識の結果得られた単語列等の尤度を、言語モデルに従って算出したものである。   In a large vocabulary speech recognition system, a language score using a probabilistic language model is calculated in a speech recognition process or a verification process after recognition. The probabilistic language model is a model of a natural language with a probability of occurrence of a word string or a character string in a certain language. The language score is obtained by calculating the likelihood of a word string or the like obtained as a result of speech recognition according to a language model.

N個の単語又は文字からなる単語列又は文字列が生成される確率によって自然言語をモデル化したものをNグラムモデルと呼ぶ。特にN=1,2,3の場合をそれぞれユニグラム、バイグラム、トライグラムと呼ぶ。パラメータ推定のための計算量及び精度の点から、バイグラム又はトライグラムが用いられる場合が多い。以下の説明は単語列についてのものとする。   A model in which a natural language is modeled by the probability that a word string or character string composed of N words or characters is generated is called an N-gram model. In particular, the cases of N = 1, 2, 3 are called unigram, bigram and trigram, respectively. A bigram or trigram is often used from the viewpoint of calculation amount and accuracy for parameter estimation. The following description is for word strings.

認識候補の言語スコアを算出するため、予め算出した言語スコアを付した単語辞書を用意することが多い。また、認識候補の探索の効率を向上させるために、単語辞書を木構造ネットワークで表現することが一般的である。   In order to calculate the language score of a recognition candidate, a word dictionary with a pre-calculated language score is often prepared. In order to improve the efficiency of searching for recognition candidates, it is common to represent a word dictionary with a tree structure network.

図1を参照して、木構造辞書の概要を説明する。今、音響モデルをモノフォンとし、語彙として「赤い」「明るい」及び「青い」だけを考えるものとする。これらの語の音素列20,22,24を図1の上段に示す。図から明らかなように、語頭の「a」の音30は3つの単語で共有され、さらにその後の二つの音を含む「aka」の音素列32は二つの単語により共有されている。   An outline of the tree structure dictionary will be described with reference to FIG. Assume that the acoustic model is a monophone and only “red”, “bright”, and “blue” are considered as vocabularies. The phoneme strings 20, 22, and 24 of these words are shown in the upper part of FIG. As is apparent from the figure, the sound “a” 30 at the beginning of the word is shared by three words, and the phoneme string 32 of “aka” including the subsequent two sounds is shared by the two words.

図1の下段に上記した単語群に対応する木構造辞書40を示す。木構造辞書40は、図に示すように、単語の先頭部分からの音素が共通する部分を共有ノードとし、単語が音素を共有しなくなった時点で別ノードに分岐していく。例えば前記した3つの単語は、音素「a」を共有しているので、木構造辞書40の先頭ノード50をこの3つの単語で共有する。しかし次の音素では二つのノード52(k)及び62(o)に分岐する。以下同様に木構造化されており、その結果ノード列50,52,54,56,58,60をたどることによって単語「あかるい」が、ノード列50,52,54,64をたどることによって単語「あかい」が、ノード列50,62,66をたどることによって単語「あおい」が、それぞれ探索される。   A tree structure dictionary 40 corresponding to the above word group is shown in the lower part of FIG. As shown in the figure, the tree structure dictionary 40 uses a portion where the phonemes from the beginning of a word are common as a shared node, and branches to another node when the word no longer shares a phoneme. For example, since the three words described above share the phoneme “a”, the first node 50 of the tree structure dictionary 40 is shared by the three words. However, the next phoneme branches to two nodes 52 (k) and 62 (o). Thereafter, the tree structure is similarly formed. As a result, the word “Akarai” is traced by following the node strings 50, 52, 54, 56, 58, 60, and the word “Akairu” is traced by following the node strings 50, 52, 54, 64. The word “Aoi” is searched by tracing the node strings 50, 62 and 66 respectively.

以上が木構造辞書の基本的構造である。   The above is the basic structure of the tree structure dictionary.

木構造辞書の終端ノード(図1の場合のノード60、64及び66)には、各単語のバイグラムの言語スコアテーブル(図1の例の場合、言語スコアテーブル70,72,74)が付されている。このテーブルは、先行する可能性のある全ての単語に対し、その後に当該終端ノードの単語が続いて生起する確率である。従って、この言語スコアテーブルは言語モデル中の全単語の数だけのエントリを持つ。つまり、言語スコアテーブルの容量は、語彙数に依存する。   The end node of the tree structure dictionary (nodes 60, 64, and 66 in the case of FIG. 1) is assigned a bigram language score table for each word (in the example of FIG. 1, the language score tables 70, 72, and 74). ing. This table shows the probability that the word of the terminal node will subsequently occur for all the words that may precede. Therefore, this language score table has as many entries as the number of all words in the language model. That is, the capacity of the language score table depends on the number of vocabularies.

音声認識では、音声認識に同期して上記した木構造辞書の先頭ノードから終端ノードに向けて、仮説の展開を進める。終端ノードに到達した単語仮説は単語グラフに登録され、再び辞書の先頭ノードから後続の単語仮説の探索を開始する。   In speech recognition, the development of hypotheses proceeds from the first node of the tree structure dictionary to the end node in synchronization with the speech recognition. The word hypothesis reaching the end node is registered in the word graph, and the search for the subsequent word hypothesis is started again from the first node of the dictionary.

木構造辞書の探索において、全ての可能なパスを探索していくと、探索数が多くなるという問題がある。そのため、スコアに基づく枝刈りをする必要がある。そのために、終端ノード以外のノード(例えば図1に示す例ではノード52,54,56,58,62)には、そのノードを共有している単語(終端ノード)の中の最大尤度を、全ての先行単語について計算した言語スコアテーブル(図1の場合のテーブル80,82,84,86,88)を付す。この場合、例えば語彙数がNであればこの言語スコアテーブルのエントリ数はN個になる。この様子を図3に言語スコアテーブル120として示す。   In searching the tree structure dictionary, if all possible paths are searched, there is a problem that the number of searches increases. Therefore, pruning based on the score is necessary. Therefore, for nodes other than the terminal node (for example, the nodes 52, 54, 56, 58, and 62 in the example shown in FIG. 1), the maximum likelihood among words (terminal nodes) sharing the node is A language score table (tables 80, 82, 84, 86, 88 in the case of FIG. 1) calculated for all preceding words is attached. In this case, for example, if the number of vocabularies is N, the number of entries in the language score table is N. This state is shown as a language score table 120 in FIG.

図3に示す言語スコアテーブル120は、例えばノードsを複数の単語wiが共有している場合に、ノードsに付与すべき言語スコアテーブルである。ノードsを共有している単語の集合をSで表せば、wi∈Sと書くことができる。図3に示すようにこの言語スコアテーブル120は、先行単語(単語wp1〜wpN)の全てに対して算出された、単語wi(wi∈S)の条件付生起確率p(wi|wpj)(wi∈S,j=1〜N)の中の最大値max p(wi|wpj)(wi∈S)からなるN個のエントリを含む。 The language score table 120 shown in FIG. 3 is a language score table to be given to the node s when, for example, the node s is shared by a plurality of words w i . If a set of words sharing the node s is represented by S, it can be written as w i εS. As shown in FIG. 3, the language score table 120 includes the conditional occurrence probability p (w i ) of the word w i (w i εS ) calculated for all of the preceding words (words w p1 to w pN ). | W pj ) (W i εS, j = 1 to N) including N entries of the maximum value max p (w i | w pj ) (wiεS).

探索時には、各ノードで分岐する際に、分岐先のノードの言語スコアテーブルを参照して、ノードのスコアを更新し、そのスコアが所定の値より小さな枝についてはそれ以上探索しないことにより枝刈りを行なう。   At the time of branching, when branching at each node, the node score is updated by referring to the language score table of the branch destination node, and pruning is performed by not searching for branches whose score is smaller than a predetermined value. To do.

言語スコアの最大値を求める処理を頻繁に繰返すと、膨大な計算量を必要とするため、予め全ての先行単語について事前計算してテーブル化しておく。これが上記した言語スコアテーブルである。そのテーブルサイズは上記したように語彙数Nに依存する。ところで、共有する単語セットが互いに異なるノードの場合、それらに付与すべき言語スコアテーブルの内容も互いに異なる。従って、共有する単語が異なるノードごとに、上記した言語スコアテーブルを準備する必要がある。   If the process for obtaining the maximum language score is repeated frequently, an enormous amount of calculation is required. Therefore, all preceding words are pre-calculated and tabulated in advance. This is the language score table described above. The table size depends on the vocabulary number N as described above. By the way, when the shared word sets are different nodes, the contents of the language score table to be given to them are also different from each other. Therefore, it is necessary to prepare the language score table described above for each node having a different shared word.

しかし、木構造辞書のノード数は膨大で、語彙数も多いため、上記したテーブル化を行なうためには大量のメモリが必要とされ、実質的に不可能といってもよいほどである。そこで、テーブル化のために必要となるメモリ容量を削減することが必要になる。そのための手法が後掲の非特許文献1に開示されている。   However, since the number of nodes in the tree structure dictionary is enormous and the number of vocabularies is large, a large amount of memory is required to perform the above-described table formation, which may be substantially impossible. Therefore, it is necessary to reduce the memory capacity required for tabulation. A technique for this is disclosed in Non-Patent Document 1 described later.

非特許文献1に開示の方法は、木構造辞書において、先頭ノードからの深さを判定基準とし、上記した言語スコアテーブルを近似している。具体的には、非特許文献1に記載の方法では、あるしきい値を定め、先頭ノードからの深さがこのしきい値以下の共有ノードでは、近似をせず上記した言語スコアテーブルを付与し、しきい値を超える深さのノードでは、上記した言語スコアテーブルではなく所定の近似を行なう。近似の方法として、N個のエントリを、そのノードを共有している終端ノードのユニグラムの最大値(スカラー値)で近似する方法、及び言語スコアテーブルを単語バイグラムではなくクラスバイグラムで作成することにより近似する方法が提案されている。   The method disclosed in Non-Patent Document 1 approximates the above-described language score table in a tree structure dictionary using the depth from the first node as a criterion. Specifically, in the method described in Non-Patent Document 1, a certain threshold value is defined, and the above-mentioned language score table is assigned without approximation to a shared node whose depth from the first node is equal to or less than this threshold value. However, in a node having a depth exceeding the threshold value, a predetermined approximation is performed instead of the language score table described above. As an approximation method, N entries are approximated by the maximum value (scalar value) of a unigram of a terminal node sharing the node, and a language score table is created by a class bigram instead of a word bigram. An approximation method has been proposed.

ユニグラムで言語スコアテーブルを近似する場合、N個のエントリを持つテーブルが一つのスカラー値に置換えられるので、記憶容量は大きく削減される。クラスバイグラムで近似する場合には、ユニグラムほどの記憶容量の削減はできないが、精度がそれほど低下しないという利点がある。   When a language score table is approximated by a unigram, a table having N entries is replaced with one scalar value, so that the storage capacity is greatly reduced. When approximating with a class bigram, the storage capacity cannot be reduced as much as a unigram, but there is an advantage that the accuracy does not decrease so much.

小窪他3名、「連続音声認識システムにおけるfactoringテーブルのコンパクト化と不要単語仮説のガーベッジコレクション」、電子情報通信学会論文誌D−II Vol.86 no.6,pp.787−795、2003年Kokubo et al., “Compacting factoring table in continuous speech recognition system and garbage collection of unnecessary word hypotheses”, IEICE Transactions D-II Vol. 86 no. 6, pp. 787-795, 2003

非特許文献1に開示の方法は、効率よく消費メモリを削減することができる。しかし、言語スコアを近似することによって探索エラーが生じた場合、そのエラーによる損失の量が予測できない。そのため、場合により認識性能の大きな低下要因となる可能性がある。   The method disclosed in Non-Patent Document 1 can reduce memory consumption efficiently. However, if a search error occurs by approximating the language score, the amount of loss due to that error cannot be predicted. For this reason, there is a possibility that the recognition performance may be greatly reduced.

従って、本発明の目的は、木構造辞書のための言語スコアテーブルの容量を効率的に削減しながら、探索エラーの発生を抑えることができる木構造辞書を記録した記憶媒体、及び木構造辞書の言語スコアテーブル作成プログラムを提供することである。   Accordingly, an object of the present invention is to provide a storage medium storing a tree structure dictionary capable of suppressing the occurrence of a search error while efficiently reducing the capacity of the language score table for the tree structure dictionary, and a tree structure dictionary. To provide a language score table creation program.

本発明の第1の局面に係る記憶媒体は、子ノードを持つ複数の非終端ノードと、子ノードを持たずにそれぞれ単語に対応する複数の終端ノードとから構成される木構造辞書を記録した記憶媒体である。複数の非終端ノードの各々は、それぞれ所定の音素に対応している。木構造辞書は、木構造辞書の先頭ノードから子ノードをたどっていくことにより、各非終端ノードを経由して、当該非終端ノードに対応する音素が自身の音素列の一部となっている単語に対応する終端ノードの全てに到達可能に構成されている。複数の終端ノードにはそれぞれ、対応の単語の、所定の言語モデルによる第1の言語スコアテーブルが付されている。複数の非終端ノードにはそれぞれ、当該非終端ノードから子ノードをたどっていくことにより到達できる終端ノードの全ての言語スコアテーブルから、当該言語スコアテーブルの最大値をとることにより作成される第2の言語スコアテーブルが付されている。複数の非終端ノードの第2の言語スコアテーブルは、当該非終端ノードから子ノードをたどることにより到達できる終端ノードの数が所定のしきい値未満の場合には、当該第2の言語スコアテーブルより簡略な言語スコア情報に置換されている。   The storage medium according to the first aspect of the present invention stores a tree structure dictionary composed of a plurality of non-terminal nodes having child nodes and a plurality of terminal nodes corresponding to words without having child nodes. It is a medium. Each of the plurality of non-terminal nodes corresponds to a predetermined phoneme. In the tree structure dictionary, the child nodes are traced from the first node of the tree structure dictionary, so that the phoneme corresponding to the non-terminal node becomes a word that is part of its own phoneme sequence via each non-terminal node. All corresponding terminal nodes are configured to be reachable. Each of the plurality of terminal nodes is provided with a first language score table of a corresponding word according to a predetermined language model. A second language created by taking the maximum value of the language score table from all the language score tables of the terminal node that can be reached by tracing the child nodes from the non-terminal node to each of the plurality of non-terminal nodes A score table is attached. The second language score table of a plurality of non-terminal nodes is simpler than the second language score table when the number of terminal nodes that can be reached by tracing child nodes from the non-terminal nodes is less than a predetermined threshold value. Language language information has been replaced.

好ましくは、所定の言語モデルはバイグラム言語モデルである。   Preferably, the predetermined language model is a bigram language model.

さらに好ましくは、簡略な言語スコア情報は、当該非終端ノードから到達できる終端ノード全てに関するユニグラムスコアの最大値である。ユニグラムスコアに代えて、クラスバイグラムスコアを使用してもよい。   More preferably, the simple language score information is a maximum value of a unigram score for all terminal nodes that can be reached from the non-terminal node. A class bigram score may be used instead of the unigram score.

第2の言語スコアテーブルは、第1の言語スコアテーブルと同じエントリ数を有し、かつ第2の言語スコアテーブルのエントリの各々は、当該非終端ノードから子ノードをたどることにより到達できる終端ノードの第1の言語スコアテーブルの対応するエントリの最大値からなるものでもよい。   The second language score table has the same number of entries as the first language score table, and each entry of the second language score table is a terminal node reachable by following the child node from the non-terminal node. It may consist of the maximum value of the corresponding entry in the first language score table.

本発明の第2の局面に係る言語スコアテーブル作成プログラムは、子ノードを持つ複数の非終端ノードと、子ノードを持たずにそれぞれ単語に対応する複数の終端ノードとから構成される木構造辞書において、複数の非終端ノードに付与される言語スコアテーブルを作成するための言語スコアテーブル作成プログラムである。複数の非終端ノードは、それぞれ所定の音素に対応している。木構造辞書は、木構造の先頭ノードから子ノードをたどっていくことにより、各非終端ノードを経由して、当該非終端ノードに対応する音素が自身の音素列の一部となっている単語に対応する終端ノードの全てに到達可能に構成されている。複数の終端ノードにはそれぞれ、対応の単語の、所定の言語モデルによる第1の言語スコアテーブルが付されている。この言語スコアテーブル作成プログラムは、複数の非終端ノードの各々について、当該非終端ノードから子ノードをたどっていくことにより到達できる終端ノードの数を算出するためのプログラム部分と、複数の非終端ノードの各々において、当該非終端ノードの親ノードから言語スコアテーブルの要求を受けたことに応答して、当該非終端ノードの子ノードの各々に対して当該子ノードの言語スコアテーブルを要求するプログラム部分と、複数の非終端ノードの各々において、言語スコアテーブルを要求するプログラム部分が実行されることにより、当該非終端ノードの子ノードの各々から返される言語スコアテーブルに基づき、当該非終端ノードの第2の言語スコアテーブルを作成するプログラム部分と、言語スコアテーブルを作成するプログラム部分により作成された第2の言語スコアテーブルを親ノードに返すプログラム部分と、当該非終端ノードから子ノードをたどることにより到達できる終端ノードの数が所定のしきい値に対して予め定める条件を充足しているか否かを判定するプログラム部分と、条件が充足されていると判定されたことに応答して、当該非終端ノードについて作成された第2の言語スコアテーブルを、当該非終端ノードの言語スコアテーブルとして記憶装置に記憶させるプログラム部分と、条件が充足されていないと判定されたことに応答して、当該非終端ノードの子ノードに対して、簡略な言語スコア情報を要求する処理を行なうプログラム部分と、簡略な言語スコア情報を要求する処理に応答して子ノードから返される簡略な言語スコア情報に基づいて、当該非終端ノードに関する簡略な言語スコア情報を作成し記憶装置に記憶させるプログラム部分と、親ノードから簡略な言語スコア情報の要求を受けたことに応答して、記憶装置に記憶された簡略な言語スコア情報を親ノードに返すプログラム部分とを含む。   A language score table creation program according to a second aspect of the present invention is a tree structure dictionary composed of a plurality of non-terminal nodes having child nodes and a plurality of terminal nodes corresponding to words without having child nodes. A language score table creation program for creating a language score table assigned to a plurality of non-terminal nodes. Each of the plurality of non-terminal nodes corresponds to a predetermined phoneme. The tree structure dictionary corresponds to a word in which the phoneme corresponding to the non-terminal node is part of its own phoneme string via each non-terminal node by tracing the child node from the first node of the tree structure. It is configured to be able to reach all of the end nodes that perform. Each of the plurality of terminal nodes is provided with a first language score table of a corresponding word according to a predetermined language model. The language score table creation program includes a program part for calculating the number of terminal nodes that can be reached by following a child node from each non-terminal node, and a plurality of non-terminal nodes. In response to receiving a language score table request from a parent node of the non-terminal node, a program part that requests the language score table of the child node for each of the child nodes of the non-terminal node, and a plurality of non-terminals By executing a program part that requests a language score table in each of the nodes, a second language score table for the non-terminal node is created based on the language score table returned from each of the child nodes of the non-terminal node. Create program part and language score table A program part that returns the second language score table created by the program part to the parent node, and a condition that the number of terminal nodes that can be reached by tracing the child node from the non-terminal node is predetermined with respect to a predetermined threshold value. In response to determining that the condition is satisfied, and a program part for determining whether or not the condition is satisfied, the second language score table created for the non-terminal node is used as the language score of the non-terminal node. A program part to be stored in the storage device as a table, and a program part that performs processing for requesting simple language score information to a child node of the non-terminal node in response to determining that the condition is not satisfied And simple language score information returned from a child node in response to a process requesting simple language score information. Accordingly, a simplified program stored in the storage device in response to receiving a request for the simple language score information from the parent node, and a program part for creating the simple language score information related to the non-terminal node and storing it in the storage device And a program part that returns linguistic score information to the parent node.

好ましくは、所定の言語モデルはバイグラム言語モデルである。   Preferably, the predetermined language model is a bigram language model.

さらに好ましくは。簡略な言語スコア情報は、各非終端ノードから子ノードをたどっていくことにより到達できる各終端ノードのユニグラムスコアの最大値である。ユニグラムスコアに代えて、クラスバイグラムスコアを使用してもよい。   More preferably. The simple language score information is the maximum value of the unigram score of each terminal node that can be reached by following the child nodes from each non-terminal node. A class bigram score may be used instead of the unigram score.

また、第2の言語スコアテーブルは、第1の言語スコアテーブルと同じエントリ数を有し、かつ第2の言語スコアテーブルのエントリの各々は、当該非終端ノードから子ノードをたどることにより到達できる終端ノードの第1の言語スコアテーブルの対応するエントリの最大値からなるものでもよい。この場合、非終端ノードの第2の言語スコアテーブルを作成するプログラム部分は、複数の非終端ノードの各々において、言語スコアテーブルを要求するプログラム部分が実行されることにより、当該非終端ノードの子ノードの各々から返される言語スコアテーブルの各エントリにつき、最大値をとって当該非終端ノードの第2の言語スコアテーブルを作成するプログラム部分を含んでもよい。   The second language score table has the same number of entries as the first language score table, and each entry of the second language score table can be reached by following the child node from the non-terminal node. It may consist of the maximum value of the corresponding entry in the first language score table of the node. In this case, the program part for creating the second language score table of the non-terminal node is executed by executing the program part that requests the language score table in each of the plurality of non-terminal nodes. For each entry of the language score table returned from, a program portion for taking the maximum value and creating the second language score table of the non-terminal node may be included.

言語スコアを近似することによる探索エラーに起因する損失は、そのノードを共有する終端ノードの数が大きいほど大きい。そこで本実施の形態では、非特許文献1に開示された方法のように先頭ノードからの深さを基準として言語スコアテーブルを近似するのではなく、各ノードを共有している単語の数を基準として、言語スコアテーブルを近似する。この考え方につき図2を参照して説明する。   The loss due to the search error by approximating the language score increases as the number of terminal nodes sharing the node increases. Therefore, in the present embodiment, the language score table is not approximated based on the depth from the head node as in the method disclosed in Non-Patent Document 1, but the number of words sharing each node is used as a reference. The language score table is approximated as follows. This concept will be described with reference to FIG.

図2は、木構造辞書100の例を示す。図2を参照して、この木構造辞書100は、終端ノードW1〜W14と(以後、説明を簡単にするためにこれら終端ノードを「単語」と呼ぶ。)、これら単語によって共有される複数のノード(例えばノードSA及びSB)とを有する。ノードSAは5つの単語W1〜W5によって共有されている。ノードSBは2つの単語W13及びW14によって共有されている。この場合、ノードSAとノードSBとでは、ノードSBが優先的に近似の対象とされる。 FIG. 2 shows an example of the tree structure dictionary 100. Referring to FIG. 2, this tree structure dictionary 100 is shared by terminal nodes W 1 to W 14 (hereinafter, these terminal nodes are referred to as “words” for the sake of simplicity). A plurality of nodes (for example, nodes S A and S B ). Node S A is shared by five words W 1 to W 5 . Node S B is shared by two words W 13 and W 14 . In this case, the node S B is preferentially approximated between the node S A and the node S B.

このように、ノードを共有する単語の数を基準として言語尤度を近似するか否かを定めることにより、探索エラーを抑えながら、木構造辞書のための言語スコアテーブルの容量を効率的に削減することができる。   In this way, by determining whether or not the language likelihood is approximated based on the number of words that share a node, it is possible to efficiently reduce the capacity of the language score table for the tree structure dictionary while suppressing search errors. can do.

この実施の形態に係る木構造辞書の作成システムは、コンピュータハードウェアと、そのコンピュータハードウェアにより実行されるプログラムと、コンピュータハードウェアに格納されるデータとにより実現される。図4はこのコンピュータシステム330の外観を示し、図5はコンピュータシステム330の内部構成を示す。   The tree structure dictionary creation system according to this embodiment is realized by computer hardware, a program executed by the computer hardware, and data stored in the computer hardware. FIG. 4 shows the external appearance of the computer system 330, and FIG. 5 shows the internal configuration of the computer system 330.

図4を参照して、このコンピュータシステム330は、FD(フレキシブルディスク)ドライブ352及びCD−ROM(コンパクトディスク読出専用メモリ)ドライブ350を有するコンピュータ340と、キーボード346と、マウス348と、モニタ342とを含む。   Referring to FIG. 4, this computer system 330 includes a computer 340 having an FD (flexible disk) drive 352 and a CD-ROM (compact disk read only memory) drive 350, a keyboard 346, a mouse 348, and a monitor 342. including.

図5を参照して、コンピュータ340は、FDドライブ352及びCD−ROMドライブ350に加えて、CPU(中央処理装置)356と、CPU356、FDドライブ352及びCD−ROMドライブ350に接続されたバス366と、ブートアッププログラム等を記憶する読出専用メモリ(ROM)358と、バス366に接続され、プログラム命令、システムプログラム、及び作業データ等を記憶するランダムアクセスメモリ(RAM)360とを含む。コンピュータシステム330はさらに、プリンタ344を含んでいる。   Referring to FIG. 5, in addition to the FD drive 352 and the CD-ROM drive 350, the computer 340 includes a CPU (central processing unit) 356 and a bus 366 connected to the CPU 356, the FD drive 352, and the CD-ROM drive 350. And a read only memory (ROM) 358 for storing a boot-up program and the like, and a random access memory (RAM) 360 connected to the bus 366 for storing a program command, a system program, work data, and the like. Computer system 330 further includes a printer 344.

ここでは示さないが、コンピュータ340はさらにローカルエリアネットワーク(LAN)への接続を提供するネットワークアダプタボードを含んでもよい。   Although not shown here, the computer 340 may further include a network adapter board that provides a connection to a local area network (LAN).

コンピュータシステム330に本実施の形態に係る木構造辞書の作成方法を実現させるためのコンピュータプログラムは、CD−ROMドライブ350又はFDドライブ352に挿入されるCD−ROM362又はFD364に記憶され、さらにハードディスク354に転送される。又は、プログラムは図示しないネットワークを通じてコンピュータ340に送信されハードディスク354に記憶されてもよい。プログラムは実行の際にRAM360にロードされる。CD−ROM362から、FD364から、又はネットワークを介して、直接にRAM360にプログラムをロードしてもよい。   A computer program for causing the computer system 330 to implement the tree structure dictionary creation method according to the present embodiment is stored in the CD-ROM 362 or FD 364 inserted in the CD-ROM drive 350 or FD drive 352, and further the hard disk 354. Forwarded to Alternatively, the program may be transmitted to the computer 340 through a network (not shown) and stored in the hard disk 354. The program is loaded into the RAM 360 when executed. The program may be loaded directly into the RAM 360 from the CD-ROM 362, from the FD 364, or via a network.

このプログラムは、コンピュータ340にこの実施の形態に係る木構造辞書の作成方法を実現させるための複数の命令を含む。この方法を行なわせるのに必要な基本的機能のいくつかはコンピュータ340上で動作するオペレーティングシステム(OS)又はサードパーティのプログラム、若しくはコンピュータ340にインストールされる各種ツールキットのモジュールにより提供される。従って、このプログラムはこの実施の形態のシステム及び方法を実現するのに必要な機能全てを必ずしも含まなくてよい。このプログラムは、命令のうち、所望の結果が得られるように制御されたやり方で適切な機能又は「ツール」を呼出すことにより、上記した木構造辞書の作成方法を実現できる命令のみを含んでいればよい。コンピュータシステム330の動作は周知であるので、ここではその詳細は繰り返さない。   This program includes a plurality of instructions for causing the computer 340 to realize the tree structure dictionary creation method according to this embodiment. Some of the basic functions necessary to perform this method are provided by operating system (OS) or third party programs running on the computer 340, or modules of various toolkits installed on the computer 340. Therefore, this program does not necessarily include all functions necessary to realize the system and method of this embodiment. This program may include only instructions that can realize the above-described method for creating a tree structure dictionary by calling an appropriate function or “tool” in a controlled manner so as to obtain a desired result. That's fine. Since the operation of computer system 330 is well known, details thereof will not be repeated here.

以下、木構造辞書自体は既に作成されたものとし、言語スコアテーブルを作成する処理を実現するためのコンピュータプログラムについて説明する。これらプログラムはいずれもノードクラスのメソッドとして用意されるものである。   Hereinafter, it is assumed that the tree structure dictionary itself has already been created, and a computer program for realizing processing for creating a language score table will be described. These programs are all prepared as node class methods.

必要なプログラムは、大きく分けて3つある。第1は、各ノードが自分の下にいくつの単語(終端ノード)が存在しているかを子ノードに問合わせるためのプログラムである。このプログラムは再帰的に実行される。第2は、各ノードが自ノードに格納すべき言語スコアテーブルを決定する処理である。この処理をするためには、子ノードの言語スコアテーブルを問合わせる必要がある。従ってこのプログラムも再帰的に実行される。第3は、第2のプログラムに関連して実行されるものであり、近似した後の言語スコアを返すよう親ノードから要求されたときに、自ノードに格納された近似後の言語スコアを親ノードに返す処理である。第3の処理については容易に実現できるので、以下第1及び第2の処理を実現するプログラム(メソッド)の制御構造についてのみ説明する。   There are three major programs. The first is a program for inquiring child nodes how many words (terminal nodes) exist under each node. This program is executed recursively. The second is processing for determining a language score table that each node should store in its own node. In order to perform this process, it is necessary to query the language score table of the child node. Therefore, this program is also executed recursively. The third is executed in connection with the second program. When the parent node requests to return the language score after approximation, the language score after approximation stored in the own node is used as the parent language score. Processing to return to the node. Since the third process can be easily realized, only the control structure of the program (method) for realizing the first and second processes will be described below.

図6は、各ノード(終端ノードを除く)において、自己の下にいくつの終端ノード(自ノードを共有している単語数)が存在しているかを子ノードに問合わせることにより調べるためのプログラムの制御構造を示す。図6を参照して、このプログラムは、自ノードの下の子ノードの全てに対して、その下の共有単語数を問合わせるステップ400と、ステップ400で自己の全ての子ノードから得られた共有単語数の合計を算出し、自己の属性として当該共有単語数を保存するステップ402とを含む。ステップ402の後、自己の下の共有単語数の合計を戻り値として処理を終了する。ステップ400で各ノードに対して共有単語数を問合わせると、各子ノードでは、この図6に示すこの処理を実行する。すなわちこの処理は再帰的に実行される。   FIG. 6 shows a program for checking the number of end nodes (number of words sharing the own node) under each node (excluding the end node) by inquiring the child nodes. The control structure of is shown. Referring to FIG. 6, this program is obtained from all the child nodes of the self in step 400 that inquires all of the child nodes under the self node for the number of shared words under the node. Calculating the total number of shared words, and storing 402 the number of shared words as its own attribute. After step 402, the process is terminated with the total number of shared words underneath as a return value. When querying the number of shared words for each node in step 400, each child node executes this processing shown in FIG. That is, this process is executed recursively.

終端ノードの場合、自己の下には子ノードは存在しない。終端ノードが親ノードから共有単語数の問合せを受けた場合、単に「1」を返せばよい。従ってここでは終端ノードに関する処理については特に図示しない。   In the case of a terminal node, there is no child node under self. When the terminal node receives an inquiry about the number of shared words from the parent node, it may simply return “1”. Accordingly, the processing related to the terminal node is not particularly illustrated here.

以上の処理によって、木構造辞書中の各ノードの属性値として、その下に存在する終端ノードの数が調べられる。   With the above processing, the number of terminal nodes existing below the attribute value of each node in the tree structure dictionary is checked.

図7は、各ノード(終端ノードを除く)において、親ノードから自ノードの言語スコアテーブルの要求を受けたときに実行される処理のフローチャートである。まず、ステップ440で、自己の直下の子ノードの全てに対してそれぞれの言語スコアテーブルを問合わせる。ステップ440で各子ノードから返された言語スコアテーブルを用いて、ステップ442で自己のノードの言語スコアテーブルを作成する。   FIG. 7 is a flowchart of processing executed in each node (excluding the terminal node) when a request for the language score table of the own node is received from the parent node. First, in step 440, each language score table is queried with respect to all of its immediate child nodes. Using the language score table returned from each child node in step 440, a language score table of its own node is created in step 442.

ここでは、図3に示されるように、先行する単語ごとに、自己の下の終端ノードの言語スコアの最大値を求める。従って、先行する単語一つについて言語スコアテーブルのエントリが一つ作成される。語彙数がNであれば、言語スコアテーブルにはN個の言語スコアが格納される。   Here, as shown in FIG. 3, for each preceding word, the maximum value of the language score of the terminal node below it is obtained. Therefore, one entry in the language score table is created for one preceding word. If the vocabulary number is N, N language scores are stored in the language score table.

続いてステップ444で、図6に示す処理により算出した自己の下の共有単語数が、所定のしきい値以上か否かを判定する。しきい値以上であればステップ446に進み、ステップ442で作成された言語スコアテーブルをそのまま自己の言語スコアテーブルとして保存する。共有単語数がしきい値未満であれば、ステップ448で、近似したスコア(スカラー)を自己の子ノードの全てに対して要求する。ステップ450では、ステップ448で全ての子ノードから得られた近似スコアの中の最大値を、自己の近似スコアとして格納する。   Subsequently, at step 444, it is determined whether or not the number of shared words under the self calculated by the process shown in FIG. 6 is equal to or greater than a predetermined threshold value. If it is equal to or greater than the threshold value, the process proceeds to step 446, and the language score table created in step 442 is stored as it is as its own language score table. If the number of shared words is less than the threshold, in step 448, an approximate score (scalar) is requested to all of its own child nodes. In step 450, the maximum value among the approximate scores obtained from all the child nodes in step 448 is stored as its own approximate score.

ステップ450の後、ステップ442で作成された言語スコアテーブルを戻り値としてこの処理を終了する。   After step 450, the process is terminated with the language score table created in step 442 as a return value.

本実施の形態では、近似スコアとしてユニグラムを使用する。各終端ノードには、上記したバイグラムの言語スコアテーブルだけでなくユニグラムのスコア(スカラー)も格納されている。図7に示す処理によって最終的に各終端ノードに対して近似スコアの要求が出されるので、各終端ノードは自己のユニグラムスコアを親ノードに対して返せばよい。   In this embodiment, a unigram is used as an approximate score. Each terminal node stores not only the bigram language score table described above but also a unigram score (scalar). Since the process shown in FIG. 7 finally requests an approximate score for each terminal node, each terminal node may return its own unigram score to the parent node.

また、ステップ448で近似したスコアの要求を受けたノード(終端ノード以外)では、それ以前に図7の処理を完了しその中でステップ450によって既に近似したスコアを算出し保存済みである場合には、保存済みの近似スコアを親ノードに対して返す。近似値がない場合には、ステップ448及びステップ450の処理を行なって近似したスコアを算出し保存した上、親ノードに対して返す。   In addition, in the node (other than the terminal node) that has received the request for the score approximated in step 448, the processing in FIG. 7 has been completed before that, and the score approximated in step 450 has already been calculated and stored. Returns the stored approximate score to the parent node. If there is no approximate value, the process of steps 448 and 450 is performed to calculate and store the approximate score, and return it to the parent node.

以上のような制御構造を有するプログラムによって、木構造辞書の各ノードについて、言語スコアテーブル又は近似した言語スコア(ユニグラム)を付与することができる。   With the program having the control structure as described above, a language score table or an approximate language score (unigram) can be assigned to each node of the tree structure dictionary.

上記した実施の形態に係る木構造作成システムは以下のように動作する。まず、従来の技術におけるのと同様に、木構造が作成される。各終端ノードには、予め算出されている言語スコアテーブルが付与される。   The tree structure creation system according to the above-described embodiment operates as follows. First, a tree structure is created as in the prior art. A language score table calculated in advance is assigned to each terminal node.

最初に、各木構造の先頭ノードに対してその下の共有単語数を問合わせる。先頭ノードでは、図6に示す処理が実行される。すなわち先頭ノードは、この問合せを受けて自己の直下の子ノードの各々に対し、それらの下の共有単語数を問合わせる。問合せを受けた子ノードの各々では、さらにそれらの直下の子ノードの共有単語数を問合わせる。このように、この問合せは各ノードによって再帰的に実行され、最終的に各終端ノードに対しこの要求が与えられる。各終端ノードは、この要求に応答して「1」を返す。この返答を受けた親ノードは、子ノードから返された値の合計を算出して格納し、さらに親ノードに対して返す。このようにして、最も下のノードから順番に上層のノードに向けて、自己の下の共有単語数を返していき、最終的に先頭ノードにその下の共有単語数の合計が戻される。この過程で各ノードには、図6のステップ402の処理により、自己の下の共有単語数が記憶される。   First, the number of shared words under the first node of each tree structure is inquired. In the head node, the process shown in FIG. 6 is executed. That is, the top node receives this inquiry and inquires each child node immediately below itself of the number of shared words below them. Each of the child nodes that have received the inquiry further inquires the number of shared words of the child nodes immediately below them. Thus, this query is recursively executed by each node, and finally this request is given to each terminal node. Each terminal node returns “1” in response to this request. Upon receiving this response, the parent node calculates and stores the sum of the values returned from the child nodes, and returns it to the parent node. In this way, the number of shared words below itself is returned in order from the lowest node to the upper layer node, and finally the total number of shared words below it is returned to the top node. In this process, each node stores the number of shared words under itself by the process of step 402 in FIG.

次に、先頭ノードに対して言語スコアテーブルを問合わせる。先頭ノードでは、図7に示す処理が実行される。すなわち先頭ノードは、この問合せを受けて自己の直下の子ノードの各々に対し、言語スコアテーブルを要求する(図7のステップ440)。それら子ノードはさらに、自己の直下の子ノードの各々に対し、言語スコアテーブルを要求する。こうした処理が繰り返され、最終的に終端ノードにこの要求が与えられる。   Next, the language score table is queried for the first node. In the head node, the processing shown in FIG. 7 is executed. That is, the top node receives this inquiry and requests a language score table from each of its immediate child nodes (step 440 in FIG. 7). These child nodes further request a language score table for each of their immediate child nodes. These processes are repeated, and this request is finally given to the end node.

この要求を受けた終端ノードの各々は、自己が保持している言語スコアテーブルを親ノードに返す。全ての子ノードから言語スコアテーブルを受けた親ノードは、図7のステップ442に示されるように、得られた言語スコアテーブルに基づいて自己の言語スコアテーブルを作成する。この言語スコアテーブルは、図3に示すように、先行単語ごとに、子ノードから得られた言語スコアの最大値をとったものである。   Each of the terminal nodes that have received this request returns the language score table held by itself to the parent node. The parent node that has received the language score table from all the child nodes creates its own language score table based on the obtained language score table, as shown in step 442 of FIG. As shown in FIG. 3, this language score table is obtained by taking the maximum language score obtained from the child node for each preceding word.

さらに親ノードは、自己の下の共有単語数がしきい値以上か否かを判定する(ステップ444)。この判定は、図6のステップ402で自己の下の共有単語数が既に算出されているので可能となる。もし共有単語数がしきい値以上なら、ステップ442で作成されたテーブルを自己の言語スコアテーブルとして保存し処理を終了する。さもなければ、ステップ448で、自己の直下の子ノードの全てに対し、近似したスコアを要求する。今、直下の子ノードが終端ノードであれば、その終端ノードはその終端ノードに対応する単語のユニグラムを親ノードに返す。全ての子ノードからユニグラムを受けた親ノードは、受けたユニグラムの中の最大値を自己の近似スコアとして格納し、処理を終了する。   Further, the parent node determines whether or not the number of shared words under itself is equal to or greater than a threshold value (step 444). This determination is possible because the number of shared words under itself has already been calculated in step 402 of FIG. If the number of shared words is greater than or equal to the threshold value, the table created in step 442 is stored as its own language score table, and the process ends. Otherwise, step 448 requests approximate scores for all of its immediate child nodes. If the immediate child node is a terminal node, the terminal node returns a word unigram corresponding to the terminal node to the parent node. The parent node that receives the unigram from all the child nodes stores the maximum value in the received unigram as its own approximate score, and ends the process.

図7のステップ444で共有単語数がしきい値未満と判定される場合、さらに下位のノードにおいても、同様の判定が行なわれる。従って、あるノードでステップ448の処理が実行されるときには、その前に既にステップ440で子ノードの全てに対し言語スコアテーブルの問合せが行なわれた時点において、子ノードではステップ448及び450の処理が完了している。従って、あるノードがステップ448の処理を実行するときには、その直下のノードからすぐに近似したスコアが返され、ステップ450の処理を実行できる。   If it is determined in step 444 in FIG. 7 that the number of shared words is less than the threshold value, the same determination is performed in the lower nodes. Therefore, when the processing of step 448 is executed in a certain node, the processing of steps 448 and 450 is executed in the child node at the time when the query of the language score table has already been performed for all of the child nodes in step 440 before that. Completed. Therefore, when a certain node executes the process of step 448, a score that is immediately approximated is returned from the node immediately below it, and the process of step 450 can be executed.

このようにして、先頭ノードを始点として再帰的に各ノードの言語スコアテーブルの作成及び近似が行なわれる。図7のステップ444以下の処理により、共有単語数がしきい値以上のノードには近似しない言語スコアテーブルが保持され、それ以外のノードでは近似したスコアが保持される。従って、木構造辞書の容量が削減され、音声認識に必要なメモリ容量も削減できる。また、言語スコアテーブルの近似は、ノードの共有単語数がしきい値未満のときに限定される。そのため、近似による探索エラーの影響は限定された範囲にとどまり、音声認識の精度が予期せず悪化するおそれは少ない。   In this way, the language score table of each node is recursively created and approximated starting from the top node. By the processing from step 444 onward in FIG. 7, a language score table that is not approximated to nodes whose number of shared words is equal to or greater than a threshold value is retained, and approximate scores are retained at other nodes. Therefore, the capacity of the tree structure dictionary is reduced, and the memory capacity necessary for speech recognition can be reduced. The approximation of the language score table is limited when the number of shared words of the node is less than a threshold value. Therefore, the influence of the search error due to the approximation is limited to a limited range, and there is little possibility that the accuracy of the speech recognition is unexpectedly deteriorated.

例えば、図2に示す例でいえば、しきい値=3〜5のいずれの場合にも、ノードSAについては言語スコアテーブルの近似は行なわれず、ノードSBについてのみ行なわれる
なお、上記した実施の形態では、近似スコアとしてユニグラムを用いた。しかし本発明はそのような実施の形態に限定されるわけではない。例えば、非特許文献1でも提案されているとおり、近似としてクラスバイグラムを使用するようにしてもよい。
For example, in the example shown in FIG. 2, the case of both threshold = 3-5, approximation of language score table is not performed for the node S A, Note carried out only for node S B, and the In the embodiment, a unigram is used as an approximate score. However, the present invention is not limited to such an embodiment. For example, as proposed in Non-Patent Document 1, a class bigram may be used as an approximation.

また、上記した実施の形態では、言語スコアテーブルをバイグラムの言語スコアによるものとした。しかし、本実施の形態は原理的にはバイグラムを用いたものに限定されない。例えば言語スコアテーブルをトライグラムからなるテーブルとし、バイグラムの言語スコアテーブル又はユニグラムで言語スコアテーブルを近似することも考えられる。   In the above embodiment, the language score table is based on the bigram language score. However, this embodiment is not limited to the one using bigram in principle. For example, the language score table may be a table composed of trigrams, and the language score table may be approximated by a bigram language score table or unigram.

今回開示された実施の形態は単に例示であって、本発明が上記した実施の形態のみに制限されるわけではない。本発明の範囲は、発明の詳細な説明の記載を参酌した上で、特許請求の範囲の各請求項によって示され、そこに記載された文言と均等の意味及び範囲内でのすべての変更を含む。   The embodiment disclosed herein is merely an example, and the present invention is not limited to the above-described embodiment. The scope of the present invention is indicated by each claim in the claims after taking into account the description of the detailed description of the invention, and all modifications within the meaning and scope equivalent to the wording described therein are intended. Including.

木構造辞書の概念を説明するための模式図である。It is a schematic diagram for demonstrating the concept of a tree structure dictionary. 木構造辞書における言語スコアテーブルの近似を説明するための図である。It is a figure for demonstrating the approximation of the language score table in a tree structure dictionary. バイグラムによる言語スコアテーブルの構成を模式的に示す図である。It is a figure which shows typically the structure of the language score table by a bigram. コンピュータの外観図である。It is an external view of a computer. 図4に示すコンピュータのブロック図である。It is a block diagram of the computer shown in FIG. ノード下の共有単語数に関する問合せを受けた場合に、各ノードで実行されるプログラム(メソッド)の制御構造を示すフローチャートである。It is a flowchart which shows the control structure of the program (method) performed in each node, when the inquiry regarding the number of shared words under a node is received. 言語スコアテーブルに関する問合せを親ノードから受けたときに、各ノードで実行されるプログラム(メソッド)の制御構造を示すフローチャートである。It is a flowchart which shows the control structure of the program (method) performed by each node, when the inquiry regarding a language score table is received from the parent node.

符号の説明Explanation of symbols

40,100 木構造辞書、50,52,54,56,58,62,SA,SB ノード、60,64,66,W1〜W14 終端ノード、70,72,74,80,82,84,86,88,120 言語スコアテーブル 40,100 tree structure dictionary, 50, 52, 54, 56, 58, 62, S A , S B nodes, 60, 64, 66, W 1 to W 14 terminal nodes, 70, 72, 74, 80, 82, 84, 86, 88, 120 Language Score Table

Claims (10)

子ノードを持つ複数の非終端ノードと、子ノードを持たずにそれぞれ単語に対応する複数の終端ノードとから構成される木構造辞書を記録した記憶媒体であって、前記複数の非終端ノードは、それぞれ所定の音素に対応しており、
前記木構造辞書は、
前記木構造辞書の先頭ノードから子ノードをたどっていくことにより、各非終端ノードを経由して、当該非終端ノードに対応する音素が自身の音素列の一部となっている単語に対応する終端ノードの全てに到達可能に構成されており、
前記複数の終端ノードにはそれぞれ、対応の単語の、所定の言語モデルによる第1の言語スコアテーブルが付されており、
前記複数の非終端ノードにはそれぞれ、当該非終端ノードから子ノードをたどっていくことにより到達できる終端ノードの全ての前記言語スコアテーブルから、当該言語スコアテーブルの最大値をとることにより作成される第2の言語スコアテーブルが付されており、
前記複数の非終端ノードの前記第2の言語スコアテーブルは、当該非終端ノードから子ノードをたどることにより到達できる終端ノードの数が所定のしきい値未満の場合には、当該第2の言語スコアテーブルより必要な記憶容量の小さな言語スコア情報に置換されていることを特徴とする、コンピュータ読取可能な木構造辞書を記録した記憶媒体。
A storage medium recording a tree structure dictionary composed of a plurality of non-terminal nodes having child nodes and a plurality of terminal nodes corresponding to words without having child nodes, wherein the plurality of non-terminal nodes are respectively It corresponds to a predetermined phoneme,
The tree structure dictionary
By following the child node from the first node of the tree structure dictionary, the terminal node corresponding to the word whose phoneme corresponding to the non-terminal node is part of its own phoneme sequence via each non-terminal node It is configured to reach all of the
Each of the plurality of terminal nodes is provided with a first language score table of a corresponding word according to a predetermined language model,
Each of the plurality of non-terminal nodes is created by taking the maximum value of the language score table from all the language score tables of the terminal nodes that can be reached by following the child nodes from the non-terminal node. With a language score table
The second language score table of the plurality of non-terminal nodes is the second language score table when the number of terminal nodes that can be reached by following the child nodes from the non-terminal nodes is less than a predetermined threshold value. A storage medium storing a computer-readable tree structure dictionary, characterized in that it is replaced with language score information having a smaller required storage capacity .
前記所定の言語モデルはバイグラム言語モデルである、請求項1に記載の記憶媒体。 The storage medium according to claim 1, wherein the predetermined language model is a bigram language model. 前記第2の言語スコアテーブルより必要な記憶容量の小さな言語スコア情報は、当該非終端ノードから到達できる終端ノード全てに関するユニグラムスコアの最大値である、請求項1又は請求項2のいずれかに記載の記憶媒体。 The language score information having a smaller storage capacity than that of the second language score table is a maximum value of a unigram score for all terminal nodes that can be reached from the non-terminal node. Storage media. 前記第2の言語スコアテーブルより必要な記憶容量の小さな言語スコア情報は、当該非終端ノードから到達できる終端ノード全てに関するクラスバイグラムスコアの最大値である、請求項1又は請求項2のいずれかに記載の記憶媒体。 The language score information having a smaller storage capacity required than the second language score table is a maximum value of a class bigram score for all terminal nodes that can be reached from the non-terminal node. Storage media. 前記第2の言語スコアテーブルは、前記第1の言語スコアテーブルと同じエントリ数を有し、かつ前記第2の言語スコアテーブルのエントリの各々は、当該非終端ノードから子ノードをたどることにより到達できる終端ノードの前記第1の言語スコアテーブルの対応するエントリの最大値からなる、請求項1〜請求項4のいずれかに記載の記憶媒体。 The second language score table has the same number of entries as the first language score table, and each entry of the second language score table can be reached by following a child node from the non-terminal node. The storage medium according to claim 1, comprising a maximum value of a corresponding entry in the first language score table of a terminal node. 子ノードを持つ複数の非終端ノードと、子ノードを持たずにそれぞれ単語に対応する複数の終端ノードとから構成される木構造辞書において、前記複数の非終端ノードに付与される言語スコアテーブルを作成するようにコンピュータを機能させるための言語スコアテーブル作成プログラムであって、前記複数の非終端ノードは、それぞれ所定の音素に対応しており、
前記木構造辞書は、
前記木構造辞書の先頭ノードから子ノードをたどっていくことにより、各非終端ノードを経由して、当該非終端ノードに対応する音素が自身の音素列の一部となっている単語に対応する終端ノードの全てに到達可能に構成されており、
前記複数の終端ノードにはそれぞれ、対応の単語の、所定の言語モデルによる第1の言語スコアテーブルが付されており、
前記言語スコアテーブル作成プログラムは、
前記複数の非終端ノードの各々について、当該非終端ノードから子ノードをたどっていくことにより到達できる終端ノードの数を算出するようにコンピュータを機能させるプログラム部分と、
前記複数の非終端ノードの各々において、当該非終端ノードの親ノードから言語スコアテーブルの要求を受けたことに応答して、当該非終端ノードの子ノードの各々に対して当該子ノードの言語スコアテーブルを要求するようにコンピュータを機能させるプログラム部分と、
前記複数の非終端ノードの各々において、前記言語スコアテーブルを要求するプログラム部分が実行されることにより、当該非終端ノードの子ノードの各々から返される言語スコアテーブルに基づき、当該非終端ノードの第2の言語スコアテーブルを作成するようにコンピュータを機能させるプログラム部分と、
前記言語スコアテーブルを作成するプログラム部分により作成された前記第2の言語スコアテーブルを前記親ノードに返すようにコンピュータを機能させるプログラム部分と、
当該非終端ノードから子ノードをたどることにより到達できる終端ノードの数が所定のしきい値に対して予め定める条件を充足しているか否かを判定するようにコンピュータを機能させるプログラム部分と、
前記条件が充足されていると判定されたことに応答して、当該非終端ノードについて作成された前記第2の言語スコアテーブルを、当該非終端ノードの言語スコアテーブルとして記憶装置に記憶させるようにコンピュータを機能させるプログラム部分と、
前記条件が充足されていないと判定されたことに応答して、当該非終端ノードの子ノードに対して、前記第2の言語スコアテーブルよりも必要な記憶容量の小さな言語スコア情報を要求する処理を行なうようにコンピュータを機能させるプログラム部分と、
前記第2の言語スコアテーブルよりも必要な記憶容量の小さな言語スコア情報を要求する処理に応答して子ノードから返される前記第2の言語スコアテーブルよりも必要な記憶容量の小さな言語スコア情報に基づいて、当該非終端ノードに関する、前記第2の言語スコアテーブルよりも必要な記憶容量の小さな言語スコア情報を作成し記憶装置に記憶させるようにコンピュータを機能させるプログラム部分と、
親ノードから前記第2の言語スコアテーブルよりも必要な記憶容量の小さな言語スコア情報の要求を受けたことに応答して、前記記憶装置に記憶された前記第2の言語スコアテーブルよりも必要な記憶容量の小さな言語スコア情報を前記親ノードに返すようにコンピュータを機能させるプログラム部分とを含む、言語スコアテーブル作成プログラム。
Create a language score table to be assigned to a plurality of non-terminal nodes in a tree structure dictionary composed of a plurality of non-terminal nodes having child nodes and a plurality of terminal nodes corresponding to words without having child nodes. A language score table creation program for causing a computer to function , wherein each of the plurality of non-terminal nodes corresponds to a predetermined phoneme,
The tree structure dictionary
By following the child node from the first node of the tree structure dictionary, the terminal node corresponding to the word whose phoneme corresponding to the non-terminal node is part of its own phoneme sequence via each non-terminal node It is configured to reach all of the
Each of the plurality of terminal nodes is provided with a first language score table of a corresponding word according to a predetermined language model,
The language score table creation program includes:
For each of the plurality of non-terminal nodes, a program part that causes the computer to function to calculate the number of terminal nodes that can be reached by following the child nodes from the non-terminal node;
In response to receiving a request for a language score table from a parent node of the non-terminal node in each of the plurality of non-terminal nodes, a language score table of the child node is requested to each of the child nodes of the non-terminal node A program part that causes the computer to function ,
By executing a program part that requests the language score table in each of the plurality of non-terminal nodes, the second language of the non-terminal node is based on the language score table returned from each of the child nodes of the non-terminal node. A program part that causes the computer to function to create a score table;
A program part for causing a computer to return the second language score table created by the program part for creating the language score table to the parent node;
A program part that causes a computer to function as to whether or not the number of terminal nodes that can be reached by following a child node from the non-terminal node satisfies a predetermined condition with respect to a predetermined threshold value;
In response to determining that the condition is satisfied , the computer stores the second language score table created for the non-terminal node in a storage device as the language score table of the non-terminal node. A program part to function ,
In response to determining that the condition is not satisfied, a process of requesting language score information having a smaller storage capacity than the second language score table to a child node of the non-terminal node. A program part that causes the computer to function as it does , and
The language score information having a smaller storage capacity than the second language score table returned from the child node in response to the process of requesting the language score information having a smaller storage capacity than the second language score table. Based on the non-terminal node , a program part that causes a computer to function to create language score information having a smaller storage capacity than the second language score table and store the language score information in a storage device;
In response to receiving the request for Do language score information small in required storage capacity than the second language score table from the parent node, required than the second language score table stored in the storage device A language score table creating program including a program part that causes a computer to function to return language score information with a small storage capacity to the parent node.
前記所定の言語モデルはバイグラム言語モデルである、請求項6に記載の言語スコアテーブル作成プログラム。 The language score table creation program according to claim 6, wherein the predetermined language model is a bigram language model. 前記第2の言語スコアテーブルよりも必要な記憶容量の小さな言語スコア情報は、各非終端ノードから子ノードをたどっていくことにより到達できる各終端ノードのユニグラムスコアの最大値である、請求項6又は請求項7のいずれかに記載の言語スコアテーブル作成プログラム。 The language score information having a smaller storage capacity than that of the second language score table is a maximum value of a unigram score of each terminal node that can be reached by following a child node from each non-terminal node. Or the language score table preparation program in any one of Claim 7. 前記第2の言語スコアテーブルよりも必要な記憶容量の小さな言語スコア情報は、各非終端ノードから子ノードをたどっていくことにより到達できる各終端ノードのクラスバイグラムスコアの最大値である、請求項6又は請求項7のいずれかに記載の言語スコアテーブル作成プログラム。 The language score information having a smaller storage capacity than that of the second language score table is a maximum value of a class bigram score of each terminal node that can be reached by following a child node from each non-terminal node. Or the language score table preparation program in any one of Claim 7. 前記第2の言語スコアテーブルは、前記第1の言語スコアテーブルと同じエントリ数を有し、かつ前記第2の言語スコアテーブルのエントリの各々は、当該非終端ノードから子ノードをたどることにより到達できる終端ノードの前記第1の言語スコアテーブルの対応するエントリの最大値からなり、
前記非終端ノードの前記第2の言語スコアテーブルを作成するようにコンピュータを機能させる前記プログラム部分は、前記複数の非終端ノードの各々において、前記言語スコアテーブルを要求するプログラム部分が実行されることにより、当該非終端ノードの子ノードの各々から返される言語スコアテーブルの各エントリにつき、最大値をとって当該非終端ノードの前記第2の言語スコアテーブルを作成するようにコンピュータを機能させるプログラム部分を含む、請求項6〜請求項9のいずれかに記載の言語スコアテーブル作成プログラム。
The second language score table has the same number of entries as the first language score table, and each entry of the second language score table can be reached by following a child node from the non-terminal node. Consisting of the maximum value of the corresponding entry in the first language score table of the terminal node,
The program part that causes the computer to function to create the second language score table of the non-terminal node is executed by executing a program part that requests the language score table in each of the plurality of non-terminal nodes. Including a program portion that causes a computer to function to create a second language score table for the non-terminal node with a maximum value for each entry in the language score table returned from each of the child nodes of the non-terminal node. The language score table creation program according to any one of Items 6 to 9.
JP2004074702A 2004-03-16 2004-03-16 Storage medium recording tree structure dictionary and language score table creation program for tree structure dictionary Expired - Fee Related JP4521631B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004074702A JP4521631B2 (en) 2004-03-16 2004-03-16 Storage medium recording tree structure dictionary and language score table creation program for tree structure dictionary

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004074702A JP4521631B2 (en) 2004-03-16 2004-03-16 Storage medium recording tree structure dictionary and language score table creation program for tree structure dictionary

Publications (2)

Publication Number Publication Date
JP2005265967A JP2005265967A (en) 2005-09-29
JP4521631B2 true JP4521631B2 (en) 2010-08-11

Family

ID=35090626

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004074702A Expired - Fee Related JP4521631B2 (en) 2004-03-16 2004-03-16 Storage medium recording tree structure dictionary and language score table creation program for tree structure dictionary

Country Status (1)

Country Link
JP (1) JP4521631B2 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4822829B2 (en) * 2005-12-14 2011-11-24 キヤノン株式会社 Speech recognition apparatus and method
JP4689497B2 (en) * 2006-02-28 2011-05-25 三菱電機株式会社 Voice recognition device
GB2453366B (en) * 2007-10-04 2011-04-06 Toshiba Res Europ Ltd Automatic speech recognition method and apparatus
JP5008078B2 (en) * 2007-10-05 2012-08-22 Kddi株式会社 Pattern recognition method and apparatus, pattern recognition program and recording medium therefor
JP5309343B2 (en) * 2011-08-01 2013-10-09 Kddi株式会社 Pattern recognition method and apparatus, pattern recognition program and recording medium therefor
US10482074B2 (en) 2016-03-23 2019-11-19 Wipro Limited System and method for classifying data with respect to a small dataset

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000075885A (en) * 1998-08-27 2000-03-14 Atr Onsei Honyaku Tsushin Kenkyusho:Kk Voice recognition device
JP2000261321A (en) * 1999-03-09 2000-09-22 Mitsubishi Electric Corp Method for searching element distribution, vector quantizing method, pattern recognizing method, sound recognizing method, sound recognizing device and recording medium recording program for deciding recognition result
JP2000293191A (en) * 1999-04-02 2000-10-20 Canon Inc Device and method for voice recognition and generating method of tree structured dictionary used in the recognition method
JP2003204321A (en) * 2001-10-26 2003-07-18 Matsushita Electric Ind Co Ltd Literary work protective system and key management system

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10301596A (en) * 1997-04-24 1998-11-13 Nippon Telegr & Teleph Corp <Ntt> Compression method of statistical language model

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000075885A (en) * 1998-08-27 2000-03-14 Atr Onsei Honyaku Tsushin Kenkyusho:Kk Voice recognition device
JP2000261321A (en) * 1999-03-09 2000-09-22 Mitsubishi Electric Corp Method for searching element distribution, vector quantizing method, pattern recognizing method, sound recognizing method, sound recognizing device and recording medium recording program for deciding recognition result
JP2000293191A (en) * 1999-04-02 2000-10-20 Canon Inc Device and method for voice recognition and generating method of tree structured dictionary used in the recognition method
JP2003204321A (en) * 2001-10-26 2003-07-18 Matsushita Electric Ind Co Ltd Literary work protective system and key management system

Also Published As

Publication number Publication date
JP2005265967A (en) 2005-09-29

Similar Documents

Publication Publication Date Title
US7403941B2 (en) System, method and technique for searching structured databases
JP4993762B2 (en) Example-based machine translation system
US8311825B2 (en) Automatic speech recognition method and apparatus
US7711561B2 (en) Speech recognition system and technique
US7636657B2 (en) Method and apparatus for automatic grammar generation from data entries
US6904402B1 (en) System and iterative method for lexicon, segmentation and language model joint optimization
US7529657B2 (en) Configurable parameters for grammar authoring for speech recognition and natural language understanding
JP4215418B2 (en) Word prediction method, speech recognition method, speech recognition apparatus and program using the method
US10242670B2 (en) Syntactic re-ranking of potential transcriptions during automatic speech recognition
JP2005258439A (en) Generating large unit of graphoneme with mutual information criterion for character-to-sound conversion
JP2003505778A (en) Phrase-based dialogue modeling with specific use in creating recognition grammars for voice control user interfaces
JP2001506382A (en) Pattern recognition registration in distributed systems
KR20080073298A (en) Word clustering for input data
US20110320464A1 (en) Retrieval device
JP6762819B2 (en) Input support device and program
US10783876B1 (en) Speech processing using contextual data
JP2000293191A (en) Device and method for voice recognition and generating method of tree structured dictionary used in the recognition method
JP4521631B2 (en) Storage medium recording tree structure dictionary and language score table creation program for tree structure dictionary
JP4528540B2 (en) Voice recognition method and apparatus, voice recognition program, and storage medium storing voice recognition program
KR100277690B1 (en) Speech Recognition Using Speech Act Information
JP2000267693A (en) Voice processor and index preparation device
JP2007233823A (en) Automatic summarization device and computer program
JP4810789B2 (en) Language model learning system, speech recognition system, language model learning method, and program
KR100278310B1 (en) Continuous Speech Recognition System Using Probability Dependent Method as Backward Language Model and Its Method
JP4275357B2 (en) Speech recognition apparatus, dictionary management method, and program

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20070226

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091224

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100119

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100319

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100512

R150 Certificate of patent or registration of utility model

Ref document number: 4521631

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130604

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees