(57)【要約】      （修正有）【課題】Ｎ−ｇｒａｍ方式の検索エンジンを使用しつつ、単語数を条件とする近傍検索を実現する文書検索装置、文書検索方法及びコンピュータプログラムを提供する。【解決手段】文書検索システム１０の文書検索装置１２は、オリジナル文書に記載された互いに異なる複数の単語が、互いに異なる固定長のコードに変換された複数の文書データを記憶する。ユーザ端末１４は、複数の単語を指定し、かつ、それら複数の単語が存在すべき範囲を単語数で指定する検索要求を文書検索装置１２へ送信する。文書検索装置１２は、検索要求で指定された複数の単語のそれぞれに対応する固定長のコードを取得し、検索要求で指定された単語数基準の範囲と、固定のコード長とに応じて、文字数基準の範囲を導出する。文書検索装置１２は、複数の単語のコードと文字数基準の範囲とを条件とする近傍検索を実行し、複数の文書データの中から上記条件を満たす文書データを抽出する。【選択図】図１
2020191099.tif 000002
【特許請求の範囲】
【請求項１】
複数の文書データを記憶する文書記憶部であって、前記複数の文書データのそれぞれは、オリジナル文書に記載された互いに異なる複数の単語が、互いに異なる固定長のコードに変換されたものである文書記憶部と、
前記オリジナル文書に記載された文字列に対して形態素解析を実行して、前記オリジナル文書に記載された複数の単語を抽出し、互いに異なる複数の単語を、互いに異なる固定長のコードに変換した文書データを前記文書記憶部に格納する変換部と、
複数の単語を指定する検索要求であって、かつ、それら複数の単語が存在すべき範囲を単語数で指定する検索要求を受け付ける受付部と、
検索要求で指定された複数の単語のそれぞれに対応する固定長のコードを取得する取得部と、
検索要求で指定された単語数基準の範囲と、固定のコード長とに応じて、文字数基準の範囲を導出する導出部と、
前記取得部により取得された複数の単語のコードと、前記導出部により導出された文字数基準の範囲とを条件とする近傍検索を実行し、前記文書記憶部に記憶された複数の文書データの中から前記条件を満たす文書データを抽出する検索部と、
を備えることを特徴とする文書検索装置。
【請求項２】
前記文書記憶部に記憶される文書データは、オリジナル文書データに記載された単語に予め対応付けられたコードが記録されたものであり、オリジナル文書データに記載された或る単語に対応するコードが未定義の場合、その単語は複数の単文字単語に分解され、複数の単文字単語に予め対応付けられたコードが前記文書データに記録され、
前記検索要求で指定された複数の単語のうち一部の単語に対応するコードが未定義の場合、前記検索部は、対応するコードが存在する単語のコードと、前記一部の単語を分解した複数の単文字単語のコードとに基づく近傍検索を実行することを特徴とする請求項１に記載の文書検索装置。
【請求項３】
前記検索部は、前記検索要求で指定された少なくとも１つの単語に対応するコードが未定義の場合、当該単語に予め対応付けられた、コードが定義済の別の単語を識別し、前記別の単語のコードに基づく近傍検索を実行することを特徴とする請求項１に記載の文書検索装置。
【請求項４】
前記固定長のコードの先頭には、先頭以外では使用されない特殊値が設定されることを特徴とする請求項１から３のいずれかに記載の文書検索装置。
【請求項５】
前記固定長のコードの先頭には、先頭以外では使用されない複数の特殊値のうちいずれかが設定されることを特徴とする請求項１から３のいずれかに記載の文書検索装置。
【請求項６】
或る固定長のコードの先頭と、別の固定長のコードの先頭には異なる特殊値が設定されることを特徴とする請求項５に記載の文書検索装置。
【請求項７】
前記文書記憶部に記憶される文書データは、オリジナル文書データに記載された互いに関連性を有する複数の単語を、共通のコードへ変換したものである請求項１から６のいずれかに記載の文書検索装置。
【請求項８】
複数の文書データを記憶する文書記憶部であって、前記複数の文書データのそれぞれは、オリジナル文書に記載された互いに異なる複数の単語が、互いに異なる固定長のコードに変換されたものである文書記憶部にアクセス可能なコンピュータが、
前記オリジナル文書に記載された文字列に対して形態素解析を実行して、前記オリジナル文書に記載された複数の単語を抽出し、互いに異なる複数の単語を、互いに異なる固定長のコードに変換した文書データを前記文書記憶部に格納するステップと、
複数の単語を指定する検索要求であって、かつ、それら複数の単語が存在すべき範囲を単語数で指定する検索要求を受け付けるステップと、
検索要求で指定された複数の単語のそれぞれに対応する固定長のコードを取得するステップと、
検索要求で指定された単語数基準の範囲と、固定のコード長とに応じて、文字数基準の範囲を導出するステップと、
前記取得するステップで取得された複数の単語のコードと、前記導出するステップで導出された文字数基準の範囲とを条件とする近傍検索を実行し、前記文書記憶部に記憶された複数の文書データの中から前記条件を満たす文書データを抽出するステップと、
を実行することを特徴とする文書検索方法。
【請求項９】
複数の文書データを記憶する文書記憶部であって、前記複数の文書データのそれぞれは、オリジナル文書に記載された互いに異なる複数の単語が、互いに異なる固定長のコードに変換されたものである文書記憶部にアクセス可能なコンピュータに、
前記オリジナル文書に記載された文字列に対して形態素解析を実行して、前記オリジナル文書に記載された複数の単語を抽出し、互いに異なる複数の単語を、互いに異なる固定長のコードに変換した文書データを前記文書記憶部に格納する機能と、
複数の単語を指定する検索要求であって、かつ、それら複数の単語が存在すべき範囲を単語数で指定する検索要求を受け付ける機能と、
検索要求で指定された複数の単語のそれぞれに対応する固定長のコードを取得する機能と、
検索要求で指定された単語数基準の範囲と、固定のコード長とに応じて、文字数基準の範囲を導出する機能と、
前記取得する機能により取得された複数の単語のコードと、前記導出する機能により導出された文字数基準の範囲とを条件とする近傍検索を実行し、前記文書記憶部に記憶された複数の文書データの中から前記条件を満たす文書データを抽出する機能と、
を実現させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、データ処理技術に関し、特に文書を検索する技術に関する。
【背景技術】
【０００２】
Ｎ−ｇｒａｍ方式の全文検索技術が広く普及している（例えば特許文献１参照）。また現在、文献の検索サービスの中には、ユーザが指定する複数のキーワードが、ユーザが指定する範囲（以下「近傍範囲」とも呼ぶ。）に記載された文献を検索する近傍検索を提供するものもある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−９９４２７号広報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
Ｎ−ｇｒａｍ方式の検索エンジンでは、文字数基準の近傍検索は可能であるが、単語数基準の近傍検索はできない。言い換えれば、近傍検索の条件である近傍範囲を文字数では指定できるが、単語数では指定できない。単語ごとに文字数は異なりうるところ、近傍範囲を単語数で指定することへのニーズは高い。しかし、単語数基準の近傍検索が可能なように既存の検索エンジンを改修し、または、既存の検索エンジンを、単語数基準の近傍検索が可能な別の検索エンジンに置き換えるには多大なコストを要する。
【０００５】
本発明は、こうした課題に鑑みてなされたものであり、主たる目的は、Ｎ−ｇｒａｍ方式の検索エンジンを使用しつつ、単語数基準の近傍検索を実現する技術を提供することである。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明のある態様の文書検索装置は、複数の文書データを記憶する第１文書記憶部であって、複数の文書データのそれぞれは、オリジナル文書に記載された互いに異なる複数の単語が、互いに異なる固定長のコードに変換されたものである第１文書記憶部と、複数の単語を指定する検索要求であって、かつ、それら複数の単語が存在すべき範囲を単語数で指定する検索要求を受け付ける受付部と、検索要求で指定された複数の単語のそれぞれに対応する固定長のコードを取得する取得部と、検索要求で指定された単語数基準の範囲と、固定のコード長とに応じて、文字数基準の範囲を導出する導出部と、取得部により取得された複数の単語のコードと、導出部により導出された文字数基準の範囲とを条件とする近傍検索を実行し、第１文書記憶部に記憶された複数の文書データの中から条件を満たす文書データを抽出する検索部と、を備える。
【０００７】
本発明の別の態様は、文書検索方法である。この方法は、複数の文書データを記憶する文書記憶部であって、複数の文書データのそれぞれは、オリジナル文書に記載された互いに異なる複数の単語が、互いに異なる固定長のコードに変換されたものである文書記憶部にアクセス可能なコンピュータが、複数の単語を指定する検索要求であって、かつ、それら複数の単語が存在すべき範囲を単語数で指定する検索要求を受け付けるステップと、検索要求で指定された複数の単語のそれぞれに対応する固定長のコードを取得するステップと、検索要求で指定された単語数基準の範囲と、固定のコード長とに応じて、文字数基準の範囲を導出するステップと、取得するステップで取得された複数の単語のコードと、導出するステップで導出された文字数基準の範囲とを条件とする近傍検索を実行し、文書記憶部に記憶された複数の文書データの中から条件を満たす文書データを抽出するステップと、を実行する。
【０００８】
なお、以上の構成要素の任意の組合せ、本発明の表現をシステム、コンピュータプログラム、コンピュータプログラムを格納した記録媒体などの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【０００９】
本発明によれば、Ｎ−ｇｒａｍ方式の検索エンジンを使用しつつ、単語数基準の近傍検索を実現することができる。
【図面の簡単な説明】
【００１０】
【図１】第１実施例の検索システムを示す図である。
【図２】図１の文書検索装置の機能構成を示すブロック図である。
【図３】辞書記憶部の構成例を模式的に示す図である。
【図４】第１実施例の文書検索装置の動作を示すフローチャートである。
【図５】第１実施例の文書検索装置の動作を示すフローチャートである。
【図６】第２実施例の文書検索装置の動作を示すフローチャートである。
【図７】第２実施例の文書検索装置の動作を示すフローチャートである。
【発明を実施するための形態】
【００１１】
本発明の実施例を詳細に説明する前にまず概要を説明する。
実施例の文書検索装置が備える検索エンジンは、Ｎ−ｇｒａｍ方式の文書検索を実行する。例えば、「ｅａｔ」で検索すれば、「ｂｅａｔ」「ｈｅａｔ」「ｂｅａｔｅｎ」は全てヒットする。Ｎ−ｇｒａｍ方式の検索エンジンは、単語の区切りを認識しない。例えば、「ｅａｔ」と「ｂｅａｔｅｎ」はどちらも「ｅａｔ」による検索にヒットする。
【００１２】
また、Ｎ−ｇｒａｍ方式の検索エンジンは、近傍検索において単語数を考慮しない。例えば、「ｅａｔ  ｐａｔｈｏｌｏｇｉｃａｌｌｙ  ｙｏｕ  ａｒｅ  ｄｉｓｇｕｓｔｉｎｇ」と「ｅａｔ  ｉｔ  ｍｕｃｈ  ｆａｓｔｅｒ  ｙｏｕ  ｃａｎ  ｈｕｒｔ  ｙｏｕｒｓｅｌｆ」は、「ｅａｔ」と「ｙｏｕ」の間の文字数は同じだが、間の単語数は１と３で相当違う。Ｎ−ｇｒａｍ方式の検索エンジンでは、文字数に基づく近傍検索はできるが、単語数に基づく近傍検索はできない。
【００１３】
近傍検索においてユーザは、複数のキーワードと、それら複数のキーワードが存在すべき範囲（すなわち近傍範囲）を条件として指定する。この範囲は、複数のキーワードの近さの程度を示すものと言え、以下では「距離」と呼ぶ。文字数で指定される距離であり、言い換えれば、文字数基準の近傍範囲を「文字距離」と呼び、単語数で指定される距離であり、言い換えれば、単語数基準の近傍範囲を「単語距離」と呼ぶ。
【００１４】
ここで、文字数に基づく近傍検索の例を示す。例えば、キーワード「ｅａｔ」、キーワード「ｙｏｕ」、文字距離「１５」を条件とする近傍検索が実行されると、１５文字の範囲内に「ｅａｔ」と「ｙｏｕ」の両方を含む文書がヒットする。なお、実施例のＮ−ｇｒａｍ方式の検索エンジンは、繋がっている文字列を完全一致で検索する。例えば、３−ｇｒａｍの場合に、キーワード「ａｂｏａｒｄ」による検索では「ａｂｏｖｅｂｏａｒｄ」はヒットしない。
【００１５】
実施例では、Ｎ−ｇｒａｍ方式の検索エンジンを使用して、単語数に基づく近傍検索を実現する。例えば、「車にコンピュータ」は「車」「に」「コンピュータ」の３単語で構成されるが、キーワードを「車」および「コンピュータ」とし、単語距離を「３」とする近傍検索において、「車にコンピュータ」を含む文書がヒットするようにする。なお、単語距離「２」は２つのキーワードが隣接することを意味する。単語距離「Ｎ（Ｎは３以上）」は複数のキーワードが、キーワードも含むＮ単語内に存在することを意味する。
【００１６】
具体的には、実施例の文書検索装置は、検索対象の複数の文書として、オリジナル文書の各単語を固定長のコードに変換した文書を記憶する。文書検索装置は、検索要求を受け付けると、検索要求で指定されたキーワードを固定長のコードに変換する。それとともに、検索要求で指定された単語距離と固定のコード長とに基づいて文字距離を導出する。文書検索装置は、キーワードのコードと文字距離とをＮ−ｇｒａｍ方式の検索エンジンに入力して、文字数に基づく近傍検索を実行させる。このように、検索対象文書内の各単語および検索キーワードを固定長のコードへ変換することで、ユーザが指定する単語距離を文字距離に変換可能になる。実施例の文書検索装置１２によると、既存のＮ−ｇｒａｍ方式の検索エンジンを使用しつつ、単語数に基づく近傍検索を実現することができる。言い換えれば、文字数に基づく近傍検索を実行する既存の検索エンジンを使用して、単語数に基づく近傍検索を実現することができる。
【００１７】
（第１実施例）
図１は、第１実施例の文書検索システム１０を示す。文書検索システム１０は、文書検索装置１２とユーザ端末１４を備える。文書検索装置１２は、キーワード検索や近傍検索等の文書検索サービスを提供する情報処理装置である。例えば、文書検索装置１２は、インターネットを介して、特許文献の検索サービスを提供するサーバであってもよい。
【００１８】
ユーザ端末１４は、文書検索装置１２が提供する文書検索サービスの利用者（以下「ユーザ」と呼ぶ。）により操作される情報処理装置である。ユーザ端末１４は、例えば、ＰＣ、スマートフォン、タブレット端末であってもよい。文書検索装置１２とユーザ端末１４は、ＬＡＮ・ＷＡＮ・インターネット等を含む通信網１６を介して接続される。なお、図１には１つのユーザ端末１４を描いているが、実際には、複数のユーザにより操作される複数のユーザ端末１４が文書検索装置１２に接続されてよい。
【００１９】
図２は、図１の文書検索装置１２の機能構成を示すブロック図である。文書検索装置１２は、制御部２０、記憶部２２、通信部２４を備える。制御部２０は、文書検索に関する各種データ処理を実行する。記憶部２２は、制御部２０により参照または更新されるデータを記憶する記憶領域である。通信部２４は、所定の通信プロトコルにしたがって外部装置と通信する。制御部２０は、通信部２４を介してユーザ端末１４とデータを送受する。
【００２０】
本明細書のブロック図において示される各ブロックは、ハードウェア的には、コンピュータのＣＰＵ・メモリをはじめとする素子や機械装置で実現でき、ソフトウェア的にはコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックはハードウェア、ソフトウェアの組合せによっていろいろなかたちで実現できることは、当業者には理解されるところである。
【００２１】
例えば、制御部２０の各ブロックの機能はコンピュータプログラムとして実装され、そのコンピュータプログラムが文書検索装置１２のストレージにインストールされてもよい。そして文書検索装置１２のＣＰＵが、そのコンピュータプログラムをメインメモリへ読み出して実行することにより制御部２０の各ブロックの機能が発揮されてもよい。また、記憶部２２は、文書検索装置１２のメインメモリやストレージにより実現されてもよい。なお、文書検索装置１２は、ウェブサーバ、アプリケーションサーバ、データベースサーバ等の複数台の装置が通信網を介して連携することにより実現されてもよい。
【００２２】
記憶部２２は、辞書記憶部２６、原本文書記憶部２８、コード化文書記憶部３０を含む。原本文書記憶部２８は、複数のオリジナル文書データを記憶する。オリジナル文書データは、文書内に記載された単語がコードに変換される前の文書データであり、言い換えれば、作成時点の内容の文書データである。オリジナル文書データは、日本語や英語等、様々な言語で記載された文書を含む。例えば、オリジナル文書データは、公開特許公報と管理データ（各種番号等）、特許掲載公報と管理データを含んでもよい。
【００２３】
辞書記憶部２６は、オリジナル文書データに含まれうる複数の単語と、複数のコードとの対応関係を記憶する。この単語は、形態素とも言え、日本語や英語等、様々な言語において定められた単語を含む。図３は、辞書記憶部２６の構成例を模式的に示す。辞書記憶部２６は、様々な言語における互いに異なる複数の単語を、互いに異なる固定長のコードに対応付けた辞書データを記憶する。コードは、複数の単語それぞれのユニークなＩＤとも言える。実施例のコードは、１１バイトの固定長データであり、具体的には、１１文字固定の文字列とする。各コードの先頭（例えば１バイト目）には先頭以外では使用されない特殊値（言い換えれば区切り文字）が設定される。特殊値は、コードの２〜１１バイト目では使用されない値（ビットの並び）であってもよい。実施例ではコードの先頭の特殊値を「＃」で示す。
【００２４】
図２に戻り、コード化文書記憶部３０は、オリジナル文書データに記載された互いに異なる複数の単語が、互いに異なる固定長のコードに変換された文書データ（以下「コード化文書データ」とも呼ぶ。）を記憶し、複数のコード化文書データを記憶する。コード化文書データは、例えば、オリジナルの公開特許公報に記載された複数の単語がコードに変換された公開特許公報のコード化データと、オリジナルの特許掲載公報に記載された複数の単語がコードに変換された特許掲載公報のコード化データを含んでもよい。
【００２５】
コード化文書データの例を図３を参照しつつ説明する。例えば、オリジナル文書データに文字列「私の発明」（「私」「の」「発明」の３単語）が含まれる場合、コード化文書データには、上記文字列が「＃００２４Ｆ７６ＤＡ７＃００２４Ｆ７６ＤＤ８＃００２４Ｆ７６ＤＡ６」に変換されて記録される。
【００２６】
なお、コード化文書記憶部３０に記憶された複数のコード化文書データのそれぞれは、原本文書記憶部２８に記憶された変換前のオリジナル文書データに対応付けられる。複数のコード化文書データのそれぞれは、対応するオリジナル文書データの識別子を含んでもよく、対応するオリジナル文書データのメモリ上のアドレス（すなわちポインタ）を含んでもよい。
【００２７】
制御部２０は、文書変換部３２、検索要求受付部３４、コード取得部３６、文字距離導出部３８、検索指示部４０、検索実行部４２、検索結果提供部４４を含む。不図示だが、制御部２０は、公知のウェブサーバの機能を含んでもよい。
【００２８】
文書変換部３２は、原本文書記憶部２８に記憶されたオリジナル文書データからコード化文書データを生成する。例えば、文書変換部３２は、公知の形態素解析処理を実行して、オリジナル文書データに記載された複数の単語を識別する。文書変換部３２は、辞書記憶部２６の辞書データを参照して、オリジナル文書データに記載された複数の単語を、各単語に対応する固定長コードに置換することによりコード化文書データを生成する。文書変換部３２は、生成したコード化文書データをコード化文書記憶部３０に格納する。
【００２９】
検索要求受付部３４は、文書検索装置１２から送信された検索要求を受け付ける。実施例の検索要求は、近傍検索を要求するクエリ電文である。具体的には、検索要求では、複数の単語が指定され、かつ、それら複数の単語が存在すべき範囲が単語数で指定される。言い換えれば、実施例の検索要求は、複数のキーワードと、それらキーワード間の単語距離とを指定するものである。
【００３０】
コード取得部３６は、辞書記憶部２６の辞書データを参照して、検索要求受付部３４により受け付けられた検索要求で指定された複数の単語のそれぞれに対応するコードを取得する。
【００３１】
文字距離導出部３８は、検索要求受付部３４により受け付けられた検索要求で指定された単語距離と、固定のコード長（実施例では１１文字）とに応じて、近傍検索の条件となる文字距離を導出する。具体的には、文字距離導出部３８は、（単語距離  ×  コード長）の結果を文字距離として導出する。
【００３２】
検索指示部４０と検索実行部４２は互いに連携して、近傍検索を含む各種検索処理を実行する検索部として機能する。検索指示部４０は、キーワードとしてコード取得部３６により取得された複数のコードを指定する検索指示であり、文字距離導出部３８により導出された文字距離を指定する検索指示を検索実行部４２へ入力する。
【００３３】
検索実行部４２は、検索指示部４０から入力された検索指示に応じて、Ｎ−ｇｒａｍ方式による文書検索処理を実行する検索エンジンである。検索実行部４２は、ユーザ端末１４から単語距離に基づく近傍検索が要求されたか否かに関わらず、文字距離に基づく近傍検索を実行する。
【００３４】
具体的には、検索実行部４２は、検索指示で指定された複数のキーワードと文字距離とを条件とする近傍検索を実行する。検索実行部４２は、コード化文書記憶部３０に記憶された複数のコード化文書データの中から上記条件を満たすコード化文書データを抽出する。また、検索実行部４２は、コード化文書記憶部３０から抽出した（すなわち近傍検索にヒットした）コード化文書データに対応するオリジナル文書データを原本文書記憶部２８から抽出する。検索実行部４２は、原本文書記憶部２８から抽出したオリジナル文書データ、および／または、コード化文書記憶部３０から抽出したコード化文書データを検索結果提供部４４へ出力する。
【００３５】
検索結果提供部４４は、検索実行部４２により抽出されたオリジナル文書データを、検索要求元のユーザ端末１４へ送信する。例えば、オリジナル文書データを示す識別情報（各種管理番号等）や、オリジナル文書データの本文の少なくとも一部をユーザ端末１４へ送信してもよい。変形例として、検索結果提供部４４は、オリジナル文書データとともに、またはオリジナル文書データに代えて、検索実行部４２により抽出されたコード化文書データ（例えばオリジナル文書データと共通の管理番号等）をユーザ端末１４へ送信してもよい。また、変形例として、ユーザに対してオリジナル文書データの全部又は一部を提示する場合に、オリジナル文書データ中検索指示で指示された複数のキーワードが出現する箇所をハイライト（顕示）してもよい。
【００３６】
既述したように、コード化文書記憶部３０に記憶されるコード化文書データは、オリジナル文書データに記録された単語に対して予め対応付けられたコードが記録されたものである。文書変換部３２は、オリジナル文書データに記録された或る単語（「特定単語」と呼ぶ。）に対応するコードが辞書記憶部２６の辞書データに存在しない場合、特定単語を複数の単文字単語に分解する。単文字単語は、１文字で構成された単語であり、例えば「ａ」「ｂ」「あ」「い」「日」「月」等を含む。辞書記憶部２６の辞書データには、複数の単文字単語に対応する複数のコードが予め格納される。文書変換部３２は、辞書記憶部２６の辞書データを参照して、複数の単文字単語のそれぞれに予め対応付けられたコードをコード化文書データに記録する。
【００３７】
コード取得部３６は、検索要求で指定された複数の単語のうち一部の単語に対応するコードが辞書データに存在しない場合、対応するコードが存在しない単語（すなわち特定単語）を複数の単文字単語に分解し、複数の単文字単語それぞれのコードを取得する。
【００３８】
文字距離導出部３８は、検索要求で指定された単語距離を、特定単語を分解した単文字単語の個数に応じて拡大する。具体的には、（検索要求で指定された単語距離−特定単語数＋各特定単語の単文字単語の個数）を新たな単語距離として導出する。例えば、検索要求で指定された単語距離が５、特定単語数が１、この特定単語が３つの単文字単語に分解される場合（言い換えれば特定単語の文字数が３の場合）、（５−１＋３＝７）を新たな単語距離として導出する。文字距離導出部３８は、新たな単語距離に基づいて文字距離を導出する。例えば、新たな単語距離が「７」の場合、固定のコード長「１１」との積である「７７」を文字距離として導出する。このように、近傍検索における単語数の増加に応じて単語距離を拡大することで、特定単語を複数の単文字単語に分解した結果、ユーザが指定した単語距離が実質的に短くなってしまい検索精度が低下することを回避できる。
【００３９】
検索指示部４０は、検索要求で指定された複数の単語のうち対応するコードが存在する１つ以上の単語のコードと、複数の単文字単語のコードと、文字距離導出部３８により導出された文字距離を条件とする近傍検索指示を検索実行部４２に入力する。検索実行部４２は、これらの条件に基づく近傍検索を実行し、これらの条件を満たすコード化文書データをコード化文書記憶部３０から抽出する。
【００４０】
検索指示部４０はさらに、近傍検索により抽出された１つ以上のコード化文書データを母集団とした新たな近傍検索を検索実行部４２にさらに実行させる。具体的には、複数の単文字単語のコードが隣接することを条件とする新たな近傍検索をさらに実行させる。例えば、或る１つの特定単語を４つの単文字単語に分解した場合、文字距離「４」に基づく新たな近傍検索をさらに実行させる。検索実行部４２は、検索指示にしたがって新たな近傍検索を実行し、先の近傍検索の結果を絞り込む。
【００４１】
以上の構成による文書検索装置１２の動作を説明する。
図４は、第１実施例の文書検索装置１２の動作を示すフローチャートである。同図は、コード化文書データ生成時の動作を示している。原本文書記憶部２８には、検索の母集団に含めるべきオリジナル文書データ（例えば新たに公開された公開特許公報等）が随時追加されていく。文書変換部３２は、新たなオリジナル文書データが原本文書記憶部２８に格納されるまで待機する（Ｓ１０のＮ）。文書変換部３２は、新たなオリジナル文書データが原本文書記憶部２８に格納されたことを検出すると（Ｓ１０のＹ）、新たなオリジナル文書データに記載された文字列に対して形態素解析処理を実行し、新たなオリジナル文書データに記載された複数の単語を抽出する（Ｓ１１）。
【００４２】
文書変換部３２は、辞書データを参照して、Ｓ１１で抽出した各単語に対応するコードを取得する（Ｓ１２）。オリジナル文書データに含まれる少なくとも１つの単語（「特定単語」と呼ぶ。）に対応するコードが辞書データに未定義の場合（Ｓ１４のＹ）、文書変換部３２は、特定単語を複数の単文字単語に分解し、各単文字単語に対応するコードを取得する（Ｓ１６）。オリジナル文書データに特定単語が存在しなければ、すなわちオリジナル文書データの全ての単語が辞書データに定義されていれば（Ｓ１４のＮ）、Ｓ１６をスキップする。文書変換部３２は、オリジナル文書データの各単語（単文字単語を含みうる）を固定長のコードに変換したコード化文書データをコード化文書記憶部３０に格納する（Ｓ１８）。
【００４３】
図５も、第１実施例の文書検索装置１２の動作を示すフローチャートである。同図は、検索時の動作を示している。検索要求受付部３４は、ユーザ端末１４から送信された検索要求を受信するまで待機する（Ｓ２０のＮ）。検索要求（具体的には複数の単語と、単語距離を指定した近傍検索要求）を検索要求受付部３４が受信すると（Ｓ２０のＹ）、コード取得部３６は、辞書データを参照して、検索要求で指定された複数の単語に対応する複数のコードを識別する（Ｓ２２）。
【００４４】
少なくとも１つの単語（「特定単語」と呼ぶ。）に対応するコードが辞書データに未定義であれば（Ｓ２４のＹ）、コード取得部３６は、メモリの所定領域に設けた特殊フラグをオンに設定する（Ｓ２６）。コード取得部３６は、特定単語を複数の単文字単語に分解し、各単文字単語に対応するコードを取得する（Ｓ２８）。文字距離導出部３８は、検索要求で指定された単語距離を、単文字単語の個数に応じて拡大する（Ｓ３０）。具体的には、単文字単語の個数と特定単語の個数との差分だけ単語距離を増加させる。検索要求で指定された単語に特定単語が含まれず、すなわち、指定された全ての単語が辞書データに定義されていれば（Ｓ２４のＮ）、Ｓ２６〜Ｓ３０をスキップする。
【００４５】
文字距離導出部３８は、検索要求で指定された単語距離またはＳ３０で拡大した単語距離と、固定のコード長とに基づいて、近傍検索のための文字距離を導出する（Ｓ３２）。検索指示部４０は、検索要求で指定された複数の単語のコードと、特定単語があればその特定単語を分解した複数の単文字単語のコードとをキーワードとして指定した検索指示であり、Ｓ３２で導出された文字距離をさらに指定した近傍検索指示を検索実行部４２へ入力する。検索実行部４２は、コード化文書記憶部３０に格納された複数のコード化文書データを母集団とする近傍検索処理であり、Ｎ−ｇｒａｍ方式による文字数基準の近傍検索処理を実行する（Ｓ３４）。検索実行部４２は、近傍検索にヒットしたコード化文書データをコード化文書記憶部３０から抽出し、抽出したコード化文書データに対応するオリジナル文書データを原本文書記憶部２８から抽出する。
【００４６】
特殊フラグがオンであれば（Ｓ３６のＹ）、検索指示部４０は、Ｓ３４の近傍検索処理で抽出された１つ以上のコード化文書データを母集団とした絞込検索であり、複数の単文字単語のコードが隣接することを条件とする新たな近傍検索を検索指示部４０にさらに実行させる（Ｓ３８）。検索指示部４０は、特殊フラグをオフに戻す（Ｓ４０）。特殊フラグがオフであれば（Ｓ３６のＮ）、Ｓ３８、Ｓ４０をスキップする。検索結果提供部４４は、検索実行部４２により抽出されたコード化文書データに関連する情報、および／または、オリジナル文書データに関連する情報を近傍検索結果としてユーザ端末１４へ送信する（Ｓ４２）。検索結果提供部４４は、Ｓ３８の絞込検索が実行された場合、その絞込検索の結果を近傍検索結果としてユーザ端末１４へ送信する。以上の処理により、ユーザから指定された単語距離に基づく近傍検索の結果がユーザへ提示される。
【００４７】
具体例として、３つの単語「都知事」「小池氏」「外遊」と単語距離１０とを指定する検索要求を受け付けた場合の動作を示す。この例では、「小池氏」が辞書データに存在しない特定単語である。オリジナル文書データが「小池氏」を含む場合、対応するコード化文書データには、３つの単文字単語「小」「池」「氏」それぞれのコードが記録される。文書検索装置１２は、「小池氏」を３つの単文字単語「小」「池」「氏」に分解する。それとともに文書検索装置１２は、単語距離を１２（≒１０−１＋３）に拡大し、文字距離１３２（＝１２×１１  ※コード長は１１とする）を導出する。文書検索装置１２は、５つの単語「都知事」「小」「池」「氏」「外遊」と、文字距離１３２とを条件とする第１の近傍検索を実行して、この条件を満たすコード化文書データを抽出する。
【００４８】
文書検索装置１２は、第１の近傍検索の結果として１つ以上のコード化文書データを抽出した場合、それらのコード化文書データを母集団とした近傍検索であり、３つの単文字単語「小」「池」「氏」と、単語距離３（文字距離は３３）を条件とする第２の近傍検索を実行する。単語距離３の第２の近傍検索は、「小」「池」「氏」が隣接することを条件とするものである。第２の近傍検索の結果、「都知事」「小」「池」「氏」「外遊」が単語距離１２（実質的には単語距離１０）以内に記載され、かつ、「小」「池」「氏」が隣接するコード化文書データ（およびオリジナル文書データ）が抽出される。
【００４９】
なお、検索実行部４２において順重視（順番重視）の指定が可能であれば、第２の近傍検索では、３つの単文字単語「小」「池」「氏」を順重視で検索するようにさらに指定することが望ましい。これにより、ユーザが指定した検索条件に一層適合する検索結果を得やすくなる。なお、第２の近傍検索では、第１の近傍検索の結果としての１つ以上のコード化文書データに対応する１つ以上のオリジナル文書データを母集団として、それら１つ以上のオリジナル文書データの中からキーワード「小池氏」を含むものを通常検索により抽出してもよい。
【００５０】
また、キーワード間にワイルドカード（ここでは「＊」とする）を指定可能な検索エンジンであれば、検索フレーズとして「＃（都知事）＊＃（小）＃（池）＃（氏）＊＃（外遊）」（ただし＃（単語）は単語のコードを示す。）を指定し、かつ、文字距離１３２（単語距離１２）を指定する検索指示を検索実行部４２へ入力してもよい。この場合も、ユーザが指定した検索条件に一層適合する検索結果を得やすくなる。
【００５１】
第１実施例の文書検索装置１２によると、文字数指定の近傍検索が可能であるが、単語数指定の近傍検索に未対応の既存のＮ−ｇｒａｍ方式の検索エンジンを使用して、単語数指定の近傍検索を実現することができる。したがって、単語数指定の近傍検索に対応するために、既存の検索エンジンを改修し、または、新規の検索エンジンを購入することが不要になる。特に、英語等、単語毎に区切って記述される言語の文書検索では、文字数よりも単語数の方がユーザにとって直観的であり、検索条件としての利便性が高い。文書検索装置１２によると、英語圏等のユーザにとって利便性が高い単語数指定の近傍検索を、Ｎ−ｇｒａｍ方式の検索エンジンを使用して実現できる。
【００５２】
また、文書検索装置１２では、複数の単語に対応する複数のコードの先頭に、先頭のみで使用される区切り文字を設定することで、コードの検索時に必ずコードの先頭から一致有無が判定される。これにより、コードの途中（すなわち単語の途中）から一致判定されることを防止でき、また、或るコードから次のコードに跨って一致判定されることを防止できる。また、文書検索装置１２によると、対応するコードが存在しない単語をユーザが指定した場合も近傍検索を実現できる。
【００５３】
（第２実施例）
第２実施例の文書検索装置１２は、単語に対応するコードが辞書データに未定義の場合の処理が第１実施例とは異なる。第２実施例における文書検索システム１０の構成と、文書検索装置１２の機能ブロックは第１実施例と同様（図１および図２）である。以下、第１実施例と重複する構成の説明は適宜省略し、第１実施例と異なる点を主に説明する。
【００５４】
文書変換部３２は、オリジナル文書データに記録された或る単語（特定単語と呼ぶ。）に対応するコードが辞書記憶部２６の辞書データに未定義の場合、文書変換部３２は、特定単語のコード変換をスキップして、次の単語のコード変換を実行する。すなわち、文書変換部３２は、特定単語に関するコードをコード化文書データに記録せず、言い換えれば、オリジナル文書データに記録された単語のうち辞書データにおいてコードに対応付けられた単語のみをコード化文書データに記録する。
【００５５】
コード取得部３６は、検索要求で指定された複数の単語のうち一部の単語（特定単語と呼ぶ。）に対応するコードが辞書データで未定義の場合、特定単語のコード変換をスキップして、次の単語のコード変換を実行する。検索指示部４０は、検索要求で指定された複数の単語のうち対応するコードが定義済の単語のコードと、検索要求で指定された単語距離を変換した文字距離とを条件とする近傍検索を検索実行部４２に実行させる。検索実行部４２は、近傍検索の実行結果として、上記条件を満たす１つ以上のコード化文書データに対応する１つ以上のオリジナル文書データを原本文書記憶部２８から抽出する。
【００５６】
検索指示部４０はさらに、近傍検索により抽出された１つ以上のオリジナル文書データを母集団として指定し、かつ、特定単語をキーワードとして指定する絞込検索の指示を検索実行部４２へ入力する。検索実行部４２は、絞込検索（ここでは一般的なキーワード検索）を実行し、近傍検索により抽出した１つ以上のオリジナル文書データの中から、特定単語を含むオリジナル文書データを抽出する。検索結果提供部４４は、検索実行部４２による絞込検索の結果を、近傍検索の要求元のユーザ端末１４へ送信する。
【００５７】
以上の構成による文書検索装置１２の動作を説明する。
図６は、第２実施例の文書検索装置１２の動作を示すフローチャートである。同図は、図４に対応し、コード化文書データ生成時の動作を示している。同図のＳ５０〜Ｓ５２は、図４のＳ１０〜Ｓ１２と同じであるため説明を省略する。
【００５８】
オリジナル文書データに含まれる少なくとも１つの単語（「特定単語」と呼ぶ。）に対応するコードが辞書データに未定義の場合（Ｓ５４のＹ）、文書変換部３２は、特定単語の処理をスキップし、特定単語に関するコードをコード化文書データに格納しない（Ｓ５６）。オリジナル文書データに特定単語が存在しなければ、すなわちオリジナル文書データの全ての単語がコードに対応付けられていれば（Ｓ５４のＮ）、Ｓ５６をスキップする。文書変換部３２は、オリジナル文書データの各単語（ただし特定単語を除く）を固定長のコードに変換したコード化文書データをコード化文書記憶部３０に格納する（Ｓ５８）。
【００５９】
図７も、第２実施例の文書検索装置１２の動作を示すフローチャートである。同図は、図５に対応し、検索時の動作を示している。同図のＳ６０、Ｓ６２は、図５のＳ２０、Ｓ２２と同じであるため説明を省略する。
【００６０】
少なくとも１つの単語（「特定単語」と呼ぶ。）に対応するコードが辞書データに未定義であれば（Ｓ６４のＹ）、コード取得部３６は、メモリの所定領域に設けた特殊フラグをオンに設定する（Ｓ６６）。検索指示部４０は、特定単語を近傍検索の対象から除外する（Ｓ６８）。検索要求で指定された単語に特定単語が含まれず、すなわち、指定された全ての単語に対応するコードが辞書データで定義されていれば（Ｓ６４のＮ）、Ｓ６６、Ｓ６８をスキップする。文字距離導出部３８は、検索要求で指定された単語距離と、固定のコード長に基づいて、近傍検索のための文字距離を導出する（Ｓ７０）。
【００６１】
検索指示部４０は、検索要求で指定された複数の単語のうち特定単語を除外した残りの単語のコードをキーワードとして指定した検索指示であり、Ｓ７０で導出された文字距離をさらに指定した近傍検索指示を検索実行部４２へ入力する。検索実行部４２は、コード化文書記憶部３０に格納された複数のコード化文書データを母集団とする近傍検索処理であり、Ｎ−ｇｒａｍ方式による文字数基準の近傍検索処理を実行する。検索実行部４２は、近傍検索処理により抽出したコード化文書データに対応するオリジナル文書データを原本文書記憶部２８から抽出する（Ｓ７２）。
【００６２】
特殊フラグがオンであれば（Ｓ７４のＹ）、検索指示部４０は、近傍検索処理で抽出された１つ以上のオリジナル文書データを母集団とする絞込検索の指示であり、特定単語をキーワードとして指定する絞込検索指示を検索実行部４２へ入力する。検索実行部４２は、近傍検索処理で抽出した１つ以上のオリジナル文書データの中から、特定単語を含むオリジナル文書データを抽出する（Ｓ７６）。検索指示部４０は、特殊フラグをオフに戻す（Ｓ７８）。特殊フラグが当初からオフであれば（Ｓ７４のＮ）、Ｓ７６とＳ７８をスキップする。検索結果提供部４４は、検索実行部４２により抽出されたコード化文書データに関連する情報、および／または、オリジナル文書データに関連する情報を近傍検索結果として、ユーザ端末１４へ送信する（Ｓ８０）。検索結果提供部４４は、Ｓ７６の絞込検索が実行された場合、その絞込検索の結果を近傍検索結果としてユーザ端末１４へ送信する。以上の処理により、ユーザから指定された単語距離に基づく近傍検索の結果がユーザへ提示される。
【００６３】
具体例として、３つの単語「都知事」「小池氏」「外遊」と単語距離１０とを指定する検索要求を受け付けた場合の動作を示す。この例では、「小池氏」が辞書データに存在しない特定単語である。オリジナル文書データが「小池氏」を含む場合、対応するコード化文書データには、「小池氏」に関するコードは記録されない。文書検索装置１２は、２つの単語「都知事」「外遊」と、文字距離１１０（＝単語距離１０×コード長１１）を条件とする近傍検索を実行し、この条件を満たすコード化文書データを抽出し、さらに対応するオリジナル文書データを抽出する。文書検索装置１２は、近傍検索の結果として１つ以上のオリジナル文書データを抽出した場合、それらのオリジナル文書データを母集団とした絞込検索であり、キーワード「小池氏」を条件とするキーワード検索を実行する。これにより、「都知事」と「外遊」が単語距離１０以内に記載され、かつ、「小池氏」を含むオリジナル文書データが抽出される。
【００６４】
第２実施例の文書検索装置１２においても第１実施例の文書検索装置１２と同様の効果を奏する。例えば、第２実施例の文書検索装置１２によると、対応するコードが存在しない単語をユーザが指定した場合も、ノイズは生じうるが、ユーザが指定した条件に可及的に適合する検索結果をユーザへ提示することができる。
【００６５】
以上、本発明を第１実施例と第２実施例をもとに説明した。これら実施例は例示であり、各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【００６６】
変形例を説明する。辞書記憶部２６の辞書データで定義される固定長のコードの先頭には、先頭以外では使用されない複数の特殊値のいずれかが設定されてもよい。言い換えれば、ある範囲内の値を特殊値（区切り文字）として設定してもよい。具体的には、ＵｎｉｃｏｄｅにおけるＵ＋９０００〜Ｕ＋９ＦＦＦの範囲を特殊値として定め、コード（ここでは１０文字とする）の先頭１文字目に上記範囲のいずれかの特殊値を設定してもよい。また、Ｕ＋１０００〜Ｕ＋８ＦＦＦの範囲を、コードの２文字目〜１０文字目に設定してもよい。
【００６７】
本変形例の態様でも、先頭を示す区切り文字がコードの途中では出現しないため、実施例の区切り文字と同様の効果を奏する。例えば、必ずコードの先頭から一致有無が判定されることになり、コードの途中から一致判定されることを防止できる。また、第１変形例の態様では、コードの先頭（例えば１文字目）もコードの識別に用いることができる。すなわち、コードは単語毎にユニークとなる必要があるが、コードの先頭にも所定範囲の特殊値群の中から異なる値を設定できるため、コード長を実施例より短くすることができる。これにより、辞書データおよびコード化文書データのサイズを低減できる。
【００６８】
別の変形例を説明する。コード化文書記憶部３０に格納されるコード化文書データは、オリジナル文書データに記載された互いに関連性を有する複数の単語を、共通のコードへ変換したものであってもよい。具体的には、辞書記憶部２６の辞書データでは、互いに関連する複数の単語に対して共通のコードを割り当ててもよい。例えば、基本形が同じで活用形が異なる複数の単語に対して同じコードを割り当ててもよい。また、英語等において、或る単語の原形、過去形、過去分詞、複数形に対して同じコードを割り当ててもよい。さらにまた、語幹が同じだが、接頭語または接尾語が異なる複数の単語に対して同じコードを割り当ててもよい。文書変換部３２は、辞書データを参照して、綴りが異なる複数の単語であるが、互いに関連を有する複数の単語を同じコードへ変換してもよい。
【００６９】
さらに別の変形例を説明する。第１実施例では、検索要求で指定された単語のコードが辞書データに未定義の場合、未定義の単語（特定単語と呼ぶ。）を複数の単文字単語に分解するため、特定単語の文字数が多いほど近傍検索の対象となる単語数が増加する。検索要求に特定単語が存在する場合、ユーザは単語距離をより長めに指定することが望ましい。そこで、第１実施例の文書検索装置１２は、検索条件としての単語距離を現在の値（言い換えれば検索要求時の指定値）より長くすることを促す内容のメッセージをユーザ端末１４へ送信して表示させる通知部をさらに備えてもよい。このメッセージの送信タイミングは、近傍検索結果の送信時でもよく、コード取得部３６により特定単語が検出された時点でもよい。さらなる変形例として、第１実施例の文書検索装置１２は、ユーザへメッセージを提示することなく、検索条件としての単語距離をユーザの指定値より自動で大きくしてもよい。ユーザの指定値に加算する値は、検索条件として指定されたキーワードの個数、特定単語の個数、単文字単語の個数、ユーザの指定値のうち少なくとも１つに基づいて決定されてもよい。また、開発者の知見や文書検索装置１２を用いた実験により適切な加算値（言い換えれば加算値決定アルゴリズム）が定められてもよい。
【００７０】
また、第２実施例では、検索要求で指定された単語のコードが辞書データに未定義の場合、未定義の単語を無視して近傍検索を実行する。したがって、ユーザが当初指定した単語距離のままでは、検索結果にノイズが混入しやすくなる。そこで、第２実施例の文書検索装置１２は、検索条件としての単語距離を現在の値（言い換えれば先の検索要求時の指定値）より短くすることを促す内容のメッセージをユーザ端末１４へ送信して表示させる通知部をさらに備えてもよい。このメッセージの送信タイミングは、近傍検索結果の送信時でもよく、コード取得部３６により特定単語が検出された時点でもよい。さらなる変形例として、第２実施例の文書検索装置１２は、ユーザへメッセージを提示することなく、検索条件としての単語距離をユーザの指定値より自動で小さくしてもよい。ユーザの指定値から減算する値は、検索条件として指定されたキーワードの個数、特定単語の個数、ユーザの指定値のうち少なくとも１つに基づいて決定されてもよい。また、開発者の知見や文書検索装置１２を用いた実験により適切な減算値（言い換えれば減算値決定アルゴリズム）が定められてもよい。
【００７１】
さらに別の変形例を説明する。第１実施例および第２実施例の文書検索装置１２は、検索要求で指定された単語のコードが辞書データに未定義の場合、未定義の単語（特定単語と呼ぶ。）を別の単語に変更するか否かを確認するメッセージをユーザ端末１４へ送信して表示させる通知部をさらに備えてもよい。この確認の結果、特定単語を変更しない旨がユーザ端末１４から返信された場合、文書検索装置１２は、第１実施例および第２実施例に記載の特定単語に関連する処理を実行してもよい。さらなる変形例として、文書検索装置１２は、ユーザへメッセージを提示することなく、特定単語を、辞書データでコードが定義された別の単語（ここでは「定義済単語」と呼ぶ。）へ自動で変換してもよい。例えば、文書検索装置１２は、特定単語と定義済単語との対応関係を定めたテーブル保持し、特定単語が検出された場合、当該特定単語に対応する定義済単語を識別し、当該特定単語を対応する定義済単語のコードへ変換してもよい。上記テーブルは、意味が類似し、および／または、綴りが類似する特定単語と定義済単語とを対応付けたものでもよい。文書検索装置１２は、特定単語がこのテーブルにも未定義である場合、第１実施例および第２実施例に記載の特定単語に関連する処理を実行してもよい。
【００７２】
さらに別の変形例を説明する。文書検索装置１２は、外部から入力された文書データ（以下「入力文書データ」とも呼ぶ。）をより検索に適した形式に変換することがある。文書検索装置１２の原本文書記憶部２８は、変換後の文書データ（以下「検索形文書データ」とも呼ぶ。）をオリジナル文書データとして保持してもよい。すなわち、オリジナル文書データは、入力文書データと検索形文書データの両方を含んでもよい。
【００７３】
入力文書データと検索形文書データの例を示す。
入力文書データ１：
「I bought a book from that shopper, when I was a little girl.」
入力文書データ１を変換後の検索形文書データ１：
「I buy a book from that shop, when I be a little girl.」
入力文書データ２：
「The chef cooked a special food at a national event while we were devoted in eating.」
入力文書データ１を変換後の検索形文書データ２：
「The chef cook a special food at a nation event while we were devot in eat.」
【００７４】
上記の例で示すように、検索形文書データは、入力文書データに含まれる動詞の単語（過去形、過去分詞形、現在分詞形等）を基本形（言い換えれば原形）に変換したものでもよい。また、検索形文書データは、入力文書データに含まれる名詞の単語（複数形）を単数形に変換したものでもよく、ある名詞の単語をより一般的な名詞の単語に変換したものでもよい。文書検索装置１２は、外部装置から入力された入力文書データを取得し、変換前の単語と変換後の単語とを予め対応付けたテーブルを参照して、入力文書データを検索形文書データに変換し、変換後の検索形文書データを原本文書記憶部２８へ格納する検索形文書生成部をさらに備えてもよい。
【００７５】
さらに別の変形例を説明する。第１実施例の文書検索装置１２は、特定単語を分解した単文字単語を含むキーワードによる近傍検索実行後、複数の単文字単語のコードが隣接することを条件とする新たな近傍検索（絞込検索）を実行しなくてもよい。言い換えれば、図５のＳ３８をスキップしてもよい。なお、複数の単文字単語のコードが隣接することを条件とする近傍検索を、単文字単語を含むキーワードによる近傍検索より先に実行してもよい。
【００７６】
また、第２実施例の文書検索装置１２は、特定単語を除外したキーワードによる近傍検索実行後、特定単語をキーワードとした絞込検索を実行しなくてもよい。言い換えれば、図７のＳ７６をスキップしてもよい。なお、特定単語をキーワードとした検索を、特定単語を除外したキーワードによる近傍検索より先に実行してもよい。例えば、特定単語を含むオリジナル文書データを抽出後、抽出したオリジナル文書データに対応するコード化文書データを母集団として、特定単語を除外したキーワードによる近傍検索を実行してもよい。
【００７７】
上述した実施例および変形例の任意の組み合わせもまた本発明の実施の形態として有用である。組み合わせによって生じる新たな実施の形態は、組み合わされる実施例および変形例それぞれの効果をあわせもつ。請求項に記載の各構成要件が果たすべき機能は、実施例および変形例において示された各構成要素の単体もしくはそれらの連携によって実現されることも当業者には理解されるところである。
【符号の説明】
【００７８】
１０  文書検索システム、  １２  文書検索装置、  ２６  辞書記憶部、  ２８  原本文書記憶部、  ３０  コード化文書記憶部、  ３４  検索要求受付部、  ３６  コード取得部、  ３８  文字距離導出部、  ４０  検索指示部、  ４２  検索実行部。
【図１】
2020191099.tif 000003
【図２】
2020191099.tif 000004
【図３】
2020191099.tif 000005
【図４】
2020191099.tif 000006
【図５】
2020191099.tif 000007
【図６】
2020191099.tif 000008
【図７】
2020191099.tif 000009