JP6931442B2 - 符号化プログラム、インデックス生成プログラム、検索プログラム、符号化装置、インデックス生成装置、検索装置、符号化方法、インデックス生成方法および検索方法 - Google Patents

符号化プログラム、インデックス生成プログラム、検索プログラム、符号化装置、インデックス生成装置、検索装置、符号化方法、インデックス生成方法および検索方法 Download PDF

Info

Publication number
JP6931442B2
JP6931442B2 JP2017097668A JP2017097668A JP6931442B2 JP 6931442 B2 JP6931442 B2 JP 6931442B2 JP 2017097668 A JP2017097668 A JP 2017097668A JP 2017097668 A JP2017097668 A JP 2017097668A JP 6931442 B2 JP6931442 B2 JP 6931442B2
Authority
JP
Japan
Prior art keywords
word
code
variant
data
dynamic
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
JP2017097668A
Other languages
English (en)
Other versions
JP2018195028A (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 JP2017097668A priority Critical patent/JP6931442B2/ja
Priority to EP18172311.5A priority patent/EP3404560A1/en
Priority to US15/980,231 priority patent/US11373040B2/en
Publication of JP2018195028A publication Critical patent/JP2018195028A/ja
Application granted granted Critical
Publication of JP6931442B2 publication Critical patent/JP6931442B2/ja
Priority to US17/748,059 priority patent/US20220277139A1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/242Dictionaries
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3084Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
    • H03M7/3088Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method employing the use of a dictionary, e.g. LZ78
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/243Natural language query formulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • G06F16/313Selection or weighting of terms for indexing

Description

本発明は、符号化プログラム、インデックス生成プログラムおよび検索プログラム等に関する。
圧縮対象のテキストファイルから単語を抽出し、抽出した単語をアルファベット単位で圧縮する技術が知られている。かかる技術では、a〜zまでの各アルファベットに符号を割り当て、圧縮対象のテキストファイルから抽出した単語に含まれる各アルファベットを符号に変換する。さらに、変換された符号に、例えば全角または半角の指定、大文字または小文字の指定などに関する情報を表す符号を付加することで単語を符号に変換する。さらに近年では、出現頻度の高い単語に個別の符号を割り当て、圧縮対象のテキストファイルから抽出した出現頻度の高い単語を直接符号に変換する技術が提案されている。
国際公開第2008/047432号 特開2013−150041号公報 特開平05−174064号公報
しかしながら、上記技術では、出現頻度の高い単語について、基本形(例えば現在形)のみならず過去形や過去分詞形、複数形などの変化形にもそれぞれ個別の符号を割り当て、かかる符号と単語の変化形とを対応付けて静的辞書に登録した場合、静的辞書に必要となる容量が増加するため、圧縮率が低下する場合がある。
一つの側面では、出現頻度の高い単語に個別の符号を割り当てて符号化する場合の圧縮率を向上させる符号化プログラム、インデックス生成プログラムおよび検索プログラム等を提供することを目的とする。
第1の案では、符号化プログラムは、コンピュータに、対象文章データに含まれる符号化対象データを符号化する際に、前記符号化対象データが単語の変化形であるか否かを判定する処理を実行させる。符号化プログラムは、コンピュータに、前記符号化対象データが前記単語の変化形である場合、当該符号化対象データと符号とを対応付けて動的辞書に登録する処理を実行させる。
一実施形態によれば、出現頻度の高い単語に個別の符号を割り当てて符号化する場合の圧縮率を向上できる。
図1は、実施例1の単語の符号化処理を説明するための図である。 図2は、情報処理装置のシステム構成の例を説明するための図である。 図3は、実施例1の符号化処理に係るシステム構成の例を示す図である。 図4は、ビットフィルタの第1の例を示す図である。 図5は、動的辞書の一例を示す図である。 図6は、ビットフィルタの第2の例を示す図である。 図7は、実施例1の符号化処理の流れの例を示す図である。 図8は、実施例2のインデックス生成処理に係るシステム構成の例を示す図である。 図9は、ビットマップ型転置インデックスの一例を示す図である。 図10は、実施例2のインデックス生成処理の流れの例を示す図である。 図11は、実施例3の検索処理に係るシステム構成の例を示す図である。 図12は、圧縮ファイル選択の処理の流れの一例を示す図である。 図13は、圧縮ファイル選択の処理の流れの別の例を示す図である。 図14は、実施例3の検索処理の流れの例を示す図である。 図15は、実施例1〜3の情報処理装置のハードウェア構成を示す図である。 図16は、コンピュータで動作するプログラムの構成例を示す図である。 図17は、実施形態のシステムにおける装置の構成例を示す図である。
以下に、本願の開示する符号化プログラム、インデックス生成プログラムおよび検索プログラム等の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの権利範囲が限定されるものではない。各実施例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
(実施例1の符号化処理)
図1を用いて、実施例1の情報処理装置100(図2参照)による符号化処理について説明する。図1は、実施例1の単語の符号化処理を説明するための図である。図1の例のように、情報処理装置100は、符号化処理の対象である対象文章データ10に含まれる「She acted in a movie.・・・」を「She」「acted」「in」「a」「movie」のように数値または単語ごとに区切り、符号化対象データである各数値または各単語を取得する。以下、1以上の数字を有する数値を数値文字列と呼ぶ。数値文字列は、数字以外にプラス・マイナス、カンマおよび小数点等の符号を含んでもよい。
情報処理装置100は、符号化対象データとして、例えば「acted」を抽出してビットフィルタ121に出力し、抽出された符号化対象データが単語の変化形であるか否かを判定する。ビットフィルタ121は、各単語に対してかかる単語の基本形と、動的符号とを対応付ける辞書である。ビットフィルタ121は、それぞれの単語の基本形と、かかる単語の基本形に対応する基本コードとがあらかじめ登録されている。例えば、ビットフィルタ121には、単語の変化形「acted」「acting」「acts」…に対応する単語の基本形「act」と、かかる単語の基本形「act」に対応する基本コード「c(act)」とがあらかじめ登録されている。なお、図1において「c(単語)」の表記は、カッコ内の単語に対応する基本コードを表す。例えば、「c(act)」は、「act」の基本コードを表す。ビットフィルタ121のデータ構造に関する詳細は後述する。
次いで、情報処理装置100は、抽出された符号化対象データ「acted」が単語の変化形である場合、ビットフィルタ121から単語「acted」の基本形「act」に対応する基本コード「c(act)」を取得する。次いで、情報処理装置100は、取得した基本コード「c(act)」と、抽出された単語「acted」の変化種別(ここでは「過去形」)と、登録された順に動的に付される動的符号(ここでは「A100h」)とを対応づけて動的辞書122に登録する。なお、動的符号「A100h」の末尾に示す「h」は、16進数で表記されていることを示す符号である。
次いで、情報処理装置100は、動的辞書122において動的に付された動的符号「A100h」を、単語の基本形「act」および基本コード「c(act)」と対応づけてビットフィルタ121に登録する。そして、情報処理装置100は、ビットフィルタ121および動的辞書122を基にして単語「acted」に対応する動的符号「A100h」を取得し、圧縮ファイル11に出力する。
また、情報処理装置100は、次回、対象文章データ10に単語「acted」が出現した場合、既にビットフィルタ121に登録されている動的符号「A100h」を取得し、圧縮ファイル11に出力する。
(実施例1と参考例との比較)
上述したように実施例1では、単語の変化形を静的辞書であるビットフィルタ121ではなく、動的辞書122に登録して符号化する。一方、参考例では、単語の変化形を、単語の基本形と同様に静的辞書であるビットフィルタ121に登録して符号化するものとする。参考例のように単語の変化形も静的辞書に登録すると、静的辞書の容量が増加してしまうことから、符号化した場合の圧縮率が低下する場合がある。これに対して、実施例1のように単語の変化形を動的辞書122に登録して符号化すれば、静的辞書の容量増加を抑制することができる。したがって、参考例と比べて符号化した際の圧縮率を向上させることができる。
(実施例1の符号化処理に関する処理部の構成)
図2を用いて、情報処理装置100の圧縮部110と記憶部120との関係について説明する。図2は、情報処理装置100のシステム構成の例を説明するための図である。図2の例に示すように、情報処理装置100の記憶部120は、圧縮部110と処理部150とに接続される。記憶部120は例えば、RAM(Random Access Memory)、ROM(Read Only Memory)、フラッシュメモリなどの半導体メモリ素子、ハードディスクや光ディスクなどの記憶装置に対応する。
また、情報処理装置100は、圧縮部110と、処理部150とを有する。圧縮部110および処理部150の機能は例えば、CPU(Central Processing Unit)が所定のプログラムを実行することで実現することができる。また、圧縮部110および処理部150の機能は例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)などの集積回路により実現することができる。
圧縮部110は、入力されたデータから単語を抽出する。圧縮部110は、単語と符号とを対応付けて記憶する辞書を参照し、抽出された単語に対応する符号に変換する。
かかる辞書は、所定の複数の単語の基本形を予め記憶する第1の辞書と、第1の辞書に登録されている単語の変化形を記憶する第2の辞書とである。圧縮部110は、抽出された単語の基本形が第1の辞書に登録されており、かつ、かかる単語の変化形に対応する動的符号が第1の辞書に登録されていない場合、かかる単語に動的符号を付与して第1の辞書におけるかかる単語の基本形に対応付けてかかる動的符号を登録する。なお、第1の辞書は、例えば、ビットフィルタであり、第2辞書は、例えば、動的辞書である。
図3を用いて、実施例1の符号化処理に係るシステム構成について説明する。図3は、実施例1の符号化処理に係るシステム構成の例を示す図である。図3の例に示されるように、情報処理装置100は、圧縮部110と、記憶部120とを有する。圧縮部110は、ファイルリード部111、判定部112、動的符号付与部113およびファイルライト部114を有する。記憶部120は、ビットフィルタ121および動的辞書122を有する。なお、ビットフィルタ121は静的辞書の一例であり、動的符号付与部113は登録部の一例である。以下、実施例1の圧縮部110および記憶部120の構成について詳細に説明する。
(記憶部の各構成)
まずは、ビットフィルタ121について説明する。ビットフィルタ121は、出現頻度の高い単語に基本コードおよび動的符号を対応付けた辞書である。図4は、ビットフィルタ121の第1の例を示す図である。図4の例に示すように、ビットフィルタ121は、2グラムと、ビットマップと、単語と、文字列長と、出現頻度と、符号長と、基本コードと、動的符号とを対応付ける。「2グラム」は、各単語に含まれる連数字である。例えば「act」は、「ac」「ct」に対応する2グラムを有する。
「ビットマップ」は、2グラムの文字列に対応するビットマップを表す。例えば、「act」は、各単語へのポインタによって、2グラム「ac」のビットマップ「1_0_0_0_0」と、2グラム「ct」のビットマップ「0_1_0_0_0」とに対応付けられる。例えば、情報処理装置100は、対象文章データ10から「act」を取得した場合に、2グラム「ac」のビットマップ「1_0_0_0_0」と、2グラム「ct」のビットマップ「0_1_0_0_0」および、2グラム「t△」のビットマップ「0_0_1_0_0」とを用いて単語「act」にアクセスする。「単語」は、ビットフィルタ121に登録された単語である。例えば、「単語」とは、辞典、テキスト群等からあらかじめ抽出された単語である。なお、「単語」の登録数は任意でよい。
「文字列長」は、登録された単語における文字列の長さである。「出現頻度」は、頻度集計用のテキストファイル群において各単語が出現した回数である。ここで、頻度集計用のテキストファイル群とは、対象文章データ10とは別に用意された各単語の出現頻度を集計するための1以上のテキストファイルである。
単語の出現頻度の集計について説明する。情報処理装置100は、頻度集計用のテキストファイルを読込み、頻度集計用のテキストファイル群に存在する単語を適宜抽出してビットフィルタ121に登録する。さらに、情報処理装置100は、ビットフィルタ121に登録された各々の単語に関し、頻度集計用のテキストファイル群において出現した回数を出現頻度としてカウントする。例えば、図4の例において、ビットフィルタ121は、単語「a」が、頻度集計用のテキストファイル群において「9738」回出現したことを示す。
「基本コード」は、単語の基本形にそれぞれ割り当てられた符号である。情報処理装置100は、出現頻度が高い単語に対してより短い符号長を有する符号を割り当てる。なお、図4の例では、各項目のデータがレコードとして関連づけられて記憶されている例を示したが、上記説明において互いに関連づけられた項目どうしの関係が保たれれば、データは他の記憶のされ方をしても構わない。これは、後述する図5、図6に示されるビットフィルタ121および動的辞書122に関しても同様である。
次に、動的辞書122について説明する。動的辞書122は、単語の基本形に対応する基本コードと、かかる単語の変化種別と、付与された動的符号とを対応付ける辞書である。図5は、動的辞書122の一例を示す図である。図5の例に示すように、動的辞書122は、動的符号と、単語の基本コードおよび変化種別とを対応付ける。「基本コード」は、ビットフィルタ121に登録された基本コードである。「変化種別」は、単語の基本形がどのように変化したかを示す変化種別である。「動的符号」は、例えば動的辞書122に登録された順番に基本コードおよび変化種別に昇順に付与される固定長の動的符号である。
例えば、情報処理装置100が、対象文章データ10から単語の変化形を順番に抽出した場合、各々の単語の変化形に対して、動的符号「A100h」「A101h」「A102h」「A103h」…を割当てる。例えば、対象文章データ10から「acted」「eating」…の順番に単語を抽出した場合、抽出された単語が変化形であるか否かを判定し、抽出された単語が変化形である場合には抽出された単語の変化種別を判定する。そして、抽出された単語が変化形である場合、図5の例に示すように、単語の基本形「act」における基本コード「6041h」および変化種別「過去形」に対して、動的符号「A100h」を割当て、次に単語の基本形「eat」における基本コード「60F5h」および変化種別「進行形」に対して、動的符号「A101h」を割当てる。
(圧縮部の各構成)
図3に戻り、圧縮部110の各構成について説明する。ファイルリード部111は、対象文章データ10を読み出して、対象文章データ10から符号化対象データを抽出する処理部である。ファイルリード部111は、対象文章データ10における文字列中の空白文字やカンマなどによって文字列を単語または数値表記文字列ごとに区切り、対象文章データ10から各符号化対象データを抽出する。そして、ファイルリード部111は、抽出した符号化対象データを判定部112に出力する。
判定部112は、対象文章データ10から抽出された符号化対象データが単語の変化形であるか否かを判定し、抽出された符号化対象データが単語の変化形である場合、抽出された単語の基本形および変化種別を判定する処理部である。そして、抽出された符号化対象データが単語の変化形である場合、判定部112は、抽出された単語の変化形と、かかる単語の基本形および変化種別の情報とを動的符号付与部113に出力する。
動的符号付与部113は、対象文章データ10から抽出された単語の変化形に動的符号を付与する処理部である。動的符号付与部113は、判定部112から単語の変化形を受け付けると、ビットフィルタ121に登録されているかかる単語の基本形を参照して、抽出された単語の変化形にアクセスする。
動的符号付与部113は、アクセスした単語の変化形に対応する動的符号がビットフィルタ121に既に登録されていた場合、ビットフィルタ121から単語の変化形に対応する動的符号を取得してファイルライト部114に出力する。
一方、動的符号付与部113は、アクセスした単語の変化形に対応する動的符号がビットフィルタ121に登録されていない場合、ビットフィルタ121から単語の基本形に対応する基本コードを取得する。次いで、動的符号付与部113は、ビットフィルタ121から取得した基本コードを、動的辞書122への登録順に付与される動的符号と、かかる単語の変化種別とに対応付けて動的辞書122に登録する。
図5を用いて、動的辞書122への動的符号の登録の具体例について説明する。図5の例に示すように、動的符号付与部113は、1番目に登録された単語「acted」について、かかる単語の基本形「act」に対応する基本コード「6041h」および変化種別「過去形」に、動的符号「A100h」を対応づけて動的辞書122に登録する。また、動的符号付与部113は、2番目に登録された単語「eating」について、かかる単語の基本形「eat」に対応する基本コード「60F5h」および変化種別「進行形」に、動的符号「A101h」を対応づけて動的辞書122に登録する。このように、動的符号付与部113は、抽出された単語の変化形に対して動的辞書122へ登録された順番に対応する動的符号を付与し、単語の基本形に対応する基本コードおよび変化種別と、付与された動的符号とを対応付けて動的辞書122に登録する。
次いで、動的符号付与部113は、動的辞書122に登録した動的符号を、単語の基本形に対応付けてビットフィルタ121に登録する。
図6を用いて、登録番号および動的符号が登録された後のビットフィルタ121の具体例について説明する。図6は、ビットフィルタ121の第2の例を示す図である。図6の例に示すように、ビットフィルタ121に動的符号が登録される。ビットフィルタ121において、「動的符号」は、単語の変化形に対応する動的符号である。例えば、ビットフィルタ121には、単語の基本形「act」に対応する単語の変化形「acted」に付与された動的符号「A100h」が登録される。なお、動的符号には、かかる単語の変化種別についても登録される。
そして、動的符号付与部113は、ビットフィルタ121に登録した動的符号をファイルライト部114に出力する。
ファイルライト部114は、動的符号付与部113から出力された動的符号を基に圧縮ファイル11を生成する処理部である。ファイルライト部114は、例えば動的符号付与部113から出力された単語の変化形に対応する各動的符号を、それぞれバッファに格納して圧縮データを生成する。ファイルライト部114は、バッファに生成された圧縮データを基に圧縮ファイル11を生成する。
(実施例1の符号化処理の流れ)
次に、実施例1の符号化処理の流れについて説明する。図7は、実施例1の符号化処理の流れの例を示す図である。図7の例に示すように、情報処理装置100は、最初に、前処理をおこなう(ステップS10)。例えば、情報処理装置100は、前処理においてビットフィルタ121を保持する領域や、動的辞書122を作成する作業領域を確保する。次いで、ファイルリード部111は、対象文章データ10を読み出す(ステップS11)。次いで、判定部112は、読み出された対象文章データ10から抽出された符号化対象データが、単語の変化形であるか否かを判定する(ステップS12)。そして、抽出された符号化対象データが単語の変化形でない場合(ステップS12,No)、ステップS21の処理に移行する。
一方、抽出された符号化対象データが単語の変化形である場合(ステップS12,Yes)、判定部112は、抽出された単語の基本形および変化種別を判定する(ステップS13)。そして、動的符号付与部113は、対象文章データ10から抽出された単語の変化形に対応する動的符号がビットフィルタ121に登録されているか否かを判定する(ステップS14)。そして、動的符号付与部113は、ビットフィルタ121に動的符号が登録されている場合(ステップS14,Yes)、ステップS19の処理に移行する。
一方、動的符号付与部113は、ビットフィルタ121に動的符号が登録されていない場合(ステップS14,No)、ビットフィルタ121から抽出された単語の基本形に対応する基本コードを取得する(ステップS15)。次いで、動的符号付与部113は、ビットフィルタ121から取得した基本コードと、単語の変化形における変化種別と、動的辞書122に単語の変化形を登録する順に付与される動的符号とを対応付けて動的辞書122に登録する(ステップS16)。例えば、動的符号付与部113は、単語の変化形が動的辞書122に登録される順番に、単語の変化形(すなわち、単語の基本コードと変化種別との組み合わせ)に動的符号「A100h」「A101h」「A102h」「A103h」「A104h」「A105h」…を付与する。動的符号付与部113は、動的辞書122から登録された動的符号を取得する(ステップS17)。次いで、動的符号付与部113は、動的辞書122から取得された動的符号を、単語の基本形に対応づけてビットフィルタ121に登録する(ステップS18)。
次いで、動的符号付与部113は、ビットフィルタ121から単語の変化形に対応する動的符号を取得する(ステップS19)。そして、ファイルライト部114は、ビットフィルタ121から取得された動的符号を圧縮ファイル11に書き込む(ステップS20)。
次いで、ファイルリード部111は、ファイルの読み出し位置がファイルの終端であるか否かを判定する(ステップS21)。ファイルリード部111は、読み出し位置がファイルの終端である場合(ステップS21,Yes)、処理を終了させる。一方、ファイルリード部111は、読み出し位置がファイルの途中である場合(ステップS21,No)、ステップS11の処理に戻る。
以上のように実施例1の情報処理装置100は、対象文章データ10に含まれる各単語の変化形に動的符号を割り当てるので、符号化処理時に単語の変化形に割り当てる符号長を短くできる。
(効果)
圧縮部110は、対象文章データ10に含まれる符号化対象データを符号化する際に、符号化対象データが単語の変化形であるか否かを判定し、符号化対象データが単語の変化形である場合、かかる符号化対象データと符号とを対応付けて動的辞書122に登録する。これにより、出現頻度の高い単語に個別の符号を割り当てて符号化する場合の圧縮率を向上することができる。
圧縮部110における判定する処理は、符号化対象データが静的辞書(ビットフィルタ121)に登録されている単語の変化形であるか否かを判定する。これにより、出現頻度の高い単語に個別の符号を割り当てて、高い圧縮率で符号化することができる。
図8を用いて、実施例2のインデックス生成処理に係るシステム構成について説明する。図8は、実施例2のインデックス生成処理に係るシステム構成の例を示す図である。図8の例に示されるように、情報処理装置200は、圧縮部210と、記憶部220とを有する。圧縮部210は、ファイルリード部211、判定部212、動的符号付与部213およびファイルライト部214を有する。記憶部220は、ビットフィルタ221、動的辞書222およびビットマップ型転置インデックス223を記憶する。なお、実施例1と同じ構成に関しては、番号の下2桁を同一にして適宜説明を省略する。
圧縮部210は、抽出処理で単語の基本形および変化形が抽出された際に、複数の圧縮ファイルのうち単語の基本形および変化形が含まれる圧縮ファイルを示す情報ビット列を単語の基本形および変化形ごとに対応付けて保持するビットマップ型転置インデックス223を更新する。なお、ファイルライト部214は、インデックス登録部の一例であり、ビットマップ型転置インデックス223はインデックスの一例である。以下、実施例2の圧縮部210および記憶部220の構成について詳細に説明する。
実施例2の情報処理装置200は、記憶部220がビットマップ型転置インデックス223を記憶する点で、実施例1の情報処理装置100と異なる。図9を用いてビットマップ型転置インデックス223のデータ構造について説明する。図9は、ビットマップ型転置インデックス223の一例を示す図である。図9の例に示すように、ビットマップ型転置インデックス223は、単語の基本形にかかる基本コードや単語の変化形に係る動的付号ごとにビットマップを対応付ける。ビットマップとは、単語の基本形および変化形がいずれの圧縮ファイルに含まれるかを表す符号ビット列である。ビットマップの各ビットが、各圧縮ファイルに単語の基本形または変化形が含まれているか否かを表す。
ビットマップ型転置インデックス223は、例えば、出現頻度の高い単語の基本形、およびかかる単語の変化形ごとにビットマップを対応付ける。出現頻度の高い単語とは、出現頻度集計用のテキストファイル群において各単語の出現頻度を集計した場合に、出現頻度の高い単語を表す。
例えば、ビットマップ型転置インデックス223の有効行1行目は、基本コード「25h」に対応する単語の基本形「a」のビットマップが「…0110111101」となっている。ビットマップ型転置インデックス223の有効行1行目のビットマップは、単語の基本形「a」の基本コードが含まれるファイルを表す。ビットマップ「…0110111101」は、レジスタの0番に「1」が格納されているのでファイル1に単語の基本形「a」が含まれ、レジスタの1番に「0」が格納されているのでファイル2に単語の基本形「a」が含まれず、レジスタの2番に「1」が格納されているのでファイル3に単語の基本形「a」が含まれることを表す。また、ビットマップ「…0110111101」は、レジスタの3番に「1」が格納されているのでファイル4に単語の基本形「a」が含まれ、レジスタの4番に「1」が格納されているのでファイル5に単語の基本形「a」が含まれていることを表す。なお、ビットマップ「…0110111101」は、ファイル6以降の他の各ファイルに単語の基本形「a」が含まれるか否かについても表す。
次に、ビットマップ型転置インデックス223の更新について説明する。ファイルライト部214は、動的符号付与部213から受け付けた基本コードや動的符号がビットマップ型転置インデックス223に登録されているか否かを判定する。ファイルライト部214は、ビットマップ型転置インデックス223に、受け付けた基本コードや動的符号に対応するビットマップが登録されている場合、受け付けた基本コードや動的符号に対応するビットマップを参照する。ファイルライト部214は、参照したビットマップのうち、対象ファイルに対応するビットが「0」の場合、ビットを「1」に更新する。なお、ファイルライト部214は、対象ファイルに対応するビットが「1」の場合、ビットマップを更新しない。
一方、ファイルライト部214は、受け付けた基本コードや動的符号に対応するビットマップがビットマップ型転置インデックス223に登録されていない場合、ビットマップ型転置インデックス223に新しくビットマップを登録する。
具体的には、ファイルライト部214は、動的符号付与部213が対象ファイル中の単語の変化形を動的辞書222に登録した場合に、単語の変化形に付与された動的符号を取得する。かかる場合において、ファイルライト部214は、取得した動的符号に係るビットマップをビットマップ型転置インデックス223に登録する。このビットマップには、対象ファイルの数分のビット「0」が含まれる。さらに、ファイルライト部214は、登録したビットマップのビットのうち、対象ファイルに対応するビットを「1」に更新する。すなわち、ファイルライト部214は、対象ファイルにおいて初出である単語の変化形を動的辞書222に登録した際に、ビットマップ型転置インデックス223に登録された単語の変化形に対応するビットマップを登録する。このようにしてビットマップ型転置インデックス223を生成する。
(実施例2のインデックス生成処理の流れ)
次に、実施例2のインデックス生成処理の流れについて説明する。図10は、実施例2のインデックス生成処理の流れの例を示す図である。図10の例に示すように、情報処理装置200は、最初に、前処理をおこなう(ステップS30)。例えば、情報処理装置200は、前処理においてビットフィルタ221を保持する領域や、動的辞書222を作成する作業領域を確保する。次いで、ファイルリード部211は、対象文章データ10を読み出す(ステップS31)。次いで、判定部212は、読み出された対象文章データ10から抽出された符号化対象データが、単語の変化形であるか否かを判定する(ステップS32)。そして、抽出された符号化対象データが単語の変化形でない場合(ステップS32,No)、ステップS42の処理に移行する。
一方、抽出された符号化対象データが単語の変化形である場合(ステップS32,Yes)、判定部212は、抽出された単語の基本形および変化種別を判定する(ステップS33)。そして、動的符号付与部213は、対象文章データ10から抽出された単語の変化形に対応する動的符号がビットフィルタ221に登録されているか否かを判定する(ステップS34)。そして、動的符号付与部213は、ビットフィルタ221に動的符号が登録されている場合(ステップS34,Yes)、ステップS39の処理に移行する。
一方、動的符号付与部213は、ビットフィルタ221に動的符号が登録されていない場合(ステップS34,No)、ビットフィルタ221から抽出された単語の基本形に対応する基本コードを取得する(ステップS35)。次いで、動的符号付与部213は、ビットフィルタ221から取得した基本コードと、単語の変化形における変化種別と、動的辞書222に単語の変化形を登録する順に付与される動的符号とを対応付けて動的辞書222に登録する(ステップS36)。例えば、動的符号付与部213は、単語の変化形が動的辞書222に登録される順番に、単語の変化形(すなわち、単語の基本コードと変化種別との組み合わせ)に動的符号「A100h」「A101h」「A102h」「A103h」「A104h」「A105h」…を付与する。動的符号付与部213は、動的辞書222から登録された動的符号を取得する(ステップS37)。次いで、動的符号付与部213は、動的辞書222から取得された動的符号を、単語の基本形に対応づけてビットフィルタ221に登録する(ステップS38)。次いで、動的符号付与部213は、ビットフィルタ221から単語の変化形に対応する動的符号を取得する(ステップS39)。
次に、ファイルライト部214は、動的符号付与部213が取得した動的符号、およびかかる動的符号に対応付けられた基本コードを基にして、ビットマップ型転置インデックス223を更新する(ステップS40)。例えば、ファイルライト部214は、ビットマップ型転置インデックス223に動的符号に対応するビットマップが登録されている場合、ビットマップに含まれるビットのうち、対象ファイルに対応するビットを「1」に更新する。一方、ファイルライト部214は、ビットマップ型転置インデックス223に動的符号に対応するビットマップが登録されていない場合、ビットマップ型転置インデックス223に新しく動的符号に対応するビットマップを登録する。
そして、ファイルライト部214は、ビットフィルタ221から取得された動的符号を圧縮ファイル11に書き込む(ステップS41)。
次いで、ファイルリード部211は、ファイルの読み出し位置がファイルの終端であるか否かを判定する(ステップS42)。ファイルリード部211は、読み出し位置がファイルの終端である場合(ステップS42,Yes)、処理を終了させる。一方、ファイルリード部211は、読み出し位置がファイルの途中である場合(ステップS42,No)、ステップS31の処理に戻る。
以上のように実施例2の情報処理装置200は、ファイル圧縮を行う際にビットマップ型転置インデックス223を生成する。これにより、情報処理装置200は、複数の圧縮ファイルを基に単語の検索をおこなう際に、検索対象のうち、単語の基本形または変化形を有するファイルを特定でき、オープンする圧縮ファイルを絞り込むことができるので単語検索を高速化することができる。
(効果)
圧縮部210は、対象文章データ10に含まれる符号化対象データを符号化する際に、符号化対象データが単語の変化形であるか否かを判定し、符号化対象データが単語の変化形である場合、かかる符号化対象データと符号とを対応付けて動的辞書221に登録し、単語の基本形および変化形と、符号化対象データとを対応付けてインデックス(ビットマップ型転置インデックス223)に登録する。これにより、複数の圧縮ファイルを基に単語検索をおこなう際に、検索対象のうち単語の基本形または変化形を有するファイルを特定でき、オープンする圧縮ファイルを絞り込むことができるので単語検索を高速化することができる。
図11を用いて、実施例3の検索処理に係るシステム構成について説明する。図11は、実施例3の検索処理に係るシステム構成の例を示す図である。図11の例に示されるように、情報処理装置300は、圧縮部310と、記憶部320と、検索処理部330とを有する。圧縮部310は、ファイルリード部311、判定部312、動的符号付与部313およびファイルライト部314を有する。記憶部320は、ビットフィルタ321、動的辞書322およびビットマップ型転置インデックス323を記憶する。検索処理部330は、受付部331、検索キー判定部332および検索部333を有する。なお、ビットマップ型転置インデックス323はインデックスの一例である。また、実施例1、2と同じ構成に関しては、番号の下2桁を同一にして適宜説明を省略する。
検索処理部330は、ビットマップ型転置インデックス323が作成された際に、かかるビットマップ型転置インデックス323を参照して、複数の圧縮ファイルの中から検索キーに対応する単語を検索する。以下、実施例3の検索処理部330の構成について詳細に説明する。
実施例3の情報処理装置300は、検索処理部330を有する点で、実施例2の情報処理装置200と異なる。受付部331は、実施例2に記載の方法で符号化された対象文章データ10に対する検索要求を受け付ける。検索キー判定部332は、かかる検索要求に含まれる検索キーが、単語の変化形であるか否かを判定する。検索部333は、かかる検索キーが単語の変化形である場合に、ビットマップ型転置インデックス323を参照して検索要求に対応した検索を行う。
次に、実施例3に係る単語の検索処理の流れを説明する。図12は、圧縮ファイル選択の処理の流れの一例を示す図である。図12の例に示すように、例えば、検索キーが「act」であった場合、検索キー判定部332は、かかる検索キーが単語の変化形であるか否かを判定する。ここで、検索キー「act」は単語の変化形ではなく基本形であることから、検索部333は、ビットフィルタ321からかかる検索キーに対応する基本コード「6041h」を取得し、取得された基本コードのビットマップを抽出する。次いで、検索部333は、検索範囲内で抽出されたビットマップのAND演算を行い、選択結果マップ「…0110000111」を生成する。かかる生成された選択結果マップ「…0110000111」は、単語「act」を含む圧縮ファイルを示す。
ここで、図12の例に示すように、フォルダ51には、複数の圧縮ファイル52a、52b、52c…が含まれる。検索部333は、選択結果マップが「…0110000111」となっているので、フォルダ51に含まれるファイルのうち、1番目の圧縮ファイル52aと、2番目の圧縮ファイル52bと、3番目の圧縮ファイル52cとをオープンする。なお、検索部333は、他にも8番目、9番目のファイルをオープンする。検索部333によってオープンされた圧縮ファイル52aには、例えば検索キー「act」に属する単語「acted」が格納されている。
図13は、圧縮ファイル選択の処理の流れの別の例を示す図である。図13の例に示すように、例えば、検索キーが「acting」であった場合、検索キー判定部332は、かかる検索キーが単語の変化形であるか否かを判定する。ここで、検索キー「acting」は単語の変化形であることから、検索キー判定部332は、かかる検索キー「acting」の基本形「act」および変化種別「進行形」を判定する。つづいて、検索部333は、かかる検索キーに対応する基本コード「6041h」および動的符号「A104h」を取得し、取得された基本コードおよび動的符号のビットマップを抽出する。次いで、検索部333は、検索範囲内で抽出されたビットマップのAND演算を行い、選択結果マップ「…0000000010」を生成する。かかる生成された選択結果マップ「…0000000010」は、単語「acting」を含む圧縮ファイルを示す。
ここで、検索部333は、選択結果マップが「…0000000010」となっているので、フォルダ51に含まれるファイルのうち、2番目の圧縮ファイル52bをオープンする。検索部333によってオープンされた圧縮ファイル52bには、検索キー「acting」に属する単語「acting」が格納されている。
(実施例3の検索処理の流れ)
次に、実施例3の検索処理の流れについて説明する。図14は、実施例3の検索処理の流れの例を示す図である。図14の例に示すように、情報処理装置300は、前処理をおこなう(ステップS50)。例えば、情報処理装置300は、前処理として選択結果マップを生成するための作業領域を確保する。
次いで、受付部331は、検索要求を検索キーとして受け付ける(ステップS51)。そして、検索キー判定部332は、受け付けられた検索キーが単語の変化形であるか否かを判定する(ステップS52)。ここで、受け付けられた検索キーが単語の変化形でない場合(ステップS52,No)、検索キー判定部332は、かかる検索キーとして受け付けられた単語の基本形に対応する基本コードを取得する(ステップS53)。一方、受け付けられた検索キーが単語の変化形である場合(ステップS52,Yes)、検索キー判定部332は、かかる検索キーとして受け付けられた単語の変化形に対応する動的符号と、かかる単語の基本形に対応する基本コードとを取得する(ステップS54)。
次いで、検索部333は、取得された基本コードや動的符号に基づいて、検索範囲内に属するビットマップをビットマップ型転置インデックス323から抽出する(ステップS55)。つづいて、検索部333は、ビットマップ型転置インデックス323から抽出した複数のビットマップ間で検索クエリの複数の単語に対応したAND演算をおこなうことで選択結果マップを生成する(ステップS56)。そして、検索部333は、生成された選択結果マップに基づいてオープンする圧縮ファイルを選択し、選択された圧縮ファイルに関する検索結果を表示して(ステップS57)、処理を終了させる。
(効果)
情報処理装置300は、対象文章データ10を符号化した符号化文章データに対する検索要求を受け付け、かかる検索要求に含まれる検索キーが、単語の変化形であるか否かを判定し、検索キーが単語の変化形である場合、単語の基本形および変化形と、対象文章データ10に含まれる符号化対象データとを対応付けたインデックス(ビットマップ型転置インデックス323)を参照して検索要求に対応した検索を行う。これにより、単語の基本形および変化形といった類義語における検索の高速化を図ることができる。
(実施例1、2に関連する他の態様)
以下、上述の実施形態における変形例の一部を説明する。下記の変形例のみでなく、本発明の本旨を逸脱しない範囲の設計変更は適宜行われうる。
例えば、上述の実施例1〜3では、ビットフィルタ121、221、321に登録される単語の基本形として、かかる単語の現在形を用いた例について示したが、単語の基本形はかかる単語の現在形に限られず、単語の変化形のうちいずれか1種類を用いてもよい。しかしながら、単語の基本形にかかる単語の現在形を用いることにより、単語の各種変化形といった類義語を容易に検索することができる。
また、符号化処理の対象は、ファイル内のデータ以外にも、システムから出力される監視メッセージなどでもよい。例えば、バッファに順次格納される監視メッセージを上述の符号化処理により圧縮し、ログファイルとして格納するなどの処理が行なわれる。また、例えば、データベース内のページ単位に圧縮が行なわれてもよいし、複数のページをまとめた単位で圧縮が行なわれてもよい。
また、実施例1に示した処理手順、制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
(情報処理装置のハードウェア構成)
図15は、実施例1〜3の情報処理装置100、200、300のハードウェア構成を示す図である。図15の例に示すように、コンピュータ400は、各種演算処理を実行するCPU401と、ユーザからのデータ入力を受け付ける入力装置402と、モニタ403とを有する。また、コンピュータ400は、記憶媒体からプログラム等を読み取る媒体読取装置404と、他の装置と接続するためのインターフェース装置405と、他の装置と無線により接続するための無線通信装置406とを有する。また、コンピュータ400は、各種情報を一時記憶するRAM407と、ハードディスク装置408とを有する。また、各装置401〜408は、バス409に接続される。
ハードディスク装置408には、例えば図3に示したファイルリード部111、判定部112、動的符号付与部113およびファイルライト部114の各処理部と同様の機能を有する情報処理プログラムが記憶される。また、ハードディスク装置408には、情報処理プログラムを実現するための各種データが記憶される。
CPU401は、ハードディスク装置408に記憶された各プログラムを読み出して、RAM407に展開して実行することで各種の処理を行う。これらのプログラムは、コンピュータ400を、例えば図3に示したファイルリード部111、判定部112、動的符号付与部113およびファイルライト部114として機能させることができる。
なお、上記の情報処理プログラムは、必ずしもハードディスク装置408に記憶されている必要はない。例えば、コンピュータ400が読み取り可能な記憶媒体に記憶されたプログラムを、コンピュータ400が読み出して実行するようにしてもよい。コンピュータ400が読み取り可能な記憶媒体は、例えば、CD−ROMやDVDディスク、USB(Universal Serial Bus)メモリ等の可搬型記録媒体、フラッシュメモリ等の半導体メモリ、ハードディスクドライブ等が対応する。また、公衆回線、インターネット、LAN(Local Area Network)等に接続された装置にこのプログラムを記憶させておき、コンピュータ400がこれらからプログラムを読み出して実行するようにしてもよい。
図16は、コンピュータ400で動作するプログラムの構成例を示す図である。コンピュータ400において、図15に示すハードウェア群26(401〜409)の制御を行なうOS(オペレーティング・システム)27が動作する。OS27に従った手順でCPU401が動作して、ハードウェア群26の制御・管理が行なわれることにより、アプリケーションプログラム29やミドルウェア28に従った処理がハードウェア群26で実行される。さらに、コンピュータ400において、ミドルウェア28またはアプリケーションプログラム29が、RAM407に読み出されてCPU401により実行される。
CPU401により圧縮機能が呼び出された場合、ミドルウェア28またはアプリケーションプログラム29の少なくとも一部に基づく処理を行なうことで、(それらの処理をOS27に基づいてハードウェア群26を制御して)圧縮部110の機能が実現される。圧縮機能は、それぞれアプリケーションプログラム29自体に含まれてもよいし、アプリケーションプログラム29に従って呼び出されることで実行されるミドルウェア28の一部であってもよい。
アプリケーションプログラム29(またはミドルウェア28)の圧縮機能により得られる圧縮ファイル11は、部分的に伸張することも可能である。圧縮ファイル11の途中を伸張する場合には、伸張対象の部分までの圧縮データの伸張処理が抑制されるため、CPU401の負荷が抑制される。また、伸張対象の圧縮データを部分的にRAM407上に展開するので、ワークエリアも削減される。
図17は、実施形態のシステムにおける装置の構成例を示す図である。図17のシステムは、コンピュータ400a、コンピュータ400b、基地局30およびネットワーク40を含む。コンピュータ400aは、無線または有線の少なくとも一方により、コンピュータ400bと接続されたネットワーク40に接続している。
100 情報処理装置
110 圧縮部
111 ファイルリード部
113 動的符号付与部
120 記憶部
121 ビットフィルタ
122 動的辞書
223 ビットマップ型転置インデックス
330 検索処理部
331 受付部
332 検索キー判定部
333 検索部

