JP2011033806A - Language model compression device, access device of language model, language model compression method, access method of language model, language model compression program, and access program of language model - Google Patents

Language model compression device, access device of language model, language model compression method, access method of language model, language model compression program, and access program of language model Download PDF

Info

Publication number
JP2011033806A
JP2011033806A JP2009179625A JP2009179625A JP2011033806A JP 2011033806 A JP2011033806 A JP 2011033806A JP 2009179625 A JP2009179625 A JP 2009179625A JP 2009179625 A JP2009179625 A JP 2009179625A JP 2011033806 A JP2011033806 A JP 2011033806A
Authority
JP
Japan
Prior art keywords
language model
gram
node
compression
expression
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
JP2009179625A
Other languages
Japanese (ja)
Other versions
JP5349193B2 (en
Inventor
Hajime Tsukada
元 塚田
Hideki Isozaki
秀樹 磯崎
Taro Watanabe
太郎 渡辺
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2009179625A priority Critical patent/JP5349193B2/en
Publication of JP2011033806A publication Critical patent/JP2011033806A/en
Application granted granted Critical
Publication of JP5349193B2 publication Critical patent/JP5349193B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Machine Translation (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide technology of efficiently accessing a language model by suppressing the amount of data of an n-gram language model as a learning result. <P>SOLUTION: The language model compression device 1 stores the n-gram language model in a language model storage section 5. A data structure conversion section 3 converts a pointer for indicating a first position of an (n+1)-gram in a data arrangement of the n-gram language model stored in the language model storage section 5, to fixed byte expression, and stores it in a conversion data storage section 6. A compression section 4 of pointer expression makes a virtual trie structure by providing a virtual route node in a tree structure of the n-gram language model stored in a conversion data storage section 6, and the pointer is compressed and converted to a level-order unary degree sequence (LOUDS) expression. The compressed and converted data is stored in a compression data storage section 7. A storage device (RAM) of a computer is mainly used for the storage section 7. <P>COPYRIGHT: (C)2011,JPO&INPIT

Description

本発明は、単語をn文字単位で分割し、それぞれの単語列とその出現頻度(確率)を求めたn−gram言語モデルを圧縮するための技術、および効率的にn−gram言語モデルにアクセスするための技術に関する。   The present invention divides a word into units of n characters, and a technique for compressing an n-gram language model obtained from each word string and its appearance frequency (probability), and efficiently accessing the n-gram language model It relates to technology.

周知のように、音声認識や統計的機械翻訳などの分野では、非特許文献1に示すように、出力される言語(単語列)の尤もらしさをモデル化するために、単語n個からなる単語列(n−gramと呼ぶ)に対する条件付確率(式1)が広く用いられている。   As is well known, in the field of speech recognition and statistical machine translation, as shown in Non-Patent Document 1, in order to model the likelihood of an output language (word string), a word consisting of n words The conditional probability (Equation 1) for a sequence (called n-gram) is widely used.

Figure 2011033806
Figure 2011033806

単語列(式2)の尤もらしさ(式3)は、式1の条件付確率を用いて、式4のように近似的に求めることができる。   The likelihood (Formula 3) of the word string (Formula 2) can be approximately calculated as Formula 4 using the conditional probability of Formula 1.

Figure 2011033806
Figure 2011033806

Figure 2011033806
Figure 2011033806

Figure 2011033806
Figure 2011033806

このような式1の条件付確率を与えるモデルは、n−gram言語モデルと呼ばれている。「n」の大きさとしては、音声認識では「3〜4」の値を、統計的機械翻訳では「4〜5」の値を用いることが多い。式1の条件付確率は、式5のように、再帰的に計算される。また、式2は、単語w1,w2,・・・,wnを省略標記したものである。 Such a model that gives the conditional probability of Equation 1 is called an n-gram language model. As the magnitude of “n”, a value of “3-4” is often used for speech recognition, and a value of “4-5” is often used for statistical machine translation. The conditional probability of Equation 1 is recursively calculated as Equation 5. In addition, Equation 2, the words w 1, w 2, ···, is obtained by omitting the title the w n.

Figure 2011033806
Figure 2011033806

このような統計モデルを計算機(コンピュータ)で利用するためには、まず、学習データに現れる単語列(式2)に応じて、式6の平滑された確率、式7のバックオフ係数などの情報を格納すること、さらに単語列(式2)を入力として、前記各情報に効率的にアクセスできることが必要となる。   In order to use such a statistical model in a computer (computer), first, information such as the smoothed probability of Expression 6 and the backoff coefficient of Expression 7 according to the word string (Expression 2) appearing in the learning data. , And the word string (Equation 2) as an input must be able to be accessed efficiently.

Figure 2011033806
Figure 2011033806

Figure 2011033806
Figure 2011033806

そして、音声認識や統計的機械翻訳などn−gramのアプリケーションの性能を高めるためには、非特許文献2に示すように、大量の学習データを用いてこれらのパラメータを学習することはもとより、学習データを増やすことで、そこに現れる正しい単語列(式2)のバリエーション(n−gramのバリエーション)を多数保持することが有効と知られている。   In order to improve the performance of n-gram applications such as speech recognition and statistical machine translation, as shown in Non-Patent Document 2, not only learning these parameters using a large amount of learning data, but also learning It is known that by increasing the data, it is effective to maintain a large number of variations (n-gram variations) of the correct word string (formula 2) appearing there.

また、n−gram言語モデルは、非特許文献3に示すように、木構造(データ構造)で表現できることが知られている。さらに木構造の一種であるトライ(trie)をコンパクトに表現する手法として、非特許文献4.5に示すように、LOUDS(Level−Order Unary Degree Sequence)が知られている。ここでトライとは、1つのルートノードを持つ順序付き木構造の一種であり、プレフィックス木(Prefix Tree)とも呼ばれている。   Further, it is known that the n-gram language model can be expressed by a tree structure (data structure) as shown in Non-Patent Document 3. Furthermore, as shown in Non-Patent Document 4.5, LOUDS (Level-Order Undegree Sequence Sequence) is known as a technique for compactly expressing a trie that is a kind of tree structure. Here, a trie is a kind of an ordered tree structure having one root node, and is also called a prefix tree (Prefix Tree).

S. M. Katz, “Estimation of Probabilities from Sparse Data for the Language Model Component of a Speech Recognizer,” IEEE TRANSACTIONS ON ACOUSTIC, SPEECH, AND SIGNAL PROCESSING, VOL.ASSP−35,NO.3,MARCH 1987,pp. 400−401S. M.M. Katz, “Estimation of Probabilities from Sparse Data for the Language Model Component of a Speech Recognizer,” IEEE TRANSACTIONS ON ACUUS. ASSP-35, NO. 3, MARCH 1987, pp. 400-401 T. Brants, A. C. Popat, P. Xu, F. J. Och, and J. Dean, Large Language Models in Machine Translation, Proceedings of the 2007 Joint Conference on Empirical Methods in Natural Language Processing and Computational Natural Language Learning (EMNLP−CoNLL), pp. 858−−867, 2007.T.A. Brants, A.B. C. Popat, P.M. Xu, F.A. J. et al. Och, and J.M. Dean, Large Language Models in Machine Translation, Proceedings of the 2007, Joint Conferencing on Empirical Principles in Natural Language Processing. 858--867, 2007. B. Raj and E.W.D. Whittaker. ”LOSSLESS COMPRESSION OF LANGUAGE MODEL STRUCTURE AND WORD IDENTIFIERS” In Proceedings of ICASSP, volume 1, pages I≡388≡I≡391 vol.1, April 2003.B. Raj and E.M. W. D. Whitaker. “LOSSLESS COMPRESION OF LANGUAGE MODEL STRUCTURE AND WORD IDENTIFIERS” In Proceedings of ICASSP, volume 1, pages I≡388≡I≡391 vol. 1, April 2003. O’Neil Delpratt, Naila Rahman, and Rajeev Raman. ”Engineering the LOUDS Succinct Tree Representation” In Proceedings of the 5th International Workshop on Experimental Algorithms, pages 134≡145, 2006.O'Neil Delpratt, Naila Rahman, and Rajeev Raman. "Engineering the LOUDS Success Tree Representation" In Proceedings of the 5th International Workshop on Exponential Algorithms, pages 134≡145, 2006. Guy Jacobson. ”Space−efficient Static Trees and Graphs” In 30th Annual Symposium on Foundations of Computer Science, pages 549≡554, Nov 1989.Guy Jacobson. “Space-Efficient Static Trees and Graphs” In 30th Annual Symposium on Foundations of Computer Science, pages 549≡554, Nov 1989. Dong Kyue Kim, Joong Chae Na, Ji Eun Kim, and Kunsoo Park. ”Efficient implementation of rank and select functions for succinct representation” In Proceedings of the 5th International Workshop on Experimental Algorithms, pages 315≡327, 2005.Dong Kyue Kim, Joong Chae Na, Ji Eun Kim, and Kunsoo Park. “Efficient implementation of rank and select functions for successful re-presentation”, In Proceedings of the 5th International Working on Exponential 3

しかしながら、大量のデータで学習したn−gram言語モデルは、非常に多種多様なn−gramを格納するため、モデル表現が巨大になってしまう。特に、n−gram言語モデルを使う際には効率的なアクセスが要求されるため、それを考慮したデータ構造は大きなものとなり易い。   However, since the n-gram language model learned from a large amount of data stores a very wide variety of n-grams, the model expression becomes huge. In particular, since efficient access is required when using the n-gram language model, the data structure considering it tends to be large.

その一方で効率的なアクセスを実現するためには、n−gram言語モデルを主記憶装置(RAM)に格納することが好ましいが、現代の計算機(コンピュータ)をもってしても主記憶装置の記憶容量には限界がある。例えば、全Webデータで学習した巨大なn−gramを、従来法で表現すると40GB以上の容量が必要となるため、一部の非常に高価な計算機を除いて主記憶装置に保持することは困難である。   On the other hand, in order to achieve efficient access, it is preferable to store the n-gram language model in the main memory (RAM), but even with a modern computer (computer), the storage capacity of the main memory Has its limits. For example, if a conventional method is used to express a huge n-gram learned from all Web data, a capacity of 40 GB or more is required. Therefore, it is difficult to store the huge n-gram in the main storage device except for some very expensive computers. It is.

また、n−gram言語モデルの木構造の表現は、ルートノードが存在しない(あるいは1つではない)。トライ構造をコンパクトに表現する方法は知られているが、n−gram言語モデルのデータ構造はトライではないため、トライ構造をコンパクトに表現する方法をn−gram言語モデルの表現に応用するには、さらなる工夫が必要である。   In addition, the tree structure representation of the n-gram language model has no root node (or not one). Although a method for expressing the trie structure in a compact manner is known, since the data structure of the n-gram language model is not a trie, the method for expressing the trie structure in a compact manner can be applied to the representation of the n-gram language model. Further ingenuity is necessary.

本発明は、上述のような従来技術の問題点を解決するためになされたものであり、n−gram言語モデルのデータ量を抑制し、効率的にアクセス可能な技術を提供することを解決課題とする。   The present invention has been made in order to solve the above-described problems of the prior art, and provides a technology that can efficiently access data by suppressing the data amount of the n-gram language model. And

そこで、本発明は、自然言語処理システムなどで用いられるn−gram言語モデルのデータ構造をトライ(木構造)に変換し、トライをコンパクトに表現するLOUDSという手法によって、より少ないビット列で表現する。さらに、n−gramの特性を考慮して、この手法を改良する。   Therefore, the present invention converts the data structure of an n-gram language model used in a natural language processing system or the like into a trie (tree structure) and expresses the trie with a smaller number of bit strings by a technique called LOUDS. Furthermore, this method is improved in consideration of the characteristics of n-gram.

本発明に係る言語モデル圧縮装置の一態様は、仮想的なルートノードを設けて、n−gram言語モデルの構造をトライ構造に変換するデータ構造変換手段と、前記データ構造変換手段にて変換されたトライ構造をLOUDS(Level−Order Unary Degree Sequence)表現に圧縮変換する圧縮手段と、を備える。   One aspect of the language model compression apparatus according to the present invention is provided with a virtual root node, a data structure conversion unit that converts the structure of an n-gram language model into a trie structure, and the data structure conversion unit Compression means for compressing and converting the trie structure into a LOUDS (Level-Order Unary Degree Sequence) expression.

本発明に係る言語モデルの他の態様は、n−gram言語モデルの最高次数の最初のノードの位置(ノードID)を記憶装置に記憶し、n−gram言語モデルの構造を表すポインタ表現を、最高次数のn−gramを削除した表現に変換するデータ構造変換手段を、備える。ここでは1−gramの個数N1を記憶装置に記憶し、前記データ構造変換手段にて変換したn−gram言語モデルの構造を、スーパーノード(トライ構造のルートノードを指す仮想的なルートノード)および最高次数のn−gramに対応したビットをもたないように拡張したLOUDS表現に圧縮変換する圧縮手段を、さらに備えてもよい。 In another aspect of the language model according to the present invention, the position (node ID) of the first node of the highest order of the n-gram language model is stored in a storage device, and a pointer expression representing the structure of the n-gram language model is stored. Data structure conversion means for converting the highest-order n-gram into a deleted expression is provided. Here, the number N 1 of 1-grams is stored in the storage device, and the structure of the n-gram language model converted by the data structure conversion means is a super node (virtual root node indicating the root node of the tri structure). And compression means for compressing and converting the data into a LOUDS expression expanded so as not to have a bit corresponding to the highest order n-gram.

本発明に係る言語モデルのアクセス装置の一態様は、入力された単語列のn−gramの位置xに対して、親ノード「(n−1)−gram」(parent)の位置を、式8により算出して出力する第1のアクセス手段と、
入力された単語列のn−gramの位置xに対して、子ノード「(n+1)−gram」のうち単語IDの最も小さい子ノード(first_child)の位置を、式9により算出して出力する第2のアクセス手段と、を備える。
In one aspect of the language model access device according to the present invention, the position of the parent node “(n−1) -gram” (parent) is expressed by Expression 8 with respect to the n-gram position x of the input word string. First access means for calculating and outputting by
The position of the child node (first_child) having the smallest word ID among the child nodes “(n + 1) -gram” is calculated by Expression 9 with respect to the n-gram position x of the input word string and output. Two access means.

Figure 2011033806
Figure 2011033806

Figure 2011033806
Figure 2011033806

本発明に係る言語モデルのアクセス装置の他の態様は、入力された単語列のn−gramの位置xに対して、親ノード「(n−1)−gram」(parent)の位置を、式10により算出して出力する第1のアクセス手段と、入力された単語列のn−gramの位置xに対して、子ノード「(n+1)−gram」のうち単語IDの最も小さい子ノード(first_child)の位置を、式11により算出して出力する第2のアクセス手段と、を備える。   According to another aspect of the language model access device of the present invention, the position of the parent node “(n−1) -gram” (parent) is expressed with respect to the position x of the n-gram of the input word string. The first access means calculated and output by 10 and the child node (first_child) having the smallest word ID among the child nodes “(n + 1) -gram” with respect to the n-gram position x of the input word string The second access means for calculating and outputting the position of

Figure 2011033806
Figure 2011033806

Figure 2011033806
Figure 2011033806

本発明に係る言語モデル圧縮方法の一態様は、データ構造変換手段が、仮想的なルートノードを設けて、n−gram言語モデルの構造をトライ構造に変換するデータ構造変換ステップと、圧縮手段が、前記データ構造変換ステップにて変換されたトライ構造をLOUDS(Level−Order Unary Degree Sequence)表現に圧縮変換する圧縮ステップと、を有する。   One aspect of the language model compression method according to the present invention is a data structure conversion step in which the data structure conversion means provides a virtual root node to convert the structure of the n-gram language model into a trie structure, and the compression means And a compression step of compressing and converting the trie structure converted in the data structure conversion step into a LOUDS (Level-Order Unary Degree Sequence) expression.

本発明に係る言語モデル圧縮方法の他の態様は、データ構造変換手段が、前記n−gram言語モデルの最高次数の最初のノードの位置(ノードID)を記憶装置に記憶し、n−gram言語モデルの構造を表すポインタ表現を、最高次数のn−gramを削除した表現に変換するデータ構造変換ステップを、有する。ここでは圧縮手段が、1−gramの個数N1を記憶装置に記憶させ、前記データ構造変換手段にて変換したn−gram言語モデルの構造を、スーパーノード(トライ構造のルートノードを指す仮想的なルートノード)および最高次数のn−gramに対応したビットをもたないように拡張したLOUDS表現に圧縮変換する圧縮ステップを、さらに有してもよい。 In another aspect of the language model compression method according to the present invention, the data structure conversion means stores the position (node ID) of the first node of the highest degree of the n-gram language model in the storage device, and the n-gram language A data structure conversion step of converting the pointer expression representing the structure of the model into an expression from which the highest order n-gram is deleted. Here, the compression means stores the number N 1 of 1-grams in a storage device, and the structure of the n-gram language model converted by the data structure conversion means is a super node (virtual node indicating the root node of the tri structure). And a compression step of compressing and converting the data into a LOUDS expression expanded so as not to have a bit corresponding to the highest order n-gram.

本発明に係る言語モデルのアクセス方法の一態様は、第1のアクセス手段が、入力された単語列のn−gramの位置xに対して、親ノード「(n−1)−gram」(parent)の位置を、式8により算出して出力するステップと、第2のアクセス手段が、入力された単語列のn−gramの位置xに対して、子ノード「(n+1)−gram」のうち単語IDの最も小さい子ノード(first_child)の位置を、式9により算出して出力するステップと、を有する。   In one aspect of the language model access method according to the present invention, the first access means performs the parent node “(n−1) -gram” (parent) with respect to the n-gram position x of the input word string. ) And calculating and outputting the position of () by the expression 8, and the second access means includes the child node “(n + 1) -gram” with respect to the position x of the n-gram of the input word string. And calculating and outputting the position of the child node (first_child) having the smallest word ID according to equation (9).

Figure 2011033806
Figure 2011033806

Figure 2011033806
Figure 2011033806

本発明に係る言語モデルのアクセス方法の他の態様は、第1のアクセス手段が、入力された単語列のn−gramの位置xに対して、親ノード「(n−1)−gram」(parent)の位置を、式10により算出して出力するステップと、第2のアクセス手段が、入力された単語列のn−gramの位置xに対して、子ノード「(n+1)−gram」のうち単語IDの最も小さい子ノード(first_child)の位置を、式11により算出して出力するステップと、を有する。   In another aspect of the language model access method according to the present invention, the first access means performs a parent node “(n−1) -gram” (with respect to the n-gram position x of the input word string. The position of parent) is calculated and output by Expression 10, and the second access means sets the child node “(n + 1) -gram” to the position x of the n-gram of the input word string. A step of calculating and outputting the position of the child node (first_child) having the smallest word ID according to equation (11).

Figure 2011033806
Figure 2011033806

Figure 2011033806
Figure 2011033806

なお、本発明は、前記各装置としてコンピュータを機能させるためのプログラムの態様としてもよい。このプログラムは記録媒体に記録した態様で配布・提供することができる。   In addition, this invention is good also as an aspect of the program for functioning a computer as said each apparatus. This program can be distributed and provided in a form recorded on a recording medium.

本発明によれば、n−gram言語モデルの構造を規定するポインタ表現のデータ量が抑制される。このことにより巨大なn−gram言語モデルであっても、ポインタ表現のすべてもしくは大部分を、アクセスの遅いハードディスクドライブ装置に代わって,アクセスの高速なメモリ(RAM)上に保持することが可能となる。本発明により巨大なn−gram言語モデルを用いた機械翻訳や音声認識などにあたって、効率的にn−gram言語モデルにアクセスすることが可能となり、処理の高速化に貢献する。   According to the present invention, the data amount of the pointer expression that defines the structure of the n-gram language model is suppressed. As a result, even with a huge n-gram language model, it is possible to hold all or most of the pointer representation on a high-speed memory (RAM) instead of a hard-disk device that is slow to access. Become. The present invention makes it possible to efficiently access an n-gram language model in machine translation and speech recognition using a huge n-gram language model, which contributes to speeding up of processing.

本発明の実施形態に係る言語モデル圧縮装置および言語モデルのアクセス装置の構成図。The lineblock diagram of the language model compression device and language model access device concerning an embodiment of the present invention. 同 言語モデル記憶部に記憶されたn−gram言語モデルのデータ構造図。The data structure figure of the n-gram language model memorize | stored in the same language model memory | storage part. 同 データ構造変換部の変換後におけるn−gram言語モデルのデータ構造図。The data structure figure of the n-gram language model after the conversion of the data structure conversion part. トライ構造に基づくポインタ表現を示す図。The figure which shows the pointer expression based on a trie structure. n−gram構造に基づくポインタ表現を示す図。The figure which shows the pointer expression based on an n-gram structure. トライ構造の構造図。Structure diagram of the trie structure. n−gramの構造図。Structure diagram of n-gram.

以下、本発明の実施形態に係る言語モデル圧縮装置および言語モデルのアクセス装置を説明する。この両装置は、音声認識装置や機械翻訳機などの自然言語処理システムにおいてコンビネーションとして利用される。ここでは前記圧縮装置は、n−gramの学習装置により生成されたn−gram言語モデルのデータ量を抑制する一方、前記アクセス装置は音声認識や統計的機械翻訳にあたって前記圧縮装置でデータ容量を抑制されたn−gram言語モデルにアクセスする。   Hereinafter, a language model compression device and a language model access device according to an embodiment of the present invention will be described. Both of these devices are used as a combination in a natural language processing system such as a speech recognition device or a machine translator. Here, the compression device suppresses the data amount of the n-gram language model generated by the n-gram learning device, while the access device suppresses the data capacity by the compression device for speech recognition and statistical machine translation. Access the generated n-gram language model.

具体的には前記各装置は、コンピュータにより構成され、通常のコンピュータのハードウェアリソース、例えばCPU,メモリ(RAM)などの主記憶装置,ハードディスクドライブ装置などを備えている。   Specifically, each of the devices is configured by a computer and includes hardware resources of a normal computer, for example, a main storage device such as a CPU and a memory (RAM), a hard disk drive device, and the like.

このハードウェアリソースとソフトウェアリソース(OS,アプリケーションなど)との協働の結果、図1に示すように、前記圧縮装置1は、データ構造変換部3,ポインタ表現の圧縮部4,言語モデル記憶部5,変換データ記憶部6,圧縮データ記憶部7を実装する一方、前記アクセス装置2は、n−gramアクセス部(first_child)8,n−gramアクセス部(parent)9を実装する。なお、前記両装置1.2は、必ずしも複数のコンピュータで構成する必要はなく、単一のコンピュータで構成してもよい。   As a result of the cooperation between the hardware resource and the software resource (OS, application, etc.), as shown in FIG. 1, the compression apparatus 1 includes a data structure conversion unit 3, a pointer expression compression unit 4, a language model storage unit. 5, the conversion data storage unit 6 and the compressed data storage unit 7 are mounted, while the access device 2 mounts an n-gram access unit (first_child) 8 and an n-gram access unit (parent) 9. Both devices 1.2 are not necessarily composed of a plurality of computers, and may be composed of a single computer.

概略を説明すれば、前記各記憶部5〜7は、前記ハードディスクドライブ装置あるいは前記主記憶装置に構築されている。このうち前記言語モデル記憶部5は、大量の学習用データ(例えばWebデータなど)に基づく学習結果として生成された言語モデルを格納する。ここで格納される言語モデルは、通常の「n−gram言語モデルのデータ構造」形式で表現されているものとする。   In brief, each of the storage units 5 to 7 is constructed in the hard disk drive device or the main storage device. Among these, the language model storage unit 5 stores a language model generated as a learning result based on a large amount of learning data (for example, Web data). It is assumed that the language model stored here is expressed in the normal “data structure of n-gram language model” format.

前記データ構造変換部3は、矢印Aに示すように、前記言語モデル記憶部5の言語モデルを入力とし、ポインタの固定バイト表現されたn−gram言語モデルのデータ構造に変換する(データ変換ステップ)。この変換後のデータは、矢印Bに示すように、前記変換データ記憶部6に蓄積される。   As shown by an arrow A, the data structure conversion unit 3 receives the language model of the language model storage unit 5 and converts it into an n-gram language model data structure represented by a fixed byte of a pointer (data conversion step). ). The converted data is stored in the converted data storage unit 6 as indicated by an arrow B.

