JP2017126185A - 符号化プログラム、符号化方法、符号化装置、復号化プログラム、復号化方法および復号化装置 - Google Patents

符号化プログラム、符号化方法、符号化装置、復号化プログラム、復号化方法および復号化装置 Download PDF

Info

Publication number
JP2017126185A
JP2017126185A JP2016004797A JP2016004797A JP2017126185A JP 2017126185 A JP2017126185 A JP 2017126185A JP 2016004797 A JP2016004797 A JP 2016004797A JP 2016004797 A JP2016004797 A JP 2016004797A JP 2017126185 A JP2017126185 A JP 2017126185A
Authority
JP
Japan
Prior art keywords
encoding
document
character string
unit
code
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.)
Pending
Application number
JP2016004797A
Other languages
English (en)
Inventor
将夫 出内
Masao Ideuchi
将夫 出内
片岡 正弘
Masahiro Kataoka
正弘 片岡
幸資 田尾
Kosuke TAO
幸資 田尾
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 JP2016004797A priority Critical patent/JP2017126185A/ja
Priority to US15/370,558 priority patent/US20170199849A1/en
Priority to EP16203709.7A priority patent/EP3193260A3/en
Priority to CN201611198404.1A priority patent/CN107025212A/zh
Publication of JP2017126185A publication Critical patent/JP2017126185A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
    • G06F16/81Indexing, e.g. XML tags; Data structures therefor; Storage structures
    • 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
    • G06F40/14Tree-structured documents
    • 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
    • G06F40/126Character encoding
    • 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
    • G06F40/137Hierarchical processing, e.g. outlines
    • 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
    • G06F40/14Tree-structured documents
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
    • 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
    • G06F40/14Tree-structured documents
    • G06F40/146Coding or compression of tree-structured data
    • 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
    • G06F40/151Transformation
    • G06F40/157Transformation using dictionaries or tables

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Document Processing Apparatus (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

【課題】書構造に対応した符号化、復号化を行う符号化プログラム、符号化方法、符号化装置、復号化プログラム、復号化方法および復号化装置を提供する。【解決手段】特定部41は、構造化された第1の文書の文書構造を特定する。符号化部42は、文書構造を特定した第1の文書中の特定階層の文字列を、当該文書構造に対応した階層構造に応じた符号化方式により符号化する。【選択図】図3

Description

本発明は、符号化プログラム、符号化方法、符号化装置、復号化プログラム、復号化方法および復号化装置に関する。
従来から、例えば、XML(Extensible Markup Language)などの構造化された文書データが利用されている。例えば、異なるシステム間でデータを交換する共通フォーマットとして、XMLが広く普及している。また、XMLなど構造化された形式で各種の文書データが公開される。この際、保存や通信の際のデータ量を減らすため、構造化された文書データは、例えば、zipなどの圧縮形式で全体が圧縮されて保存される。圧縮された文書データを活用する場合は、圧縮された文書データ全体の伸長を行って文書データを復元し、復元した文書データに対して各種の解析が行われる。例えば、文書データの特定の階層に特定の単語を含むかを検索する場合は、復元した文書データに対して字句解析や構造解析が行われる。
特開2005−215951号公報 特開2002−297568号公報 特開2005−18672号公報
しかしながら、zipなどの圧縮形式で全体が圧縮された文書データを活用する場合、圧縮された文書データ全体を伸長した後、各種の解析を行うため、処理量が多い。圧縮された文書データは、携帯端末など処理能力の低い端末で活用される場合もあり、活用する際の処理量が多いと、処理に時間がかかる。また、構造化された文書において、文書構造の一部のみを利用する場合でも、zipなどの圧縮形式で全体が圧縮されている場合は、文書全体を伸長する。
一つの側面では、文書構造に対応した符号化、復号化を行う符号化プログラム、符号化方法、符号化装置、復号化プログラム、復号化方法および復号化装置を提供することを目的とする。
第1の案では、符号化プログラムは、コンピュータに、構造化された第1の文書の文書構造を特定する処理を実行させる。符号化プログラムは、コンピュータに、文書構造を特定した第1の文書中の特定階層の文字列を、当該文書構造に対応した階層構造に応じた符号化方式により符号化する処理を実行させる。
本発明の1実施態様によれば、文書構造に対応した符号化を行うことができるという効果を奏する。
図1は、符号化処理の流れを概略的に示した図である。 図2Aは、検索処理の流れを概略的に示した図である。 図2Bは、インデックスが生成されない場合の検索処理の流れを概略的に示した図である。 図3は、符号化装置の構成の一例を示す図である。 図4は、符号の割当ての一例を示す図である。 図5は、符号の割当ての一例を示す図である。 図6は、スキーマの概略的構成を示した図である。 図7Aは、タグにより文書構造を示した文書の一例を示す図である。 図7Bは、文書の一部にタグによりメタデータを付与した文書の一例を示す図である。 図8Aは、符号化の一例を示す図である。 図8Bは、符号化の一例を示す図である。 図9は、符号化の流れを概略的に示した図である。 図10Aは、検索の一例を示した図である。 図10Bは、検索の一例を示した図である。 図11は、符号化処理の手順の一例を示すフローチャートである。 図12は、検索処理の手順の一例を示すフローチャートである。 図13は、検索処理の手順の一例を示すフローチャートである。 図14は、復号化処理の手順の一例を示すフローチャートである。 図15は、符号の割当ての一例を示す図である。 図16は、符号化プログラムを実行するコンピュータの一例を示す図である。 図17は、検索プログラムを実行するコンピュータを示す図である。 図18は、復号化プログラムを実行するコンピュータの一例を示す図である。
以下に、本願の開示する符号化プログラム、符号化方法、符号化装置、復号化プログラム、復号化方法および復号化装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの権利範囲が限定されるものではない。各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
[符号化処理]
最初に、図1を用いて符号化処理の概要について説明する。図1は、符号化処理の流れを概略的に示した図である。以下では、構造化された文書が記憶された符号化対象ファイル30を符号化する場合を例に説明する。
符号化対象ファイル30には、例えば、XMLにより、構造化された文書が記憶されている。XMLでは、テキストにより文書が記述され、タグにより要素が区切られ、構造化されている。図1の例では、病院で患者のカルテのデータをXMLにより、構造化された文書とした場合を示している。図1の例では、要素名「体温」のタグにより、体温が36.0と記録されている。また、要素名「概要」のタグにより、患者に関する概要「XXX・・・」が記録されている。なお、符号化対象ファイル30は、構造化された文書であれば、何れであってもよい。
符号化対象ファイル30の符号化を行う場合、符号化装置10の符号化処理部40は、符号化対象ファイル30に記憶された文書を読み出し、文書の文書構造を特定する(図1(1))。符号化処理部40は、例えば、符号化対象ファイル30に対応してXMLのスキーマ(Schema)が定義されている場合、符号化対象ファイル30に対応するスキーマから文書構造を特定してもよく、文書を解析して文書構造を特定してもよい。
符号化処理部40は、読み出した文書を、文書構造に対応した階層構造に応じた符号化方式により符号化し、符号化したデータを符号化データ32として格納する(図1(2))。
例えば、符号化処理部40は、文書構造を規定する文字列を、共通の符号化方式により符号化する。図1の例では、文書構造を示すタグ「<体温>」を符号A1に符号化し、タグ「</体温>」を符号A2に符号化し、タグ「<概要>」を符号A3に符号化し、タグ「</概要>」を符号A4に符号化している。終了タグの符号は、開始タグの符号と別な符号としてもよく、タグの終了を示す符号と開始タグの符号を組み合わせてもよい。
また、例えば、符号化処理部40は、階層ごとに、当該階層に出現する文字列の特性に対応した符号化方式により文字列を符号化する。符号化の際に割り当てる符号は、符号化方式ごとにユニークであればよい。このように、階層ごとの符号化方式により当該階層に出現する文字列を符号化する場合、階層ごとに、符号がユニークであればよい。このため、階層が異なると異なる文字列に同じ符号を割当てることができる。図1の例では、「体温」の階層の文字列「36.0」を符号B1に符号化し、「概要」の階層の文字列「XXX・・・」の「XXX」を符号B1に符号化している。例えば、符号化処理部40は、階層ごとに、出現頻度の高い文字や単語などのパターンを短い符号に変換する符号化方式により文字列を符号化する。これにより、階層ごとに、文字列に含まれる各種のパターンのうち、出現頻度が高いパターンを短い符号に変換できるため、符号化対象ファイル30全体を短い符号に変換できる。
符号化処理部40は、符号化方式ごとに、変換した文字列と当該文字列に対応する符号を辞書データ31に記憶する。図1の例では、文字列「36.0」と符号B1とが対応付けて辞書データ31Aに記憶され、文字列「XXX」と符号B1とが対応付けて辞書データ31Bに記憶されている。
符号化処理部40は、符号化方式ごとに、符号化した文字列に出現したパターンを示したインデックス33を生成する(図1(3))。インデックスとは、パターンが含まれるファイルを示したデータである。例えば、インデックスには、パターンおよびファイルに1つのビットが対応付け、ビットの値により、パターンが出現したか否かを記憶するビットマップ型のインデックスがある。また、インデックスには、パターンおよびファイルに複数のビットが対応付け、複数のビットによりパターンの出現回数の情報を保持するカウントマップ型のインデックスがある。図1の例では、符号化処理部40は、カウントマップ型のインデックス33A、33Bを生成する。インデックス33Aは、「体温」の階層の文字列に出現したパターンの出現回数の情報を保持する。インデックス33Bは、「概要」の階層の文字列に出現したパターンの出現回数の情報を保持する。図1の例では、インデックス33A、33Bには、符号化対象ファイル30のファイル番号「1」および符号B1に対応付けて、出現回数がそれぞれ複数ビットで記憶されている。なお、本実施例では、符号化処理部40は、符号化の際にインデックス33A、33Bを生成する場合を説明するが、これらに限定されるものではなく、適宜変更可能である。例えば、符号化処理部40は、インデックス33A、33Bを生成しなくてもよい。
[検索処理]
次に、図2Aを用いて、実施例1にかかる符号化装置10が実施する検索処理の概要について説明する。図2Aは、検索処理の流れを概略的に示した図である。図2Aの例では、図1により符号化された符号化データ32と、辞書データ31A、31Bと、インデックス33A、33Bが示されている。なお、図2Aの例では、圧縮データ32に符号化された文字列を識別しやすくするため、符号の後に括弧記号「()」で囲んで符号化された文字列を記載している。
符号化装置10のファイル検索部50は、検索条件の入力を受け付ける。例えば、図2Aの例では、ファイル検索部50は、階層「概要」、文字列「XXX」との検索条件を受け付ける。
ファイル検索部50は、検索条件を満たすファイルを検索する。例えば、ファイル検索部50は、階層「概要」の文字列を変換した際の辞書データ31Bを参照して、文字列「XXX」に対応する符号B1を特定する(図2A(1))。ファイル検索部50は、階層「概要」の文字列を変換した際に生成したインデックス33Bを参照して、符号B1が出現したファイルのファイル番号を特定する(図2A(2))。図2Aの例では、インデックス33Bに、符号化対象ファイル30のファイル番号「1」および符号B1に対応付けて、出現回数が記憶されているため、ファイル番号「1」の符号化対象ファイル30が検索条件を満たすと検索される。このように、符号化装置10は、符号化された符号化データ32に対して文字列の検索を行う場合、符号化データ32を復号化することなく文字列を検索できるため、活用する際の処理量を減らすことができる。
なお、上述したように、インデックス33A、33Bは、必ずしも生成されなくてもよい。図2Bは、インデックスが生成されない場合の検索処理の流れを概略的に示した図である。図2Bの例では、図1により符号化された符号化データ32と、辞書データ31が示されている。なお、図2Bの例でも、符号化データ32に符号化された文字列を識別しやすくするため、符号の後に括弧記号「()」で囲んで符号化された文字列を記載している。
ファイル検索部50は、検索条件の入力を受け付ける。例えば、図2Bの例では、ファイル検索部50は、階層「概要」、文字列「XXX」との検索条件を受け付ける。
ファイル検索部50は、検索条件を満たすファイルを検索する。例えば、ファイル検索部50は、共通の符号化方式により符号化されたタグを復号化する。そして、ファイル検索部50は、ファイル検索部50は、階層「概要」の文字列を変換した際の辞書データ31Bを参照して、階層「概要」の部分の符号を復号化する(図2B(1))。そして、ファイル検索部50は、復号化された部分から文字列「XXX」を検索する(図2B(2))。この場合でも、ファイル検索部50は、階層「概要」の部分の符号を復号化するのみで検索を行えるため、符号化データ全体を復号化する場合と比較して、活用する際の処理量を減らすことができる。
[装置構成]
次に、符号化装置10の構成について説明する。図3は、符号化装置の構成の一例を示す図である。符号化装置10は、構造化された文書の圧縮などの符号化を行う装置である。符号化装置10は、例えば、パーソナルコンピュータ、サーバコンピュータなどのコンピュータや、タブレット端末、スマートフォンなどの情報処理装置である。符号化装置10は、1台のコンピュータとして実装してもよく、また、複数台のコンピュータによるクラウドとして実装することもできる。なお、本実施例では、符号化装置10を1台のコンピュータとした場合を例として説明する。図3に示すように、符号化装置10は、記憶部20と、制御部21とを有する。なお、符号化装置10は、コンピュータや情報処理装置が有する上記の機器以外の他の機器を有してもよい。また、本実施例では、符号化装置10により符号化およびファイル検索を行う場合を例として説明するが、符号化とファイル検索は別な装置で行ってもよい。
記憶部20は、ハードディスク、SSD(Solid State Drive)、光ディスクなどの記憶装置である。なお、記憶部20は、RAM(Random Access Memory)、フラッシュメモリ、NVSRAM(Non Volatile Static Random Access Memory)などのデータを書き換え可能な半導体メモリであってもよい。
記憶部20は、制御部21で実行されるOS(Operating System)や各種プログラムを記憶する。例えば、記憶部20は、後述する符号化処理や検索処理を行うプログラムを記憶する。さらに、記憶部20は、制御部21で実行されるプログラムで用いられる各種データを記憶する。例えば、記憶部20は、符号化対象ファイル30と、辞書データ31と、符号化データ32と、インデックス33とを記憶する。
符号化対象ファイル30は、符号化対象のテキストデータが記憶されたデータである。例えば、符号化対象ファイル30には、XMLにより、構造化された文書が記憶されている。
辞書データ31は、データの符号化および復号化に用いる辞書のデータである。
ここで、本実施例では、構造化された文書を符号化する際に、構造や属性に応じて符号化方式を切り替える。辞書データ31は、辞書を用いて符号化する符号化方式で用いる辞書のデータである。辞書データ31は、辞書を用いて符号化する符号化方式ごとに設けられる。例えば、辞書データ31は、階層化された文書の階層のうち、辞書を用いて符号化を行う階層ごと、または、辞書を用いて符号化を行う階層でデータ属性が類似する階層ごとに、設けられている。辞書データ31は、静的辞書34と、動的辞書35とを有する。
静的辞書34は、文書の構造や属性に応じて出現頻度の高いパターンに対応する符号を保持したデータである。動的辞書35は、文書の構造や属性に応じて出現頻度の低いパターンに対応する符号を保持したデータである。静的辞書34は、予め設けられる。動的辞書35は、必要に応じて動的に生成される。
静的辞書34は、対応する階層に出現する文字列の特性に対応して、文字列に対応する符号が記憶されている。例えば、静的辞書34は、対応する階層に標準的に出現する文字列や数字などのパターンに対応する符号が記憶されている。また、静的辞書34は、対応する階層で出現頻度の高いパターンに短い符号が対応付けて記憶されている。例えば、人間の体温は、通常、35.0℃〜42.0℃の範囲に収まり、36.0℃前後の頻度が高い。そこで、例えば、体温の階層に対応する静的辞書34には、35.0〜42.0の数値に対して符号が対応付けて記憶されており、36.0前後に対して短い符号が割り当てられて記憶されている。また、本実施例では、概要に出現する文字列を単語の単位で符号化する。例えば、本実施例では、単語を、一般的な文書を解析して、出現頻度が相対的に高い高頻度単語と、出現頻度が相対的に低い低頻度単語とに分けている。例えば、出現頻度の高い順に所定の順位までの基礎単語を高頻度単語とし、所定の順位以降の基礎単語を低頻度単語とする。高頻度単語については、短い符号を予め割り当てて、割り当てた符号と高頻度単語を対応付けて静的辞書34に記憶させる。例えば、高頻度単語については、予め2バイト(16ビット)の符号を割り当て、割り当てた符号を静的辞書34に予め記憶させる。低頻度単語については、出現した際に符号を動的に割り当てて、割り当てた符号を動的辞書35に記憶させる。すなわち、符号は、高頻度単語については予め登録され、低頻度単語については動的に割り当てられて動的辞書35に記憶される。なお、概要に出現する文字列や数字などのパターンが特定のパターンに定まる場合は、概要の階層に対応する静的辞書34には、特定のパターンと符号を対応付けて予め記憶させてもよい。
動的辞書35は、対応する階層に出現する文字列の特性に対応して、動的に割り当てられた符号に関する各種の情報を保持したデータである。例えば、概要の階層に対応した動的辞書35には、低頻度単語など出現頻度の低いパターンに動的に割り当てられた符号が記憶される。
図4は、符号の割当ての一例を示す図である。図4には、2バイト(16ビット)の符号に対する割当ての一例が示されている。上部の横方向の項目は、最初の1バイト目を0〜Fの16進表記で示しており、「*」は、2バイト目を示している。例えば、「1*h」は、1バイト目が2進数表記で「00000001」であることを示す。左側の縦方向の項目は、2バイト目を0〜Fの16進表記で示しており、「*」は、1バイト目を示している。例えば、「*2h」は、2バイト目が2進数表記で「00000010」であることを示す。
図4では、縦方向の項目と横方向の項目に対応する領域に、符号に対応させるパターンを示す。例えば、「0*h」、「1*h」の符号については、各階層とも、同じ制御コードに同じ符号を対応付けている。また、「2*h」〜「5*h」の符号については、各階層とも、同じタグに同じ符号を対応付けている。また、「6*h」〜「F*h」の符号については、各階層でそれぞれ個別にパターンに符号を割当て可能としている。例えば、文字列を単語の単位で符号化する場合、「6*h」〜「9*h」の符号については、予め定めた高頻度単語に対して割当ている。「A*h」〜「F*h」の符号については、低頻度単語が出現した際に符号を動的に割り当てる。「E*h」、「F*h」は、符号の不足に対応するため、3バイトの符号としている。
辞書データ31は、辞書を用いて符号化を行う階層ごと、または、辞書を用いて符号化を行う階層でデータ属性が類似する階層ごとに設けられ、「6*h」〜「F*h」の符号について、階層に出現する文字列の特性に対応して文字列と符号を対応付けて記憶する。
なお、辞書データ31は、タグに対して動的に符号を割当て可能としてもよい。図5は、符号の割当ての一例を示す図である。図5の例では、1バイト目が「5*h」の符号について、特定階層のタグとして動的に符号を割当て可能としている。
図3に戻り、符号化データ32は、符号化対象ファイル30をそれぞれ符号化したデータである。インデックス33は、符号化した文字列に出現したパターンの出現回数を記憶したデータである。例えば、インデックス33は、符号化方式ごとに設けられ、符号化した文字列に出現したパターンの出現回数と出現したファイルのファイル番号を対応付けて記憶される。
制御部21は、符号化装置10を制御するデバイスである。制御部21としては、CPU(Central Processing Unit)、MPU(Micro Processing Unit)等の電子回路や、ASIC(Application Specific Integrated Circuit)、FPGA(Field Programmable Gate Array)等の集積回路を採用できる。制御部21は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。制御部21は、各種のプログラムが動作することにより各種の処理部として機能する。例えば、制御部21は、符号化処理部40と、ファイル検索部50と、復号化処理部60とを有する。
符号化処理部40は、符号化対象ファイル30に記憶された構造化された文書を読み出し、読み出した文書を、文書構造に対応した階層構造に応じた符号化方式により符号化した符号化データ32を生成する。符号化処理部40は、特定部41と、符号化部42と、生成部43とを有する。
特定部41は、各種の特定を行う。例えば、特定部41は、符号化対象ファイル30に記憶されたXMLの文書の文書構造を特定する。例えば、特定部41は、符号化対象ファイル30に対応してXMLのスキーマが定義されている場合、符号化対象ファイル30に対応するスキーマから文書構造を特定する。
図6は、スキーマの概略的構成を示した図である。XMLの文書では、文書構造を示すXMLスキーマ70が定義される。XMLスキーマ70には、XMLの文書の文書構造の定義や、末端要素の型や制約の定義が、スキーマ言語により記述されている。図6の例では、構造定義として、文書構造を示すタグの入れ子の関係や、タグの制約などが記述される。また、図6の例では、末端要素の型や制約として、格納される文字列のデータ型、数値の最大、最小、string(文字列)の長さ、使える文字、stringを、例えば、Male、Female等の選択型として使用しているかが記述される。符号化対象ファイル30には、XMLスキーマ70の定義に対応して、XMLで文書が記憶される。図6の例では、XMLの文書には、文字コードが1行目に記載され、XMLスキーマ70に対応した文書構造で文書が記憶される。なお、XMLスキーマ70は、文書構造を柔軟に定義でき、符号化対象ファイル30ごとにタグの個数を変更可能な定義もできる。例えば、符号化対象ファイル30Aは、Xタグの配下にYタグが10個存在し、符号化対象ファイル30Bは、Xタグの配下にYタグが20個存在する文書構成とすることもできる。
特定部41は、符号化対象ファイル30に対応してXMLスキーマ70が定義されている場合、XMLスキーマ70から文書構造を特定する。なお、特定部41は、符号化対象ファイル30に記憶された文書を解析して文書構造を特定してもよい。
符号化部42は、符号化対象ファイル30に記憶された文書の符号化を行う。例えば、符号化部42は、特定部41により文書構造を特定したXMLの文書を符号化対象ファイル30から読み出す。そして、符号化部42は、読み出した文書を、文書構造に対応した階層構造に応じた符号化方式により符号化する。例えば、符号化部42は、読み出した文書に出現するタグに対して順に符号を割当てて、符号化する。なお、文書構造に出現するタグが定まっている場合、タグと符号を対応付けたタグ用の辞書データを予め記憶させ、符号化部42は、タグ用の辞書データを用いて、読み出した文書に出現するタグを符号化してもよい。また、文書構造に出現する頻度の高い一部のタグについてタグ用の辞書データに記憶させ、符号化部42は、頻度の高い一部のタグをタグ用の辞書データを用いて符号化し、それ以外のタグに順に符号を割当てて符号化してもよい。
ここで、構造化された文書には、タグにより文書の要素を区分けして文書構造を示した文書と、文書の一部にタグによりメタデータを付与した文書がある。
図7Aは、タグにより文書構造を示した文書の一例を示す図である。図7Aの例では、例1の文書は、タグにより「概要」、「本文」が定義されている。また、例1の文書は、タグにより「概要」、「本文」と区分された部分にそれぞれ内容に応じた文字列(テキスト)が記憶された文書が示されている。例2の文書は、タグにより「特許」が定義され、「特許」の下層に「名称」、「課題」、「効果」が定義されている。また、例2の文書は、タグにより「名称」、「課題」、「効果」と区分けされた部分にそれぞれ内容に応じた文字列が記憶された文書が示されている。
符号化部42は、タグを共通の符号化方式により符号化する。例1の文書は、「概要」、「本文」のタグを共通の符号化方式により符号化する。例2の文書は、「特許」、「名称」、「課題」、「効果」のタグを共通の符号化方式により符号化する。
また、符号化部42は、タグにより区分けされた部分の文字列を、それぞれ階層に応じた符号化方式により符号化する。例えば、符号化部42は、タグにより区分けされた部分の文字列を、それぞれ階層に対応した辞書データ31を用いて符号化する。例えば、符号化部42は、文字列に出現した単語が、階層に対応した辞書データ31の静的辞書34または動的辞書35に登録されている場合、出現した単語を静的辞書34または動的辞書35に登録された符号に符号化する。また、符号化部42は、文字列に出現した単語が、階層に対応した辞書データ31の静的辞書34または動的辞書35に登録されていない場合、符号を動的に割り当て、出現した単語を割り当てた符号に符号化する。符号化部42は、出現した単語と割り当てた符号を対応付けて動的辞書35に登録する。これにより、以降、動的辞書35に登録された単語は、出現した際に、動的辞書35を用いて同じ符号に符号化される。なお、符号化部42は、データ属性が類似する階層の文字列を同じ符号化方式により符号化してもよい。これにより、符号化部42は、データ属性が類似する階層の文字列を同じ辞書データ31で符号化できる。
図7Bは、文書の一部にタグによりメタデータを付与した文書の一例を示す図である。図7Bの例では、例3の文書は、「AAAへのリンクはこちら」の文書の「リンク」部分にタグによりリンク先のURLをメタデータとして付与した場合を示している。例4の文書は、「BBBを訴えたため、CCCを疑い、DDDを投与した」の文書の「BBB」部分が病状を示し、「CCC」部分が病名を示し、「DDD」部分が薬名を示すことをタグによりメタデータとして付与した場合を示している。例5の文書は、「2015/3/6に、大阪で鈴木に会う」の文書の「2015/3/6」部分が日時を示し、「大阪」部分が地名を示し、「鈴木」部分が人名を示すことをタグによりメタデータとして付与した場合を示している。
符号化部42は、タグを共通の符号化方式により符号化する。例3の文書は、「リンク」のタグを共通の符号化方式により符号化する。例4の文書は、「病状」、「病名」、「薬名」のタグを共通の符号化方式により符号化する。例5の文書は、「日時」、「地名」、「人名」のタグを共通の符号化方式により符号化する。また、符号化部42は、タグにより区分けされた部分の文字列を、それぞれ階層に応じた符号化方式により符号化する。例えば、符号化部42は、タグにより区分けされた部分の文字列を、それぞれ階層に対応した辞書データ31を用いて符号化する。
図8Aは、符号化の一例を示す図である。図8Aの例は、タグ「A」の下層にタグ「B」が定義された文字列のデータを符号化した一例を示している。図8Aの例では、タグ「A」、タグ「B」の符号の間に、文字列のデータを符号化したコードが記憶される。なお、図8Aの例では、タグ「A」、タグ「B」の終了タグの符号を、タグの終了を示す符号と開始タグの符号を組み合わせたものとしている。
図8Bは、符号化の一例を示す図である。図8Bの例は、「大阪で鈴木に会う」の文書の「大阪」部分が地名を示し、「鈴木」部分が人名を示すことをタグによりメタデータとして付与された文字列のデータを符号化した一例を示している。図8Bの例では、地名の開始符号「25h」と終了符号「20h」、「25h」の間で、「大阪」が「B0h」と符号されている。また、人名の開始符号「26h」と終了符号「20h」、「26h」の間で、「鈴木」が「B0h」と符号されている。
符号化部42は、階層が異なると異なる文字列に同じ符号を割当てることができるため、階層ごとに文字列を短い符号に変換できる。例えば、図8Bの例では、「大阪」と「鈴木」が共に同じ「B0h」に変換されている。このように、符号化部42は、階層ごとに、文字列を短い符号に変換できるため、符号化対象ファイル30全体を短い符号に変換できる。
なお、符号化部42は、タグにより区分けされた部分の文字列の属性や範囲によっては、辞書データ31を用いずに当該文字列を符号化してもよい。例えば、タグにより区分けされた部分の文字列が「0」〜「255」の範囲の数値を示す文字列である場合、符号化部42は、「0」〜「255」の範囲の数値を示す文字列を1バイトの整数型(例えば、int型)の符号に符号化してもよい。すなわち、符号化部42は、文字列が数値を示す場合、当該数値の範囲に対応したデータ型の符号に符号化してもよい。数値を表す文字列を数値のデータ型の符号に符号化すると、符号化した状態でも数値の比較や集計など各種の演算を行うことができる。
ここで、XMLなど構造化された文書では、タグによってコンテキストが規定される。構造化された文書は、タグによってコンテキストが規定され、コンテキストによりデータの処理に関わる要素が定まる。例えば、データの型や値の範囲、文書の構成要素(言語であれば日本語の単語、英語の単語、他言語の単語)など辞書に関わる要素が決まる。また、例えば、テキストであれば検索やマイニング、数値であれば平均値や集計値、頻度分布など、データの内容がどのように活用が可能かの活用分野が定まる。また、図7Aに示すような、タグにより文書構造を示した文書では、単一タグだけでなく、階層構造を上位から順に辿ると判明するコンテキストがある。例えば、<A><合計>T</合計></A>では、「T」がAに関する合計を示している。また、例えば、図7Bに示すような、文書の一部にタグによりメタデータを付与した文書では、単一タグで囲まれた領域で、階層構造に加え、追加されるコンテキストがある。例えば、<地名>大阪</地名>は、「大阪」が地名であることを示している。よって、符号化部42は、タグにより区分けされた部分の文字列を、タグによって規定されるコンテキストに適した符号化方式で符号化することにより、活用する際の処理量を減らすことができる。
符号化部42は、符号化対象ファイル30に記憶された文書の符号化したデータを符号化データ32として格納する。
生成部43は、符号化方式ごとに、符号化した文字列に出現したパターンを示したインデックス33を生成する。例えば、生成部43は、符号化した符号化対象ファイル30に対して、順にファイル番号を付与する。そして、生成部43は、符号化した符号化対象ファイル30のファイル番号に対応付けて、符号化対象ファイル30に出現した数値や単語などのパターンの出現回数を格納したインデックス33を生成する。
ここで、符号化の流れを説明する。図9は、符号化の流れを概略的に示した図である。符号化装置10の符号化処理部40は、符号化対象ファイル30に記憶された文書を読み出し、文書の文書構造を特定する。符号化処理部40は、読み出した文書を、文書構造に対応した階層構造に応じた符号化方式により符号化する。例えば、符号化処理部40は、タグや文字列に出現した単語が、静的辞書34または動的辞書35に登録されている場合、出現した単語を静的辞書34または動的辞書35に登録された符号に符号化する。また、符号化処理部40は、タグや文字列に出現した単語が、静的辞書34または動的辞書35に登録されていない場合、符号を動的に割り当て、タグや出現した単語を割り当てた符号に符号化する。符号化処理部40は、タグや出現した単語と割り当てた符号を対応付けて動的辞書35に登録する。
符号化処理部40は、符号化対象ファイル30に記憶された文書の符号化したデータを符号化データ32として格納する。図9の例では、「概要」と「本文」のタグの階層の文字列がそれぞれ符号化されている。また、符号化処理部40は、符号化対象ファイル30のファイル番号に対応付けて、符号化対象ファイル30に出現した数値や単語などのパターンの出現回数を格納したインデックス33を生成する。図9の例では、「概要」と「本文」のタグの階層に対応して、出現回数の集計結果としてインデックス33A、33Bが生成されている。符号化装置10は、符号化データ32を他の装置へ移動させる場合、符号化データ32に対応して生成された動的辞書35およびインデックス33A、33Bも移動させる。
図3に戻り、ファイル検索部50は、指定された検索条件に従い、ファイルを検索する。ファイル検索部50は、受付部51と、検索部52と、出力部53とを有する。以下、ファイル検索部50の各構成について詳細に説明する。
受付部51は、検索条件を受け付ける。例えば、受付部51は、検索条件とするキーワードや階層の入力を受け付ける操作画面などの入力インタフェースを提供しており、検索条件とする文字列や階層の入力を受け付ける。
検索部52は、検索条件を満たすファイルを検索する。例えば、検索部52は、検索条件の階層に対応する辞書データ31の静的辞書34および動的辞書35を参照して、検索条件のキーワードに対応する符号を特定する。そして、検索部52は、検索条件の階層に対応するインデックス33を参照して、特定された符号が出現したファイルのファイル番号を特定する。なお、検索条件のキーワードが単語や数値を複数含む場合、検索部52は、キーワードを単語や数値に分解して符号化し、それぞれの単語や数値ごとに対応する符号を特定する。検索部52は、検索条件の階層に対応するインデックス33を参照して、それぞれの単語や数値ごとに対応する符号が出現したファイルのファイル番号を特定する。ここで、インデックス33では、検索条件の文字列に含まれる複数の単語や数値の出現順が正しいかを確認できない。そこで、例えば、検索部52は、特定したファイル番号の符号化対象ファイル30に検索条件の文字列が含まれるかを検索する。なお、検索部52は、特定したファイル番号に対応する符号化データ32の検索条件の階層を復号化して、検索条件の文字列が含まれるかを検索してもよい。
図10Aは、検索の一例を示した図である。図10Aの例は、指定されたファイルが「概要」に「XXX」というキーワードを含み、「本文」に「YYY」というキーワードを含むかを検索する場合を示している。検索部52は、「概要」の階層に対応する辞書データ31の静的辞書34および動的辞書35を参照して、「XXX」に対応する符号を特定する。検索部52は、「概要」の階層に対応するインデックス33を参照して、指定されたファイルのファイル番号に「XXX」に対応する符号が出現したことが記録されているかを特定する。また、検索部52は、「本文」の階層に対応する辞書データ31の静的辞書34および動的辞書35を参照して、「YYY」に対応する符号を特定する。そして、検索部52は、「本文」の階層に対応するインデックス33を参照して、指定されたファイルのファイル番号に「YYY」に対応する符号が出現したことが記録されているかを特定する。そして、検索部52は、指定されたファイルのファイル番号に「XXX」に対応する符号と「YYY」に対応する符号が出現した記録がある場合、「概要」に「XXX」というキーワードを含み、「本文」に「YYY」というキーワードを含むかを検索する。
図10Bは、検索の一例を示した図である。図10Bの例は、「概要」に「ZZZ」というキーワードを含むファイルを検索する場合を示している。検索部52は、「概要」の階層に対応する辞書データ31の静的辞書34および動的辞書35を参照して、「ZZZ」に対応する符号を特定する。そして、検索部52は、「概要」の階層に対応するインデックス33を参照して、「ZZZ」に対応する符号が出現したファイルのファイル番号を特定する。
このように、ファイル検索部50は、符号化データ32を復号化せずに検索を行えるため、検索の際の処理量が減らすことができ、検索の処理時間を短縮できる。
なお、インデックス33が生成されない場合、ファイル検索部50は、指定された階層のみ復号化して、指定された文字列を検索する。この場合でも、ファイル検索部50は、指定された階層を復号化するのみで検索を行えるため、符号化データ全体を復号化する場合と比較して、活用する際の処理量を減らすことができ、検索の処理時間を短縮できる。
出力部53は、検索結果の出力を行う。例えば、検索部52によりファイル番号が特定された場合、出力部53は、検索結果として、特定されたファイル番号のファイルのファイル名を出力する。一方、検索部52によりファイル番号が特定されない場合、出力部53は、検索結果として、該当ファイルなしを出力する。
図3に戻り、復号化処理部60は、符号化データ32を復号化する。復号化処理部60は、受付部61と、復号化部62とを有する。以下、復号化処理部60の各構成について詳細に説明する。
受付部61は、復号化の指示を受け付ける。例えば、受付部61は、復号化する対象の符号化データ32の指定を受け付ける操作画面などの入力インタフェースを提供しており、復号化する対象の符号化データ32の指定を受け付ける。なお、受付部61は、復号化する対象の符号化データ32と共に、符号化する階層の指定を受け付けてもよい。
復号化部62は、指定された符号化データ32を復号化する。例えば、復号化部62は、復号化部62は、符号化データ32のそれぞれの階層の符号データを、当該階層の符号化方式により復号化する。例えば、復号化部62は、符号化データ32のそれぞれの階層の符号データを、当該階層に対応する辞書データ31の静的辞書34および動的辞書35を用いて、文字列に復号化する。例えば、復号化部62は、タグの符号データを、共通の符号化方式により復号化する。そして、復号化部62は、タグで区切られた各階層の符号データを、当該階層に対応する辞書データ31の静的辞書34および動的辞書35を参照して、文字列に復号化する。なお、受付部61で符号化する階層の指定を受け付けた場合、復号化部62は、指定された階層の符号データのみを復号化してもよい。
[処理の流れ]
本実施例に係る符号化装置10が符号化対象ファイル30を符号化する符号化処理の流れについて説明する。図11は、符号化処理の手順の一例を示すフローチャートである。この符号化処理は、所定のタイミング、例えば、符号化対象ファイル30を指定して符号化開始を指示する所定操作が行われたタイミングで実行される。
図11に示すように、特定部41は、符号化対象ファイル30に記憶された構造化された文書の文書構造を特定する(S10)。符号化部42は、文書構造を特定した文書の各階層の文字列を、当該文書構造に対応した階層構造に応じた符号化方式により符号化する(S11)。例えば、符号化部42は、タグを共通の符号化方式により符号化する。また、符号化部42は、タグにより区分けされた部分の文字列を、それぞれ階層に応じた符号化方式により符号化する。符号化部42は、符号化したデータを符号化データ32に格納する(S12)。生成部43は、符号化方式ごとに、符号化した文字列に出現したパターンを示したインデックス33を生成し(S13)、処理を終了する。
次に、本実施例に係る符号化装置10が検索条件を満たすファイルを検索する検索処理の流れについて説明する。最初に、検索条件に階層が指定されない場合の検索処理の流れを説明する。図12は、検索処理の手順の一例を示すフローチャートである。この検索処理は、所定のタイミング、例えば、検索条件を指定して検索開始を指示する所定操作が行われたタイミングで実行される。
図12に示すように、検索部52は、辞書データ31の静的辞書34および動的辞書35を参照して、検索条件のキーワードに対応する符号が存在するか判定する(S20)。符号が存在しない場合(S20否定)、検索部52は、キーワードを単語や数値に分解してそれぞれ符号化し、それぞれの単語や数値ごとに対応する符号を特定する(S21)。検索部52は、各インデックス33を参照して、それぞれの単語や数値ごとに対応する符号が出現したファイルのファイル番号を特定する(S22)。検索部52は、特定したファイル番号の符号化対象ファイル30に検索条件の文字列が含まれるかを検索する(S23)。
一方、符号が存在する場合(S20肯定)、検索部52は、インデックス33を参照して、特定された符号が出現したファイルのファイル番号を特定する(S24)。
出力部53は、検索結果を出力し、処理を終了する(S25)。例えば、出力部53は、検索条件の文字列を含む符号化対象ファイル30が検索された場合や、検索部52により符号化対象ファイル30のファイル番号が特定された場合、符号化対象ファイル30のファイル名を出力する。
次に、検索条件に階層が指定された場合の検索処理の流れを説明する。図13は、検索処理の手順の一例を示すフローチャートである。この検索処理は、所定のタイミング、例えば、検索条件を指定して検索開始を指示する所定操作が行われたタイミングで実行される。
図13に示すように、検索部52は、辞書データ31の静的辞書34および動的辞書35を参照して、検索条件のキーワードに対応する符号が存在するか判定する(S30)。符号が存在しない場合(S30否定)、検索部52は、キーワードを単語や数値に分解してそれぞれ符号化し、それぞれの単語や数値ごとに対応する符号を特定する(S31)。検索部52は、指定された階層のインデックス33を参照して、それぞれの単語や数値ごとに対応する符号が出現したファイルのファイル番号を特定する(S32)。検索部52は、特定したファイル番号の符号化対象ファイル30に検索条件の文字列が含まれるかを検索する(S33)。
一方、符号が存在する場合(S30肯定)、検索部52は、指定された階層のインデックス33を参照して、特定された符号が出現したファイルのファイル番号を特定する(S34)。
出力部53は、検索結果を出力し、処理を終了する(S35)。例えば、出力部53は、検索条件の文字列を含む符号化対象ファイル30が検索された場合や、検索部52により符号化対象ファイル30のファイル番号が特定された場合、符号化対象ファイル30のファイル名を出力する。
次に、本実施例に係る符号化装置10が符号化データ32を復号化する復号化処理の流れについて説明する。図14は、復号化処理の手順の一例を示すフローチャートである。この復号化処理は、所定のタイミング、例えば、復号化する対象の符号化データ32を指定して符号化開始を指示する所定操作が行われたタイミングで実行される。
復号化部62は、指定された符号化データ32から符号データを読み出す(S40)。復号化部62は、読み出した符号データを、階層に対応する辞書データ31の静的辞書34および動的辞書35を用いて、文字列に復号化する(S41)。復号化部62は、符号化データ32の読み出しが完了したか否かを判定する(S42)。読み出しが完了していない場合は(S42否定)、S40へ移行する。一方、読み出しが完了した場合は(S42肯定)、処理を終了する。
[効果]
上述してきたように、本実施例に係る符号化装置10は、構造化された文書の文書構造を特定する。符号化装置10は、文書構造を特定した文書中の特定階層の文字列を、当該文書構造に対応した階層構造に応じた符号化方式により符号化する。これにより、符号化装置10は、特定階層の部分の符号のみを復号化できるため、活用する際の処理量を減らすことができる。
また、本実施例に係る符号化装置10は、文書中の文書構造を規定する文字列を、共通の符号化方式により符号化する。これにより、符号化装置10は、共通の符号化方式で復号化することで、文書中の文書構造を規定する文字列を同じ符号化方式で復元できるため、文書構造を速やかに特定でき、特定の階層のデータを速やかに抽出できる。
また、本実施例に係る符号化装置10は、データ属性が類似する階層の文字列を同じ符号化方式により符号化する。これにより、符号化装置10は、データ属性が類似する階層の文字列を同じ辞書データ31で符号化できる。
また、本実施例に係る符号化装置10は、特定階層の文字列を、当該特定階層に出現する文字列の特性に対応した符号化方式により符号化する。これにより、符号化装置10は、特定階層の文字列を特性に対応した符号化方式で符号化できる。
また、本実施例に係る符号化装置10は、1またはデータ属性が類似する複数の階層ごとに、出現頻度の高いパターンを短い符号に変換する符号化方式により符号化する。これにより、符号化装置10は、符号化対象ファイル30を高い圧縮率で符号化できる。
また、本実施例に係る符号化装置10は、符号化した文字列に出現したパターンを示したインデックス33を生成する。これにより、符号化装置10は、インデックス33からパターンが出現した符号化対象ファイル30を特定できる。
さて、これまで開示の装置に関する実施例について説明したが、開示の技術は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下では、本発明に含まれる他の実施例を説明する。
例えば、上記の実施例では、出現頻度の高いパターンに対応する符号を辞書データ31の静的辞書34に予め記憶させる場合について説明したが、これに限定されない。例えば、文書の階層ごとに、文字列で単語や数字など出現するパターンごとの出現頻度を解析により求めて、出現頻度の高いパターンから短い符号を割り当て符号化してもよい。辞書データ31は、出現したパターンと割り当てた符号を対応付けて記憶させてもよい。
また、上記の実施例では、符号を層構造単位で辞書データ31に記憶する場合について説明したが、これに限定されない。例えば、共通の辞書データ31を用いてもよい。また、一部の符号を層構造単位の辞書データ31で共通に登録して管理してもよい。図15は、符号の割当ての一例を示す図である。図15には、一部の符号を層構造単位の辞書データ31で共通に登録して管理する場合の符号の割当ての一例が示されている。「8*h」〜「A*h」の符号については、各階層で符号を共通に登録して管理する。例えば、共通の辞書データ31により、ファイル全体で符号を管理した方が効率がよい符号がある。例えば、数値情報のNA(未入力)やnull値(値なし、文字列や数値共通)が、別の値で表現されている場合がある。この場合、共通の辞書データ31で管理することにより、符号を統一して管理できる。なお、符号を統一して管理する場合でも、ある数値では0.0をNAにし、他の値では−99.9をNAに割り当ててもよい。また、文書内全体で登場するような文字列は、符号を統一して管理することが好ましい。例えば、電子書籍の小説において小説の主人公の名前が概要、本文、講評でも登場する場合、主人公の名前の符号を統一して管理することが好ましい。一方、階層構造単位で符号を管理した方が効率がよい符号がある。例えば、階層構造単位で適切な範囲が定まる場合は、階層構造単位で符号を管理した方がよい。適切な範囲から外れた場合は、NAやNULLとして符号化する。例えば、人の体温の辞書として、35.0〜42.0の範囲で辞書データ31を用意する。体温として34.8が出現した場合は、NAやNULL、または、動的に符号を割当てて符号化する。また、人の身長の辞書として、120.0〜222.3の範囲で辞書データ31を用意する。身長として231.2という値が出現した場合は、NAやNULL、または、動的に符号を割当てて符号化する。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的状態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、符号化装置10の特定部41、符号化部42、生成部43、受付部51、検索部52、出力部53、受付部61および復号化部62の各処理部が適宜統合されてもよい。符号化装置10の上記各処理部の処理が適宜複数の処理部の処理に分離されてもよい。さらに、各処理部にて行なわれる各処理機能は、その全部または任意の一部が、CPUおよび当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
[符号化プログラム]
また、上記の実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することもできる。そこで、以下では、上記の実施例と同様の機能を有するプログラムを実行するコンピュータシステムの一例を説明する。最初に、符号化処理を行う符号化プログラムについて説明する。図16は、符号化プログラムを実行するコンピュータの一例を示す図である。
図16に示すように、コンピュータ400は、CPU(Central Processing Unit)410、HDD(Hard Disk Drive)420、RAM(Random Access Memory)440を有する。これら400〜440の各部は、バス500を介して接続される。
HDD420には上記の符号化装置10の特定部41、符号化部42および生成部43と同様の機能を発揮する符号化プログラム420aが予め記憶される。なお、符号化プログラム420aについては、適宜分離してもよい。
また、HDD420は、各種情報を記憶する。例えば、HDD420は、OSや符号化に用いる各種データを記憶する。
そして、CPU410が、符号化プログラム420aをHDD420から読み出して実行することで、実施例の各処理部と同様の動作を実行する。すなわち、符号化プログラム420aは、特定部41、符号化部42および生成部43と同様の動作を実行する。
なお、上記した符号化プログラム420aについては、必ずしも最初からHDD420に記憶させることを要しない。
[検索プログラム]
次に、符号化データ32を検索する検索プログラムについて説明する。図17は、復号化プログラムを実行するコンピュータの一例を示す図である。なお、図16と同一の部分については同一の符号を付して、説明を省略する。
図17に示すように、HDD420には上記の符号化装置10の受付部51、検索部52および出力部53と同様の機能を発揮する検索プログラム420bが予め記憶される。なお、検索プログラム420bについては、適宜分離してもよい。
また、HDD420は、各種情報を記憶する。例えば、HDD420は、OSや検索に用いる各種データを記憶する。
そして、CPU410が、検索プログラム420bをHDD420から読み出して実行することで、実施例の各処理部と同様の動作を実行する。すなわち、検索プログラム420bは、受付部51、検索部52および出力部53と同様の動作を実行する。
なお、上記した検索プログラム420bについても、必ずしも最初からHDD420に記憶させることを要しない。
[復号化プログラム]
次に、検索条件を満たすファイルを復号化する復号化プログラムについて説明する。図18は、復号化プログラムを実行するコンピュータの一例を示す図である。なお、図16および図17と同一の部分については同一の符号を付して、説明を省略する。
図17に示すように、HDD420には上記の符号化装置10の受付部61および復号化部62と同様の機能を発揮する復号化プログラム420cが予め記憶される。なお、復号化プログラム420cについては、適宜分離してもよい。
また、HDD420は、各種情報を記憶する。例えば、HDD420は、OSや検索に用いる各種データを記憶する。
そして、CPU410が、復号化プログラム420cをHDD420から読み出して実行することで、実施例の各処理部と同様の動作を実行する。すなわち、復号化プログラム420cは、受付部61および復号化部62と同様の動作を実行する。
なお、上記した復号化プログラム420cについても、必ずしも最初からHDD420に記憶させることを要しない。
また、例えば、符号化プログラム420a、検索プログラム420bおよび復号化プログラム420cは、コンピュータ400に挿入されるフレキシブルディスク(FD)、CD−ROM、DVDディスク、光磁気ディスク、ICカードなどの「可搬用の物理媒体」に記憶させてもよい。そして、コンピュータ400がこれらからプログラムを読み出して実行するようにしてもよい。
さらには、公衆回線、インターネット、LAN、WANなどを介してコンピュータ400に接続される「他のコンピュータ(又はサーバ)」などにプログラムを記憶させておく。そして、コンピュータ400がこれらからプログラムを読み出して実行するようにしてもよい。
10 符号化装置
20 記憶部
21 制御部
30 符号化対象ファイル
31 辞書データ
32 符号化データ
33 インデックス
34 静的辞書
35 動的辞書
40 符号化処理部
41 特定部
42 符号化部
43 生成部
50 ファイル検索部
51 受付部
52 検索部
53 出力部
60 復号化処理部
61 受付部
62 復号化部
70 XMLスキーマ

Claims (11)

  1. コンピュータに、
    構造化された第1の文書の文書構造を特定し、
    文書構造を特定した前記第1の文書中の特定階層の文字列を、当該文書構造に対応した階層構造に応じた符号化方式により符号化する
    処理を実行させることを特徴とする符号化プログラム。
  2. 前記符号化する処理は、前記第1の文書中の文書構造を規定する文字列を、共通の符号化方式により符号化する
    ことを特徴とする請求項1に記載の符号化プログラム。
  3. 前記符号化する処理は、データ属性が類似する階層の文字列を同じ符号化方式により符号化する
    ことを特徴とする請求項1または2に記載の符号化プログラム。
  4. 前記符号化する処理は、前記特定階層の文字列を、当該特定階層に出現する文字列の特性に対応した符号化方式により符号化する
    ことを特徴とする請求項1〜3の何れか1つに記載の符号化プログラム。
  5. 前記符号化する処理は、1またはデータ属性が類似する複数の階層ごとに、出現頻度の高いパターンを短い符号に変換する符号化方式により符号化する
    ことを特徴とする請求項1〜4の何れか1つに記載の符号化プログラム。
  6. コンピュータに、
    符号化方式ごとに、符号化した文字列に出現したパターンを示したインデックスを生成する
    処理をさらに実行させることを特徴とする請求項1〜5の何れか1つに記載の符号化プログラム。
  7. コンピュータが、
    構造化された第1の文書の文書構造を特定し、
    文書構造を特定した前記第1の文書中の特定階層の文字列を、当該文書構造に対応した階層構造に応じた符号化方式により符号化する
    処理を実行することを特徴とする符号化方法。
  8. 構造化された第1の文書の文書構造を特定する特定部と、
    前記特定部により文書構造が特定された前記第1の文書中の特定階層の文字列を、当該文書構造に対応した階層構造に応じた符号化方式により符号化する符号化部と、
    を有することを特徴とする符号化装置。
  9. コンピュータに、
    構造化された第1の文書が、当該第1の文書の文書構造に対応した階層構造に応じた符号化方式により符号化された符号化データの特定階層の文字列を、当該特定階層の符号化方式により復号化する
    処理を実行させることを特徴とする復号化プログラム。
  10. コンピュータが、
    構造化された第1の文書が、当該第1の文書の文書構造に対応した階層構造に応じた符号化方式により符号化された符号化データの特定階層の文字列を、当該特定階層の符号化方式により復号化する
    処理を実行することを特徴とする復号化方法。
  11. 構造化された第1の文書が、当該第1の文書の文書構造に対応した階層構造に応じた符号化方式により符号化された符号化データの特定階層の文字列を、当該特定階層の符号化方式により復号化する復号化部
    を有することを特徴とする復号化装置。
JP2016004797A 2016-01-13 2016-01-13 符号化プログラム、符号化方法、符号化装置、復号化プログラム、復号化方法および復号化装置 Pending JP2017126185A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2016004797A JP2017126185A (ja) 2016-01-13 2016-01-13 符号化プログラム、符号化方法、符号化装置、復号化プログラム、復号化方法および復号化装置
US15/370,558 US20170199849A1 (en) 2016-01-13 2016-12-06 Encoding method, encoding device, decoding method, decoding device, and computer-readable recording medium
EP16203709.7A EP3193260A3 (en) 2016-01-13 2016-12-13 Encoding program, encoding method, encoding device, decoding program, decoding method, and decoding device
CN201611198404.1A CN107025212A (zh) 2016-01-13 2016-12-22 编码方法、编码装置、解码方法和解码装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016004797A JP2017126185A (ja) 2016-01-13 2016-01-13 符号化プログラム、符号化方法、符号化装置、復号化プログラム、復号化方法および復号化装置

Publications (1)

Publication Number Publication Date
JP2017126185A true JP2017126185A (ja) 2017-07-20

Family

ID=57681263

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016004797A Pending JP2017126185A (ja) 2016-01-13 2016-01-13 符号化プログラム、符号化方法、符号化装置、復号化プログラム、復号化方法および復号化装置

Country Status (4)

Country Link
US (1) US20170199849A1 (ja)
EP (1) EP3193260A3 (ja)
JP (1) JP2017126185A (ja)
CN (1) CN107025212A (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6737117B2 (ja) * 2016-10-07 2020-08-05 富士通株式会社 符号化データ検索プログラム、符号化データ検索方法および符号化データ検索装置
CN107608966A (zh) * 2017-09-14 2018-01-19 武汉光谷信息技术股份有限公司 一种中文分词方法及系统
JP7159557B2 (ja) * 2017-12-28 2022-10-25 富士通株式会社 動的辞書の生成プログラム、動的辞書の生成方法および復号化装置
CN110309376A (zh) * 2019-07-10 2019-10-08 深圳市友华软件科技有限公司 嵌入式平台的配置条目管理方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3277792B2 (ja) * 1996-01-31 2002-04-22 株式会社日立製作所 データ圧縮方法および装置
US5991713A (en) * 1997-11-26 1999-11-23 International Business Machines Corp. Efficient method for compressing, storing, searching and transmitting natural language text
JP2002297568A (ja) 2001-03-29 2002-10-11 Fujitsu Ltd 構造化文書符号化装置及び記録媒体
JP3832807B2 (ja) * 2001-06-28 2006-10-11 インターナショナル・ビジネス・マシーンズ・コーポレーション データ処理方法及びその手法を用いたエンコーダ、デコーダ並びにxmlパーサ
JP2005018672A (ja) 2003-06-30 2005-01-20 Hitachi Ltd 構造化文書の圧縮方法
WO2005003996A1 (en) * 2003-07-08 2005-01-13 Telefonaktiebolaget Lm Ericsson (Publ) Method for compressing markup languages files, by replacing a long word with a shorter word
JP4168946B2 (ja) 2004-01-29 2008-10-22 Kddi株式会社 文書データの符号化又は復号化方法及びそのプログラム
US20060085737A1 (en) * 2004-10-18 2006-04-20 Nokia Corporation Adaptive compression scheme
US7441185B2 (en) * 2005-01-25 2008-10-21 Microsoft Corporation Method and system for binary serialization of documents
US7739586B2 (en) * 2005-08-19 2010-06-15 Microsoft Corporation Encoding of markup language data
US8850309B2 (en) * 2008-03-27 2014-09-30 Canon Kabushiki Kaisha Optimized methods and devices for the analysis, processing and evaluation of expressions of the XPath type on data of the binary XML type
FR2943441A1 (fr) * 2009-03-18 2010-09-24 Canon Kk Procede de codage ou decodage d'un document structure a l'aide d'un schema xml, dispositif et structure de donnees associes

Also Published As

Publication number Publication date
EP3193260A3 (en) 2017-08-09
EP3193260A2 (en) 2017-07-19
US20170199849A1 (en) 2017-07-13
CN107025212A (zh) 2017-08-08

Similar Documents

Publication Publication Date Title
JP2006235840A (ja) データベース・アクセス・システム、データベース・アクセス方法
US7730099B2 (en) Storage and retrieval of richly typed hierarchical network models
JP2017126185A (ja) 符号化プログラム、符号化方法、符号化装置、復号化プログラム、復号化方法および復号化装置
US20170302292A1 (en) Computer-readable recording medium, encoding device, and encoding method
JP6613669B2 (ja) 圧縮プログラム、圧縮方法、情報処理装置、置換プログラムおよび置換方法
KR20070103464A (ko) 디지털 멀티미디어 컨텐츠에 대한 메타데이터를 조작하기위한 시스템 및 방법
JP2016134100A (ja) 文書処理プログラム、情報処理装置および文書処理方法
CN106570153A (zh) 一种海量url的数据提取方法及系统
US20170300542A1 (en) Encoding processing device, encoding processing method, decoding processing device, decoding processing method, and recording medium
CN111201532B (zh) k-匿名化装置、方法以及记录介质
US20170116240A1 (en) System and method for search indexing
CN114238334A (zh) 异构数据编码、解码方法和装置、计算机设备和存储介质
JP7390356B2 (ja) クローニング後のテナント識別子変換のためのレコードの識別
EP4046052A1 (en) Customizable delimited text compression framework
JP6299307B2 (ja) ストレージシステム、ストレージ方法、及び、プログラム
US20190205297A1 (en) Index generating apparatus, index generating method, and computer-readable recording medium
JP2016170750A (ja) データ管理プログラム、情報処理装置およびデータ管理方法
CN114331745A (zh) 数据处理方法、系统、程序产品、介质和电子设备
US9880612B2 (en) Execution control method and execution control apparatus
US10803243B2 (en) Method, device, and medium for restoring text using index which associates coded text and positions thereof in text data
JPWO2017009958A1 (ja) 圧縮プログラム、圧縮方法および圧縮装置
JP2009128945A (ja) データ処理装置及び方法並びにプログラム
US20160210304A1 (en) Computer-readable recording medium, information processing apparatus, and conversion process method
JP2014164309A (ja) 画面プログラム生成装置及びその画面プログラム生成方法、情報処理装置、並びにコンピュータ・プログラム
JP2019003501A (ja) 情報処理装置、情報処理方法、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180912

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190417

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190604

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190730

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20191224

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200324

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20200324

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

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20200406

C21 Notice of transfer of a case for reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20200407

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20200515

C211 Notice of termination of reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C211

Effective date: 20200519

C22 Notice of designation (change) of administrative judge

Free format text: JAPANESE INTERMEDIATE CODE: C22

Effective date: 20201208

C13 Notice of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: C13

Effective date: 20210316

C23 Notice of termination of proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C23

Effective date: 20210615

C609 Written withdrawal of request for trial/appeal

Free format text: JAPANESE INTERMEDIATE CODE: C609

Effective date: 20210617