(57)【要約】【課題】複数の文書から、自動的に文書部品を抽出して文書部品データベースを構築することを目的とする。【解決手段】計算機と、文書部品の管理情報を格納する文書部品データベースとを備える計算機システムにおける文書部品生成方法であって、文書部品生成部が、各文書ファイルを解析することによって各文書ファイルから対象文書を抽出し、対象文書を文書部品データベースに格納するステップと、文書部品データベースから読み出された複数の対象文書を比較して文字列の並びの類似度を算出し、算出された類似度に基づいて文字列の並びが類似する類似文字列を抽出するステップと、各対象文書間における類似文字列の対応関係毎にグループを構成するステップと、グループ毎に、類似文字列を文書部品として文書部品データベースに登録するステップと、を含む。【選択図】図１
2013016036.tif 000002
【特許請求の範囲】
【請求項１】
計算機と、文書を構成する要素である文書部品の管理情報を格納する文書部品データベースとを備える計算機システムにおける文書部品生成方法であって、
前記計算機は、プロセッサと、前記プロセッサに接続されるメモリと、前記プロセッサに接続され、他の装置と接続するための第１のインタフェースと、を備え、
前記文書部品データベースは、コントローラと、前記コントローラに接続される記憶媒体と、他の装置と接続するための第２のインタフェースと、を備え、
前記メモリは、前記文書部品を生成する文書部品生成部を実現するためのプログラムを格納し、
前記文書部品生成部は、文字列を含む文書ファイルから前記文字列の情報である対象文書を抽出する解析部と、前記文字列の並びの類似度を算出する類似度算出部とを含み、
前記方法は、
前記文書部品生成部が、複数の前記文書ファイルを受け付ける第１のステップと、
前記文書部品生成部が、前記各文書ファイルを解析することによって前記各文書ファイルから前記対象文書を抽出し、前記対象文書を前記文書部品データベースに格納する第２のステップと、
前記文書部品生成部が、前記文書部品データベースから複数の前記対象文書を読み出し、前記読み出された複数の対象文書を比較して前記文字列の並びの類似度を算出し、前記算出された類似度に基づいて前記文字列の並びが類似する第１の類似文字列を抽出する第３のステップと、
前記文書部品生成部が、前記各対象文書間における第１の類似文字列の対応関係毎にグループを構成する第４のステップと、
前記文書部品生成部が、前記グループ毎に、前記第１の類似文字列を前記文書部品として前記文書部品データベースに登録する第５のステップと、
を含むことを特徴とする文書部品生成方法。
【請求項２】
前記方法は、さらに、
前記対象文書内の前記文字列を比較して前記文字列の並びの類似度を算出し、前記算出された類似度に基づいて前記文字列の並びが類似する第２の類似文字列を抽出する第６のステップと、
前記抽出された第２の類似文字列の位置の分布に基づいて、前記対象文書を特徴づける文字列部分である目次部分を抽出する第７のステップと、
前記グループに含まれる前記文書部品を一つ選択して、前記目次部分に含まれる前記第２の類似文字列である項目文字列を、前記選択された文書部品の中から検索する第８のステップと、
前記検索された項目文字列を前記グループのグループ名として決定する第９のステップと、
前記グループ名と、前記文書部品とを対応づけて前記文書部品データベースに登録する第１０のステップと、を含むことを特徴とする請求項１に記載の文書部品生成方法。
【請求項３】
前記第８のステップは、
前記選択された文書部品の先頭の文字列部分から、前記項目文字列を検索するステップと、
前記グループに含まれる全ての前記文書部品の開始位置を、前記検索された項目文字列の開始文字の位置に変更するステップと、を含み、
前記第９のステップでは、前記検索された項目文字列を前記グループ名として決定することを特徴とする請求項２に記載の文書部品生成方法。
【請求項４】
前記方法は、さらに、
前記第９のステップが実行された後に、前記選択された文書部品の末尾の文字列部分から、前記項目文字列を検索する第１１のステップと、
その後、前記グループに含まれる全ての前記文書部品の終了位置を、前記検索された項目文字列が開始する直前の文字の位置に変更する第１２のステップと、を含むことを特徴とする請求項３に記載の文書部品生成方法。
【請求項５】
前記計算機システムは、辞書を格納する記憶装置を備え、
前記計算機は、前記記憶装置にアクセス可能であって、
前記方法は、さらに、
前記第１２のステップが実行された後に、前記辞書を参照し前記各項目文字列の意味を特定し、前記特定された各項目文字列の意味に基づいて、前記項目文字列間の対応関係を特定するステップと、
その後、前記特定された対応関係に基づいて、前記グループを統合するステップと、を含むことを特徴とする請求項４に記載の文書部品生成方法。
【請求項６】
前記方法は、さらに、
前記第１２のステップが実行された後に、前記グループに含まれる前記文書部品を比較して、異なる文字列部分を抽出するステップと、
その後、前記抽出された文字列部分を置換可能な文字列として前記文書部品データベースに登録するステップと、を含むことを特徴とする請求項４に記載の文書部品生成方法。
【請求項７】
前記計算機システムは、前記計算機へ情報を入力し、又は前記計算機が実行した処理結果を表示する入出力装置を備え、
前記方法は、さらに、
前記第１２のステップが実行された後に、前記文書部品データベースに格納される前記文書部品を編集するための表示情報を前記入出力装置に対して出力するステップと、
その後、前記入出力装置から入力された編集情報に基づいて、前記文書部品データベースに格納される前記文書部品の登録内容を変更するステップと、を含むことを特徴とする請求項４に記載の文書部品生成方法。
【請求項８】
計算機と、文書を構成する要素である文書部品の管理情報を格納する文書部品データベースとを備える計算機システムであって、
前記計算機は、プロセッサと、前記プロセッサに接続されるメモリと、前記プロセッサに接続され、他の装置と接続するための第１のインタフェースと、を備え、
前記文書部品データベースは、コントローラと、前記コントローラに接続される記憶媒体と、他の装置と接続するための第２のインタフェースと、を備え、
さらに、前記計算機は、前記文書部品を生成する文書部品生成部を備え、
前記文書部品生成部は、
複数の前記文書ファイルを受け付け、
前記各文書ファイルを解析することによって前記文書ファイルから前記対象文書を抽出し、前記対象文書を前記文書部品データベースに格納し、
前記文書部品データベースから複数の前記対象文書を読み出して、前記読み出された複数の対象文書を比較して前記文字列の並びの類似度を算出し、前記算出された類似度に基づいて前記文字列の並びが類似する第１の類似文字列を抽出し、
前記各対象文書間における第１の類似文字列の対応関係毎にグループを構成し、
前記グループ毎に、前記第１の類似文字列を前記文書部品として前記文書部品データベースに登録することを特徴とする計算機システム。
【請求項９】
前記グループを構成した後に、さらに、前記対象文書内の前記文字列を比較して前記文字列の並びの類似度を算出し、前記算出された類似度に基づいて前記文字列の並びが類似する第２の類似文字列を抽出し、
前記抽出された第２の類似文字列の位置の分布に基づいて、前記対象文書を特徴づける文字列部分である目次部分を抽出し、
前記グループに含まれる前記文書部品を一つ選択して、前記目次部分に含まれる前記第２の類似文字列である項目文字列を、前記選択された文書部品の中から検索し、
前記検索された項目文字列を前記グループのグループ名として決定し、
前記グループ名と、前記文書部品とを対応づけて前記文書部品データベースに登録することを特徴とする請求項８に記載の計算機システム。
【請求項１０】
前記目次部分に含まれる前記第２の類似文字列である項目文字列を、前記選択された文書部品の中から検索する処理では、
前記選択された文書部品の先頭の文字列部分から、前記項目文字列を検索し、
前記グループに含まれる全ての前記文書部品の開始位置を、前記検索された項目文字列の開始文字の位置に変更し、
前記グループ名として決定する処理では、前記検索された項目文字列を前記グループ名として決定することを特徴とする請求項９に記載の計算機システム。
【請求項１１】
前記検索された項目文字列を前記グループ名として決定した後に、さらに、前記選択された文書部品の末尾の文字列部分から、前記項目文字列を検索し、
前記グループに含まれる全ての前記文書部品の終了位置を、前記検索された項目文字列が開始する直前の文字の位置に変更することを特徴とする請求項１０に記載の計算機システム。
【請求項１２】
前記計算機システムは、辞書を格納する記憶装置を備え、
前記計算機は、前記記憶装置にアクセス可能であって、
前記文書部品生成部は、さらに、
前記グループに含まれる全ての前記文書部品の終了位置を変更した後に、前記辞書を参照して前記項目文字列の意味を特定し、前記特定された各項目文字列の意味に基づいて、前記項目文字列間の対応関係を特定し、
前記特定された対応関係に基づいて、前記グループを統合することを特徴とする請求項１１に記載の計算機システム。
【請求項１３】
前記グループに含まれる全ての前記文書部品の終了位置を変更した後に、さらに、前記グループに含まれる前記文書部品を比較して、異なる文字列部分を抽出し、
前記抽出された文字列部分を置換可能な文字列として前記文書部品データベースに登録することを特徴とする請求項１１に記載の計算機システム。
【請求項１４】
前記計算機システムは、前記計算機へ情報を入力し、又は前記計算機が実行した処理結果を表示する入出力装置を備え、
前記文書部品生成部は、
前記グループに含まれる全ての前記文書部品の終了位置を変更した後に、さらに、前記文書部品データベースに格納される前記文書部品を編集するための表示情報を前記入出力装置に対して出力し、
前記入出力装置から入力された編集情報に基づいて、前記文書部品データベースに格納される前記文書部品の登録内容を変更することを特徴とする請求項１１に記載の計算機システム。
【請求項１５】
前記目次部分を抽出する処理では、前記第２の類似文字列が所定の範囲に所定以上の割合で密集する部分を前記目次部分として抽出することを特徴とする請求項９に記載の計算機システム。
【発明の詳細な説明】
【技術分野】
【０００１】
効率的に文書を作成するために用いる文書部品のデータベースの構築方法及びデータベースを構築する計算機システムに関する。
【背景技術】
【０００２】
業務用の文書を作成する場合、同一の文書が繰り返し記述されることが多い。例えば、製品のマニュアルを作成する場合、古いモデルの製品マニュアルに基づいて、新しい製品のマニュアルを作成することが考えられる。このとき共通している文書や類似している文書は再利用すると効率的に製品のマニュアルを作成できる。
【０００３】
このような背景のもと、文書作成に再利用する文書部品を定義し、複数の文書部品を組み合わせて効率的に質の良い文書を作成することが考えられている。
【０００４】
文書部品を用いた文書作成方法については、文書部品の記述形式の国際規格ＤＩＴＡ（Ｄａｒｗｉｎ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｔｙｐｉｎｇ  Ａｒｃｈｉｔｅｃｔｕｒｅ）が、ＯＡＳＩＳ（Ｏｒｇａｎｉｚａｔｉｏｎ  ｆｏｒ  Ａｄｖａｎｃｅｍｅｎｔ  ｏｆ  Ｓｔｒｕｃｔｕｒｅｄ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｓｔａｎｄａｒｄｓ：構造化情報標準促進協会）によって制定されている。
【０００５】
ＯＡＳＩＳは、非営利の国際的なコンソーシアムであり、電子的な文書に関するさまざまな標準や規格を制定し、推進する団体である。ＯＡＳＩＳで制定された標準・規格は国際的に広く採用されている。
【０００６】
ＤＩＴＡは、ＸＭＬに基づいて文書の構造を記述する規格である。文書をトピックとマップの二つのタイプに分けて定義する。再利用される文書部品はトピックとして定義される。トピック全体や部分への参照をマップに定義する。トピックやトピックの部分を自由に組み合わせて文書を作成することが可能である。
【０００７】
再利用できるように文書部品をトピックとして記述するための手法として、トピック志向文書作成が提案されている。この文書作成方法の規約に従うことで、文書部品を作成することができる。
【０００８】
また、文書部品が作成された状況で、効率的な文書作成を支援する方法には、例えば、特許文献１に記載された方法が提案されている。このように、文書部品を利用して文書を作成するためには、効率的な文書作成として標準的な方法になってきている。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２０１０−１０８４５３号公報
【非特許文献】
【００１０】
【非特許文献１】Ｔ．コルメン（著）他、浅野  哲夫（翻訳）他、「アルゴリズムイントロダクション」、第１巻、近代科学社、１９９５年１２月、１５章
【発明の概要】
【発明が解決しようとする課題】
【００１１】
しかし、これまでに提案された文書部品作成方法では、利用者が文書作成に先立って文書部品を定義することが期待されている。また、新規に文書を作成するときに、トピック志向文書作成方法などの文書作成の手順に従って、再利用可能な文書部品を作成することが期待されている。
【００１２】
したがって、前述の方法では、あらかじめ利用者が定義した文書部品しか利用することができない。
【００１３】
文書部品を利用して文書を作成する場合、過去に作成され、蓄積されている大量の文書を活用することが望まれる。利用者が文書部品を定義しない場合、ＳＧＭＬ（Ｓｔａｎｄａｒｄ  Ｇｅｎｅｒａｌ  Ｍａｒｋ−ｕｐ  Ｌａｎｇｕａｇｅ）やＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋ−ｕｐ  Ｌａｎｇｕａｇｅ）などを使って文書構造を記述した文書を用意しておくことによって、その中から利用者が指定した文書構造部分を抽出することが考えられている。
【００１４】
しかし、ページや図表など、ＳＧＭＬやＸＭＬの構造として簡単に指定できる領域を抽出した文書部品しか利用することができない。
【００１５】
したがって、大量の文書から、再利用したい任意の文書部品を効率的に作成する方法が望まれている。
【課題を解決するための手段】
【００１６】
本発明の代表的な一例を示せば以下の通りである。すなわち、計算機と、文書を構成する要素である文書部品の管理情報を格納する文書部品データベースとを備える計算機システムにおける文書部品生成方法であって、前記計算機は、プロセッサと、前記プロセッサに接続されるメモリと、前記プロセッサに接続され、他の装置と接続するための第１のインタフェースと、を備え、前記文書部品データベースは、コントローラと、前記コントローラに接続される記憶媒体と、他の装置と接続するための第２のインタフェースと、を備え、前記メモリは、前記文書部品を生成する文書部品生成部を実現するためのプログラムを格納し、前記文書部品生成部は、文字列を含む文書ファイルから前記文字列の情報である対象文書を抽出する解析部と、前記文字列の並びの類似度を算出する類似度算出部とを含み、前記方法は、前記文書部品生成部が、複数の前記文書ファイルを受け付ける第１のステップと、前記文書部品生成部が、前記各文書ファイルを解析することによって前記各文書ファイルから前記対象文書を抽出し、前記対象文書を前記文書部品データベースに格納する第２のステップと、前記文書部品生成部が、前記文書部品データベースから複数の前記対象文書を読み出し、前記読み出された複数の対象文書を比較して前記文字列の並びの類似度を算出し、前記算出された類似度に基づいて前記文字列の並びが類似する第１の類似文字列を抽出する第３のステップと、前記文書部品生成部が、前記各対象文書間における第１の類似文字列の対応関係毎にグループを構成する第４のステップと、前記文書部品生成部が、前記グループ毎に、前記第１の類似文字列を前記文書部品として前記文書部品データベースに登録する第５のステップと、を含むことを特徴とする。
【発明の効果】
【００１７】
本発明の一形態によれば、複数の文書から自動的に文書部品を生成することができる。また、グループ毎に効率的な管理を可能とする文書部品データベースを構築することができる。
【図面の簡単な説明】
【００１８】
【図１】本発明の実施形態における文書生成部の構成を示す説明図である。
【図２】本発明の実施形態における計算機システムの構成例を説明するブロック図である。
【図３】本発明の実施形態における文書部品データベースの一例を示す説明図である。
【図４】本発明の実施形態における文書ファイル管理テーブルの一例を示す説明図である。
【図５】本発明の実施形態における類似文字列管理テーブルの一例を示す説明図である。
【図６】本発明の実施形態における項目文字列管理テーブルの一例を示す説明図である。
【図７】本発明の実施形態における対応関係管理テーブルの一例を示す説明図である。
【図８】本発明の実施形態における文書部品管理テーブルの一例を示す説明図である。
【図９】本発明の実施形態における文書間類似度評価部の処理結果の一例を示す説明図である。
【図１０Ａ】本発明の実施形態における対象文書の一例を示す説明図である。
【図１０Ｂ】本発明の実施形態における対象文書の一例を示す説明図である。
【図１１Ａ】本発明の実施形態における動的計画法の一例を示す説明図である。
【図１１Ｂ】本発明の実施形態における動的計画法の一例を示す説明図である。
【図１２】本発明の実施形態における第１の類似文字列の抽出結果の一例を示す説明図である。
【図１３】本発明の実施形態における自己類似度評価部が処理を実行した後の処理結果を示す説明図である。
【図１４】本発明の実施形態における目次部分抽出部が実行する処理の一例を説明するフローチャートである。
【図１５】本発明の実施形態における目次部分抽出部の処理結果の一例を示す説明図である。
【図１６Ａ】本発明の実施形態における対象文書の一例を示す説明図である。
【図１６Ｂ】本発明の実施形態における対象文書の一例を示す説明図である。
【図１６Ｃ】本発明の実施形態における対象文書の一例を示す説明図である。
【図１６Ｄ】本発明の実施形態における対象文書の一例を示す説明図である。
【図１７Ａ】本発明の実施形態のおける自己類似度評価部の処理結果の一例を示す説明図である。
【図１７Ｂ】本発明の実施形態のおける自己類似度評価部の処理結果の一例を示す説明図である。
【図１８】本発明の実施形態における目次部分抽出部の処理結果の一例を示す説明図である。
【図１９Ａ】本発明の実施形態における目次部分の抽出例を示す説明図である。
【図１９Ｂ】本発明の実施形態における目次部分の抽出例を示す説明図である。
【図２０】本発明の実施形態における文書部品生成部が実行する処理を説明するフローチャートである。
【図２１Ａ】本発明の実施形態における文書部品生成部の処理の具体例を示す説明図である。
【図２１Ｂ】本発明の実施形態における文書部品生成部の処理の具体例を示す説明図である。
【図２１Ｃ】本発明の実施形態における文書部品生成部の処理の具体例を示す説明図である。
【図２１Ｄ】本発明の実施形態における文書部品生成部の処理の具体例を示す説明図である。
【図２１Ｅ】本発明の実施形態における文書部品生成部の処理の具体例を示す説明図である。
【図２１Ｆ】本発明の実施形態における文書部品生成部の処理の具体例を示す説明図である。
【図２２】本発明の実施形態における項目文字列処理部が実行する処理を説明するフローチャートである。
【図２３】本発明の実施形態における項目文字列処理部の処理の流れを示す説明図である。
【図２４】本発明の実施形態における置換文字列抽出部が実行する処理を説明するフローチャートである。
【図２５】本発明の実施形態における置換文字列管理テーブルの一例を示す説明図である。
【図２６Ａ】本発明の実施形態における置換文字列抽出部が実行する処理の具体例を示す説明図である。
【図２６Ｂ】本発明の実施形態における置換文字列抽出部が実行する処理の具体例を示す説明図である。
【図２６Ｃ】本発明の実施形態における置換文字列抽出部が実行する処理の具体例を示す説明図である。
【図２７】本発明の実施形態における編集画面を示す説明図である。
【発明を実施するための形態】
【００１９】
以下、図面を用いて本発明の実施形態について説明する。
【００２０】
図１は、本発明の実施形態における文書生成部１００の構成を示す説明図である。
【００２１】
文書生成部１００は、文書部品１３０を生成する。文書生成部１００は、計算機２００（図２参照）が備えるプロセッサ２０１（図２参照）によって実行されるソフトウェアであり、複数のモジュールから構成される。
【００２２】
具体的には、文書生成部１００は、文書ファイル入力部１０１、文書配置解析部１０２、文書間類似度評価部１０３、自己類似度評価部１０４、目次部分抽出部１０５、文書部品生成部１０６、項目文字列処理部１０７、置換文字列抽出部１０８、及び文書部品編集部１０９を含む。
【００２３】
文書ファイル入力部１０１は、文書ファイル１２０の入力を受け付ける。また、文書ファイル入力部１０１は、入力された文書ファイル１２０に一意な識別子を付与する。以下、文書ファイル１２０が付与する識別子を文書ＩＤとも記載する。
【００２４】
ここで、文書ファイル１２０とは、文書及び図面等を含むファイルデータを示す。例えば、文書ファイル１２０は、ワードプロセッサなどを用いて作成されたデータ、光学式文字読取装置（ＯＣＲ）などを用いて作成されたデータ等が考えられる。
【００２５】
なお、文書ファイル１２０に含まれる文書は文字コード化されているものとする。ただし、文書ファイル１２０に含まれる文書は構造化された文書でなくてもよく、また、文字コードに制限されない。すなわち、ひらがな、仮名、漢字、アルファベット、記号、その他の文字コードに対して適用可能である。
【００２６】
文書配置解析部１０２は、一つの文書ファイル１２０から文字列のみからなる文書を抽出する。以下、抽出された文書を対象文書とも記載する。なお、一つの文書ファイル１２０からは、一つの対象文書が抽出される。
【００２７】
文書間類似度評価部１０３は、複数の対象文書を比較して、類似度の高い文字列を抽出する。以下、文書間類似度評価部１０３によって抽出された文字列を第１の類似文字列とも記載する。
【００２８】
自己類似度評価部１０４は、一つの対象文書内に含まれる文字列を比較して、類似度の高い文字列を抽出する。以下、自己類似度評価部１０４によって抽出された文字列を第２の類似文字列とも記載する。
【００２９】
目次部分抽出部１０５は、第２の類似度の文字列の配置を解析することによって、対象文書における第２の類似文字列の集合部分を目次部分として抽出する。
【００３０】
ここで、目次部分とは、対象文書を特徴づける文字列からなる部分であって、対象文書の内容を示す項目が集合する部分を示す。例えば、書籍の目次、及び、パラグラフの題目などが目次部分として抽出される。
【００３１】
以下、目次部分に含まれる第２の類似文字列を項目文字列と記載する。
【００３２】
文書部品生成部１０６は、項目文字列に基づいて、第１の類似文字列から文書部品を生成する。ここで、文書部品とは、文書を構成する要素であり、対象文書と同一又は類似する文書を作成する場合に用いられる頻度の高い文字列（文書）を表す。
【００３３】
項目文字列処理部１０７は、辞書を用いて、項目文字列の関連付けを行う。
【００３４】
置換文字列抽出部１０８は、文書部品のうち、置き換え可能な文字列を抽出する。
【００３５】
文書部品編集部１０９は、文書部品の修正及び編集を行う。
【００３６】
本実施形態では、以下のような流れで処理が実行される。
【００３７】
まず、文書ファイル入力部１０１が文書ファイル１２０を受け付け、文書配置解析部１０２が文書ファイルから対象文書を抽出する。
【００３８】
次に、文書間類似度評価部１０３が複数の対象文書を比較して、第１の類似文字列を抽出する。本実施形態では、第１の類似文字列から文書部品が生成される。
【００３９】
次に、自己類似度評価部１０４が第２の類似文字列を抽出し、目次部分抽出部１０５が抽出された第２の類似文字列の配置を解析して目次部分を抽出する。これによって、目次文字列が抽出される。
【００４０】
文書部品生成部１０６は、第１の類似文字列及び項目文字列を用いて、文書部品を生成する。さらに、文書部品生成部１０６が項目文字列を用いて文書部品の名称を決定する。
【００４１】
項目文字列処理部１０７は、文書部品の名称を解析して文書部品を統合する。置換文字列抽出部１０８は、文書部品の置換可能な文字列を抽出する。
【００４２】
最後に、文書部品編集部１０９が、ユーザからの修正操作を受け付け、最終的な文書部品のデータベースを生成する。
【００４３】
図２は、本発明の実施形態における計算機システムの構成例を説明するブロック図である。
【００４４】
計算機システムは、計算機２００、入出力装置２２０、外部記憶装置２１０、及びホスト端末２４０から構成される。
【００４５】
計算機２００は、文書生成部１００を実行する計算機である。計算機２００は、プロセッサ２０１、メモリ２０２、Ｉ／Ｏインタフェース２０３及びネットワークインタフェース２０４を備える。
【００４６】
プロセッサ２０１は、メモリ２０２に格納されるプログラムを実行する。以下、文書ファイル入力部１０１、文書配置解析部１０２、文書間類似度評価部１０３、自己類似度評価部１０４、目次部分抽出部１０５、文書部品生成部１０６、項目文字列処理部１０７、置換文字列抽出部１０８、又は文書部品編集部１０９を主語として説明する場合、プロセッサ２０１が各構成部を実現するプログラムを実行していることを表す。
【００４７】
メモリ２０２は、プロセッサ２０１によって実行されるプログラム及び当該プログラムを実行するために必要な情報を格納する。具体的には、メモリ２０２は、文書生成部１００を格納する。なお、メモリ２０２には他のプログラムが格納されてもよい。また、メモリ２０２は、文字列の抽出するための文字コードを格納する。
【００４８】
Ｉ／Ｏインタフェース２０３は、外部装置と接続するためのインタフェースである。ネットワークインタフェース２０４は、ネットワーク２３０に接続するためのインタフェースである。
【００４９】
本実施形態では、計算機２００は、入出力装置２２０及び外部記憶装置２１０と接続される。また、計算機２００は、ネットワーク２３０を介してホスト端末２４０と接続される。なお、本発明は、ネットワーク２３０の接続形式に限定されない。
【００５０】
入出力装置２２０は、計算機２００に各種データを入力し、また、計算機２００の処理結果等を出力する装置である。具体的には、入出力装置２２０は、光学ドライブ２２１、ディスプレイ２２２、及びキーボード２２３を備える。なお、入出力装置２２０は、他の構成を含んでいてもよい。
【００５１】
光学ドライブ２２１は、ＣＤ−ＲＯＭ及びＤＶＤ等の記憶媒体からデータを読み出し、また、当該記憶媒体にデータを書き込むための装置である。ディスプレイ２２２は、計算機２００にデータを入力するための画像、及び計算機２００が実行した処理の処理結果を表示するための装置である。キーボード２２３は、計算機２００にデータを入力するためのインタフェースである。
【００５２】
外部記憶装置２１０は、辞書及びデータベースを格納する。外部記憶装置２１０は、少なくとも、一以上の記憶媒体（図示省略）及びコントローラ（図示省略）を備える。外部記憶装置２１０が備える記憶媒体（図示省略）には、文書部品データベース２１１、及び辞書２１２が格納される。
【００５３】
文書部品データベース２１１は、文書ファイル１２０の情報、及び、文書部品の情報を格納する。辞書２１２は、文書生成部１００の処理に用いる辞書である。
【００５４】
ホスト端末２４０は、計算機２００に処理を依頼する計算機である。なお、本実施形態では、ユーザが計算機２００を直接操作する場合について説明する。なお、計算機２００は、ホスト端末２４０からの処理依頼を受け付けて、同様の処理を実行してもよい。
【００５５】
図３は、本発明の実施形態における文書部品データベース２１１の一例を示す説明図である。
【００５６】
文書部品データベース２１１は、文書ファイル管理テーブル３０１、類似文字列管理テーブル３０２、項目文字列管理テーブル３０３、対応関係管理テーブル３０４、及び文書部品管理テーブル３０５を含む。なお、文書部品データベース２１１は、他のテーブルを含んでいてもよい。
【００５７】
文書ファイル管理テーブル３０１は、文書ファイル１２０及び対象文書の情報を格納する。類似文字列管理テーブル３０２は、第１の類似文字列の情報を格納する。項目文字列管理テーブル３０３は、項目文字列の情報を格納する。
【００５８】
対応関係管理テーブル３０４は、対象文書間における第１の文字列の対応関係を格納する。文書部品管理テーブル３０５は、文書部品の情報を格納する。
【００５９】
以下、各テーブルの詳細について説明する。
【００６０】
図４は、本発明の実施形態における文書ファイル管理テーブル３０１の一例を示す説明図である。
【００６１】
文書ファイル管理テーブル３０１は、文書ＩＤ４０１、文書ファイルＩＤ４０２、及び文字列情報４０３を含む。
【００６２】
文書ＩＤ４０１は、対象文書を識別するための文書ＩＤを格納する。文書ファイルＩＤ４０２は、文書ファイル１２０を識別するための識別子を格納する。文字列情報４０３は、文書ファイル１２０から抽出された対象文書（文字列）を格納する。
【００６３】
図５は、本発明の実施形態における類似文字列管理テーブル３０２の一例を示す説明図である。
【００６４】
類似文字列管理テーブル３０２は、類似文字列ＩＤ５０１、文書ＩＤ５０２、開始位置５０３、及び文字列長５０４を含む。
【００６５】
類似文字列ＩＤ５０１は、第１の類似文字列の識別子を格納する。文書ＩＤ５０２は、対象文書を識別するための文書ＩＤを格納する。文書ＩＤ５０２は、文書ＩＤ４０１と同一のものである。
【００６６】
開始位置５０３は、第１の類似文字列が開始する文字の位置を格納する。文字列長５０４は、第１の類似文字列の文字数を格納する。
【００６７】
文書生成部１００は、当該テーブルを参照することによって、文書ＩＤ５０２から第１の類似文字列が含まれる対象文書が分かり、開始位置５０３から対象文章における第１の類似文字列の開始位置が分かり、文字列長５０４から第１の類似文字列の文字数が分かる。すなわち、文書生成部１００は、類似文字列管理テーブル３０２を参照することによって第１の類似文字列を把握することができる。
【００６８】
図６は、本発明の実施形態における項目文字列管理テーブル３０３の一例を示す説明図である。
【００６９】
項目文字列管理テーブル３０３は、項目文字列ＩＤ６０１、文書ＩＤ６０２、開始位置６０３、及び文字列長６０４を含む。
【００７０】
項目文字列ＩＤ６０１は、項目文字列を識別するための識別子を格納する。文書ＩＤ６０２は、対象文書を識別するための文書ＩＤを格納する。文書ＩＤ６０２は、文書ＩＤ４０１と同一のものである。
【００７１】
開始位置６０３は、項目文字列が開始する文字の位置を格納する。文字列長６０４は、項目文字列の文字の数を格納する。
【００７２】
文書生成部１００は、当該テーブルを参照することによって、文書ＩＤ６０２から項目文字列が含まれる対象文書が分かり、開始位置６０３から対象文章における項目文字列の開始位置が分かり、文字列長６０４から項目文字列の文字数が分かる。すなわち、文書生成部１００は、項目文字列管理テーブル３０３を参照することによって項目文字列を把握することができる。
【００７３】
図７は、本発明の実施形態における対応関係管理テーブル３０４の一例を示す説明図である。
【００７４】
対応関係管理テーブル３０４は、グループＩＤ７０１及び類似文字列ＩＤ７０２を含む。
【００７５】
グループＩＤ７０１は、対象文書間における類似文字列の対応関係を識別するための識別子を格納する。本実施形態では、対応関係のある類似文字列の集合をグループとして扱う。
【００７６】
類似文字列ＩＤ７０２は、第１の類似文字列を識別するための識別子を格納する。類似文字列ＩＤ７０２は、類似文字列ＩＤ５０１と同一のものである。
【００７７】
図８は、本発明の実施形態における文書部品管理テーブル３０５の一例を示す説明図である。
【００７８】
文書部品管理テーブル３０５は、グループＩＤ８０１、項目文字列ＩＤ８０２、及び名称８０３を含む。
【００７９】
グループＩＤ８０１は、対象文書間における類似文字列の対応関係を識別するための識別子を格納する。グループＩＤ８０１は、グループＩＤ７０１と同一のものである。
【００８０】
項目文字列ＩＤ８０２は、項目文字列を識別するための識別子を格納する。項目文字列ＩＤ８０２は、項目文字列ＩＤ６０１と同一のものである。
【００８１】
名称８０３は、文書部品の名称を格納する。
【００８２】
なお、文書部品データベース２１１に含まれる各テーブルの更新方法については後述する。
【００８３】
以下、文書生成部１００の各構成部の処理について説明する。
【００８４】
文書ファイル入力部１０１は、光学ドライブ２２１に挿入された記憶媒体、又は、キーボード２２３から入力される文書ファイル１２０を受け付ける。文書ファイル入力部１０１は、受け付けた文書ファイル１２０に文書ＩＤを付与して文書部品データベース２０５３に格納する。
【００８５】
具体的には、文書ファイル入力部１０１は、文書ファイル管理テーブル３０１にエントリを生成し、当該エントリの文書ＩＤ４０１、文書ファイルＩＤ４２０に対応する情報を格納する。この時点では、対象文書は抽出されていないため、文字列情報４０３には情報が格納されない。
【００８６】
本実施形態では、文書生成部１００は、複数の文書ファイル１２０を比較して文書部品を生成する。したがって、文書ファイル入力部１０１には、複数の文書ファイル１２０が入力される。
【００８７】
ここで、複数の文書ファイル１２０としては、類似する製品のマニュアル、エディションが異なる文書群（例えば、書籍等）、文書の類似性に基づいて検索された文書群などが考えられる。
【００８８】
文書配置解析部１０２は、文字列、画像、表、ヘッダ、フッタ、及びページなどを含む文書ファイル１２０から対象文書を抽出する。例えば、テキストファイルが入力された場合、文書配置解析部１０２は、当該ファイルの中身を全て対象文書として抽出する。また、ワードプロセッサを用いて作成されたファイルが入力された場合、当該ファイルには本文部分、画像部分、表部分、ヘッダ部分、及びフッタ部分などを明示する情報が付与されており、文書配置解析部１０２は、前述した情報にしたがって本文部分を対象文書として抽出する。
【００８９】
また、文書配置解析部１０２は、抽出された対象文書を文書部品データベース２１１に格納する。具体的には、文書配置解析部１０２は、文書ファイル管理テーブル３０１の対応するエントリの文字列情報４０３に対象文書の情報を格納する。
【００９０】
なお、対象文書の抽出方法としては、例えば、文書ファイル１２０が自然言語を用いて記述された文字列部分、及び、ＳＧＭＬやＸＭＬなどのテキスト形式でマークアップ言語を用いて記述された文字列部分を含む場合、マークアップ言語及び自然言語を用いて記述された文字列を抽出する方法が考えられる。
【００９１】
文書間類似度評価部１０３は、文書ファイル管理テーブル３０１から対象文書を取得し、複数の対象文書を比較して類似度の高い文字列（第１の類似文字列）を抽出する。本実施形態では、第１の類似文字列から文書部品が生成される。
【００９２】
類似度の高い文字列を抽出する方法としては、例えば、近似文字列照合技術を用いることが考えられる。近似文字列照合技術は、自然言語の文字列照合、及びＤＮＡ配列の相同性部分の検出に使われる技術である。
【００９３】
自然言語の場合は、動的計画法を用いてスコアを計算する方法が考えられる。具体的な計算方法については、例えば、非特許文献１に記載されているためここでは詳細な説明は省略する。
【００９４】
図９は、本発明の実施形態における文書間類似度評価部１０３の処理結果の一例を示す説明図である。図９は、４つの対象文書９０１〜９０４の比較結果を示す。
【００９５】
図９では、対象文書は横線を用いて表現し、第１の類似文字列は太い横線を用いて表している。また、第１の類似文字列の対応関係は、破線を用いて表している。
【００９６】
文字列９２１、９２２、９２３は、対象文書９０１、９０２、９０３における第１の類似文字列である。文字列９３１、９３２、９３３、９３４は、対象文書９０１、９０２、９０３、９０４における第１の類似文字列である。文字列９４１、９４３、９４４は、対象文書９０１、９０３、９０４における第１の類似文字列である。文字列９５１、９５２、９５４は、対象文書９０１、９０２、９０４における第１の類似文字列である。
【００９７】
文書生成部１００は、対応関係のある第１の類似文字列を一つのグループとして管理する。ユーザは、一つのグループに含まれる文書部品の中から適切な文書部品を選択することによって効率的な文書を作成することが可能となる。
【００９８】
以下、２つの対象文書を比較する場合を例に、第１の類似文字列の抽出方法について説明する。なお、３つ以上の対象文書を比較する場合は、すべての対象文書同士の組み合わせを計算すればよい。
【００９９】
図１０Ａ及び図１０Ｂは、本発明の実施形態における対象文書の一例を示す説明図である。図１１Ａ及び図１１Ｂは、本発明の実施形態における動的計画法の一例を示す説明図である。図１２は、本発明の実施形態における第１の類似文字列の抽出結果の一例を示す説明図である。
【０１００】
なお、説明を簡単にするため対象文書は短いものを用いる。また、本実施形態では、空白も一つの文字列として扱われる。
【０１０１】
文書間類似度評価部１０３は、図１０Ａに示すような文書１００１及び文書１００２のスコアを算出する。ここで、スコアとは、２つの文書がどの程度類似しているかを示す数値である。
【０１０２】
本実施形態では、文書間類似度評価部１０３は、一方の文字列を他方の文字列に変換するために必要な操作の回数に基づいてスコアを算出する。なお、文字列の変換に必要な操作としては、文字の挿入、削除、及び置換などが考えられる。
【０１０３】
文書間類似度評価部１０３は、文字列の変換に必要な操作にコストを設定し、コストの合計値をスコアとして算出する。本実施形態では、文字の挿入、削除、及び置換したときのコストを「−２」、文字が一致したときのコストを「＋２」とする。
【０１０４】
動的計画法では、図１１Ａ及び図１１Ｂに示すように、比較する文字列をそれぞれ列と行とに対応させる。文書間類似度評価部１０３は、スコアを２次元の表で管理し、マス順にスコアを算出する。
【０１０５】
ここで、ｎ行目、ｍ列目のマスの位置を（ｎ，ｍ）と定義する。なお、ｎ及びｍは自然数とする。このとき、マス（ｎ，ｍ）のスコアＳ（ｎ，ｍ）は、式（１）を用いて計算することができる。
【０１０６】
【数１】
2013016036.tif 000003
【０１０７】
ここで、ｄ（ｎ，ｍ）は、操作のコストに対応する値である。すなわち、行に対応する文字列のｎ番目の文字と、列に対応する文字列のｍ番目の文字とが一致する場合には「＋２」、一致しない場合には「−２」となる。
【０１０８】
なお、文書間類似度評価部１０３は、各マスのスコアを記憶しておき、他のマスのスコアを算出するときに用いる。また、文書間類似度評価部１０３は、マスのスコアを算出するときに用いた他のマスのスコアを記憶する。なお、スコア等の情報はメモリ２０２上に一時的に格納される。
【０１０９】
図１１Ａに示す例のマス（１２，１３）の場合、行に対応する文書１００１の１２番目の文字と、列に対応する文書１００２の１３番目の文字とが一致するため、ｄ（１２，１３）が「＋２」になる。したがって、スコアＳ（１２，１３）は、式（２）から「１４」と算出される。
【０１１０】
【数２】
2013016036.tif 000004
【０１１１】
このとき、文書間類似度評価部１０３は、マス（１２，１３）のスコアＳ（１２，１３）がスコアＳ（１１，１２）を用いて算出されたことを記憶する。ただし、算出されたスコアが「０」の場合、文書間類似度評価部１０３は、それまで記憶していたマスのスコアの情報をすべて消去する。
【０１１２】
各マスのスコアは、当該マスのスコアを算出するときに用いたマスに対応する文字列の類似度を表す。したがって、文書間類似度評価部１０３は、スコアが高いマスから逆方向にマスをたどることによって、類似度が高い文字列を抽出することができる。
【０１１３】
ただし、文書間類似度評価部１０３は、一度たどったマスを重複してたどらないようにする。これによって、同一の文字列を含む類似文字列が何度も抽出されることを抑制できる。
【０１１４】
図１１Ａに示す例では、マス（１５，１６）のスコアが「２０」で最大である。文書間類似度評価部１０３は、スコア「２０」を算出するまでにたどったマスを特定する。
【０１１５】
例えば、図１０Ａに示す文書１００１、１００２に対しては、図１２に示すような文字列が第１の類似文字列として抽出される。
【０１１６】
図１０Ｂに示すように文字列１０１１、１０１２に対しても同様の方法を適用すると、図１１Ｂに示すような結果となる。
【０１１７】
前述した方法によって抽出された第１の類似文字列の情報は、文書間類似度評価部１０３によって文書部品データベース２１１に格納される。具体的には、以下のような処理が実行される。
【０１１８】
文書間類似度評価部１０３は、抽出された第１の類似文字列に類似文字列ＩＤを付与する。文書間類似度評価部１０３は、類似文字列管理テーブル３０２にエントリを生成し、当該エントリの類似文字列ＩＤ５０１に識別子を格納する。
【０１１９】
次に、文書間類似度評価部１０３は、当該エントリの文書ＩＤ５０２に対応する文書ＩＤを格納する。
【０１２０】
さらに、文書間類似度評価部１０３は、第１の類似文字列の開始文字の位置を当該エントリの開始位置５０３に格納し、また、第１の類似文字列の文字数を当該エントリの文字列長５０４に格納する。
【０１２１】
また、文書間類似度評価部１０３は、対象文書間の比較結果に基づいて、対応する第１の類似文字列を一つのグループにまとめる。さらに、文書間類似度評価部１０３は、当該グループにグループＩＤを付与する。文書間類似度評価部１０３は、対応関係管理テーブル３０４にエントリを生成し、当該エントリのグループＩＤ７０１に識別子を格納する。
【０１２２】
さらに、文書間類似度評価部１０３は、対応関係がある第１の類似文字列に付与された識別子を類似文字列ＩＤ７０２に格納する。これによって、文書生成部１００は、図９に示すような対象文書間における第１の類似文字列の対応関係を把握できる。
【０１２３】
なお、文書間類似度評価部１０３が実行する処理では、単語、文のつながり等は考慮されない。したがって、抽出された文字列は、文の切れ目などが適切でないものも含まれる。
【０１２４】
本発明は、後述する文書部品生成部１０６が、項目文字列を用いて文の切れ目を特定し、一つの文書部品を生成する点に特徴がある。すなわち、本発明では、辞書を用いることなく文字列の処理のみによって文書部品を生成することができる点に特徴がある。
【０１２５】
自己類似度評価部１０４は、一つの対象文書において類似度の高い文字列（第２の類似文字列）を抽出する。本実施形態では、第２の類似文字列の分布に基づいて目次部分が抽出される。
【０１２６】
なお、自己類似度評価部１０４が実行する処理は、文書間類似度評価部１０３が実行する処理と同一であるため説明を省略する。ただし、対象文書そのものについては、第２の類似文字列として扱われない。また、第１の類似文字列以外の文字列は処理の対象として扱われない。
【０１２７】
図１３は、本発明の実施形態における自己類似度評価部１０４が処理を実行した後の処理結果を示す説明図である。
【０１２８】
図１３では、各対象文書９０１、９０２、９０３、９０４の自己類似度の評価結果を示す。曲線が各対象文書における対応関係を示す。なお、文書間における第１の類似文字列の対応関係は図が複雑になるため省略している。
【０１２９】
文字列１３０１〜１３０４は、対象文書９０１における第２の類似文字列である。文字列１３１１〜１３１３は、対象文書９０２における第２の類似文字列である。文字列１３２１〜１３２３は、対象文書９０３における第２の類似文字列である。文字列１３３１〜１３３４は、対象文書９０４における第２の類似文字列である。
【０１３０】
なお、自己類似度評価部１０４は、第２の類似文字列に関する情報を一時的にメモリ２０２上に格納する。例えば、類似文字列管理テーブル３０２と同様の情報を格納することが考えられる。
【０１３１】
なお、自己類似度評価部１０４の処理結果はメモリ２０２上に一時的に格納される。
【０１３２】
目次部分抽出部１０５は、自己類似度評価部１０４の処理結果に基づいて、目次部分を抽出する。本発明では、目次部分に含まれる項目文字列を用いて第１の類似文字列が修正され、また、項目文字列を用いてグループの名称が決定される。
【０１３３】
図１４は、本発明の実施形態における目次部分抽出部１０５が実行する処理の一例を説明するフローチャートである。
【０１３４】
目次部分抽出部１０５は、自己類似度評価部１０４が処理を終了すると、メモリ２０２上に格納される第２の類似文字列の情報に基づいて処理を開始する。
【０１３５】
まず、目次部分抽出部１０５は、初期化処理を実行する（ステップＳ１４０１）。
【０１３６】
具体的には、変数Ｓ及び変数Ｌを「０」に設定し、また、閾値Ｔを所定の値に設定する。
【０１３７】
ここで、変数Ｓは、現在処理されている文字列の長さ、すなわち、読み出された文字の総数を表す。また。変数Ｌは、現在処理されている文字列のうち、第２の類似文字列に一致する文字の数を表す。また、閾値Ｔは、予め設定されたものとする。例えば、閾値Ｔの値は「０．９」程度に設定する。なお、閾値Ｔは、ユーザが適宜変更できる。
【０１３８】
目次部分抽出部１０５は、初期化処理が終了すると、対象文書の最初の文字から順に以下の処理を実行する。
【０１３９】
まず、目次部分抽出部１０５は、対象文書から文字を１つ読み出す（ステップＳ１４０２）。
【０１４０】
目次部分抽出部１０５は、読み出された文字が、第２の類似文字列のいずれかに一致する文字であるか否かを判定する（ステップＳ１４０３）。
【０１４１】
読み出された文字が、第２の類似文字列のいずれかに一致する文字であると判定された場合、目次部分抽出部１０５は、変数Ｓ及び変数Ｌの値を「１」加算し、また、変数Ｓの逆数を指標ｋとして算出する（ステップＳ１４０４）。その後、目次部分抽出部１０５は、ステップＳ１４０５に進む。
【０１４２】
ここで、指標ｋは、目次部分に該当するか否かを示す値である。指標ｋは、狭い範囲、かつ、第２の類似文字列と一致する文字を多く含む場合に大きな値となる。具体的には、ある範囲に含まれる文字数のうち、第２の類似文字列と一致すると判定された文字の割合で評価される。
【０１４３】
読み出された文字が、第２の類似文字列のいずれかに一致する文字でないと判定された場合、目次部分抽出部１０５は、変数Ｓの値を「１」加算し、また、指標ｋを算出する（ステップ１４０８）。その後、目次部分抽出部１０５は、ステップＳ１４０５に進む。
【０１４４】
目次部分抽出部１０５は、指標ｋが閾値Ｔより小さいか否かを判定する（ステップＳ１４０５）。すなわち、読み出された文字が目次部分の終了位置となるか否かが判定される。指標ｋが閾値Ｔより小さい場合、読み出された文字が目次部分の終了位置であると判定される。
【０１４５】
指標ｋが閾値Ｔ以上であると判定された場合、目次部分抽出部１０５は、ステップＳ１４０８に進む。
【０１４６】
指標ｋが閾値Ｔより小さいと判定された場合、目次部分抽出部１０５は、変数Ｓ及び変数Ｌの値を初期化し（ステップＳ１４０６）、ステップＳ１４０８に進む。
【０１４７】
目次部分抽出部１０５は、読み出す文字列が存在するか否かを判定する（ステップＳ１４０７）。すなわち、対象文書の全ての文字が読み出されたか否かが判定される。
【０１４８】
読み出す文字列が存在すると判定された場合、目次部分抽出部１０５は、ステップＳ１４０２に戻り、同様の処理（ステップＳ１４０２〜ステップＳ１４０９）を実行する。
【０１４９】
読み出す文字列が存在しないと判定された場合、目次部分抽出部１０５は、処理結果を文書部品データベース２１１に格納し、処理を終了する。具体的には、以下のような処理が実行される。
【０１５０】
目次部分抽出部１０５は、メモリ２０２上に格納される情報に基づいて、目次部分に含まれる第２の類似文字列を検索する。検索方法は、文字列のマッチングなどを行う方法が考えられる。検索された第２の類似文字列が項目文字列として登録される。
【０１５１】
目次部分抽出部１０５は、検索された項目文字列（第２の類似文字列）に識別子を付与する。
【０１５２】
次に、目次部分抽出部１０５は、項目文字列管理テーブル３０３にエントリを生成し、項目文字列ＩＤ６０１に付与された識別子を格納する。また、目次部分抽出部１０５は、当該エントリの文書ＩＤ６０２に対象文書の識別子を格納する。
【０１５３】
さらに、目次部分抽出部１０５は、当該エントリの開始位置６０３に、対象文書における第２の類似文字列の開始位置を格納する。また、目次部分抽出部１０５は、当該エントリの文字列長６０４に、第２の類似文字列の文字数を格納する。
【０１５４】
以上の処理によって、対象文書における項目文字列を把握することができる。
【０１５５】
図１５は、本発明の実施形態における目次部分抽出部１０５の処理結果の一例を示す説明図である。
【０１５６】
図１５に示すように、目次部分抽出部１０５は、第２の類似文字列が密集する範囲１５０１を目次部分として抽出する。なお、閾値Ｔを小さくすると目次部分として抽出される範囲は大きくなる。
【０１５７】
次に、具体的な文書を用いて、自己類似度評価部１０４及び目次部分抽出部１０５の処理について説明する。
【０１５８】
図１６Ａ、図１６Ｂ、図１６Ｃ、及び図１６Ｄは、本発明の実施形態における対象文書の一例を示す説明図である。図１７Ａ及び図１７Ｂは、本発明の実施形態のおける自己類似度評価部１０４の処理結果の一例を示す説明図である。図１８は、本発明の実施形態における目次部分抽出部１０５の処理結果の一例を示す説明図である。図１９Ａ及び図１９Ｂは、本発明の実施形態における目次部分の抽出例を示す説明図である。
【０１５９】
自己類似度評価部１０４が、図１６Ａの文書に対して処理を実行すると、図１７Ａに示すような第２の類似文字列を抽出する。また、自己類似度評価部１０４は、図１６Ｃの文書に対して処理を実行すると、図１７Ｂに示すような第２の類似文字列を抽出する。
【０１６０】
目次部分抽出部１０５は、図１７Ａに示す第２の類似文字列の抽出結果に対して処理をすると、指標ｋの値は図１８に示すようなグラフになる。図１８は、横軸が対象文書における先頭からの文字数（文字の順番）を示し、縦軸が指標ｋの値を表す。
【０１６１】
本実施形態では、指標ｋの値が所定の閾値より小さくなる直前の文字列までの範囲が目次部分として抽出される。図１８に示す例では、３文字目から４０文字目までが目次部分として抽出される。
【０１６２】
目次部分抽出部１０５は、図１７Ａの対象文書に対して処理を実行すると図１９Ａに示すような目次部分を抽出する。また、目次部分抽出部１０５は、図１７Ｂの対象文書に対して処理を実行すると図１９Ｂに示すような目次部分を抽出する。
【０１６３】
文書部品生成部１０６は、第１の類似文字列及び項目文字列を用いて、文書部品を生成する。なお、文書部品生成部１０６は、目次部分として抽出された部分は除外して処理を実行する。
【０１６４】
図２０は、本発明の実施形態における文書部品生成部１０６が実行する処理を説明するフローチャートである。
【０１６５】
文書部品生成部１０６は、まず、グループ毎にスコアを算出する（ステップＳ２００１）。例えば、図９に示す例では、文字列９２１、９２２、９２３が一つのグループを構成する。具体的には、以下のような処理が実行される。
【０１６６】
文書部品生成部１０６は、対応関係管理テーブル３０４を参照して、グループ毎にエントリを取得する。
【０１６７】
文書部品生成部１０６は、一つのグループを選択する。このとき、文書部品生成部１０６は、文書部品管理テーブル３０５にエントリを生成し、当該エントリのグループＩＤ８０１にグループＩＤ７０１と同一の識別子を格納する。なお、項目文字列ＩＤ８０２、及び名称８０３には値は格納されない。
【０１６８】
文書部品生成部１０６は、対応関係管理テーブル３０４を参照し、選択されたグループに含まれるエントリの類似文字列ＩＤ７０２を取得する。
【０１６９】
文書部品生成部１０６は、取得された類似文字列ＩＤ７０２に基づいて類似文字列管理テーブル３０２を参照して、対応する第１の類似文字列のエントリを取得する。
【０１７０】
さらに、文書部品生成部１０６は、取得されたエントリの文書ＩＤ５０２に基づいて文書ファイル管理テーブル３０１を参照して、文字列情報４０３を取得する。
【０１７１】
文書部品生成部１０６は、開始位置５０３、文字列長５０４、及び取得された文字列情報４０３に基づいて、対応関係のある第１の類似文字列を全て取得できる。
【０１７２】
次に、文書部品生成部１０６は、取得された複数の第１の類似文字列に対して、式（３）を用いてスコアを算出する。
【０１７３】
【数３】
2013016036.tif 000005
【０１７４】
なお、類似度は、対比する第１の類似文字列の文字数と、対比する第１の類似文字列において相違する文字の文字数とから算出できる。ステップＳ１４０１では、文字列が長く、かつ、類似する文字が多いほどスコアが高い。
【０１７５】
以上がステップＳ２００１の処理である。
【０１７６】
次に、文書部品生成部１０６は、算出されたスコアの高いものから順にグループをソートする（ステップＳ２００２）。すなわち、文書部品管理テーブル３０５のエントリがスコア順にソートされる。これによって、利用頻度が高い文書部品を優先的に検索することが可能となる。
【０１７７】
文書部品生成部１０６は、グループを一つ選択する（ステップＳ２００３）。このとき、スコアの高いグループから順に選択される。
【０１７８】
文書部品生成部１０６は、選択されたグループに含まれる第１の類似文字列の先頭部分に、項目文字列と一致する文字列が含まれるか否かを判定する（ステップＳ２００４）。当該処理は、グループの名称を決定し、また、グループに含まれる第１の類似文字列の開始位置を修正するための処理である。具体的には以下のような処理が実行される。
【０１７９】
まず、文書部品生成部１０６は、グループに含まれる第１の類似文字列の中から、任意の第１の類似文字列を代表元として選択する。具体的には、文書部品生成部１０６は、グループＩＤ８０１に基づいて対応関係管理テーブル３０４を参照して、対応するエントリを一つ選択し、当該エントリの類似文字列ＩＤ７０２を取得する。
【０１８０】
文書部品生成部１０６は、項目文字列管理テーブル３０３を参照して、項目文字列を取得する。ここでは、選択された第１の類似文字列に対応する対象文書における項目文字列が取得される。
【０１８１】
具体的には、文書部品生成部１０６は、取得された類似文字列ＩＤ７０２に基づいて類似文字列管理テーブル３０２を参照し、対応するエントリの文書ＩＤ５０２を取得する。
【０１８２】
さらに、文書部品生成部１０６は、取得された文書ＩＤ５０２に基づいて、項目文字列管理テーブル３０３を参照して、文書ＩＤ６０２が文書ＩＤ５０２と同一のエントリを取得する。なお、項目文字列の取得方法は、前述した第１の類似文字列の取得方法と同一であるため説明を省略する。
【０１８３】
文書部品生成部１０６は、選択された第１の類似文字列の先頭部分から、取得された項目文字列を検索する。すなわち、選択された第１の類似文字列の先頭部分に項目文字列が含まれるか否かが判定される。
【０１８４】
なお、第１の類似文字列のどこまでを先頭部分とするかは、ユーザが設定できる。例えば、最初の文字から１０番目までを先頭部分として設定してもよいし、文字列の長さに対して１割未満の文字数の範囲を先頭部分として設定してもよい。
【０１８５】
選択された第１の類似文字列の先頭部分に項目文字列が含まれると判定された場合、文書部品生成部１０６は、項目文字列のエントリの情報を一時的に保持する。
【０１８６】
以上がステップＳ２００４の処理である。
【０１８７】
選択された第１の類似文字列の先頭部分に項目文字列と一致する文字列が含まれると判定された場合、文書部品生成部１０６は、グループに含まれる全ての第１の類似文字列の開始位置を変更し、さらに、当該グループの名称を設定し（ステップＳ２００５）、ステップＳ１４０６に進む。具体的には、以下のような処理が実行される。
【０１８８】
まず、文書部品生成部１０６は、対応関係管理テーブル３０４を参照して、グループＩＤ７０１が同一のエントリを取得する。
【０１８９】
文書部品生成部１０６は、取得されたエントリを一つ選択し、当該エントリの類似文字列ＩＤ７０２に基づいて類似文字列管理テーブル３０２を参照して、第１の類似文字列のエントリを取得する。
【０１９０】
文書部品生成部１０６は、取得された第１の類似文字列のエントリの開始位置５０３を、一致した項目文字列のエントリの開始位置６０３に変更する。すなわち、グループに含まれる第１の類似文字列の開始位置が項目文字列の開始位置に変更される。このとき、文書部品生成部１０６は、文字列長５０４も合わせて変更する。
【０１９１】
なお、第１の類似文字列の先頭部分に複数の項目文字列が含まれる場合、文書部品生成部１０６は、最も先頭側にある項目文字列を開始位置に開始位置を変更する。
【０１９２】
次に、文書部品生成部１０６は、項目文字列ＩＤ８０２に、取得された項文字列のエントリの項目文字列ＩＤ６０１を格納する。さらに、文書部品生成部１０６は、名称８０３を「０」に設定する。名称８０３が「０」の場合、文書部品の名称は、項目文字列ＩＤ８０２に対応する項目文字列であることを示す。
【０１９３】
文書部品生成部１０６は、前述した処理をグループに含まれる全ての第１の類似文字列について繰り返し実行する。
【０１９４】
以上がステップＳ２００５の処理である。
【０１９５】
選択された第１の類似文字列の先頭部分に、項目文字列と一致する文字列が含まれないと判定された場合、文書部品生成部１０６は、第１の類似文字列の名称を設定し（ステップＳ２００９）、ステップＳ２００６に進む。
【０１９６】
具体的には、文書部品生成部１０６は、文書部品管理テーブル３０５の名称８０３に、選択された第１の類似文字列の先頭部分の文字列を格納し、また、項目文字列ＩＤ８０２に「０」を格納する。
【０１９７】
項目文字列ＩＤ８０２が「０」の場合、文書部品の名称は、名称８０３に対応する文字列であることを示す。
【０１９８】
次に、文書部品生成部１０６は、第１の類似文字列の末尾部分に項目文字列と一致する文字列が含まれるか否かを判定する（ステップＳ２００６）。当該処理は、グループに含まれる第１の類似文字列の終了位置を修正するための処理である。具体的には以下のような処理が実行される。
【０１９９】
文書部品生成部１０６は、グループから任意の第１の類似文字列を選択する。第１の類似文字列の選択方法はステップＳ２００４と同様の方法が用いられる。
【０２００】
文書部品生成部１０６は、選択された第１の類似文字列に対応する対象文書における項目文字列が取得される。項目文字列の取得方法はステップＳ２００４と同様の方法が用いられる。
【０２０１】
文書部品生成部１０６は、選択された第１の類似文字列の末尾部分から、取得された項目文字列を検索する。すなわち、選択された第１の類似文字列の末尾部分に項目文字列が含まれるか否かが判定される。
【０２０２】
なお、第１の類似文字列の末尾部分はユーザが任意に設定できる。例えば、第１の類似文字列の末尾から１０文字目までを末尾部分として設定できる。
【０２０３】
以上がステップＳ２００６の処理である。
【０２０４】
第１の類似文字列の末尾部分に項目文字列と一致する文字列が含まれないと判定された場合、文書部品生成部１０６は、ステップＳ２００８に進む。
【０２０５】
第１の類似文字列の末尾部分に項目文字列と一致する文字列が含まれると判定された場合、文書部品生成部１０６は、第１の類似文字列の終了位置を変更し（ステップＳ２００７）、ステップＳ２００８に進む。
【０２０６】
具体的には、文書部品生成部１０６は、グループに含まれる全ての第１の類似文字列の終了位置を対応する項目文字列の開始位置の一つ前の位置に変更する。すなわち、文書部品生成部１０６は、各第１の類似文字列の文字列長５０４を変更する。
【０２０７】
例えば、開始位置５０３が「１」、かつ、文字列長５０４が「２５６」である第１の類似文字列に対して、一致する項目文字列の開始位置６０３が「１２８」の場合、第１の類似文字列の終了位置が「１２７」に変更される。すなわち、文字列長５０４が「１２７」に変更される。
【０２０８】
なお、第１の類似文字列の末尾部分に複数の項目文字列が含まれる場合、文書部品生成部１０６は、最も先頭側の項目文字列の終了位置に変更する。
【０２０９】
文書部品生成部１０６は、処理が終了したか否かを判定する（ステップＳ２００８）。例えば、文書部品生成部１０６は、全てのグループについて処理が完了した場合、又は、グループのスコアが所定の閾値以下となった場合に処理が終了したと判定する。なお、閾値は、対象文書毎にユーザが設定できる。
【０２１０】
処理が終了していないと判定された場合、文書部品生成部１０６は、ステップＳ２００３に戻り同様の処理（ステップＳ２００３〜ステップ２００９）を実行する。
【０２１１】
文書ファイル入力部１０１〜文書部品生成部１０６が実行する処理によって、文書部品データベース２１１の全てのテーブルが生成される。
【０２１２】
以上で説明したように、文書部品生成部１０６は、第１の類似文字列の先頭部分に一致する項目文字列をグループの名称として設定する。また、文書部品生成部１０６は、第１の類似文字列の先頭部分及び末尾部分のそれぞれに一致した項目文字列に基づいて、第１の類似文字列を修正して文書部品を生成する。
【０２１３】
図２１Ａ〜図２１Ｆは、本発明の実施形態における文書部品生成部１０６の処理の具体例を示す説明図である。
【０２１４】
図２１Ａ〜図２１Ｃは、図１６Ａ及び図１６Ｂに示す文書に対する処理流れを示す。図２１Ｄ〜図２１Ｆは、図１６Ｃ及び図１６Ｄに示す文書に対する処理流れを示す。
【０２１５】
ステップＳ２００１の処理の結果として出力２１０１が出力されると、文書部品生成部１０６は、ステップＳ２００４において、第１の類似文字列の先頭部分に図１９Ａに示す項目文字列が含まれるか否かを判定する。
【０２１６】
ここでは、第１の類似文字列の先頭部分には図１９Ａに示す項目文字列が含まれない。したがって、文書部品生成部１０６は、選択されたグループに含まれる第１の類似文字列の開始位置を変更しない。また、文書部品生成部１０６は、当該第１の類似文字列の先頭部分をグループの名称として設定する。前述した処理を実行した文書部品生成部１０６は、出力２１０２を出力する。
【０２１７】
さらに、ステップＳ２００６において、文書部品生成部１０６は、第１の類似文字列の末尾部分に、図１９Ａに示す項目文字列が含まれるか否かを判定する。
【０２１８】
ここでは、第１の類似文字列の末尾部分には図１９Ａに示す項目文字列が含まれる。したがって、文書部品生成部１０６は、グループに含まれる全ての第１の類似文字列の終了位置を変更する。前述した処理を実行した文書部品生成部１０６は、出力２１０３を出力する。
【０２１９】
ステップＳ２００１の処理の結果として出力２１１１が出力されると、文書部品生成部１０６は、ステップＳ２００４において、当該第１の類似文字列の先頭部分に図１９Ａに示す項目文字列が含まれるか否かを判定する。
【０２２０】
ここでは、第１の類似文字列の先頭部分には図１９Ａに示す項目文字列が含まれる。したがって、文書部品生成部１０６は、グループに含まれる全ての第１の類似文字列の開始位置を変更する。また、文書部品生成部１０６は、項目文字列をグループの名称として設定する。前述した処理を実行した文書部品生成部１０６は、出力２１１２を出力する。
【０２２１】
さらに、ステップＳ２００６において、文書部品生成部１０６は、第１の類似文字列の末尾部分に、図１９Ａに示す項目文字列が含まれるか否かを判定する。
【０２２２】
ここでは、第１の類似文字列の末尾部分には図１９Ａに示す項目文字列が複数含まれる。したがって、文書部品生成部１０６は、最も先頭側の項目文字列の終了位置に、グループに含まれる全ての第１の類似文字列の終了位置を変更する。前述した処理を実行した文書部品生成部１０６は、出力２１１３を出力する。
【０２２３】
ステップＳ２００１の処理の結果として出力２１２１が出力されると、文書部品生成部１０６は、ステップＳ２００４において、当該第１の類似文字列の先頭部分に図１９Ａに示す項目文字列が含まれるか否かを判定する。
【０２２４】
ここでは、第１の類似文字列の先頭部分には図１９Ａに示す項目文字列が含まれない。したがって、文書部品生成部１０６は、グループに含まれる第１の類似文字列の開始位置を変更しない。また、文書部品生成部１０６は、当該第１の類似文字列の先頭部分をグループの名称として設定する。前述した処理を実行した文書部品生成部１０６は、出力２１２３を出力する。
【０２２５】
さらに、ステップＳ２００６において、文書部品生成部１０６は、第１の類似文字列の末尾部分に、図１９Ａに示す項目文字列が含まれるか否かを判定する。
【０２２６】
ここでは、第１の類似文字列の末尾部分には図１９Ａに示す項目文字列が含まれない。したがって、文書部品生成部１０６は、グループに含まれる第１の類似文字列の終了位置を変更しない。前述した処理を実行した文書部品生成部１０６は、出力２１２３を出力する。
【０２２７】
なお、文字コードがアルファベットの場合も同様の処理であるため図２１Ｄ〜図２１Ｅの説明を省略する。
【０２２８】
以上で説明したように、文書部品生成部１０６は、目次部分に含まれる項目文字列に基づいて、第１の類似文字列から文書部品を生成する。本発明は、文字列のみに着目した処理から、正しく文書の区切りを決定することができる。また、文書部品をグループ毎に管理され、また、グループの名称を項目文字列に基づいて決定することによって、効率的なデータベースを構築することができる。
【０２２９】
本発明では、文書ファイル入力部１０１から文書部品生成部１０６までの処理によって、文字列のみの処理によって文書部品を生成できる。
【０２３０】
項目文字列処理部１０７、置換文字列抽出部１０８及び文書部品編集部１０９は、より効率的かつ適切な文書部品データベースを構築するために処理を実行する。
【０２３１】
項目文字列処理部１０７は、辞書２１２を用いて項目文字列の関連付けを行う。これは、文書部品のグループ毎の関連付けることを意味する。これによって、一つの項目文字列から関連する全ての文書部品を管理することが可能となる。
【０２３２】
辞書２１２には、同義語辞書及び意味分類辞書が含まれる。ここで、同義語辞書は、同一の意味であるが表記が異なる語の関係をまとめた辞書である。また、意味分類辞書は、語の意味の階層関係（例えば、哺乳類（上位）と犬（下位））にしたがって語の関係を分類した辞書である。なお、意味分類辞書としては、上位と下位との関係以外に、部分と全体との関係による分類にしたがってもよい。なお、辞書を用いた処理は、省略してもよい。
【０２３３】
図２２は、本発明の実施形態における項目文字列処理部１０７が実行する処理を説明するフローチャートである。
【０２３４】
まず、項目文字列処理部１０７は、文書ファイル管理テーブル３０１及び項目文字列管理テーブル３０３を参照して、対象文書毎に目次部分に含まれる項目文字列を取得する（ステップＳ２２０１）。具体的には、以下のような処理が実行される。
【０２３５】
項目文字列処理部１０７は、項目文字列管理テーブル３０３の文書ＩＤ６０２を参照して、同一の文書ＩＤ６０２であるエントリを取得する。すなわち、一つの対象文書の目次部分に含まれる項目文字列を特定する。
【０２３６】
項目文字列処理部１０７は、文書ファイル管理テーブル３０１を参照して、文書ＩＤ６０２と同一のエントリを検索し、文字列情報４０３を取得する。
【０２３７】
項目文字列処理部１０７は、文字列情報４０３、開始位置６０３及び文字列長６０４に基づいて、項目文字列を取得する。
【０２３８】
以上がステップＳ２２０１の処理である。
【０２３９】
次に、項目文字列処理部１０７は、各対象文書の項目文字列を統合する（ステップＳ２２０２）。具体的には、以下のような処理が実行される。
【０２４０】
項目文字列処理部１０７は、各対象文書の目次部分に含まれる項目文字列を対比し、同一の項目文字列を検索する。対比方法は、例えば、文字列のマッチング処理を用いることが考えられる。
【０２４１】
同一の項目文字列が検索された場合、項目文字列処理部１０７は、同一の項目文字列に対応する複数のエントリを一つにまとめる。このとき、項目文字列処理部１０７は、新たに項目文字列ＩＤを付与する。また、文書ＩＤ６０２には、複数の対象文書の文書ＩＤが格納される。
【０２４２】
項目文字列処理部１０７は、新たに付与された項目文字列ＩＤを文書部品管理テーブル３０５に反映させる。なお、項目文字列ＩＤ８０２が「０」のエントリに対しては反映されない。
【０２４３】
以上がステップＳ２２０２の処理である。
【０２４４】
次に、項目文字列処理部１０７は、同義語辞書を用いて項目文字列を統合する（ステップＳ２２０３）。すなわち、文字列は異なるが、意味が同一である項目文字列のエントリが一つにまとめられる。具体的には、以下のような処理が実行される。
【０２４５】
項目文字列処理部１０７は、文書ファイル管理テーブル３０１及び項目文字列管理テーブル３０３を参照して、項目文字列を取得する。
【０２４６】
次に、項目文字列処理部１０７は、同義語辞書を用いて、同一の意味である項目文字列を検索する。
【０２４７】
項目文字列処理部１０７は、検索されたエントリを一つにまとめる。このとき、項目文字列処理部１０７は、新たに項目文字列ＩＤを付与する。
【０２４８】
一つにまとめられたエントリの文書ＩＤ６０２には複数の文書ＩＤが格納される。また、一つにまとめられたエントリの開始位置６０３及び文字列長６０４には、項目文字列に対応する値が複数格納される。
【０２４９】
さらに、項目文字列処理部１０７は、新たに付与された項目文字列ＩＤを文書部品管理テーブル３０５に反映させる。なお、項目文字列ＩＤ８０２が「０」のエントリに対しては反映されない。
【０２５０】
以上がステップＳ２００３の処理である。
【０２５１】
次に、項目文字列処理部１０７は、意味分類辞書を用いて、各項目文字列を階層ごとに分類し（ステップＳ２２０４）、処理を終了する。具体的には、以下のような処理が実行される。
【０２５２】
項目文字列処理部１０７は、文書ファイル管理テーブル３０１及び項目文字列管理テーブル３０３を参照して、項目文字列を取得する。
【０２５３】
次に、項目文字列処理部１０７は、意味分類辞書を用いて、階層関係のある項目文字列を検索する。
【０２５４】
検索された項目文字列のうち、階層が下位の項目文字列に対応するエントリの項目文字列ＩＤ６０１を変更する。変更方法としては、階層が上位の項目文字列に対応するエントリの項目文字列ＩＤ６０１を、当該エントリの項目文字列ＩＤ６０１に関連づけて格納する方法が考えられる。
【０２５５】
例えば、項目文字列ＩＤ６０１が「１」の項目文字列の階層が上位、かつ、項目文字列ＩＤ６０１が「２」の項目文字列の階層が下位の場合、階層が下位の項目文字列に対応する項目文字列ＩＤ６０１を「２−１」のように変更する。
【０２５６】
なお、変刻された項目文字列ＩＤ６０１は、文書部品管理テーブル３０５には反映する必要はない。
【０２５７】
図２３は、本発明の実施形態における項目文字列処理部１０７の処理の流れを示す説明図である。
【０２５８】
ステップＳ２２０１において、項目文字列処理部１０７は、目次部分２３０１、２３０２に含まれる項目文字列を取得する。
【０２５９】
さらに、ステップＳ２２０２及びステップＳ２２０３において、項目文字列処理部１０７は、同義語辞書２３１１及び意味分類辞書２３１２を用いて、項目文字列を統合する。
【０２６０】
以上の処理の結果、図２３に示すような統合結果２３３１が出力される。
【０２６１】
置換文字列抽出部１０８は、生成された文書部品から置換可能な文字列を抽出する。例えば、モノの名前、地名、製品の型番などを表す文字列が抽出する。なお、辞書は利用しなくてもよい。
【０２６２】
図２４は、本発明の実施形態における置換文字列抽出部１０８が実行する処理を説明するフローチャートである。
【０２６３】
置換文字列抽出部１０８は、文書部品管理テーブル３０５を参照して、同一のグループＩＤ８０１である文書部品を取得する（ステップＳ２４０１）。具体的には以下のような処理が実行される。
【０２６４】
置換文字列抽出部１０８は、文書部品管理テーブル３０５から一つのエントリを選択する。置換文字列抽出部１０８は、対応関係管理テーブル３０４を参照して、グループＩＤ７０１が選択されたエントリのグループＩＤ８０１と同一のエントリを全て検索する。
【０２６５】
置換文字列抽出部１０８は、検索されたエントリの類似文字列ＩＤ７０２に基づいて類似文字列管理テーブル３０２を参照して、対応するエントリを検索する。
【０２６６】
置換文字列抽出部１０８は、類似文字列管理テーブル３０２から検索されたエントリの文書ＩＤ５０２に基づいて文書ファイル管理テーブル３０１を参照して、文字列情報４０３を取得する。
【０２６７】
置換文字列抽出部１０８は、文字列情報４０３、開始位置５０３及び文字列長５０４に基づいて文書部品を取得する。
【０２６８】
以上がステップＳ２４０１の処理である。
【０２６９】
次に、置換文字列抽出部１０８は、取得された各文書部品を対比し、置換可能な文字列を抽出する（ステップＳ２４０２）。当該処理は、文書間類似度評価部１０３の処理結果を用いることが考えられる。
【０２７０】
例えば、置換文字列抽出部１０８は、文書間類似度評価部１０３の処理結果に基づいて、文書部品間における異なる文字を特定し、それぞれの文書部品から当該異なる文字を中心にして所定の文字列長の文字列を抽出する。文字列の長さはユーザが任意に設定できる。なお、置換文字列抽出部１０８は、辞書２１２を用いて、意味をなす文字列を抽出できるようにしてもよい。
【０２７１】
次に、置換文字列抽出部１０８は、同義語辞書を用いて、抽出された文字列を統合する（ステップＳ２４０３）。
【０２７２】
置換文字列抽出部１０８は、意味分類辞書を用いて、置換可能な文字列を分類する（ステップＳ２４０４）。例えば、置換可能な文字列を地名、製品の型番、製品の名称等に分類する。なお、置換文字列抽出部１０８は、処理結果を置換文字列管理テーブル２５００に格納する。
【０２７３】
図２５は、本発明の実施形態における置換文字列管理テーブル２５００の一例を示す説明図である。置換文字列管理テーブル２５００は、文書部品データベース２１１に格納される。
【０２７４】
置換文字列管理テーブル２５００は、類似文字列ＩＤ２５０１、文書ＩＤ２５０２、開始位置２５０３、文字列長２５０４、及び分類２５０５を含む。
【０２７５】
類似文字列ＩＤ２５０１は、文書部品に対応する第１の類似文字列を識別するための識別子を格納する。類似文字列ＩＤ２５０１は、類似文字列ＩＤ５０１と同一のものである。
【０２７６】
文書ＩＤ２５０２は、対象文書を識別するための文書ＩＤを格納する。文書ＩＤ２５０２は、文書ＩＤ４０１と同一のものである。
【０２７７】
開始位置２５０３は、第１の類似文字列のうち置換可能な文字列の開始位置を格納する。
【０２７８】
文字列長２５０４は、第１の類似文字列のうち置換可能な文字列の文字数を格納する。
【０２７９】
分類２５０５は、置換可能な文字列の分類を示す情報を格納する。
【０２８０】
文書生成部１００は、当該テーブルを参照することによって、類似文字列ＩＤ２５０１及び文書ＩＤ２５０２から第１の類似文字列が含まれる対象文書が分かり、開始位置２５０３及び文字列長２５０４から置換可能な文字列の位置が分かる。また、文書生成部１００は、分類２５０５によって、置換可能な文字列がどのような文字列に置換可能であるかをユーザに示すことが可能となる。
【０２８１】
図２６Ａ、図２６Ｂ及び図２６Ｃは、本発明の実施形態における置換文字列抽出部１０８が実行する処理の具体例を示す説明図である。
【０２８２】
ステップＳ２４０１において、置換文字列抽出部１０８は、図２６Ａに示すような文書部品２６０１、２６０２を読み出す。
【０２８３】
ステップＳ２４０２において、置換文字列抽出部１０８は、文書部品２６０１と文書部品２６０２とを比較し、置換可能な文字列を抽出する。図２６Ａに示す例では、文書部品２６０１から文字列「ＭＡＰ２Ｋ２」が抽出され、文書部品２６０２から文字列「ＭＡＰ２Ｋ１」が抽出される。
【０２８４】
ステップＳ２４０３において、置換文字列抽出部１０８は、辞書を用いて抽出された文字列に対して統合する。
【０２８５】
ステップＳ２４０４において、置換文字列抽出部１０８は、図２６Ｂに示すように辞書を用いて置換可能な文字列を分類する。ここでは、抽出された文字列がタンパク質の名称として分類される。
【０２８６】
以上の処理によって、図２６Ｃに示すような文書部品２６１１、２６２２が文書部品データベース２１１に登録される。
【０２８７】
文書部品編集部１０９は、生成された文書部品の結果をユーザに提示し、ユーザからの編集操作を受け付ける。
【０２８８】
図２７は、本発明の実施形態における編集画面を示す説明図である。
【０２８９】
編集画面２７００は、ディスプレイ２２２に表示される画像である。編集画面２７００は、名称編集部２７１０及び文書部品編集部２７２０から構成される。
【０２９０】
名称編集部２７１０は、文書部品の名称を表示し、ユーザが当該統合結果を編集するための表示部である。名称編集部２７１０は、主に、項目文字列の統合結果を編集するための表示部である。
【０２９１】
名称編集部２７１０は、名称編集部２７１０は、選択部２７１１及び編集部２７１２を含む。
【０２９２】
選択部２７１１は、文書部品の名称の整列順を選択するための表示部である。なお、文書部品の名称の整列方法としては、索引順、意味分類辞書の分類順、又は文書部品の重要度の順に整列する方法がある。ここで、文書部品の重要度とは、全対象文書に対して、対応する文書部品が含まれる対象文書の比率を表す。当該比率が高いものほど、利用性が高い文書部品であると定義できる。
【０２９３】
編集部２７１２は、文書部品の名称を表示し、また、文書部品の名称の編集を受け付ける表示部である。編集部２７１２では、主に統合された項目文字列の編集を受け付ける。
【０２９４】
文書部品編集部２７２０は、名称編集部２７１０に表示された文書部品の名称毎に文書部品を表示し、ユーザが当該文書部品を編集するための表示部である。
【０２９５】
文書部品編集部２７２０は、登録ボタン２７２１、文書部品表示部２７２２、及び文書部品編集部２７２３を含む。
【０２９６】
登録ボタン２７２１は、文書部品の編集結果を反映するための操作ボタンである。
【０２９７】
文書部品表示部２７２２は、編集部２７１２に表示される項目文字列に対応する文書部品を表示する表示部である。本実施形態では、同一名称の文書部品が複数表示される。
【０２９８】
文書部品編集部２７２３は、文書部品を編集するための表示部である。例えば、文書部品表示部２７２２に表示された複数の文書部品の中から、適切な文書部品を選択することができる。なお、選択された文書部品の編集方法は、通常の文書編集方法と同一の方法を用いればよいため説明を省略する。
【０２９９】
登録ボタン２７２１を操作すると、ユーザによって編集された文書部品の情報が文書部品データベース２１１に反映される。
【０３００】
本実施形態では、自然言語からなる文書を処理対象としたが、ＸＭＬなどの構造をタグで明示するテキスト形式の文書でも同様の処理を実行することができる。この場合、目次部分及び文書部品をタグの途中で区切ることがないように抽出すればよい。また、抽出された文字列が整形式になるようにチェックする方法も考えられる。
【０３０１】
整形式のＸＭＬ文書とは、ＸＭＬに要求される文法に従ったＸＭＬ文書のことであり、すべての開始タグと終了タグが対になっている、開始タグだけが構造のなかに入っていない、などが要求される。
【０３０２】
本実施形態では、文書ファイル入力部１０１、文書配置解析部１０２、及び文書間類似度評価部１０３が処理を実行することによって、対象文書間の対応関係毎に文書部品となる第１の類似文字列を抽出することができる。なお、抽出された第１の類似文字列を文書部品として文書部品データベース２１１に格納してもよい。
【０３０３】
自己類似度評価部１０４、目次部分抽出部１０５、及び文書部品生成部１０６が処理を実行することによって、文書の開始位置及び終了位置が修正され、さらに、項目文字列毎に文書部品がグループ化される。
【０３０４】
さらに、項目文字列処理部１０７、置換文字列抽出部１０８、及び文書部品編集部１０９が処理を実行することによって、より適切な文書部品が生成される。
【０３０５】
文書部品データベース２１１の使用例について説明する。
【０３０６】
まず、ユーザが作成したい文書に関連する項目を入力する。計算機２００は、当該入力を受け付けると、項目文字列管理テーブル３０３を参照して、一致する項目文字列のエントリを検索する。なお、完全に一致する必要なく、類似性の高い項目文字列であってもよい。
【０３０７】
次に、計算機２００は、項目文字列管理テーブル３０３から検索されたエントリの項目文字列ＩＤ６０１に基づいて、文書部品管理テーブル３０５を参照して、対応するエントリを検索する。
【０３０８】
計算機２００は、文書部品管理テーブル３０５から検索されたエントリのグループＩＤ８０１に基づいて対応関係管理テーブル３０４を参照して、グループＩＤ８０１と一致するエントリを検索する。
【０３０９】
計算機２００は、対応関係管理テーブル３０４から検索されたエントリの類似文字列ＩＤ７０２に基づいて、項目文字列管理テーブル３０３を参照し、全ての文書部品を取得することができる。計算機２００は、取得された文書部品をユーザに対して表示する。なお、計算機２００は、使用頻度の高いものから順にソートして表示してもよい。
【０３１０】
これによって、ユーザは、効率よく文書を作成することができる。
【０３１１】
本発明の一形態によれば、複数の対象文書から文書部品を自動的に生成することができる。また、文書部品データベースには、利用率の高いものから順に格納され、さらに、文書部品の名称ごとに関連づけがされているため、利便性の高い文書部品データベースが構築できる。
【符号の説明】
【０３１２】
１００  文書生成部
１０１  文書ファイル入力部
１０２  文書配置解析部
１０３  文書間類似度評価部
１０４  自己類似度評価部
１０５  目次部分抽出部
１０６  文書部品生成部
１０７  項目文字列処理部
１０８  置換文字列抽出部
１０９  文書部品編集部
２００  計算機
２１０  外部記憶装置
２１１  文書部品データベース
２１２  辞書
２２０  入出力装置
２２１  光学ドライブ
２２２  ディスプレイ
２２３  キーボード
２４０  ホスト端末
３０１  文書ファイル管理テーブル
３０２  類似文字列管理テーブル
３０３  項目文字列管理テーブル
３０４  対応関係管理テーブル
３０５  文書部品管理テーブル
２５００  置換文字列管理テーブル
２７００  編集画面
【図１】
2013016036.tif 000006
【図２】
2013016036.tif 000007
【図３】
2013016036.tif 000008
【図４】
2013016036.tif 000009
【図５】
2013016036.tif 000010
【図６】
2013016036.tif 000011
【図７】
2013016036.tif 000012
【図８】
2013016036.tif 000013
【図９】
2013016036.tif 000014
【図１０Ａ】
2013016036.tif 000015
【図１０Ｂ】
2013016036.tif 000016
【図１１Ａ】
2013016036.tif 000017
【図１１Ｂ】
2013016036.tif 000018
【図１２】
2013016036.tif 000019
【図１３】
2013016036.tif 000020
【図１４】
2013016036.tif 000021
【図１５】
2013016036.tif 000022
【図１６Ａ】
2013016036.tif 000023
【図１６Ｂ】
2013016036.tif 000024
【図１６Ｃ】
2013016036.tif 000025
【図１６Ｄ】
2013016036.tif 000026
【図１７Ａ】
2013016036.tif 000027
【図１７Ｂ】
2013016036.tif 000028
【図１８】
2013016036.tif 000029
【図１９Ａ】
2013016036.tif 000030
【図１９Ｂ】
2013016036.tif 000031
【図２０】
2013016036.tif 000032
【図２１Ａ】
2013016036.tif 000033
【図２１Ｂ】
2013016036.tif 000034
【図２１Ｃ】
2013016036.tif 000035
【図２１Ｄ】
2013016036.tif 000036
【図２１Ｅ】
2013016036.tif 000037
【図２１Ｆ】
2013016036.tif 000038
【図２２】
2013016036.tif 000039
【図２３】
2013016036.tif 000040
【図２４】
2013016036.tif 000041
【図２５】
2013016036.tif 000042
【図２６Ａ】
2013016036.tif 000043
【図２６Ｂ】
2013016036.tif 000044
【図２６Ｃ】
2013016036.tif 000045
【図２７】
2013016036.tif 000046