前記ポインタ表現の圧縮部4は、矢印Cに示すように、前記変換データ記憶部6の蓄積データを入力とし、該蓄積データにポインタ配列をコンパクトに表現する処理を加え、データ量を圧縮する(ポインタ表現の圧縮ステップ)。すなわち、ポインタのLOUDS表現されたn−gram言語モデルのデータ構造に圧縮変換し、矢印Dに示すように、前記圧縮データ記憶部7に記憶させる。   As indicated by an arrow C, the pointer representation compression unit 4 receives the accumulated data of the converted data storage unit 6 as an input, adds a process for compactly representing the pointer array to the accumulated data, and compresses the data amount ( Pointer expression compression step). That is, the data is compressed and converted into a data structure of an n-gram language model in which pointers are expressed in LOUDS, and stored in the compressed data storage unit 7 as indicated by an arrow D.

前記アクセス装置2は、図示省略の入力手段を通じて与えられた単語列(n−gram)を入力とし、矢印E.Fに示すように、前記圧縮データ記憶部7の記憶データ、即ち圧縮表現されたn−gram言語モデルのポインタにアクセスする(アクセスステップ)。具体的には、前記アクセス部8は、矢印Gに示すように、n−gram(単語列)の位置を入力とし、前記圧縮データ記憶部7を参照して、矢印Hに示すように、(n+1)−gramの位置を出力する。一方、前記アクセス部9は、矢印Iに示すように、n−gram(単語列)の位置を入力とし、前記圧縮データ記憶部7を参照して、矢印Jに示すように、(n−1)−gramの位置を出力する。以下、前記両装置1.2の各機能ブロック3〜9の詳細を説明する。   The access device 2 receives a word string (n-gram) given through an input unit (not shown) as an input, As shown in F, the stored data of the compressed data storage unit 7, that is, the pointer of the compressed n-gram language model is accessed (access step). Specifically, the access unit 8 receives the position of an n-gram (word string) as indicated by an arrow G, and refers to the compressed data storage unit 7 as indicated by an arrow H ( The position of (n + 1) -gram is output. On the other hand, the access unit 9 receives the position of n-gram (word string) as indicated by an arrow I and refers to the compressed data storage unit 7 as indicated by an arrow J (n−1). ) -Gram output position. Hereinafter, the details of the functional blocks 3 to 9 of both the devices 1.2 will be described.

