(57)【特許請求の範囲】
【請求項１】
照合対象である第１単語列と被照合対象である第２単語列を入力し、前記第１単語列および前記第２単語列のそれぞれに、予め決められた特徴語を構成する単語が含まれているか否かを判定する特徴語判定部と、
前記第１単語列と前記第２単語列とを比較して、それぞれに共通する単語からなる共通部分を取得する共通部分取得部と、
前記第１単語列あるいは前記第２単語列に前記特徴語を構成する単語が含まれている場合、前記第１単語列あるいは前記第２単語列に含まれる前記特徴語を構成する単語を１つの単語として、単語毎に予め決められている重要度と各単語に含まれる文字数とを乗算した値の総和に基づき、前記共通部分に含まれる単語の重みと、前記第１単語列に含まれる単語の重みを、それぞれ算出する重み算出部と、
前記共通部分に含まれる単語の重みと、前記第１単語列に含まれる単語の重みとに基づき、前記第１単語列に対する前記第２単語列の類似度を算出する類似度算出部と、
を備えることを特徴とする類似度算出装置。
【請求項２】
前記類似度を算出する際に、前記第１単語列あるいは前記第２単語列を構成する単語を取得する際の条件、前記共通部分を構成する単語を取得する際の条件、あるいは、前記重みを算出する際の条件のうち少なくとも１つを設定する設定部をさらに備えることを特徴とする請求項１に記載の類似度算出装置。
【請求項３】
前記特徴語判定部は、
前記予め決められた特徴語を構成する単語として、複数の単語によって構成される複合語と等しい単語列を作ることができる単語の全てが前記第１単語列あるいは前記第２単語列に含まれているか否かを判定し、前記複合語と等しい単語列を作ることができる単語の全てが含まれている場合に前記第１単語列あるいは前記第２単語列に前記特徴語を構成する単語が含まれていると判定することを特徴とする請求項１あるいは２に記載の類似度算出装置。
【請求項４】
前記特徴語判定部は、
前記予め決められた特徴語を構成する単語として、互いに同様の意味を有する同義語として予め登録されている単語が前記第１単語列あるいは前記第２単語列に含まれているか否かを判定し、前記同義語として予め登録されている単語が前記第１単語列あるいは前記第２単語列に含まれている場合に前記第１単語列あるいは前記第２単語列に前記特徴語を構成する単語が含まれていると判定することを特徴とする請求項１あるいは２に記載の類似度算出装置。
【請求項５】
前記類似度算出部は、
前記特徴語を構成する単語の重みを算出する場合、１つの単語として取り扱われる特徴語に対して最も重い重要度を乗算することを特徴とする請求項１から４のうちいずれか一項に記載の類似度算出装置。
【請求項６】
類似度算出装置が実行する類似度算出方法であって、
照合対象である第１単語列と被照合対象である第２単語列を入力し、前記第１単語列および前記第２単語列のそれぞれに、予め決められた特徴語を構成する単語が含まれているか否かを判定する特徴語判定ステップと、
前記第１単語列と前記第２単語列とを比較して、それぞれに共通する単語からなる共通部分を取得する共通部分取得ステップと、
前記第１単語列あるいは前記第２単語列に前記特徴語を構成する単語が含まれている場合、前記第１単語列あるいは第２単語列に含まれている前記特徴語を構成する単語を１つの単語として、単語毎に予め決められている重要度と各単語に含まれる文字数とを乗算した値の総和に基づき、前記共通部分に含まれる単語の重みと、前記第１単語列に含まれる単語の重みを、それぞれ算出する重み算出ステップと、
前記共通部分に含まれる単語の重みと、前記第１単語列に含まれる単語の重みとに基づき、前記第１単語列に対する前記第２単語列の類似度を算出する類似度算出ステップと、
を備えることを特徴とする類似度算出方法。
【請求項７】
コンピュータを、
照合対象である第１単語列と被照合対象である第２単語列を入力し、前記第１単語列および前記第２単語列のそれぞれに、予め決められた特徴語を構成する単語が含まれているか否かを判定する特徴語判定手段、
前記第１単語列と前記第２単語列とを比較して、それぞれに共通する単語からなる共通部分を取得する共通部分取得ステップと、
前記第１単語列あるいは前記第２単語列に前記特徴語を構成する単語が含まれている場合、前記第１単語列あるいは第２単語列に含まれている前記特徴語を構成する単語を１つの単語として、単語毎に予め決められている重要度と各単語に含まれる文字数とを乗算した値の総和に基づき、前記共通部分に含まれる単語の重みと、前記第１単語列に含まれる単語の重みを、それぞれ算出する重み算出手段、
前記共通部分に含まれる単語の重みと、前記第１単語列に含まれる単語の重みとに基づき、前記第１単語列に対する前記第２単語列の類似度を算出する類似度算出手段、
として機能させるための類似度算出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、類似度算出装置、類似度算出方法、および類似度算出プログラムに関する。
【背景技術】
【０００２】
テキスト検索において、照合対象である文字列をキーとして、被照合対象である文章の中から、照合対象に類似する文字列を検索する技術がある。例えば、構文の類似性に重点を置いたり、あるいは、単語の一致度に重点を置くなどの様々な観点に基づき、照合対象に対する被照合対象の類似度を算出するものがある（例えば、特許文献１〜５）。このようにして、算出した類似度を基準として、複数の被照合対象の中から照合対象に最も類似するものを取得することにより、検索者が全ての被照合対象を確認した上で照合対象に類似する部分を検索するよりも、検索の効率化を図ることができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−０７５７４７号公報
【特許文献２】特開２００５−１２７５９７号公報
【特許文献３】特開２００１−３５７０６５号公報
【特許文献４】特開２００１−２４３２４５号公報
【特許文献５】特開２００１−１３４６０５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、文を構成する文字列は異なるものの、この文が意図するものが類似していると経験的に認識される場合がある。このような文についての類似度を上述のような方法を用いて算出すると、計算される類似度は低くなる。よって、構成される文字列が異なる文同士では、経験的に認識される類似性を類似度に反映させることができない問題があった。
【０００５】
本発明は、上記課題を解決するものであり、構成される文字列が異なる文同士についての類似度を算出する際に、経験的に人によって認識される類似性を類似度に反映させることができる類似度算出装置、類似度算出方法、および類似度算出プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
この発明は上述した課題を解決するためになされたもので、本発明の一態様による類似度算出装置は、照合対象である第１単語列と被照合対象である第２単語列を入力し、前記第１単語列および前記第２単語列のそれぞれに、予め決められた特徴語を構成する単語が含まれているか否かを判定する特徴語判定部と、前記第１単語列と前記第２単語列とを比較して、それぞれに共通する単語からなる共通部分を取得する共通部分取得部と、前記第１単語列あるいは前記第２単語列に前記特徴語を構成する単語が含まれている場合、前記第１単語列あるいは前記第２単語列に含まれる前記特徴語を構成する単語を１つの単語として、単語毎に予め決められている重要度と各単語に含まれる文字数とを乗算した値の総和に基づき、前記共通部分に含まれる単語の重みと、前記第１単語列に含まれる単語の重みを、それぞれ算出する重み算出部と、前記共通部分に含まれる単語の重みと、前記第１単語列に含まれる単語の重みとに基づき、前記第１単語列に対する前記第２単語列の類似度を算出する類似度算出部と、を備える。
【０００７】
また、上述の類似度算出装置は、前記類似度を算出する際に、前記第１単語列あるいは前記第２単語列を構成する単語を取得する際の条件、前記共通部分を構成する単語を取得する際の条件、あるいは、前記重みを算出する際の条件のうち少なくとも１つを設定する設定部をさらに備える。
【０００８】
また、上述の類似度算出装置において、前記特徴語判定部は、前記予め決められた特徴語を構成する単語として、複数の単語によって構成される複合語と等しい単語列を作ることができる単語の全てが前記第１単語列あるいは前記第２単語列に含まれているか否かを判定し、前記複合語と等しい単語列を作ることができる単語の全てが含まれている場合に前記第１単語列あるいは前記第２単語列に前記特徴語を構成する単語が含まれていると判定する。
【０００９】
また、上述の類似度算出装置において、前記特徴語判定部は、前記予め決められた特徴語を構成する単語として、互いに同様の意味を有する同義語として予め登録されている単語が前記第１単語列あるいは前記第２単語列に含まれているか否かを判定し、前記同義語として予め登録されている単語が前記第１単語列あるいは前記第２単語列に含まれている場合に前記第１単語列あるいは前記第２単語列に前記特徴語を構成する単語が含まれていると判定する。
【００１０】
また、上述の類似度算出装置において、前記類似度算出部は、前記特徴語を構成する単語の重みを算出する場合、１つの単語として取り扱われる特徴語に対して最も重い重要度を乗算することを特徴とする請求項１から４のうちいずれか一項に記載の類似度算出装置。
【００１１】
この発明は上述した課題を解決するためになされたもので、本発明の一態様による類似度算出方法は、類似度算出装置が実行する類似度算出方法であって、照合対象である第１単語列と被照合対象である第２単語列を入力し、前記第１単語列および前記第２単語列のそれぞれに、予め決められた特徴語を構成する単語が含まれているか否かを判定する特徴語判定ステップと、前記第１単語列と前記第２単語列とを比較して、それぞれに共通する単語からなる共通部分を取得する共通部分取得ステップと、前記第１単語列あるいは前記第２単語列に前記特徴語を構成する単語が含まれている場合、前記第１単語列あるいは第２単語列に含まれている前記特徴語を構成する単語を１つの単語として、単語毎に予め決められている重要度と各単語に含まれる文字数とを乗算した値の総和に基づき、前記共通部分に含まれる単語の重みと、前記第１単語列に含まれる単語の重みを、それぞれ算出する重み算出ステップと、前記共通部分に含まれる単語の重みと、前記第１単語列に含まれる単語の重みとに基づき、前記第１単語列に対する前記第２単語列の類似度を算出する類似度算出ステップと、を備える。
【００１２】
この発明は上述した課題を解決するためになされたもので、本発明の一態様による類似度算出プログラムは、コンピュータを、照合対象である第１単語列と被照合対象である第２単語列を入力し、前記第１単語列および前記第２単語列のそれぞれに、予め決められた特徴語を構成する単語が含まれているか否かを判定する特徴語判定手段、前記第１単語列と前記第２単語列とを比較して、それぞれに共通する単語からなる共通部分を取得する共通部分取得ステップと、前記第１単語列あるいは前記第２単語列に前記特徴語を構成する単語が含まれている場合、前記第１単語列あるいは第２単語列に含まれている前記特徴語を構成する単語を１つの単語として、単語毎に予め決められている重要度と各単語に含まれる文字数とを乗算した値の総和に基づき、前記共通部分に含まれる単語の重みと、前記第１単語列に含まれる単語の重みを、それぞれ算出する重み算出手段、前記共通部分に含まれる単語の重みと、前記第１単語列に含まれる単語の重みとに基づき、前記第１単語列に対する前記第２単語列の類似度を算出する類似度算出手段、として機能させるための類似度算出プログラムである。
【発明の効果】
【００１３】
本発明によれば、構成される文字が異なる文字列同士についての類似度を算出する際に、経験的に人によって認識される類似性を類似度に反映させることができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施形態に係る類似度算出装置の一例を示すブロック図である。
【図２】本発明の第１実施形態に係る類似度算出装置１の一例を示すブロック図である。
【図３】本発明の実施形態に係る単語重要度テーブル４０２の一例を示す図である。
【図４】本発明の第１実施形態に係る類似度算出装置１における類似度算出方法の一例を示すフローチャートである。
【図５】本発明の第２実施形態に係る類似度算出装置２の一例を示すブロック図である。
【図６】本発明の実施形態に係る同義語テーブル４０３の一例を示す図である。
【図７】本発明の第３実施形態に係る類似度算出装置３の一例を示すブロック図である。
【図８】本発明の第３実施形態に係る類似度算出装置３における類似度算出方法の一例を示すフローチャートである。
【図９】本発明の第４実施形態に係る類似度算出装置４の一例を示すブロック図である。
【図１０】本発明の第５実施形態に係る類似度算出装置５の一例を示すブロック図である。
【図１１】本発明の第６実施形態に係る類似度算出装置６の一例を示すブロック図である。
【発明を実施するための形態】
【００１５】
以下、本発明の一実施形態による類似度算出装置の一例について、図面を参照して詳細に説明する。図１は、本発明に係る類似度算出装置の機能ブロック図である。
図１に示す通り、本発明の一実施形態による類似度算出装置は、特徴語取得部１００と、照合部２００と、算出部３００と、記憶部４００を備える。
【００１６】
特徴語取得部１００は、照合対象である文字列ａと被照合対象である文字列ｂを入力とする。本実施形態において、照合対象である文字列ａと被照合対象である文字列ｂは、一つの文である。例えば、照合対象である文字列ａは「ユーザそれぞれの情報はユーザ管理サーバに記録される」である。被照合対象である文字列ｂは「ユーザ管理サーバにユーザ情報を格納する」である。この文字列ａ，ｂは、意図する内容は類似しているものの、文を構成する文字列が異なる。なお、本実施形態において、文字列ａは、文書Ａの中に含まれる文であり、文字列ｂは、文書Ｂの中に含まれる文である。文字列ｂは、文書Ｂに含まれる文の一例であり、照合対象である文字列ａに経験的に類似していると人によって認識される文を探す際に比較される文書Ｂに含まれる文の一例である。つまり、本実施形態に係る類似度算出装置は、照合対象である文字列ａに対する、被照合範囲Ｂに含まれる文字列ｂおよび他の複数の文字列のそれぞれ類似度を算出する。これら類似度を比較して、類似度が最も高い文字列が文字列ａに最も似ていると判定することができる。なお、照合範囲は、複数の文のセットである文書Ａであってもよく、単文である文字列ａであってもよい。同様に、被照合範囲は、複数の文のセットである文書Ｂであってもよく、単文である文字列ｂであってもよい。
【００１７】
この特徴語取得部１００は、入力する文字列ａ，ｂを単語単位に分解し、分解した単語の集合からなる単語列ａ，ｂを取得する。例えば、特徴語取得部１００は、単語列ａ「ユーザ／それぞれ／の／情報／は／ユーザ／管理／サーバ／に／記録／さ／れる」と、単語列ｂ「ユーザ／管理／サーバ／に／ユーザ／情報／を／格納／する」を取得する。
特徴語取得部１００は、この単語列ａ，ｂのそれぞれについて、予め決められている特徴語を構成する単語が含まれているか否かを判定し、特徴語が含まれている場合、各単語列ａ，ｂのそれぞれから特徴語を取得する。この特徴語取得部１００は、単語列ａ，ｂのそれぞれに取得した特徴語を対応付けて照合部２００に出力する。本実施形態においては、特徴語が取得された場合、特徴語取得部１００は、“単語列＋特徴語（特徴語を構成する単語列）”という情報を出力する。なお、特徴語が取得されなかった場合、特徴語取得部１００は、単語列のみを出力する。
【００１８】
照合部２００は、原文である文字列ａ，ｂに特徴語が含まれている場合、特徴語取得部１００から入力する情報に基づき、この文字列ａ，ｂに含まれている特徴語を構成する単語を特徴語に置き換えた単語列ａ，ｂを取得する。この照合部２００は、特徴語を構成する単語を特徴語に置き換える処理をした後の単語列ａ，ｂ同士を比較して、それぞれに共通する単語からなる共通部分ａｂを取得する。
【００１９】
算出部３００は、記憶部４００に記憶されている単語毎に予め決められている重要度ｐを参照して、照合部２００から入力する共通部分ａｂに基づき、共通部分ａｂに含まれる全ての単語の重みＷ（ａｂ）を算出する。
また、算出部３００は、記憶部４００に記憶されている単語毎に予め決められている重要度ｐを参照して、照合部２００から入力する特徴語の置き換え処理後の単語列ａに基づき、この単語列ａに含まれる全ての単語の重みＷ（ａａ）を算出する。
つまり、共通部分ａｂあるいは単語列ａに特徴語を構成する単語が含まれている場合、算出部３００は、特徴語を構成する単語が特徴語に置き換えた共通部分ａｂに含まれる全ての単語の重みＷ（ａｂ）あるいは単語列ａに含まれる全ての単語の重みＷ（ａａ）を算出する。一方、共通部分ａｂあるいは単語列ａに特徴語を構成する単語が含まれていない場合、算出部３００は、共通部分ａｂあるいは単語列ａに含まれる全ての単語の重みＷ（ａａ）を算出する。
【００２０】
本実施形態において、重要度ｐは、０≦ｐ≦１の範囲の数値であり、特徴語については、他の単語に比べて、最も重い重要度ｐ＝１が設定されている。よって、特徴語を構成する単語が含まれている場合、この特徴語を構成する複数の単語の集合を１つの単語と取り扱い、特徴語と等しい単語列を作ることができる単語を特徴語に置き換えて、置き換えた特徴語について最も重い重要度を与える。一方、特徴語を構成する単語が含まれていない場合、予め決められた特徴語の重要度よりも低い重要度を、単語列を構成する各単語に与える。
さらに、算出部３００は、共通部分ａｂに含まれる全ての単語の重みＷ（ａｂ）と、単語列ａに含まれる全ての単語の重みＷ（ａａ）に基づき、文字列ａに対する文字列ｂの類似度Ｓ（ａｂ）を算出する。
【００２１】
このように、本発明に係る類似度算出装置は、照合対象である文字列ａおよび被照合対象である文字列ｂから事前に特徴語を取得するとともに、特徴語の置き換え処理後の単語列ａ，ｂに基づき、両者の共通部分ａｂを取得してこの重みＷ（ａｂ）を算出するとともに、特徴語の置き換え処理後の単語列ａの重みＷ（ａａ）を算出する。これにより、特徴語を考慮した類似度Ｓ（ａｂ）を算出することができる。つまり、特徴語として、経験的に人により類似していると認識される単語や文字列等を予め登録しておくことにより、文を構成する文字列が異なる文同士についての類似度を算出する場合であっても、経験的に人により認識される類似性を類似度に反映させることができる。よって、より人間の感覚に近い感覚で類似しているか否かを示す類似度を算出することができる。
【００２２】
＜第１実施形態＞
次に、図２を参照して、本発明の第１実施形態に係る類似度算出装置１の一例について説明する。図２は、本実施形態に係る類似度算出装置１の一例を示す機能ブロック図である。なお、図２は、図１に示す構成の詳細について説明するための図である。
図２に示す通り、特徴語取得部１００は、形態素解析部１０１と、連結文字列検出部１０２と、特徴語判定部１０３を備える。照合部２００は、共通部分抽出部２０１と、置換部２０２を備える。算出部３００は、重み算出部３０１と、類似度算出部３０２を備える。記憶部４００は、一般連結文字列データベース４０１と、単語重要度テーブル４０２とを備える。
【００２３】
一般連結文字列データベース４０１は、連結文字列検出部１０２によって検出される連結文字列のうち、特徴語ではない連結文字列を登録する記憶領域である。本実施形態において、一般連結文字列データベース４０１には、一般連結文字列として「ユーザ情報」が予め登録されている。なお、本実施形態において、連結文字列とは、複数の名詞が連続してなる文字列である。
単語重要度テーブル４０２は、単語ｗｋ毎に予め決められている重要度ｐｋを登録するテーブルである。本実施形態において、単語重要度テーブル４０２には、図３に示す通り、単語「回線」には重要度「０．８」が、単語「格納」には重要度「０．５」が、・・・単語「を」には重要度「０．１」が、それぞれ対応付けられている。なお、この重要度ｐｋは、単語ｗｋごとに予め決められており、本実施形態において、重要度ｐｋは、以下に示す式（１）に従って算出される。この重要度ｐｋを算出するために、より一般的な（内容に偏りが無い）文書の集合である全体文章Ｚが用意されている。
【００２４】
【数１】
0005629701.tif 000002
【００２５】
なお、式（１）において、Ｘは、全体文書Ｚに含まれる文書Ｚｒ｛Ｚ１，Ｚ２，・・・，ＺＸ｝の数である。つまり、全体文書Ｚには、Ｘ個の文書Ｚｒが含まれている。この文書Ｚｒは、それぞれ、関連する複数の文を含む文書であり、例えば、同一のカテゴリーや項目について説明する文書等である。Ｙｋは、単語ｗｋが全体文章Ｚ内において出現する回数を示す。本実施形態において、Ｙｋは、全体文書Ｚの中で単語ｗｋが出現する文書Ｚｒの数である。
また、この重要度ｐｋは、上述の算出方法に限られず、例えばＴＦ−ＩＤＦ（Ｔｅｒｍ Ｆｒｅｑｕｅｎｃｙ−Ｉｎｖｅｒｓｅ Ｄｏｃｕｍｅｎｔ Ｆｒｅｑｕｅｎｃｙ）を用いて、一般的な単語の重要度を低く、文書Ｚｒ｛Ｚ１，Ｚ２，・・・，ＺＸ｝の全体や個々に特徴的に出現する単語の重要度を高くするような重要度を算出するものであってもよい。このようにＴＦ−ＩＤＦを用いて単語の重要度を算出する場合、用意する文書Ｚｒ｛Ｚ１，Ｚ２，・・・，ＺＸ｝は、より一般的な（内容に偏りが無い）文書の集合であることが好ましい。照合対象の文で構成される同じ分野の文書の集合は、単語に偏りがあり、このような文書集合をもとにＴＦ−ＩＤＦを計算すると、その分野の専門用語の重要度は低くなり、一般的な語の重要度は比較的高くなることが予想されるからである。
【００２６】
形態素解析部１０１は、入力する文字列ａ，ｂを、形態素（単語）単位に分解し、この分解後の単語の集合からなる単語列ａ（１０１），ｂ（１０１）を出力する。本実施形態において、形態素解析部１０１は、照合対象である文字列ａ「ユーザそれぞれの情報はユーザ管理サーバに記録される」と、被照合対象である文字列ｂ「ユーザ管理サーバにユーザ情報を格納する」を入力し、単語単位に分解する。また、形態素解析部１０１は、単語列ａ（１０１）「ユーザ／それぞれ／の／情報／は／ユーザ／管理／サーバ／に／記録／さ／れる」と、単語列ｂ（１０１）「ユーザ／管理／サーバ／に／ユーザ／情報／を／格納／する」を、連結文字列検出部１０２に出力する。形態素解析部１０１の入力（文字列ａ，ｂ）と出力（単語列ａ，ｂ）を以下に示す。
【００２７】
【表１】
0005629701.tif 000003
【００２８】
【表２】
0005629701.tif 000004
【００２９】
連結文字列検出部１０２は、形態素解析部１０１から入力する単語列ａ（１０１），ｂ（１０１）に基づき、同一文節中において連続する単語（名詞）を連結文字列として取得する。本実施形態において、連結文字列検出部１０２は、単語列ａ（１０１）「ユーザ／それぞれ／の／情報／は／ユーザ／管理／サーバ／に／記録／さ／れる」から、連結文字列α１「ユーザ／管理／サーバ」を取得する。また、連結文字列検出部１０２は、単語列ｂ（１０１）「ユーザ／管理／サーバ／に／ユーザ／情報／を／格納／する」から、連結文字列β１「ユーザ／管理／サーバ」と連結文字列β２「ユーザ／情報」を取得する。この連結文字列検出部１０２は、単語列ａ（１０１）に連結文字列α１を対応付けた情報と、単語列ｂ（１０１）に連結文字列β１，β２を対応付けた情報を、特徴語判定部１０３に出力する。本実施形態において、連結文字列検出部１０２によって取得される連結文字列を以下に示す。
【００３０】
【表３】
0005629701.tif 000005
【００３１】
特徴語判定部１０３は、連結文字列検出部１０２から入力する単語列ａ（１０１）と単語列ｂ（１０１）のそれぞれに、予め決められた特徴語を構成する単語が含まれているか否かを判定する。本実施形態において、特徴語とは、照合対象や被照合対象において利用される頻度が比較的高い複合語であって、一般的に比較的よく用いられる複合語でない複合語のことをいう。特徴語判定部１０３は、連結文字列検出部１０２によって取得された連結文字列のうち、記憶部４００に登録されている一般連結文字列以外の文字列を、特徴語として取得する。
【００３２】
単語列ａ（１０１）から取得される連結文字列α１「ユーザ／管理／サーバ」は一般連結文字列データベース４０１に登録されていない。このため、特徴語判定部１０３は、この連結文字列α１「ユーザ／管理／サーバ」を特徴語と判定し、単語列ａ（１０１）に対応付けて照合部２００に出力する。この特徴語判定部１０３は、例えば、単語列ａ（１０１）：“「ユーザ／それぞれ／の／情報／は／ユーザ／管理／サーバ／に／記録／さ／れる」＋特徴語「ユーザ管理サーバ」（特徴語を構成する単語列「ユーザ／管理／サーバ」）”を出力する。
また、単語列ｂ（１０１）から取得される連結文字列β１「ユーザ／管理／サーバ」は一般連結文字列データベース４０１に登録されていない。このため、特徴語判定部１０３は、この連結文字列β１「ユーザ／管理／サーバ」を特徴語と判定する。一方、単語列ｂ（１０１）から取得される連結文字列β２「ユーザ／情報」は一般連結文字列データベース４０１に登録されている。このため、特徴語判定部１０３は、この連結文字列β２「ユーザ／情報」を特徴語とは判定しない。よって、特徴語判定部１０３は、特徴語と判定した連結文字列β１「ユーザ／管理／サーバ」を単語列ｂ（１０１）に対応付けて照合部２００に出力する。この特徴語判定部１０３は、例えば、単語列ｂ（１０１）：“「ユーザ／管理／サーバ／に／ユーザ／情報／を／格納／する」＋特徴語「ユーザ管理サーバ」（特徴語を構成する単語列「ユーザ／管理／サーバ」）”を出力する。この特徴語判定部１０３からの出力の一例を以下に示す。
【００３３】
【表４】
0005629701.tif 000006
【００３４】
共通部分抽出部２０１は、特徴語取得部１００の特徴語判定部１０３から出力される単語列ａ（１０１）と単語列ｂ（１０１）とを比較して、それぞれの特徴語において共通する特徴語からなる共通部分ａｂ＿１を取得し、置換部２０２に出力する。
本実施形態において、共通部分抽出部２０１は、単語列ａ（１０１）と単語列ｂ（１０１）のそれぞれに対応付けられた特徴語から「ユーザ管理情報」を共通する単語して取得する。つまり、共通部分抽出部２０１は、特徴語からなる共通部分ａｂ＿１：“特徴語「ユーザ管理サーバ」（特徴語を構成する単語列「ユーザ／管理／サーバ」）”を取得し、置換部２０２に出力する。この共通部分抽出部２０１からの出力の一例を以下に示す。
【００３５】
【表５】
0005629701.tif 000007
【００３６】
置換部２０２は、共通部分抽出部２０１から取得された特徴語からなる共通部分ａｂ＿１が入力された場合、特徴語取得部１００の特徴語判定部１０３から入力する単語列ａ（１０１）と単語列ｂ（１０１）からこの特徴語からなる共通部分ａｂ＿１を削除する。つまり、置換部２０２は、特徴語判定部１０３から入力する単語列ａ，ｂにおいて共通する特徴語が含まれている場合、この共通する特徴語を構成する単語列を、特徴語に置き換える。この置換部２０２は、共通する特徴語を構成する単語列が特徴語に置換えられた後の単語列ａ（２０１），ｂ（２０１）を、再び、共通部分抽出部２０１に戻して出力する。
【００３７】
本実施形態において、置換部２０２は、単語列ａ（１０１）：“「ユーザ／それぞれ／の／情報／は／ユーザ／管理／サーバ／に／記録／さ／れる」＋特徴語「ユーザ管理サーバ」（特徴語を構成する単語列「ユーザ／管理／サーバ」）”から、共通部分抽出部２０１から入力する特徴語からなる共通部分ａｂ＿１「ユーザ管理サーバ」の特徴語を構成する単語列「ユーザ／管理／サーバ」に相当する単語を削除する。つまり、置換部２０２は、単語列ａ（２０１）：“「ユーザ／それぞれ／の／情報／は／に／記録／さ／れる」＋特徴語「ユーザ管理サーバ」（特徴語を構成する単語列「ユーザ／管理／サーバ」）”を出力する。
また、置換部２０２は、単語列ｂ（１０１）：“「ユーザ／管理／サーバ／に／ユーザ／情報／を／格納／する」＋特徴語「ユーザ管理サーバ」（特徴語を構成する単語列「ユーザ／管理／サーバ」）” から、共通部分抽出部２０１から入力する特徴語からなる共通部分ａｂ＿１「ユーザ管理サーバ」の特徴語を構成する単語列「ユーザ／管理／サーバ」に相当する単語を削除する。つまり、置換部２０２は、単語列ｂ（２０１）：“「に／ユーザ／情報／を／格納／する」＋特徴語「ユーザ管理サーバ」（特徴語を構成する単語列「ユーザ／管理／サーバ」）”を出力する。
この置換部２０２からの出力の一例を以下に示す。
【００３８】
【表６】
0005629701.tif 000008
【００３９】
一方、単語列ａ（１０１）と単語列ｂ（１０１）とを比較して、それぞれの特徴語において共通する特徴語が無い場合、共通部分抽出部２０１は、この単語列ａ（１０１）と単語列ｂ（１０１）とを比較して、特徴語以外のその他の単語同士で共通する単語があるか否かを判定する。特徴語以外のその他の単語同士で共通する単語がある場合、共通部分抽出部２０１は、共通する単語からなる共通部分ａｂを取得し、算出部３００の重み算出部３０１に出力する。
【００４０】
共通部分抽出部２０１は、置換部２０２から出力される単語列ａ（２０１）と単語列ｂ（２０１）とを比較して、それぞれの特徴語以外の単語列において共通する単語からなる共通部分ａｂ＿２を取得し、置換部２０２に出力する。
本実施形態において、共通部分抽出部２０１は、単語列ａ（２０１）と単語列ｂ（２０１）のそれぞれに対応付けられた特徴語以外の単語列から「ユーザ／情報／に」を共通する単語して取得する。つまり、共通部分抽出部２０１は、特徴語以外の単語列に含まれる共通部分ａｂ＿２：「ユーザ／情報／に」を取得し、置換部２０２に出力する。この共通部分抽出部２０１からの出力の一例を以下に示す。
【００４１】
【表７】
0005629701.tif 000009
【００４２】
共通部分抽出部２０１は、この特徴語以外の単語列に含まれる共通部分ａｂ＿２を抽出した単語列ａ（１０１）と単語列ｂ（１０１）から特徴語からなる共通部分ａｂ＿１を抽出していた場合、この特徴語からなる共通部分ａｂ＿１と特徴語以外の単語列に含まれる共通部分ａｂ＿２からなる共通部分ａｂを作成し、単語列ａ（２０１）と単語列ｂ（２０１）とともに重み算出部３０１に出力する。この共通部分抽出部２０１からの出力（共通部分ａｂ）の一例を以下に示す。
【００４３】
【表８】
0005629701.tif 000010
【００４４】
置換部２０２は、共通部分抽出部２０１から、特徴語からなる共通部分ａｂ＿１と特徴語以外の単語列に含まれる共通部分ａｂ＿２からなる共通部分ａｂと、置き換え処理後の単語列ａ（２０１）と単語列ｂ（２０１）とを、重み算出部３０１に出力する。つまり、本実施形態において、置換部２０２は、共通部分ａｂ「ユーザ管理サーバ／ユーザ／情報／に」と、単語列ａ（２０１）：“「ユーザ／それぞれ／の／情報／は／に／記録／さ／れる」＋特徴語「ユーザ管理サーバ」（特徴語を構成する単語列「ユーザ／管理／サーバ」）”と、単語列ｂ（２０１）：“「に／ユーザ／情報／を／格納／する」＋特徴語「ユーザ管理サーバ」（特徴語を構成する単語列「ユーザ／管理／サーバ」）”とを、重み算出部３０１に出力する。
【００４５】
なお、共通部分抽出部２０１が、単語列ａ（１０１）と単語列ｂ（１０１）から、特徴語からなる共通部分ａｂ＿１しか取得しなかった場合、あるいは、特徴語以外の単語列に含まれる共通部分ａｂ＿２しか取得しなかった場合、それぞれを共通部分ａｂとして重み算出部３０１に出力する。より詳細に説明すると、特徴語からなる共通部分ａｂ＿１しか取得しなかった場合、共通部分抽出部２０１は、置換部２０２によって置換え処理がなされた後の単語列ａ（２０１）と単語列ｂ（２０１）とともに共通部分ａｂを重み算出部３０１に出力する。特徴語以外の単語列に含まれる共通部分ａｂ＿２しか取得しなかった場合、共通部分抽出部２０１は、特徴語判定部１０３から入力する単語列ａ（１０１）と単語列ｂ（１０１）とともに共通部分ａｂを重み算出部３０１に出力する。
【００４６】
また、置換部２０２は、特徴語取得部１００の特徴語判定部１０３から入力する単語列ａ（１０１）に特徴語が含まれているか否かを判定する。単語列ａ（１０１）に特徴語が含まれている場合、単語列ａ（１０１）から特徴語を削除する。
本実施形態において、置換部２０２は、単語列ａ（１０１）：“「ユーザ／それぞれ／の／情報／は／ユーザ／管理／サーバ／に／記録／さ／れる」＋特徴語「ユーザ管理サーバ」（特徴語を構成する単語「ユーザ／管理／サーバ」）”から、特徴語を構成する単語「ユーザ／管理／サーバ」を削除する。つまり、置換部２０２は、単語列ａ（１０１）´：“「ユーザ／それぞれ／の／情報／は／に／記録／さ／れる」＋特徴語「ユーザ管理サーバ」（特徴語を構成する単語「ユーザ／管理／サーバ」）”を出力する。
【００４７】
重み算出部３０１は、単語ｗｋ毎に予め決められている重要度Ｐｋを記憶部４００の単語重要度テーブル４０２から参照して、照合部２００から入力する共通部分ａｂに基づき、共通部分ａｂに含まれる全ての単語の重みＷ（ａｂ）を算出する。重み算出部３０１は、以下の式（２）に従って、共通部分ａｂに含まれる全ての単語の重みＷ（ａｂ）を算出する。また、重み算出部３０１は、共通部分ａｂに特徴語が含まれている場合、この特徴語の重要度Ｐ＝１として算出する。本実施形態において、重み算出部３０１は、単語重要度テーブル４０２に含まれていない単語について、重要度Ｐ＝１を与える。これにより、重み算出部３０１は、特徴語の重要度Ｐ＝１として算出することができる。
【００４８】
【数２】
0005629701.tif 000011
【００４９】
なお、式（２）において、ｌｉ｛ｉ＝１，２，・・・，ｎ｝は、共通部分ａｂに含まれる全ての単語ｗ０，ｗ１，・・・，ｗｎの各単語ｗｉの文字数である。また、Ｐｉ｛ｉ＝１，２，・・・，ｎ｝は、単語ｗｉ毎に予め決められている重要度である。なお、重み算出部３０１は、特徴語を１つの単語ｗｉとして取り扱うため、特徴語を構成する単語の集合＝１つの単語ｗｉとしてカウントする。また、上述の通り、特徴語の重要度Ｐ＝１である。
本実施形態において、重み算出部３０１は、共通部分ａｂ：“「ユーザ／情報／に」  ＋  特徴語「ユーザ管理サーバ」（特徴語を構成する単語列「ユーザ／管理／サーバ」）”に基づき、以下のようにして、共通部分ａｂに含まれる全ての単語の重みＷ（ａｂ）を算出する。
【００５０】
【表９】
0005629701.tif 000012
【００５１】
重み算出部３０１は、単語ｗｋ毎に予め決められている重要度Ｐｋを記憶部４００の単語重要度テーブル４０２から参照して、照合部２００から入力する単語列ａ（１０１´）あるいは単語列ａ（１０１）に基づき、この単語列ａ（１０１´）あるいは単語列ａ（１０１）に含まれる全ての単語の重みＷ（ａａ）を算出する。つまり、単語列ａ（１０１）に特徴語が含まれている場合、置換部２０２によって特徴語の置き換え処理後の単語列ａ（１０１´）に含まれる全ての単語の重みＷ（ａａ）を算出する。一方、単語列ａ（１０１）に特徴語が含まれていない場合、重み算出部３０１は、単語列ａ（１０１）に含まれる全ての単語の重みＷ（ａａ）を算出する。
重み算出部３０１は、以下の式（３）に従って、特徴語の置き換え処理後の単語列ａ（１０１）´、あるいは単語列ａ（１０１）に含まれる全ての単語の重みＷ（ａａ）を算出する。また、重み算出部３０１は、特徴語の置き換え処理後の単語列ａ（１０１）´に含まれる特徴語の重要度Ｐ＝１として算出する。本実施形態において、重み算出部３０１は、単語重要度テーブル４０２に含まれていない単語について、重要度Ｐ＝１を与える。これにより、重み算出部３０１は、特徴語の重要度Ｐ＝１として算出することができる。
【００５２】
【数３】
0005629701.tif 000013
【００５３】
なお、式（３）において、ｌｊ｛ｊ＝１，２，・・・，ｍ｝は、特徴語の置き換え処理後の単語列ａ（２０１）に含まれる単語ｗ０，ｗ１，・・・，ｗｍの各単語ｗｊの文字数である。また、Ｐｊ｛ｊ＝１，２，・・・，ｍ｝は、単語ｗｊ毎に予め決められている重要度である。なお、重み算出部３０１は、特徴語を１つの単語ｗｉとして取り扱うため、特徴語を構成する単語の集合＝１つの単語ｗｊとしてカウントする。また、上述の通り、特徴語の重要度Ｐ＝１である。
本実施形態において、重み算出部３０１は、特徴語の置き換え処理後の単語列ａ（２０１）：“「ユーザ／それぞれ／の／情報／は／に／記録／さ／れる」＋特徴語「ユーザ管理サーバ」（特徴語を構成する単語列「ユーザ／管理／サーバ」）”に基づき、以下のようにして、特徴語の置き換え処理後の単語列ａ（２０１）に含まれる全ての単語の重みＷ（ａａ）を算出する。以下に示す通り、本実施形態において、重み算出部３０１は、特徴語の置き換え処理後の単語列ａ（２０１）に含まれる単語の重みＷ（ａａ）＝３４７．５と算出する。
【００５４】
【表１０】
0005629701.tif 000014
【００５５】
類似度算出部３０２は、共通部分ａｂに含まれる全ての単語の重みＷ（ａｂ）と、特徴語の置き換え処理後の単語列ａに含まれる全ての単語の重みＷ（ａａ）とに基づき、以下の式（４）に従って、文字列ａに対する文字列ｂの類似度Ｓ（ａｂ）を算出する。
【００５６】
【数４】
0005629701.tif 000015
【００５７】
本実施形態において、類似度算出部３０２は、重み算出部３０１によって算出された共通部分ａｂに含まれる全ての単語の重みＷ（ａｂ）を、特徴語の置き換え処理後の単語列ａに含まれる全ての単語の重みＷ（ａａ）で除算した類似度Ｓ（ａｂ）を、以下のようにして算出する。
【００５８】
【表１１】
0005629701.tif 000016
【００５９】
次に、図４を参照して、本実施形態に係る類似度算出装置１における類似度算出方法の一例について説明する。図４は、本実施形態に係る類似度算出装置１における類似度算出方法の一例を示すフローチャートである。
（ステップＳＴ１）
形態素解析部１０１は、照合対象である文字列ａ「ユーザそれぞれの情報はユーザ管理サーバに記録される」と、被照合対象である文字列ｂ「ユーザ管理サーバにユーザ情報を格納する」とを入力し、単語単位に分解する。そして、形態素解析部１０１は、単語列ａ（１０１）「ユーザ／それぞれ／の／情報／は／ユーザ／管理／サーバ／に／記録／さ／れる」と、単語列ｂ（１０１）「ユーザ／管理／サーバ／に／ユーザ／情報／を／格納／する」とを、連結文字列検出部１０２に出力する。
【００６０】
（ステップＳＴ２）
連結文字列検出部１０２は、単語列ａ（１０１），ｂ（１０１）に連結文字列が含まれている場合、連結文字列を取得し、取得した連結文字列を単語列ａ（１０１），ｂ（１０１）に対応付けて特徴語判定部１０３に出力する。本実施形態において、連結文字列検出部１０２は、単語列ａ（１０１）「ユーザ／それぞれ／の／情報／は／ユーザ／管理／サーバ／に／記録／さ／れる」から、連結文字列α１「ユーザ／管理／サーバ」を取得する。また、連結文字列検出部１０２は、単語列ｂ（１０１）「ユーザ／管理／サーバ／に／ユーザ／情報／を／格納／する」から、連結文字列β１「ユーザ／管理／サーバ」と連結文字列β２「ユーザ／情報」とを取得する。そして、連結文字列検出部１０２は、取得した連結文字列α１を単語列ａ（１０１）に対応づけ、また、取得した連結文字列β１，β２を単語列ｂ（１０１）に対応付けて、特徴語判定部１０３に出力する。
【００６１】
特徴語判定部１０３は、連結文字列検出部１０２から入力する連結文字列α１が対応付けられた単語列ａ（１０１）と、連結文字列β１，β２が対応付けられた単語列ｂ（１０１）のそれぞれに、予め決められた特徴語を構成する単語が含まれているか否かを判定する。
本実施形態において、特徴語判定部１０３は、連結文字列検出部１０２によって取得された連結文字列α１，β１，β２のそれぞれと、記憶部４００に登録されている一般連結文字列とを比較して、連結文字列α１，β１，β２が一般連結文字列として登録されている文字列であるか否かを判定する。連結文字列α１，β１，β２のうち、一般連結文字列として登録されている文字列でない場合、この連結文字列を特徴語として取得する。
つまり、単語列ａ（１０１）に対応付けられている連結文字列α１「ユーザ／管理／サーバ」は一般連結文字列データベース４０１に登録されていないため、特徴語判定部１０３は、この連結文字列α１「ユーザ／管理／サーバ」を特徴語と判定し、単語列ａ（１０１）に特徴語として対応付けて照合部２００に出力する。また、単語列ｂ（１０１）に対応付けられている連結文字列β１「ユーザ／管理／サーバ」は一般連結文字列データベース４０１に登録されていないため、特徴語判定部１０３は、この連結文字列β１「ユーザ／管理／サーバ」が特徴語であると判定する。一方、単語列ｂ（１０１）に対応付けられている連結文字列β２「ユーザ／情報」は一般連結文字列データベース４０１に登録されているため、特徴語判定部１０３は、この連結文字列β２「ユーザ／情報」が特徴語でないと判定する。よって、特徴語判定部１０３は、特徴語と判定した連結文字列β１「ユーザ／管理／サーバ」を単語列ｂ（１０１）に特徴語として対応付けて照合部２００に出力する。
なお、単語列に対応付けられている連結文字列がない場合、あるいは、連結文字列の中に一般連結文字列以外の文字列がない場合、特徴語判定部１０３は、特徴語がないと判定し、単語列に特徴語を対応づけることなく、形態素解析後の単語列をそのまま照合部２００の共通部分抽出部２０１に出力する。
【００６２】
（ステップＳＴ３）
共通部分抽出部２０１は、特徴語判定部１０３から出力される単語列ａ（１０１）と単語列ｂ（１０１）とを比較して、それぞれに対応付けられた特徴語同士において共通する特徴語があるか否かを判定する。
【００６３】
（ステップＳＴ４）
それぞれに対応付けられた特徴語同士において共通する特徴語がある場合、共通部分抽出部２０１は、それぞれの特徴語において共通する特徴語からなる共通部分ａｂ＿１を取得し、置換部２０２に出力する。
本実施形態において、共通部分抽出部２０１は、単語列ａ（１０１）と単語列ｂ（１０１）のそれぞれに対応付けられた特徴語から「ユーザ管理情報」を共通する特徴語からなる共通部分ａｂ＿１として取得する。つまり、共通部分抽出部２０１は、特徴語からなる共通部分ａｂ＿１：“特徴語「ユーザ管理サーバ」（特徴語を構成する単語列「ユーザ／管理／サーバ」）”を取得し、置換部２０２に出力する。
【００６４】
（ステップＳＴ５）
そして、置換部２０２は、共通部分抽出部２０１から入力する特徴語からなる共通部分ａｂ＿１を入力した場合、特徴語判定部１０３から入力する単語列ａ（１０１）と単語列ｂ（１０１）からこの特徴語からなる共通部分ａｂ＿１を削除する。つまり、置換部２０２は、特徴語判定部１０３から入力する単語列ａ，ｂにおいて共通する特徴語が含まれている場合、この共通する特徴語を構成する単語列を、特徴語に置き換える。この置換部２０２は、共通する特徴語を構成する単語列が特徴語に置換えられた後の単語列ａ（２０１）と単語列ｂ（２０１）を、再び、共通部分抽出部２０１に戻して出力する。
なお、置換部２０２は、別途、特徴語取得部１００の特徴語判定部１０３から入力する単語列ａ（１０１）に特徴語が含まれているか否かを判定する。単語列ａ（１０１）に特徴語が含まれている場合、単語列ａ（１０１）から特徴語を削除する。
【００６５】
（ステップＳＴ６）
一方、ステップＳＴ３においてそれぞれに対応付けられた特徴語同士において共通する特徴語がない場合、あるいは、ステップＳＴ５において置換部２０２から特徴語に置換えられた後の単語列ａ（２０１）と単語列ｂ（２０１）が入力された場合、共通部分抽出部２０１は、特徴語以外のその他の単語同士で共通する単語があるか否かを判定する。
【００６６】
（ステップＳＴ７）
例えば、ステップＳＴ３においてそれぞれに対応付けられた特徴語同士において共通する特徴語がない場合、共通部分抽出部２０１は、この単語列ａ（１０１）と単語列ｂ（１０１）とを比較して、特徴語以外のその他の単語同士で共通する単語があるか否かを判定する。
特徴語以外のその他の単語同士で共通する単語がある場合、共通部分抽出部２０１は、特徴語以外の単語列に含まれる共通部分ａｂ＿２を取得し、この共通部分ａｂ＿２を共通部分ａｂとして、単語列ａ（１０１）と単語列ｂ（１０１）とともに重み算出部３０１に出力する。
【００６７】
例えば、ステップＳＴ５において置換部２０２から特徴語に置換えられた後の単語列ａ（２０１）と単語列ｂ（２０１）が入力された場合、共通部分抽出部２０１は、この単語列ａ（２０１）と単語列ｂ（２０１）とを比較して、特徴語以外のその他の単語同士で共通する単語があるか否かを判定する。
特徴語以外のその他の単語同士で共通する単語がある場合、共通部分抽出部２０１は、特徴語以外の単語列に含まれる共通部分ａｂ＿２を取得する。そして、共通部分抽出部２０１は、この特徴語からなる共通部分ａｂ＿１と特徴語以外の単語列に含まれる共通部分ａｂ＿２からなる共通部分ａｂを作成し、単語列ａ（２０１）と単語列ｂ（２０１）とともに重み算出部３０１に出力する。
【００６８】
（ステップＳＴ８）
そして、重み算出部３０１は、記憶部４００の単語重要度テーブル４０２を参照して、照合部２００から入力する共通部分ａｂに基づき、式（２）に従って、共通部分ａｂに含まれる全ての単語の重みＷ（ａｂ）を算出する。本実施形態において、共通部分ａｂに含まれる全ての単語の重みＷ（ａｂ）＝１６２．４である。
また、重み算出部３０１は、記憶部４００の単語重要度テーブル４０２を参照して、照合部２００から入力する単語列ａに基づき、式（３）に従って、この単語列ａに含まれる全ての単語の重みＷ（ａａ）を算出する。本実施形態において、単語列ａに含まれる全ての単語の重みＷ（ａａ）＝３４７．５である。
【００６９】
（ステップＳＴ７）
次いで、類似度算出部３０２は、共通部分ａｂに含まれる単語の重みＷ（ａｂ）と、単語列ａに含まれる単語の重みＷ（ａａ）とに基づき、式（４）に従って、文字列ａに対する文字列ｂの類似度Ｓ（ａｂ）を算出する。本実施形態において、文字列ａに対する文字列ｂの類似度Ｓ（ａｂ）＝０．４６７３４である。
【００７０】
＜第２実施形態＞
次に、図５を参照して、本発明の第２実施形態に係る類似度算出装置２の一例について説明する。図５は、本実施形態に係る類似度算出装置２の一例を示す機能ブロック図である。なお、図５は、図１に示す類似度算出装置の構成の一例について説明するための図である。第１実施形態と同様の機能を有する構成については、同一の符号を付して詳細な説明は省略する。
図５に示す通り、本実施形態に係る類似度算出装置２は、特徴語取得部１００＿２と、照合部２００と、算出部３００と、記憶部４００＿２を備える。特徴語取得部１００＿２は、形態素解析部１０１と、特徴語判定部１０３＿２を備える。記憶部４００＿２は、単語重要度テーブル４０２と、同義語テーブル４０３を備える。つまり、本実施形態に係る類似度算出装置２は、第１実施形態に係る類似度算出装置２と比べて、特徴語取得部１００＿２が連結文字列検出部１０２を備えていない点、記憶部４００＿２が一般連結文字列データベース４０１に換えて同義語テーブル４０３を備えている点が異なる。また、本実施形態に係る特徴語取得部１００＿２は、特徴語として同義語を取得する点が第１実施形態に係る特徴語取得部１００と異なる。それ以外の構成については、同様の機能を有するため、同一の符号を付して詳細な説明は省略する。
【００７１】
同義語テーブル４０３は、同義語を登録するテーブルである。この同義語テーブル４０３の一例を図６に示す。図６に示す通り、同義語テーブル４０３は、代表語と同義語とを対応付けるテーブルである。
本実施形態において、同義語テーブル４０３には、代表語「格納」と同義語「格納」とが、代表語「格納」と同義語「記憶」とが、それぞれ対応付けられている。これは、「格納」の同義語である「記憶」が、「格納」を代表語として登録されていることを示している。なお、代表語とは、同義語を有する２以上の単語のうちの任意に選択されたいずれか一つの単語である。よって、「記憶」を代表語としてもよい。
【００７２】
特徴語取得部１００＿２は、形態素解析部１０１と、特徴語判定部１０３＿２とを備える。この特徴語判定部１０３＿２は、第１実施形態の特徴語判定部１０３と異なり、連結文字列検出部１０２を備えていない。
形態素解析部１０１は、照合対象である文字列ａ「ユーザそれぞれの情報はユーザ管理サーバに記録される」と、被照合対象である文字列ｂ「ユーザ管理サーバにユーザ情報を格納する」とを入力し、単語単位に分解する。また、形態素解析部１０１は、単語列ａ（１０１）「ユーザ／それぞれ／の／情報／は／ユーザ／管理／サーバ／に／記録／さ／れる」と、単語列ｂ（１０１）「ユーザ／管理／サーバ／に／ユーザ／情報／を／格納／する」とを、特徴語判定部１０３＿２に出力する。
【００７３】
特徴語判定部１０３＿２は、形態素解析部１０１から入力する単語列ａ（１０１）と単語列ｂ（１０１）のそれぞれに、予め決められた特徴語を構成する単語が含まれているか否かを判定する。本実施形態において、特徴語とは、照合対象や被照合対象において利用される類似語である。特徴語判定部１０３＿２は、記憶部４００＿２の同義語テーブル４０３に登録されている類似語と同一の単語を、特徴語として取得する。
【００７４】
本実施形態において、特徴語判定部１０３＿２は、単語列ａ（１０１）「ユーザ／それぞれ／の／情報／は／ユーザ／管理／サーバ／に／記録／さ／れる」から、代表語「格納」に対応付けられている類似語「記録」を特徴語として取得する。この特徴語判定部１０３＿２は、取得した特徴語である類似語「記録」を特徴語として単語列ａ（１０１）に対応付けて照合部２００に出力する。例えば、特徴語判定部１０３＿２は、単語列ａ：“（１０１）「ユーザ／それぞれ／の／情報／は／ユーザ／管理／サーバ／に／記録／さ／れる」＋特徴語「格納」（特徴語を構成する単語「記録」）”を出力する。
また、特徴語判定部１０３＿２は、単語列ｂ（１０１）「ユーザ／管理／サーバ／に／ユーザ／情報／を／格納／する」から、代表語「格納」に対応付けられている類似語「格納」を特徴語として取得する。この特徴語判定部１０３＿２は、取得した特徴語である類似語「格納」を単語列ｂ（１０１）に特徴語として対応付けて照合部２００に出力する。例えば、特徴語判定部１０３＿２は、単語列ｂ（１０１）：“「ユーザ／管理／サーバ／に／ユーザ／情報／を／格納／する」＋特徴語「格納」（特徴語を構成する単語「格納」）”を出力する。この特徴語判定部１０３＿２からの出力の一例を以下に示す。
【００７５】
【表１２】
0005629701.tif 000017
【００７６】
共通部分抽出部２０１は、特徴語取得部１００＿２の特徴語判定部１０３＿２から出力される単語列ａ（１０１）と単語列ｂ（１０１）とを比較して、それぞれの特徴語に共通する特徴語からなる共通部分ａｂ＿１を取得し、置換部２０２に出力する。
本実施形態において、共通部分抽出部２０１は、単語列ａ（１０１）と単語列ｂ（１０１）のそれぞれに対応付けられた特徴語から「格納」を共通する特徴語（代表語）して取得する。つまり、共通部分抽出部２０１は、共通部分ａｂ＿１：特徴語「格納」を取得し、置換部２０２に出力する。この共通部分抽出部２０１からの出力の一例を以下に示す。
【００７７】
【表１３】
0005629701.tif 000018
【００７８】
置換部２０２は、共通部分抽出部２０１から取得された特徴語からなる共通部分ａｂ＿１が入力された場合、特徴語取得部１００＿２の特徴語判定部１０３＿２から入力する単語列ａ（１０１）と単語列ｂ（１０１）からこの特徴語からなる共通部分ａｂ＿１を削除する。
本実施形態において、置換部２０２は、単語列ａ（１０１）：“「ユーザ／それぞれ／の／情報／は／ユーザ／管理／サーバ／に／記録／さ／れる」＋特徴語「格納」（特徴語を構成する単語「記録」）”から、共通部分抽出部２０１から入力する特徴語からなる共通部分ａｂ＿１「格納」の特徴語を構成する単語「記録」に相当する単語を削除する。つまり、置換部２０２は、単語列ａ（２０１）：“「ユーザ／それぞれ／の／情報／は／ユーザ／管理／サーバ／に／さ／れる」＋特徴語「格納」（特徴語を構成する単語「記録」）”を出力する。
また、置換部２０２は、単語列ｂ（１０１）：“「ユーザ／管理／サーバ／に／ユーザ／情報／を／格納／する」＋特徴語「格納」（特徴語を構成する単語「格納」）” から、共通部分抽出部２０１から入力する特徴語からなる共通部分ａｂ＿１「格納」の特徴語を構成する単語列「格納」に相当する単語を削除する。つまり、置換部２０２は、単語列ｂ（２０１）：“「ユーザ／管理／サーバ／に／ユーザ／情報／を／する」＋特徴語「格納」（特徴語を構成する単語列「格納」）”を出力する。
この置換部２０２からの出力の一例を以下に示す。
【００７９】
【表１４】
0005629701.tif 000019
【００８０】
なお、単語列ａ（１０１）と単語列ｂ（１０１）とを比較して、それぞれに対応付けられている特徴語において共通する特徴語が無い場合、共通部分抽出部２０１は、この単語列ａ（１０１）と単語列ｂ（１０１）とを比較して、特徴語以外のその他の単語同士で共通する単語があるか否かを判定する。特徴語以外のその他の単語同士で共通する単語がある場合、共通部分抽出部２０１は、共通する単語からなる共通部分ａｂを取得し、算出部３００の重み算出部３０１に出力する。
【００８１】
共通部分抽出部２０１は、置換部２０２から出力される単語列ａ（２０１）と単語列ｂ（２０１）とを比較して、それぞれの特徴語以外の単語列において共通する単語からなる共通部分ａｂ＿２を取得し、置換部２０２に出力する。
本実施形態において、共通部分抽出部２０１は、単語列ａ（２０１）と単語列ｂ（２０１）のそれぞれに対応付けられた特徴語以外の単語列から「ユーザ／情報／に」を共通する単語して取得する。つまり、共通部分抽出部２０１は、特徴語以外の単語列に含まれる共通部分ａｂ＿２：「ユーザ／管理／サーバ／に／ユーザ／情報」を取得し、置換部２０２に出力する。この共通部分抽出部２０１からの出力の一例を以下に示す。
【００８２】
【表１５】
0005629701.tif 000020
【００８３】
また、共通部分抽出部２０１は、この特徴語以外の単語列に含まれる共通部分ａｂ＿２を抽出した同一の単語列ａ（１０１）と単語列ｂ（１０１）から特徴語からなる共通部分ａｂ＿１を抽出していた場合、この特徴語からなる共通部分ａｂ＿１と特徴語以外の単語列に含まれる共通部分ａｂ＿２からなる共通部分ａｂを作成し、単語列ａ（２０１）と単語列ｂ（２０１）とともに重み算出部３０１に出力する。この共通部分抽出部２０１からの出力（共通部分ａｂ）の一例を以下に示す。
【００８４】
【表１６】
0005629701.tif 000021
【００８５】
そして、置換部２０２は、共通部分抽出部２０１から、特徴語からなる共通部分ａｂ＿１と特徴語以外の単語列に含まれる共通部分ａｂ＿２からなる共通部分ａｂと、置き換え処理後の単語列ａ（２０１）と単語列ｂ（２０１）とを、重み算出部３０１に出力する。つまり、本実施形態において、置換部２０２は、共通部分ａｂ「格納／ユーザ／管理／サーバ／に／ユーザ／情報」と、単語列ａ（２０１）：“「ユーザ／それぞれ／の／情報／は／ユーザ／管理／サーバ／に／さ／れる」＋特徴語「記録」（特徴語を構成する単語「格納」）”と、単語列ｂ（２０１）：“「ユーザ／管理／サーバ／に／ユーザ／情報／を／する」＋特徴語「格納」（特徴語を構成する単語「格納」）”とを、重み算出部３０１に出力する。
【００８６】
なお、共通部分抽出部２０１が、単語列ａ（１０１）と単語列ｂ（１０１）から、特徴語からなる共通部分ａｂ＿１しか取得しなかった場合、あるいは、特徴語以外の単語列に含まれる共通部分ａｂ＿２しか取得しなかった場合、それぞれを共通部分ａｂとして重み算出部３０１に出力する。より詳細に説明すると、特徴語からなる共通部分ａｂ＿１しか取得しなかった場合、共通部分抽出部２０１は、置換部２０２によって置換え処理がなされた後の単語列ａ（２０１）と単語列ｂ（２０１）とともに共通部分ａｂを重み算出部３０１に出力する。特徴語以外の単語列に含まれる共通部分ａｂ＿２しか取得しなかった場合、共通部分抽出部２０１は、特徴語判定部１０３＿２から入力する単語列ａ（１０１）と単語列ｂ（１０１）とともに共通部分ａｂを重み算出部３０１に出力する。
【００８７】
また、置換部２０２は、特徴語取得部１００＿２の特徴語判定部１０３＿２から入力する単語列ａ（１０１）に特徴語が含まれているか否かを判定する。単語列ａ（１０１）に特徴語が含まれている場合、単語列ａ（１０１）から特徴語を削除する。
本実施形態において、置換部２０２は、単語列ａ（１０１）：“「ユーザ／それぞれ／の／情報／は／ユーザ／管理／サーバ／に／記録／さ／れる」＋特徴語「格納」（特徴語を構成する単語「記録」）”から、特徴語を構成する単語「記録」に相当する単語を削除する。つまり、置換部２０２は、単語列ａ（１０１）´：“「ユーザ／それぞれ／の／情報／は／ユーザ／管理／サーバ／に／さ／れる」＋特徴語「格納」（特徴語を構成する単語「記録」）”を出力する。
【００８８】
重み算出部３０１は、記憶部４００＿２の単語重要度テーブル４０２に記憶されている重要度Ｐｋを記憶部４００＿２から参照して、照合部２００から入力する共通部分ａｂに基づき、式（２）に従って、共通部分ａｂに含まれる全ての単語の重みＷ（ａｂ）を算出する。
本実施形態において、重み算出部３０１は、共通部分ａｂ：「格納／ユーザ／管理／サーバ／に／ユーザ／情報」に基づき、以下のようにして、共通部分ａｂに含まれる全ての単語の重みＷ（ａｂ）を算出する。また、重み算出部３０１は、共通部分ａｂに特徴語が含まれている場合、この特徴語の重要度Ｐ＝１として算出する。以下に示す通り、本実施形態において、特徴語判定部１０３＿２は、共通部分ａｂに含まれる単語の重みＷ（ａｂ）＝１７７．６と算出する。
【００８９】
【表１７】
0005629701.tif 000022
【００９０】
重み算出部３０１は、記憶部４００＿２の単語重要度テーブル４０２に記憶されている重要度を参照して、照合部２００から入力する特徴語の置き換え処理後の単語列ａ（１０１´）に基づき、式（３）に従って、単語列ａ（１０１´）に含まれる全ての単語の重みＷ（ａａ）を算出する。
本実施形態において、重み算出部３０１は、特徴語の置き換え処理後の単語列ａ（１０１´）：“「ユーザ／それぞれ／の／情報／は／ユーザ／管理／サーバ／に／さ／れる」＋特徴語「格納」（特徴語を構成する単語「記録」）”に含まれる全ての単語の重みＷ（ａａ）を算出する。また、重み算出部３０１は、特徴語の置き換え処理後の単語列ａ（１０１´）に特徴語が対応付けられている場合、この特徴語の重要度Ｐ＝１として算出する。以下に示す通り、本実施形態において、特徴語判定部１０３＿２は、特徴語の置き換え処理後の単語列ａ（２０１）に含まれる単語の重みＷ（ａａ）＝３１０．０と算出する。
【００９１】
【表１８】
0005629701.tif 000023
【００９２】
類似度算出部３０２は、共通部分ａｂに含まれる全ての単語の重みＷ（ａｂ）と、特徴語の置き換え処理後の単語列ａに含まれる全ての単語の重みＷ（ａａ）とに基づき、式（４）に従って、文字列ａに対する文字列ｂの類似度Ｓ（ａｂ）を、以下のようにして算出する。
【００９３】
【表１９】
0005629701.tif 000024
【００９４】
なお、本実施形態に係る類似度算出装置２は、上述の第１実施形態において説明した類似度算出方法と同様のステップに従って、類似度Ｓ（ａｂ）を算出するため、詳細な説明は省略する。ただし、本実施形態に係る類似度算出装置２は、連結文字列検出部１０２を備えていないため、図４に示すステップＳＴ２の連結文字列の検出ステップを含まない点が異なる。
【００９５】
＜第３実施形態＞
次に、図７を参照して、本発明の第３実施形態に係る類似度算出装置３の一例について説明する。図７は、本実施形態に係る類似度算出装置３の一例を示す機能ブロック図である。なお、図７は、図１に示す構成の詳細について説明するための図である。第１実施形態と同様の機能を有する構成については、同一の符号を付して詳細な説明は省略する。
図７に示す通り、本実施形態に係る類似度算出装置３は、特徴語取得部１００＿３と、照合部２００と、算出部３００と、記憶部４００を備える。特徴語取得部１００＿３は、形態素解析部１０１と、連結文字列検出部１０２と、特徴語判定部１０３と、係り受け関係単語列作成部１０４を備える。記憶部４００は、一般連結文字列データベース４０１と、単語重要度テーブル４０２を備える。つまり、本実施形態に係る類似度算出装置３は、第１実施形態に係る類似度算出装置１と比べて、特徴語取得部１００＿３が係り受け関係単語列作成部１０４を備えている点が異なる。それ以外の構成については、概ね同様の機能を有するため、同一の符号を付して同様の機能についての詳細な説明は省略する。
【００９６】
形態素解析部１０１は、入力する文字列ａ，ｂを、形態素（単語）単位に分解し、この分解後の単語の集合からなる単語列ａ，ｂを出力する。本実施形態において、形態素解析部１０１は、照合対象である文字列ａ「ユーザそれぞれの情報はユーザ管理サーバに記録される」と、照合対象である文字列ｂ「ユーザ管理サーバにユーザ情報を格納する」とを入力し、単語単位に分解する。この形態素解析部１０１は、単語単位に分解した後、文字列において各単語の並び位置を示す情報を取得し、各単語に対応づける。
本実施形態において、形態素解析部１０１は、単語列ａ（１０１）「ユーザ（１１）／それぞれ（１２）／の（１３）／情報（１４）／は（１５）／ユーザ（１６）／管理（１７）／サーバ（１８）／に（１９）／記録（２０）／さ（２１）／れる（２２）」と、単語列ｂ（１０１）「ユーザ（３１）／管理（３２）／サーバ（３３）／に（３４）／ユーザ（３５）／情報（３６）／を（３７）／格納（３８）／する（３９）」とを、連結文字列検出部１０２に出力する。なお、この単語列に含まれる単語には、それぞれの品詞を示す情報が対応付けられている。
【００９７】
係り受け関係単語列作成部１０４は、形態素解析部１０１から入力する単語列ａ（１０１）と単語列ｂ（１０１）に基づき、各単語の品詞に従って、文節ごとの係り受け（修飾）関係を判定する。この係り受け関係単語列作成部１０４は、係り受け関係（主従関係）のある文節を構成して係り受け関係単語列を作成する。なお、係り受け関係単語列作成部１０４は、係り受け関係（主従関係）に従って、複数の係り受け関係単語列が作成できる場合、全ての係り受け関係単語列を作成する。
本実施形態において、係り受け関係単語列作成部１０４は、単語列ａ（１０１）「ユーザ（１１）／それぞれ（１２）／の（１３）／情報（１４）／は（１５）／ユーザ（１６）／管理（１７）／サーバ（１８）／に（１９）／記録（２０）／さ（２１）／れる（２２）」に基づき、係り受け関係単語列ａ１（１０１）「ユーザ（１１）／それぞれ（１２）／の（１３）／情報（１４）／は（１５）／記録（２０）／さ（２１）／れる（２２）」と、係り受け関係単語列ａ２（１０１）「ユーザ（１６）／管理（１７）／サーバ（１８）／に（１９）／記録（２０）／さ（２１）／れる（２２）」とを作成する。
また、係り受け関係単語列作成部１０４は、単語列ｂ（１０１）「ユーザ（３１）／管理（３２）／サーバ（３３）／に（３４）／ユーザ（３５）／情報（３６）／を（３７）／格納（３８）／する（３９）」に基づき、係り受け関係単語列ｂ１（１０１）「ユーザ（３１）／管理（３２）／サーバ（３３）／に（３４）／格納（３８）／する（３９）」と、係り受け関係単語列ｂ２（１０１）「ユーザ（３５）／情報（３６）／を（３７）／格納（３８）／する（３９）」とを作成する。
以下に、本実施形態に係る係り受け関係単語列作成部１０４によって作成される係り受け関係単語列の一例を示す。
【００９８】
【表２０】
0005629701.tif 000025
【００９９】
連結文字列検出部１０２は、係り受け関係単語列作成部１０４から入力する係り受け関係単語列ａ１（１０１），ａ２（１０１），ｂ１（１０１），ｂ２（１０１）に基づき、同一文節中において連続する単語（名詞）を連結文字列として取得する。
本実施形態において、連結文字列検出部１０２は、係り受け関係単語列ａ２（１０１）「ユーザ（１６）／管理（１７）／サーバ（１８）／に（１９）／記録（２０）／さ（２１）／れる（２２）」と係り受け関係単語列ｂ１（１０１）「ユーザ（３１）／管理（３２）／サーバ（３３）／に（３４）／ユーザ（３５）／情報（３６）／を（３７）／格納（３８）／する（３９）」のそれぞれから、連結文字列α１「ユーザ（１６）／管理（１７）／サーバ（１８）」と連結文字列β１「ユーザ（３１）／管理（３２）／サーバ（３３）」を取得する。
また、連結文字列検出部１０２は、係り受け関係単語列ｂ２（１０１）「ユーザ（３５）／情報（３６）／を（３７）／格納（３８）／する（３９）」から連結文字列β２「ユーザ（３５）／情報（３６）」を取得する。
この連結文字列α１，β１，β２を以下に示す。この連結文字列検出部１０２は、係り受け関係単語列ａ２（１０１）に連結文字列α１を対応付けた情報と、係り受け関係単語列ｂ１（１０１）に連結文字列β１を対応付けた情報と、係り受け関係単語列ｂ２（１０１）に連結文字列β２を対応付けた情報を、特徴語判定部１０３に出力する。
【０１００】
【表２１】
0005629701.tif 000026
【０１０１】
特徴語判定部１０３は、連結文字列検出部１０２から入力する係り受け関係単語列ａ１（１０１）、ａ２（１０１）、ｂ１（１０１）、ｂ２（１０１）に対応付けられた連結文字列に、予め決められた特徴語を構成する単語が含まれているか否かを判定する。本実施形態において、特徴語とは、照合対象や被照合対象において利用される複合語であって一般的でない複合語のことをいう。特徴語判定部１０３は、連結文字列検出部１０２によって取得された連結文字列のうち、記憶部４００に登録されている一般連結文字列以外の文字列を、特徴語として取得する。
本実施形態において、記憶部４００の一般連結文字列データベース４０１において、一般連結文字列として「ユーザ情報」が登録されている。
【０１０２】
係り受け関係単語列ａ２（１０１）から取得される連結文字列α１「ユーザ（１６）／管理（１７）／サーバ（１８）」は一般連結文字列データベース４０１に登録されていない。このため、特徴語判定部１０３は、この連結文字列α１「ユーザ（１６）／管理（１７）／サーバ（１８）」を特徴語と判定し、係り受け関係単語列ａ２（１０１）に対応付けて照合部２００に出力する。この特徴語判定部１０３は、例えば、係り受け関係単語列ａ２（１０１）：“「ユーザ（１６）／管理（１７）／サーバ（１８）／に（１９）／記録（２０）／さ（２１）／れる（２２）」＋特徴語「ユーザ管理サーバ」（特徴語を構成する単語列「ユーザ（１６）／管理（１７）／サーバ（１８）」）”を出力する。
また、係り受け関係単語列ｂ１（１０１）から取得される連結文字列β１「ユーザ（３１）／管理（３２）／サーバ（３３）」は一般連結文字列データベース４０１に登録されていない。このため、特徴語判定部１０３は、この連結文字列β１「ユーザ（３１）／管理（３２）／サーバ（３３）」を特徴語と判定し、係り受け関係単語列ｂ１（１０１）に特徴語として対応付けて照合部２００に出力する。この特徴語判定部１０３は、例えば、係り受け関係単語列ｂ１（１０１）：“「ユーザ（３１）／管理（３２）／サーバ（３３）／に（３４）／格納（３８）／する（３９）」＋特徴語「ユーザ管理サーバ」（特徴語を構成する単語列「ユーザ（３１）／管理（３２）／サーバ（３３）」）”を出力する。
一方、係り受け関係単語列ｂ２（１０１）から取得される連結文字列β２「ユーザ（３５）／情報（３６）」は一般連結文字列データベース４０１に登録されている。このため、特徴語判定部１０３は、この連結文字列β２「ユーザ（３５）／情報（３６）」を特徴語ではないと判定する。よって、特徴語判定部１０３は、係り受け関係単語列ｂ２（１０１）に特徴語を対応付けることなく照合部２００に出力する。この特徴語判定部１０３は、例えば、係り受け関係単語列ｂ２（１０１）「ユーザ（３５）／情報（３６）／を（３７）／格納（３８）／する（３９）」を出力する。この特徴語判定部１０３からの出力の一例を以下に示す。
【０１０３】
【表２２】
0005629701.tif 000027
【０１０４】
共通部分抽出部２０１は、特徴語取得部１００＿３の特徴語判定部１０３から出力される係り受け関係単語列ａ１（１０１）、ａ２（１０１）、ｂ１（１０１）、ｂ２（１０１）を、それぞれ比較し、比較した双方に共通する単語があるか否かを判定する。
この共通部分抽出部２０１は、はじめに、それぞれの特徴語において共通する特徴語からなる共通部分ａｂ＿１を取得し、置換部２０２に出力する。
また、共通部分抽出部２０１は、特徴語からなる共通部分ａｂ＿１があるか否かを判定した後、それぞれの特徴語以外の単語列において共通する単語からなる共通部分ａｂ＿２があるか否かを判定する。この特徴語以外の単語列において共通する単語からなる共通部分ａｂ＿２があると判定した場合、共通部分抽出部２０１は、この特徴語以内の単語列からなる共通部分ａｂ＿２を取得し、置換部２０２に出力する。
ここで、置換部２０２によって、特徴語からなる共通部分ａｂ＿１を含む係り受け関係単語列から、特徴語からなる共通部分ａｂ＿１を構成する単語が削除されている場合、共通部分抽出部２０１は、比較対象として、この特徴語からなる共通部分ａｂ＿１の置換え処理がなされた後の係り受け関係単語列を比較対象として決定する。一方、特徴語からなる共通部分ａｂ＿１を含まない係り受け関係単語列は置換え処理が実行されない。このため、共通部分抽出部２０１は、置換え処理前の特徴語判定部１０３から出力される係り受け関係単語列を比較対象として決定する。
【０１０５】
なお、本実施形態において、共通部分抽出部２０１は、受け関係単語列ａ１（１０１）、ａ２（１０１）、ｂ１（１０１）、ｂ２（１０１）をそれぞれ比較する度に、特徴語からなる共通部分ａｂ＿１があるか否かを判定し、その後、それぞれの特徴語以外の単語列において共通する単語からなる共通部分ａｂ＿２があるか否かを判定する。
具体的に説明すると、共通部分抽出部２０１は、係り受け関係単語列ａ１（１０１）と係り受け関係単語列ｂ１（１０１）とを比較して、それぞれの特徴語において共通する特徴語からなる共通部分ａ１ｂ１＿１を取得し、置換部２０２に出力する。
次いで、共通部分抽出部２０１は、係り受け関係単語列ａ１（１０１）と置換え後の係り受け関係単語列ｂ１（２０１）とを比較して、それぞれの特徴語以外の単語列に含まれる共通部分ａ１ｂ１＿２を取得し、置換部２０２に出力する。
また、共通部分抽出部２０１は、係り受け関係単語列ａ１（１０１）と係り受け関係単語列ｂ２（１０１）とを比較して、それぞれの特徴語において共通する特徴語からなる共通部分ａ１ｂ２＿１を取得し、置換部２０２に出力する。
次いで、共通部分抽出部２０１は、係り受け関係単語列ａ１（１０１）と係り受け関係単語列ｂ２（１０１）とを比較して、それぞれの特徴語以外の単語列に含まれる共通部分ａ１ｂ２＿２を取得し、置換部２０２に出力する。
【０１０６】
さらに、共通部分抽出部２０１は、係り受け関係単語列ａ２（１０１）と係り受け関係単語列ｂ１（１０１）とを比較して、それぞれの特徴語において共通する特徴語からなる共通部分ａ２ｂ１＿１を取得し、置換部２０２に出力する。
次いで、共通部分抽出部２０１は、係り受け関係単語列ａ２（２０１）と係り受け関係単語列ｂ１（２０１）とを比較して、それぞれの特徴語以外の単語列に含まれる共通部分ａ２ｂ１＿２を取得し、置換部２０２に出力する。
さらにまた、共通部分抽出部２０１は、係り受け関係単語列ａ２（１０１）と係り受け関係単語列ｂ２（１０１）とを比較して、それぞれの特徴語において共通する特徴語からなる共通部分ａ２ｂ２＿１を取得し、置換部２０２に出力する。
次いで、共通部分抽出部２０１は、係り受け関係単語列ａ２（２０１）と係り受け関係単語列ｂ２（１０１）とを比較して、それぞれの特徴語以外の単語列に含まれる共通部分ａ２ｂ２＿２を取得し、置換部２０２に出力する。
なお、共通する特徴語からなる共通部分を取得できない場合、共通部分抽出部２０１は、そのことを示す情報や、ＮＵＬＬ値を置換部２０２に出力する。
【０１０７】
本実施形態において、共通部分抽出部２０１は、係り受け関係単語列ａ２（１０１）：“「ユーザ（１６）／管理（１７）／サーバ（１８）／に（１９）／記録（２０）／さ（２１）／れる（２２）」＋特徴語「ユーザ管理サーバ」（特徴語を構成する単語列「ユーザ（１６）／管理（１７）／サーバ（１８）」）”と係り受け関係単語列ｂ１（１０１）：“「ユーザ（３１）／管理（３２）／サーバ（３３）／に（３４）／格納（３８）／する（３９）」＋特徴語「ユーザ管理サーバ」（特徴語を構成する単語列「ユーザ（３１）／管理（３２）／サーバ（３３）」）”から、それぞれの特徴語において共通する共通部分ａ２ｂ１＿１：“特徴語「ユーザ管理サーバ」（特徴語を構成する単語列「ユーザ（１６）／ユーザ（３１）／管理（１７）／管理（３２）／サーバ（１８）／サーバ（３３）」”を共通する単語として取得する。この共通部分抽出部２０１によって取得される共通部分の一例を以下に示す。
【０１０８】
【表２３】
0005629701.tif 000028
【０１０９】
また、共通部分抽出部２０１によって取得される特徴語以外の単語列に含まれる共通部分ａｂ＿２の一例を以下に示す。
【０１１０】
【表２４】
0005629701.tif 000029
【０１１１】
つまり、共通部分抽出部２０１は、全ての係り受け関係単語列ａ１（１０１）、ａ２（１０１）、ｂ１（１０１）、ｂ２（１０１）をそれぞれ比較して特徴語からなる共通部分があるか否かを判定する。この共通部分抽出部２０１は、特徴語において共通する部分がある場合、この特徴語からなる共通部分を取得する。本実施形態において、共通部分抽出部２０１は、共通部分ａ２ｂ１＿１については、共通語からなる共通部分を取得することができるが、その他の共通部分ａ１ｂ１＿１、ａ１ｂ２＿１、ａ２ｂ２＿１については、共通語からなる共通部分を取得することができない。
【０１１２】
置換部２０２は、共通部分抽出部２０１から特徴語からなる共通部分ａ１ｂ１＿１、ａ１ｂ２＿１、ａ２ｂ１＿１、ａ２ｂ２＿１が入力された場合、特徴語取得部１００＿３の特徴語判定部１０３から入力する係り受け関係単語列ａ１（１０１）、ａ２（１０１）、ｂ１（１０１）、ｂ２（１０１）から、特徴語からなる共通部分ａ１ｂ１＿１、ａ１ｂ２＿１、ａ２ｂ１＿１、ａ２ｂ２＿１を削除する。
本実施形態において、共通部分抽出部２０１は、特徴語からなる共通部分ａ２ｂ１＿１のみを置換部２０２に出力する。よって、置換部２０２は、特徴語判定部１０３から入力する係り受け関係単語列のうち、この特徴語からなる共通部分ａ２ｂ１＿１が含まれていた係り受け関係単語列ａ２（１０１）、ｂ１（１０１）から、特徴語からなる共通部分ａ２ｂ１＿１を構成する単語列を、特徴語に置き換える。この置換部２０２は、共通する特徴語を構成する単語列が特徴語に置換えられた後の係り受け関係単語列ａ２（１０１）、ｂ１（１０１）を、再び、共通部分抽出部２０１に戻して出力する。
【０１１３】
本実施形態において、置換部２０２は、係り受け関係単語列ａ２（１０１）：“「ユーザ（１６）／管理（１７）／サーバ（１８）／に（１９）／記録（２０）／さ（２１）／れる（２２）」＋特徴語「ユーザ管理サーバ」（特徴語を構成する単語列「ユーザ（１６）／管理（１７）／サーバ（１８）」）”から、特徴語からなる共通部分ａ２ｂ１＿１「ユーザ（１６）／ユーザ（３１）／管理（１７）／管理（３２）／サーバ（１８）／サーバ（３３）」に相当する単語を削除する。
つまり、置換部２０２は、係り受け関係単語列ａ２（２０１）：“「に（１９）／記録（２０）／さ（２１）／れる（２２）」＋特徴語「ユーザ管理サーバ」（特徴語を構成する単語列「ユーザ（１６）／管理（１７）／サーバ（１８）」）”を出力する。
また、置換部２０２は、係り受け関係単語列ｂ１（１０１）：“「ユーザ（３１）／管理（３２）／サーバ（３３）／に（３４）／格納（３８）／する（３９）」＋特徴語「ユーザ管理サーバ」（特徴語を構成する単語列「ユーザ（３１）／管理（３２）／サーバ（３３）」）”から、特徴語からなる共通部分ａ２ｂ１＿１「ユーザ（１６）／ユーザ（３１）／管理（１７）／管理（３２）／サーバ（１８）／サーバ（３３）」に相当する単語を削除する。
つまり、置換部２０２は、係り受け関係単語列ｂ１（２０１）：“「ユーザ（３１）／管理（３２）／サーバ（３３）／に（３４）／格納（３８）／する（３９）」＋特徴語「ユーザ管理サーバ」（特徴語を構成する単語列「ユーザ（３１）／管理（３２）／サーバ（３３）」）”を出力する。
この置換部２０２からの出力の一例を以下に示す。
【０１１４】
【表２５】
0005629701.tif 000030
【０１１５】
一方、共通部分抽出部２０１は、係り受け関係単語列ａ１（１０１）、ａ２（１０１）、ｂ１（１０１）、ｂ２（１０１）をそれぞれ比較して、それぞれの特徴語において共通する特徴語が無い場合、共通部分抽出部２０１は、これら係り受け関係単語列ａ１（１０１）、ａ２（１０１）、ｂ１（１０１）、ｂ２（１０１）をそれぞれ比較して、特徴語以外のその他の単語同士で共通する単語があるか否かを判定する。特徴語以外のその他の単語同士で共通する単語がある場合、共通部分抽出部２０１は、共通する単語からなる共通部分ａｂを取得し、算出部３００の重み算出部３０１に出力する。
【０１１６】
共通部分抽出部２０１は、この特徴語以外の単語列に含まれる共通部分ａｂ＿２を抽出した場合であって、既に特徴語からなる共通部分ａｂ＿１を抽出している場合、この特徴語からなる共通部分ａｂ＿１と特徴語以外の単語列に含まれる共通部分ａｂ＿２とを合わせて共通部分ａｂを作成し、重み算出部３０１に出力する。
なお、特徴語以外の単語列に含まれる共通部分ａｂ＿２を抽出した場合であって、特徴語からなる共通部分ａｂ＿１を抽出していない場合、共通部分抽出部２０１は、特徴語以外の単語列に含まれる共通部分ａｂ＿２を共通部分ａｂとして、重み算出部３０１に出力する。
また、特徴語以外の単語列に含まれる共通部分ａｂ＿２を抽出しない場合であって、特徴語からなる共通部分ａｂ＿１を抽出した場合、共通部分抽出部２０１は、特徴語からなる共通部分ａｂ＿１を共通部分ａｂとして、重み算出部３０１に出力する。
【０１１７】
本実施形態において、共通部分抽出部２０１は、特徴語からなる共通部分ａ２ｂ１＿１「ユーザ管理サーバ（特徴語を構成する単語列ユーザ（１６）／ユーザ（３１）／管理（１７）／管理（３２）／サーバ（１８）／サーバ（３３））と特徴語以外の単語列に含まれる共通部分ａ２ｂ１＿２「に（１９）／に（３４）」とを合わせて、共通部分ａ２ｂ１「ユーザ管理サーバ（特徴語を構成する単語列ユーザ（１６）／ユーザ（３１）／管理（１７）／管理（３２）／サーバ（１８）／サーバ（３３））／に（１９）／に（３４）」を作成し、重み算出部３０１に出力する。
また、共通部分抽出部２０１は、特徴語以外の単語列に含まれる共通部分ａ２ｂ１＿２「ユーザ（１１）／ユーザ（３５）／情報（１４）／情報（３６）」を、共通部分ａ２ｂ１として、重み算出部３０１に出力する。この共通部分抽出部２０１からの出力（共通部分ａｂ）の一例を以下に示す。
【０１１８】
【表２６】
0005629701.tif 000031
【０１１９】
共通部分抽出部２０１は、取得した共通部分を重み算出部３０１に出力する。重み算出部３０１は、複数の共通部分を入力した場合、複数の共通部分のうち、最も重みが重い共通部分を判定する。
【０１２０】
重み算出部３０１は、単語毎に予め決められている重要度を記憶部４００から参照して、照合部２００から入力する共通部分ａ１ｂ２および共通部分ａ２ｂ１に基づき、式（２）に従って、共通部分ａ１ｂ２および共通部分ａ２ｂ１に含まれる全ての単語の重みＷ（ａ１ｂ２）および重みＷ（ａ２ｂ１）をそれぞれ算出する。また、重み算出部３０１は、共通部分ａｂに特徴語が対応付けられている場合、この特徴語の重要度Ｐ＝１として算出する。
重み算出部３０１は、共通部分ａ２ｂ１：“ユーザ管理サーバ（特徴語を構成する単語列「ユーザ（１６）／ユーザ（３１）／管理（１７）／管理（３２）／サーバ（１８）／サーバ（３３）」）／に（１９）／に（３４）”に基づき、以下のようにして、共通部分ａ２ｂ１に含まれる単語の重みＷ（ａ２ｂ１）を算出する。以下に示す通り、本実施形態において、重み算出部３０１は、共通部分ａ２ｂ１に含まれる全ての単語の重みＷ（ａ２ｂ１）＝７２．９と算出する。
【０１２１】
【表２７】
0005629701.tif 000032
【０１２２】
そして、重み算出部３０１は、共通部分ａ１ｂ２「ユーザ（１１）／ユーザ（３５）／情報（１４）／情報（３６）」に基づき、以下のようにして、共通部分ａ１ｂ２に含まれる単語の重みＷ（ａ１ｂ２）を算出する。
本実施形態に係る重み算出部３０１は、共通部分ａ１ｂ２「ユーザ（１１）／ユーザ（３５）／情報（１４）／情報（３６）」を構成する単語のうち、共通部分ａ２ｂ１：“ユーザ管理サーバ（ユーザ（１６）／ユーザ（３１）／管理（１７）／管理（３２）／サーバ（１８）／サーバ（３３））／に（１９）／に（３４）”に含まれる単語を削除した単語について重みＷ（ａ１ｂ２）を算出する。
ここで、共通部分ａ２ｂ１：“ユーザ管理サーバ（ユーザ（１６）／ユーザ（３１）／管理（１７）／管理（３２）／サーバ（１８）／サーバ（３３））／に（１９）／に（３４）”と、共通部分ａ１ｂ２「ユーザ（１１）／ユーザ（３５）／情報（１４）／情報（３６）」とには、共に、ユーザという文字が含まれている。しかし、このユーザという文字は、その後ろのカッコ内（    ）に記載されているように、文字列ａ，ｂにおける位置が異なるため、異なる単語である。よって、重み算出部３０１が、それぞれの重みを算出したとしても、重複して重みを算出することにはならない。従って、重み算出部３０１は、このユーザについては削除せず、重みＷ（ａ１ｂ２）を、以下のようにして算出する。以下に示す通り、本実施形態において、重み算出部３０１は、共通部分ａ１ｂ２に含まれる全ての単語の重みＷ（ａ１ｂ２）＝１７．５と算出する。
【０１２３】
【表２８】
0005629701.tif 000033
【０１２４】
よって、重み算出部３０１は、共通部分ａ２ｂ１に含まれる全ての単語の重みＷ（ａ２ｂ１）＝７２．９と、共通部分ａ１ｂ２に含まれる全ての単語の重みＷ（ａ１ｂ２）＝１７．５とを比較して、共通部分ａ２ｂ１に含まれる全ての単語の重みＷ（ａ２ｂ１）の方が重みが重いと判定する。
この重み算出部３０１は、最も重みが重いと判定した共通部分ａ２ｂ１を、置換部２０２に出力する。
【０１２５】
置換部２０２は、共通部分抽出部２０１から重みが最も重いと判定された共通部分ａ２ｂ１が入力された場合、この共通部分ａ２ｂ１を構成する単語を係り受け関係単語列ａ２，ｂ１から削除する。この置換部２０２によって共通部分ａ２ｂ１が削除された例を以下に示す。この置換部２０２は、共通部分ａ２ｂ１を削除した係り受け関係単語列ａ２（３０１）、ｂ１（３０１）を共通部分抽出部２０１に出力する。
【０１２６】
【表２９】
0005629701.tif 000034
【０１２７】
具体的に説明すると、置換部２０２は、係り受け関係単語列ａ２（１０１）：“「ユーザ（１６）／管理（１７）／サーバ（１８）／に（１９）／記録（２０）／さ（２１）／れる（２２）」＋特徴語「ユーザ管理サーバ」（特徴語を構成する単語列「ユーザ（１６）／管理（１７）／サーバ（１８）」）”から、特徴語からなる共通部分ａ２ｂ１＿１「ユーザ管理サーバ」の特徴語を構成する単語列「ユーザ（１６）／ユーザ（３１）／管理（１７）／管理（３２）／サーバ（１８）／サーバ（３３）」に相当する単語を削除する。
つまり、置換部２０２は、係り受け関係単語列ａ２（２０１）：“「に（１９）／記録（２０）／さ（２１）／れる（２２）」＋特徴語「ユーザ管理サーバ」（特徴語を構成する単語列「ユーザ（１６）／管理（１７）／サーバ（１８）」）”を出力する。
また、置換部２０２は、係り受け関係単語列ｂ１（１０１）：“「ユーザ（３１）／管理（３２）／サーバ（３３）／に（３４）／格納（３８）／する（３９）」＋特徴語「ユーザ管理サーバ」（特徴語を構成する単語列「ユーザ（３１）／管理（３２）／サーバ（３３）」）”から、特徴語からなる共通部分ａ２ｂ１＿１「ユーザ管理サーバ」の特徴語を構成する単語列「ユーザ（１６）／ユーザ（３１）／管理（１７）／管理（３２）／サーバ（１８）／サーバ（３３）」に相当する単語を削除する。
つまり、置換部２０２は、係り受け関係単語列ｂ１（２０１）：“「ユーザ（３１）／管理（３２）／サーバ（３３）／に（３４）／格納（３８）／する（３９）」＋特徴語「ユーザ管理サーバ」（特徴語を構成する単語列「ユーザ（３１）／管理（３２）／サーバ（３３）」）”を出力する。
【０１２８】
共通部分抽出部２０１は、上に示したとおり、置換部２０２から入力する共通部分ａ２ｂ１が置き換えられた係り受け関係単語列ａ２（３０１）、ｂ１（３０１）と、特徴語判定部１０３から入力する係り受け関係単語列ａ１（１０１）、ｂ２（１０１）とに基づき、共通部分ａｂを取得する。つまり、共通部分抽出部２０１は、重みが最も重い共通部分を取得した場合、この共通部分を構成する単語を係り受け関係単語列から削除して、さらに共通部分があるか否かを判定する。さらに共通部分があった場合、この共通部分を取得して重み算出部３０１に出力する。ここで、さらに複数の共通部分があった場合、共通部分抽出部２０１は、上述と同様にして、この複数の共通部分のうち、重みが最も重い共通部分を取得し、重み算出部３０１と置換部２０２を出力する。置換部２０２は、入力した共通部分を削除した係り受け関係単語列を共通部分抽出部２０１に出力する。共通部分抽出部２０１は、重み算出部３０１に出力した共通部分に相当する単語が置換部２０２によって削除された後の係り受け関係単語列同士を比較して共通部分を取得する。共通部分抽出部２０１は、このようにして、共通部分が取得されなくなるまで、この作業を繰り返す。
【０１２９】
本実施形態において、共通部分抽出部２０１は、上に示す通り、係り受け関係単語列ａ１（１０１）、ａ２（３０１）、ｂ１（３０１）、ｂ２（１０１）をそれぞれ比較する。それぞれの単語列において共通する特徴語が無いため、共通部分抽出部２０１は、特徴語以外のその他の単語同士で共通する単語があるか否かを判定する。係り受け関係単語列ａ１（１０１）と係り受け関係単語列ｂ２（１０１）とに、特徴語以外のその他の単語同士で共通する単語があるため、共通部分抽出部２０１は、共通する単語からなる共通部分ａ１ｂ２を取得し、算出部３００の重み算出部３０１に出力する。この共通部分抽出部２０１によって取得される共通部分ａ１ｂ２の一例を示す。
【０１３０】
【表３０】
0005629701.tif 000035
【０１３１】
置換部２０２は、共通部分抽出部２０１から共通部分ａ１ｂ２が入力された場合、この共通部分ａ１ｂ２を構成する単語を、係り受け関係単語列ａ１（１０１），ｂ２（１０１）のそれぞれから削除する。具体的に説明すると、置換部２０２は、係り受け関係単語列ａ１（１０１），ｂ２（１０１）のそれぞれから共通部分ａ２ｂ１を削除した係り受け関係単語列ａ１（４０１）、ｂ２（４０１）を共通部分抽出部２０１に出力する。この置換部２０２によって共通部分ａ１ｂ２が削除された例を以下に示す。
【０１３２】
【表３１】
0005629701.tif 000036
【０１３３】
共通部分抽出部２０１は、上に示したとおり、置換部２０２から入力する共通部分ａ１ｂ２が置き換えられた係り受け関係単語列ａ１（４０１）、ｂ２（４０１）と、前回置換部２０２によって置き換えられた係り受け関係単語列ａ２（３０１）、ｂ１（３０１）とに基づき、共通部分ａｂがあるか否かを判定する。
ここでは、共通部分が取得されないため、共通部分抽出部２０１は、共通部分を取得する作業を終了させる。
【０１３４】
また、形態素解析部１０１は、入力する文字列ａを、形態素（単語）単位に分解し、この分解後の単語の集合からなる単語列ａ（１０１）を連結文字列検出部１０２に出力する。本実施形態において、形態素解析部１０１は、単語列ａ（１０１）「ユーザ（１１）／それぞれ（１２）／の（１３）／情報（１４）／は（１５）／ユーザ（１６）／管理（１７）／サーバ（１８）／に（１９）／記録（２０）／さ（２１）／れる（２２）」を連結文字列検出部１０２に出力する。
【０１３５】
連結文字列検出部１０２は、形態素解析部１０１から入力する単語列ａ（１０１）に基づき、同一文節中において連続する単語（名詞）を連結文字列として取得する。本実施形態において、連結文字列検出部１０２は、単語列ａ（１０１）「ユーザ（１１）／それぞれ（１２）／の（１３）／情報（１４）／は（１５）／ユーザ（１６）／管理（１７）／サーバ（１８）／に（１９）／記録（２０）／さ（２１）／れる（２２）」から、連結文字列α１「ユーザ（１６）／管理（１７）／サーバ（１８）」を取得する。この連結文字列検出部１０２は、単語列ａ（１０１）に連結文字列α１を対応付けた情報を、特徴語判定部１０３に出力する。
【０１３６】
特徴語判定部１０３は、連結文字列検出部１０２から入力する単語列ａ（１０１）に、予め決められた特徴語を構成する単語が含まれているか否かを判定する。単語列ａ（１０１）から取得される連結文字列α１「ユーザ（１６）／管理（１７）／サーバ（１８）」は一般連結文字列データベース４０１に登録されていない。このため、特徴語判定部１０３は、この連結文字列α１「ユーザ（１６）／管理（１７）／サーバ（１８）」を特徴語と判定し、単語列ａ（１０１）に対応付けて照合部２００の置換部２０２に出力する。
本実施形態において、特徴語判定部１０３は、単語列ａ（１０１）：“「ユーザ（１１）／それぞれ（１２）／の（１３）／情報（１４）／は（１５）／ユーザ（１６）／管理（１７）／サーバ（１８）／に（１９）／記録（２０）／さ（２１）／れる（２２）」＋特徴語「ユーザ管理サーバ」（特徴語を構成する単語列「ユーザ（１６）／管理（１７）／サーバ（１８）」）”を照合部２００の置換部２０２に出力する。
【０１３７】
置換部２０２は、特徴語取得部１００＿３の特徴語判定部１０３から入力する単語列ａ（１０１）に特徴語が付加されている場合、単語列ａ（１０１）に特徴語を構成する単語が含まれているか否かを判定する。単語列ａ（１０１）に特徴語を構成する単語が含まれている場合、置換部２０２は、単語列ａ（１０１）から特徴語を構成する単語を削除し、共通語を付加して算出部３００に出力する。一方、単語列ａ（１０１）に特徴語を構成する単語が含まれていない場合、あるいは、単語列ａ（１０１）に特徴語が付加されていない場合、置換部２０２は、単語列ａ（１０１）の一部を特徴語に置換えることなく、特徴語判定部１０３から入力する単語列ａ（１０１）（＋特徴語）をそのまま算出部３００に出力する。つまり、置換部２０２は、単語列ａ（１０１）に特徴語を構成する単語が含まれている場合、この特徴語を構成する単語を特徴語に置き換える。
本実施形態において、置換部２０２は、単語列ａ（１０１）：“「ユーザ（１１）／それぞれ（１２）／の（１３）／情報（１４）／は（１５）／ユーザ（１６）／管理（１７）／サーバ（１８）／に（１９）／記録（２０）／さ（２１）／れる（２２）」＋特徴語「ユーザ管理サーバ」（特徴語を構成する単語列「ユーザ（１６）／管理（１７）／サーバ（１８）」）”に基づき、単語列ａ（１０１）内の特徴語を構成する単語列「ユーザ（１６）／管理（１７）／サーバ（１８）」に相当する単語を削除する。つまり、置換部２０２は、単語列ａ（５０１）：“ユーザ（１１）／それぞれ（１２）／の（１３）／情報（１４）／は（１５）／に（１９）／記録（２０）／さ（２１）／れる（２２）」＋特徴語「ユーザ管理サーバ」（特徴語を構成する単語列「ユーザ（１６）／管理（１７）／サーバ（１８）」）”を算出部３００に出力する。この置換部２０２から出力される単語列ａ（５０１）の一例を以下に示す。
【０１３８】
【表３２】
0005629701.tif 000037
【０１３９】
重み算出部３０１は、単語毎に予め決められている重要度を記憶部４００から参照して、照合部２００から入力する共通部分ａ１ｂ２および共通部分ａ２ｂ１に基づき、式（２）に従って、共通部分ａ１ｂ２および共通部分ａ２ｂ１に含まれる全ての単語の重みＷ（ａ１ｂ２）および重みＷ（ａ２ｂ１）をそれぞれ算出する。また、重み算出部３０１は、共通部分ａｂに特徴語が対応付けられている場合、この特徴語の重要度Ｐ＝１として算出する。
この重み算出部３０１は、共通部分が複数ある場合、重複している単語についての重みを重複して算出しないように、いずれか一方の共通部分から重複している単語を削除して、重みを算出する。
本実施形態において、重み算出部３０１は、重みが大きい順に重みの算出を行う。重み算出部３０１は、例えば、共通部分に含まれる特徴語の文字数が多い順に重みの算出を行う。
重み算出部３０１は、共通部分ａ２ｂ１：“ユーザ管理サーバ（特徴語を構成する単語列「ユーザ（１６）／ユーザ（３１）／管理（１７）／管理（３２）／サーバ（１８）／サーバ（３３）」）／に（１９）／に（３４）”に基づき、以下のようにして、共通部分ａ２ｂ１に含まれる単語の重みＷ（ａ２ｂ１）を算出する。以下に示す通り、本実施形態において、重み算出部３０１は、共通部分ａ２ｂ１に含まれる全ての単語の重みＷ（ａ２ｂ１）＝７２．９と算出する。
【０１４０】
【表３３】
0005629701.tif 000038
【０１４１】
そして、重み算出部３０１は、共通部分ａ１ｂ２「ユーザ（１１）／ユーザ（３５）／情報（１４）／情報（３６）」に基づき、以下のようにして、共通部分ａ１ｂ２に含まれる単語の重みＷ（ａ１ｂ２）を算出する。
本実施形態に係る重み算出部３０１は、共通部分ａ１ｂ２「ユーザ（１１）／ユーザ（３５）／情報（１４）／情報（３６）」を構成する単語のうち、共通部分ａ２ｂ１：“ユーザ管理サーバ（ユーザ（１６）／ユーザ（３１）／管理（１７）／管理（３２）／サーバ（１８）／サーバ（３３））／に（１９）／に（３４）”に含まれる単語を削除した単語について重みＷ（ａ１ｂ２）を算出する。
ここで、共通部分ａ２ｂ１：“ユーザ管理サーバ（ユーザ（１６）／ユーザ（３１）／管理（１７）／管理（３２）／サーバ（１８）／サーバ（３３））／に（１９）／に（３４）”と、共通部分ａ１ｂ２「ユーザ（１１）／ユーザ（３５）／情報（１４）／情報（３６）」とには、共に、ユーザという文字が含まれている。しかし、このユーザという文字は、その後ろのカッコ内（    ）に記載されているように、文字列ａ，ｂにおける位置が異なるため、異なる単語である。よって、重み算出部３０１が、それぞれの重みを算出したとしても、重複して重みを算出することにはならない。従って、重み算出部３０１は、このユーザについては削除せず、重みＷ（ａ１ｂ２）を、以下のようにして算出する。以下に示す通り、本実施形態において、重み算出部３０１は、共通部分ａ１ｂ２に含まれる全ての単語の重みＷ（ａ１ｂ２）＝１７．５と算出する。
【０１４２】
【表３４】
0005629701.tif 000039
【０１４３】
この重み算出部３０１は、共通部分ａ２ｂ１に含まれる全ての単語の重みＷ（ａ２ｂ１）＝７２．９と、共通部分ａ１ｂ２に含まれる全ての単語の重みＷ（ａ１ｂ２）＝１７．５を加算して、１つの共通部分ａｂに含まれる全ての単語の重みＷ（ａｂ）＝９０．４を算出する。
【０１４４】
重み算出部３０１は、記憶部４００の単語重要度テーブル４０２に記憶されている重要度を参照して、照合部２００の置換部２０２から入力する特徴語の置き換え処理後の単語列ａ（５０１）に基づき、式（３）に従って、この特徴語の置き換え処理後の単語列ａ（５０１）：“ユーザ（１１）／それぞれ（１２）／の（１３）／情報（１４）／は（１５）／に（１９）／記録（２０）／さ（２１）／れる（２２）」＋特徴語「ユーザ管理サーバ」（特徴語を構成する単語列「ユーザ（１６）／管理（１７）／サーバ（１８）」）”に含まれる単語の重みＷ（ａａ）を算出する。また、重み算出部３０１は、特徴語の置き換え処理後の単語列ａ（５０１）に特徴語が対応付けられている場合、この特徴語の重要度Ｐ＝１として算出する。以下に示す通り、本実施形態において、特徴語判定部１０３は、特徴語の置き換え処理後の単語列ａ（５０１）に含まれる単語の重みＷ（ａａ）＝３４７．５と算出する。
【０１４５】
【表３５】
0005629701.tif 000040
【０１４６】
類似度算出部３０２は、共通部分ａｂに含まれる単語の重みＷ（ａｂ）＝９０．４と、特徴語を構成する単語が特徴語に置き換えた単語列ａに含まれる単語の重みＷ（ａａ）＝３４７．５とに基づき、式（４）に従って、文字列ａに対する文字列ｂの類似度Ｓ（ａｂ）を、以下のようにして算出する。
【０１４７】
【表３６】
0005629701.tif 000041
【０１４８】
次に、図８を参照して、本実施形態に係る類似度算出装置３における類似度算出方法の一例について説明する。図８は、本実施形態に係る類似度算出装置３における類似度算出方法の一例を示すフローチャートである。
（ステップＳＴ１１）
形態素解析部１０１は、照合対象である文字列ａ「ユーザそれぞれの情報はユーザ管理サーバに記録される」と、照合対象である文字列ｂ「ユーザ管理サーバにユーザ情報を格納する」とを入力し、単語単位に分解する。そして、形態素解析部１０１は、単語列ａ（１０１）「ユーザ（１１）／それぞれ（１２）／の（１３）／情報（１４）／は（１５）／ユーザ（１６）／管理（１７）／サーバ（１８）／に（１９）／記録（２０）／さ（２１）／れる（２２）」と、単語列ｂ（１０１）「ユーザ（３１）／管理（３２）／サーバ（３３）／に（３４）／ユーザ（３５）／情報（３６）／を（３７）／格納（３８）／する（３９）」とを、連結文字列検出部１０２に出力する。
【０１４９】
（ステップＳＴ１２）
そして、係り受け関係単語列作成部１０４は、単語列ａ（１０１）「ユーザ（１１）／それぞれ（１２）／の（１３）／情報（１４）／は（１５）／ユーザ（１６）／管理（１７）／サーバ（１８）／に（１９）／記録（２０）／さ（２１）／れる（２２）」に基づき、係り受け関係単語列ａ１（１０１）「ユーザ（１１）／それぞれ（１２）／の（１３）／情報（１４）／は（１５）／記録（２０）／さ（２１）／れる（２２）」と、係り受け関係単語列ａ２（１０１）「ユーザ（１６）／管理（１７）／サーバ（１８）／に（１９）／記録（２０）／さ（２１）／れる（２２）」とを作成する。
また、係り受け関係単語列作成部１０４は、単語列ｂ（１０１）「ユーザ（３１）／管理（３２）／サーバ（３３）／に（３４）／ユーザ（３５）／情報（３６）／を（３７）／格納（３８）／する（３９）」に基づき、係り受け関係単語列ｂ１（１０１）「ユーザ（３１）／管理（３２）／サーバ（３３）／に（３４）／格納（３８）／する（３９）」と、係り受け関係単語列ｂ２（１０１）「ユーザ（３５）／情報（３６）／を（３７）／格納（３８）／する（３９）」とを作成する。
【０１５０】
（ステップＳＴ１３）
次いで、連結文字列検出部１０２は、係り受け関係単語列ａ２（１０１）「ユーザ（１６）／管理（１７）／サーバ（１８）／に（１９）／記録（２０）／さ（２１）／れる（２２）」と係り受け関係単語列ｂ１（１０１）「ユーザ（３１）／管理（３２）／サーバ（３３）／に（３４）／格納（３８）／する（３９）」のそれぞれ、連結文字列α１「ユーザ（１６）／管理（１７）／サーバ（１８）」と連結文字列β１「ユーザ（３１）／管理（３２）／サーバ（３３）」を取得する。また、連結文字列検出部１０２は、係り受け関係単語列ｂ２（１０１）「ユーザ（３５）／情報（３６）／を（３７）／格納（３８）／する（３９）」から連結文字列β２「ユーザ（３５）／情報（３６）」を取得する。
この連結文字列検出部１０２は、係り受け関係単語列ａ２（１０１）に連結文字列α１を対応付けた情報と、係り受け関係単語列ｂ１（１０１）に連結文字列β１を対応付けた情報と、係り受け関係単語列ｂ２（１０１）に連結文字列β２を対応付けた情報を、特徴語判定部１０３に出力する。
【０１５１】
特徴語判定部１０３は、係り受け関係単語列ａ２（１０１）に連結文字列α１を対応付けた情報と、係り受け関係単語列ｂ１（１０１）に連結文字列β１を対応付けた情報と、係り受け関係単語列ｂ２（１０１）に連結文字列β２を対応付けた情報のそれぞれに、予め決められた特徴語を構成する単語が含まれているか否かを判定する。
係り受け関係単語列ａ２（１０１）から取得される連結文字列α１「ユーザ（１６）／管理（１７）／サーバ（１８）」は一般連結文字列データベース４０１に登録されていない。このため、特徴語判定部１０３は、この連結文字列α１「ユーザ（１６）／管理（１７）／サーバ（１８）」を特徴語と判定し、係り受け関係単語列ａ２（１０１）に特徴語として対応付けて照合部２００に出力する。この特徴語判定部１０３は、例えば、係り受け関係単語列ａ２（１０１）：“「ユーザ（１６）／管理（１７）／サーバ（１８）／に（１９）／記録（２０）／さ（２１）／れる（２２）」＋特徴語「ユーザ管理サーバ」（特徴語を構成する単語列「ユーザ（１６）／管理（１７）／サーバ（１８）」）”を出力する。
また、係り受け関係単語列ｂ１（１０１）から取得される連結文字列β１「ユーザ（３１）／管理（３２）／サーバ（３３）」は一般連結文字列データベース４０１に登録されていない。このため、特徴語判定部１０３は、この連結文字列β１「ユーザ（３１）／管理（３２）／サーバ（３３）」を特徴語と判定し、係り受け関係単語列ｂ１（１０１）に特徴語として対応付けて照合部２００に出力する。この特徴語判定部１０３は、例えば、係り受け関係単語列ｂ１（１０１）：“「ユーザ（３１）／管理（３２）／サーバ（３３）／に（３４）／格納（３８）／する（３９）」＋特徴語「ユーザ管理サーバ」（特徴語を構成する単語列「ユーザ（３１）／管理（３２）／サーバ（３３）」）”を出力する。
一方、係り受け関係単語列ｂ２（１０１）から取得される連結文字列β２「ユーザ（３５）／情報（３６）」は一般連結文字列データベース４０１に登録されている。このため、特徴語判定部１０３は、この連結文字列β２「ユーザ（３５）／情報（３６）」を特徴語ではないと判定する。よって、特徴語判定部１０３は、係り受け関係単語列ｂ２（１０１）に特徴語を対応付けることなく、係り受け関係単語列ｂ２（１０１）「ユーザ（３５）／情報（３６）／を（３７）／格納（３８）／する（３９）」を照合部２００の共通部分抽出部２０１に出力する。
【０１５２】
（ステップＳＴ１４）
次いで、共通部分抽出部２０１は、特徴語取得部１００＿３の特徴語判定部１０３から出力される係り受け関係単語列ａ１（１０１）、ａ２（１０１）、ｂ１（１０１）、ｂ２（１０１）を、それぞれ比較し、比較した双方に共通する特徴語からなる共通部分ａｂ＿１があるか否かを判定する。
【０１５３】
（ステップＳＴ１５）
本実施形態において、共通部分抽出部２０１は、係り受け関係単語列ａ２（１０１）：“「ユーザ（１６）／管理（１７）／サーバ（１８）／に（１９）／記録（２０）／さ（２１）／れる（２２）」＋特徴語「ユーザ管理サーバ」（特徴語を構成する単語列「ユーザ（１６）／管理（１７）／サーバ（１８）」）”と係り受け関係単語列ｂ１（１０１）：“「ユーザ（３１）／管理（３２）／サーバ（３３）／に（３４）／格納（３８）／する（３９）」＋特徴語「ユーザ管理サーバ」（特徴語を構成する単語列「ユーザ（３１）／管理（３２）／サーバ（３３）」）”から、それぞれの特徴語において共通する共通部分ａ２ｂ１＿１：“特徴語「ユーザ管理サーバ」（特徴語を構成する単語列「ユーザ（１６）／ユーザ（３１）／管理（１７）／管理（３２）／サーバ（１８）／サーバ（３３）」”を共通する単語として取得する。そして、共通部分抽出部２０１は、取得した共通部分ａ２ｂ１＿１を置換部２０２に出力する。
【０１５４】
（ステップＳＴ１６）
次いで、置換部２０２は、特徴語判定部１０３から入力する係り受け関係単語列のうち、この特徴語からなる共通部分ａ２ｂ１＿１が含まれていた係り受け関係単語列ａ２（１０１）、ｂ１（１０１）から、特徴語からなる共通部分ａ２ｂ１＿１を構成する単語列を、特徴語に置き換える。そして、この置換部２０２は、共通する特徴語を構成する単語列が特徴語に置換えられた後の係り受け関係単語列ａ２（２０１）、ｂ１（２０１）を、再び、共通部分抽出部２０１に戻して出力する。
つまり、置換部２０２は、係り受け関係単語列ａ２（２０１）：“「に（１９）／記録（２０）／さ（２１）／れる（２２）」＋特徴語「ユーザ管理サーバ」（特徴語を構成する単語列「ユーザ（１６）／管理（１７）／サーバ（１８）」）”を共通部分抽出部２０１に出力する。また、置換部２０２は、係り受け関係単語列ｂ１（２０１）：“「ユーザ（３１）／管理（３２）／サーバ（３３）／に（３４）／格納（３８）／する（３９）」＋特徴語「ユーザ管理サーバ」（特徴語を構成する単語列「ユーザ（３１）／管理（３２）／サーバ（３３）」）”を共通部分抽出部２０１に出力する。
【０１５５】
（ステップＳＴ１７）
一方、ステップＳＴ１４においてそれぞれに対応付けられた特徴語同士において共通する特徴語がない場合、あるいは、ステップＳＴ１６において置換部２０２から特徴語に置換えられた後の係り受け関係単語列が入力された場合、共通部分抽出部２０１は、特徴語以外のその他の単語同士で共通する単語があるか否かを判定する。
【０１５６】
（ステップＳＴ１８）
特徴語以外のその他の単語同士で共通する単語があるか否かを判定する。特徴語以外のその他の単語同士で共通する単語がある場合、共通部分抽出部２０１は、この特徴語以内の単語からなる共通部分ａｂ＿２を取得し、置換部２０２に出力する。
例えば、この特徴語以外の単語列に含まれる共通部分ａｂ＿２を抽出した場合であって、既に特徴語からなる共通部分ａｂ＿１を抽出している場合、共通部分抽出部２０１は、この特徴語からなる共通部分ａｂ＿１と特徴語以外の単語列に含まれる共通部分ａｂ＿２とを合わせて共通部分ａｂを作成し、重み算出部３０１に出力する。
また、特徴語以外の単語列に含まれる共通部分ａｂ＿２を抽出した場合であって、特徴語からなる共通部分ａｂ＿１を抽出していない場合、共通部分抽出部２０１は、特徴語以外の単語列に含まれる共通部分ａｂ＿２を共通部分ａｂとして、重み算出部３０１に出力する。
【０１５７】
一方、特徴語以外の単語列に含まれる共通部分ａｂ＿２を抽出しない場合であって、特徴語からなる共通部分ａｂ＿１を抽出した場合、共通部分抽出部２０１は、特徴語からなる共通部分ａｂ＿１を共通部分ａｂとして、重み算出部３０１に出力する。
【０１５８】
そして、共通部分抽出部２０１は、取得した共通部分ａｂを重み算出部３０１に出力する。複数の共通部分を取得した場合、共通部分抽出部２０１は、複数の共通部分のうち、最も重みが重いと判定した共通部分を重み算出部３０１に出力する。
【０１５９】
（ステップＳＴ１９）
次いで、置換部２０２は、共通部分抽出部２０１によって取得された共通部分ａｂであって、重み算出部３０１に出力された共通部分ａｂ（つまり、重み算出部３０１によって重みが算出される共通部分ａｂ）を構成する単語を係り受け関係単語列から削除する。
そして、置換部２０２は、共通部分ａｂを構成する単語を削除した係り受け関係単語列を共通部分抽出部２０１に出力する。
【０１６０】
（ステップＳＴ２０）
次いで、共通部分抽出部２０１は、共通部分ａｂを構成する単語を削除した係り受け関係単語列等をそれぞれ比較して共通する単語があるか否かを判定する。なお、共通部分ａｂを含まない係り受け関係単語列がある場合、共通部分抽出部２０１は、特徴語取得部１００＿３から出力される単語列をそれぞれ比較する。
つまり、共通部分抽出部２０１は、ステップＳＴ１４に戻って、係り受け関係単語列ａ１、ａ２、ｂ１、ｂ２の共通部分更新後の単語列を、それぞれ比較し、比較した双方に共通する特徴語からなる共通部分ａｂ＿１があるか否かを判定する。この共通部分更新後の単語列とは、重み算出部３０１によって重みが算出される共通部分ａｂを含む場合、この共通部分ａｂを構成する単語を削除した係り受け関係単語列のことである。
特徴語からなる共通部分ａｂ＿１がなく、かつ、特徴語以外の単語を含む共通部分ａｂ＿２がない場合、共通部分抽出部２０１は、共通部分ａｂを取得することができない。
この場合、共通部分抽出部２０１は、共通部分ａｂの抽出を終了すると判定する。
このようにして、共通部分抽出部２０１は、共通部分ａｂが取得されなくなるまで、ステップＳＴ１４〜ＳＴ２０の作業を繰り返す。
本実施形態において、共通部分抽出部２０１は、共通部分ａ２ｂ１：“ユーザ管理サーバ（特徴語を構成する単語列「ユーザ（１６）／ユーザ（３１）／管理（１７）／管理（３２）／サーバ（１８）／サーバ（３３）」）／に（１９）／に（３４）”と、共通部分ａ１ｂ２「ユーザ（１１）／ユーザ（３５）／情報（１４）／情報（３６）」とを、重み算出部３０１に出力する。
【０１６１】
（ステップＳＴ２１）
そして、重み算出部３０１は、共通部分抽出部２０１から入力する共通部分ａ２ｂ１：“ユーザ管理サーバ（特徴語を構成する単語列「ユーザ（１６）／ユーザ（３１）／管理（１７）／管理（３２）／サーバ（１８）／サーバ（３３）」）／に（１９）／に（３４）”に基づき、記憶部４００の単語重要度テーブル４０２を参照して、共通部分ａ２ｂ１に含まれる単語の重みＷ（ａ２ｂ１）＝７２．９を算出する。
次いで、重み算出部３０１は、共通部分ａ１ｂ２「ユーザ（１１）／ユーザ（３５）／情報（１４）／情報（３６）」に基づき、記憶部４００の単語重要度テーブル４０２を参照して、共通部分ａ２ｂ１に含まれる単語の重みＷ（ａ１ｂ２）＝１７．５を算出する。
そして、重み算出部３０１は、共通部分ａ２ｂ１に含まれる全ての単語の重みＷ（ａ２ｂ１）＝７２．９と、共通部分ａ１ｂ２に含まれる全ての単語の重みＷ（ａ１ｂ２）＝１７．５を加算して、１つの共通部分ａｂに含まれる全ての単語の重みＷ（ａｂ）＝９０．４を算出する。
また、重み算出部３０１は、記憶部４００の単語重要度テーブル４０２を参照して、照合部２００の置換部２０２から入力する特徴語の置き換え処理後の単語列ａ（５０１）：“ユーザ（１１）／それぞれ（１２）／の（１３）／情報（１４）／は（１５）／に（１９）／記録（２０）／さ（２１）／れる（２２）」＋特徴語「ユーザ管理サーバ」（特徴語を構成する単語列「ユーザ（１６）／管理（１７）／サーバ（１８）」）”に含まれる単語の重みＷ（ａａ）を算出する。本実施形態において、特徴語の置き換え処理後の単語列ａに含まれる全ての単語の重みＷ（ａａ）＝３４７．５である。
【０１６２】
（ステップＳＴ２２）
次いで、類似度算出部３０２は、共通部分ａｂに含まれる単語の重みＷ（ａｂ）＝９０．４と、特徴語を構成する単語が特徴語に置き換えた単語列ａに含まれる単語の重みＷ（ａａ）＝３４７．５とに基づき、式（４）に従って、文字列ａに対する文字列ｂの類似度Ｓ（ａｂ）を算出する。本実施形態において、文字列ａと文字列ｂの類似度Ｓ（ａｂ）＝０．２６０１４・・・である。
【０１６３】
＜第４実施形態＞
次に、図９を参照して、本発明の第２実施形態に係る類似度算出装置４の一例について説明する。図９は、本実施形態に係る類似度算出装置４の一例を示す機能ブロック図である。なお、図９は、図１に示す構成の詳細について説明するための図である。第１実施形態と同様の機能を有する構成については、同一の符号を付して詳細な説明は省略する。
図９に示す通り、本実施形態に係る類似度算出装置４は、特徴語取得部１００＿４と、照合部２００と、算出部３００と、記憶部４００＿４を備える。特徴語取得部１００＿４は、形態素解析部１０１と、特徴語判定部１０３＿４と、係り受け関係単語列作成部１０４を備える。記憶部４００＿４は、単語重要度テーブル４０２と、同義語テーブル４０３を備える。つまり、本実施形態に係る類似度算出装置４は、第１実施形態に係る類似度算出装置１と比べて、特徴語取得部１００＿４が連結文字列検出部１０２を備えていない点、特徴語取得部１００＿４が係り受け関係単語列作成部１０４を備えている点、記憶部４００＿４が一般連結文字列データベース４０１に換えて同義語テーブル４０３を備えている点が異なる。また、本実施形態に係る特徴語取得部１００＿４は、特徴語として同義語を取得する点が第１実施形態に係る特徴語取得部１００と異なる。それ以外の構成については、同様の機能を有するため、同一の符号を付して詳細な説明は省略する。
【０１６４】
形態素解析部１０１は、照合対象である文字列ａ「ユーザそれぞれの情報はユーザ管理サーバに記録される」と、照合対象である文字列ｂ「ユーザ管理サーバにユーザ情報を格納する」とを入力し、単語単位に分解する。この形態素解析部１０１は、単語単位に分解した後、文字列において各単語の並び位置を示す情報を取得し、各単語に対応づける。
本実施形態において、形態素解析部１０１は、単語列ａ（１０１）「ユーザ（１１）／それぞれ（１２）／の（１３）／情報（１４）／は（１５）／ユーザ（１６）／管理（１７）／サーバ（１８）／に（１９）／記録（２０）／さ（２１）／れる（２２）」と、単語列ｂ（１０１）「ユーザ（３１）／管理（３２）／サーバ（３３）／に（３４）／ユーザ（３５）／情報（３６）／を（３７）／格納（３８）／する（３９）」とを、連結文字列検出部１０２に出力する。なお、この単語列に含まれる単語には、それぞれの品詞を示す情報が対応付けられている。
【０１６５】
係り受け関係単語列作成部１０４は、形態素解析部１０１から入力する単語列ａ（１０１）と単語列ｂ（１０１）に基づき、各単語の品詞に従って、文節毎の係り受け（修飾）関係を判定する。この係り受け関係単語列作成部１０４は、係り受け関係のある文節を構成して係り受け関係単語列を作成する。なお、係り受け関係単語列作成部１０４は、係り受け関係に従って、複数の係り受け関係単語列が作成できる場合、全ての係り受け関係単語列を作成する。
本実施形態において、係り受け関係単語列作成部１０４は、単語列ａ（１０１）「ユーザ（１１）／それぞれ（１２）／の（１３）／情報（１４）／は（１５）／ユーザ（１６）／管理（１７）／サーバ（１８）／に（１９）／記録（２０）／さ（２１）／れる（２２）」に基づき、係り受け関係単語列ａ１（１０１）「ユーザ（１１）／それぞれ（１２）／の（１３）／情報（１４）／は（１５）／記録（２０）／さ（２１）／れる（２２）」と、係り受け関係単語列ａ２（１０１）「ユーザ（１６）／管理（１７）／サーバ（１８）／に（１９）／記録（２０）／さ（２１）／れる（２２）」とを作成する。
また、係り受け関係単語列作成部１０４は、単語列ｂ（１０１）「ユーザ（３１）／管理（３２）／サーバ（３３）／に（３４）／ユーザ（３５）／情報（３６）／を（３７）／格納（３８）／する（３９）」に基づき、係り受け関係単語列ｂ１（１０１）「ユーザ（３１）／管理（３２）／サーバ（３３）／に（３４）／格納（３８）／する（３９）」と、係り受け関係単語列ｂ２（１０１）「ユーザ（３５）／情報（３６）／を（３７）／格納（３８）／する（３９）」とを作成する。
以下に、本実施形態に係る係り受け関係単語列作成部１０４によって作成される係り受け関係単語列の一例を示す。
【０１６６】
【表３７】
0005629701.tif 000042
【０１６７】
特徴語判定部１０３＿４は、係り受け関係単語列作成部１０４から入力する係り受け関係単語列ａ１（１０１）、ａ２（１０１）、ｂ１（１０１）、ｂ２（１０１）のそれぞれに、予め決められた特徴語を構成する単語が含まれているか否かを判定する。本実施形態において、特徴語とは、照合対象や被照合対象において利用される類似語である。特徴語判定部１０３＿４は、記憶部４００＿４の同義語テーブル４０３に登録されている類似語と同一の単語を、特徴語として取得する。
【０１６８】
本実施形態において、特徴語判定部１０３＿４は、係り受け関係単語列ａ１（１０１）「ユーザ（１１）／それぞれ（１２）／の（１３）／情報（１４）／は（１５）／記録（２０）／さ（２１）／れる（２２）」から、代表語「格納」に対応付けられている類似語「記録（２０）」を特徴語として取得する。この特徴語判定部１０３＿４は、取得した特徴語である類似語「記録（２０）」を単語列ａ１（１０１）に特徴語として対応付けて照合部２００に出力する。例えば、特徴語判定部１０３＿４は、単語列ａ１（１０１）：“「ユーザ（１１）／それぞれ（１２）／の（１３）／情報（１４）／は（１５）／記録（２０）／さ（２１）／れる（２２）」＋特徴語「格納」（特徴語を構成する単語「記録（２０）」）”を出力する。
また、特徴語判定部１０３＿４は、係り受け関係単語列ａ２（１０１）「ユーザ（１６）／管理（１７）／サーバ（１８）／に（１９）／記録（２０）／さ（２１）／れる（２２）」から、代表語「格納」に対応付けられている類似語「記録（２０）」を特徴語として取得する。この特徴語判定部１０３＿４は、取得した特徴語である類似語「記録（２０）」を単語列ａ２（１０１）に特徴語として対応付けて照合部２００に出力する。例えば、特徴語判定部１０３＿４は、単語列ａ２（１０１）：“「ユーザ（１６）／管理（１７）／サーバ（１８）／に（１９）／記録（２０）／さ（２１）／れる（２２）」＋特徴語「格納」（特徴語を構成する単語「記録（２０）」）”を出力する。
さらに、特徴語判定部１０３＿４は、単語列ｂ１（１０１）「ユーザ（３１）／管理（３２）／サーバ（３３）／に（３４）／格納（３８）／する（３９）」から、代表語「格納」に対応付けられている類似語「格納（３８）」を特徴語として取得する。この特徴語判定部１０３＿４は、取得した特徴語である類似語「格納」を単語列ｂ１（１０１）に特徴語として対応付けて照合部２００に出力する。例えば、特徴語判定部１０３＿４は、単語列ｂ１（１０１）：“「ユーザ（３１）／管理（３２）／サーバ（３３）／に（３４）／格納（３８）／する（３９）」＋特徴語「格納」（特徴語を構成する単語「格納（３８）」）”を出力する。
さらにまた、特徴語判定部１０３＿４は、単語列ｂ２（１０１）：「ユーザ（３５）／情報（３６）／を（３７）／格納（３８）／する（３９）」から、代表語「格納」に対応付けられている類似語「格納（３８）」を特徴語として取得する。この特徴語判定部１０３＿４は、取得した特徴語である類似語「格納」を単語列ｂ２（１０１）に特徴語として対応付けて照合部２００に出力する。例えば、特徴語判定部１０３＿４は、単語列ｂ２（１０１）：“「ユーザ（３５）／情報（３６）／を（３７）／格納（３８）／する（３９）」＋特徴語「格納」（特徴語を構成する単語「格納（３８）」）”を出力する。この特徴語判定部１０３＿４からの出力の一例を以下に示す。
【０１６９】
【表３８】
0005629701.tif 000043
【０１７０】
共通部分抽出部２０１は、特徴語取得部１００＿４の特徴語判定部１０３＿４から出力される係り受け関係単語列ａ１（１０１）、ａ２（１０１）、ｂ１（１０１）、ｂ２（１０１）を、それぞれ比較し、比較した双方に共通する単語があるか否かを判定する。
この共通部分抽出部２０１は、はじめに、それぞれの係り受け関係単語列において共通する特徴語からなる共通部分ａｂ＿１を取得し、置換部２０２に出力する。本実施形態において、共通部分抽出部２０１は、それぞれの係り受け関係単語列同士に共通する特徴語として「格納」を取得する。
また、共通部分抽出部２０１は、特徴語からなる共通部分ａｂ＿１があるか否かを判定した後、それぞれの特徴語以外の単語列において共通する単語からなる共通部分ａｂ＿２があるか否かを判定する。この特徴語以外の単語列において共通する単語からなる共通部分ａｂ＿２があると判定した場合、共通部分抽出部２０１は、この特徴語以内の単語列からなる共通部分ａｂ＿２を取得し、置換部２０２に出力する。
ここで、置換部２０２によって、特徴語からなる共通部分ａｂ＿１を含む係り受け関係単語列から、特徴語からなる共通部分ａｂ＿１を構成する単語が削除されている場合、共通部分抽出部２０１は、比較対象として、この特徴語からなる共通部分ａｂ＿１の置換え処理がなされた後の係り受け関係単語列を比較対象として決定する。一方、特徴語からなる共通部分ａｂ＿１を含まない係り受け関係単語列は置換え処理が実行されない。このため、共通部分抽出部２０１は、置換え処理前の特徴語判定部１０３＿４から出力される係り受け関係単語列を比較対象として決定する。
【０１７１】
なお、本実施形態において、共通部分抽出部２０１は、受け関係単語列ａ１（１０１）、ａ２（１０１）、ｂ１（１０１）、ｂ２（１０１）をそれぞれ比較する度に、特徴語からなる共通部分ａｂ＿１があるか否かを判定し、その後、それぞれの特徴語以外の単語列において共通する単語からなる共通部分ａｂ＿２があるか否かを判定する。
具体的に説明すると、共通部分抽出部２０１は、係り受け関係単語列ａ１（１０１）と係り受け関係単語列ｂ１（１０１）から共通部分ａ１ｂ１＿１：格納（記録（２０）／格納（３８））を取得する。
次いで、共通部分抽出部２０１は、係り受け関係単語列ａ１（２０１）と係り受け関係単語列ｂ１（２０１）とを比較して、それぞれの特徴語以外の単語列に含まれる共通部分ａ１ｂ１＿２を取得し、置換部２０２に出力する。
また、共通部分抽出部２０１は、係り受け関係単語列ａ１（１０１）と係り受け関係単語列ｂ２（１０１）から共通部分ａ１ｂ２＿１：格納（記録（２０）／格納（３８））を取得する。
次いで、共通部分抽出部２０１は、係り受け関係単語列ａ１（２０１）と係り受け関係単語列ｂ２（２０１）とを比較して、それぞれの特徴語以外の単語列に含まれる共通部分ａ１ｂ２＿２を取得し、置換部２０２に出力する。
【０１７２】
さらに、共通部分抽出部２０１は、係り受け関係単語列ａ２（１０１）と係り受け関係単語列ｂ１（１０１）から共通部分ａ２ｂ１＿１：格納（記録（２０）／格納（３８））を取得する。
次いで、共通部分抽出部２０１は、係り受け関係単語列ａ２（２０１）と係り受け関係単語列ｂ１（２０１）とを比較して、それぞれの特徴語以外の単語列に含まれる共通部分ａ２ｂ１＿２を取得し、置換部２０２に出力する。
さらにまた、共通部分抽出部２０１は、係り受け関係単語列ａ２（１０１）と係り受け関係単語列ｂ２（１０１）から共通部分ａ２ｂ２＿１：格納（記録（２０）／格納（３８））を取得する。
次いで、共通部分抽出部２０１は、係り受け関係単語列ａ２（２０１）と係り受け関係単語列ｂ２（２０１）とを比較して、それぞれの特徴語以外の単語列に含まれる共通部分ａ２ｂ２＿２を取得し、置換部２０２に出力する。
【０１７３】
この共通部分抽出部２０１によって取得される特徴語からなる共通部分ａｂ＿１の一例を以下に示す。
【０１７４】
【表３９】
0005629701.tif 000044
【０１７５】
また、共通部分抽出部２０１によって取得される特徴語以外の単語列に含まれる共通部分ａｂ＿２の一例を以下に示す。
【０１７６】
【表４０】
0005629701.tif 000045
【０１７７】
つまり、共通部分抽出部２０１は、全ての係り受け関係単語列ａ１（１０１）、ａ２（１０１）、ｂ１（１０１）、ｂ２（１０１）をそれぞれ比較して特徴語からなる共通部分があるか否かを判定する。この共通部分抽出部２０１は、特徴語において共通する部分がある場合、この特徴語からなる共通部分を取得する。
【０１７８】
置換部２０２は、共通部分抽出部２０１から特徴語からなる共通部分ａ１ｂ１＿１、ａ１ｂ２＿１、ａ２ｂ１＿１、ａ２ｂ２＿１が入力された場合、特徴語取得部１００＿４の特徴語判定部１０３＿４から入力する係り受け関係単語列ａ１（１０１）、ａ２（１０１）、ｂ１（１０１）、ｂ２（１０１）から、特徴語からなる共通部分ａ１ｂ１＿１、ａ１ｂ２＿１、ａ２ｂ１＿１、ａ２ｂ２＿１を削除する。
つまり、置換部２０２は、共通部分ａ１ｂ１＿１、ａ１ｂ２＿１に対応する記憶（２０）を係り受け関係単語列作成部ａ１（１０１）から削除し、係り受け関係単語列ａ１（２０１）：“「ユーザ（１１）／それぞれ（１２）／の（１３）／情報（１４）／は（１５）／さ（２１）／れる（２２）」＋特徴語「格納」（特徴語を構成する単語列「記憶（２０））”を出力する。
また、置換部２０２は、共通部分ａ２ｂ１＿１、ａ２ｂ２＿１に対応する記憶（２０）を係り受け関係単語列作成部ａ２（１０１）から削除し、係り受け関係単語列ａ２（２０１）：“「ユーザ（１６）／管理（１７）／サーバ（１８）／に（１９）／さ（２１）／れる（２２）」＋特徴語「格納」（特徴語を構成する単語列「記憶（２０））”を出力する。
さらに、置換部２０２は、共通部分ａ１ｂ１＿１、ａ２ｂ１＿１に対応する記憶（２０）を係り受け関係単語列作成部ｂ１（１０１）から削除し、係り受け関係単語列ｂ１（２０１）：“「ユーザ（３１）／管理（３２）／サーバ（３３）／に（３４）／する（３９）」＋特徴語「格納」（特徴語を構成する単語列「格納（３８））”を出力する。
また、置換部２０２は、共通部分ａ１ｂ２＿１、ａ２ｂ２＿１に対応する記憶（２０）を係り受け関係単語列作成部ｂ２（１０１）から削除し、係り受け関係単語列ｂ２（２０１）：“「ユーザ（３５）／情報（３６）／を（３７）／する（３９）」＋特徴語「格納」（特徴語を構成する単語列「格納（３８））”を出力する。
この置換部２０２からの出力の一例を以下に示す。
【０１７９】
【表４１】
0005629701.tif 000046
【０１８０】
一方、共通部分抽出部２０１は、係り受け関係単語列ａ１（１０１）、ａ２（１０１）、ｂ１（１０１）、ｂ２（１０１）をそれぞれ比較して、それぞれの特徴語において共通する特徴語が無い場合、共通部分抽出部２０１は、これら係り受け関係単語列ａ１（１０１）、ａ２（１０１）、ｂ１（１０１）、ｂ２（１０１）をそれぞれ比較して、特徴語以外のその他の単語同士で共通する単語があるか否かを判定する。特徴語以外のその他の単語同士で共通する単語がある場合、共通部分抽出部２０１は、共通する単語からなる共通部分ａｂを取得し、算出部３００の重み算出部３０１に出力する。
【０１８１】
共通部分抽出部２０１は、この特徴語以外の単語列に含まれる共通部分ａｂ＿２を抽出した場合であって、既に特徴語からなる共通部分ａｂ＿１を抽出している場合、この特徴語からなる共通部分ａｂ＿１と特徴語以外の単語列に含まれる共通部分ａｂ＿２とを合わせて共通部分ａｂを作成し、重み算出部３０１に出力する。
なお、特徴語以外の単語列に含まれる共通部分ａｂ＿２を抽出した場合であって、特徴語からなる共通部分ａｂ＿１を抽出していない場合、共通部分抽出部２０１は、特徴語以外の単語列に含まれる共通部分ａｂ＿２を共通部分ａｂとして、重み算出部３０１に出力する。
また、特徴語以外の単語列に含まれる共通部分ａｂ＿２を抽出しない場合であって、特徴語からなる共通部分ａｂ＿１を抽出した場合、共通部分抽出部２０１は、特徴語からなる共通部分ａｂ＿１を共通部分ａｂとして、重み算出部３０１に出力する。この共通部分抽出部２０１からの出力（共通部分ａｂ）の一例を以下に示す。
【０１８２】
【表４２】
0005629701.tif 000047
【０１８３】
共通部分抽出部２０１は、取得した共通部分を重み算出部３０１に出力する。重み算出部３０１は、複数の共通部分を入力した場合、複数の共通部分のうち、最も重みが重い共通部分を判定する。
【０１８４】
重み算出部３０１は、単語毎に予め決められている重要度を記憶部４００＿４から参照して、照合部２００から入力する共通部分ａ１ｂ１、共通部分ａ１ｂ２、共通部分ａ２ｂ１および共通部分ａ２ｂ１に基づき、式（２）に従って、これら共通部分ａ１ｂ１、共通部分ａ１ｂ２、共通部分ａ２ｂ１および共通部分ａ２ｂ１に含まれる全ての単語の重みＷ（ａ１ｂ１）、重みＷ（ａ１ｂ２）、重みＷ（ａ２ｂ１）および重みＷ（ａ２ｂ２）をそれぞれ算出する。また、重み算出部３０１は、共通部分ａｂに特徴語が対応付けられている場合、この特徴語の重要度Ｐ＝１として算出する。
【０１８５】
重み算出部３０１は、共通部分ａ１ｂ１：“格納（記録（２０）／格納（３８））／ユーザ（１１）／ユーザ（３１）”に基づき、以下のようにして、共通部分ａ１ｂ１に含まれる単語の重みＷ（ａ１ｂ１）を算出する。以下に示す通り、本実施形態において、重み算出部３０１は、共通部分ａ１ｂ１に含まれる全ての単語の重みＷ（ａ１ｂ１）＝２０．５と算出する。
【０１８６】
【表４３】
0005629701.tif 000048
【０１８７】
また、重み算出部３０１は、共通部分ａ１ｂ２：“格納（記録（２０）／格納（３８））／ユーザ（１１）／ユーザ（３５）／情報（１４）／情報（３６）”に基づき、以下のようにして、共通部分ａ１ｂ２に含まれる単語の重みＷ（ａ１ｂ２）を算出する。以下に示す通り、本実施形態において、重み算出部３０１は、共通部分ａ１ｂ２に含まれる全ての単語の重みＷ（ａ１ｂ２）＝３８．５と算出する。
【０１８８】
【表４４】
0005629701.tif 000049
【０１８９】
さらにまた、重み算出部３０１は、共通部分ａ２ｂ１：“格納（記録（２０）／格納（３８））／ユーザ（１６）／ユーザ（３１）／管理（１７）／管理（３２）／サーバ（１８）／サーバ（３３）／に（１９）／に（３４）”に基づき、以下のようにして、共通部分ａ２ｂ１に含まれる単語の重みＷ（ａ２ｂ１）を算出する。以下に示す通り、本実施形態において、重み算出部３０１は、共通部分ａ２ｂ１に含まれる全ての単語の重みＷ（ａ２ｂ１）＝８３．６と算出する。
【０１９０】
【表４５】
0005629701.tif 000050
【０１９１】
さらにまた、重み算出部３０１は、共通部分ａ２ｂ２：“格納（記録（２０）／格納（３８））／ユーザ（１６）／ユーザ（３５）”に基づき、以下のようにして、共通部分ａ２ｂ２に含まれる単語の重みＷ（ａ２ｂ２）を算出する。以下に示す通り、本実施形態において、重み算出部３０１は、共通部分ａ２ｂ２に含まれる全ての単語の重みＷ（ａ２ｂ２）＝２０．５と算出する。
【０１９２】
【表４６】
0005629701.tif 000051
【０１９３】
この重み算出部３０１は、共通部分ａ１ｂ１に含まれる全ての単語の重みＷ（ａ１ｂ１）＝２０．５、部分ａ１ｂ２に含まれる全ての単語の重みＷ（ａ１ｂ２）＝３８．５、共通部分ａ２ｂ１に含まれる全ての単語の重みＷ（ａ２ｂ１）＝８３．６と、部分ａ２ｂ２に含まれる全ての単語の重みＷ（ａ２ｂ２）＝２０．５を比較して、最も重みが重い重みは、共通部分ａ２ｂ１に含まれる全ての単語の重みＷ（ａ２ｂ１）であると判定する。
この重み算出部３０１は、最も重みが重いと判定した共通部分ａ２ｂ１を、置換部２０２に出力する。
【０１９４】
置換部２０２は、共通部分抽出部２０１から重みが最も重いと判定された共通部分ａ２ｂ１が入力された場合、この共通部分ａ２ｂ１を構成する単語を係り受け関係単語列ａ２，ｂ１から削除する。この置換部２０２によって共通部分ａ２ｂ１が削除された例を以下に示す。この置換部２０２は、共通部分ａ２ｂ１を削除した係り受け関係単語列ａ２（３０１）、ｂ１（３０１）を共通部分抽出部２０１に出力する。
【０１９５】
【表４７】
0005629701.tif 000052
【０１９６】
共通部分抽出部２０１は、上に示したとおり、置換部２０２から入力する共通部分ａ２ｂ１が置き換えられた係り受け関係単語列ａ２（３０１）、ｂ１（３０１）と、特徴語判定部１０３＿４から入力する係り受け関係単語列ａ１（１０１）、ｂ２（１０１）とに基づき、共通部分ａｂを取得する。つまり、共通部分抽出部２０１は、重みが最も重い共通部分を取得した場合、この共通部分を構成する単語を係り受け関係単語列から削除して、さらに共通部分があるか否かを判定する。さらに共通部分があった場合、この共通部分を取得して重み算出部３０１に出力する。ここで、さらに複数の共通部分があった場合、共通部分抽出部２０１は、上述と同様にして、この複数の共通部分のうち、重みが最も重い共通部分を取得し、重み算出部３０１と置換部２０２を出力する。置換部２０２は、入力した共通部分を削除した係り受け関係単語列を共通部分抽出部２０１に出力する。共通部分抽出部２０１は、重み算出部３０１に出力した共通部分に相当する単語が置換部２０２によって削除された後の係り受け関係単語列同士を比較して共通部分を取得する。共通部分抽出部２０１は、このようにして、共通部分が取得されなくなるまで、この作業を繰り返す。
【０１９７】
本実施形態において、共通部分抽出部２０１は、上に示す通り、係り受け関係単語列ａ１（１０１）、ａ２（３０１）、ｂ１（３０１）、ｂ２（１０１）をそれぞれ比較する。この共通部分抽出部２０１は、係り受け関係単語列ａ１（１０１）とｂ２（１０１）とに共通する共通部分ａ１ｂ２：格納（記録（２０）／格納（３８））／ユーザ（１１）／ユーザ（３５）／情報（１４）／情報（３６）を取得し、算出部３００の重み算出部３０１に出力する。この共通部分抽出部２０１によって取得される共通部分ａ１ｂ２の一例を示す。
【０１９８】
【表４８】
0005629701.tif 000053
【０１９９】
置換部２０２は、共通部分抽出部２０１から共通部分ａ１ｂ２が入力された場合、この共通部分ａ１ｂ２を構成する単語を、係り受け関係単語列ａ１（１０１），ｂ２（１０１）のそれぞれから削除する。具体的に説明すると、置換部２０２は、係り受け関係単語列ａ１（１０１），ｂ２（１０１）のそれぞれから共通部分ａ２ｂ１を削除した係り受け関係単語列ａ１（４０１）、ｂ２（４０１）を共通部分抽出部２０１に出力する。この置換部２０２によって共通部分ａ１ｂ２が削除された例を以下に示す。
【０２００】
【表４９】
0005629701.tif 000054
【０２０１】
共通部分抽出部２０１は、上に示したとおり、置換部２０２から入力する共通部分ａ１ｂ２が置き換えられた係り受け関係単語列ａ１（４０１）、ｂ２（４０１）と、前回置換部２０２によって置き換えられた係り受け関係単語列ａ２（３０１）、ｂ１（３０１）とに基づき、共通部分ａｂがあるか否かを判定する。
ここでは、共通部分が取得されないため、共通部分抽出部２０１は、共通部分を取得する作業を終了させる。
【０２０２】
また、形態素解析部１０１は、入力する文字列ａを、形態素（単語）単位に分解し、この分解後の単語の集合からなる単語列ａ（１０１）を係り受け関係単語列作成部１０４に出力する。本実施形態において、形態素解析部１０１は、単語列ａ（１０１）「ユーザ（１１）／それぞれ（１２）／の（１３）／情報（１４）／は（１５）／ユーザ（１６）／管理（１７）／サーバ（１８）／に（１９）／記録（２０）／さ（２１）／れる（２２）」を係り受け関係単語列作成部１０４に出力する。
【０２０３】
特徴語判定部１０３＿４は、係り受け関係単語列作成部１０４から入力する単語列ａ（１０１）に、予め決められた特徴語を構成する単語が含まれているか否かを判定する。単語列ａ（１０１）から取得される記録（２０）は、同義語テーブル４０３に登録されている。このため、特徴語判定部１０３＿４は、この記録（２０）を特徴語と判定し、単語列ａ（１０１）に対応付けて照合部２００の置換部２０２に出力する。
本実施形態において、特徴語判定部１０３＿４は、単語列ａ（１０１）：“「ユーザ（１１）／それぞれ（１２）／の（１３）／情報（１４）／は（１５）／ユーザ（１６）／管理（１７）／サーバ（１８）／に（１９）／記録（２０）／さ（２１）／れる（２２）」＋特徴語「格納」（特徴語を構成する単語列「記録（２０）」）”を照合部２００の置換部２０２に出力する。
【０２０４】
置換部２０２は、特徴語取得部１００＿４の特徴語判定部１０３＿４から入力する単語列ａ（１０１）に特徴語が付加されている場合、単語列ａ（１０１）に特徴語を構成する単語が含まれているか否かを判定する。単語列ａ（１０１）に特徴語を構成する単語が含まれている場合、置換部２０２は、単語列ａ（１０１）から特徴語を構成する単語を削除し、共通語を付加して算出部３００に出力する。一方、単語列ａ（１０１）に特徴語を構成する単語が含まれていない場合、あるいは、単語列ａ（１０１）に特徴語が付加されていない場合、置換部２０２は、単語列ａ（１０１）の一部を特徴語に置換えることなく、特徴語判定部１０３＿４から入力する単語列ａ（１０１）（＋特徴語）をそのまま算出部３００に出力する。つまり、置換部２０２は、単語列ａ（１０１）に特徴語を構成する単語が含まれている場合、この特徴語を構成する単語を特徴語に置き換える。
本実施形態において、置換部２０２は、単語列ａ（１０１）：“「ユーザ（１１）／それぞれ（１２）／の（１３）／情報（１４）／は（１５）／ユーザ（１６）／管理（１７）／サーバ（１８）／に（１９）／記録（２０）／さ（２１）／れる（２２）」＋特徴語「格納」（特徴語を構成する単語「記録（２０）」）”に基づき、単語列ａ（１０１）内の特徴語を構成する単語「記録（２０）」に相当する単語を削除する。つまり、置換部２０２は、単語列ａ（５０１）：“「ユーザ（１１）／それぞれ（１２）／の（１３）／情報（１４）／は（１５）／ユーザ（１６）／管理（１７）／サーバ（１８）／に（１９）／さ（２１）／れる（２２）」＋特徴語「格納」（特徴語を構成する単語「記録（２０）」）”を算出部３００に出力する。この置換部２０２から出力される単語列ａ（５０１）の一例を以下に示す。
【０２０５】
【表５０】
0005629701.tif 000055
【０２０６】
重み算出部３０１は、単語毎に予め決められている重要度を記憶部４００＿４から参照して、照合部２００から入力する共通部分ａ１ｂ２および共通部分ａ２ｂ１に基づき、式（２）に従って、共通部分ａ１ｂ２および共通部分ａ２ｂ１に含まれる全ての単語の重みＷ（ａ１ｂ２）および重みＷ（ａ２ｂ１）をそれぞれ算出する。また、重み算出部３０１は、共通部分ａｂに特徴語が対応付けられている場合、この特徴語の重要度Ｐ＝１として算出する。
この重み算出部３０１は、共通部分が複数ある場合、重複している単語についての重みを重複して算出しないように、いずれか一方の共通部分から重複している単語を削除して、重みを算出する。
本実施形態において、重み算出部３０１は、重みが大きい順に重みの算出を行う。重み算出部３０１は、例えば、共通部分に含まれる特徴語の文字数が多い順に重みの算出を行う。
重み算出部３０１は、共通部分ａ２ｂ１：“格納（記録（２０）／格納（３８））／ユーザ（１６）／ユーザ（３１）／管理（１７）／管理（３２）／サーバ（１８）／サーバ（３３）／に（１９）／に（３４）”に基づき、以下のようにして、共通部分ａ２ｂ１に含まれる単語の重みＷ（ａ２ｂ１）を算出する。以下に示す通り、本実施形態において、重み算出部３０１は、共通部分ａ２ｂ１に含まれる全ての単語の重みＷ（ａ２ｂ１）＝８３．６と算出する。
【０２０７】
【表５１】
0005629701.tif 000056
【０２０８】
そして、重み算出部３０１は、共通部分ａ１ｂ２：“格納（記録（２０）／格納（３８））／ユーザ（１１）／ユーザ（３５）／情報（１４）／情報（３６）”に基づき、以下のようにして、共通部分ａ１ｂ２に含まれる単語の重みＷ（ａ１ｂ２）を算出する。
本実施形態に係る重み算出部３０１は、共通部分ａ１ｂ２：“格納（記録（２０）／格納（３８））／ユーザ（１１）／ユーザ（３５）／情報（１４）／情報（３６）”を構成する単語のうち、共通部分ａ２ｂ１：“格納（記録（２０）／格納（３８））／ユーザ（１６）／ユーザ（３１）／管理（１７）／管理（３２）／サーバ（１８）／サーバ（３３）／に（１９）／に（３４）”に含まれる単語を削除した単語について重みＷ（ａ１ｂ２）を算出する。つまり、重み算出部３０１は、共通部分ａ１ｂ２：“格納（記録（２０）／格納（３８））／ユーザ（１１）／ユーザ（３５）／情報（１４）／情報（３６）”から共通部分ａ２ｂ１に含まれる格納（記録（２０）／格納（３８））を削除した単語「ユーザ（１１）／ユーザ（３５）／情報（１４）／情報（３６）」についての重みＷ（ａ１ｂ２）を、以下のようにして算出する。以下に示す通り、本実施形態において、重み算出部３０１は、共通部分ａ１ｂ２に含まれる全ての単語の重みＷ（ａ１ｂ２）＝２．８と算出する。
【０２０９】
【表５２】
0005629701.tif 000057
【０２１０】
この重み算出部３０１は、共通部分ａ２ｂ１に含まれる全ての単語の重みＷ（ａ２ｂ１）＝８３．６と、共通部分ａ１ｂ２に含まれる全ての単語の重みＷ（ａ１ｂ２）＝１７．５を加算して、１つの共通部分ａｂに含まれる全ての単語の重みＷ（ａｂ）＝１０１．１を算出する。
【０２１１】
また、重み算出部３０１は、記憶部４００＿４の単語重要度テーブル４０２に記憶されている重要度を参照して、照合部２００の置換部２０２から入力する特徴語の置き換え処理後の単語列ａ（５０１）に基づき、式（３）に従って、この特徴語の置き換え処理後の単語列ａ（５０１）：“「ユーザ（１１）／それぞれ（１２）／の（１３）／情報（１４）／は（１５）／ユーザ（１６）／管理（１７）／サーバ（１８）／に（１９）／さ（２１）／れる（２２）」＋特徴語「格納」（特徴語を構成する単語「記録（２０）」）”に含まれる全ての単語の重みＷ（ａａ）を算出する。また、重み算出部３０１は、特徴語の置き換え処理後の単語列ａ（５０１）に特徴語が対応付けられている場合、この特徴語の重要度Ｐ＝１として算出する。以下に示す通り、本実施形態において、特徴語判定部１０３＿４は、特徴語の置き換え処理後の単語列ａ（５０１）に含まれる単語の重みＷ（ａａ）＝３１０．０と算出する。
【０２１２】
【表５３】
0005629701.tif 000058
【０２１３】
類似度算出部３０２は、共通部分ａｂに含まれる全ての単語の重みＷ（ａｂ）と、特徴語の置き換え処理後の単語列ａ（５０１）に含まれる全ての単語の重みＷ（ａａ）とに基づき、式（４）に従って、文字列ａに対する文字列ｂの類似度Ｓ（ａｂ）を、以下のようにして算出する。
【０２１４】
【表５４】
0005629701.tif 000059
【０２１５】
なお、本実施形態に係る類似度算出装置４は、上述の第３実施形態において説明した類似度算出方法と同様のステップに従って、類似度Ｓ（ａｂ）を算出するため、詳細な説明は省略する。ただし、本実施形態に係る類似度算出装置４は、連結文字列検出部１０２を備えていないため、図８に示すステップＳＴ１３の連結文字列の検出ステップを含まない点が異なる。
【０２１６】
例えば、ソフトウェア開発の過程で生成される設計書や試験項目票、マニュアルなどの各種文書に点在する関連する文同士は、相互に同じ用語を含むなど類似性が高いことが経験的に分かっている。ある工程の開発ドキュメントのレビューでは、前の工程の開発ドキュメントに記載された内容が漏れなく反映されていることを確認する必要がある。また、前工程で仕様変更が発生すると後工程の関連箇所を追跡し、整合性を保たなければならない。
ところが、開発規模が大きくなればなるほど開発ドキュメントの分量も増大するので、レビュー箇所や関連箇所を探し出すことに多くの時間を割かなければならなくなる。このようなときに、本発明に係る類似度算出装置１〜４を利用することにより、前工程のドキュメント中の文と後工程のドキュメントの各文を比較し、類似度の高い文をレビュー対象箇所や関連箇所として提示することができる。これにより、捜し出す時間を短縮することができる。
【０２１７】
また、ソフトウェア開発の過程で生成される各種文書中の文の重要な語は複合語であることが多いため、単語の一致度に着目した類似度の判定では、複合語を構成する各単語の一致度の合計として類似度に反映される。
開発ドキュメントのような技術文書では、例えば、‘加入者管理サーバ’と‘事業者管理サーバ’のように構成する単語の一部だけが異なる複合語も多くあるため、感覚的な類似性との差が大きくなる傾向にある。また、略称を使うなど同じ事項に対して複数種類の記述が見られるため、同義語は類似度の計算に反映させるべきであるが、類義語は区別すべきケースが多い。さらに，複数の作業者により記述されることで、関連する内容であっても用語の使いかたや言い回しに多様性が見られることがあり、厳密なキーワードマッチングではうまくいかないことが多い。従来技術ではこのような点への考慮に欠けている。
一方、従来技術では構文の類似性を重要視するものがある。これは、機械翻訳のための例文を見付ける目的での類似文検索では有効な方法である。開発ドキュメントのような技術文書の関連箇所を見付けるための類似度の判定において、構文の類似性は重要ではない。
しかし、主語、述語、目的語がそろって等しいときは類似度が高いと判断されるべきである。つまり、類似のポイントは類似度を利用するケースによって異なると言える。
このように、従来技術では用途ごとに異なる類似のポイントに柔軟に対応することができなかった。本願発明に係る類似度算出装置は、上述の課題を解決するものである。
【０２１８】
また、上記説明において、照合対象あるいは被照合対象は、１つの文あるいは係り受け関係にある文節の列である係り受け関係単語列を例に説明した。しかし、本発明はこれに限られない。例えば、１つの文に括弧書きを含む場合、括弧に囲まれた部分とそれ以外の文字列とをそれぞれ異なる照合対象あるいは被照合対象の単位としてもよい。
例えば、括弧に囲まれた部分を含む文章については、その括弧に囲まれた部分を削除した文章を照合対象あるいは被照合対象として取り扱い、係り受け関係を解析する。括弧に囲まれた部分を含む文は、係り受け解析がうまくいかないことが多く、文節の列に正しく分けることが難しい。しかし、上述の通り、予め、括弧に囲まれた部分とそれ以外に分割しておくことにより、係り受け解析がしやすくなる。
また、照合対象が複数の文にまたがることも許容できる。このときも、文節の列と同様に扱うことができ、例えば、段落単位の照合を実現することができる。
【０２１９】
さらに、上記説明において、特徴語取得部１００＿４は、連結文字列検出部１０２により、複数の名詞が連続してなる文字列である連結文字列を検出し、この連結文字列の中から、特徴語である複合語があるか否かを判定する例について説明した。しかし、本発明はこれに限られない。例えば、連結文字列検出部１０２はなくてもよく、特徴語判定部１０３＿４が、形態素解析部１０１によって取得される単語列や、係り受け関係単語列作成部１０４によって取得される係り受け関係単語列に含まれる単語が、特徴語である複合語を構成する単語と等しい場合、特徴語が含まれていると判定するものであってもよい。つまり、単語列や係り受け関係単語列における特徴語を構成する単語の順番は問わない。
例えば、特徴語判定部１０３＿４は、単語列ａ（１０１）や単語列ｂ（１０１）の中に、特徴語（複合語）と等しい単語列を作ることができる単語が含まれていれば、特徴語が含まれていると判定する。よって、特徴語判定部１０３＿４は、単語列ａ（１０１）と単語列ｂ（１０１）の中に含まれている特徴語を構成する単語の順番が、特徴語である複合語と同一の順番で並んでいなくても、特徴語と等しい単語列を作ることができる単語が単語列ａ（１０１）や単語列ｂ（１０１）に含まれていれば、特徴語が含まれていると判定する。
【０２２０】
また、上記説明において、算出部３００の重み算出部３０１は、単語重要度テーブル４０２を参照して、式（２）と（３）に従い、共通部分ａｂに含まれる全ての単語の重みＷ（ａｂ）と特徴語の置き換え処理後の単語列ａ（２０１）に含まれる全ての単語の重みＷ（ａａ）とを算出する例について説明した。しかし、本発明はこれに限られない。
例えば、パラメータ「０（無効）」あるいは「１（有効）」のいずれか一方を設定しておき、パラメータ「１（有効）」が設定されている場合のみ、このパラメータが設定されている処理内容を実行するものであってもよい。
【０２２１】
具体的に説明すると、単語重要度テーブル４０２に登録されている各単語にパラメータを設定しておき、単語毎に重要度の算出の有無を重み算出部３０１に対して設定するものであってもよい。
また、重みを算出する際の演算式として式（２）（３）以外の演算式を用意して、各演算式にパラメータを設定しておき、重みごとに算出に用いる演算式を重み算出部３０１が選択するものであってもよい。
【０２２２】
さらに、重みを算出する際に重要度ｐｋを乗算して各単語の重みを算出する単語を品詞に応じて決定するようにパラメータを設置しておき、重み算出部３０１がパラメータ「１（有効）」が設定されている品詞に対応する単語のみについて重要度ｐｋを乗算して重みを算出するものであってもよい。例えば、共通部分ａｂや特徴語の置き換え処理後の文字列ａに含まれる「名詞」と「動詞」についてのみ、重要度ｐｋを乗算して重みを算出するようにパラメータを設定するものであってもよい。
さらにまた、「名詞」のうちでも、「副詞」になれるもの、「形容動詞語幹」になれるもの、「非自立語」や「接尾語」となれるものは、類似度の算出において重要でない場合が多いと考えられるため、これらについては重要度ｐｋを乗算して重みを算出しないようにパラメータを設定するものであってもよい。
【０２２３】
また、共通部分ａｂや特徴語の置き換え処理後の文字列ａに含まれる“ひらがな”は、類似度の算出において重要でない場合が多いと考えられる。このため、重み算出部３０１は、単語に含まれる“ひらがな”を除去した単語について、重要度ｐｋを乗算して重みを算出しないようにパラメータを設定するものであってもよい。これにより、異なる送り仮名が付された場合であっても同一の単語として取り扱うことができる。
例えば、重み算出部３０１は、特徴語の置き換え処理後の単語列ａ（２０１）：“「ユーザ／それぞれ／の／情報／は／に／記録／さ／れる」＋特徴語「ユーザ管理サーバ」（特徴語を構成する単語列「ユーザ／管理／サーバ」）”について、“ひらがな”を除去した単語列ａ（２０１）：“「ユーザ／それぞれ／情報／記録」＋特徴語「ユーザ管理サーバ」（特徴語を構成する単語列「ユーザ／管理／サーバ」）”に基づき、各単語に重要度ｐｋを乗算して重みＷ（ａａ）を算出する。
【０２２４】
また、上記説明において、照合部２００の共通部分抽出部２０１は、照合する単語列ａと単語列ｂについて一致する単語を共通部分ａｂとして取得する例について説明した。しかし、本発明はこれに限られない。例えば、各単語列を構成する単語が共通していたとしても、主語や目的語が一致しない場合には、両単語列を類似していると判定しない方が人間の感覚的に認識される類似性と一致すると考えられる。よって、共通部分抽出部２０１は、照合する単語列ａと単語列ｂに含まれる単語において、形態素解析において動詞や名詞であると判定された単語のうち、“副詞可能”、“非自立”、“サ変接続”、“接尾”、“形容動詞語幹”に該当する単語については、共通語ａｂとして取得しないものが好ましい。
【０２２５】
＜第５実施形態＞
次に、図１０を参照して、本発明の第５実施形態に係る類似度算出装置５の一例について説明する。図１０は、本実施形態に係る類似度算出装置５の一例を示す機能ブロック図である。なお、図１０は、図１に示す類似度算出装置の構成の一例について説明するための図である。第１実施形態と同様の機能を有する構成については、同一の符号を付して詳細な説明は省略する。
図１０に示す通り、本実施形態に係る類似度算出装置５は、特徴語取得部１００＿５と、照合部２００と、算出部３００と、記憶部４００＿５を備える。特徴語取得部１００＿５は、形態素解析部１０１と、連結文字列検出部１０２と、特徴語判定部１０３＿５を備える。記憶部４００＿５は、一般連結文字列データベース４０１と、単語重要度テーブル４０２と、同義語テーブル４０３とを備える。つまり、本実施形態に係る類似度算出装置５は、第１実施形態に係る類似度算出装置１と第２実施形態に係る類似度算出装置２とを組み合わせた構成であって、特徴語として、連結文字列および同義語を取得するものである。
【０２２６】
特徴語取得部１００＿５は、形態素解析部１０１と、連結文字列検出部１０２と、特徴語判定部１０３＿５とを備える。
形態素解析部１０１は、照合対象である文字列ａ「ユーザそれぞれの情報はユーザ管理サーバに記録される」と、被照合対象である文字列ｂ「ユーザ管理サーバにユーザ情報を格納する」とを入力し、単語単位に分解する。また、形態素解析部１０１は、単語列ａ（１０１）「ユーザ／それぞれ／の／情報／は／ユーザ／管理／サーバ／に／記録／さ／れる」と、単語列ｂ（１０１）「ユーザ／管理／サーバ／に／ユーザ／情報／を／格納／する」とを、特徴語判定部１０３＿５に出力する。
【０２２７】
連結文字列検出部１０２は、形態素解析部１０１から入力する単語列ａ（１０１），ｂ（１０１）に基づき、同一文節中において連続する単語（名詞）を連結文字列として取得する。本実施形態において、連結文字列検出部１０２は、単語列ａ（１０１）「ユーザ／それぞれ／の／情報／は／ユーザ／管理／サーバ／に／記録／さ／れる」から、連結文字列α１「ユーザ／管理／サーバ」を取得する。また、連結文字列検出部１０２は、単語列ｂ（１０１）「ユーザ／管理／サーバ／に／ユーザ／情報／を／格納／する」から、連結文字列β１「ユーザ／管理／サーバ」と連結文字列β２「ユーザ／情報」を取得する。この連結文字列検出部１０２は、単語列ａ（１０１）に連結文字列α１を対応付けた情報と、単語列ｂ（１０１）に連結文字列β１，β２を対応付けた情報を、特徴語判定部１０３＿５に出力する。
【０２２８】
特徴語判定部１０３＿５は、連結文字列検出部１０２から入力する単語列ａ（１０１）と単語列ｂ（１０１）のそれぞれに、予め決められた特徴語を構成する単語が含まれているか否かを判定する。本実施形態において、特徴語とは、照合対象や被照合対象において利用される頻度が比較的高い複合語であって、一般的に比較的よく用いられる複合語でない複合語のことをいう。また、本実施形態において、特徴語とは、照合対象や被照合対象において利用される類似語である。
特徴語判定部１０３＿５は、連結文字列検出部１０２によって取得された連結文字列のうち、記憶部４００＿５の一般連結文字列データベース４０１に登録されている一般連結文字列以外の文字列を、特徴語として取得する。また、特徴語判定部１０３＿５は、記憶部４００＿５の同義語テーブル４０３に登録されている類似語と同一の単語を、特徴語として取得する。
【０２２９】
本実施形態において、単語列ａ（１０１）から取得される連結文字列α１「ユーザ／管理／サーバ」は一般連結文字列データベース４０１に登録されていない。このため、特徴語判定部１０３＿５は、この連結文字列α１「ユーザ／管理／サーバ」を特徴語と判定する。また、単語列ａ（１０１）は、同義語テーブル４０３に登録されている。このため、特徴語判定部１０３＿５は、「記録」を特徴語と判定する。
そして、特徴語判定部１０３＿５は、単語列ａ（１０１）：“「ユーザ／それぞれ／の／情報／は／ユーザ／管理／サーバ／に／記録／さ／れる」＋特徴語「ユーザ管理サーバ」（特徴語を構成する単語列「ユーザ／管理／サーバ」）＋特徴語「格納」（特徴語を構成する単語「記録」）を照合部２００に出力する。
【０２３０】
また、単語列ｂ（１０１）から取得される連結文字列β１「ユーザ／管理／サーバ」は一般連結文字列データベース４０１に登録されていない。このため、特徴語判定部１０３＿５は、この連結文字列β１「ユーザ／管理／サーバ」を特徴語と判定する。一方、単語列ｂ（１０１）から取得される連結文字列β２「ユーザ／情報」は一般連結文字列データベース４０１に登録されている。このため、特徴語判定部１０３＿５は、この連結文字列β２「ユーザ／情報」を特徴語とは判定しない。さらに、単語列ｂ（１０１）に含まれる「格納」は同義語テーブル４０３に登録されている。
このため、特徴語判定部１０３＿５は、連結文字列α１「ユーザ／管理／サーバ」と、「記録」とを特徴語と判定する。
そして、特徴語判定部１０３＿５は、単語列ｂ（１０１）：“「ユーザ／管理／サーバ／に／ユーザ／情報／を／格納／する」＋特徴語「ユーザ管理サーバ」（特徴語を構成する単語列「ユーザ／管理／サーバ」）＋特徴語「格納」（特徴語を構成する単語「格納」）を照合部２００に出力する。
なお、その後の処理の流れについては、上述の通りであるため、詳細な説明は省略する。
【０２３１】
＜第６実施形態＞
次に、図１１を参照して、本発明の第６実施形態に係る類似度算出装置６の一例について説明する。図１１は、本実施形態に係る類似度算出装置６の一例を示す機能ブロック図である。なお、図１１に示す類似度算出装置６は、図１に示す類似度算出装置の変形例である。よって、同一の符号を付して説明を省略する構成については、第１〜４実施形態において説明した構成に置き換えて適用することができる。
図１１に示す通り、本実施形態に係る類似度算出装置６は、特徴語取得部１００と、照合部２００と、算出部３００と、記憶部４００と、パラメータ設定部５００を備える。
パラメータ設定部５００は、照合対象や被照合対象に応じて、実行する処理内容を変更するためのパラメータを設定する。なお、このパラメータは、例えば、上述の「０（無効）」あるいは「１（有効）」である。
【０２３２】
パラメータ設定部５００は、類似度Ｓ（ａｂ）を算出する際に、パラメータを調整して条件を設定する。このパラメータ設定部５００は、例えば、単語列ａ（１０１）、特徴語の置き換え処理後の単語列ａ（２０１）、単語列ｂ（１０１）、特徴語の置き換え処理後の単語列ｂ（２０１）を構成する単語を取得する際の条件、共通部分ａｂを構成する単語を取得する際の条件、あるいは、重みＷ（ａｂ）や重みＷ（ａａ）を算出する際の条件のうち少なくとも１つの条件を設定する。
本実施形態において、パラメータ設定部５００は、パラメータ「０（無効）」あるいは「１（有効）」の設定が異なる全ての組み合わせＰＡＲｈ｛ＰＡＲ１，ＰＡＲ２，・・・，ＰＡＲＱ｝のそれぞれについて、算出部３００によって算出された類似度Ｓ（ａｂ）に基づき、照合対象ａに最も類似している被照合対象ｂ´を照合範囲Ｂの中から検索するために要すると予想される期待時間Ｔを算出する。
本実施形態において、パラメータ設定部５００は、以下の式（５）に従って期待時間Ｔを算出する。
【０２３３】
【数５】
0005629701.tif 000060
【０２３４】
なお、式（５）において、ＰＱは、反映文がＱ位以内に入っている確率であり、Ｐ０＝０である。
あるＱでＴを最小にするパラメータの組み合わせが最も効果のあるパラメータの組み合わせと言える。
よって、パラメータ設定部５００は、期待時間Ｔが最小となるパラメータの組み合わせＰＡＲｈ｛ＰＡＲ１，ＰＡＲ２，・・・，ＰＡＲＱ｝に基づき、各パラメータを設定する。
【０２３５】
例えば、ソフトウェア開発の過程で生成される各種文書に点在する関連する文同士は、相互に同じ用語を含むなど類似性が高い。このため、本実施形態に係る類似度算出装置６により算出した文同士の類似度から、このような各種文書間の関連する箇所の文同士を見つけ出すことができる。
このソフトウェア開発の過程で生成される各種文書が関連しているか否かを判断するための類似度は、概ね次のような傾向があると考えられる。
・同じ技術用語や専門用語などが含まれているものは類似度が高い。
・構文の類似性は類似度には関係ない。
・主語と述語の双方が同じ文は類似度が高い。
以上の点を考慮して、パラメータ設定部５００は、各種パラメータを決定し、算出部３００が類似度を算出する。
【０２３６】
例えば、前工程の開発ドキュメントの記載内容の反映箇所を、後工程の開発ドキュメントから探す作業にかかる時間は、次のようにモデル化することができる。
一つの比較対象文（前工程の開発ドキュメント中の一文)に対応する一つの反映文を、従来の方法(本方式に依らない方法)で探すのにかかる時間をｔｓ、あるパラメータの組み合わせで計算した類似度順に被照合対象の文(後工程の開発ドキュメント中の文)を並べた表から探すのにかかる時間をｔｒｓ×反映文の順位とする。
表のＱ位以内に見つからなければ、従来の方法で探すとすると、反映文を探す時間Ｔは上述の式（５）で表せる。
【０２３７】
ただし、Ｐｎは、反映文がｎ位以内に入っている確率であり、Ｐ０＝０である。
あるＮでＴを最小にするパラメータの組み合わせが最も効果のあるパラメータの組み合わせと言える。
【０２３８】
上記説明の通り、本実施形態に係る類似度算出装置１〜５によると、用途ごとに異なる類似のポイントに柔軟に対応可能な文同士の類似度算出が可能になり、例えば、ソフトウェア開発の過程で生成される自然言語で書かれた各種文書から関連する箇所同士を見つけ出すことが可能になる。ソフトウェア開発におけるドキュメントのレビューでは前工程のドキュメントの記述内容の、後工程での反映箇所をレビューする必要がある。また、前工程で仕様変更が発生すると後工程の関連箇所を追跡し、整合性を保たなければならない。
このようなときに本提案に基づく技術を利用することで、前後の工程間の関連箇所を文単位で容易に見付け出すことができ、稼働を削減する効果が見込める。
従来、このようなことを実現するためには予め形式言語で記述したり、ドキュメントにタグを付けたりすることが一般的であったが、形式言語は有スキル者しか扱えないなどの課題があり、予めタグを付けるには大きな稼働がかかることが課題であった。
【０２３９】
しかし、本実施形態に係る類似度算出装置１〜５によると、用途ごとに異なる類似のポイントに柔軟に対応可能であり、ソフトウェア開発の過程で生成される文書など自然言語で書かれた各種技術文書から関連する箇所同士を見つけ出すことができる。
【０２４０】
また、本実施形態に係る類似度算出装置１〜５により、ソフトウェア開発の過程で生成されるドキュメントの記載されている事項を追跡することで、レビューの効率化や修正時の影響範囲の把握を支援する商品やサービスに応用することができる。また、用途ごとに異なる類似のポイントに柔軟に対応可能であるため、ソフトウェア開発の過程で生成される文書など自然言語で書かれた各種技術文書からの関連箇所検出のための類似度算出に応用である。
【０２４１】
また、上述の類似度算出方法に示す各ステップを実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、また、上述の類似度算出装置１〜５の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより、検出対象物の形状情報の推定値を算出する処理を行ってもよい。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ＲＯＭ、フラッシュメモリ等の書き込み可能な不揮発性メモリ、ＣＤ−ＲＯＭ等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【０２４２】
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ（例えばＤＲＡＭ（Dynamic Random Access Memory））のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク（通信網）や電話回線等の通信回線（通信線）のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムに既に記録されているプログラムとの組合せで実現できるもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【符号の説明】
【０２４３】
１，２，３，４，５・・・類似度算出装置、１００・・・特徴語取得部、１０１・・・形態素解析部、１０２・・・連結文字列検出部、１０３・・・特徴語判定部、１０４・・・係り受け関係単語列作成部、２００・・・照合部、２０１・・・共通部分抽出部、２０２・・・置換部、３００・・・算出部、３０１・・・重み算出部、３０２・・・類似度算出部、４００・・・記憶部、４０１・・・一般連結文字列データベース、４０２・・・単語重要度テーブル、４０３・・・同義語テーブル
【図１】
0005629701.tif 000061
【図２】
0005629701.tif 000062
【図３】
0005629701.tif 000063
【図４】
0005629701.tif 000064
【図５】
0005629701.tif 000065
【図６】
0005629701.tif 000066
【図７】
0005629701.tif 000067
【図８】
0005629701.tif 000068
【図９】
0005629701.tif 000069
【図１０】
0005629701.tif 000070
【図１１】
0005629701.tif 000071