以下に、本願の開示する修正内容特定プログラムおよびレポート修正内容特定装置の実施例を図面に基づいて詳細に説明する。なお、本発明は、実施例により限定されるものではない。
[実施例1に係るレポート修正内容特定装置の構成]
図1は、実施例1に係るレポート修正内容特定装置の構成を示す機能ブロック図である。図1に示すレポート修正内容特定装置1は、複数の分析技術から生成されるレポートに含まれる文と当該文を修正した修正後の文(修正内容)に関し、修正内容に対する分析技術の修正箇所を特定する。なお、実施例1では、修正前の文と修正後の文とは対応付けられている場合を説明する。すなわち、修正後の文は、複数の分析技術のうちいずれの分析技術に関するものなのかが把握されているものとする。
レポート修正内容特定装置1は、制御部10および記憶部20を有する。
制御部10は、CPU(Central Processing Unit)などの電子回路に対応する。そして、制御部10は、各種の処理手順を規定したプログラムや制御データを格納するための内部メモリを有し、これらによって種々の処理を実行する。制御部10は、修正箇所特定部100を有する。修正箇所特定部100は、形態素解析部110、単語整形部120、意味的類似度算出部130および修正単語特定部140を有する。なお、形態素解析部110は、分割部の一例である。意味的類似度算出部130は、算出部の一例である。修正単語特定部140は、関連付け部および抽出部の一例である。
記憶部20は、例えば、RAM、フラッシュメモリ(Flash Memory)などの半導体メモリ素子、または、ハードディスク、光ディスクなどの記憶装置である。記憶部20は、文マッチング表21および修正箇所付き文マッチング表22を有する。
文マッチング表21は、複数の分析技術から生成されるレポートに含まれる修正前の文と修正後の文と分析技術とを対応付けた表である。なお、文マッチング表21は、実施例1では、予め生成されるものとする。
ここで、文マッチング表21のデータ構造の一例を、図2を参照して説明する。図2は、実施例1に係る文マッチング表のデータ構造の一例を示す図である。
図2に示すように、文マッチング表21は、レポートNo21a、コメントID(Identifier)21b、修正前21c、分析技術21dおよび修正後21eを対応付けた情報である。レポートNo21aは、複数の分析技術から生成されるレポートのNoを示す。コメントID21bは、レポートに含まれる文に対するコメントのIDを示す。修正前21cは、レポートに含まれる修正前の文を示す。分析技術21dは、修正前の文を生成した分析技術の名称を示す。修正前21cが示す修正前の文は、どの分析技術で生成されたものなのか把握されるので、分析技術21dは、修正前21cが示す修正前の文と紐付いている。修正後21eは、修正前21cが示す文を修正した後の文を示す。なお、実施例1では、修正前21cが示す文と修正後21eが示す文とは、複数の分析技術のうちいずれの分析技術に関するものなのかが把握されている。
図1に戻って、修正箇所付き文マッチング表22は、文マッチング表21に修正箇所を追加した表である。なお、修正箇所付き文マッチング表22を、説明の便宜上、文マッチング表21と異なる表として説明するが、これに限定されず、同じ表としても良い。また、修正箇所付き文マッチング表22は、修正単語特定部140によって生成される。
ここで、修正箇所付き文マッチング表22のデータ構造の一例を、図3を参照して説明する。図3は、実施例1に係る修正箇所付き文マッチング表のデータ構造の一例を示す図である。
図3に示すように、修正箇所付き文マッチング表22は、レポートNo22a、コメントID22b、修正前22c、分析技術22d、修正後22e、修正ID22fおよび修正箇所22gを対応付けた情報である。レポートNo22a〜修正後22eは、文マッチング表21のレポートNo21a〜修正後21eと同様であるので、その説明を省略する。修正ID22fは、修正に対するIDを示す。修正箇所22gは、修正前の文から修正後の文へ修正した場合の修正の箇所を示す。修正箇所22gは、修正前の文の修正される箇所と修正後の文の修正された箇所とを含む。
一例として、修正前22cが「HOGEHOGEは毎日6時に負荷が高くなる傾向です」であり、修正後22eが「HOGEHOGEは毎日7時に負荷が高くなる傾向です」である場合には、修正箇所22gとして「毎日6時⇒毎日7時」を記憶している。「毎日6時」は、修正前の文の修正される箇所である。「毎日7時」は、修正後の文の修正された箇所である。
図1に戻って、形態素解析部110は、修正前の文と修正後の文とをそれぞれ形態素解析を行う。例えば、形態素解析部110は、文マッチング表21のレポートNo21aおよびコメントID21bに対応する修正前21cが示す修正前の文と修正後21eが示す修正後の文を取得する。形態素解析部110は、修正前の文について、形態素解析を行い、単語に分割する。形態素解析部110は、修正後の文について、形態素解析を行い、単語に分割する。なお、形態素解析は、例えば、MeCabを適用しても良いし、Janomeを適用しても良いし、いかなる解析ツールを適用しても良い。
単語整形部120は、修正前の文および修正後の文ごとに、分割された単語を整形する。例えば、単語整形部120は、修正前の文について、品詞に基づいて、分割された単語を整形する。単語整形部120は、修正後の文について、品詞に基づいて、分割された単語を整形する。一例として、単語整形部120は、対象の単語の品詞のタイプが特定の品詞タイプである場合には、前の単語と対象の単語とを連結して、1つの単語に整形する。特定の品詞タイプは、例えば、動詞、助動詞または形容動詞である。これは、形態素解析部110によって単語が細かく分割されると、細かく分割された単語が雑音となって文の特徴をうまく表せなくなってしまうからである。つまり、文の特徴は、目的語や述語により現れるので、分析技術のコメント(文)の構造に沿って分割できれば、分析技術の特徴や文の特徴が現れると推定される。
意味的類似度算出部130は、分割した単語ごとに意味的な特徴量を表す単語ベクトル生成する。意味的類似度算出部130は、生成した単語ごとの単語ベクトルから、修正前の文に含まれる単語と修正後の文に含まれる単語の意味的類似度を算出する。ここでいう意味的類似度とは、2つの単語が意味的に類似する度合いのことをいう。
例えば、意味的類似度算出部130は、修正前の文を分割した各単語の単語ベクトルを生成する。また、意味的類似度算出部130は、修正後の文を分割した各単語の単語ベクトルを生成する。なお、単語ベクトルは、例えばword2vecを適用すれば良いが、いかなる公知技術を適用しても良い。実施例では、word2vecを適用した場合を説明する。
そして、意味的類似度算出部130は、修正前の文を分割した各単語と修正後の文を分割した各単語とを順に比較するために、修正前の文の各単語の単語ベクトルと修正後の文の各単語の単語ベクトルとの意味的類似度を算出する。すなわち、意味的類似度算出部130は、修正前の文の単語ごとに、各単語と、修正後の文の各単語との意味的類似度を算出する。意味的類似度を算出するのは、修正箇所は、文中の位置が違っても、数値や文字が変わっても、意味的に似ていると推定されるからである。なお、意味的類似度は、例えばコサイン類似度を適用すれば良いが、いかなる公知技術を適用しても良い。実施例では、コサイン類似度を適用した場合を説明する。
修正単語特定部140は、意味的類似度が最も高くなる単語のペアを関連付ける。
また、修正単語特定部140は、関連付けしたペアの単語が異なる箇所を修正箇所として特定する。例えば、修正単語特定部140は、関連付けしたペアのうち、意味的類似度が修正なしであることを示す「1.0」以外のペアを修正箇所として特定する。そして、修正単語特定部140は、修正箇所を、修正前の文と修正後の文と対応付けて修正箇所付き文マッチング表22に格納する。
[単語整形処理の一例]
ここで、単語整形部120によって行われる単語整形処理の一例を、図4を参照して説明する。図4は、実施例1に係る単語整形処理の一例を示す図である。図4では、「負荷が増加しています」という文の単語整形処理を説明する。
図4の符号a1に示すように、「負荷が増加しています」という文が、形態素解析部110によって品詞に分割されている。かかる文は、「負荷」、「が」、「増加」、「し」、「て」、「い」、「ます」に分割されている。ところが、細かく分割されすぎた単語は雑音となって、文の特徴をうまく表せない。ここでは、「し」、「て」、「い」の単語が雑音となって、文の特徴をうまく表せない。なお、「し」、「て」、「い」、「ます」のそれぞれの品詞は、助動詞、助詞、助動詞、助動詞である。
そこで、単語整形部120は、対象の単語の品詞のタイプが例えば動詞、助動詞または形容動詞である場合には、前の単語と対象の単語とを連結して、1つの単語に整形する。符号a2に示すように、対象の単語「し」の品詞のタイプは助動詞であるので、単語整形部120は、前の単語「増加」と対象の単語「し」とを連結して、1つの単語「増加し」に整形する。また、対象の単語「い」の品詞のタイプは助動詞であるので、単語整形部120は、前の単語「て」と対象の単語「い」とを連結して、1つの単語「てい」に整形する。さらに、対象の単語「ます」の品詞のタイプは助動詞であるので、単語整形部120は、前の単語「てい」と対象の単語「ます」とを連結して、1つの単語「ています」に整形する。
これにより、単語整形部120は、文の構造に沿って単語を整形することで、分析技術の特徴や文の特徴が現れるように、単語を分割できる。
[修正箇所特定処理の一例]
ここで、意味的類似度算出部130によって行われる意味的類似度算出処理および修正単語特定部140によって行われる修正単語特定処理の一例を、図5を参照して説明する。図5は、実施例1に係る意味的類似度算出処理および修正単語特定処理の一例を示す図である。図5では、符号b1で表わす文と符号b2で表わす文の修正箇所を特定する場合を説明する。符号b1で表わす文は、「HOGEHOGE は 毎日3時 に 負荷 が 高くなっています」であり、単語が既に分割および整形された状態であるとする。符号b2で表わす文は、「HOGEHOGE は 利用量 が 毎日4時 に 高い傾向です」であり、単語が既に分割および整形された状態であるとする。「 」が単語の区切りである。
意味的類似度算出部130は、符号b1の文を分割した各単語の単語ベクトルを生成する。意味的類似度算出部130は、符号b2の文を分割した各単語の単語ベクトルを生成する。そして、意味的類似度算出部130は、符号b1の文を分割した各単語と符号b2の文を分割した各単語とを順に比較するために、符号b1の文の各単語の単語ベクトルと符号b2の文の各単語の単語ベクトルとのコサイン類似度を算出する。ここでは、符号b1の文の単語「毎日3時」に着目して、この単語と符号b2の文の各単語とのコサイン類似度を算出する場合を説明する。符号b1の文の単語「毎日3時」と符号b2の文の単語「利用量」とのコサイン類似度は、「−0.109」と算出される。符号b1の文の単語「毎日3時」と符号b2の文の単語「毎日4時」とのコサイン類似度は、「0.328」と算出される。符号b1の文の単語「毎日3時」と符号b2の文の単語「高い傾向です」とのコサイン類似度は、「0.089」と算出される。
そして、修正単語特定部140は、コサイン類似度が最も高くなる単語のペアを関連付ける。ここでは、符号b1の文の単語「HOGEHOGE」は、符号b2の文の単語「HOGEHOGE」と関連付けられる。コサイン類似度は1.0である。符号b1の文の単語「は」は、符号b2の文の単語「は」と関連付けられる。コサイン類似度は1.0である。符号b1の文の単語「毎日3時」は、符号b2の文の単語「毎日4時」と関連付けられる。コサイン類似度は0.328である。すなわち、これらの単語は、数値が変わっても意味的に似ている。符号b1の文の単語「に」は、符号b2の文の単語「に」と関連付けられる。コサイン類似度は1.0である。符号b1の文の単語「利用量」は、符号b2の文の単語「負荷」と関連付けられる。コサイン類似度は0.191である。すなわち、これらの単語は、文字が変わっても意味的に似ている。符号b1の文の単語「が」は、符号b2の文の単語「が」と関連付けられる。コサイン類似度は1.0である。符号b1の文の単語「高くなっています」は、符号b2の文の単語「高い傾向です」と関連付けられる。コサイン類似度は0.213である。すなわち、これらの単語は、文字が変わっても意味的に似ている。
そして、修正単語特定部140は、関連付けしたペアのうち、意味的類似度が修正なしであることを示す「1.0」以外のペアを修正箇所として特定する。ここでは、符号b1の文の「毎日3時」と符号b2の文の「毎日4時」とのペアが修正箇所として特定される。符号b1の文の「利用量」と符号b2の文の「負荷」とのペアが修正箇所として特定される。符号b1の文の「高くなっています」と符号b2の文の「高い傾向です」とのペアが修正箇所として特定される。
これにより、修正単語特定部140は、修正前の文を修正した修正後の文に対する分析技術の修正箇所を特定することが可能となる。言い換えれば、修正単語特定部140は、修正後の文の中で、修正前の文を生成した分析技術にフィードバックする修正箇所を特定することが可能となる。
[修正箇所特定処理のフローチャート]
図6は、実施例1に係る修正箇所特定処理のフローチャートの一例を示す図である。図6では、文マッチング表21が予め生成されているとする。
図6に示すように、修正箇所特定部100は、マッチングした修正前と修正後の文を取得する(ステップS11)。例えば、形態素解析部110は、文マッチング表21から、レポートNo21aおよびコメントID21bに対応する、修正前21cが示す修正前の文と修正後21eが示す修正後の文とを取得する。
修正箇所特定部100は、修正前と修正後の文を、それぞれ形態素解析により、品詞に分解する(ステップS12)。そして、修正箇所特定部100は、修正前と修正後の文ごとに、品詞を基にした単語を整形する(ステップS13)。なお、単語の整形処理のフローチャートの一例は、後述する。
そして、修正箇所特定部100は、単語ベクトルを用いた意味的類似度による修正箇所(単語ペア)を特定する(ステップS14)。なお、修正箇所の特定処理のフローチャートの一例は、後述する。そして、修正箇所特定部100は、修正箇所特定処理を終了する。
[単語整形処理のフローチャート]
図7は、実施例1に係る単語整形処理のフローチャートの一例を示す図である。なお、図7では、単語整形部120は、修正前の文について、形態素解析で分解された各単語を受け付けると、単語整形処理を実行する。また、単語整形部120は、修正後の文について、形態素解析で分解された各単語を受け付けると、単語整形処理を実行する。
文の各単語を受け付けた単語整形部120は、文の単語と品詞のペアの集合を生成する(ステップS21)。例えば、単語整形部120は、文のi番目の単語について、単語wiと品詞hiのペアの集合wordsを[(w1,h1),(w2,h2),(w3,h3),・・・]と生成する。なお、iは、1以上の整数である。
単語整形部120は、集合から順番に単語と品詞のペアを取り出す(ステップS22)。例えば、単語整形部120は、集合wordsからi番目の単語と品詞のペアを取り出す。
単語整形部120は、取り出した品詞が助詞、助動詞または形容動詞であるか否かを判定する(ステップS23)。取り出した品詞が助詞、助動詞および形容動詞でないと判定した場合には(ステップS23;No)、単語整形部120は、ステップS25に移行する。
一方、取り出した品詞が助詞、助動詞または形容動詞であると判定した場合には(ステップS23;Yes)、単語整形部120は、前の単語と現在の単語を連結し、1つの単語に整形する(ステップS24)。単語が細かく分割されたままだと、細かく分割された単語が雑音となって文の特徴をうまく表せなくなってしまうからである。そして、単語整形部120は、ステップS25に移行する。
ステップS25において、単語整形部120は、単語を、整形後の単語リストnewwordsに追加する(ステップS25)。そして、単語整形部120は、集合から全てのペアを取り出したか否かを判定する(ステップS26)。集合から全てのペアを取り出していないと判定した場合には(ステップS26;No)、単語整形部120は、次のペアを取り出すべく、ステップS22に移行する。
一方、集合から全てのペアを取り出したと判定した場合には(ステップS26;Yes)、単語整形部120は、単語整形処理を終了する。すなわち、単語リストnewwordsに含まれる各単語が、文の整形後の各単語である。
[修正単語特定処理のフローチャート]
図8は、実施例1に係る修正単語特定処理のフローチャートの一例を示す図である。なお、図8では、意味的類似度算出部130は、修正前の文の整形後の各単語と、修正後の文の整形後の各単語を受け付けたものとする。
意味的類似度算出部130は、修正前の文と修正後の文の各単語の単語ベクトルの集合を生成する(ステップS31)。例えば、意味的類似度算出部130は、修正前の文の各単語の単語ベクトルの集合beforewordsを[w1,w2,w3,・・・wN]と生成する。なお、Nは、修正前の文の単語数である。意味的類似度算出部130は、修正後の文の各単語の単語ベクトルの集合afterwordsを[w´1,w´2,w´3,・・・w´M]と生成する。なお、Mは、修正後の文の単語数である。
意味的類似度算出部130は、修正前の単語と修正後の単語の単語ベクトルのコサイン類似度を算出する(ステップS32)。例えば、意味的類似度算出部130は、修正前の単語wiと修正後の単語w´jとの乗算で得られた値をコサイン類似度cos_ijとして算出する。なお、iは、0より大きくN以下の整数である。jは、0より大きくM以下の整数である。
そして、意味的類似度算出部130は、文中に早く出現する修正前の単語(i=1)から、最もコサイン類似度が高い修正後の単語を見つける。例えば、意味的類似度算出部130は、修正前の単語iに対して、cos_i1,cos_i2,・・・、cos_iMのコサイン類似度のうち最も高いコサイン類似度を持つ修正後のj(=L)番目の単語をみつける(ステップS33)。
そして、意味的類似度算出部130は、みつけた単語ペアの単語が含まれる単語ペアを除去する(ステップS34)。例えば、意味的類似度算出部130は、修正前の単語w1と修正後の単語wLとを除去する。単語ペアに含まれる単語が、この後、別の単語と単語ペアを構成するのを防止するためである。
そして、意味的類似度算出部130は、次に文中に早く出現する修正前の単語(i>1)があるか否かを判定する(ステップS35)。次に文中に早く出現する修正前の単語(i>1)があると判定した場合には(ステップS35;Yes)、意味的類似度算出部130は、次に文中に早く出現する修正前の単語を処理すべく、ステップS33に移行する。
一方、次に文中に出現する修正前の単語(i>1)がないと判定した場合には(ステップS35;No)、修正単語特定部140は、みつけた単語ペアの中でコサイン類似度が「1」でない単語ペアを修正箇所として特定する(ステップS36)。なお、コサイン類似度「1」は、修正なしであることを示す値である。そして、修正単語特定部140は、修正単語特定処理を終了する。
[実施例1の効果]
上記実施例1では、レポート修正内容特定装置1は、第1の文と当該第1の文を修正した第2の文をそれぞれ形態素解析して単語に分割する。レポート修正内容特定装置1は、分割した単語ごとに意味的な特徴量を表す単語ベクトルから、第1の文に含まれる単語と第2の文に含まれる単語の意味的類似度を算出する。レポート修正内容特定装置1は、意味的類似度が最も高くなる単語のペアを関連付け、関連付けしたペアの単語が異なる箇所を修正箇所として抽出する。かかる構成によれば、レポート修正内容特定装置1は、修正内容に対する分析技術の修正箇所を特定することができる。
ところで、実施例1では、レポート修正内容特定装置1は、第1の文を修正した第2の文がどの分析技術に関するものかが把握されている場合に、第1の文と第2の文(修正内容)に関し、修正内容に対する分析技術の修正箇所を特定すると説明した。しかしながら、レポート修正内容特定装置1は、これに限定されず、第2の文がどの分析技術に関するものかが把握されていない場合に、分析技術と第2の文との対応関係を検出する場合であっても良い。
そこで、実施例2では、レポート修正内容特定装置1が、第2の文がどの分析技術に関するものかが把握されていない場合に、分析技術と第2の文との対応関係を検出する場合について説明する。
[実施例2に係るレポート修正内容特定装置の構成]
図9は、実施例2に係るレポート修正内容特定装置の構成を示す機能ブロック図である。なお、図1に示すレポート修正内容特定装置1と同一の構成については同一符号を示すことで、その重複する構成および動作の説明については省略する。実施例1と実施例2とが異なるところは、制御部10に文マッチング部200を追加した点にある。また、実施例1と実施例2とが異なるところは、記憶部20に文対応表23を追加した点にある。
文マッチング部200は、複数の分析技術から生成されるレポート(修正前レポート)を修正したレポート(修正後レポート)に含まれる各文と分析技術との対応関係を検出する。修正前レポートは、複数の分析技術から生成される。修正後レポートは、修正前レポートをレポート作成者によって修正されたコメント群のことである。レポート作成者は、修正したコメントがどの分析技術に対応するのかわからない。このため、分析技術の開発者側では、レポート作成者がどの部分に対してどういった修正を加えたかのかわからない。つまり、分析技術の開発者は、レポート作成者によって修正されたコメントがフィードバックされても、どの分析技術を改善する必要があるのかわからない。そこで、文マッチング部200は、修正前レポートを修正した修正後レポートに含まれる文と分析技術との対応関係を検出する。ここでは、文マッチング部200は、文章分割部210、文補完部220、形態素解析部230、単語整形部240、意味的類似度算出部250、文字的類似度算出部260、統合類似度算出部270および類似文特定部280を有する。
ここで、レポートの一例を、図10を参照して説明する。図10は、レポートの一例を示す図である。図10に示すように、修正前レポートと修正後レポートとが対応付けて表わされている。修正前レポートは、複数の分析技術によって生成されたコメント群である。修正後レポートは、修正前レポートを例えばレポート作成者が修正したコメント群である。
図9に戻って、文対応表23は、修正前レポートに含まれる修正前の文と分析技術との対応関係を示す表である。なお、文対応表23は、予め生成される。
ここで、文対応表23のデータ構造の一例を、図11を参照して説明する。図11は、実施例2に係る文対応表のデータ構造の一例を示す図である。図11に示すように、文対応表23は、レポートNo23a、コメントID23b、修正前23cおよび分析技術23dを対応付けて記憶する。レポートNo23aは、修正前レポートのレポートNoに対応する。コメントID23bは、修正前レポートに含まれる文を識別するIDに対応する。修正前23cは、修正前レポートに含まれる修正前の文を示す。分析技術23dは、修正前の文を生成した分析技術を示す。
一例として、レポートNo23aが「1」およびコメントID23bが「1」である場合に、修正前23cとして「HOGEHOGEは毎日6時に負荷が高くなる傾向である」、分析技術23dとして「時間傾向分析 時間毎」と記憶している。また、レポートNo23aが「1」およびコメントID23bが「2」である場合に、修正前23cとして「HOGEHOGEへのアクセスは1月25日〜2月2日に負荷が高い状況です」、分析技術23dとして「時間傾向分析 日毎」と記憶している。このように、分析技術23dが「時間傾向分析」であっても、日毎や時間毎で分析の対象が異なる。
図9に戻って、文章分割部210は、修正前レポートの文章および修正後レポートの文章をそれぞれ文に分割する。例えば、文章分割部210は、文章を句点および改行で文に分割する。
文補完部220は、分割された文の主語に着目して再度文を分解する。これは、レポートに含まれる文は、ある程度決まった形式を持っているためである。形式の一例として、「XXはYYでZZです」がある。つまり、文は、1つの主語とそれに関する分析コメントで成り立っている。そこで、文補完部220は、文の分解によって主語が複数並列に並び、述語が1つの文の場合には、述語をコピーすることで文を補完する。
ここで、文章分割部210によって行われる文章分割処理および文補完部220によって行われる文補完処理の一例を、図12を参照して説明する。図12は、実施例2に係る文章分割処理および文補完処理の一例を示す図である。図12では、修正前レポートの文章を文に分割し、文を補完する場合を説明する。
図12に示すように、修正前レポートの文章が符号c1で表わされている。文章分割部210は、修正前レポートの文章c1を句点および改行で文に分割する。分割した結果が符号c2で表わされている。ここでは、3つの文に分割されている。ところが、3番目の文は、主語が2つあるので、まだ分割しきれていない。
文補完部220は、3番目の文の主語に着目して再度文を分解する。ここでは、符号c3で表わされているように、3番目の文が新たな3番目の文と4番目の文に分解されている。新たな3番目の文が「FUGAFUGAは毎日5時」であり、4番目の文が「HOGEFUGAは毎日6時に負荷が高くなる傾向です」である。
そこで、文補完部220は、主語が複数並列に並び、述語が1つの文の場合には、述語をコピーすることで文を補完する。ここでは、符号c4で表わされているように、文補完部220は、3番目の文に、4番目の文の述語をコピーすることで、3番目の文を補完する。
図9に戻って、形態素解析部230は、修正前レポートの文章を分割した文(修正前の文)ごとに形態素解析を行う。形態素解析部230は、修正後レポートの文章を分割した文(修正後の文)ごとに形態素解析を行う。例えば、形態素解析部230は、対象の文について、形態素解析を行い、単語に分割する。なお、形態素解析は、例えば、MeCabを適用しても良いし、Janomeを適用しても良いし、いかなる解析ツールを適用しても良い。
単語整形部240は、修正前の文ごとに、分割された単語を整形する。単語整形部240は、修正後の文ごとに、分割された単語を整形する。例えば、単語整形部240は、対象の文について、品詞に基づいて、分割された単語を整形する。一例として、単語整形部240は、対象の単語の品詞のタイプが特定の品詞タイプである場合には、前の単語と対象の単語とを連結して、1つの単語に整形する。特定の品詞タイプは、例えば、動詞、助動詞または形容動詞である。これは、形態素解析部230によって単語が細かく分割されると、細かく分割された単語が雑音となって文の特徴をうまく表せなくなってしまうからである。つまり、文の特徴は、目的語や述語により現れるので、分析技術のコメント(文)の構造に沿って分割できれば、分析技術の特徴や文の特徴が現れると推定される。
意味的類似度算出部250は、修正前の文ごとに、意味的な特徴量を表す文ベクトルから、修正後の文との意味的類似度を算出する。ここでいう意味的類似度とは、2つの文が意味的に類似する度合いのことをいう。
例えば、意味的類似度算出部250は、修正前の文を分割した各単語の単語ベクトルを生成する。そして、意味的類似度算出部250は、各単語の単語ベクトルの平均を算出し、修正前の文の文ベクトルとする。また、意味的類似度算出部250は、修正後の文を分割した各単語の単語ベクトルを生成する。そして、意味的類似度算出部250は、各単語の単語ベクトルの平均を算出し、修正後の文の文ベクトルとする。なお、単語ベクトルは、例えばword2vecを適用すれば良いが、いかなる公知技術を適用しても良い。実施例では、word2vecを適用した場合を説明する。
そして、意味的類似度算出部250は、修正前の各文と修正後の各文とを順に比較するために、修正前の各文の文ベクトルと修正後の各文の文ベクトルとの意味的類似度を算出する。すなわち、意味的類似度算出部250は、修正前の文ごとに、各文と、修正後の各文との意味的類似度を算出する。なお、意味的類似度は、例えばコサイン類似度を適用すれば良いが、いかなる公知技術を適用しても良い。実施例では、コサイン類似度を適用した場合を説明する。これにより、意味的類似度算出部250は、意味的類似度を用いることで、同じ分析技術で生成した文同士を特定することが可能となる。
文字的類似度算出部260は、修正前の文ごとに、修正後の文との文字的類似度を算出する。ここでいう文字的類似度とは、2つの文が文字的に類似する度合いのことをいい、例えば、2つの文の文字的に類似する単語の数の文全体の割合のことをいう。
例えば、文字的類似度算出部260は、修正前の文を分割した各単語と、修正後の文を分割した各単語とを比較する。文字的類似度算出部260は、文字的に類似する単語の数をカウントし、修正前の文全体に占める類似単語の割合を文字的類似度として算出する。文字的な類似とは、完全一致や一部一致を含む。なお、数字の違いにより文字的類似度が低くならないように、数字を全て同一の別の文字(例えば、X)で置き換えてから処理することが望ましい。
ここで、文字的類似度の算出を行うのは、以下の理由による。前述した意味的類似度算出部250によって用いられた意味的類似度では、同じ分析技術で生成した文同士の類似を判別できる。ところが、時間単位について言及している文と、日単位のことについて言及している文のような異なる対象について分析した文同士の判別は難しい。異なる対象には、例えば、ホストや、日毎や時間毎などの時間単位が挙げられる。一例として、曜日や日付、時間は、意味的に近いので類似度が高くなりやすい。そこで、文字的類似度算出部260は、文同士を単語ごとに比較して、文字的に似ている単語の数をカウントし、文全体に占める割合を文字的類似度として算出するのである。
統合類似度算出部270は、修正前の文ごとに、修正後の文との統合類似度を算出する。ここでいう統合類似度とは、意味的類似度と文字的類似度とを組み合わせた類似度のことをいう。例えば、統合類似度算出部270は、修正前の文と修正後の文について、意味的類似度および文字的類似度の平均を算出する。なお、統合類似度の算出方法は、これに限定されず、意味的類似度および文字的類似度のどちらか一方に重い重みを付けて算出する方法であっても良い。
類似文特定部280は、統合類似度が最も高くなる、修正前の文および修正後の文のペアを類似文として特定する。これにより、類似文特定部280は、統合類似度が最も高い文のペアを、同じ分析技術、同じ対象に対して言及した文同士としてマッチングできる。
また、類似文特定部280は、特定した文のペアのうち修正後の文を修正前の文に対応付けて文マッチング表21に格納する。
[意味的類似度算出処理の一例]
ここで、意味的類似度算出部250によって行われる意味的類似度算出処理の一例を、図13Aおよび図13Bを参照して説明する。図13Aおよび図13Bは、実施例2に係る意味的類似度算出処理の一例を示す図である。
図13Aでは、符号d0で表わす文の文ベクトルについて説明する。符号d0で表わす文は、「負荷 が 増加し ています」であり、単語が既に分割および整形された状態であるとする。「 」が単語の区切りである。
意味的類似度算出部250は、符号d0の文を分割した各単語の単語ベクトルを生成する。そして、意味的類似度算出部250は、各単語の単語ベクトルの平均を算出し、符号d0の文の文ベクトルとする。ここでは、符号d0の文の文ベクトルは、「負荷」,「が」,「増加し」および「ています」のそれぞれの単語の単語ベクトルの平均となる。
図13Bでは、符号d1で表わす修正前の文と符号d2〜d7で表わすそれぞれの修正後の文との意味的類似度を算出する場合を説明する。修正前の文d1、修正後の文d2〜d7は、それぞれ文ベクトルを有しているとする。
意味的類似度算出部250は、修正前の文d1と修正後の各文d2〜d7とを順に比較するために、修正前の文d1の文ベクトルと修正後の各文d2〜d7の文ベクトルとのコサイン類似度を算出する。ここでは、修正前の文d1と修正後の文d2とのコサイン類似度は、「−0.38872・・」と算出される。修正前の文d1と修正後の文d3とのコサイン類似度は、「−0.34344・・」と算出される。修正前の文d1と修正後の文d4とのコサイン類似度は、「−0.44084・・」と算出される。修正前の文d1と修正後の文d5とのコサイン類似度は、「0.50445・・」と算出される。修正前の文d1と修正後の文d6とのコサイン類似度は、「−0.45771・・」と算出される。修正前の文d1と修正後の文d7とのコサイン類似度は、「0.50146・・」と算出される。この結果、修正前の文d1と修正後の文d5は、意味的に似ていることがわかる。修正前の文d1と修正後の文d7は、意味的に似ていることがわかる。すなわち、同じ負荷に関する時間傾向を分析した文同士の類似度が高くなっていることがわかる。
ところが、修正前の文d1は、負荷に関する時間傾向に言及した文である。修正後の文d5は、修正前の文d1と同様、負荷に関する時間傾向に言及した文であるが、修正後の文d7は、修正前の文d1と同じ分析技術であるものの対象が異なる日傾向に言及した文である。すると、同じ負荷に関する分析技術であっても、異なる対象に言及した文同士の類似度も高くなってしまう。なお、類似度が高くなる対象の組合せには、時間と日に限定されず、時間と曜日、時間と日付、曜日と日付が含まれる。そこで、文字的類似度算出部260は、修正前の文と修正後の文との文字的類似度を算出する。
[文字的類似度算出処理の一例]
ここで、文字的類似度算出部260によって行われる文字的類似度算出処理の一例を、図14Aおよび図14Bを参照して説明する。図14Aおよび図14Bは、実施例2に係る文字的類似度算出処理の一例を示す図である。
図14Aでは、符号d10で表わす文と符号b11で表わす文との文字的類似度を算出する場合を説明する。符号d10で表わす文は、「HOGEHOGE は 毎日X時 から X時 に 負荷 が 高くなり ます」であり、単語が既に分割および整形された状態であるとする。符号d11で表わす文は、「HOGEHOGE は 毎日X時 に 負荷 が 高くなる 傾向です」であり、単語が既に分割および整形された状態であるとする。「 」が単語の区切りである。また、数字は別の文字「X」で置き換えられている。
文字的類似度算出部260は、文d10を分割した各単語と、文d11を分割した各単語とを比較し、文字的に類似する単語の数をカウントし、文d10の全体に占める類似単語の割合を文字的類似度として算出する。ここでは、文d10と文d11とでは、「HOGEHOGE」、「毎日X時」および「負荷」が文字的に類似している。つまり、助詞を除いて、7単語中3単語がマッチしているので、文字的類似度は、3/7(=0.43)と算出される。
図14Bでは、符号d1で表わす修正前の文と符号d2〜d7で表わすそれぞれの修正後の文との文字的類似度を算出する場合を説明する。修正前の文d1、修正後の文d2〜d7は、それぞれ、単語が既に分割および整形された状態であるとする。ここでは、修正前の文d1と修正後の文d2との文字的類似度は、「0」と算出される。修正前の文d1と修正後の文d3との文字的類似度は、「0」と算出される。修正前の文d1と修正後の文d4との文字的類似度は、「0」と算出される。修正前の文d1と修正後の文d5との文字的類似度は、「0.286」と算出される。修正前の文d1と修正後の文d6との文字的類似度は、「0」と算出される。修正前の文d1と修正後の文d7との文字的類似度は、「0.43」と算出される。この結果、時間毎に言及した、修正前の文d1と修正後の文d7の組は、文字的に似ていることがわかる。同じ分析技術であっても、日毎に言及した文d1と時間毎に言及した文d5の組は、文d1と文d7の組に比べて、文字的に似ていないと評価される。
[統合類似度算出処理の一例]
ここで、統合類似度算出部270によって行われる統合類似度算出処理の一例を、図15を参照して説明する。図15は、実施例2に係る統合類似度算出処理の一例を示す図である。図15では、符号d1で表わす修正前の文と符号d2〜d7で表わすそれぞれの修正後の文との統合類似度を算出する場合を説明する。
統合類似度算出部270は、修正前の文と修正後の文との意味的類似度および文字的類似度の平均を統合類似度として算出する。ここでは、修正前の文d1と修正後の文d2との統合類似度は、「−0.18872・・」と算出される。修正前の文d1と修正後の文d3との文字的類似度は、「−0.14344・・」と算出される。修正前の文d1と修正後の文d4との文字的類似度は、「−0.24084・・」と算出される。修正前の文d1と修正後の文d5との文字的類似度は、「0.39445・・」と算出される。修正前の文d1と修正後の文d6との文字的類似度は、「−0.25771・・」と算出される。修正前の文d1と修正後の文d7との文字的類似度は、「0.46349・・」と算出される。
この後、類似文特定部280は、統合類似度が最も高くなる、修正前の文および修正後の文のペアを類似文として特定する。ここでは、修正前の文d1および修正後の文d7のペアが、類似文として特定される。これにより、類似文特定部280は、類似文として特定されたペアを、同じ分析技術、同じ対象に対して言及した文同士としてマッチングできる。また、類似文特定部280は、修正後の文d7の分析技術を特定できる。ここでは、修正前の文d1および修正後の文d7のペアが、負荷の時間傾向の分析に言及した文同士としてマッチングされる。補正後の文d7は、負荷の時間傾向の分析技術と特定される。
[文マッチング処理のフローチャート]
図16は、実施例2に係る文マッチング処理のフローチャートの一例を示す図である。図16では、文マッチング表21の修正前21cと修正後21eとがマッチング(対応付け)されていないものとする。
図16に示すように、文マッチング部200は、修正前のレポートの文章と修正後のレポートの文章を取得する(ステップS41)。文マッチング部200は、取得した修正前のレポートの文章と修正後のレポートの文章を1文ごとに分割する(ステップS42)。
そして、文マッチング部200は、1文を再度分解し、削れてしまった部分を補完する(ステップS43)。例えば、文マッチング部200は、分割された文の主語に着目して再度分解する。文マッチング部200は、文の分解によって主語が複数並列に並び述語が1つの文の場合には、述語をコピーすることで文を補完する。
そして、文マッチング部200は、修正前と修正後の各文を、形態素解析により、品詞に分解する(ステップS44)。そして、文マッチング部200は、修正前と修正後の文ごとに、品詞を基にした単語を整形する(ステップS45)。なお、単語の整形処理のフローチャートの一例は、図7で示したので、その説明を省略する。
そして、文マッチング部200は、修正前の文と修正後の文について、単語ベクトルによる意味的類似度を算出する(ステップS46)。例えば、文マッチング部200は、修正前の文を分割した各単語の単語ベクトルを生成する。そして、文マッチング部200は、各単語の単語ベクトルの平均を算出し、修正前の文の文ベクトルとする。文マッチング部200は、修正後の文を分割した各単語の単語ベクトルを生成する。そして、文マッチング部200は、各単語の単語ベクトルの平均を算出し、修正後の文の文ベクトルとする。そして、文マッチング部200は、修正前の各文の文ベクトルと、修正後の各文の文ベクトルとの意味的類似度を算出する。
また、文マッチング部200は、修正前の文と修正後の文について、文字的類似度を算出する(ステップS47)。例えば、文マッチング部200は、修正前の文を分割した各単語と、修正後の文を分割した各単語とを比較する。文マッチング部200は、文字的に類似する単語の数をカウントし、修正前の文全体に占める類似単語の割合を文字的類似度として算出する。
そして、文マッチング部200は、修正前の文と修正後の文について、統合類似度を算出する(ステップS48)。例えば、文マッチング部200は、修正前の文と修正後の文との意味的類似度および文字的類似度の平均を算出する。
そして、文マッチング部200は、修正前の文と修正後の文の対応付けを行い、修正後の各文の分析技術を特定する(ステップS49)。例えば、文マッチング部200は、統合類似度が最も高くなる、修正前の文と修正後の文のペアを類似文として特定する(対応付ける)。そして、文マッチング部200は、特定したペアの修正前の文に対応する分析技術を、修正後の文の分析技術として特定する。そして、文マッチング部200は、特定した文のペアのうち修正後の文を修正前の文に対応付けて文マッチング表21に格納する。そして、文マッチング部200は、文マッチング処理を終了する。
なお、文マッチング処理が終了した後、修正箇所特定部100が、文マッチング表21の、対応付けられた(マッチングされた)修正前の文と修正後の文に関し、修正箇所を特定すれば良い。
[実施例2の効果]
上記実施例2では、レポート修正内容特定装置1は、特定の分析技術により分析された第1の文と分析技術が未知の複数の第2の文をそれぞれ形態素解析して単語に分割する。レポート修正内容特定装置1は、該分割した単語ごとの単語ベクトルから第1の文および複数の第2の文それぞれの文章ベクトルを生成する。そして、レポート修正内容特定装置1は、第1の文および複数の第2の文それぞれの文ベクトルから第1の文と複数の第2の文それぞれとの意味的類似度を算出する。そして、レポート修正内容特定装置1は、意味的類似度に基づいて、第1の文と意味的に類似する第2の文を抽出する。かかる構成によれば、レポート修正内容特定装置1は、第1の文と意味的に類似する第2の文を抽出することで、第1の文と同じ分析技術で生成した第2の文を抽出することが可能となる。
また、上記実施例2では、レポート修正内容特定装置1は、第1の文と複数の第2の文それぞれとの類似する単語の数から文字的類似度を算出する。レポート修正内容特定装置1は、文字的類似度と意味的類似度とに基づいて、複数の第2の文の中から統合的に類似する第2の文を抽出する。かかる構成によれば、レポート修正内容特定装置1は、第1の文と意味的および文字的に類似する第2の文を抽出することで、第1の文と同じ分析技術および同じ対象に対して言及した第2の文を抽出することが可能となる。
ところで、実施例1,2では、レポート修正内容特定装置1は、同一の分析技術である修正前の第1の文と修正後の第2の文に関し、修正箇所を特定する場合を説明した。しかしながら、レポート修正内容特定装置1は、これに限定されず、さらに、修正箇所の修正タイプを特定しても良い。
そこで、実施例3では、レポート修正内容特定装置1は、修正前の第1の文を修正した修正後の第2の文について、修正箇所の修正タイプを特定する場合について説明する。
[実施例3に係るレポート修正内容特定装置の構成]
図17は、実施例3に係るレポート修正内容特定装置の構成を示す機能ブロック図である。なお、図9に示すレポート修正内容特定装置1と同一の構成については同一符号を示すことで、その重複する構成および動作の説明については省略する。実施例1と実施例3とが異なるところは、制御部10に修正タイプ特定部300を追加した点にある。また、実施例2と実施例3とが異なるところは、記憶部20に修正タイプ付き文マッチング表24を追加した点にある。
修正タイプ付き文マッチング表24は、修正箇所付き文マッチング表22に修正タイプを追加した表である。なお、修正タイプ付き文マッチング表24を、説明の便宜上、修正箇所付き文マッチング表22と異なる表として説明するが、これに限定されず、同じ表としても良い。また、修正タイプ付き文マッチング表24は、後述する修正タイプ推定部320によって生成される。
ここで、修正タイプ付き文マッチング表24のデータ構造の一例を、図18を参照して説明する。図18は、実施例3に係る修正タイプ付き文マッチング表のデータ構造の一例を示す図である。
図18に示すように、修正タイプ付き文マッチング表24は、レポートNo24a、コメントID24b、修正前24c、分析技術24d、修正後24e、修正ID24f、修正箇所24gおよび修正タイプ24hを対応付けた情報である。レポートNo24a〜修正箇所24gは、修正箇所付き文マッチング表22のレポートNo22a〜修正箇所22gと同様であるので、その説明を省略する。修正タイプ24hは、修正箇所の誤りのタイプを示す。修正タイプ24hには、「精度」や「文言」が含まれる。
一例として、修正箇所24gが「毎日6時⇒毎日7時」である場合に、修正タイプ24hとして「精度」と記憶している。また、修正箇所24gが「多い状況です⇒高いです」である場合に、修正タイプ24hとして「文言」と記憶している。
修正タイプ特定部300は、修正文字特定部310および修正タイプ推定部320を有する。
修正文字特定部310は、修正箇所から修正文字を特定する。
例えば、修正文字特定部310は、修正単語特定部140によって修正箇所として特定された単語のペアをそれぞれ再び形態素解析して、品詞に応じた文字に分解する。そして、修正文字特定部310は、分解した文字同士を比較し、品詞が同じである異なる文字同士を修正文字として特定する。
一例として、単語のペアのうち、修正前の単語が「毎日6時」であり、修正後の単語が「毎日7時」であるとする。修正文字特定部310は、修正前の単語が再び形態素解析すると、「毎日 6 時」と分解する。修正文字特定部310は、修正後の単語が再び形態素解析すると、「毎日 7 時」と分解する。そして、修正文字特定部310は、分解された文字同士を比較すると、「6」と「7」が、品詞が同じ「数詞」である異なる文字同士であるので、これらの文字同士を修正文字として特定する。
別の例として、単語のペアのうち、修正前の単語が「毎日6時」であり、修正後の単語が「毎日6〜7時」であるとする。修正文字特定部310は、修正前の単語を再び形態素解析すると、「毎日 6 時」と分解する。修正文字特定部310は、修正後の単語を再び形態素解析すると、「毎日 6 〜 7 時」と分解する。そして、修正文字特定部310は、分解された文字同士を比較すると、「6」と「7」が、品詞が同じ「数詞」である異なる文字同士であるので、これらの文字同士を修正文字として特定する。ところが、修正は、「6」から「6〜7」であるにもかかわらず、「6」から「7」の修正しか認識されない。そこで、修正文字特定部310は、「〜」や「から」などが他の文字に繋がっている場合には、繋がっている文字も含めて修正文字とする。かかる場合には、修正文字特定部310は、「6」と「6 7」が、品詞が同じ「数詞」である異なる文字同士であるので、これらの文字同士を修正文字として特定する。
修正タイプ推定部320は、修正箇所の修正タイプを推定する。例えば、修正タイプ推定部320は、修正文字特定部310によって特定された修正箇所に含まれる修正文字の品詞に基づいて、修正箇所の修正タイプを推定する。一例として、修正タイプ推定部320は、修正文字の品詞が数詞または形容詞である場合には、修正タイプを「精度」と推定する。すなわち、修正文字の品詞が数詞または形容詞である場合には、修正後の文で精度の修正が行われたと推定されるからである。また、修正タイプ推定部320は、修正文字の品詞が数詞および形容詞でない場合には、修正タイプを「文言」と推定する。すなわち、修正文字の品詞がそれ以外である場合には、修正後の文で文言の修正が行われたと推定されるからである。
また、修正タイプ推定部320は、修正タイプを修正箇所に対応付けて修正タイプ付き文マッチング表24に格納する。
[修正タイプ特定処理のフローチャート]
図19は、実施例3に係る修正タイプ特定処理のフローチャートの一例を示す図である。図19では、修正タイプ特定部300は、修正単語特定部140によって修正箇所として特定された、修正前と修正後の単語のペアを受け付けたものとする。
図19に示すように、修正タイプ特定部300は、修正前と修正後の単語ペアを再度形態素解析により品詞に分解する(ステップS51)。修正タイプ特定部300は、単語ペアの文字の集合を生成する(ステップS52)。例えば、修正タイプ特定部300は、修正前の単語の文字の集合beforecharasを[(c1,h1),(c2,h2),(c3,h3),・・・,(cN,hN)]と生成する。なお、ciは、i番目の修正前の文字であり、hiは、i番目の修正前の文字の品詞である。Nは、修正前の単語の文字数である。修正タイプ特定部300は、修正後の単語の文字の集合aftercharasを[(c´1,h´1),(c´2,h´2),(c´3,h´3),・・・,(c´M,h´M)]と生成する。なお、cjは、j番目の修正前の文字であり、hjは、j番目の修正前の文字の品詞である。Mは、修正前の単語の文字数である。
修正タイプ特定部300は、修正前の文中に早く出現する文字(i=1)から修正前後の文字のペアを比較し、文字が異なり品詞が同じペアを取得する(ステップS53)。ここでは、文字のペアを示すciとc´j(=L)が異なり、品詞が同じであったとする。そして、修正タイプ特定部300は、みつけた修正後の文字c´Lを除去する(ステップS54)。
修正タイプ特定部300は、次に修正前の文中に早く出現する文字(i=i+1)があるか否かを判定する(ステップS55)。次に修正前の文中に早く出現する文字があると判定した場合には(ステップS55;Yes)、修正タイプ特定部300は、次の文字を処理すべく、ステップS53に移行する。
一方、次に修正前の文中に早く出現する文字がないと判定した場合には(ステップS55;No)、修正タイプ特定部300は、みつけたペアを修正文字のペアとして特定する(ステップS56)。そして、修正タイプ特定部300は、修正文字のペアの文字の中で、数詞かつ「から」や「〜」で他の数詞と接続される文字を修正文字に連結する(ステップS57)。
そして、修正タイプ特定部300は、修正文字のペアの品詞が数詞または形容詞であるか否かを判定する(ステップS58)。修正文字のペアの品詞が数詞または形容詞であると判定した場合には(ステップS58;Yes)、修正タイプ特定部300は、修正タイプを「精度」に推定する(ステップS59)。そして、修正タイプ特定部300は、修正タイプ特定処理を終了する。
一方、修正文字のペアの品詞が数詞および形容詞でないと判定した場合には(ステップS58;No)、修正タイプ特定部300は、修正タイプを「文言」に推定する(ステップS60)。そして、修正タイプ特定部300は、修正タイプ特定処理を終了する。
[実施例3の効果]
上記実施例3では、レポート修正内容特定装置1は、抽出した修正箇所を有するペアの単語をそれぞれ再び形態素解析して品詞に応じた文字に分割する。レポート修正内容特定装置1は、ペアの単語ごとに該分割した文字同士を比較し、異なる文字同士の品詞に基づいて、修正箇所の修正タイプを特定する。かかる構成によれば、レポート修正内容特定装置1は、修正箇所の修正タイプを特定することで、修正箇所の誤りのタイプを判別できる。この結果、レポート修正内容特定装置1は、修正前のレポートについて、修正タイプを含む修正内容を該当する分析技術の開発者にフィードバックすることで、分析技術の精度を向上させることができる。
[その他]
なお、レポート修正内容特定装置1は、既知のパーソナルコンピュータ、ワークステーションなどの情報処理装置に、上記した制御部10と、記憶部20などの各機能を搭載することによって実現することができる。
また、図示したレポート修正内容特定装置1の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、レポート修正内容特定装置1の分散・統合の具体的態様は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、形態素解析部110と単語整形部120とを1つの部として統合しても良い。また、意味的類似度算出部130を、単語ベクトルを生成する生成部と、意味的類似度を算出する算出部とに分離しても良い。また、記憶部20をレポート修正内容特定装置1の外部装置としてネットワーク経由で接続するようにしても良い。
また、上記実施例で説明した各種の処理は、予め用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータで実行することによって実現することができる。そこで、以下では、図1に示したレポート修正内容特定装置1と同様の機能を実現する修正内容特定プログラムを実行するコンピュータの一例を説明する。図20は、修正内容特定プログラムを実行するコンピュータの一例を示す図である。
図20に示すように、コンピュータ500は、各種演算処理を実行するCPU503と、ユーザからのデータの入力を受け付ける入力装置515と、表示装置509を制御する表示制御部507とを有する。また、コンピュータ500は、記憶媒体からプログラムなどを読取るドライブ装置513と、ネットワークを介して他のコンピュータとの間でデータの授受を行う通信制御部517とを有する。また、コンピュータ500は、各種情報を一時記憶するメモリ501と、HDD(Hard Disk Drive)505を有する。そして、メモリ501、CPU503、HDD505、表示制御部507、ドライブ装置513、入力装置515、通信制御部517は、バス519で接続されている。
ドライブ装置513は、例えばリムーバブルディスク510用の装置である。HDD505は、修正内容特定プログラム505aおよび修正内容特定処理関連情報505bを記憶する。
CPU503は、プログラム505aを読み出して、メモリ501に展開し、プロセスとして実行する。かかるプロセスは、レポート修正内容特定装置1の各機能部に対応する。修正内容特定処理関連情報505bは、文マッチング表21および修正箇所付き文マッチング表22などに対応する。そして、例えばリムーバブルディスク510が、修正内容特定プログラム505aなどの各情報を記憶する。
なお、修正内容特定プログラム505aについては、必ずしも最初からHDD505に記憶させておかなくても良い。例えば、コンピュータ500に挿入されるフレキシブルディスク(FD)、CD−ROM(Compact Disk Read Only Memory)、DVD(Digital Versatile Disk)、光磁気ディスク、IC(Integrated Circuit)カードなどの「可搬用の物理媒体」に当該プログラムを記憶させておく。そして、コンピュータ500がこれらから修正内容特定プログラム505aを読み出して実行するようにしても良い。