≪言語モデル圧縮装置1≫
(1)データ構造変換部3
まず、前記言語モデル記憶部5の格納データ、即ちn−gramのデータ構造を説明する。このn−gramは、図2のデータ構造で表現され(非特許文献2参照)、「1−gram, 2−gram, 3−gram, …」は、それぞれ前記言語モデル記憶部5の別テーブルで表現される。
<< Language Model Compression Device 1 >>
(1) Data structure conversion unit 3
First, data stored in the language model storage unit 5, that is, an n-gram data structure will be described. This n-gram is expressed by the data structure of FIG. 2 (see Non-Patent Document 2), and “1-gram, 2-gram, 3-gram,...” Is a separate table of the language model storage unit 5. Expressed.

このn−gramのテーブルの各列は、単語wnの単語ID(word id)、式6の平滑化された確率値(probability)、式7のバックオフ係数(back−off)、(X+1)−gramの最初の位置を示すポインタ(pointer)を有している(Xは1≦X≦nの整数)。各テーブルは、このような四つ組の配列として表現される。ポインタとしては、この配列のインデックスを用いることができる。例えば4バイト整数によってポインタを実現できる。 Each column of the table in the n-gram, the word w n word ID of (word id), smoothed probability value of formula 6 (probability), the back-off factor of the formula 7 (back-off), ( X + 1) -It has a pointer indicating the first position of gram (X is an integer of 1 ≦ X ≦ n). Each table is represented as an array of such quadruples. An index of this array can be used as a pointer. For example, a pointer can be realized by a 4-byte integer.

