(57)【要約】【課題】  従来の検索技術では、依然として無関係なヒットが発生してしまう。【解決手段】  検索クエリと当該検索クエリの展開クエリとを基に、検索対象の文書データを検索して前記検索クエリ及び前記展開クエリに一致する文字列を抽出し（Ｓ１３）、その抽出された文字列が、未知語領域を含むか否かを判定し、未知語領域を含まないと判定された場合に、抽出された文字列の類似度を低下させるように調整し（Ｓ１４）、その調整された類似度に応じた順番で文字列を検索結果として出力する（Ｓ１６）。【選択図】  図１１
2006343870.tif 000002
【特許請求の範囲】
【請求項１】
検索クエリと当該検索クエリの展開クエリとを基に、検索対象の文書データを検索して前記検索クエリ及び前記展開クエリに一致する文字列を抽出する不完全照合手段と、
前記検索対象の文書データを解析して未知語領域を識別する解析手段と、
前記不完全照合手段により抽出された文字列が前記未知語領域を含むか否かを判定する領域ヒット判定手段と、
前記不完全照合手段および前記領域ヒット判定手段の処理結果に基づいて、検索結果を出力する検索結果出力手段と、
を有することを特徴とする文書検索装置。
【請求項２】
前記検索結果出力手段は、前記領域ヒット判定手段により前記未知語領域を含まないと判定された場合に、前記不完全照合手段により抽出された文字列の類似度を低下させるスコア補正手段を有し、
前記スコア補正手段により得られた類似度に応じた順番で前記文字列を検索結果として出力することを特徴とする請求項１に記載の文書検索装置。
【請求項３】
前記展開クエリは、前記検索クエリを構成する文字を文字認識した場合に誤認識される確立の高い文字を、前記検索クエリを構成する対応する文字と入れ替えて構成される文字列であることを特徴とする請求項１に記載の文書検索装置。
【請求項４】
前記不完全照合手段は、前記一致する文字列に含まれる前記検索クエリの文字と一致している文字数、及び前記一致する文字列に含まれる前記展開クエリの文字と一致している文字数とにより前記一致する文字列の類似度を求めることを特徴とする請求項１ないし請求項３のいずれかに記載の文書検索装置。
【請求項５】
前記解析手段は、前記文書データの形態素解析を行い、形態素解析して得られた文節に含まれる単語が単語辞書に含まれているか否かに応じて前記未知語領域を識別することを特徴とする請求項１乃至４のいずれか１項に記載の文書検索装置。
【請求項６】
前記スコア補正手段は、前記不完全照合手段により抽出された文字列が含まれる文節の最大文字数を、前記抽出された文字列の類似度から減算して類似度を低下させることを特徴とする請求項２に記載の文書検索装置。
【請求項７】
検索クエリと当該検索クエリの展開クエリとを基に、検索対象の文書データを検索して前記検索クエリ及び前記展開クエリに一致する文字列を抽出する不完全照合工程と、
前記検索対象の文書データを解析して未知語領域を識別する解析工程と、
前記不完全照合工程で抽出された文字列が前記未知語領域を含むか否かを判定する領域ヒット判定工程と、
前記不完全照合工程および領域ヒット判定工程の処理結果に基づいて、検索結果を出力する検索結果出力工程と、
を有することを特徴とする文書検索方法。
【請求項８】
前記検索結果出力工程において、前記領域ヒット判定工程で前記未知語領域を含まないと判定された場合に、前記不完全照合工程で抽出された文字列の類似度を低下させるスコア補正工程を有し、
前記スコア補正工程により得られた類似度に応じた順番で前記文字列を検索結果として出力することを特徴とする請求項７に記載の文書検索方法。
【請求項９】
前記展開クエリは、前記検索クエリを構成する文字を文字認識した場合に誤認識される確立の高い文字を、前記検索クエリを構成する対応する文字と入れ替えて構成される文字列であることを特徴とする請求項７に記載の文書検索方法。
【請求項１０】
前記不完全照合工程は、前記一致する文字列に含まれる前記検索クエリの文字と一致している文字数、及び前記一致する文字列に含まれる前記展開クエリの文字と一致している文字数とにより前記一致する文字列の類似度を求めることを特徴とする請求項７乃至９のいずれかに記載の文書検索方法。
【請求項１１】
前記解析工程は、前記文書データの形態素解析を行い、形態素解析して得られた文節に含まれる単語が単語辞書に含まれているか否かに応じて前記未知語領域を識別することを特徴とする請求項７乃至１０のいずれか１項に記載の文書検索方法。
【請求項１２】
前記スコア補正工程は、前記不完全照合工程で抽出された文字列が含まれる文節の最大文字数を、前記抽出された文字列の類似度から減算して類似度を低下させることを特徴とする請求項８に記載の文書検索方法。
【請求項１３】
請求項７乃至１２のいずれか１項に記載の文書検索方法を実行することを特徴とするプログラム。
【請求項１４】
請求項１３に記載のプログラムを記憶していることを特徴とする、コンピュータにより読取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、検索クエリに従って文書データを検索する文書検索装置及びその検索方法及び記憶媒体に関するものである。
【背景技術】
【０００２】
パーソナルコンピュータ（ＰＣ）の普及に伴い、文書の作成は、文書作成ソフトなどのＰＣ上のアプリケーションソフトを用いて行われるのが一般的となっている。具体的には、各種書類等をＰＣの画面上で作成、編集し、それを複写、検索するといったことが広く行われている。またネットワークの発展と普及に伴い、このようにＰＣ上で作成された電子的な文書データ（電子文書データ）が、プリンタ等を用いて紙文書として印刷されずに他のＰＣ等からアクセスされ、電子メール等で送信・配布される、ということも一般化されておりペーパーレスの文書作成環境が広がりつつある。
【０００３】
このようなペーパーレス化を実現する電子文書データは、文書管理システムを構築して、コンピュータによって体系的に管理されるようになってきており、文書の共有化による効率的な情報量の削減、文書間の関連付け等の点で、極めて利便性の高いものである。このよう電子文書データの普及につれて、文書データの全文検索、キーワード検索などの検索操作が普及し、検索の有用性が一般に広く知られてきている。
【０００４】
一方、紙に文書を印刷した紙文書は、電子文書データと比較して、読みやすさ、扱いの汎用性、持ち運びの容易性、全貌把握の容易性等の利点があり、例えば、資料を配布する必要があるときは、電子データをプリンタ装置で印刷した紙文書の形で配布することが依然として行われている。ところが、紙文書はそのままの形では検索ができないので、所望の情報が印刷された紙文書の検索は容易ではない。そこで従来から、紙文書をスキャンしＯＣＲ（Optical Character Recognition）処理し電子テキスト化した電子文書を検索することが行われていた。しかしながら、ＯＣＲ処理において誤認識が発生する場合、ユーザが所望する個所が正しく検索されないことになる。
【０００５】
このような問題を解決するために、従来から様々な提案がなされており、文書上の文字列の文字抜け、文字混入、文字化けを想定して検索クエリと文書上の文字列とを照合して検索する手法、或は検索クエリの各文字を、想定した誤認識文字に展開し、その展開された検索クエリと照合して文書を検索する手法等が提案されている。ここでは、これらの照合手法を総称して不完全照合と呼ぶことにする。
【０００６】
このような不完全照合の工夫により、誤認識が原因で取りこぼしていたヒット位置が拾えるようになってきたが、弊害もまた多く発生している。例えば、検索クエリとして「イラク」を入力し、「イラク」から誤認識によって生じた誤認識文字（例えば、「イテク」）までも検索対象としてヒットさせようとすると、例えば、（誤認識していない）「ハイテク」中の「イテク」にヒットしてしまい、文書中で「ハイテク」という単語が使用されるたびに無関係なヒットが発生してしまう。このような本来意図しないヒットが多発すると、意味のあるヒットを選別するための作業が必要となり、ユーザにとって作業負荷が増大し使いづらい検索装置となる。
【０００７】
関連する技術として、特開２００４−３３４３３４号公報が存在する。
【特許文献１】特開２００４−３３４３３４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
ところがこの特許文献１の技術では、依然として無関係なヒットが発生してしまう。例えば、「人間」という文字列（或は、それが誤認識した結果発生する文字列）を検索したい場合、クエリとして「人間」を指定することになるが、「間」は「関」と類似しているため、文字列「人関」もヒットしてしまう。そうすると、もし文書中に「被告人関係者」という文字列があると、この中の「人関」もヒットしてしまうことになる。このとき、「人関」「告人関」「人関係」などは辞書単語の一部を形成しているわけではないので、従来技術ではこのヒットを抑制することができなかった。
【０００９】
本発明は、上記従来技術の欠点を解決することにある。
【００１０】
また本願発明の特徴は、誤認識された文字列を効率良く検索できる文書検索装置及びその方法を提供することにある。
【課題を解決するための手段】
【００１１】
上記特徴は、独立クレームに記載の特徴の組み合わせにより達成され、従属項は発明の単なる有利な具体例を規定するものである。
【００１２】
本発明の一態様に係る文書検索装置は以下のような構成を備える。即ち、
検索クエリと当該検索クエリの展開クエリとを基に、検索対象の文書データを検索して前記検索クエリ及び前記展開クエリに一致する文字列を抽出する不完全照合手段と、
前記検索対象の文書データを解析して未知語領域を識別する解析手段と、
前記不完全照合手段により抽出された文字列が前記未知語領域を含むか否かを判定する領域ヒット判定手段と、
前記不完全照合手段および前記領域ヒット判定手段の処理結果に基づいて、検索結果を出力する検索結果出力手段とを有することを特徴とする。
【００１３】
本発明の一態様に係る文書検索方法は以下のような工程を備える。即ち、
検索クエリと当該検索クエリの展開クエリとを基に、検索対象の文書データを検索して前記検索クエリ及び前記展開クエリに一致する文字列を抽出する不完全照合工程と、
前記検索対象の文書データを解析して未知語領域を識別する解析工程と、
前記不完全照合工程で抽出された文字列が前記未知語領域を含むか否かを判定する領域ヒット判定工程と、
前記不完全照合工程および領域ヒット判定工程の処理結果に基づいて、検索結果を出力する検索結果出力工程とを有することを特徴とする。
【００１４】
尚、この発明の概要は、必要な特徴を全て列挙しているものでなく、よって、これら特徴群のサブコンビネーションも発明になり得る。
【発明の効果】
【００１５】
本発明によれば、誤認識された文字列を効率良く検索できる。
【発明を実施するための最良の形態】
【００１６】
以下、添付図面を参照して本発明の好適な実施の形態を詳しく説明する。尚、以下の実施の形態は特許請求の範囲に係る発明を限定するものでなく、また本実施の形態で説明されている特徴の組み合わせの全てが発明の解決手段に必須のものとは限らない。
【００１７】
図１は、本発明の実施の形態に係る文書検索装置の構成を示すブロック図である。
【００１８】
図において、ＣＰＵ１０１はマイクロプロセッサで、ＲＯＭ１０２或はＲＡＭ１０３に記憶されたプログラムに従って、画像処理、文字処理、認識処理、検索処理等のための演算、論理判断等を行い、バス１２０を介して接続されている各構成要素を制御する。バス１２０はシステムバスで、ＣＰＵ１０１の制御対象である各構成要素を指示するアドレス信号、データ及びコントロール信号を転送する。ＲＯＭ１０２は読出し専用の不揮発性メモリで、ＣＰＵ１０１により実行されるブートプログラムや各種データを記憶する。このブートプログラムはシステム起動時に、ハードディスク（ＨＤ）１０８に記憶された制御プログラムをＲＡＭ１０３にロードしてＣＰＵ１０１に実行させる。この制御プログラムについては、後にフローチャートを参照して詳述する。ＲＡＭ１０３は読み書き可能なランダムアクセスメモリで、ＨＤ１０８からロードされ、ＣＰＵ１０１により実行される各種プログラムを記憶するとともに、ＣＰＵ１０１の動作時にワークエリアとして使用され、各構成要素からの各種データの一次記憶に用いられる。
【００１９】
入力部１０４は、キーボードやマウス、タッチパネル等を含み、ユーザの操作により、メニュー項目の選択、各種データの入力等に使用される。表示部１０５は、液晶やＣＲＴ、プラズマなどのディスプレイを有し、各種メニュー、処理結果、エラー、警告、捜査結果等を表示してユーザに提示するのに使用される。スキャナ１０６は、原稿である紙文書を光学的に読み取ってデジタル化する等の処理を行う。プリンタ１０６は、文書や画像などを印刷するのに使用される。この文書検索装置では、通信部１１０で受信したＰＤＬ（印刷制御言語）形式の電子文書データも印刷することができる。
【００２０】
ＨＤ１０８は、ＣＰＵ１０１により実行される制御プログラム１１１、自然言語解析を行うための形態素解析辞書１１２、未知語領域を認定するための規則を記述している未知語領域認定ルール１１３等が格納されている。更に、必要に応じて、未知語領域を管理するための未知語領域テーブル１１４、検索結果を保持する検索結果テーブル１１５、検索クエリを展開して保持するためのクエリ展開テーブル１１５等の作業用データも格納されている。これら各種データは、必要に応じてＲＡＭ１０３にロードされて参照され、また必要に応じて変更されてＨＤ１０８に書き戻される。尚、形態素解析辞書１１２には、一般の自然言語解析で提案されている必要な情報、例えば、単語表記、品詞情報、活用情報、単語共起情報などが格納される。
【００２１】
リムーバブル外部記憶装置１０９は、ＵＳＢメモリデバイス、ＩＣカード等の着脱可能な記憶デバイスである。これらは通常のＰＣと同様に、フロッピィディスクやＣＤ，ＤＶＤ等の外部記憶にアクセスするためのドライブ等であっても良い。このリムーバブル外部記憶装置１０９は、ＨＤ１０８と同様に使用でき、それらの記憶媒体を通じて他の装置とデータ交換を行うことができる。尚、ハードディスク１０８に記憶される制御プログラム１１１は、リムーバブル外部記憶装置１０９から必要に応じて全部又は一部をＨＤ１０８にコピー（インストール）することができる。通信部１１０は、ネットワークコントローラで、通信回線を介して外部とのデータ交換を行うことができる。
【００２２】
以上の構成を備える本実施の形態に係る文書検索装置は、入力部１０４等からの各種イベントに応じて作動する。入力部１０４等からのインタラプトが供給されると、その割り込み信号がＣＰＵ１０１に送られ、それに伴ってイベントが発生される。このイベントに応じてＣＰＵ１０１がＲＯＭ１０２又はＲＡＭ１０２に記憶される各種命令を読み出し、それを実行することにより、その制御プログラムに従った各種制御が行われる。
【００２３】
図２（Ａ）（Ｂ）は、本実施の形態に係る検索の操作例を説明する図である。
【００２４】
図２（Ａ）に示す例１において、本来検索されるべきテキストが「イラクへのハイテク兵器輸出の是非を問う」である（２０１）。これがＯＣＲ処理の際に、「イテクへのハイテク兵器輸出の是非を問う」と認識されてしまって登録されている（２０２）。ここでは、本来「イラク」であった文字列が誤認識のため「イテク」となっている。
次にオペレータは、その誤認識された文字列「イラク」を探すために検索クエリ「イラク」を発行する（２０３）。本実施の形態における検索処理では、類似語展開処理によって類似した文字（展開クエリ）は一致するとみなして検索するため、原文の文字列「イラクへの」中の「イテク」が検索結果として見つかる。「ハイテク」の中にも同じ文字列が存在するが、こちらは「ハイテク」という文節が解析されている中でのヒットなので、ヒット順位を下げて検索結果として出力される。
【００２５】
図２（Ｂ）に示す例２において、検索されるテキストは「法律に詳しい人間が被告人関係者に必要」である（２０５）。この原文が例１と同様に文字認識されると、「間」が「関」に誤認識されて登録されている（２０６）。
そして「人間」を検索するために検索クエリ「人間」を発行する（２０７）。これにより類似文字を含めて検索され、文字列「人関への」中の「人関」がヒットする。このとき「被告人関係者」中の「人関」は「被告人」「関係者」が解析できた文節となるので、ヒット順位を下げて検索結果として出力される。
【００２６】
図３は、本実施の形態に係る未知語解析処理の一例を説明する図である。
【００２７】
ページイメージ３０１は、紙文書のスキャン或は電子文書のラスタライズにより生成されたものである。これをＯＣＲ処理した結果がテキスト３０２で示されている。このテキスト３０２では、誤認識のため「人間」が「人関」、「望まれる」が「望申れる」、「イラク」が「イテク」に変わっている（誤認識した文字は下線をつけて表示している）。
【００２８】
テキスト３０３は、テキスト３０２を形態素解析した解析結果を示し、テキストが文節単位に分割されている。「／」は文節の区切りを示す。ここで形態素解析できなかった個所（解析不能文字列）は枠３１０を付けて表示している。このとき誤認識された「人関」、「イテク」は、形態素に分割すれば解析できるので、解析不能文字列として判定されていない。テキスト３０４は、３０３で示す解析結果に、更に後述する未知語領域の抽出処理をかけた結果を示している（枠３１０が付された文字列は、未知語領域を示す）。これにより、３０３における解析不能文字列（「望申れる」）に加えて、後述する未知語領域認定ルール１１３に従って、誤認識された「人関」、「イテク」の部分も未知語領域に設定されている。
【００２９】
図４は、本実施の形態に係る未知語領域を記憶する未知語領域テーブル１１４のデータ構成を説明する図である。
【００３０】
各未知語領域に対して、開始位置４０１と末尾位置４０２が記憶される。これら開始位置及び末尾位置は、テキスト上での未知語領域の開始位置と末尾位置を示す値（ページ、行数、その行で何番目の文字かを示す情報）が格納される。文字コード４０３は、図３のテキスト３０４において、未知語領域として認定された文字列に対応する文字コードである。図４では、未知語領域として指定された「イテク」の開始位置と末尾位置が記憶されている。
【００３１】
図５は、本実施の形態に係る検索クエリの各文字（文字列）を類似文字列（展開クエリ）に展開するためのクエリ展開テーブル１１６のデータ構成を説明する図である。
【００３２】
ここには誤認識されそうな類似性を持つ文字（列）のペアが記憶される。例えば、「ン」は「ソ」と似ているので、展開元文字列５０１に「ン」が記憶され、それに対応する展開先文字列５０２に「ソ」が記憶される。また「デ」は２文字の「テリ」に誤認識される可能性があるので、展開元文字列５０１として「デ」、それに対応する展開先文字列５０２として「テリ」が記憶される。また「ク」は「ワ」に誤認識される可能性があるとして登録されている。また２文字「イン」は、１文字の「仁」に誤認識される可能性があるため、展開元元文字列５０１として「イン」、それに対応する展開先文字列５０２として「仁」が記憶される。これ以外にも、誤認識される可能性が高い文字や文字列が登録されているが、ここではそれらは省略している。
【００３３】
図６は、本実施の形態に係る検索クエリを、誤認識により展開される可能のある文字列として展開する展開クエリLatticeを説明する図である。
【００３４】
ここでは各展開文字列の連結状況がLatticeを形成している。先頭ノード６０１から末尾ノード６０２に到る経路を選択すると、元の検索クエリが、誤認識される可能性のある類似文字列に展開された１つのクエリとして表される。例えば、検索クエリとして「インデクス」は、６１０で示すルートを通ると「イソテリワス」になり、６１１で示すルートを通ると「仁デワス」に展開されることが分かる。更に別のルートを通ると、「インテリクス」「イソデクス」「仁デワス」等に展開される。こうして検索クエリは、その検索クエリの原文そのままか、或は、この展開クエリに従って類似文字列に展開された文字列であるかが区別されて格納される。尚、図６において、楕円内の文字は、元の検索クエリの文字と一致している文字を示し、矩形状内の文字は、それが誤認識された場合の文字を示している。
【００３５】
図７は、形態素解析結果のどの部分が未知語領域となるべきかを認定するためのルールである未知語領域認定ルール１１３の格納形式を示した図である。
【００３６】
各ルールについて、第１文節７０１及び第２文節７０２の各文節が満たすべき条件が記述される。例えば、ルール１では、第１文節７０１の文節長（文字数）が「１」で、かつ第２文節７０２の自立語長（即ち、付属語を除いた文字数）が「１」である場合に、このルール１を満足する（即ち、未知語領域と認定される）ことを意味している。これにより例えば図３の３０４に示す例では、「人」と「関が」からなる２つの文節が未知語領域として新たに認定される。
【００３７】
同様に、ルール２では、第１文節７０１の文節長が２以下で、表記がカタカナであり、かつ第２文節７０２の自立語長が２以下で、カタカナ表記のときに未知語と認定されることを意味するルールが記述されている。これにより例えば図３の３０４に示す例では、「イ」と「テク」からなる２つの文節が未知語領域として新たに認定される。
【００３８】
図８は、本実施の形態に係る検索結果の候補を格納する検索結果テーブル１１５の構成を示す図である。
【００３９】
ここでは各検索結果候補に対して、先頭位置８０１には、検索結果（ヒット文字列）の先頭文字のテキスト上での位置が格納される。末尾位置８０２には、検索結果（ヒット文字列）の末尾文字のテキスト上での位置が格納される。スコア８０３には、その検索結果の表示順位を規定する値（後述）が格納される。この検索結果は、最終的にはスコア順にソートされ、検索結果として出力されることになる。
【００４０】
図９は、本実施の形態に係る検索結果の出力順位を規定するスコアの算出式を説明する図である。
【００４１】
まず、類似度が「完全一致文字数」×２＋「不完全一致文字数」の式で算出される。ここで「完全一致文字数」は、検索クエリとヒット文字列が正確に（類似文字列展開せずに）一致した文字数である。また「不完全一致文字数」は、検索クエリを類似文字列に展開した結果、ヒット文字列と一致する文字数である。尚、ここでヒット文字列が一部でも未知語領域にかかっているときは、上記求めた「類似度」がそのまま「スコア」となる。またヒット文字列が未知語領域にかかっていない場合、即ち、ヒット文字列の全領域に亘って解析文節が存在する場合は、「スコア」は、「類似度」から「最大の解析文節長」分、減点される。ここで「最大の解析文節長」は、ヒット文字列に係る形態素解析結果の文節の内、最長のものの文節長（文字数）である。
【００４２】
例１は、ヒット文字列が未知語領域にかかっている場合の例を示す。このときは「スコア」＝「類似度」と定義する。別の言い方をすれば、「最大の解析文節長」＝０である。
【００４３】
例２から例４は、未知語領域にかかっていない場合の例を示している。例２では、解析文節１と解析文節２がヒット文字列にかかっており、この内、文字数が多い方のｎが「最大の解析文節長」となる。
【００４４】
例３では、ヒット文字列の唯一の文節のみがかかっているので、その文字数ｎが「最大の解析文節長」となる。
【００４５】
例４では、ヒット文字列に３つの解析文節がかかっているが、このうち最長の文字数ｋが「最大の解析文節長」となる。
【００４６】
以上説明したスコアの求め方を図３の３０４で示す例を用いて説明すると、検索クエリが「人間」の場合、その展開クエリ「人関」に一致する文字列として(a)「人関が」、(b) 「被告人関係者に」が検索される。また検索クエリが「イラク」の場合、その展開クエリ「イテク」に一致する文字列として(c)「イテク」、(d) 「ハイテク」が検索される。この場合、まず(a)の「人関が」の類似度は（例１）に対応し、図９の式より「３」となり、また未知語領域にかかっているため、スコアも「３」となる。一方、「被告人関係者に」(b)の場合は、（例２）に対応し、類似度は「３」となるが未知語領域にかかっていないため、スコアは（３−４＝）−１となる。同様に検索クエリが「イラク」の場合は、（例１）に対応し、(c)「イテク」の類似度は図９の式より「５」となり、また未知語領域にかかっているためスコアも「５」となる。一方、(d)「ハイテク」の場合は、（例３）に対応し、類似度は「５」となるが未知語領域にかかっていないためスコアは（５−４＝）１となる。
【００４７】
上述の動作をフローチャートに従って説明する。
【００４８】
図１０は、本実施の形態に係る文書検索装置における処理を説明するフローチャートで、この処理を実行するプログラムは実行時にはＲＡＭ１０３に記憶されており、ＣＰＵ１０１の制御の下に実行される。
【００４９】
まずステップＳ１で、システムの初期化処理を実行し、ここでは各種パラメータの初期化や初期画面の表示等を行う。次にステップＳ２で、入力部１０４或はネットワーク等を介して接続されている機器からのリクエストなどによる、何らかのイベントが発生するのを待つ。ここでイベントが発生するとステップＳ３に進んで、その発生したイベントを判別し、その判別したイベントの種類に応じて各種の処理に分岐する。ここでは各種イベントに対応した分岐先の複数の処理をステップＳ４でまとめて表現している。各種イベントに対応した分岐先の処理の一例として、図１１に示す検索処理が含まれる。他の処理としては詳細は記述していないが、検索条件を指定する処理、原稿をスキャンして文書画像を生成する処理、文書を指定する処理など通常の検索装置の処理がある。そしてステップＳ５に進み、ステップＳ４における各処理の処理結果を表示する。ここでの処理は、検索結果の表示処理、エラーがあった場合のエラー表示、正常終了の場合の表示処理など通常広く行われる処理である。
【００５０】
図１１は、図１０のステップＳ４におけるイベント対応処理の一部である検索処理を説明するフローチャートである。
【００５１】
まずステップＳ１１で、図１２のフローチャートで詳述する未知語解析処理を実行する。ここでは、指定された文書の画像を基に文字認識してＯＣＲテキストを生成し、更に形態素解析、未知語解析により未知語領域テーブル１１４（図４）を作成する。次にステップＳ１２で、入力された検索クエリを、誤認識される可能性のある類似文字列に展開して展開クエリLatticeを生成する（図６参照）。次にステップＳ１３で、その生成した展開クエリLatticeに基づいて、図１４のフローチャートを参照して後述する不完全照合処理を実行し、検索結果テーブル１１５を作成する。次にステップＳ１４で、図１５のフローチャートを参照して後述するように、未知語領域テーブル１１４と図９の式に基づいて、検索結果テーブル１１５のスコアを求める。次にステップＳ１５で、その求めたスコアの順に検索結果をスコア順にソートする。そしてステップＳ１６で、そのスコア順にソートした検索結果を表示・出力する。
【００５２】
図１２は、図１１のステップＳ１１の未知語解析処理を説明するフローチャートである。
【００５３】
まずステップＳ２１で、指定された文書画像を文字認識してテキスト情報を得る（図３の３０２）。次にステップＳ２２で、そのテキスト情報を形態素解析し、文節に分割する（図３の３０３）。次にステップＳ２３で、図１３のフローチャートを参照して後述するように、未知語領域を抽出する（図３の３０４）。次にステップＳ２４で、その抽出した未知語領域を未知語領域テーブル１１４として出力する。
【００５４】
図１３は、図１２のステップＳ２３の未知語領域の抽出処理を説明するフローチャートである。
【００５５】
まずステップＳ３１で変数等を初期設定し、文節を示すポインタをテキストの先頭を指し示すように初期化する。次にステップＳ３２で、そのポインタで示された文節の情報を取得する。次にステップＳ３３で、ステップＳ３２で取得した文節が解析不能な文節かどうかを形態素解析辞書１１２を参照して判定する。解析不能な文節であると判定した場合は未知語領域とみなしてステップＳ３５に分岐するが、解析不能な文節でないと判定したときはステップＳ３４に進み、未知語領域認定ルール１１３を参照して、その文節が未知語領域に該当するかどうかを判定する。ここで未知語領域に該当しない判断されるとステップＳ３６に分岐するが、未知語領域に該当すると判断するとステップＳ３５に進み、その抽出した未知語領域について必要な情報を収集し、未知語領域として設定する。そしてステップＳ３６に進み、文節を示すポインタを更新し、次の文節を示すようにする。次にステップＳ３７で、次の文節が存在するかどうかを判定し、存在すると判定するとステップＳ３２に戻って前述した処理を実行する。一方、次の文節が存在しないと判定すると、この未知語領域の抽出処理を終了する。
【００５６】
図１４は、図１１のステップＳ１３の不完全照合処理を説明するフローチャートである。
【００５７】
まずステップＳ４１で、文字位置を示すポインタを、テキストの先頭を指すように初期設定する。次にステップＳ４２で、展開クエリLatticeと、そのポインタで指示されるテキスト上の文字とを照合する。そしてステップＳ４３で、展開クエリLatticeと文字とが一致したかどうかを判定し、一致しない場合はステップＳ４６にスキップして次の文字に移動する。ステップＳ４３で、一致した場合はステップＳ４４に進み、その一致の度合いを類似度として算出する。この類似度の算出処理は、前述の図９に示す式に従って行われる。次にステップＳ４５に進み、その一致した文字位置を検索結果テーブル１１５（図８）に登録する。尚、ここではスコアとして、ステップＳ４４で求めた類似度をそのまま設定する。次にステップＳ４６で、文字位置を指示するポインタを更新して文字位置を次に進める。そしてステップＳ４７で、文字位置がテキストの末尾に到達したか否かを判定し、末尾に到達していない場合はステップＳ４２に戻って前述の処理を実行し、末尾に到達した場合は、この不完全照合処理を終了する。
【００５８】
図１５は、図１１のステップＳ１４のスコア調整処理を説明するフローチャートである。
【００５９】
まずステップＳ５１で、検索結果を示すポインタを検索結果テーブル１１５（図８）の先頭を示すように初期設定する。次にステップＳ５２で、そのポインタの示す検索結果の情報（位置とスコア）を取得する。次にステップＳ５３で、検索結果の示すヒット文字列がテキスト上で未知語領域を含むかどうかを、未知語領域テーブル１１４（図４）を基にチェックする。そしてステップＳ５４で、未知語領域を含むと判定するとステップＳ５８に分岐してスコアを類似度と等しい値に確定するが、含まないと判定するとステップＳ５５に進み、図９に示したように、ヒット文字列にかかる最長の解析文節長を求める。次にステップＳ５６で、その求めた最長の解析文節長をスコアから減じて、スコアを補正する。次にステップＳ５７で、その補正したスコアを検索結果テーブル１１５（図８）に反映する。次にステップＳ５８で、検索結果を示すポインタを次の検索結果を示すように更新する。そしてステップＳ５９で、検索結果が終了したかどうかを判定し、終了していないときはステップＳ５２に戻って前述した処理を実行し、終了したときは、このスコア調整処理を終了する。
【００６０】
（他の実施の形態）
尚、本発明は上述の実施の形態に限定されるのではなく、本発明の趣旨を逸脱しない限りにおいて適宜変更が可能である。上述の実施の形態においては、言語解析の手法として形態素解析を使用したが、それ以外の実現形態も考えられる。例えば、単に単語に分割するだけの手法に基づく方式も考えられる。この場合は付属語の部分は一切解析されずに未知語領域として処理されることになる。これにより解析の精度が低下するという欠点があるものの、形態素解析に比べて解析処理が軽くて済み、より軽量なシステムを構成することができる。
【００６１】
また上述の実施の形態においては、不完全照合の手法としてクエリの文字を類似文字列に展開して検索しているが、このような展開をせずに、類似した文字群をまとめて代表する代表文字に正規化して照合する手法も考えられる。そのように構成することで処理負荷が軽減され、より小規模の装置に適用が可能となる。
【００６２】
また或は、全く異なる不完全照合の実現形態も考えられる。例えば、ワイルドカードサーチなどのように一致しない部分があっても照合に成功すると判定する手法を採用することもできる。この場合、類似度の算出方法が若干変わるものの、不完全照合の部分を除けば全く同様に構成することができ、全く同様の効果を得ることができる。更に上記以外にも、本発明の趣旨を逸脱しない限りにおいて、この実施の形態の構成を適宜変更することが可能である。
【００６３】
以上説明したように本実施の形態によれば、誤認識があるテキストに対して、誤認識を許容した検索が可能となる。しかも誤認識を許容したヒットがあった場合も、解析可能な文字列に含まれていればスコアが低く評価されるので、意図しない誤ヒットを抑制できる。これにより、本当に誤認識された文字列のヒットが相対的に優先的に表示され、操作性の高い文書検索装置を提供できる。
【図面の簡単な説明】
【００６４】
【図１】本発明の実施の形態に係る文書検索装置の構成を示すブロック図である。
【図２】本実施の形態に係る検索の操作例を説明する図である。
【図３】本実施の形態に係る未知語解析処理の一例を説明する図である。
【図４】本実施の形態に係る未知語領域を記憶する未知語領域テーブルのデータ構成を説明する図である。
【図５】本実施の形態に係る検索クエリの各文字（文字列）を類似文字列に展開するためのクエリ展開テーブルのデータ構成を説明する図である。
【図６】本実施の形態に係る検索クエリを、誤認識により展開される可能のある文字列として展開する展開クエリLatticeを説明する図である。
【図７】本実施の形態に係る、形態素解析結果のどの部分が未知語領域となるべきかを認定するためのルールである未知語領域認定ルールの格納形式を示した図である。
【図８】本実施の形態に係る検索結果の候補を格納する検索結果テーブルの構成を示す図である。
【図９】本実施の形態に係る検索結果の出力順位を規定するスコアの算出式を説明する図である。
【図１０】本実施の形態に係る文書検索装置における処理を説明するフローチャートである。
【図１１】図１０のステップＳ４におけるイベント対応処理の一部である検索処理を説明するフローチャートである。
【図１２】図１１のステップＳ１１の未知語解析処理を説明するフローチャートである。
【図１３】図１２のステップＳ２３の未知語領域の抽出処理を説明するフローチャートである。
【図１４】図１１のステップＳ１３の不完全照合処理を説明するフローチャートである。
【図１５】図１１のステップＳ１４のスコア調整処理を説明するフローチャートである。
【図１】
2006343870.tif 000003
【図２】
2006343870.tif 000004
【図３】
2006343870.tif 000005
【図４】
2006343870.tif 000006
【図５】
2006343870.tif 000007
【図６】
2006343870.tif 000008
【図７】
2006343870.tif 000009
【図８】
2006343870.tif 000010
【図９】
2006343870.tif 000011
【図１０】
2006343870.tif 000012
【図１１】
2006343870.tif 000013
【図１２】
2006343870.tif 000014
【図１３】
2006343870.tif 000015
【図１４】
2006343870.tif 000016
【図１５】
2006343870.tif 000017