Claims (9)

  1. コンピュータに、
    対象文章データに含まれる符号化対象データを符号化する際に、単語と前記単語を圧縮したときの符号である基本コードとを対応付けて記憶する静的辞書を参照し、前記符号化対象データが前記静的辞書に登録されている単語の変化形であるか否かを判定し、
    前記符号化対象データが前記単語の変化形である場合、前記符号化対象データを圧縮する符号である動的符号を前記符号化対象データに割り与え、前記符号化対象データと前記動的符号と前記符号化対象データに対応する前記基本コードとを対応付けて動的辞書に登録する、
    処理を実行させる符号化プログラム。
  2. コンピュータに、
    対象文章データに含まれる符号化対象データを符号化して圧縮ファイルを生成する際に、単語と前記単語を圧縮したときの符号である基本コードとを対応付けて記憶する静的辞書を参照し、前記符号化対象データが単語の変化形であるか否かを判定し、
    前記符号化対象データが前記静的辞書に登録されている前記単語の変化形である場合、前記符号化対象データを圧縮する符号である動的符号を前記符号化対象データに割り与え、前記符号化対象データと前記動的符号と前記符号化対象データに対応する前記基本コードとを対応付けて動的辞書に登録し、
    前記単語の基本形および前記単語の変化形ごとに、前記単語の基本形および前記単語の変化形が含まれる圧縮ファイルを特定する符号ビット列を記憶するビットマップ型転置インデックスに、符号と出現位置を対応付けた、ビット列を登録する、
    処理を実行させるインデックス生成プログラム。
  3. コンピュータに、
    対象文章データを符号化した符号化文章データに対する検索要求を受け付け、
    単語と前記単語を圧縮したときの符号である基本コードとを対応付けて記憶する静的辞書を参照し、前記検索要求に含まれる検索キーが、単語の変化形であるか否かを判定し、
    前記検索キーが前記単語の変化形である場合、前記単語の基本形および前記単語の変化形ごとに、前記単語の基本形および前記単語の変化形が含まれる圧縮ファイルを特定する符号ビット列を記憶するビットマップ型転置インデックスの符号と出現位置との対応付けを参照して前記検索キーを含む圧縮ファイルの検索を行う、
    処理を実行させる検索プログラム。
  4. 対象文章データに含まれる符号化対象データを符号化する際に、単語と前記単語を圧縮したときの符号である基本コードとを対応付けて記憶する静的辞書を参照し、前記符号化対象データが前記静的辞書に登録されている単語の変化形であるか否かを判定する判定部と、
    前記符号化対象データが前記単語の変化形である場合、前記符号化対象データを圧縮する符号である動的符号を前記符号化対象データに割り与え、前記符号化対象データと前記動的符号と前記符号化対象データに対応する前記基本コードとを対応付けて動的辞書に登録する登録部と、
    を有する符号化装置。
  5. 対象文章データに含まれる符号化対象データを符号化して圧縮ファイルを生成する際に、単語と前記単語を圧縮したときの符号である基本コードとを対応付けて記憶する静的辞書を参照し、前記符号化対象データが単語の変化形であるか否かを判定する判定部と、
    前記符号化対象データが前記静的辞書に登録されている前記単語の変化形である場合、前記符号化対象データを圧縮する符号である動的符号を前記符号化対象データに割り与え、前記符号化対象データと前記動的符号と前記符号化対象データに対応する前記基本コードとを対応付けて動的辞書に登録する登録部と、
    前記単語の基本形および前記単語の変化形ごとに、前記単語の基本形および前記単語の変化形が含まれる圧縮ファイルを特定する符号ビット列を記憶するビットマップ型転置インデックスに、符号と出現位置を対応付けた、ビット列を登録するインデックス登録部と、
    を有するインデックス生成装置。
  6. 対象文章データを符号化した符号化文章データに対する検索要求を受け付ける受付部と、
    単語と前記単語を圧縮したときの符号である基本コードとを対応付けて記憶する静的辞書を参照し、前記検索要求に含まれる検索キーが、単語の変化形であるか否かを判定する検索キー判定部と、
    前記検索キーが前記単語の変化形である場合、前記単語の基本形および前記単語の変化形ごとに、前記単語の基本形および前記単語の変化形が含まれる圧縮ファイルを特定する符号ビット列を記憶するビットマップ型転置インデックスの符号と出現位置との対応付けを参照して前記検索キーを含む圧縮ファイルの検索を行う検索部と、
    を有する検索装置。
  7. コンピュータが、
    対象文章データに含まれる符号化対象データを符号化する際に、単語と前記単語を圧縮したときの符号である基本コードとを対応付けて記憶する静的辞書を参照し、前記符号化対象データが前記静的辞書に登録されている単語の変化形であるか否かを判定し、
    前記符号化対象データが前記単語の変化形である場合、前記符号化対象データを圧縮する符号である動的符号を前記符号化対象データに割り与え、前記符号化対象データと前記動的符号と前記符号化対象データに対応する前記基本コードとを対応付けて動的辞書に登録する、
    処理を実行する符号化方法。
  8. コンピュータが、
    対象文章データに含まれる符号化対象データを符号化して圧縮ファイルを生成する際に、単語と前記単語を圧縮したときの符号である基本コードとを対応付けて記憶する静的辞書を参照し、前記符号化対象データが単語の変化形であるか否かを判定し、
    前記符号化対象データが前記静的辞書に登録されている前記単語の変化形である場合、前記符号化対象データを圧縮する符号である動的符号を前記符号化対象データに割り与え、前記符号化対象データと前記動的符号と前記符号化対象データに対応する前記基本コードとを対応付けて動的辞書に登録し、
    前記単語の基本形および前記単語の変化形ごとに、前記単語の基本形および前記単語の変化形が含まれる圧縮ファイルを特定する符号ビット列を記憶するビットマップ型転置インデックスに、符号と出現位置を対応付けた、ビット列を登録する、
    処理を実行するインデックス生成方法。
  9. コンピュータが、
    対象文章データを符号化した符号化文章データに対する検索要求を受け付け、
    単語と前記単語を圧縮したときの符号である基本コードとを対応付けて記憶する静的辞書を参照し、前記検索要求に含まれる検索キーが、単語の変化形であるか否かを判定し、
    前記検索キーが前記単語の変化形である場合、前記単語の基本形および前記単語の変化形ごとに、前記単語の基本形および前記単語の変化形が含まれる圧縮ファイルを特定する符号ビット列を記憶するビットマップ型転置インデックスの符号と出現位置との対応付けを参照して前記検索キーを含む圧縮ファイルの検索を行う、
    処理を実行する検索方法。
