(57)【要約】【課題】文書データの更新等の操作を考慮した文書データの検索を実現する。【解決手段】文書データを格納するデータベースにアクセス可能な計算機を有するシステムであって、データベースには属性が付与された文書データが格納され、計算機は、基準検索キーを含む実行要求を受信した場合、前記基準検索キーに基づいて、前記データベースを参照して、第一次文書データを検索し、第一次文書データに類似する第二次文書データを検索し、第一次文書データ及び第二次文書データに付与される属性を解析することによって、第一次文書データに関連性がある属性を抽出し、抽出された属性を拡張属性として第一次文書データに付与する。【選択図】図１
2019125025.tif 000002
【特許請求の範囲】
【請求項１】
文書データを格納するデータベースにアクセス可能な計算機を備えるシステムであって、
前記計算機は、プロセッサ、前記プロセッサに接続されるメモリ、及び前記プロセッサに接続されるネットワークインタフェースを有し、
前記データベースには、少なくとも一つの属性が付与された前記文書データが格納され、
前記計算機は、前記文書データの検索を行う検索モジュール、及び関連する文書データを検索するための検索キーとして使用される属性である拡張属性を付与する属性解析モジュールを有し、
前記検索モジュールは、第一文書データと関連性がある第二文書データを検索し、
前記属性解析モジュールは、
前記第二文書データに付与される属性を解析することによって、前記第二文書データに付与される属性の中から前記拡張属性として付与する属性を特定し、
前記特定された拡張属性を前記第一文書データに付与することを特徴とするシステム。
【請求項２】
請求項１に記載のシステムであって、
前記属性解析モジュールは、
前記第二文書データに付与される属性の評価値を算出し、
前記評価値に基づいて、前記第二文書データに付与される属性の中から前記拡張属性として付与する属性を特定することを特徴とするシステム。
【請求項３】
請求項２に記載のシステムであって、
前記データベースに格納される文書データは、関連性がある文書データを検索するための検索キーとして使用する特徴文字列と対応づけて管理され、
前記検索モジュールは、
前記第一文書データに対応づけられる前記特徴文字列と前記データベースに格納される前記文書データとの間の関連性を評価する第一関連度を算出し、
前記第一関連度に基づいて、前記データベースに格納される文書データの中から前記第二文書データを選択することを特徴とするシステム。
【請求項４】
請求項２に記載のシステムであって、
前記検索モジュールは、
前記拡張属性を前記検索キーとして含む検索要求を受信した場合、前記文書データに付与された前記拡張属性と、前記検索キーとの間の関連性を評価する第二関連度を算出し、
前記第二関連度に基づいて、前記データベースに格納される文書データの中から検索結果として出力する文書データを選択することを特徴とするシステム。
【請求項５】
請求項２に記載のシステムであって、
前記属性及び前記拡張属性は、前記文書データのメタデータとして付与されることを特徴とするシステム。
【請求項６】
文書データを格納するデータベースにアクセス可能な計算機を有するシステムにおける文書データの管理方法であって、
前記計算機は、プロセッサ、前記プロセッサに接続されるメモリ、及び前記プロセッサに接続されるネットワークインタフェースを有し、
前記データベースには、少なくとも一つの属性が付与された前記文書データが格納され、
前記計算機は、前記文書データの検索を行う検索モジュール、及び関連する文書データを検索するための検索キーとして使用される属性である拡張属性を付与する属性解析モジュールを有し、
前記文書データの管理方法は、
前記検索モジュールが、第一文書データと関連性がある第二文書データを検索する第１のステップと、
前記属性解析モジュールが、前記第二文書データに付与される属性を解析することによって、前記第二文書データに付与される属性の中から前記拡張属性として付与する属性を特定する第２のステップと、
前記属性解析モジュールが、前記特定された拡張属性を前記第一文書データに付与する第３のステップと、を含むことを特徴とする文書データの管理方法。
【請求項７】
請求項６に記載の文書データの管理方法であって、
前記第２のステップは、
前記属性解析モジュールが、前記第二文書データに付与される属性の評価値を算出するステップと、
前記属性解析モジュールが、前記評価値に基づいて、前記第二文書データに付与される属性の中から前記拡張属性として付与する属性を特定するステップと、を含むことを特徴とする文書データの管理方法。
【請求項８】
請求項７に記載の文書データの管理方法であって、
前記データベースに格納される文書データは、関連性がある文書データを検索するための検索キーとして使用する特徴文字列と対応づけて管理され、
前記第１のステップは、
前記検索モジュールが、前記第一文書データに対応づけられる前記特徴文字列と前記データベースに格納される前記文書データとの間の関連性を評価する第一関連度を算出するステップと、
前記検索モジュールが、前記第一関連度に基づいて、前記データベースに格納される文書データの中から前記第二文書データを選択するステップと、を含むことを特徴とする文書データの管理方法。
【請求項９】
請求項７に記載の文書データの管理方法であって、
前記検索モジュールが、前記拡張属性を前記検索キーとして含む検索要求を受信した場合、前記文書データに付与された前記拡張属性と、前記検索キーとの間の関連性を評価する第二関連度を算出するステップと、
前記検索モジュールが、前記第二関連度に基づいて、前記データベースに格納される文書データの中から検索結果として出力する文書データを選択するステップと、を含むことを特徴とする文書データの管理方法。
【請求項１０】
請求項７に記載の文書データの管理方法であって、
前記属性及び前記拡張属性は、前記文書データのメタデータとして付与されることを特徴とする文書データの管理方法。
【請求項１１】
文書データを格納するデータベースにアクセス可能な計算機に実行させるためのプログラムであって、
前記計算機は、プロセッサ、前記プロセッサに接続されるメモリ、及び前記プロセッサに接続されるネットワークインタフェースを有し、
前記データベースには、少なくとも一つの属性が付与された前記文書データが格納され、
前記プログラムは、
第一文書データと関連性がある第二文書データを検索する第１の手順と、
前記第二文書データに付与される属性を解析することによって、前記第二文書データに付与される属性の中から、関連する文書データを検索するための検索キーとして使用される拡張属性として付与する属性を特定する第２の手順と、
前記特定された拡張属性を前記第一文書データに付与する第３の手順と、を前記計算機に実行させることを特徴とするプログラム。
【請求項１２】
請求項１１に記載のプログラムであって、
前記第２の手順は、
前記第二文書データに付与される属性の評価値を算出する手順と、
前記評価値に基づいて、前記第二文書データに付与される属性の中から前記拡張属性として付与する属性を特定する手順と、を含むことを特徴とするプログラム。
【請求項１３】
請求項１２に記載のプログラムであって、
前記データベースに格納される文書データは、関連性がある文書データを検索するための検索キーとして使用する特徴文字列と対応づけて管理され、
前記第１の手順は、
前記第一文書データに対応づけられる前記特徴文字列と前記データベースに格納される前記文書データとの間の関連性を評価する第一関連度を算出する手順と、
前記第一関連度に基づいて、前記データベースに格納される文書データの中から前記第二文書データを選択する手順と、を含むことを特徴とするプログラム。
【請求項１４】
請求項１２に記載のプログラムであって、
前記拡張属性を前記検索キーとして含む検索要求を受信した場合、前記文書データに付与された前記拡張属性と、前記検索キーとの間の関連性を評価する第二関連度を算出する手順と、
前記第二関連度に基づいて、前記データベースに格納される文書データの中から検索結果として出力する文書データを選択する手順と、前記計算機に実行させることを特徴とするプログラム。
【請求項１５】
請求項１２に記載のプログラムであって、
前記属性及び前記拡張属性は、前記文書データのメタデータとして付与されることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文書データの検索システムに関する。
【背景技術】
【０００２】
データベースに格納される文書データを検索する場合、ユーザは、文書データの名称又は文書データに含まれる単語を検索キーとして含む検索要求を検索システムに入力する。従来の検索システムは、入力された単語に一致する文書データを検索することができるが、関連する文書データを検索できない。例えば、従来の検索システムは、単語が属する技術分野に関連する文書データを検索できない。
【０００３】
ここで、関連する文書データとは、検索キーに基づいて照合される項目が同一又は類似する文書データのことを示す。例えば、検索キーである単語に類似する単語を含む文書データ、検索キーである文書データに類似する内容の文書データ、検索キーである文書データと同一の技術分野に属する文書データが、関連する文書データである。
【０００４】
近年、検索キーに関連する文書データを検索する検索システムが注目されている。例えば、特許文献１に記載の技術が知られている。
【０００５】
特許文献１には、「複数の段落文により章節を形成し、複数の章節で構成された文書について、複数の文書を電子データとして得、一方文書の前記段落文を他方文書の前記段落文または章節と比較して類似度を判断し、判断した類似度から前記比較した一方文書の前記段落文が前記他方文書の前記段落文または章節と類似であるか、新規であるかを判断する。」ことが記載されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１５−２１９７９９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
特許文献１に記載された検索システムは、文書間の類似度、又は単語と文書との間の類似度等に基づいて、関連する文書データを検索する。したがって、メタデータに含まれる所有者及びタイムスタンプ等の属性が検索キーとして入力された場合、関連する文書データを検索できない。なぜならば、メタデータと、文書データ又は文書データに含まれる単語との間の関係性は考慮されておらず、また、メタデータに含まれる属性は、一般的に文書データ又は文書データに含まれる単語と類似関係を構成しないためである。
【０００８】
本発明は、メタデータに含まれる属性を検索キーとして用いた場合に、関連する文書データを検索できるシステムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、文書データを格納するデータベースにアクセス可能な計算機を備えるシステムであって、前記計算機は、プロセッサ、前記プロセッサに接続されるメモリ、及び前記プロセッサに接続されるネットワークインタフェースを有し、前記データベースには、少なくとも一つの属性が付与された前記文書データが格納され、前記計算機は、前記文書データの検索を行う検索モジュール、及び関連する文書データを検索するための検索キーとして使用される属性である拡張属性を付与する属性解析モジュールを有し、前記検索モジュールは、第一文書データと関連性がある第二文書データを検索し、前記属性解析モジュールは、前記第二文書データに付与される属性を解析することによって、前記第二文書データに付与される属性の中から前記拡張属性として付与する属性を特定し、前記特定された拡張属性を前記第一文書データに付与することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、関連する文書の属性を拡張属性として文書データに付与できる。これによって、属性を検索キーに用いた場合であっても、関連する文書データを検索できる。上記した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
【図面の簡単な説明】
【００１１】
【図１】実施例１の検索システムの構成例を示す図である。
【図２】実施例１の文書データ管理データベースのデータ構造の一例を示す図である。
【図３】実施例１のベクトル管理データベースのデータ構造の一例を示す図である。
【図４】実施例１の検索サーバが実行する学習処理の一例を説明するフローチャートである。
【図５】実施例１の検索サーバが実行する属性解析処理を説明するフローチャートである。
【図６】実施例１の属性解析処理が実行された後の文書データ管理データベースのデータ構造の一例を示す図である。
【図７Ａ】実施例１の検索サーバが実行する検索処理の一例を説明するフローチャートである。
【図７Ｂ】実施例１の検索サーバが実行する検索処理の一例を説明するフローチャートである。
【図８Ａ】実施例１の検索画面の一例を示す図である。
【図８Ｂ】実施例１の検索画面の一例を示す図である。
【図８Ｃ】実施例１の検索画面の一例を示す図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施例を、図面を用いて説明する。ただし、本発明は以下に示す実施の形態の記載内容に限定して解釈されるものではない。本発明の思想ないし趣旨から逸脱しない範囲で、その具体的構成を変更し得ることは当業者であれば容易に理解される。
【００１３】
以下に説明する発明の構成において、同一又は類似する構成又は機能には同一の符号を付し、重複する説明は省略する。
【００１４】
本明細書等における「第一」、「第二」、「第三」等の表記は、構成要素を識別するために付するものであり、必ずしも、数又は順序を限定するものではない。
【００１５】
図面等において示す各構成の位置、大きさ、形状、及び範囲等は、発明の理解を容易にするため、実際の位置、大きさ、形状、及び範囲等を表していない場合がある。したがって、本発明では、図面等に開示された位置、大きさ、形状、及び範囲等に限定されない。
【実施例１】
【００１６】
図１は、実施例１の検索システムの構成例を示す図である。
【００１７】
検索システムは、ファイルサーバ１００、検索サーバ１０１、及び端末１０２から構成される。ファイルサーバ１００、検索サーバ１０１、及び端末１０２は、ネットワーク１０５を介して互いに接続される。なお、各装置は、異なるネットワークを介して接続されてもよい。
【００１８】
ネットワーク１０５は、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）及びＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等である。なお、本発明は、ネットワーク１０５の種別に限定されない。また、ネットワーク１０５の接続方式は、有線又は無線のいずれでもよい。
【００１９】
ファイルサーバ１００は文書データを管理する計算機である。ファイルサーバ１００は、ハードウェアとして、プロセッサ１１０、メモリ１１１、及びネットワークインタフェース１１２を有する。
【００２０】
プロセッサ１１０は、メモリ１１１に格納されるプログラムを実行する。プロセッサ１１０がプログラムにしたがって処理を実行することによって、特定の機能を実現するモジュールとして動作する。以下の説明では、モジュールを主語に処理を説明する場合、プロセッサ１１０が当該モジュールを実現するプログラムを実行していることを示す。
【００２１】
メモリ１１１は、プロセッサ１１０が実行するプログラム及び情報を格納する。また、メモリ１１１は、プログラムが使用するワークエリアを含む。
【００２２】
ネットワークインタフェース１１２は、ネットワーク１０５に接続するためのインタフェースである。
【００２３】
実施例１のメモリ１１１は、文書データ管理モジュール１２０を実現するプログラム及び文書データ管理データベース１３０を格納する。
【００２４】
文書データ管理データベース１３０は、文書データを管理するデータベースである。実施例１の文書データはファイル形式のデータとして管理される。文書データ管理データベース１３０のデータ構造は図２を用いて説明する。
【００２５】
文書データ管理モジュール１２０は、文書データ管理データベース１３０を管理するモジュールである。例えば、文書データ管理モジュール１２０は、文書データの書込処理及び文書データの読出処理等を実行する。
【００２６】
本実施例では、メモリ１１１に文書データ管理データベース１３０が格納されるが、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）及びＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記憶装置に文書データ管理データベース１３０が格納されてもよい。
【００２７】
検索サーバ１０１はファイルサーバ１００が管理する文書データを検索する計算機である。検索サーバ１０１は、ハードウェアとして、プロセッサ１４０、メモリ１４１、及びネットワークインタフェース１４２を有する。プロセッサ１４０、メモリ１４１、及びネットワークインタフェース１４２は、プロセッサ１１０、メモリ１１１、及びネットワークインタフェース１１２と同一のものである。
【００２８】
実施例１のメモリ１４１は、検索モジュール１５０及び属性解析モジュール１５１を実現するプログラム、並びにベクトル管理データベース１６０を格納する。
【００２９】
ベクトル管理データベース１６０は、文書データから算出されたベクトルを管理するためのデータベースである。当該ベクトルは、文書データの特徴を示すデータである。ベクトル管理データベース１６０のデータ構造は図３を用いて説明する。
【００３０】
検索モジュール１５０は、文書データの検索処理を実行する。検索モジュール１５０が実行する処理の詳細は後述する。
【００３１】
属性解析モジュール１５１は、文書データに付与されるメタデータ（属性）を解析する。属性解析モジュール１５１が実行する処理の詳細は後述する。
【００３２】
端末１０２はユーザが操作する計算機である。端末１０２は、図示しないプロセッサ、メモリ、及びネットワークインタフェースを有する。ユーザは、端末１０２を使用して、文書データに関する各種操作を行う。
【００３３】
なお、ファイルサーバ１００及び検索サーバ１０１が有するモジュールについては、複数のモジュールを一つのモジュールにまとめてもよいし、一つのモジュールを機能毎に複数のモジュールに分けてもよい。
【００３４】
図２は、実施例１の文書データ管理データベース１３０のデータ構造の一例を示す図である。
【００３５】
文書データ管理データベース１３０は、データＩＤ２０１、パス２０２、属性群２０３、及び特徴単語２０４から構成されるエントリを含む。一つのエントリが一つの文書データに対応する。なお、エントリに含まれるフィールドは、前述したフィールド以外のフィールドが含まれてもよい。
【００３６】
データＩＤ２０１は、ファイル形式の文書データを一意に識別するための識別情報を格納するフィールドである。パス２０２は、文書データの格納位置を示すパスを格納するフィールドである。文書データの実体は、パスに対応するメモリ１１１の記憶領域に格納される。
【００３７】
属性群２０３は、文書データのメタデータに含まれる属性を格納するフィールド群である。属性群２０３は、文書データのメタデータとして扱われる。属性群２０３には、文書データの所有者の識別情報を格納する所有者２１１及び文書データの作成日を格納する作成日２１２等のフィールドが含まれる。
【００３８】
特徴単語２０４は、文書データを特徴づける単語である特徴単語を格納するフィールドである。特徴単語２０４には特徴単語及び関連度の組合せが登録される。
【００３９】
なお、特徴単語は、文書データに含まれる文字列を解析することによって抽出される。例えば、文書データと文字列との間の関係性、及び文字列の出現頻度等に基づいて、特徴単語が抽出される。
【００４０】
図３は、実施例１のベクトル管理データベース１６０のデータ構造の一例を示す図である。
【００４１】
ベクトル管理データベース１６０は、データＩＤ３０１及びベクトル３０２から構成されるエントリを含む。一つのエントリが一つの文書データのベクトルに対応する。
【００４２】
データＩＤ３０１は、データＩＤ２０１と同一のフィールドである。ベクトル３０２は、データＩＤ３０１に対応する文書データから算出されたベクトルを格納するフィールドである。
【００４３】
文書データのベクトルは、任意のタイミングで検索サーバ１０１によって算出される。例えば、検索サーバ１０１は、ユーザから実行指示を受信した場合、又は、ファイルサーバ１００に文書データが登録された場合、文書データのベクトルの算出処理を実行する。また、検索サーバ１０１は、周期的に、文書データのベクトルの算出処理を実行してもよい。
【００４４】
文書データのベクトルの算出処理では、検索サーバ１０１は、ファイルサーバ１００からターゲットとなる文書データを読み出し、ターゲット文書データに含まれる文字列を解析することによってベクトルを算出する。なお、文字列の解析方法としては、形態素解析等を用いる方法が考えられる。
【００４５】
次に、実施例１の検索サーバ１０１が実行する処理について説明する。
【００４６】
図４は、実施例１の検索サーバ１０１が実行する学習処理の一例を説明するフローチャートである。
【００４７】
検索サーバ１０１は、周期的に、又は、ユーザから実行指示を受信した場合、以下で説明する学習処理を実行する。
【００４８】
検索サーバ１０１の属性解析モジュール１５１は、特徴単語を登録するための文書データのループ処理を開始する（ステップＳ１００）。
【００４９】
具体的には、属性解析モジュール１５１は、文書データ管理データベース１３０を参照し、ターゲットエントリを一つ選択する。属性解析モジュール１５１は、選択されたエントリを読み出し、メモリ１４１に格納する。以下の説明では、ターゲットエントリに対応する文書データをターゲット文書データと記載する。
【００５０】
次に、属性解析モジュール１５１は、ターゲット文書データのベクトルを算出し（ステップＳ１０１）、ベクトル管理データベース１６０を更新する（ステップＳ１０２）。
【００５１】
具体的には、属性解析モジュール１５１は、Ｄｏｃ２Ｖｅｃ等の公知の手法を用いて、ターゲット文書データのベクトルを算出する。属性解析モジュール１５１は、ベクトル管理データベース１６０にエントリを追加し、追加されたエントリのデータＩＤ３０１に、ターゲットエントリのデータＩＤ２０１に設定された識別情報を設定する。また、属性解析モジュール１５１は、追加されたエントリのベクトル３０２に算出されたベクトルを設定する。
【００５２】
次に、属性解析モジュール１５１は、ターゲット文書データの特徴単語を特定する（ステップＳ１０３）。
【００５３】
具体的には、属性解析モジュール１５１は、ターゲット文書データに対して形態素解析を実行し、ターゲット文書データに含まれる単語（文字列）を抽出する。さらに、属性解析モジュール１５１は、単語の出現回数等に基づいて、ターゲット文書データと単語との間の関連度を算出する。属性解析モジュール１５１は、関連度が高い順にｎ個の単語を特徴単語として選択する。なお、選択する単語の数は任意に設定できる。
【００５４】
なお、前述した特徴単語の特定方法は一例であって、これに限定されない。例えば、関連度及び閾値の比較結果に基づいて、特徴単語を選択してもよい。
【００５５】
次に、属性解析モジュール１５１は、文書データ管理データベース１３０を更新する（ステップＳ１０４）。
【００５６】
具体的には、属性解析モジュール１５１は、文書データ管理データベース１３０を参照し、ターゲットエントリの特徴単語２０４に、特定された特徴単語を設定する。
【００５７】
次に、属性解析モジュール１５１は、全ての文書データについて処理が完了したか否かを判定する（ステップＳ１０５）。すなわち、文書データ管理データベース１３０の全てのエントリについて処理が実行されたか否かが判定される。
【００５８】
全ての文書データについて処理が完了していないと判定された場合、属性解析モジュール１５１は、ステップＳ１００に戻り、新たなターゲット文書データを選択し、同様の処理を実行する。
【００５９】
全ての文書データについて処理が完了したと判定された場合、属性解析モジュール１５１は、属性を解析するための文書データのループ処理を開始する（ステップＳ１０６）。ステップＳ１０６の処理は、ステップＳ１００の処理と同一である。
【００６０】
次に、属性解析モジュール１５１は、ターゲット文書データの特徴単語のループ処理を開始する（ステップＳ１０７）。
【００６１】
具体的には、属性解析モジュール１５１は、ターゲットエントリの特徴単語２０４に設定された特徴単語の中からターゲット特徴単語を選択する。
【００６２】
次に、属性解析モジュール１５１は、ターゲット特徴単語を検索キーとして用いた検索処理の実行を検索モジュール１５０に指示する（ステップＳ１０８）。検索処理は公知の技術を用いればよい。例えば、以下のような処理が考えられる。
【００６３】
検索モジュール１５０は、Ｗｏｒｄ２Ｖｅｃ等の公知の技術を用いてターゲット特徴単語のベクトルを算出する。検索モジュール１５０は、ベクトル管理データベース１６０の各エントリのベクトル３０２の値と、ターゲット特徴単語のベクトルとを用いて類似度を算出する。このとき、ターゲット文書データは除外される。
【００６４】
算出された類似度は、ターゲット特徴単語と文書データとの間の関連性を評価する指標として用いられる。以下の説明では、第一関連度と記載する。
【００６５】
検索モジュール１５０は、第一関連度に基づいて、ターゲット特徴単語に関連する文書データを検索する。例えば、検索モジュール１５０は、第一関連度が閾値より大きい文書データを、ターゲット特徴単語に関連する文書データに決定する。また、検索モジュール１５０は、第一関連度が高い順にｍ個の文書データをターゲット特徴単語に関連する文書データに決定する。選択する文書データの数は任意に設定できる。
【００６６】
検索モジュール１５０は、検索された文書データ及び第一関連度から構成されるエントリを関連文書データリストに登録する。以下の説明では、検索された文書データを関連文書データと記載する。検索モジュール１５０は、検索処理が終了した場合、属性解析モジュール１５１に、検索結果として関連文書データリストを出力する。
【００６７】
次に、属性解析モジュール１５１は、ターゲット文書データの全ての特徴単語について処理が完了したか否かを判定する（ステップＳ１０９）。すなわち、ターゲットエントリの特徴単語２０４に設定された全ての特徴単語について処理が実行されたか否かが判定される。
【００６８】
ターゲット文書データの全ての特徴単語について処理が完了していないと判定された場合、属性解析モジュール１５１は、ステップＳ１０７に戻り、新たなターゲット特徴単語を選択し、同様の処理を実行する。
【００６９】
ターゲット文書データの全ての特徴単語について処理が完了したと判定された場合、属性解析モジュール１５１は、関連文書データを用いて属性解析処理を実行する（ステップＳ１１０）。
【００７０】
属性解析処理は、ターゲット文書データに付与する拡張属性（拡張メタデータ）を特定するための処理である。属性解析処理の詳細は図５を用いて説明する。ここで、拡張属性は、関連する文書データを検索するための検索キーとして使用される属性を示す。
【００７１】
次に、属性解析モジュール１５１は、全ての文書データについて処理が完了したか否かを判定する（ステップＳ１１１）。ステップＳ１１１の処理は、ステップＳ１０５の処理と同一である。
【００７２】
全ての文書データについて処理が完了していないと判定された場合、属性解析モジュール１５１は、ステップＳ１０６に戻り、新たなターゲット文書データを選択し、同様の処理を実行する。
【００７３】
全ての文書データについて処理が完了したと判定された場合、属性解析モジュール１５１は処理を終了する。
【００７４】
図５は、実施例１の検索サーバ１０１が実行する属性解析処理を説明するフローチャートである。図６は、実施例１の属性解析処理が実行された後の文書データ管理データベース１３０のデータ構造の一例を示す図である。
【００７５】
属性解析モジュール１５１は、ファイルサーバ１００に、拡張属性群２０５の追加指示を送信する（ステップＳ２００）。ファイルサーバ１００は、検索サーバ１０１から拡張属性群２０５の追加指示を受信した場合、文書データ管理データベース１３０に拡張属性群２０５を追加する。
【００７６】
拡張属性群２０５は、例えば、属性の分類に対応するフィールドから構成される。実施例１の拡張属性群２０５には、作成者及び修正者等のユーザに分類される属性を格納する関係者２２２、並びに、作成日及び修正日等のタイムスタンプに分類される属性を格納する関連日時２２３が含まれる。なお、拡張属性群２０５は、各属性を格納するフィールドから構成されてもよい。
【００７７】
次に、属性解析モジュール１５１は、全ての関連文書データの属性を取得する（ステップＳ２０１）。
【００７８】
具体的には、属性解析モジュール１５１は、関連文書データリストに基づいて文書データ管理データベース１３０を参照し、各関連文書データに対応するエントリの属性群２０３から属性を取得する。このとき、属性解析モジュール１５１は、取得された各関連文書データの属性のリストを生成する。
【００７９】
次に、属性解析モジュール１５１は、属性のループ処理を開始する（ステップＳ２０２）。
【００８０】
具体的には、属性解析モジュール１５１は、属性のリストからターゲット属性を選択する。
【００８１】
次に、属性解析モジュール１５１は、ターゲット属性の評価値を算出する（ステップＳ２０３）。
【００８２】
ターゲット属性の評価値の算出方法は様々な方法が考えられる。例えば、属性解析モジュール１５１は、属性のリストに含まれるターゲット属性の数に基づいて評価値を算出する。また、属性解析モジュール１５１は、ターゲット文書データに含まれる属性とターゲット属性との間の類似度及び第一関連度の乗算値の平方根を評価値として算出してもよい。
【００８３】
次に、属性解析モジュール１５１は、ターゲット属性の評価値が閾値より大きいか否かを判定する（ステップＳ２０４）。
【００８４】
ターゲット属性の評価値が閾値以下であると判定された場合、属性解析モジュール１５１は、ステップＳ２０６に進む。
【００８５】
ターゲット属性の評価値が閾値より大きいと判定された場合、属性解析モジュール１５１は、文書データ管理データベース１３０を更新する（ステップＳ２０５）。
【００８６】
具体的には、属性解析モジュール１５１は、拡張属性群２０５に含まれるフィールドであって、ターゲット属性が属する分類に対応するフィールドに、ターゲット属性を設定する。
【００８７】
ステップＳ２０６では、属性解析モジュール１５１は、属性のリストに登録された全ての属性について処理が完了したか否かを判定する（ステップＳ２０６）。
【００８８】
属性のリストに登録された全ての属性について処理が完了していないと判定された場合、属性解析モジュール１５１は、ステップＳ２０２に戻り、新たなターゲット属性を選択し、同様の処理を実行する。
【００８９】
属性のリストに登録された全ての属性について処理したと判定された場合、属性解析モジュール１５１は、属性解析処理を終了する。
【００９０】
以上の処理によって、図２に示す文書データ管理データベース１３０は、図６に示す文書データ管理データベース１３０に更新される。実施例１の検索サーバ１０１は、文書データ間の関連性、並びに文書データ及び単語の関連性を解析することによって、関連する文書データを検索するための拡張属性を文書データに追加することができる。
【００９１】
図７Ａ及び図７Ｂは、実施例１の検索サーバ１０１が実行する検索処理の一例を説明するフローチャートである。図８Ａ、図８Ｂ、及び図８Ｃは、実施例１の検索画面８００の一例を示す図である。
【００９２】
まず、検索画面８００について説明する。検索画面８００は、検索条件入力欄８１０、検索結果表示欄８２０、及び学習結果表示欄８３０を含む。なお、学習結果表示欄８３０は、学習処理が実行された場合に表示される欄である。
【００９３】
検索条件入力欄８１０は、検索処理の条件を設定するための欄である。検索条件入力欄８１０は、検索キー欄８１１、検索対象欄８１２、学習欄８１３、及び検索ボタン８１４を含む。
【００９４】
検索キー欄８１１は、検索キーを入力する欄である。検索対象欄８１２は、検索キーを用いた検索を行う対象を入力する欄である。検索対象欄８１２には、例えば、「文書データ」又は「属性」が入力される。検索対象欄８１２が「文書データ」である場合、検索キー及び文書データの類似性に基づく検索処理が実行され、検索対象欄８１２が「属性」である場合、検索キー並びに文書データの属性及び拡張属性の照合結果に基づく検索処理が実行される。
【００９５】
学習欄８１３は、学習処理を実行するか否かを選択するための欄である。学習欄８１３には、学習処理を実行させるためのラジオボタン「ＯＮ」及び学習処理を実行させないラジオボタン「ＯＦＦ」が表示される。
【００９６】
なお、実施例１では、検索対象欄８１２が「文書データ」である場合に、学習欄８１３の「ＯＮ」が選択できるものとする。
【００９７】
検索ボタン８１４は、検索処理の実行を指示するための操作ボタンである。
【００９８】
検索結果表示欄８２０は、検索結果を表示する欄である。検索結果表示欄８２０には、テーブル形式のデータが表示される。検索結果表示欄８２０に表示されるテーブルの構造は、検索の対象に依存する。
【００９９】
検索の対象が文書データである場合、検索結果表示欄８２０に表示されるテーブルのエントリは、検索キー８２１、データＩＤ８２２、ソースデータＩＤ８２３、及び関連度８２４から構成される。検索の対象が属性である場合、検索結果表示欄８２０に表示されるテーブルのエントリは、データＩＤ８２２及び関連度８２４から構成される。
【０１００】
検索キー８２１は、検索キーとして使用された文字列を格納するフィールドである。データＩＤ８２２は、検索キー８２１に格納される文字列に基づいて検索された文書データの識別情報を格納するフィールドである。
【０１０１】
ソースデータＩＤ８２３は、検索キー８２１に格納される特徴単語の選択元の文書データの識別情報を格納するフィールドである。
【０１０２】
関連度８２４は、検索キー８２１に対応する文字列とデータＩＤ８２２に対応する文書データとの間の関連度を格納するフィールドである。単語及び文書データの関連度は、例えば、それぞれのベクトルを用いて算出できる。
【０１０３】
学習結果表示欄８３０は、学習結果を表示する欄である。学習結果表示欄８３０には、テーブル形式のデータが表示される。学習結果表示欄８３０に表示されるテーブルは、データＩＤ８３１、属性種別８３２、属性８３３、及び関連度８３４から構成されるエントリを含む。
【０１０４】
データＩＤ８３１は、拡張属性群２０５に値が設定された文書データの識別情報を格納するフィールドである。
【０１０５】
属性種別８３２は、拡張属性群２０５に追加された属性の種別を格納するフィールドである。属性種別８３２には、拡張属性群２０５に含まれるフィールドの名称と同一の値が格納される。
【０１０６】
属性８３３は、拡張属性群２０５に追加された属性の値を格納するフィールドである。
【０１０７】
関連度８３５は、データＩＤ８３１に格納される文書データと属性８３３に格納される属性（文字列）との間の関連度を格納するフィールドである。
【０１０８】
実施例１では、テーブル形式の検索結果が出力されるが、グラフとして検索結果を表示してもよい。具体的には、検索キー及び文書データをノードとして表現し、関連度８２４に基づいて決定された長さのエッジを用いて検索キー及び文書データを接続し、また、関連度８２４に基づいて決定された長さのエッジを用いて文書データ間を接続する。
【０１０９】
次に、検索サーバ１０１が実行する検索処理について説明する。
【０１１０】
ユーザは、検索画面８００を参照し、検索条件入力欄８１０に含まれる欄に値を設定し、検索ボタン８１４を操作する。当該ボタンが操作された場合、端末１０２は、検索条件入力欄８１０に設定された値を含む検索要求を検索サーバ１０１に送信する。検索サーバ１０１は、検索要求を受信した場合、以下で説明する検索処理を開始する。
【０１１１】
まず、検索サーバ１０１の検索モジュール１５０は、学習処理を実行するか否かを判定する（ステップＳ３０１）。
【０１１２】
具体的には、検索モジュール１５０は、検索要求に学習処理の実行を指示する情報が含まれるか否かを判定する。図３Ａに示す検索条件入力欄８１０の場合、学習処理を実行すると判定される。図３Ｂ及び図３Ｃに示す検索条件入力欄８１０の場合、学習処理を実行しないと判定される。
【０１１３】
学習処理を実行すると判定された場合、検索モジュール１５０は、検索要求に含まれる検索キーを用いた検索処理を実行する（ステップＳ３０１）。具体的には、以下のような処理が実行される。
【０１１４】
検索モジュール１５０は、検索キーを用いて文書データを検索する。検索キーの種類に応じて処理が異なる。
【０１１５】
（１）検索キーが文書データである場合、検索モジュール１５０は、ベクトル管理データベース１６０を参照し、検索キーとして設定された文書データのベクトルを取得する。検索モジュール１５０は、取得したベクトル及び他の文書データのベクトルを用いて文書データ間の類似度を算出する。検索モジュール１５０は、類似度に基づいて、検索結果として出力する文書データ（第一次文書データ）を選択する。検索モジュール１５０は、検索キー、選択した文書データの識別情報、及び関連度から構成されるエントリを含む第一出力リストを生成する。なお、類似度が関連度として出力される。
【０１１６】
（２）検索キーが単語である場合、検索モジュール１５０は、単語のベクトルを算出する。検索モジュール１５０は、単語のベクトル及び文書データのベクトルを用いて単語及び文書データ間の類似度を算出する。検索モジュール１５０は、類似度に基づいて、検索結果として出力する文書データ（第一次文書データ）を選択する。検索モジュール１５０は、検索キー、選択した文書データの識別情報、及び関連度から構成されるエントリを含む第一出力リストを生成する。なお、類似度が関連度として出力される。
【０１１７】
なお、第一出力リストに含まれるエントリを構成する検索キー、文書データの識別情報、及び関連度は、検索結果表示欄８２０に表示されるテーブルの検索キー８２１、データＩＤ８２２、及び関連度８２４に設定される値となる。以上がステップＳ３０１の処理の説明である。
【０１１８】
次に、検索モジュール１５０は、属性解析モジュール１５１と連携して、ステップＳ３０２からステップＳ３０７の処理を実行する。ステップＳ３０２からステップＳ３０７の処理は、ステップＳ１０６からステップＳ１１１の処理と同様である。ただし、以下で述べるように一部の処理が異なる。
【０１１９】
ステップＳ３０２では、属性解析モジュール１５１は、第一出力リストに登録された文書データの中からターゲット文書データを選択する。ステップＳ３０４では、検索モジュール１５０は、第一次文書データの特徴単語に関連する文書データ（第二次文書データ）が検索される。ステップＳ３０５の処理が終了した後、属性解析モジュール１５１は、特徴単語、選択した文書データ（第二次文書データ）の識別情報、ターゲット文書データ（第一次文書データ）の識別情報、及び関連度から構成されるエントリを含む第二出力リストを生成する。
【０１２０】
ステップＳ３０６では、属性解析モジュール１５１は、文書データ管理データベース１３０に追加された属性に関する情報として、学習結果リストを生成する。具体的には、属性解析モジュール１５１は、属性が追加された文書データの識別情報、追加された属性の種別、追加された属性、及び関連度から構成されるエントリを含む学習結果リストを生成する。エントリを構成する属性が追加された文書データの識別情報、追加された属性の種別、追加された属性、及び関連度は、学習結果表示欄８３０に表示されるテーブルのデータＩＤ８３１、属性種別８３２、属性８３３、及び関連度８３４に設定される値となる。
【０１２１】
なお、第二出力リストに含まれるエントリを構成する特徴単語、文書データの識別情報、ターゲット文書データの識別情報、及び関連度は、検索結果表示欄８２０に表示されるテーブルの検索キー８２１、データＩＤ８２２、ソースデータＩＤ８２３、及び関連度８２４に設定される値となる。
【０１２２】
次に、検索モジュール１５０は、検索結果を生成し、端末１０２に送信する（ステップＳ３１６）。その後、検索サーバ１０１は、処理を終了する。
【０１２３】
具体的には、検索モジュール１５０は、第一出力リスト及び第二出力リストに登録されたエントリをまとめて、検索結果リストを生成する。検索モジュール１５０は、検索結果リスト及び学習結果リストを端末１０２に送信する。以上の処理によって、検索画面８００には、図８Ａに示すような検索結果及び学習結果が表示される。
【０１２４】
ステップＳ３０１において、学習処理を実行しないと判定された場合、検索モジュール１５０は、検索対象が属性であるか否かを判定する（ステップＳ３０８）。
【０１２５】
検索対象が属性であると判定された場合、検索モジュール１５０は、検索要求に含まれる検索キーを用いた検索処理を実行する（ステップＳ３０９）。
【０１２６】
具体的には、検索モジュール１５０は、文書データ管理データベース１３０に含まれる各エントリの属性群２０３及び拡張属性群２０５を参照し、検索キーに一致する属性を含む文書データを検索する。検索モジュール１５０は、検索された文書データの識別情報及び検索キーに対応する属性の関連度から構成されるエントリを含む第三出力リストを生成する。なお、属性群２０３に含まれる属性の関連度は「１．０」とする。
【０１２７】
なお、第三出力リストに含まれるエントリを構成する検索された文書データの識別情報及び検索キーに対応する属性の関連度は、検索結果表示欄８２０に表示されるテーブルのデータＩＤ８２２及び関連度８２４に設定される値となる。
【０１２８】
次に、検索モジュール１５０は、検索結果を生成し、端末１０２に送信する（ステップＳ３１６）。その後、検索モジュール１５０は、処理を終了する。
【０１２９】
具体的には、検索モジュール１５０は、第三出力リストを検索結果リストとして生成する。検索モジュール１５０は、検索結果リストを端末１０２に送信する。以上の処理によって、検索画面８００には、図８Ｂに示すような検索結果が表示される。
【０１３０】
ステップＳ３０８において、検索対象が属性でないと判定された場合、検索モジュール１５０は、検索要求に含まれる検索キーを用いた検索処理を実行する（ステップＳ３１０）。ステップＳ３１０の処理は、ステップＳ３０１の処理と同一である。
【０１３１】
次に、検索モジュール１５０は、属性解析モジュール１５１と連携して、ステップＳ３１１からステップＳ３１５の処理を実行する。ステップＳ３１１からステップＳ３１４の処理は、ステップＳ１０６からステップＳ１０９の処理と同様である。ステップＳ３１５の処理は、ステップＳ１１１の処理と同様である。ただし、以下で述べるように一部の処理が異なる。
【０１３２】
ステップＳ３１１では、属性解析モジュール１５１は、第一出力リストに登録された文書データの中からターゲット文書データを選択する。
【０１３３】
ステップＳ３１４の処理が終了した後、属性解析モジュール１５１は、特徴単語、選択した文書データの識別情報、ターゲット文書データの識別情報、及び関連度から構成されるエントリを含む第二出力リストを生成する。
【０１３４】
ステップＳ３１５の処理が終了した後、検索モジュール１５０は、検索結果を生成し、端末１０２に送信する（ステップＳ３１６）。その後、検索モジュール１５０は、処理を終了する。
【０１３５】
具体的には、検索サーバ１０１は、第一出力リスト及び第二出力リストに登録されたエントリをまとめて、検索結果リストを生成する。検索サーバ１０１は、検索結果リストを端末１０２に送信する。以上の処理によって、検索画面８００には、図８Ｃに示すような検索結果が表示される。
【０１３６】
以上で説明したように、検索サーバ１０１は、関連する文書データの属性を解析することによって、関連する文書データを検索するための拡張属性を付与できる。これによって、メタデータを検索キーとして用いた検索処理において、関連する文書データを検索できる。
【０１３７】
例えば、ユーザ名を検索キーとする検索処理を実行することによって、ユーザに関連する文書データを網羅的に特定することができる。これによって、ユーザの業務内容及び専門分野等を把握できる。
【０１３８】
例えば、日付を検索キーとする検索処理を実行することによって、業務及び技術のトレンドを把握できる。また、業務に係わっていたユーザを特定できる。
【０１３９】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。また、例えば、上記した実施例は本発明を分かりやすく説明するために構成を詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、各実施例の構成の一部について、他の構成に追加、削除、置換することが可能である。
【０１４０】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、本発明は、実施例の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をコンピュータに提供し、そのコンピュータが備えるプロセッサが記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、光ディスク、光磁気ディスク、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどが用いられる。
【０１４１】
また、本実施例に記載の機能を実現するプログラムコードは、例えば、アセンブラ、Ｃ／Ｃ＋＋、ｐｅｒｌ、Ｓｈｅｌｌ、ＰＨＰ、Ｊａｖａ（登録商標）等の広範囲のプログラム又はスクリプト言語で実装できる。
【０１４２】
さらに、実施例の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することによって、それをコンピュータのハードディスクやメモリ等の記憶手段又はＣＤ−ＲＷ、ＣＤ−Ｒ等の記憶媒体に格納し、コンピュータが備えるプロセッサが当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしてもよい。
【０１４３】
上述の実施例において、制御線や情報線は、説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていてもよい。
【符号の説明】
【０１４４】
１００  ファイルサーバ
１０１  検索サーバ
１０２  端末
１０５  ネットワーク
１１０、１４０  プロセッサ
１１１、１４１  メモリ
１１２、１４２  ネットワークインタフェース
１２０  文書データ管理モジュール
１３０  文書データ管理データベース
１５０  検索モジュール
１５１  属性解析モジュール
１６０  ベクトル管理データベース
８００  検索画面
８１０  検索条件入力欄
８２０  検索結果表示欄
８３０  学習結果表示欄
【図１】
2019125025.tif 000003
【図２】
2019125025.tif 000004
【図３】
2019125025.tif 000005
【図４】
2019125025.tif 000006
【図５】
2019125025.tif 000007
【図６】
2019125025.tif 000008
【図７Ａ】
2019125025.tif 000009
【図７Ｂ】
2019125025.tif 000010
【図８Ａ】
2019125025.tif 000011
【図８Ｂ】
2019125025.tif 000012
【図８Ｃ】
2019125025.tif 000013