ここでX−gram(Xは1≦X≦nの整数)のポインタの指す先の連続した領域には、式12の履歴を共有する(X+1)−gramが、wx+1の単語ID順にソートされて格納される。 Here, in the previous continuous area pointed to by the pointer of X-gram (X is an integer of 1 ≦ X ≦ n), (X + 1) -gram sharing the history of Expression 12 is in the order of word IDs of w x + 1. Sorted and stored.

Figure 2011033806
Figure 2011033806

この領域の終わりの境界は、X−gramの次のエントリのポインタが指す先で規定される。あるX−gramを探すには、それを構成する単語毎にバイナリ探索が実施されるため、合計X回のバイナリ探索が行われる。単語IDを1−gramテーブルの各行の位置で定義することで、図2に示すように、1−gramの単語IDの列は省略することができる。   The boundary of the end of this area is defined by the destination pointed by the pointer of the next entry of the X-gram. In order to search for a certain X-gram, a binary search is performed for each word constituting the X-gram, so a total of X binary searches are performed. By defining the word ID at the position of each row of the 1-gram table, the column of the word ID of 1-gram can be omitted as shown in FIG.

前記データ構造変換部3は、前記言語モデル記憶部5に格納されている図2のデータ構造を変換し、図3に示すように、単語ID、平滑化された確率値、バックオフ係数、ポインタの各々を別々の配列で表し、前記変換データ記憶部6に格納する。ここでは1−gramの後ろに2−gramの情報を、2−gramの後に3−gramの情報を連結し、該連結処理を順次に実施する。なお、オーダの境界(2−gram,3−gram,…の開始位置)を、別途主記憶装置に記憶し、各オーダの情報にアクセスできるようにする。   The data structure conversion unit 3 converts the data structure of FIG. 2 stored in the language model storage unit 5, and as shown in FIG. 3, a word ID, a smoothed probability value, a backoff coefficient, a pointer Are represented in separate arrays and stored in the converted data storage unit 6. Here, 2-gram information is connected after 1-gram, 3-gram information is connected after 2-gram, and the connection processing is sequentially performed. The order boundaries (start positions of 2-gram, 3-gram,...) Are separately stored in the main storage device so that information on each order can be accessed.

ポインタ配列としては、図4のトライ(trie)構造に基づく表現(第1形態)と、図5のn−gram構造に基づく表現(第2形態)のいずれかを使用する。なお、図4.5は、それぞれ図6.7の木構造に対応したポインタ構造を表す。配列の要素となるポインタは、固定バイト(例えば4バイト)整数で表現されているものとする。   As the pointer array, either an expression based on the trie structure of FIG. 4 (first form) or an expression based on the n-gram structure of FIG. 5 (second form) is used. FIG. 4.5 shows a pointer structure corresponding to the tree structure of FIG. 6.7. It is assumed that the pointer that is an element of the array is expressed by a fixed byte (for example, 4 bytes) integer.

なお、第2形態においては、n−gram言語モデルの最高次数の最初のエントリの位置を記憶しておき、第1形態のポインタ配列ではそれ以降に格納されていた最高次数のn−gramのポインタを第2形態では格納しないものとする。ただし、最高次数n−gramの情報を格納しないのは、ポインタ配列だけであり、その他の単語ID(word id)、平滑化された式6の確率値(probability)、式7のバックオフ係数(back−off)については、最高次数n−gramの情報も格納する。   In the second form, the position of the first entry of the highest order of the n-gram language model is stored, and the pointer of the highest order n-gram stored after that in the pointer array of the first form. Are not stored in the second form. However, it is only the pointer array that does not store the information of the highest order n-gram, the other word ID (word id), the smoothed probability value (probability) of Equation 6, and the back-off coefficient of Equation 7 ( For back-off), information on the highest order n-gram is also stored.

(2)ポインタ表現の圧縮部4
前記圧縮部4は、前記変換データ記憶部6を参照して、前記データ構造変換部3で変換した各配列のうち、ポインタを示す配列をコンパクトに表現して、前記変換データ記憶部6に格納する。以下、各形態の具体的内容を説明する。
(2) Compression unit 4 for pointer expression
The compression unit 4 refers to the converted data storage unit 6, and compactly represents an array indicating a pointer among the arrays converted by the data structure conversion unit 3, and stores it in the converted data storage unit 6. To do. Hereinafter, the specific content of each form is demonstrated.

<第1形態>
まず、前記圧縮部4における第1形態について説明する。トライ(trie)とは、木構造の一種であり、1つルートノードを持つ木構造で表される。図2に示したn−gramのデータ構造は、ルートノードが1つではないためトライではないが、ここでは仮想的なルートノードを設けることにより、n−gramのデータ構造をトライに擬制して、コンパクトなトライ表現法であるLOUDS(非特許文献4.5参照)を応用し、ポインタ配列を圧縮する。
<First form>
First, the 1st form in the said compression part 4 is demonstrated. A trie is a kind of tree structure and is represented by a tree structure having one root node. The n-gram data structure shown in FIG. 2 is not a trie because there is no single root node, but here a virtual root node is provided to simulate the n-gram data structure as a trie. The pointer array is compressed by applying LOUDS (see Non-Patent Document 4.5), which is a compact trie expression method.

詳細を説明すれば、LOUDSによる表現では、ルートノードから始まり、「1−gram,2−gram,…」の階層順で左から右、即ち幅優先の順序で、ノードにノードIDが割り当てられる。ここではd個(d≧0)の子供(子ノード)を有するノード(親ノード)は、「1d0」のビット列で表現される(「1d」は、「1」がd個ならんでいるビット列を表している。)。仮想的なルートノードを指すさらなる仮想的なノードとしてスーパールートノードを設ける。スーパールートノードの子供はルートノード一つであるから、スーパールートノードは「10」で表される。 More specifically, in the LOUDS expression, the node IDs are assigned to the nodes in the hierarchical order of “1-gram, 2-gram,...” From left to right, that is, in order of width priority. Here, a node (parent node) having d (d ≧ 0) children (child nodes) is represented by a bit string of “1 d 0” (“1 d ” includes d “1”). Represents a bit string.) A super root node is provided as a further virtual node indicating a virtual root node. Since the child of the super root node is one root node, the super root node is represented by “10”.

