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 PDFInfo
- 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
Links
Images
Landscapes
- Machine Translation (AREA)
Abstract
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
単語列(式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.
このような式1の条件付確率を与えるモデルは、n−gram言語モデルと呼ばれている。「n」の大きさとしては、音声認識では「3〜4」の値を、統計的機械翻訳では「4〜5」の値を用いることが多い。式1の条件付確率は、式5のように、再帰的に計算される。また、式2は、単語w1,w2,・・・,wnを省略標記したものである。
Such a model that gives the conditional probability of
このような統計モデルを計算機(コンピュータ)で利用するためには、まず、学習データに現れる単語列(式2)に応じて、式6の平滑された確率、式7のバックオフ係数などの情報を格納すること、さらに単語列(式2)を入力として、前記各情報に効率的にアクセスできることが必要となる。
In order to use such a statistical model in a computer (computer), first, information such as the smoothed probability of
そして、音声認識や統計的機械翻訳など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
また、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
しかしながら、大量のデータで学習した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
The position of the child node (first_child) having the smallest word ID among the child nodes “(n + 1) -gram” is calculated by
本発明に係る言語モデルのアクセス装置の他の態様は、入力された単語列の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
本発明に係る言語モデル圧縮方法の一態様は、データ構造変換手段が、仮想的なルートノードを設けて、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
本発明に係る言語モデルのアクセス方法の他の態様は、第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
なお、本発明は、前記各装置としてコンピュータを機能させるためのプログラムの態様としてもよい。このプログラムは記録媒体に記録した態様で配布・提供することができる。 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.
以下、本発明の実施形態に係る言語モデル圧縮装置および言語モデルのアクセス装置を説明する。この両装置は、音声認識装置や機械翻訳機などの自然言語処理システムにおいてコンビネーションとして利用される。ここでは前記圧縮装置は、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
概略を説明すれば、前記各記憶部5〜7は、前記ハードディスクドライブ装置あるいは前記主記憶装置に構築されている。このうち前記言語モデル記憶部5は、大量の学習用データ(例えばWebデータなど)に基づく学習結果として生成された言語モデルを格納する。ここで格納される言語モデルは、通常の「n−gram言語モデルのデータ構造」形式で表現されているものとする。
In brief, each of the
前記データ構造変換部3は、矢印Aに示すように、前記言語モデル記憶部5の言語モデルを入力とし、ポインタの固定バイト表現されたn−gram言語モデルのデータ構造に変換する(データ変換ステップ)。この変換後のデータは、矢印Bに示すように、前記変換データ記憶部6に蓄積される。
As shown by an arrow A, the data
前記ポインタ表現の圧縮部4は、矢印Cに示すように、前記変換データ記憶部6の蓄積データを入力とし、該蓄積データにポインタ配列をコンパクトに表現する処理を加え、データ量を圧縮する(ポインタ表現の圧縮ステップ)。すなわち、ポインタのLOUDS表現されたn−gram言語モデルのデータ構造に圧縮変換し、矢印Dに示すように、前記圧縮データ記憶部7に記憶させる。
As indicated by an arrow C, the pointer
前記アクセス装置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
≪言語モデル圧縮装置1≫
(1)データ構造変換部3
まず、前記言語モデル記憶部5の格納データ、即ちn−gramのデータ構造を説明する。このn−gramは、図2のデータ構造で表現され(非特許文献2参照)、「1−gram, 2−gram, 3−gram, …」は、それぞれ前記言語モデル記憶部5の別テーブルで表現される。
<< Language
(1) Data
First, data stored in the language
この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
この領域の終わりの境界は、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
ポインタ配列としては、図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
(2)ポインタ表現の圧縮部4
前記圧縮部4は、前記変換データ記憶部6を参照して、前記データ構造変換部3で変換した各配列のうち、ポインタを示す配列をコンパクトに表現して、前記変換データ記憶部6に格納する。以下、各形態の具体的内容を説明する。
(2)
The
<第1形態>
まず、前記圧縮部4における第1形態について説明する。トライ(trie)とは、木構造の一種であり、1つルートノードを持つ木構造で表される。図2に示したn−gramのデータ構造は、ルートノードが1つではないためトライではないが、ここでは仮想的なルートノードを設けることにより、n−gramのデータ構造をトライに擬制して、コンパクトなトライ表現法であるLOUDS(非特許文献4.5参照)を応用し、ポインタ配列を圧縮する。
<First form>
First, the 1st form in the said
詳細を説明すれば、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.
前記トライ構造例によれば、ルートノード「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
以上のように圧縮表現された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
例えば、ノード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
ただし、「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-
<第2形態>
つぎに前記圧縮部4における第2形態を説明する。ここでは第1形態で用いたLOUDSを、n−gramの特性を利用して、さらにコンパクトに表現できるように拡張処理されている。
<Second form>
Next, a second form of the
すなわち、図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
第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
ただし、最高次数の最初のノード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−
図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.
図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
ここで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
≪n−gramアクセス装置2≫
前記アクセス装置2は、前記入力手段を通じて与えられた単語列(式2)を入力として、前記圧縮データ記憶部7を参照する。ここでは前記圧縮装置1により圧縮表現されたn−gramモデルのポインタを辿ることにより、平滑化された確率(式6)およびバックオフ係数(式7)などへアクセスし、これらの値を出力する。
<< n-
The
具体的には、前記アクセス部(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
また、前記アクセス部(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
このように前記両装置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
したがって、前記アクセス部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
表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.
表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
このプログラムは、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
4. Pointer expression compression unit (pointer expression compression means)
DESCRIPTION OF
9: n-gram access part “parent” (first access means)
Claims (12)
仮想的なルートノードを設けて、前記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−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:
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:
入力された単語列のn−gramの位置xに対して、親ノード「(n−1)−gram」(parent)の位置を、式8により算出して出力する第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;
入力された単語列のn−gramの位置xに対して、親ノード「(n−1)−gram」(parent)の位置を、式10により算出して出力する第1のアクセス手段と、
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;
データ構造変換手段が、仮想的なルートノードを設けて、前記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−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:
圧縮手段が、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:
第1のアクセス手段が、入力された単語列のn−gramの位置xに対して、親ノード「(n−1)−gram」(parent)の位置を、式8により算出して出力するステップと、
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,
第1のアクセス手段が、入力された単語列のn−gramの位置xに対して、親ノード「(n−1)−gram」(parent)の位置を、式10により算出して出力するステップと、
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,
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)
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 |
-
2009
- 2009-07-31 JP JP2009179625A patent/JP5349193B2/en active Active
Non-Patent Citations (4)
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)
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 |