JP6536243B2 - 符号化プログラム、符号化装置、符号化方法、照合プログラム、照合装置および照合方法 - Google Patents
符号化プログラム、符号化装置、符号化方法、照合プログラム、照合装置および照合方法 Download PDFInfo
- Publication number
- JP6536243B2 JP6536243B2 JP2015142498A JP2015142498A JP6536243B2 JP 6536243 B2 JP6536243 B2 JP 6536243B2 JP 2015142498 A JP2015142498 A JP 2015142498A JP 2015142498 A JP2015142498 A JP 2015142498A JP 6536243 B2 JP6536243 B2 JP 6536243B2
- Authority
- JP
- Japan
- Prior art keywords
- word
- registered
- pointer
- dictionary
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion 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/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3084—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/31—Indexing; Data structures therefor; Storage structures
- G06F16/316—Indexing structures
- G06F16/325—Hash tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/126—Character encoding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/237—Lexical tools
- G06F40/242—Dictionaries
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion 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/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3084—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
- H03M7/3086—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method employing a sliding window, e.g. LZ77
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Description
図2A〜図2Cは、実施例に係る符号化装置の符号化処理の流れの一例を示す図である。
図3は、実施例に係る動的辞書の一例を示す図である。図3に示される動的辞書122は、ポインタ部122aとバッファ部122bとを含む。バッファ部122bは、単語の文字列を記憶する。ポインタ部122aは、動的コードと、種別と、ポインタとを対応付けて保持する。動的コードは、あらかじめ定められた固定長のコード(符号)であり、単語がバッファ部122bに登録された順に割り当てられるコードである。種別は、登録された単語の種類を区別するために用いられるものである。種別には、例えば、低頻度単語である場合には「1」が設定され、未知語である場合には「2」が設定され、数値である場合には「3」が設定され、時刻である場合には「4」が設定され、タグである場合には「5」が設定される。ポインタは、バッファ部122bに格納された単語の先頭を指す。なお、ポインタは、格納位置およびデータ長であっても良い。格納位置は、バッファ部122bに格納された単語の先頭からの開始位置を示し、データ長は、格納された単語の文字列の長さ(バイト長)を示す。
図4は、実施例に係る符号化装置の構成を示す機能ブロック図である。図4に示すように、符号化装置100は、符号化部110および記憶部120を有する。
図6Aおよび図6Bは、実施例に係る符号化処理のフローチャートの一例を示す図である。
図7に示すように、符号化装置100は、重複テーブル123へのポインタが示す管理領域に未使用の位置があるか否かを判定する(ステップS41)。
上記実施例によれば、符号化装置100は、入力された文字データのうち、静的辞書124に含まれない文字列を、動的辞書122に順次登録する。符号化装置100は、動的辞書122に登録された文字列をハッシュ化したハッシュ化データを、静的辞書124の各登録項目の単語を2次元ハッシュ化した第1のハッシュ化データに追加する。符号化装置100は、入力された文字列の、静的辞書124、または、動的辞書122への登録有無を、第1のハッシュ化データを用いて判定する。符号化装置100は、判定結果に応じて、静的辞書124、または、動的辞書122の登録内容に基づき、符号化を行う。かかる構成によれば、符号化装置100は、1パスで符号化する場合であっても、動的辞書122を順次走査することなく、且つ、高速に、符号化対象の文字データを符号化できる。
以下、上述の実施形態における変形例の一部を説明する。下記の変形例のみでなく、本発明の本旨を逸脱しない範囲の設計変更は適宜行われうる。
まず、符号化ファイルの構成例を、図8を参照して説明する。図8は、符号化ファイルの構成例を示す図である。図8に示すように、符号化ファイルは、ヘッダ部と、複数の単語コードで表わされる符号化データと、トレーラ部とを有する。トレーラ部は、動的辞書122の情報を記憶する。動的辞書122の情報は、図3に示した動的辞書の情報に対応する。ヘッダ部には、トレーラ部に格納された動的辞書122の情報へのポインタおよび超高頻度の単語の頻度表が格納される。後述する照合装置は、後述する照合処理において、ヘッダ部の動的辞書122へのポインタを利用し、動的辞書122を参照する。
図9は、実施例に係る照合装置の照合処理の流れの一例を示す図である。図9に示すように、照合装置は、照合する単語を受け付けると、符号化ファイルを照合用の記憶領域に読み出す。動的辞書122は、符号化ファイルのトレーラ部から読み出される。そして、照合装置は、動的辞書122を基に、2次元マトリックス121および重複テーブル123を生成する。
図10は、実施例に係る照合装置の構成を示す機能ブロック図である。図10に示すように、照合装置200は、照合部210および記憶部220を有する。なお、記憶部220は、図4に示した記憶部120と同一の構成であるので、その重複する構成および内容の説明については省略する。
図11は、実施例に係る照合処理のフローチャートの一例を示す図である。
実施例の符号化装置100および照合装置200を含む情報処理装置のハードウェア構成を、図12を参照して説明する。図12は、実施例の情報処理装置のハードウェア構成を示す図である。図12の例が示すように、コンピュータ400は、各種演算処理を実行するCPU401と、ユーザからのデータ入力を受け付ける入力装置402と、モニタ403とを有する。また、コンピュータ400は、記憶媒体からプログラム等を読み取る媒体読取装置404と、他の装置と接続するためのインターフェース装置405と、他の装置と無線により接続するための無線通信装置406とを有する。また、コンピュータ400は、各種情報を一時記憶するRAM407と、ハードディスク装置408とを有する。また、各装置401〜408は、バス409に接続される。
入力された文字データのうち、静的辞書に含まれない文字列を、動的辞書に順次登録し、
前記動的辞書に登録された文字列をそれぞれハッシュ化したハッシュ化データを、前記静的辞書の各登録項目の単語をN次元ハッシュ化した第1のハッシュ化データに追加し、
入力された文字列の、前記静的辞書、または、前記動的辞書への登録有無を、前記第1のハッシュ化データを用いて判定し、
前記判定の結果に応じて、前記静的辞書、または、前記動的辞書の登録内容に基づき、符号化を行う
処理を行わせる符号化プログラム。
ことを特徴とする付記1に記載の符号化プログラム。
ことを特徴とする付記2に記載の符号化プログラム。
ことを特徴とする付記1から付記3のいずれか1つに記載の符号化プログラム。
ことを特徴とする付記2または付記3に記載の符号化プログラム。
前記動的辞書に登録された文字列をそれぞれハッシュ化したハッシュ化データを、前記静的辞書の各登録項目の単語をN次元ハッシュ化した第1のハッシュ化データに追加する追加部と、
入力された文字列の、前記静的辞書、または、前記動的辞書への登録有無を、前記第1のハッシュ化データを用いて判定する判定部と、
前記判定の結果に応じて、前記静的辞書、または、前記動的辞書の登録内容に基づき、符号化を行う符号化部と、
を有することを特徴とする符号化装置。
入力された文字データのうち、静的辞書に含まれない文字列を、動的辞書に順次登録し、
前記動的辞書に登録された文字列をそれぞれハッシュ化したハッシュ化データを、前記静的辞書の各登録項目の単語をN次元ハッシュ化した第1のハッシュ化データに追加し、
入力された文字列の、前記静的辞書、または、前記動的辞書への登録有無を、前記第1のハッシュ化データを用いて判定し、
前記判定の結果に応じて、前記静的辞書、または、前記動的辞書の登録内容に基づき、符号化を行う
各処理を行うことを特徴とする符号化方法。
入力された単語をハッシュ化したハッシュ化データを算出し、
前記算出したハッシュ化データを照合キーとして、前記静的辞書および前記静的辞書に含まれない文字列を登録した動的辞書の各登録項目の単語をN次元ハッシュ化した第1のハッシュ化データを用いて、前記入力された単語の、前記静的辞書、または前記動的辞書への登録有無を判定する
処理を行わせることを特徴とする照合プログラム。
前記算出部によって算出されたハッシュ化データを照合キーとして、静的辞書および前記静的辞書に含まれない文字列を登録した動的辞書の各登録項目の単語をN次元ハッシュ化した第1のハッシュ化データを用いて、前記入力された単語の、前記静的辞書、または前記動的辞書への登録有無を判定する判定部と、
を有することを特徴とする照合装置。
入力された単語をハッシュ化したハッシュ化データを算出し、
前記算出したハッシュ化データを照合キーとして、静的辞書および前記静的辞書に含まれない文字列を登録した動的辞書の各登録項目の単語をN次元ハッシュ化した第1のハッシュ化データを用いて、前記入力された単語の、前記静的辞書、または前記動的辞書への登録有無を判定する
各処理を行うことを特徴とする照合方法。
110 符号化部
111 ファイルリード部
112 単語判定部
113 2次元ハッシュ化部
114 識別フラグ判定部
115 第1符号化部
116 第2符号化部
117 ファイルライト部
120 記憶部
121 2次元マトリックス
122 動的辞書
123 重複テーブル
124 静的辞書
200 照合装置
Claims (11)
- コンピュータに、
入力された文字データのうち、静的辞書に含まれない文字列を、動的辞書に順次登録し、
前記動的辞書に登録された文字列それぞれについて、N個の異なる素数でハッシュ化したそれぞれのハッシュ化データにより特定されるN次元マトリックスデータ内の位置に前記動的辞書に登録した前記文字列へのポインタを追加し、
入力された文字列の、前記動的辞書への登録有無を、前記N次元マトリックスデータを用いて判定し、
前記判定の結果に応じて、前記動的辞書の登録内容に基づき、符号化を行う
処理を行わせる符号化プログラム。 - 前記追加する処理は、前記N個の異なる素数でハッシュ化したそれぞれのハッシュ化データにより特定される前記N次元マトリックスデータ内の位置が衝突する場合に、前記位置を衝突フラグおよび重複テーブルへのポインタに更新するとともに、前記文字列へのポインタを、前記重複テーブルに登録する
ことを特徴とする請求項1に記載の符号化プログラム。 - 前記重複テーブルが満杯となった場合に、前記重複テーブルを容量の大きな重複テーブルに移し替える
ことを特徴とする請求項2に記載の符号化プログラム。 - 前記Nは2以上である
ことを特徴とする請求項1から請求項3のいずれか1つに記載の符号化プログラム。 - 前記追加する処理は、前記N個の異なる素数でハッシュ化したそれぞれのハッシュ化データにより特定されるN次元マトリックスデータ内のポインタに前記動的辞書に登録した前記文字列を対応付ける
ことを特徴とする請求項1に記載の符号化プログラム。 - 前記追加する処理は、前記N個の異なる素数でハッシュ化したそれぞれのハッシュ化データにより特定される前記N次元マトリックスデータ内のポインタが衝突する場合に、未使用な重複テーブルに対応付け、衝突フラグおよび前記ポインタに更新するとともに、前記文字列に対応付けたポインタを、前記重複テーブルに登録する
ことを特徴とする請求項5に記載の符号化プログラム。 - 入力された文字データのうち、静的辞書に含まれない文字列を、動的辞書に順次登録する登録部と、
前記動的辞書に登録された文字列それぞれについて、N個の異なる素数でハッシュ化したそれぞれのハッシュ化データにより特定されるN次元マトリックスデータ内の位置に前記動的辞書に登録した前記文字列へのポインタを追加する追加部と、
入力された文字列の、前記動的辞書への登録有無を、前記N次元マトリックスデータを用いて判定する判定部と、
前記判定部によって判定された結果に応じて、前記静的辞書、または、前記動的辞書の登録内容に基づき、符号化を行う符号化部と、
を有することを特徴とする符号化装置。 - コンピュータが、
入力された文字データのうち、静的辞書に含まれない文字列を、動的辞書に順次登録し、
前記動的辞書に登録された文字列それぞれについて、N個の異なる素数でハッシュ化したそれぞれのハッシュ化データにより特定されるN次元マトリックスデータ内の位置に前記動的辞書に登録した前記文字列へのポインタを追加し、
入力された文字列の、前記動的辞書への登録有無を、前記N次元マトリックスデータを用いて判定し、
前記判定の結果に応じて、前記動的辞書の登録内容に基づき、符号化を行う
各処理を行うことを特徴とする符号化方法。 - コンピュータに、
入力された単語をN個の異なる素数でハッシュ化したそれぞれのハッシュ化データを算出し、
前記算出したそれぞれのハッシュ化データを照合キーとして、静的辞書に含まれない文字列を登録した動的辞書の前記文字列へのポインタを追加したN次元マトリックスデータを用いて、前記入力された単語の、前記動的辞書への登録有無を判定する
処理を行わせることを特徴とする照合プログラム。 - 入力された単語をN個の異なる素数でハッシュ化したそれぞれのハッシュ化データを算出する算出部と、
前記算出部によって算出されたそれぞれのハッシュ化データを照合キーとして、静的辞書に含まれない文字列を登録した動的辞書の前記文字列へのポインタを追加したN次元マトリックスデータを用いて、前記入力された単語の、前記動的辞書への登録有無を判定する判定部と、
を有することを特徴とする照合装置。 - コンピュータが、
入力された単語をN個の異なる素数でハッシュ化したそれぞれのハッシュ化データを算出し、
前記算出したそれぞれのハッシュ化データを照合キーとして、静的辞書に含まれない文字列を登録した動的辞書の前記文字列へのポインタを追加したN次元マトリックスデータを用いて、前記入力された単語の、前記動的辞書への登録有無を判定する
各処理を行うことを特徴とする照合方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015142498A JP6536243B2 (ja) | 2015-07-16 | 2015-07-16 | 符号化プログラム、符号化装置、符号化方法、照合プログラム、照合装置および照合方法 |
US15/209,978 US9628110B2 (en) | 2015-07-16 | 2016-07-14 | Computer-readable recording medium, encoding apparatus, encoding method, comparison apparatus, and comparison method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2015142498A JP6536243B2 (ja) | 2015-07-16 | 2015-07-16 | 符号化プログラム、符号化装置、符号化方法、照合プログラム、照合装置および照合方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017028374A JP2017028374A (ja) | 2017-02-02 |
JP6536243B2 true JP6536243B2 (ja) | 2019-07-03 |
Family
ID=57776232
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015142498A Active JP6536243B2 (ja) | 2015-07-16 | 2015-07-16 | 符号化プログラム、符号化装置、符号化方法、照合プログラム、照合装置および照合方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US9628110B2 (ja) |
JP (1) | JP6536243B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6686639B2 (ja) * | 2016-03-31 | 2020-04-22 | 富士通株式会社 | 符号化プログラム、符号化装置、符号化方法、復号化プログラム、復号化装置および復号化方法 |
JP6841322B2 (ja) * | 2017-04-06 | 2021-03-10 | 富士通株式会社 | インデックス生成プログラム、インデックス生成装置、インデックス生成方法、検索プログラム、検索装置および検索方法 |
JP7003443B2 (ja) * | 2017-05-16 | 2022-01-20 | 富士通株式会社 | 符号化プログラム、符号化装置および符号化方法 |
US10897270B2 (en) * | 2018-06-06 | 2021-01-19 | Yingquan Wu | Dynamic dictionary-based data symbol encoding |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3220865B2 (ja) | 1991-02-28 | 2001-10-22 | 株式会社日立製作所 | フルテキストサーチ方法 |
US5138669A (en) | 1990-06-29 | 1992-08-11 | Hitachi, Ltd. | Range-conditional character string retrieving method and system |
JP3038233B2 (ja) | 1990-09-14 | 2000-05-08 | 富士通株式会社 | データ圧縮及び復元装置 |
JPH05252049A (ja) | 1992-03-05 | 1993-09-28 | Fujitsu Ltd | データ圧縮処理方式及びデータ復元処理方式 |
JP3277792B2 (ja) * | 1996-01-31 | 2002-04-22 | 株式会社日立製作所 | データ圧縮方法および装置 |
US5951623A (en) * | 1996-08-06 | 1999-09-14 | Reynar; Jeffrey C. | Lempel- Ziv data compression technique utilizing a dictionary pre-filled with frequent letter combinations, words and/or phrases |
US5850565A (en) * | 1996-08-26 | 1998-12-15 | Novell, Inc. | Data compression method and apparatus |
JPH10261969A (ja) * | 1997-03-19 | 1998-09-29 | Hitachi Ltd | データ圧縮方法および装置 |
JP2000209216A (ja) * | 1999-01-12 | 2000-07-28 | Shimada Phys & Chem Ind Co Ltd | アドレス管理方法及び装置、記録媒体 |
US7982636B2 (en) * | 2009-08-20 | 2011-07-19 | International Business Machines Corporation | Data compression using a nested hierachy of fixed phrase length static and dynamic dictionaries |
US8200641B2 (en) * | 2009-09-11 | 2012-06-12 | Dell Products L.P. | Dictionary for data deduplication |
KR101956031B1 (ko) * | 2012-10-15 | 2019-03-11 | 삼성전자 주식회사 | 데이터 압축 장치 및 방법, 데이터 압축 장치를 포함하는 메모리 시스템 |
US8872677B2 (en) * | 2013-03-15 | 2014-10-28 | Dialogic Networks (Israel) Ltd. | Method and apparatus for compressing data-carrying signals |
-
2015
- 2015-07-16 JP JP2015142498A patent/JP6536243B2/ja active Active
-
2016
- 2016-07-14 US US15/209,978 patent/US9628110B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20170019126A1 (en) | 2017-01-19 |
JP2017028374A (ja) | 2017-02-02 |
US9628110B2 (en) | 2017-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6596102B2 (ja) | コンテンツ連想シーブに存在している基本データエレメントからデータを導出することによるデータの無損失削減 | |
CN107305586B (zh) | 索引生成方法、索引生成装置及搜索方法 | |
KR101772312B1 (ko) | 기억 매체, 압축 방법, 신장 방법, 압축 장치 및 신장 장치 | |
JP6536243B2 (ja) | 符号化プログラム、符号化装置、符号化方法、照合プログラム、照合装置および照合方法 | |
JP6648620B2 (ja) | 符号化プログラム、符号化装置および符号化方法 | |
JP6641857B2 (ja) | 符号化プログラム、符号化方法、符号化装置、復号化プログラム、復号化方法および復号化装置 | |
US9973206B2 (en) | Computer-readable recording medium, encoding device, encoding method, decoding device, and decoding method | |
JP6540308B2 (ja) | 符号化プログラム、符号化方法、符号化装置、復号化プログラム、復号化方法および復号化装置 | |
CN105808513A (zh) | 转换装置和转换方法 | |
US20150160876A1 (en) | Character data storing method and character data stornig device | |
US9577666B2 (en) | Method and system | |
EP3306823B1 (en) | Encoding program, encoding apparatus and encoding method | |
US20160226516A1 (en) | Non-transitory computer-readable recording medium, compression method, decompression method, compression device, and decompression device | |
JP2019502154A (ja) | 音声データおよびブロック処理ストレージシステム上に記憶されたデータの削減 | |
JP2017021661A (ja) | 照合プログラム、照合方法および照合装置 | |
US11055328B2 (en) | Non-transitory computer readable medium, encode device, and encode method | |
US8463759B2 (en) | Method and system for compressing data | |
JP6931442B2 (ja) | 符号化プログラム、インデックス生成プログラム、検索プログラム、符号化装置、インデックス生成装置、検索装置、符号化方法、インデックス生成方法および検索方法 | |
JP7210130B2 (ja) | 符号化プログラム、符号化方法および符号化装置 | |
JP2019121861A (ja) | 符号化プログラム、動的辞書の生成プログラム、符号化方法、動的辞書の生成方法、符号化装置および復号化装置 | |
JP6512294B2 (ja) | 圧縮プログラム、圧縮方法および圧縮装置 | |
WO2014097356A1 (ja) | 圧縮プログラム、圧縮方法、圧縮装置、伸張プログラム、伸張方法および伸張装置 | |
JP2017195628A (ja) | 符号化プログラム、符号化方法、符号化装置、復号化プログラム、復号化方法及び復号化装置 | |
US20190220502A1 (en) | Validation device, validation method, and computer-readable recording medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180413 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190305 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190416 |
|
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: 20190507 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190520 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6536243 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |