JP6648431B2 - 照合プログラム、照合方法および照合装置 - Google Patents

照合プログラム、照合方法および照合装置 Download PDF

Info

Publication number
JP6648431B2
JP6648431B2 JP2015139997A JP2015139997A JP6648431B2 JP 6648431 B2 JP6648431 B2 JP 6648431B2 JP 2015139997 A JP2015139997 A JP 2015139997A JP 2015139997 A JP2015139997 A JP 2015139997A JP 6648431 B2 JP6648431 B2 JP 6648431B2
Authority
JP
Japan
Prior art keywords
collation
data
encoded
encoding format
byte
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
JP2015139997A
Other languages
English (en)
Other versions
JP2017021661A (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 JP2015139997A priority Critical patent/JP6648431B2/ja
Priority to US15/187,995 priority patent/US10664491B2/en
Priority to EP16175430.4A priority patent/EP3118755A1/en
Priority to CN201610546697.1A priority patent/CN106354746B/zh
Publication of JP2017021661A publication Critical patent/JP2017021661A/ja
Application granted granted Critical
Publication of JP6648431B2 publication Critical patent/JP6648431B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database
    • 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
    • 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
    • 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/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/90335Query processing
    • G06F16/90344Query processing by using string matching techniques
    • 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

Landscapes

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

Description

本発明は、照合プログラム等に関する。
従来、テキストデータからある文字列を検索する場合には、テキストデータと文字列とを比較して、文字列と一致する文字列がテキストデータに含まれているか否かを判定する。ここで、例えば、テキストデータが圧縮データである場合には、テキストデータと文字列とが非対応であるため、圧縮データを展開した後に、文字列との比較を行う。
また、圧縮率を向上するために、テキストデータと文字列とがあるコード体系上でコード化されている場合がある。テキストデータと文字列とが同一のコード体系上でコード化されている場合には、直接テキストデータと文字列とを比較することができる。
特開平7−287716号公報 特開平11−143877号公報
しかしながら、上述した従来技術において、特定の文字や単語を別のコード体系に割り当てると圧縮率を向上させることができるが、コード体系上で照合する処理を高速化することができないという問題がある。
一般に、テキストデータをコード化する際に用いられる文字コード体系は、冗長な構成となっている場合があり、文字や単語を所定の文字コード体系で定義されるコードとは別のコードに割り当てることが考えられる。例えば、100万語の単語を3バイトコードに割り当てることができる。さらに、圧縮率を向上させるために、高頻度で出現する一部の単語や文字については、3バイトコードではなく、1バイトコードや2バイトコードに変換することが考えられる。
ここで、上記のように高頻度で出現する一部の単語や文字を1バイトコードや2バイトコードに変換すると、例えば、1バイトコードと2バイトコードと3バイトコードとが混在するテキストデータと、検索文字列を3バイトコード化したテキストデータとを直接比較することができず、処理を高速化することができない。
1つの側面では、本発明は、バイト単位のコード体系上で照合する処理を高速化することができる照合プログラム、照合方法および照合装置を提供することを目的とする。
第1の案では、コンピュータに下記の処理を実行させる。コンピュータは、受け付けた照合データを第1の符号化規則により第1の符号化フォーマットの符号化照合データに変換する。コンピュータは、第1の符号化規則により第1の符号化フォーマットに符号化されるか、または、所定の変換規則により第2の符号化フォーマットにより符号化された符号化データを順次走査する。コンピュータは、符号化照合データと符号化データを比較する。コンピュータは、走査する処理の際に、第2の符号化フォーマットのデータを検出した場合は、所定の変換規則に基づいて前記第2の符号化フォーマットを第1の符号化フォーマットに変換後に、符号化照合データと比較する。
コード体系上で照合する処理を高速化することができる。
図1は、本実施例に係る照合装置の処理の一例を示す図である。 図2は、本実施例に係る照合装置の構成を示す機能ブロック図である。 図3は、照合処理部の構成を示す機能ブロック図(1)である。 図4は、照合処理部の構成を示す機能ブロック図(2)である。 図5は、コード変換テーブルのデータ構造の一例を示す図である。 図6は、本実施例に係る照合処理部の処理手順を示すフローチャートである。 図7は、コンピュータのハードウェア構成例を示す図である。 図8は、コンピュータで動作するプログラムの構成例を示す図である。 図9は、実施形態のシステムにおける装置の構成例を示す図である。
以下に、本願の開示する照合プログラム、照合方法および照合装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
図1は、本実施例に係る照合装置の処理の一例を示す図である。例えば、照合装置が取り扱うテキストデータは、高頻度で出現する一部の文字や単語について、3バイトのコードに変換するのではなく、2バイトのコードに変換される。このため、テキストデータには、3バイトのコードと2バイトのコートとが混在することになる。
従って、例えば、従来技術では、照合対象の文字列に含まれる各照合単語コードが3バイトで、テキストデータに含まれる各被照合単語コードが2バイトとなる場合には、各コードを直接比較することができず、照合処理を高速化することができなくなる。この問題を解消するために、本実施例に係る照合装置は下記の処理を実行する。以下の説明では、検索文字列に含まれるスペース付きの単語に対応するコードを、照合単語コードと表記する。また、テキストデータに含まれるスペース付きの単語に対応するコードを、被照合単語コードと表記する。
図1では一例として、3バイトの照合単語コードを「90023Fh」とする。この照合単語コード「90023Fh」は、単語「able△」に対応するものである。ここで、「△」はスペースに対応する。
また、検索対象となるテキストデータに含まれる2バイトの被照合単語コードを「0701h」とする。この被照合単語コード「0701h」は、単語「able△」に対応するものである。照合単語コードは3バイトコードであり、被照合単語コードは2バイトコードであるため、照合装置は、このままの状態で照合単語コードと被照合単語コードとを比較することができない。
照合装置は、照合単語コードと、被照合単語コードとを照合オートマトン50に入力する。照合オートマトン50は、2バイトの被照合単語コードを受け付けると、被照合単語コードと、コード変換テーブル60とを比較して、2バイトの被照合単語コードを、3バイトの被照合単語コードに変換する。ここで、コード変換テーブル60は、2バイトコードと、3バイトコードとを対応付けたテーブルである。図1に示す例では、照合オートマトン50は、2バイトの被照合単語コード「0701h」を、3バイトの被照合単語コード「90023Fh」に変換する。
照合オートマトン50は、3バイトの照合単語コードと、3バイトの被照合単語コードとを比較して、各単語コードが一致するか否かを判定する。例えば、照合オートマトン50は、照合単語コードと被照合単語コードとが一致する場合には照合結果「0」を出力する。一方、照合オートマトン50は、照合単語コードと被照合単語コードとが一致しない場合には照合結果「−1」を出力する。図1に示す例では、照合単語コード「90023Fh」と被照合単語コード「90023Fh」とが一致するため、照合オートマトン50は、比較結果「0」を出力する。
図1に示したように、本実施例にかかる照合装置は、2バイトおよび3バイトのコードが混在するテキストデータと、照合対象となる3バイトのコードとを比較する場合に、2バイトのコードについては、3バイトのコードに変換した後に、比較を行う。このような処理を照合装置が実行することで、コード体系上で検索する処理を高速化することができる。
図2は、本実施例に係る照合装置の構成を示す機能ブロック図である。図2に示すように、例えば、この照合装置100は、受付部110と、照合処理部120と、出力部130とを有する。
受付部110は、テキストデータや照合を行う文字列のデータを受け付ける処理部である。以下の説明では、照合を行う文字列を照合文字列と適宜表記する。受付部110は、受け付けたテキストデータおよび照合文字列のデータを、照合処理部120に出力する。
受付部110は、コード化される前のテキストデータを受け付けた場合には、係る文字列のデータを、所定の符号化規則により、テキストデータに含まれる各単語を3バイトのコードに変換する処理を実行しても良い。また、受付部110は、所定の符号化規則に基づき、コード化される前のデータを、2バイトの被照合単語コードに変換する処理を実行しても良い。
照合処理部120は、テキストデータおよび照合文字列のデータを基にして、図1で説明した照合処理を実行する処理部である。例えば、照合処理部120は、2バイトの被照合単語コードを、3バイトの被照合単語コードに変換した後に、照合単語コードと被照合単語コードとを比較することで照合処理を行う。
出力部130は、照合処理部120の照合結果を出力する処理部である。例えば、出力部130は、照合文字列がテキストデータに存在するか否かの情報や、テキストデータ上に存在する照合文字列の位置等を出力する。
図3および図4は、照合処理部の構成を示す機能ブロック図である。図3に示すように、この照合処理部120は、照合オートマトン50と、照合結果レジスタ71と、一致ポインタ72とを有する。照合オートマトン50は、照合レジスタ51,52と、被照合レジスタ53,54とコード変換部55a,55bと、比較部56と、フェッチポインタ57と、コード変換テーブル60とを有する。
照合レジスタ51は、3バイトの照合単語コードを記憶する記憶部である。照合オートマトン50は、照合文字列の照合単語コードを受付部110から取得し、照合レジスタ51に格納する。
照合レジスタ52は、3バイトの照合単語コードを記憶する記憶部である。照合レジスタ52は、コード変換部55aを介して、照合レジスタ51に格納された照合単語コードを取得し、取得した照合単語コードを格納する。
被照合レジスタ53は、2バイトまたは3バイトの被照合単語コードを記憶する記憶部である。照合オートマトン50は、テキストデータの被照合単語コードを受付部110から取得し、取得した被照合単語コードを、被照合レジスタ53に格納する。ここで、照合オートマトン50は、フェッチポインタ57に示される位置の被照合単語コードを、テキストデータから取得して、被照合レジスタ53に格納する。フェッチポインタ57に関する説明は後述する。
被照合レジスタ54は、3バイトの被照合単語コードを記憶する記憶部である。被照合レジスタ54は、コード変換部55bを介して、3バイトの被照合単語コードを取得し、取得した被照合単語コードを格納する。
コード変換部55aは、照合レジスタ51に格納された照合単語コードを取得し、取得した照合単語コードを照合レジスタ52に出力する処理部である。
コード変換部55bは、被照合レジスタ53に格納された3バイトまたは2バイトの被照合単語コードを取得し、コード変換後に被照合単語コードを被照合レジスタ54に出力する処理部である。以下において、コード変換部55bが、3バイトの被照合単語コードを取得した場合の処理と、2バイトの被照合単語コードを取得した場合の処理とについて説明する。
コード変換部55bは、3バイトの被照合単語コードを取得した場合には、かかる被照合単語コードに対するコード変換を行わないで、被照合単語コードをそのまま被照合レジスタ54に出力する。
コード変換部55bは、2バイトの被照合単語コードを取得した場合には、コード変換テーブル60と2バイトの被照合単語コードとを比較して、2バイトの被照合単語コードを、3バイトの被照合単語コードに変換する。コード変換部55bは、3バイトの被照合単語コードを、被照合レジスタ54に出力する。
図5は、コード変換テーブルのデータ構造の一例を示す図である。図5に示すように、このコード変換テーブル60は、単語と、2バイトコードと、3バイトコードとを対応付ける。図5に示す例では、単語「a△」に対応する2バイトコードは「0700h」であることが示される。また、単語「a△」に対応する3バイトコードは「900000h」であることが示される。
コード変換部55bは、コード変換テーブル60の2バイトコードの列と、被照合単語コードとを比較してヒットするレコードを検索し、検索したレコードの3バイトコードに、被照合単語コードを変換する。
例えば、被照合単語コードを「0701h」として、コード変換部55bの処理を説明する。コード変換部55bは、被照合単語コード「0701h」とコード変換テーブル60の2バイトコードの列とを比較すると、単語「able△」のレコードがヒットする。単語「able△」のレコードに対応する3バイトコードは「90023Fh」である。このため、コード変換部55bは、2バイトの被照合単語コード「0701h」を、3バイトの被照合単語コード「90023Fh」に変換する。
図3の説明に戻る。比較部56は、照合レジスタ52に格納された3バイトの照合単語コードと、被照合レジスタ54に格納された3バイトの被照合単語コードとを比較し、比較した結果を、照合結果レジスタ71に出力する処理部である。
例えば、比較部56は、照合レジスタ52に格納された3バイトの照合単語コードと、被照合レジスタ54に格納された3バイトの被照合単語コードとが一致する場合には、照合結果「0」を、照合結果レジスタ71に出力する。一方、比較部56は、照合レジスタ52に格納された3バイトの照合単語コードと、被照合レジスタ54に格納された3バイトの被照合単語コードとが一致しない場合には、照合結果「−1」を、照合結果レジスタ71に出力する。
フェッチポインタ57は、テキストデータに含まれる各被照合単語コードのうち、被照合レジスタ53に格納する対象となる被照合単語コードの位置情報を保持する記憶部である。フェッチポインタ57の初期値は、例えば、テキストデータに含まれる各被照合単語コードのうち、先頭の被照合単語コードの位置情報となる。そして、照合オートマトン50は、比較部56による比較が終了する度に、フェッチポインタの位置情報を、テキストデータ上の次の被照合単語コードの位置に更新する。
照合結果レジスタ71は、比較部56から照合結果を取得し、取得した照合結果を格納する記憶部である。
一致ポインタ72は、照合単語コードに一致するテキストデータ上の被照合単語コードの位置情報を保持する記憶部である。例えば、照合処理部120は、被照合レジスタに照合結果「0」が格納された場合に、フェッチポインタ57に格納された位置情報を、一致ポインタ72に格納する。
次に、照合オートマトン50の処理の一例について説明する。まず、図3を用いて、照合レジスタ51に3バイトの照合単語コード「90041Ah(about△)」が格納され、被照合レジスタ53に2バイトの被照合単語コード「0701h(able△)」が格納された場合の処理について説明する。図3に示すように、フェッチポインタ57の位置情報は、被照合単語コード「0701h(able△)」の位置を示しているものとする。
コード変換部55aは、照合レジスタ51に格納された3バイトの照合単語コード「90041Ah(about△)」を、照合レジスタ52に格納する。
コード変換部55bは、被照合レジスタ53に格納された2バイトの被照合単語コード「0701h」を取得し、コード変換テーブル60を参照して、3バイトの被照合単語コード「90023Fh」に変換する。コード変換部55bは、3バイトの被照合単語コード「90023Fh」を、被照合レジスタ54に格納する。
比較部56は、照合レジスタ52に格納された3バイトの照合単語コード「90041Ah」と、被照合レジスタ54に格納された3バイトの被照合単語コード「90023Fh」とを比較する。照合単語コード「90041Ah」と被照合単語コード「90023Fh」とは一致しないため、比較部56は、照合結果「−1」を、照合結果レジスタ71に出力する。
続いて、図4を用いて、照合レジスタ51に3バイトの照合単語コード「90041Ah(about△)」が格納され、被照合レジスタ53に2バイトの被照合単語コード「0702h(about△)」が格納された場合の処理について説明する。図4に示すように、フェッチポインタ57の位置情報は、被照合単語コード「0702h(about△)」の位置を示しているものとする。
コード変換部55aは、照合レジスタ51に格納された3バイトの照合単語コード「90042Ah(about△)」を、照合レジスタ52に格納する。
コード変換部55bは、被照合レジスタ53に格納された2バイトの被照合単語コード「0702h」を取得し、コード変換テーブル60を参照して、3バイトの被照合単語コード「90041Ah」に変換する。コード変換部55bは、3バイトの被照合単語コード「90041Ah」を、被照合レジスタ54に格納する。
比較部56は、照合レジスタ52に格納された3バイトの照合単語コード「90041Ah」と、被照合レジスタ54に格納された3バイトの被照合単語コード「90041Ah」とを比較する。照合単語コード「90041Ah」と被照合単語コード「90041Ah」とは一致するため、比較部56は、照合結果「0」を、照合結果レジスタ71に出力する。照合処理部120は、照合結果レジスタ71に、照合結果「0」が格納されたため、フェッチポインタ57に格納された位置情報を、一致ポインタ72に格納する。
照合処理部120は、照合文字列に含まれる照合単語コードを、照合レジスタ51に格納し、上記処理を繰り返し実行することで、照合文字列がテキストデータに含まれるか否かを判定する。照合処理部120は、照合結果を、出力部130に出力する。照合結果には、例えば、照合文字列が含まれるか否かの情報や、照合文字列が含まれるテキストデータ上の位置情報が含まれる。
図6は、本実施例に係る照合処理部の処理手順を示すフローチャートである。図6に示すように、照合処理部120は、照合文字列の照合単語コードを、照合レジスタ51に格納する(ステップS101)。ステップS101で、照合レジスタ51に格納された照合単語コードは、その後、照合レジスタ52に格納される。
照合処理部120は、フェッチポインタに示される被照合単語コードを、被照合レジスタ53に格納する(ステップS102)。照合処理部120のコード変換部55bは、被照合レジスタ53に格納された被照合単語コードが2バイトコードであるか否かを判定する(ステップS103)。
コード変換部55bは、被照合レジスタ53に格納された被照合単語コードが3バイトコードである場合には(ステップS103,No)、被照合レジスタ53の3バイトの被照合単語コードを、被照合レジスタ54に格納する(ステップS104)。そして、照合処理部120は、ステップS106に移行する。
一方、コード変換部55bは、被照合レジスタ53に格納された被照合単語コードが2バイトコードである場合には(ステップS103,Yes)、下記の処理を行う。コード変換部55bは、コード変換テーブル60を基にして、2バイトの被照合単語コードを、3バイトの被照合単語コードに変換し、被照合レジスタ54に格納する(ステップS105)。
照合処理部120の比較部56は、照合レジスタ52に格納された照合単語コードと、被照合レジスタ54に格納された被照合単語コードとを比較する(ステップS106)。照合処理部120は、照合結果を照合結果レジスタ71に格納する(ステップS107)。なお、ステップS107において、照合結果レジスタ71に照合結果「0」が格納された場合には、照合処理部120は、フェッチポインタ57に格納された位置情報を、一致ポインタ72に格納する。
次に、本実施例に係る照合装置100の効果について説明する。照合装置100は、2バイトおよび3バイトの被照合単語コードが混在するテキストデータと、3バイトの照合単語コードとを比較する場合に、2バイトの被照合単語コードについては、3バイトのコードに変換した後に、比較を行う。このような処理を照合装置100が実行することで、圧縮効率を向上させた2バイトコードおよび3バイトコードが混在するテキストデータについて、コード体系上で照合処理を実行する場合でも、照合する処理を高速化することができる。
ところで、本実施例では一例として、被照合単語コードを2バイトのコードとして説明したが、これに限定されるものではなく、1バイトのコードであっても良い。この場合には、照合処理部120は、被照合単語コードとコード変換テーブル60とを比較して、1バイトの被照合単語コードを、3バイトの被照合単語コードに変換した後に、照合単語コードと、被照合単語コードとを比較する。
下記に、本実施形態に用いられるハードウェア及びソフトウェアについて説明する。図7は、コンピュータ1のハードウェア構成例を示す。コンピュータ1は、例えば、プロセッサ301、RAM(Random Access Memory)302、ROM(Read Only Memory)303、ドライブ装置304、記憶媒体305、入力インターフェース(I/F)306、入力デバイス307、出力インターフェース(I/F)308、出力デバイス309、通信インターフェース(I/F)310、SAN(Storage Area Network)インターフェース(I/F)311およびバス312などを含む。それぞれのハードウェアはバス312を介して接続されている。
RAM302は読み書き可能なメモリ装置であって、例えば、SRAM(Static RAM)やDRAM(Dynamic RAM)などの半導体メモリ、またはRAMでなくてもフラッシュメモリなどが用いられる。ROM303は、PROM(Programmable ROM)なども含む。ドライブ装置304は、記憶媒体305に記録された情報の読み出しか書き込みかの少なくともいずれか一方を行なう装置である。記憶媒体305は、ドライブ装置304によって書き込まれた情報を記憶する。記憶媒体305は、例えば、ハードディスク、SSD(Solid State Drive)などのフラッシュメモリ、CD(Compact Disc)、DVD(Digital Versatile Disc)、ブルーレイディスクなどの記憶媒体である。また、例えば、コンピュータ1は、複数種類の記憶媒体それぞれについて、ドライブ装置304及び記憶媒体305を設ける。
入力インターフェース306は、入力デバイス307と接続されており、入力デバイス307から受信した入力信号をプロセッサ301に伝達する回路である。出力インターフェース308は、出力デバイス309と接続されており、出力デバイス309に、プロセッサ301の指示に応じた出力を実行させる回路である。通信インターフェース310はネットワーク3を介した通信の制御を行なう回路である。通信インターフェース310は、例えばネットワークインターフェースカード(NIC)などである。SANインターフェース311は、ストレージエリアネットワークによりコンピュータ1と接続された記憶装置との通信の制御を行なう回路である。SANインターフェース311は、例えばホストバスアダプタ(HBA)などである。
入力デバイス307は、操作に応じて入力信号を送信する装置である。入力信号は、例えば、キーボードやコンピュータ1の本体に取り付けられたボタンなどのキー装置や、マウスやタッチパネルなどのポインティングデバイスである。出力デバイス309は、コンピュータ1の制御に応じて情報を出力する装置である。出力デバイス309は、例えば、ディスプレイなどの画像出力装置(表示デバイス)や、スピーカーなどの音声出力装置などである。また、例えば、タッチスクリーンなどの入出力装置が、入力デバイス307及び出力デバイス309として用いられる。また、入力デバイス307及び出力デバイス309は、コンピュータ1と一体になっていてもよいし、コンピュータ1に含まれず、例えば、コンピュータ1に外部から接続する装置であってもよい。
例えば、プロセッサ301は、ROM303や記憶媒体305に記憶されたプログラムをRAM302に読み出し、読み出されたプログラムの手順に従って、受付部110、照合処理部120、出力部130の処理を行なう。その際にRAM302はプロセッサ301のワークエリアとして用いられる。記憶部の機能は、ROM303および記憶媒体305がプログラムファイル(後述のアプリケーションプログラム24、ミドルウェア23およびOS22など)やデータファイル(テキストデータ、照合対象となる文字列)を記憶し、RAM302がプロセッサ301のワークエリアとして用いられることによって実現される。プロセッサ301が読み出すプログラムについては、図8を用いて説明する。
図8は、コンピュータ1で動作するプログラムの構成例を示す。コンピュータ1において、図3に示すハードウェア群21(301〜312)の制御を行なうOS(オペレーティング・システム)22が動作する。OS22に従った手順でプロセッサ301が動作して、ハードウェア群21の制御・管理が行なわれることにより、アプリケーションプログラム24やミドルウェア23に従った処理がハードウェア群21で実行される。さらに、コンピュータ1において、ミドルウェア23またはアプリケーションプログラム24が、RAM302に読み出されてプロセッサ301により実行される。
プロセッサ301が、照合機能が呼び出された場合に、ミドルウェア23またはアプリケーションプログラム24の少なくとも一部に基づく処理を行なうことにより、(それらの処理をOS22に基づいてハードウェア群21を制御して)照合処理部120の機能が実現される。照合機能は、それぞれアプリケーションプログラム24自体に含まれてもよいし、アプリケーションプログラム24に従って呼び出されることで実行されるミドルウェア23の一部であってもよい。
図9は、実施形態のシステムにおける装置の構成例を示す。図9のシステムは、コンピュータ1a、コンピュータ1b、基地局2およびネットワーク3を含む。コンピュータ1aは、無線または有線の少なくとも一方により、コンピュータ1bと接続されたネットワーク3に接続している。図2に示す照合装置100の機能は、図9に示すコンピュータ1aとコンピュータ1bとのいずれに含まれてもよい。
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)コンピュータに、
受け付けた照合データを第1の符号化規則により第1の符号化フォーマットの符号化照合データに変換する処理と、
前記第1の符号化規則により前記第1の符号化フォーマットに符号化されるか、または、所定の変換規則により第2の符号化フォーマットにより符号化された符号化データを順次走査する処理と、
前記符号化照合データと前記符号化データを比較する処理と、を実行させ、
前記走査する処理の際に、前記第2の符号化フォーマットのデータを検出した場合は、前記所定の変換規則に基づいて前記第2の符号化フォーマットを前記第1の符号化フォーマットに変換後に、前記符号化照合データと比較する処理を実行させる、
ことを特徴とする照合プログラム。
(付記2)前記第1の符号化フォーマットの符号化照合データは、3バイトのコードであり、前記第2の符号化フォーマットの符号化対象データは、2バイトまたは1バイトのコードであることを特徴とする付記1に記載の照合プログラム。
(付記3)前記第1の符号化フォーマットの符号化照合データおよび前記第2の符号化フォーマットの符号化対象データは、所定のスペース付きの単語または文字列に対応付けられていることを特徴とする付記2に記載の照合プログラム。
(付記4)元のデータを前記第2の符号化フォーマットによる2バイトの符号化データに変換し、前記走査する処理の際に、前記2バイトの符号化データを検出した場合は、前記所定の変換規則に基づいて前記第2の符号化データを、前記第1の符号化フォーマットによる3バイトの符号化データに変換し、前記符号化照合データと比較する処理を実行させることを特徴とする付記1に記載の照合プログラム。
(付記5)コンピュータが実行する照合方法であって、
受け付けた照合データを第1の符号化規則により第1の符号化フォーマットの符号化照合データに変換する処理と、
前記第1の符号化規則により前記第1の符号化フォーマットに符号化されるか、または、所定の変換規則により第2の符号化フォーマットにより符号化された符号化データを順次走査する処理と、
前記符号化照合データと前記符号化データを比較する処理と、を実行させ、
前記走査する処理の際に、前記第2の符号化フォーマットのデータを検出した場合は、前記所定の変換規則に基づいて前記第2の符号化フォーマットを前記第1の符号化フォーマットに変換後に、前記符号化照合データと比較する処理を実行させる、
ことを特徴とする照合方法。
(付記6)前記第1の符号化フォーマットの符号化照合データは、3バイトのコードであり、前記第2の符号化フォーマットの符号化対象データは、2バイトまたは1バイトのコードであることを特徴とする付記5に記載の照合方法。
(付記7)前記第1の符号化フォーマットの符号化照合データおよび前記第2の符号化フォーマットの符号化対象データは、所定のスペース付きの単語または文字列に対応付けられていることを特徴とする付記5に記載の照合方法。
(付記8)元のデータを前記第2の符号化フォーマットによる2バイトの符号化データに変換し、前記走査する処理の際に、前記2バイトの符号化データを検出した場合は、前記所定の変換規則に基づいて前記第2の符号化データを、前記第1の符号化フォーマットによる3バイトの符号化データに変換し、前記符号化照合データと比較する処理を実行させることを特徴とする付記5に記載の照合方法。
(付記9)受け付けた照合データを第1の符号化規則により第1の符号化フォーマットの符号化照合データに変換する受付部と、
受け付けた照合データを第1の符号化規則により第1の符号化フォーマットの符号化照合データに変換し、前記第1の符号化規則により前記第1の符号化フォーマットに符号化されるか、または、所定の変換規則により第2の符号化フォーマットにより符号化された符号化データを順次走査し、前記符号化照合データと前記符号化データを比較、前記走査する際に、前記第2の符号化フォーマットのデータを検出した場合は、前記所定の変換規則に基づいて前記第2の符号化フォーマットを前記第1の符号化フォーマットに変換後に、前記符号化照合データと比較する照合処理部と
を有することを特徴とする照合装置。
(付記10)前記第1の符号化フォーマットの符号化照合データは、3バイトのコードであり、前記第2の符号化フォーマットの符号化対象データは、2バイトまたは1バイトのコードであることを特徴とする付記9に記載の照合装置。
(付記11)前記第1の符号化フォーマットの符号化照合データおよび前記第2の符号化フォーマットの符号化対象データは、所定のスペース付きの単語または文字列に対応付けられていることを特徴とする付記9に記載の照合装置。
(付記12)前記受付部は、元のデータを前記第2の符号化フォーマットによる2バイトの符号化データに変換し、前記照合処理部は、走査する際に、前記2バイトの符号化データを検出した場合は、前記所定の変換規則に基づいて前記第2の符号化データを、前記第1の符号化フォーマットによる3バイトの符号化データに変換し、前記符号化照合データと比較する処理を実行させることを特徴とする付記9に記載の照合装置。
100 照合装置
110 受付部
120 照合処理部
130 出力部

