JP5544998B2 - テキスト処理装置、テキスト処理方法、およびテキスト処理プログラム - Google Patents
テキスト処理装置、テキスト処理方法、およびテキスト処理プログラム Download PDFInfo
- Publication number
- JP5544998B2 JP5544998B2 JP2010091311A JP2010091311A JP5544998B2 JP 5544998 B2 JP5544998 B2 JP 5544998B2 JP 2010091311 A JP2010091311 A JP 2010091311A JP 2010091311 A JP2010091311 A JP 2010091311A JP 5544998 B2 JP5544998 B2 JP 5544998B2
- Authority
- JP
- Japan
- Prior art keywords
- node
- character
- text
- determination position
- child
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000012545 processing Methods 0.000 title claims description 121
- 238000003672 processing method Methods 0.000 title claims description 15
- 238000000034 method Methods 0.000 claims description 103
- 230000008569 process Effects 0.000 claims description 71
- 238000007906 compression Methods 0.000 description 39
- 230000006835 compression Effects 0.000 description 33
- 238000010586 diagram Methods 0.000 description 27
- 230000006870 function Effects 0.000 description 25
- 230000006837 decompression Effects 0.000 description 12
- 238000004891 communication Methods 0.000 description 8
- 230000003287 optical effect Effects 0.000 description 7
- 238000010276 construction Methods 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 230000010365 information processing Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Landscapes
- Machine Translation (AREA)
- Document Processing Apparatus (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
近年、情報通信技術の用途の拡大に伴い、処理されるテキストデータの量が増加傾向にある。そこで、テキストデータを処理対象とした情報処理を効率化するためのさまざまな技術が考えられている。例えば、小容量のメモリを用いて、高速にデータソート処理を行うデータソート処理方法が考えられている。また、指定された項目に沿ったデータ集合の分割を効率よく行うことができるデータ集合分割方法も考えられている。
〔第1の実施の形態〕
図1は、実施の形態の概要を示す図である。テキスト処理装置1は、文字選択手段1a、ノード追加手段1b、頻度カウント手段1c、識別子出力手段1dを有する。
さらに、テキスト処理装置1による文節木2aの構築は、STVF符号化と比較すると、テキストデータ3全体からの接尾辞木の構築処理が必要ないため、短時間で行うことができる。しかも、文節木2aの構築と並行してテキストデータ3の符号化が可能であるため、テキストデータ3の符号化についても効率的に行うことができる。例えばテキスト処理装置1による符号化は、STVF符号化技術より20倍ほど高速に符号化が可能である(符号化に要する時間が20分の1)。
〔第2の実施の形態〕
第2の実施の形態は、圧縮パターン照合による検索を行うシステムに対して、第1の実施の形態に係るテキスト符号化技術を適用したものである。
図5は、要約トライの例を示す図である。図5の例では、テキストデータに存在し得る文字を「a,b,c,d」とし、これらの文字を含む集合Σ(Σ={a,b,c,d})を定義している。この場合、Σに含まれる要素数(|Σ|)は、「4」となる。
ノード32に設けられた子ノードのカウンタリスト内の各カウンタのうち、文字「b」に対応するカウンタのみ「2」が設定され、その他のカウンタの値は「0」である。図5の例では、カウンタの値が「2」に達すると、該当カウンタに対応する文字の子ノードが作成されるものとする。そこで、ノード32の子ノードとして、文字「b」に対応するノード36が作成されている。ノード32の文字「b」に対応するポインタは、ノード36を指し示している。
図7は、テキスト符号化部の詳細機能を示すブロック図である。テキスト符号化部130は、頻度閾値記憶部131、最大符号数記憶部132、文字選択部133、ノード作成部134、頻度カウント部135、および符号出力部136を有する。
ここで未圧縮テキスト40に含まれる文字数を「n」(nは1以上の整数)とする。そして、未圧縮テキスト40内の文字列を、配列を用いてT=T[1],・・・,T[n]と定義する。
[ステップS11]テキスト符号化部130内の各要素は、それぞれ情報の初期化を行う。例えば文字選択部133は、文字の位置「i」の値を「0」に初期化する。
[ステップS13]ノード作成部134は、位置「i」の値が、文字数「n」より大きいか否かを判断する。位置「i」の値が文字数「n」より大きければ、処理がステップS20に進められる。位置「i」の値が文字数「n」以下であれば、処理がステップS14に進められる。
[ステップS16]ノード作成部134は、要約トライ「D」の大きさ「k」が、最大符号数「K」未満か否かを判断する。要約トライ「D」の大きさ「k」が最大符号数「K」未満であれば、処理がステップS13に進められる。要約トライ「D」の大きさ「k」が最大符号数「K」以上であれば、処理がステップS17に進められる。
[ステップS19]文字選択部133は、位置「i」の値をインクリメントする(i=i+1)。これにより、未圧縮テキスト40内の次の文字が処理対象となる。その後、処理がステップS17に進められる。
図9は、要約トライ作成およびテキスト圧縮処理の手順を示すフローチャートである。以下、図9に示す処理をステップ番号に沿って説明する。
[ステップS22]子ノードが存在する場合、ノード作成部134は、現在のノードポインタ「P」で指定されているノードの文字「T[i]」に対応する子ノードを、新たにノードポインタ「P」の指定先とする。その後、要約トライ作成およびテキスト圧縮処理が終了し、図8のステップS15に処理が進められる。
[ステップS27]ノード作成部134は、要約トライ「D」の大きさ「k」の値をインクリメントする。その後、要約トライ作成およびテキスト圧縮処理が終了し、図8のステップS15に処理が進められる。
図10は、要約トライ作成およびテキスト圧縮処理の手順を示すフローチャートである。以下、図10に示す処理をステップ番号に沿って説明する。
[ステップS34]符号出力部136は、ノードポインタ「P」の指定先を、ルートノードの子ノードのうちの、文字「T[i]」に対応する子ノードとする。その後、要約トライ作成およびテキスト圧縮処理が終了し、図8のステップS19に処理が進められる。
図11は、初期状態の要約トライと圧縮済テキストの例を示す図である。図11の例では、未圧縮テキスト40に含まれ得る文字が「a,b,c,d」の4文字であるものとする。すなわち、集合Σ={a,b,c,d}であり、アルファベットサイズ(|Σ|)=4である。入力された未圧縮テキスト40内の文字列を”abcabcdabc”とする。すなわち、配列T=”abcabcdabc”となる。また、閾値「α=2」、最大符号数「K=256」であるものとする。最大符号数が「256(2の8乗)」であるということは、符号が1バイトの固定長であることを示す。
図11に示した状態から位置「i」がインクリメントされ、i=1とされる。そして、未圧縮テキスト40内の先頭の文字「a」が処理対象として選択される。
図13は、2文字目を処理した後の要約トライと圧縮済テキストの例を示す図である。ノード52には、文字「b」に対応する子ノードが存在しない。そこで、ノード52内の文字「b」に対応するカウンタが「1」にカウントアップされている(count(1,b)=1)。このとき、count(1,b)<αである。そこで、圧縮済テキスト60」の末尾に、ノード52に対応する符号「1」が書き出される。その結果、圧縮済テキスト60は「C=1」となる。そして、ノードポインタ「P」の指定先が、ノード51の子ノードのうちの「b」に対応するノード53に変更される。
図14は、3文字目を処理した後の要約トライと圧縮済テキストの例を示す図である。ノード53には、文字「c」に対応する子ノードが存在しない。そこで、ノード53内の文字「c」に対応するカウンタが「1」にカウントアップされている(count(2,c)=1)。このとき、count(2,c)<αである。そこで、圧縮済テキスト60の末尾に、ノード53に対応する符号「2」が書き出される。その結果、圧縮済テキスト60は「C=12」となる。そして、ノードポインタ「P」の指定先が、ノード51の子ノードのうちの「c」に対応するノード54に変更される。
図15は、4文字目を処理した後の要約トライと圧縮済テキストの例を示す図である。ノード54には、文字「a」に対応する子ノードが存在しない。そこで、ノード54内の文字「a」に対応するカウンタが「1」にカウントアップされている(count(3,a)=1)。このとき、count(3,a)<αである。そこで、圧縮済テキスト60の末尾に、ノード54に対応する符号「3」が書き出される。その結果、圧縮済テキスト60は「C=123」となる。そして、ノードポインタ「P」の指定先が、ノード51の子ノードのうちの「a」に対応するノード52に変更される。
図16は、5文字目を処理した後の要約トライと圧縮済テキストの例を示す図である。ノード52には、文字「b」に対応する子ノードが存在しない。そこで、ノード52内の文字「b」に対応するカウンタが「2」にカウントアップされている(count(1,b)=2)。このとき、count(1,b)=αである。そこで、ノード52の文字「b」に対応する子ノードとしてノード56が作成される。この際、ノード52の文字「b」に対応するポインタには、ノード56を示す値が設定される。新たに作成されたノード56には、ノードID「5」が付与され、ラベル「b」が設定される。ノード56内のカウンタとポインタとには、初期値が設定される。そして、ノードポインタ「P」の指定先が、新たに作成したノード56に変更される。この際、圧縮済テキスト60への符号の書き出しは行われない。
図17は、6文字目を処理した後の要約トライと圧縮済テキストの例を示す図である。ノード56には、文字「c」に対応する子ノードが存在しない。そこで、ノード56内の文字「c」に対応するカウンタが「1」にカウントアップされている(count(5,c)=1)。このとき、count(5,c)<αである。そこで、圧縮済テキスト60の末尾に、ノード56に対応する符号「5」が書き出される。その結果、圧縮済テキスト60は「C=1235」となる。そして、ノードポインタ「P」の指定先が、ノード51の子ノードのうちの「c」に対応するノード54に変更される。
図18は、7文字目を処理した後の要約トライと圧縮済テキストの例を示す図である。図17の状態のままではノード54には、文字「d」に対応する子ノードが存在しない。そこで、ノード54内の文字「d」に対応するカウンタが「1」にカウントアップされている(count(3,d)=1)。このとき、count(3,d)<αである。そこで、圧縮済テキスト60の末尾に、ノード54に対応する符号「3」が書き出される。その結果、圧縮済テキスト60は「C=12353」となる。そして、ノードポインタ「P」の指定先が、ノード51の子ノードのうちの「d」に対応するノード55に変更される。
図19は、8文字目を処理した後の要約トライと圧縮済テキストの例を示す図である。ノード55には、文字「a」に対応する子ノードが存在しない。そこで、ノード55内の文字「a」に対応するカウンタが「1」にカウントアップされている(count(4,a)=1)。このとき、count(4,a)<αである。そこで、圧縮済テキスト60の末尾に、ノード55に対応する符号「4」が書き出される。その結果、圧縮済テキスト60は「C=123534」となる。そして、ノードポインタ「P」の指定先が、ノード51の子ノードのうちの「a」に対応するノード52に変更される。
図20は、9文字目を処理した後の要約トライと圧縮済テキストの例を示す図である。ノード52には、文字「b」に対応する子ノードが存在する。そこで、9文字目の文字「b」に応じて、ノードポインタ「P」の指定先が、ノード52の子ノードのうちの「b」に対応するノード56に変更される。この際、圧縮済テキスト60への符号の書き出しは行われない。
図21は、10文字目を処理した後の要約トライと圧縮済テキストの例を示す図である。図20の状態のままではノード56には、文字「c」に対応する子ノードが存在しない。そこで、ノード56内の文字「c」に対応するカウンタが「2」にカウントアップされている(count(5,c)=2)。このとき、count(5,c)=αである。そこで、ノード52の文字「c」に対応する子ノードとしてノード57が作成される。この際、ノード56の文字「c」に対応するポインタには、ノード57を示す値が設定される。新たに作成されたノード57には、ノードID「6」が付与され、ラベル「c」が設定される。ノード57内のカウンタとポインタとには、初期値が設定される。そして、ノードポインタ「P」の指定先が、新たに作成したノード57に変更される。この際、圧縮済テキスト60への符号の書き出しは行われない。
第3の実施の形態は、複数の未圧縮テキストを圧縮し、文字検索の対象とすることができるようにしたものである。
テキスト符号化部130aは、図6に示した第2の実施の形態のテキスト符号化部130が有する機能に加え、複数の未圧縮テキスト71,72,73を区別するための制御記号を圧縮済テキスト80に挿入する機能を有する。制御記号としては、要約トライで割り当てる符号と重複しない記号を用いる。例えば、図23の例では、圧縮済テキスト80内に、未圧縮テキスト71〜73の区切りを示す制御記号として「$」が挿入されている。
[ステップS41]サーバ100a内の各要素は、それぞれ情報の初期化を行う。例えば文字選択部133aは、文字の位置「i」の値を「0」に初期化する。また文字選択部133aは、テキスト番号「m」の値を「1」に初期化する。
[ステップS44]文字選択部133aは、位置「i」の値に「1」を設定する(i=1)。これにより、「m」番目のテキストデータ「Tm」の先頭の文字が処理対象となる。
[ステップS46]文字選択部133a、ノード作成部134a、頻度カウント部135a、および符号出力部136の連携した処理により、圧縮処理が行われる。この処理の詳細は後述する(図26参照)。
[ステップS48]ノード作成部134aは、ノードポインタ「P」を初期化する(P=root(D))。
図26は、圧縮処理の詳細手順を示すフローチャートである。以下、図26に示す処理をステップ番号に沿って説明する。
第4の実施の形態は、要約トライに含まれるノードの閾値「α」を動的に変更可能としたものである。要約トライを用いた符号化では、閾値「α」のとり方によって圧縮率が大きく異なる。閾値「α」が大きすぎると、要約トライがなかなか成長せず、長い文字列に符号を割り当てることができない。逆に閾値「α」が小さすぎると、要約トライが早く成長しすぎ、後方のデータを読む前に最大サイズを超えてしまう。そこで第4の実施の形態では、閾値テーブルを用いて、最初のうちは閾値「α」の値を小さく保ち、読み込むデータ量が増えるのに伴い閾値「α」を徐々に大きくしていく。
[ステップS61]テキスト符号化部130b内の各要素は、それぞれ情報の初期化を行う。例えば文字選択部133bは、文字の位置「i」の値を「0」に初期化する。ノード作成部134bは、符号化辞書記憶部110b内の要約トライ「D」を初期化する。さらにノード作成部134bは、ノードポインタ「P」を初期化する。符号出力部136bは、圧縮済テキスト記憶部120b内の圧縮済テキストを初期化する。
[ステップS63]ノード作成部134bは、位置「i」の値が、文字数「n」より大きいか否かを判断する。位置「i」の値が文字数「n」より大きければ、処理がステップS71に進められる。位置「i」の値が文字数「n」以下であれば、処理がステップS64に進められる。
[ステップS67]ノード作成部134bは、要約トライ「D」の大きさ「k」が、最大符号数「K」未満か否かを判断する。要約トライ「D」の大きさ「k」が最大符号数「K」未満であれば、処理がステップS63に進められる。要約トライ「D」の大きさ「k」が最大符号数「K」以上であれば、処理がステップS68に進められる。
上記の処理機能は、コンピュータによって実現することができる。その場合、サーバが有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリなどがある。磁気記憶装置には、ハードディスク装置(HDD)、フレキシブルディスク(FD)、磁気テープなどがある。光ディスクには、DVD、DVD−RAM、CD−ROM/RWなどがある。光磁気記録媒体には、MO(Magneto-Optical disc)などがある。
(付記1) テキストデータ内の文字列から順に文字を選択する文字選択手段と、
前記テキストデータに出現し得る文字に対応する複数のノードがルートのノードの子として木構造で予め関連付けられ、各ノードに対して前記テキストデータに出現し得る文字に対応する子のノードを追加可能であり、各ノードに対応付けて、ノードの識別子と、各ノードが判断位置とされたときに次に出現した各文字の出現回数とが付与された文節木を記憶する文節木記憶手段を参照し、前記ルートのノードから前記判断位置を開始し、前記判断位置のノードに対して前記文字選択手段で選択された文字に対応する子のノードが存在する場合、該子のノードに前記判断位置を移動し、前記判断位置のノードに対して前記選択された文字に対応する子のノードが存在せず、かつ前記判断位置のノードに付与された前記選択された文字の出現回数が所定の閾値に達していない場合、前記ルートのノードに対する前記選択された文字に対応する子のノードに前記判断位置を移動し、前記判断位置のノードに対して前記選択された文字に対応する子のノードが存在せず、かつ前記判断位置のノードに付与された前記選択された文字の出現回数が所定の閾値に達している場合、前記判断位置のノードに対して、新たな識別子を付与した、前記選択された文字に対応する子のノードを追加すると共に、追加した該子のノードに前記判断位置を移動するノード追加手段と、
前記文節木記憶手段を参照し、前記判断位置のノードに対して前記選択された文字に対応するノードが存在しない場合、前記判断位置のノードの付与された前記選択された文字の出現回数をカウントアップする頻度カウント手段と、
を有することを特徴とするテキスト処理装置。
(付記6) 前記閾値変更手段は、前記選択された文字の総量が増加するほど、前記閾値の値を大きくすることを特徴とする付記5記載のテキスト処理装置。
テキストデータ内の文字列から順に文字を選択し、
前記テキストデータに出現し得る文字に対応する複数のノードがルートのノードの子として木構造で予め関連付けられ、各ノードに対して前記テキストデータに出現し得る文字に対応する子のノードを追加可能であり、各ノードに対応付けて、ノードの識別子と、各ノードが判断位置とされたときに次に出現した各文字の出現回数とが付与された文節木を記憶する文節木記憶手段を参照し、
前記ルートのノードから前記判断位置を開始し、
前記判断位置のノードに対して前記選択された文字に対応する子のノードが存在する場合、該子のノードに前記判断位置を移動し、
前記判断位置のノードに対して前記選択された文字に対応する子のノードが存在せず、かつ前記判断位置のノードに付与された前記選択された文字の出現回数が所定の閾値に達していない場合、前記ルートのノードに対する前記選択された文字に対応する子のノードに前記判断位置を移動し、
前記判断位置のノードに対して前記選択された文字に対応する子のノードが存在せず、かつ前記判断位置のノードに付与された前記選択された文字の出現回数が所定の閾値に達している場合、前記判断位置のノードに対して、新たな識別子を付与した、前記選択された文字に対応する子のノードを追加すると共に、追加した該子のノードに前記判断位置を移動し、
前記判断位置のノードに対して前記選択された文字に対応するノードが存在しない場合、前記判断位置のノードの付与された前記選択された文字の出現回数をカウントアップする、
ことを特徴とするテキスト処理方法。
前記文節木記憶手段を参照し、前記判断位置のノードに対して前記選択された文字に対応する子のノードが存在しない場合、前記判断位置のノードに付与された識別子を出力することを特徴とする付記8記載のテキスト処理方法。
前記テキストデータ内の文字列の最後の文字が選択されたことにより前記判断位置が移動されると、移動後の前記判断位置のノードに付与された識別子を出力することを特徴とする付記9記載のテキスト処理方法。
(付記12) 前記コンピュータが、さらに、
前記選択された文字の総量に応じて前記閾値を変更することを特徴とする付記8乃至11のいずれかに記載のテキスト処理方法。
(付記14) 前記コンピュータが、さらに、
移動後の前記判断位置のノードに付与された識別子を出力後、前記テキストデータ内の文字列に対応する符号の最後であることを示す制御記号を出力することを特徴とする付記10記載のテキスト処理方法。
テキストデータ内の文字列から順に文字を選択し、
前記テキストデータに出現し得る文字に対応する複数のノードがルートのノードの子として木構造で予め関連付けられ、各ノードに対して前記テキストデータに出現し得る文字に対応する子のノードを追加可能であり、各ノードに対応付けて、ノードの識別子と、各ノードが判断位置とされたときに次に出現した各文字の出現回数とが付与された文節木を記憶する文節木記憶手段を参照し、
前記ルートのノードから前記判断位置を開始し、
前記判断位置のノードに対して前記選択された文字に対応する子のノードが存在する場合、該子のノードに前記判断位置を移動し、
前記判断位置のノードに対して前記選択された文字に対応する子のノードが存在せず、かつ前記判断位置のノードに付与された前記選択された文字の出現回数が所定の閾値に達していない場合、前記ルートのノードに対する前記選択された文字に対応する子のノードに前記判断位置を移動し、
前記判断位置のノードに対して前記選択された文字に対応する子のノードが存在せず、かつ前記判断位置のノードに付与された前記選択された文字の出現回数が所定の閾値に達している場合、前記判断位置のノードに対して、新たな識別子を付与した、前記選択された文字に対応する子のノードを追加すると共に、追加した該子のノードに前記判断位置を移動し、
前記判断位置のノードに対して前記選択された文字に対応するノードが存在しない場合、前記判断位置のノードの付与された前記選択された文字の出現回数をカウントアップする、
処理を実行させることを特徴とするテキスト処理プログラム。
前記文節木記憶手段を参照し、前記判断位置のノードに対して前記選択された文字に対応する子のノードが存在しない場合、前記判断位置のノードに付与された識別子を出力することを特徴とする付記15記載のテキスト処理プログラム。
前記テキストデータ内の文字列の最後の文字が選択されたことにより前記判断位置が移動されると、移動後の前記判断位置のノードに付与された識別子を出力することを特徴とする付記16記載のテキスト処理プログラム。
(付記19) 前記コンピュータが、さらに、
前記選択された文字の総量に応じて前記閾値を変更することを特徴とする付記15乃至18のいずれかに記載のテキスト処理プログラム。
(付記21) 前記コンピュータが、さらに、
移動後の前記判断位置のノードに付与された識別子を出力後、前記テキストデータ内の文字列に対応する符号の最後であることを示す制御記号を出力することを特徴とする付記17記載のテキスト処理プログラム。
1a 文字選択手段
1b ノード追加手段
1c 頻度カウント手段
1d 識別子出力手段
2 文節木記憶手段
2a 文節木
3 テキストデータ
4 符号語列
Claims (7)
- テキストデータ内の文字列から順に文字を選択する文字選択手段と、
前記テキストデータに出現し得る文字に対応する複数のノードがルートのノードの子として木構造で予め関連付けられ、各ノードに対して前記テキストデータに出現し得る文字に対応する子のノードを追加可能であり、各ノードに対応付けて、ノードの識別子と、各ノードが判断位置とされたときに次に出現した各文字の出現回数とが付与された文節木を記憶する文節木記憶手段を参照し、前記ルートのノードから前記判断位置を開始し、前記判断位置のノードに対して前記文字選択手段で選択された文字に対応する子のノードが存在する場合、該子のノードに前記判断位置を移動し、前記判断位置のノードに対して前記選択された文字に対応する子のノードが存在せず、かつ前記判断位置のノードに付与された前記選択された文字の出現回数が所定の閾値に達していない場合、前記ルートのノードに対する前記選択された文字に対応する子のノードに前記判断位置を移動し、前記判断位置のノードに対して前記選択された文字に対応する子のノードが存在せず、かつ前記判断位置のノードに付与された前記選択された文字の出現回数が所定の閾値に達している場合、前記判断位置のノードに対して、新たな識別子を付与した、前記選択された文字に対応する子のノードを追加すると共に、追加した該子のノードに前記判断位置を移動するノード追加手段と、
前記文節木記憶手段を参照し、前記判断位置のノードに対して前記選択された文字に対応する子のノードが存在しない場合、前記判断位置のノードの付与された前記選択された文字の出現回数をカウントアップする頻度カウント手段と、
を有することを特徴とするテキスト処理装置。 - 前記文節木記憶手段を参照し、前記判断位置のノードに対して前記選択された文字に対応する子のノードが存在しない場合、前記判断位置のノードに付与された識別子を出力する識別子出力手段をさらに有することを特徴とする請求項1記載のテキスト処理装置。
- 前記識別子出力手段は、前記テキストデータ内の文字列の最後の文字が選択されたことにより前記判断位置が移動されると、移動後の前記判断位置のノードに付与された識別子を出力することを特徴とする請求項2記載のテキスト処理装置。
- 前記ノード追加手段は、子のノードの追加を、前記文節木のノードの数が所定数に達するまで行うことを特徴とする請求項1乃至3のいずれかに記載のテキスト処理装置。
- 前記選択された文字の総量に応じて前記閾値を変更する閾値変更手段をさらに有することを特徴とする請求項1乃至4のいずれかに記載のテキスト処理装置。
- コンピュータが、
テキストデータ内の文字列から順に文字を選択し、
前記テキストデータに出現し得る文字に対応する複数のノードがルートのノードの子として木構造で予め関連付けられ、各ノードに対して前記テキストデータに出現し得る文字に対応する子のノードを追加可能であり、各ノードに対応付けて、ノードの識別子と、各ノードが判断位置とされたときに次に出現した各文字の出現回数とが付与された文節木を記憶する文節木記憶手段を参照し、
前記ルートのノードから前記判断位置を開始し、
前記判断位置のノードに対して前記選択された文字に対応する子のノードが存在する場合、該子のノードに前記判断位置を移動し、
前記判断位置のノードに対して前記選択された文字に対応する子のノードが存在せず、かつ前記判断位置のノードに付与された前記選択された文字の出現回数が所定の閾値に達していない場合、前記ルートのノードに対する前記選択された文字に対応する子のノードに前記判断位置を移動し、
前記判断位置のノードに対して前記選択された文字に対応する子のノードが存在せず、かつ前記判断位置のノードに付与された前記選択された文字の出現回数が所定の閾値に達している場合、前記判断位置のノードに対して、新たな識別子を付与した、前記選択された文字に対応する子のノードを追加すると共に、追加した該子のノードに前記判断位置を移動し、
前記判断位置のノードに対して前記選択された文字に対応する子のノードが存在しない場合、前記判断位置のノードの付与された前記選択された文字の出現回数をカウントアップする、
ことを特徴とするテキスト処理方法。 - コンピュータに、
テキストデータ内の文字列から順に文字を選択し、
前記テキストデータに出現し得る文字に対応する複数のノードがルートのノードの子として木構造で予め関連付けられ、各ノードに対して前記テキストデータに出現し得る文字に対応する子のノードを追加可能であり、各ノードに対応付けて、ノードの識別子と、各ノードが判断位置とされたときに次に出現した各文字の出現回数とが付与された文節木を記憶する文節木記憶手段を参照し、
前記ルートのノードから前記判断位置を開始し、
前記判断位置のノードに対して前記選択された文字に対応する子のノードが存在する場合、該子のノードに前記判断位置を移動し、
前記判断位置のノードに対して前記選択された文字に対応する子のノードが存在せず、かつ前記判断位置のノードに付与された前記選択された文字の出現回数が所定の閾値に達していない場合、前記ルートのノードに対する前記選択された文字に対応する子のノードに前記判断位置を移動し、
前記判断位置のノードに対して前記選択された文字に対応する子のノードが存在せず、かつ前記判断位置のノードに付与された前記選択された文字の出現回数が所定の閾値に達している場合、前記判断位置のノードに対して、新たな識別子を付与した、前記選択された文字に対応する子のノードを追加すると共に、追加した該子のノードに前記判断位置を移動し、
前記判断位置のノードに対して前記選択された文字に対応する子のノードが存在しない場合、前記判断位置のノードの付与された前記選択された文字の出現回数をカウントアップする、
処理を実行させることを特徴とするテキスト処理プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010091311A JP5544998B2 (ja) | 2010-04-12 | 2010-04-12 | テキスト処理装置、テキスト処理方法、およびテキスト処理プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010091311A JP5544998B2 (ja) | 2010-04-12 | 2010-04-12 | テキスト処理装置、テキスト処理方法、およびテキスト処理プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2011221845A JP2011221845A (ja) | 2011-11-04 |
JP5544998B2 true JP5544998B2 (ja) | 2014-07-09 |
Family
ID=45038744
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010091311A Expired - Fee Related JP5544998B2 (ja) | 2010-04-12 | 2010-04-12 | テキスト処理装置、テキスト処理方法、およびテキスト処理プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5544998B2 (ja) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5966673B2 (ja) * | 2012-06-28 | 2016-08-10 | 富士通株式会社 | 符号処理のためのプログラム及びデータ構造 |
JP6028567B2 (ja) | 2012-12-28 | 2016-11-16 | 富士通株式会社 | データ格納プログラム、データ検索プログラム、データ格納装置、データ検索装置、データ格納方法及びデータ検索方法 |
JP6296044B2 (ja) * | 2015-12-07 | 2018-03-20 | 富士通株式会社 | 符号処理のためのプログラム及びデータ構造 |
CN107463676B (zh) * | 2017-08-04 | 2020-06-30 | 杭州安恒信息技术股份有限公司 | 文本数据存储方法及装置 |
CN110262289B (zh) * | 2019-07-18 | 2022-04-26 | 潍柴动力股份有限公司 | A2l文件中变量的处理方法、装置和存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06149537A (ja) * | 1992-11-05 | 1994-05-27 | Fujitsu Ltd | データ圧縮方法及び復元方法 |
JP4479908B2 (ja) * | 2005-06-30 | 2010-06-09 | 富士通株式会社 | データソート処理プログラム、データソート処理方法およびデータソート処理装置 |
-
2010
- 2010-04-12 JP JP2010091311A patent/JP5544998B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2011221845A (ja) | 2011-11-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5895545B2 (ja) | プログラム、圧縮ファイル生成方法、圧縮符号伸張方法、情報処理装置、および記録媒体 | |
US8838551B2 (en) | Multi-level database compression | |
US9710517B2 (en) | Data record compression with progressive and/or selective decomposition | |
JP5831298B2 (ja) | プログラム、情報処理装置およびインデックス生成方法 | |
JP4977589B2 (ja) | 固有表現抽出装置、固有表現抽出方法、及びプログラム | |
US10389378B2 (en) | Computer product, information processing apparatus, and information search apparatus | |
US20160321282A1 (en) | Extracting method, information processing method, computer product, extracting apparatus, and information processing apparatus | |
JP5544998B2 (ja) | テキスト処理装置、テキスト処理方法、およびテキスト処理プログラム | |
US9916314B2 (en) | File extraction method, computer product, file extracting apparatus, and file extracting system | |
US8866647B2 (en) | Computer product, information processing apparatus, and information search apparatus | |
JP2001345710A (ja) | データ圧縮装置および方法 | |
CN111460083A (zh) | 文档标题树的构建方法、装置、电子设备及存储介质 | |
US9720976B2 (en) | Extracting method, computer product, extracting system, information generating method, and information contents | |
JP7140913B2 (ja) | 映像配信時効の決定方法及び装置 | |
US8947272B2 (en) | Decoding encoded data | |
KR100442991B1 (ko) | 트리구조의 동영상 색인 기술자를 이용한 검색장치 및 그 방법 | |
KR101234795B1 (ko) | 컨텐츠 브라우징 장치 및 방법 | |
US8989507B2 (en) | Bitmap compression for fast searches and updates | |
WO2015025467A1 (ja) | 文字列検索装置、文字列検索方法および文字列検索プログラム | |
CN108038109A (zh) | 从非结构化文本中提取特征词的方法及***、计算机程序 | |
JPH10261969A (ja) | データ圧縮方法および装置 | |
CN109815475B (zh) | 文本匹配方法、装置、计算设备及*** | |
JP5939259B2 (ja) | 照合制御プログラム、照合制御装置および照合制御方法 | |
JP5346156B2 (ja) | プログラム、転置インデックスの格納方法及び検索方法 | |
JP2006302082A (ja) | 文字列検索装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130206 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20131113 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20131119 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140117 |
|
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: 20140415 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20140428 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5544998 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |