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

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

Info

Publication number
JP6028393B2
JP6028393B2 JP2012119099A JP2012119099A JP6028393B2 JP 6028393 B2 JP6028393 B2 JP 6028393B2 JP 2012119099 A JP2012119099 A JP 2012119099A JP 2012119099 A JP2012119099 A JP 2012119099A JP 6028393 B2 JP6028393 B2 JP 6028393B2
Authority
JP
Japan
Prior art keywords
collation
character information
information
state
character
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
JP2012119099A
Other languages
English (en)
Other versions
JP2013246593A (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 JP2012119099A priority Critical patent/JP6028393B2/ja
Priority to US13/848,833 priority patent/US20130318072A1/en
Priority to CN201310139777.1A priority patent/CN103425721B/zh
Publication of JP2013246593A publication Critical patent/JP2013246593A/ja
Application granted granted Critical
Publication of JP6028393B2 publication Critical patent/JP6028393B2/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/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/33Querying
    • G06F16/3331Query processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、文字情報の照合技術に関する。
htmlなどのマークアップ言語において、文章の修飾情報(文字の大きさの指定、組版の状態など)は、テキストで表現されるタグなどを用いて指定される。修飾情報に基づいた修飾の1つとして、1つの意味を有する言語単位(単語又は文字などの言語を構成する単位)を複数の異なる表記による文字情報で併記させる修飾(例えば、ルビ付きの文字列の表示、ピン音付きの中国語の表示など)がある。マークアップ言語で記述されたテキスト内では、タグにより表記(表示位置、表示サイズなどの表示ルール)を指定される。例えば、文字列にルビを付与する場合には、ルビ文字であることが指定された表記か、ルビ文字が付される文字(親文字)であることが指定された表記かがタグにより識別される。htmlにおいては、「七夕祭り」という文字情報の部分は、「<ruby><rb>七夕</rb><rp>(</rp><rt>たなばた</rt><rp>)</rp><rb>祭</rb><rp>(</rp><rt>まつ</rt><rp>)</rp></ruby>り」などの記述(記述D1)で表現される。記述D1の場合、「七夕」が親文字で、「たなばた」がルビ文字である。 記述D1はタグ情報を除くと「七夕…たなばた…祭…まつ…り」であるため、例えば、「七夕祭り」などの検索文字列で検索を行なった場合には、検索文字列に合致しないと判定される。
それに対し、検索対象の文書内の文字情報(タグを除く)に、ルビが付されない文字列か、親文字か、ルビ文字であるかを識別する情報を対応付けておき、検索文字列の始めの文字と合致する文字と同じ識別情報に対応付けられた文字のみと、検索文字列を照合させる技術がある。照合処理により検索文字列の先頭と親文字が一致した場合には、後続の親文字までの間に存在するルビ文字との照合をスキップし、スキップされたルビ文字の後に存在する親文字との照合が行なわれる。
特開2003−330917号公報
しかしながら、検索文字列の先頭文字が親文字と一致すると、ルビとの照合をスキップしてしまうので、検索文字列のうち、一部が親文字と一致し、他の一部がルビ文字と一致する場合には一致しないと判断してしまう。例えば、「七夕まつり」や「たなばた祭り」などの検索文字列は、記述D1には含まれないと判断される。
本開示の一側面において、複数通りの表記の併記を指示された文字情報であって、併記させる指示に基づいて表示させると連続して示される文字情報が照合文字列である場合に、照合文字列と、併記させる指示がなされた文字情報とが一致しないと判定されることを抑制することを目的とする。
一態様によれば、照合プログラムが、照合文字情報との照合処理を行なうコンピュータに、照合対象の文書データに、ある言語単位に対する第1の表記である第1の文字情報前記ある言語単位に対する第2の表記である第2の文字情報を併記させる指示が含まれる場合に、前記第1の文字情報に対する前記照合文字情報における第1の対象文字情報との第1の照合処理および前記第2の文字情報に対する前記照合文字情報における前記第1の対象文字情報との第2の照合処理を並列に行ない、前記第1の照合処理の結果を示す第1状態情報および前記第2の照合処理の結果を示す第2の状態情報を生成し、少なくとも前記第1の状態情報および前記第2の状態情報のうち照合処理の結果が一致することを示す一方の状態情報に基づいて、前記文書データにおいて前記第1の文字情報及び前記第2の文字情報に後続する文字情報と前記照合文字情報において前記第1の対象文字情報に後続する第2の対象文字情報との照合処理を行なう、処理を実行させる。
一態様によれば、照合文字情報との照合処理を行なうコンピュータによって実行される照合方法において、照合対象の文書データに、ある言語単位に対する第1の表記である第1の文字情報前記ある言語単位に対する第2の表記である第2の文字情報を併記させる指示が含まれる場合に、前記第1の文字情報に対する前記照合文字情報における第1の対象文字情報との第1の照合処理および前記第2の文字情報に対する前記照合文字情報における前記第1の対象文字情報との第2の照合処理を並列に行ない、前記第1の照合処理の結果を示す第1状態情報および前記第2の照合処理の結果を示す第2の状態情報を生成し、少なくとも前記第1の状態情報および前記第2の状態情報のうち照合処理の結果が一致することを示す一方の状態情報に基づいて、前記文書データにおいて前記第1の文字情報及び前記第2の文字情報に後続する文字情報と前記照合文字情報において前記第1の対象文字情報に後続する第2の対象文字情報との照合処理を行なう、照合方法である
一態様によれば、照合装置が、照合文字情報を受け付ける受付部と、照合対象の文書データに、ある言語単位に対する第1の表記である第1の文字情報前記ある言語単位に対する第2の表記である第2の文字情報を併記させる指示が含まれる場合に、前記第1の文字情報に対する前記照合文字情報における第1の対象文字情報との第1の照合処理および前記第2の文字情報に対する前記照合文字情報における前記第1の対象文字情報との第2の照合処理を並列に行ない、前記第1の照合処理の結果を示す第1状態情報および前記第2の照合処理の結果を示す第2の状態情報を生成し、少なくとも前記第1の状態情報および前記第2の状態情報のうち照合処理の結果が一致することを示す一方の状態情報に基づいて、前記文書データにおいて前記第1の文字情報及び前記第2の文字情報に後続する文字情報と前記照合文字情報において前記第1の対象文字情報に後続する第2の対象文字情報との照合処理を行なう照合部と、を含む。
本発明の一側面において、複数通りの表記の併記を指示された文字情報であって、併記させる指示に基づいて表示させると連続して示される文字情報が照合文字列である場合に、照合文字列と、併記させる指示がなされた文字情報とが一致しないと判定されることを抑制することができる。
図1は、コンピュータ1の機能ブロックの例を示す。 図2は、オートマトンのモデル図を示す。 図3は、オートマトンのデータ構造例を示す。 図4は、状態情報の例を示す。 図5は、検索文字列との一致箇所を示すテーブルの例である。 図6は、記憶領域R0〜R5の時系列変化を示す 図7は、コンピュータ1を含むシステム構成を示す。 図8は、コンピュータ1のハードウェア構成を示す。 図9は、コンピュータ1のソフトウェア構成を示す。 図10は、検索部11による検索処理のフローを示す。 図11は、生成部14によるオートマトン生成フローを示す。 図12Aは、照合処理のフローを示す。 図12Bは、照合処理のフローを示す。 図13A及びBは、オートマトンのモデル図を示す。 図14Aは、記憶領域の時系列変化を示す。 図14Bは、記憶領域の時系列変化を示す。 図15は、記憶領域の時系列変化を示す。
図1は、第1の実施形態におけるコンピュータ1の機能ブロックの例を示す。コンピュータ1は、検索部11および記憶部12を含む。記憶部12は、例えば、検索対象となるファイル群F1〜Fnなどを記憶する。検索部11は、記憶部12に記憶されたファイル群F1〜Fnについて検索を行なう。
検索部11は、受付部13、生成部14、読出部15、検知部16、照合部17及び出力部18を含む。受付部13は、検索文字列の指定を含む検索要求を受け付ける。生成部14は、受付部13が受け付けた検索要求に含まれる検索文字列に基づいてオートマトンを生成する。読出部15は、検索対象のファイル群F1〜Fnを読み出す制御を行なう。検知部16は、読出部15の制御により読み出されたファイル(ファイルFiとする)から、1つの意味を有する文字情報を複数通りの表記で表示させる指定を検知する。1つの意味を有する文字情報を複数通りの表記で表示させる指定(例えば、ルビの挿入を指定するタグ情報など)を検出した場合に、検知部16は、指定が含まれる箇所を照合部17に通知する。照合部17は、読出部15が読み出したファイル(ファイルFiとする)内の文字情報と検索文字列との照合処理を、生成部14が生成したオートマトンを用いて行なう。照合部17は、検知部16から通知を受けた場合には、通知に示される箇所でオートマトンの状態を示す状態情報を複製し、2つの状態情報を得る。照合部17は、さらに、一方の状態情報に対して、意味内容が重複する一方の文字列との照合結果を反映し、他方の状態情報に対して、意味内容が重複する他方の文字列との照合結果を反映する。出力部18は、照合部17による照合処理の結果を出力する。
図2は、生成部14が生成するオートマトンのモデル図を示す。図2に示すオートマトンは、「七夕まつり」という検索文字列に対応するオートマトンである。照合部17は、検索対象のファイルから順次読み出した文字情報の各々についてオートマトンに含まれる状態の遷移条件を満たすか否かの判断を行う。
例えば、まず、照合部17は、読出部15が読み出したファイルFiから文字情報を読みだすたびに、オートマトンの初期状態における遷移条件を満たすか否かの判断を繰り返す。すなわち、照合部17は、ファイルFiから順次文字情報を読み出し、初期状態(0)から次の状態(1)への遷移条件である遷移条件1の「七」という文字情報と照合する。照合の結果、ファイルFiから読み出した文字情報が遷移条件1の「七」と一致する場合には、照合部17は、オートマトンの状態を次の状態(1)に遷移させる。
オートマトンの状態が状態(1)に遷移した場合には、照合部17は、状態(1)における遷移条件を満たすか否かを判断する。すなわち、照合部17は、状態(1)への遷移に続いてファイルFiから読み出した文字情報を、状態(1)から状態(2)への遷移条件である遷移条件1の「夕」という文字情報と照合する。照合の結果、一致する場合には、照合部17は、オートマトンの状態を状態(2)に遷移させる。さらに、照合部17は、読み出した文字情報を、状態(1)から状態(1)への遷移条件である遷移条件2の「七」という文字情報と照合する。照合の結果、一致する場合には、照合部17は、オートマトンの状態を状態(1)に遷移させる。照合の結果、遷移条件1及び遷移条件2のいずれとも一致しない場合には、照合部17は、オートマトンの状態を初期状態(0)に戻す。
オートマトンの状態が状態(2)に遷移した場合には、照合部17は、状態(2)における遷移条件を満たすか否かを判断する。すなわち、照合部17は、状態(2)への遷移に続いてファイルFiから読み出した文字情報を、状態(2)から状態(3)への遷移条件である遷移条件1の「ま」という文字情報と照合する。照合の結果、一致する場合には、照合部17は、オートマトンの状態を状態(3)に遷移させる。さらに、照合部17は、読み出した文字情報を、状態(2)から状態(1)への遷移条件である遷移条件2の「七」という文字情報と照合する。照合の結果、一致する場合には、照合部17は、オートマトンの状態を状態(1)に遷移させる。照合の結果、遷移条件1及び遷移条件2のいずれとも一致しない場合には、照合部17は、オートマトンの状態を初期状態(0)に戻す。
オートマトンの状態が状態(3)に遷移した場合には、照合部17は、状態(3)における遷移条件を満たすか否かを判断する。すなわち、照合部17は、状態(3)への遷移に続いてファイルFiから読み出した文字情報を、状態(3)から状態(4)への遷移条件である遷移条件1の「つ」という文字情報と照合する。照合の結果、一致する場合には、照合部17は、オートマトンの状態を状態(4)に遷移させる。さらに、照合部17は、読み出した文字情報を、状態(3)から状態(1)への遷移条件である遷移条件2の「七」という文字情報と照合する。照合の結果、一致する場合には、照合部17は、オートマトンの状態を状態(1)に遷移させる。照合の結果、遷移条件1及び遷移条件2のいずれとも一致しない場合には、照合部17は、オートマトンの状態を初期状態(0)に戻す。
オートマトンの状態が状態(4)に遷移した場合には、照合部17は、状態(4)における遷移条件を満たすか否かを判断する。すなわち、照合部17は、状態(4)への遷移に続いてファイルFiから読み出した文字情報を、状態(4)から状態(F)への遷移条件である遷移条件1の「り」という文字情報と照合する。照合の結果、一致する場合には、照合部17は、オートマトンの状態を状態(F)に遷移させる。さらに、照合部17は、読み出した文字情報を、状態(4)から状態(1)への遷移条件である遷移条件2の「七」という文字情報と照合する。照合の結果、一致する場合には、照合部17は、オートマトンの状態を状態(1)に遷移させる。照合の結果、遷移条件1及び遷移条件2のいずれとも一致しない場合には、照合部17は、オートマトンの状態を初期状態(0)に戻す。オートマトンの状態が状態(F)に遷移すると、照合部17は、状態(F)を遷移した際に読み出されていた文字情報を特定可能な情報を記憶部12に記憶する。記憶部12に記憶される情報は、例えば、検索文字列と一致した文字列のファイルFi中の位置などである。ファイルFi中の位置を示す情報は、ファイルFiを読出し始めてから状態(F)に遷移するまでに読み出した文字情報の数などでよい。
上記の手順でオートマトンの状態遷移の判断を順に行なうことで、照合部17は、ファイルFiから文字情報を「七」→「夕」→「ま」→「つ」→「り」の順で連続して読み出した場合に、検索文字列「七夕まつり」が含まれていることを判断する。
次に、照合部17によるオートマトンの各状態遷移の判断について、さらに詳細に説明する。図3は、図2のモデル図に示されるオートマトンのデータ構造(テーブルT1)を示す。図3に示すテーブルT1は、図2に示すオートマトンの各状態が遷移元状態である場合の遷移先状態及び遷移条件を示す。テーブルT1においては、各遷移元状態に対して、遷移条件1及び遷移先状態1の組み合わせ、遷移条件2及び遷移先状態2の組み合わせ 並びに遷移先状態3が関連付けられる。例えば、オートマトンの状態が初期状態(0)である場合に、遷移条件1(図2の例では「七」)が満たされると、オートマトンの状態は、遷移先状態1に遷移される。また、遷移条件2が満たされると、オートマトンの状態は、遷移先状態2に遷移される。遷移条件1及び遷移条件2も満たされない場合には、オートマトンの状態は、遷移先状態3に遷移される。
テーブルT1は、生成部14の処理により生成される。生成部14は、受付部13で検索文字列が受け付けられると、検索文字列に含まれる各文字情報の順序に応じて、図3に示すテーブルT1を生成し、記憶部12に記憶する。
また、図4は、状態を示す状態情報の例を示す。状態情報は、図4に示す記憶領域R0に格納される。記憶領域R0は、記憶部12に設けられた記憶領域でもよいし、検索部11が有するレジスタ内の記憶領域でもよい。例えば、記憶領域R0は、アドレス「000」で示される記憶領域とする。複数の状態情報を用いる場合には、例えば、記憶領域R0の隣の記憶領域R1(例えば、記憶領域R0のアドレスをインクリメントした値に相当するアドレス「001」で示される記憶領域)が用いられる。
照合部17は、図2のモデル図を用いて説明した照合処理を、記憶部12に記憶されたテーブルT1、および記憶領域に格納された状態情報を参照して行なう。例えば、照合部17は、記憶領域R0の参照により状態情報を取得し、記憶部12に記憶されたテーブルT1から、取得した状態情報に示される状態を遷移元状態とするレコードを抽出する。続いて、照合部17は、ファイルFiから文字情報を取得して、取得した文字情報が、抽出したレコードに示される遷移条件を満たすかを判断する。さらに、照合部17は、遷移条件を満たす場合には、記憶領域R0に格納される状態情報を、満たされた遷移条件に対応する遷移先状態を示す状態情報に更新し、いずれの遷移条件も満たさない場合には、記憶領域R0に格納される状態情報を、初期状態(0)を示す状態情報に更新する。
ファイルFiについて照合を開始する際には、照合部17は、まず、初期状態(0)を示す状態情報を記憶領域R0に保持する。例えば、記憶領域R0に保持している情報が、初期状態(0)を示し、ファイルFiから「七」という文字情報を読み出した場合には、照合部17は、記憶領域R0に保持される状態情報を、初期状態(0)を示す状態情報から、状態(1)を示す状態情報に更新する。
記憶領域R0に状態(F)を示す状態情報が保持されると、照合部17は、検索文字列「七夕まつり」との一致であると判断し、ファイルFi内で検索文字列との一致箇所を示す情報を記憶部12にテーブルT2に格納する。図5は、テーブルT2を示す。テーブルT2は検索文字列と一致する文字情報を含むファイルFiを識別する情報、ファイル内の位置を示す情報とを対応付けるテーブルである。
次に、検知部16から通知を受けた場合の照合部17の制御を説明する。検知部16は、ファイルFiからの照合部17の文字情報の読み出しにおいて、1つの意味を有する文字情報を複数通りの表記で表示させる指定が文書データに含まれているか否かを判断する。この指定は、例えば、xhtml(extensible hypertext markup language)などにおいてルビ表記を指定するタグ情報である<ruby>タグ、<rb>および<rt>などである。xhtmlを用いた文書データでは、<ruby>タグに挟まれた範囲内において、<rb>タグで挟まれた文字情報が親文字として表記され、<rt>タグに挟まれた文字情報がルビ文字として表記される。検知部16は、例えば、<rb>タグを検知した場合に、照合部17に<rb>タグを検知した旨を通知する。通知を受けると、照合部17は、<rb>タグをファイルFiから読み出したことを検知した場合に、記憶領域R0に保持されている状態情報を複製し、例えば、記憶領域R1に保持させる。さらに、照合部17は、ルビの親文字(<rb>タグで囲まれた文字情報)によるオートマトン遷移を、複製された一方の状態情報(記憶領域R0に格納される)に反映させ、ルビ文字(<rt>タグで囲まれた文字情報)によるオートマトン遷移を、複製された他方の状態情報(記憶領域R1に格納される)に反映させる。
例えば、状態情報が初期状態(0)を示す場合に、ファイルFiから記述D1が読み出されるとする。また、検索文字列は「七夕まつり」であるとする。図6は、記述D1が読み出された場合の記憶領域R0〜R5の時系列変化を示す図である。まず、記述D1を読み出す前は、記憶領域R0に格納された状態情報が「0」であり、記憶領域R0〜R5に格納される情報は、(S1)に示す通りであるとする。
検知部16から通知を受け、<rb>タグを検知すると、照合部17は、記憶領域R0に格納された状態情報を記憶領域R1に格納する。この場合の記憶領域R0〜R5に格納される情報は、(S2)に示す通りである。複製先の記憶領域は、例えば、複製元の記憶領域と複製の多重度に応じて決定される。記憶領域R0に記憶された状態情報を複製する場合には、1回目の複製であるので、照合部17は、記憶領域R0に格納されている状態情報を記憶領域R1(アドレス「001」で示される)にコピーする。この場合、アドレスの一番下位の桁の値が「0」である記憶領域が複製元であり、アドレスの一番下位の桁の値が「1」である記憶領域が複製先である。さらに複製を行なう場合には、2回目の複製であるので、アドレスの下位から2番目の値が「1」である記憶領域(010、011などのアドレスで示される記憶領域)に、アドレスの下位から2番目の値が「0」である記憶領域(000、001などのアドレスで示される記憶領域)の状態情報をコピーする。上述のアドレッシングにより、<rb>タグを複数回検知した場合にも、<rb>タグに挟まれた文字情報についての照合と、<rt>タグで挟まれた文字情報についての照合とで、照合結果を反映させる記憶領域を切り替えることができる。例えば、照合部17は、<rb>タグの1回目の検知では、アドレスの下位1ケタの値が「0」か「1」かに応じて記憶領域を切り替え、<rb>タグの2回目の検知では、アドレスの下位2ケタ目の値が「0」か「1」かに応じて記憶領域を切り替える。
続いて、照合部17は、記憶領域R0(アドレス「000」で示される)の状態情報とオートマトン(テーブルT1)とを参照し、遷移条件を読み出す。さらに、照合部17は、ファイルFiの<rb>タグに挟まれた範囲内から読み出す先頭の文字である「七」が、遷移条件を満たすか否かを判断する。この場合、検索文字列が「七夕まつり」であり、ファイルFiから読み出す先頭の文字が「七」であるので、記憶領域R0に記憶される状態情報を、初期状態(0)から状態(1)に更新する。さらに、照合部17は、「七」の次に読みだす「夕」が、状態(1)から状態(2)への遷移条件を満たすか否か判定する。この場合、照合部17は、状態(1)から状態(2)への遷移条件を満たすので、記憶領域R0に記憶される状態情報を、状態(2)を示す状態情報に更新する。この場合の記憶領域R0〜R5に格納される情報は、(S3)に示す通りである。
照合部17は、「夕」の次は、<rt>タグに挟まれた「た」を対象に照合処理を行なう。照合部17は、記憶領域R1(アドレス「001」で示される)とテーブルT1を参照し、遷移条件を読み出す。読みだした文字情報「た」が、状態(1)への遷移条件「七」に一致しないので、記憶領域R1に格納される状態情報は、初期状態(0)のままとなる。照合部17は、ファイルFiから「な」、「ば」及び「た」のいずれを読み出した場合にも、「た」の場合と同様に、記憶領域R1に格納される状態情報を初期状態(0)のままとなる。この場合の記憶領域R0〜R5に格納される情報は、(S4)に示す通りである。
次に、検知部16は、<rb>タグの読出しを検知し、照合部17は、さらに、状態情報を複製する。例えば、記憶領域R0に格納された状態情報が記憶領域R2(アドレス「010」に示される)に複製され、記憶領域R1に格納された状態情報が記憶領域R3(アドレス「011」に示される)に複製される。この場合の記憶領域R0〜R5に格納される情報は、(S5)に示す通りである。
次に、照合部17は、アドレスの2桁目が「0」である記憶領域(記憶領域R0及び記憶領域R1)に格納された状態情報のそれぞれについて、<rb>タグに挟まれた文字情報「祭」に基づく遷移を行なう。記憶領域R0に格納された状態情報は、状態(2)を示すので、遷移条件は「ま」との合致である。読み出される文字が「祭」であり、「ま」と合致しないので、記憶領域R0に格納される状態情報は、状態(0)に更新される。記憶領域R1に格納される状態情報は、初期状態(0)を示し、遷移条件「七」と合致しないので、記憶領域R1の状態情報は、初期状態(0)のままである。この場合の記憶領域R0〜R5に格納される情報は、(S6)に示す通りである。
さらに、照合部17は、<rt>タグに挟まれた文字情報「ま」に基づく遷移を、アドレスの2桁目が「1」である記憶領域(記憶領域R2及び記憶領域R3)に格納された状態情報のそれぞれについて行なう。記憶領域R2に格納された状態情報は、状態(2)を示すので、遷移条件は「ま」との合致である。読み出される文字情報は「ま」であるため、記憶領域R2に格納される状態情報は、状態(3)に更新される。記憶領域R3に格納される状態情報は、状態(0)を示し、遷移条件「七」と合致しないので、記憶領域R3の状態情報は、状態(0)のままである。
さらに、照合部17は、文字情報「つ」に基づく遷移を、記憶領域R2及び記憶領域R3に格納された状態情報のそれぞれについて行なう。記憶領域R2の状態情報は状態(3)を示し、遷移条件が「つ」との合致である。文字情報「つ」が読み出されるため、照合部17は、記憶領域R2の状態情報を状態(4)に更新する。記憶領域R3の状態情報は状態(0)を示し、遷移条件「七」は満たされないので、照合部17は、記憶領域R3に格納する状態情報を状態(0)のままとする。この場合の記憶領域R0〜R5に格納される情報は、(S7)に示す通りである。
照合部17は、ルビ表記を終了させる指定(</ruby>)の読出しを検知すると、複数の状態情報のうち、重複する状態情報を格納する記憶領域を解放する。上述の例では、記憶領域R0、記憶領域R1および記憶領域R3に格納される状態情報が、状態(0)を示し、重複する。例えば、照合部17は、記憶領域R1及び記憶領域R3を解放する。
さらに、照合部17は、ファイルFiから読み出される文字情報について、照合処理を継続する。文字情報「り」が読み出されると、照合部17は、記憶領域R0及び記憶領域R2に格納される状態情報のそれぞれについて、遷移を行なう。記憶領域R0に格納される状態情報は、状態(0)を示す。状態(0)から状態(1)の遷移条件は「七」である。文字情報「り」は、「七」に該当しないため、照合部17は、記憶領域R0に格納される状態情報を状態(0)のままとする。記憶領域R2に格納される状態情報は、状態(4)を示す。状態(4)から状態(F)への遷移条件は「り」であり、その遷移条件が満たされるので、照合部17は、記憶領域R2に格納される状態情報を状態(F)に更新する。この場合の記憶領域R0〜R5に格納される情報は、(S8)に示す通りであるとする。
文書データ内で「七夕…たなばた…祭…まつ…り」のように、同じ意味の言語単位について複数種類の表記の併記が指定された部分が連続する場合がある。この併記された部分は、表示上、「七夕祭り」とも、「たなばた祭り」とも、「七夕まつり」とも、「たなばたまつり」とも読めるが、文書データ内では「七夕…たなばた…祭…まつ…り」となっているため、いずれも当てはまらない。上述の照合処理では、連続する併記部分のうち、先の部分で親文字表記が指定された「七夕」という文字情報の末尾(例えば「夕」)と、先の部分でルビ文字表記が指定された「まつり」という文字情報の冒頭(例えば「ま」)とを連続させた文字情報(例えば「夕ま」)に対して、照合が行なわれる。そのため、「七夕…たなばた…祭…まつ…り」というように、間に「たなばた」「祭」などの文字情報があっても「七夕まつり」を連続する文字情報として、照合・抽出できる。上述した末尾と冒頭とは、先の部分の親文字表記が指定された文字情報と、後の部分のルビ文字表記が指定された文字情報とが連続すればよく、文字数は限定されない。上述の照合処理によれば、「七夕まつり」のように、一方の表記複数種類の表記が入り混じった検索文字列と照合しても、合致する旨の判定が行なわれる。
図7は、コンピュータ1を含むシステム構成を示す。図7に示すシステムは、コンピュータ1、コンピュータ2、記憶装置3及びネットワーク4を含む。ファイル群F1〜Fnは、コンピュータ1の記憶部12に格納されているが、例えば、ネットワーク4を介して接続された記憶装置3に記憶されていてもよい。その場合には、読出部15が記憶部12からではなく、記憶装置3からファイル群F1〜Fnのそれぞれを読み出す。
図8は、コンピュータ1のハードウェア構成例を示す。図1〜3に示す各機能ブロックは、例えば、図8に示すハードウェア構成により実現される。コンピュータ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、バス311などを含む。それぞれのハードウェアはバス311を介して接続されている。通信I/F310はネットワーク4を介した通信の制御を行なう。入力インターフェース306は、入力デバイス307と接続されており、入力デバイス307から受信した入力信号をプロセッサ301に伝達する。出力インターフェース308は、出力デバイス309と接続されており、出力デバイス309に、プロセッサ301の指示に応じた出力を実行させる。
RAM302は読み書き可能なメモリ装置であって、例えば、SRAM(Static RAM)やDRAM(Dynamic RAM)などの半導体メモリ、またはRAMでなくてもフラッシュメモリなどが用いられる。ROM303は、PROM(Programmable ROM)なども含む。ドライブ装置304は、記録媒体305に記録された情報の読み出しか書き込みかの少なくともいずれか一方を行なう装置である。記録媒体305は、ドライブ装置304によって書き込まれた情報を記憶する。記録媒体305は、例えば、ハードディスク、CD(Compact Disc)、DVD(Digital Versatile Disc)、ブルーレイディスクなどの記録媒体である。また、例えば、コンピュータ1は、複数種類の記録媒体それぞれについて、ドライブ装置304及び記録媒体305を設ける。
入力デバイス307は、操作に応じて入力信号を送信する装置である。入力信号は、例えば、キーボードやコンピュータ1の本体に取り付けられたボタンなどのキー装置や、マウスやタッチパネルなどのポインティングデバイスである。出力デバイス309は、コンピュータ1の制御に応じて情報を出力する装置である。出力デバイス309は、例えば、ディスプレイなどの画像出力装置(表示デバイス)や、スピーカーなどの音声出力装置などである。また、例えば、タッチスクリーンなどの入出力装置が、入力デバイス307及び出力デバイス309として用いられる。また、入力デバイス307及び出力デバイス309は、コンピュータ1に含まれず、例えば、コンピュータ1に外部から接続する装置であってもよい。
プロセッサ301は、ROM303や記録媒体305に記憶されたプログラムをRAM302に読み出し、読み出されたプログラムの手順に従って検索部11の処理を行なう。その際にRAM302はプロセッサ301のワークエリアとして用いられる。記憶部12の機能は、ROM303および記憶媒体305がプログラムやファイル群F1〜Fnを記憶し、RAM302がプロセッサ301のワークエリアとして用いられることによって実現される。プロセッサ301が読み出すプログラムについては、図9を用いて説明する。
図9は、コンピュータ1で動作するソフトウェアの構成例を示す。コンピュータ1において、図9に示すハードウェア群21の制御を行なうOS22(オペレーションシステム)が動作する。OS22に従った手順でプロセッサ301が動作して、ハードウェア21の制御・管理が行なわれることにより、アプリケーションプログラムやミドルウェアによる処理がハードウェア21により実行される。さらに、コンピュータ1において、検索処理プログラム23が、RAM302に読み出されてプロセッサ301により実行される。また、さらに、プロセッサ301が検索処理プログラム23に基づく処理を行なうことにより、(それらの処理をOS22に基づいてハードウェア21を制御して)検索部11の機能が実現される。
図10は、検索部11による検索処理のフローを示す。検索処理プログラム23が起動される(S100)と、検索部11が前処理を実行する(S101)。この前処理は、例えば、テーブルT1、テーブルT2の記憶領域確保、読出部15が読み出すファイル群F1〜Fnのファイルリストの取得などである。受付部13は、検索要求があるか否かの判定を行ない(S102)、検索要求を受信しない場合(S102:NO)に、検索要求を受信するまで繰り返す。受付部13が検索要求を受けると、生成部14は、検索文字列とファイル群F1〜Fnに含まれる文字列との照合に用いるオートマトンを生成する(S103)。
図11は、生成部14が、検索文字列に基づいてオートマトンを生成するフローの一例を示す。図11に示すフローは、「七夕まつり」のように、検索文字列内で文字情報が繰り返される部分を含まない場合に用いることができる。例えば、「でんでん虫」などの文字列は、文字情報の繰り返しを含む(「でん」が繰り返されている)。「でんでん虫」という検索文字列についてオートマトンを生成する場合には、図11と異なるフローを用いる。図11に例示したフローを用いると、「…でんでんでん虫…」などの文字列が照合対象にふくまれていた場合には、「でんでん」まで状態が遷移し、その次の文字「で」が「虫」と一致しないために、状態を初期状態に戻してしまうオートマトンが生成される。初期状態に戻されると、残りの文字列は「でん虫」であるので、「でんでん虫」と一致しないことになってしまう。上記のことから、「でんでん虫」などの検索文字列中に文字情報の繰り返しを含む文字列にも対応するためには、他のフローが用いられてよい。
生成部14は、受付部13の検索要求の受付けに応じて処理を開始する(S200)。まず、生成部14は、受付部13が受け付けた検索要求から検索文字列を取得する(S201)。次に、生成部14は、取得した検索文字列の長さNを計数する(S202)。生成部14は、0〜N−1までの整数iを順に選択し、S204〜S210の処理を繰り返し行なう(S203)。
生成部14は、テーブルT1に1レコード追加する(S204)。生成部14は、S204で生成したレコードの遷移元状態を、S203で選択した整数「i」にする(S205)。さらに、生成部14は、S204で生成したレコードの遷移条件を、S201で取得した検索文字列のi+1番目の文字にする(S206)。
次に、生成部14は、整数iがN−1であるか否か判定する(S207)。整数iがN−1である場合(S207:YES)には、S204で生成したレコードの遷移先状態1を「F(照合完了を示す情報)」とする(S208)。また、生成部14は、整数iがN−1でない場合(S207:NO)には、S204で生成したレコードの遷移先状態1を「i+1」とする(S209)。
さらに、生成部14は、S204で生成したレコードの遷移条件2を検索文字列中の1番目の文字とし、遷移先状態2は1とし、遷移先状態3を「0」とする(S210)。S210の処理後、生成部14は、iがN−1であるか否か判定し、N−1でなければ、S203で次の整数を選択し、S204〜S210の処理を行なう(S211)。iがN−1であれば、生成部14はオートマトン生成処理を終了し(S212)、図10に示す検索処理フローの続きが実行される。
図10に示す検索処理フローの続きを説明する。生成部14の処理によりオートマトンが生成される(S103)と、読出部15は、ファイル群F1〜Fnから1つファイルを選択する(S104)。読出部15は、S104で選択されたファイルFiを記憶部12から読み出す(S105)。S105が実行されると、検知部16及び照合部17は、ファイルFi内の文字情報に対して、生成部14が生成したオートマトンに基づく照合処理を行なう。
図12A及び12Bは、照合部17による照合処理のフローを示す。照合処理が開始される(S300)と、照合部17は、ファイルFiからデータを読み出す(S301)。データの読出し単位は、例えば、タグ情報単位や1文字分の文字情報単位などである。次に、照合部17は、S301で読みだしたデータがタグ情報以外であるか否かを判定する(S302)。
S301で読みだしたデータがタグ情報であった場合(S302:NO)に、検知部16は、読みだしたタグ情報が<rb>タグであるか否かを判定する(S313)。照合部17は、読みだしたタグ情報が<rb>タグである場合(S313:YES)には、記憶領域に格納された状態情報を複製する(S314)。複製先のアドレスは、上述の通り、複製の多重度及び複製元のアドレスにより定められる。さらに、照合部17は、複製の多重度を記憶する(S315)。照合部17は、複製の多重度を確認し、記憶領域のアドレスのうち、下位から多重度が示す数の桁が「0」である状態情報を選択対象とする(S316)。すなわち直前に行われたS314の複製における複製元の状態情報が選択対象となる。
照合部17は、読みだしたタグ情報が<rb>タグでない場合(S313:NO)には、読みだしたタグ情報が<rt>タグであるか否かを判定する(S317)。読み出したタグ情報が<rt>である場合(S317:YES)は、照合部17は、複製の多重度を確認し、記憶領域のアドレスのうち、下位から多重度が示す数の桁が「1」である状態情報を選択対象とする(S318)。S316またはS318の処理が行われると、再度S301のデータ読み出し処理が行われる。
読み出したタグ情報が<rt>でない場合(S317:NO)は、照合部17は、読み出したタグ情報が</ruby>タグであるか否かを判定する(S319)。読み出したタグ情報が</ruby>タグである場合(S319:YES)には、記憶領域に記憶されたすべての状態情報を選択対象とする(S320)。S320において、照合部17は、さらに、重複した状態情報の削除許可を示すフラグをセットする。このフラグは、後述するS310で参照される。読み出したタグ情報が</ruby>タグでない場合(S319:NO)には、照合部17は、読み出したタグに対応する終了タグまでデータ読出しの位置を進める(S321)。
S301でタグ情報でなく、文字情報を読み出した場合には、照合部17は、選択対象の状態情報から1つ選択する(S303)。照合処理開始時点では、選択対象の状態情報は、記憶領域R0に記憶された状態情報である。S314の処理で状態情報が複製された後にはS316もしくはS318の処理で選択対象の状態情報を定められる。
S303で状態情報を選択すると、照合部17は、読み出した文字情報についての照合処理を行い、選択した状態情報の更新を行なう(S304)。この更新は、上述の通り、照合部17が、選択した状態情報を遷移元状態とするレコードをテーブル1から取得し、取得したレコードに含まれる遷移条件を満たすか否かに応じた遷移先状態を、選択した状態情報を記憶する記憶領域に記憶することで行なわれる。
S304で状態情報の更新が行われると、照合部17は、S304で更新が行われた状態情報が「F」を示すか否かを判定する(S305)。「F」は、オートマトンの終点を示す状態である。S305の判定で、状態情報が「F」である場合(S305:YES)には、ファイルFiの識別情報と、S301で読み出した文字情報のファイル中の位置を示す情報をテーブルT2に格納する(S306)。S306の処理後、照合部17は、更新された状態情報を初期状態(0)にさらに更新する(S307)。S305の判定で、状態情報が「F」でない場合(S305:NO)、もしくはS307の処理が行われた場合には、照合部17は、選択対象の状態情報のうち、未選択の状態情報があるか否か判定する。未選択の状態情報がある場合には、照合部17は、再度S303の処理を行ない、未選択の状態情報を選択する(S308)。未選択の状態情報がない場合には、照合部17は、S309の処理を行なう。
照合部17は、記憶領域に格納された状態情報のうち、重複して同じ状態情報を示す状態情報が存在するか否かを判定する(S309)。照合部17は、重複する状態情報が存在する場合には、S320の処理により、重複した状態情報の削除許可を示すフラグがセットされたかを確認する。削除許可を示すフラグがセットされていれば、重複する状態情報を記憶する記憶領域を解放し、さらに、選択対象の状態情報から除く(S310)。さらに、照合部17は、S310の処理により状態情報が1つのみになった場合には、削除許可を示すフラグをクリアする。S309の処理で重複する状態情報が存在しない場合(S309)、もしくはS310の処理が行われた場合には、照合部17は、ファイルFiから読み出す文字情報があるか否かが判定する(S311)。ファイルFi内に読み出す文字情報が存在する場合(S311:YES)には、照合部17は、S301の処理を再度行なう。ファイルFi内に読み出す文字情報が存在しない場合(S311:NO)には、照合処理が終了し、図10に示す検索処理のフローが行われる(S312)。
図10に示す検索処理フローの続きを説明する。S106の照合処理を終えると、読出部15は未選択のファイルがファイル群F1〜Fnに存在するか判定し、未選択のファイルが存在する場合には、S104の処理を再度行なう(S107)。未選択のファイルが存在しない場合には、出力部18は、照合部17による照合結果を出力する(S108)。照合結果の出力は、例えば、テーブルT2に格納された情報の表示である。また、テーブルT2の各レコードに示される部分の近傍を含めた文字情報を読み出して表示させてもよい。また、ファイル群F1〜Fnの各ファイルと、ファイルの格納先を示すアドレス情報とを予め関連付けておき、テーブルT2に格納されたファイルIDに関連付けられているアドレス情報を出力してもよい。
S108の処理が終了すると、検索部11は検索処理プログラム23の終了指示が行なわれたか否かを判定し(S109)、終了指示が行なわれていない場合(S109:NO)には、受付部13はS102の処理を再度行なう。終了指示が行なわれている場合(S109:YES)には、検索部11は、検索処理プログラム23を終了させる(S110)。
上述の処理によれば、検索対象の文書データから、検索文字列と一致する文字列として、親文字部分とルビ文字部分との双方を含む文字列を抽出することができる。
また、上述の説明では、<rb>タグの検知に応じて状態情報が複製される。しかし、状態情報の複製の契機は、使用される言語に応じて適宜変更可能である。1つの意味を有する複数通りの文字情報による表記の指定において、複数通りの文字情報の列挙の開始を示すものであればよい。例えば、<rb>タグを使用せずに、<ruby>タグに挟まれ、<rt>タグに挟まれない文字を親文字とする文法においては、<ruby>タグの検知に応じて、状態情報を複製すればよい。
上述の説明では、漢字に対する振り仮名を表示させることを例にあげたが、これに限定するものでなく、カタカナに振り仮名を振ってもよいし、中国語に漢字表記にピン音を振ってもよい。
さらに、ルビは英語にも用いられ、上述の実施例は英語についても実施可能である。例えば、BIOS(Basic Input/Output System)について、<ruby><rb>B</rb><rp>(</rp><rt>BASIC</rt><rp>)</rp><rb>I</rb><rp>(</rp><rt>INPUT/</rt><rp>)</rp><rb>O</rb><rp>(</rp><rt>OUTPUT</rt><rp>)</rp><rb>S</rb><rp>(</rp><rt>SYSTEM</rt><rp>)</rp></ruby>などの記述(記述D2)で表現されることがある。検索文字列は、例えば、「BIOS」と入力されるかもしれないし、「BASIC INPUT/OUTPUT SYSTEM」と入力されるかもしれないし、「BASIC IO SYSTEM」と入力されるかもしれない。
図13Aは、検索文字列「BIOS」に対応するオートマトンを示す。初期状態(0)における遷移条件1(対応する遷移先状態1は「1」)は「B」である。状態(1)における遷移条件1(対応する遷移先状態1は「2」)は「I」であり、遷移条件2(対応する遷移先状態2は「1」)は「B」である。状態(2)における遷移条件1(対応する遷移先状態1は「3」)は「O」であり、遷移条件2(対応する遷移先状態2は「1」)は「B」である。状態(3)における遷移条件1(対応する遷移先状態は「F」)は「S」であり、遷移条件2(対応する遷移先状態は「1」)は「B」である。
図13Bは、「BASIC IO SYSTEM」に対応するオートマトンを示す。初期状態(0)における遷移条件1(対応する遷移先状態1は「1」)は「B」である。状態(1)における遷移条件1(対応する遷移先状態1は「2」)は「A」であり、遷移条件2(対応する遷移先状態2は「1」)は「B」である。状態(2)における遷移条件1(対応する遷移先状態1は「3」)は「S」であり、遷移条件2(対応する遷移先状態2は「1」)は「B」である。状態(3)における遷移条件1(対応する遷移先状態1は「4」)は「I」であり、遷移条件2(対応する遷移先状態2は「1」)は「B」である。る。また、状態(4)における遷移条件1(対応する遷移先状態1は「5」)は「C」であり、遷移条件2(対応する遷移先状態2は「1」)は「B」である。状態(5)における遷移条件1(対応する遷移先状態1は「6」)は「I」であり、遷移条件2(対応する遷移先状態2は「1」)は「B」である。状態(6)における1(対応する遷移先状態1は「7」)遷移条件は「O」であり、遷移条件2(対応する遷移先状態2は「1」)は「B」である。状態(7)における遷移条件1(対応する遷移先状態1は「8」)は「S」であり、遷移条件2(対応する遷移先状態2は「1」)は「B」である。状態(8)における遷移条件1(対応する遷移先状態1は「9」)は「Y」であり、遷移条件2(対応する遷移先状態2は「1」)は「B」である。状態(9)における遷移条件1(対応する遷移先状態1は「10」)は「S」であり、遷移条件2(対応する遷移先状態2は「1」)は「B」である。状態(10)における遷移条件1(対応する遷移先状態1は「11」)は「T」であり、遷移条件2(対応する遷移先状態2は「1」)は「B」である。状態(11)における遷移条件1(対応する遷移先状態1は「12」)は「E」であり、遷移条件2(対応する遷移先状態2は「1」)は「B」である。状態(12)における遷移条件1(対応する遷移先状態1は「F」)は「M」であり、遷移条件2(対応する遷移先状態2は「1」)は「B」である。
図14A及びBは、「BIOS」が記述D2と合致するか否かの照合手順の説明図である。照合部17は、図13Aに示すオートマトンに基づいて、記憶領域に記憶される状態情報を更新する。
記述D2の読出し前は、記憶領域0000に初期状態(0)を示す状態情報が格納されているのみであるとする(S1)。照合部17は、ファイルFiから<rb>タグを読み出すと、記憶領域0000に格納された状態情報を記憶領域0001にコピーする(S2)。ここで、照合部17は、多重度dを「1」とする。次に、照合部17は、「B」を読み出すと、図13Aに示すオートマトンに従って記憶領域0000に記憶された状態情報を更新する。初期状態(0)から状態(1)への遷移条件は「B」であるので、記憶領域0000に記憶される状態情報は、状態(1)となる(S3)。照合部17は、<rt>を読み出すと、更新対象の記憶領域を0001に切り替える。照合部17は、「B」、「A」、「S」、「I」、「C」のそれぞれの読出しに応じて、記憶領域0001に記憶された状態情報を更新する。結果的に、記憶領域0001の状態情報は、初期状態(0)に更新される(S4)。
照合部17は、ファイルFiから<rb>タグを読み出すと、記憶領域0000及び記憶領域0001に格納された状態情報を記憶領域0010及び記憶領域0011にコピーする(S5)。ここで、照合部17は、多重度dを「2」とする。次に、照合部17は、「I」を読み出すと、図13Aに示すオートマトンに従って記憶領域0000に記憶された状態情報を更新する。状態(1)から状態(2)への遷移条件は「I」であるので、記憶領域0000に記憶される状態情報は、状態(2)となる。また、初期状態(0)から状態(1)への遷移条件は「B」であるので、記憶領域0001に記憶される状態情報は、初期状態(0)となる(S6)。照合部17は、<rt>を読み出すと、更新対象の記憶領域を0010及び記憶領域0011に切り替える。照合部17は、「I」、「N」、「P」、「U」、「T」、「/」のそれぞれの読出しに応じて、記憶領域0010及び記憶領域0011に記憶された状態情報を更新する。結果的に、記憶領域0010及び記憶領域0011の状態情報は、初期状態(0)に更新される(S7)。
照合部17は、ファイルFiから<rb>タグを読み出すと、記憶領域0000〜0011に格納された状態情報を記憶領域0100〜0111にコピーする(S8)。ここで、照合部17は、多重度dを「3」とする。次に、照合部17は、「O」を読み出すと、図13Aに示すオートマトンに従って記憶領域0000に記憶された状態情報を更新する。状態(2)から状態(3)への遷移条件は「O」であるので、記憶領域0000に記憶される状態情報は、状態(3)となる。また、初期状態(0)から状態(1)への遷移条件は「B」であるので、記憶領域0001〜0011に記憶される状態情報は、初期状態(0)となる(S9)。照合部17は、<rt>を読み出すと、更新対象の記憶領域を0100〜0111に切り替える(S10)。照合部17は、「O」、「U」、「T」、「P」、「U」、「T」のそれぞれの読出しに応じて、記憶領域0100〜0111に記憶された状態情報を更新する。結果的に、記憶領域0100〜0111の状態情報は、初期状態(0)に更新される(S11)。
照合部17は、ファイルFiから<rb>タグを読み出すと、記憶領域0000〜0111に格納された状態情報を記憶領域1000〜1111にコピーする(S12)。ここで、照合部17は、多重度dを「4」とする。次に、照合部17は、「S」を読み出すと、図13Aに示すオートマトンに従って記憶領域0000に記憶された状態情報を更新する。状態(3)から状態(F)への遷移条件は「S」であるので、記憶領域0000に記憶される状態情報は、状態(F)となる。また、初期状態(0)から状態(1)への遷移条件は「B」であるので、記憶領域0001〜0111に記憶される状態情報は、初期状態(0)となる(S13)。記憶領域0000に記憶された状態情報が、状態(F)を示すので、照合部17は、記述D2が「BIOS」を含むと判断する。
図15は、「BASIC IO SYSTEM」が記述D2と合致するか否かの照合手順の説明図である。照合部17は、図13Bに示すオートマトンに基づいて、記憶領域に記憶される状態情報を更新する。
照合部17は、ファイルFiからの<rb>タグの読み出しにより、記憶領域0000に格納された状態情報を記憶領域0001にコピーする(S1)。ここで、照合部17は、多重度dを「1」とする。次に、照合部17は、「B」、「A」、「S」、「I」、「C」を順に読み出すと、図13Bに示すオートマトンに従って記憶領域0001に記憶された状態情報を更新する。初期状態(0)から状態(1)への遷移条件は「B」であるので、記憶領域0001に記憶される状態情報は、状態(1)となる。さらに、「A」、「S」、「I」、「C」のそれぞれは図13Bに示すオートマトンに示される遷移条件に合致するので、記憶領域0001に記憶される状態情報は、状態(5)となる(S2)。
照合部17は、ファイルFiから<rb>タグを読み出すと、記憶領域0000及び記憶領域0001に格納された状態情報を記憶領域0010及び記憶領域0011にコピーする(S3)。ここで、照合部17は、多重度dを「2」とする。次に、照合部17は、「I」を読み出すと、図13Bに示すオートマトンに従って記憶領域0000及び記憶領域0001に記憶された状態情報を更新する。状態(5)から状態(6)への遷移条件は「I」であるので、記憶領域0001に記憶される状態情報は、状態(6)となる。また、状態(1)から状態(2)への遷移条件は「A」であるので、記憶領域0000に記憶される状態情報は、初期状態(0)となる(S4)。照合部17は、<rt>を読み出すと、更新対象の記憶領域を0010及び記憶領域0011に切り替える。照合部17は、「I」、「N」、「P」、「U」、「T」、「/」のそれぞれの読出しに応じて、記憶領域0010及び記憶領域0011に記憶された状態情報を更新する。結果的に、記憶領域0010及び記憶領域0011の状態情報は、初期状態(0)に更新される(S5)。
照合部17は、ファイルFiから<rb>タグを読み出すと、記憶領域0000〜0011に格納された状態情報を記憶領域0100〜0111にコピーする(S6)。ここで、照合部17は、多重度dを「3」とする。次に、照合部17は、「O」を読み出すと、図13Bに示すオートマトンに従って記憶領域0000〜0011に記憶された状態情報を更新する。状態(6)から状態(7)への遷移条件は「O」であるので、記憶領域0001に記憶される状態情報は、状態(7)となる。また、初期状態(0)から状態(1)への遷移条件は「B」であるので、記憶領域0000、0010及び0011に記憶される状態情報は、初期状態(0)となる(S7)。照合部17は、<rt>を読み出すと、更新対象の記憶領域を0100〜0111に切り替える。照合部17は、「O」、「U」、「T」、「P」、「U」、「T」のそれぞれの読出しに応じて、記憶領域0100〜0111に記憶された状態情報を更新する。結果的に、記憶領域0100〜0111の状態情報は、初期状態(0)に更新される(S8)。
照合部17は、ファイルFiから<rb>タグを読み出すと、記憶領域0000〜0111に格納された状態情報を記憶領域1000〜1111にコピーする(S9)。ここで、照合部17は、多重度dを「4」とする。次に、照合部17は、「S」を読み出すと、図13Bに示すオートマトンに従って記憶領域0000〜0111に記憶された状態情報を更新する。状態(3)から状態(8)への遷移条件は「S」であるので、記憶領域0001に記憶される状態情報は、状態(8)となる。また、初期状態(0)から状態(1)への遷移条件は「B」であるので、記憶領域0000及び0010〜0111に記憶される状態情報は、初期状態(0)となる(S10)。
照合部17は、<rt>を読み出すと、更新対象の記憶領域を1000〜1111に切り替える。照合部17は、「S」、「Y」、「S」、「T」、「E」、「M」の読出しに応じて、記憶領域1000〜1111に記憶された状態情報を更新する。「S」、「Y」、「S」、「T」、「E」、「M」は、状態(8)から状態(F)までのそれぞれの遷移条件を満たすので、記憶領域1001に記憶される状態情報は、状態(F)となる。また、初期状態(0)から状態(1)への遷移条件は「B」であるので、記憶領域1000及び1010〜1111に記憶される状態情報は、初期状態(0)となる(S11)。記憶領域1001に記憶された状態情報が、状態(F)を示すので、照合部17は、記述D2が「BASIC IO SYSTEM」と合致すると判断する。
上述の実施形態を適用することにより、検索文字列が「BIOS」、「BASIC INPUT/OUTPUT SYSTEM」及び「BASIC IO SYSTEM」のいずれであっても、記述D2を検索文字列と合致する文字情報として抽出可能となる。
以上の実施形態に関し、さらに以下の付記を開示する。
(付記1)
照合文字情報との照合処理を行なうコンピュータに、
照合対象の文書データに、ある言語単位の第1の表記である第1の文字情報及び前記ある言語単位の第2の表記である第2の文字情報を併記させる指示が含まれる場合に、前記第1の文字情報に対する前記照合文字情報との照合処理の結果を示す状態情報と、前記第2の文字情報に対する前記照合文字情報との照合処理の結果を示す状態情報とを生成し、
生成した双方の状態情報のそれぞれに基づいて、前記文書データにおいて前記第1の文字情報及び前記第2の文字情報に後続する文字情報との照合処理を行なう、
処理を実行させることを特徴とする照合プログラム。
(付記2)
前記コンピュータに、さらに、
前記文書データから前記指示の読み出しに応じて、前記読み出し前までに行なわれた照合の結果を示す状態情報を複製する、
処理を実行させ、
前記第1の文字情報に対する前記照合文字情報との照合処理は、複製して得られた一方の状態情報に基づいて行なわれ、前記第2の文字情報に対する前記照合文字情報との照合処理は、複製して得られた他方の状態情報に基づいて行なわれる、
ことを特徴とする付記1に記載の照合プログラム。
(付記3)
前記第1の表記がルビの親文字での表記であり、前記第2の表記がルビでの表記である、
ことを特徴とする付記1又は付記2に記載の照合プログラム。
(付記4)
前記コンピュータに、さらに、
前記後続する文字情報が、他の言語単位について併記が指示された、前記他の言語単位の前記第1の表記である第3の文字情報及び前記他の言語単位の前記第2の表記である第4の文字情報である場合に、生成された状態情報のそれぞれに基づいて、前記第3の文字情報と前記照合文字情報との照合処理と、前記第4の文字情報と前記照合文字情報との照合処理を行なう、
処理を実行させることを特徴とする付記1〜3のいずれか1つに記載の照合プログラム。
(付記5)
前記コンピュータに、さらに、
前記生成されたそれぞれの状態情報に重複する状態情報が含まれる場合に、重複する状態情報のうちのいずれかを削除する、
処理を実行させることを特徴とする付記4に記載の照合プログラム。
(付記6)
照合文字情報との照合処理を行なうコンピュータに、
照合対象の文書データに、ある言語単位の第1の表記である第1の文字情報及び前記ある言語単位の第2の表記である第2の文字情報を併記させる指示が含まれる場合に、前記第1の文字情報に対する前記照合文字情報との照合処理の結果を示す状態情報と、前記第2の文字情報に対する前記照合文字情報との照合処理の結果を示す状態情報とを生成し、
生成した双方の状態情報のそれぞれに基づいて、前記文書データにおいて前記第1の文字情報及び前記第2の文字情報に後続する文字情報との照合処理を行なう、
ことを実行させることを特徴とする照合方法。
(付記7)
照合文字情報を受け付ける受付部と、
照合対象の文書データに、ある言語単位の第1の表記である第1の文字情報及び前記ある言語単位の第2の表記である第2の文字情報を併記させる指示が含まれる場合に、前記第1の文字情報に対する前記照合文字情報との照合処理の結果を示す状態情報と、前記第2の文字情報に対する前記照合文字情報との照合処理の結果を示す状態情報とを生成し、生成した双方の状態情報のそれぞれに基づいて、前記文書データにおいて前記第1の文字情報及び前記第2の文字情報に後続する文字情報との照合処理を行なう照合部と、
を含むことを特徴とする照合装置。
(付記8)
照合装置がプロセッサとメモリとを含み、
前記メモリが照合対象の文書データを記憶し、
前記プロセッサが、
前記メモリに記憶された照合対象の文書データに、ある言語単位の第1の表記である第1の文字情報及び前記ある言語単位の第2の表記である第2の文字情報を併記させる指示が含まれる場合に、前記第1の文字情報に対する前記照合文字情報との照合処理の結果を示す状態情報と、前記第2の文字情報に対する前記照合文字情報との照合処理の結果を示す状態情報とを生成し、
生成した双方の状態情報のそれぞれに基づいて、前記文書データにおいて前記第1の文字情報及び前記第2の文字情報に後続する文字情報との照合処理を行なう。
1 コンピュータ
11 検索部
12 記憶部
13 受付部
14 生成部
15 読出部
16 検知部
17 照合部
18 出力部

Claims (9)

  1. 照合文字情報との照合処理を行なうコンピュータに、
    照合対象の文書データに、ある言語単位に対する第1の表記である第1の文字情報と前記ある言語単位に対する第2の表記である第2の文字情報とを併記させる指示が含まれる場合に、前記第1の文字情報に対する前記照合文字情報における第1の対象文字情報との第1の照合処理および前記第2の文字情報に対する前記照合文字情報における前記第1の対象文字情報との第2の照合処理を並列に行ない、前記第1の照合処理の結果を示す第1状態情報および前記第2の照合処理の結果を示す第2の状態情報を生成し、
    少なくとも前記第1の状態情報および前記第2の状態情報のうち照合処理の結果が一致することを示す一方の状態情報に基づいて、前記文書データにおいて前記第1の文字情報及び前記第2の文字情報に後続する文字情報と前記照合文字情報において前記第1の対象文字情報に後続する第2の対象文字情報との照合処理を行なう、
    処理を実行させるための照合プログラム。
  2. 前記コンピュータに、さらに、
    前記文書データから前記指示の読み出しに応じて、前記指示の読み出し前までに行なわれた照合の結果を示す状態情報を複製する、
    処理を実行させ、
    前記第1の照合処理は、複製して得られた一方の状態情報に基づいて行なわれ、前記第2の照合処理は、複製して得られた他方の状態情報に基づいて行なわれる、
    ことを特徴とする請求項1に記載の照合プログラム。
  3. 前記第1の表記がルビの親文字での表記であり、前記第2の表記がルビでの表記である、
    ことを特徴とする請求項1又は請求項2に記載の照合プログラム。
  4. 前記コンピュータに、さらに、
    前記後続する文字情報が、他の言語単位について併記が指示された、前記他の言語単位に対する第3の表記である第3の文字情報及び前記他の言語単位に対する第4の表記である第4の文字情報である場合に、少なくとも前記第1の状態情報および前記第2の状態情報のうち照合処理の結果が一致することを示す前記一方の状態情報に基づいて、前記第3の文字情報と前記第2の対象文字情報との第3の照合処理および前記第4の文字情報と前記第2の対象文字情報との第4の照合処理を並列に行なう、
    処理を実行させることを特徴とする請求項1〜3のいずれか1項に記載の照合プログラム。
  5. 前記第1の文字情報と前記第2の文字情報とを併記させる前記指示は、前記文書データにおいて併記制御の開始を示す指示に後続し、
    前記コンピュータに、さらに、
    前記文書データから前記併記制御の終了を示す指示の読み出しに応じて、前記第1の状態情報と前記第2の状態情報との間で重複する状態情報のうちのいずれかを削除する、
    処理を実行させることを特徴とする請求項2に記載の照合プログラム。
  6. 前記状態情報は複数桁のアドレスによって示される記憶領域に格納され、
    前記状態情報を複製する処理は、前記複数桁のうちの状態情報の複製回数に応じた桁が第1値である第1のアドレスによって示される前記記憶領域のうちの第1の記憶領域から前記桁が第2値である第2のアドレスによって示される前記記憶領域のうちの第2の記憶領域に前記状態情報を複製する、
    ことを特徴とする請求項2に記載の照合プログラム。
  7. 前記コンピュータに、さらに、
    前記第1の状態情報および前記第2の状態情報のうちの他方の状態情報に基づいて、前記文書データにおいて前記第1の文字情報及び前記第2の文字情報に後続する文字情報と前記照合文字情報において前記第1の対象文字情報に後続する第2の対象文字情報との照合処理を行なう、
    処理を実行させることを特徴とする請求項1〜6のいずれか1項に記載の照合プログラム。
  8. 照合文字情報との照合処理を行なうコンピュータによって実行される照合方法において、
    前記コンピュータが、照合対象の文書データに、ある言語単位に対する第1の表記である第1の文字情報と前記ある言語単位に対する第2の表記である第2の文字情報とを併記させる指示が含まれる場合に、前記第1の文字情報に対する前記照合文字情報における第1の対象文字情報との第1の照合処理および前記第2の文字情報に対する前記照合文字情報における前記第1の対象文字情報との第2の照合処理を並列に行ない、前記第1の照合処理の結果を示す第1の状態情報および前記第2の照合処理の結果を示す第2の状態情報を生成し、
    前記コンピュータが、少なくとも前記第1の状態情報および前記第2の状態情報のうち照合処理の結果が一致することを示す状態情報に基づいて、前記文書データにおいて前記第1の文字情報及び前記第2の文字情報に後続する文字情報と前記照合文字情報において前記第1の対象文字情報に後続する第2の対象文字情報との照合処理を行なう、
    ことを特徴とする照合方法。
  9. 照合文字情報を受け付ける受付部と、
    照合対象の文書データに、ある言語単位に対する第1の表記である第1の文字情報と前記ある言語単位に対する第2の表記である第2の文字情報とを併記させる指示が含まれる場合に、前記第1の文字情報に対する前記照合文字情報における第1の対象文字情報との第1の照合処理および前記第2の文字情報に対する前記照合文字情報における前記第1の対象文字情報との第2の照合処理を並列に行ない、前記第1の照合処理の結果を示す第1の状態情報および前記第2の状態情報を生成し、少なくとも前記第1の状態情報および前記第2の状態情報のうち照合処理の結果が一致することを示す状態情報に基づいて、前記文書データにおいて前記第1の文字情報及び前記第2の文字情報に後続する文字情報と前記照合文字情報において前記第1の対象文字情報に後続する第2の対象文字情報との照合処理を行なう照合部と、
    を含むことを特徴とする照合装置。
JP2012119099A 2012-05-24 2012-05-24 照合プログラム、照合方法および照合装置 Active JP6028393B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2012119099A JP6028393B2 (ja) 2012-05-24 2012-05-24 照合プログラム、照合方法および照合装置
US13/848,833 US20130318072A1 (en) 2012-05-24 2013-03-22 Searching apparatus, and searching method
CN201310139777.1A CN103425721B (zh) 2012-05-24 2013-04-22 检索装置和检索方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012119099A JP6028393B2 (ja) 2012-05-24 2012-05-24 照合プログラム、照合方法および照合装置

Publications (2)

Publication Number Publication Date
JP2013246593A JP2013246593A (ja) 2013-12-09
JP6028393B2 true JP6028393B2 (ja) 2016-11-16

Family

ID=49622392

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012119099A Active JP6028393B2 (ja) 2012-05-24 2012-05-24 照合プログラム、照合方法および照合装置

Country Status (3)

Country Link
US (1) US20130318072A1 (ja)
JP (1) JP6028393B2 (ja)
CN (1) CN103425721B (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11294754B2 (en) * 2017-11-28 2022-04-05 Nec Corporation System and method for contextual event sequence analysis

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06342483A (ja) * 1994-04-11 1994-12-13 Hitachi Ltd 文書ファイリングシステム
JP3933517B2 (ja) * 2002-05-13 2007-06-20 シャープ株式会社 文書検索方法、文書検索装置、文書検索プログラム、およびそのプログラムを記録した記録媒体
JP4036718B2 (ja) * 2002-10-02 2008-01-23 インターナショナル・ビジネス・マシーンズ・コーポレーション 文書検索システム、文書検索方法、文書検索を実行するためのプログラム
JP4365162B2 (ja) * 2003-08-20 2009-11-18 富士通株式会社 構造化文書のデータを検索する装置および方法
JP4716709B2 (ja) * 2004-06-10 2011-07-06 インターナショナル・ビジネス・マシーンズ・コーポレーション 構造化文書処理装置、構造化文書処理方法、及びプログラム
US20130031469A1 (en) * 2010-04-09 2013-01-31 Nec Corporation Web-content conversion device, web-content conversion method and recording medium
JP5144736B2 (ja) * 2010-11-10 2013-02-13 シャープ株式会社 文書生成装置、文書生成方法、コンピュータプログラムおよび記録媒体

Also Published As

Publication number Publication date
JP2013246593A (ja) 2013-12-09
CN103425721A (zh) 2013-12-04
US20130318072A1 (en) 2013-11-28
CN103425721B (zh) 2016-12-28

Similar Documents

Publication Publication Date Title
JP4848317B2 (ja) データベースのインデックス作成システム、方法及びプログラム
WO2016095689A1 (zh) 基于终端界面多次触控操作进行识别搜索的方法及系统
JPH04242858A (ja) ファイル更新処理装置
JP2001184153A (ja) 情報処理装置、情報表示プログラムが記録された記録媒体
CN112783404A (zh) 一种界面管理方法、装置、终端设备及介质
JP5880699B2 (ja) インデックス生成プログラム及び検索プログラム
JP6028393B2 (ja) 照合プログラム、照合方法および照合装置
JP6028392B2 (ja) 生成プログラム、生成方法、生成装置、検索プログラム、検索方法および検索装置
JP2018067264A (ja) データ検索プログラム、データ検索装置およびデータ検索方法
JP2001125812A (ja) 差の性質を示した履歴を基礎とした文書差別化
JPH1040247A (ja) データ処理装置
JP2010015515A (ja) 辞書機能を備えた電子装置
CN112583603A (zh) 可视化签名方法、装置、电子设备和计算机可读存储介质
JP6416487B2 (ja) 文書管理システム及び文書管理方法
JP6443330B2 (ja) 情報処理システム、情報処理方法およびプログラム
US20020169780A1 (en) Method and data processing system for providing disaster recovery file synchronization
JP3193249B2 (ja) キーワード検索方法
JP2001067375A (ja) 名称検索装置、キーボード及び名称検索プログラムを記録した記録媒体
JP6798176B2 (ja) 文書表示装置及びプログラム
WO2015022759A1 (ja) ドキュメントファイル生成装置、ドキュメントファイル生成方法およびドキュメントファイル生成プログラム
JP2975529B2 (ja) 電子化辞書検索装置
JP2005078134A (ja) 文字認識装置、文字認識方法、プログラムおよび記憶媒体
JPS62156767A (ja) メモ機能を有するワ−ド・プロセツサ
JPH0121382Y2 (ja)
JP2798076B2 (ja) 文字列出力装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150319

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160208

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160216

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20160401

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160415

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160809

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160830

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161003

R150 Certificate of patent or registration of utility model

Ref document number: 6028393

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150