図6はトライ構造の一例を示している。このトライ構造例のLOUDSビット列によるポインタ表現を表1に示す。   FIG. 6 shows an example of the trie structure. Table 1 shows pointer representations of the LOUDS bit string of this trie structure example.

Figure 2011033806
Figure 2011033806

前記トライ構造例によれば、ルートノード「0」は、4つの子供を持つことから、4つの「1」と終わりを表す1つの「0」とで表されている。ここでM個のノードを有するトライは、(M+1)個の「0」と,M個の「1」とで表されるため、合計2M+1ビットで表現される.
X−gramの個数をNxと表し、式13を用いれば、n−gram言語モデルでは式14が成立する。したがって、n−gram言語モデルは、式15のビット数でポインタが表現される。ここで圧縮表現されたポインタが前記圧縮データ記憶部7に記憶される。
According to the trie structure example, since the root node “0” has four children, the root node “0” is represented by four “1” s and one “0” representing the end. Here, a trie having M nodes is represented by (M + 1) “0” s and M “1s”, and thus is represented by a total of 2M + 1 bits.
If the number of X-grams is expressed as N x and Expression 13 is used, Expression 14 is established in the n-gram language model. Therefore, in the n-gram language model, a pointer is expressed by the number of bits of Expression 15. Here, the pointer expressed in a compressed manner is stored in the compressed data storage unit 7.

Figure 2011033806
Figure 2011033806

Figure 2011033806
Figure 2011033806

Figure 2011033806
Figure 2011033806

以上のように圧縮表現されたn−gram言語モデルにアクセスするためには、LOUDSビット列上に、ビット列中のi番目の「1」の位置を返す「select1(i)」という操作を定義する。ここでビットの位置は、表1に示すように、「0」から始まっているものとする。同様にビット列中のi番目の「0」の位置を返す操作として「select0(i)」を定義できる。 In order to access the n-gram language model expressed in a compressed manner as described above, an operation called “select 1 (i)” that returns the position of the i-th “1” in the bit string is defined on the LOUDS bit string. . Here, it is assumed that the bit positions start from “0” as shown in Table 1. Similarly, “select 0 (i)” can be defined as an operation for returning the i-th “0” position in the bit string.

「selectb(i)(b=0 or 1)」は、非特許文献6などの手法を用いて、効率的に実現することができる。この操作を用いることで、ノードx(ノードID=「x」のノード)に対して親ノードIDを返す関数「parent(x)」や、ノードxに対して最初の子供のIDを返す関数「first_child(x)」が式8.式9で実現される。 “Select b (i) (b = 0 or 1)” can be efficiently realized by using a technique such as Non-Patent Document 6. By using this operation, a function “parent (x)” that returns the parent node ID to the node x (node ID = “x” node) or a function “that returns the first child ID to the node x” first_child (x) " This is realized by Equation 9.

Figure 2011033806
Figure 2011033806

Figure 2011033806
Figure 2011033806

例えば、ノード9の親ノードは、「parent(9)=select(9+1)−9−1=12−9−1=2」から、ノード2と求められる。また、ノード9の最初の子ノードは、「first_child(9)=select0(9+1)−9=23−9=14」となり,ノード14であると求まる。 For example, the parent node of the node 9 is obtained as the node 2 from “parent (9) = select (9 + 1) −9-1 = 12−9-1 = 2”. Further, the first child node of the node 9 is “first_child (9) = select 0 (9 + 1) −9 = 23−9 = 14”, and is determined to be the node 14.

ただし、「first_child(x)」が、0以上のノードIDを返すからといってノードxが、子ノードを有することが保証されるとは限らない。ノードxが子ノードを有する必要十分条件は、「first_child(x)≠first_child(x+1)」である。またノードxに係る子ノードのIDの範囲は、[first_child(x),first_child(x+1))で求まる。前記n−gramアクセス装置2では、以上の関数を利用してn−gram言語モデルへのアクセスを行う。   However, just because “first_child (x)” returns a node ID of 0 or more, it is not guaranteed that the node x has a child node. The necessary and sufficient condition that the node x has child nodes is “first_child (x) ≠ first_child (x + 1)”. Further, the range of the ID of the child node related to the node x is obtained by [first_child (x), first_child (x + 1)). The n-gram access device 2 accesses the n-gram language model using the above functions.

<第2形態>
つぎに前記圧縮部4における第2形態を説明する。ここでは第1形態で用いたLOUDSを、n−gramの特性を利用して、さらにコンパクトに表現できるように拡張処理されている。
<Second form>
Next, a second form of the compression unit 4 will be described. Here, the LOUDS used in the first form is expanded so that it can be expressed more compactly using the characteristics of n-gram.

すなわち、図2および図3に示すように、n−gramの場合はルートノードに格納する情報は存在しない。したがって、ルートノードを削除し、仮想的なスーパールートノードが直接1−gramの各ノードを指すようにする。ここではノードIDは、1−gramの最初のノードが「0」となるように番号付けるものとする。これで旧ルートノードの2ビットが削減される。   That is, as shown in FIGS. 2 and 3, in the case of n-gram, there is no information stored in the root node. Therefore, the root node is deleted so that the virtual super root node directly points to each node of 1-gram. Here, the node ID is numbered so that the first node of 1-gram is “0”. This reduces the 2 bits of the old root node.

また、n−gramの場合、1〜nまでの階層をもつ構造をしており、最下層にある最高次数nのノードは子ノードを有していない。ここでX−gramのノードの個数をNxとすると、n−gramの最高次数のノード数はNnであり、Nn個の「0」が冗長である。そこで、最高次数の最初のノードIDを前記主記憶装置に記憶しておき、n−gram言語モデルにアクセスする際には該ノードID以外は子ノードを有しないと判定することとする。これにより、Nn個の「0」、即ちNnビットを消去することができる。 In the case of n-gram, it has a structure with a hierarchy of 1 to n, and the node of the highest order n in the lowest layer has no child nodes. Here, when the number of X-gram nodes is N x , the number of nodes of the highest order of n-gram is N n , and N n “0” s are redundant. Therefore, the first node ID of the highest order is stored in the main storage device, and when accessing the n-gram language model, it is determined that there is no child node other than the node ID. Thereby, N n “0” s, that is, N n bits can be erased.

さらに、スーパールートノードは、式16で表されるが、1−gramの個数N1を記憶しておくことで、これは取り去ることができる。このように前記各ノードが存在しないものとして木構造を生成し、ビットを割り当てる。これでN1+1ビットが削減できる。これにより、第2形態における圧縮表現されたポインタは、スーパーノードに対応したビットと最高次数のn−gramに対応したビットをもたない表現(拡張したLOUDS表現)となる。この圧縮変換されたポインタを、前記圧縮データ記憶部7に記憶する。 Furthermore, the super root node, is represented by the formula 16, by storing the number N 1 of 1-gram, which can be removed. In this way, a tree structure is generated and bits are assigned assuming that the nodes do not exist. This can reduce N 1 +1 bits. Thus, the compressed pointer in the second form is an expression (extended LOUDS expression) having no bit corresponding to the super node and no bit corresponding to the n-gram of the highest order. The compression-converted pointer is stored in the compressed data storage unit 7.

Figure 2011033806
Figure 2011033806

第2形態において圧縮表現されたn−gram言語モデルにアクセスするためには、第1形態の式8.式9を、式10.式11に書き換える。   In order to access the n-gram language model expressed in a compressed form in the second form, the expression 8. Equation 9 is replaced by Equation 10. Rewrite into Equation 11.

Figure 2011033806
Figure 2011033806

Figure 2011033806
Figure 2011033806

ただし、最高次数の最初のノードIDをYとすると、「x≧Y」のときは、「select1(x)=select1(Y−1)、select0(x)=select0(Y−1)+x−Y+1」とする。 However, assuming that the first node ID of the highest order is Y, when “x ≧ Y”, “select 1 (x) = select 1 (Y−1), select 0 (x) = select 0 (Y−1) ) + X−Y + 1 ”.

図7に、トライ構造を刈り込みn−gramに最適化した構造を示す。この構造に最適化したLOUDSビット列を表2に示す。   FIG. 7 shows a structure in which the trie structure is trimmed and optimized for n-gram. Table 2 shows the LOUDS bit string optimized for this structure.

