(57)【特許請求の範囲】
【請求項１】
複数の要素を有する文書木を予め与えられた規則に従って探索し、前記要素を探索要素として順次検出する探索手段と、
前記文書木の複数の要素の内の予め指定された抽出対象要素と前記探索要素との要素間の距離を計算する距離計算手段と、
予め指定された排他要素名を参照して前記抽出対象要素に対して前記探索要素が排他要素であるか否かを示す排他情報を生成する排他要素確認手段と、
前記要素間の距離と前記排他情報とに基づいて前記要素に対応する当該要素に含まれる語句の重みを計算し、複数の次元を有しそれぞれの次元が予め定められた語句に一意に対応する要素特徴ベクトルを該重みに基づいて前記探索要素毎に対応させて計算する要素特徴ベクトル計算手段と、
前記要素特徴ベクトルに基づいて前記抽出対象要素に関連する部分文書の部分文書特徴ベクトルを計算する部分文書特徴ベクトル計算手段と
を備えることを特徴とする特徴抽出装置。
【請求項２】
前記排他要素確認手段は、前記抽出対象要素の要素名を排他要素名として参照することを特徴とする請求項１記載の特徴抽出装置。
【請求項３】
前記排他要素確認手段は、前記抽出対象要素及び当該抽出対象要素の子孫要素の内のいずれかと前記探索要素及び当該探索要素の子孫要素の内のいずれかとの両方に前記排他要素名を持つ前記要素が存在する場合に、前記探索要素が排他要素であることを示す前記排他情報を生成することを特徴とする請求項１または２記載の特徴抽出装置。
【請求項４】
前記要素特徴ベクトル計算手段は、前記探索要素が排他要素であることを前記排他情報が示している場合に前記重みを０と計算することを特徴とする請求項１乃至３のいずれかに記載の特徴抽出装置。
【請求項５】
前記要素特徴ベクトル計算手段は、前記重みと前記各次元に対応する語句の前記探索要素における出現数とを乗じて各次元の成分の値を算出して前記探索要素に対応する要素特徴ベクトルを計算し、
前記部分文書特徴ベクトル計算手段は、複数の前記要素特徴ベクトルをすべて積算して前記部分文書特徴ベクトルを計算することを特徴とする請求項１乃至４のいずれかに記載の特徴抽出装置。
【請求項６】
前記要素特徴ベクトル計算手段は、前記要素特徴ベクトルの各成分に対する値を、対応する語句が前記探索要素に出現する場合は当該探索要素における語句の重みとし、また出現しない場合は０として計算し、
前記部分文書特徴ベクトル計算手段は、すべての前記探索要素に対応する要素特徴ベクトルの各次元の成分の内の最大値を有する成分を抽出し、当該抽出した成分の値からなる前記部分文書特徴ベクトルを計算することを特徴とする請求項１乃至４のいずれかに記載の特徴抽出装置。
【請求項７】
前記排他要素確認手段は、前記抽出対象要素及び当該抽出対象要素の子孫要素の内のいずれかと前記探索要素、当該探索要素の子孫要素、当該探索要素の兄弟要素及び当該兄弟要素の子孫要素の内のいずれかとの両方に前記排他要素名を持つ要素が存在する場合に、該探索要素が排他要素であることを示す前記排他情報を生成することを特徴とする請求項１乃至６のいずれかに記載の特徴抽出装置。
【請求項８】
予め与えられたサイズの定義に基づいて、前記要素のサイズを計算する要素サイズ計算手段を更に備え、
前記要素特徴ベクトル計算手段は、前記要素間の距離と前記排他情報と前記サイズとに基づいて前記重みを計算する
ことを特徴とする請求項１乃至７のいずれかに記載の特徴抽出装置。
【請求項９】
前記排他要素名を格納する排他要素格納手段を更に備え、
前記排他要素確認手段は前記排他要素格納手段に格納されている排他要素名を参照する
ことを特徴とする請求項１乃至８のいずれかに記載の特徴抽出装置。
【請求項１０】
半構造化文書の木構造を解析して前記文書木を生成する構文解析手段を更に備えることを特徴とする請求項１乃至９のいずれかに記載の特徴抽出装置。
【請求項１１】
前記構文解析手段が一般の文書を半構造化することを特徴とする請求項１０記載の特徴抽出装置。
【請求項１２】
前記文書木の要素の内のいずれかを前記抽出対象要素として指定する抽出対象指定手段を更に備えることを特徴とする請求項１乃至１１のいずれかに記載の特徴抽出装置。
【請求項１３】
文書を入力する文書入力手段を更に備えることを特徴とする請求項１乃至１２のいずれかに記載の特徴抽出装置。
【請求項１４】
部分文書特徴ベクトルを出力する特徴ベクトル出力手段を更に備えることを特徴とする請求項１乃至１３のいずれかに記載の特徴抽出装置。
【請求項１５】
複数の要素を有する文書木を予め与えられた規則に従って探索し、前記要素を探索要素として順次検出し、
前記文書木の複数の要素の内の予め指定された抽出対象要素と前記探索要素との要素間の距離を計算し、
予め指定された排他要素名を参照して前記抽出対象要素に対して前記探索要素が排他要素であるか否かを示す排他情報を生成し、
前記要素間の距離と前記排他情報とに基づいて前記要素に対応する当該要素に含まれる語句の重みを計算し、複数の次元を有しそれぞれの次元が予め定められた語句に一意に対応する要素特徴ベクトルを該重みに基づいて前記探索要素毎に対応させて計算し、
前記要素特徴ベクトルに基づいて前記抽出対象要素に関連する部分文書の部分文書特徴ベクトルを計算する
ことを特徴とする特徴抽出方法。
【請求項１６】
前記排他情報の生成において、前記抽出対象要素の要素名を排他要素名として参照することを特徴とする請求項１５記載の特徴抽出方法。
【請求項１７】
前記排他情報の生成において、前記抽出対象要素及び当該抽出対象要素の子孫要素の内のいずれかと前記探索要素及び当該探索要素の子孫要素の内のいずれかとの両方に前記排他要素名を持つ前記要素が存在する場合に、前記探索要素が排他要素であることを示す前記排他情報を生成することを特徴とする請求項１５または１６記載の特徴抽出方法。
【請求項１８】
前記要素特徴ベクトルの計算において、前記探索要素が排他要素であることを前記排他情報が示している場合に前記重みを０と計算することを特徴とする請求項１５乃至１７のいずれかに記載の特徴抽出方法。
【請求項１９】
前記要素特徴ベクトルの計算において、前記重みと前記各次元に対応する語句の前記探索要素における出現数とを乗じて各次元の成分の値を算出して前記探索要素に対応する要素特徴ベクトルを計算し、
前記部分文書特徴ベクトルの計算において、複数の前記要素特徴ベクトルをすべて積算して前記部分文書特徴ベクトルを計算することを特徴とする請求項１５乃至１８のいずれかに記載の特徴抽出方法。
【請求項２０】
前記要素特徴ベクトルの計算において、前記要素特徴ベクトルの各成分に対する値を、対応する語句が前記探索要素に出現する場合は当該探索要素における語句の重みとし、また出現しない場合は０として計算し、
前記部分文書特徴ベクトルの計算において、すべての前記探索要素に対応する要素特徴ベクトルの各次元の成分の内の最大値を有する成分を抽出し、当該抽出した成分の値からなる前記部分文書特徴ベクトルを計算することを特徴とする請求項１５乃至１８のいずれかに記載の特徴抽出方法。
【請求項２１】
前記排他情報の生成において、前記抽出対象要素及び当該抽出対象要素の子孫要素の内のいずれかと前記探索要素、当該探索要素の子孫要素、当該探索要素の兄弟要素及び当該兄弟要素の子孫要素の内のいずれかとの両方に前記排他要素名を持つ要素が存在する場合に、該探索要素が排他要素であることを示す前記排他情報を生成することを特徴とする請求項１５乃至２０のいずれかに記載の特徴抽出方法。
【請求項２２】
予め与えられたサイズの定義に基づいて、前記要素のサイズを計算し、
前記部分文書特徴ベクトルの計算において、前記要素間の距離と前記排他情報と前記サイズとに基づいて前記重みを計算する
ことを特徴とする請求項１５乃至２１のいずれかに記載の特徴抽出方法。
【請求項２３】
半構造化文書の木構造を解析して前記文書木を生成することを特徴とする請求項１５乃至２２のいずれかに記載の特徴抽出方法。
【請求項２４】
一般の文書を半構造化することを特徴とする請求項２３記載の特徴抽出方法。
【請求項２５】
前記文書木の要素の内のいずれかを前記抽出対象要素として指定することを特徴とする請求項１５乃至２４のいずれかに記載の特徴抽出方法。
【請求項２６】
文書を入力することを特徴とする請求項１５乃至２５のいずれかに記載の特徴抽出方法。
【請求項２７】
部分文書特徴ベクトルを出力することを特徴とする請求項１５乃至２６のいずれかに記載の特徴抽出方法。
【請求項２８】
複数の要素を有する文書木を予め与えられた規則に従って探索し、前記要素を探索要素として順次検出する探索要素検出処理と、
前記文書木の複数の要素の内の予め指定された抽出対象要素と前記探索要素との要素間の距離を計算する要素間距離計算処理と、
予め指定された排他要素名を参照して前記抽出対象要素に対して前記探索要素が排他要素であるか否かを示す排他情報を生成する排他情報生成処理と、
前記要素間の距離と前記排他情報とに基づいて前記要素に対応する当該要素に含まれる語句の重みを計算し、複数の次元を有しそれぞれの次元が予め定められた語句に一意に対応する要素特徴ベクトルを該重みに基づいて前記探索要素毎に対応させて計算する要素特徴ベクトル計算処理と、
前記要素特徴ベクトルに基づいて前記抽出対象要素に関連する部分文書の部分文書特徴ベクトルを計算する部分文書特徴ベクトル計算処理と
をコンピュータに実行させることを特徴とするプログラムを記録した記録媒体。
【請求項２９】
前記排他情報生成処理は、前記抽出対象要素の要素名を排他要素名として参照することを特徴とする請求項２８記載のプログラムを記録した記録媒体。
【請求項３０】
前記排他情報生成処理は、前記抽出対象要素及び当該抽出対象要素の子孫要素の内のいずれかと前記探索要素及び当該探索要素の子孫要素の内のいずれかとの両方に前記排他要素名を持つ前記要素が存在する場合に、前記探索要素が排他要素であることを示す前記排他情報を生成することを特徴とする請求項２８または２９記載のプログラムを記録した記録媒体。
【請求項３１】
前記要素特徴ベクトル計算処理は、前記探索要素が排他要素であることを前記排他情報が示している場合に前記重みを０と計算することを特徴とする請求項２８乃至３０のいずれかに記載のプログラムを記録した記録媒体。
【請求項３２】
前記要素特徴ベクトル計算処理は、前記重みと前記各次元に対応する語句の前記探索要素における出現数とを乗じて各次元の成分の値を算出して前記探索要素に対応する要素特徴ベクトルを計算し、
前記部分文書特徴ベクトル計算処理は、複数の前記要素特徴ベクトルをすべて積算して前記部分文書特徴ベクトルを計算することを特徴とする請求項２８乃至３１のいずれかに記載のプログラムを記録した記録媒体。
【請求項３３】
前記要素特徴ベクトル計算処理は、前記要素特徴ベクトルの各成分に対する値を、対応する語句が前記探索要素に出現する場合は当該探索要素における語句の重みとし、また出現しない場合は０として計算し、
前記部分文書特徴ベクトル計算処理は、すべての前記探索要素に対応する要素特徴ベクトルの各次元の成分の内の最大値を有する成分を抽出し、当該抽出した成分の値からなる前記部分文書特徴ベクトルを計算することを特徴とする請求項２８乃至３１のいずれかに記載のプログラムを記録した記録媒体。
【請求項３４】
前記排他情報生成処理は、前記抽出対象要素及び当該抽出対象要素の子孫要素の内のいずれかと前記探索要素、当該探索要素の子孫要素、当該探索要素の兄弟要素及び当該兄弟要素の子孫要素の内のいずれかとの両方に前記排他要素名を持つ要素が存在する場合に、該探索要素が排他要素であることを示す前記排他情報を生成することを特徴とする請求項２８乃至３３のいずれかに記載のプログラムを記録した記録媒体。
【請求項３５】
予め与えられたサイズの定義に基づいて、前記要素のサイズを計算する処理をコンピュータに実行させ、
前記部分文書特徴ベクトルを計算する処理は、前記要素間の距離と前記排他情報と前記サイズとに基づいて前記重みを計算する
ことを特徴とする請求項２８乃至３４のいずれかに記載のプログラムを記録した記録媒体。
【請求項３６】
半構造化文書の木構造を解析して前記文書木を生成する処理をコンピュータに実行させることを特徴とする請求項２８乃至３５のいずれかに記載のプログラムを記録した記録媒体。
【請求項３７】
一般の文書を半構造化する処理をコンピュータに実行させることを特徴とする請求項３６記載のプログラムを記録した記録媒体。
【請求項３８】
前記文書木の要素の内のいずれかを前記抽出対象要素として指定する処理をコンピュータに実行させることを特徴とする請求項２８乃至３７のいずれかに記載のプログラムを記録した記録媒体。
【請求項３９】
文書を入力する処理をコンピュータに実行させることを特徴とする請求項２８乃至３８のいずれかに記載のプログラムを記録した記録媒体。
【請求項４０】
部分文書特徴ベクトルを出力する処理をコンピュータに実行させることを特徴とする請求項２８乃至３９のいずれかに記載のプログラムを記録した記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文書の特徴情報を抽出する特徴抽出装置、特徴抽出方法及びプログラムに関する。
【背景技術】
【０００２】
一般に、コンピュータ等を用いて電子文書の文書分類等を行う場合には、その電子文書の特徴情報が使用されている。
ここで、文書分類（Ｄｏｃｕｍｅｎｔ  ｃｌａｓｓｉｆｉｃａｔｉｏｎ／ｃａｔｅｇｏｒｉｚａｔｉｏｎ）とは、電子文書をその内容に基づきいくつかのクラスに分類することを言う。文書分類は、例えば、電子メールシステムのスパムフィルターなどに使用されている。スパムフィルターは、印を付けられた既受信のスパムメールに関する情報を参照して新たに受信したメールがスパムメールか否かを判定し、スパムメールの場合には特定のフォルダ等に振り分ける。
これらのような文書分類の作業においては、文書は多次元ベクトルにより表現される。この文書を表現する多次元ベクトルは、特徴ベクトルとも呼ばれる。特徴ベクトルの各次元は、例えば、文書に出現する個々の単語に対応している。そして、特徴ベクトルの各成分の値は、例えば、その成分の次元に対応する単語の、その特徴ベクトルが表す文書における出現数あるいは重要度を表すＴＦ（Ｔｅｒｍ  Ｅｒｅｑｕｅｎｃｙ）−ＩＤＦ（Ｉｎｖｅｒｓｅ  Ｄｏｃｕｍｅｎｔ  Ｆｒｅｑｕｅｎｃｙ）値などが用いられる。また、特徴ベクトルの次元数（成分数）は、例えば扱う総単語数に対応する。
具体的な例を示すと、例えば以下の文書ｄ１は以下のような特徴ベクトルｖ１で表現することができる。
文書ｄ１：″Ａ  ｄｏｃｕｍｅｎｔ  ｉｓ  ｒｅｐｒｅｓｅｎｔｅｄ  ａｓ  ａ  ｖｅｃｔｏｒ．Ｅａｃｈ  ｄｉｍｅｎｓｉｏｎ  ｃｏｒｒｅｓｐｏｎｄｓ  ｔｏ  ａ  ｓｅｐａｒａｔｅ  ｔｅｒｍ．Ｉｆ  ａ  ｔｅｒｍ  ｏｃｃｕｒｓ  ｉｎ  ｔｈｅ  ｄｏｃｕｍｅｎｔ，ｉｔｓ  ｖａｌｕｅ  ｉｎ  ｔｈｅ  ｖｅｃｔｏｒ  ｉｓ  ｎｏ  ｚｅｒｏ．″
特徴ベクトルｖ１：［４，０，・・・，１，・・・，２，・・・，０］
ここで、特徴ベクトルｖ１は複数の成分からなり、各成分は一つの単語に対応している。
そして、それら成分の配列順序は、対応する単語のアルファベット順となっており、各成分の値は文書ｄ１における対応する単語の出現数で表現されている。つまり、特徴ベクトルｖ１の１番目の成分は単語″ａ″に対応し、単語″ａ″が文書ｄ１に４回出現していることを表している。また、２番目の成分は扱う単語の中でアルファベット順が２番目の単語に対応し、仮にアルファベット順が２番目の単語が″ａｂｏｕｔ″であるとすると、″ａｂｏｕｔ″は文書ｄ１には出現しないため値は０となる。特徴ベクトルｖ１の成分を順番に見ていくと、次にアルファベット順が若く文書ｄ１に出現する単語は″ａｓ″である。単語″ａｓ″は文書ｄ１中に１回出現するので、対応する成分の値は“１”であり、その次に出現する単語″ｄｏｃｕｍｅｎｔ″は文書ｄ１中に２回出現するので値は“２”である。このようにして文書を特徴ベクトルとして表現することにより、文書を高次元のベクトル空間上の１点に対応させることが可能である。
文書分類では、上述した例を含めたさまざまな方法を用いて文書を特徴ベクトルによって表し、特徴ベクトル間の距離に基づいて文書を分類する。従って、文書分類の精度は特徴ベクトルの精密さ次第で大きく変わるため、文書分類における特徴ベクトルの生成は非常に重要な技術要素である。
このような、文書の特徴情報を抽出する技術の例が、特許文献１及び特許文献２に記載されている。
次に、文書がいくつかの内容がまとまった部分によって構成される場合、それらの個々について文書分類を適用する応用がある。例えば、その応用は、電子メールで送られてくるセミナーの通知メールに複数のセミナーの情報が含まれていた場合、それらを個々のセミナーの情報に分解して、それぞれカテゴリに分類する応用などである。以降、文書に含まれるあるまとまった内容の文書を部分文書と呼び、部分文書を分類することを部分文書分類と呼ぶ。
このような部分文書分類においては、文書中から部分文書を正確に特定する必要がある。例えば、文書中の出現語句の傾向の変化を捉えることにより、文書を部分文書に分割することが可能であるが、部分文書同士が関連している場合には出現語句の変化が少ないので、このようなアプローチは十分な有効性を持たない。
また、構造情報を有する半構造化文書を対象とした場合、非特許文献１に示されているような部分文書を特定するヒューリスティックスが提案されている。非特許文献１に記載された部分文書特定法は、半構造化文書がいくつかのトピック（部分文書）を含む場合、文書木の構造に同じレベルで同じ名前の要素が並列出現する性質に注目したものである。この部分文書特定法は、文書木の要素を葉からルートへたどっていった時、初めて兄弟関係の要素に同じ名前が表れる要素を部分文書木のルートとするようにした。この方法を用いれば、半構造化文書に関し、部分文書を特定してそれらの特徴情報を特許文献１あるいは２に記載されたような技術を利用して抽出し、部分文書を分類することができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−１４９０２２号公報
【特許文献２】特開平０６−２１５０４９号公報
【非特許文献】
【０００４】
【非特許文献１】絹谷弘子、他３名著「ＸＭＬ文書の文書構造と内容を用いた部分文書の抽出方法」社団法人情報処理学会、２００２年５月、Ｖｏｌ．４３  Ｎｏ．ＳＩＧ  ２（ＴＯＤ  １３）ｐ．８０―９３
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上述した関連する先行技術においては、部分文書について必要な精密さを有する部分特徴ベクトルを得られない場合があるという、問題点があった。
その理由は以下のとおりである。まず、部分文書分類においては上述した特許文献１及び２に示されるように、特徴ベクトルは出現語を基に作成される。一方、部分文書は通常の文書の部分または部分の集合であり、そのサイズは比較的小さい場合がある。従って、部分文書のサイズが小さければ小さいほど、出現語を基に作成された特徴ベクトルが疎になり、部分文書の特徴を十分に表現できないためである。
本発明の目的は、上述した問題点を解決する特徴抽出装置、特徴抽出方法及びプログラムを提供することにある。
【課題を解決するための手段】
【０００６】
本発明の特徴抽出装置は、複数の要素を有する文書木を予め与えられた規則に従って探索し、前記要素を探索要素として順次検出する探索手段と、前記文書木の複数の要素の内の予め指定された抽出対象要素と前記探索要素との要素間の距離を計算する距離計算手段と、予め指定された排他要素名を参照して前記抽出対象要素に対して前記探索要素が排他要素であるか否かを示す排他情報を生成する排他要素確認手段と、前記要素間の距離と前記排他情報とに基づいて前記要素に対応する当該要素に含まれる語句の重みを計算し、複数の次元を有しそれぞれの次元が予め定められた語句に一意に対応する要素特徴ベクトルを該重みに基づいて前記探索要素毎に対応させて計算する要素特徴ベクトル計算手段と、前記要素特徴ベクトルに基づいて前記抽出対象要素に関連する部分文書の部分文書特徴ベクトルを計算する部分文書特徴ベクトル計算手段とを備える。
本発明の特徴抽出方法は、複数の要素を有する文書木を予め与えられた規則に従って探索し、前記要素を探索要素として順次検出する探索要素検出ステップと、前記文書木の複数の要素の内の予め指定された抽出対象要素と前記探索要素との要素間の距離を計算する要素間距離計算ステップと、予め指定された排他要素名を参照して前記抽出対象要素に対して前記探索要素が排他要素であるか否かを示す排他情報を生成する排他情報生成ステップと、前記要素間の距離と前記排他情報とに基づいて前記要素に対応する当該要素に含まれる語句の重みを計算し、複数の次元を有しそれぞれの次元が予め定められた語句に一意に対応する要素特徴ベクトルを該重みに基づいて前記探索要素毎に対応させて計算する要素特徴ベクトル計算ステップと、前記要素特徴ベクトルに基づいて前記抽出対象要素に関連する部分文書の部分文書特徴ベクトルを計算する部分文書特徴ベクトル計算ステップとを備える。
本発明のプログラムは、複数の要素を有する文書木を予め与えられた規則に従って探索し、前記要素を探索要素として順次検出する探索要素検出処理と、前記文書木の複数の要素の内の予め指定された抽出対象要素と前記探索要素との要素間の距離を計算する要素間距離計算処理と、予め指定された排他要素名を参照して前記抽出対象要素に対して前記探索要素が排他要素であるか否かを示す排他情報を生成する排他情報生成処理と、前記要素間の距離と前記排他情報とに基づいて前記要素に対応する当該要素に含まれる語句の重みを計算し、複数の次元を有しそれぞれの次元が予め定められた語句に一意に対応する要素特徴ベクトルを該重みに基づいて前記探索要素毎に対応させて計算する要素特徴ベクトル計算処理と、前記要素特徴ベクトルに基づいて前記抽出対象要素に関連する部分文書の部分文書特徴ベクトルを計算する部分文書特徴ベクトル計算処理とをコンピュータに実行させる。
【発明の効果】
【０００７】
本発明によれば、部分文書について必要な精密さを有する部分特徴ベクトルを得ることができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の第１の実施形態の構成を示すブロック図である。
【図２】本発明の第１の実施形態の動作を示す流れ図である。
【図３】本発明の第１〜第３の実施形態における文書の構造を示す図である。
【図４】本発明の第１〜第３の実施形態における文書木の構造を示す図である。
【図５】本発明の第１〜第３の実施形態における探索手段の探索動作の例を示す文書木の図である。
【図６】本発明の第１〜第３の実施形態における排他要素確認手段の動作の例を示す文書木の図である。
【図７】本発明の第１〜第３の実施形態における特徴ベクトル計算手段の動作の例を示す文書木の図である。
【図８】本発明の第１〜第３の実施形態における要素特徴ベクトルの構造を示す図である。
【図９】本発明の第２の実施形態の構成を示すブロック図である。
【図１０】本発明の第２の実施形態の動作を示す流れ図である。
【図１１】本発明の第３の実施形態の構成を示すブロック図である。
【発明を実施するための形態】
【０００９】
本発明の第１の実施形態について図面を参照して詳細に説明する。
図１は、第１の実施形態の構成を示すブロック図である。図１に示すように、第１の実施形態は、文書入力手段１１０、構文解析手段１２０、抽出対象指定手段１３０、探索手段１４０、距離計算手段１５０、排他要素確認手段１６０、排他要素格納手段１７０、特徴ベクトル計算手段１８０及び特徴ベクトル出力手段１９０を備えている。
まず、文書入力手段１１０について説明する。文書入力手段１１０は、図３に示すような文書３００を入力する。本実施形態の説明では、文書３００は半構造化文書であるものとする。
以下は、文書３００の中身の具体的な一例である。
＜ｃｈａｐｔｅｒ  ｔｉｔｌｅ＝“概要”＞
＜ｓｅｃｔｉｏｎ  ｔｉｔｌｅ＝“基礎的概念”＞
＜ｓｅｎｔｅｎｃｅ＞
ＸＭＬは、個別の目的に応じたマーク
アップ言語群を創るために…
＜／ｓｅｎｔｅｎｃｅ＞
＜ｓｅｎｔｅｎｃｅ＞
ＸＭＬの最も重要な目的は、異なる情報
システムの間で…
＜／ｓｅｎｔｅｎｃｅ＞
＜／ｓｅｃｔｉｏｎ＞
＜ｓｅｃｔｉｏｎ  ｔｉｔｌｅ＝“オープンな仕様”＞
＜／ｓｅｃｔｉｏｎ＞
＜／ｃｈａｐｔｅｒ＞
次に、構文解析手段１２０について説明する。構文解析手段１２０は、文書入力手段１１０で入力された文書３００を解析し、木構造に展開して図４に示すような文書木３１０を生成する。
図４は、ＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）形式で記述された文書３００が文書木３１０に展開された様子を表している。文書木３１０は、複数の要素３１１を含んでいる。要素３１１は、要素名と要素の内容とからなっており、図４ではこれを「“要素名：要素の内容”」というように表記している。
例えば、「“要素名：要素の内容”」の具体的な例は、「“ｃｈａｐｔｅｒ：概要”」、「“ｓｅｃｔｉｏｎ：基礎的概念”」、「“ｓｅｎｔｅｎｃｅ：ＸＭＬは、個…”」、「“ｓｅｎｔｅｎｃｅ：ＸＭＬの最…”」及び「“ｓｅｃｔｉｏｎ：オ−プンな仕様”」などである。
尚、構文解析手段１２０は、ＸＭＬ形式に限らず、例えばＳ（Ｓｙｍｂｏｌｉｃ）式などの半構造化文書を解析できるようにしてもよい。
次に、抽出対象指定手段１３０を説明する。抽出対象指定手段１３０は、文書３００のどの部分に関する部分文書の特徴ベクトル（以下、「部分文書特徴ベクトル」と言う）を抽出（計算）するのかを指定する。具体的には、抽出対象指定手段１３０は、文書木３１０に含まれる複数の要素３１１の内のいずれかを、例えばＸＰａｔｈ（ＸＭＬ  Ｐａｔｈ  Ｌａｎｇｕａｇｅ）や○番目の○○要素といった形式を利用してユニークに指定する。以降の説明において、このユニークに指定された要素３１１を、抽出対象要素３１２と呼ぶ。
尚、上述の抽出対象指定手段１３０による指定方法は、一例に過ぎず、文書木３１０のいずれかの要素３１１をユニークに指定できるものであれば、他の方法でもよい。
次に、探索手段１４０について説明する。探索手段１４０は、抽出対象の要素３１１（抽出対象要素３１２と呼ぶ）から出発してルート要素方向へ文書木３１０を探索し、そこに存在する各要素３１１を１つずつ探索要素として検出する。続けて、探索手段１４０は、距離計算手段１５０、排他要素確認手段１６０及び特徴ベクトル計算手段１８０に検出した探索要素についての処理を実行させる。
こうして、探索手段１４０は、文書木３１０のルートの要素３１１（ルート要素３１３と呼ぶ）まで探索し、抽出対象要素３１２として指定された要素３１１に関する部分文書特徴ベクトルを抽出する。
探索手段１４０による探索動作の一例を図５を参照して説明する。図５は、文書木３１０において、要素３１１［１］が抽出対象要素３１２である場合の探索順序を大括弧“［”と“］”とで括った数字で示した図である。例えば、“要素３１１［１］”は、探索順序が１番目の要素３１１を示すものであり、他の要素３１１についても同様である。
探索手段１４０は、文書木３１０の兄弟方向については抽出対象要素３１２あるいは抽出対象要素３１２を子要素に含む要素３１１を除き上から下へ、そして兄弟方向の探索が終了した後に親方向への探索を実行する。この探索順序は一例に過ぎず、他の順序でもよい。
次に、距離計算手段１５０について説明する。距離計算手段１５０は、文書木３１０のある要素３１１と他の要素３１１との要素間の距離を計算する。
ここで、要素間の距離は、さまざまな距離関数に基づいて算出する方法が考えられる。図５を参照して３つの例を説明する。
方法１は、構文解析後に文書木３１０で表現されている文書３００を再び人間が読みやすい順番でテキストへ変換した時の距離関数に基づくものである。すなわち、要素間の距離は、文書木３１０の前順序で順序付けした場合（前順序で木をたどることは、人が文書３００を上から順に読む動作に対応している）の順序の差の絶対値である。図５の文書木３１０を要素３１１［７］から前順序でたどると、その順序は、要素３１１［７］→要素３１１［５］→要素３１１［４］→要素３１１［２］→要素３１１［１］→要素３１１［３］→要素３１１［６］となる。従って、例えば図５において、要素３１１［１］と要素３１１［７］との要素間の距離は４であり、要素３１１［１］と要素３１１［６］との要素間の距離は２である。
方法２は、文書木３１０の要素間で親子関係にのみ距離を定義した時の距離関数に基づくものである。すなわち、要素間の距離は、片方の要素３１１からもう一方の要素３１１にたどりつくために最低限必要な親子方向の遷移数である。従って、例えば図５において、要素３１１［１］と要素３１１［６］との要素間の距離は１であり、要素３１１［１］と要素３１１［７］との要素間の距離は２である。
方法３は、方法２での距離の定義に加えて、兄弟関係にある要素同士についても距離を定義した時の距離関数に基づくものである。
すなわちまず、２つの要素３１１が兄弟関係にある場合の要素間の距離は、一方の要素３１１からもう一方の要素３１１に遷移するのに必要な遷移数である。
また、２つの要素３１１が親子関係にある場合の要素間の距離は、親要素の持つ子要素の数＋１である。
次に、ある要素３１１Ａからルート要素３１３までのパス上にある要素３１１を祖先要素（要素３１１Ａ自身も、祖先要素の一つである）と呼び、祖先要素からみたある要素３１１を子孫要素と呼ぶものとして、祖先子孫関係にある要素間の距離について説明する。２つの要素３１１が祖先要素と子孫要素との関係にある場合の要素間の距離は、その子孫要素からその祖先要素までの親子関係それぞれの距離を足し合わせたものである。
最後に、２つの要素３１１が兄弟関係、親子関係または祖先子孫関係のいずれでもない場合の要素間の距離について、その２つの要素３１１を要素３１１Ａ及び要素３１１Ｂとして説明する。まず、距離計算手段１５０は、要素３１１Ａの祖先要素のいずれかである要素３１１Ｄと兄弟関係となり、かつ要素３１１Ｂの最も近い祖先要素である要素３１１Ｃを選定する。そして、距離計算手段１５０は、“要素３１１Ａから要素３１１Ｄまでの距離＋要素３１１Ｄから要素３１１Ｃまでの距離＋要素３１１Ｂから要素３１１Ｃまでの距離”を要素３１１Ａと要素３１１Ｂとの要素間の距離として計算する。例えば、図５において、要素３１１［２］と要素３１１［３］との要素間の距離は兄弟関係なので２である。同じく、要素３１１［２］と要素３１１［４］との要素間の距離は親子関係なので４である。同じく、要素３１１［１］と要素３１１［７］とは祖先子孫関係なので要素間の距離は４＋４＝８である。同じく、要素３１１［１］と要素３１１［６］とは兄弟関係、親子関係、祖先子孫関係のいずれでもないので要素間の距離は４＋１＋０＝５である。
以上が、要素間の距離を算出する方法３の説明である。
以上３つの要素間の距離の計算方法を説明したがこれらは一例に過ぎず、他の方法でもよい。
次に、排他要素確認手段１６０について説明する。排他要素確認手段１６０は、排他要素格納手段１７０より排他要素の情報を取得し、２つの要素３１１を頂点とする部分木それぞれの中に、同一の排他要素が存在するか否かを調べる。
ここで、排他要素は、それぞれが異なるトピックについて記述するために用いる要素３１１のことである。要素３１１を排他要素とする場合の要素名は、例えば“ｃｈａｐｔｅｒ”や“ｅｖｅｎｔ”や“ｓｃｈｅｄｕｌｅ”などである。これらの排他要素の要素名は、排他要素格納手段１７０に格納されている。例えば、あるスケジュールに関する部分文書を抽出する場合、他のスケジュールに関する情報は除外する必要がある。そのために、排他要素確認手段１６０は、２つの要素３１１を頂点とする部分木それぞれの中に同じ排他要素の要素名を持つ要素３１１が含まれるかどうかを調べる。
具体的な例について、図６を参照して説明する。図６は、排他要素確認手段１６０の動作の一例を説明するための文書木３１０の図である。尚、以下の説明においていくつかの要素３１１を区別して説明するために、それらにサフィックスを付している。例えば、以下の説明において要素３１１Ａと表記したものは、図６において要素（Ａ）と表記しており、他の要素３１１についても同様である。
まず、排他要素格納手段１７０は、少なくとも“ｓｃｈｅｄｕｌｅ”という要素名を格納しているものとする。図６に示す文書木３１０の要素３１１Ａと要素３１１Ｂとは、それぞれ異なるスケジュールに関する記述であり、それぞれの子孫要素に“ｓｃｈｅｄｕｌｅ”という要素名の要素３１１を含む。従って、排他要素確認手段１６０は、要素３１１Ａ及び要素３１１Ｂを頂点とする部分木それぞれの中に同一の排他要素が存在すると判定する。以降、２つの要素を頂点とする部分木それぞれの中に同一の排他要素が存在する場合、それら２つの部分木は、“排他である”と記載する。また、２つの要素３１１を頂点とする部分木それぞれの中に同一の排他要素が１つも存在しない場合、それら２つの部分木は、“排他でない”と表記する。尚、便宜上、排他要素確認手段１６０は、２つの要素３１１が同一の要素３１１である場合、この２つの要素３１１は排他でないと常に判定する。
次に排他要素格納手段１７０について説明する。排他要素格納手段１７０は前述したとおり、排他要素名を格納する。
次に、特徴ベクトル計算手段１８０について説明する。特徴ベクトル計算手段１８０は、探索手段１４０が検出した探索要素である要素３１１毎に図８に示すような特徴ベクトル（以下、「要素特徴ベクトル」と言う）を計算し、それらの要素特徴ベクトル４１０を順次足し合わせて積算特徴ベクトルを生成する。要素特徴ベクトル４１０は、図８に示すように、複数の次元を有しそれぞれの次元が予め定められた語句に一意に対応している。予め定められた語句は、例えば、一般的な辞書の見出し語であってよいし、特定の分野の用語を所定の意図を持って選択された語句の集合であってもよい。
図８に示すＷ１、Ｗ２、Ｗｎは、特徴ベクトル４１０の各成分（次元）に対応する語句の例である。
要素特徴ベクトル４１０を計算する方法を説明する。要素特徴ベクトル４１０において、それぞれの成分即ち語句に対応する値は、その探索要素における重みと、それぞれの語句の出現数を掛けて求めた値である。要素特徴ベクトル４１０は、探索要素と抽出対象要素３１２との要素間の距離、及び探索要素が抽出対象要素３１２に対して排他であるか否かの情報に基づいて、重みを計算する。要素特徴ベクトル４１０は、探索要素が排他である場合に重みを“０”とし、探索要素が排他でない場合に重みを要素間の距離が離れるほど減衰する関数により計算する。
この関数は、例えば、ｅｘｐ（−ｘ＾２／（２＊ｔａｕ＾２））や、ｅｘｐ（−｜ｘ｜）などである。ここでｘは距離を表す変数で、ｔａｕは定数でシステムのパラメータとなる。ただし、これらの関数は一例に過ぎず、他の関数であってもよい。
続いて、図６を参照して、特徴ベクトル計算手段１８０が要素特徴ベクトル４１０を計算する範囲について説明する。
前提として、要素３１１Ｄが、抽出対象要素３１２に指定されているものとする。
まず、探索手段１４０が要素３１１Ｃを検出した場合、特徴ベクトル計算手段１８０は要素３１１Ｃに出現する語句を使い要素特徴ベクトル４１０を計算する。ここでもし、要素３１１Ｃが子要素、更に子孫要素を持っていた場合、特徴ベクトル計算手段１８０はそれらの子孫要素に出現する語句も含めて要素特徴ベクトル４１０を計算する。この場合、特徴ベクトル計算手段１８０は、子孫要素についての重みも同一とし、すべての語句に対して要素３１１Ｃについて計算した重みを用いて要素特徴ベクトル４１０を計算する。こうして計算することは、つまり、要素３１１Ｃ以下の要素３１１を、階層を無視して一つの大きな要素３１１Ｃとして処理することと同等である。
次に、探索手段１４０が要素３１１Ａを検出した場合、特徴ベクトル計算手段１８０は要素３１１Ａに出現する語句のみを用いて要素特徴ベクトル４１０を計算する。
次に、探索手段１４０が要素３１１Ｂを検出した場合、特徴ベクトル計算手段１８０は、要素３１１Ｃに子孫要素がある場合と同様に、要素３１１Ｂ以下の要素３１１も含めて要素特徴ベクトル４１０を計算する。以上説明したように、特徴ベクトル計算手段１８０は、探索要素が子孫要素に抽出対象要素３１２を含む場合には、その探索要素だけを範囲として要素特徴ベクトル４１０を計算する。そして、それ以外の場合でかつ要素３１１が子孫要素を持つ場合には、特徴ベクトル計算手段１８０は、探索要素とそれらの子孫要素とを範囲に含めて要素特徴ベクトル４１０を計算する。
最後に、特徴ベクトル出力手段１９０について説明する。特徴ベクトル出力手段１９０は、探索手段１４０から受け取った抽出対象要素３１２に関する部分文書特徴ベクトルを外部へ出力する。
次に、本実施形態の動作について、図１から図８を参照して詳細に説明する。
図２は、本発明の第１の実施形態の動作の概要を示す流れ図である。まず、文書入力手段１１０が、文書３００を入力する（ステップＳ１１０）。
次に、構文解析手段１２０が、文書入力手段１１０から文書３００を受け取り、受け取った文書３００を構文解析して木構造の文書木３１０として展開する（ステップＳ１２０）。
次に、抽出対象指定手段１３０が、抽出対象要素３１２を指定する。指定の方法は前述のとおり１つではないが、抽出対象指定手段１３０は、例えば「１番目の、″＜Ｓｃｈｅｄｕｌｅ＞″という要素名の要素３１１」のように表現する方法により、文書木３１０中の対応する要素３１１を一意に指定する（ステップＳ１３０）。
次に、探索手段１４０が、抽出対象要素３１２を初期位置として文書木３１０の探索を行い、そこに存在する各要素３１１を１つずつ探索要素として検出する。続けて、探索手段１４０は、検出した検索要素について距離計算（ステップＳ１４１）の処理を距離計算手段１５０に実行させる。更に続けて、探索手段１４０は、排他要素確認（ステップＳ１４２）の処理を排他要素確認手段１６０に実行させる。更に続けて、探索手段１４０は、特徴ベクトル計算（ステップＳ１４３）の処理を、特徴ベクトル計算手段１８０に実行させる。最後に、探索手段１４０は、文書木３１０の最後の探索要素を検出し、この探索要素について、上述の３つの処理を実行させる。そしてその終了後に、探索手段１４０は、特徴ベクトル計算手段１８０から受け取った積算特徴ベクトルを、抽出対象要素３１２として指定された要素３１１に関する部分文書特徴ベクトルとして出力する（ステップＳ１４０）。
上述の探索手段１４０の動作を詳細に説明する。
探索の順番はさまざまな方法が考えられる。本実施形態の探索手段１４０は、例えば、抽出対象要素３１２から探索を開始し、兄弟要素を探索し、兄弟要素の探索が終わったら親要素を探索し、ルート要素３１３で探索を終了する。この探索動作は、前述の図５を参照して説明した探索手段１４０の探索動作の一例とおなじである。
距離計算（ステップＳ１４１）において、まず探索手段１４０は、距離計算手段１５０に対し探索要素の参照と抽出対象要素３１２の参照とを入力する。尚、参照とは、文書木３１０内の要素３１１を一意に特定する情報であり、要素３１１の格納アドレスや要素のデータそのものなどである。次に、探索要素と抽出対象要素３１２とを受け取った距離計算手段１５０は、これらの要素間の距離を計算し、出力する。次に、探索手段１４０は、距離計算手段１５０が出力した要素間の距離を受け取る。
排他要素確認（ステップＳ１４２）において、まず探索手段１４０は、排他要素確認手段１６０に対し、探索要素の参照と抽出対象要素３１２の祖先でかつ探索要素または探索要素の兄弟要素である要素３１１の参照とを入力する。次に、この２つの要素３１１を受け取った排他要素確認手段１６０は、これらが排他であるか排他でないかを確認し、排他情報を出力する。次に、探索手段１４０は、排他要素確認手段１６０が出力する排他情報を受け取る。
特徴ベクトル計算（ステップＳ１４３）において、まず探索手段１４０は、特徴ベクトル計算手段１８０に対し、探索要素の参照と要素間の距離と排他情報とを入力し、積算特徴ベクトルを計算させる。次に、探索手段１４０は、特徴ベクトル計算手段１８０が出力する積算特徴ベクトルを受け取る。
次に、上述した３つの処理について図７と図８とを参照して具体的に説明する。図７は、特徴ベクトル計算手段の動作の一例を説明するための文書木３１０の図である。図８は、前述したように要素特徴ベクトル４１０の構造を示す図である。
尚、図８の［１］、［２］、［Ｎ＋１］及び［Ｎ＋２］は、図７に示す要素３１１における［１］、［２］等のサフィックスを示す。
尚、距離の計算方法は前述の方法１を採用し、特徴ベクトル計算手段１８０における重み計算式としてｅｘｐ（−ｘ＾２／（２＊ｔａｕ＾２））（ただしｔａｕ＝１０）を採用して説明する。
まず最初に、図７に示す文書木３１０において、探索手段１４０が探索要素として要素３１１［１］を検出した場合を説明する。
距離計算（ステップＳ１４１）では、距離計算手段１５０が、探索要素として要素３１１［１］の参照と抽出対象要素３１２として要素３１１［１］の参照とを受け取り、これらの要素間の距離を計算する。この場合、要素間の距離は、同一の要素３１１［１］同士の距離なので０である。
排他要素確認（ステップＳ１４２）では、排他要素確認手段１６０が探索要素として要素３１１［１］の参照と抽出対象要素３１２の祖先でかつ探索要素または探索要素の兄弟要素である要素３１１として要素３１１［１］の参照とを受け取る。続けて、排他要素確認手段１６０は、これらの２つの要素３１１が排他であるか排他でないかを確認し、その結果を排他情報として出力する。この場合、排他要素確認手段１６０は、これらの２つの要素３１１が同一の要素３１１であるため、“排他でない”と出力する。
特徴ベクトル計算（ステップＳ１４３）では、特徴ベクトル計算手段１８０は、探索要素である要素３１１［１］の参照と要素間の距離“０”と排他でないことを示す排他情報とを受け取。そして、特徴ベクトル計算手段１８０は、これらの受け取った情報に基づいて、要素３１１［１］の要素特徴ベクトル４１０を作成する。特徴ベクトル計算手段１８０は、要素３１１［１］における語句の重みを、排他情報が排他でないことを示しているため、重み計算式に距離“０”をいれて“１”と計算する。従って、特徴ベクトル計算手段１８０は、要素３１１［１］に出現するすべての語句について”１×出現数”の値を成分とする要素特徴ベクトル４１０を計算する。
図８に示す要素３１１の探索順序が［１］に対応する要素特徴ベクトル４１０が、計算された要素３１１［１］の要素特徴ベクトル４１０である。要素３１１［１］の要素特徴ベクトル４１０は、例えば図７に示すように要素３１１［１］に“ｗ２”という語句が１回出現しているため、語句“ｗ２”に対応する値が“１”となっている。続けて、特徴ベクトル計算手段１８０は、今回計算した要素３１１［１］の要素特徴ベクトル４１０を積算特徴ベクトルとして出力する。
続けて、図７において探索手段１４０が探索要素として要素３１１［２］を検出した場合を説明する。
距離計算（ステップＳ１４１）では、前述した距離計算（ステップＳ１４１）での場合と同様にして、距離計算手段１５０が、要素３１１［２］と要素３１１［１］との要素間の距離を“１”と計算する。
排他要素確認（ステップＳ１４２）では、前述した排他要素確認（ステップＳ１４２）での場合と同様にして、排他要素確認手段１６０が要素３１１［１］と要素３１１［２］との排他情報（説明の便宜上、“排他でない”とする）を出力する。
特徴ベクトル計算（ステップＳ１４３）では、前述した特徴ベクトル計算（ステップＳ１４３）での場合と同様にして、特徴ベクトル計算手段１８０が要素３１１［２］の要素特徴ベクトル４１０を計算する。特徴ベクトル計算手段１８０は、要素３１１［２］における語句の重みを、排他情報が排他でないことを示しているため、重み計算式に距離１をいれて“０．９９５”と計算する。従って、特徴ベクトル計算手段１８０は、要素３１１［２］に出現するすべての語句について“０．９９５×出現数”の値を成分とする要素特徴ベクトル４１０を計算する。
図８に示す要素３１１の探索順序が［２］に対応する要素特徴ベクトル４１０が、計算された要素３１１［２］の要素特徴ベクトル４１０である。例えば、図７に示すように要素３１１［２］に“ｗ１”という語句が２回と“ｗ２”という語句が１回出現している。従って、要素３１１［２］の要素特徴ベクトル４１０は、語句“ｗ１”と語句“ｗ２”に対応する値がそれぞれ“１．９９０”と“０．９９５”となっている。そして、特徴ベクトル計算手段１８０は、最初の探索要素である要素３１１［１］について計算した要素特徴ベクトル４１０に今回計算した要素３１１［２］の要素特徴ベクトル４１０を足し合わせた積算特徴ベクトルを出力する。
更に続けて、探索が数ステップ進み図７において探索手段１４０が探索要素として要素３１１［Ｎ＋１］を検出した場合を説明する。
距離計算（ステップＳ１４１）では、前述した距離計算（ステップＳ１４１）での場合と同様にして、距離計算手段１５０が、３１１［Ｎ＋１］と要素３１１［１］との要素間の距離を“２”と計算する。
排他要素確認（ステップＳ１４２）では、前述した排他要素確認（ステップＳ１４２）での場合と同様にして、排他要素確認手段１６０が要素３１１［Ｎ＋１］と要素３１１［４］との排他情報（説明の便宜上、“排他である”とする）を出力する。尚、要素３１１［４］は、要素３１１［１］の祖先でかつ要素３１１［Ｎ＋１］の兄弟である。
特徴ベクトル計算（ステップＳ１４３）では、前述した特徴ベクトル計算（ステップＳ１４３）での場合と同様にして、特徴ベクトル計算手段１８０が要素３１１［４］の要素特徴ベクトル４１０を計算する。この場合、特徴ベクトル計算手段１８０は、要素特徴ベクトル４１０を、排他情報が排他であることを示しているため、ゼロベクトルと計算する。
図８に示す要素３１１の探索順序が［Ｎ＋１］に対応する要素特徴ベクトル４１０が、要素３１１［Ｎ＋１］の特徴ベクトルである。そして、特徴ベクトル計算手段１８０は、最初の探索要素である要素３１１［１］について計算した要素特徴ベクトル４１０から今回計算した要素３１１［Ｎ＋１］の要素特徴ベクトル４１０を足し合わせた積算特徴ベクトルを出力する。
最後に、図８において探索手段１４０が探索要素として要素３１１［Ｎ＋２］を検出した場合を説明する。
距離計算（ステップＳ１４１）では、前述した距離計算（ステップＳ１４１）での場合と同様にして、距離計算手段１５０が、３１１［Ｎ＋２］と要素３１１［１］との要素間の距離を例えば“１０”と計算する。
排他要素確認（ステップＳ１４２）では、前述した排他要素確認（ステップＳ１４２）での場合と同様にして、排他要素確認手段１６０が要素３１１［Ｎ＋２］と要素３１１［Ｎ＋２］との排他情報（説明の便宜上、“排他でない”とする）を出力する。尚、要素３１１［Ｎ＋２］は、要素３１１［１］の祖先である。
特徴ベクトル計算（ステップＳ１４３）では、前述した特徴ベクトル計算（ステップＳ１４３）での場合と同様にして、特徴ベクトル計算手段１８０が要素３１１［Ｎ＋２］の要素特徴ベクトル４１０を計算する。特徴ベクトル計算手段１８０は、要素３１１［Ｎ＋２］における語句の重みを、排他情報が排他でないことを示しているため、重み計算式に距離“１０”をいれて“０．６０７”と計算する。従って、特徴ベクトル計算手段１８０は、要素３１１［Ｎ＋２］に出現するすべての語句について“０．６０７×出現数”の値を成分とする要素特徴ベクトル４１０を計算する。
図８に示す要素３１１の探索順序が［Ｎ＋２］に対応する要素特徴ベクトル４１０が、計算された要素３１１［Ｎ＋２］の要素特徴ベクトル４１０である。例えば、図７に示すように要素Ｎ＋２に“ｗ２”という語句が１回出現している。従って、この要素３１１［Ｎ＋２］の要素特徴ベクトル４１０は、語句“ｗ２”に対応する値が“０．６０７”となっている。そして、特徴ベクトル計算手段１８０は、最初の探索要素である要素３１１［１］について計算した要素特徴ベクトル４１０に今回計算した要素３１１［Ｎ＋２］の要素特徴ベクトル４１０を足し合わせた積算特徴ベクトルを出力する。
最後に、特徴ベクトル出力手段１９０が、探索手段１４０から受け取った抽出対象要素３１２に関する部分文書特徴ベクトルを外部へ出力する（ステップＳ１５０）。
次に、第１の実施形態の第１の変形例について説明する。
前述した第１の実施形態において、排他要素確認手段１６０は、排他要素格納手段１７０から排他要素の情報を取得する。この場合、排他要素の情報はシステム内に定義されている必要がある。一方、抽出対象指定手段１３０で指定される要素３１１は、同時に排他要素である場合が少なくない。従って、排他要素確認手段１６０は、抽出対象指定手段１３０で指定された要素３１１の要素名を排他要素とするようにしてもよい。また、こうした場合、排他要素格納手段１７０が含まれない構成としてもよい。
次に、第１の実施形態の第２の変化例について説明する。
前述した本実施形態において、特徴ベクトル計算手段１８０は、探索要素と抽出対象要素３１２とが排他であるか否かに対応して、重みを“０”にするか、または距離に基づき重み付けするかして要素特徴ベクトル４１０を計算する。ところで、複数の兄弟要素の内のいずれかに排他要素がある場合、他の兄弟要素に排他要素がなかったとしても、その探索要素は異なる内容について書かれている可能性がある。
そこで、特徴ベクトル計算手段１８０は、探索要素の兄弟要素に一つでも排他要素があれば、重みを“０”とするようにしてもよい。こうした場合、特徴ベクトル計算手段１８０は、兄弟要素の内の要素３１１が１つでも排他要素であれば、それらの兄弟要素を部分文書特徴ベクトルの計算に使用しない。
次に、第１の実施形態の第３の変化例について説明する。
前述した本実施形態では、文書入力手段１１０が半構造化文書を受けつけ、それを構文解析手段１２０が解析するとしたが、文書入力手段１１０が半構造化されていない一般の文書を受け付け、構文解析手段１２０が一般の文書を半構造化するようにしてもよい。
次に、第１の実施形態の第４の変化例について説明する。
特徴ベクトル計算手段１８０は、まず要素特徴ベクトル４１０の各語句に対する値を、それぞれの語句がその探索要素に出現する場合はその探索要素における語句の重みとし出現しない場合は“０”として計算するようにしてもよい。そして、特徴ベクトル計算手段１８０は、すべての探索要素における要素特徴ベクトル４１０の各次元の成分の内の最大値を有する成分を抽出し、これらの成分からなる部分文書特徴ベクトルを計算するようにしてもよい。
上述した本実施形態における第１の効果は、必要な精密さを有する部分文書の特徴ベクトルを得ることを可能にできる点である。
その理由は、抽出対象要素３１２からルート要素３１３までの要素３１１について、要素間の距離が大きい要素３１１の語句ほど小さい重みをふり、排他である要素３１１における語句の重みを０として要素特徴ベクトル４１０を計算するようにしたからである。即ち、抽出対象要素３１２の語句が少ない場合においても、関連範囲の語句を重み付きで抽出して特徴ベクトルが疎にならないようにしたからである。
上述した本実施形態における第２の効果は、排他要素確認手段１６０による排他要素のより柔軟にさせることを可能にできる点である。
その理由は、排他要素確認手段１６０が、抽出対象要素３１２の要素名を排他要素の要素名とするようにしたからである。
上述した本実施形態における第３の効果は、部分文書特徴ベクトルに関連のない情報の特徴をより入りにくくさせることを可能にできる点である。
その理由は、特徴ベクトル計算手段１８０は、探索要素の兄弟要素に一つでも排他要素があれば、重みを“０”とするようにしたからである。
上述した本実施形態における第４の効果は、半構造化されていない一般の文書を入力とすることが可能になる点である。
その理由は、構文解析手段１２０が一般の文書を半構造化するようにしたからである。
上述した本実施形態における第５の効果は、語句の出現数には依存しない部分文書特徴ベクトルを計算させることを可能にできる点である。
その理由は、特徴ベクトル計算手段１８０は、要素特徴ベクトル４１０の各成分を重みのみで計算し、すべての探索要素における要素特徴ベクトル４１０の各次元の成分の値の内の最大値からなる部分文書特徴ベクトルを計算するようにしたからである。
次に、本発明の第２の実施形態について図面を参照して詳細に説明する。
図９は第２の実施形態の構成を示すブロック図である。図９に示すように、本実施形態は、第１の実施形態に比べて、要素サイズ計算手段２１０を更に備え、特徴ベクトル計算手段１８０に替えて特徴ベクトル計算手段２２０を、探索手段１４０に替えて探索手段２４０を備えている。文書入力手段１１０、構文解析手段１２０、抽出対象指定手段１３０、距離計算手段１５０、排他要素確認手段１６０、排他要素格納手段１７０、及び特徴ベクトル出力手段１９０は、第１の実施形態と同じ要素であるため図１と同一の符号を付し、詳細な説明を省略する。
まず、要素サイズ計算手段２１０について説明する。要素サイズ計算手段２１０は、要素３１１の参照を受け取る。そして、要素サイズ計算手段２１０は、その要素３１１が子孫要素に抽出対象要素３１２を含む場合にはその要素３１１のみのサイズを計算して出力する。また、その要素３１１が子孫要素に抽出対象要素３１２を含まない場合には、要素サイズ計算手段２１０はその要素３１１の子孫要素も含めたサイズを計算して出力する。
尚、要素３１１のサイズの定義は、例えば、対象の要素３１１に出現する語句の数、要素３１１自体の数、要素３１１の最大の深さなどがある。尚、これらのサイズの定義は一例に過ぎず、他の定義であってもよい。
次に、特徴ベクトル計算手段２２０について説明する。特徴ベクトル計算手段２２０は、探索要素の参照、要素間の距離、探索要素のサイズ及び探索要素排他情報を受け取る。そして、特徴ベクトル計算手段２２０は、要素特徴ベクトル４１０を計算し、それらの要素特徴ベクトル４１０を順次足し合わせて積算特徴ベクトルを生成する。尚、探索要素排他情報とは、以下のその１、その２及びその３の内のいずれかの情報である。
その１、探索要素は、排他要素である。
その２、探索要素は、排他要素ではないが、探索要素の兄弟要素の内のいずれかが排他要素である。
その３、探索要素は、排他要素ではなく、かつ探索要素の兄弟要素のいずれも排他要素でない。
特徴ベクトル計算手段２２０は、第１の実施形態の特徴ベクトル計算手段１８０と比べて、重みの計算方法が異なる。従って、以下に重みの計算方法のみ説明する。重みの計算は探索要素排他情報により、３つに場合分けできる。
その１、探索要素が排他要素である場合、特徴ベクトル計算手段２２０は、重みを０とする。
その２、探索要素は排他要素ではないが、探索要素の兄弟要素の内のいずれかが排他要素である場合、特徴ベクトル計算手段２２０は、探索要素のサイズと距離に基づいて重みを計算する。重みの計算式は、距離が離れる程小さく、またサイズが大きくなるほど小さくなる関数で表される。この関数は、例えば、ｅｘｐ（（−［ｘ１ｘ２］’＊ｉｎｖ（Ｓｉｇｍａ）＊［ｘ１ｘ２］）／２）である（ただし、［ｘ１ｘ２］は縦ベクトル、’は転置、ｉｎｖ（）は逆行列、Ｓｉｇｍａは共分散行列、ｘ１は距離、ｘ２はサイズである。これは即ち多次元正規分
布の正規化定数をとりのぞいたものである）。尚、この重み関数は一例に過ぎず、他の関数であってもよい。
その３、探索要素は排他要素ではなく、かつ探索要素の兄弟要素のいずれも排他要素でない場合、特徴ベクトル計算手段２２０は、探索要素のサイズを“０”として、その２と同様の式で重みを計算する。
次に、探索手段２４０について説明する。探索手段２４０は、第１の実施形態の探索手段１４０と比べて、探索方法については同一であるが、探索要素の検出時における動作が異なる。この動作の内容は動作の説明時に詳細に説明する。
次に、本実施形態の動作について、図を参照して詳細に説明する。
図１０は、本発明の第２の実施形態の動作の概要を示す流れ図である。第１の実施形態と同様の動作については図２と同一の符号を付し、詳細な説明を省略する。
第１の実施形態との違いは、探索（ステップＳ２４０）の部分である。以下に、このステップについて説明する。
探索（ステップＳ２４０）の処理は、探索要素の兄弟要素がどれもまだ探索要素として検出されていない場合と、探索要素の兄弟要素の内の少なくともいずれか１つが既に探索要素として検出されている場合との２つに場合分けすることができる。
図１０においては、開始Ａ（ステップＳ２４８）は、探索要素の兄弟要素がどれもまだ探索要素として検出されていない場合の、１つの探索要素に対する処理の開始を示す。また、開始Ｂ（ステップＳ２４９）は、探索要素の兄弟要素の内の少なくともいずれか１つが既に探索要素として検出されている場合の、１つの探索要素に対する処理の開始を示す。
開始Ａからの動作の場合では、まず、探索手段２４０は、排他要素確認手段１６０に探索要素とその兄弟要素について排他要素であるか否かを確認させる。探索手段２４０は、この探索要素排他情報を、兄弟要素を探索する時に利用するために、一時的に記憶しておく（ステップＳ１４２）。
続けて、探索手段２４０は、探索要素と抽出対象要素３１２との要素間の距離を距離計算手段１５０に計算させる（ステップＳ１４１）。
続けて、探索手段２４０は、要素サイズ計算手段２１０に探索要素のサイズを計算させる（ステップＳ２４２）。
続けて、探索手段２４０は、特徴ベクトル計算手段２２０に特徴ベクトルを計算させる（ステップＳ２４３）。このとき、特徴ベクトル計算手段２２０は、探索要素の参照、要素間の距離、探索要素サイズ及び探索要素排他情報を受け取って、要素特徴ベクトル４１０を計算する。
次に開始Ｂからの動作の場合では、まず、探索手段２４０は、探索要素と抽出対象要素３１２との距離を距離計算手段１５０に計算させる（ステップＳ１４１）。
続けて、探索手段２４０は、要素サイズ計算手段２１０に探索要素のサイズを計算させる。（ステップＳ２４２）
続けて、探索手段２４０は、特徴ベクトル計算手段２２０に特徴ベクトルを計算させる（ステップＳ２４３）。尚、ステップＳ２４３において必要な探索要素排他情報は、開始Ａからの動作の場合のステップＳ１４２にて取得済みであるものを利用する。
次に、第２の実施形態の変形例について説明する。第２の実施形態は、第１の実施形態で説明した第１、第３及び第４の変形例を適用してもよい。
上述した本実施形態における効果は、第１の実施形態の効果に加えて、要素３１１を“排他である”と“排他でない”との中間状態として要素特徴ベクトル４１０を計算することを可能にできる点である。即ち、文書木３１０のある場所に兄弟要素となる複数の要素３１１がありこの兄弟要素の一つが排他要素である場合、この兄弟要素の内の排他要素以外の要素３１１を柔軟に扱うことが可能となる。
その理由は、探索要素は排他要素ではないが探索要素の兄弟要素の内のいずれかが排他要素である場合、探索要素のサイズと距離に基づいて重みを計算するようにしたからである。即ち、第１の実施形態において、同様に兄弟要素の一つが排他要素である場合、特徴ベクトル計算手段２２０は、排他要素以外の要素３１１について、すべてをそのまま要素特徴ベクトル４１０の計算に利用するか、１つも利用しないかのどちらかである。しかし、兄弟要素の１つが排他要素である場合、他の兄弟要素については完全に排他であるとも完全に排他でないとも判定しきれない。第１の実施形態と第１の実施形態の第２の変形例とでは、”完全に、排他である”と”完全に、排他でない”のどちらかに倒していた。そこで、第２の実施形態では、要素間の距離に加えて要素サイズを取り入れ、要素サイズが大きいほど重みを小さくするようにし、中間状態を表わせるようした。
これは、ある程度要素サイズが大きくなる（文章のサイズが大きくなる）と、その中で内容が完結し、他の要素（文書と）と排他である（内容が異なる）可能性が高くなるという性質を利用している。
次に、本発明の第３の実施形態について図面を参照して詳細に説明する。本実施形態は、本発明の基本的な構成要素のみで構成された実施形態である。
図１１は第３の実施形態の構成を示すブロック図である。図１１に示すように、本実施形態は、探索手段１４０、距離計算手段１５０、排他要素確認手段１６０及び要素特徴ベクトル計算手段３８１及び部分文書特徴ベクトル計算手段３８２を備えている。
探索手段１４０は、複数の要素３１１を有する文書木３１０を予め与えられた規則に従って探索し、要素３１１を探索要素として順次検出する。
距離計算手段１５０は、文書木３１０の複数の要素３１１の内の予め指定された抽出対象要素３１２と探索要素との要素間の距離を計算する。
排他要素確認手段１６０は、予め指定された排他要素名を参照して抽出対象要素３１２に対して探索要素が排他要素であるか否かを示す排他情報を生成する。
要素特徴ベクトル計算手段３８１は、要素間の距離と排他情報とに基づいて要素３１１に対応するこの要素３１１に含まれる語句の重みを計算する。次に、要素特徴ベクトル計算手段３８１は、この計算した重みに基づいて、探索要素に対応させて要素特徴ベクトル４１０を計算する。尚、要素特徴ベクトル４１０は、複数の次元を有しており、それぞれの次元は文書木３１０の要素３１１のいずれかに出現する語句に一意に対応する。
部分文書特徴ベクトル計算手段３８２は、要素特徴ベクトル４１０に基づいて抽出対象要素３１２に関連する部分文書の特徴ベクトルを計算する。
上述した本実施形態における効果は、必要な精密さを有する部分文書の特徴ベクトルを得ることができる点である。
その理由は、要素間の距離と排他性に基づいて計算した要素特徴ベクトル４１０に基づいて部分文書特徴ベクトルを計算するようにしたからである。
以上の各実施形態で説明した各構成要素は、例えば、プログラムにより所定の処理をコンピュータに実行させてもよい。また、以上説明した各実施形態における各構成要素は、例えば、ハードウェアで実現されても良いし、ソフトウェアで実現されても良いし、ハードウェアとソフトウェアの混在により実現されても良い。
更に、以上の各実施形態で説明した各構成要素は、必ずしも個々に独立した存在である必要はない。例えば、複数の構成要素が１個のモジュールとして実現されたり、１つの構成要素が複数のモジュールで実現されたり、といったような構成であってもよい。また例えば、ある構成要素が他の構成要素の一部であったり、ある構成要素の一部と他の構成要素の一部とが重複していたり、といったような構成であってもよい。
以上、実施形態（及び実施例）を参照して本願発明を説明したが、本願発明は上記実施形態（及び実施例）に限定されものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得るさまざまな変更をすることができる
この出願は、２００９年６月２４日に出願された日本出願特願２００９−１５０１０７を基礎とする優先権を主張し、その開示のすべてをここに取り込む。
【符号の説明】
【００１０】
１１０  文書入力手段
１２０  構文解析手段
１３０  抽出対象指定手段
１４０  探索手段
１５０  距離計算手段
１６０  排他要素確認手段
１７０  排他要素格納手段
１８０  特徴ベクトル計算手段
１９０  特徴ベクトル出力手段
２１０  要素サイズ計算手段
２２０  特徴ベクトル計算手段
２４０  探索手段
３００  文書
３１０  文書木
３１１  要素
３１２  抽出対象要素
３１３  ルート要素
３８１  要素特徴ベクトル計算手段
３８２  部分文書特徴ベクトル計算手段
４１０  要素特徴ベクトル
【図１】
0005447518.tif 000002
【図２】
0005447518.tif 000003
【図３】
0005447518.tif 000004
【図４】
0005447518.tif 000005
【図５】
0005447518.tif 000006
【図６】
0005447518.tif 000007
【図７】
0005447518.tif 000008
【図８】
0005447518.tif 000009
【図９】
0005447518.tif 000010
【図１０】
0005447518.tif 000011
【図１１】
0005447518.tif 000012