(57)【要約】【課題】ユーザが新規に文書を作成する際に、当該文書に記述すべき項目を提示することが可能な文書管理装置およびプログラムを提供することにある。【解決手段】文書格納手段は、各種項目が記述された複数の文書を格納する。検索手段は、ユーザによって指定された検索条件に基づいて、当該検索条件に一致する文書を文書格納手段から検索する。取得手段は、検索された文書と類似する文書を、文書格納手段から取得する。特定手段は、検索された文書および取得された文書において共通して記述されている項目を特定する。提示手段は、特定された項目をユーザに提示する。【選択図】図２
2013077174.tif 000002
【特許請求の範囲】
【請求項１】
各種項目が記述された複数の文書を格納する文書格納手段と、
ユーザによって指定された検索条件に基づいて、当該検索条件に合致する文書を前記文書格納手段から検索する検索手段と、
前記検索された文書と類似する文書を、前記文書格納手段から取得する取得手段と、
前記検索された文書および前記取得された文書において共通して記述されている項目を特定する特定手段と、
前記特定された項目を前記ユーザに提示する提示手段と
を具備することを特徴とする文書管理装置。
【請求項２】
前記取得手段は、
前記文書格納手段に格納されている文書毎に、当該文書に記述されている項目が定義されたメタモデルを生成する生成手段と、
前記生成されたメタモデルに基づいて、前記検索された文書と前記文書格納手段に格納されている文書の各々との類似度を算出する類似度算出手段と
を含み、
前記算出された類似度に基づいて、前記検索された文書と類似する文書を前記文書格納手段から取得する
ことを特徴とする請求項１記載の文書管理装置。
【請求項３】
前記文書格納手段に格納されている文書の各々は、単語を含み、
前記取得手段は、
前記文書格納手段に格納されている文書の各々に含まれる単語に基づいて、前記検索された文書と前記文書格納手段に格納されている文書の各々との類似度を算出する算出手段を含み、
前記算出された類似度に基づいて、前記検索された文書と類似する文書を前記文書格納手段から取得する
ことを特徴とする請求項１記載の文書管理装置。
【請求項４】
前記文書格納手段は、当該文書格納手段に格納されている文書の各々に記述されている項目および当該項目間の関係が定義されたメタモデルを更に格納し、
前記特定手段は、
前記メタモデルに定義されている項目毎に、当該項目が記述されている前記検索された文書および前記取得された文書の数を重複度として算出する重複度算出手段を含み、
前記算出された重複度に基づいて、前記検索された文書および前記取得された文書において共通して記述されている項目を特定する
ことを特徴とする請求項１記載の文書管理装置。
【請求項５】
ユーザによって作成された文書を入力する入力手段と、
前記入力された文書を前記文書格納手段に登録する登録手段と、
前記入力された文書に記述されている項目のうち、前記文書格納手段に格納されているメタモデルに定義されていない項目を当該メタモデルに追加することによって当該メタモデルを更新する更新手段と
を更に具備することを特徴とする請求項４記載の文書管理装置。
【請求項６】
各種項目が記述された複数の文書を格納する文書格納手段を有する外部記憶装置と、当該外部記憶装置を利用するコンピュータとから構成される文書管理装置において、前記コンピュータによって実行されるプログラムであって、
前記コンピュータに、
ユーザによって指定された検索条件に基づいて、当該検索条件に合致する文書を前記文書格納手段から検索するステップと、
前記検索された文書と類似する文書を、前記文書格納手段から取得するステップと、
前記検索された文書および前記取得された文書において共通して記述されている項目を特定するステップと、
前記特定された項目を前記ユーザに提示するステップと
を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、文書に記述すべき項目を提示する文書管理装置およびプログラムに関する。
【背景技術】
【０００２】
一般的に、ソフトウェアの仕様書または特許等の文書においては、類似する分野であれば当該文書に記述すべき項目が重複（つまり、共通）する場合が多い。具体的には、ソフトウェアの仕様書の場合、従業員情報を管理するＷｅｂアプリケーションと給与明細を管理するＷｅｂアプリケーションでは、共に画面に関する仕様（の項目）を記述する必要がある。特許の文書に関しても同様に、共通する項目を記述する場合が多い。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平０９−３０５３９０号公報
【特許文献２】特開平０８−１４７１５２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、ユーザが上記したような文書を新規に作成する場合、特にこれまで手掛けたことのない分野に関する文書を作成する場合には、当該文書に記載すべき項目がわからないことがある。このような場合には、文書の作成に時間がかかり、更には、当該文書に記述すべき項目の抜けが発生する場合も多い。
【０００５】
そこで、本発明が解決しようとする課題は、ユーザが新規に文書を作成する際に、当該文書に記述すべき項目を提示することが可能な文書管理装置およびプログラムを提供することにある。
【課題を解決するための手段】
【０００６】
実施形態に係る文書管理装置は、文書格納手段と、検索手段と、取得手段と、特定手段と、提示手段とを具備する。
【０００７】
文書格納手段は、各種項目が記述された複数の文書を格納する。
【０００８】
検索手段は、ユーザによって指定された検索条件に基づいて、当該検索条件に一致する文書を前記文書格納手段から検索する。
【０００９】
取得手段は、前記検索された文書と類似する文書を、前記文書格納手段から取得する。
【００１０】
特定手段は、前記検索された文書および前記取得された文書において共通して記述されている項目を特定する。
【００１１】
提示手段は、前記特定された項目を前記ユーザに提示する。
【図面の簡単な説明】
【００１２】
【図１】実施形態に係る文書管理装置のハードウェア構成を示すブロック図。
【図２】図１に示す文書管理装置３０の主として機能構成を示すブロック図。
【図３】図２に示す文書データリポジトリ２２に格納されているメタモデルを概念的に説明するための図。
【図４】ＸＭＬ形式のメタモデルのファイルのデータ構造の一例を示す図。
【図５】図２に示す文書登録部３２の機能構成を示すブロック図。
【図６】図２に示す文書検索部３３の機能構成を示すブロック図。
【図７】図２に示す項目取得部３４の機能構成を示すブロック図。
【図８】本実施形態に係る文書管理装置３０において実行される文書登録処理の処理手順を示すフローチャート。
【図９】入力部３１によって入力される「機能要件」が記述された文書の一例を示す図。
【図１０】入力部３１によって入力される「非機能要件」が記述された文書の一例を示す図。
【図１１】ＸＭＬ形式に変換された文書について具体的に説明するための図。
【図１２】ＸＭＬ形式に変換された文書について具体的に説明するための図。
【図１３】文書データリポジトリ２２に登録されたメタデータのデータ構造の一例を示す図。
【図１４】メタモデル更新処理の処理手順を示すフローチャート。
【図１５】メタモデル更新処理後のメタモデルのファイルのデータ構造の一例を示す図。
【図１６】本実施形態に係る文書管理装置３０において実行される項目提示処理の処理手順を示すフローチャート。
【図１７】図１３に示すメタデータに含まれる各項目がクラスとして定義されたメタモデルを概念的に説明するための図。
【図１８】選択文書Ｄｓのメタデータの一例を示す図。
【図１９】対象文書Ｄｏのメタデータの一例を示す図。
【図２０】ユーザに提示される項目の一例を示す図。
【発明を実施するための形態】
【００１３】
以下、図面を参照して、実施形態について説明する。
【００１４】
図１は、本実施形態に係る文書管理装置のハードウェア構成を示すブロック図である。図１に示すように、コンピュータ１０は、例えばハードディスクドライブ（ＨＤＤ：Hard Disk Drive）のような外部記憶装置２０と接続されている。この外部記憶装置２０は、コンピュータ１０によって実行されるプログラム２１を格納する。コンピュータ１０および外部記憶装置２０は、文書管理装置３０を構成する。
【００１５】
図２は、図１に示す文書管理装置３０の主として機能構成を示すブロック図である。図２に示すように、文書管理装置３０は、入力部３１、文書登録部３２、文書検索部３３、項目取得部３４および出力部３５を含む。本実施形態において、これらの各部３１〜３５は、図１に示すコンピュータ１０が外部記憶装置２０に格納されているプログラム２１を実行することにより実現されるものとする。このプログラム２１は、コンピュータ読み取り可能な記憶媒体に予め格納して頒布可能である。また、このプログラム２１が、例えばネットワークを介してコンピュータ１０にダウンロードされても構わない。
【００１６】
また、文書管理装置３０は、文書データリポジトリ２２を含む。本実施形態において、文書データリポジトリ２２は、例えば外部記憶装置２０に格納される。
【００１７】
文書データリポジトリ２２には、各種項目が記述された複数の文書が格納される。文書データリポジトリ２２に格納されている文書の各々には、単語が含まれる。
【００１８】
また、文書データリポジトリ２２には、当該文書データリポジトリ２２に格納されている文書毎に、当該文書に関する詳細な情報が記述されたメタデータ（以下、文書のメタデータと表記）が格納される。このメタデータは、例えば文書に記述されている項目および当該文書に含まれる単語（を示す情報）を含む。
【００１９】
また、文書データリポジトリ２２には、当該文書データリポジトリ２２に格納されている文書の各々に記述されている項目および当該項目間の関係が定義されたモデル（以下、メタモデルと表記）が格納される。
【００２０】
入力部３１は、例えばユーザ（文書作成者）によって作成された文書を入力する。入力部３１によって入力された文書には、上記したように各種項目が記述されており、単語が含まれる。
【００２１】
また、入力部３１は、文書を作成しようとするユーザによって指定された検索条件（例えば、検索キーワード）を入力する。
【００２２】
文書登録部３２は、入力部３１によって入力された文書に記述されている項目に基づいて、文書データリポジトリ２２に格納されているメタモデルを更新する。文書登録部３２は、入力部３１によって入力された文書を文書データリポジトリ２２に登録する。また、文書登録部３２は、入力部３１によって入力された文書のメタデータを文書データリポジトリ２２に登録する。
【００２３】
文書検索部３３は、入力部３１によって入力された検索条件に基づいて、当該検索条件に合致する文書を文書データリポジトリ２２から検索する。
【００２４】
項目取得部３４は、文書データリポジトリ２２に格納されている各文書のメタデータおよびメタモデルに基づいて、文書検索部３３によって検索された文書と類似する文書（以下、類似文書と表記）を当該文書データリポジトリ２２から取得する。
【００２５】
項目取得部３４は、文書検索部３３によって検索された文書および当該文書と類似する文書において共通して記述されている項目を特定する。
【００２６】
出力部３５は、項目取得部３４によって特定された項目を出力する。これにより、ユーザに対して文書に記述すべき項目が提示される。
【００２７】
ここで、図３を参照して、図２に示す文書データリポジトリ２２に格納されているメタモデルを概念的に説明する。なお、文書データリポジトリ２２には、１つのメタモデルが格納されている。
【００２８】
図３は、ソフトウェアの仕様書（の要件）に関するメタモデルの一例を示す。メタモデルにおいては、上述したように文書データリポジトリ２２に格納されている文書の各々に記述されている項目および当該項目間の関係が定義されている。なお、このメタモデルにおいて、文書の各々に記述されている項目はクラスと称される。
【００２９】
ソフトウェアの仕様書は、メタモデルに定義されているクラスを取捨選択することによって作成することができる。例えば、Ｗｅｂアプリケーションに関する仕様書であれば、「画面」クラス（図示せず）を選択し、当該「画面」に関する仕様を記述する。一方、フレームワークに関する仕様書であれば、「画面」クラスは必要ないため当該「画面」に関する仕様は記述しない。その他、メタモデルにおいて定義されているクラス以外で記述すべき項目があれば追加することができる。
【００３０】
図３に示すメタモデルにおいては、「機能要件」クラスおよび「非機能要件」クラスが定義されている。
【００３１】
「機能要件」クラスの下位のクラス（以下、サブクラスと表記）として、「共通機能」サブクラスおよび「機能」サブクラスが定義されている。「機能」サブクラスの下位のクラス（以下、サブサブクラスと表記）として、「機能ＩＤ」サブサブクラスおよび「機能名」サブサブクラスが定義されている。これによれば、例えば「機能要件」が記述された文書（ソフトウェアの仕様書）では、「共通機能」および「機能」の項目が記述され、当該「機能」の属性として「機能ＩＤ」および「機能名」の項目が記述されることが示されている。
【００３２】
また、「非機能要件」クラスの下位のサブクラスとして、「業務特性」サブクラスおよび「制約事項」サブクラスが定義されている。「制約事項」サブクラスの下位のサブサブクラスとして、「制約事項ＩＤ」サブサブクラスおよび「制約事項名」サブサブクラスが定義されている。これによれば、例えば「非機能要件」が記述された文書（ソフトウェアの仕様書）では、「業務特性」および「制約事項」の項目が記述され、当該「制約事項」の属性として「制約事項ＩＤ」および「制約事項名」の項目が記述されることが示されている。
【００３３】
つまり、文書データリポジトリ２２に格納されているメタモデルでは、当該メタモデルにおける第１階層のノード毎（ここでは、「機能要件」クラスおよび「非機能要件」クラス毎）に１つの文書に記述される項目および当該項目の関係が定義されている。
【００３４】
上記した図３においてはメタモデルを概念的に説明したが、メタモデルは、例えば図４に示すようなＸＭＬ（Extensible Markup Language）形式のファイル（以下、メタモデルのファイルと表記）で文書データリポジトリ２２に格納されている。
【００３５】
なお、図４に示すメタモデルのファイルには、各クラスを定義する「ｃｌａｓｓ」要素、「ｓｕｂｃｌａｓｓ」要素および「ｓｕｂｓｕｂｃｌａｓｓ」要素が含まれる。また、「ｃｌａｓｓ」要素、「ｓｕｂｃｌａｓｓ」要素および「ｓｕｂｓｕｂｃｌａｓｓ」要素は、それぞれ当該要素によって定義されるクラスのクラス名（つまり、項目名）を属性値とする「ｎａｍｅ」属性を有する。
【００３６】
また、図４に示すメタモデルのファイルにおける「ｃｌａｓｓ」要素、「ｓｕｂｃｌａｓｓ」要素および「ｓｕｂｓｕｂｃｌａｓｓ」要素は、当該メタモデルにおいて定義されている各クラスの階層構造を構成する。ここでは、「ｓｕｂｃｌａｓｓ」要素は、「ｃｌａｓｓ」要素に定義されているクラスの下位のサブクラスを定義している。また、「ｓｕｂｓｕｂｃｌａｓｓ」要素は、「ｓｕｂｃｌａｓｓ」要素に定義されているサブクラスの下位のサブサブクラスを定義している。また、メタモデルにおいて定義されている各クラスには、当該クラスを識別するための識別子（ｉｄ）が属性値として付与されている。具体的には、「ｃｌａｓｓ」要素、「ｓｕｂｃｌａｓｓ」要素および「ｓｕｂｓｕｂｃｌａｓｓ」要素は、当該要素によって定義されるクラスを識別するための識別子を属性値とする「ｉｄ」属性を有する。
【００３７】
図５は、図２に示す文書登録部３２の機能構成を示すブロック図である。図５に示すように、文書登録部３２は、文書取得部３２１、メタモデル取得部３２２、メタモデル更新部３２３、メタデータ生成部３２４および登録部３２５を含む。
【００３８】
文書取得部３２１は、入力部３１によって入力された文書を取得する。文書取得部３２１は、取得された文書を例えばＸＭＬ形式に変換する。
【００３９】
メタモデル取得部３２２は、文書データリポジトリ２２からメタモデル（のファイル）を取得する。このメタモデルは、上記したように文書データリポジトリ２２に格納されている文書の各々に記述されている項目および当該項目間の関係が定義されたモデルである。
【００４０】
メタモデル更新部３２３は、文書取得部３２１によってＸＭＬ形式に変換された文書に記述されている項目およびメタモデルに定義されているクラスを比較することにより、当該文書に記述されている項目の中で当該メタモデルに定義されていない項目（クラス）を抽出する。メタモデル更新部３２３は、抽出されたクラスをメタモデルのファイルに追加（追記）することによって、当該メタモデルを更新する。
【００４１】
メタデータ生成部３２４は、文書取得部３２１によってＸＭＬ形式に変換された文書に基づいて、当該文書のメタデータを生成する。この場合、メタデータ生成部３２４は、文書取得部３２１によってＸＭＬ形式に変換された文書に記述された項目、当該項目間の関係、当該文書に含まれる単語および当該文書における当該単語の出現数（を示す情報）を含むメタデータを生成する。
【００４２】
登録部３２５は、文書取得部３２１によってＸＭＬ形式に変換された文書およびメタデータ生成部３２４によって生成されたメタデータを文書データリポジトリ２２に登録する。
【００４３】
図６は、図２に示す文書検索部３３の機能構成を示すブロック図である。図６に示すように、文書検索部３３は、検索条件取得部３３１および検索結果取得部３３２を含む。
【００４４】
検索条件取得部３３１は、入力部３１によって入力された検索条件を取得する。この検索条件は、例えばユーザによって指定された検索キーワードを含む。
【００４５】
検索結果取得部３３２は、検索条件取得部３３１によって取得された検索条件（検索キーワード）に基づいて、当該検索条件に合致する文書を文書データリポジトリ２２から検索する。これにより、検索結果取得部３３２は、検索条件取得部３３１によって取得された検索条件に合致する文書を含む検索結果を取得する。なお、検索結果取得部３３２によって取得された検索結果は、出力部３５を介してユーザに提示される。
【００４６】
図７は、図２に示す項目取得部３４の機能構成を示すブロック図である。図７に示すように、項目取得部３４は、選択文書取得部３４１、メタデータ取得部３４２、類似文書取得部３４３および項目算出部３４４を含む。
【００４７】
選択文書取得部３４１は、ユーザに対して提示された検索結果（に含まれる文書）の中から、当該ユーザによって選択された文書を取得する。
【００４８】
メタデータ取得部３４２は、文書データリポジトリ２２に格納されている全ての文書のメタデータを当該文書データリポジトリ２２から取得する。
【００４９】
類似文書取得部３４３は、メタデータ取得部３４２によって取得されたメタデータに基づいて、選択文書取得部３４１によって取得された文書および文書データリポジトリ２２に格納されている文書の類似度を算出する。類似文書取得部３４３は、算出された類似度に基づいて、選択文書取得部３４１によって取得された文書と類似する文書を取得する。
【００５０】
項目算出部３４４は、文書データリポジトリ２２からメタモデルを取得する。項目算出部３４４は、取得されたメタモデルに定義されているクラス（項目）毎に、選択文書取得部３４１によって取得された文書および類似文書取得部３４３によって取得された文書のうち当該項目が記述されている文書の数を重複度として算出する。項目算出部３４４は、算出された重複度に基づいて、選択文書取得部３４１によって取得された文書および類似文書取得部３４３によって取得された文書において共通して記述されている項目を特定する。なお、項目算出部３４４によって特定された項目は、ユーザが作成しようとしている文書に記述すべき項目として出力部３５を介して当該ユーザに提示される。
【００５１】
以下、本実施形態に係る文書管理装置３０の動作について説明する。本実施形態に係る文書管理装置３０においては、ユーザによって作成された文書を文書データリポジトリ２２に登録する処理（以下、文書登録処理と表記）およびユーザが新規に文書を作成する際に当該文書に記載すべき項目を提示する処理（以下、項目提示処理と表記）が実行される。
【００５２】
ここで、図８のフローチャートを参照して、本実施形態に係る文書管理装置３０において実行される文書登録処理の処理手順について説明する。ここでは、文書データリポジトリ２２には、上述した図４に示すようなメタモデルのファイルが格納されているものとする。
【００５３】
まず、入力部３１は、例えばユーザの操作に応じて、当該ユーザによって作成された文書を入力する（ステップＳ１）。入力部３１によって入力される文書には、各種項目が記述されている。また、入力部３１によって入力される文書には、単語が含まれる。なお、入力部３１によって入力される文書は、複数であってもよい。
【００５４】
入力部３１によって入力される文書は、例えばソフトウェアの仕様書、特許明細書または規程文書等のどのような種類の文書であってもよいが、文書データリポジトリ２２に格納されているメタモデルに基づいた文書であるものとする。
【００５５】
ここで、図９および図１０を参照して、入力部３１によって入力される文書について具体的に説明する。
【００５６】
図９は、ソフトウェア仕様書において「機能要件」が記述された文書の一例を示す。図９に示す例では、「機能要件」が記述された文書には、「共通機能」、「機能」、「業務ロジック」、「例外処理」および「画面」のシートがあり、「機能」のシートには、「機能ＩＤ」、「機能名」、「説明」および「詳細説明」が記述されている。なお、「機能」のシートに記述されている「機能ＩＤ」、「機能名」、「説明」および「詳細説明」は、当該「機能」の属性である。
【００５７】
この図９に示す文書においては、「機能要件」、「共通機能」、「機能」、「業務ロジック」、「例外処理」、「画面」、「機能ＩＤ」、「機能名」、「説明」および「詳細説明」がそれぞれ当該文書に記述された項目である。
【００５８】
一方、図１０は、ソフトウェア仕様書において「非機能要件」が記述された文書の一例を示す。図１０に示す例では、「非機能要件」が記述された文書には、「業務特性」、「制約事項」、「メモリ制約」、「設計制約」および「稼動場所」のシートがあり、「制約事項」のシートには、「制約事項ＩＤ」、「制約事項名」、「説明」および「由来」が記述されている。なお、「制約事項」のシートに記述されている「制約事項ＩＤ」、「制約事項名」、「説明」および「由来」は、当該「制約事項」の属性である。
【００５９】
この図１０に示す文書においては、「非機能要件」、「業務特性」、「制約事項」、「メモリ制約」、「設計制約」、「稼動場所」、「制約事項ＩＤ」、「制約事項名」、「説明」および「由来」がそれぞれ当該文書に記述された項目である。
【００６０】
再び図８に戻ると、文書登録部３２に含まれる文書取得部３２１は、入力部３１によって入力された文書を取得する。なお、文書取得部３２１によって取得された文書は、ＸＭＬ形式に変換される（ステップＳ２）。文書取得部３２１によって取得された文書が複数である場合、当該複数の文書の全てが１つのＸＭＬ形式の文書（ファイル）に変換される。
【００６１】
ここで、図１１および図１２を参照して、ＸＭＬ形式に変換された文書について具体的に説明する。図１１および図１２は、上記した図９および図１０に示す文書がＸＭＬ形式のファイルに変換された例を示す。
【００６２】
図１１および図１２に示す例では、「機能要件」要素の内容（つまり、＜機能要件＞から＜／機能要件＞までの内容）が図９に示す「機能要件」が記述された文書に該当する。なお、「機能要件」要素は、「機能要件」が記述された文書に記述されている各項目を示す要素を含む。また、「機能要件」が記述された文書に記述されている各項目を示す要素の内容は、当該項目に記述されている文書の内容を示す。
【００６３】
同様に、図１１および図１２に示す例では、「非機能要件」要素の内容（＜非機能要件＞から＜／非機能要件＞までの内容）が図１０に示す「非機能要件」が記述された文書に該当する。なお、「非機能要件」要素は、「非機能要件」が記述された文書に記述されている各項目を示す要素を含む。また、「非機能要件」が記述された文書に記述されている各項目を示す要素の内容は、当該項目に記述されている文書の内容を示す。
【００６４】
再び図８に戻ると、メタモデル取得部３２２は、文書データリポジトリ２２からメタモデル（のファイル）を取得する。
【００６５】
メタモデル更新部３２３は、文書取得３２１によって取得された文書（ＸＭＬ形式に変換された文書）およびメタモデル取得部３２２によって取得されたメタモデルに基づいて、メタモデル更新処理を実行する（ステップＳ３）。このメタモデル更新処理によれば、文書取得部３２１によって取得された文書に記述されている項目の中でメタモデルに定義されていない項目が抽出され、当該抽出された項目がクラスとしてメタモデルに追加（追記）されることにより、当該メタモデルが更新される。なお、メタモデル更新処理の詳細については後述する。
【００６６】
次に、メタデータ生成部３２４は、文書取得部３２１によって取得された文書に記述されている各項目の内容（文字列）を形態素解析する。具体的には、ＸＭＬ形式に変換された文書に記述された各項目を示す要素の内容に含まれる文字列が形態素解析される。メタデータ生成部３２４は、形態素解析結果に基づいて、文書取得部３２１によって取得された文書に含まれる単語を取得する。
【００６７】
メタデータ生成部３２４は、文書取得部３２１によって取得された文書および当該文書に含まれる単語に基づいて、当該文書のメタデータを生成する（ステップＳ４）。なお、メタデータ生成部３２４によって生成されるメタデータには、文書取得部３２１によって取得された文書に記述されている項目、当該項目間の関係、文書に含まれる単語および当該単語が当該文書において出現する数（出現数）が含まれる。
【００６８】
登録部３２５は、文書取得部３２１によって取得された文書およびメタデータ生成部３２４によって生成される当該文書のメタデータを、文書データリポジトリ２２に登録（格納）する（ステップＳ５）。なお、登録部３２５は、メタデータを文書データリポジトリ２２に登録する際、当該登録日（を示す情報）を当該メタデータに付加する。つまり、文書データリポジトリ２２に登録される文書のメタデータには、当該文書（およびメタデータ）の登録日が含まれる。
【００６９】
ここで、図１３は、文書データリポジトリ２２に登録されたメタデータのデータ構造の一例を示す。なお、図１３は、例えばｄｏｃ＿００００１によって識別される文書のメタデータである。
【００７０】
図１３に示すメタデータによれば、当該メタデータの登録日は、「ｄａｔｅ」要素において示されている。また、メタデータに含まれる文書に記述された各項目は、「ｍｅｔａｍｏｄｅｌ」要素内に含まれる各要素において示されている。また、メタデータに含まれるＸＭＬ文書に含まれる単語および当該単語の出現数は、「ｗｏｒｄｓ」要素に含まれる「ｗｏｒｄ」要素が有する「ｎａｍｅ」属性および「ｎｕｍ」属性の属性値として示されている。
【００７１】
図１３に示すように、文書データリポジトリ２２に登録されるメタデータは、ＸＭＬ形式で記述される。
【００７２】
次に、図１４のフローチャートを参照して、上述したメタモデル更新処理（図８に示すステップＳ３の処理）の処理手順について説明する。このメタモデル更新処理によれば、文書登録部３２に含まれる文書取得部３２１によって取得された文書に記述されている項目の中でメタモデルに定義されていない項目（クラス）がメタモデルに追加される。なお、このメタモデル更新処理は、文書登録部３２に含まれるメタモデル更新部３２３によって実行される。
【００７３】
メタモデル更新処理においては、まず、文書取得部３２１によって取得された文書（ＸＭＬ形式に変換された文書）における第１階層の要素の各々について以下のステップＳ１１〜Ｓ１５の処理が実行される。
【００７４】
この場合、メタモデル更新部３２３は、文書取得部３２１によって取得された文書（ＸＭＬ形式に変換された文書）における第１階層の要素を１つ取得する（ステップＳ１１）。ここで、文書取得部３２１によって取得された文書における第１階層の要素とは、当該文書におけるルート要素の１階層下位の要素を指す。図１１および図１２に示す文書を参照して具体的に説明すると、当該文書における第１階層の要素には、「機能要件」要素および「非機能要件」要素が該当する。以下、ステップＳ１１において取得された要素を対象要素として説明する。
【００７５】
次に、メタモデル更新部３２３は、文書データリポジトリ２２に格納されているメタモデルのファイルから、対象要素（ステップＳ１１において取得された第１階層の要素）に対応する要素（以下、対応要素と表記）を取得する（ステップＳ１２）。ここで、対応要素とは、ステップＳ１１において取得された要素の階層と同じ階層のメタモデルのファイルにおける要素を指す。メタモデル更新部３２３は、対応要素の「ｎａｍｅ」属性の属性値を取得する。
【００７６】
図４に示すメタモデルのファイルを参照して具体的に説明すると、対象要素が第１階層の要素である場合、対応要素は、メタモデルにおける第１階層の要素である例えば「ｃｌａｓｓ（クラス）」要素である。この場合、メタモデル更新部３２３は、対応要素である「ｃｌａｓｓ」要素の「ｎａｍｅ」属性の属性値「機能要件」を取得する。以下、メタモデルの対応要素の「ｎａｍｅ」属性の属性値を単に対応要素の属性値と称する。
【００７７】
メタモデル更新部３２３は、上記したように取得された対象要素（の要素名）および対応要素の属性値が一致するか否かを判定する（ステップＳ１３）。
【００７８】
対象要素の要素名および対応要素の属性値が一致しないと判定された場合（ステップＳ１３のＮＯ）、メタモデル更新部３２３は、他の対応要素があるか否かを文書データリポジトリ２２に格納されているメタモデル（のファイル）を参照して判定する（ステップＳ１４）。つまり、メタモデル更新部３２３は、ステップＳ１２において取得された対応要素以外に対応要素が存在するか否かを判定する。
【００７９】
他のメタモデルの対応要素があると判定された場合（ステップＳ１４のＹＥＳ）、上記したステップＳ１２に戻って処理が繰り返される。
【００８０】
一方、他のメタモデルの対応要素がないと判定された場合（ステップＳ１４のＮＯ）、メタモデル更新部３２３は、対象要素をクラスとして、文書データリポジトリ２２に格納されているメタモデルのファイルに追加（追記）する（ステップＳ１５）。具体的には、メタモデル更新部３２３は、対象要素の要素名を属性値とする「ｎａｍｅ」属性を有する要素（ここでは、「ｃｌａｓｓ」要素）をメタモデルのファイルに追加する。これにより、文書データリポジトリ２２に格納されているメタモデル（のファイル）が更新される。ここで、文書取得部３２１によって取得された文書において、対象要素より下位の階層に要素が存在する場合には、当該対象要素および当該対象要素より下位の階層の要素の全てがメタモデルのファイルに追加される。
【００８１】
ステップＳ１５の処理が実行されると、文書取得部３２１によって取得された文書における全ての第１階層の要素について上記したステップＳ１１〜Ｓ１５の処理が実行されたか否かが判定される（ステップＳ１６）。
【００８２】
全ての第１階層の要素について処理が実行されていないと判定された場合、上記したステップＳ１１に戻って処理が繰り返される。
【００８３】
一方、全ての第１階層の要素について処理が実行されたと判定された場合、当該第１階層の要素についてのメタモデル更新処理は終了される。
【００８４】
ここでは、文書取得部３２１によって取得された文書（ＸＭＬ形式に変換された文書）における第１階層の要素についてのメタモデル更新処理について説明したが、当該文書における第２階層の要素についても同様にメタモデル更新処理が実行される。
【００８５】
なお、第２階層の要素のうちメタモデル更新処理の対象となる要素は、上記したステップＳ１３において対応要素と一致すると判定された第１階層の要素の下位の要素である。つまり、ステップＳ１３において対応要素と一致しないと判定された第１階層の要素の下位の要素についてはステップＳ１５において既にメタモデルに追加されているため、メタモデル更新処理は実行されない。
【００８６】
この場合、上記したメタモデル更新処理における第１階層の要素を第２階層の要素として処理が実行される。なお、第３階層以降の要素についても同様である。
【００８７】
このようにメタモデル更新処理が実行されることによって、文書取得部３２１によって取得された文書における各階層の要素の各々について、文書データリポジトリ２２に格納されているメタモデルにクラスとして定義されているか否かが判定される。これにより、メタモデルにクラスとして定義されていない要素（および当該要素の下位の階層にある要素）については、当該メタモデルに追加される。
【００８８】
ここで、図１５は、メタモデル更新処理後のメタモデルのファイルのデータ構造の一例を示す。ここでは、図４に示すメタモデルのファイルが更新されたものとして説明する。
【００８９】
図１５に示すメタモデルのファイルにおいては、図４に示すメタモデルのファイルと比較して、「ｎａｍｅ」属性の属性値が「詳細説明」である「ｓｕｂｓｕｂｃｌａｓｓ」要素が追加されている。
【００９０】
これによれば、文書取得部３２１によって取得された文書における「詳細説明」要素（つまり、当該文書に記述されている「詳細説明」の項目）がクラスとしてメタモデル中に定義されておらず、当該「詳細説明」要素がメタモデルに追加されたことが示されている。
【００９１】
次に、図１６のフローチャートを参照して、本実施形態に係る文書管理装置３０において実行される項目提示処理の処理手順について説明する。ここでは、文書データリポジトリ２２には、上記したように複数の文書、当該文書毎のメタデータおよび当該複数の文書の各々に記述された項目および当該項目間の関係が定義された１つのメタモデルが格納されているものとする。なお、文書データリポジトリ２２に格納されている文書、メタデータおよびメタモデルは、上記したようにＸＭＬ形式のファイルである。
【００９２】
まず、入力部３１は、ユーザによって指定された検索キーワードを入力する（ステップＳ２１）。
【００９３】
次に、文書検索部３３に含まれる検索条件取得部３３１は、入力部３１によって入力された検索キーワードを取得する。
【００９４】
文書検索部３３に含まれる検索結果取得部３３２は、検索条件取得部３３１によって取得された検索キーワードを用いて、当該検索キーワードに合致する文書を文書データリポジトリ２２から検索する（ステップＳ２２）。これにより、検索結果取得部３３２は、検索キーワードに合致する文書を含む検索結果を取得する。
【００９５】
検索結果取得部３３２は、取得された検索結果を、出力部３５を介して出力する（ステップＳ２３）。これにより、検索結果（に含まれる文書）は、ユーザに対して提示される。
【００９６】
ここで、ユーザは、提示された検索結果の中から、当該ユーザにとって所望の文書を選択することができる。具体的には、ユーザは、例えば当該ユーザが作成しようとする文書と似ている文書を選択することができる。
【００９７】
文書管理装置３０においては、ユーザによって文書が選択されたか否かが判定される（ステップＳ２４）。
【００９８】
ユーザによって文書が選択されていないと判定された場合（ステップＳ２４のＮＯ）、ステップＳ２１に戻って処理が繰り返される。
【００９９】
一方、ユーザによって文書が選択されたと判定された場合（ステップＳ２４のＹＥＳ）、項目取得部３４に含まれる選択文書取得部３４１は、当該ユーザによって選択された文書（以下、選択文書と表記）を例えば文書データリポジトリ２２から取得する（ステップＳ２５）。
【０１００】
次に、項目取得部３４に含まれるメタデータ取得部３４２は、文書データリポジトリ２２に格納されている全ての文書のメタデータを取得する（ステップＳ２６）。
【０１０１】
項目取得部３４に含まれる類似文書取得部３４３は、メタデータ取得部３４２によって取得されたメタデータに基づいて、選択文書に類似する文書（以下、類似文書と表記）を文書データリポジトリ２２に格納されている文書の中から取得（算出）する（ステップＳ２７）。
【０１０２】
この場合、類似文書取得部３４３は、選択文書と文書データリポジトリ２２に格納されている文書の各々との類似度を算出する。類似文書取得部３４３は、算出された類似度が予め定められた値（閾値）以上の文書を、類似文書（選択文書に類似する文書）として取得する。
【０１０３】
ここで、類似文書取得部３４３による類似度の算出処理について説明する。ここでは、類似文書取得部３４３は、第１および第２の類似度を算出するものとする。以下の説明では、選択文書との類似度が算出される文書を対象文書とする。
【０１０４】
まず、類似文書取得部３４３によって算出される第１の類似度について説明する。第１の類似度は、選択文書のメタデータに含まれる各項目（当該選択文書に記述された項目および当該項目間の関係）がクラスとして定義されたメタモデル（以下、選択文書のメタモデルと表記）および対象文書のメタデータに含まれる各項目（当該対象文書に記述された項目および当該項目間の関係）がクラスとして定義されたメタモデル（以下、対象文書のメタモデルと表記）を用いて算出される。
【０１０５】
ここで、図１７を参照して、文書（選択文書および対象文書）のメタモデルについて具体的に説明する。この文書のメタモデルは、当該文書のメタデータに基づいて生成される。また、文書のメタモデルは、文書データリポジトリ２２に格納されている文書毎に生成される。
【０１０６】
図１７に示す例では、文書のメタモデルには、当該文書のメタデータの「ｍｅｔａｍｏｄｅｌ」要素および当該「ｍｅｔａｍｏｄｅｌ」要素内に含まれる各要素（によって示される項目）がクラスとして含まれる。
【０１０７】
具体的には、文書のメタモデルには、当該文書のメタデータの「ｃｌａｓｓ」要素（「ｍｅｔａｍｏｄｅｌ」要素の１階層下位の要素）、「ｓｕｂｃｌａｓｓ」要素（「ｃｌａｓｓ」要素の１階層下位の要素）および「ｓｕｂｓｕｂｃｌａｓｓ」要素（「ｓｕｂｃｌａｓｓ」要素の１階層下位の要素）がクラスとして含まれる。
【０１０８】
第１の類似度の算出においては、選択文書のメタモデルを木構造とした場合における第１階層以下の要素（クラス）からなる部分木単位での対象文書との比較が行われる。図１７に示す例においては、破線１００ａおよび１００ｂで囲まれた部分が対象文書との比較の対象となる部分木である。
【０１０９】
ここで、選択文書のメタモデルをＭｓ、対象文書のメタモデルをＭｏとする。ＭｓとＭｏとの類似度（つまり、第１の類似度）をｓｉｍ＿ｍｅｔａｍｏｄｅｌ（Ｍｓ，Ｍｏ）とすると、ｓｉｍ＿ｍｅｔａｍｏｄｅｌ（Ｍｓ，Ｍｏ）は以下の式（１）で表される。
【０１１０】
【数１】
2013077174.tif 000003
【０１１１】
式（１）のＭｓｉは、Ｍｓの各部分木を表す。また、ｃｌａｓｓ（Ｍｓｉ）は、Ｍｓの部分木（つまり、Ｍｓｉ）に含まれるクラス数を表す。また、ｍａｔｃｈ（Ｍｏ）は、Ｍｓｉに含まれるクラスと一致するＭｏに含まれるクラス数を表す。
【０１１２】
次に、類似文書取得部３４３によって算出される第２の類似度について説明する。第２の類似度は、選択文書および対象文書のメタデータに含まれる単語（当該文書に含まれる単語）および当該単語の出現数を用いて算出される。
【０１１３】
ここでは、選択文書および対象文書に含まれる単語のｔｆ／ｉｄｆ値が算出される。ここで、文書ｄにおける単語ｔの出現数（頻度）をｔｆ（ｔ，ｄ）とする。なお、単語ｔは、文書ｄのメタデータに含まれる「ｗｏｒｄ」要素において定義されている。また、ｔｆ（ｔ，ｄ）は、文書ｄのメタデータに含まれる「ｗｏｒｄ」要素の「ｎｕｍ」属性の属性値である。
【０１１４】
文書データリポジトリ２２に格納されている文書の数をＮ、単語ｔが１回以上出現する文書の数をｄｆ（ｔ）とすると、ｉｄｆ（ｔ）は以下の式（２）で表される。
【０１１５】
【数２】
2013077174.tif 000004
【０１１６】
また、単語ｔの文書ｄにおける重みｗ（ｔ，ｄ）は以下の式（３）で表される。
【０１１７】
【数３】
2013077174.tif 000005
【０１１８】
更に、選択文書をＤｓとし、当該選択文書Ｄｓに含まれる各単語のｔｆ／ｉｄｆ値をｗ1、ｗ2、…、ｗpとすると、選択文書Ｄｓのベクトルは以下の式（４）で表される。
【０１１９】
【数４】
2013077174.tif 000006
【０１２０】
また、対象文書をＤｏとし、当該対象文書Ｄｏに含まれる各単語のｔｆ／ｉｄｆ値をｗ1、ｗ2、…、ｗpとすると、対象文書Ｄｏのベクトルは以下の式（５）で表される。
【０１２１】
【数５】
2013077174.tif 000007
【０１２２】
なお、対象文書Ｄｏのベクトルには、選択文書Ｄｓのベクトルに含まれるｔｆ／ｉｄｆ値に対応する各単語のｔｆ／ｉｄｆ値が含まれる。つまり、対象文書Ｄｏに選択文書Ｄｓに含まれる単語が含まれていない場合、対象文書Ｄｏに含まれる当該単語のｔｆ／ｉｄｆ値は０となる。
【０１２３】
選択文書Ｄｓおよび対象文書Ｄｏに含まれる単語および当該単語の出現数を用いた類似度（つまり、第２の類似度）をｓｉｍ＿ｗｏｒｄｓ（Ｄｓ，Ｄｏ）とすると、ｓｉｍ＿ｗｏｒｄｓ（Ｄｓ，Ｄｏ）は以下の式（６）で表される。
【０１２４】
【数６】
2013077174.tif 000008
【０１２５】
上記したように第１および第２の類似度が算出された場合、類似文書取得部３４３は、選択文書と対象文書との類似度を算出する。選択文書Ｄｓと対象文書Ｄｏとの類似度をｓｉｍ(Ｄｓ，Ｄｏ)とすると、ｓｉｍ(Ｄｓ，Ｄｏ）は以下の式（７）で表される。
【０１２６】
【数７】
2013077174.tif 000009
【０１２７】
類似文書取得部３４３は、式（７）によって算出された選択文書Ｄｓおよび対象文書Ｄｏとの類似度が閾値以上である場合、当該対象文書Ｄｏを選択文書Ｄｓに類似する文書、つまり、類似文書として取得する。
【０１２８】
以下、選択文書Ｄｓと対象文書Ｄｏとの類似度（つまり、ｓｉｍ(Ｄｓ，Ｄｏ)）の算出処理について具体的に説明する。ここでは、図１８に示すメタデータが選択文書Ｄｓのメタデータであるものとする。また、図１９に示すメタデータが対象文書Ｄｏのメタデータであるものとする。
【０１２９】
まず、選択文書Ｄｓおよび対象文書Ｄｏのメタモデルを用いて算出される第１の類似度について具体的に説明する。ここでは、選択文書ＤｓのメタモデルをＭｓ、対象文書ＤｏのメタモデルをＭｏとする。
【０１３０】
ここで、図１８に示す選択文書Ｄｓのメタデータによれば、選択文書ＤｓのメタモデルＭｓは、「ｉｄ」属性の属性値が「ｍｅｔａ＿００１」である「ｃｌａｓｓ」要素をルート要素とする部分木（以下、部分木Ｍｓ１と表記）と「ｉｄ」属性の属性値が「ｍｅｔａ＿００２」である「ｃｌａｓｓ」要素をルート要素とする部分木（以下、部分木Ｍｓ２と表記）とを含む。
【０１３１】
部分木Ｍｓ１には、選択文書Ｄｓのメタデータに含まれる「ｉｄ」属性の属性値が「ｍｅｔａ＿００１」である「ｃｌａｓｓ」要素、当該「ｃｌａｓｓ」要素の下位にある「ｓｕｂｃｌａｓｓ」要素および「ｓｕｂｓｕｂｃｌａｓｓ」要素（によって示される項目）がクラスとして含まれる。具体的には、図１８に示す選択文書Ｄｓのメタデータによれば、部分木Ｍｓ１には、「ｉｄ」属性の属性値が「ｍｅｔａ＿００１」である「ｃｌａｓｓ」要素、「ｉｄ」属性の属性値が「ｍｅｔａ＿００１＿００１」である「ｓｕｂｃｌａｓｓ」要素、「ｉｄ」属性の属性値が「ｍｅｔａ＿００１＿０００１＿０００１」である「ｓｕｂｓｕｂｃｌａｓｓ」要素、「ｉｄ」属性の属性値が「ｍｅｔａ＿００１＿０００１＿０００２」である「ｓｕｂｓｕｂｃｌａｓｓ」要素、「ｉｄ」属性の属性値が「ｍｅｔａ＿００１＿０００１＿０００３」である「ｓｕｂｓｕｂｃｌａｓｓ」要素および「ｉｄ」属性の属性値が「ｍｅｔａ＿００１＿０００１＿０００７」である「ｓｕｂｓｕｂｃｌａｓｓ」要素が含まれる。したがって、部分木Ｍｓ１に含まれるクラス（要素）数を表すｃｌａｓｓ（Ｍｓ１）は６となる。
【０１３２】
また、図１９に示す対象文書Ｄｏのメタデータによれば、対象文書ＤｏのメタモデルＭｏには、「ｉｄ」属性の属性値が「ｍｅｔａ＿００１」である「ｃｌａｓｓ」要素、「ｉｄ」属性の属性値が「ｍｅｔａ＿００１＿０００１」である「ｓｕｂｃｌａｓｓ」要素、「ｉｄ」属性の属性値が「ｍｅｔａ＿００１＿０００１＿０００１」である「ｓｕｂｓｕｂｃｌａｓｓ」要素、「ｉｄ」属性の属性値が「ｍｅｔａ＿００１＿０００１＿０００２」である「ｓｕｂｓｕｂｃｌａｓｓ」要素、「ｉｄ」属性の属性値が「ｍｅｔａ＿００１＿０００１＿０００４」である「ｓｕｂｓｕｂｃｌａｓｓ」要素、「ｉｄ」属性の属性値が「ｍｅｔａ＿００１＿０００１＿０００９」である「ｓｕｂｓｕｂｃｌａｓｓ」要素、「ｉｄ」属性の属性値が「ｍｅｔａ＿００２」である「ｃｌａｓｓ」要素、「ｉｄ」属性の属性値が「ｍｅｔａ＿００２＿０００１」である「ｓｕｂｃｌａｓｓ」要素、「ｉｄ」属性の属性値が「ｍｅｔａ＿００２＿０００１＿０００１」である「ｓｕｂｓｕｂｃｌａｓｓ」要素、「ｉｄ」属性の属性値が「ｍｅｔａ＿００２＿０００１＿０００２」である「ｓｕｂｓｕｂｃｌａｓｓ」要素および「ｉｄ」属性の属性値が「ｍｅｔａ＿００２＿０００１＿０００５」である「ｓｕｂｓｕｂｃｌａｓｓ」要素（によって示される項目）がクラスとして含まれる。
【０１３３】
この場合、対象文書ＤｏのメタモデルＭｏに含まれるクラスと一致する部分木Ｍｓ１に含まれるクラス（項目）は、「ｉｄ」属性の属性値が「ｍｅｔａ＿００１」である「ｃｌａｓｓ」要素、「ｉｄ」属性の属性値が「ｍｅｔａ＿００１＿０００１」である「ｓｕｂｃｌａｓｓ」要素、「ｉｄ」属性の属性値が「ｍｅｔａ＿００１＿０００１＿０００１」である「ｓｕｂｓｕｂｃｌａｓｓ」要素および「ｉｄ」属性の属性値が「ｍｅｔａ＿００１＿０００１＿０００２」である「ｓｕｂｓｕｂｃｌａｓｓ」要素である。したがって、対象文書ＤｏのメタモデルＭｏに含まれるクラスと一致する部分木Ｍｓ１に含まれるクラス数を表すｍａｔｃｈ（Ｍｏ）は４となる。
【０１３４】
一方、部分木Ｍｓ２には、選択文書Ｄｓのメタデータに含まれる「ｉｄ」属性の属性値が「ｍｅｔａ＿００２」である「ｃｌａｓｓ」要素、当該「ｃｌａｓｓ」要素の下位にある「ｓｕｂｃｌａｓｓ」要素および「ｓｕｂｓｕｂｃｌａｓｓ」要素がクラスとして含まれる。具体的には、図１８に示す選択文書Ｄｓのメタデータによれば、部分木Ｍｓ２には、「ｉｄ」属性の属性値が「ｍｅｔａ＿００２」である「ｃｌａｓｓ」要素、「ｉｄ」属性の属性値が「ｍｅｔａ＿００２＿０００１」である「ｓｕｂｃｌａｓｓ」要素、「ｉｄ」属性の属性値が「ｍｅｔａ＿００２＿０００１＿０００１」である「ｓｕｂｓｕｂｃｌａｓｓ」要素、「ｉｄ」属性の属性値が「ｍｅｔａ＿００２＿０００１＿０００２」である「ｓｕｂｓｕｂｃｌａｓｓ」要素および「ｉｄ」属性の属性値が「ｍｅｔａ＿００２＿０００１＿０００３」である「ｓｕｂｓｕｂｃｌａｓｓ」要素が含まれる。したがって、部分木Ｍｓ２に含まれるクラス数を表すｃｌａｓｓ（Ｍｓ２）は５となる。
【０１３５】
この場合、上記した対象文書ＤｏのメタモデルＭｏに含まれるクラスと一致する部分木Ｍｓ２に含まれるクラス（項目）は、「ｉｄ」属性の属性値が「ｍｅｔａ＿００２」である「ｃｌａｓｓ」要素、「ｉｄ」属性の属性値が「ｍｅｔａ＿００２＿０００１」である「ｓｕｂｃｌａｓｓ」要素、「ｉｄ」属性の属性値が「ｍｅｔａ＿００２＿０００１＿０００１」である「ｓｕｂｓｕｂｃｌａｓｓ」要素および「ｉｄ」属性の属性値が「ｍｅｔａ＿００２＿０００１＿０００２」である「ｓｕｂｓｕｂｃｌａｓｓ」要素である。したがって、対象文書ＤｏのメタモデルＭｏに含まれるクラスと一致する部分木Ｍｓ２に含まれるクラス数を表すｍａｔｃｈ（Ｍｏ）は４となる。
【０１３６】
以上の値を用いると、選択文書ＤｓのメタモデルＭｓと対象文書ＤｏのメタモデルＭｏとの類似度（第１の類似度）ｓｉｍ＿ｍｅｔａｍｏｄｅｌ（Ｍｓ，Ｍｏ）は、４／６＋４／５＝１．３と算出される。
【０１３７】
次に、選択文書Ｄｓおよび対象文書Ｄｏのメタデータに含まれる単語および当該単語の出現数を用いて算出される第２の類似度について具体的に説明する。ここでは、文書データリポジトリ２２に格納されている文書の数Ｎを１０とする。
【０１３８】
図１８に示す選択文書Ｄｓのメタデータによれば、選択文書Ｄｓには、単語「顧客」、「情報」、「管理」および「検索」が含まれている。なお、選択文書Ｄｓに含まれる単語「顧客」の数（つまり、出現数）は１０である。選択文書Dsに含まれる単語「情報」の数は２０である。選択文書Dsに含まれる単語「管理」の数は５である。また、選択文書Dsに含まれる単語「検索」の数は５である。
【０１３９】
この選択文書Ｄｓに含まれる単語は、当該選択文書Ｄｓのメタデータの「ｗｏｒｄ」要素が有する「ｎａｍｅ」属性の属性値から得ることができる。また、選択文書Ｄｓに含まれる単語の出現数は、当該選択文書Ｄｓのメタデータの「ｗｏｒｄ」要素が有する「ｎｕｍ」属性の属性値から得ることができる。
【０１４０】
ここで、文書データリポジトリ２２に格納されている文書の中で、選択文書Ｄｓに含まれる単語「顧客」が１回以上出現する文書の数（つまり、ｄｆ（顧客））は３であるものとする。この場合、選択文書Ｄｓに含まれる単語「顧客」のｔｆ／ｉｄｆ値（つまり、ｗ（顧客、選択文書Ｄｓ）)は、１０＊ｌｏｇ（１０／３）＝５．２となる。
【０１４１】
また、文書データリポジトリ２２に格納されている文書の中で、選択文書Ｄｓに含まれる単語「情報」が１回以上出現する文書の数（つまり、ｄｆ（情報））は５であるものとする。この場合、選択文書Ｄｓに含まれる単語「情報」のｔｆ／ｉｄｆ値（つまり、ｗ（情報、選択文書Ｄｓ）)は、２０＊ｌｏｇ（１０／５）＝６となる。
【０１４２】
また、文書データリポジトリ２２に格納されている文書の中で、選択文書Ｄｓに含まれる単語「管理」が１回以上出現する文書の数（つまり、ｄｆ（管理））は１であるものとする。この場合、選択文書Ｄｓに含まれる単語「管理」のｔｆ／ｉｄｆ値（つまり、ｗ（管理、選択文書Ｄｓ）)は、５＊ｌｏｇ（１０／１）＝５となる。
【０１４３】
また、文書データリポジトリ２２に格納されている文書の中で、選択文書Ｄｓに含まれる単語「検索」が１回以上出現する文書の数（つまり、ｄｆ（検索））は３であるものとする。この場合、選択文書Ｄｓに含まれる単語「検索」のｔｆ／ｉｄｆ値（つまり、ｗ（検索、選択文書Ｄｓ）)は、５＊ｌｏｇ（１０／３）＝２．６となる。
【０１４４】
これによれば、選択文書Ｄｓのベクトルは、以下の式（８）のようになる。
【０１４５】
【数８】
2013077174.tif 000010
【０１４６】
一方、図１９に示す対象文書Ｄｏのメタデータによれば、対象文書Ｄｏには、単語「従業員」、「情報」、「検索」および「登録」が含まれている。なお、対象文書Ｄｏに含まれる単語「従業員」の数（つまり、出現数）は１０である。対象文書Ｄｏに含まれる単語「情報」の数は１９である。対象文書Ｄｏに含まれる単語「検索」の数は６である。また、対象文書Ｄｏに含まれる単語「登録」の数は６である。
【０１４７】
この対象文書Ｄｏに含まれる単語は、当該対象文書Ｄｏのメタデータの「ｗｏｒｄ」要素が有する「ｎａｍｅ」属性の属性値から得ることができる。また、対象文書Ｄｏに含まれる単語の出現数は、当該対象文書Ｄｏのメタデータの「ｗｏｒｄ」要素が有する「ｎｕｍ」属性の属性値から得ることができる。
【０１４８】
ここで、文書データリポジトリ２２に格納されている文書の中で、対象文書Ｄｏに含まれる単語「従業員」が１回以上出現する文書の数（つまり、ｄｆ（従業員））は１であるものとする。この場合、対象文書Ｄｏに含まれる単語「従業員」のｔｆ／ｉｄｆ値（つまり、ｗ（従業員、対象文書Ｄｏ）)は、１０＊ｌｏｇ（１０／１）＝１０となる。
【０１４９】
また、文書データリポジトリ２２に格納されている文書の中で、対象文書Ｄｏに含まれる単語「情報」が１回以上出現する文書の数（つまり、ｄｆ（情報））は５であるものとする。この場合、対象文書Ｄｏに含まれる単語「情報」のｔｆ／ｉｄｆ値（つまり、ｗ（情報、対象文書Ｄｏ）)は、１９＊ｌｏｇ（１０／５）＝５．７となる。
【０１５０】
また、文書データリポジトリ２２に格納されている文書の中で、対象文書Ｄｏに含まれる単語「検索」が１回以上出現する文書の数（つまり、ｄｆ（検索））は３であるものとする。この場合、対象文書Ｄｏに含まれる単語「検索」のｔｆ／ｉｄｆ値（つまり、ｗ（検索、対象文書Ｄｏ）)は、６＊ｌｏｇ（１０／３）＝３．１となる。
【０１５１】
また、文書データリポジトリ２２に格納されている文書の中で、対象文書Ｄｏに含まれる単語「登録」が１回以上出現する文書の数（つまり、ｄｆ（登録））は３であるものとする。この場合、対象文書Ｄｏに含まれる単語「登録」のｔｆ／ｉｄｆ値（つまり、ｗ（登録、対象文書Ｄｏ）)は、６＊ｌｏｇ（１０／３）＝３．１となる。
【０１５２】
ここで、上述したように対象文書Ｄｏのベクトルには、選択文書Ｄｓのベクトルに含まれるｔｆ／ｉｄｆ値に対応する各単語のｔｆ／ｉｄｆ値が含まれる。これによれば、対象文書Ｄｏのベクトルは、以下の式（９）のようになる。
【０１５３】
【数９】
2013077174.tif 000011
【０１５４】
上記した式（８）に示す選択文書Ｄｓのベクトルおよび式（９）に示す対象文書Ｄｏのベクトルを用いると、選択文書Ｄｓおよび対象文書Ｄｏに含まれる単語および当該単語の出現数を用いた類似度（第２の類似度）ｓｉｍ＿ｗｏｒｄｓ（Ｄｓ，Ｄｏ）は、以下の式（１０）のように算出することができる。
【０１５５】
【数１０】
2013077174.tif 000012
【０１５６】
上記したｓｉｍ＿ｍｅｔａｍｏｄｅｌ（Ｍｓ，Ｍｏ）およびｓｉｍ＿ｗｏｒｄｓ（Ｄｓ，Ｄｏ）を用いると、選択文書Ｄｓと対象文書Ｄｏとの類似度ｓｉｍ（Ｄｓ，Ｄｏ）は、ｓｉｍ＿ｍｅｔａｍｏｄｅｌ（Ｍｓ，Ｍｏ）＋ｓｉｍ＿ｗｏｒｄｓ（Ｄｓ，Ｄｏ）＝１．３＋０．６７＝１．９７となる。類似文書を取得するための閾値が例えば１．５であるものとすると、対象文書Ｄｏは、選択文書Ｄｓに類似する文書として取得される。
【０１５７】
ここでは、選択文書Ｄｓと対象文書Ｄｏとの類似度について説明したが、選択文書Ｄｓとの類似度は、文書データリポジトリ２２に格納されている文書の全てについて算出される。
【０１５８】
再び図１６に戻ると、項目取得部３４に含まれる項目算出部３４４は、選択文書と類似文書とを用いて、文書データリポジトリ２２に格納されているメタモデルに定義されている項目（クラス）毎に重複度を算出する（ステップＳ２８）。重複度は、メタモデルにおいて定義されている項目が出現する選択文書および類似文書の数（つまり、重複している数）を示す。
【０１５９】
ここで、項目算出部３４４によって算出される重複度について説明する。ここでは、選択文書が文書Ａであり、類似文書が文書Ｂ〜Ｅであるものとする。
【０１６０】
この場合、項目算出部３４４は、メタモデルに定義されている項目（クラス）が文書Ａ〜Ｅの各々に含まれているか否かを判定する。具体的には、項目算出部３４４は、メタモデルに定義されている「ｃｌａｓｓ」要素、「ｓｕｂｃｌａｓｓ」要素および「ｓｕｂｓｕｂｃｌａｓｓ」要素等が文書Ａ〜Ｅのメタデータに含まれているか否かを判定する。この判定処理は、メタモデルに定義されている「ｃｌａｓｓ」要素、「ｓｕｂｃｌａｓｓ」要素および「ｓｕｂｓｕｂｃｌａｓｓ」要素が有する「ｉｄ」属性の属性値と文書Ａ〜Ｅのメタデータに含まれる「ｃｌａｓｓ」要素、「ｓｕｃｌａｓｓ」要素および「ｓｕｂｓｕｂｃｌａｓｓ」要素が有する「ｉｄ」属性の属性値とを比較することによって行われる。
【０１６１】
なお、メタモデルに定義されているある項目が文書Ａ〜Ｅの全てに含まれている場合には、当該項目の重複度は５となる。一方、メタモデルに定義されているある項目が文書Ａ〜Ｅの全てに含まれていない場合には、当該項目の重複度は０となる。
【０１６２】
次に、項目算出部３４４は、算出された重複度が予め定められた値（閾値）以上である項目（クラス）を特定する。
【０１６３】
項目算出部３４４は、特定された項目を出力部３５を介して出力する（ステップＳ２９）。これにより、項目算出部３４４によって特定された項目（つまり、重複度が閾値以上である項目）が文書に記述すべき項目としてユーザに提示される。
【０１６４】
ここで、図２０は、ユーザに提示される項目の一例を示す。図２０に示す例では、ユーザに提示される項目には、「ｉｄ」属性の属性値が「ｍｅｔａ＿００１」である「ｃｌａｓｓ」要素、「ｉｄ」属性の属性値が「ｍｅｔａ＿００１＿０００１」である「ｓｕｂｃｌａｓｓ」要素、「ｉｄ」属性の属性値が「ｍｅｔａ＿００１＿０００１＿０００１」である「ｓｕｂｓｕｂｃｌａｓｓ」要素、「ｉｄ」属性の属性値が「ｍｅｔａ＿００１＿０００１＿０００２」である「ｓｕｂｓｕｂｃｌａｓｓ」要素、「ｉｄ」属性の属性値が「ｍｅｔａ＿００２」である「ｃｌａｓｓ」要素、「ｉｄ」属性の属性値が「ｍｅｔａ＿００２＿０００１」である「ｓｕｂｃｌａｓｓ」要素、「ｉｄ」属性の属性値が「ｍｅｔａ＿００２＿０００１＿０００１」である「ｓｕｂｓｕｂｃｌａｓｓ」要素および「ｉｄ」属性の属性値が「ｍｅｔａ＿００２＿０００１＿０００２」である「ｓｕｂｓｕｂｃｌａｓｓ」要素が含まれている。
【０１６５】
なお、文書に記述すべき項目は図２０に示すような形式でユーザに提示されてもよいが、よりユーザが容易に記述すべき項目を認識できるように、文書データリポジトリ２２に格納されているメタモデルを参照することによって例えば当該項目の項目名（メタモデルに含まれる「ｃｌａｓｓ」要素、「ｓｕｂｃｌａｓｓ」要素および「ｓｕｂｓｕｂｃｌａｓｓ」要素が有する「ｎａｍｅ」属性の属性値）が提示される方が好ましい。
【０１６６】
上記したように本実施形態においては、ユーザによって指定された検索条件（検索キーワード）に基づいて当該検索条件に合致する文書を文書データリポジトリ２２から検索し、当該検索された文書と類似する文書を文書データリポジトリ２２から取得し、当該検索された文書および取得された文書において共通して記述されている項目を特定し、当該特定された項目をユーザに提示する構成により、ユーザが新規に文書を作成する際に、当該文書に記述すべき項目を提示することが可能となる。つまり、本実施形態においては、ユーザがこれから作成しようとする文書に記述すべき項目を提示することにより、当該ユーザが新規に文書を作成する際の工数削減を図り、また、当該文書に必要な項目を落とすことを防止することが可能となる。
【０１６７】
また、本実施形態においては、ユーザによって作成された文書を入力し、当該入力された文書を文書データリポジトリ２２に登録し、当該入力された文書に記述されている項目のうち文書データリポジトリ２２に格納されているメタモデルに定義されていない項目を当該メタモデルに追加することによって当該メタモデルを更新する構成により、ユーザによって文書が作成された際に、当該文書に記述されている項目に応じて自動的にメタモデルを更新することが可能となる。
【０１６８】
なお、本実施形態においては、第１および第２の類似度に基づいて選択文書に類似する文書（類似文書）を取得するものとして説明したが、例えば第１および第２の類似度のいずれか一方のみに基づいて類似文書が取得される構成であっても構わない。また、上述した第１および第２の類似度の算出方法は一例であり、他の方法で算出された類似度に基づいて類似文書が取得されるような構成であってもよい。
【０１６９】
また、本願発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。  
【符号の説明】
【０１７０】
１０…コンピュータ、２０…外部記憶装置、２２…文書データリポジトリ（文書格納手段）、３０…文書管理装置、３１…入力部、３２…文書登録部、３３…文書検索部、３４…項目取得部、３５…出力部。
【図１】
2013077174.tif 000013
【図２】
2013077174.tif 000014
【図３】
2013077174.tif 000015
【図４】
2013077174.tif 000016
【図５】
2013077174.tif 000017
【図６】
2013077174.tif 000018
【図７】
2013077174.tif 000019
【図８】
2013077174.tif 000020
【図９】
2013077174.tif 000021
【図１０】
2013077174.tif 000022
【図１１】
2013077174.tif 000023
【図１２】
2013077174.tif 000024
【図１３】
2013077174.tif 000025
【図１４】
2013077174.tif 000026
【図１５】
2013077174.tif 000027
【図１６】
2013077174.tif 000028
【図１７】
2013077174.tif 000029
【図１８】
2013077174.tif 000030
【図１９】
2013077174.tif 000031
【図２０】
2013077174.tif 000032