Figure 2011033806
Figure 2011033806

図7および表2のノード8は、図6中のノード9に対応している。ここではN1=4であるため、「parent(8)=select1(8+1−4)+4−8=5+4−8=1」から、ノード8の親ノードはノード1と求められる。また、「first_child(8)=select0(8)+4+1−8=16+4+1−8=13」から、ノード8の最初の子ノードはノード13と求められる。 The node 8 in FIG. 7 and Table 2 corresponds to the node 9 in FIG. Since N 1 = 4 here, the parent node of the node 8 is obtained as the node 1 from “parent (8) = select1 (8 + 1−4) + 4−8 = 5 + 4−8 = 1”. Further, from “first_child (8) = select 0 (8) + 4 + 1−8 = 16 + 4 + 1−8 = 13”, the first child node of the node 8 is obtained as the node 13.

ここでn−gram言語モデルを第1形態に基づき圧縮した場合には式15のビットでポインタ表現されていた。ここから2+Nn+N1+1ビットが削減されるため、第2形態の圧縮によれば、n−gram言語モデルは式17のビット数でポインタが表現され、さらにデータ量を抑制することができる。 Here, when the n-gram language model is compressed based on the first form, the pointer expression is expressed by the bit of Expression 15. Since 2 + N n + N 1 +1 bits are reduced from here, according to the compression of the second form, the n-gram language model expresses a pointer with the number of bits of Expression 17, and can further suppress the amount of data.

Figure 2011033806
Figure 2011033806

≪n−gramアクセス装置2≫
前記アクセス装置2は、前記入力手段を通じて与えられた単語列(式2)を入力として、前記圧縮データ記憶部7を参照する。ここでは前記圧縮装置1により圧縮表現されたn−gramモデルのポインタを辿ることにより、平滑化された確率(式6)およびバックオフ係数(式7)などへアクセスし、これらの値を出力する。
<< n-gram access device 2 >>
The access device 2 refers to the compressed data storage unit 7 using the word string (formula 2) given through the input means as an input. Here, the smoothed probability (Equation 6) and the backoff coefficient (Equation 7) are accessed by tracing the pointer of the n-gram model compressed and expressed by the compression device 1, and these values are output. .

具体的には、前記アクセス部(first_child)8は、「w1,...,wn」のn−gramの位置を入力として、「w1,...,wn,wn+1」という「(n+1)−gram」のうち,「wn+1」の単語IDが一番小さいものの位置を前記入力手段に返信する。このとき前記圧縮データ記憶部7の記憶データが、トライ構造に基づくポインタ表現(第1形態の圧縮結果)であれば、式9によって算出する一方、n−gram構造に基づくポインタ表現(第2形態の圧縮結果)であれば、式11によって算出する。 Specifically, the access unit (first_child) 8 is "w 1, ..., w n" as input the position of the n-gram of "w 1, ..., w n, w n + 1 "(N + 1) -gram", the position of the word ID with the smallest word ID of "w n + 1 " is returned to the input means. At this time, if the stored data in the compressed data storage unit 7 is a pointer expression based on the trie structure (compression result of the first form), it is calculated by Expression 9, while a pointer expression based on the n-gram structure (second form) If the result of compression is calculated by the following equation (11).

また、前記アクセス部(parent)9は、「w1,...,wn-1,wn」のn−gramの位置を入力として、「w1,...,wn-1」の(n−1)−gramの位置を前記入力手段に返信する。このとき前記圧縮データ記憶部7の記憶データが、トライ構造に基づくポインタ表現(第1形態の圧縮結果)であれば、式8によって算出する一方、n−gram構造に基づくポインタ表現(第2形態の圧縮結果)であれば、式10によって算出する。なお、式8〜式11はプログラムなどに定義されているものとする。 Moreover, the access unit (parent) 9 is "w 1, ..., w n- 1, w n " as input the position of the n-gram of "w 1, ..., w n- 1 " The position of (n-1) -gram is returned to the input means. At this time, if the stored data in the compressed data storage unit 7 is a pointer expression based on the trie structure (compression result of the first form), it is calculated by Expression 8, while a pointer expression based on the n-gram structure (second form) (Compression result of (1)) is calculated according to Equation 10. It should be noted that Expressions 8 to 11 are defined in a program or the like.

このように前記両装置1.2によれば、n−gram言語モデルのポインタ配列のデータ量が抑制されるため、高価な計算機(コンピュータ)を使用することなく、汎用的な計算機の主記憶装置にポインタ配列の大部分を記憶でき、前記圧縮データ記憶部7をいわゆるオンメモリデータベースとして利用可能にする。   As described above, according to both the devices 1.2, since the data amount of the pointer array of the n-gram language model is suppressed, the main memory device of a general-purpose computer can be used without using an expensive computer (computer). Most of the pointer array can be stored in the memory, and the compressed data storage unit 7 can be used as a so-called on-memory database.

したがって、前記アクセス部8.9のポインタへのアクセス速度が向上し、n−gramを用いた機械翻訳や音声認識などに際して、効率的にn−gramモデルにアクセス可能となる。加えて、頻繁に利用するn−gram言語モデルの確率(式6)およびバックオフ係数(式7)などを記憶バッファなどにキャッシュしておけば、さらに処理を高速化することができる。   Accordingly, the access speed to the pointer of the access unit 8.9 is improved, and the n-gram model can be efficiently accessed during machine translation or speech recognition using the n-gram. In addition, if the probability of the frequently used n-gram language model (Equation 6) and the backoff coefficient (Equation 7) are cached in a storage buffer or the like, the processing can be further speeded up.

≪実験例≫
前記圧縮装置1の有効性を確認するために発明者達の実施したn−gramの圧縮実験を説明する。この実験には、表3に示すように、「English Gigaword 3rd Edition」を用いて学習した「English Gigaword 5−gram」と、LDCから公開されている「English Web 1T 5−gram」と、GSKから公開されている「Japanese Web 1T 7−gram」とを用いた。
≪Experimental example≫
An n-gram compression experiment conducted by the inventors to confirm the effectiveness of the compression apparatus 1 will be described. In this experiment, as shown in Table 3, “English Gigaword 5-gram” learned using “English Gigaword 3rd Edition”, “English Web 1T 5-gram” published by LDC, and GSK “Japan Web 1T 7-gram” published in Japan was used.

Figure 2011033806
Figure 2011033806

表3中の”count size (gizp)”は、前記実験に用いた各n−gramの大きさ(サイズ)を示している。ここではn−gramの頻度を格納したASCIIテキストファイルを、gzipで圧縮した結果のサイズを表している。   “Count size (gizp)” in Table 3 indicates the size (size) of each n-gram used in the experiment. Here, the size of an ASCII text file storing the frequency of n-gram is compressed with gzip.

Figure 2011033806
Figure 2011033806

表4は、前記実験におけるポインタ配列の圧縮結果を示している。表4中の”4−byte Pointer”は、「n−gram言語モデルのデータ構造(ポインタ固定バイト表現)」のポインタを4バイト整数で表現したときのポインタ配列を表している(前記データ変換部3で求めたポインタ配列に相当する)。   Table 4 shows the compression result of the pointer array in the experiment. “4-byte Pointer” in Table 4 represents a pointer array when the pointer of the “n-gram language model data structure (pointer fixed byte representation)” is represented by a 4-byte integer (the data conversion unit). This corresponds to the pointer array obtained in step 3).

また、”提案法”は、このポインタ配列をn−gramに最適化したLOUDSビット列で表現した結果(第2形態の圧縮結果)を示している。この”提案法”によれば、表4の各列に示すように、ポインタを4バイト整数で表現する一般的な表現方法が約1/10に圧縮されている。これによりポインタ配列のデータ量が効果的に低減されることが明らかとなった。   “Proposed method” indicates a result (a compression result of the second form) in which this pointer array is expressed by a LOUDS bit string optimized to n-gram. According to this "proposed method", as shown in each column of Table 4, a general expression method for expressing a pointer with a 4-byte integer is compressed to about 1/10. As a result, it has been clarified that the data amount of the pointer array is effectively reduced.

≪プログラムなど≫
本発明は、前記両装置1.2を構成する各部3〜9の一部もしくは全部として、コンピュータを機能させるプログラムとして構成することもできる。この場合には、前記データ変換ステップ、前記ポインタ表現の圧縮ステップ、アクセスステップの全ステップあるいは一部のステップをコンピュータに実行させる。
≪Programs≫
The present invention can also be configured as a program that causes a computer to function as a part or all of the units 3 to 9 that constitute both the devices 1.2. In this case, the computer is caused to execute all or a part of the data conversion step, the pointer expression compression step, and the access step.

