(57)【特許請求の範囲】
【請求項１】
コンピュータに、
受け付けた照合データを第１の符号化規則により第１の符号化フォーマットの符号化照合データに変換する処理と、
前記第１の符号化規則により前記第１の符号化フォーマットに符号化されるか、または、所定の変換規則により第２の符号化フォーマットにより符号化された符号化データを順次走査する際に、
前記第１の符号化フォーマットの符号化データに対して、前記符号化照合データと比較し、
前記第２の符号化フォーマットの符号化データを検出した場合は、前記所定の変換規則に基づいて前記第２の符号化フォーマットの符号化データを前記第１の符号化フォーマットの符号化データに変換した後に、前記符号化照合データと比較する処理を実行させる、
ことを特徴とする照合プログラム。
【請求項２】
前記第１の符号化フォーマットの符号化データは、３バイトのコードであり、前記第２の符号化フォーマットの符号化データは、２バイトまたは１バイトのコードであることを特徴とする請求項１に記載の照合プログラム。
【請求項３】
前記第１の符号化フォーマットの符号化データおよび前記第２の符号化フォーマットの符号化データは、所定のスペース付きの単語または文字列に対応付けられていることを特徴とする請求項２に記載の照合プログラム。
【請求項４】
前記照合データを前記第２の符号化フォーマットによる２バイトの符号化データに変換し、前記走査する処理の際に、前記２バイトの符号化データを検出した場合は、前記所定の変換規則に基づいて前記第２の符号化フォーマットの符号化データを、前記第１の符号化フォーマットによる３バイトの符号化データに変換し、前記符号化照合データと比較する処理を実行させることを特徴とする請求項１に記載の照合プログラム。
【請求項５】
コンピュータが実行する照合方法であって、
受け付けた照合データを第１の符号化規則により第１の符号化フォーマットの符号化照合データに変換する処理と、
前記第１の符号化規則により前記第１の符号化フォーマットに符号化されるか、または、所定の変換規則により第２の符号化フォーマットにより符号化された符号化データを順次走査する際に、
前記第１の符号化フォーマットの符号化データに対して、前記符号化照合データと比較し、
前記第２の符号化フォーマットの符号化データを検出した場合は、前記所定の変換規則に基づいて前記第２の符号化フォーマットの符号化データを前記第１の符号化フォーマットの符号化データに変換した後に、前記符号化照合データと比較する処理を実行させる、
ことを特徴とする照合方法。
【請求項６】
受け付けた照合データを第１の符号化規則により第１の符号化フォーマットの符号化照合データに変換する受付部と、
受け付けた照合データを第１の符号化規則により第１の符号化フォーマットの符号化照合データに変換し、前記第１の符号化規則により前記第１の符号化フォーマットに符号化されるか、または、所定の変換規則により第２の符号化フォーマットにより符号化された符号化データを順次走査する際に、前記第１の符号化フォーマットの符号化データに対して、前記符号化照合データと比較し、前記第２の符号化フォーマットの符号化データを検出した場合は、前記所定の変換規則に基づいて前記第２の符号化フォーマットの符号化データを前記第１の符号化フォーマットの符号化データに変換した後に、前記符号化照合データと比較する照合処理部と
を有することを特徴とする照合装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、照合プログラム等に関する。
【背景技術】
【０００２】
従来、テキストデータからある文字列を検索する場合には、テキストデータと文字列とを比較して、文字列と一致する文字列がテキストデータに含まれているか否かを判定する。ここで、例えば、テキストデータが圧縮データである場合には、テキストデータと文字列とが非対応であるため、圧縮データを展開した後に、文字列との比較を行う。
【０００３】
また、圧縮率を向上するために、テキストデータと文字列とがあるコード体系上でコード化されている場合がある。テキストデータと文字列とが同一のコード体系上でコード化されている場合には、直接テキストデータと文字列とを比較することができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平７−２８７７１６号公報
【特許文献２】特開平１１−１４３８７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した従来技術において、特定の文字や単語を別のコード体系に割り当てると圧縮率を向上させることができるが、コード体系上で照合する処理を高速化することができないという問題がある。
【０００６】
一般に、テキストデータをコード化する際に用いられる文字コード体系は、冗長な構成となっている場合があり、文字や単語を所定の文字コード体系で定義されるコードとは別のコードに割り当てることが考えられる。例えば、１００万語の単語を３バイトコードに割り当てることができる。さらに、圧縮率を向上させるために、高頻度で出現する一部の単語や文字については、３バイトコードではなく、１バイトコードや２バイトコードに変換することが考えられる。
【０００７】
ここで、上記のように高頻度で出現する一部の単語や文字を１バイトコードや２バイトコードに変換すると、例えば、１バイトコードと２バイトコードと３バイトコードとが混在するテキストデータと、検索文字列を３バイトコード化したテキストデータとを直接比較することができず、処理を高速化することができない。
【０００８】
１つの側面では、本発明は、バイト単位のコード体系上で照合する処理を高速化することができる照合プログラム、照合方法および照合装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
第１の案では、コンピュータに下記の処理を実行させる。コンピュータは、受け付けた照合データを第１の符号化規則により第１の符号化フォーマットの符号化照合データに変換する。コンピュータは、第１の符号化規則により第１の符号化フォーマットに符号化されるか、または、所定の変換規則により第２の符号化フォーマットにより符号化された符号化データを順次走査する。コンピュータは、符号化照合データと符号化データを比較する。コンピュータは、走査する処理の際に、第２の符号化フォーマットのデータを検出した場合は、所定の変換規則に基づいて前記第２の符号化フォーマットを第１の符号化フォーマットに変換後に、符号化照合データと比較する。
【発明の効果】
【００１０】
コード体系上で照合する処理を高速化することができる。
【図面の簡単な説明】
【００１１】
【図１】図１は、本実施例に係る照合装置の処理の一例を示す図である。
【図２】図２は、本実施例に係る照合装置の構成を示す機能ブロック図である。
【図３】図３は、照合処理部の構成を示す機能ブロック図（１）である。
【図４】図４は、照合処理部の構成を示す機能ブロック図（２）である。
【図５】図５は、コード変換テーブルのデータ構造の一例を示す図である。
【図６】図６は、本実施例に係る照合処理部の処理手順を示すフローチャートである。
【図７】図７は、コンピュータのハードウェア構成例を示す図である。
【図８】図８は、コンピュータで動作するプログラムの構成例を示す図である。
【図９】図９は、実施形態のシステムにおける装置の構成例を示す図である。
【発明を実施するための形態】
【００１２】
以下に、本願の開示する照合プログラム、照合方法および照合装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例】
【００１３】
図１は、本実施例に係る照合装置の処理の一例を示す図である。例えば、照合装置が取り扱うテキストデータは、高頻度で出現する一部の文字や単語について、３バイトのコードに変換するのではなく、２バイトのコードに変換される。このため、テキストデータには、３バイトのコードと２バイトのコートとが混在することになる。
【００１４】
従って、例えば、従来技術では、照合対象の文字列に含まれる各照合単語コードが３バイトで、テキストデータに含まれる各被照合単語コードが２バイトとなる場合には、各コードを直接比較することができず、照合処理を高速化することができなくなる。この問題を解消するために、本実施例に係る照合装置は下記の処理を実行する。以下の説明では、検索文字列に含まれるスペース付きの単語に対応するコードを、照合単語コードと表記する。また、テキストデータに含まれるスペース付きの単語に対応するコードを、被照合単語コードと表記する。
【００１５】
図１では一例として、３バイトの照合単語コードを「90023Fh」とする。この照合単語コード「90023Fh」は、単語「able△」に対応するものである。ここで、「△」はスペースに対応する。
【００１６】
また、検索対象となるテキストデータに含まれる２バイトの被照合単語コードを「0701h」とする。この被照合単語コード「0701h」は、単語「able△」に対応するものである。照合単語コードは３バイトコードであり、被照合単語コードは２バイトコードであるため、照合装置は、このままの状態で照合単語コードと被照合単語コードとを比較することができない。
【００１７】
照合装置は、照合単語コードと、被照合単語コードとを照合オートマトン５０に入力する。照合オートマトン５０は、２バイトの被照合単語コードを受け付けると、被照合単語コードと、コード変換テーブル６０とを比較して、２バイトの被照合単語コードを、３バイトの被照合単語コードに変換する。ここで、コード変換テーブル６０は、２バイトコードと、３バイトコードとを対応付けたテーブルである。図１に示す例では、照合オートマトン５０は、２バイトの被照合単語コード「0701h」を、３バイトの被照合単語コード「90023Fh」に変換する。
【００１８】
照合オートマトン５０は、３バイトの照合単語コードと、３バイトの被照合単語コードとを比較して、各単語コードが一致するか否かを判定する。例えば、照合オートマトン５０は、照合単語コードと被照合単語コードとが一致する場合には照合結果「０」を出力する。一方、照合オートマトン５０は、照合単語コードと被照合単語コードとが一致しない場合には照合結果「−１」を出力する。図１に示す例では、照合単語コード「90023Fh」と被照合単語コード「90023Fh」とが一致するため、照合オートマトン５０は、比較結果「０」を出力する。
【００１９】
図１に示したように、本実施例にかかる照合装置は、２バイトおよび３バイトのコードが混在するテキストデータと、照合対象となる３バイトのコードとを比較する場合に、２バイトのコードについては、３バイトのコードに変換した後に、比較を行う。このような処理を照合装置が実行することで、コード体系上で検索する処理を高速化することができる。
【００２０】
図２は、本実施例に係る照合装置の構成を示す機能ブロック図である。図２に示すように、例えば、この照合装置１００は、受付部１１０と、照合処理部１２０と、出力部１３０とを有する。
【００２１】
受付部１１０は、テキストデータや照合を行う文字列のデータを受け付ける処理部である。以下の説明では、照合を行う文字列を照合文字列と適宜表記する。受付部１１０は、受け付けたテキストデータおよび照合文字列のデータを、照合処理部１２０に出力する。
【００２２】
受付部１１０は、コード化される前のテキストデータを受け付けた場合には、係る文字列のデータを、所定の符号化規則により、テキストデータに含まれる各単語を３バイトのコードに変換する処理を実行しても良い。また、受付部１１０は、所定の符号化規則に基づき、コード化される前のデータを、２バイトの被照合単語コードに変換する処理を実行しても良い。
【００２３】
照合処理部１２０は、テキストデータおよび照合文字列のデータを基にして、図１で説明した照合処理を実行する処理部である。例えば、照合処理部１２０は、２バイトの被照合単語コードを、３バイトの被照合単語コードに変換した後に、照合単語コードと被照合単語コードとを比較することで照合処理を行う。
【００２４】
出力部１３０は、照合処理部１２０の照合結果を出力する処理部である。例えば、出力部１３０は、照合文字列がテキストデータに存在するか否かの情報や、テキストデータ上に存在する照合文字列の位置等を出力する。
【００２５】
図３および図４は、照合処理部の構成を示す機能ブロック図である。図３に示すように、この照合処理部１２０は、照合オートマトン５０と、照合結果レジスタ７１と、一致ポインタ７２とを有する。照合オートマトン５０は、照合レジスタ５１，５２と、被照合レジスタ５３，５４とコード変換部５５ａ，５５ｂと、比較部５６と、フェッチポインタ５７と、コード変換テーブル６０とを有する。
【００２６】
照合レジスタ５１は、３バイトの照合単語コードを記憶する記憶部である。照合オートマトン５０は、照合文字列の照合単語コードを受付部１１０から取得し、照合レジスタ５１に格納する。
【００２７】
照合レジスタ５２は、３バイトの照合単語コードを記憶する記憶部である。照合レジスタ５２は、コード変換部５５ａを介して、照合レジスタ５１に格納された照合単語コードを取得し、取得した照合単語コードを格納する。
【００２８】
被照合レジスタ５３は、２バイトまたは３バイトの被照合単語コードを記憶する記憶部である。照合オートマトン５０は、テキストデータの被照合単語コードを受付部１１０から取得し、取得した被照合単語コードを、被照合レジスタ５３に格納する。ここで、照合オートマトン５０は、フェッチポインタ５７に示される位置の被照合単語コードを、テキストデータから取得して、被照合レジスタ５３に格納する。フェッチポインタ５７に関する説明は後述する。
【００２９】
被照合レジスタ５４は、３バイトの被照合単語コードを記憶する記憶部である。被照合レジスタ５４は、コード変換部５５ｂを介して、３バイトの被照合単語コードを取得し、取得した被照合単語コードを格納する。
【００３０】
コード変換部５５ａは、照合レジスタ５１に格納された照合単語コードを取得し、取得した照合単語コードを照合レジスタ５２に出力する処理部である。
【００３１】
コード変換部５５ｂは、被照合レジスタ５３に格納された３バイトまたは２バイトの被照合単語コードを取得し、コード変換後に被照合単語コードを被照合レジスタ５４に出力する処理部である。以下において、コード変換部５５ｂが、３バイトの被照合単語コードを取得した場合の処理と、２バイトの被照合単語コードを取得した場合の処理とについて説明する。
【００３２】
コード変換部５５ｂは、３バイトの被照合単語コードを取得した場合には、かかる被照合単語コードに対するコード変換を行わないで、被照合単語コードをそのまま被照合レジスタ５４に出力する。
【００３３】
コード変換部５５ｂは、２バイトの被照合単語コードを取得した場合には、コード変換テーブル６０と２バイトの被照合単語コードとを比較して、２バイトの被照合単語コードを、３バイトの被照合単語コードに変換する。コード変換部５５ｂは、３バイトの被照合単語コードを、被照合レジスタ５４に出力する。
【００３４】
図５は、コード変換テーブルのデータ構造の一例を示す図である。図５に示すように、このコード変換テーブル６０は、単語と、２バイトコードと、３バイトコードとを対応付ける。図５に示す例では、単語「ａ△」に対応する２バイトコードは「0700h」であることが示される。また、単語「ａ△」に対応する３バイトコードは「900000h」であることが示される。
【００３５】
コード変換部５５ｂは、コード変換テーブル６０の２バイトコードの列と、被照合単語コードとを比較してヒットするレコードを検索し、検索したレコードの３バイトコードに、被照合単語コードを変換する。
【００３６】
例えば、被照合単語コードを「0701h」として、コード変換部５５ｂの処理を説明する。コード変換部５５ｂは、被照合単語コード「0701h」とコード変換テーブル６０の２バイトコードの列とを比較すると、単語「able△」のレコードがヒットする。単語「able△」のレコードに対応する３バイトコードは「90023Fh」である。このため、コード変換部５５ｂは、２バイトの被照合単語コード「0701h」を、３バイトの被照合単語コード「90023Fh」に変換する。
【００３７】
図３の説明に戻る。比較部５６は、照合レジスタ５２に格納された３バイトの照合単語コードと、被照合レジスタ５４に格納された３バイトの被照合単語コードとを比較し、比較した結果を、照合結果レジスタ７１に出力する処理部である。
【００３８】
例えば、比較部５６は、照合レジスタ５２に格納された３バイトの照合単語コードと、被照合レジスタ５４に格納された３バイトの被照合単語コードとが一致する場合には、照合結果「０」を、照合結果レジスタ７１に出力する。一方、比較部５６は、照合レジスタ５２に格納された３バイトの照合単語コードと、被照合レジスタ５４に格納された３バイトの被照合単語コードとが一致しない場合には、照合結果「−１」を、照合結果レジスタ７１に出力する。
【００３９】
フェッチポインタ５７は、テキストデータに含まれる各被照合単語コードのうち、被照合レジスタ５３に格納する対象となる被照合単語コードの位置情報を保持する記憶部である。フェッチポインタ５７の初期値は、例えば、テキストデータに含まれる各被照合単語コードのうち、先頭の被照合単語コードの位置情報となる。そして、照合オートマトン５０は、比較部５６による比較が終了する度に、フェッチポインタの位置情報を、テキストデータ上の次の被照合単語コードの位置に更新する。
【００４０】
照合結果レジスタ７１は、比較部５６から照合結果を取得し、取得した照合結果を格納する記憶部である。
【００４１】
一致ポインタ７２は、照合単語コードに一致するテキストデータ上の被照合単語コードの位置情報を保持する記憶部である。例えば、照合処理部１２０は、被照合レジスタに照合結果「０」が格納された場合に、フェッチポインタ５７に格納された位置情報を、一致ポインタ７２に格納する。
【００４２】
次に、照合オートマトン５０の処理の一例について説明する。まず、図３を用いて、照合レジスタ５１に３バイトの照合単語コード「90041Ah（about△）」が格納され、被照合レジスタ５３に２バイトの被照合単語コード「0701h（able△）」が格納された場合の処理について説明する。図３に示すように、フェッチポインタ５７の位置情報は、被照合単語コード「0701h（able△）」の位置を示しているものとする。
【００４３】
コード変換部５５ａは、照合レジスタ５１に格納された３バイトの照合単語コード「90041Ah（about△）」を、照合レジスタ５２に格納する。
【００４４】
コード変換部５５ｂは、被照合レジスタ５３に格納された２バイトの被照合単語コード「0701h」を取得し、コード変換テーブル６０を参照して、３バイトの被照合単語コード「90023Fh」に変換する。コード変換部５５ｂは、３バイトの被照合単語コード「90023Fh」を、被照合レジスタ５４に格納する。
【００４５】
比較部５６は、照合レジスタ５２に格納された３バイトの照合単語コード「90041Ah」と、被照合レジスタ５４に格納された３バイトの被照合単語コード「90023Fh」とを比較する。照合単語コード「90041Ah」と被照合単語コード「90023Fh」とは一致しないため、比較部５６は、照合結果「−１」を、照合結果レジスタ７１に出力する。
【００４６】
続いて、図４を用いて、照合レジスタ５１に３バイトの照合単語コード「90041Ah（about△）」が格納され、被照合レジスタ５３に２バイトの被照合単語コード「0702h（about△）」が格納された場合の処理について説明する。図４に示すように、フェッチポインタ５７の位置情報は、被照合単語コード「0702h（about△）」の位置を示しているものとする。
【００４７】
コード変換部５５ａは、照合レジスタ５１に格納された３バイトの照合単語コード「90042Ah（about△）」を、照合レジスタ５２に格納する。
【００４８】
コード変換部５５ｂは、被照合レジスタ５３に格納された２バイトの被照合単語コード「0702h」を取得し、コード変換テーブル６０を参照して、３バイトの被照合単語コード「90041Ah」に変換する。コード変換部５５ｂは、３バイトの被照合単語コード「90041Ah」を、被照合レジスタ５４に格納する。
【００４９】
比較部５６は、照合レジスタ５２に格納された３バイトの照合単語コード「90041Ah」と、被照合レジスタ５４に格納された３バイトの被照合単語コード「90041Ah」とを比較する。照合単語コード「90041Ah」と被照合単語コード「90041Ah」とは一致するため、比較部５６は、照合結果「０」を、照合結果レジスタ７１に出力する。照合処理部１２０は、照合結果レジスタ７１に、照合結果「０」が格納されたため、フェッチポインタ５７に格納された位置情報を、一致ポインタ７２に格納する。
【００５０】
照合処理部１２０は、照合文字列に含まれる照合単語コードを、照合レジスタ５１に格納し、上記処理を繰り返し実行することで、照合文字列がテキストデータに含まれるか否かを判定する。照合処理部１２０は、照合結果を、出力部１３０に出力する。照合結果には、例えば、照合文字列が含まれるか否かの情報や、照合文字列が含まれるテキストデータ上の位置情報が含まれる。
【００５１】
図６は、本実施例に係る照合処理部の処理手順を示すフローチャートである。図６に示すように、照合処理部１２０は、照合文字列の照合単語コードを、照合レジスタ５１に格納する（ステップＳ１０１）。ステップＳ１０１で、照合レジスタ５１に格納された照合単語コードは、その後、照合レジスタ５２に格納される。
【００５２】
照合処理部１２０は、フェッチポインタに示される被照合単語コードを、被照合レジスタ５３に格納する（ステップＳ１０２）。照合処理部１２０のコード変換部５５ｂは、被照合レジスタ５３に格納された被照合単語コードが２バイトコードであるか否かを判定する（ステップＳ１０３）。
【００５３】
コード変換部５５ｂは、被照合レジスタ５３に格納された被照合単語コードが３バイトコードである場合には（ステップＳ１０３，Ｎｏ）、被照合レジスタ５３の３バイトの被照合単語コードを、被照合レジスタ５４に格納する（ステップＳ１０４）。そして、照合処理部１２０は、ステップＳ１０６に移行する。
【００５４】
一方、コード変換部５５ｂは、被照合レジスタ５３に格納された被照合単語コードが２バイトコードである場合には（ステップＳ１０３，Ｙｅｓ）、下記の処理を行う。コード変換部５５ｂは、コード変換テーブル６０を基にして、２バイトの被照合単語コードを、３バイトの被照合単語コードに変換し、被照合レジスタ５４に格納する（ステップＳ１０５）。
【００５５】
照合処理部１２０の比較部５６は、照合レジスタ５２に格納された照合単語コードと、被照合レジスタ５４に格納された被照合単語コードとを比較する（ステップＳ１０６）。照合処理部１２０は、照合結果を照合結果レジスタ７１に格納する（ステップＳ１０７）。なお、ステップＳ１０７において、照合結果レジスタ７１に照合結果「０」が格納された場合には、照合処理部１２０は、フェッチポインタ５７に格納された位置情報を、一致ポインタ７２に格納する。
【００５６】
次に、本実施例に係る照合装置１００の効果について説明する。照合装置１００は、２バイトおよび３バイトの被照合単語コードが混在するテキストデータと、３バイトの照合単語コードとを比較する場合に、２バイトの被照合単語コードについては、３バイトのコードに変換した後に、比較を行う。このような処理を照合装置１００が実行することで、圧縮効率を向上させた２バイトコードおよび３バイトコードが混在するテキストデータについて、コード体系上で照合処理を実行する場合でも、照合する処理を高速化することができる。
【００５７】
ところで、本実施例では一例として、被照合単語コードを２バイトのコードとして説明したが、これに限定されるものではなく、１バイトのコードであっても良い。この場合には、照合処理部１２０は、被照合単語コードとコード変換テーブル６０とを比較して、１バイトの被照合単語コードを、３バイトの被照合単語コードに変換した後に、照合単語コードと、被照合単語コードとを比較する。
【００５８】
下記に、本実施形態に用いられるハードウェア及びソフトウェアについて説明する。図７は、コンピュータ１のハードウェア構成例を示す。コンピュータ１は、例えば、プロセッサ３０１、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）３０２、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）３０３、ドライブ装置３０４、記憶媒体３０５、入力インターフェース（Ｉ／Ｆ）３０６、入力デバイス３０７、出力インターフェース（Ｉ／Ｆ）３０８、出力デバイス３０９、通信インターフェース（Ｉ／Ｆ）３１０、ＳＡＮ（Ｓｔｏｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）インターフェース（Ｉ／Ｆ）３１１およびバス３１２などを含む。それぞれのハードウェアはバス３１２を介して接続されている。
【００５９】
ＲＡＭ３０２は読み書き可能なメモリ装置であって、例えば、ＳＲＡＭ（Ｓｔａｔｉｃ  ＲＡＭ）やＤＲＡＭ（Ｄｙｎａｍｉｃ  ＲＡＭ）などの半導体メモリ、またはＲＡＭでなくてもフラッシュメモリなどが用いられる。ＲＯＭ３０３は、ＰＲＯＭ（Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ）なども含む。ドライブ装置３０４は、記憶媒体３０５に記録された情報の読み出しか書き込みかの少なくともいずれか一方を行なう装置である。記憶媒体３０５は、ドライブ装置３０４によって書き込まれた情報を記憶する。記憶媒体３０５は、例えば、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）などのフラッシュメモリ、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）、ブルーレイディスクなどの記憶媒体である。また、例えば、コンピュータ１は、複数種類の記憶媒体それぞれについて、ドライブ装置３０４及び記憶媒体３０５を設ける。
【００６０】
入力インターフェース３０６は、入力デバイス３０７と接続されており、入力デバイス３０７から受信した入力信号をプロセッサ３０１に伝達する回路である。出力インターフェース３０８は、出力デバイス３０９と接続されており、出力デバイス３０９に、プロセッサ３０１の指示に応じた出力を実行させる回路である。通信インターフェース３１０はネットワーク３を介した通信の制御を行なう回路である。通信インターフェース３１０は、例えばネットワークインターフェースカード（ＮＩＣ）などである。ＳＡＮインターフェース３１１は、ストレージエリアネットワークによりコンピュータ１と接続された記憶装置との通信の制御を行なう回路である。ＳＡＮインターフェース３１１は、例えばホストバスアダプタ（ＨＢＡ）などである。
【００６１】
入力デバイス３０７は、操作に応じて入力信号を送信する装置である。入力信号は、例えば、キーボードやコンピュータ１の本体に取り付けられたボタンなどのキー装置や、マウスやタッチパネルなどのポインティングデバイスである。出力デバイス３０９は、コンピュータ１の制御に応じて情報を出力する装置である。出力デバイス３０９は、例えば、ディスプレイなどの画像出力装置（表示デバイス）や、スピーカーなどの音声出力装置などである。また、例えば、タッチスクリーンなどの入出力装置が、入力デバイス３０７及び出力デバイス３０９として用いられる。また、入力デバイス３０７及び出力デバイス３０９は、コンピュータ１と一体になっていてもよいし、コンピュータ１に含まれず、例えば、コンピュータ１に外部から接続する装置であってもよい。
【００６２】
例えば、プロセッサ３０１は、ＲＯＭ３０３や記憶媒体３０５に記憶されたプログラムをＲＡＭ３０２に読み出し、読み出されたプログラムの手順に従って、受付部１１０、照合処理部１２０、出力部１３０の処理を行なう。その際にＲＡＭ３０２はプロセッサ３０１のワークエリアとして用いられる。記憶部の機能は、ＲＯＭ３０３および記憶媒体３０５がプログラムファイル（後述のアプリケーションプログラム２４、ミドルウェア２３およびＯＳ２２など）やデータファイル（テキストデータ、照合対象となる文字列）を記憶し、ＲＡＭ３０２がプロセッサ３０１のワークエリアとして用いられることによって実現される。プロセッサ３０１が読み出すプログラムについては、図８を用いて説明する。
【００６３】
図８は、コンピュータ１で動作するプログラムの構成例を示す。コンピュータ１において、図３に示すハードウェア群２１（３０１〜３１２）の制御を行なうＯＳ（オペレーティング・システム）２２が動作する。ＯＳ２２に従った手順でプロセッサ３０１が動作して、ハードウェア群２１の制御・管理が行なわれることにより、アプリケーションプログラム２４やミドルウェア２３に従った処理がハードウェア群２１で実行される。さらに、コンピュータ１において、ミドルウェア２３またはアプリケーションプログラム２４が、ＲＡＭ３０２に読み出されてプロセッサ３０１により実行される。
【００６４】
プロセッサ３０１が、照合機能が呼び出された場合に、ミドルウェア２３またはアプリケーションプログラム２４の少なくとも一部に基づく処理を行なうことにより、（それらの処理をＯＳ２２に基づいてハードウェア群２１を制御して）照合処理部１２０の機能が実現される。照合機能は、それぞれアプリケーションプログラム２４自体に含まれてもよいし、アプリケーションプログラム２４に従って呼び出されることで実行されるミドルウェア２３の一部であってもよい。
【００６５】
図９は、実施形態のシステムにおける装置の構成例を示す。図９のシステムは、コンピュータ１ａ、コンピュータ１ｂ、基地局２およびネットワーク３を含む。コンピュータ１ａは、無線または有線の少なくとも一方により、コンピュータ１ｂと接続されたネットワーク３に接続している。図２に示す照合装置１００の機能は、図９に示すコンピュータ１ａとコンピュータ１ｂとのいずれに含まれてもよい。
【００６６】
以上の各実施例を含む実施形態に関し、さらに以下の付記を開示する。
【００６７】
（付記１）コンピュータに、
受け付けた照合データを第１の符号化規則により第１の符号化フォーマットの符号化照合データに変換する処理と、
前記第１の符号化規則により前記第１の符号化フォーマットに符号化されるか、または、所定の変換規則により第２の符号化フォーマットにより符号化された符号化データを順次走査する処理と、
前記符号化照合データと前記符号化データを比較する処理と、を実行させ、
前記走査する処理の際に、前記第２の符号化フォーマットのデータを検出した場合は、前記所定の変換規則に基づいて前記第２の符号化フォーマットを前記第１の符号化フォーマットに変換後に、前記符号化照合データと比較する処理を実行させる、
ことを特徴とする照合プログラム。
【００６８】
（付記２）前記第１の符号化フォーマットの符号化照合データは、３バイトのコードであり、前記第２の符号化フォーマットの符号化対象データは、２バイトまたは１バイトのコードであることを特徴とする付記１に記載の照合プログラム。
【００６９】
（付記３）前記第１の符号化フォーマットの符号化照合データおよび前記第２の符号化フォーマットの符号化対象データは、所定のスペース付きの単語または文字列に対応付けられていることを特徴とする付記２に記載の照合プログラム。
【００７０】
（付記４）元のデータを前記第２の符号化フォーマットによる２バイトの符号化データに変換し、前記走査する処理の際に、前記２バイトの符号化データを検出した場合は、前記所定の変換規則に基づいて前記第２の符号化データを、前記第１の符号化フォーマットによる３バイトの符号化データに変換し、前記符号化照合データと比較する処理を実行させることを特徴とする付記１に記載の照合プログラム。
【００７１】
（付記５）コンピュータが実行する照合方法であって、
受け付けた照合データを第１の符号化規則により第１の符号化フォーマットの符号化照合データに変換する処理と、
前記第１の符号化規則により前記第１の符号化フォーマットに符号化されるか、または、所定の変換規則により第２の符号化フォーマットにより符号化された符号化データを順次走査する処理と、
前記符号化照合データと前記符号化データを比較する処理と、を実行させ、
前記走査する処理の際に、前記第２の符号化フォーマットのデータを検出した場合は、前記所定の変換規則に基づいて前記第２の符号化フォーマットを前記第１の符号化フォーマットに変換後に、前記符号化照合データと比較する処理を実行させる、
ことを特徴とする照合方法。
【００７２】
（付記６）前記第１の符号化フォーマットの符号化照合データは、３バイトのコードであり、前記第２の符号化フォーマットの符号化対象データは、２バイトまたは１バイトのコードであることを特徴とする付記５に記載の照合方法。
【００７３】
（付記７）前記第１の符号化フォーマットの符号化照合データおよび前記第２の符号化フォーマットの符号化対象データは、所定のスペース付きの単語または文字列に対応付けられていることを特徴とする付記５に記載の照合方法。
【００７４】
（付記８）元のデータを前記第２の符号化フォーマットによる２バイトの符号化データに変換し、前記走査する処理の際に、前記２バイトの符号化データを検出した場合は、前記所定の変換規則に基づいて前記第２の符号化データを、前記第１の符号化フォーマットによる３バイトの符号化データに変換し、前記符号化照合データと比較する処理を実行させることを特徴とする付記５に記載の照合方法。
【００７５】
（付記９）受け付けた照合データを第１の符号化規則により第１の符号化フォーマットの符号化照合データに変換する受付部と、
受け付けた照合データを第１の符号化規則により第１の符号化フォーマットの符号化照合データに変換し、前記第１の符号化規則により前記第１の符号化フォーマットに符号化されるか、または、所定の変換規則により第２の符号化フォーマットにより符号化された符号化データを順次走査し、前記符号化照合データと前記符号化データを比較、前記走査する際に、前記第２の符号化フォーマットのデータを検出した場合は、前記所定の変換規則に基づいて前記第２の符号化フォーマットを前記第１の符号化フォーマットに変換後に、前記符号化照合データと比較する照合処理部と
を有することを特徴とする照合装置。
【００７６】
（付記１０）前記第１の符号化フォーマットの符号化照合データは、３バイトのコードであり、前記第２の符号化フォーマットの符号化対象データは、２バイトまたは１バイトのコードであることを特徴とする付記９に記載の照合装置。
【００７７】
（付記１１）前記第１の符号化フォーマットの符号化照合データおよび前記第２の符号化フォーマットの符号化対象データは、所定のスペース付きの単語または文字列に対応付けられていることを特徴とする付記９に記載の照合装置。
【００７８】
（付記１２）前記受付部は、元のデータを前記第２の符号化フォーマットによる２バイトの符号化データに変換し、前記照合処理部は、走査する際に、前記２バイトの符号化データを検出した場合は、前記所定の変換規則に基づいて前記第２の符号化データを、前記第１の符号化フォーマットによる３バイトの符号化データに変換し、前記符号化照合データと比較する処理を実行させることを特徴とする付記９に記載の照合装置。
【符号の説明】
【００７９】
１００  照合装置
１１０  受付部
１２０  照合処理部
１３０  出力部
【図１】
0006648431.tif 000002
【図２】
0006648431.tif 000003
【図３】
0006648431.tif 000004
【図４】
0006648431.tif 000005
【図５】
0006648431.tif 000006
【図６】
0006648431.tif 000007
【図７】
0006648431.tif 000008
【図８】
0006648431.tif 000009
【図９】
0006648431.tif 000010