(57)【要約】【課題】過不足なく文書を作成するための支援を行う。【解決手段】部品暫定作成手段１２は、入力された文書２０を暫定的に部品化し、登録済部品と照合して文書２０に含まれる部品を特定する。重なり度算出手段１３は、文書修正履歴３０に基づき、修正の開始から終了までの時間における各部品の修正の傾向を修正曲線として得る。そして、部品間の修正曲線の重なり量に応じた重なり度を算出する。結合部品選別手段１４は、結合部品の結合ルールに基づいて重なり度を評価し、基準を満たす部品の組み合わせを結合部品として選別する。【選択図】図１
2010262502.tif 000002
【特許請求の範囲】
【請求項１】
文書の一部を部品として抽出して管理し、文書作成時の支援を行うコンピュータを機能させる文書作成支援プログラムにおいて、
前記コンピュータを、
文書及び修正履歴情報データベースから文書及び前記文書の修正に関する文書修正履歴を取得し、前記文書を暫定的に分割した暫定部品を特徴付ける部品要素を抽出し、記憶手段に格納される登録部品情報に登録済みの登録済部品から抽出した部品要素と、前記暫定部品を特徴付ける部品要素とを照合して、所定の前記部品要素が一致する前記登録済部品が検出されたときは該登録済部品、検出されないときは新規部品、として前記文書に含まれる部品を特定する部品暫定作成手段、
前記文書に含まれる部品ごとに、前記文書修正履歴に基づいて一定時間間隔ごとの該部品に対する修正量を時間軸に沿って並べたヒストグラムをスムージング処理して前記部品ごとの修正傾向を表す修正曲線を算出し、前記修正曲線が表す前記修正の傾向が重なる重なり量に応じた部品間の重なり度を算出する重なり度算出手段、
関係の強い部品群を結合する結合ルールを用いて前記部品間の重なり度及び前記部品要素を評価し、前記結合ルールに基づいて結合部品と評価される部品群を選別し、前記部品群を前記結合部品として前記登録部品情報に登録する結合部品選別手段、
として機能させることを特徴とする文書作成支援プログラム。
【請求項２】
前記重なり度算出手段は、前記部品ごとの前記修正曲線が重なる重なり区間における前記修正曲線の最小値を積分して前記修正曲線が重なる重なり量を算出し、前記重なり量が全体の修正量に占める割合に応じて前記部品間の重なり度を算出する、ことを特徴とする請求項１記載の文書作成支援プログラム。
【請求項３】
結合部品選別手段は、前記結合部品に新たな部品識別子を付与し、セットで使用される新たな部品として前記登録部品情報に登録する、ことを特徴とする請求項１または２記載の文書作成支援プログラム。
【請求項４】
文書の一部を部品として抽出して管理し、文書作成時の支援を行う文書作成支援方法において、
コンピュータが、
文書及び修正履歴情報データベースから文書及び前記文書の修正に関する文書修正履歴を取得し、前記文書を暫定的に分割した暫定部品を特徴付ける部品要素を抽出し、記憶手段に格納される登録部品情報に登録済みの登録済部品から抽出した部品要素と、前記暫定部品を特徴付ける部品要素とを照合して、所定の前記部品要素が一致する前記登録済部品が検出されたときは該登録済部品、検出されないときは新規部品、として前記文書に含まれる部品を特定する部品暫定作成手順と、
前記文書に含まれる部品ごとに、前記文書修正履歴に基づいて一定時間間隔ごとの該部品に対する修正量を時間軸に沿って並べたヒストグラムをスムージング処理して前記部品ごとの修正傾向を表す修正曲線を算出し、前記修正曲線が表す前記修正の傾向が重なる重なり量に応じた重なり度を算出する重なり度算出手順と、
関係の強い部品群を結合する結合ルールを用いて前記部品間の重なり度及び前記部品要素を評価し、前記結合ルールに基づいて結合部品と評価される部品群を選別し、前記部品群を前記結合部品として前記登録部品情報に登録する結合部品選別手順と、
を実行することを特徴とする文書作成支援方法。
【請求項５】
文書の一部を部品として抽出して管理し、文書作成時の支援を行う文書作成支援装置において、
文書及び修正履歴情報データベースから文書及び前記文書の修正に関する文書修正履歴を取得し、前記文書を暫定的に分割した暫定部品を特徴付ける部品要素を抽出し、記憶手段に格納される登録部品情報に登録済みの登録済部品から抽出した部品要素と、前記暫定部品を特徴付ける部品要素とを照合して、所定の前記部品要素が一致する前記登録済部品が検出されたときは該登録済部品、検出されないときは新規部品、として前記文書に含まれる部品を特定する部品暫定作成手段と、
前記文書に含まれる部品ごとに、前記文書修正履歴に基づいて一定時間間隔ごとの該部品に対する修正量を時間軸に沿って並べたヒストグラムをスムージング処理して前記部品ごとの修正傾向を表す修正曲線を算出し、前記修正曲線が表す前記修正の傾向が重なる重なり量に応じた部品間の重なり度を算出する重なり度算出手段と、
関係の強い部品群を結合する結合ルールを用いて前記部品間の重なり度及び前記部品要素を評価し、前記結合ルールに基づいて結合部品と評価される部品群を選別し、前記部品群を前記結合部品として前記登録部品情報に登録する結合部品選別手段と、
を有することを特徴とする文書作成支援装置。
【発明の詳細な説明】
【技術分野】
【０００１】
文書の一部を部品として抽出して管理し、文書作成時の支援を行うコンピュータを機能させる文書作成支援プログラム、その文書作成支援方法及び文書作成支援装置に関する。
【背景技術】
【０００２】
従来、コンピュータによって作成された文書は記憶手段に蓄積されており、新たな文書を作成する際には、蓄積された文書が再利用されていた。しかし、再利用は個人個人の判断で行われていたため、文書作成の効率化といった点で問題があった。
【０００３】
マニュアルなど類似形式の文書が大量に作成される文書は、過去に作成された文書の再利用を図ることにより、文書作成者の負担の軽減が可能となる。しかし、メーカのマニュアルであれば、ハードまたはソフトウェアの製品数、また、製品によっては製品数に納入顧客数を掛け合わせた数といった大量の文書が作成される。これらの文書は、非常に類似しているが、全く同じものはなく、違いは確実に存在する。このため、個人個人の判断で文書を再利用するのでは、この違いを見落としなく変更することは容易ではない。また、見直し作業では変更箇所がわからず、全体を見直さなければならなかった。
【０００４】
そこで、過去に作成された文書を部品化して共有し、部品化された文書を再利用することによって文書作成時の負荷の軽減及び作成された文書の品質保持を図る手法が試みられている。
【０００５】
しかし、単に文書を部品化しただけでは、どれを再利用してよいのか判断することは難しい。このため、文書とともに文書作成時の操作履歴を記録し、その操作履歴を文書の部品間の関係などに基づいて階層化し、階層化された操作履歴を作成者に参照させることで、文書作成時における作業効率を向上させる文書作成支援装置が提案されている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平１０−２２２５０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかし、従来の文書作成支援では、過不足なく文書を作成することが難しく、かつその見直し作業が容易ではないという問題点がある。
技術文書には、マニュアル、運用手順書、ミドルウェアの稼働・終了処理スクリプトなど、主機能の前後に記載される起動処理と終了処理といったセットで利用されなければならない部品が存在するものが多い。セットでの利用が実現されない場合には整合性が保てなくなり、問題を引き起こす可能性がある。
【０００８】
従来の文書作成支援には、部品の位置的連続性や、同時に使用された頻度などに基づいて部品間の相関関係を検出する手法がある。これは、位置的に連続する部品や、同時使用された部品は、関連する部品である可能性が高いという予測に基づく手法である。しかし、位置的に連続していても関連する部品とは限らない。また、組み合わせが一対多の場合には、同時使用の頻度から相関関係を検出することは難しい。一方、操作履歴に基づく操作の連続性などから、関連する部品を検出する手法もある。しかし、単に操作が連続しているから関連しているとは限らない。例えば、上記の起動処理と終了処理のように、位置的にも連続せず、操作も連続しないような部分の関連性を検出することはできなかった。
【０００９】
このように、従来の文書作成支援では、必ずセットで使用しなければならない部品を確実に検出することが難しく、セットでの利用が見落とされる場合があった。また、文書の見直し作業においても、セット部品の利用が見落とされていたことを検出することは容易ではない。このため、文書の部品を利用して過不足なく文書を作成することが難しく、部品の再利用が促進されない要因となっていた。
【００１０】
このような点に鑑み、過不足なく文書を作成するための支援を行う文書作成支援プログラム、文書作成支援方法及び文書作成支援装置を提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記課題を解決するために、文書作成支援プログラムが提供される。文書作成支援プログラムは、文書の一部を部品として抽出して管理し、文書作成時の支援を行うコンピュータを、部品暫定作成手段、重なり度算出手段及び結合部品選別手段として動作させる。部品暫定作成手段は、文書及び修正履歴情報データベースから文書及びこの文書の修正に関する文書修正履歴を取得する。取得した文書を暫定的に分割した暫定部品を特徴付ける部品要素を抽出し、記憶手段に格納される登録部品情報に登録済みの登録済部品から抽出した部品要素と、暫定部品を特徴付ける部品要素とを照合する。所定の部品要素が一致する登録済部品が検出されたときはこの登録済部品、検出されないときは新規部品として、文書に含まれる部品を特定する。重なり度算出手段は、文書に含まれる部品ごとに、文書修正履歴に基づいて一定時間間隔ごとの部品に対する修正量を時間軸に沿って並べたヒストグラムを作成する。このヒストグラムをスムージング処理し、部品ごとの修正傾向を表す修正曲線を算出する。また、修正曲線が表す修正の傾向が重なる重なり量に応じた部品間の重なり度を算出する。結合部品選別手段は、関係の強い部品群を結合する結合ルールを用いて、重なり度及び部品要素を評価する。そして、結合ルールに基づいて結合部品と評価される部品群を選別し、結合部品として登録部品情報に登録する。
【００１２】
このような文書作成支援プログラムを実行するコンピュータは、文書作成支援装置として機能し、以下の処理を行う。文書及び修正履歴情報データベースから文書と文書修正履歴が取得されると、この文書を暫定的に分割した暫定部品を特徴付ける部品要素と、登録部品情報に登録済みの登録済部品の部品要素と、が照合される。文書に含まれる部品は、所定の部品要素が一致する登録済部品があれば登録済部品、なければ新規部品と特定される。続いて、文書とともに取得した文書修正履歴に基づき、この文書の部品ごとの修正傾向を表す修正曲線が算出される。修正曲線は、各部品の一定時間間隔ごとの修正量を時間軸上に並べたヒストグラムをスムージング処理して算出される。修正曲線の重なり量が算出され、重なり量に応じた部品間の重なり度が算出される。重なり度が高いほど、結合部品である可能性が高くなる。そして、部品間の重なり度及び部品要素が結合ルールを用いて評価され、結合部品と評価される部品群が選別される。
【００１３】
また、上記課題を解決するために、上記の文書作成支援プログラムによって実現される処理と同様の処理手順をコンピュータに実行させる文書作成支援方法と、文書作成支援装置が提供される。
【発明の効果】
【００１４】
開示の文書作成支援プログラム、文書作成支援方法及び文書作成支援装置によれば、文書修正履歴に基づいて文書部品間の関係の強さを推定し、関係の強い部品群を結合部品として特定する。これにより、部品提供時に、部品情報に基づき、セットで使用しなければならない部品群を結合部品としてまとめて提供することができる。この結果、過不足なく文書を作成するための支援が可能となる。
【図面の簡単な説明】
【００１５】
【図１】発明の概要を示した図である。
【図２】文書の修正箇所とその修正量を時間軸上に表したグラフである。
【図３】文書１の文書修正履歴を時系列で並べた一例を示した図である。
【図４】文書１の各部品の修正量ヒストグラムと修正曲線の一例を示した図である。
【図５】文書１の修正曲線の重なり領域を示した図である。
【図６】文書作成システムの構成例を示した図である。
【図７】文書作成支援装置のハードウェア構成例を示すブロック図である。
【図８】対象文書と対象文書から作成される暫定部品の一例を示した図である。
【図９】部品要素リストの一例を示した図である。
【図１０】修正履歴と修正履歴情報から抽出した修正履歴情報の一例を示した図である。
【図１１】修正量集計テーブルの一例を示した図である。
【図１２】修正曲線（スムーズ値）テーブルの一例を示した図である。
【図１３】足きり処理後の修正曲線を示した図である。
【図１４】重なり度テーブルを示した図である。
【図１５】部品情報の一例を示した図である。
【図１６】結合ルールの一例を示した図である。
【図１７】登録部品情報の一例を示した図である。
【図１８】キーワード対応表の一例を示した図である。
【図１９】部品登録処理の手順を示したフローチャートである。
【図２０】部品暫定作成処理の手順を示したフローチャートである。
【図２１】部品度算出処理の手順を示したフローチャートである。
【図２２】結合部品選別処理の手順を示したフローチャートである。
【発明を実施するための形態】
【００１６】
以下、実施の形態を、図面を参照して説明する。まず、発明の概要について説明し、その後、具体的な内容を説明する。
図１は、発明の概要を示した図である。
【００１７】
文書作成支援装置１０は、記憶手段１１、部品暫定作成手段１２、重なり度算出手段１３、結合部品選別手段１４及び部品管理手段１５を有し、文書２０及び文書修正履歴３０に基づいて、文書を部品化し、登録部品情報に登録して管理する。各処理手段は、コンピュータが文書作成支援プログラムを実行することによって、その処理機能が実現される。なお、文書２０及び文書修正履歴３０は、文書編集などの文書作成処理を行う文書作成装置によって作成され、文書作成装置の文書及び修正履歴データベースに格納される。文書２０は、文書及び修正履歴データベースに格納された文書であり、文書修正履歴３０はこの文書２０に対して行われた編集作業に伴う修正を記録した履歴情報である。文書作成支援装置１０は、文書及び修正履歴データベースから直接読み出して、もしくは、文書作成装置を介して文書２０及び文書修正履歴３０を取得する。ここでは、予め文書２０及び文書修正履歴３０を取得し、取得した文書２０は文書情報ＤＢ１１ｂ、文書修正履歴３０は修正履歴情報ＤＢ１１ｃに保存し、管理しているとする。
【００１８】
記憶手段１１は、各種情報を記憶する記憶領域を有し、部品情報データベース（以下、ＤＢとする）１１ａ、文書情報ＤＢ１１ｂ及び修正履歴情報ＤＢ１１ｃとして機能する。
部品情報ＤＢ１１ａには、部品要素を含む登録済部品に関する登録部品情報が、部品を識別する部品識別子に対応付けて格納される。文書情報ＤＢ１１ｂには、取得された文書２０の少なくとも一部が管理情報とともに格納される。また、部品ごとに分割され、部品の部品識別子と関連付けて管理されるとしてもよい。修正履歴情報ＤＢ１１ｃには、取得された文書２０に関する文書修正履歴３０の少なくとも一部が管理情報とともに格納される。なお、文書情報ＤＢ１１ｂと、修正履歴情報ＤＢ１１ｃは、１つのデータベースとして構成されていてもよい。
【００１９】
部品暫定作成手段１２は、文書２０を文書情報ＤＢ１１ｂから読み出し、章や節といった単位で暫定的に分割して暫定部品を設定する。また、この暫定部品を特徴付ける部品要素を抽出し、この暫定部品を特徴付ける部品要素と、部品情報ＤＢ１１ａの登録部品情報に登録済みの登録済部品の部品要素と、を照合する。互いの部品要素が予め定義された同一部品と見なす基準を満たして一致すれば、暫定部品にこの登録済部品の部品識別子を付与する。一致しなければ、新たな部品識別子を付与し、新規部品とする。こうして、文書２０に含まれる部品が特定される。
【００２０】
重なり度算出手段１３は、部品暫定作成手段１２で特定された部品ごとに、文書２０に対応する文書修正履歴３０を読み出して解析し、部品の修正傾向を表す修正曲線を算出する。まず、文書修正履歴３０を解析し、一定時間間隔ごとの各部品の修正量を集計し、集計された修正量を時間軸に沿って並べ、修正量ヒストグラムを生成する。そして、ヒストグラムをスムージング処理し、修正が開始されてから終了するまでの期間における各部品の修正曲線を得る。得られた修正曲線は、各部品の修正傾向を示す。さらに、各部品の修正曲線が他の部品の修正曲線と重なる重なり量に基づいて、部品間の重なり度を算出する。例えば、修正曲線が重なって形成される重なり領域の面積で重なり量を算出し、重なり量が修正量全体に占める割合に応じて重なり度を算出する。重なり度は、部品間の関係の強さを表す指標であり、重なり度が高いほど部品間の関係が強く、重なり度が低いほど部品間の関係が弱くなる。さらに、重なり度に基づいて部品間の関係の強さを測る別の指標を算出するとしてもよい。そして、重なり度、もしくは重なり度に基づく指標は、部品要素とともに、部品に付与された部品識別子に対応付けて部品要素リストに暫定的に登録され、記憶手段１１に格納する。
【００２１】
結合部品選別手段１４は、関係の強い部品群を結合する結合ルールを用いて、部品要素リストに登録される重なり度もしくは重なり度に基づく指標、または必要に応じて部品要素を評価する。そして、結合ルールに基づいて結合部品と評価される部品群を選別する。例えば、「部品間の重なり度が閾値より高い場合には、結合部品とする」という結合ルールがあれば、結合ルールに従って部品間の重なり度を評価し、重なり度が閾値以上の部品群を結合部品に選別する。選別された結合部品は、新たな部品識別子を付与し、新規部品として登録部品情報に登録する。結合部品は、部品間の関係が強く、再利用時には、セットでの利用が望ましい。
【００２２】
部品管理手段１５は、部品情報ＤＢ１１ａに格納される登録部品情報に基づいて登録された部品を管理する。そして、部品の再利用のための部品入手依頼を受け付けると、部品情報ＤＢ１１ａに格納される登録部品情報を参照し、依頼を受けた部品が結合部品に属するかどうかを判定する。結合部品に属すると判定されたときは、依頼を受けた部品が属する結合部品を依頼元に提供する。属する結合部品がないと判定されたときは、単独で使用される部品であると判断し、この部品のみを依頼元に提供する。
【００２３】
なお、ここでの文書は、一連の動作を説明した文書とする。操作説明書などの一般的な文書ばかりでなく、一連の処理手順を記述したスクリプトなども含まれる。
次に、上記の構成の文書作成支援装置１０の動作及び文書作成支援方法について説明する。まず、文書修正者による関連部分の修正タイミングの傾向について説明する。
【００２４】
図２は、文書の修正箇所とその修正量を時間軸上に表したグラフである。水平方向は、時間軸、垂直方向は修正量を示す。
図２の例では、ある文書を４つのセクション（部品）に分け、それぞれにｓ１，ｓ２，ｓ３，ｓ４という識別番号を付与している。各セクションが暫定部品に相当する。修正されたセクションの識別番号は、修正量を表すヒストグラムの上に示されている。例えば図２では、文書がオープンされてから最初にセクションｓ３が修正され、続いてセクションｓ１、セクションｓ２と修正されていることがわかる。
【００２５】
文書の修正履歴に記録される修正場所、修正順序及び修正量と、セクション間の関連の強さとの相関性について、次のような傾向があることが発明者によって見出されている。
第１に、「修正量」について、修正量の多少は、部品間の関連性の強さと相関が高いことが見出されている。すなわち、ほぼ同時期に行われている部品間の修正量が同様の傾向を示し、特に、その修正量がともに多いとき、その部品間の関連性は強い。例えば、ある部品について修正するとき、関連する部品でも同様な修正が行われることが多い。ある部品についての修正量が多くなるとき、関連する部品でも同様に修正量が多くなる可能性が高い。
【００２６】
第２に、「修正順序」について、修正場所の反復遷移は関係の強さを示すことが見出されている。すなわち、ほぼ同時期に反復して部品の修正が行われているとき、その部品間の関連性は強い。ある部品について修正を行うとき、関連する記述のある部品の修正を続けて行う場合が多い。そして、関連する部分の修正が終了したとき、元の部品の修正に戻る。このため、修正場所の反復遷移が多くなる。
【００２７】
第３に、「修正間隔」について、タイミングの遠近は、部品間の関連性の強さと相関が高いことが見出されている。すなわち、修正タイミングが近い方が、その部品間の関連性は強い。例えば、ある部品の修正後、次に修正が行われる部品は、修正間隔が近い場合関連する部品である場合が多い。しかし、修正間隔が遠い場合、例えば、ある部品の修正後に休憩し、他の部品の修正を再開するような場合は、関連部品でない可能性がある。
【００２８】
第４に、「修正時期」について、修正の開始から一定期間と、終了前の一定期間とは、修正の傾向を示さないケースが多いことが見出されている。すなわち、修正の開始から一定の期間は、修正操作が安定せず、まだ修正傾向が表れていない場合が多い。終了前の一定期間は、見直し作業などによって修正が行われている可能性が高く、部品の修正傾向ではなく作成者の質などによる傾向が表れていると考えられる。
【００２９】
このような修正傾向を捉えるため、文書オープン時から文書クローズ時までの期間について、各部品（図２ではセクション）の一定間隔ごとの修正量が集計され、修正量を時間軸上に並べたヒストグラムが生成される。さらに、上記のような部品間の関連性を検出するため、ヒストグラムがスムージング処理され、修正曲線が算出される。修正履歴には、単一時刻における単一部品の修正が記録される。スムージング処理を行うことにより、部品修正の同時性が判断可能となる。すなわち、部品間の修正曲線が重なる場合には、ほぼ同時期に修正が行われていると見なすことができる。
【００３０】
図２の例では、セクションｓ１について、修正曲線３１ａ，３１ｂ，３１ｃ，３１ｄ，３１ｅが得られる。図２では鎖線で示している。セクションｓ２について、修正曲線３２ａ，３２ｂ，３２ｃ，３２ｄ，３２ｅが得られる。図２では、一点鎖線で示している。そして、セクションｓ４について、修正曲線３４ａが得られる。図２では、二点鎖線で示している。なお、文書オープン時から一定の期間３５ａ、文書クローズ時より前の一定期間３５ｂの間の修正量は、修正の傾向を表さないことがあることから、修正曲線の算出には含めない。文書クローズ時のセクションｓ１の修正量を反映すると、セクションｓ１に関する修正曲線は、３１ｅ−１になるが、ここではクローズ時より前の一定期間３５ｂの修正量を含めないことから、修正曲線３１ｅが得られる。
【００３１】
こうして得られた各セクションの修正曲線の重なる重なり量を、例えば、重なり領域の面積を算出して求める。ここでは、セクションｓ１の修正曲線３１ａとセクションｓ２の修正曲線３２ａとの重なり領域４１、セクションｓ１の修正曲線３１ｂとセクションｓ２の修正曲線３２ｂとの重なり領域４２、セクションｓ４の修正曲線３４ａとセクションｓ２の修正曲線３２ｃとの重なり領域４３、セクションｓ１の修正曲線３１ｃとセクションｓ２の修正曲線３２ｄとの重なり領域４４、及びセクションｓ１の修正曲線３１ｄとセクションｓ２の修正曲線３２ｅとの重なり領域４５の面積が算出される。
【００３２】
ここで、算出された重なり領域４１，４２，４３，４４，４５から、上記の文書の修正量及び修正タイミングと、セクション間の関連の強さとの相関性に基づき、セクション間の関連性の強さを判断することができることを説明する。
【００３３】
まず、「修正量」については、修正量の絶対値の大小は、修正曲線の重なり量と相関する。例えば、ともに修正量の多いセクションｓ１の修正曲線３１ａとセクションｓ２の修正曲線３２ａとの重なり領域４１は、所定の領域が形成されている。しかし、同様の間隔で修正が行われているが、ともに修正量の少ないセクションｓ１の修正曲線３１ｂとセクションｓ２の修正曲線３２ｂとの重なり領域４２はない。このように、修正量の絶対値の大小に起因する重なり量は、修正曲線の重なり領域に対応する。
【００３４】
「修正順序」については、部品間の反復の多少は、修正曲線の重なり量と相関する。スムージング処理された修正曲線は、短い期間に同じセクションが修正されると、下降する間もなく上昇する。例えば、セクションｓ４とセクションｓ２の修正は反復して行われており、セクションｓ４の修正曲線３４ａとセクションｓ２の修正曲線３２ｃとの重なり領域４３の重なり量は大きくなる。
【００３５】
「修正間隔」については、修正間隔の遠近は、修正曲線の重なり量と相関する。例えば、修正量が同程度のセクションｓ１の修正曲線３１ｃとセクションｓ２の修正曲線３２ｄの重なり領域４４と、セクションｓ１の修正曲線３１ｄとセクションｓ２の修正曲線３２ｅの重なり領域４５とを比べる。修正間隔の近いセクションｓ１の修正曲線３１ｄとセクションｓ２の修正曲線３２ｅの重なり領域４５は所定の領域が形成されている。しかし、修正間隔の遠いセクションｓ１の修正曲線３１ｃとセクションｓ２の修正曲線３２ｄの重なり領域４４はない。このように、修正間隔の遠近は、修正曲線の重なり量と相関する。「修正時期」については、時間軸上の一定の時間範囲を修正曲線の算出に用いないことによって、修正曲線の重なり量に反映することができる。
【００３６】
以上より、修正曲線の重なり量を算出し、これを評価することによって、「修正量」、「修正順序」、「修正間隔」、「修正時期」という部品間の関係の強さに相関するパラメータの値を総合評価することができる。したがって、上記の文書のセクション間の関連の強さを評価することができる。
【００３７】
図１に戻って文書作成支援装置１０の各処理部の動作について説明する。文書２０とその文書修正履歴３０は、予め文書作成支援装置１０に入力され、それぞれ文書情報ＤＢ１１ｂと、修正履歴情報ＤＢ１１ｃに格納されている。利用者からの指示などによって、処理が開始される。
【００３８】
部品暫定作成手段１２は、文書情報ＤＢ１１ｂから文書２０を読み出し、文書２０を分割して暫定部品を生成する。そして、暫定部品を特徴付ける部品要素を抽出し、登録部品情報に登録済みの登録済部品の部品要素と照合する。照合により、暫定部品が登録済部品と同じであると判定されれば、暫定部品に登録済部品の部品識別子が付与される。同じと認められる登録済部品がないときは、暫定部品に新たな部品識別子が付与される。こうして、文書２０に含まれる部品が特定される。続いて重なり度算出手段１３は、文書２０に対応する文書修正履歴３０を修正履歴情報ＤＢ１１ｃから読み出して解析し、特定された部品の一定時間間隔ごとの修正量を算出して修正量ヒストグラムを生成する。このヒストグラムをスムージング処理して、修正曲線を得る。具体例を用いて説明する。
【００３９】
図３は、文書１の文書修正履歴を時系列で並べた一例を示した図である。図３は、文書１の修正履歴であり、文書１の修正を開始した修正時刻Ｔ０から、実行された修正に関する修正時刻と修正場所及び修正量の記録が時系列にソートされている。
【００４０】
例えば、修正時刻Ｔ１では、部品Ａについて、文字を挿入する修正が行われていることが記録されている。また、修正時刻Ｔ１で行われた修正の修正場所は「オフセットＰ１文字後」であり、修正量は、「サイズＬ１」であることも記録されている。修正時刻Ｔ２から修正時刻Ｔｄにおいて実行された修正についても同様の内容が記録されている。文書１の修正が開始されてから一定時間間隔ごとに、その時間間隔内に発生した各部品の修正量をプロットし、修正量ヒストグラムを生成する。
【００４１】
図４は、文書１の各部品の修正量ヒストグラムと修正曲線の一例を示した図である。図４の修正量ヒストグラムは、図３に示した修正履歴に基づき、上記の手順によって作成される。縦軸は経過時間、横軸は文書１に対する修正量を表す。
【００４２】
ここで、ヒストグラムの修正時刻Ｔ１，Ｔ２，Ｔ４，Ｔ５，Ｔ８，Ｔ９，・・・においてプロットされている修正量は、部品Ａに関する修正を表す。修正時刻Ｔ１，Ｔ２，Ｔ４，Ｔ５，Ｔ８，Ｔ９，・・・における部品Ａに対する修正量をスムージング処理し、修正曲線３６ａを得る。修正履歴は、１時刻に対し１か所の修正を示した情報であるが、スムージング処理を行うことにより、並列連続性を判断することができる。こうして得られた修正曲線３６ａは、部品Ａに対する修正の傾向を表す。同様に、ヒストグラムの修正時刻Ｔｃ，Ｔｄにおいてプロットされている修正量は、部品Ｂに関する修正を表す。修正時刻Ｔｃ，Ｔｄにおける部品Ｂに対する修正量をスムージング処理し、修正曲線３６ｂを得る。修正曲線３６ｂは、部品Ｂに対する修正の傾向を表す。さらに、ヒストグラムの修正時刻Ｔ３，Ｔ６，Ｔ７，Ｔａ，Ｔｂ，・・・においてプロットされている修正量は、部品Ｃに関する修正を表す。修正時刻Ｔ３，Ｔ６，Ｔ７，Ｔａ，Ｔｂ，・・・における部品Ｃに対する修正量をスムージング処理し、修正曲線３６ｃを得る。修正曲線３６ｃは、部品Ｃに対する修正の傾向を表す。
【００４３】
こうして得られた部品Ａの修正曲線３６ａ、部品Ｂの修正曲線３６ｂ及び部品Ｃの修正曲線３６ｃの重なり量を算出する。
図５は、文書１の修正曲線の重なり領域を示した図である。
【００４４】
部品Ａの修正曲線３６ａと、部品Ｂの修正曲線３６ｂとは、重なる領域がない。すなわち、部品Ａの修正と、部品Ｂの修正とは、互いに独立して実行されており、部品Ａと部品Ｂとの関連性は低いと判断できる。同様に、部品Ｂの修正曲線３６ｂと、部品Ｃの修正曲線３６ｃとも、重なる領域がほとんどない。したがって、部品Ｂと部品Ｃとの関連性も低いと判断できる。部品Ａの修正曲線３６ａと、部品Ｃの修正曲線３６ｃとは、重なり領域４０を有する。したがって、部品Ａと部品Ｃとは関連性があると判断できる。重なり量は、重なり領域の面積とし、重なり領域を有する部品間についてのみ算出する。例えば、部品Ａの修正曲線３６ａと、部品Ｃの修正曲線３６ｃとが重なる重なり領域４０は、修正曲線が重なる区間における部品の修正曲線の最小値の積分値として算出される。例えば、修正時刻Ｔ０から修正曲線３６ａと修正曲線３６ｃとの交点までは、修正曲線３６ｃの値が最小値として選択されて積分され、交点以降は、修正曲線３６ａの値が最小値として選択されて積分される。
【００４５】
さらに、算出された重なり量に基づいて、重なり量が全体の修正量に占める割合として、重なり度を算出する。
結合部品選別手段１４は、予め定義された結合ルールに基づいて、部品間の重なり度を評価し、結合部品を選別する。例えば、結合ルールとして、「重なり度が閾値を超えるものを結合部品とする」というルールが設定されていたとき、算出された重なり度と閾値とを比較し、閾値を超える重なり度を有する部品群を結合部品とする。結合部品には、新たに部品識別子を付与し、登録部品情報に登録する。なお、結合ルールには、独立部品として使用される部品などが定義されていてもよい。この場合、重なり度が閾値を超えていても、この部品は結合部品には選別されず、独立部品として使用される。
【００４６】
以上の処理が実行されることにより、修正履歴に基づいて関係が強く結合部品としての使用が望ましい部品群が選択され、１つの結合部品として登録部品情報に登録される。
部品管理手段１５は、部品の入手依頼を受けたときは、文書情報に基づいて依頼を受けた部品を特定し、その情報を依頼元へ送信する。なお、部品管理手段１５が参照する登録部品情報は、上記の一連の処理が終了し、部品として確定された登録済部品のみが設定されている。登録部品情報を参照することにより、安定的に部品を管理することができる。部品管理手段１５は、登録部品情報に基づいて、入手依頼を受けた部品が結合部品であるかどうかを判断する。そして、結合部品と判定されたときは、依頼を受けた部品に加え、結合部品を構成する部品群全てのデータを依頼者に送る。独立部品と判定されたときは、入手依頼を受けた部品のみのデータを依頼者に送る。
【００４７】
以上の処理手順が実行されることにより、修正履歴に基づいて各部品間の関係の強さが算出され、結合ルールに基づく結合部品の条件を満たす部品の組み合わせが結合部品として登録される。利用者の修正傾向に基づく部品間の関係の強さによって結合部品が設定されるため、部品が位置的に離れていても、セットで使用しなければならない部品群が結合部品に選別される。これにより、利用者にとってより利用しやすい部品の提供ができるばかりでなく、過不足なく文書を作成する支援を行うことが可能となる。
【００４８】
なお、文書２０及び文書修正履歴３０は、予め記憶手段１１に格納しておく必要はなく、部品の設定要求とともに要求元装置から取得するとしてもよい。
以下、上記の文書作成支援装置を文書作成システムに適用した場合を例に、図面を参照して詳細に説明する。
【００４９】
図６は、文書作成システムの構成例を示した図である。
文書作成システムは、文書作成者が文書の編集作業と、部品の登録及び利用と、を行うユーザ装置５００と、部品の登録と再利用を管理する文書作成支援装置１００とを有する。文書作成支援装置１００は、ユーザ装置５００で作成される文書Ａ２００と、修正履歴３００とを取得し、部品を抽出して管理するとともに、ユーザ装置５００からの部品入手依頼に応じて部品データをユーザ装置５００に提供する。
【００５０】
文書作成支援装置１００は、文書部品検索情報ＤＢ１１１及び部品情報ＤＢ１１２の各データベースと、部品作成・登録部１２０、文書部品検索部１３０、キーワード抽出部１４０及び文書部品管理部１５０の各処理手段とを有する。
【００５１】
文書部品検索情報ＤＢ１１１には、登録済部品の部品識別子と、その登録済部品に設定されたキーワードとを関連付けたキーワード対応表を含む部品検索情報が格納される。部品情報ＤＢ１１２には、登録済部品の登録部品情報、結合部品の結合ルールなど、部品登録の処理に必要な情報が格納される。
【００５２】
部品作成・登録部１２０は、部品暫定作成手段１２、重なり度算出手段１３及び結合部品選別手段１４として機能し、文書Ａ２００を部品化し、部品情報ＤＢ１１２に格納される登録部品情報に登録する。
【００５３】
文書部品検索部１３０は、文書編集部５１０より、キーワードを与えられたときは、文書部品検索情報ＤＢ１１１に格納されるキーワードと部品識別子の対応表を検索し、部品検索結果として該当する部品群の部品識別子を通知する。
【００５４】
キーワード抽出部１４０は、各部品を構成する文字列やコマンド名から該当部品の特性を示す語句（キーワード）を抽出する。
文書部品管理部１５０は、部品作成・登録部１２０が登録した部品について、キーワード抽出部１４０を用いてキーワードを取り出し、部品識別子とキーワードとを対応付けた対応表を文書部品検索情報ＤＢ１１１に格納される文書検索情報に登録する。また、部品管理手段１５として機能し、文書編集部５１０から、部品識別子を指定して部品入手依頼を受けたときは、部品情報ＤＢ１１２に格納される部品情報を確認する。そして、結合部品（単独使用不可）であれば、指定された部品単独でなく、結合部品に属する部品群の部品データを一式提供する。
【００５５】
ユーザ装置５００は、文書編集部５１０、修正履歴記録部５２０及び文書登録部５３０の各処理手段を有する。
文書編集部５１０は、いわゆるエディタなどの文書編集手段であり、文書作成支援装置１００の解析対象となる文書を作成する。文書作成開始指示またはエディタ起動指示で処理を開始し、文書作成者の文書作成作業を支援する。このとき、文書作成者から部品入手の指示があったときは、部品入手依頼を文書作成支援装置１００に送信し、応答として部品データを受け取る。これを表示装置などに表示し、文書作成者の利用を可能にする。
【００５６】
修正履歴記録部５２０は、いつ、どの文書の、どこを、どのように、修正したのかを記録する修正履歴記録手段である。記録された修正履歴３００は、文書登録部５３０を介して文書作成支援装置１００に送信される。
【００５７】
文書登録部５３０は、作成・修正された文書Ａ２００を、その修正履歴３００とともに文書作成支援装置１００に送信する。全ファイルを対象とし、ファイルをクローズしたときに自動的に文書作成支援装置１００に送信するとしてもよいし、文書作成者の判断で送信するとしてもよい。文書作成者が判断する場合は、部品として使われてもよいと判断したもののみが指定され、文書作成支援装置１００に送信される。
【００５８】
ここで、文書作成支援装置１００のハードウェア構成について説明する。図７は、文書作成支援装置のハードウェア構成例を示すブロック図である。
文書作成支援装置１００は、ＣＰＵ（Central Processing Unit）１０１によって装置全体が制御されている。ＣＰＵ１０１には、バス１０７を介してＲＡＭ（Random Access Memory）１０２、ハードディスクドライブ（ＨＤＤ：Hard Disk Drive）１０３、グラフィック処理装置１０４、入力インタフェース１０５、及び通信インタフェース１０６が接続されている。
【００５９】
ＲＡＭ１０２には、ＣＰＵ１０１に実行させるＯＳ（Operating System）のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、ＲＡＭ１０２には、ＣＰＵ１０１による処理に必要な各種データが格納される。ＨＤＤ１０３には、ＯＳやアプリケーションのプログラムが格納される。グラフィック処理装置１０４には、モニタ１０８が接続されており、ＣＰＵ１０１からの命令に従って画像をモニタ１０８の画面に表示させる。入力インタフェース１０５には、キーボード１０９ａやマウス１０９ｂが接続されており、キーボード１０９ａやマウス１０９ｂから送られてくる信号を、バス１０７を介してＣＰＵ１０１に送信する。通信インタフェース１０６は、ネットワーク６００に接続されており、ネットワーク６００を介してユーザ装置５００との間でデータの送受信を行う。
【００６０】
このようなハードウェア構成によって、文書作成支援装置１００の処理機能を実現することができる。なお、図７には、文書作成支援装置１００のハードウェア構成を示したが、ユーザ装置５００のハードウェア構成も同様である。
【００６１】
上記の構成の文書作成支援装置１００における処理を、プログラムの一連の動作に対する説明書を対象文書とした場合を例にとり、部品を登録するまでの部品作成・登録処理について説明する。図８は、対象文書と対象文書から作成される暫定部品の一例を示した図である。
【００６２】
プログラムの一連の動作を説明する文書Ａ２００は、プログラムの構成上、必ずセットで行わなければならない２つの機能「ｐｒｅｗｏｒｋ」と、「ｐｏｓｔｗｏｒｋ」についての説明部分を有する。
【００６３】
図８の「２．ｍｏｄｕｌｅ動作説明」は、２．２節の「ｓｉ」を挟んで、２．１節の「ｐｒｅｗｏｒｋ」と、２．３節の「ｐｏｓｔｗｏｒｋ」と、が配置される文書構成となっている。この文書Ａ２００を部品化して登録することにより、再利用を促進する。この際、２．２節で分断された２．１節と、２．３節とはセットで使用されるべき部品になる。
【００６４】
部品作成・登録部１２０では、最初に文書Ａ２００を分割し、暫定部品を生成する。文書Ａ２００の２章については、節ごとに分割し、２．１節を抽出した「￥ｓｕｂｓｅｃｔｉｏｎ  ｐｒｅｗｏｒｋ」は暫定部品２０１、２．２節を抽出した「￥ｓｕｂｓｅｃｔｉｏｎ  ｓｉ」は暫定部品２０２、２．３節を抽出した「￥ｓｕｂｓｅｃｔｉｏｎ  ｐｏｓｔｗｏｒｋ」は暫定部品２０３とする。そして、部品情報ＤＢ１１２に格納される登録部品情報を参照し、登録済部品と照合する。詳細は後述するが、登録部品情報には、登録済部品の部品識別子に関連付けて、登録済部品の部品要素が登録されている。また、部品要素には、部品を特徴付ける、例えば、文書内の部品の位置を示すオフセット値、部品の使用回数累積値、部品のサイズ、実体などがある。ここでは、部品の引用関係や、実体データの文字列の一致度などに基づいて、暫定部品と同じ部品が登録済部品に存在するか否かを検索する。同一と見なせる登録済部品があれば、暫定部品に登録済部品の部品識別子が付与される。同一と見なせる登録済部品がなければ、暫定部品には新規の部品識別子が付与される。図８の例では、暫定部品２０１には部品識別子「ＩＤ１５」、暫定部品２０２には部品識別子「ＩＤ１８」、暫定部品２０３には部品識別子「ＩＤ１６」が付与されたとする。こうして特定された部品を特徴付ける部品要素に関する情報は、部品要素リストに登録される。
【００６５】
図９は、部品要素リストの一例を示した図である。
部品要素リスト１０００は、対象の文書Ａ２００の要素となる部品の一覧と、その特徴が記述される。言い換えれば、文書Ａ２００がリスト形式で表現されている。部品要素リスト１０００には、対象要素となる部品の属性情報として、部品識別子１００１、文書内開始オフセット１００２、部品度１００３、使用回数累積１００４及び実体１００５の情報項目が設定される。
【００６６】
部品識別子１００１には、部品を特定する部品識別子が設定される。
文書内開始オフセット１００２には、文書Ａ２００における部品の開始位置を特定するオフセット値が設定される。例えば、部品の先頭文字が、文書Ａ２００の最初の文字から何番目の文字になるのかという値が設定される。
【００６７】
部品度１００３の詳細は後述するが、部品度とは、この部品の部品らしさを表す指標であり、重なり度に基づいて算出されるとする。ここでは、部品が独立で使用できるのか、セットで使用する関連部品が存在するのかを判断する指標として用いる。なお、初期値として１が設定されるとする。部品度が大きいほど、この部品は独立して使用されるべき部品となる。また、部品度が小さいほど、この部品は結合部品として使用されるべき部品となる。
【００６８】
使用回数累積１００４は、この部品が使用された回数、すなわち、文書に出現した回数の累積値が格納される。暫定部品と登録済部品の照合によって、登録済部品が検出されるごとに、１ずつカウントアップされる。複数の類似する文書を用いて解析を行うと、多くの文書に出現する部品は、その使用回数累積値が多くなる。よく使用される部品は、部品としての利用度が高いということであるので、結合部品の判定時に参照される。
【００６９】
実体１００５には、文字列のデータなど部品の実体部分が格納される。実体部分のデータは別の記憶部に格納しておき、格納された位置を示すポインタを実体１００５に設定しておくとしてもよい。
【００７０】
次に、修正履歴３００を解析する。図１０は、修正履歴と修正履歴情報から抽出した修正履歴情報の一例を示した図である。
修正履歴３００には、修正履歴記録部５２０が検出した、修正時刻、対象文書、操作種別、修正を行った場所（文書内のオフセット）及び操作対象の文字列が記録されている。例えば、１行目には、修正時刻「０８・２０  １２：００」に、対象文書「文書Ａ」について操作種別「挿入」の処理を、文書内のオフセット「ｏｆｆｓｅｔＰ１」から開始し、操作対象の文字列「Ｂ社統合システム対応」を挿入したことが記録されている。
【００７１】
なお、この修正履歴３００は一例であり、いつ、どの文書の、どこを、どのように修正したかが記録されていれば、どのような形式であってもよい。
通常、修正履歴３００には対象文書以外の修正履歴も含まれている。そこで、修正履歴３００から対象の文書Ａ２００対する処理の記録のみを抽出し、かつ抽出した処理の記録を時刻順に並べ替える。そして、文書内のオフセットと、部品要素リスト１０００の文書内開始オフセットとを照合し、修正が行われた部品を特定する。一般に、修正履歴には、修正位置として文書の先頭からのオフセットが与えられていることが多いので、これを用いて文書を構成するどの部品に対して修正が行われたのかを特定する。また、操作対象の文字列の文字数を算出し、修正サイズとする。予め修正履歴記録部５２０が修正サイズを算出している場合には、これを用いるとしてもよい。なお、修正箇所が複数部品にまたがる場合は、その修正量を部品単位に分割しておく。例えば、部品１が１０バイト、部品２が２０バイト、部品３が５バイトと連続で構成された文書において、修正履歴よりオフセットが８バイト、修正量が２３バイト削除と記録されていたとする。この場合、修正履歴から、部品１の修正量２バイト、部品２の修正量２０バイト、部品３の修正量１バイトと割り当てられる。
【００７２】
こうして解析処理された修正履歴は、修正履歴情報１１００として記憶手段に保存される。
修正履歴情報１１００は、修正日時１１０１、修正場所部品識別子１１０２及び修正サイズ１１０３の情報項目を有する。修正日時１１０１には、抽出された対象文書（ここでは、文書Ａ２００）の修正履歴から抜き出された修正日時が設定される。修正場所部品識別子１１０２には、オフセットを照合して算出された修正場所の部品の部品識別子が設定される。修正サイズ１１０３には、修正履歴から算出された修正量（バイト単位の修正サイズ）が設定される。
【００７３】
ここまでの処理で、対象文書Ａ２００の要素である部品が特定されて部品要素リスト１０００が生成され、修正履歴３００から各部品の修正履歴情報１１００が得られる。
続いて、修正履歴情報１１００を用いて各部品の修正曲線を算出する。ヒストグラム作成時の単位時間とする時間刻み幅Ｔは、Ｔ＝２分と設定する。
【００７４】
上記の条件で修正履歴情報１１００を解析し、修正量を集計する。例えば、１２：００から１２：０２の区間を１単位とすると、１２：００と１２：０１に発生した部品識別子ＩＤ１５の部品（￥ｓｕｂｓｅｃｔｉｏｎ  ｐｒｅｗｏｒｋ）に対する修正サイズが集計される。この例では、修正量は１６＋１９＝３５になる。以下、同様に各部品の単位時間ごとの修正量を算出する。集計結果は、修正量集計テーブルに格納する。
【００７５】
図１１は、修正量集計テーブルの一例を示した図である。
修正量集計テーブル１２００には、各時間単位における部品ごとの修正量が算出されて設定される。行は、２分単位の時間刻み幅を表し、列は文書Ａ２００の部品要素を表す。先ほど算出された「１２：００〜１２：０２」の期間に行われた部品ＩＤ１５に対する修正量３５は、修正量集計テーブル１２００上の行「１２：００」、列「部品ＩＤ１５」の交差する箇所に格納される。同様にして、各ヒストグラム作成単位時間（時間刻み幅）における部品ごとの修正量を集計し、修正量集計テーブル１２００に登録していく。修正履歴情報１１００に登録される全項目の集計が終了した時点では、修正量集計テーブル１２００は、時間刻み幅を２分とする修正量ヒストグラムに相当する。
【００７６】
こうして算出された修正量ヒストグラムをスムージング処理し、各部品の修正曲線を得る。スムージング処理として、ヒストグラム作成窓枠の微細化＋補間作業、移動平均などを用いた近似曲線作成手法などがよく知られている。ここでは、公知のスムージング処理を適宜用いて修正量ヒストグラムのスムージング処理を行うとする。
【００７７】
図１２は、修正曲線（スムーズ値）テーブルの一例を示した図である。
修正曲線（スムーズ値）テーブル１３００は、図１１に示した修正量集計テーブル１２００が表す修正量ヒストグラムをスムージング処理して算出されたスムーズ値１３０１が設定される。例えば、部品ＩＤ１５は、「開始〜１２：００」の期間（ｐｒｅ行）でのスムーズ値は１１．７、「１２：００〜１２：０２」の期間（１２：００行）のスムーズ値も１１．７となる。
【００７８】
累積更新量１３０２は、各期間までの修正量（スムーズ値）を累積して算出される。例えば、部品ＩＤ１５は、「開始〜１２：００」の期間（ｐｒｅ行）における累積更新量は１１．７になる。「１２：００〜１２：０２」の期間（１２：００行）の累積更新量は、ｐｒｅ期間の累積更新量にこの期間のスムーズ値を加算した２３．４となる。
【００７９】
以下、同様の処理が行われ、全期間及び全部品についてのスムーズ値と、累積更新量が算出され、修正曲線（スムーズ値）テーブル１３００に設定される。こうして各部品の修正曲線が得られる。
【００８０】
なお、修正量ヒストグラムをスムージング処理して得られた修正曲線は、重なり度の算出に当たって有効と見なす領域を予め定義しておく。このため、有効と見なされない部品ごとの修正開始直後と、終了直前の部分を足きり領域とし、足きり領域の値を０としてスムーズ値を補正する。ここでは、足きり領域割合をｘｘ＝１０％、ｙｙ＝１−ｘｘ＝９０％とする。ｘｘは、修正曲線算出から除外される修正開始直後の期間を示し、ｙｙは修正曲線算出から除外される修正終了直前の期間を示す。ここでは、全修正量を１００％として、修正量が１０％に到達するまでの期間と、修正量が９０％に到達した後の期間のスムーズ値が足きりされる。
【００８１】
図１３は、足きり処理後の修正曲線を示した図である。
足きり処理済修正曲線テーブル１４００は、図１３に示した修正曲線（スムーズ値）テーブル１３００の値を足きり処理した後のスムーズ値（足きり処理後）１４０１が設定される。例えば、部品ＩＤ１５の修正曲線は、「ｐｒｅ〜１２：００」の期間（ｐｒｅ行）から「１２：０６〜１２：０８」の期間（１２：０６行）に渡る。このうち、足きり領域割合に相当する先頭部分及び終了部分の値を０として修正曲線を補正する。この例では、「ｐｒｅ〜１２：００」の期間（ｐｒｅ行）のスムーズ値が１１．７から１．０９に補正されている。同様に、「１２：０６〜１２：０８」の期間（１２：０６行）のスムーズ値が２３．７から１３．０９に補正されている。
【００８２】
以下、同様の処理が行われ、全部品についての修正曲線が補正され、スムーズ値（足きり処理後）１４０１が算出される。なお、累積更新量１４０２は、修正曲線（スムーズ値）テーブル１３００の累積更新量１３０２と同じである。
【００８３】
こうして得られた足きり処理後の修正曲線を用いて、各部品の重なり量と重なり度を算出する。なお、重なりが存在しない組み合わせの計算は省略する。
例えば、図１３の足きり処理済修正曲線テーブル１４００のスムーズ値（足きり処理後）１４０１を参照すると、部品ＩＤ１５と部品ＩＤ１８とは、修正曲線が重ならない（ともに値が０以外となる期間がない）。同様に、部品ＩＤ１５と部品ＩＤ２３４とは、修正曲線が重ならない。部品ＩＤ１５と部品ＩＤ１６とは修正曲線が重なる。また、部品ＩＤ１８と部品ＩＤ１６とは修正曲線が重ならない。部品ＩＤ１８と部品ＩＤ２３４とは修正曲線は重なる。そして、部品ＩＤ１６と部品ＩＤ２３４とは修正曲線が重ならない。
【００８４】
したがって、修正曲線が重なるのは、部品ＩＤ１５と部品ＩＤ１６の組み合わせと、部品ＩＤ１８と部品ＩＤ２３４の組み合わせとなる。それぞれの組み合わせについて、重なり量と重なり度を算出する。
【００８５】
図１４は、重なり度テーブルを示した図である。
重なり度テーブル１５００には、重なりが存在する部品の組み合わせについて算出された重なり量１５０１、修正量総計１５０２及び重なり度１５０３が設定される。
【００８６】
重なり量１５０１には、重なり量として、各部品の修正曲線の重なり領域の面積に基づく値が設定される。修正曲線の重なり領域の面積は、修正曲線が重なる区間における部品の修正曲線の最小値の積分値として算出される。例えば、２つの部品Ｍ，Ｎについて、
重なり量＝  ∫ｍｉｎ（部品Ｍの修正量，部品Ｎの修正量）          ・・・（１）
によって算出することができる。ここで、ｍｉｎは、いずれか小さい値を選択することを意味する。
【００８７】
修正量総計１５０２には、組み合わされた部品の累積更新量の総計が算出されて設定される。例えば、部品ＩＤ１５と部品ＩＤ１６との組み合わせであれば、部品ＩＤ１５の累積更新量１０６．１と、部品ＩＤ１６の累積更新量７３．１を合算した１７９．２が設定される。
【００８８】
重なり度１５０３には、重なり度として、重なり量が全修正量に占める割合を計算した値が設定される。ここでは、
重なり度＝  重なり量×２／修正量総計                            ・・・（２）
として算出される。
【００８９】
以上の処理手順により、修正履歴３００に基づいて、部品ごとの修正曲線が算出され、部品間の修正曲線が重なる関連部品が検出される。また、修正曲線の重なり量と、重なり度も算出される。
【００９０】
なお、図１に示した文書作成支援装置１０の例では、部品間の関係の強さを重なり度によって評価するとした。ここでは、さらに、重なり度に基づく指標として、部品度差分と、部品度とを算出し、部品度差分または部品度によって部品間の関係の強さを評価する。
【００９１】
部品度は、その部品の部品らしさを表す指標であり、この部品が独立で使用できるのか、関連部品が存在するかを示す指標となる。部品度差分は、修正履歴３００に基づく解析を行ったときに算出される重なり度に基づき、当該部品と関連する部品があるかどうかを示す指標となる。具体的に、部品度差分は、
部品度差分＝  １−β×重なり度                                  ・・・（３）
によって求める。ここで、βは重み付けのための任意の係数である。部品度差分は、今回の解析結果から得られた部品度の差分であり、解析が行われるごとに算出される。また、重み係数βの値を小さくすることにより、結合部品の判定に重なり度の与える影響を抑えることができる。なお、部品度差分は、重なり度が大きくなるほど、小さな値となる。すなわち、最大値を１として、他の部品との関係が強いほど値が小さくなる。最大値の１は、当該部品が他の部品との関連のない独立部品であることを示す。部品度差分を評価することにより、当該部品が結合部品であるかどうかを選別することができる。
【００９２】
一方、部品度は、解析処理が行われるごとに算出される部品度差分の値を加味して算出される値である。部品度は、
部品度＝  更新前部品度  ＋  部品度差分                          ・・・（４）
によって得られる。こうして算出される部品度は、部品の独立性、すなわち、単独で使用される部品であるかどうかを示す。部品の修正量は、部品が挿入される文書や、そのときの修正内容に応じて変動する。毎回算出される部品度差分は、変動の影響を受ける。部品度は、過去に算出された部品度に基づいて算出されるので、部品度を評価することにより、過去の算出結果を反映して結合部品であるか否かの判定を行うことができる。
【００９３】
部品度及び部品度差分を含む部品要素は、部品識別子に対応付けて部品情報に登録され、部品情報ＤＢ１１ａに格納される。このとき、修正曲線が重なる部品は、関連部品として部品情報に登録しておく。例えば、図１４の重なり度テーブル１５００作成時、部品ＩＤ１５と、部品ＩＤ１６とは重なり量を有する関連部品と判断されている。この場合、部品情報１６００の部品ＩＤ１５に対応する関連部品１６０２欄に部品ＩＤ１６が登録される。同様に、部品ＩＤ１６に対応する関連部品１６０２欄に部品ＩＤ１５が登録される。
【００９４】
図１５は、部品情報の一例を示した図である。
部品情報１６００は、部品を特定する部品識別子１６０１に対応付けて、関連部品１６０２、結合要因１６０３、部品度１６０４、部品度差分１６０５、使用回数累積１６０６及び実体１６０７の各情報項目が設定される。
【００９５】
関連部品１６０２は、修正履歴３００に基づいて関連が検出された部品が設定される。具体的には、重なり度テーブル１５００における組み合わせの相手の部品の部品識別子が設定される。
【００９６】
結合要因１６０３は、関連部品１６０２が設定された部品について、関連する結合部品と判断した要因を設定する。ここでは、修正曲線に基づいて関連部品が検出されたので、「修正タイミング分散」と設定される。
【００９７】
部品度１６０４は、この段階では、まだ部品要素リスト１０００の該当する部品識別子に対応する部品度１００３の値が転記される。
部品度差分１６０５は、式（３）を用いて、重なり度１５０３に基づいて算出される。
【００９８】
使用回数累積１６０６及び実体１６０７は、部品要素リスト１０００の該当部品識別子の情報が転記される。
こうして各項目の値が設定された部品情報１６００に基づいて、結合部品の選別処理が行われる。結合部品の選別処理は、関係の強い部品群を結合する結合ルールを用いて部品情報１６００の各項目を評価し、判定を行う。
【００９９】
図１６は、結合ルールの一例を示した図である。
結合ルール１７００には、ある部品が修正曲線を用いて算出された重なり度に基づいて結合部品と判定されたとき、実際に結合部品として登録するか否かの判断情報が設定される。ここでは、対象の部品識別子１７０１、結合回避１７０２、サイズ（条件１）１７０３、（条件２）１７０４が設定される。
【０１００】
部品識別子１７０１は、結合ルールが適用される対象の部品を指示する情報である。「＊」の表記は、結合ルールが全部品に適用されることを示している。
結合回避１７０２は、当該部品は単独で使用される独立部品であるか否かの情報である。ここでは、「有」で結合回避が指定される。例えば、ルール番号２は、部品識別子がＩＤ２３４の部品に適用され、ＩＤ２３４は無条件に結合を回避し、単独で使用される独立部品とするというルールになる。例えば、他部品との関連が強いが、あえて独立部品としたいものが登録される。
【０１０１】
サイズ（条件１）１７０３は、条件１としてサイズが指定されたことを示している。ここでは、部品サイズとして最大が文書全体の５０％であることを指示している。
（条件２）１７０４は、ここでは何も定義されていないが、必要に応じて、適宜設定することができる。
【０１０２】
なお、図１６の例では、ルール番号１は、部品の最大サイズは文書全体の５０％以下とし、文書サイズの半分以上の部品の更なる結合は認めないというルールになる。このルールが適用されることにより、最大の部品サイズが文書サイズの半分と限定される。例えば、文書を構成するすべての部品が関連するため、文書全体が１つの部品として結合される恐れのある文書について、すべての部品が結合されることを防止することができる。
【０１０３】
また、結合ルール１７００には、定義されていないが、結合ルール１７００によって結合不可と判定されたもの以外は、重なり度、または、重なり度に基づいて算出される部品度差分あるいは部品度の値を評価し、結合部品であるかどうかを判定する。判定は、重なり度、部品度差分または部品度のうちの１つと、予め指定された閾値を比較して行う。
【０１０４】
ここでは、部品度差分について０．５の閾値が設定されていたとする。部品度差分は、式（３）から、値が小さいほど部品間の関係が強くなる。したがって、０．５＞部品度差分のとき、この部品は関連が強く、単独では部品として成立しない結合部品であると判断する。
【０１０５】
なお、部品度を用いた場合も同様に、閾値＞部品度を満たす部品の組み合わせが結合部品と判定される。ただし、部品度は、使用されるごとに値が大きくなるので、使用累積回数に基づいて部品度を補正する必要がある。また、重なり度で判定することもできる。重なり度は、逆に、大きくなるほど部品間の結合度が高くなるので、閾値＜重なり度によって判定する。
【０１０６】
この結合ルール１７００と、０．５＞部品度差分と、を部品情報１６００に登録される部品ＩＤ１５，ＩＤ１８，ＩＤ１６，ＩＤ２３４に適用する。部品ＩＤ２３４は、ルール番号２の対象になるので、独立部品とする。したがって、部品ＩＤ１８と部品ＩＤ２３４とは、それぞれ単独で用いられる独立部品と設定される。一方、部品ＩＤ１５と部品ＩＤ１６とは、ルール番号１，２のルールに該当しないとし、続いて部品度差分（０．３７）と、閾値（０．５）とを比較する。閾値（０．５）＞部品度差分（０．３７）を満たすので、部品ＩＤ１５と部品ＩＤ１６とは結合部品と判定される。
【０１０７】
なお、上記の説明では、２つの部品を結合する場合について説明したが、３以上の部品を結合することもできる。例えば、部品Ａと部品Ｂ、及び部品Ｂと部品Ｃ、それぞれが関連していると判定されたときは、部品Ａ、部品Ｂ、部品Ｃとは結合部品と判定する。
【０１０８】
こうして最終的に決定された結合部品が登録部品情報に登録される。
図１７は、登録部品情報の一例を示した図である。
登録部品情報１８００には、単独使用１８０１、部品識別子１８０２、関連部品１８０３、結合要因１８０４、部品度１８０５、使用回数累積１８０６及び実体１８０７の各情報項目が設定される。
【０１０９】
単独使用１８０１には、この部品が単独で使用可能な独立部品か、セットで使用される結合部品か、を示すフラグ情報が設定される。ここでは、結合部品と判定された部品ＩＤ１５と、部品ＩＤ１６に単独で使用されないことを示す「否」が設定される。
【０１１０】
部品識別子１８０２は、当該部品の識別情報である。
関連部品１８０３には、当該部品に関連すると判定された部品の部品識別子が設定される。また、結合要因１８０４には、関連部品と判断した要因が設定される。ここで、重なり度から結合部品と判断された部品の組み合わせのうち、部品ＩＤ１８とＩＤ２３４とは、結合ルール１７００の結合回避指示によって、単独部品として使用されると判断されている。そこで、部品情報１６００に登録されていた関連部品１６０２のうち、結合回避が指示された部品ＩＤ１８と部品ＩＤ２３４からは、関連部品１８０３と結合要因１８０４の項目のデータが削除されている。
【０１１１】
部品度１８０５には、式（４）を用いて、部品情報１６００の部品度１６０４の値に、部品度差分１６０５の値を加算して算出された値が設定される。なお、結合回避指示によって結合しなかった部品は、旧状態のままとしてもよい。
【０１１２】
使用回数累積１８０６と実体１８０７は、部品情報１６００に登録されていた部品については、その値が転記される。
ここで、結合部品には、新たに部品識別子を付与し、登録部品情報に登録する。登録部品情報１８００では、最後の行に結合部品の部品情報が登録されている。部品識別子として新たにＩＤ１０２３が付与され、部品識別子１８０２に登録される。また、部品度１８０５と、使用回数累積１８０６には、初期値（＝１）が設定される。そして、実体１８０７には、結合部品ＩＤ１０２３が、ブランク（￥ｂｌａｎｋ）を挟んで、部品ＩＤ１５と、部品ＩＤ１６とが組み合わされた構造であることが示されている。
【０１１３】
以上の処理によって、登録部品情報１８００に、セットで使用されるべき結合部品が登録される。
キーワード抽出部１４０では、各部品からキーワードを抽出する。文書部品管理部１５０は、抽出されたキーワードと部品とを対応付けたキーワード表を生成し、文書部品検索情報ＤＢ１１１に格納する。
【０１１４】
図１８は、キーワード対応表の一例を示した図である。
キーワード対応表１９００には、部品識別子１９０１に対応付けて、抽出されたキーワード１９０２が登録される。例えば、部品ＩＤ１５には、「前処理」と、「起動」というキーワードが対応付けられている。
【０１１５】
こうして、必要な登録済部品を、キーワードを用いて検索し、検索された部品を利用することができるようになる。
なお、上記の説明では、部品度を独立で使用できるのか、関連部品が存在するのかを反映する値として算出している。したがって、部品度差分は、式（３）に示したように、部品の修正曲線の重なり度に基づいて算出される。さらに、その部品を利用する際にどの程度修正を行ったかという修正度を指標に入れると、部品度を参照することにより、その部品の使い勝手の判断を行うことができる。使い勝手がよいとは、その部品が修正することなく使えることを表す。個別環境に合わせて修正が必要になるほど、使い勝手が低下する。この場合の部品度は、
部品度＝１−α＊修正度−β＊重なり度                            ・・・（５）
と表すことができる。なお、修正度は、該当部品の部品サイズに占める修正量で、例えば、修正サイズ／（修正前部品サイズ＋修正後部品サイズ）によって求めることができる。
【０１１６】
次に、登録済部品の再利用について説明する。
ユーザは、部品の再利用をする際、キーワードを指定して所望の部品を検索する。例えば、ユーザの指定により、ユーザ装置５００の文書編集部５１０から「前処理」というキーワードが文書作成支援装置１００に送信されたとする。文書部品検索部１３０は、取得したキーワードを用いて、文書部品検索情報ＤＢ１１１に格納されるキーワード対応表１９００を検索する。ここでは、「前処理」というキーワードが対応付けられた部品ＩＤ１５が検索される。この部品検索結果は、文書編集部５１０に通知され、文書編集部５１０は、部品ＩＤ１５の入手依頼を文書作成支援装置１００に送信する。
【０１１７】
部品ＩＤ１５の入手依頼は、文書部品管理部１５０が処理する。文書部品管理部１５０は、部品情報ＤＢ１１２に格納される登録部品情報１８００から部品ＩＤ１５を検索する。部品ＩＤ１５は、単独使用「否」が設定されているので、結合部品と判断し、該当する結合部品を検索する。ここでは、部品ＩＤ１０２３が検出されるので、部品ＩＤ１０２３を文書編集部５１０に返す。部品ＩＤ１０２３の実体は、部品ＩＤ１５と部品ＩＤ１６なので、文書編集部５１０には、部品ＩＤ１５とともにセットで使用すべき部品ＩＤ１６が返送される。これにより、利用者は過不足なく文書を作成することが可能となる。
【０１１８】
以下、文書作成システムによる部品登録処理の手順を、フローチャートを用いて説明する。
図１９は、部品登録処理の手順を示したフローチャートである。
【０１１９】
文書作成者の文書作成開始指示によって、ユーザ装置５００の処理が開始される。
［ステップＳ０１］  文書編集部５１０は、文書作成者の操作指示に基づいて文書Ａ２００を作成する。文書Ａ２００の作成過程は、修正履歴記録部５２０によって、修正履歴３００という形式で保存される。
【０１２０】
［ステップＳ０２］  文書登録部５３０は、自動的、もしくは文書作成者の明確な指示に基づき、文書作成支援装置１００に文書Ａ２００と、修正履歴３００とを送付する。
以上の処理手順が実行されることにより、文書Ａ２００及び修正履歴３００が、文書作成支援装置１００に入力される。
【０１２１】
［ステップＳ０３］  部品作成・登録部１２０は、対象の文書Ａ２００から暫定部品を作成し、暫定部品の部品要素を抽出し、部品を特定する。詳細は後述する。
［ステップＳ０４］  部品作成・登録部１２０は、修正履歴３００を解析し、ステップＳ０２で特定された部品の一定時間間隔の修正量を集計し、その修正曲線を算出する。そして、部品間の修正曲線の重なり度に基づいて、部品度差分及び部品度を計算する。詳細は後述する。
【０１２２】
［ステップＳ０５］  部品作成・登録部１２０は、結合ルール１７００を用いて、ステップＳ０４で算出された重なり度に基づく部品度差分または部品度を評価する。そして、結合部品と判定される部品群を選別し、結合部品として登録部品情報１８００に登録する。登録部品情報１８００は、部品情報ＤＢ１１２に格納される。詳細は後述する。
【０１２３】
［ステップＳ０６］  文書部品管理部１５０は、部品化された一連の部品をキーワード抽出部１４０に送付し、各部品のキーワードを抽出する。抽出されたキーワードと、各部品の部品識別子とを対応付け、キーワード対応表１９００を作成し、文書部品検索情報ＤＢ１１１に格納する。
【０１２４】
以上の処理手順が実行されることにより、文書Ａ２００から部品が抽出され、登録部品情報１８００に登録され、部品情報ＤＢ１１２に格納される。このとき、修正履歴３００に基づいて算出された各部品の修正傾向によってセットで使用しなければならない結合部品も検出され、登録部品情報１８００に登録される。また、キーワードと、部品及び結合部品とを対応付けたキーワード対応表１９００も作成され、文書部品検索情報ＤＢ１１１に格納される。
【０１２５】
各処理の詳細を説明する。
まず、部品暫定作成処理について説明する。部品暫定作成処理では、入力された文書Ａ２００に含まれる部品を特定する。図２０は、部品暫定作成処理の手順を示したフローチャートである。
【０１２６】
部品作成・登録部１２０に、対象の文書Ａ２００及び修正履歴３００が入力されて処理が開始される。なお、修正履歴３００が残っていれば、過去に作成された文書が対象となってもよい。
【０１２７】
［ステップＳ３１］  入力された文書Ａ２００をブロック化し、暫定部品を作成する。ブロック化は、章や節単位で分割するなど、公知の技術を用いて行う。
［ステップＳ３２］  ステップＳ３１でブロック化された暫定部品の部品要素リスト１０００を保存するための格納領域を用意する。部品要素リスト１０００には、文書Ａ２００の部品要素として、部品識別子、文書内開始オフセット、部品度、使用回数累積、実体、その他の部品要素の情報がリスト形式で設定される。
【０１２８】
［ステップＳ３３］  暫定部品に関する部品要素リスト１０００を生成し、ステップＳ３２で用意された格納領域に格納する。暫定部品に一致する登録済部品を、登録部品情報１８００を検索して探す。部品間の引用関係、部品を構成する文字列の一致などによって、暫定部品と登録済部品とが一致しているか否かを判定し、一致しているものがあれば、その登録済部品の部品識別子を暫定部品に割り当てる。こうして、暫定部品をこの登録済部品と特定する。登録済部品と一致していなければ、新規部品の部品識別子を割り当て、新規部品として登録する。さらに、当該部品の文書Ａ２００内における開始位置を示す文書内開始オフセットの計算など、部品要素リスト１０００の各情報項目を取り出し、部品要素リスト１０００に登録する。
【０１２９】
以上の処理手順が実行されることにより、文書Ａ２００に含まれる部品が特定され、その部品要素が部品要素リスト１０００に登録される。
次に、修正履歴３００に基づいて各部品の修正曲線を算出し、部品度を求める部品度算出処理を行う。部品度算出処理では、部品暫定作成処理によって特定された文書Ａ２００の要素である部品について部品度差分及び部品度を算出する。
【０１３０】
図２１は、部品度算出処理の手順を示したフローチャートである。文書Ａ２００の要素である部品が特定され、処理が開始される。
［ステップＳ４１］  入力された対象文書Ａ２００に関する修正履歴３００を解析し、修正履歴３００に記述される時順に沿って修正場所と修正量を各部品単位にソートする。このため、部品要素リスト１０００の各部品の文書内開始オフセットを読み出し、文書Ａ２００における部品の並び順と、部品サイズを計算する。部品サイズは、次の並び順の部品の文書内開始オフセットと、当該部品の文書内開始オフセットと、から算出する。次に、修正履歴３００の修正時刻、対象文書、修正箇所オフセット、修正サイズを抽出し、ステップＳ４１で算出した部品サイズと部品の文書内開始オフセットと照合して、修正された部品及び部品修正サイズを特定する。さらに、修正履歴３００の修正時刻に沿って、修正された部品の部品識別子及び修正サイズを並び替え、修正日時、部品識別子及び修正サイズを修正履歴情報１１００に登録する。
【０１３１】
［ステップＳ４２］  修正量ヒストグラムの作成準備として、ヒストグラムの時間刻み幅Ｔと、足きり領域割合ｘｘ，ｙｙとを読み出す。Ｔは、例えば、分単位の任意の値が設定される。ｘｘ，ｙｙは、足きりの範囲をパーセント（％）で表した数値であり、ｘｘは有効とする範囲の下限、ｙｙは上限を示す。ｘｘ−ｙｙ以外の範囲は、足きりされる。
【０１３２】
［ステップＳ４３］  各部品に対する修正量ヒストグラムを作成する。時刻をＴ分刻みに分割し、分割期間の時刻と修正時刻を照合する。そして、分割期間に含まれる各部品の修正量を集計する。これにより、修正量集計テーブル１２００が生成される。
【０１３３】
［ステップＳ４４］  ヒストグラム作成窓枠の微細化及び補間作業を行って、各部品のヒストグラムをスムージング処理する。スムージング処理には、公知の近似曲線作成手法を利用する。こうして各部品の修正曲線（スムーズ値）テーブル１３００が得られる。
【０１３４】
［ステップＳ４５］  ステップＳ４３によるスムージング処理後、時間刻み幅に応じた各期間までの累積修正量を計算する。例えば、開始時刻かＴ分後までの期間に対しては、その間の修正量が計算される。そのＴ分後（開始時刻から２Ｔ分後）の期間に対しては、Ｔ分後から２Ｔ分後までの期間の修正量が開始時刻かＴ分後までの期間の修正量に加算される。さらに、足きり領域割合に応じて、各部品修正曲線の先頭と末尾部分の足きりを行う。すなわち、各部品において、ｔ１＝修正量がｘｘ％に到達した時刻と、ｔ２＝修正量がｙｙ％に到達した時刻とを計算し、修正曲線におけるｔ１＜ｔ＜ｔ２以外の部分の修正量を０とする。こうして、各部品の足きり処理済修正曲線テーブル１４００が得られる。
【０１３５】
［ステップＳ４６］  ステップＳ４５において足きり処理がされた後の修正曲線を用いて、文書Ａ２００に含まれる部品間の重なり度を計算する。式（１）を用いて、文書Ａ２００に含まれる文書群の任意の２つの部品Ｍ，Ｎにおける修正曲線の重なり量を求める。さらに、式（２）を用いて、部品Ｍ，Ｎの修正量に占める重なり量の割合を計算し、重なり度を算出する。これを部品の組み合わせすべてに対し行う。こうして、重なり度テーブル１５００が得られる。
【０１３６】
［ステップＳ４７］  ステップＳ４６で得られた部品間の関係に基づいて、各部品の部品情報１６００の関連部品及び結合要因を登録する。部品情報１６００には、予め特定された部品の部品識別子に関連付けて、部品度（前回値）、使用回数累積、実体などが登録されているとする。ここではさらに、重なり度テーブル１５００に基づいて、各部品に関連付けられた部品があればその関連部品と、結合要因「修正タイミング分散」と、を設定する。例えば、関連が認められた部品Ｍ，Ｎについて、部品Ｍの関連部品の欄に部品Ｎを、部品Ｎの関連部品の欄に部品Ｍを登録する。
【０１３７】
［ステップＳ４８］  式（３）を用いて部品度差分を算出する。部品度差分は、最大値を１とする１以下の正数で、重なり度が大きくなるほど、その値が小さくなる。なお、一回の文書修正の影響を小さくしたいときは、係数βを小さい値とする。算出された部品度差分は、部品情報１６００に登録される。
【０１３８】
以上の処理手順が実行されることにより、修正履歴３００に基づいて部品間の関係の強さに基づき、関連部品が特定される。また、部品間の関係の強さを表す指標として部品度差分が算出され、部品情報１６００に各情報が登録される。
【０１３９】
次に、関連部品と、関連部品間の関係の強さを表す部品度差分が設定される部品情報１６００と、結合ルール１７００とを用いて結合部品選別処理が行われる。結合部品選別処理では、結合ルール１７００の条件を満たす部品群が結合部品として登録される。
【０１４０】
図２２は、結合部品選別処理の手順を示したフローチャートである。
［ステップＳ５１］  結合ルール１７００から結合回避指示情報を読み出す。結合回避の指示は、結合ルール１７００の結合回避１７０２が、「有」であるかどうかによって判断する。当該部品に部品情報１６００の関連部品１６０２が設定されるときは、結合回避が指示されているかどうかを判断し、指示されているときは、該当部品の関連部品１６０２及び結合要因１６０３を削除する。
【０１４１】
［ステップＳ５２］  結合部品を確認する。部品情報１６００の関連部品１６０２に２回以上出現する部品を抽出し、結合関係を解析する。例えば、部品Ａと部品Ｂとの結合関係が検出され、部品Ｂと部品Ｃとの結合関係が検出された場合、部品Ａ、部品Ｂ及び部品Ｃを結合部品と判断する。
【０１４２】
［ステップＳ５３］  式（４）を用いて、部品情報１６００の部品度１６０４に、これまでの処理によって算出された部品度差分を加算し、部品度を更新する。なお、ステップＳ５２で３以上の部品が結合されたときは、部品度差分を再計算する。例えば、各部品間の部品度差分の平均を算出する。部品Ａ、部品Ｂ及び部品Ｃが結合部品と判定されたときは、部品Ａと部品Ｂの部品度差分と、部品Ｂと部品Ｃの部品度差分との平均値を求め、部品度差分を再計算する。そして、再計算された部品度差分により部品度を算出する。
【０１４３】
［ステップＳ５４］  ステップＳ５３の処理で再計算された部品度差分、部品度、あるいは、結合部品のサイズなどを結合ルール１７００と照合し、最終的に結合部品とするかどうかを判定する。例えば、「部品度差分が一定値以下」、「部品度と使用回数累積の差が一定以上」などのルールが適用され、条件に合致するかどうかが判定される。条件に合致したときは、処理をステップＳ５５に進める。合致しないときは、登録部品情報１８００の該当する部品の登録部品情報を更新し、処理をステップＳ５６に進める。
【０１４４】
［ステップＳ５５］  結合部品の条件に合致したときは、結合部品に新たな部品識別子を付与し、登録部品情報１８００に登録する。また、結合部品に属する各部品の登録部品情報を更新し、単独使用１８０１に「否」を設定する。
【０１４５】
［ステップＳ５６］  部品情報１６００に登録される全部品の処理が終了したかどうかを判定する。終了していないときは、対象を次の部品とし、ステップＳ５１に戻って処理を行う。終了しているときは、部品登録処理を終了する。
【０１４６】
以上の処理手順が行われることにより、文書Ａ２００から部品が抽出され、登録される。このとき、修正履歴３００に基づいてセットで使用されなければならない結合部品であるかどうかが判断され、結合部品であれば新たな部品として登録される。
【０１４７】
これにより、登録された部品を再利用しようとすると、その部品が結合部品であれば、結合された他の部品も同時に文書作成者に提供される。この結果、文書作成者は過不足なく文書を作成することが可能となる。
【０１４８】
なお、上記の処理機能は、コンピュータによって実現することができる。その場合、文書作成支援装置が有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。
【０１４９】
プログラムを流通させる場合には、例えば、そのプログラムが記録されたＤＶＤ（Digital Versatile Disc）、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）などの可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【０１５０】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。また、コンピュータは、サーバコンピュータからプログラムが転送されるごとに、逐次、受け取ったプログラムに従った処理を実行することもできる。
【０１５１】
以上の実施の形態に関し、さらに以下の付記を開示する。
（付記１）  文書の一部を部品として抽出して管理し、文書作成時の支援を行うコンピュータを機能させる文書作成支援プログラムにおいて、
前記コンピュータを、
文書及び修正履歴情報データベースから文書及び前記文書の修正に関する文書修正履歴を取得し、前記文書を暫定的に分割した暫定部品を特徴付ける部品要素を抽出し、記憶手段に格納される登録部品情報に登録済みの登録済部品から抽出した部品要素と、前記暫定部品を特徴付ける部品要素とを照合して、所定の前記部品要素が一致する前記登録済部品が検出されたときは該登録済部品、検出されないときは新規部品、として前記文書に含まれる部品を特定する部品暫定作成手段、
前記文書に含まれる部品ごとに、前記文書修正履歴に基づいて一定時間間隔ごとの該部品に対する修正量を時間軸に沿って並べたヒストグラムをスムージング処理して前記部品ごとの修正傾向を表す修正曲線を算出し、前記修正曲線が表す前記修正の傾向が重なる重なり量に応じた部品間の重なり度を算出する重なり度算出手段、
関係の強い部品群を結合する結合ルールを用いて前記部品間の重なり度及び前記部品要素を評価し、前記結合ルールに基づいて結合部品と評価される部品群を選別し、前記部品群を前記結合部品として前記登録部品情報に登録する結合部品選別手段、
として機能させることを特徴とする文書作成支援プログラム。
【０１５２】
（付記２）  前記重なり度算出手段は、前記修正曲線のうち、前記文書の修正の開始から修正が安定すると予測されるまでの期間と、前記文書の修正の終了前の見直しが行われていると予測される期間と、に相当する部分を除いて前記部品間の重なり度を求める、ことを特徴とする付記１記載の文書作成支援プログラム。
【０１５３】
（付記３）  前記重なり度算出手段は、前記部品ごとの前記修正曲線が重なる重なり区間における前記修正曲線の最小値を積分して前記修正曲線が重なる重なり量を算出し、前記重なり量が全体の修正量に占める割合に応じて前記部品間の重なり度を算出する、ことを特徴とする付記１記載の文書作成支援プログラム。
【０１５４】
（付記４）  前記重なり度算出手段は、さらに、前記部品間の前記修正曲線がまったく重ならない状態を最大値とし、前記部品間の重なり度に所定の重み係数を乗算した値を、前記最大値から減算して部品度差分を算出し、
前記結合部品選別手段は、前記部品度差分を前記結合部品の評価に用いる、
ことを特徴とする付記１〜３記載の文書作成支援プログラム。
【０１５５】
（付記５）  前記重なり度算出手段は、さらに、前記部品の部品サイズに占める修正量を修正度とし、前記修正度に所定の重み係数を乗算した値を前記部品度差分の値から減算し、拡張部品度差分を算出し、前記部品度差分とする、ことを特徴とする付記４記載の文書作成支援プログラム。
【０１５６】
（付記６）  結合部品選別手段は、前記結合ルールとして、単独で使用される独立部品が定義されていたときは、前記独立部品に該当する前記部品を前記結合部品の評価対象から除外する、ことを特徴とする付記１〜５記載の文書作成支援プログラム。
【０１５７】
（付記７）  結合部品選別手段は、前記結合部品に新たな部品識別子を付与し、セットで使用される新たな部品として前記部品情報に登録する、ことを特徴とする付記１〜６記載の文書作成支援プログラム。
【０１５８】
（付記８）  前記コンピュータを、さらに、前記部品情報に登録される前記部品ごとにキーワードを抽出し、抽出された前記キーワードを該部品に対応付けた部品キーワード対応表を生成して前記記憶手段に格納するキーワード抽出手段、として機能させることを特徴とする付記１〜７記載の文書作成支援プログラム。
【０１５９】
（付記９）  前記コンピュータを、さらに、前記部品の再利用が要求されたときは、前記登録部品情報に基づいて前記部品が前記結合部品に属するか否かを判定し、前記結合部品に属すると判定されたときは対応する前記結合部品を出力し、属する前記結合部品がないと判定されたときは前記部品を単独で出力する部品管理手段、として機能させることを特徴とする付記１〜８記載の文書作成支援プログラム。
【０１６０】
（付記１０）  文書の一部を部品として抽出して管理し、文書作成時の支援を行う文書作成支援方法において、
コンピュータが、
文書及び修正履歴情報データベースから文書及び前記文書の修正に関する文書修正履歴を取得し、前記文書を暫定的に分割した暫定部品を特徴付ける部品要素を抽出し、記憶手段に格納される登録部品情報に登録済みの登録済部品から抽出した部品要素と、前記暫定部品を特徴付ける部品要素とを照合して、所定の前記部品要素が一致する前記登録済部品が検出されたときは該登録済部品、検出されないときは新規部品、として前記文書に含まれる部品を特定する部品暫定作成手順と、
前記文書に含まれる部品ごとに、前記文書修正履歴に基づいて一定時間間隔ごとの該部品に対する修正量を時間軸に沿って並べたヒストグラムをスムージング処理して前記部品ごとの修正傾向を表す修正曲線を算出し、前記修正曲線が表す前記修正の傾向が重なる重なり量に応じた重なり度を算出する重なり度算出手順と、
関係の強い部品群を結合する結合ルールを用いて前記部品間の重なり度及び前記部品要素を評価し、前記結合ルールに基づいて結合部品と評価される部品群を選別し、前記部品群を前記結合部品として前記登録部品情報に登録する結合部品選別手順と、
を実行することを特徴とする文書作成支援方法。
【０１６１】
（付記１１）  文書の一部を部品として抽出して管理し、文書作成時の支援を行う文書作成支援装置において、
文書及び修正履歴情報データベースから文書及び前記文書の修正に関する文書修正履歴を取得し、前記文書を暫定的に分割した暫定部品を特徴付ける部品要素を抽出し、記憶手段に格納される登録部品情報に登録済みの登録済部品から抽出した部品要素と、前記暫定部品を特徴付ける部品要素とを照合して、所定の前記部品要素が一致する前記登録済部品が検出されたときは該登録済部品、検出されないときは新規部品、として前記文書に含まれる部品を特定する部品暫定作成手段と、
前記文書に含まれる部品ごとに、前記文書修正履歴に基づいて一定時間間隔ごとの該部品に対する修正量を時間軸に沿って並べたヒストグラムをスムージング処理して前記部品ごとの修正傾向を表す修正曲線を算出し、前記修正曲線が表す前記修正の傾向が重なる重なり量に応じた部品間の重なり度を算出する重なり度算出手段と、
関係の強い部品群を結合する結合ルールを用いて前記部品間の重なり度及び前記部品要素を評価し、前記結合ルールに基づいて結合部品と評価される部品群を選別し、前記部品群を前記結合部品として前記登録部品情報に登録する結合部品選別手段と、
を有することを特徴とする文書作成支援装置。
【符号の説明】
【０１６２】
１０  文書作成支援装置
１１  記憶手段
１１ａ  部品情報データベース（ＤＢ）
１１ｂ  文書情報データベース（ＤＢ）
１１ｃ  修正履歴情報データベース（ＤＢ）
１２  部品暫定作成手段
１３  重なり度算出手段
１４  結合部品選別手段
１５  部品管理手段
２０  文書
３０  文書修正履歴
【図１】
2010262502.tif 000003
【図２】
2010262502.tif 000004
【図３】
2010262502.tif 000005
【図４】
2010262502.tif 000006
【図５】
2010262502.tif 000007
【図６】
2010262502.tif 000008
【図７】
2010262502.tif 000009
【図８】
2010262502.tif 000010
【図９】
2010262502.tif 000011
【図１０】
2010262502.tif 000012
【図１１】
2010262502.tif 000013
【図１２】
2010262502.tif 000014
【図１３】
2010262502.tif 000015
【図１４】
2010262502.tif 000016
【図１５】
2010262502.tif 000017
【図１６】
2010262502.tif 000018
【図１７】
2010262502.tif 000019
【図１８】
2010262502.tif 000020
【図１９】
2010262502.tif 000021
【図２０】
2010262502.tif 000022
【図２１】
2010262502.tif 000023
【図２２】
2010262502.tif 000024