このプログラムは、Webサイトや電子メールなどネットワークを通じて提供することができる。また、前記プログラムは、CD−ROM,DVD−ROM,CD−R,CD−RW,DVD−R,DVD−RW,MO,HDD,Blu−ray Disk(登録商標)などの記録媒体に記録して、保存・配布することも可能である。この記録媒体は、記録媒体駆動装置を利用して読み出され、そのプログラムコード自体が前記実施形態の処理を実現するので、該記録媒体も本発明を構成する。   This program can be provided through a network such as a website or e-mail. The program is recorded on a recording medium such as a CD-ROM, DVD-ROM, CD-R, CD-RW, DVD-R, DVD-RW, MO, HDD, Blu-ray Disk (registered trademark). It is also possible to save and distribute. This recording medium is read using a recording medium driving device, and the program code itself realizes the processing of the above embodiment, so that the recording medium also constitutes the present invention.

1…言語モデル圧縮装置
2…言語モデルのアクセス装置
3…データ構造変換部(データ構造変換手段)
4…ポインタ表現の圧縮部(ポインタ表現の圧縮手段)
5…言語モデル記憶部
6…変換データ記憶部
7…圧縮データ記憶部
8…n−gramアクセス部「first_child」(第2のアクセス手段)
9…n−gramアクセス部「parent」(第1のアクセス手段)
DESCRIPTION OF SYMBOLS 1 ... Language model compression apparatus 2 ... Language model access apparatus 3 ... Data structure conversion part (data structure conversion means)
4. Pointer expression compression unit (pointer expression compression means)
DESCRIPTION OF SYMBOLS 5 ... Language model memory | storage part 6 ... Conversion data memory | storage part 7 ... Compressed data memory | storage part 8 ... n-gram access part "first_child" (2nd access means)
9: n-gram access part “parent” (first access means)

Claims (12)

n個の連続する単語からなる単語列の出現頻度から求めたn−gram言語モデルのモデル表現を圧縮する装置であって、
仮想的なルートノードを設けて、前記n−gram言語モデルの構造をトライ構造に変換するデータ構造変換手段と、
前記データ構造変換手段にて変換されたトライ構造をLOUDS(Level−Order Unary Degree Sequence)表現に圧縮変換する圧縮手段と、
を備えることを特徴とする言語モデル圧縮装置。
An apparatus for compressing a model representation of an n-gram language model obtained from an appearance frequency of a word string composed of n consecutive words,
A data structure converting means for providing a virtual root node and converting the structure of the n-gram language model into a trie structure;
Compression means for compressing and converting the trie structure converted by the data structure conversion means into LOUDS (Level-Order Undegree Sequence Sequence) expression;
A language model compression apparatus comprising:
n個の連続する単語からなる単語列の出現頻度から求めたn−gram言語モデルのモデル表現を圧縮する装置であって、
前記n−gram言語モデルの最高次数の最初のノードの位置(ノードID)を記憶装置に記憶し、n−gram言語モデルの構造を表すポインタ表現を、最高次数のn−gramを削除した表現に変換するデータ構造変換手段を、
備えることを特徴とする言語モデル圧縮装置。
An apparatus for compressing a model representation of an n-gram language model obtained from an appearance frequency of a word string composed of n consecutive words,
The position (node ID) of the first node of the highest order of the n-gram language model is stored in the storage device, and the pointer expression representing the structure of the n-gram language model is changed to an expression obtained by deleting the highest order n-gram. Data structure conversion means to convert,
A language model compression apparatus comprising:
請求項2記載の言語モデル圧縮装置において、
1−gramの個数N1を記憶装置に記憶し、前記データ構造変換手段にて変換したn−gram言語モデルの構造を、スーパーノード(トライ構造のルートノードを指す仮想的なルートノード)および最高次数のn−gramに対応したビットをもたないように拡張したLOUDS表現に圧縮変換する圧縮手段を、
さらに備えることを特徴とする言語モデル圧縮装置。
The language model compression apparatus according to claim 2,
The number of 1-grams N 1 is stored in a storage device, and the structure of the n-gram language model converted by the data structure conversion means is a super node (virtual root node indicating the root node of the tri structure) and the highest Compression means for compressing and converting into a LOUDS expression expanded so as not to have bits corresponding to the n-gram of the order;
A language model compression apparatus, further comprising:
請求項1記載の言語モデル圧縮装置にて圧縮変換された前記ポインタを記憶する記憶手段を参照して、n−gram言語モデルにアクセスする装置であって、
入力された単語列のn−gramの位置xに対して、親ノード「(n−1)−gram」(parent)の位置を、式8により算出して出力する第1のアクセス手段と、
Figure 2011033806
入力された単語列のn−gramの位置xに対して、子ノード「(n+1)−gram」のうち単語IDの最も小さい子ノード(first_child)の位置を、式9により算出して出力する第2のアクセス手段と、
Figure 2011033806
を備えることを特徴とする言語モデルのアクセス装置。
An apparatus for accessing an n-gram language model with reference to storage means for storing the pointer compressed and converted by the language model compression apparatus according to claim 1,
First access means for calculating and outputting the position of the parent node “(n−1) -gram” (parent) with respect to the position x of the n-gram of the input word string by Formula 8;
Figure 2011033806
The position of the child node (first_child) having the smallest word ID among the child nodes “(n + 1) -gram” is calculated by Expression 9 with respect to the n-gram position x of the input word string and output. Two access means;
Figure 2011033806
An access device for a language model, comprising:
請求項3に記載の言語モデル圧縮装置にて圧縮変換された前記ポインタを記憶する記憶手段を参照して、n−gram言語モデルにアクセスする装置であって、
入力された単語列のn−gramの位置xに対して、親ノード「(n−1)−gram」(parent)の位置を、式10により算出して出力する第1のアクセス手段と、
Figure 2011033806
入力された単語列のn−gramの位置xに対して、子ノード「(n+1)−gram」のうち単語IDの最も小さい子ノード(first_child)の位置を、式11により算出して出力する第2のアクセス手段と、
Figure 2011033806
を備えること特徴とする言語モデルのアクセス装置。
An apparatus for accessing an n-gram language model with reference to storage means for storing the pointer compressed and converted by the language model compression apparatus according to claim 3,
A first access means for calculating and outputting the position of the parent node “(n−1) -gram” (parent) with respect to the position x of the n-gram of the input word string according to Expression 10;
Figure 2011033806
The position of the child node (first_child) having the smallest word ID among the child nodes “(n + 1) -gram” is calculated by Expression 11 and output with respect to the n-gram position x of the input word string. Two access means;
Figure 2011033806
An access device for a language model, comprising:
n個の連続する単語からなる単語列の出現頻度から求めたn−gram言語モデルのモデル表現を圧縮する方法であって、
データ構造変換手段が、仮想的なルートノードを設けて、前記n−gram言語モデルの構造をトライ構造に変換するデータ構造変換ステップと、
圧縮手段が、前記データ構造変換ステップにて変換されたトライ構造をLOUDS(Level−Order Unary Degree Sequence)表現に圧縮変換する圧縮ステップと、
を有することを特徴とする言語モデル圧縮方法。
A method for compressing a model representation of an n-gram language model obtained from the frequency of occurrence of a word string consisting of n consecutive words,
A data structure converting means for providing a virtual root node and converting the structure of the n-gram language model into a trie structure;
A compression step in which a compression unit compresses and converts the trie structure converted in the data structure conversion step into a LOUDS (Level-Order Unary Degree Sequence) expression;
A language model compression method comprising:
n個の連続する単語からなる単語列の出現頻度から求めたn−gram言語モデルのモデル表現を圧縮する方法であって、
データ構造変換手段が、前記n−gram言語モデルの最高次数の最初のノードの位置(ノードID)を記憶装置に記憶し、n−gram言語モデルの構造を表すポインタ表現を、最高次数のn−gramを削除した表現に変換するデータ構造変換ステップを、
有することを特徴とする言語モデル圧縮方法。
A method for compressing a model representation of an n-gram language model obtained from the frequency of occurrence of a word string consisting of n consecutive words,
The data structure conversion means stores the position (node ID) of the first node of the highest order of the n-gram language model in the storage device, and stores a pointer expression representing the structure of the n-gram language model as the highest order n- A data structure conversion step that converts the gram into a deleted expression,
A language model compression method comprising:
請求項7記載の言語モデル圧縮方法において、
圧縮手段が、1−gramの個数N1を記憶装置に記憶させ、前記データ構造変換手段にて変換したn−gram言語モデルの構造を、スーパーノード(トライ構造のルートノードを指す仮想的なルートノード)および最高次数のn−gramに対応したビットをもたないように拡張したLOUDS表現に圧縮変換する圧縮ステップを、
さらに有することを特徴とする言語モデル圧縮方法。
The language model compression method according to claim 7, wherein
Compression means, stores the number N 1 of 1-gram in the storage device, virtual route structure of the converted n-gram language model, which points to the root node of the super node (TRIE structure in the data structure converting means Node) and a compression step that compresses and converts to a LOUDS representation expanded to have no bits corresponding to the highest order n-grams,
A language model compression method further comprising:
請求項6記載の言語モデル圧縮方法にて圧縮変換された前記ポインタを記憶する記憶手段を参照して、n−gram言語モデルにアクセスする方法であって、
第1のアクセス手段が、入力された単語列のn−gramの位置xに対して、親ノード「(n−1)−gram」(parent)の位置を、式8により算出して出力するステップと、
Figure 2011033806
第2のアクセス手段が、入力された単語列のn−gramの位置xに対して、子ノード「(n+1)−gram」のうち単語IDの最も小さい子ノード(first_child)の位置を、式9により算出して出力するステップと、
Figure 2011033806
を有することを特徴とする言語モデルのアクセス方法。
A method for accessing an n-gram language model by referring to storage means for storing the pointer compressed and converted by the language model compression method according to claim 6,
A step in which the first access means calculates and outputs the position of the parent node “(n−1) -gram” (parent) according to Expression 8 with respect to the n-gram position x of the input word string. When,
Figure 2011033806
The second access means calculates the position of the child node (first_child) having the smallest word ID among the child nodes “(n + 1) -gram” with respect to the position x of the n-gram of the input word string as shown in Expression 9 Calculating and outputting by
Figure 2011033806
A method for accessing a language model, comprising:
請求項8に記載の言語モデル圧縮方法にて圧縮変換された前記ポインタを記憶する記憶手段を参照して、n−gram言語モデルにアクセスする方法であって、
第1のアクセス手段が、入力された単語列のn−gramの位置xに対して、親ノード「(n−1)−gram」(parent)の位置を、式10により算出して出力するステップと、
Figure 2011033806
第2のアクセス手段が、入力された単語列のn−gramの位置xに対して、子ノード「(n+1)−gram」のうち単語IDの最も小さい子ノード(first_child)の位置を、式11により算出して出力するステップと、
Figure 2011033806
を有すること特徴とする言語モデルのアクセス方法。
A method for accessing an n-gram language model with reference to storage means for storing the pointer compressed and converted by the language model compression method according to claim 8,
A step in which the first access means calculates and outputs the position of the parent node “(n−1) -gram” (parent) with respect to the position x of the n-gram of the input word string according to Equation 10; When,
Figure 2011033806
The second access means calculates the position of the child node (first_child) having the smallest word ID among the child nodes “(n + 1) -gram” with respect to the position x of the n-gram of the input word string as shown in Expression 11 Calculating and outputting by
Figure 2011033806
A language model access method characterized by comprising:
請求項1〜3のいずれか1項に記載の言語モデルの圧縮装置を構成する各手段として、コンピュータを機能させるための言語モデル圧縮プログラム。   The language model compression program for functioning a computer as each means which comprises the language model compression apparatus of any one of Claims 1-3. 請求項4または5のいずれか1項に記載の言語モデルのアクセス装置を構成する各手段として、コンピュータを機能させるための言語モデルのアクセスプログラム。   A language model access program for causing a computer to function as each means constituting the language model access apparatus according to claim 4.
JP2009179625A 2009-07-31 2009-07-31 Language model compression device, language model access device, language model compression method, language model access method, language model compression program, language model access program Active JP5349193B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009179625A JP5349193B2 (en) 2009-07-31 2009-07-31 Language model compression device, language model access device, language model compression method, language model access method, language model compression program, language model access program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009179625A JP5349193B2 (en) 2009-07-31 2009-07-31 Language model compression device, language model access device, language model compression method, language model access method, language model compression program, language model access program