JP2017097668A 2017-05-16 2017-05-16 符号化プログラム、インデックス生成プログラム、検索プログラム、符号化装置、インデックス生成装置、検索装置、符号化方法、インデックス生成方法および検索方法 Active JP6931442B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2017097668A JP6931442B2 (ja) 2017-05-16 2017-05-16 符号化プログラム、インデックス生成プログラム、検索プログラム、符号化装置、インデックス生成装置、検索装置、符号化方法、インデックス生成方法および検索方法
EP18172311.5A EP3404560A1 (en) 2017-05-16 2018-05-15 Search program, search device, and search method
US15/980,231 US11373040B2 (en) 2017-05-16 2018-05-15 Computer-readable recording medium, encoding device, index generating device, search device, encoding method, index generating method, and search method
US17/748,059 US20220277139A1 (en) 2017-05-16 2022-05-19 Computer-readable recording medium, encoding device, index generating device, search device, encoding method, index generating method, and search method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017097668A JP6931442B2 (ja) 2017-05-16 2017-05-16 符号化プログラム、インデックス生成プログラム、検索プログラム、符号化装置、インデックス生成装置、検索装置、符号化方法、インデックス生成方法および検索方法

Publications (2)

Publication Number Publication Date
JP2018195028A JP2018195028A (ja) 2018-12-06
JP6931442B2 true JP6931442B2 (ja) 2021-09-08

