(57)【特許請求の範囲】
【請求項１】
入力部、演算部、ユーザ操作部、及び、出力部を有する文書解析装置において、以下の（ａ）から（ｄ）のステップを有する、入力部から入力された一つまたは複数の文書セグメントを含む入力文書から重要な句を抽出する方法、
（ａ）演算部が、前記文書セグメントに出現する用語の出現頻度に関連した値を成分とする文書セグメントベクトルを生成するステップと、
（ｂ）演算部が、前記入力文書内の句に対して、前記句に含まれる用語に対応する成分には前記句の中の前記用語の出現数が与えられ、他は０となる句ベクトルを生成するステップと、
（ｃ）演算部が、前記句ベクトルと、全ての文書セグメントベクトルとの内積の二乗の和を用いて、前記句の重要度を求めるステップ、
（ｄ）演算部が、前記重要度を用いて前記入力文書の重要句を選択し、出力部から出力するステップ。
【請求項２】
前記句の重要度を、前記句ベクトルのノルムの２乗値で正規化することを特徴とする請求項１記載の方法。
【請求項３】
入力部、演算部、ユーザ操作部、及び、出力部を有する文書解析装置において、以下の（ａ）から（ｄ）のステップを有する、入力部から入力された一つまたは複数の文書セグメントを含む入力文書から重要な文を抽出する方法、
（ａ）演算部が、前記文書セグメントに出現する用語の出現頻度に関連した値を成分とする文書セグメントベクトルを生成するステップと、
（ｂ）演算部が、前記入力文書内の文に対して、前記文に含まれる用語に対応する成分には前記文の中の前記用語の出現数が与えられ、他は０となる文ベクトルを生成するステップと、
（ｃ）演算部が、前記文ベクトルと、全ての文書セグメントベクトルとの内積の二乗の和を用いて、前記文の重要度を求めるステップ、
（ｄ）演算部が、前記重要度を用いて前記入力文書の重要文を選択し、出力部から出力するステップ。
【請求項４】
前記文の重要度を、前記文ベクトルのノルムの２乗値で正規化することを特徴とする請求項３記載の方法。
【請求項５】
入力部、演算部、ユーザ操作部、及び、出力部を有し、以下の（ａ）から（ｄ）の手段を有する、入力部から入力された一つまたは複数の文書セグメントを含む入力文書から重要な句を抽出する装置、
（ａ）前記文書セグメントに出現する用語の出現頻度に関連した値を成分とする文書セグメントベクトルを生成する手段と、
（ｂ）前記入力文書内の句に対して、前記句に含まれる用語に対応する成分には前記句の中の前記用語の出現数が与えられ、他は０となる句ベクトルを生成する手段と、
（ｃ）前記句ベクトルと、全ての文書セグメントベクトルとの内積の二乗の和を用いて、前記句の重要度を求める手段、
（ｄ）前記重要度を用いて前記入力文書の重要句を選択し、出力部から出力する手段。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は文書から重要な語・句・文を自動的に抽出する方法に関するものであり、特に文書の表現方法の高度化と語や句の重要度に関する新しい尺度の導入によってその性能の改善を図るものである。
【０００２】
【従来の技術】
文書から重要な語や句を自動的に抽出する方法は文書検索や情報検索の分野で古くから研究開発が行われてきた。これらはヒューリスティクスな方法と統計的な方法とに大別できる。
ヒューリスティクスな方法としては、文書の見出し情報、文書における位置情報、手がかり的な表現を用いる方法などが知られている。文書の見出し情報を用いる方法では、“文書のタイトルや見出しは文書の内容を簡潔に表現しており、重要な用語が含まれている”との考えのもとに、タイトルや見出しに含まれる用語群から冠詞や前置詞などの明らかに重要でない用語を除いた用語を重要語とするものである。この方法ではタイトルや見出しの存在が前提となっており、これらが存在しない文書には適用できない。文書における位置情報を用いる方法は、新聞記事などでは意図的に重要な文が前の方に書かれているということに着目し、記事の中から前の方に存在する文から重要語を抽出するものである。この方法は新聞記事のように文書の重要な部分の存在する場所が事前に分かる場合にのみ適用できる方法である。手がかり的な表現を用いる方法は、“As a result”のように特定のフレーズで始まる文は重要であるとの前提のもとに、そのようなフレーズを自然言語解析によって抽出し、重要語の抽出の範囲をそれらを含む文に限定するというものである。この方法は前提となる手がかり的な表現がなければ適用できない。
【０００３】
統計的な方法で古くから知られているのは、対象とする文書の中で頻繁に現れる用語を重要語とする方法である。この方法では文書内の出現頻度（tf）を重要度の尺度としている。しかし、この方法にはひとつの文書の中で頻度が高く出現する用語が常に重要とは限らないという問題があった。この問題を解消するための方法として、tf-idfモデルがある。tf-idfモデルでは、「多数の文書に現れる用語は重要度が低く、現れる文書の数が少ないほど重要度は高い」との考えのもとに、対象とする文書が含まれるコーパスの中で各用語につきその用語を含む文書数（df）を求め、その逆数（idf）をコーパス内の用語重要度とし、文書内重要度としてのtfとの積tf-idfを求めて用語重要度とする。このモデルはよく知られている方法であるが、コーパス内の用語重要度と文書内重要度との積で定義するため、依然として文書内重要度を如何に精度良く求めるかという問題は存在する。
【０００４】
【発明が解消しようとする課題】
上記のようにひとつの文書が与えられたとき、各用語の文書内重要度を如何に求めるかが重要な課題となる。この文書内重要度の算出は所与の文書に含まれる情報のみ用いるということが前提である。上記のコーパス内の用語重要度は各用語がひとつの文書に出現する確率に関わる量であり、情報量と関係する量である。一方、文書内重要度はひとつの文書に閉じて求められるものであるから、文書の内容、即ち文書の概念をどの程度代表しうるかの尺度となっていることが望ましい。従って、文書からの重要語句抽出においては、その文書が中心的に表している概念に近い概念を表す語句を優先して抽出すべきである。このためには文書が表す中心概念の抽出、各語句と文書の中心概念の関係の把握が必須である。しかしながら、従来の方法においては抽出された重要語句が文書の中心的な概念をどれだけ反映しているかは必ずしも明確ではなかった。このため、文書の概念とは関係の薄い語句が重要と見なされたり、単に頻度が高いだけの語句が重要語句として抽出されたりしていた。
【０００５】
【課題を解決するための手段】
上記のような問題を解決するため、この発明による重要語句抽出方法は、入力文書に出現する用語を検出し、入力文書を適当な単位の文書セグメントに区分けし、文書セグメントに出現する用語の出現頻度を成分とする文書セグメントのベクトルを生成し、文書セグメントベクトルの平方和行列の固有ベクトルおよび固有値を算出し、全固有ベクトルから重要語句決定のための一定数の固有ベクトルを選択し、着目する用語に対応する成分が値1をとり他は0となる用語ベクトル、もしくは着目する句に現れる用語に対応する成分が値1をとり他は0となる句ベクトルを前記固有ベクトルに射影し、その射影値の2乗と対応する固有値との積を求め、この値に基づいて着目する用語や句の重要度を決定していく。
【０００６】
文書セグメントベクトルとは文書セグメント中で各用語が現れる回数すなわち頻度をもとに決定した値を成分とするベクトルであり、その文書セグメントの概念を表す。文書セグメントの最も自然な単位は、文章である。次いで文書セグメントベクトルの集合に対して求められる平方和行列の固有ベクトル、固有値を求めることにより、文書セグメントベクトルの集合を互いに直交する固有ベクトルおよび固有値により展開する。固有ベクトルは用語の組合わせにより表現されるベクトルなのでそれ自体が概念を持つ。固有ベクトルは文書固有に決まるので固有ベクトルが表す概念を固有概念と呼んでもよい。また、固有値は固有ベクトルの表す概念の強さ、もしくはエネルギーと見なすことができる。従って大きな固有値に対応する固有ベクトル、即ち低次の固有ベクトルは文書の中心的な概念を表すとみなすことができる。
【０００７】
用語ベクトル、もしくは句ベクトルをある固有ベクトルに射影した値は、用語ベクトル、もしくは句ベクトルがその固有ベクトルに対応する固有概念方向に持つ成分であり、射影値を2乗した値は上記成分のエネルギーを表す。ここでは上記射影値を2乗した値と対応する固有値との積を、着目する用語ベクトル、もしくは句ベクトルの着目する固有概念に対する重要度とし、これをもとに重要な用語や句を選択していく。そのため文書が有する概念と関連を持つ用語や句が選択されるようになる。
【０００８】
【実施例】
図１は重要用語を抽出する本発明の第一の実施例を示す。この発明の方法は、汎用コンピュータ上でこの発明を組み込んだプログラムを走らせることによって実施することができる。図１は、そのようなプログラムを走らせている状態でのコンピュータのフローチャートである。
ブロック11は用語検出部、ブロック12は形態素解析部、ブロック13は文書セグメント区分け部である。ブロック14は文書セグメントベクトル作成部、ブロック15は平方和行列算出部、ブロック16は固有値・固有ベクトル算出部、ブロック17は主要固有ベクトル選択部、ブロック18は重要度算出部である。また、ブロック19は重要用語出力部を表す。以下、英文文書を例に実施例を説明する。
【０００９】
入力された文書について、先ず用語検出部11において、文書から単語及び数詞などの記号系列を検出する。ここでは、単語や記号系列を総称して用語と呼ぶ。英文の場合、単語同士を分けて書く正書法が確立しているので単語の検出は容易である。次に、形態素解析部12は、用語の品詞付けなどの形態素解析を行う。次に文書セグメントへの区分けを行う。文書セグメントへの最も基本的な単位は文である。英文の場合、文はピリオドで終わり、その後ろにスペースが続くので文の切出しは容易に行うことができる。その他の文書セグメントへの区分け法としては、ひとつの文が複文からなる場合主節と従属節に分けておく方法、用語の数がほぼ同じになるように複数の文をまとめて文書セグメントとする方法、文書の先頭から含まれる用語の数が同じになるように文とは関係なく区分けする方法などがある。
【００１０】
文書セグメントベクトル作成部14は、先ず文書全体に出現する用語から作成すべきベクトルの次元数および各次元と各用語との対応を決定する。この際に出現する全ての用語の種類にベクトルの成分を対応させなければならないということはなく、品詞付け処理の結果を用い、例えば名詞と動詞と判定された用語のみを用いてベクトルを作成するようにしてもよい。次いで、各文書セグメントに出現する用語の種類とその頻度を求め、その値に重みを乗じて対応する成分の値を決定し、文書セグメントベクトルを作成する。重みの与え方としては従来の技術を用いることができる。
【００１１】
平方和行列算出部15は、各文書セグメントベクトルの平方和行列の算出を行う。N個の用語が現れる入力文書がM個の文書セグメントに区分けされたとして、m番目の文書セグメントベクトルdm (m=1,..,M)を(dm1,..,dmN) Tにより表すと、平方和行列S=(Sij)は、次式により算出することができる。ここで、Tはベクトルの転置を表わす。
【００１２】
【数１】
0004349480.tif 000002
固有値・固有ベクトル算出部16は、行列Sの固有値・固有ベクトルの算出を行う。求められたk次の固有ベクトル、固有値をΦk、λkとする。Φ1は各文書セグメントベクトルを射影した時の射影値の自乗和を最大にする軸であるので、各文書セグメントに最も共通する概念を表すことになる。また、λ1はその射影値の自乗和そのものであり、Φ1が表す概念の強さ、もしくはエネルギーを表すとみなすことができる。Φ2はΦ1と直交すると言う条件のもとで射影値の自乗和を最大にする軸である。Φ3以降も同様である。このようにして求められた固有ベクトルが文書セグメントベクトルの集合を近似する部分空間の基底となる。固有ベクトルをL次まで用いれば部分空間の次元数はLとなり、入力文書の概念が互いに直交する概念を持つL個の固有ベクトルにより展開されたことになる。
【００１３】
主要固有ベクトル選択部17は、Lの値を具体的に決定する。行列SのランクをRとするとSからはR個の固有ベクトルが求められるので、その文書は本来はR個の固有概念を有することになる。部分空間は、このうちの（R−L）個の固有概念を捨ててL個の固有概念の組み合わせで文書の中心概念を表す。部分空間の基底ベクトルはL次までの固有ベクトルである。中心概念が本来の概念に対してどの程度の割合を占めていたかは、次式で表される。この式はLの値を実際に決めるときの目安にすることができる。
【００１４】
【数２】
0004349480.tif 000003
重要度算出部18では選択された固有ベクトルに対応する固有概念に対する重要度を各用語について求める。n番目の用語wnに着目することとし、着目用語のみが現れる文書セグメントベクトル、即n番目の成分だけが値1、他は0となるベクトル（用語ベクトル）をvnとする。先ず、全ての文書セグメントベクトルのvnへの射影エネルギーEを求めてみる。Eは次式で与えられる。
【００１５】
【数３】
0004349480.tif 000004
各文書セグメントで同じ用語が2回以上現れなければSnnはn番目の用語wnの文書中の出現頻度となり、文書内の出現頻度（tf）をwnの重要度とみなす従来の方法はEをwnの重要度とみなすのと同等となる。本発明では、数3を次のように変形する。
【００１６】
【数４】
0004349480.tif 000005
数4の導出では
0004349480.tif 000006
の関係を用いている。数4はEを各次数の固有概念からの寄与の総和として与えるものである。従って、imp(wn, k)をwnのｋ番目の固有概念に対する重要度とすると、imp(wn, k)は次式で定義することができる。
【００１７】
【数５】
0004349480.tif 000007
ここで、ΦknはΦkのn番目の成分である。数5の定義では、imp(wn, k)はwnの出現頻度の値に直接影響を受ける。そのため、数5においてSnnで正規化した値を重要度とすることもできる。この場合には重要度は以下のようになる。
【００１８】
【数６】
0004349480.tif 000008
重要用語出力部19は各imp(wn, k)の値をもとに入力文書の重要用語を決定し出力する。これには次のような2つの方法が考えられる。
（１）最初の方法では、数式５あるいは数式６に従い一定次数Lまでの各固有概念に対し重要語を重要度の順に一定個抽出して出力する。各kに対し何個の重要語を抽出するかが問題となるが、例えばλkの値に応じて各kの抽出重要語数を決めるという方法がある。
（２）2番目の方法では、数式７あるいは数式８に従い先ず各imp(wn, k)についてｋ＝１からＲまでの和を取り全体の文書に対する重要度を定義し、次いで全体の文書に対する重要度の大きい順に一定個の用語を抽出し出力する。前述のように低次の固有概念ほど文書の中心概念に近いと考えられるので、低次のimp(wn, k)ほど強調すべきと考えられる。用語wnの文書に対する重要度をimp(wn)とするとき、ωkをk次の固有概念に対する重みとして、
【００１９】
【数７】
0004349480.tif 000009
もしくは
【００２０】
【数８】
0004349480.tif 000010
により定義することができる。ωkは低次ほど大きな値を設定すべきなので、与え方としては、例えば、
【００２１】
【数９】
0004349480.tif 000011
を用いることができる。ここでωkはｋが大きいほど小さい値をとるので、数８においてｋ＝１からＲまでの和ではなく、ｋ＝1からＬまでの和としてもよい。
【００２２】
図2は重要句を抽出する本発明の第二の実施例を示す。この発明の方法は、汎用コンピュータ上でこの発明を組み込んだプログラムを走らせることによって実施することができる。図２は、そのようなプログラムを走らせている状態でのコンピュータのフローチャートである。
ブロック11は用語検出部、ブロック22は形態素解析・統語解析部、ブロック13は文書セグメント区分け部である。ブロック14は文書セグメントベクトル作成部、ブロック28は重要度算出部である。また、ブロック29は重要句出力部を表す。これらのうち、ブロック11、13、14までは図1に示したものと同じである。
ブロック22は図1のブロック12で行う形態素解析以外に統語解析を行い、重要度の評価対象としての句の検出を行う。句とはいくつかの用語が組み合わされてひとつの品詞の働きをするものである。ここで検出された句の中から重要な句が選択される。
【００２３】
重要度算出部28では各句に対してその重要度を求める。複数の用語から成るひとつの句の句ベクトルをp=(p1,.., pN)Tとする。pは、句を構成する用語に対応する成分には句の中の出現数が与えられ、他の部分は０となるベクトルである。ここでは句の重要度imp(p)を全ての文書セグメントベクトルとpとの内積の2乗和により定義する。imp(p)は次のように記述できる。
【００２４】
【数１２】
0004349480.tif 000012
これは、句ベクトル方向の文書エネルギー×句エネルギーが重要度を表すとみなしたものである。ところで数12の定義では、句の長さが重要度に影響する可能性がある。そこで句ベクトルのノルムの2乗で正規化した
【００２５】
【数１３】
0004349480.tif 000013
を重要度としてもよい。また数12、数13に共通して現れる全ての文書セグメントベクトルとpとの内積の2乗和は、図１の平方和行列算出部15で求められる平方和行列S=(Sij)を用いて次のように算出することができる。
【００２６】
【数１４】
0004349480.tif 000014
従って、図２において図１の平方和行列算出部15と同様の処理を行うようにし、数14を用いて数12または数13で定義される重要度を求めるようにしてもよい。
重要句出力部29は各句に対して求められた重要度の大きい順に一定個の句を選択して出力する。
【００２７】
第二の実施例においては以下のようにすることにより、重要な文を抽出することができる。即ち、ブロック13において、ブロック14に用いる文書セグメント以外に全ての文を抽出しておき、ブロック28では句ベクトルの代わりに、文の中での用語の出現数を対応する成分の値とする文ベクトルを用いればよい。
【００２８】
図3は重要句を抽出する本発明の第三の実施例を示す。この発明の方法は、汎用コンピュータ上でこの発明を組み込んだプログラムを走らせることによって実施することができる。図３は、そのようなプログラムを走らせている状態でのコンピュータのフローチャートである。
ブロック11は用語検出部、ブロック22は形態素解析・統語解析部、ブロック13は文書セグメント区分け部である。ブロック14は文書セグメントベクトル作成部、ブロック15は平方和行列算出部、ブロック16は固有値・固有ベクトル算出部、ブロック17は主要固有ベクトル選択部、ブロック38は重要度算出部である。また、ブロック39は重要句出力部を表す。これらのうち、ブロック11、及びブロック13から17までは図1に示したものと同じである。また、ブロック22は図2に示したものと同じである。
【００２９】
重要度算出部38では選択された固有ベクトルに対応する固有概念に対する重要度を各句について求める。図2と同様に複数の用語から成るひとつの句の句ベクトルをp=(p1,.., pN)Tとする。数12で定義される重要度imp(p)は
【００３０】
【数１５】
0004349480.tif 000015
のように書け、imp(p)は各次の固有概念に対する句の重要度の和をとったものとみなすことが出来る。そこでここでは、imp(p,k)を次のように定義してその算出を行う。
【００３１】
【数１６】
0004349480.tif 000016
また、数16の定義では重要度は数15で定義されるimp(p)の値が大きいほど、またpのノルムの2乗値が大きいほど、大きくなる傾向がある。そこで数14で与えられるimp(p)の値で正規化し、imp(p,k)をimp(p)の値によらない相対的な値として定義するようにしてもよい。この場合、imp(p,k)は次のように定義できる。
【００３２】
【数１７】
0004349480.tif 000017
もしくは、各imp(p,k)の値とpのノルムの2乗値とを独立にするため、
【数１８】
0004349480.tif 000018
によりimp(p,k)を算出してもよい。
重要句出力部39は各imp(p,k)の値をもとに入力文書の重要句を決定し出力する。これには図1におけるブロック19と同様に次のような2つの方法が考えられる。
（１）最初の方法では、数式１６あるいは数式１７に従い一定次数Lまでの各固有概念に対し重要句を重要度の順に一定個抽出して出力する。各kに対し何個の重要句を抽出するかが問題となるが、例えばλkの値に応じて各kの抽出重要句数を決めるという方法がある。
（２）2番目の方法では先ず数式１９に従い各imp(p,k)についてｋ＝１からＲまでの和を取り全体の文書に対する重要度imp(p)を定義し直し、次いで全体の文書に対する重要度の大きい順に一定個の句を抽出し出力する。前述のように低次の固有概念ほど文書の中心概念に近いと考えられるので、低次のimp(p,k)ほど強調すべきと考えられる。ωkをk次の固有概念に対する重みとして、
【００３３】
【数１９】
0004349480.tif 000019
により定義することができる。ωkの与え方としては、数9に示すような方法を用いることができる。ここでωkはｋが大きいほど小さい値をとるので、数１９においてｋ＝１からＲまでの和ではなく、ｋ＝1からＬまでの和としてもよい。
【００３４】
第三の実施例においては以下のようにすることにより、重要な文を抽出することができる。即ち、ブロック13において、ブロック14に用いる文書セグメント以外に全ての文を抽出しておき、ブロック38では句ベクトルの代わりに、文の中での用語の出現数を対応する成分の値とする文ベクトルを用いればよい。
図４は、本願発明の重要用語、重要句、重要文抽出装置１００の基本構成図を示す。入力部１１０からユーザが抽出したい用語、句、文を含んだ文書を入力する。ユーザ操作部１３０から、抽出したい用語、句、文等の単位を指定する。演算部１２０で、本願発明に従い、重要用語、重要句、重要文を抽出する。出力部１４０から、抽出された重要用語、重要句、重要文を出力する。
【００３５】
【発明の効果】
58個の文からなる英文文書から2回以上出現する44個の名詞を用語として用い、文単位に文書セグメントベクトルを作成し、重要語の抽出を行った結果では得られた結果は人間の感覚とよく一致しており、人間が重要と思う語が重要な語として抽出されていた。このように本発明によれば文書の中心概念に沿った語が重要語として抽出されるので、重要語抽出の能力が著しく高められる。
【図面の簡単な説明】
【図１】  本発明の第１の実施例を示す図である。
【図２】  本発明の第２の実施例を示す図である。
【図３】  本発明の第３の実施例を示す図である。
【図４】  本発明の装置の基本構成図である。
【符号の説明】
１００：重要用語・句・文抽出装置
１１０：入力部
１２０：演算部
１３０：ユーザ操作部
１４０：出力部
【図１】
0004349480.tif 000020
【図２】
0004349480.tif 000021
【図３】
0004349480.tif 000022
【図４】
0004349480.tif 000023