Publications (2)

Publication Number Publication Date
JP2011033806A true JP2011033806A (en) 2011-02-17
JP5349193B2 JP5349193B2 (en) 2013-11-20

Family

ID=43762946

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009179625A Active JP5349193B2 (en) 2009-07-31 2009-07-31 Language model compression device, language model access device, language model compression method, language model access method, language model compression program, language model access program

Country Status (1)

Country Link
JP (1) JP5349193B2 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110096693A (en) * 2018-01-29 2019-08-06 北京搜狗科技发展有限公司 A kind of data processing method, device and the device for data processing
CN110110292A (en) * 2018-01-29 2019-08-09 北京搜狗科技发展有限公司 A kind of data processing method, device and the device for data processing

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
CSND200701457006; 岡野原 大輔: 'オブジェクト指向世代のためのアルゴリズム&データ構造最新入門 「CPUが速いから気にしなくていい」は' WEB+DB PRESS Vol.42 初版 第42巻, 20080731, p.42-p.48, (株)技術評論社 *
CSNG200900034003; 定兼 邦彦: '新世代の計算限界-その解明と打破- 4. 超簡潔データ構造' 電子情報通信学会誌 第92巻 第2号 第92巻 第2号, 20090201, p.97-p.104, 社団法人電子情報通信学会 *
JPN6013004188; 岡野原 大輔: 'オブジェクト指向世代のためのアルゴリズム&データ構造最新入門 「CPUが速いから気にしなくていい」は' WEB+DB PRESS Vol.42 初版 第42巻, 20080731, p.42-p.48, (株)技術評論社 *
JPN6013004189; 定兼 邦彦: '新世代の計算限界-その解明と打破- 4. 超簡潔データ構造' 電子情報通信学会誌 第92巻 第2号 第92巻 第2号, 20090201, p.97-p.104, 社団法人電子情報通信学会 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110096693A (en) * 2018-01-29 2019-08-06 北京搜狗科技发展有限公司 A kind of data processing method, device and the device for data processing
CN110110292A (en) * 2018-01-29 2019-08-09 北京搜狗科技发展有限公司 A kind of data processing method, device and the device for data processing
CN110110292B (en) * 2018-01-29 2023-11-14 北京搜狗科技发展有限公司 Data processing method and device for data processing
CN110096693B (en) * 2018-01-29 2024-05-28 北京搜狗科技发展有限公司 Data processing method and device for data processing

Also Published As

Publication number Publication date
JP5349193B2 (en) 2013-11-20

Similar Documents

Publication Publication Date Title
JP6596102B2 (en) Lossless data loss by deriving data from basic data elements present in content-associative sheaves
US8694474B2 (en) Block entropy encoding for word compression
US8725509B1 (en) Back-off language model compression
JP2009110513A (en) Automatic generation of ontologies using word affinities
WO2008154823A1 (en) Searching method, system and device
JP2020518207A (en) Lossless reduction of data using basic data sheaves, and performing multidimensional search and content-associative retrieval on losslessly reduced data using basic data sieves
JP6846426B2 (en) Reduction of voice data and data stored on block processing storage systems
TW202147787A (en) Exploiting locality of prime data for efficient retrieval of data that has been losslessly reduced using a prime data sieve
KR100484137B1 (en) Improved huffman decoding method and apparatus thereof
US20090307214A1 (en) Computer system for performing aggregation of tree-structured data, and method and computer program product therefor
Policriti et al. From LZ77 to the run-length encoded Burrows-Wheeler transform, and back
JP5349193B2 (en) Language model compression device, language model access device, language model compression method, language model access method, language model compression program, language model access program
US8392433B2 (en) Self-indexer and self indexing system
JP2014130492A (en) Generation method for index and computer system
CN116089663A (en) Rule expression matching method and device and computer readable storage medium
JP5961532B2 (en) Dictionary / Language Model Compression Method, Apparatus and Program
Ottaviano et al. Semi-indexing semi-structured data in tiny space
JP2006040081A (en) Information retrieval device, database retrieval preprocessing circuit, and information retrieval method
Dong et al. Content-aware partial compression for textual big data analysis in hadoop
JP6276386B2 (en) Data structure, information processing apparatus, information processing method, and program recording medium
Vines et al. Compression techniques for Chinese text
JP5314493B2 (en) Information search method, information search device, and information search program
JP2013175053A (en) Xml document retrieval device and program
JP5472929B2 (en) Document search apparatus, document search method, and document search program
Yu Estimating language models using Hadoop and HBase

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110926

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130205

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130408

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130423

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20130408

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130719

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20130801

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130820

R150 Certificate of patent or registration of utility model

Ref document number: 5349193

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350