Family

ID=62385989

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017097668A Active JP6931442B2 (ja) 2017-05-16 2017-05-16 符号化プログラム、インデックス生成プログラム、検索プログラム、符号化装置、インデックス生成装置、検索装置、符号化方法、インデックス生成方法および検索方法

Country Status (3)

Country Link
US (2) US11373040B2 (ja)
EP (1) EP3404560A1 (ja)
JP (1) JP6931442B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10897270B2 (en) * 2018-06-06 2021-01-19 Yingquan Wu Dynamic dictionary-based data symbol encoding
EP4009217A4 (en) 2019-08-01 2022-08-17 Fujitsu Limited CONTROL METHOD, CONTROL PROGRAM AND INFORMATION PROCESSING DEVICE

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE69032712T2 (de) 1989-06-14 1999-07-01 Hitachi Ltd Hierarchischer vorsuch-typ dokument suchverfahren, vorrichtung dazu, sowie eine magnetische plattenanordnung für diese vorrichtung
US5469354A (en) 1989-06-14 1995-11-21 Hitachi, Ltd. Document data processing method and apparatus for document retrieval
US5220625A (en) 1989-06-14 1993-06-15 Hitachi, Ltd. Information search terminal and system
US5471610A (en) 1989-06-14 1995-11-28 Hitachi, Ltd. Method for character string collation with filtering function and apparatus
JP3263963B2 (ja) 1991-12-25 2002-03-11 株式会社日立製作所 文書検索方法及び装置
US5454105A (en) 1989-06-14 1995-09-26 Hitachi, Ltd. Document information search method and system
US5748953A (en) 1989-06-14 1998-05-05 Hitachi, Ltd. Document search method wherein stored documents and search queries comprise segmented text data of spaced, nonconsecutive text elements and words segmented by predetermined symbols
US5138669A (en) 1990-06-29 1992-08-11 Hitachi, Ltd. Range-conditional character string retrieving method and system
US5140644A (en) 1990-07-23 1992-08-18 Hitachi, Ltd. Character string retrieving system and method
US5757983A (en) 1990-08-09 1998-05-26 Hitachi, Ltd. Document retrieval method and system
US5625554A (en) * 1992-07-20 1997-04-29 Xerox Corporation Finite-state transduction of related word forms for text indexing and retrieval
CA2125337A1 (en) * 1993-06-30 1994-12-31 Marlin Jay Eller Method and system for searching compressed data
JP2003281171A (ja) 2002-03-19 2003-10-03 Ricoh Co Ltd 文書検索装置
WO2008047432A1 (fr) 2006-10-19 2008-04-24 Fujitsu Limited Programme de recherche d'informations, supports d'enregistrement comprenant un tel programme enregistré, procédé de recherche d'informations, dispositif de recherche d'informations
JP5895545B2 (ja) 2012-01-17 2016-03-30 富士通株式会社 プログラム、圧縮ファイル生成方法、圧縮符号伸張方法、情報処理装置、および記録媒体
KR20150119403A (ko) 2013-03-22 2015-10-23 후지쯔 가부시끼가이샤 압축 장치, 압축 방법, 사전 생성 장치, 사전 생성 방법, 신장 장치, 신장 방법, 신장 프로그램 및 정보 처리 시스템
JP6543922B2 (ja) * 2014-12-10 2019-07-17 富士通株式会社 インデックス生成プログラム
WO2017009958A1 (ja) * 2015-07-14 2017-01-19 富士通株式会社 圧縮プログラム、圧縮方法および圧縮装置

