(57)【特許請求の範囲】
【請求項１】
記憶手段を備え、２つの文の間の差異箇所を抽出する差異箇所抽出装置であって、
文字列から構成される複数の文を含む文書を入力する入力手段と、
前記入力された文書に含まれる複数の文を抽出する抽出手段と、
前記抽出された複数の文のうちの２つの文毎に、当該２つの文を第１及び第２の文として含む文ペアを作成する作成手段と、
前記作成された文ペアに含まれる第１及び第２の文を構成する文字列に基づいて、当該第１及び第２の文間の類似度を算出する算出手段と、
前記算出された類似度が予め定められた値より高い文ペアを特定する特定手段と、
前記特定された文ペアに含まれる第１及び第２の文に構文解析を実行し、当該第１及び第２の文にそれぞれ含まれる単語、当該単語の語幹、当該単語の係り受け先、及び当該単語の出現位置を含む複数の構文解析結果からなる構文解析結果群を作成する解析手段と、
前記第１及び第２の文の各々に関し、前記構文解析結果群に基づき、前記第１及び第２の文の間で単語の語幹及び係り受け関係がそれぞれ一致する単語がある場合、当該単語の語幹及び出現位置を含むアライメント箇所情報を当該構文解析結果群から抽出するアライメント箇所抽出手段と、
前記抽出したアライメント箇所情報を前記記憶手段に書込む書込手段と、
前記第１及び第２の文の各々に関し、前記構文解析結果群から前記アライメント箇所情報に相当する構文解析結果を除外することにより、残りの構文解析結果群から単語及び出現位置を含む部分差異箇所情報を抽出する部分差異箇所抽出手段と、
前記第１及び第２の文の各々に関し、前記抽出された部分差異箇所情報のうち、互いに連続した出現位置を有する複数の部分差異箇所情報をまとめることにより、前記複数の部分差異箇所情報内の単語を連接した差異箇所と、前記複数の部分差異箇所情報内の出現位置を包含する出現位置とを含む差異箇所情報を作成する差異箇所作成手段と、
前記第１及び第２の文の各々に関し、前記差異箇所情報の出現位置の直後に続く出現位置を有するアライメント箇所情報を対応箇所情報として前記記憶手段から抽出する対応箇所抽出手段と、
前記抽出された対応箇所情報及び前記作成された差異箇所情報に基づき、前記第２の文に関する差異箇所情報に含まれる差異箇所を提示する補足文と、前記第１及び第２の文の各々に関する差異箇所情報に含まれる出現位置とを含む補足文情報を作成する補足文作成手段と、
前記補足文情報内の出現位置に基づいて、前記第１及び第２の文と、前記補足文とを出力する出力手段と
を備えたことを特徴とする差異箇所抽出装置。
【請求項２】
請求項１に記載の差異箇所抽出装置において、
互いに類似する文字列を含む類義語辞書を予め記憶する類義語辞書記憶手段と、
前記作成手段により作成された文ペアに含まれる第１及び第２の文を構成する文字列のうち、前記類義語辞書に含まれる互いに類似する文字列に基づいて、当該第１及び第２の文間の類似度を算出する類義語類似度算出手段と
を更に備えたことを特徴とする差異箇所抽出装置。
【請求項３】
記憶手段を備え、２つの文の間の差異箇所を抽出する差異箇所抽出装置に用いられるプログラムであって、
前記差異箇所抽出装置を、
文字列から構成される複数の文を含む文書を入力する入力手段、
前記入力された文書に含まれる複数の文を抽出する抽出手段、
前記抽出された複数の文のうちの２つの文毎に、当該２つの文を第１及び第２の文として含む文ペアを作成する作成手段、
前記作成された文ペアに含まれる第１及び第２の文を構成する文字列に基づいて、当該第１及び第２の文間の類似度を算出する算出手段、
前記算出された類似度が予め定められた値より高い文ペアを特定する特定手段、
前記特定された文ペアに含まれる第１及び第２の文に構文解析を実行し、当該第１及び第２の文にそれぞれ含まれる単語、当該単語の語幹、当該単語の係り受け先、及び当該単語の出現位置を含む複数の構文解析結果からなる構文解析結果群を作成する解析手段、
前記第１及び第２の文の各々に関し、前記構文解析結果群に基づき、前記第１及び第２の文の間で単語の語幹及び係り受け関係がそれぞれ一致する単語がある場合、当該単語の語幹及び出現位置を含むアライメント箇所情報を当該構文解析結果群から抽出するアライメント箇所抽出手段、
前記抽出したアライメント箇所情報を前記記憶手段に書込む書込手段、
前記第１及び第２の文の各々に関し、前記構文解析結果群から前記アライメント箇所情報に相当する構文解析結果を除外することにより、残りの構文解析結果群から単語及び出現位置を含む部分差異箇所情報を抽出する部分差異箇所抽出手段、
前記第１及び第２の文の各々に関し、前記抽出された部分差異箇所情報のうち、互いに連続した出現位置を有する複数の部分差異箇所情報をまとめることにより、前記複数の部分差異箇所情報内の単語を連接した差異箇所と、前記複数の部分差異箇所情報内の出現位置を包含する出現位置とを含む差異箇所情報を作成する差異箇所作成手段、
前記第１及び第２の文の各々に関し、前記差異箇所情報の出現位置の直後に続く出現位置を有するアライメント箇所情報を対応箇所情報として前記記憶手段から抽出する対応箇所抽出手段、
前記抽出された対応箇所情報及び前記作成された差異箇所情報に基づき、前記第２の文に関する差異箇所情報に含まれる差異箇所を提示する補足文と、前記第１及び第２の文の各々に関する差異箇所情報に含まれる出現位置とを含む補足文情報を作成する補足文作成手段、
前記補足文情報内の出現位置に基づいて、前記第１及び第２の文と、前記補足文とを出力する出力手段、
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、差異箇所抽出装置及びプログラムに関する。
【背景技術】
【０００２】
例えば、規定文書や業務マニュアル等の業務文書といった大量の文書集合において、二つの文間に表記の異なる文節が存在している場合がある。こういった表記の異なる文節を差異箇所という。この種の差異箇所が存在すると、ユーザが類似文を抽出する際に、記載している内容が同一であるにも関わらず、適切に抽出されない場合がある。
【０００３】
一方、差異箇所抽出方法としては、所定のフォーマットの文書から類似部分を抽出し、文字列の表記に基づいて、類似部分から差異箇所を抽出する方式が知られている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第４３１００６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、以上のような差異箇所抽出方法では、送り仮名違い等といった単語の活用形の違いも差異箇所として抽出されてしまうため、正確に差異箇所を抽出できないという不都合がある。
【０００６】
本発明が解決しようとする課題は、単語の活用形の違いを差異箇所として抽出せず、より正確に差異箇所を抽出し得る差異箇所抽出装置及びプログラムを提供することである。
【課題を解決するための手段】
【０００７】
実施形態の差異箇所抽出装置は、記憶手段を備え、２つの文の間の差異箇所を抽出する。前記差異箇所抽出装置は、入力手段、抽出手段、作成手段、算出手段、特定手段、解析手段、アライメント箇所抽出手段、書込手段、部分差異箇所抽出手段、差異箇所作成手段、対応箇所抽出手段、補足文作成手段及び出力手段を備えている。
【０００８】
前記入力手段は、文字列から構成される複数の文を含む文書を入力する。
【０００９】
前記抽出手段は、前記入力された文書に含まれる複数の文を抽出する。
【００１０】
前記作成手段は、前記抽出された複数の文のうちの２つの文毎に、当該２つの文を第１及び第２の文として含む文ペアを作成する。
【００１１】
前記算出手段は、前記作成された文ペアに含まれる第１及び第２の文を構成する文字列に基づいて、当該第１及び第２の文間の類似度を算出する。
【００１２】
前記特定手段は、前記算出された類似度が予め定められた値より高い文ペアを特定する。
【００１３】
前記解析手段は、前記特定された文ペアに含まれる第１及び第２の文に構文解析を実行し、当該第１及び第２の文にそれぞれ含まれる単語、当該単語の語幹、当該単語の係り受け先、及び当該単語の出現位置を含む複数の構文解析結果からなる構文解析結果群を作成する。
【００１４】
前記アライメント箇所抽出手段は、前記第１及び第２の文の各々に関し、前記構文解析結果群に基づき、前記第１及び第２の文の間で単語の語幹及び係り受け関係がそれぞれ一致する単語がある場合、当該単語の語幹及び出現位置を含むアライメント箇所情報を当該構文解析結果群から抽出する。
【００１５】
前記書込手段は、前記抽出したアライメント箇所情報を前記記憶手段に書込む。
【００１６】
前記部分差異箇所抽出手段は、前記第１及び第２の文の各々に関し、前記構文解析結果群から前記アライメント箇所情報に相当する構文解析結果を除外することにより、残りの構文解析結果群から単語及び出現位置を含む部分差異箇所情報を抽出する。
【００１７】
前記差異箇所作成手段は、前記第１及び第２の文の各々に関し、前記抽出された部分差異箇所情報のうち、互いに連続した出現位置を有する複数の部分差異箇所情報をまとめることにより、前記複数の部分差異箇所情報内の単語を連接した差異箇所と、前記複数の部分差異箇所情報内の出現位置を包含する出現位置とを含む差異箇所情報を作成する。
【００１８】
前記対応箇所抽出手段は、前記第１及び第２の文の各々に関し、前記差異箇所情報の出現位置の直後に続く出現位置を有するアライメント箇所情報を対応箇所情報として前記記憶手段から抽出する。
【００１９】
前記補足文作成手段は、前記抽出された対応箇所情報及び前記作成された差異箇所情報に基づき、前記第２の文に関する差異箇所情報に含まれる差異箇所を提示する補足文と、前記第１及び第２の文の各々に関する差異箇所情報に含まれる出現位置とを含む補足文情報を作成する。
【００２０】
前記出力手段は、前記補足文情報内の出現位置に基づいて、前記第１及び第２の文と、前記補足文とを出力する。
【図面の簡単な説明】
【００２１】
【図１】一実施形態に係る差異箇所抽出装置の全体構成を示すブロック図である。
【図２】同実施形態における文書データの一例を示す模式図である。
【図３】同実施形態における構文解析結果記憶部を説明するための模式図である。
【図４】同実施形態における構文解析結果記憶部を説明するための模式図である。
【図５】同実施形態における係り受け関係の一例を示す模式図である。
【図６】同実施形態におけるアライメント記憶部を説明するための模式図である。
【図７】同実施形態における差異箇所記憶部を説明するための模式図である。
【図８】同実施形態における補足文記憶部を説明するための模式図である。
【図９】同実施形態における単語アライメントの一例を示す模式図である。
【図１０】同実施形態における係り受けアライメントの一例を示す模式図である。
【図１１】同実施形態における差異箇所の一例を示す模式図である。
【図１２】同実施形態における差異箇所抽出部を説明するための模式図である。
【図１３】同実施形態における対応箇所抽出部を説明するための模式図である。
【図１４】同実施形態における対応箇所抽出部を説明するための模式図である。
【図１５】同実施形態における補足文付与部を説明するための模式図である。
【図１６】同実施形態における出力部の出力の一例を示す模式図である。
【図１７】同実施形態における出力部の出力の一例を示す模式図である。
【図１８】同実施形態における全体動作を説明するためのフローチャートである。
【図１９】同実施形態におけるステップＳ６０を説明するためのフローチャートである。
【図２０】同実施形態におけるステップＳ６４を説明するためのフローチャートである。
【図２１】同実施形態におけるステップＳ７０を説明するためのフローチャートである。
【図２２】同実施形態におけるステップＳ７３を説明するためのフローチャートである。
【図２３】同実施形態におけるステップＳ７４を説明するためのフローチャートである。
【図２４】同実施形態におけるステップＳ８０を説明するためのフローチャートである。
【図２５】同実施形態の変形例を示すブロック図である。
【発明を実施するための形態】
【００２２】
以下、一実施形態について図面を用いて説明する。なお、以下の差異箇所抽出装置は、ハードウェア構成、又はハードウェア資源とソフトウェアとの組合せ構成のいずれでも実施可能となっている。組合せ構成のソフトウェアとしては、予めネットワーク又は記憶媒体からコンピュータにインストールされ、このコンピュータに差異箇所抽出装置の機能を実現させるためのプログラムが用いられる。
【００２３】
図１は一実施形態に係る差異箇所抽出装置の全体構成を示すブロック図である。この差異箇所抽出装置１０は、２つの文の間の差異箇所を抽出する装置である。差異箇所抽出装置１０は、具体的には、文書データ記憶部１１、構文解析結果記憶部１２、アライメント記憶部１３、差異箇所記憶部１４、及び補足文記憶部１５、入力部１６、文抽出部１７、類似度算出部１８、類似文判定部１９、構文解析部２０、アライメント実行部２１、差異箇所抽出部２２、対応箇所抽出部２３、補足文付与部２４及び出力部２５を備えている。各記憶部１１〜１５は、各部１６〜２５から読出／書込可能な記憶部であり、別々の記憶装置、又は同一の記憶装置内の別々の記憶領域として実現される。
【００２４】
ここで、文書データ記憶部１１は、例えば図２に示す如き、文書データｄ１０，ｄ２０が記憶されている。文書データｄ１０，ｄ２０は、文書データ名ｄ１１，ｄ２１と文書データ本体ｄ１２，ｄ２２とをそれぞれ含んでいる。この例では、文書データｄ１０がパスワード管理規程を表す文書データであり、文書データｄ２０が○○部パスワード規則を表す文書データである。文書データｄ１０，ｄ２０は、単語などの文字列から構成される複数の文を含んでおり、任意の形式が使用可能となっている。ここでいう文とは、先頭の文字から句点までの文字で構成される文字列である。先頭の文字とは、先行する句点の後に配置された最初の文字である。文書データｄ１０，ｄ２０は、入力部１６により、文抽出部１７に入力された後には対象文書とも呼ばれる。
【００２５】
構文解析結果記憶部１２は、図３及び図４に示すように、文書データｄ１０，ｄ２０を構文解析した結果、得られる単語、単語の語幹、係り受け先、付属語、単語の開始位置、単語の終了位置及び文番号からなる７項目の情報が、文中から抽出された単語数だけ格納される（以下、７項目の情報を構文解析結果と呼ぶ。構文解析結果の集合を構文解析結果群とも呼ぶ。また、単語の開始位置、単語の終了位置及び文番号の３項目の情報を出現位置とも呼ぶ。）。
【００２６】
例えば、「パスワードを４文字に設定する」の文に対する構文解析結果は、図３の文番号“３”の行に示されている。このような構文解析結果は、例えば図５に示す如き、係り受け関係を表現可能となっている。構文解析結果に含まれる３つの単語「パスワードは」、「４文字に」及び「設定する」は、係り受け関係が「パスワードは」→「４文字に」→「設定する」となっている。図５中の「見出し語」は、構文解析結果の「語幹」に相当する。図５中の矢印“→”は、係り受け元→係り受け先という係り受け関係を示している。なお、構文解析結果の項目「単語」の情報（例、「パスワードは」）は、項目「語幹」及び「付属語」の情報（例、「パスワード」及び「は」）を連接した情報となっている。構文解析結果の項目「係り受け先」の情報（例、「４文字」）は、後続するいずれかの単語に関する項目「語幹」の情報（例、「４文字」）となっている。構文解析結果及び構文解析結果群は、構文解析部２０により、構文解析結果記憶部１２に書込まれる。
【００２７】
アライメント記憶部１３は、図６に示すように、アライメント箇所（語幹）、単語の開始位置、単語の終了位置及び文番号の４項目の情報からなるアライメント箇所情報が記憶される。アライメント箇所情報は、第１及び第２の文の各々に関し、単語の語幹及び係り受け関係がそれぞれ一致した場合の当該語幹（アライメント箇所）及び出現位置（開始位置、終了位置及び文番号）を示しており、アライメント実行部２１により、アライメント記憶部１３に書込まれる。
【００２８】
差異箇所記憶部１４は、図７に示すように、差異箇所、単語の開始位置、単語の終了位置及び文番号の４項目の情報からなる差異箇所情報が記憶される。差異箇所情報は、差異箇所抽出部２２により、処理（i）〜（iii）により作成され、差異箇所記憶部１４に書込まれる。
【００２９】
（i）構文解析結果群からアライメント箇所情報に相当する構文解析結果を除外する。
【００３０】
（ii）残りの構文解析結果群から単語及び出現位置を含む部分差異箇所情報を抽出する。
【００３１】
（iii）抽出された部分差異箇所情報のうち、互いに連続した出現位置を有する複数の部分差異箇所情報をまとめる。これにより、複数の部分差異箇所情報内の単語を連接した差異箇所と、前記複数の部分差異箇所情報内の出現位置を包含する出現位置とを含む差異箇所情報が作成される。
【００３２】
補足文記憶部１５は、図８に示すように、補足文、単語の開始位置、単語の終了位置及び文番号の４項目の情報からなる補足文情報が記憶される。補足文情報は、第２の文に関する差異箇所情報に含まれる差異箇所を提示する補足文と、第１及び第２の文の各々に関する差異箇所情報に含まれる出現位置とを含んでおり、補足文付与部２４により、補足文記憶部１５に書込まれる。
【００３３】
入力部１６は、文字列から構成される複数の文を含む文書を入力する入力機能をもっており、例えばキーボード及びマウスが使用可能となっている。入力部１６は、例えば、ユーザの操作により、文書データ記憶部１１に格納された文書データｄ１０，ｄ２０から差異箇所の抽出対象の文書データｄ１０，ｄ２０を選択し、選択した文書データｄ１０，ｄ２０を文抽出部１７に入力する。入力される文書データｄ１０，ｄ２０は、文字列から構成される複数の文を含む文書である。なお、複数の文が文抽出部１７に入力される形態であれば、入力される文書の個数は、１つでもよく、複数でもよい。
【００３４】
文抽出部１７は、入力部１６により入力された文書に含まれる複数の文（ここでは、改行を含まない読点区切の文を指す）を抽出する抽出機能をもっている。
【００３５】
類似度算出部１８は、抽出された文群の中の二つの文の類似度を算出する。詳しくは、類似度算出部１８は、以下の機能(f18-1)〜(f18-2)をもっている。
【００３６】
(f18-1)  文抽出部１７により抽出された複数の文のうちの２つの文毎に、当該２つの文を第１及び第２の文として含む文ペアを作成する作成機能。
【００３７】
(f18-2)  作成された文ペアに含まれる第１及び第２の文を構成する文字列に基づいて、当該第１及び第２の文間の類似度を算出する算出機能。なお、類似度の算出はコサイン類似度に基づいて行なう。コサイン類似度とは、２つのベクトルがなす角度であり、文をベクトル化することにより、文の類似度を求めることができる。
【００３８】
類似文判定部１９は、類似度算出部１８で算出された二つの文の類似度に基づき、差異箇所を抽出する対象とする文のペアを決定する。すなわち、類似文判定部１９は、類似度算出部１８により算出された類似度が予め定められた値より高い文ペアを特定する特定機能をもっている。
【００３９】
構文解析部２０は、対象の二つの文のペアに対して構文解析を実行し、構文解析結果を構文解析結果記憶部１２へ格納する。詳しくは、構文解析部２０は、類似文判定部１９により特定された文ペアに含まれる第１及び第２の文に構文解析を実行し、当該第１及び第２の文にそれぞれ含まれる単語、当該単語の語幹、当該単語の係り受け先、及び当該単語の出現位置を含む複数の構文解析結果からなる構文解析結果群を作成する解析機能をもっている。構文解析とは、文の構文構造や係り受け関係などといった文法的な関係を抽出する方法である。
【００４０】
アライメント実行部２１は、構文解析結果記憶部１２に格納されている各文の単語の語幹と係り受け関係を用いて、文のペア間のアライメントを行い、文間で対応する箇所を抽出しアライメント記憶部１３へ格納する。詳しくは、アライメント実行部２１は、図９及び図１０に示すように、第１及び第２の文の各々に関し、構文解析結果群に基づき、第１及び第２の文の間で単語の語幹及び係り受け関係がそれぞれ一致する単語がある場合、当該単語の語幹及び出現位置を含むアライメント箇所情報を当該構文解析結果群から抽出するアライメント箇所抽出機能と、当該抽出したアライメント箇所情報をアライメント記憶部１３に書込む書込機能とをもっている。アライメントとは、二つの文間で単語の表記や文法構造の一致部分を対応付ける方法である。図９は単語の表記の一致部分を対応付ける単語アライメントの一例を示し、図１０は文法構造の一致部分を対応付ける係り受けアライメントの一例を示している。
【００４１】
差異箇所抽出部２２は、アライメント記憶部１３に格納されている文間で対応する箇所に基づき、一致しない箇所を差異箇所として抽出し、抽出した差異箇所を差異箇所記憶部１４に格納する。詳しくは、差異箇所抽出部２２は、図１１及び図１２に一例を示すように、次の機能(f22-1)〜(f22-2)をもっている。
【００４２】
(f22-1)  第１及び第２の文の各々に関し、構文解析結果群からアライメント箇所情報に相当する構文解析結果を除外することにより、残りの構文解析結果群から単語及び出現位置を含む部分差異箇所情報を抽出する部分差異箇所抽出機能。
【００４３】
(f22-2)  第１及び第２の文の各々に関し、当該抽出された部分差異箇所情報のうち、互いに連続した出現位置を有する複数の部分差異箇所情報をまとめることにより、当該複数の部分差異箇所情報内の単語を連接した差異箇所と、当該複数の部分差異箇所情報内の出現位置を包含する出現位置とを含む差異箇所情報を作成する差異箇所作成機能。
【００４４】
対応箇所抽出部２３は、差異箇所記憶部１４に格納された差異箇所と係り受け関係にあるアライメント箇所をアライメント記憶部１３から抽出し、アライメント箇所から二つの文間の対応箇所を抽出する。詳しくは、対応箇所抽出部２３は、図１３及び図１４に示すように、第１及び第２の文の各々に関し、差異箇所情報の出現位置の直後に続く出現位置を有するアライメント箇所情報を対応箇所情報としてアライメント記憶部１３から抽出する対応箇所抽出機能をもっている。
【００４５】
補足文付与部２４は、図１４及び図１５に一例を示すように、二つの文の差異箇所とアライメント箇所（対応箇所）との係り受け関係に基づき、差異箇所の異なり具合を示す補足文を作成して補足文記憶部１５に書込む。詳しくは、補足文付与部２４は、対応箇所抽出部２３により抽出された対応箇所情報及び差異箇所抽出部２２により作成された差異箇所情報に基づき、第２の文に関する差異箇所情報に含まれる差異箇所を提示する補足文と、第１及び第２の文の各々に関する差異箇所情報に含まれる出現位置とを含む補足文情報を作成する補足文作成機能をもっている。
【００４６】
出力部２５は、例えば、処理結果を表示する表示装置、処理結果を送信する送信装置、又は処理結果を印刷する印刷装置などの任意の出力装置が使用可能となっている。出力部２５は、例えば、図１６及び図１７に一例を示すように、補足文情報内の出現位置に基づいて、第１及び第２の文と、補足文とを出力する出力機能をもっている。
【００４７】
次に、以上のように構成された差異箇所抽出装置の動作について図１８乃至図２４のフローチャートを用いて説明する。以下の説明は、差異箇所抽出装置の全体動作について図１８を用いて述べた後、差異箇所抽出装置の詳細動作について図１９乃至図２４を用いて述べる。
【００４８】
始めに、文書記憶部１１は、図２に示した如き、文書データｄ１０，ｄ２０を記憶した状態であるとする。
【００４９】
入力部１６は、ユーザの操作により、文書記憶部１１内の文書データｄ１０，ｄ２０を選択することにより、文字列から構成される複数の文を含む文書を文抽出部１７に入力する（ステップＳ１０）。
【００５０】
文抽出部１７は、入力された文書に含まれる複数の文を抽出する（ステップＳ２０）。この抽出を行う際に、文抽出部１７は、対象文書を解析し、対象文書を複数の文に分解する。対象文書が複数存在する場合、全ての対象文書を複数の文に分解する。
【００５１】
分解される文は、文字の先頭から改行または句点までとする。図２に示した例では、パスワード管理規程の第１〜３行目の「パスワードを机上やディスプレイ上などの人目に付く場所へ書き留めてはならない。」及び図示しない５行目の「パスワードは４文字に設定する。」等が文に該当する。他の行も同様である。
【００５２】
なお、文抽出部１７は、分解した文の各々に対し、当該文を含む対象文書の文書名（ファイル名）及び当該文の対象文書における位置（当該対象文書において先頭の文から順に付与される文番号等）を付与する。
【００５３】
以上により、ステップＳ２０が終了する。
【００５４】
類似度算出部１８は、ステップＳ２０で抽出された複数の文のうちの２つの文毎に、当該２つの文を第１及び第２の文として含む文ペアを作成する。また、類似度算出部１８は、作成された文ペアに含まれる第１及び第２の文を構成する文字列に基づいて、当該第１及び第２の文間の類似度を算出する（ステップＳ３０）。具体的には、類似度算出部１８は、第１の文を構成する各単語の出現数を各次元の値とするベクトル及び第２の文を構成する各単語の出現数を各次元の値とするベクトルに基づいて、両ベクトル間のコサイン類似度を、当該第１の文と第２の文との間の類似度として算出する。
【００５５】
類似文判定部１９は、算出された類似度の各々が予め定められた閾値γより高いか否かを判定し、類似度が閾値γより高い文ペアを特定する（ステップＳ４０）。特定された文ペアは、差異箇所抽出対象の文ペアとなる。
【００５６】
構文解析部２０は、ステップＳ４０で特定された文ペアに含まれる第１及び第２の文に構文解析を実行し（ステップＳ５０）、当該第１及び第２の文にそれぞれ含まれる単語、当該単語の語幹、当該単語の係り受け先、及び当該単語の出現位置を含む複数の構文解析結果からなる構文解析結果群を作成する。構文解析結果群は、図３及び図４に示したように、構文解析部２０により、構文解析結果記憶部１２に書込まれる。
【００５７】
アライメント実行部２１は、文ペアに含まれる第１及び第２の文の各々に関し、構文解析結果群に基づき、単語・係り受けアライメントを実行する（ステップＳ６０）。この結果、第１及び第２の文の間で単語の語幹及び係り受け関係がそれぞれ一致する単語がある場合、アライメント実行部２１は、当該単語の語幹及び出現位置を含むアライメント箇所情報を当該構文解析結果群から抽出する。抽出されたアライメント箇所情報は、図６に示したように、アライメント実行部２１により、アライメント記憶部１３に書込まれる。
【００５８】
差異箇所抽出部２２は、第１及び第２の文の各々に関し、構文解析結果群からアライメント箇所情報に相当する構文解析結果を除外することにより、残りの構文解析結果群から単語（部分差異箇所）及び出現位置を含む部分差異箇所情報を抽出する。
【００５９】
しかる後、差異箇所抽出部２２は、第１及び第２の文の各々に関し、当該抽出された部分差異箇所情報のうち、互いに連続した出現位置を有する複数の部分差異箇所情報をまとめることにより（ステップＳ７０）、当該複数の部分差異箇所情報内の単語（部分差異箇所）を連接した差異箇所と、当該複数の部分差異箇所情報内の出現位置を包含する出現位置とを含む差異箇所情報を作成する。作成された差異箇所情報は、図７に示したように、差異箇所抽出部２２により、差異箇所記憶部１４に書込まれる。
【００６０】
対応箇所抽出部２３は、図１３に示したように、第１及び第２の文の各々に関し、差異箇所情報の出現位置の直後に続く出現位置を有するアライメント箇所情報をアライメント記憶部１３から抽出する（ステップＳ８０）。以下、ステップＳ８０で抽出されたアライメント箇所情報を対応箇所情報と呼ぶ。
【００６１】
補足文付与部２４は、抽出された対応箇所情報及び作成された差異箇所情報に基づき、第２の文に関する差異箇所情報に含まれる差異箇所を提示する補足文と、第１及び第２の文の各々に関する差異箇所情報に含まれる出現位置とを含む補足文情報を作成する（ステップＳ９０）。
【００６２】
例えば、図１４の上部の文では、差異箇所が「パスワードを机上やディスプレイ上などの人目に付く場所へ」であり、下部の文と対応付くアライメント箇所が「書き留めてはならない」となっている。一方、下部の文では、差異箇所が「パスワードは秘密にし、机やＰＣのディスプレイ上に」となっている。したがって、図１５に示すように「比較対象の文では“パスワードは秘密にし、机やＰＣのディスプレイ上に”と記載されています。」という補足文が作成される。
【００６３】
作成された補足文情報は、図８に示したように、補足文付与部２４により、補足文記憶部１５に書込まれる。
【００６４】
出力部２５は、図１６に示したように、補足文情報内の出現位置に基づいて、当該出現位置が示す箇所を強調表示（例、ハイライト表示）するように、第１及び第２の文を出力する。また、出力部２５は、図１７に示すように、ユーザによる入力部１６の操作により、カーソル１６ａが第１の文の強調表示された文字列に重なっているとき、補足文情報内の出現位置に基づいて、補足文を出力する（ステップＳ１００）。
【００６５】
補足文は、比較対象の文の差異箇所を提示する。これにより、ユーザが対象文書の全ての範囲から差異箇所を探索せずに済むため、当該ユーザの作業負担を大幅に軽減できる。
【００６６】
また、差異箇所抽出時の比較部分については、補足文という形式でなく、双方の文で対応するアライメント箇所をユーザへ提示する構成であっても構わない。
【００６７】
以上が、差異箇所抽出装置１０の全体動作の説明である。
【００６８】
次に、各ステップＳ６０、Ｓ６４、Ｓ７０、Ｓ７３、Ｓ７４及びＳ８０の詳細な動作について図１９乃至図２４のフローチャートを用いて説明する。
【００６９】
図１９はステップＳ６０の単語・係り受けアライメントの周辺動作を説明するためのフローチャートである。
【００７０】
アライメント実行部２１は、構文解析結果記憶部１２から構文解析結果群を取得し（ステップＳ６１）、構文解析結果の個数が０より大か否かを判定する（ステップＳ６２）。否の場合（構文解析結果がない場合）には、ステップＳ６０の処理を終了する。
【００７１】
構文解析結果の個数が０より大の場合には、アライメント実行部２１は、構文解析結果の先頭からアライメントの実行を開始する（ステップＳ６３）。これにより、アライメント実行部２１は、単語・係り受けアライメントを実行し（ステップＳ６４）、ステップＳ６４の終了後、終端の構文解析結果か否かを判定する（ステップＳ６５）。この判定結果が否の場合（終端でない場合）には、ステップＳ６４の処理を継続する。終端の構文解析結果の場合には、アライメント実行部２１は、ステップＳ６０の処理を終了する。
【００７２】
図２０はステップＳ６４の単語・係り受けアライメントの詳細動作を説明するためのフローチャートである。
【００７３】
ステップＳ６４において、アライメント実行部２１は、二つの文の構文解析結果を用い、語幹が一致する単語を対応付ける単語アライメントを実行する（ステップＳ６４−１）。図９はある二つの文に対して単語アライメントを実行した例を示している。矢印左側が単語アライメント前、右側が単語アライメント後であり、各ノードには単語の語幹を見出し語として示す。図９に示す例では、上部の文は「パスワード」、「ディスプレイ上」及び「書き留め」の単語が一致している。下部の文では、「パスワード」、「ディスプレイ上」及び「書き留め」の単語が一致していることを示す。
【００７４】
アライメント実行部２１は、語幹の一致箇所の個数が０より大か否かを判定する（ステップＳ６４−２）。否の場合（語幹の一致箇所がない場合）には、ステップＳ６４の処理を終了する。
【００７５】
語幹の一致箇所の個数が０より大の場合には、アライメント実行部２１は、構文解析結果の先頭から係り受けアライメントを実行する（ステップＳ６４−３）。係り受けアライメントとは、係り受け元と係り受け先の見出し語（語幹）が互いに一致するとき、双方の一致箇所を対応付ける処理である。
【００７６】
ステップＳ６４−３の後、係り受け先の一致箇所が０より大か否かを判定する（ステップＳ６４−４）。この判定結果が否の場合（係り受け先の一致箇所がない場合）には、ステップＳ６４の処理を終了する。係り受け先の一致箇所が０より大の場合には、アライメント実行部２１は、アライメント箇所情報をアライメント記憶部１３に書込むと（ステップＳ６４−５）、ステップＳ６４の処理を終了する。
【００７７】
図１０の右側上部に示した文は「パスワード」と「書き留め」の係り受け関係が右側下部の文の係り受け関係と一致しているので、各々の文の「パスワード」と「書き留め」がアライメント箇所となる。
【００７８】
図２１はステップＳ７０の部分差異箇所をまとめる処理の詳細動作を説明するためのフローチャートである。
【００７９】
差異箇所抽出部２２は、構文解析結果記憶部１２から構文解析結果群を取得すると共に、アライメント記憶部１３からアライメント箇所情報を取得する（ステップＳ７１〜Ｓ７２）。
【００８０】
差異箇所抽出部２２は、第１及び第２の文の各々に関し、構文解析結果群からアライメント箇所情報に相当する構文解析結果を除外することにより、残りの構文解析結果群から単語及び出現位置を含む部分差異箇所情報を抽出する（ステップＳ７３）。
【００８１】
差異箇所抽出部２２は、第１及び第２の文の各々に関し、当該抽出された部分差異箇所情報のうち、互いに連続した出現位置を有する複数の部分差異箇所情報をまとめることにより（ステップＳ７４）、当該複数の部分差異箇所情報内の単語を連接した差異箇所と、当該複数の部分差異箇所情報内の出現位置を包含する出現位置とを含む差異箇所情報を作成する。
【００８２】
図２２はステップＳ７３の部分差異箇所情報を抽出する処理の詳細動作を説明するためのフローチャートである。
【００８３】
差異箇所抽出部２２は、ステップＳ７１で取得した構文解析結果を先頭の行から読み込む（ステップＳ７３−１）。また、差異箇所抽出部２２は、ステップＳ７２で取得したアライメント箇所情報を先頭の行から読み込む（ステップＳ７３−２）。
【００８４】
差異箇所抽出部２２は、読み込んだ構文解析結果とアライメント箇所情報とが不一致か否かを判定し（ステップＳ７３−３）、否の場合には、判定に用いた構文解析結果を構文解析結果群から除外し（ステップＳ７３−４）、次の構文解析結果を読み込むためにステップＳ７３−１に戻る。
【００８５】
ステップＳ７３−３の判定の結果、両者が不一致の場合、差異箇所抽出部２２は、不一致のアライメント箇所情報が終端のアライメント箇所か否かを判定し（ステップＳ７３−５）、否の場合には、次のアライメント箇所情報を読み込むためにステップＳ７３−２に戻る。
【００８６】
ステップＳ７３−５の判定の結果、終端のアライメント箇所の場合、差異箇所抽出部２２は、不一致の構文解析結果が終端の構文解析結果か否かを判定し（ステップＳ７３−６）、否の場合には、次の構文解析結果を読み込むためにステップＳ７３−１に戻る。
【００８７】
ステップＳ７３−６の判定の結果、終端の構文解析結果の場合、差異箇所抽出部２２は、残りの構文解析結果を部分差異箇所情報として抽出し、この部分差異箇所情報を一時的に差異箇所記憶部１４に書込む（ステップＳ７３−７）。これにより、ステップＳ７３の処理が終了する。
【００８８】
図２３はステップＳ７４の部分差異箇所情報をまとめる処理の詳細動作を説明するためのフローチャートである。
【００８９】
差異箇所抽出部２２は、ステップＳ７３−７で書き込んだ部分差異箇所情報を先頭の行から読み込む（ステップＳ７４−１）。
【００９０】
差異箇所抽出部２２は、読み込んだ部分差異箇所情報が先頭の差異箇所か否かを判定し（ステップＳ７４−２）、先頭の差異箇所の場合には、まとめる対象として（ステップＳ７４−３）ステップＳ７４−４に移行し、否の場合にはステップＳ７４−４に移行する。
【００９１】
ステップＳ７４−４では、差異箇所抽出部２２は、読み込んだ部分差異箇所情報に関し、１つ前の部分差異箇所情報と出現位置が連続しないか否かを判定する。
【００９２】
ステップ７４−４の判定の結果、否の場合（連続する場合）には、当該部分差異箇所情報をまとめる対象としてステップＳ７４−６に移行し、出現位置が連続しない場合にはステップＳ７４−６に移行する。
【００９３】
ステップＳ７４−６では、差異箇所抽出部２２は、まとめる対象にした部分差異箇所情報をまとめて差異箇所情報を作成し、この差異箇所情報を差異箇所記憶部１４に書込む。
【００９４】
しかる後、差異箇所抽出部２２は、最後に読み込んだ部分差異箇所情報が最終の部分差異箇所情報か否かを判定し（ステップＳ７４−７）、否の場合には次の部分差異箇所情報を読み込むためにステップＳ７４−１に戻る。
【００９５】
ステップＳ７４−７の判定の結果、終端の部分差異箇所情報の場合、差異箇所抽出部２２は、ステップＳ７４の処理を終了する。
【００９６】
図１１及び図１２はステップＳ７４−６の処理により得られた差異箇所情報の例を示している。図１１に示した「机上」、「ディスプレイ上」、「場所」まで連続で部分差異箇所が出現している。したがって、「机上」〜「場所」までを一つの差異箇所情報としてまとめている。すなわち、図１２の上から順に示すように、抽出された二つの部分差異箇所が連続して出現している場合、これらの部分差異箇所を１つの差異箇所にまとめている。
【００９７】
なお、本実施形態においては、単語の語幹と係り受け関係の一致した箇所をアライメント箇所としたが、例えば互いに類似する文字列（単語）を含む類義語辞書を予め格納する類義語辞書格納部（図示せず）を更に備え、当該類義語辞書に登録されている類似する単語については同一の単語であるものとしてアライメント箇所と見なす構成であっても構わない。このような構成とすることにより、類義語を考慮したより正確なアライメントが実行できる。
【００９８】
図２４はステップＳ８０のアライメント箇所（対応箇所）を抽出する処理の詳細動作を説明するためのフローチャートである。
【００９９】
対応箇所抽出部２３は、差異箇所記憶部１４から差異箇所情報を取得し（ステップＳ８１）、アライメント記憶部１３からアライメント箇所情報を取得する（ステップＳ８２）。
【０１００】
対応箇所抽出部２３は、取得した差異箇所情報及びアライメント箇所情報に関し、当該差異箇所情報の出現位置の直後に続く出現位置を有するアライメント箇所情報であるか否かを判定し（ステップＳ８３）、否の場合には、次のアライメント箇所情報を読み込むためにステップＳ８２に戻る。
【０１０１】
ステップＳ８３の判定の結果、差異箇所情報の直後に続くアライメント箇所情報である場合、対応箇所抽出部２３は、当該アライメント箇所情報を対応箇所情報として保持する（ステップＳ８４）。
【０１０２】
しかる後、対応箇所抽出部２３は、ステップＳ８１で取得した差異箇所情報に関し、終端の差異箇所情報であるか否かを判定し（ステップＳ８５）、否の場合には、次の差異箇所情報を取得するためにステップＳ８１に戻る。
【０１０３】
ステップＳ８５の判定の結果、終端の差異箇所情報である場合には、対応箇所抽出部２３は、ステップＳ８０の処理を終了する。
【０１０４】
図１４では、図１２で抽出した差異箇所情報のまとまりから対応箇所を抽出する例を示す。図１４は、上下二つの文を入力し、各処理部２１，２２により、下線部がアライメント箇所、点線枠内が差異箇所と抽出された時の例を示している。上部の文では、差異箇所の直後に「書き留めてはならない」というアライメント箇所が存在し、さらに差異箇所とアライメント箇所に係り受け関係が存在している。対応箇所抽出部２３では、このように差異箇所と係り受け関係にあるアライメント箇所を抽出することで、差異箇所を抽出した時にどの部分を比較したのかを示す対応箇所を抽出する。
【０１０５】
上述したように本実施形態によれば、第１及び第２の文の間で単語の語幹及び係り受け関係がそれぞれ一致する単語がある場合、当該単語の語幹及び出現位置を含むアライメント箇所情報を当該構文解析結果群から抽出し、構文解析結果群からアライメント箇所情報に相当する構文解析結果を除外することにより、残りの構文解析結果群から単語及び出現位置を含む部分差異箇所情報を抽出し、連続した出現位置を有する複数の部分差異箇所情報をまとめることにより、差異箇所情報を作成する構成により、語幹を用いたアライメントを実行して差異箇所情報を作成するため、単語の活用形の違いを差異箇所として抽出せず、より正確に差異箇所を抽出することができる。
【０１０６】
また、本実施形態は、図２５に示すように変形してもよい。
【０１０７】
すなわち、差異箇所抽出装置１０は、図１に示した構成に比べ、類義語辞書記憶部２６を付加し、類似度算出部１８が、類義語辞書を用いた類似度算出機能(f18-3)を更に備えた構成に変形してもよい。
【０１０８】
ここで、類義語辞書記憶部２６は、各部１６〜２５から読出可能な記憶装置又は記憶装置の記憶領域であり、互いに類似する文字列を含む類義語辞書を予め記憶している。
【０１０９】
類義語辞書を用いた類似度算出機能(f18-3)は、作成された文ペアに含まれる第１及び第２の文を構成する文字列のうち、類義語辞書に含まれる互いに類似する文字列に基づいて、当該第１及び第２の文間の類似度を算出する機能である。
【０１１０】
このような変形例によれば、互いに類似する文字列を含む第１及び第２の文間の類似度を算出する構成により、本実施形態の効果に加え、互いに類似する文字列を含む第１及び第２の文についても類似度が高ければ文ペアとして特定され、アライメントが実行されるので、差異箇所抽出の精度を向上させることができる。
【０１１１】
なお、上記の各実施形態に記載した手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク（フロッピー（登録商標）ディスク、ハードディスクなど）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤなど）、光磁気ディスク（ＭＯ）、半導体メモリなどの記憶媒体に格納して頒布することもできる。
【０１１２】
また、この記憶媒体としては、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であっても良い。
【０１１３】
また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているＯＳ（オペレーティングシステム）や、データベース管理ソフト、ネットワークソフト等のＭＷ（ミドルウェア）等が上記実施形態を実現するための各処理の一部を実行しても良い。
【０１１４】
さらに、各実施形態における記憶媒体は、コンピュータと独立した媒体に限らず、ＬＡＮやインターネット等により伝送されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。
【０１１５】
また、記憶媒体は１つに限らず、複数の媒体から上記の各実施形態における処理が実行される場合も本発明における記憶媒体に含まれ、媒体構成は何れの構成であっても良い。
【０１１６】
なお、各実施形態におけるコンピュータは、記憶媒体に記憶されたプログラムに基づき、上記の各実施形態における各処理を実行するものであって、パソコン等の１つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であっても良い。
【０１１７】
また、各実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の機能を実現することが可能な機器、装置を総称している。
【０１１８】
なお、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１１９】
１０…差異箇所抽出装置、１１…文書データ記憶部、１２…構文解析結果記憶部、１３…アライメント記憶部、１４…差異箇所記憶部、１５…補足文記憶部、１６…入力部、１７…文抽出部、１８…類似度算出部、１９…類似文判定部、２０…構文解析部、２１…アライメント実行部、２２…差異箇所抽出部、２３…対応箇所抽出部、２４…補足文付与部、２５…出力部、２６…類義語辞書記憶部。
【図１】
0005367099.tif 000002
【図２】
0005367099.tif 000003
【図３】
0005367099.tif 000004
【図４】
0005367099.tif 000005
【図５】
0005367099.tif 000006
【図６】
0005367099.tif 000007
【図７】
0005367099.tif 000008
【図８】
0005367099.tif 000009
【図９】
0005367099.tif 000010
【図１０】
0005367099.tif 000011
【図１１】
0005367099.tif 000012
【図１２】
0005367099.tif 000013
【図１３】
0005367099.tif 000014
【図１４】
0005367099.tif 000015
【図１５】
0005367099.tif 000016
【図１６】
0005367099.tif 000017
【図１７】
0005367099.tif 000018
【図１８】
0005367099.tif 000019
【図１９】
0005367099.tif 000020
【図２０】
0005367099.tif 000021
【図２１】
0005367099.tif 000022
【図２２】
0005367099.tif 000023
【図２３】
0005367099.tif 000024
【図２４】
0005367099.tif 000025
【図２５】
0005367099.tif 000026