以下図面について、本発明の一実施の形態を詳述する。
(1)第1の実施の形態
(1−1)本実施の形態による文書検索システムの構成
図1において、1は全体として本実施の形態による文書検索システムを示す。この文書検索システムは、ファイルサーバ装置2及び文書検索装置3と、1又は複数のクライアント端末4とを備えて構成される。
ファイルサーバ装置2は、本文書検索システム1を導入した企業においてクライアント端末4などを用いて作成された各種文書の文書ファイル10を蓄積しておくためのサーバ装置である。以下においては、ファイルサーバ装置2に蓄積された文書ファイル10がすべて技術文書の文書ファイルである場合について説明するが、その一部が技術文書以外の文書の文書ファイルであってもよい。
このファイルサーバ装置2は、CPU(Central Processing Unit)11、メインメモリ12、外部記憶装置13、入出力部14、ネットワークアダプタ15を備えた汎用のサーバ装置から構成される。
CPU11は、ファイルサーバ装置2全体の動作制御を司るプロセッサである。またメインメモリ12は、例えば、揮発性の半導体メモリから構成され、CPU11のワークメモリとして利用される。外部記憶装置13は、ハードディスク装置やSSD(Solid State Drive)などの大容量の不揮発性の装置から構成され、各種プログラムや各種データなどのほか、蓄積対象の各文書の文書ファイル10が格納される。外部記憶装置13に格納されたプログラムがファイルサーバ装置2の起動時や必要時にメインメモリ12に読み出され、このプログラムをCPU11が実行することによりファイルサーバ装置2全体としての処理が実行される。
入出力部14は、キーボードやマウスなどから構成される入力装置16と、液晶ディスプレイや有機EL(Electro-Luminescence)ディスプレイなどから構成される出力装置17との間の信号のやり取りを行うインタフェースである。またネットワークアダプタ15は、例えば、NIC(Network Interface Card)から構成され、文書検索装置3やクライアント端末4との間の通信時におけるプロトコル制御を行う。
クライアント端末4は、ユーザが使用するコンピュータ装置であり、CPU20、メインメモリ21、入出力部22及びネットワークアダプタ23を備えて構成される。これらCPU20、メインメモリ21、入出力部22及びネットワークアダプタ23の機能及び構成は、ファイルサーバ装置2のCPU11、メインメモリ12、入出力部14及びネットワークアダプタ15と同様であるため、ここでの説明は省略する。クライアント端末4の入出力部22には、ファイルサーバ装置2の入力装置16及び出力装置17とそれぞれ同様の機能及び構成を有する入力装置24及び出力装置25が接続される。
文書検索装置3は、ファイルサーバ装置2に蓄積された各文書ファイル10に基づく文書の中からユーザにより指定された検索条件を満たす各文書及びこれら文書内の位置(以下、これを文書内位置と呼ぶ)を検索する機能を有する検索装置である。
この文書検索装置3は、CPU30、メインメモリ31、外部記憶装置32、入出力部33及びネットワークアダプタ34を備えて構成される。これらCPU30、メインメモリ31、外部記憶装置32、入出力部33及びネットワークアダプタ34の機能及び構成も、ファイルサーバ装置2のCPU11、メインメモリ12、外部記憶装置13、入出力部14及びネットワークアダプタ15とそれぞれ同様であるため、ここでの説明は省略する。なお文書検索装置3の入出力部33にも、ファイルサーバ装置2の入力装置16及び出力装置17とそれぞれ同様の機能及び構成を有する入力装置35及び出力装置36が接続される。
(1−2)本実施の形態による文書検索機能
(1−2−1)文書検索装置のプログラム構成
次に、本実施の形態の文書検索装置3に搭載された文書検索機能について説明する。この文書検索機能は、ファイルサーバ装置2の外部記憶装置13に蓄積された各文書ファイル10に基づく文書の中から、ユーザにより検索キーワードとして指定された1又は複数の文字列(以下、これを検索文字列と呼ぶ)が出現する文書内位置を検出してその文書内位置のテキストをユーザに提示する機能である。
ただし、一般的な技術文書は、図22に示すように、1つの文書中に複数のトピックが含まれていることが多い。例えば図22の例の場合、図示した範囲内だけでも「概要」、「機能」及び「補足」といった3つのトピックが含まれている。従って、文書検索において、単にユーザにより指定された検索文字列だけを頼りに検索を行った場合、ユーザの検索目的に合致しないトピックが記載された文書内位置までもが検索により検出されてしてしまう場合がある。
例えば、図22の例において、ユーザが「機能」について記載された文書内位置を検索したいにもかかわらず、「概要」や「補足」について記載された文書内位置までもが検索により検出される可能性がある。このような場合、ユーザは、かかる検索により検出された文書内位置のすべてのテキストを読み込んで、所望するトピック(この例では「機能」)が記載された文書内位置のみを絞り込む必要があり、その作業に時間や労力を要する問題がある。
よって、文書検索装置3が文書検索を行うに際しては、文書中のトピックの切り替わりを検知して、目的とするトピックが記載された文書内位置のみを選択的に抽出することができれば、文書検索に要する上述のような時間や労力の浪費を低減することができるものと考えられる。
ここで、図22の例を見てみると、トピックごとに、そのトピックの説明箇所に現れる各属性の単語の出現割合が異なることが分かる。例えば図23に示すように、トピックが「概要」の説明箇所では、「コマンド名」を表す単語(意味や内容が「コマンド名」という属性に振り分けられる単語。以下、同様。)が2個、「機能」を表す単語が4個、「表種別」を表す単語が4個出現しているのに対して、トピックが「機能」の説明箇所では、「コマンド名」を表す単語が3個、「機能」を表す単語が6個、「ファイル種別」を表す単語が2個出現し、トピックが「補足」の説明箇所では、「機能」を表す単語が4個、「データ形式」を表す単語が5個出現している。従って、出現する各単語の属性に基づいて、各属性の単語の出現割合を利用することによりトピックの切り替わりを検知し、必要なトピックの説明箇所のみを選択的に抽出することができるものと考えられる。
そこで本実施の形態の文書検索装置では、検索条件として、検索文字列に加えて、出現する各単語の属性の出現割合をも指定することができ、これにより検索文字列を含む文書内位置の中からさらにユーザが所望するトピックに関する説明が記載されているであろう文書内位置を絞り込んで検出することができるようになされている。
なお、上述のような出現する各単語の属性の出現割合の指定において、所望するトピックを検索する際の各属性や、これら属性の出現割合の指定はユーザの経験的な推測により行われることになる。ただし、後述のように本実施の形態においては、各属性及びこれら属性の単語の出現割合をプリセットとして予め幾つか登録できるようになっており、これにより上述のような検索作業を容易化し得るようになされている。
このような本実施の形態による文書検出機能を実現するための手段として、文書検索装置3の外部記憶装置32には、図2に示すように、索引制御部40、文書収集部41、知識抽出部42、注釈付与部43、区分判定部44、索引作成部45、検索制御部46、検索部47及び結果作成部48が格納されている。
索引制御部40は、検索の実行指示を受信すると、文書収集部41、知識抽出部42、注釈付与部43、区分判定部44及び索引作成部45を制御することにより、これら文書収集部41、知識抽出部42、注釈付与部43、区分判定部44及び索引作成部45に必要なタイミングで必要な処理を実行させる機能を有するプログラムである。
また文書収集部41は、ファイルサーバ装置2の外部記憶装置13に格納された各文書ファイル10をファイルサーバ装置2から読み出す機能を有するプログラムである。文書収集部41は、読み出した各文書ファイル10のファイルデータをそれぞれ文書情報51として文書検索装置3の外部記憶装置32に格納する。
知識抽出部42は、外部記憶装置32に文書情報51が格納された各文書について、その文書から当該文書内に存在する各種表の表情報52をすべて抽出し、抽出した表情報52からその文書のテキスト内に存在する単語(文字列)の意味を抽出する機能を有するプログラムである。
実際上、技術文書には、例えば図3に示すようなその技術文書内で使用されている各用語の定義や、対応する機器において使用されるコードの解説などが記載された表60が含まれていることが多い。そして、この表60から、その表60に掲載されている各文字列の内容や何を意味するものであるかといった、これら文字列の属性を推定することができる。例えば、図3の例の場合、「xxxxx-00yyww」、「xxxxx-00yyyy」及び「xxxxx-00yyzz」などの文字列が「メッセージコード」を表していることや、「Error」、「Warning」及び「Message」などの文字列がメッセージコードの「分類」を表していることが推定できる。また図3の例の場合、「xxxxx-00yyww」が「Error」、「xxxxx-00yyyy」が「Warning」、「xxxxx-00yyzz」が「Message」をそれぞれ表していることも推定できる。
そこで、知識抽出部42は、外部記憶装置32に格納された各文書情報51にそれぞれ基づく文書ごとに、その文書情報51からすべての表60の表情報52をそれぞれ抽出し、抽出した表情報52を利用して例えば図4に示すような単語注釈辞書53をそれぞれ作成する。この単語注釈辞書53は、表60に掲載されていた各文字列に対して、その表60から抽出したその文字列の内容や意味などの属性を「注釈」として対応付けたものである。そして知識抽出部42は、このようにして作成した単語注釈辞書53を外部記憶装置32に格納する。
注釈付与部43は、外部記憶装置32に文書情報51が格納されている文書ごとに、対応する単語注釈辞書53を参照して、その文書内の特定の単語に対して、適宜、注釈を付与する機能を有するプログラムである。
具体的に、注釈付与部43は、文書内の各単語を単語注釈辞書53に登録された各文字列(注釈が対応付けられた文字列であり、以下、これを登録文字列と呼ぶ)と順次照合し、文書内の各登録文字列に対して、図5に示すように、対応する単語注釈辞書53に登録されている対応する注釈をそれぞれ付与する。そして注釈付与部43は、このようにして注釈を付与した各文書(以下、これらを注釈付文書61と呼ぶ)の文書情報を注釈付文書情報54として外部記憶装置32に格納する。
区分判定部44は、外部記憶装置32に格納されている注釈付文書情報54に基づく各注釈付文書61について、その注釈付文書61を図6のように複数の区分62に分割する機能を有するプログラムである。
具体的に、区分判定部44は、まず、注釈付文書61を所定方法により順次区切るようにして複数の詳細区分に分割する。注釈付文書61を複数の詳細区分に分割する方法としては、例えば一定の文字数ごとに順次区切る方法や、一定数の注釈が出現するごとに区切る方法など、種々の方法を広く適用することができる。
また区分判定部44は、図7に示すように、上述のようにして分割した詳細区分ごとに、その詳細区分に含まれる各注釈の出現割合を検出し(その詳細区分に含まれる各注釈の数をそれぞれカウントし)、ある詳細区分における各注釈の出現割合と、その次の詳細区分における各注釈の出現割合とが一致する場合には、これらを同じトピックの説明が記載されている文書内位置として1つの区分に統合する。
ただし、そのとき対象としている詳細区分と、その1つ前の詳細区分とにおける各注釈の出現割合が完全一致していない場合においても、一致度合いが予め設定された閾値(以下、これを索引閾値と呼ぶ)以内である場合には、これら2つの区分を1つの区分に統合するようにしてもよい。この場合には、かかる索引閾値を図2の索引設定50として設定しておき、後述のように区分判定部44がこの索引閾値に基づいて上述のような詳細区分の統合を実行するようにすればよい。
さらに区分判定部44は、上述のように複数の詳細区分を統合して生成した区分や、他の詳細区分と統合しなかった各詳細区分をそれぞれ1つの区分62(図6)として、これら区分62ごとに図8に示すような区分情報55Xをそれぞれ作成する。なお区分情報55Xは、図8のテーブル(以下、これを区分情報テーブル55と呼ぶ)における1つ1つの行の情報である。
この区分情報55Xは、対応する区分62の文書内位置と、その区分62に対応する文書内位置に各注釈がそれぞれ幾つ存在するかを表す情報とから構成される。図8では、各区分情報の「区分」の欄55Aに詳細区分の識別子を表す数値が格納されているが、実際には対応する注釈付文書61の先頭から何文字目から何文字目までといった範囲を示す情報が「区分」の欄55Aに格納される。そして区分判定部44は、このようにして生成した各区分情報55Xを外部記憶装置32に格納された区分情報テーブル55に登録して管理する。
索引作成部45は、単語注釈辞書53に登録されている各文字列(登録文字列)について、その文字列がどの文書内のどの位置(文書の先頭からの文字数)に存在するかを表した、逆引きインデックス又は転置インデックスと呼ばれる索引を生成する機能を有するプログラムである。索引作成部45は、作成した索引の情報(以下、これを索引情報と呼ぶ)57を外部記憶装置32に格納する。
検索制御部46は、ユーザにより指定された検索条件を満たす文書内位置を検索するよう、検索部47及び結果作成部48を制御する機能を有するプログラムである。本実施の形態の場合、ユーザは、かかる検索条件として、後述のように1又は複数の検索文字列と、文書内における各注釈の出現割合とをそれぞれ指定する。
また検索部47は、索引作成部45により作成された索引情報57に基づき、ユーザにより指定されたすべての検索文字列(アンド検索の場合)又はこれら検索文字列の中の少なくとも1つの検索文字列(オア検索の場合)を含む各文書内位置を検索する機能を有するプログラムである。検索部47は、かかる検索により検出した各文書内位置をそれぞれヒット情報58Xとして外部記憶装置32に格納されている図9に示すようなヒット情報テーブル58に登録して管理する。
なお図9は、ヒット情報テーブル58の一構成例であり、1つの行が1つのヒット情報58Xに対応する。この図9のヒット情報テーブル58の場合、すべての検索文字列(アンド検索の場合)又は少なくとも1つの検索文字列(オア検索の場合)が出現する文書の識別子(文書ID)が文書ID欄58Aに格納される。また開始欄58Bには、その文書内の検索文字列が出現する範囲(1又は複数の区分62からなる範囲)の先頭位置が格納され、終了欄58Cには、かかる範囲の最後の位置が格納される。
さらに結果作成部48は、かかるヒット情報テーブル58に登録されている各ヒット情報58Xと、区分情報テーブル55に登録されている各区分情報55Xとに基づいて、ユーザにより指定された検索文字列を含み、かつ予め定められた各注釈がユーザにより指定された出現割合で出現する文書内位置(対応する1又は複数の区分62の文書内位置)を検出する機能を有するプログラムである。
ただし、各注釈の出現割合が、ユーザにより指定された出現割合と完全一致していない場合においても、一致度合いが予め設定された閾値(以下、これを検索閾値と呼ぶ)以内である場合には、その文書内位置を検索条件を満たす範囲として検出するようにしてもよい。この場合には、かかる検索閾値を図2の検索設定56として設定しておき、結果作成部48がこの検索閾値に基づいて上述のような検索条件を満たす文書内位置を検出するようにすればよい。
また結果作成部48は、上述のようにして検出した検索条件を満たす各文書内位置のテキスト情報をその文書の文書情報51からそれぞれ抽出し、抽出したこれらテキスト情報を対応するクライアント端末4に送信する。これにより、これらテキスト情報に基づくテキストが掲載された図13について後述する検索結果画面90がそのクライアント端末4の出力装置25(図1)に表示される。
なお外部記憶装置32には、この他、割合指定プリセットテーブル59も格納されるが、この割合指定プリセットテーブル59の詳細については後述する。
(1−2−2)文書検索機能に関する処理の流れ
図10は、上述した文書検索機能に基づく一連の処理(以下、これを文書検索処理と呼ぶ)の流れを示す。この文書検索処理は、クライアント端末4からの検索実行指示を文書検索装置3が受信することにより開始される。
実際上、本文書検索システム1の場合、ユーザは、クライアント端末4を所定操作することにより図11A及び図11Bについて後述する検索画面70をその出力装置25(図1)に表示させることができ、この検索画面70を用いて1又は複数の検索文字列と、予め定められた複数の注釈それぞれの出現割合とを検索条件として指定することができる。そして、その検索条件に従った検索処理を実行すべき旨の指示をユーザがクライアント端末4に与えると、その検索条件が格納された検索実行指示が当該クライアント端末4から文書検索装置3に送信される。
文書検索装置3の索引制御部40は、この検索実行指示を受領すると、まず、文書収集部41を呼び出す(S1)。そして文書収集部41は、索引制御部40により呼び出されると、ファイルサーバ装置2にアクセスし(S2)、当該ファイルサーバ装置2の外部記憶装置13(図1)に蓄積されている文書ファイル10をすべて文書検索装置3のメインメモリ31(図1)に読み出す(S3)。
また文書検索装置3は、読み出した各文書ファイル10のデータをそれぞれ文書情報51として文書検索装置3の外部記憶装置32(図1)にそれぞれ格納する(S4)。そして、文書収集部41は、このステップS4の処理が完了すると、その旨を索引制御部40に通知する。
索引制御部40は、かかる通知が文書収集部41から与えられると、知識抽出部42を呼び出す(S5)。そして知識抽出部42は、索引制御部40により呼び出されると、上述のように外部記憶装置32に格納された各文書の文書情報51をそれぞれメインメモリ31に読み出す(S6)。また知識抽出部42は、メインメモリ31に読み出した各文書情報51からそれぞれすべての表60(図3)の表情報52を抽出し、抽出した表情報52を外部記憶装置32に格納する(S7)。
さらに知識抽出部42は、外部記憶装置32に格納した各文書の表情報52をメインメモリ31にそれぞれ読み出し(S8)、読み出したこれらの表情報52に基づいて単語注釈辞書53を文書ごとにそれぞれ作成し、作成したこれらの単語注釈辞書53を外部記憶装置32に格納する(S9)。そして知識抽出部42は、このステップS9の処理が完了すると、その旨を索引制御部40に通知する。
索引制御部40は、かかる通知が知識抽出部42から与えられると、注釈付与部43を呼び出す(S10)。そして注釈付与部43は、索引制御部40により呼び出されると、かかる文書ごとの単語注釈辞書53をメインメモリ31にそれぞれ読み出すと共に(S11)、外部記憶装置32に格納されている各文書の文書情報51をメインメモリ31にそれぞれ読み出す(S12)。
そして注釈付与部43は、メインメモリ31に読み出した各文書情報51に基づく文書を、それぞれ上述の注釈付文書61(図5)に変換し、これら注釈付文書61の情報(注釈付文書情報54)を外部記憶装置32に格納する(S13)。そして、注釈付与部43は、このステップS13の処理が完了すると、その旨を索引制御部40に通知する。
索引制御部40は、かかる通知が注釈付与部43から与えられると、区分判定部44を呼び出す(S14)。そして区分判定部44は、索引制御部40により呼び出されると、外部記憶装置32に格納された各注釈付文書61の注釈付文書情報54をそれぞれメインメモリ31に読み出す(S15)。
また区分判定部44は、読み出した各注釈付文書情報54に基づく注釈付文書61について、その注釈付文書61を複数の区分62(図6)に分割し、これら区分62の区分情報55X(図8)を外部記憶装置32に保持された区分情報テーブル55(図8)に格納する(S16)。そして区分判定部44は、ステップS16の処理が終了すると、その旨を索引制御部40に通知する。
索引制御部40は、かかる通知が区分判定部44から与えられると、索引作成部45を呼び出す(S17)。そして索引作成部45は、索引制御部40により呼び出されると、外部記憶装置32に格納されている各文書情報51をメインメモリ31に読み出す(S18)。また索引作成部45は、読み出したこれらの文書情報51に基づく各文書に対する索引を既存の索引作成技術を用いてそれぞれ作成し、作成した文書ごとの索引の情報(索引情報57)を外部記憶装置32に格納する(S19)。そして索引作成部45は、ステップS19の処理を完了すると、その旨を索引制御部40に通知する。
索引制御部40は、かかる通知が索引作成部45から与えられると、検索制御部46を呼び出す。また検索制御部46は、索引制御部40により呼び出されると、まず検索部47を呼び出す(S20)。
検索部47は、検索制御部46により呼び出されると、外部記憶装置32に格納されている索引情報57を読み出し(S21)、これを参照して、各文書の中からユーザにより指定された検索文字列が出現する区分62(図6)を検索する。また検索部47は、かかる検索の結果に基づいてヒット情報58X(図9)を生成し、生成したヒット情報58Xを外部記憶装置32内のヒット情報テーブル58(図9)に格納する(S22)。そして検索部47は、ステップS22の処理を完了すると、その旨を検索制御部46に通知する。
検索制御部46は、かかる通知が検索部47から与えられると、結果作成部48を呼び出す(S23)。そして結果作成部48は、検索制御部46により呼び出されると、区分情報55X及びヒット情報58Xを外部記憶装置32からメインメモリ31に読み出し(S24,S25)、これら区分情報55X及びヒット情報58Xに基づいて、ヒット情報テーブル58に格納された各ヒット情報58Xにより特定される各区分62のうち、検索条件において指定された各注釈が当該検索条件において指定された出現割合で出現する区分62をすべて抽出する。
また検索制御部46は、抽出した各区分62のテキスト情報を外部記憶装置32から読み出して検索実行指示の送信元のクライアント端末4に送信する(S26)。これにより、これらのテキスト情報に基づいて、図13について後述する検索結果画面90がそのクライアント端末4の出力装置25(図1)に表示される。
(1−2−3)検索画面及び検索結果画面の構成
図11Aは、所定操作によりクライアント端末4に表示される上述の検索画面70の構成例を示す。この検索画面70は、ユーザが文書検索を行うに際にその検索条件を設定するための画面であり、検索文字列入力欄71、プリセット名欄73、検索実行ボタン72及び詳細設定ボタン74を備えて構成される。
検索文字列入力欄71は、ユーザが入力装置24(図1)を用いて所望する検索文字列を入力するためのテキストボックスである。検索文字列は1つの文字列に限らない。複数の文字列を1コマ分のスペースを入れながら検索文字列入力欄71にそれぞれ入力することにより、これらの文字列をすべて検索文字列として指定することができる。
またプリセット名欄73の右横にはプルダウンボタン75が設けられており、このプルダウンボタン75をクリックすることによって、予め設定されて図12に示す割合指定プリセットテーブル59に登録されている各プリセット(複数の所定の注釈それぞれの出現割合のプリセット)のプリセット名がそれぞれ掲載された図示しないプルダウンメニューを表示させることができる。なお各注釈の出現割合のプリセットの設定方法については後述する。
そして検索画面70では、このプルダウンメニューにプリセット名が表示されたプリセットの中から所望するプリセットをクリックするようにして1つ選択することにより、各注釈の出現割合をそれぞれ決定することができる。このとき選択されたプリセットのプリセット名がプリセット名欄73に表示される。
また検索画面70では、上述のようにして検索文字列及び各注釈の出現割合を指定した上で検索実行ボタン72をクリックすることにより、検索処理を文書検索装置3に実行させることができる。このとき、この検索画面70で指定された各検索文字列及び各注釈の出現割合が検索条件として格納された検索実行指示がそのクライアント端末4から文書検索装置3に送信され、これにより当該検索実行指示に応じた文書検索処理が文書検索装置3において実行される。
なお各注釈の出現割合に対するプリセットは、詳細設定ボタン74をクリックすることにより図11Bのように表示される詳細設定タブ76を用いて作成及び変更することができる。
実際上、詳細設定タブ76では、予め設定された幾つかの注釈にそれぞれ対応させて詳細設定スライダ80が表示される。これら詳細設定スライダ80では、初期時には、プリセット名欄73にプリセット名が表示されたプリセットにおいて、対応する注釈に対して設定されている出現割合に応じた位置にレバー81が表示される。
そして検索画面70では、これらの詳細設定スライダ80のレバー81をドラッグして左右方向に移動させる(レバー81をスライド操作する)ことによって、対応する注釈の出現割合を0〜100%の範囲で自由に設定することができる。この場合、1つの詳細設定スライダ80のレバーを動かしたときに、各詳細設定スライダ80のレバー81がそれぞれ指し示す出現割合の合計が常に100%となるように、残りの詳細設定スライダ80のレバー81の位置が自動調整される。
そして検索画面70では、上述のようにして既定の各注釈に対する出現割合をそれぞれ設定し、セーブボタン83をクリックすることにより、その設定を既存のプリセットに上書き登録することができる。そして、このとき登録されたプリセットの内容に応じて、割合指定プリセットテーブル59の内容が更新される。
また検索画面70では、上述のようにして既定の各注釈に対する出現割合を設定し、詳細設定タブ76の右下に表示されたプリセット名入力欄82にその設定を新たなプリセットとして設定する場合における当該プリセットのプリセット名を入力した後、セーブアズボタン84をクリックすることにより、その設定を新たなプリセットとして新規登録できる。そして、このとき登録されたプリセットの内容がそのプリセット名と対応付けて図12のように割合指定プリセットテーブル59に登録される。
一方、図13は、上述のようにしてユーザにより指定された検索条件(各検索文字列及び各注釈の出現割合)に従って文書検索装置3において実行された文書検索処理の処理結果(検索結果)が表示される検索結果画面90の構成例を示す。この図13からも明らかなように、検索結果画面90では、かかる文書検索処理により検出された検索条件を満たすテキストを有する各文書の名称が名称表示領域91にそれぞれ表示される。また、これら文書内の検索条件を満たす区分62のテキストが対応する名称表示領域91と対応付けてそれぞれ表示される。
(1−2−4)文書検索機能に関する各プログラムの具体的な処理の流れ
(1−2−4−1)知識抽出処理
図14は、かかる文書検索機能に関連して知識抽出部42(図2)により実行される知識抽出処理の処理手順を示す。知識抽出部42は、メインメモリ31(図1)に格納された文書情報51ごとにこの知識抽出処理をそれぞれ実行することにより、その文書情報51から表情報52をそれぞれ抽出し、抽出した表情報52に基づいて、その文書情報51に対する単語注釈辞書53(図4)を作成する。
実際上、知識抽出部42は、メインメモリ31に読み出した文書情報51のうち、単語注釈辞書53が未作成の文書情報51を1つ選択した後、この図14に示す知識抽出処理を開始し、まず、その文書情報51(以下、これを対象文書情報51と呼ぶ)のデータ形式をHTML(Hyper Text Markup Language)形式に変換する(S30)。
続いて、知識抽出部42は、HTML形式に変換した対象文書情報51のデータからテーブルタグを目印として、その対象文書情報51に含まれるすべての表60の表情報52を抜き出す(S31)。また知識抽出部42は、ステップS31で表情報52を抜き出した各表60(図3)の中にステップS33以降の処理が未処理の表があるか否かを判断する(S32)。
そして知識抽出部42は、ステップS32の判断で肯定結果を得るとステップS34以降が未処理の表60を1つ選択し(S33)、選択した表(以下、これを選択表と呼ぶ)60の表情報52から、その選択表60の先頭の行の各列の値をそれぞれ取得する(S34)。なお、通常の表60では、図3のように各列の先頭の行にその列のデータの属性を表す列名が格納されているため、このステップS34の処理により、選択表60の各列の列名をそれぞれ取得することができる。
次いで、知識抽出部42は、選択表60におけるステップS36以降が未処理の行を1つ選択し(S35)、選択した行(以下、これを選択行と呼ぶ)の各列の値に対して、ステップS34で取得した先頭の行の同じ列の値を注釈としてそれぞれ付与し、その対応関係を単語注釈辞書53に登録する(S36)。
例えば、選択表60が図3のような内容の表であり、選択行が「#1」の項番が付与された行である場合、知識抽出部42は、「xxxxx-00yyww」という値が格納された列の当該値に対しては、その列の先頭の行の値である「メッセージコート」を注釈として付与し、「Error」という値が格納された列の当該値に対しては、その列の先頭の行の値である「分類」を注釈として付与し、図4の「#1」や「#2」の項番が付与された行のように、その対応関係を単語注釈辞書53に登録する。
また知識抽出部42は、選択行における項番列(図3において先頭行の値が「#」の列)除く最初の列の値に、その選択行における項番列を除く残りの各列の値をそれぞれ注釈として付与し、その対応関係を単語注釈辞書53に登録する(S37)。
例えば、上述の例の場合、選択行における項番列を除く最初の列の値は「xxxxx-00yyww」であるため、知識抽出部42は、この値に対してこれ以降の列の値である「Error」を注釈として付与し、図4の「#3」の項番が付与された行のように、その対応関係を単語注釈辞書53に登録する。
この後、知識抽出部42は、すべての行に対してステップS35〜ステップS37の処理を実行し終えたか否かを判断する(S38)。そして知識抽出部42は、この判断で否定結果を得ると、ステップS35に戻り、この後ステップS35で選択する行をステップS36以降が未処理の他の行に順次切り替えながらステップS35〜ステップS38の処理を繰り返す。
そして知識抽出部42は、やがて選択表60のすべての行に対するステップS36〜ステップS37の処理を実行し終えることによりステップS38で肯定結果を得ると、ステップS32に戻り、そのときの対象文書情報51に基づく文書から抽出した表60の中にステップS34以降の処理が未処理の表60があるか否かを判断する(S32)。
そして知識抽出部42は、この判断で否定結果を得ると、ステップS33で選択する表60をそのときの対象文書情報51に基づく文書から抽出したステップS34以降が未処理の他の表に順次切り替えながら、ステップS32〜ステップS38の処理を繰り返す。このような繰返し処理により対象文書情報51に基づく文書内に存在する各表60をそれぞれ利用して単語注釈辞書53を作成することができる。
そして知識抽出部42は、やがてそのときの対象文書情報51に基づく文書から抽出した表60に対するステップS34以降の処理を実行し終えることによりステップS32で否定結果を得ると、その対象文書情報51に対するこの知識抽出処理を終了する。
(1−2−4−2)注釈付与処理
一方、図15は、索引制御部40(図2)により呼び出された注釈付与部43(図2)により実行される注釈付与処理の処理手順を示す。注釈付与部43は、メインメモリ31(図1)に格納された文書情報51ごとにこの注釈付与処理をそれぞれ実行することにより、その文書情報51に基づく文書内に存在する単語注釈辞書53(図4)に登録されている各文字列(登録文字列)に対して、対応する注釈をそれぞれ付与する。
実際上、注釈付与部43は、索引制御部40により呼び出されると、この図15に示す注釈付与処理を開始し、まず、そのとき対象としている文書情報(対象文書情報)51の単語注釈辞書53を外部記憶装置32(図1)から読み出す(S40)。また注釈付与部43は、一回に処理可能な一定量の対象文書情報51のデータを外部記憶装置か32ら読み出す(S41)。
そして注釈付与部43は、ステップS40で読み出した単語注釈辞書53に登録されている各文字列(登録文字列)と、ステップS41で読み出した対象文書情報51に基づく文書内の各文字列とを順次照合するようにしてその文書内で各登録文字列をそれぞれ探索し(S42)、当該文書内で登録文字列と一致(又はほぼ一致)する文字列を検出できたか否かを判断する(S43)。そして注釈付与部43は、この判断で否定結果を得るとステップS46に進む。
これに対して、注釈付与部43は、ステップS43の判断で肯定結果を得ると、いずれかの登録文字列と最長一致したかかる文書内の各文字列に対して、単語注釈辞書53においてその登録文字列に対応付けられている注釈をそれぞれ付与し(S44)、これら注釈をどの位置のどの文字列に付与したかを表す情報を、その文書の文書情報51と共に注釈付文書情報54(図2)として外部記憶装置32に格納する(S45)。
また注釈付与部43は、ステップS41において対象文書情報51のすべての範囲のデータを読込み終えたか否かを判断する(S46)。そして注釈付与部43は、この判断で否定結果を得るとステップS41に戻り、この後、ステップS41でデータを読み込む対象文書情報51の範囲をステップS42以降が未処理の他の範囲に順次切り替えながら、ステップS41〜ステップS46の処理を繰り返す。
そして注釈付与部43は、やがて対象文書情報51のすべての範囲についてステップS42以降の処理を実行し終えることによりステップS46で肯定結果を得ると、対象文書情報51に対するこの注釈付与処理を終了する。
(1−2−4−3)区分判定処理
図16は、索引制御部40(図2)により呼び出された区分判定部44(図2)により実行される区分判定処理の処理手順を示す。区分判定部44は、メインメモリ31(図1)に読み出された注釈付文書61(図6)ごとにこの図16に示す区分判定処理をそれぞれ実行することにより、各注釈付文書61をそれぞれ複数の区分62(図6)に分割し、これら区分62に関する情報を区分情報55X(図8)として区分情報テーブル55(図8)に登録する。
実際上、区分判定部44は、索引制御部40により呼び出されると、この図16に示す区分判定処理を開始し、まず、そのとき設定されている索引設定50(図2)を外部記憶装置32から読み込む(S50)。また区分判定部44は、そのとき対象としている注釈付文書61のデータのうち、一回に処理可能な一定量のデータを外部記憶装置32から読み出し(S51)、読み出した注釈付文書61を複数の詳細区分に分割する(S52)。
次いで、区分判定部44は、ステップS52の分割により得られた各詳細区分について、索引設定50及びステップS53のカウント結果に基づいて、その詳細区分に含まれる各注釈の出現割合が、隣接する詳細区分におけるこれら注釈の出現割合と索引設定50で規定された索引閾値に基づく許容範囲内で一致するか否かをそれぞれ判断する(S54)。
そして区分判定部44は、すべての詳細区分についてステップS54の判断で否定結果を得た場合にはステップS56に進む。これに対して、区分判定部44は、ステップS54の判断でいずれかの詳細区分について肯定結果を得た場合には、該当する各詳細区分について、その詳細区分と、当該詳細区分に隣接する対応する詳細区分とを1つの区分に統合し、その区分の区分情報55Xを区分情報テーブル55に登録する(S55)。
次いで、区分判定部44は、他の詳細区分とは統合されない各詳細区分の区分情報を1つの区分の区分情報55Xとして区分情報テーブル55に登録し(S56)、この後、そのとき対象としている注釈付文書61のデータのうち、ステップS52以降の処理が未処理のデータがもうないか否かを判断する(S57)。
そして区分判定部44は、この判断で否定結果を得るとステップS51に戻り、この後、ステップS51で読み出す注釈付文書61のデータを、ステップS52以降が未処理の他のデータに順次切り替えながら、ステップS51〜ステップS57の処理を繰り返す。この繰返し処理により、そのとき対象としている注釈付文書61に対する区分情報テーブル55が完成する。
そして区分判定部44は、やがてそのとき対象としている注釈付文書61のすべてのデータについてステップS52〜ステップS56の処理を実行し終えることによりステップS57で肯定結果を得ると、そのとき対象としている注釈付文書61に対する区分判定処理を終了する。
(1−2−4−4)文書検索処理
図17は、検索制御部46(図2)により呼び出された検索部47(図2)及び結果作成部48(図2)により実行される一連の処理(以下、これを検索及び結果作成処理と呼ぶ)の流れを示す。検索部47及び結果作成部48は、この図17に示す処理手順に従って、ユーザにより指定された検索条件を満たす文書及びその文書内の位置(文書内位置)を検出する。
実際上、検索部47は、検索制御部46により呼び出されると、この図17に示す検索及び結果作成処理を開始し、まず、そのとき設定されている検索設定56(図2)を外部記憶装置32から読み込む(S60)。また検索部47は、そのとき対象とする検索実行指示に含まれる検索条件(検索文字列及び各注釈の出現割合)を取得する(S61)。
そして検索部47は、ステップS61で取得した検索条件で指定されているすべての検索文字列を含む文書内の位置(アンド検索の場合)、又は、検索条件で指定されている検索文字列のうちの少なくとも1つを含む文書内の位置(オア検索の場合)を検索する(S62)。
具体的に、検索部47は、検索条件で指定されている各検索文字列と、外部記憶装置32に格納されている各文書情報51に基づく文書内のすべての文字列とを索引情報57を用いて順次照合するようにして対象となる文書及びその文書内の範囲を検索する。そして検索部47は、この検索処理により検出した各文書内の検索文字列に一致する範囲(すなわち、検索文字列を含む文書の識別子(文書ID)を文書ID欄58A、検索文字列の開始地点を開始欄58B、検索文字列の終了地点を終了欄58Cとする範囲情報)をそれぞれヒット情報58X(図9)としてヒット情報テーブル58(図9)に登録する。
また検索部47は、この検索処理を完了するとその旨を検索制御部46(図2)に通知する。かくして、この通知を受信した検索制御部46は、結果作成部48(図2)を呼び出す。
結果作成部48は、検索制御部46により呼び出されると、ヒット情報テーブル58をメインメモリ31に読み出し、読み出したヒット情報テーブル58に登録されているヒット情報58Xの中からステップS64以降が未処理のヒット情報58Xを1つ選択して、そのヒット情報58X(以下、これを選択ヒット情報と呼ぶ)をヒット情報テーブル58から読み出す(S63)。また結果作成部48は、区分情報テーブル55(図8)を参照して、その選択ヒット情報58Xで示される範囲における各注釈の出現割合がユーザにより指定された各注釈の出現割合に関する条件を満たすか否かを判断する(S64)。
具他的に、結果作成部48は、選択ヒット情報58Xが示す文書及びその文書内の範囲と一部又は全部が重複する区分62(図6)を区分情報テーブル55上で検索し、かかる区分情報55Xを検出できた場合には、その区分情報55Xにおける各注釈の出現割合が、ユーザが指定した各注釈の出現割合と、検索設定50(図2)において指定された許容範囲内において一致するか否かを判断する。
そして結果作成部48は、この判断で否定結果を得るとステップS66に進む。これに対して、結果作成部48は、ステップS64の判断で肯定結果を得ると、区分情報55Xで示された文書及びその文書内の範囲のテキストのテキスト情報を外部記憶装置32から読み出し、読み出したテキスト情報と、そのテキスト情報に基づくテキストを含む文書の文書名(対応する文書ファイルのファイル名)とを検索実行指示の送信元のクライアント端末4に送信する(S65)。
続いて、結果作成部48は、ヒット情報テーブル58にステップS64以降の処理が未処理の他のヒット情報58Xがあるか否かを判断する(S66)。そして結果作成部48は、この判断で結果を得るとステップS63に戻り、この後、ステップS63で選択するヒット情報58Xを未処理の他のヒット情報58Xに順次切り替えながらステップS63〜ステップS66の処理を繰り返す。
そして結果作成部48は、やがてヒット情報テーブル58に登録されているすべてのヒット情報58XについてステップS64以降の処理を実行し終えることによりステップS66で否定結果を得ると、この文書検索処理を終了する。
(1−3)本実施の形態の効果
以上のように本実施の形態の文書検索装置3は、文書に含まれる表60(図3)から単語注釈辞書53(図4)を作成し、作成した単語注釈辞書53に基づいて、その文書に含まれる登録文字列に対してそれぞれ注釈を付与し、注釈を付与した文書でなる注釈付文書61を、出現する注釈の出現割合に応じて複数の区分62(図6)に分割する。
また文書検索装置3は、文書内に表れる各単語(文字列)の索引を作成し、この索引を利用して検索条件として指定された検索文字列の出現位置をヒット情報58X(図9)として検出すると共に、これら検出した検索文字列の出現位置の中から、検索条件として指定された各注釈の出現割合が、当該検索条件において指定された出現割合と許容範囲内において一致する区分情報55Xを抽出し、その文書内位置のテキストをクライアント端末4に表示させる。
従って、本文書検索装置3によれば、ユーザが、所望するトピックに関する各注釈の出現割合を検索条件として指定することによって、単に検索文字列を含むだけでなく、そこに記載されている内容がユーザの検索目的に合致した文書内位置を検出することができるため、ユーザが対象とする文書から所望するトピックが記載された文書内位置を検出する作業を迅速化及び簡易化することができる。
(2)第2の実施の形態
(2−1)第2の実施の形態による文書検索システムの構成
図1において、符号100は、第2の実施の形態による文書検索システムを示す。この文書検索システム100は、文書検索装置101(図1)のプログラム構成が第1の実施の形態の文書検索装置3のプログラム構成と異なる点を除いて、第1の実施の形態と同様に構成されている。
また図2との対応部分に同一符号を付した図18は、本実施の形態による文書検索装置101のプログラム構成を示す。この図18に示すように、本実施の形態の文書検索装置101は、索引制御部110、検索制御部111、区分判定部112及び結果作成部113の機能が第1の実施の形態の索引制御部40、検索制御部46、区分判定部44及び結果作成部48と異なることを除いて第1の実施の形態と同様のプログラム構成を有する。
(2−2)本実施の形態による文書検索機能に関する各種処理の流れ
図19は、本実施の形態の文書検索機能に関連して文書検索装置101において実行される一連の処理の流れを示す。この図19の処理は、ユーザにより指定された1又は複数の検索文字列と、既定の各注釈の出現割合とを検索条件として含む検索実行指示がクライアント端末4から与えられたときに実行される。
この場合、ステップS70〜ステップS82の処理は、図10のステップS1〜ステップS13の処理と同様であるため、ここでの説明は省略する。注釈付与部43は、このステップS82の処理が完了すると、その旨を索引制御部110に通知する。
索引制御部110は、かかる通知が注釈付与部43から与えられると、索引作成部45を呼び出す(S83)。そして索引作成部45は、索引制御部110により呼び出されると、第1の実施の形態と同様にして外部記憶装置32に格納されている各文書情報51に基づく文書ごとの索引をそれぞれ作成し、作成した文書ごとの索引の情報(索引情報57)を外部記憶装置32に格納する(S85,S86)。そして索引作成部45は、ステップS86の処理を完了すると、その旨を索引制御部110に通知する。
索引制御部110は、かかる通知が索引作成部45から与えられると、検索制御部111を呼び出す。また検索制御部111は、索引制御部110により呼び出されると、まず検索部47を呼び出す(S87)。
検索部47は、検索制御部111により呼び出されると、第1の実施の形態と同様にしてヒット情報58X(図9)を生成し、生成したヒット情報58Xを外部記憶装置32内のヒット情報テーブル58(図9)に格納する(S88,S89)。そして検索部47は、ステップS89の処理を完了すると、その旨を検索制御部111に通知する。
検索制御部111は、かかる通知が検索部47から与えられると、区分判定部112を呼び出す(S90)。そして区分判定部112は、検索制御部111により呼び出されると、外部記憶装置32内のヒット情報テーブル58に格納されている各ヒット情報58Xをそれぞれメインメモリ31に読み出す(S91)。また区分判定部112は、メインメモリ31に読み出した各ヒット情報58Xにそれぞれ対応する注釈付文書情報54をメインメモリ31に読み出す(S92)。
そして区分判定部112は、読み出した各注釈付文書情報54に基づく注釈付文書61について、それぞれその注釈付文書61を複数の区分62(図6)に分割し、これら区分62内の情報を表す区分情報55X(図8)と同様の区分情報(以下、これをヒット情報対応区分情報と呼ぶ)114を生成して、生成したヒット情報対応区分情報114を外部記憶装置32に保持された区分情報テーブル55(図8)に格納する(S93)。そして区分判定部112は、ステップS93の処理が終了すると、その旨を検索制御部111に通知する。
検索制御部111は、かかる通知が区分判定部112から与えられると、結果作成部113を呼び出す(S94)。そして結果作成部113は、検索制御部111により呼び出されると、ヒット情報対応区分情報114を外部記憶装置32からメインメモリ31に読み出し(S95)、読み出したヒット情報対応区分情報114に基づいて、ユーザが指定した検索条件を満たす各文書内位置をすべて検出する。そして結果作成部113は、検出したこれら文書内位置のテキスト情報を外部記憶装置32に格納されているその文書の文書情報51から抽出し、そのテキスト情報と、当該文書の文書ファイル10のファイル名等の情報を検索実行指示の送信元のクライアント端末4に送信する(S96)。これにより、この検出結果に基づいて、図21について上述した検索結果画面120がそのクライアント端末4の出力装置25(図1)に表示される。
図20A及び図20Bは、以上のような本実施の形態による文書検索機能に関連して検索部47及び区分判定部112により実行される一連の処理(以下、これを検索及び区分判定処理と呼ぶ)の流れを示す。図20Aは、検索部47により実行される処理であり、図20Bは区分判定部112により実行される処理である。
この図20A及び図20Bの検索及び区分判定処理は、検索制御部111が図19のステップS87で検索部47を呼び出すことにより開始される。そして検索部47は、検索制御部111に呼び出されると、ステップS100〜ステップS102を、図17のステップS60〜ステップS62と同様に処理する。そして検索部47は、このステップS102の処理を完了するとその旨を検索制御部46(図2)に通知する。かくして、この通知を受信した検索制御部46は、区分判定部112を呼び出す。
区分判定部112は、検索制御部111により呼び出されると、ヒット情報テーブル58をメインメモリ31に読み出し、読み出したヒット情報テーブル58に登録されているヒット情報58Xの中からステップS111以降が未処理のヒット情報58Xを1つ選択して、そのヒット情報(選択ヒット情報)58Xをヒット情報テーブル58から読み出す(S103)。
また区分判定部112は、その選択ヒット情報58Xに対応する注釈付文書61(図5)の注釈付文書情報54(図19)を外部記憶装置32からメインメモリ31に読み込み(S104)、読み込んだ注釈付文書情報54に基づく注釈付文書61を複数の詳細区分に分割する(S105)。また区分判定部112は、これらの詳細区分について、図7のようにその詳細区分に含まれる各注釈の数を注釈の種類ごとにそれぞれカウントする(S106)。
次いで、区分判定部112は、ステップS104で読み込んだ注釈付文書情報54に基づく注釈付文書61内の、選択ヒット情報58Xに対応する詳細区分(以下、これを対象詳細区分と呼ぶ)の前後の各詳細区分の注釈情報を読み込む(S107)。なお、ここで言う「注釈情報」とは、詳細区分内の各注釈の数の情報を指す。これにより区分判定部112は、対象詳細区分の前後の各詳細区分における各注釈の数をそれぞれ取得する。
この後、区分判定部112は、対象詳細区分と、その手前の詳細区分とを統合可能であるか否かを判断する(S108)。この判断は、対象詳細区分における各注釈の出現割合と、ステップS107で取得した対象詳細区分の手前の詳細区分におけるこれらの注釈の出現割合との差異が、検索設定56(図19)で規定された検索閾値に基づく許容範囲内で一致するか否かを判断することにより行われる。
区分判定部112は、この判断で肯定結果を得ると、対象詳細区分と、この対象詳細区分の手前の詳細区分とを1つの区分に統合する(S109)。また区分判定部112は、この後、ステップS108で否定結果を得るまでステップS108−ステップS109−ステップS108のループを繰り返す。これにより、かかる対象詳細区分を含む区分と、その手前の詳細区分とが順次統合される。
そして区分判定部112は、やがて対象詳細区分を含む区分と、当該区分の手前の詳細区分とを統合できなくなることによりステップS108で否定結果を得ると、対象詳細区分を含む区分と、その次の詳細区分とを1つの区分に統合できるか否かを判断する(S110)。この判断は、対象詳細区分における各注釈の出現割合と、ステップS107で取得した対象詳細区分の次の詳細区分におけるこれらの注釈の出現割合との差異が、検索設定56で規定された検索閾値に基づく許容範囲内で一致するか否かを判断することにより行われる。
区分判定部112は、この判断で肯定結果を得ると、対象詳細区分と、この対象詳細区分の次の詳細区分とを1つの区分に統合する(S111)。また区分判定部112は、この後、ステップS110で否定結果を得るまでステップS110−ステップS111−ステップS110のループを繰り返す。これにより、かかる対象詳細区分を含む区分と、当該区分の次の詳細区分とが順次統合される。
そして区分判定部112は、やがて対象詳細区分を含む区分と、当該区分の次の詳細区分とを統合できなくなることによりステップS110で否定結果を得ると、上述のようにして複数の詳細区分を統合することにより得られた区分と、他の詳細区分と統合されなかった詳細区分とをそれぞれ1つの区分とし、これら各区分における各注釈の数をヒット情報対応区分情報114として、選択ヒット情報58Xに対応する注釈付文書61の区分情報テーブル55(図8)に登録する(S112)。
続いて、区分判定部112は、かかるヒット情報テーブル58(図9)を参照して、ステップS104以降が未処理のヒット情報58Xがあるか否かを判断する(S113)。そして区分判定部112は、この判断で肯定結果を得るとステップS104に戻り、この後、ステップS104で選択するヒット情報58XをステップS104以降の処理が未処理の他のヒット情報58Xに順次切り替えながら、ステップS104〜ステップS113の処理を繰り返す。
そして区分判定部112は、やがてヒット情報テーブル58に登録されたすべてのヒット情報58XについてステップS104以降の処理を実行し終えることによりステップS113で否定結果を得ると、この検索及び区分判定処理を終了する。
なお、この後、上述のようにして区分情報テーブル55に登録された各ヒット情報対応区分情報114に基づいて、結果作成部113により図17のステップS63〜ステップS66と同様の処理が行われ、これにより得られたテキスト情報等が検索実行指示の送信元のクライアント端末4に送信される。これにより、そのクライアント端末4の出力装置25(図1)に、この検索結果情報に基づく図21Aについて上述した検索結果画面120が表示される。
(2−3)本実施の形態による検索結果画面の構成
図21Aは、本実施の形態による検索結果画面120の構成例を示す。この図21Aからも明らかなように、検索結果画面120では、かかる文書検索処理により検出された検索条件を満たすテキストを有する各文書の名称が名称表示領域91にそれぞれ表示される。また、これら文書内の検索条件を満たす位置のテキストが対応する名称表示領域91と対応付けてそれぞれ表示される。
さらに検索結果画面120には、スキルレベル調整スライダ121も表示される。そして検索結果画面120では、かかるスキルレベル調整スライダ121のレバー122をドラッグして左方向に移動させることによって検索設定56(図18)で規定されている上述の検索閾値の値を増加(つまり一致度合いの許容範囲を大きく)させることができ、またレバー122を右方向に移動させることによってかかる検索閾値の値を減少(つまり一致度合いの許容範囲を小さく)させることができる。
なおスキルレベル調整スライダ121のレバー122の移動に伴う検索閾値の増減は、無段階的なものでも、段階的なもの(例えば10%刻み)であってもよい。また検索閾値の調整可能な範囲としては、種々の範囲を広く適用することができる。本実施の形態においては、かかる範囲が0〜50%に設定される。
そして、かかるスキルレベル調整スライダ121のレバー122が左方向に移動された場合、そのレバー122の位置に応じた値に検索設定56が変更された上で、図20Bについて上述したステップS103〜ステップS113の処理が区分判定部112により実行されると共に、この処理結果に基づく結果作成処理が結果作成部113により実行される。
これにより、そのとき検索結果画面120にそれぞれ表示されている、ユーザにより指定された検索条件を満たす各文書内の範囲のテキストの長さが、そのときのスキルレベル調整スライダ121のレバー122の位置に応じた長さに順次増減される。
具体的には、スキルレベル調整スライダ121のレバー122を、低い熟練レベルに対応付けられた左方向に移動させればさせるほど、図21Bに示すように、検索結果画面120にそれぞれ表示されている各テキストの長さがより長くなる。また、スキルレベル調整スライダ121のレバー122を、高い熟練レベルに対応付けられた右方向に移動させればさせるほど、検索結果画面120にそれぞれ表示されている各テキストの長さがより短くなる。
(2−4)本実施の形態の効果
以上のように本実施の形態の文書検索装置101によれば、検索結果画面120のスキルレベル調整スライダ121のレバー122を左右方向に移動させることによって当該検索結果画面120に表示される各テキストの長さを調整することができるため、検索条件として指定する各注釈の出現割合の設定の熟練度に応じた長さのテキストを検索結果画面120に表示させることができる。
従って、例えば、かかる熟練度が高いユーザは、スキルレベル調整スライダ121のレバー122を右方向に移動させて検索結果画面120に表示される各テキストの長さを短くすることによって、ユーザが読み込むべきテキスト量を少なくしてより迅速に所望するトピックが記載された文書内位置にアクセスすることができる。また、かかる熟練度が低いユーザは、スキルレベル調整スライダ121のレバー122を左方向に移動させて検索結果画面120に表示される各テキストの長さを長くすることによって、検索条件として指定する各注釈の出現割合が最適なものでなかった場合においても、ユーザが読み込むべきテキスト量が多少多くなるものの、そのユーザが所望するトピックが記載された文書内位置にアクセスすることができる。
よって、本文書検索装置101によれば、第1の実施の形態の文書検索装置3により得られる効果に加えて、ユーザのかかる熟練度に最適なテキスト長の検索結果を提示し得るという効果をも得られる文書検索装置を実現できる。
(3)他の実施の形態
なお上述の第1及び第2の実施の形態においては、文書検索装置1,101をファイルサーバ装置2とは別個に設けるようにした場合について述べたが、本発明はこれに限らず、例えば、文書検索装置1,101の機能をファイルサーバ装置2に搭載するようにしてもよい。
また上述の第1及び第2の実施の形態においては、文書ごとに、当該文書に含まれる表60(図3)を抽出し、抽出した表60に掲載されている各文字列に対して、当該表60から取得した当該文字列の属性を注釈として対応付けた注釈辞書(単語注釈辞書53)をそれぞれ作成する知識抽出部42と、文書ごとに、対応する注釈辞書(単語注釈辞書53)を利用して、当該文書内の注釈辞書(単語注釈辞書53)に登録された各文字列に対してそれぞれ当該文字列に対応付けられた注釈を付与した注釈付文書61(図5)を作成する注釈付与部43と、注釈付文書61を、各注釈の出現割合に応じた複数の区分62(図6)にそれぞれ分割し、区分62ごとに、当該区分62に含まれる各注釈の出現割合に関する情報でなる区分情報55X(図8)をそれぞれ作成する区分判定部44,112と、複数の文書の中から、検索条件として指定された検索キーワードを含む書位置を検索する検索部47と、区分情報55Xを参照して、注釈付与部43により作成された注釈付文書61、又は、検索部47の検索により検出された文書内位置に対応する注釈付文書61のうち、検索条件として指定された各注釈の出現割合が許容範囲内で一致する注釈付文書61に対応する文書内位置を検出する文書内位置検出部としての結果作成部48,113とをそれぞれソフトウェア構成とするようにした場合について述べたが、本発明はこれに限らず、これら知識抽出部42、注釈付与部43、区分判定部44,112、検索部47及び結果作成部48,113の全部又は一部をハードウェア構成とするようにしてもよい。
さらに上述の第1及び第2の実施の形態においては、区分判定部44,112が、図6のように対応する区分62内に存在する各注釈の数をそれぞれカウントして区分情報55Xとして管理するようにした場合について述べたが、本発明はこれに限らず、各注釈の数ではなく、対応する区分62内における各注釈の出現割合や、この他、各前記注釈の出現割合に関する情報を区分情報として管理するようにしてもよい。