JP6467937B2 - 文書処理プログラム、情報処理装置および文書処理方法 - Google Patents

文書処理プログラム、情報処理装置および文書処理方法 Download PDF

Info

Publication number
JP6467937B2
JP6467937B2 JP2015009833A JP2015009833A JP6467937B2 JP 6467937 B2 JP6467937 B2 JP 6467937B2 JP 2015009833 A JP2015009833 A JP 2015009833A JP 2015009833 A JP2015009833 A JP 2015009833A JP 6467937 B2 JP6467937 B2 JP 6467937B2
Authority
JP
Japan
Prior art keywords
document
code
documents
encoded
encoding
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.)
Active
Application number
JP2015009833A
Other languages
English (en)
Other versions
JP2016134100A (ja
Inventor
将夫 出内
将夫 出内
片岡 正弘
正弘 片岡
幸資 田尾
幸資 田尾
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2015009833A priority Critical patent/JP6467937B2/ja
Priority to US15/000,784 priority patent/US20160210508A1/en
Publication of JP2016134100A publication Critical patent/JP2016134100A/ja
Application granted granted Critical
Publication of JP6467937B2 publication Critical patent/JP6467937B2/ja
Priority to US16/899,634 priority patent/US11394956B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Document Processing Apparatus (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、文書処理プログラム等に関する。
複数の文書にわたる検索を行う場合、検索を行う装置は、各文書で生成されたインデックス情報を用いる必要があるか、全ての文書を伸長してから検索する必要がある。
特に、各文書が圧縮されている場合、単語ごとに圧縮が行われているとは限らず、単語ごとに圧縮が行われている場合であっても、文書ごとに単語に対応する圧縮符号が異なる。したがって、複数の文書にわたる検索を行う場合、装置は、全ての文書を伸長してから検索する必要がある。
ここで、圧縮アルゴリズムには、LZ77に基づいたZIPがある。ZIPでは、圧縮対象の文字列に対して、スライド窓を用いて最長一致の文字列を判定し、圧縮データを生成する。したがって、単語ごとに圧縮が行われていないので、複数の文書にわたる検索を行う場合、装置は、全ての文書を伸長してから検索する必要がある。
また、別の圧縮アルゴリズムとして、圧縮対象の文書で単語の出現回数をカウントし、出現回数に応じて単語に可変長符号を割り当てる技術がある(例えば、特許文献1参照)。かかる技術では、単語ごとに出現回数をカウントした字句解析の集計結果を用いて、圧縮データを生成する。複数の文書が存在する場合には、複数の文書ごとに単語に割り当てる符号が異なることになるので、複数の文書にわたる検索を行う場合、装置は、全ての文書の符号を伸長してから検索する必要がある。
特開平11−168390号公報
しかしながら、複数の文書にわたる検索等の処理を行う場合、圧縮の際に生成される複数の文書の集計結果を利用できないという問題がある。
例えば、ZIPでは、圧縮処理は、スライド窓を用いて最長一致の文字列を判定するので、最長一致の文字列から生成される圧縮符号として単語の区切りを意識しない符号となる。つまり、圧縮処理と単語の検索処理とは、共通性がない。したがって、複数の文書にわたる検索等の処理を行う場合、圧縮の際に生成される複数の文書の集計結果を利用できない。
また、出現回数を利用した圧縮アルゴリズムであっても、圧縮で用いられる単語辞書は、符号化前の文書中に出現される単語と単語についての品詞情報とをカテゴリ情報として登録されたものであるので、文書ごとに独立する。圧縮処理は、文書に対応する単語辞書を用いて、該文書を単語単位に分割し、分割した単語をカウントした結果である集計結果を生成する。生成される集計結果は、複数の文書ごとに独立する。したがって、複数の文書にわたる検索等の処理を行う場合、圧縮の際に生成される複数の文書の集計結果を利用できない。
出現回数を利用した圧縮アルゴリズムにおいて、複数の文書にわたる検索等の処理を行う場合、圧縮の際に生成される複数の集計結果を利用できないという問題について、図1Aおよび図1Bを参照して説明する。図1Aは、圧縮処理の一例を示す図である。図1Aに示すように、単語カウント部は、未圧縮状態のファイルを該ファイルに対応する単語辞書を用いて、単語単位に分割する。単語カウント部は、分割した単語をカウントし、カウントした結果である集計結果を生成する。集計結果は、ファイル単位に生成される。そして、符号割当部は、集計結果を用いて単語に対して圧縮符号を割り当てる。この結果、圧縮状態のファイルが生成される。集計結果は、圧縮状態のファイルが生成された後削除される。これは、集計結果が、ファイルごとに異なった単語辞書から生成されるものであるので、ファイルごとに共通性がないからである。
図1Bは、圧縮状態のファイルを活用する文書処理の一例を示す図である。図1Bに示すように、文書処理は、圧縮状態のファイルAを伸長し(101)、伸長した未圧縮状態のファイルについて字句解析を行う(102)。ここでいう字句解析とは、未圧縮状態のファイル中のデータを単語に分割することをいう。また、文書処理は、圧縮状態のファイルBを伸長し(101)、伸長した未圧縮状態のファイルについて字句解析を行う(102)。そして、文書処理は、字句解析がされた未圧縮状態のファイルA、Bを統合する(103)。そして、文書処理は、複数のファイルにわたる検索等の処理を行う(104)。例えば、処理が検索処理の場合には、文書処理は、検索処理に合致する文書を抽出する。そして、文書処理は、抽出した文書について集計を行い、圧縮の際に生成される集計結果とは別の新たな集計結果を生成する(105)。そして、文書処理は、生成した集計結果、すなわち圧縮状態のファイルを活用する(106)。つまり、文書処理は、複数のファイルにわたる検索等の処理を行う場合、圧縮の際に生成される複数の集計結果を利用できない。
1つの側面では、複数の文書にわたる検索処理等の処理を行う場合、圧縮の際に生成される複数の集計結果を利用することを目的とする。
第1の案では、コンピュータに、下記の処理を実行させる。複数の文書から、複数の単語と第1の符号群とを対応付けた第1の符号化情報に基づいて、前記第1の符号化情報に含まれる単語を変換した、複数の第1符号化文書を生成し、前記複数の第1符号化文書における、前記第1の符号化により変換された符号ごとに頻度集計を行い、前記複数の第1符号化文書それぞれを、前記頻度集計の結果を用いた第2の符号化により変換した、複数の第2符号化文書を出力する、処理を実行させる。
本発明の1実施態様によれば、複数の文書にわたる検索処理等の処理を行う場合、圧縮の際に生成される複数の集計結果を利用できる。
図1Aは、圧縮処理の一例を示す図である。 図1Bは、圧縮状態のファイルを活用する文書処理の一例を示す図である。 図2Aは、実施例に係る圧縮処理の一例を示す図である。 図2Bは、実施例に係る文書処理の一例を示す図である。 図3は、中間符号を説明する図である。 図4は、実施例に係る情報処理装置の構成を示す機能ブロック図である。 図5は、実施例に係る静的単語辞書のデータ構造の一例を示す図である。 図6は、実施例に係る中間符号表のデータ構造の一例を示す図である。 図7は、実施例に係る集計情報のデータ構造の一例を示す図である。 図8は、実施例に係る最適符号表のデータ構造の一例を示す図である。 図9は、静的単語辞書と中間符号表と最適符号表の関係を示す図である。 図10は、実施例に係る圧縮部の構成の一例を示す機能ブロック図である。 図11は、実施例に係る文書処理制御部の構成の一例を示す機能ブロック図である。 図12は、実施例に係る伸長部の構成の一例を示す機能ブロック図である。 図13Aは、文書の統合の一例を説明する図である。 図13Bは、文書の統合の別の例を説明する図である。 図14は、実施例に係る圧縮部の処理手順を示すフローチャートである。 図15は、実施例に係る文書処理制御部の処理手順を示すフローチャートである。 図16は、実施例に係る文書処理制御部の検索処理手順を示すフローチャートである。 図17は、実施例に係る文書処理制御部の置換処理手順を示すフローチャートである。 図18は、実施例に係る伸長部の処理手順を示すフローチャートである。 図19Aは、実施例に係る文書処理における用途の一例を示す図である。 図19Bは、文書処理における用途の参考例を示す図である。 図20は、情報処理装置のハードウェアの構成の一例を示す図である。
以下に、本願の開示する文書処理プログラム、情報処理装置および文書処理方法の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
図2Aは、本実施例に係る圧縮処理の一例を示す図である。
図2Aに示すように、中間符号変換部は、未圧縮状態のファイルを、静的単語辞書を用いて、単語単位に分割する。中間符号変換部は、分割した単語を中間符号表に基づいて中間符号化を行う。静的単語辞書とは、一般的な国語辞典や教科書等を基にして文書中に出現する単語を品詞と対応付けた静的な辞書である。中間符号表とは、単語を中間符号に対応付けた情報である。中間符号とは、最適な圧縮符号に符号化される際に用いられる中間的な符号のことをいい、単語に対して固定の長さの符号が割り当てられる。固定の長さは、一例として3バイトである。
単語カウント部は、ファイルに含まれる複数の文書それぞれについて、中間符号化により生成された単語に対応する中間符号ごとに出現回数をカウントする。単号カウント部は、中間符号ごとに出現回数をカウントした結果である集計結果を生成する。すなわち、集計結果は、中間符号ごとの頻度集計の結果であり、文書単位に生成される。
符号割当部は、中間符号化が行われた複数の文書それぞれに、複数の文書それぞれの集計結果を用いた最適符号化を行う。例えば、符号割当部は、複数の文書それぞれの集計結果をマージした統合集計情報を生成し、生成された統合集計情報に基づき、中間符号化がなされた複数の文書それぞれに最適な圧縮符号に符号化する最適符号化を行う。この結果、圧縮状態のファイルが生成される。
図2Bは、実施例に係る文書処理の一例を示す図である。
図2Bに示すように、圧縮状態のファイルAと圧縮処理の際に生成された文書単位の集計結果が存在する。圧縮状態のファイルBと圧縮処理の際に生成された文書単位の集計結果が存在する。
文書処理は、圧縮状態のファイルAについて、最適符号化が行われた複数の文書それぞれに対し、中間符号表に基づいて中間符号化を行うことで伸長する(201)。すなわち、文書処理は、複数の文書を、中間符号を用いて符号化した状態を示す中間符号状態にする。文書処理は、検索を所望するキーワードがある場合には、中間符号状態の複数の文書から検索キーワードを含む文書を検索する(202)。例えば、文書処理は、検索キーワードを受け取ると、圧縮処理の際に生成された複数の文書それぞれの集計結果に基づいて、中間符号状態の複数の文書から検索キーワードを含む文書を決定する。文書処理は、決定した文書に対応する中間符号状態を検索対象とする。
文書処理は、圧縮状態のファイルBについて、最適符号化が行われた複数の文書それぞれに対し、中間符号表に基づいて中間符号化を行うことで伸長する(201)。すなわち、文書処理は、複数の文書を、中間符号を用いて符号化した状態を示す中間符号状態にする。文書処理は、検索を所望するキーワードがある場合には、中間符号状態の複数の文書から検索キーワードを含む文書を検索する(202)。例えば、文書処理は、検索キーワードを受け取ると、圧縮処理の際に生成された複数の文書それぞれの集計結果に基づいて、中間符号状態の複数の文書から検索キーワードを含む文書を決定する。文書処理は、決定した文書に対応する中間符号状態を検索対象とする。
文書処理は、ファイルAおよびファイルBに対応するそれぞれの検索対象の文書に対応する中間符号状態を統合する(203)。そして、文書処理は、検索対象の文書の集計結果を抽出する。
文書処理は、所定のキーワードについて置換を所望する場合には、統合された中間符号状態の複数の文書に対して、所定のキーワードを置換する(204)。例えば、文書処理は、置換前の第1のキーワードと置換後の第2のキーワードを受け取ると、圧縮処理の際に生成された複数の文書それぞれの集計結果に基づいて、第1のキーワードの中間符号を含む中間符号状態の文書を決定する。文書処理は、決定した文書に対応する中間符号状態の第1のキーワードの中間符号を第2のキーワードの中間符号に置換する。
文書処理は、処理を行った結果の文書の中間符号状態について集計を行い、新たな集計結果を生成する(205)。そして、文書処理は、生成した集計結果、すなわち圧縮状態のファイルを活用する(206)。
これにより、文書処理は、複数のファイルにわたる検索等の処理を行う場合、圧縮の際に生成される集計結果を利用できる。また、文書処理は、中間符号状態で、検索等の処理や統合といった複数の文書に跨った処理を行うことにより、文書を伸長した未圧縮状態で行う処理と比較して少なくとも字句解析102がない分、I/Oの負荷を軽減することができ、処理を高速化できる。
図3は、中間符号を説明する図である。なお、中間符号表には、単語「さくら」に対して中間符号「0xD2AC37」が対応付けられ、単語「学校」に対して中間符号「0xD18FC5」が対応付けられ、単語「の」に対して中間符号「0xE38289」が対応付けられているとする。
圧縮処理において、中間変換部は、未圧縮状態の文書を単語単位に分割し、分割した単語を中間符号表に基づいて中間符号化を行う。図3の例では、未圧縮状態の文書として「さくら学校の・・・」が設定されている。中間符号化部は、未圧縮状態の文書を単語単位「さくら」、「学校」、「の」・・・に分割する。中間符号化部は、中間符号表に基づいて、単語「さくら」に対して中間符号「0xD2AC37」を対応付ける。中間符号化部は、単語「学校」に対して中間符号「0xD18FC5」を対応付ける。中間符号化部は、単語「の」に対して中間符号「0xE38289」を対応付ける。すると、中間変換部は、未圧縮状態の文書「さくら学校の・・・」を中間符号状態「0xD2AC37 0xD18FC5 0xE38289」に変換する。
また、文書処理において、最適符号化が行われた複数の文書それぞれに対し、中間符号表に基づいて中間符号化を行うことで伸長する。図3の例では、単語「さくら」に対して圧縮符号(最適符号)「010・・・011」が対応付けられ、単語「学校」に対して圧縮符号「010・・・111」が対応付けられ、単語「の」に対して圧縮符号「011・・・01」が対応付けられているとする。圧縮状態の文書として「010・・・011010・・・111011・・・01・・・」が設定されている。圧縮状態の文書は、未圧縮状態の文書の圧縮状態である。文書処理は、最適符号「010・・・011」に対して中間符号「0xD2AC37」を対応付ける。文書処理は、最適符号「010・・・111」に対して中間符号「0xD18FC5」を対応付ける。文書処理は、最適符号「011・・・01」に対して中間符号「0xE38289」を対応付ける。すると、文書処理は、圧縮状態の文書「010・・・011010・・・111011・・・01・・・」を中間符号状態「0xD2AC37 0xD18FC5 0xE38289」に変換することで伸長する。
これにより、固定長の中間符号が単語と対応付けられるので、中間変換部が、文書を中間符号化すると、中間符号化された中間符号状態を字句解析結果として扱うことができる。また、固定長の中間符号が単語と対応付けられるので、文書処理が、圧縮状態の文書を完全に伸長しなくても、圧縮状態の文書を中間符号状態にすることで、中間符号状態を字句解析結果として扱うことができる。これは、中間符号状態のそれぞれの固定長の中間符号を単語と判別できるからである。
図4は、実施例に係る情報処理装置の構成を示す機能ブロック図である。図4に示すように、情報処理装置1は、圧縮部10、文書処理制御部20、伸長部30および記憶部40を有する。
圧縮部10は、図2Aに示した圧縮処理を実行する処理部である。文書処理制御部20は、図2Bに示した文書処理を実行する処理部である。伸長部30は、圧縮部10によって圧縮されたデータを伸長する処理部である。
記憶部40は、例えばフラッシュメモリ(Flash Memory)やFRAM(登録商標)(Ferroelectric Random Access Memory)等の不揮発性の半導体メモリ素子等の記憶装置に対応する。記憶部40は、静的単語辞書41、中間符号表42、集計情報43および最適符号表44を有する。
静的単語辞書41は、一般的な国語辞典や教科書等を基にして文書中に出現する単語を品詞と対応付けた辞書である。静的単語辞書41は、あらかじめ定められる。ここで、静的単語辞書41のデータ構造を、図5を参照して説明する。
図5は、実施例に係る静的単語辞書のデータ構造の一例を示す図である。図5に示すように、静的単語辞書41は、単語ID(identification)41a、単語41bおよび品詞等付加情報41cを対応付けて記憶する。単語ID41aは、単語の識別子を示す。単語41bは、単語そのものを示す。品詞等付加情報41cは、例えば、単語の品詞を示す。一例として、単語ID41aが「1」である場合に、単語41bとして「さくら」、品詞等付加情報41cとして「名詞」を記憶する。
図4に戻って、中間符号表42は、単語を中間符号に対応付けた情報である。中間符号表42は、静的な情報であって、あらかじめ定められる。ここで、中間符号表42のデータ構造を、図6を参照して説明する。
図6は、実施例に係る中間符号表のデータ構造の一例を示す図である。図6に示すように、中間符号表42は、単語ID42aおよび中間符号42bを対応付けて記憶する。単語ID42aは、単語の識別子を示す。単語ID42aは、静的単語辞書41の単語ID41aと紐づく。中間符号42bは、単語ID42aに対応する単語の中間符号を示す。中間符号42bは、例えば固定長の3バイトで表わされる。一例として、単語ID42aが「1」である場合に、中間符号42bとして「D2AC37」を記憶する。単語ID42aが「2」である場合に、中間符号42bとして「D18FC5」を記憶する。
図4に戻って、集計情報43は、文書内に含まれる各単語の出現回数を表す情報である。集計情報43は、文書単位に管理される。集計情報43は、図2Aおよび図2Bの集計結果に対応する。ここで、集計情報43のデータ構造を、図7を参照して説明する。
図7は、実施例に係る集計情報のデータ構造の一例を示す図である。図7に示すように、集計情報43には、文書番号43aごとに文書に含まれる単語43bの出現回数43cが記憶される。文書番号43aには、文書の番号が設定される。単語43bには、文書に含まれる単語が設定される。単語43bには、単語とともに単語に対応する中間符号が設定されても良い。出現回数43cには、文書番号43aの文書内に含まれる単語43bの出現回数が設定される。出現回数43cは、文書番号43aと単語43bとで特定される位置に設定される。一例として、文書番号43aが「1」である場合に、単語43bとして「さくら」、出現回数43cとして「1」を記憶している。文書番号43aが「1」である場合に、単語43bとして「かえで」、出現回数43cとして「0」を記憶している。文書番号43aが「1」である場合に、単語43bとして「学校」、出現回数43cとして「1」を記憶している。文書番号43aが「1」である場合に、単語43bとして「の」、出現回数43cとして「1」を記憶している。
図4に戻って、最適符号表44は、単語を最適な圧縮符号(以降、最適符号と同義)に対応付けた情報である。すなわち、最適符号表44は、集計情報43に基づいて出現頻度のより高い単語に対して、より短い圧縮符号を割り当てた情報である。最適符号表44は、後述する圧縮部10によって動的に生成される。ここで、最適符号表44のデータ構造を、図8を参照して説明する。
図8は、実施例に係る最適符号表のデータ構造の一例を示す図である。図8に示すように、最適符号表44は、単語ID44aおよび最適符号44bを対応付けて記憶する。単語ID44aは、単語の識別子を示す。単語ID44aは、静的単語辞書41の単語ID41aと紐づくとともに、中間符号表42の単語ID42aと紐づく。最適符号44bは、単語ID42aに対応する単語の最適符号を示す。一例として、単語ID44aが「1」である場合に、最適符号44bとして「010・・・011」を記憶する。
図9は、静的単語辞書と中間符号表と最適符号表の関係を示す図である。図9に示すように、静的単語辞書41、中間符号表42および最適符号表44では、静的単語辞書41の単語41bに対応付けて中間符号42bおよび最適符号44bが管理される。すなわち、単語41bの識別子である単語ID41aによって単語41bと中間符号42bと最適符号44bとが対応付けられる。一例として、単語IDが「1」である場合、単語41bとして「さくら」、中間符号42bとして「D2AC37」、最適符号44bとして「010・・・011」が対応付けられる。なお、静的単語辞書41、中間符号表42および最適符号表44は、別個に管理する場合を説明したが、これに限定されず、纏めて管理する場合であっても良い。かかる場合には、単語IDに対して単語、中間符号および最適符号が1レコードに設定されれば良い。
図10は、実施例に係る圧縮部の構成の一例を示す機能ブロック図である。この圧縮部10は、中間符号生成部11および最適符号生成部12を有する。中間符号生成部11は、未圧縮状態の文書の中間符号列91を生成する。最適符号生成部12は、中間符号状態の文書の圧縮状態を生成する。中間符号生成部11は、字句解析部111、中間符号変換部112および単語カウント部113を有する。最適符号生成部12は、最適符号割当部121、最適符号変換部122および符号情報出力部123を有する。
字句解析部111は、圧縮対象文書データ90を字句解析する。圧縮対象文書データ90は、未圧縮状態の文書のデータである。例えば、字句解析部111は、圧縮対象文書データ90を入力する。字句解析部111は、静的単語辞書41を参照し、入力した圧縮対象文書データ90を字句解析する。一例として、圧縮対象文書データ90が「さくら学校の・・・」である場合に、字句解析部111は、字句解析の結果として、「さくら」、「学校」、「の」に分割する。字句解析部111は、字句解析によって解析された単語を集計情報43の単語43b欄に追加する。なお、字句解析部111は、追加する単語が集計情報43に既に設定されている場合には、重複して当該単語を追加しない。
中間符号変換部112は、字句解析された圧縮対象文書データ90を中間符号に変換する。例えば、中間符号変換部112は、中間符号表42を参照し、圧縮対象文書データ90が字句解析によって分割された単語ごとに、各単語を中間符号に変換する。一例として、圧縮対象文書データ90が字句解析によって分割された単語が「さくら」、「学校」、「の」であって、中間符号表42が図6で示す内容であるとする。中間符号変換部112は、中間符号表42を参照し、単語「さくら」に対して中間符号「D2AC37」を対応付ける。中間符号変換部112は、単語「学校」に対して中間符号「D18FC5」を対応付ける。中間符号変換部112は、単語「の」に対して中間符号「E38289」を対応付ける。そして、中間符号変換部112は、圧縮対象文書データ90に対応する中間符号列91を生成する。
単語カウント部113は、文書ごとに、中間符号の出現回数をカウントし、集計情報43を生成する。例えば、単語カウント部113は、中間符号変換部112によって中間符号に変換された単語と文書の文書番号とで特定される出現回数43cの位置に、現に設定された値を1だけ加算する。一例として、中間符号変換部112によって文書番号「1」の文書内の「さくら」が中間符号「D2AC37」に変換されたとする。すると、単語カウント部113は、単語「さくら」と文書番号「1」とで特定される出現回数43cの位置に、現に「1」が設定されていれば、「2」を設定する。
最適符号割当部121は、文書ごとに生成された集計情報43を用いて、静的単語辞書41に設定されたそれぞれの単語に最適符号を割り当てる。例えば、最適符号割当部121は、文書ごとに生成された集計情報43をマージした統合集計情報を生成する。統合集計情報には、各単語に対して集計された出現回数が設定される。最適符号割当部121は、統合集計情報に基づき、静的単語辞書41に設定されたそれぞれの単語に最適符号を割り当てる。そして、最適符号割当部121は、最適符号表44を生成する。
最適符号変換部122は、最適符号表44に基づき、圧縮対象文書データ90の中間符号列91の最適符号化を行う。例えば、最適符号変換部122は、中間符号列91の先頭から順次中間符号を取得する。最適符号変換部122は、順次取得した中間符号を、最適符号表44を参照して、最適符号に変換する。
符号情報出力部123は、圧縮対象文書データ90の最適符号化結果および最適符号表44を圧縮済文書データ92として出力する。符号情報出力部123は、最適符号割当部121によって生成された集計情報43を出力する。
図11は、実施例に係る文書処理制御部の構成の一例を示す機能ブロック図である。この文書処理制御部20は、最適符号伸長部21、文書処理部22および最適符号生成部23を有する。最適符号伸長部21は、最適符号を中間符号まで伸長し、中間符号列93を生成する。文書処理部22は、中間符号列93を用いて検索等文書に対する処理を行う。最適符号生成部23は、文書に対する処理を行った結果、中間符号状態の文書の圧縮状態を生成する。最適符号伸長部21は、符号表展開部211および最適符号伸長部212を有する。最適符号生成部23は、最適符号割当部231、最適符号変換部232および符号情報出力部233を有する。
符号表展開部211は、圧縮済文書データ92に含まれる最適符号表44を展開する。例えば、符号表展開部211は、圧縮済文書データ92および集計情報43を入力する。圧縮済文書データ92および集計情報43は、圧縮部10によって出力された情報である。符号表展開部211は、圧縮済文書データ92に含まれる最適符号表44を、例えば記憶部40に展開する。
最適符号伸長部212は、最適符号表44および中間符号表42を参照し、圧縮済文書データ92に含まれるそれぞれの最適符号を中間符号に変換する。例えば、最適符号伸長部212は、圧縮済文書データ92に含まれる最適符号化結果の先頭から所定のビット数だけ取得する。最適符号伸長部212は、最適符号表44を参照し、取得したビット数のデータに含まれる最適符号44bを探索し、単語ID44aを特定する。最適符号伸長部212は、中間符号表42を参照し、特定した単語ID44aに対応する中間符号42bを決定する。そして、最適符号伸長部212は、次の最適符号を探索すべく、最適符号化結果の中で合致した最適符号の次のビットから所定のビット数だけ取得し、探索処理を行い、最適符号を中間符号に変換する。そして、最適符号伸長部212は、圧縮済文書データ92に対応する中間符号列93を生成する。なお、所定のビット数は、例えば、最適符号の最大のビット数より大きいビット数であれば良い。
文書処理部22は、中間符号列93および集計情報43を用いて、文書に対する処理を行う。例えば、文書に対する処理が検索処理である場合には、文書処理部22は、検索キーワードを入力する。検索キーワードは、符号化されていないキーワードである。文書処理部22は、検索キーワードが静的単語辞書41に存在する場合には、集計情報43を参照して、検索キーワードを含む文書を決定する。すなわち、文書処理部22は、検索キーワードに対する出現回数43bが1以上である文書番号43aの文書を検索結果として決定する。一例として、検索キーワードが「学校」であって、集計情報43が図7で示す内容であるとする。文書処理部22は、検索キーワードである「学校」に対する出現回数43bが1以上である文書番号43a「1」および「2」の文書を検索結果として決定する。
文書処理部22は、検索キーワードが静的単語辞書41に存在しない場合には、検索キーワードを単語や文字に分解する。検索キーワードが、一例として連結単語である場合である。文書処理部22は、集計情報43を参照して、分解した単語や文字を含む文書を特定する。文書処理部22は、検索キーワードを中間符号に変換し、特定した文書の中間符号状態から、変換した検索キーワードの中間符号を含む文書を決定する。
文書処理部22は、決定した文書を中間符号状態のまま統合し、統合した文書を検索結果として抽出する。文書処理部22は、抽出した検索結果および集計情報を出力する。
なお、文書処理部22は、文書に対する処理として検索処理を一例に挙げたが、これに限定しない。文書処理部22は、文書に対する処理として置換処理であっても良い。置換処理の手順は、後述する。
最適符号割当部231は、文書ごとに生成された集計情報43を用いて、静的単語辞書41に設定されたそれぞれの単語に最適符号を割り当てる。なお、最適符号割当部231の処理は、圧縮部10の最適符号割当部121の処理と同様であるので、その説明を省略する。
最適符号変換部232は、最適符号表44に基づき、文書処理部22によって処理された結果を示す文書データの中間符号列の最適符号化を行う。なお、最適符号変換部232の処理は、圧縮部10の最適符号変換部122の処理と同様であるので、その説明を省略する。
符号情報出力部233は、文書処理部22によって処理された結果を示す文書データの最適符号化結果および最適符号表44を圧縮済文書データ92として出力する。符号情報出力部233は、集計情報43を出力する。なお、符号情報出力部233の処理は、圧縮部10の符号情報出力部123の処理と同様である。
図12は、実施例に係る伸長部の構成の一例を示す機能ブロック図である。この伸長部30は、最適符号伸長部31を有する。最適符号伸長部31は、最適符号を伸長し、伸長済文書データ95を生成する。最適符号伸長部31は、符号表展開部311および最適符号伸長部312を有する。
符号表展開部311は、圧縮済文書データ92に含まれる最適符号表44を展開する。例えば、符号表展開部311は、圧縮済文書データ92を入力する。圧縮済文書データ92は、圧縮部10または文書処理制御部20によって出力された情報である。符号表展開部311は、圧縮済文書データ92に含まれる最適符号表44を展開する。
最適符号伸長部312は、最適符号表44および静的単語辞書41を参照し、圧縮済文書データ92に含まれるそれぞれの最適符号を単語に変換する。例えば、最適符号伸長部312は、圧縮済文書データ92に含まれる最適符号化結果の先頭から所定のビット数だけ取得する。最適符号伸長部312は、最適符号表44を参照し、取得したビット数のデータに含まれる最適符号44bを探索し、単語ID44aを特定する。最適符号伸長部312は、静的単語辞書41を参照し、特定した単語ID44aに対応する単語41bを決定する。そして、最適符号伸長部312は、次の最適符号を探索すべく、最適符号化結果の中で合致した最適符号の次のビットから所定のビット数だけ取得し、探索処理を行い、最適符号を単語に変換する。そして、最適符号伸長部312は、圧縮済文書データ92に対応する伸長済文書データ95を生成する。なお、所定のビット数は、例えば、最適符号の最大のビット数より大きいビット数であれば良い。
ここで、文書の統合の一例を、図13Aおよび図13Bを参照して説明する。図13Aおよび図13Bは、文書の統合の一例を説明する図である。図13Aおよび図13Bでは、圧縮部10の中間符号生成部11が、複数の未圧縮状態の文書(圧縮対象文書データ90)a、bの中間符号列をそれぞれ生成し、統合する場合の一例を説明する。
図13Aでは、中間符号生成部11が、圧縮対象ごとに、同一の静的単語辞書41と中間符号表42を用いる場合について説明する。ここでは、静的単号辞書41を静的単語辞書Aとして表す。中間符号表42を中間符号表Aとして表す。
図13Aに示すように、字句解析部111が、静的単語辞書Aを参照し、未圧縮状態の文書aを字句解析する。中間符号変換部112は、中間符号表Aを参照し、字句解析によって分割された単語ごとに、各単語を中間符号に変換する。この結果、中間符号生成部11は、未圧縮状態の文書aを中間符号列a´に変換する。
そして、字句解析部111が、静的単語辞書Aを参照し、未圧縮状態の文書bを字句解析する。中間符号変換部112は、中間符号表Aを参照し、字句解析によって分割された単語ごとに、各単語を中間符号に変換する。この結果、中間符号生成部11は、未圧縮状態の文書bを中間符号列b´に変換する。
そして、圧縮の際に、同一の静的単語辞書41と中間符号表42を用いているので、中間符号生成部11は、中間状態のまま中間符号列を統合することが可能となる。ここでは、中間符号生成部11は、使用した未圧縮状態の文書a、bの中間符号列a´、b´を中間符号列a´+b´に統合できる。
図13Bでは、中間符号生成部11が、圧縮対象ごとに、異なる静的単語辞書41と中間符号表42を用いる場合について説明する。ここでは、各静的単号辞書41を静的単語辞書A、Bとして表す。各中間符号表42を中間符号表A、Bとして表す。
図13Bに示すように、字句解析部111が、静的単語辞書Aを参照し、未圧縮状態の文書aを字句解析する。中間符号変換部112は、中間符号表Aを参照し、字句解析によって分割された単語ごとに、各単語を中間符号に変換する。この結果、中間符号生成部11は、未圧縮状態の文書aを中間符号列a´に変換する。
そして、字句解析部111が、静的単語辞書Bを参照し、未圧縮状態の文書bを字句解析する。中間符号変換部112は、中間符号表Bを参照し、字句解析によって分割された単語ごとに、各単語を中間符号に変換する。この結果、中間符号生成部11は、未圧縮状態の文書bを中間符号列b´に変換する。
圧縮の際、文書ごとに異なる静的単語辞書41と中間符号表42とを用いるので、中間符号生成部11は、静的単語辞書41と中間符号表42をそれぞれ統一すべく、それぞれ再構築する。すなわち、中間符号生成部11は、静的単語辞書41を静的単語辞書A、Bの内容を含む辞書に再構築するとともに、中間符号表42を中間符号表A、Bの内容を含む表に再構築する。そして、中間符号生成部11は、再構築された静的単語辞書41と中間符号表42を用いて、中間符号列a´を中間符号列a´´に再変換する。中間符号生成部11は、再構築された静的単語辞書41と中間符号表42を用いて、中間符号列b´を中間符号列b´´に再変換する。
統一された静的単語辞書41と中間符号表42を用いるので、中間符号生成部11は、中間状態のまま中間符号列を統合することが可能となる。ここでは、中間符号生成部11は、使用した未圧縮状態の文書a、bの中間符号列a´´、b´´を中間符号列a´´+b´´に統合できる。
なお、図13Aおよび図13Bでは、圧縮の際に、圧縮部10が、複数の未圧縮状態の文書(圧縮対象文書データ90)a、bの中間符号列をそれぞれ生成し、中間符号状態のまま統合する場合を説明した。しかしながら、文書処理制御部20であっても、中間状態のまま統合することができる。すなわち、文書処理制御部20は、統一された最適符号表44と中間符号表42とを用いて、複数の圧縮状態の文書の中間符号列をそれぞれ生成する。文書処理制御部20は、圧縮の際に生成される集計情報43を用いることで、例えば検索キーワードを持つ文書を中間符号状態のまま統合することができる。
図14は、実施例に係る圧縮部の処理手順を示すフローチャートである。なお、圧縮対象文書データ90には、複数の文書が含まれているものとする。
図14に示すように、圧縮部10は、圧縮対象文書データ90(以降、「入力データ」という)を入力する(ステップS11)。圧縮部10は、静的単語辞書41を参照し、入力データを字句解析し(ステップS12)、字句解析によって解析された単語を集計情報43の単語43b欄に追加する。
圧縮部10は、中間符号表42を参照し、入力データを中間符号化する(ステップS13)。例えば、圧縮部10は、中間符号表42を参照し、字句解析によって分割された単語に対して中間符号を対応付ける。そして、圧縮部10は、入力データに対応する中間符号列91を生成する。
圧縮部10は、文書ごとに中間符号の出現回数をカウントし、集計情報43を生成する(ステップS14)。例えば、圧縮部10は、集計情報43に対して、中間符号に変換された単語43bと文書の文書番号43aとで特定される出現回数43cの位置に、現に設定されている値を1だけ加算する。
圧縮部10は、文書ごとの集計情報43を単語単位で集計し、最適符号の割り当てを行い、最適符号表44を生成する(ステップS15)。例えば、圧縮部10は、文書ごとに生成された集計情報43をマージした統合集計情報を生成する。統合集計情報には、各単語に対して集計された出現回数が設定される。圧縮部10は、統合集計情報に基づき、静的単語辞書41に設定されたそれぞれの単語に最適符号を割り当て、最適符号表44を生成する。
圧縮部10は、最適符号表44に基づき、入力データに対応する中間符号列91を最適符号化する(ステップS16)。例えば、圧縮部10は、中間符号列91の先頭から順次中間符号を取得する。圧縮部10は、取得した中間符号について、中間符号表42の中間符号42bに対応する単語ID42aを読み出す。圧縮部10は、最適符号表44を参照し、取得した中間符号を、単語ID42aに紐づく最適符号44bに変換する。
圧縮部10は、入力データを最適符号化した最適符号化結果および最適符号表44を圧縮済文書データとして出力するとともに、集計情報43を出力する(ステップS17)。そして、圧縮部10は、圧縮処理を終了する。
図15は、実施例に係る文書処理制御部の処理手順を示すフローチャートである。
図15に示すように、文書処理制御部20は、圧縮済文書データ92および集計情報43(以降、入力データという)を入力する(ステップS21)。文書処理制御部20は、圧縮済文書データ92から最適符号表44を展開する(ステップS22)。
文書処理制御部20は、最適符号表44および中間符号表42を参照し、入力データを中間符号化する(ステップS23)。例えば、文書処理制御部20は、入力データに含まれる最適符号化結果の先頭から所定のビット数だけ取得する。文書処理制御部20は、最適符号表44を参照し、取得したビット数のデータに含まれる最適符号44bを探索し、単語ID44aを特定する。文書処理制御部20は、中間符号表42を参照し、特定した単語ID44aに対応する中間符号42bを決定する。そして、文書処理制御部20は、最適符号化結果に対応する中間符号列93を生成する。
文書処理制御部20は、中間符号列93および集計情報43を用いた文書処理を行う(ステップS24)。なお、中間符号列93および集計情報43を用いた文書処理の手順は、後述する。
文書処理制御部20は、文書処理結果の集計情報43を元に最適符号の割り当てを行い、最適符号表44を生成する(ステップS25)。例えば、文書処理制御部20は文書処理結果の集計情報43に基づき、静的単語辞書41に設定されたそれぞれの単語に最適符号を割り当て、最適符号表44を生成する。
文書処理制御部20は、最適符号表44に基づき、中間符号列93を最適符号化する(ステップS26)。例えば、文書処理制御部20は、中間符号列93の先頭から順次中間符号を取得する。文書処理制御部20は、取得した中間符号について、中間符号表42の中間符号42bに対応する単語ID42aを読み出す。文書処理制御部20は、最適符号表44を参照し、取得した中間符号を、単語ID42aに紐づく最適符号44bに変換する。
文書処理制御部20は、中間符号列93を最適符号化した最適符号化結果および最適符号表44を圧縮済文書データとして出力するとともに、集計情報43を出力する(ステップS27)。そして、文書処理制御部20は、文書処理制御を終了する。
図16は、実施例に係る文書処理制御部の検索処理手順を示すフローチャートである。
図16に示すように、文書処理制御部20は、中間符号列93および文書単位の集計情報43を検索対象として設定する(ステップS31)。文書処理制御部20は、符号化されていない検索キーワードを入力する(ステップS32)。文書処理制御部20は、検索キーワードが静的単語辞書41に存在するか否かを判定する(ステップS33)。
文書処理制御部20は、検索キーワードが静的単語辞書41に存在する場合には(ステップS33;Yes)、集計情報43を元に検索結果となる文書を決定する(ステップS34)。例えば、文書処理制御部20は、集計情報43を参照して、検索キーワードを含む文書を決定する。すなわち、文書処理制御部20は、検索キーワードに対する出現回数43bが1以上である文書番号43aの文書を検索結果として決定する。そして、文書処理制御部20は、ステップS39Aに移行する。
一方、文書処理制御部20は、検索キーワードが静的単語辞書41に存在しない場合には(ステップS33;No)、検索キーワードを単語や文字に分解する(ステップS35)。文書処理制御部20は、集計情報43を元に検索結果候補となる文書を特定する(ステップS36)。例えば、文書処理制御部20は、分解した単語や文字に対する出現回数43bが1以上である文書番号43aの文書を特定する。
文書処理制御部20は、検索キーワードを中間符号に変換する(ステップS37)。例えば、文書処理制御部20は、静的単語辞書41および中間符号表43を参照して、検索キーワードを分解した単語や文字を中間符号に変換する。
文書処理制御部20は、検索結果候補となる文書の中間符号列から検索キーワードの中間符号を含む文書を決定する(ステップS38)。そして、文書処理制御部20は、ステップS39Aに移行する。
ステップS39Aにおいて、文書処理制御部20は、決定した文書の中間符号列を統合し、検索結果として抽出する(ステップS39A)。文書処理制御部20は、検索結果および集計情報を出力する(ステップS39B)。そして、文書処理制御部20は、検索処理を終了する。
図17は、実施例に係る文書処理制御部の置換処理手順を示すフローチャートである。
図17に示すように、文書処理制御部20は、中間符号列93および文書単位の集計情報43を置換対象として設定する(ステップS41)。文書処理制御部20は、符号化されていない置換キーワードを入力する(ステップS42)。置換キーワードとは、置換前のキーワードと置換後のキーワードとを含む。文書処理制御部20は、置換前のキーワードが静的単語辞書41に存在するか否かを判定する(ステップS43)。
文書処理制御部20は、置換前のキーワードが静的単語辞書41に存在する場合には(ステップS43;Yes)、集計情報43を元に置換対象とする文書を決定する(ステップS44)。例えば、文書処理制御部20は、集計情報43を参照して、置換前のキーワードを含む文書を決定する。すなわち、文書処理制御部20は、置換前のキーワードに対する出現回数43bが1以上である文書番号43aの文書を置換対象として決定する。そして、文書処理制御部20は、ステップS49Aに移行する。
一方、文書処理制御部20は、置換前のキーワードが静的単語辞書41に存在しない場合には(ステップS43;No)、置換前のキーワードを単語や文字に分解する(ステップS45)。文書処理制御部20は、集計情報43を元に置換対象候補となる文書を特定する(ステップS46)。例えば、文書処理制御部20は、分解した単語や文字に対する出現回数43bが1以上である文書番号43aの文書を特定する。
文書処理制御部20は、置換キーワードを中間符号に変換する(ステップS47)。例えば、文書処理制御部20は、静的単語辞書41および中間符号表43を参照して、置換キーワードを分解した単語や文字を中間符号に変換する。
文書処理制御部20は、置換対象候補となる文書の中間符号列から置換前のキーワードの中間符号を含む文書を置換対象の文書として決定する(ステップS48)。そして、文書処理制御部20は、ステップS49Aに移行する。
ステップS49Aにおいて、文書処理制御部20は、置換対象の文書の中間符号列に対して、置換キーワードの中間符号で置換する(ステップS49A)。すなわち、文書処理制御部20は、置換対象の文書の中間符号列に対して、置換前のキーワードの中間符号を置換後のキーワードの中間符号に置換する。
文書処理制御部20は、集計情報43を変更する(ステップS49B)。例えば、文書処理制御部20は、置換対象の文書と置換前のキーワードとで特定される出現回数43cを1だけ減算する。文書処理制御部20は、置換対象の文書と置換後のキーワードとで特定される出現回数43cを1だけ加算する。そして、文書処理制御部20は、置換処理を終了する。
図18は、実施例に係る伸長部の処理手順を示すフローチャートである。
図18に示すように、伸長部30は、圧縮済文書データ92(以降、入力データという)を入力する(ステップS51)。文書処理制御部20は、入力データから最適符号表44を展開する(ステップS52)。
伸長部30は、最適符号表44および静的単語辞書41を参照し、入力データを伸長する(ステップS53)。例えば、伸長部30は、入力データに含まれる最適符号化結果の先頭から所定のビット数だけ取得する。伸長部30は、最適符号表44を参照し、取得したビット数のデータに含まれる最適符号44bを探索し、単語ID44aを特定する。伸長部30は、静的単語辞書41を参照し、特定した単語ID44aに対応する単語41bを決定する。そして、伸長部30は、最適符号化結果に対応する伸長結果を生成する。そして、伸長部30は、伸長処理を終了する。
図19Aおよび図19Bは、文書処理における用途の一例を示す図である。図19Aは、実施例に係る文書処理における用途の一例を示す図である。図19Bでは、文書処理における用途の参考例を示す図である。図19Aおよび図19Bのどちらも、テキストマイニングを行うために、HadoopのHDFSを実装した場合の処理である。図19Aでは、左図では、字句・品詞解析と頻度集計を活用の用途としている。中図では、構文解析を活用の用途としている。右図では、因果・相関分析を活用の用途としている。
図19A内の「Map」とは、入力データを読み込み、フィルタリングする機能であり、図2Bで示した伸長201および検索/分割202に対応する。「Shuffle & Sort」とは、図2Bで示した統合203に対応する。「Reduce」とは、統合されたデータに対して結果を出力する機能であり、集計205および活用206に対応する。
図19Aに示すように、例えば、左図において、HDFSには、複数の文書に対する最適符号状態と、集計結果43が管理されている。「Map」において、最適符号伸長部21は、最適符号状態の複数の文書を中間符号状態に変換する。そして、最適符号伸長部21は、最適符号状態に対応する中間符号列93を生成する。そして、文書処理部22は、集計情報43を参照して、中間符号列93から検索キーワードを含む文書の中間符号列93を決定する。
「Shuffle & Sort」において、文書処理部22は、決定した文書の中間符号列93を統合する。
「Reduce」において、文書処理部22は、統合した文書の中間符号列93について集計し、集計情報43を変更する。そして、文書処理部22は、集計情報43を用いて、テキストマイニングにおける字句・品詞解析と頻度集計を行う。
そして、最適符号生成部23は、集計情報43を用いて、単語に最適な符号を割り当て、最適符号表44を生成する。最適符号生成部23は、生成した最適符号表44を用いて、中間符号列93の最適な符号化を行う。すなわち、最適符号生成部23は、中間符号状態を最適符号状態に変換して、変換した最適符号状態と集計結果43をHDFSに管理させる。
これにより、実施例に係る文書処理は、圧縮の際に生成される集計情報43を、複数の文書にわたる検索等の処理に利用することができる。また、実施例に係る文書処理は、中間符号状態で、検索等の処理や統合といった複数の文書に跨った処理を行うことにより、文書を伸長した未圧縮状態で行う処理と比較してI/Oの負荷を軽減することができ、処理を高速化できる。
なお、図19Bは、文書を伸長した未圧縮状態で文書処理を行う参考例である。図19B内の「Map」とは、入力データを読み込み、フィルタリングする機能であり、図1Bで示した伸長101および字句解析102に対応する。「Shuffle & Sort」とは、図1Bで示した統合103に対応する。「Reduce」とは、統合されたデータに対して結果を出力する機能であり、検索/分割/置換104、集計105および活用106に対応する。
図19Bに示すように、例えば、左図において、HDFSには、複数の文書に対する最適符号状態が管理される。「Map」において、文書処理は、最適符号状態の複数の文書を伸長する。そして、文書処理は、伸長した複数の文書について字句解析を行う。
「Shuffle & Sort」において、文書処理は、字句解析がされた複数の文書を統合する。
「Reduce」において、文書処理は、伸長した複数の文書にわたる検索等の処理を行う。文書処理は、検索等の処理後の複数の文書について集計し、集計情報を生成する。そして、文書処理は、集計情報を用いて、テキストマイニングにおける字句・品詞解析と頻度集計を行う。
そして、文書処理は、集計情報を用いて、単語に最適な符号を割り当て、最適符号表を生成する。文書処理は、生成した最適符号表を用いて、複数の文書に対して最適な符号化を行う。すなわち、文書処理は、伸長された複数の文書を最適符号状態に変換して、変換した最適符号状態をHDFSに管理させる。
このようにして、図19Aで示した実施例に係る文書処理は、中間符号状態で、検索等の処理や統合といった複数の文書に跨った処理を行うことにより、図19Bで示した文書を伸長した未圧縮状態で行う処理と比較してI/Oの負荷を軽減することができる。この結果、実施例に係る文書処理は、処理を高速化できる。
次に、本実施例に係る情報処理装置1の効果について説明する。情報処理装置1は、複数の文書から、複数の単語と中間符号群とを対応付けた中間符号表42に基づいて、中間符号表42に含まれる単語を変換した、複数の中間符号化文書を生成する。情報処理装置1は、複数の中間符号化文書における、中間符号化により変換された符号ごとに頻度集計を行う。情報処理装置1は、複数の中間符号化文書それぞれを、頻度集計の結果を用いた最適化符号化により変換した、複数の最適化文書を出力する。かかる構成によれば、情報処理装置1は、複数の文書に対して共通の中間符号表42を用いて中間符号化を行い、中間符号ごとの頻度集計を行うので、例えば、複数の文書にわたる検索等の処理を行う場合に、頻度集計の結果を利用できる。
また、本実施例に係る情報処理装置1によれば、複数の中間符号化文書それぞれの頻度集計の結果をマージした統合集計情報を生成する。情報処理装置1は、生成された統合集計情報に基づき、複数の中間符号化文書それぞれを最適符号化により変換し、複数の最適符号化文書を出力する。かかる構成によれば、情報処理装置1は、中間符号化がなされた複数の文書の頻度集計の結果をマージした統合集計情報を利用して最適符号化を行うことができる。
また、本実施例に係る情報処理装置1によれば、中間符号表42は、複数の単語と固定長の中間符号群とを対応付ける。情報処理装置1は、最適符号化が行われた複数の最適符号化文書それぞれに対し、中間符号表42に基づいて中間符号化を行う。かかる構成によれば、情報処理装置1は、複数の文書それぞれに対し、固定長の中間符号化を行うので、中間符号化された符号列を字句解析結果として扱うことができる。
また、本実施例に係る情報処理装置1によれば、複数の中間符号化文書から特定のキーワードを含む中間符号化文書を検索する場合に、以下の処理を行う。情報処理装置1は、複数の中間符号化文書それぞれの頻度集計の結果に基づいて、中間符号化が行われた複数の中間符号化文書の中から特定のキーワードを含む中間符号化文書を決定する。情報処理装置1は、決定した中間符号化文書に対応する中間符号化の符号列を検索する。かかる構成によれば、情報処理装置1は、複数の文書それぞれの頻度集計の結果を用いて、複数の文書の中間符号状態から特定のキーワードを含む文書を決定できるので、文書を伸長した未圧縮状態で行う処理と比較してI/Oの負荷を軽減することができる。この結果、情報処理装置1は、文書処理を高速化できる。
また、本実施例に係る情報処理装置1によれば、複数の中間符号化文書の第1のキーワードを第2のキーワードに置換する場合に、複数の中間符号化文書それぞれの頻度集計の結果に基づいて、第1のキーワードを含む中間符号化文書を決定する。情報処理装置1は、決定した中間符号化文書に対応する中間符号化の符号列に対して、第1のキーワードの中間符号を第2のキーワードの中間符号に置換する。かかる構成によれば、情報処理装置1は、複数の文書の中間符号状態からキーワードを置換するので、文書を伸長した未圧縮状態で行う処理と比較してI/Oの負荷を軽減することができる。この結果、情報処理装置1は、文書処理を高速化できる。
また、本実施例に係る情報処理装置1によれば、検索する処理によって検索された中間符号化文書の符号列または置換する処理によって置換された中間符号化文書の符号列を統合する。情報処理装置1は、統合された中間符号化文書を含む複数の中間符号化文書における頻度集計の結果を更新する。かかる構成によれば、情報処理装置1は、文書処理対象の文書を中間符号状態で統合し、中間符号状態のまま頻度集計の結果を更新するので、文書処理を高速化できる。
[情報処理装置のハードウェア構成]
図20は、情報処理装置のハードウェア構成の一例を示す図である。図20に示すように、コンピュータ500は、各種演算処理を実行するCPU501と、ユーザからのデータ入力を受け付ける入力装置502と、モニタ503とを有する。また、コンピュータ500は、記憶媒体からプログラムなどを読み取る媒体読取装置504と、他の装置と接続するためのインターフェース装置505と、他の装置と無線により接続するための無線通信装置506とを有する。また、コンピュータ500は、各種情報を一時記憶するRAM(Random Access Memory)507と、ハードディスク装置508とを有する。また、各装置501〜508は、バス509に接続される。
ハードディスク装置508には、図4に示した圧縮部10、文書処理制御部20および伸長部30と同様の機能を有する文書処理プログラムが記憶される。また、ハードディスク装置508には、文書処理プログラムを実現するための各種データが記憶される。各種データには、図4に示した記憶部40内のデータが含まれる。
CPU501は、ハードディスク装置508に記憶された各プログラムを読み出して、RAM507に展開して実行することで、各種の処理を行う。これらのプログラムは、コンピュータ500を図4に示した各機能部として機能させることができる。
なお、上記の文書処理プログラムは、必ずしもハードディスク装置508に記憶されている必要はない。例えば、コンピュータ500が読み取り可能な記憶媒体に記憶されたプログラムを、コンピュータ500が読み出して実行するようにしてもよい。コンピュータ500が読み取り可能な記憶媒体は、例えば、CD−ROMやDVDディスク、USB(Universal Serial Bus)メモリなどの可搬型記録媒体、フラッシュメモリなどの半導体メモリ、ハードディスクドライブなどが対応する。また、公衆回線、インターネット、LAN(Local Area Network)などに接続された装置にこのプログラムを記憶させておき、コンピュータ500がこれらからプログラムを読み出して実行するようにしても良い。
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)コンピュータに、
複数の文書から、複数の単語と第1の符号群とを対応付けた第1の符号化情報に基づいて、前記第1の符号化情報に含まれる単語を変換した、複数の第1符号化文書を生成し、
前記複数の第1符号化文書における、前記第1の符号化により変換された符号ごとに頻度集計を行い、
前記複数の第1符号化文書それぞれを、前記頻度集計の結果を用いた第2の符号化により変換した、複数の第2符号化文書を出力する、
処理を実行させることを特徴とする文書処理プログラム。
(付記2)前記出力する処理は、前記複数の第1符号化文書それぞれの頻度集計の結果をマージした統合集計情報を生成し、生成された統合集計情報に基づき、複数の第1符号化文書それぞれを第2の符号化により変換し、複数の第2符号化文書を出力する
処理を実行させることを特徴とする付記1に記載の文書処理プログラム。
(付記3)前記第1の符号化情報は、複数の単語と固定長の第1の符号群とを対応付け、
前記第2の符号化が行われた前記複数の第2符号化文書それぞれに対し、前記第1の符号化情報に基づいて前記第1の符号化を行う
処理を実行させることを特徴とする付記1または付記2に記載の文書処理プログラム。
(付記4)複数の第1符号化文書から特定のキーワードを含む第1符号化文書を検索する場合に、前記複数の第1符号化文書それぞれの頻度集計の結果に基づいて、前記第1の符号化が行われた前記複数の第1符号化文書の中から前記特定のキーワードを含む第1符号化文書を決定し、
決定した第1符号化文書に対応する前記第1の符号化の符号列を検索する
処理を実行させることを特徴とする付記3に記載の文書処理プログラム。
(付記5)複数の第1符号化文書の第1のキーワードを第2のキーワードに置換する場合に、前記複数の第1符号化文書それぞれの頻度集計の結果に基づいて、前記第1のキーワードを含む第1符号化文書を決定し、
決定した第1符号化文書に対応する前記第1の符号化の符号列に対して、前記第1のキーワードの第1の符号を前記第2のキーワードの第1の符号に置換する
処理を実行させることを特徴とする付記3に記載の文書処理プログラム。
(付記6)前記検索する処理によって検索された第1符号化文書に対応する前記第1の符号化の符号列または前記置換する処理によって置換された第1符号化文書に対応する前記第1の符号化の符号列を統合し、
前記統合する処理によって統合された第1符号化文書を含む前記複数の第1符号化文書における前記頻度集計の結果を更新する
処理を実行させることを特徴とする付記4または付記5に記載の文書処理プログラム。
(付記7)複数の文書から、複数の単語と第1の符号群とを対応付けた第1の符号化情報に基づいて、前記第1の符号化情報に含まれる単語を変換した、複数の第1符号化文書を生成する第1符号化部と、
前記複数の第1符号化文書における、前記第1の符号化により変換された符号ごとに頻度集計を行う集計部と、
前記第1符号化部により生成された複数の第1符号化文書それぞれを、前記頻度集計の結果を用いた第2の符号化により変換した、複数の第2符号化文書を出力する第2符号化部と、
を有することを特徴とする情報処理装置。
(付記8)コンピュータが、
複数の文書から、複数の単語と第1の符号群とを対応付けた第1の符号化情報に基づいて、前記第1の符号化情報に含まれる単語を変換した、複数の第1符号化文書を生成し、
前記複数の第1符号化文書における、前記第1の符号化により変換された符号ごとに頻度集計を行い、
前記複数の第1符号化文書それぞれを、前記頻度集計の結果を用いた第2の符号化により変換した、複数の第2符号化文書を出力する
各処理を実行することを特徴とする文書処理方法。
1 情報処理装置
10 圧縮部
11 中間符号生成部
111 字句解析部
112 中間符号変換部
113 単語カウント部
12 最適符号生成部
121 最適符号割当部
122 最適符号変換部
123 符号情報出力部
20 文書処理制御部
21 最適符号伸長部
211 符号表展開部
212 最適符号伸長部
22 文書処理部
23 最適符号生成部
231 最適符号割当部
232 最適符号変換部
233 符号情報出力部
30 伸長部
31 最適符号伸長部
311 符号表展開部
312 最適符号伸長部
40 記憶部
41 静的単語辞書
42 中間符号表
43 集計情報
44 最適符号表

Claims (7)

  1. コンピュータに、
    複数の文書から、複数の単語と第1の符号群とを対応付けた第1の符号化情報に基づいて、前記第1の符号化情報に含まれる単語を変換した、複数の第1符号化文書を生成し、
    前記複数の第1符号化文書における、前記第1の符号化により変換された符号ごとに頻度集計を行い、
    前記複数の第1符号化文書それぞれを、前記頻度集計の結果を用いた第2の符号化により変換した、複数の第2符号化文書を出力し
    前記複数の第2符号化文書から、前記第2の符号化による符号に対応付けられた前記第1の符号化情報に基づいて、前記複数の第1符号化文書を生成し、
    前記複数の第1符号化文書について、前記頻度集計の結果を用いて、所定の文書処理を行う、
    処理を実行させることを特徴とする文書処理プログラム。
  2. 前記出力する処理は、前記複数の第1符号化文書それぞれの頻度集計の結果をマージした統合集計情報を生成し、生成された統合集計情報に基づき、複数の第1符号化文書それぞれを第2の符号化により変換し、複数の第2符号化文書を出力する
    処理を実行させることを特徴とする請求項1に記載の文書処理プログラム。
  3. 前記第1の符号化情報は、複数の単語と固定長の第1の符号群とを対応付け、
    前記複数の第1符号化文書を生成する処理は、前記第2の符号化が行われた前記複数の第2符号化文書それぞれに対し、前記第1の符号化情報に基づいて前記第1の符号化を行う
    処理を実行させることを特徴とする請求項1または請求項2に記載の文書処理プログラム。
  4. 前記所定の文書処理を行う処理は、
    複数の第1符号化文書から特定のキーワードを含む第1符号化文書を検索する場合に、前記複数の第1符号化文書それぞれの頻度集計の結果に基づいて、前記第1の符号化が行われた前記複数の第1符号化文書の中から前記特定のキーワードを含む第1符号化文書を決定し、
    決定した第1符号化文書に対応する前記第1の符号化の符号列を検索する
    処理を実行させることを特徴とする請求項1または請求項3に記載の文書処理プログラム。
  5. 前記所定の文書処理を行う処理は、
    複数の第1符号化文書の第1のキーワードを第2のキーワードに置換する場合に、前記複数の第1符号化文書それぞれの頻度集計の結果に基づいて、前記第1のキーワードを含む第1符号化文書を決定し、
    決定した第1符号化文書に対応する前記第1の符号化の符号列に対して、前記第1のキーワードの第1の符号を前記第2のキーワードの第1の符号に置換する
    処理を実行させることを特徴とする請求項1または請求項3に記載の文書処理プログラム。
  6. 複数の文書から、複数の単語と第1の符号群とを対応付けた第1の符号化情報に基づいて、前記第1の符号化情報に含まれる単語を変換した、複数の第1符号化文書を生成する第1符号化部と、
    前記複数の第1符号化文書における、前記第1の符号化により変換された符号ごとに頻度集計を行う集計部と、
    前記第1符号化部により生成された複数の第1符号化文書それぞれを、前記頻度集計の結果を用いた第2の符号化により変換した、複数の第2符号化文書を出力する第2符号化部と、
    前記複数の第2符号化文書から、前記第2の符号化による符号に対応付けられた前記第1の符号化情報に基づいて、前記複数の第1符号化文書を生成する生成部と、
    前記生成部により生成された前記複数の第1符号化文書について、前記頻度集計の結果を用いて、所定の文書処理を行う文書処理部と、
    を有することを特徴とする情報処理装置。
  7. コンピュータが、
    複数の文書から、複数の単語と第1の符号群とを対応付けた第1の符号化情報に基づいて、前記第1の符号化情報に含まれる単語を変換した、複数の第1符号化文書を生成し、
    前記複数の第1符号化文書における、前記第1の符号化により変換された符号ごとに頻度集計を行い、
    前記複数の第1符号化文書それぞれを、前記頻度集計の結果を用いた第2の符号化により変換した、複数の第2符号化文書を出力し
    前記複数の第2符号化文書から、前記第2の符号化による符号に対応付けられた前記第1の符号化情報に基づいて、前記複数の第1符号化文書を生成し、
    前記複数の第1符号化文書について、前記頻度集計の結果を用いて、所定の文書処理を行う、
    各処理を実行することを特徴とする文書処理方法。
JP2015009833A 2015-01-21 2015-01-21 文書処理プログラム、情報処理装置および文書処理方法 Active JP6467937B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2015009833A JP6467937B2 (ja) 2015-01-21 2015-01-21 文書処理プログラム、情報処理装置および文書処理方法
US15/000,784 US20160210508A1 (en) 2015-01-21 2016-01-19 Encoding apparatus and encoding method
US16/899,634 US11394956B2 (en) 2015-01-21 2020-06-12 Encoding apparatus and encoding method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015009833A JP6467937B2 (ja) 2015-01-21 2015-01-21 文書処理プログラム、情報処理装置および文書処理方法

Publications (2)

Publication Number Publication Date
JP2016134100A JP2016134100A (ja) 2016-07-25
JP6467937B2 true JP6467937B2 (ja) 2019-02-13

Family

ID=56408094

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015009833A Active JP6467937B2 (ja) 2015-01-21 2015-01-21 文書処理プログラム、情報処理装置および文書処理方法

Country Status (2)

Country Link
US (2) US20160210508A1 (ja)
JP (1) JP6467937B2 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6680126B2 (ja) * 2016-07-25 2020-04-15 富士通株式会社 符号化プログラム、符号化装置、符号化方法、及び検索方法
JP6784084B2 (ja) 2016-07-27 2020-11-11 富士通株式会社 符号化プログラム、符号化装置、符号化方法、及び検索方法
JP6737117B2 (ja) * 2016-10-07 2020-08-05 富士通株式会社 符号化データ検索プログラム、符号化データ検索方法および符号化データ検索装置
US11741121B2 (en) * 2019-11-22 2023-08-29 Takashi Suzuki Computerized data compression and analysis using potentially non-adjacent pairs
US10387377B2 (en) 2017-05-19 2019-08-20 Takashi Suzuki Computerized methods of data compression and analysis

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4899148A (en) 1987-02-25 1990-02-06 Oki Electric Industry Co., Ltd. Data compression method
JPH05324730A (ja) * 1992-05-27 1993-12-07 Hitachi Ltd 文書情報検索装置
JPH06348757A (ja) * 1993-06-07 1994-12-22 Hitachi Ltd 文書検索装置および方法
JP3249743B2 (ja) 1996-05-29 2002-01-21 松下電器産業株式会社 文書検索システム
US5893102A (en) * 1996-12-06 1999-04-06 Unisys Corporation Textual database management, storage and retrieval system utilizing word-oriented, dictionary-based data compression/decompression
JP4057681B2 (ja) * 1997-09-10 2008-03-05 富士通株式会社 文書情報格納装置及び文書情報格納方法並びに文書情報検索装置及び文書情報検索方法並びに文書情報格納プログラムを記録した記録媒体及び文書情報検索プログラムを記録した記録媒体
JP3337633B2 (ja) * 1997-12-03 2002-10-21 富士通株式会社 データ圧縮方法及びデータ復元方法並びにデータ圧縮プログラム又はデータ復元プログラムを記録したコンピュータ読み取り可能な記録媒体
JP3421700B2 (ja) * 1998-01-22 2003-06-30 富士通株式会社 データ圧縮装置及び復元装置並びにその方法
US9792308B2 (en) * 1998-12-11 2017-10-17 Realtime Data, Llc Content estimation data compression
AU3274301A (en) * 2000-01-05 2001-07-16 Realnetworks, Inc. Systems and methods for multiple-file data compression
CN1446404A (zh) * 2000-08-15 2003-10-01 西加特技术有限责任公司 操作码的双模数据压缩
JP4774145B2 (ja) * 2000-11-24 2011-09-14 富士通株式会社 構造化文書圧縮装置および構造化文書復元装置並びに構造化文書処理システム
CN1635492A (zh) * 2003-12-30 2005-07-06 皇家飞利浦电子股份有限公司 一种xml数据的压缩与解压缩方法及装置
WO2006123429A1 (ja) * 2005-05-20 2006-11-23 Fujitsu Limited 情報検索方法、装置、プログラム、該プログラムを記録した記録媒体
US7365658B2 (en) * 2006-02-28 2008-04-29 The Board Of Trustees Of The University Of Arkansas Method and apparatus for lossless run-length data encoding
JP5034621B2 (ja) 2007-04-04 2012-09-26 沖電気工業株式会社 データ圧縮装置、データ併合装置、データ整序装置、データ統合システム、無線タグデータ統合システム、データ圧縮プログラム、データ併合プログラム及びデータ整序プログラム
WO2008142800A1 (ja) * 2007-05-24 2008-11-27 Fujitsu Limited 情報検索プログラム、該プログラムを記録した記録媒体、情報検索装置、および情報検索方法
JP2010055235A (ja) * 2008-08-27 2010-03-11 Fujitsu Ltd 翻訳支援プログラム、及び該システム
JP5741577B2 (ja) * 2010-05-28 2015-07-01 富士通株式会社 情報生成プログラム、情報生成装置、および情報生成方法
JP5884412B2 (ja) * 2011-11-04 2016-03-15 富士通株式会社 変換プログラム、変換装置、変換方法、および変換システム
JP5939259B2 (ja) * 2011-11-04 2016-06-22 富士通株式会社 照合制御プログラム、照合制御装置および照合制御方法
JP5831298B2 (ja) * 2012-03-06 2015-12-09 富士通株式会社 プログラム、情報処理装置およびインデックス生成方法
JP5494860B2 (ja) * 2013-04-01 2014-05-21 富士通株式会社 情報管理プログラム、情報管理装置および情報管理方法
CN105893337B (zh) 2015-01-04 2020-07-10 伊姆西Ip控股有限责任公司 用于文本压缩和解压缩的方法和设备

Also Published As

Publication number Publication date
US11394956B2 (en) 2022-07-19
US20160210508A1 (en) 2016-07-21
JP2016134100A (ja) 2016-07-25
US20200304779A1 (en) 2020-09-24

Similar Documents

Publication Publication Date Title
KR100894002B1 (ko) 선택적 압축과 복원 및 압축 데이터에 대한 데이터 포맷을위한 장치 및 방법
JP6467937B2 (ja) 文書処理プログラム、情報処理装置および文書処理方法
US8838551B2 (en) Multi-level database compression
US8120516B2 (en) Data compression using a stream selector with edit-in-place capability for compressed data
CN101809567B (zh) 文本串的二次散列提取
US9509333B2 (en) Compression device, compression method, decompression device, decompression method, information processing system, and recording medium
US20200233887A1 (en) Semantic structure search device and semantic structure search method
JP6686639B2 (ja) 符号化プログラム、符号化装置、符号化方法、復号化プログラム、復号化装置および復号化方法
JPWO2013140530A1 (ja) プログラム、圧縮データ生成方法、伸張方法、情報処理装置、および記録媒体
JP6609404B2 (ja) 圧縮プログラム、圧縮方法および圧縮装置
EP3193260A2 (en) Encoding program, encoding method, encoding device, decoding program, decoding method, and decoding device
KR101842420B1 (ko) 정보 처리 장치 및 데이터 관리 방법
US20150248432A1 (en) Method and system
US9479195B2 (en) Non-transitory computer-readable recording medium, compression method, decompression method, compression device, and decompression device
JP2000201080A (ja) 付加コ―ドを用いたデ―タ圧縮/復元装置および方法
JP6931442B2 (ja) 符号化プログラム、インデックス生成プログラム、検索プログラム、符号化装置、インデックス生成装置、検索装置、符号化方法、インデックス生成方法および検索方法
JP6428936B2 (ja) 情報処理装置、情報処理方法および情報処理プログラム
US10915559B2 (en) Data generation method, information processing device, and recording medium
US20160210304A1 (en) Computer-readable recording medium, information processing apparatus, and conversion process method
JP6693549B2 (ja) 情報処理装置、情報処理方法および情報処理プログラム
WO2017009958A1 (ja) 圧縮プログラム、圧縮方法および圧縮装置
Li et al. Shared Dictionary Compression for Efficient Mobile Software Distribution
US20190220502A1 (en) Validation device, validation method, and computer-readable recording medium
Islam et al. Short text compression for smart devices
Pannirselvam et al. A Comparative Analysis on Different Techniques in Text Compression

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171113

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181002

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180928

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181120

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181231

R150 Certificate of patent or registration of utility model

Ref document number: 6467937

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150