Also Published As

Publication number Publication date
US11373040B2 (en) 2022-06-28
EP3404560A1 (en) 2018-11-21
US20220277139A1 (en) 2022-09-01
JP2018195028A (ja) 2018-12-06
US20180336178A1 (en) 2018-11-22

Similar Documents

Publication Publication Date Title
CN107305586B (zh) 索引生成方法、索引生成装置及搜索方法
US20160006456A1 (en) Compression device, compression method, dictionary generation device, dictionary generation method, decompression device, decompression method, information processing system, and recording medium
US20160321282A1 (en) Extracting method, information processing method, computer product, extracting apparatus, and information processing apparatus
US9496891B2 (en) Compression device, compression method, decompression device, decompression method, and computer-readable recording medium
US9509333B2 (en) Compression device, compression method, decompression device, decompression method, information processing system, and recording medium
JP5812188B2 (ja) プログラム、圧縮データ生成方法、伸張方法、情報処理装置、および記録媒体
US9793920B1 (en) Computer-readable recording medium, encoding device, and encoding method
JP6543922B2 (ja) インデックス生成プログラム
US20220277139A1 (en) Computer-readable recording medium, encoding device, index generating device, search device, encoding method, index generating method, and search method
JP2017073615A (ja) 符号化プログラム、符号化方法、符号化装置、復号化プログラム、復号化方法および復号化装置
JP6662169B2 (ja) 符号化プログラム、符号化方法、符号化装置、検索プログラム、検索方法および検索装置
US9397696B2 (en) Compression method, compression device, and computer-readable recording medium
JP6507682B2 (ja) 符号化プログラム、符号化方法および符号化装置
US11055328B2 (en) Non-transitory computer readable medium, encode device, and encode method
US9479195B2 (en) Non-transitory computer-readable recording medium, compression method, decompression method, compression device, and decompression device
JP6645013B2 (ja) 符号化プログラム、符号化方法、符号化装置および伸長方法
KR20160113167A (ko) 최적화된 데이터 콘덴서 및 방법
US9219497B2 (en) Compression device, compression method, and recording medium
JP7003443B2 (ja) 符号化プログラム、符号化装置および符号化方法
US11323132B2 (en) Encoding method and encoding apparatus
US10318483B2 (en) Control method and control device
JP6512294B2 (ja) 圧縮プログラム、圧縮方法および圧縮装置
JP2016134754A (ja) 変換処理プログラム、情報処理装置および変換処理方法
JP2018060425A (ja) インデックス生成プログラム、インデックス生成装置、インデックス生成方法、検索プログラム、検索装置および検索方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200213

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201221

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210105

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210305

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210705

R150 Certificate of patent or registration of utility model

Ref document number: 6931442

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150