Claims (6)

  1. コンピュータに、
    受け付けた照合データを第1の符号化規則により第1の符号化フォーマットの符号化照合データに変換する処理と、
    前記第1の符号化規則により前記第1の符号化フォーマットに符号化されるか、または、所定の変換規則により第2の符号化フォーマットにより符号化された符号化データを順次走査する際に、
    前記第1の符号化フォーマットの符号化データに対して、前記符号化照合データと比較し、
    前記第2の符号化フォーマットの符号化データを検出した場合は、前記所定の変換規則に基づいて前記第2の符号化フォーマットの符号化データを前記第1の符号化フォーマットの符号化データに変換した後に、前記符号化照合データと比較する処理を実行させる、
    ことを特徴とする照合プログラム。
  2. 前記第1の符号化フォーマットの符号化データは、3バイトのコードであり、前記第2の符号化フォーマットの符号化データは、2バイトまたは1バイトのコードであることを特徴とする請求項1に記載の照合プログラム。
  3. 前記第1の符号化フォーマットの符号化データおよび前記第2の符号化フォーマットの符号化データは、所定のスペース付きの単語または文字列に対応付けられていることを特徴とする請求項2に記載の照合プログラム。
  4. 前記照合データを前記第2の符号化フォーマットによる2バイトの符号化データに変換し、前記走査する処理の際に、前記2バイトの符号化データを検出した場合は、前記所定の変換規則に基づいて前記第2の符号化フォーマットの符号化データを、前記第1の符号化フォーマットによる3バイトの符号化データに変換し、前記符号化照合データと比較する処理を実行させることを特徴とする請求項1に記載の照合プログラム。
  5. コンピュータが実行する照合方法であって、
    受け付けた照合データを第1の符号化規則により第1の符号化フォーマットの符号化照合データに変換する処理と、
    前記第1の符号化規則により前記第1の符号化フォーマットに符号化されるか、または、所定の変換規則により第2の符号化フォーマットにより符号化された符号化データを順次走査する際に
    前記第1の符号化フォーマットの符号化データに対して、前記符号化照合データと比較し、
    前記第2の符号化フォーマットの符号化データを検出した場合は、前記所定の変換規則に基づいて前記第2の符号化フォーマットの符号化データを前記第1の符号化フォーマットの符号化データに変換した後に、前記符号化照合データと比較する処理を実行させる、
    ことを特徴とする照合方法。
  6. 受け付けた照合データを第1の符号化規則により第1の符号化フォーマットの符号化照合データに変換する受付部と、
    受け付けた照合データを第1の符号化規則により第1の符号化フォーマットの符号化照合データに変換し、前記第1の符号化規則により前記第1の符号化フォーマットに符号化されるか、または、所定の変換規則により第2の符号化フォーマットにより符号化された符号化データを順次走査する際に、前記第1の符号化フォーマットの符号化データに対して、前記符号化照合データと比較し、前記第2の符号化フォーマットの符号化データを検出した場合は、前記所定の変換規則に基づいて前記第2の符号化フォーマットの符号化データを前記第1の符号化フォーマットの符号化データに変換した後に、前記符号化照合データと比較する照合処理部と
    を有することを特徴とする照合装置。
