(57)【要約】      （修正有）【課題】精度よくテキスト間の類似度を算出するテキストデータ類似度算出方法。【解決手段】  複数のテキストデータから単語を抽出し、各単語間の係り受け情報を解析（Ｓ１０１）し、抽出された単語の数に基づき各単語の重み因子を算出する重み因子算出ステップ（Ｓ１０２）と、単語情報抽出ステップにより抽出された前記テキストデータの各単語間の前記係り受け情報に基づき、該テキストデータの構造データを生成（Ｓ１０３）し、テキストデータの一から前記構造データ生成ステップにより生成された第１の構造データの各単語と、他のテキストデータの一から生成された第２の構造データの各単語との類似度を算出する単語間類似度算出ステップと、単語間類似度算出ステップにより算出された類似度及び前記重み因子に基づき第１の構造データと第２の構造データとの類似度を算出する部分構造データ類似度算出ステップ（Ｓ１０５）と、を有する。【選択図】  図１
2006139708.tif 000002
【特許請求の範囲】
【請求項１】
複数のテキストデータから単語を抽出し、各単語間の係り受け情報を解析する単語情報抽出ステップと、
前記単語情報抽出ステップにより抽出された単語の数に基づき各単語の重み因子を算出する重み因子算出ステップと、
前記単語情報抽出ステップにより抽出された前記テキストデータの各単語と各単語の前記係り受け情報に基づき、該テキストデータの構造データを生成する構造データ生成ステップと、
前記テキストデータの一から前記構造データ生成ステップにより生成された第１の構造データの各単語と、他のテキストデータの一から生成された第２の構造データの各単語との類似度を算出する単語間類似度算出ステップと、
前記単語間類似度算出ステップにより算出された類似度及び前記重み因子に基づき第１の構造データと第２の構造データとの類似度を算出する部分構造データ類似度算出ステップと、を有することを特徴とするテキストデータ類似度算出方法。
【請求項２】
前記単語間類似度算出ステップにより算出された類似度のうち、第１の構造データの各単語毎に最大の類似度を抽出する最大類似度抽出ステップ、を有し、
前記部分構造データ類似度算出ステップは、前記最大類似度抽出ステップにより抽出された前記最大の類似度に基づき第１の構造データと第２の構造データとの類似度を算出する、
ことを特徴とする請求項１記載のテキストデータ類似度算出方法。
【請求項３】
テキストデータの各単語間の係り受け情報に基づく、所定の一の単語と当該一の単語を含む各単語との文法的距離を抽出する文法的距離抽出ステップを有し、
前記部分構造データ類似度算出ステップは、
前記文法的距離抽出ステップにより抽出された、前記第１の構造データが有する単語の文法的距離と、前記第２の構造データが有する単語の文法的距離とに更に基づき、第１及び第２の構造データの類似度を算出する
ことを特徴とする請求項１記載のテキストデータ類似度算出方法。
【請求項４】
前記部分構造データ類似度算出ステップは、
前記第１の構造データが有する単語の文法的距離と、前記第２の構造データが有する単語の文法的距離との差の絶対値を、
0より大きく1以下の文法的距離導入定数にべき乗する、
ことを特徴とする請求項３記載のテキストデータ類似度算出方法。
【請求項５】
前記第１の構造データの各単語の、複数の前記テキストデータにおける出現頻度を抽出する出現頻度抽出ステップと、
前記単語と前記出現頻度抽出ステップにより抽出された前記出現頻度とを要素とする単語頻度行列を生成する単語頻度行列生成ステップと、
を有することを特徴とする請求項１記載のテキストデータ類似度算出方法。
【請求項６】
前記単語頻度行列生成ステップにより生成された単語頻度行列に特異値分解を適用し、単語特徴行列を算出する単語特徴行列算出ステップを有し、
前記単語間類似度算出ステップは、前記単語特徴行列算出ステップにより算出された前記単語特徴行列から得られる単語ベクトルを演算して類似度を算出する、
ことを特徴とする請求項５記載のテキストデータ類似度算出方法。
【請求項７】
前記単語情報抽出ステップにより抽出された第１の構造データの単語を組合わせて検索条件を生成する検索条件生成ステップと、
前記検索条件生成ステップにより生成された検索条件に該当するテキストデータを複数の前記テキストデータとは別の外部テキストデータＤＢから取得するテキストデータ取得ステップと、
を有することを特徴とする請求項５記載のテキストデータ類似度算出方法。
【請求項８】
前記検索条件は、第１の構造データが有する単語の論理式であることを特徴とする請求項７記載のテキストデータ類似度算出方法。
【請求項９】
複数のテキストデータから単語を抽出し、各単語間の係り受け情報を解析する単語情報抽出手段と、
前記単語情報抽出手段により抽出された単語の数に基づき各単語の重み因子を算出する重み因子算出手段と、
前記単語情報抽出手段により抽出された前記テキストデータの各単語と各単語の前記係り受け情報に基づき、該テキストデータの構造データを生成する構造データ生成手段と、
前記テキストデータの一から前記構造データ生成手段により生成された第１の構造データの各単語と、他のテキストデータの一から生成された第２の構造データの各単語との類似度を算出する単語間類似度算出手段と、
前記単語間類似度算出手段により算出された類似度及び前記重み因子に基づき第１の構造データと第２の構造データとの類似度を算出する部分構造データ類似度算出手段と、を有することを特徴とするテキストデータ類似度算出装置。
【請求項１０】
前記単語間類似度算出手段により算出された類似度のうち、第１の構造データの各単語毎に最大の類似度を抽出する最大類似度抽出手段、を有し、
前記部分構造データ類似度算出手段は、前記最大類似度抽出手段により抽出された前記最大の類似度に基づき第１の構造データと第２の構造データとの類似度を算出する、
ことを特徴とする請求項９記載のテキストデータ類似度算出装置。
【請求項１１】
テキストデータの各単語間の係り受け情報に基づく、所定の一の単語と当該一の単語を含む各単語との文法的距離を抽出する文法的距離抽出手段を有し、
前記部分構造データ類似度算出手段は、
前記文法的距離抽出手段により抽出された、前記第１の構造データが有する単語の文法的距離と、前記第２の構造データが有する単語の文法的距離とに更に基づき、第１及び第２の構造データの類似度を算出する
ことを特徴とする請求項９記載のテキストデータ類似度算出装置。
【請求項１２】
前記部分構造データ類似度算出手段は、
前記第１の構造データが有する単語の文法的距離と、前記第２の構造データが有する単語の文法的距離との差の絶対値を、
0より大きく1以下の文法的距離導入定数にべき乗する、
ことを特徴とする請求項１１記載のテキストデータ類似度算出方法。
【請求項１３】
前記第１の構造データの各単語の、複数の前記テキストデータにおける出現頻度を抽出する出現頻度抽出手段と、
前記単語と前記出現頻度抽出手段により抽出された前記出現頻度とを要素とする単語頻度行列を生成する単語頻度行列生成手段と、
を有することを特徴とする請求項９記載のテキストデータ類似度算出装置。
【請求項１４】
前記単語頻度行列生成手段により生成された単語頻度行列に特異値分解を適用し、単語特徴行列を算出する単語特徴行列算出手段を有し、
前記単語間類似度算出手段は、前記単語特徴行列算出手段により算出された前記単語特徴行列から得られる単語ベクトルを演算して類似度を算出する、
ことを特徴とする請求項１３記載のテキストデータ類似度算出装置。
【請求項１５】
前記単語情報抽出手段により抽出された第１の構造データの単語を組合わせて検索条件を生成する検索条件生成手段と、
前記検索条件生成手段により生成された検索条件に該当するテキストデータを複数の前記テキストデータとは別の外部テキストデータＤＢから取得するテキストデータ取得手段と、
を有することを特徴とする請求項１３記載のテキストデータ類似度算出装置。
【請求項１６】
前記検索条件は、第１の構造データが有する単語の論理式であることを特徴とする請求項１５記載のテキストデータ類似度算出装置。
【請求項１７】
請求項１ないし８記載のテキストデータ類似度算出方法をコンピュータに実行させるテキストデータ類似度算出プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子化されたテキストデータ間の類似度を算出するテキストデータ類似度算出方法、テキストデータ類似度算出装置及びテキストデータ類似度算出プログラムに関する。
【背景技術】
【０００２】
World Wide Webになどのインターネット技術の発達に伴い、容易に大量のテキストデータにアクセスすることが可能となった（ここでテキストとは、任意の単語列であるとし、例えば、文節、句、文、段落、あるいは文書等もすべてテキストと総称する。）。この大量のテキストデータの中からユーザの興味のあるテキストデータのみを探し出す技術として様々なテキスト検索技術が提案され、また収集したテキストデータ自体の構造を把握するための技術としてテキスト自動分類技術が提案されている。
【０００３】
これらテキスト検索技術やテキスト自動分類技術の性能は、テキストの特徴量をどのように定義するか、またその特徴量を用いてテキスト間の類似度をどのように定義するかに大きく依存する。例えば、テキストの特徴量としてテキストに含まれる単語を要素とするテキストベクトルを採用し、テキスト間の類似度をベクトル間の内積や余弦として定義する方法が広く知られている。テキストベクトルを用いた方法では、文書と質問文とを互いに多次元の特徴ベクトルとして表現し、それらのベクトルの間の距離によって類似度を計測して、質問文に類似した文書から順番にランキングを行なう。
【０００４】
しかしながら、これらの類似度の定義方法は、単語間に直交性を仮定しなければならないため、算出される類似度の精度の低さが指摘されている。
【０００５】
そこで、よりテキスト間の意味的な類似性を含めた様々な関係性を測ることのできる特徴量表現と類似度の定義が数多く提案されている（例えば、特許文献１〜３参照。）。
【０００６】
例えば、特許文献１記載の発明は、入力文の構文的な機能単位と、検索対象文書の構文的な機能単位とを比較照合し、その合致度合いによって検索対象文書をいくつかの層に弁別すると共に、弁別された検索対象文書の各層ごとに、検索対象文書の単語頻度と入力文に含まれる単語集合との適合度を計算し、適合度の高いものを検索対象として順に抽出する。
【特許文献１】特許第３０４０９４５号公報
【特許文献２】特開２００２−１６９８０３号公報
【特許文献３】特許第３３５３８２９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１ないし３に記載されたテキスト検索技術等においても、いまだ算出される類似度の精度が低い場合がある。
【０００８】
本発明は、上記問題に鑑み、精度よくテキスト間の類似度を算出するテキストデータ類似度算出方法、テキストデータ類似度算出装置及びテキストデータ類似度算出プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記問題に鑑み、本発明は、複数のテキストデータから単語を抽出し、各単語間の係り受け情報を解析する単語情報抽出ステップと、単語情報抽出ステップにより抽出された単語の数に基づき各単語の重み因子を算出する重み因子算出ステップと、記単語情報抽出ステップにより抽出された前記テキストデータの各単語と各単語の前記係り受け情報に基づき、該テキストデータの構造データを生成する構造データ生成ステップと、テキストデータの一から前記構造データ生成ステップにより生成された第１の構造データの各単語と、他のテキストデータの一から生成された第２の構造データの各単語との類似度を算出する単語間類似度算出ステップと、単語間類似度算出ステップにより算出された類似度及び前記重み因子に基づき第１の構造データと第２の構造データとの類似度を算出する部分構造データ類似度算出ステップと、を有することを特徴とするテキストデータ類似度算出方法を提供する。
【００１０】
本発明によれば、精度よくテキスト間の類似度を算出するテキストデータ類似度算出方法を提供することができる。なお、テキストデータとは、任意の単語列であるとし、例えば、文節、句、文、段落、あるいは文書等もすべてテキストデータと称する。
【００１１】
本発明の一形態において、単語間類似度算出ステップにより算出された類似度のうち、第１の構造データの各単語毎に最大の類似度を抽出する最大類似度抽出ステップ、を有し、部分構造データ類似度算出ステップは、最大類似度抽出ステップにより抽出された最大の類似度に基づき第１の構造データと第２の構造データとの類似度を算出する、ことを特徴とする。単語間の類似度のうち最大の類似度を用いて算出することにより、テキストデータ間の類似度を精度よく算出できる。また、部分構造データの表層的な類似性に加え、包含関係も観測可能な部分構造データの類似度を提供できる。
【００１２】
また、本発明の一形態において、テキストデータの各単語間の係り受け情報に基づく、所定の一の単語と当該一の単語を含む各単語との文法的距離を抽出する文法的距離抽出ステップを有し、部分構造データ類似度算出ステップは、文法的距離抽出ステップにより抽出された、第１の構造データが有する単語の文法的距離と、第２の構造データが有する単語の文法的距離とに更に基づき、第１及び第２の構造データの類似度を算出することを特徴とする。構造データにおける単語の文法的距離を、第１及び第２の構造データ間の類似度の算出に反映させることで、テキストデータ間の類似度を精度よく算出できる。
【００１３】
文法的距離を類似度に反映させる一形態として、部分構造データ類似度算出ステップは、第１の構造データが有する単語の文法的距離と、第２の構造データが有する単語の文法的距離との差の絶対値を、0より大きく1以下の文法的距離導入定数にべき乗する、ことを特徴とする。
【００１４】
また、本発明の一形態において、第１の構造データの各単語の、複数の前記テキストデータにおける出現頻度を抽出する出現頻度抽出ステップと、単語と出現頻度抽出ステップにより抽出された出現頻度とを要素とする単語頻度行列を生成する単語頻度行列生成ステップと、を有することを特徴とする。
【００１５】
本発明によれば、部分構造データに含まれるすべての異なる単語の、各テキストデータにおける出現頻度からなるテキスト-単語頻度行列を算出し、各部分構造データを構成する自立語間の類似度をテキスト-単語頻度行列から抽出する単語ベクトル間の演算により算出することで、各自立語の同一のテキストに出現することによる類似性を考慮した部分構造データの類似度を提供できる。
【００１６】
また、本発明の一形態において、単語頻度行列生成ステップにより生成された単語頻度行列に特異値分解を適用し、単語特徴行列を算出する単語特徴行列算出ステップを有し、単語間類似度算出ステップは、単語特徴行列算出ステップにより算出された単語特徴行列から得られる単語ベクトルを演算して類似度を算出する、ことを特徴とする。
【００１７】
本発明によれば、単語の多義性・同義性の影響を軽減して、テキストデータ間の類似度を精度よく算出できる。
【００１８】
また、本発明の一形態において、単語情報抽出ステップにより抽出された第１の構造データの単語を組合わせて検索条件を生成する検索条件生成ステップと、検索条件生成ステップにより生成された検索条件に該当するテキストデータを複数の前記テキストデータとは別の外部テキストデータＤＢから取得するテキストデータ取得ステップと、を有することを特徴とする。
【００１９】
本発明によれば、外部からテキストデータを取得することで、テキスト数と単語数を十分大きくとることができ、データ構造における依存性を軽減してテキストデータ間の類似度を精度よく算出できる。また、外部からテキストデータを取得する検索条件は、第１の構造データが有する単語の論理式であることを特徴とする。
【００２０】
また、上記問題に鑑み、本発明は、複数のテキストデータから単語を抽出し、各単語間の係り受け情報を解析する単語情報抽出手段と、単語情報抽出手段により抽出された単語の数に基づき各単語の重み因子を算出する重み因子算出手段と、単語情報抽出手段により抽出された前記テキストデータの各単語と各単語の前記係り受け情報に基づき、該テキストデータの構造データを生成する構造データ生成手段と、テキストデータの一から前記構造データ生成手段により生成された第１の構造データの各単語と、他のテキストデータの一から生成された第２の構造データの各単語との類似度を算出する単語間類似度算出手段と、単語間類似度算出手段により算出された類似度及び前記重み因子に基づき第１の構造データと第２の構造データとの類似度を算出する部分構造データ類似度算出手段と、を有することを特徴とするテキストデータ類似度算出装置を提供する。
【００２１】
また、本発明の一形態において、単語間類似度算出手段により算出された類似度のうち、第１の構造データの各単語毎に最大の類似度を抽出する最大類似度抽出手段、を有し、部分構造データ類似度算出手段は、前記最大類似度抽出手段により抽出された前記最大の類似度に基づき第１の構造データと第２の構造データとの類似度を算出する、ことを特徴とする。
【００２２】
また、本発明の一形態において、テキストデータの各単語間の係り受け情報に基づく、所定の一の単語と当該一の単語を含む各単語との文法的距離を抽出する文法的距離抽出手段を有し、部分構造データ類似度算出手段は、文法的距離抽出手段により抽出された、第１の構造データが有する単語の文法的距離と、第２の構造データが有する単語の文法的距離とに更に基づき、第１及び第２の構造データの類似度を算出する、ことを特徴とする。
【００２３】
文法的距離を構造データの類似度の算出に反映するため、部分構造データ類似度算出手段は、第１の構造データが有する単語の文法的距離と、第２の構造データが有する単語の文法的距離との差の絶対値を、0より大きく1以下の文法的距離導入定数にべき乗する、ことを特徴とする。
【００２４】
また、本発明の一形態において、第１の構造データの各単語の、複数の前記テキストデータにおける出現頻度を抽出する出現頻度抽出手段と、単語と前記出現頻度抽出手段により抽出された出現頻度とを要素とする単語頻度行列を生成する単語頻度行列生成手段と、を有することを特徴とする。
【００２５】
また、本発明の一形態において、単語頻度行列生成手段により生成された単語頻度行列に特異値分解を適用し、単語特徴行列を算出する単語特徴行列算出手段を有し、単語間類似度算出手段は、単語特徴行列算出手段により算出された単語特徴行列から得られる単語ベクトルを演算して類似度を算出する、ことを特徴とする。
【００２６】
また、本発明の一形態において、単語情報抽出手段により抽出された第１の構造データの単語を組合わせて検索条件を生成する検索条件生成手段と、検索条件生成手段により生成された検索条件に該当するテキストデータを複数の前記テキストデータとは別の外部テキストデータＤＢから取得するテキストデータ取得手段と、を有することを特徴とする。
【００２７】
また、本発明の一形態において、検索条件は、第１の構造データが有する単語の論理式であることを特徴とする。
【００２８】
また、上記問題に鑑み、本発明は、請求項１ないし８記載のテキストデータ類似度算出方法をコンピュータに実行させるテキストデータ類似度算出プログラムを提供する。
【発明の効果】
【００２９】
精度よくテキスト間の類似度を算出するテキストデータ類似度算出方法、テキストデータ類似度算出装置及びテキストデータ類似度算出プログラムを提供することができる。
【発明を実施するための最良の形態】
【００３０】
以下、本発明を実施するための最良の形態について、図面を参照しながら実施例を挙げて説明する。
【００３１】
〔用語の定義〕
始めに、本実施の形態で用いる部分構造データに関する用語の定義、部分構造データの類似性の定式化、及び、部分構造データについて説明する。なお、本実施の形態においては、体言と用言に関連する品詞を持つ単語のみに着目し定式化を行うが、部分構造データの類似性の定式化は体言又は用言に関連する品詞に限定されるものではない。
【００３２】
（１）「単語」の定義
自立語をpwで示すこととし、自立語として以下に示す２種類を定義する。なお、自立語で活用をもつものは、その実表記と終止形表記に適宜変換可能なものとする。
（ａ）体言系自立語：pw1
体言系自立語pw1は、名詞、未登録語、記号、数詞に相当する品詞をもつ自立語と定義する。  ただし、数詞に接辞が伴う場合は、その他自立語とする場合がある。
（ｂ）用言系自立語：pw2
用言系自立語pw2は、動詞、形容詞、形容動詞に相当する品詞をもつ自立語と定義する。ただし、連用形か形容動詞であって、格助詞か接辞を伴う場合は、体言系自立語になる。なお、付属語をaw、助詞をaw1、助動詞をaw2、および接辞をaw3で示す。
【００３３】
（２）「文節」の定義
文節をbで示すこととし、文節として以下に示す２種類を定義する。なお、各文節は、表記に加え、後述の抽出キーからの文法的距離に関する情報を保持するものとする。
【００３４】
ただし、以下において”::=”は定義式を、また記号”*”、”+”、”?”は正規表現のメタ記号であり、それぞれ直前の文字列の、”*”は1以上の繰り返し、”+”は0以上の繰り返し、”+”は高々1の存在を示す。すなわち、文字列:aを例にすると、a+、a*、a?すべて文字列ａに対し真であり、文字列:aaを例にすると、a+、a*は真となる。
（ａ）体言系文節：b(n)
体言系文節：b(n)は、
b(n) ::= aw3*pw1+aw3*aw1*
と定義する。
（ｂ）用言系文節：b(p)
用言系文節：b(p)は、
b(p) ::= pw2+aw2*aw1*
と定義する。
【００３５】
（３）「文節間の文法的距離」の定義
文節：aと文節：bに修飾関係が存在する場合、文節：aと文節：bには文法的距離1が存在すると定義する。さらに、文法的距離は推移的であることとし、例えば、さらに 文節：bと文節：cに修飾関係が存在する場合、文節：aと文節：cには文法的距離２が存在すると定義する。
【００３６】
（４）「基本部分構造データ」の定義
基本部分構造データとして、以下の3つを定義する。基本部分構造データは、構成要素としてｂ（ｐ）を有し、該ｂ（ｐ）が部分構造データにおける抽出キーとなる。抽出キーは、文法的距離を抽出する際の修飾関係における起点の自立語である。
（ａ）基本部分構造データ１：B1
基本部分構造データB1は、
B1 ::= b(n) 、ただしb(n)は特定のb(p)と文法的距離１をもつ
と定義する。
（ｂ）基本部分構造データ２：B2
基本部分構造データB2は、
B2 ::= b(n) 、ただしb(n)は文末に存在する
と定義する。
（ｃ）基本部分構造データ３：B3
基本部分構造データB3は、
B3 ::= B1*b(p)(B2|b(n))?   ただしB1、B2、b(n)のb(p)との文法的距離は1である
と定義する。
【００３７】
（５）「拡張部分構造データ」の定義
拡張部分構造データとして、以下の2つを定義する。
（ａ）拡張部分構造データ１：Bext１
拡張部分構造データBext１は、基本構造データ１もしくは基本部分構造データ２の抽出キーである体言文節と1以上の文法的距離をもつすべてのB1、B2、もしくはｂ（ｎ）の結合、と定義する。
（ｂ）拡張部分構造データ２：Bext2
拡張部分構造データBext2は、基本データ構造３に含まれる基本データ構造１もしくは基本データ構造２を拡張部分構造データに変換したもの、と定義する。なお、以下では、部分構造データと表現した場合、特に断らない限り、基本部分構造データと拡張部分構造データの双方を含む。
【００３８】
続いて、上記の定義に基づき、部分構造データ間の類似度の算出について説明する。図１は、部分構造データ間の類似度の算出処理の手順を示すフローチャート図である。以下、順に説明する。
【００３９】
〔部分構造データの生成〕  ステップＳ１０１
部分構造データの生成では、主として形態素解析と係り受け解析を行う。形態素解析とは、与えられたテキストを用意されている辞書を基に形態素(語の最小単位)に分ける処理である。また、形態素解析では各形態素に対し品詞や基本型などの情報も得ることができる。形態素解析により、テキストから、文書を構成する単語の情報、文節（ひとつの自立語か、ひとつの自立語にひとつ以上の付属語がついた形式の日本語文法上の一単位）情報が得られる。
【００４０】
文節間の係り受け関係とは、文節と文節の間に存在する文法的関係であり、たとえば、「私が食べた林檎。」という文では、体言性文節「私が」は、用言性文節「食べた」を文法的に修飾しており、「私が」が「食べた」に係る、もしくは係り受け関係にある、という。その係り受け関係名は格助詞「ガ」を伴うことから「ガ格連用修飾関係」という。連用修飾とは、ある文節が用言性文節を修飾する現象をさす。また、用言性文節「食べた」は、体言性文節「林檎。」を文法的に修飾しており、その係り受け関係名は「連体修飾関係」という。連体修飾とは、ある文節が体言性文節を修飾する現象をさす。また、係り受け関係名のうち、「並列」は、連体修飾の１バリエーションとして処理する。ここで、用言とは、単独で文節になりうる自立語のうち、活用がある単語であり、たとえば動詞や形容詞の類を言う。用言性文節とは、用言を含み、述語を形成する文節を言う。本実施例では、用言性文節以外は体言性文節としている。体言句は活用しない自立語で構成され、最後に位置する自立語が名詞類である連文節と定義する。サ変名詞の自立語は、用言性文節も体言性文節も生成するが、たとえば直後に助詞や断定の助動詞などがついていれば体言性文節、直後に補助動詞「する」「できる」などがついていれば、用言性文節、と付属語の接続のし方で、係り受け解析処理時にどちらか判断することができる。なお、本実施例では、形態素解析系および係り受け解析系ともに周知の手法を用いた。
【００４１】
図２は、テキストデータに形態素解析および係り受け解析を適用した結果の一例を示す。テキストデータとして、“文書構造の解析手法を提案する。（以下、テキスト１と称す）”、“テキストの構造を分析する。（以下、テキスト２と称す）”、及び“構造変換の手法を提案。（以下、テキスト３と称す）”という３つのテキスト（テキストの単位は文とする）を用いた。
【００４２】
なお、図２において、形態素解析では、切り出された単語のうち、動詞に相当する品詞をもつ単語は、語幹と語尾に分離された形式をとるように処理する。すなわち、“提案する”や“打つ”は[提案^する]、[打^つ]のようにセパレータ“^”付で出力される。また、係り受け解析の処理では、少なくとも文節の定義を満たす文節情報を生成するように処理される。
【００４３】
図２のように、形態素解析され各文節に分解された文節毎に、上記（２）の文節の定義に従い、文節情報が記載される。例えば、テキスト１では、［文書］はｂ（ｎ）、［構造の］はｂ（ｎ）、［解析］はｂ（ｎ）、［手法を］がｂ（ｎ）、［提案する］はｂ（ｐ）の文節情報を有する。
【００４４】
次に、図２の結果より、上記（４）に示した「基本部分構造データ」の定義に基づき、基本部分構造データを抽出する。図３（ａ）は、基本部分構造データB1を、図３（ｂ）は基本部分構造データB2を、図３（ｃ）は、基本部分構造データB3を、それぞれ示す。なお、本実施例では、基本部分構造データは、文節内の付属語と動詞の語尾を省略する（例えば、“構造を”であれば〔構造〕と表記する。）。また、抽出キーには下線を付し、抽出キーからの文法的距離は表記情報のあとに数字で示す。
【００４５】
テキスト１の基本部分構造データB1は、用言性文節ｂ（ｐ）と文法的距離１を有する体言性文節ｂ（ｎ）であるので、基本部分構造データB1は［手法］となる。テキスト２の基本部分構造データB1は同様に［構造］となる。テキスト３では、基本部分構造データB1は抽出されない。
【００４６】
また、テキスト３の基本部分構造データＢ２は、文末の体言性文節ｂ（ｎ）であるので、［提案］となる。テキスト１及び２では、基本部分構造データＢ２は抽出されない。
【００４７】
また、基本部分構造データＢ３は、用言系文節ｂ（ｐ）に係る基本部分構造データＢ１であればよいので（基本部分構造データＢ２は０以上で真）、テキスト１では、［手法：１］［提案］が基本部分構造データとなる。テキスト２においては、［構造：１］［分析］が基本部分構造データとなる。なお、テキスト３では、基本部分構造データＢ３は抽出されない。
【００４８】
次に、図３に示した基本部分構造データから、上記（５）の拡張部分構造データの定義に従い、拡張部分構造データを生成する。図４は、拡張部分構造データの一例を示す。上記（５）の定義に従えば、テキスト１は、［文書：２］［構造：１］［解析：１］［手法］が拡張部分構造データとなる。テキスト２は、［テキスト：１］［構造］、テキスト３は、［構造：３］［変換：２］［手法：１］［提案］が、拡張部分構造データとなる。
【００４９】
ついで、図４の拡張部分構造データから、品詞と表記情報を抽出する。図５は、拡張部分構造データから抽出された自立語とその品詞の単語データテーブルである。各自立語には、識別するための単語ＩＤが付与される。なお、動詞の表記情報は、語幹と語尾の間にセパレータとして記号”^”を挿入する。また、付属語に関する情報は表示しない。
【００５０】
次いで、図５の単語データテーブルから、各テキスト毎に、テキスト１ないし３を単語ＩＤで表示する。図６は、テキスト１ないし３を図５の単語ＩＤで表示したテキストデータテーブルを示す。ずなわち、テキスト１は、単語ＩＤにより｛１,２,３,４,５｝で表示され、テキスト２は｛６,２,７｝、テキスト３は｛２,８,４,９｝によりそれぞれ表示される。なお、図６では、テキスト１ないし３をテキストＩＤセット１ないし３と表した。
【００５１】
次いで、図６のテキストデータテーブルから、テキストデータ内に存在する係り受け関係を、係り受け関係が存在するテキストＩＤセットと受け単語が文末に存在するか否かの情報ともに抽出する。図７は、テキストデータテーブルから抽出された、係り受け関係を示す単語ＩＤ対、当該単語が含まれるテキストＩＤセット、文末情報、を有する係り受け関係データテーブルを示す。文末情報には、文末の係り受け関係を含む単語ＩＤついにはtrueと、それ以外にはfalseと記録される。
【００５２】
例えば、［文書］に対しては、［文書］と［構造］に係り受け関係があるため、単語ＩＤ対は「１，２」と、文末情報には、文末でないため「false」と記録される。また、［提案］に対しては、［手法］と［提案］に係り受け関係があるため単語ＩＤ対は「４，９」と、文末情報には、trueと記録される。
【００５３】
次いで、図３の基本部分構造データから、当該基本部分構造データが存在するテキストＩＤセット、データタイプ（基本部分構造データの型Ｂ１ないしＢ３）及び構成単語セットを抽出する。図８は、基本部分構造データから抽出された、テキストＩＤセット、データタイプ及び構成単語セットにより構成される基本部分構造データテーブルを示す。
【００５４】
構成単語セットには、第一要素及び第二要素を格納する。構成単語セットは、2値変数であり、第一要素には単語ＩＤ、第二要素には当該単語と抽出キーからの文法的距離が格納される。例えば、文法的距離がゼロの場合は抽出キー自体を示し、文法的距離-1は、当該ＩＤ番号の基本部分構造データへの参照を示す。すなわち、図８の基本部分構造データのＩＤ２のデータの構成単語セットは、ＩＤ１のデータを参照しているので、{(１:−１),(５:０)}となる。
【００５５】
次いで、図４の拡張部分構造データから、データタイプ及び構成単語セットを抽出する。図９は、拡張部分構造データからテキスト内に存在する拡張部分構造データを、そのデータタイプ（拡張部分構造データ型Ｂｅｘｔ１ないし３）、および構成単語セットから抽出した拡張部分構造データテーブルを示す。構成単語セットの要素の構造は、図８の基本部分構造データテーブルと同一であるが、文法的距離が-1の場合の参照先は、拡張部分構造データのＩＤである。なお、基本部分構造データテーブルに示すように、予め拡張部分構造データを構成する単語要素の数を計数・記憶しておくことにより、後述する重み因子算出手段において、記憶された数値を読み込むだけでよく、処理の効率化が図れる。
【００５６】
以下の処理では、図９に示す拡張部分構造データテーブルの拡張部分構造データを処理対象データとする。
【００５７】
〔重み因子の算出〕ステップS102
重み因子算出処理では、入力された部分構造データを構成する自立語を計数し、その情報をもとに重み因子を算出する。本実施の形態では、計数した自立語数そのものを重み因子とする。なお、図９の拡張部分構造データテーブルのように、予め部分構造データを構成する自立語の数が計数されている場合は、その情報を取得すればよい。また、計数した部分構造データを構成する自立語の数に基づき、より複雑な重み因子を算出し、利用してもよい。
【００５８】
〔テキスト−単語頻度行列の算出〕ステップS103
単語頻度行列の算出では、部分構造データの各単語がテキストデータに含まれている頻度を算出し、テキスト-単語頻度行列として行列を生成する。テキスト-単語頻度行列は、部分構造データの生成元であるテキストデータから生成する。したがって、例えば、検索の対象となるデータベースなどに格納されているテキストデータ（以下、対象テキストデータという）から、テキストデータを構成する各単語の頻度が算出される。
【００５９】
図２に示すテキストデータについて、図５の単語データテーブル及び図６のテキストデータテーブルが利用可能である場合、テキスト-単語頻度行列生成の擬似コードを図１０に示す。なお、テキスト-単語頻度行列は疎形式（要素の大部分が 0 である巨大行列）とし、図１０の擬似コードにおいて、疎形式行列データを保持するコンテナ（変数）：Xは、各要素がベクトル（リストもしくは1次元配列）コンテナであるベクトルコンテナであり、前記Xの要素であるベクトルコンテナ：Xは１つのテキストデータに対応し、ｘの各要素は、対象テキストデータ内での出現頻度が1以上である単語の識別番号を第一要素、その単語のテキストデータ内での出現頻度を第二要素とする2値コンテナである。この形式では、ベクトルコンテナ：ｘ の要素値の第一要素にない識別番号の単語は頻度が0であることになる。
【００６０】
図５の単語データテーブル、図６のテキストデータテーブルに、図１０の擬似コードによる処理を行うと、テキスト-単語頻度行列が得られる。図１１は、ベクトルコンテナ形式で表されたテキスト-単語頻度行列を示す。なお、図１１における2値コンテナは、第一要素が単語識別番号、第二要素が対象テキストデータにおける第一要素の識別番号の単語の出現頻度である。なお、図１１ではテキスト-単語頻度行列のデータ形式として、2値ベクトルコンテナのベクトルコンテナを採用しているが、通常の2次元配列コンテナを利用してもよい。
【００６１】
〔テキスト−単語特徴行列の算出〕ステップS104
単語の同義性・多義性の影響を軽減した部分構造データ間の類似度を算出するため、単語特徴行列から得られるベクトルを単語特徴ベクトルとして用いる。単語特徴行列は、テキスト-単語頻度行列を特異値分解することで生成される。
【００６２】
・外部のテキストデータの取得
ところで、テキスト-単語頻度行列の特異値分解の結果として生成される単語特徴行列は、テキスト-単語頻度行列の構造への依存度が非常に高い。すなわち、100件のテキストデータで構成されるテキスト-単語頻度行列から求めた単語特徴行列を利用した単語対間類似度と、前記100件のテキストデータに別の1件のテキストデータを加えたテキスト-単語頻度行列から求める単語特徴行列を利用した単語間類似度では、同一の単語対であっても類似度の同一性は保証されない。このため、特異値分解を利用する場合は、行数と列数、すなわち、テキスト数と単語数を十分大きくとることで、データ構造における依存性を軽減することが好ましいとされる。
【００６３】
そこで、本実施の形態では、単語特徴行列は、テキスト-単語頻度行列の構造への依存性の影響を軽減するために、部分構造データの情報をもとに、部分構造データの抽出対象であるテキストデータ以外の外部テキストデータを取得することで、十分大きなテキスト-単語頻度行列を生成し、この行列の特異値分解から単語特徴ベクトルを生成する。
【００６４】
十分大きなテキスト-単語頻度行列を生成するため、対象テキストデータ以外の例えばインターネット等外部のテキストＤＢ（データベース）からテキストデータを取得する。外部テキストデータの取得では、抽出された自立語を検索クエリとして検索システムに適用し、検索クエリに適合する所定数のテキストデータを取得する。なお、テキストデータの所定数は、特異値分解の算出条件として既知に定められている値を用いればよい。
【００６５】
図１２は、図５に示す単語データテーブルを構成する単語データが利用可能な場合の外部のテキストデータの取得過程の擬似コードを示す。なお、図１２の疑似コードでは、既知の検索システムSoを利用する。検索システムSoは、少なくとも、単語の論理形式を検索クエリとして受信（取得）し、この検索クエリをもとにＷＷＷ上のテキストデータを検索し、検索結果をテキストデータとして送信（取得）できる機能を有する。なお、図５の単語データテーブルより単語表記を取得する場合、活用する品詞（図５においては動詞）の単語は、語幹と終止形語尾を結合した文字列を取得する。さらに、本実施の形態において、取得する外部テキストデータ数は指定される所定数以下とする。
【００６６】
本実施の形態では検索クエリとして、各単語をOR結合した論理式を用いるが、より複雑な検索式を用いてもよい。例えば、図５に示す単語データテーブルの単語データをもとに生成した検索クエリ“文書 or 構造 or 解析  or 手法 or 提案する or テキスト or 分析する or 変換 or 提案”を検索システムSoに適用した結果として、図１３に示す外部のテキストデータが取得される。
【００６７】
検索システムSoが取得した外部のテキストデータについても、図１０の擬似コードを適用することで、テキスト−単語頻度行列が算出できる。図１４は、図１３の外部のテキストデータから算出されたテキスト−単語頻度行列を示す。
【００６８】
図１４のテキスト−単語頻度行列と図１１のテキスト−単語頻度行列とを結合すると、図１５に示す大きなテキスト-単語頻度行列が得られる。
【００６９】
・テキスト−単語特徴行列の算出
次いで、図１５のテキスト−単語頻度行列に基づきテキスト−単語特徴行列を算出する。上述のように、単語特徴行列は、テキスト−単語頻度行列を特異値分解することで生成する。特異値分解を行うと、単語特徴行列（単語特徴ベクトルの集合）と共にテキスト特徴行列も算出される。
【００７０】
特異値分解によって生成される２つの行列は、同一の単語の同義性・多義性の影響が軽減された特徴空間に付置されるため、単語特徴行列（単語特徴ベクトルの集合）もまた単語の同義性・多義性の影響が軽減されたものである。
【００７１】
テキスト-単語頻度行列に特異値分解を適用した結果得られるテキスト特徴行列（テキスト特徴ベクトル集合）を利用すれば、高精度な自動テキスト分類をおこなうことが可能となる。特異値分解により算出されたテキスト特徴ベクトルは、単語の多義性・同義性の影響を軽減する特徴を持つ。
【００７２】
図１６は、図１５のテキスト−単語頻度行列に特異値分解を適用した結果生成される単語特徴行列を示す。なお、図１６における単語特徴行列は特徴次元として第5次元までを採用している。
【００７３】
なお、本実施の形態では、外部のテキストデータ取得にて取得した検索結果であるテキストデータに対し、検索クエリを構成する単語のみを用いて、テキスト-単語頻度行列を生成し、この行列を、部分構造データを抽出するテキストデータから生成したテキスト-単語頻度行列と結合して新たなテキスト-単語頻度行列を生成する処理を例示しているが、部分構造データを抽出する対象テキストデータと検索結果である外部のテキストデータからすべての構成単語を利用してテキスト-単語頻度行列を再算出してもよい。
【００７４】
〔部分構造データ間の類似度の算出〕ステップＳ１０５
まず、本実施の形態で用いる部分構造データ間の類似度を定式化する。本実施の形態において、部分構造データは以下に示す特徴が反映された類似度により類似性が定量化される。
特徴１：自立語間の類似性が反映できる。
特徴２：自立語がもつ抽出キーからの文法的距離情報を反映できる。
特徴３：包含関係を類似度に反映させるため、部分構造データの大きさを反映できる。
特徴４：自立語間の多義性・同義性を繁栄できる。
【００７５】
上述の４つの特徴を反映させるため、本実施の形態では類似度を式（１）のように定式化する。
【００７６】
【数１】
2006139708.tif 000003
ただし、変数：Si、Sjは部分構造データ、変数：sik、sjlは部分構造データを構成する自立語を示し、また関数：size(S)は変数として与えられる部分構造データ：Sを構成する自立語の数を返す関数である。
【００７７】
また、式（１）において式（２）のように関数を定義する。
【００７８】
【数２】
2006139708.tif 000004
式（２）の関数は、変数lの関数：X(l)でlに１からＬを代入した値の最大値を返す。また、関数：dist(s)は変数として与えられる自立語：ｓの抽出キーからの文法的距離返す関数、および関数：sim(si,sj)は自立語：si、sj間の類似度を返す関数である。文法的距離の差を反映させるペナルティ定数（請求の範囲における文法的距離導入定数）：αは、０より大きく1以下の定数である。
【００７９】
式１において、式（３）の部分は特徴１を、式（４）の部分は特徴２を、式（５）の部分は特徴３を、それぞれ反映する。
【００８０】
【数３】
2006139708.tif 000005
また、上述のように特異値分解することで算出された単語特徴行列は、単語の同義性・多義性の影響が軽減されたものである。したがって、本実施の形態においては、テキスト-単語頻度行列に特異値分解を適用した結果生成される単語特徴行列（単語特徴ベクトルの集合）を用いて、自立語間の類似度を算出することで、特徴４が反映される。
【００８１】
なお、さらに単語の同義性・多義性の影響を軽減させるために、明示化しない同義語辞書、多義語辞書などのシソーラス辞書を利用してもよい。例えば、部分構造データを抽出したすべてのテキストデータをdi(i=1…N)、すべてのテキストデータに含まれる互いに異なる自立語をwj(j=1…M)とすると、テキストデータ：diにおける自立語：wjの出現頻度を（i,j)要素の値とするテキスト-単語頻度行列：XMxNが生成される。テキスト-単語頻度行列：XMxNの特異値分解を式（６）のように定式化する。
【００８２】
【数４】
2006139708.tif 000006
式（６）においては、VkxMが単語特徴行列であり、各列ベクトルが、対応する自立語の特徴ベクトルである。ベクトル間の類似度として余弦測度を採用し、式（６）における第i列の列ベクトルをviとすると、第i列に対応する自立語：siと第j列に対応する自立語の類似度：sjは、式（７）のように定式化できる。なお、実際の類似度算出においては、各ベクトルをあらかじめ正規化しておくことで、分母の項は１となる。
【００８３】
【数５】
2006139708.tif 000007
ただし、式（７）において式（８）の部分は、ベクトル：viとベクトル：vjの内積を、また添え字tは転置を示す。
【００８４】
本実施の形態では、式（１）、（６）及び（７）を用いて部分構造データ間の類似度を算出する。図１７は、部分構造データ間の類似度を算出する処理の擬似コードを示す。部分構造データ間の類似度の算出手段では、一の部分構造データの他の一の部分構造データに対する類似度を算出する。類似度を算出する対象のデータとして、図９の拡張部分構造データテーブル及び図１６に示す単語特徴行列を用いる。
【００８５】
図１７の処理１７ａにより、図１６の単語特徴行列の相関行列が得られる。図１８は、図１６の単語特徴行列の相関行列を示す。該相関行列には、自立語間の類似性（特徴１）と単語特徴行列を用いた場合は同義性・多義性（特徴４）が反映されている。
【００８６】
また、処理１７ｂと処理１７ｃにより、文法的距離を反映させ（特徴２）、処理１７ｄにより部分構造データの大きさが反映される（特徴３）。
【００８７】
図１８の相関行列及び図９の拡張部分構造データテーブルを用い、ID＝１の部分構造データのID＝５の部分データに対する類似度は、
(0.753x0.81 + 1.0x0.81 + 0.316x0.81 + 1.0x0.80 + 0.579x0.82) / 5 = 0.605、
ID＝５の部分構造データのID＝１の部分データに対する類似度は、
(1.0x0.81 + 0.752x0.81 + 1.0x0.80 + 0.743x0.81)/4 =0.749
となる。なお、ペナルティ定数は0.8とした。
【００８８】
本実施の形態では、部分構造データ間の類似度の算出過程に単語特徴行列から得られる単語特徴ベクトルを利用しているが、類似度の精度よりも計算効率を重視する場合、テキスト-単語頻度行列の行（単語）ベクトルを単語特徴ベクトルとして類似度の算出を行ってもよい。以上で、図１のフローチャート図の処理が終了する。
【００８９】
〔テキストデータ類似度算出プログラム〕
本実施の形態のテキストデータの類似度を算出するプログラム（以下、テキストデータ類似度算出プログラムという）及びその記録媒体について説明する。テキストデータ類似度算出プログラムは、図１のステップＳ１０１〜Ｓ１０５をコンピュータに実行させる。図１９は、テキストデータ類似度算出プログラムを実行するコンピュータのハードウェア構成図の一例を示す。
【００９０】
図１９のハードウェア構成図は、それぞれバスで相互に接続されているＣＰＵ３１、入出力装置３２、ドライブ装置３３、通信装置３４、主記憶装置３５、記憶装置３６、表示装置３７を有するように構成される。
【００９１】
ＣＰＵ３１は、コンピュータが行う処理を統括的に制御する。入出力装置３２は、キーボード及びマウスなどで構成され、ユーザからの様々な操作指示を入力するために用いられる。通信装置３４は、インターネットやＬＡＮなどのネットワークに接続するためのインターフェイスであり、例えばモデム、ルータ等で構成される。主記憶装置３５は、オペレーティングシステムやプログラム、データを一時保管する記憶領域である。記憶装置３６には、テキストデータの類似度の算出を実現するプログラムがインストールされている。ドライブ装置３３は、ＤＶＤ−ＲＯＭやＣＤ−ＲＯＭが挿入可能であり、記録媒体３８からプログラムやデータを読み込み、また記録媒体３８にプログラムやデータを書き込むことも可能である。表示装置３７は、ＧＵＩ（Ｇｒａｐｈｙｃａｌ Ｕｓｅｒ Ｉｎｔｅｒｆａｃｅ）画面を形成し、操作に必要な各種ウィンドウやデータ等を表示する。
【００９２】
テキストデータ類似度算出プログラム３９は、例えば記録媒体３８に格納された状態で配布される。テキストデータ類似度算出プログラム３９は、単語情報抽出手段４１、重み因子算出手段４２、構造データ生成手段４３、単語間類似度算出手段４４、テキストデータ取得手段４５、最大類似度抽出手段４６、部分構造データ類似度算出手段４７、出現頻度抽出手段４８、単語頻度行列生成手段４９、検索条件生成手段５０、単語特徴行列算出手段５１、文法的距離抽出手段５２、の各手段をコンピュータに実行させる。一例としては、図１０、１２、１７で説明した擬似コードを所定のプログラム言語でコード化し、コンパイルなどされたものである。
【００９３】
単語情報抽出手段４１は、複数のテキストデータから単語を抽出し、各単語間の係り受け情報を解析する。文法的距離抽出手段５２は、テキストデータの各単語間の係り受け情報に基づく、所定の一の単語と当該一の単語を含む各単語との文法的距離を抽出する。構造データ生成手段４３は、抽出されたテキストデータの各単語と各単語の前記係り受け情報を有する構造データを生成する。（以上がステップＳ１０１に相当）。
【００９４】
重み因子算出手段４２は、単語情報抽出ステップにより抽出された単語の数に基づき各単語の重み因子を算出する（ステップＳ１０２に相当）。
【００９５】
出現頻度抽出手段４８は、第一の構造データの各単語の、複数の前記テキストデータにおける出現頻度を抽出する。単語頻度行列生成手段４９は、単語と出現頻度抽出手段４８により抽出された出現頻度とを要素とする単語頻度行列を生成する。（以上ステップＳ１０３に相当）。
【００９６】
検索条件生成手段５０は、単語抽出手段４１により抽出された第一の構造データの単語を組合わせて検索条件を生成する。テキストデータ取得手段４５は、検索条件生成手段５０により生成された検索条件に該当するテキストデータを複数のテキストデータとは別の外部テキストデータＤＢから取得する。単語特徴行列算出手段５１は、単語頻度行列生成手段４９により生成された単語頻度行列に特異値分解を適用し、単語特徴行列を算出する（以上ステップＳ１０４に相当）。
【００９７】
単語間類似度算出手段４４は、第一の構造データの各単語と、他のテキストデータの第２の構造データの各単語との類似度を、単語特徴行列（又は単語頻度行列）、文法的距離、重み因子に基づき算出する。なお、単語間類似度算出手段４４は、最大類似度抽出手段４６により、該単語間類似度算出手段４４が算出した類似度のうち、第一の構造データの各単語毎に最大の類似度を抽出する。部分構造データ類似度算出手段４７は、文法的距離、重み因子、単語間類似度、に基づき第一の構造データと他の構造データとの類似度を算出する。（以上ステップＳ１０５に相当）。
【００９８】
テキストデータ類似度算出プログラム３９を記録した記録媒体３８は、ドライブ装置３３にセットされ、記憶装置３６にインストールされる。
【００９９】
なお、テキストデータ類似度算出プログラム３９を記録した記憶媒体３８は、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、フレキシブルディスク、光磁気ディスク（ＭＯ）等のように、情報を光学的、電気的或いは磁気的に記録する記録媒体、ＲＯＭ、フラッシュメモリ等のように情報を電気的に記録する半導体メモリ等、様々なタイプの記録媒体を用いることが可能である。また、テキストデータ類似度算出プログラム３９は、ネットワークを介してダウンロードしてもよい。
【０１００】
また、テキストデータ類似度算出プログラム３９がインストールされたコンピュータは、テキストデータ類似度算出装置となる。
【実施例】
【０１０１】
これまで説明した部分構造データ間の類似度の算出方法により、テキストデータ間の類似度の算出方法の一例を示す。本実施例では、図２０に示すテキストデータ４に関連する関連テキストデータを検索する。また、本実施例では、テキストデータ５及びテキストデータ６を、関連テキストデータの候補として、テキストデータ間の類似度を算出する。
【０１０２】
まず、図２０の各テキストデータから抽出した部分構造データを図２１に示す。図２１は、図４と同様の部分構造データであり、単語と抽出キーからの距離情報の２つの要素から構成される。
【０１０３】
図２２は、単語特徴行列（式（６）の行列V）を用いて算出した単語特徴行列の相関行列を示す。また、図２３は、図２２の単語特徴行列の相関行列と式１を用いて算出した、部分構造データ４に対する部分構造データ５と６の部分構造データ間類似度を示す。
【０１０４】
図２３の部分構造データ対において(i,j）は、部分構造データiに対する部分構造データiの類似度を示す。また、類似度1は、式（１）においてペナルティ定数を0.8とした類似度である。類似度2は、式（６）において、単語特徴行列としてテキスト-単語頻度行列を用い、式（１）においてペナルティ定数を0.8とした類似度である。すなわち、類似度2は、特異値分解による単語のテキスト間での共起性（多義性・同義性）を考慮せず、表記のマッチングのみを考慮した類似度である。類似度3は、式（１）においてペナルティ定数を0.8とし、また、すべての文節について抽出キーとの文法的距離を0とした類似度、すなわち、類似度3は、文法的距離を考慮しない類似度である。
【０１０５】
図２３の部分構造データの類似度に基づき、各テキストデータから抽出される部分構造データ間の類似度がテキストデータ間の関連度を示すこととし、テキストデータ４・５・６間の関連性を検証する。
【０１０６】
テキストデータ４とテキストデータ５は、単語表記は同一であるものの、内容はあまり関連がないため、テキストデータ間の関連度は高くないほうが望ましい。図２３の部分構造データ対（４，５）の類似度では、文法的な距離を考慮している類似度１および類似度２は、文法的な距離を考慮していない類似度３と比較すると非常に低い類似度を示している。すなわち、この結果から文法的な距離を考慮することでテキストの内容の類似度を反映してテキスト間の類似判断が可能となる。
【０１０７】
また、テキストデータ４とテキストデータ６では、単語表記は異なるものの、内容は関連性があるため、テキストデータ間の関連度は高いほうが望ましい。図２３の部分構造データ対（４，６）において、単語特徴ベクトルとしてここでは明示しないテキストデータ‐単語頻度行列の特異値分解から得られる単語特徴行列を用いることで単語間のテキストデータ内での共起性（多義性・同義性）を反映した類似度１と類似度３は、単語間のテキストデータ内での共起性を反映しない類似度2と比較すると高い類似度をもつことがわかる。すなわち、この結果から単語間のテキストデータ内での共起性を反映することの有効性が確認できる。
【０１０８】
また、図２３によれば、部分構造データ対（４，５）より部分構造データ対（４，６）の方が高い類似度を示すのは、類似度１のみ（その差も小さい）である。すなわち、類似度１ないし３の類似度により、テキストデータ３のほうが、テキストデータ２よりテキストデータ１と関連があるという結果を得ることができるのは類似度１のみである。かかる望ましい結果が得られることから、本実施の形態で提案する類似度の有効性が確認できる。すなわち、本実施の形態のテキストデータ類似度算出方法、テキストデータ類似度算出装置、テキストデータ類似度算出プログラムによれば、テキストデータ間の類似度を精度よく算出できる。テキストデータ類似度算出方法等によれば、データベースやインターネットから所望の文書を効率よく取得でき、また、自由記載形式のアンケート等、テキスト形式の情報の統計処理等に利用できる。
【図面の簡単な説明】
【０１０９】
【図１】テキストデータの類似度の算出処理手順を示すフローチャート図の一例である。
【図２】本実施の形態で使用するテキストデータである。
【図３】基本部分構造データの一例を示す図である。
【図４】拡張部分構造データの一例を示す図である。
【図５】拡張部分構造データから抽出された単語データテーブルの一例を示す図である。
【図６】テキストデータテーブルの一例を示す図である。
【図７】係り受け関係データテーブルの一例を示す図である。
【図８】基本部分構造データテーブルの一例を示す図である。
【図９】拡張部分構造データテーブルの一例を示す図である。
【図１０】テキスト-単語頻度行列生成の擬似コードの一例を示す図である。
【図１１】テキスト-単語頻度行列の一例を示す図である。
【図１２】外部のテキストデータの取得過程の擬似コードの一例を示す図である。
【図１３】外部から取得されたテキストデータの一例を示す図である。
【図１４】外部のテキストデータから算出されたテキスト−単語頻度行列の一例を示す図である。
【図１５】テキスト-単語頻度行列の一例を示す図である。
【図１６】テキスト−単語頻度行列に特異値分解を適用して生成された単語特徴行列の一例を示す図である。
【図１７】部分構造データ間の類似度を算出する処理の擬似コードの一例である。
【図１８】単語特徴行列の相関行列の一例を示す図である。
【図１９】テキストデータ類似度算出プログラムを実行するコンピュータのハードウェア構成図の一例である。
【図２０】実施例における類似度を算出するテキストデータである。
【図２１】実施例における各テキストデータから抽出した部分構造データである。
【図２２】実施例における単語特徴行列の相関行列である。
【図２３】実施例におけるテキストデータ間の類似度を示す図である。
【符号の説明】
【０１１０】
４１    単語情報抽出手段
４２    重み因子算出手段
４３    構造データ生成手段
４４    単語間類似度算出手段
４５    テキストデータ取得手段
４６    最大類似度抽出手段
４７    部分構造データ類似度算出手段
４８    出現頻度抽出手段
４９    単語頻度行列生成手段
５０    検索条件生成手段
５１    単語特徴行列算出手段
５２    文法的距離抽出手段
【図１】
2006139708.tif 000008
【図２】
2006139708.tif 000009
【図３】
2006139708.tif 000010
【図４】
2006139708.tif 000011
【図５】
2006139708.tif 000012
【図６】
2006139708.tif 000013
【図７】
2006139708.tif 000014
【図８】
2006139708.tif 000015
【図９】
2006139708.tif 000016
【図１０】
2006139708.tif 000017
【図１１】
2006139708.tif 000018
【図１２】
2006139708.tif 000019
【図１３】
2006139708.tif 000020
【図１４】
2006139708.tif 000021
【図１５】
2006139708.tif 000022
【図１６】
2006139708.tif 000023
【図１７】
2006139708.tif 000024
【図１８】
2006139708.tif 000025
【図１９】
2006139708.tif 000026
【図２０】
2006139708.tif 000027
【図２１】
2006139708.tif 000028
【図２２】
2006139708.tif 000029
【図２３】
2006139708.tif 000030