(57)【要約】      （修正有）【課題】評価観点に基づいて文書を評価する方法を提供する。【解決手段】文書の評価を行う計算機システムであって、評価観点に基づく評価が高い文書のデータを格納する文書データベースにアクセス可能であって、文字列に、評価観点に基づいて定義された複数の種別のアノテーションのうち、いずれかの種別のアノテーションを付与する文書解析部１２０と、ターゲット文書に含まれる文字列に付与されたアノテーションに基づいて、ターゲット文書を評価する評価部１２１と、を備える。評価部１２１は、ターゲット文書の各種別のアノテーションの割合及び文書データベースから取得された文書の各種別のアノテーションの割合を比較し、当該比較の結果に基づいて、ターゲット文書の修正が必要か否かを判定することによって、ターゲット文書を評価する。【選択図】図１
2020201815.tif 000002
【特許請求の範囲】
【請求項１】
文書の評価を行う計算機システムであって、
プロセッサ、メモリ、及び記憶装置を有する少なくとも一つの計算機を備え、
評価観点に基づく評価が高い文書のデータを格納する文書データベースにアクセス可能であって、
前記文書に含まれる文字列に、前記評価観点に基づいて定義された複数の種別のアノテーションのうち、いずれかの種別の前記アノテーションを付与する文書解析部と、
前記評価観点に基づく評価を行うターゲット文書に含まれる文字列に付与された前記アノテーションに基づいて、前記ターゲット文書を評価する評価部と、を備え、
前記評価部は、前記ターゲット文書の各種別の前記アノテーションの割合及び前記文書データベースから取得された比較用文書の各種別の前記アノテーションの割合を比較し、当該比較の結果に基づいて、前記ターゲット文書の修正が必要か否かを判定することによって、前記ターゲット文書を評価することを特徴とする計算機システム。
【請求項２】
請求項１に記載の計算機システムであって、
前記文書の識別情報、修正内容、及び前記修正内容に含まれる文字列に付与された前記アノテーションの種別から構成される修正履歴を格納する修正履歴データベースにアクセス可能であって、
前記ターゲット文書を修正する場合に前記修正履歴を修正候補として提示する推薦部を備え、
前記評価部は、前記ターゲット文書の修正が必要と判定された場合、前記ターゲット文書の各種別のアノテーションの割合及び前記比較用文書の各種別のアノテーションの割合の比較の結果に基づいて、前記修正履歴を取得するために用いる前記アノテーションの種別を特定し、
前記推薦部は、前記修正内容に含まれる文字列に付与されたアノテーションの種別が、前記特定されたアノテーションの種別と一致する前記修正履歴を提示することを特徴とする計算機システム。
【請求項３】
請求項２に記載の計算機システムであって、
前記文書解析部は、前記文書を複数のブロックに分割し、
前記評価部は、
前記ターゲット文書の修正が必要と判定された場合、前記ターゲット文書の前記複数のブロックの各々の各種別の前記アノテーションの割合と、前記比較用文書の前記複数のブロックの各々の各種別の前記アノテーションの割合とを比較し、当該比較の結果に基づいて、修正が必要な前記ターゲット文書の前記ブロックを特定し、
前記特定されたターゲット文書のブロックを提示することを特徴とする計算機システム。
【請求項４】
請求項３に記載の計算機システムであって、
前記修正履歴は、前記文書の前記ブロックの識別情報を含み、
前記推薦部は、前記修正内容に含まれる文字列に付与されたアノテーションの種別が前記特定されたアノテーションの種別と一致し、かつ、前記修正履歴に含まれる前記文書のブロックの識別情報が前記特定されたターゲット文書のブロックの識別情報と一致する前記修正履歴を提示することを特徴とする計算機システム。
【請求項５】
請求項２に記載の計算機システムであって、
前記ターゲット文書の修正内容を取得し、前記ターゲット文書の修正内容に基づいて前記ターゲット文書を修正する修正部を備え、
前記修正部は、
前記文書解析部に前記ターゲット文書の修正内容に含まれる文字列への前記アノテーションの付与を指示し、
前記ターゲット文書の識別情報、前記ターゲット文書の修正内容、及び前記ターゲット文書の修正内容に含まれる文字列に付与された前記アノテーションの種別の組から構成される前記修正履歴を、前記修正履歴データベースに格納することを特徴とする計算機システム。
【請求項６】
請求項１に記載の計算機システムであって、
前記評価部は、
前記文書データベースから複数の前記比較用文書が取得された場合、前記複数の比較用文書の各種別のアノテーションの割合の平均値を算出し、
前記ターゲット文書の各種別のアノテーションの割合及び前記複数の比較用文書の各種別のアノテーションの割合の平均値を比較することを特徴とする計算機システム。
【請求項７】
請求項１に記載の計算機システムであって、
前記評価部は、前記ターゲット文書の各種別のアノテーションの割合及び前記比較用文書の各種別のアノテーションの割合をユーザに提示するための表示情報を生成し、出力することを特徴とする計算機システム。
【請求項８】
計算機システムが実行する文書の評価方法であって、
前記計算機システムは、
プロセッサ、メモリ、及び記憶装置を有する少なくとも一つの計算機を有し、
評価観点に基づく評価が高い文書のデータを格納する文書データベースにアクセス可能な状態であって、
前記文書の評価方法は、
前記プロセッサが、前記評価観点に基づく評価を行うターゲット文書及び前記文書データベースから取得された比較用文書に含まれる文字列に、前記評価観点に基づいて定義された複数の種別のアノテーションのうち、いずれかの種別の前記アノテーションを付与する第１のステップと、
前記プロセッサが、前記ターゲット文書及び前記比較用文書の各々に付与された前記アノテーションに基づいて、前記ターゲット文書の各種別の前記アノテーションの割合と、前記比較用文書の各種別の前記アノテーションの割合と、を算出する第２のステップと、
前記プロセッサが、前記ターゲット文書の各種別のアノテーションの割合及び前記比較用文書の各種別のアノテーションの割合を比較し、当該比較の結果に基づいて、前記ターゲット文書の修正が必要か否かを判定することによって前記ターゲット文書を評価する第３のステップと、を含むことを特徴とする文書の評価方法。
【請求項９】
請求項８に記載の文書の評価方法であって、
前記計算機システムは、前記文書の識別情報、修正内容、及び前記修正内容に含まれる文字列に付与された前記アノテーションの種別から構成される修正履歴を格納する修正履歴データベースにアクセス可能であって、
前記第３のステップは、前記プロセッサが、前記ターゲット文書の修正が必要と判定された場合、前記ターゲット文書の各種別のアノテーションの割合及び前記比較用文書の各種別のアノテーションの割合の比較の結果に基づいて、前記修正履歴を取得するために用いる前記アノテーションの種別を特定するステップを含み、
前記文書の評価方法は、前記プロセッサが、前記ターゲット文書の修正が必要と判定された場合、前記修正内容に含まれる文字列に付与されたアノテーションの種別が、前記特定されたアノテーションの種別と一致する前記修正履歴を修正候補として提示する第４のステップを含むことを特徴とする文書の評価方法。
【請求項１０】
請求項９に記載の文書の評価方法であって、
前記第１のステップは、前記プロセッサが、前記文書を複数のブロックに分割するステップを含み、
前記第３のステップは、
前記プロセッサが、前記ターゲット文書の修正が必要と判定された場合、前記ターゲット文書の前記複数のブロックの各々の各種別の前記アノテーションの割合と、前記比較用文書の前記複数のブロックの各々の各種別の前記アノテーションの割合とを比較し、当該比較の結果に基づいて、修正が必要な前記ターゲット文書の前記ブロックを特定するステップと、
前記プロセッサが、前記特定されたターゲット文書のブロックを提示するステップと、を含むことを特徴とする文書の評価方法。
【請求項１１】
請求項１０に記載の文書の評価方法であって、
前記修正履歴は、前記文書の前記ブロックの識別情報を含み、
前記第４のステップは、前記プロセッサが、前記修正内容に含まれる文字列に付与されたアノテーションの種別が前記特定されたアノテーションの種別と一致し、かつ、前記修正履歴に含まれる前記文書のブロックの識別情報が前記特定されたターゲット文書のブロックと一致する前記修正履歴を提示するステップを含むことを特徴とする文書の評価方法。
【請求項１２】
請求項９に記載の文書の評価方法あって、
前記プロセッサが、前記ターゲット文書の修正内容を取得し、前記ターゲット文書の修正内容に基づいて前記ターゲット文書を修正するステップと、
前記プロセッサが、前記ターゲット文書の修正内容に含まれる文字列に前記アノテーションを付与するステップと、
前記プロセッサが、前記ターゲット文書の識別情報、前記ターゲット文書の修正内容、及び前記ターゲット文書の修正内容に含まれる文字列に付与された前記アノテーションの種別の組から構成される前記修正履歴を、前記修正履歴データベースに格納するステップと、を含むことを特徴とする文書の評価方法。
【請求項１３】
請求項８に記載の文書の評価方法であって、
前記第２のステップは、前記プロセッサが、前記文書データベースから複数の前記比較用文書が取得された場合、前記複数の比較用文書の各種別のアノテーションの割合の平均値を算出するステップを含み、
前記第３のステップは、前記プロセッサが、前記ターゲット文書の各種別のアノテーションの割合及び前記複数の比較用文書の各種別のアノテーションの割合の平均値を比較するステップを含むことを特徴とする文書の評価方法。
【請求項１４】
請求項８に記載の文書の評価方法であって、
前記プロセッサが、前記ターゲット文書の各種別のアノテーションの割合及び前記比較用文書の各種別のアノテーションの割合をユーザに提示するための表示情報を生成し、出力するステップを含むことを特徴とする文書の評価方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文書の評価及び修正を実現するシステム及び方法に関する。
【背景技術】
【０００２】
ソフトウェア開発又はシステム開発では、品質の高いソフトウェア又はシステムの設計書を作成することが求められる。近年、設計書を検査する熟練者が不足しているため、設計書の品質を維持することが困難になっている。また、人の技術及び経験のばらつきにより、検査結果に偏りが発生する場合もある。
【０００３】
したがって、設計書の評価及び修正を支援する技術が求められる。これに対して、特許文献１に記載の技術が知られている。
【０００４】
特許文献１には、「設計書評価装置は、１又は複数の検索用語を含む検索用語組合せと、検索用語組合せに関連する設計観点の種別とを関連付けた検査知識情報を記憶する記憶部と、検索用語を用いて評価対象の設計書を検索する検索部と、設計書に含まれる検索用語の数と、検索用語に関連する種別とを用いて設計書の評価情報を生成する評価部と、評価情報を出力する出力部と、を備える」ことが記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１８−１２８９７８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１に記載されているように、評価対象の文書における検索用語の有無及び検索用語の数等に基づく評価により、文書の傾向を知ることができる。しかし、文書の品質そのものを直接的に把握できる技術ではない。
【０００７】
本発明は、文書の品質等の評価観点に基づいて文書を評価するための技術を提供する。
【課題を解決するための手段】
【０００８】
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、文書の評価を行う計算機システムであって、プロセッサ、メモリ、及び記憶装置を有する少なくとも一つの計算機を備え、評価観点に基づく評価が高い文書のデータを格納する文書データベースにアクセス可能であって、前記文書に含まれる文字列に、前記評価観点に基づいて定義された複数の種別のアノテーションのうち、いずれかの種別の前記アノテーションを付与する文書解析部と、前記評価観点に基づく評価を行うターゲット文書に含まれる文字列に付与された前記アノテーションに基づいて、前記ターゲット文書を評価する評価部と、を備え、前記評価部は、前記ターゲット文書の各種別の前記アノテーションの割合及び前記文書データベースから取得された比較用文書の各種別の前記アノテーションの割合を比較し、当該比較の結果に基づいて、前記ターゲット文書の修正が必要か否かを判定することによって、前記ターゲット文書を評価する。
【発明の効果】
【０００９】
本発明によれば、蓄積された文書を用いて、任意の評価観点に基づいて文書を評価できる。上記した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
【図面の簡単な説明】
【００１０】
【図１】実施例１の計算機システムの構成例を示す図である。
【図２】実施例１の解析データ管理情報のデータ構造の一例を示す図である。
【図３】実施例１のアノテーション管理情報のデータ構造の一例を示す図である。
【図４】実施例１の修正履歴管理情報のデータ構造の一例を示す図である。
【図５】実施例１のアノテーション定義情報のデータ構造の一例を示す図である。
【図６】実施例１の文書解析部が実行する処理の一例を説明するフローチャートである。
【図７】実施例１の文書解析部によって提示される画面の一例を示す図である。
【図８】実施例１の評価部が実行する処理の一例を説明するフローチャートである。
【図９】実施例１の評価部によって生成されるデータの一例を示す図である。
【図１０】実施例１の評価部によって提示される画面の一例を示す図である。
【図１１】実施例１の推薦部が実行する処理の一例を説明するフローチャートである。
【図１２】実施例１の推薦部によって提示される画面の一例を示す図である。
【図１３】実施例１の修正部が実行する処理の一例を説明するフローチャートである。
【図１４】実施例１の修正部によって提示される画面の一例を示す図である。
【発明を実施するための形態】
【００１１】
本明細書における用語について説明する。「文」は、完結した内容を表す最小の文字列の集合を表す。「文書」は、複数の文を含む、文字列の集合を表す。
【００１２】
以下、本発明の実施例を、図面を用いて説明する。ただし、本発明は以下に示す実施例の記載内容に限定して解釈されるものではない。本発明の思想ないし趣旨から逸脱しない範囲で、その具体的構成を変更し得ることは当業者であれば容易に理解される。
【００１３】
以下に説明する発明の構成において、同一又は類似する構成又は機能には同一の符号を付し、重複する説明は省略する。
【００１４】
本明細書等における「第１」、「第２」、「第３」等の表記は、構成要素を識別するために付するものであり、必ずしも、数又は順序を限定するものではない。
【００１５】
図面等において示す各構成の位置、大きさ、形状、及び範囲等は、発明の理解を容易にするため、実際の位置、大きさ、形状、及び範囲等を表していない場合がある。したがって、本発明では、図面等に開示された位置、大きさ、形状、及び範囲等に限定されない。
【実施例１】
【００１６】
図１は、実施例１の計算機システムの構成例を示す図である。
【００１７】
計算機システムは、文書評価サーバ１００、ファイルサーバ１０１、及びクライアント端末１０２から構成される。文書評価サーバ１００、ファイルサーバ１０１、及びクライアント端末１０２は、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）及びＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等のネットワークを介して互いに接続される。なお、ネットワークの接続方式は有線及び無線のいずれでもよい。
【００１８】
ファイルサーバ１０１は、文書のデータ（文書データ）を管理する。すなわち、ファイルサーバ１０１は文書データを管理するデータベースとして機能する。文書評価サーバ１００は、文書を評価し、文書の修正の有無を判定し、また、文書の修正内容の候補を提示する。クライアント端末１０２はユーザが操作する端末である。
【００１９】
文書評価サーバ１００は、ＣＰＵ１１０、ＩＯインタフェース１１１、ネットワークインタフェース１１２、主記憶装置１１３、及び副記憶装置１１４を有する。前述のハードウェアはバスを介して互いに接続される。
【００２０】
ＣＰＵ１１０は、主記憶装置１１３に格納されるプログラムを実行する。ＣＰＵ１１０がプログラムにしたがって処理を実行することによって、特定の機能を実現する機能部（モジュール）として動作する。以下の説明では、機能部を主語に処理を説明する場合、ＣＰＵ１１０が当該モジュールを実現するプログラムを実行していることを示す。
【００２１】
ＩＯインタフェース１１１は、入力装置１１５及び出力装置１１６等の外部装置と接続するためのインタフェースである。
【００２２】
ここで、入力装置１１５は、キーボード、マウス、及びタッチパネル等のデータを入力するための装置である。出力装置１１６は、ディスプレイ及びプリンタ等のデータを出力するための装置である。
【００２３】
ネットワークインタフェース１１２は、ネットワークを介して外部装置と通信するための装置である。
【００２４】
主記憶装置１１３は、ＣＰＵ１１０が実行するプログラム及び情報を格納する記憶装置であり、例えば、メモリ等である。主記憶装置１１３はプログラムが一時的に使用するワークエリアとしても利用される。
【００２５】
ここで、主記憶装置１１３に格納されるプログラムについて説明する。主記憶装置１１３は、文書解析部１２０、評価部１２１、推薦部１２２、及び修正部１２３を実現するプログラムを格納する。主記憶装置１１３には、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）等の前述以外のプログラムが格納されてもよい。
【００２６】
なお、主記憶装置１１３に格納されるプログラムは副記憶装置１１４又はファイルサーバ１０１に格納されてもよい。この場合、ＣＰＵ１１０が副記憶装置１１４又はファイルサーバ１０１からプログラムを取得し、主記憶装置１１３にロードする。
【００２７】
文書解析部１２０は、文書の各種解析を行う。文書解析部１２０は、後述するように、文字列に対して、評価観点に基づいて定義された複数の種別のアノテーションの中から、いずれかの種別のアノテーションを付与する。実施例１では、設計書に規定されたソフトウェアの品質が評価観点として設定される。例えば、ソフトウェアの品質の評価に関する国際規格であるＩＳＯ／ＩＥＣ  ９１２６に基づいて定義されたアノテーションが設定される。
【００２８】
評価部１２１は、評価対象の文書に含まれる文字列に付与されたアノテーションに基づいて当該文書を評価し、当該文書の修正が必要か否かを判定する。文書の修正が必要な場合、評価部１２１は修正箇所を提示する。
【００２９】
推薦部１２２は、後述する修正履歴管理情報１３２を参照して、評価対象の文書の修正内容の候補を提示する。
【００３０】
修正部１２３は、評価対象の文書を修正し、また、修正内容を修正履歴管理情報１３２に登録する。文書の修正には、文又は文字列の追加、文又は文字列の削除、及び文又は文字列の変更が含まれる。
【００３１】
なお、文書評価サーバ１００が有する各機能部については、複数の機能部を一つの機能部にまとめてもよいし、一つの機能部を機能毎に複数の機能部に分けてもよい。
【００３２】
副記憶装置１１４は、データを永続的に格納する記憶装置であり、例えば、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）及びＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等である。なお、副記憶装置１１４はワークエリアとして利用されてもよい。
【００３３】
ここで、副記憶装置１１４に格納されるデータについて説明する。副記憶装置１１４は、解析データ管理情報１３０、アノテーション管理情報１３１、修正履歴管理情報１３２、及びアノテーション定義情報１３３を格納する。副記憶装置１１４には、前述以外のデータが格納されてもよい。
【００３４】
解析データ管理情報１３０は、文書解析部１２０によって行われた文書の解析結果（解析データ）を管理するための情報である。解析データ管理情報１３０のデータ構造の詳細は図２を用いて説明する。
【００３５】
アノテーション管理情報１３１は、文書に付与されたアノテーションを管理するための情報である。アノテーション管理情報１３１のデータ構造の詳細は図３を用いて説明する。
【００３６】
修正履歴管理情報１３２は、修正履歴を管理するための情報である。修正履歴管理情報１３２のデータ構造の詳細は図４を用いて説明する。
【００３７】
アノテーション定義情報１３３は、評価観点に基づいて定義されたアノテーションを管理するための情報である。アノテーション定義情報１３３のデータ構造の詳細は図５を用いて説明する。
【００３８】
なお、アノテーション管理情報１３１及び修正履歴管理情報１３２はファイルサーバ１０１が管理してもよい。この場合、ファイルサーバ１０１は文書に付与されたアノテーション及び修正履歴を管理するデータベースとして機能する。
【００３９】
ファイルサーバ１０１は、ＣＰＵ１４０、ＩＯインタフェース１４１、ネットワークインタフェース１４２、主記憶装置１４３、及び副記憶装置１４４を有する。前述のハードウェアはバスを介して互いに接続される。ＩＯインタフェース１４１には、入力装置１４５及び出力装置１４６が接続される。
【００４０】
ＣＰＵ１４０、ＩＯインタフェース１４１、ネットワークインタフェース１４２、主記憶装置１４３、及び副記憶装置１４４は、ＣＰＵ１１０、ＩＯインタフェース１１１、ネットワークインタフェース１１２、主記憶装置１１３、及び副記憶装置１１４と同一のものである。また、入力装置１４５及び出力装置１４６は、入力装置１１５及び出力装置１１６と同一のものである。
【００４１】
主記憶装置１４３には、文書データをファイルとして管理するためのプログラムが格納される。副記憶装置１４４には、文書データがファイルとして格納される。
【００４２】
なお、文書データは文書評価サーバ１００の副記憶装置１１４に格納されてもよい。この場合、計算機システムはファイルサーバ１０１を含まない。
【００４３】
クライアント端末１０２は、ＣＰＵ１５０、ＩＯインタフェース１５１、ネットワークインタフェース１５２、及び主記憶装置１５３を有する。前述のハードウェアはバスを介して互いに接続される。ＩＯインタフェース１５１には、入力装置１５５及び出力装置１５６が接続される。なお、クライアント端末１０２は副記憶装置を有してもよい。
【００４４】
ＣＰＵ１５０、ＩＯインタフェース１５１、ネットワークインタフェース１５２、及び主記憶装置１５３は、ＣＰＵ１１０、ＩＯインタフェース１１１、ネットワークインタフェース１１２、及び主記憶装置１１３と同一のものである。
【００４５】
実施例１では、ファイルサーバ１０１に格納される文書データ、すなわち、計算機システムにおいて管理される文書データは、ソフトウェア品質が高い設計書のデータであるものとする。
【００４６】
図２は、実施例１の解析データ管理情報１３０のデータ構造の一例を示す図である。
【００４７】
解析データ管理情報１３０は、文書ＩＤ２０１、帳票種別２０２、詳細種別２０３、テキスト２０４、及びブロック２０５から構成されるエントリを含む。一つのエントリは一つの解析データに対応する。
【００４８】
文書ＩＤ２０１は、文書の識別情報を格納するフィールドである。
【００４９】
帳票種別２０２は、文書の帳票種別を格納するフィールドである。例えば、ソフトウェア又はシステムの設計書に対応する文書の帳票種別２０２は「設計書」となる。文書の帳票種別は記述形式等に基づいて設定される。
【００５０】
詳細種別２０３は、同一の帳票種別の文書の詳細な種別を格納するフィールドである。例えば、ＯＳの設計書の詳細種別２０３は「ＯＳ」となり、ＤＢの設計書の詳細種別２０３は「ＤＢ」となる。
【００５１】
テキスト２０４は、ファイルサーバ１０１が管理する文書データの格納場所を格納するフィールドである。なお、テキスト２０４には、文書データそのものが格納されてもよい。
【００５２】
ブロック２０５は、所定の基準に基づいて文書を分割することによって生成されるブロックの情報を格納するフィールドである。ブロック２０５には、ブロックの識別番号及び文書中のブロックの位置の組から構成されるデータ（ブロックデータ）が一つ以上格納される。一つの行が一つのブロックデータに対応する。
【００５３】
例えば、章、節、及び項単位で分割した文の集合がブロックとなる。また、段落単位で分割された文の集合をブロックとしてもよい。実施例１では、文書を分割する基準を定めた分割条件が予め設定されているものとする。分割条件は、情報として保持してもよいし、文書解析部１２０のアルゴリズムに組み込んでもよい。
【００５４】
図３は、実施例１のアノテーション管理情報１３１のデータ構造の一例を示す図である。
【００５５】
アノテーション管理情報１３１は、文書ＩＤ３０１、アノテーション３０２、及びアノテーション割合３０３から構成されるエントリを含む。一つのエントリは一つの文書データに対応する。
【００５６】
文書ＩＤ３０１は文書ＩＤ２０１と同一のフィールドである。
【００５７】
アノテーション３０２は、文書に含まれる文字列に付与されたアノテーションに関する情報を格納するフィールドである。実施例１では、単語単位の文字列にアノテーションが付与される。したがって、アノテーション３０２には、単語に対応する文字列及びアノテーションの種別の組から構成されるデータ（アノテーションデータ）が一つ以上格納される。
【００５８】
アノテーション割合３０３は、各種別のアノテーションの割合に関する情報を格納するフィールドである。実施例１では、アノテーション割合３０３には、評価範囲及び各種別のアノテーションの割合の組から構成されるデータ（割合データ）が一つ以上格納される。一つの行が一つの割合データに対応する。なお、一つの評価範囲における各種別のアノテーションの割合は、合計値が１００となるように算出される。
【００５９】
図３に示すように、実施例１では、文書全体の各種別のアノテーションの割合及びブロックの各種別のアノテーションの割合が算出される。
【００６０】
図４は、実施例１の修正履歴管理情報１３２のデータ構造の一例を示す図である。
【００６１】
修正履歴管理情報１３２は、文書ＩＤ４０１、修正内容４０２、アノテーション種別４０３、キーワード４０４、及び修正箇所４０５から構成されるエントリを含む。一つのエントリは一つの修正履歴に対応する。したがって、一つの文書に対して複数の修正履歴が存在する場合があり得る。
【００６２】
文書ＩＤ４０１は文書ＩＤ２０１と同一のフィールドである。
【００６３】
修正内容４０２は、文書の修正内容を格納するフィールドである。なお、修正内容４０２には、アノテーションが付与された文字列を示す情報が含まれてもよい。図４では、アノテーションが付与された文字列を示す情報として下線が挿入されている。
【００６４】
アノテーション種別４０３は、修正内容に対して付与されたアノテーションの種別を格納するフィールドである。
【００６５】
キーワード４０４は、修正内容の候補を提示する場合に使用するキーワード（文字列）を格納するフィールドである。
【００６６】
修正箇所４０５は、文書の修正が行われた位置を格納するフィールドである。例えば、修正箇所４０５にはブロックの識別情報が格納される。
【００６７】
図５は、実施例１のアノテーション定義情報１３３のデータ構造の一例を示す図である。
【００６８】
アノテーション定義情報１３３は、ＩＤ５０１、アノテーション種別５０２、及びキーワード５０３から構成されるエントリを含む。一つのエントリは一つのアノテーションの種別に対応する。
【００６９】
ＩＤ５０１は、アノテーション定義情報１３３のエントリを識別するための識別情報を格納するフィールドである。
【００７０】
アノテーション種別５０２は、アノテーションの種別を格納するフィールドである。
【００７１】
キーワード５０３は、アノテーション種別５０２に対応する種別のアノテーションを付与するキーワード（文字列）を格納するフィールドである。
【００７２】
次に、フローチャートを用いて文書評価サーバ１００が実行する処理について説明する。
【００７３】
図６は、実施例１の文書解析部１２０が実行する処理の一例を説明するフローチャートである。図７は、実施例１の文書解析部１２０によって提示される画面の一例を示す図である。
【００７４】
文書解析部１２０は、クライアント端末１０２の出力装置１５６に図７に示すような画面７００を提示し、処理対象の文書の入力を受け付ける。以下の説明では、処理対象の文書をターゲット文書とも記載する。
【００７５】
ここで、画面７００について説明する。画面７００は、文書欄７０１、帳票種別欄７０２、解析ボタン７０３、及び評価ボタン７０４を含む。
【００７６】
文書欄７０１は、ターゲット文書を指定するための欄である。文書欄７０１には、例えば、ファイルサーバ１０１に格納されるターゲット文書の格納場所、又は、ターゲット文書の識別情報が設定される。
【００７７】
帳票種別欄７０２は、ターゲット文書の帳票種別を入力するための欄である。なお、ターゲット文書に対応する文書データのメタデータに帳票種別が含まれる場合、帳票種別欄７０２は空欄でもよい。
【００７８】
解析ボタン７０３は、ターゲット文書の解析を指示するための操作ボタンである。ユーザが解析ボタン７０３を操作した場合、文書欄７０１及び帳票種別欄７０２に入力された値を含む解析要求が文書評価サーバ１００に送信される。
【００７９】
評価ボタン７０４は、ターゲット文書の評価を指示するための操作ボタンである。ユーザが評価ボタン７０４を操作した場合、文書欄７０１及び帳票種別欄７０２に入力された値を含む評価要求が文書評価サーバ１００に送信される。
【００８０】
以上が画面７００の説明である。図６の説明に戻る。
【００８１】
文書解析部１２０は、解析要求又は評価要求を受信した場合、以下で説明する処理を開始する。
【００８２】
図６のフローチャートの説明に戻る。まず、文書解析部１２０は、変数ｉに初期値「１」を設定する（ステップＳ１０１）。変数ｉはブロックの識別情報である番号を示す変数である。このとき、文書解析部１２０は、以下のような処理を実行する。
【００８３】
（Ｓ１０１−１）ターゲット文書が新規文書である場合、文書解析部１２０は、新規文書の文書データをファイルサーバ１０１に送信する。
【００８４】
（Ｓ１０１−２）文書解析部１２０は、解析データ管理情報１３０を参照して、ターゲット文書のエントリが存在するか否かを判定する。解析データ管理情報１３０にターゲット文書のエントリが存在しない場合、文書解析部１２０は、解析データ管理情報１３０にエントリを追加し、追加されたエントリの文書ＩＤ２０１に識別情報を格納する。ターゲット文書の識別情報は、文書解析部１２０及びファイルサーバ１０１のいずれかによって付与される。文書解析部１２０は、追加されたエントリの帳票種別２０２に解析要求又は評価要求に含まれる値を設定する。また、文書解析部１２０は、追加されたエントリのテキスト２０４にターゲット文書に対応する文書データの格納場所を設定する。
【００８５】
（Ｓ１０１−３）また、文書解析部１２０は、ターゲット文書の最初の文の位置をブロックの開始位置に設定する。以上がステップＳ１０１の処理の説明である。
【００８６】
次に、文書解析部１２０は、分割条件に基づいてブロックを特定する（ステップＳ１０２）。文書の分割方法は公知の技術を用いればよいため詳細な説明を省略するが、例えば、以下のような方法が考えられる。
【００８７】
分割条件が「章」の場合、文書解析部１２０は、章のタイトル又は記号を基準としてターゲット文書を章単位で分割する。分割条件が「段落」の場合、文書解析部１２０は、先頭の空白又はタブを基準として文書を段落単位で分割する。
【００８８】
このとき、文書解析部１２０は、解析データ管理情報１３０のエントリのブロック２０５に、変数ｉ及びブロックの位置を組み合わせたブロックデータを設定する。
【００８９】
次に、文書解析部１２０は、ターゲット文書の末尾であるか否かを判定する（ステップＳ１０３）。例えば、文書解析部１２０は、特定されたブロックの後に文が存在するか否かを判定する。特定されたブロックの後に文が存在しない場合、文書解析部１２０はターゲット文書の末尾であると判定する。
【００９０】
ターゲット文書の末尾でないと判定された場合、文書解析部１２０は、変数ｉに１を加算した値を新たな変数ｉとして設定し（ステップＳ１０４）、その後、ステップＳ１０２に戻る。このとき、文書解析部１２０は、特定されたブロックの直後の文の位置を、ブロックの開始位置に設定する。
【００９１】
ターゲット文書の末尾であると判定された場合、文書解析部１２０は、アノテーション定義情報１３３に基づいて、文書に含まれる文字列にアノテーションを付与する（ステップＳ１０５）。アノテーションの付与方法は公知の技術を用いればよいため詳細な説明は省略するが、例えば、以下のような方法が考えられる。
【００９２】
文書解析部１２０は、アノテーション管理情報１３１にエントリを追加し、追加されたエントリの文書ＩＤ３０１にターゲット文書の識別情報を設定する。
【００９３】
文書解析部１２０は、アノテーション定義情報１３３に定義された単語を文書から検索する。該当する単語が検索された場合、文書解析部１２０は、アノテーション管理情報１３１に追加されたエントリのアノテーション３０２に、文字列及びアノテーションの種別を組み合わせたアノテーションデータを設定する。
【００９４】
なお、ターゲット文書に対応するエントリが既に存在する場合、文書解析部１２０は、当該エントリに値を上書きしてもよいし、既存のエントリを削除した後に新たにエントリを追加してもよい。
【００９５】
次に、文書解析部１２０は、各種別のアノテーションの割合を算出する（ステップＳ１０６）。具体的には、以下のような処理が実行される。
【００９６】
（Ｓ１０６−１）文書解析部１２０は、文書全体に含まれる全ての種別のアノテーションの数を算出し、また、文書全体に含まれる各種別のアノテーションの数を算出する。
【００９７】
（Ｓ１０６−２）文書解析部１２０は、アノテーションの種別を選択し、文書全体に含まれる、選択された種別のアノテーションの数を、文書全体に含まれる全ての種別のアノテーションの数で除算することによって、文書全体における当該種別のアノテーションの割合を算出する。文書解析部１２０は、各種別のアノテーションについて同様の処理を実行する。このとき、文書解析部１２０は、各種別のアノテーションの割合の合計が１００となるように正規化する。
【００９８】
（Ｓ１０６−３）文書解析部１２０は、アノテーション管理情報１３１のエントリのアノテーション割合３０３に、「全体」及び各種別のアノテーションの割合を組み合わせた割合データを設定する。
【００９９】
（Ｓ１０６−４）文書解析部１２０は、ブロックを選択し、ブロックに含まれる全ての種別のアノテーションの数を算出し、また、ブロックに含まれる各種別のアノテーションの数を算出する。
【０１００】
（Ｓ１０６−５）文書解析部１２０は、アノテーションの種別を選択し、ブロックに含まれる、選択された種別のアノテーションの数を、ブロックに含まれる全ての種別のアノテーションの数で除算することによって、ブロックにおける当該種別のアノテーションの割合を算出する。文書解析部１２０は、各種別のアノテーションについて同様の処理を実行する。このとき、文書解析部１２０は、各種別のアノテーションの割合の合計が１００となるように正規化する。
【０１０１】
（Ｓ１０６−６）文書解析部１２０は、アノテーション管理情報１３１のエントリのアノテーション割合３０３に、ブロックの識別情報及び各種別のアノテーションの割合を組み合わせた割合データを設定する。
【０１０２】
文書解析部１２０は、全てのブロックについて（Ｓ１０６−４）から（Ｓ１０６−６）を実行する。
【０１０３】
文書又はブロックの各種別のアノテーションの割合は、文書の特徴を示す指標であって、評価観点に基づいて文書を評価するために用いられる。以上がステップＳ１０６の処理の説明である。
【０１０４】
次に、文書解析部１２０は、ファイルサーバ１０１に格納される文書データを用いて、ターゲット文書の詳細種別を特定し（ステップＳ１０７）、その後、処理を終了する。具体的には、以下のような処理が実行される。
【０１０５】
（Ｓ１０７−１）文書解析部１２０は、ターゲット文書とファイルサーバ１０１に格納される文書との単語共起類似度を算出する。なお、文書間の単語共起類似度の算出方法は公知の技術であるため詳細な説明は省略する。
【０１０６】
（Ｓ１０７−２）文書解析部１２０は、単語共起類似度に基づいて、最も類似する文書を特定する。文書解析部１２０は、解析データ管理情報１３０の特定された文書に対応するエントリを検索し、当該エントリの詳細種別２０３の値を取得する。
【０１０７】
（Ｓ１０７−３）文書解析部１２０は、解析データ管理情報１３０のターゲット文書のエントリの詳細種別２０３に、取得した値を設定する。以上がステップＳ１０７の処理の説明である。
【０１０８】
なお、受信した要求が評価要求である場合、文書解析部１２０は評価部１２１を呼び出した後、処理を終了する。このとき、文書解析部１２０は、ターゲット文書の識別情報を評価部１２１に出力する。
【０１０９】
図８は、実施例１の評価部１２１が実行する処理の一例を説明するフローチャートである。図９は、実施例１の評価部１２１によって生成されるデータの一例を示す図である。図１０は、実施例１の評価部１２１によって提示される画面の一例を示す図である。
【０１１０】
評価部１２１は、文書解析部１２０から呼び出された場合、以下で説明する処理を開始する。
【０１１１】
評価部１２１は、ターゲット文書の評価に用いる文書をファイルサーバ１０１から取得するための文書取得条件を設定する（ステップＳ２０１）。
【０１１２】
文書取得条件は文書評価サーバ１００に予め設定されているものとする。なお、文書取得条件は、情報として保持してもよいし、評価部１２１のアルゴリズムに組み込んでもよい。
【０１１３】
実施例１では、帳票種別及び詳細種別がターゲット文書と一致する文書を取得するための取得条件が設定されているものとする。
【０１１４】
以下の説明では、ターゲット文書の評価に用いる文書を比較用文書と記載する。なお、各比較用文書は、ターゲット文書と同じ文書構造であるものとする。すなわち、ブロックの構造が同一であるものとする。
【０１１５】
次に、評価部１２１は、ファイルサーバ１０１に格納される文書の中から文書取得条件を満たす比較用文書を検索し（ステップＳ２０２）、比較用文書が存在するか否かを判定する（ステップＳ２０３）。
【０１１６】
このとき、文書取得条件を満たす文書であっても、アノテーション管理情報１３１にエントリが存在しない文書は比較用文書からは除外される。
【０１１７】
なお、評価部１２１は、アノテーション管理情報１３１にエントリが存在しない文書の解析を文書解析部１２０に指示してもよい。この場合、当該文書は比較用文書として扱われる。
【０１１８】
比較用文書が存在しないと判定された場合、評価部１２１は、文書取得条件を変更し（ステップＳ２０４）、その後、ステップＳ２０２に戻る。
【０１１９】
例えば、評価部１２１は、帳票種別がターゲット文書と一致する文書を取得するための文書取得条件を設定する。なお、本発明は文書取得条件の変更方法に限定されない。
【０１２０】
比較用文書が存在すると判定された場合、評価部１２１は、比較用文書の各種別のアノテーションの割合の平均値を算出する（ステップＳ２０５）。具体的には、以下のような処理が実行される。
【０１２１】
（Ｓ２０５−１）評価部１２１は、アノテーションの種別を選択する。
【０１２２】
（Ｓ２０５−２）評価部１２１は、比較用文書における、選択された種別のアノテーションの割合の平均値を算出する。
【０１２３】
（Ｓ２０５−３）評価部１２１は、ブロックを選択し、選択されたブロックにおける、選択された種別のアノテーションの割合の平均値を算出する。
【０１２４】
評価部１２１は、全てのブロックについて（Ｓ２０５−３）の処理を実行する。また、評価部１２１は、全てのアノテーションの種別について（Ｓ２０５−１）、（Ｓ２０５−２）、（Ｓ２０５−３）を実行する。以上の処理によって、図９に示すような比較データ９００が生成される。
【０１２５】
比較データ９００は、アノテーション種別９０１、範囲９０２、及び割合９０３から構成されるエントリを含む。一つのエントリは一つのアノテーションの種別に対応する。
【０１２６】
アノテーション種別９０１はアノテーション種別５０２と同一のフィールドである。範囲９０２は評価範囲を格納するフィールドである。割合９０３は、評価範囲における任意種別のアノテーションの割合の平均値を格納するフィールドである。
【０１２７】
なお、比較用文書が一つである場合には、ステップＳ２０５の処理は実行されなくてもよい。以上がステップＳ２０５の処理の説明である。
【０１２８】
次に、評価部１２１は、ターゲット文書の各種別のアノテーションの割合及び比較用文書の各種別のアノテーションの割合の平均値に基づいて、ターゲット文書を評価する（ステップＳ２０６）。すなわち、評価観点に基づくターゲット文書の評価が高いか否かが判定される。より具体的には、ターゲット文書に規定されたソフトウェアの品質が高いか否かが判定される。具体的には、以下のような処理が実行される。
【０１２９】
（Ｓ２０６−１）評価部１２１は、ターゲット文書の各種別のアノテーションの割合をアノテーション管理情報１３１から取得し、また、比較用文書の各種別のアノテーションの割合の平均値を比較データ９００から取得する。評価部１２１は、各種別のアノテーションの割合の差を算出する。ここでは、絶対値として差が算出される。
【０１３０】
（Ｓ２０６−２）評価部１２１は、（Ｓ２０６−１）において算出された差が最も大きいアノテーションの種別を修正アノテーション種別として特定する。
【０１３１】
なお、全ての差が閾値より小さい場合、評価部１２１は修正が不要と判定してもよい。この場合、評価部１２１は、修正不要を示す情報を生成し、ステップＳ２０６の処理を終了してもよい。
【０１３２】
（Ｓ２０６−３）評価部１２１は、ブロックを選択し、ターゲット文書の選択されたブロックの修正アノテーション種別の割合をアノテーション管理情報１３１から取得し、比較用文書の選択されたブロックの修正アノテーション種別の割合の平均値を比較データ９００から取得する。評価部１２１は、修正アノテーション種別の割合の差を算出する。
【０１３３】
評価部１２１は、全てのブロックについて（Ｓ２０６−３）の処理を実行する。
【０１３４】
実施例１では、ターゲット文書及び比較用文書の文書構造が同一であるものと仮定している。なお、ターゲット文書及び比較用文書の文書構造が異なる場合、評価部１２１は、ターゲット文書の選択されたブロックの修正アノテーション種別の割合と、比較用文書の全体の修正アノテーション種別の割合の平均値との差を算出する。
【０１３５】
（Ｓ２０６−４）評価部１２１は、（Ｓ２０６−３）において算出された差が最も大きいブロックを変更箇所として特定する。
【０１３６】
（Ｓ２０６−５）評価部１２１は、修正アノテーション種別及び変更箇所の組から構成される指摘情報を生成する。
【０１３７】
実施例１では、文書の各種別のアノテーションの割合を評価指標として用いる。文書の各種別のアノテーションの割合は、評価観点を反映した指標であって、文書の長さ及び単語の数等の文書の構造に依存しない指標である。これによって、文書そのものの類似性とは異なる観点から文書を評価することができる。すなわち、蓄積された文書を用いて、様々な文書の評価を実現できる。
【０１３８】
実施例１では、ファイルサーバ１０１には品質の高い（評価が高い）設計書が格納されている。そこで、文書評価サーバ１００は、ターゲット文書の全ての種別のアノテーションの割合が、設計書の全ての種別のアノテーションの割合と同一である場合、修正は必要ないと判定する。すなわち、ターゲット文書は品質が高いと判定される。文書評価サーバ１００は、二つの文書の少なくとも一つの種別のアノテーションの割合が相違する場合、修正が必要であると判定する。
【０１３９】
また、ブロックの各種別のアノテーションの割合を用いることによって、ターゲット文書の修正箇所を提示することができる。これによって、文書の修正に要するコストを削減することができる。以上がステップＳ２０６の処理の説明である。
【０１４０】
次に、評価部１２１は、ステップＳ２０６の判定結果に基づいて、ターゲット文書の修正が必要か否かを判定する（ステップＳ２０７）。例えば、指摘情報が生成された場合、評価部１２１は、ターゲット文書の修正が必要であると判定する。
【０１４１】
ターゲット文書の修正が必要でないと判定された場合、評価部１２１は処理を終了する。この場合、ターゲット文書で規定されたソフトウェアは品質が高いことを示す。なお、ワークエリアに後述する候補履歴を存在する場合、評価部１２１は修正部１２３に候補履歴の登録を指示する。
【０１４２】
ターゲット文書の修正が必要であると判定された場合、評価部１２１は、指摘情報をワークエリアに格納し（ステップＳ２０８）、その後、処理を終了する。このとき、評価部１２１は、アノテーション管理情報１３１及び指摘情報に基づいて、クライアント端末１０２の出力装置１５６に、図１０に示すような画面１０００を表示する。
【０１４３】
ここで、画面１０００について説明する。画面１０００は、アノテーション割合欄１００１、修正アノテーション種別欄１００２、修正箇所欄１００３、及び候補提示ボタン１００４を含む。
【０１４４】
アノテーション割合欄１００１は、ターゲット文書及び比較用文書の各種別のアノテーションの割合を表示する欄である。アノテーション割合欄１００１は、評価範囲選択欄１０１１及びグラフ表示欄１０１２を含む。
【０１４５】
評価範囲選択欄１０１１は評価範囲を選択する欄である。図１０の評価範囲選択欄１０１１には、評価範囲がプルダウン形式で表示される。グラフ表示欄１０１２は、評価範囲におけるターゲット文書及び比較用文書の各種別のアノテーションの割合を示すグラフを表示する欄である。一つのアノテーションの種別に対して二つのグラフ１０２１、１０２２が表示される。グラフ１０２１は、ターゲット文書の各種別のアノテーションの割合を示すグラフである。グラフ１０２２は、比較用文書の各種別のアノテーションの割合の平均値を示すグラフである。なお、グラフ１０２１、１０２２を重ね合わせて一つのグラフとして表示してもよい。
【０１４６】
修正アノテーション種別欄１００２は、修正アノテーション種別を表示する欄である。修正箇所欄１００３は、修正箇所を表示する欄である。
【０１４７】
候補提示ボタン１００４は、修正箇所の修正内容の候補を提示するための操作ボタンである。候補提示ボタン１００４が操作された場合、候補提示要求が文書評価サーバ１００に送信される。以上が画面１０００の説明である。
【０１４８】
図１１は、実施例１の推薦部１２２が実行する処理の一例を説明するフローチャートである。図１２は、実施例１の推薦部１２２によって提示される画面の一例を示す図である。
【０１４９】
推薦部１２２は、候補提示要求を受信した場合、以下で説明する処理を開始する。
【０１５０】
推薦部１２２は、修正内容を提示するために用いる修正履歴を取得するための履歴取得条件を設定する（ステップＳ３０１）。
【０１５１】
履歴取得条件は文書評価サーバ１００に予め設定されているものとする。なお、履歴取得条件は、情報として保持してもよいし、推薦部１２２のアルゴリズムに組み込んでもよい。
【０１５２】
例えば、以下のような五つの条件を履歴取得条件として設定することが考えられる。
（１）アノテーションの種別が一致する。
（２）帳票種別が一致する。
（３）詳細種別が一致する。
（４）修正箇所が一致する。
（５）キーワード４０４に含まれる単語が、ターゲット文書の修正箇所に含まれていない。
【０１５３】
なお、履歴取得条件には、前述の五つの条件全てが含まれていなくてもよい。ただし、履歴取得条件には、少なくとも（１）の条件が含まれるものとする。なお、履歴取得条件に複数の条件が含まれる場合、優先順位を設定してもよい。
【０１５４】
以下の説明では、修正内容を提示するために用いる修正履歴を参照履歴と記載する。
【０１５５】
次に、推薦部１２２は、修正履歴管理情報１３２の中から履歴取得条件を満たす参照履歴を検索し（ステップＳ３０２）、参照履歴が存在するか否かを判定する（ステップＳ３０３）。
【０１５６】
参照履歴が存在しないと判定された場合、推薦部１２２は、履歴取得条件を変更し（ステップＳ３０４）、その後、ステップＳ３０２に戻る。
【０１５７】
例えば、評価部１２１は、履歴取得条件に含まれる条件の中から最も優先順位が低い条件を削除する。なお、本発明は履歴取得条件の変更方法に限定されない。
【０１５８】
参照履歴が存在すると判定された場合、推薦部１２２は、参照履歴を提示するための表示情報を生成し（ステップＳ３０５）、表示情報をクライアント端末１０２に送信する（ステップＳ３０６）。その後、推薦部１２２は処理を終了する。
【０１５９】
参照履歴が複数存在する場合、推薦部１２２は、ターゲット文書の修正箇所と、参照履歴の修正箇所との類似度を算出し、類似度が高い順に参照履歴を並べ替える。推薦部１２２は、類似度が最も大きい参照履歴を提示するための表示情報を生成する。なお、類似度順にソートされた参照履歴のリストを提示するための表示情報が生成されてもよい。
【０１６０】
クライアント端末１０２の出力装置１５６には、表示情報に基づいて、図１２に示すような画面１２００が表示される。
【０１６１】
ここで、画面１２００について説明する。画面１２００は、候補修正内容欄１２０１及び修正ボタン１２０２を含む。
【０１６２】
候補修正内容欄１２０１は、参照履歴に含まれる修正内容を表示する欄である。候補修正内容欄１２０１には、参照履歴に対応するエントリの修正内容４０２が表示される。
【０１６３】
修正ボタン１２０２は、ターゲット文書の修正箇所の修正を行うための操作ボタンである。ユーザが修正ボタン１２０２を操作した場合、候補修正内容欄１２０１に設定された修正内容を含む修正要求が文書評価サーバ１００に送信される。以上が画面１２００の説明である。
【０１６４】
ユーザは、提示された修正履歴を参照することによって、ターゲット文書の修正箇所を容易かつ迅速に修正することができる。ユーザは、提示された修正履歴をそのまま利用してもよいし、修正履歴を参照した上、自ら修正箇所の修正を行ってもよい。例えば、候補修正内容欄１２０１を編集する方法が考えられる。
【０１６５】
図１３は、実施例１の修正部１２３が実行する処理の一例を説明するフローチャートである。図１４は、実施例１の修正部１２３によって提示される画面の一例を示す図である。
【０１６６】
修正部１２３は、修正要求を受信した場合、以下で説明する処理を開始する。
【０１６７】
まず、修正部１２３は、修正要求に含まれる修正内容に基づいて、ターゲット文書を修正する（ステップＳ４０１）。このとき、修正部１２３は、修正されたターゲット文書の文書データをファイルサーバ１０１に送信する。
【０１６８】
次に、修正部１２３は、修正内容へのアノテーションの付与を文書解析部１２０に指示する（ステップＳ４０２）。修正部１２３は、文書解析部１２０からの応答を受信するまで待ち状態に移行する。
【０１６９】
文書解析部１２０は、修正部１２３からの指示を受け付けた場合、修正内容に含まれる文字列にアノテーションを付与する。アノテーションの付与方法はステップＳ１０５と同一である。文書解析部１２０は、文字列及びアノテーションの種別の組から構成されるアノテーションデータを含む応答を修正部１２３に出力する。
【０１７０】
次に、修正部１２３は、候補履歴を生成し、ワークエリアに候補履歴を格納する（ステップＳ４０３）。具体的には、以下のような処理が実行される。
【０１７１】
（Ｓ４０３−１）修正部１２３は、ターゲット文書の識別情報、修正内容、修正内容に付与されたアノテーションの種別、文字列、及び修正箇所の組から構成される候補履歴を生成する。
【０１７２】
（Ｓ４０３−２）修正部１２３は、図１４に示すような画面１４００をクライアント端末１０２の出力装置１５６に表示する。
【０１７３】
ここで、画面１４００について説明する。画面１４００は、修正内容欄１４０１、継続ボタン１４０２、及び完了ボタン１４０３を含む。
【０１７４】
修正内容欄１４０１は、修正要求に含まれる修正内容を表示する欄である。
【０１７５】
継続ボタン１４０２は、ターゲット文書の評価を継続するための操作ボタンである。ユーザが継続ボタン１４０２を操作した場合、ターゲット文書の識別情報を含む評価要求が文書評価サーバ１００に送信される。
【０１７６】
完了ボタン１４０３は、ターゲット文書の評価を完了するための操作ボタンである。ユーザが完了ボタン１４０３を操作した場合、完了要求が文書評価サーバ１００に送信される。以上が画面１４００の説明である。図１３の説明に戻る。
【０１７７】
（Ｓ４０３−３）修正部１２３は、画面１４００を介した要求を受信するまで待ち状態に移行する。以上がステップＳ４０３の処理の説明である。
【０１７８】
修正部１２３は、受信した要求が完了要求であるか否かを判定する（ステップＳ４０４）。
【０１７９】
受信した要求が完了要求であると判定された場合、修正部１２３は、ワークエリアに格納される候補履歴を修正履歴管理情報１３２に登録し（ステップＳ４０５）、その後、処理を終了する。ワークエリアに複数の候補履歴が格納される場合、全ての候補履歴が修正履歴管理情報１３２に登録される。このように、文書の品質を向上させるために行った修正を履歴として保存することによって、後の文書の修正に活用できる。
【０１８０】
受信した要求が継続要求であると判定された場合、修正部１２３は処理を終了する。
【０１８１】
実施例１で説明した計算機システムでは、任意の評価観点に基づく評価が高い文書がファイルサーバ１０１に格納される。文書評価サーバ１００は、比較用文書及びターゲット文書の各種別のアノテーションの割合を文書の評価指標として用いて、ターゲット文書を評価する。これによって、文書間の類似性に依存しない文書の評価を実現することができる。
【０１８２】
文書評価サーバ１００は、文字列を抽象化したアノテーションを用いているため、比較用文書及びターゲット文書の言語が異なっていても、文書の評価を実現できる。ただし、各言語のアノテーション定義情報１３３を設定する必要がある。
【０１８３】
また、文書評価サーバ１００は、文書の修正によって、評価が高くなったターゲット文書をファイルサーバ１０１に格納することによって、ターゲット文書を比較用文書として利用できる。
【０１８４】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。また、例えば、上記した実施例は本発明を分かりやすく説明するために構成を詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、各実施例の構成の一部について、他の構成に追加、削除、置換することが可能である。
【０１８５】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、本発明は、実施例の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をコンピュータに提供し、そのコンピュータが備えるプロセッサが記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、光ディスク、光磁気ディスク、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどが用いられる。
【０１８６】
また、本実施例に記載の機能を実現するプログラムコードは、例えば、アセンブラ、Ｃ／Ｃ＋＋、ｐｅｒｌ、Ｓｈｅｌｌ、ＰＨＰ、Ｐｙｔｈｏｎ、Ｊａｖａ（登録商標）等の広範囲のプログラム又はスクリプト言語で実装できる。
【０１８７】
さらに、実施例の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することによって、それをコンピュータのハードディスクやメモリ等の記憶手段又はＣＤ−ＲＷ、ＣＤ−Ｒ等の記憶媒体に格納し、コンピュータが備えるプロセッサが当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしてもよい。
【０１８８】
上述の実施例において、制御線や情報線は、説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていてもよい。
【符号の説明】
【０１８９】
１００  文書評価サーバ
１０１  ファイルサーバ
１０２  クライアント端末
１１０、１４０、１５０  ＣＰＵ
１１１、１４１、１５１  ＩＯインタフェース
１１２、１４２、１５２  ネットワークインタフェース
１１３、１４３、１５３  主記憶装置
１１４、１４４  副記憶装置
１１５、１４５、１５５  入力装置
１１６、１４６、出力装置  出力装置
１２０  文書解析部
１２１  評価部
１２２  推薦部
１２３  修正部
１３０  解析データ管理情報
１３１  アノテーション管理情報
１３２  修正履歴管理情報
１３３  アノテーション定義情報
【図１】
2020201815.tif 000003
【図２】
2020201815.tif 000004
【図３】
2020201815.tif 000005
【図４】
2020201815.tif 000006
【図５】
2020201815.tif 000007
【図６】
2020201815.tif 000008
【図７】
2020201815.tif 000009
【図８】
2020201815.tif 000010
【図９】
2020201815.tif 000011
【図１０】
2020201815.tif 000012
【図１１】
2020201815.tif 000013
【図１２】
2020201815.tif 000014
【図１３】
2020201815.tif 000015
【図１４】
2020201815.tif 000016