JP2015139997A 2015-07-13 2015-07-13 照合プログラム、照合方法および照合装置 Active JP6648431B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2015139997A JP6648431B2 (ja) 2015-07-13 2015-07-13 照合プログラム、照合方法および照合装置
US15/187,995 US10664491B2 (en) 2015-07-13 2016-06-21 Non-transitory computer-readable recording medium, searching method, and searching device
EP16175430.4A EP3118755A1 (en) 2015-07-13 2016-06-21 Searching program, searching method, and searching device
CN201610546697.1A CN106354746B (zh) 2015-07-13 2016-07-12 搜索方法和搜索设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015139997A JP6648431B2 (ja) 2015-07-13 2015-07-13 照合プログラム、照合方法および照合装置

Publications (2)

Publication Number Publication Date
JP2017021661A JP2017021661A (ja) 2017-01-26
JP6648431B2 true JP6648431B2 (ja) 2020-02-14

Family

ID=56148261

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015139997A Active JP6648431B2 (ja) 2015-07-13 2015-07-13 照合プログラム、照合方法および照合装置

Country Status (4)

Country Link
US (1) US10664491B2 (ja)
EP (1) EP3118755A1 (ja)
JP (1) JP6648431B2 (ja)
CN (1) CN106354746B (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10395231B2 (en) 2016-06-27 2019-08-27 Altria Client Services Llc Methods, systems, apparatuses, and non-transitory computer readable media for validating encoded information
JP6737117B2 (ja) * 2016-10-07 2020-08-05 富士通株式会社 符号化データ検索プログラム、符号化データ検索方法および符号化データ検索装置
CN109002423A (zh) * 2017-06-06 2018-12-14 北大方正集团有限公司 文本搜索方法及装置
CN113535710B (zh) * 2020-04-22 2023-12-15 中山大学 一种搜索方法、装置、终端设备及存储介质
US11438314B2 (en) * 2021-02-10 2022-09-06 Yahoo Assets Llc Automatic privacy-aware machine learning method and apparatus

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07287716A (ja) 1994-02-22 1995-10-31 Ricoh Co Ltd 辞書検索装置
JPH1185459A (ja) 1997-09-01 1999-03-30 Denso Corp 文字データ符号化方法および記録媒体
JPH11143877A (ja) 1997-10-22 1999-05-28 Internatl Business Mach Corp <Ibm> 圧縮方法、辞書の見出し語インデックス・データを圧縮するための方法、及び機械翻訳システム
US20030206519A1 (en) * 2002-05-03 2003-11-06 Michael Sanders System and method for encoding and decoding messages
CN100504849C (zh) * 2002-10-24 2009-06-24 国际商业机器公司 数据转换方法及设备
EP1618743A1 (en) 2003-04-17 2006-01-25 Koninklijke Philips Electronics N.V. Content analysis of coded video data
EP1719117A1 (en) * 2004-02-16 2006-11-08 Koninklijke Philips Electronics N.V. A transcoder and method of transcoding therefore
US7779391B2 (en) * 2006-09-05 2010-08-17 International Business Machines Corporation Method of employing instructions to convert UTF characters with an enhanced extended translation facility
CN101211341A (zh) * 2006-12-29 2008-07-02 上海芯盛电子科技有限公司 图像智能模式识别搜索方法
CN102662935A (zh) * 2012-04-08 2012-09-12 北京语智云帆科技有限公司 一种交互式的机器翻译方法和机器翻译系统
JP2014002717A (ja) * 2012-05-23 2014-01-09 Denso Corp 情報検索システム、中継サーバ、データ形式変換プログラム、及び、移動端末
CN105574037B (zh) * 2014-10-16 2019-01-29 腾讯科技(深圳)有限公司 一种信息处理方法及装置

Also Published As

Publication number Publication date
CN106354746A (zh) 2017-01-25
CN106354746B (zh) 2020-07-07
JP2017021661A (ja) 2017-01-26
EP3118755A1 (en) 2017-01-18
US20170017707A1 (en) 2017-01-19
US10664491B2 (en) 2020-05-26

Similar Documents

Publication Publication Date Title
JP6648431B2 (ja) 照合プログラム、照合方法および照合装置
JP6742692B2 (ja) 符号化プログラムおよび伸長プログラム
US9425821B2 (en) Converting device and converting method
US9793920B1 (en) Computer-readable recording medium, encoding device, and encoding method
JP6641857B2 (ja) 符号化プログラム、符号化方法、符号化装置、復号化プログラム、復号化方法および復号化装置
US9577666B2 (en) Method and system
US10224958B2 (en) Computer-readable recording medium, encoding apparatus, and encoding method
EP3236368A1 (en) Encoding processing program, encoding processing device, encoding processing method, decoding processing program, decoding processing device, and decoding processing method
US11055328B2 (en) Non-transitory computer readable medium, encode device, and encode method
US10942934B2 (en) Non-transitory computer-readable recording medium, encoded data searching method, and encoded data searching apparatus
US11323132B2 (en) Encoding method and encoding apparatus
JP2018067264A (ja) データ検索プログラム、データ検索装置およびデータ検索方法
JP2019121861A (ja) 符号化プログラム、動的辞書の生成プログラム、符号化方法、動的辞書の生成方法、符号化装置および復号化装置
US20160210304A1 (en) Computer-readable recording medium, information processing apparatus, and conversion process method
US20210357438A1 (en) Computer-readable recording medium, index creation device, index creation method, computer-readable recording medium, search device, and search method
JPH0863487A (ja) 文書検索方法及び文書検索装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180413

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190409

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20190528

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190719

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191230

R150 Certificate of patent or registration of utility model

Ref document number: 6648431

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150