説明

単語階層関係解析装置及びそれに用いる方法、単語階層関係解析プログラム

【課題】統計的な手法で単語間の意味的な関係を自動的に推定する。
【解決手段】解析対象文中に含まれている単語に一意的に付したIDをi、jとするとき、見出し語wに関する説明文中において見出し語wが現れる出現頻度N(w(1)|w)を求め、出現頻度に基づき、見出し語wに関する説明文中において見出し語wが現れる出現確率P(w(1)|w)を求め、これを用いて、A=P(w(1)|w)となる行列Aを作成し、再帰的に説明文を無限に展開した拡張説明文について行列C=αA+α2+・・・+αn+・・・を求め、得られた拡張説明文の行列Cにおいて、見出し語w,wについてのC(w,w)とその対象の成分C(w,w)差の符号に基づき単語w,wの上位下位関係を判定する。

【発明の詳細な説明】
【技術分野】
【0001】
この発明は、2単語間の階層関係を自動判別するための単語階層関係解析装置及びそれに用いる方法、更にコンピュータに2単語間の階層関係を自動判別を実行させるための単語階層関係解析プログラムに関するものである。
【背景技術】
【0002】
高度な情報検索や自然言語処理には、多様な辞書が必要である。その中でも、有用な辞書に、単語間の上位下位関係や同義関係を表現したシソーラスがある。シソーラスは情報検索におけるユーザが入力した検索式の拡張や単語間の意味的な距離を計算することで多義性の解消、機械翻訳といった多くのシステムにおいて利用されている。
【0003】
シソーラスは,人手によって作成されるのが主流である。しかし、単語と単語の関係を手作業で調べるため、時間と手間を要する。また、単語間の関係を理解するためには、情報量の多い意味解析のできる辞書が必要となる。つまり、単一の国語辞典や百科事典のみでは、語の説明が少量であり、また新しい事柄や専門技術、新しい定義などが頻繁に改訂されるわけではないため、単語と単語の深い意味的な関係を見出すことができないという問題点がある。
【0004】
一方、非特許文献1、2に示されているように、シソーラスの自動構築への試みとして、文書中の語の並列関係の表現形式のパターン化をすることによって、テキストコーパスから単語の同義関係を自動的に抽出する研究が知られている。しかし、文章中には様々な表現があるため、その表現のパターンを網羅的に特定することは困難である。
【非特許文献1】Marti A.Hearst, "Automatic Acquisition of Hyponyms from Large Text Corpora" Proceedings of the Fourteenth International Conference on Computational Linguistics, July.1992
【非特許文献2】鶴丸弘昭、竹下克典、伊丹克企、柳川俊英、吉田将、“国語辞典情報を用いたシソーラスの作成について”情報処理学会研究報告、1991−NL−83
【発明の開示】
【発明が解決しようとする課題】
【0005】
また、既存のシソーラスに未知語を配置することによってシソーラスを拡張する研究がある(浦本直彦、“コーパスに基づくシソーラス−統計情報を用いた既存のシソーラスへの未知語の配置”情報処理学会論文誌、Vol.37,No.12,pp.2182-2189,Dec.1996)。既存のシソーラス自体が人手で作られたものなので、完全な自動化ヘは至っていない。本発明では、大規模かつ情報量の多いテキストコーパスを用いて統計的な手法で単語間の意味的な関係を自動的に推定することを課題とする。
【課題を解決するための手段】
【0006】
本発明に係る単語階層関係解析装置は、解析対象文中に含まれている単語に一意的に付したIDをi、jとするとき、見出し語wに関する説明文中において見出し語wが現れる出現頻度N(w(1)|w)を全てのi、jについて求める出現頻度検出手段と、
前記出現頻度検出手段により検出された出現頻度に基づき、見出し語wに関する説明文中において見出し語wが現れる出現確率P(w(1)|w)を全てのi、jについて求める確率算出手段と、
前記確率算出手段により算出された出現確率P(w(1)|w)を用いて、A=P(w(1)|w)となる行列Aを作成する行列作成手段と、
見出し語の説明文中に出現する単語を、次の見出し語とする説明文を2次説明文とし、この2次説明文中に出現する単語を、次の見出し語とする説明文を3次説明文とし、以下再帰的に説明文を無限に展開した拡張説明文について行列Cを
C=αA+α2+・・・+αn+・・・とし、この拡張説明文の行列Cを求める拡張説明文行列算出手段と、前記拡張説明文行列算出手段により得られた拡張説明文の行列Cにおいて、見出し語w,wについてのC(w,w)とその対象の成分C(w,w)についての大小関係に基づき単語w,wの上位下位関係を判定する判定手段とを具備することを特徴とする。
【0007】
本発明に係る単語階層関係解析装置では、前記拡張説明文行列算出手段は、C=αA+α2+・・・+αn+・・・の計算に代えて、C=(1−a)(I−aA)−1なる行列Cを計算することにより拡張説明文の行列Cを求めることを特徴とする。
【0008】
本発明に係る単語階層関係解析装置では、前記判定手段は、C(w,w)とその対象の成分C(w,w)の差分dを求め、このdの符号が正の場合には単語wが上位語であると判定し、このdの符号が負の場合には単語wが上位語であると判定することを特徴とする。
【0009】
本発明に係る単語階層関係解析装置では、前記拡張説明文行列算出手段は、予め定められた重み或いは計算により得られた重みを設定する重み設定部を具備することを特徴とする。
【0010】
本発明に係る単語階層関係解析方法は、解析対象文中に含まれている単語に一意的に付したIDをi、jとするとき、見出し語wに関する説明文中において見出し語wが現れる出現頻度N(w(1)|w)を全てのi、jについて求める出現頻度検出ステップと、
前記出現頻度検出ステップにより検出された出現頻度に基づき、見出し語wに関する説明文中において見出し語wが現れる出現確率P(w(1)|w)を全てのi、jについて求める確率算出ステップと、
前記確率算出ステップにより算出された出現確率P(w(1)|w)を用いて、A=P(w(1)|w)となる行列Aを作成する行列作成ステップと、
見出し語の説明文中に出現する単語を、次の見出し語とする説明文を2次説明文とし、この2次説明文中に出現する単語を、次の見出し語とする説明文を3次説明文とし、以下再帰的に説明文を無限に展開した拡張説明文について行列Cを
C=αA+α2+・・・+αn+・・・とし、この拡張説明文の行列Cを求める拡張説明文行列算出ステップと、前記拡張説明文行列算出ステップにより得られた拡張説明文の行列Cにおいて、見出し語w,wについてのC(w,w)とその対象の成分C(w,w)についての大小関係に基づき単語w,wの上位下位関係を判定する判定ステップとを具備することを特徴とする。
【0011】
本発明に係る単語階層関係解析方法では、前記拡張説明文行列算出ステップでは、C=αA+α2+・・・+αn+・・・の計算に代えて、C=(1−a)(I−aA)−1なる行列Cを計算することにより拡張説明文の行列Cを求めることを特徴とする。
【0012】
本発明に係る単語階層関係解析方法では、前記判定ステップでは、C(w,w)とその対象の成分C(w,w)の差分dを求め、このdの符号が正の場合には単語wが上位語であると判定し、このdの符号が負の場合には単語wが上位語であると判定することを特徴とする。
【0013】
本発明に係る単語階層関係解析方法では、前記拡張説明文行列算出ステップでは、予め定められた重み或いは計算により得られた重みを設定して、これを用いることを特徴とする。
【0014】
本発明に係る単語階層関係解析プログラムは、コンピュータに対し、
解析対象文中に含まれている単語に一意的に付したIDをi、jとするとき、見出し語wに関する説明文中において見出し語wが現れる出現頻度N(w(1)|w)を全てのi、jについて求める出現頻度検出ステップと、
前記出現頻度検出ステップにより検出された出現頻度に基づき、見出し語wに関する説明文中において見出し語wが現れる出現確率P(w(1)|w)を全てのi、jについて求める確率算出ステップと、
前記確率算出ステップにより算出された出現確率P(w(1)|w)を用いて、A=P(w(1)|w)となる行列Aを作成する行列作成ステップと、
見出し語の説明文中に出現する単語を、次の見出し語とする説明文を2次説明文とし、この2次説明文中に出現する単語を、次の見出し語とする説明文を3次説明文とし、以下再帰的に説明文を無限に展開した拡張説明文について行列CをC=αA+α2+・・・+αn+・・・とし、この拡張説明文の行列Cを求める拡張説明文行列算出ステップと、
前記拡張説明文行列算出ステップにより得られた拡張説明文の行列Cにおいて、見出し語w,wについてのC(w,w)とその対象の成分C(w,w)についての大小関係に基づき単語w,wの上位下位関係を判定する判定ステップと
を実行させることを特徴とする。
【0015】
本発明に係る単語階層関係解析プログラムでは、前記拡張説明文行列算出ステップでは、C=αA+α2+・・・+αn+・・・の計算に代えて、C=(1−a)(I−aA)−1なる行列Cを計算することにより拡張説明文の行列Cを求めることを特徴とする。
【0016】
本発明に係る単語階層関係解析プログラムでは、前記判定ステップでは、C(w,w)とその対象の成分C(w,w)の差分dを求め、このdの符号が正の場合には単語wが上位語であると判定し、このdの符号が負の場合には単語wが上位語であると判定することを特徴とする。
【0017】
本発明に係る単語階層関係解析プログラムでは、前記拡張説明文行列算出ステップでは、予め定められた重み或いは計算により得られた重みを設定して、これを用いることを特徴とする。
【発明の効果】
【0018】
本発明によれば、拡張説明文という、説明文を再帰的に展開する手法を採用しているので、大規模かつ事典的な性質を持つコーパスを用いて、単語の共起から意味的な上位下位関係を推定した結果、70%に近い正解率で見出し語間の上位と下位を推定することができた。
【発明を実施するための最良の形態】
【0019】
本発明では、見出し語の説明文中に出現する単語を、次の見出し語とする説明文を2次説明文とし、この2次説明文中に出現する単語を、次の見出し語とする説明文を3次説明文とし、以下再帰的に説明文を無限に展開した拡張説明文について行列Cを求め、この行列Cにおいて、見出し語w,wについてのC(w,w)とその対象の成分C(w,w)についての大小関係に基づき単語w,wの上位下位関係を判定している。この場合に、C=αA+α2+・・・+αn+・・・として求めている。ここで、行列Aは、解析対象文中に含まれている単語に一意的に付したIDをi、jとするとき、見出し語wに関する説明文中において見出し語wが現れる出現頻度N(w(1)|w)を全てのi、jについて検出し、検出された出現頻度に基づき、見出し語wに関する説明文中において見出し語wが現れる出現確率P(w(1)|w)を全てのi、jについて算出し、算出された出現確率P(w(1)|w)を用いて、A=P(w(1)|w)となる行列Aである。行列Cは、C=αA+α2+・・・+αn+・・・の計算に代えて、C=(1−a)(I−aA)-1なる行列Cを計算することによっても算出することができる。
【辞典コーパス】
【0020】
以下添付図面を参照して、本発明に係る単語階層関係解析装置及びそれに用いる方法、単語階層関係解析プログラムを説明する。本発明では、大規模かつ情報量の多いテキストコーパスとして、Webから構築した事典コーパス(藤井敦、伊藤克亘、石川徹也、“WWWは百科事典として使えるか?−大規模コーパスの構築−”情報処理学会研究報告、2002−NL−149)を用いる。本発明で用いた事典コーパスは、Webを事典的に利用することを目的として、約20万語のデータを整備して作成したものである。
【0021】
当該事典コーパスの構築は、以下のように行った。
1.Web検索エンジンを用いて、ある見出し語を含むWebページを網羅的に取得する。
2.取得したページにおけるHTMLのタグ構造を利用してページのレイアウトを解析し、見出し語を含む領域(段落)を抽出し、これを見出し語に対する説明文とする。
【0022】
つまり1つの見出し語につき、Webから集めた説明文が多数存在する。その結果、20万語の見出し語に対し、平均10以上の説明文を集めることができている。現時点では、情報通信技術(IT)分野における見出し語の各説明文に対して、以下のような判定を行った。
【0023】
・判定A:(見出し語を説明している)
・判定B:(見出し語を部分的に説明している)
・判定C:(見出し語を説明していない)
この3段階で判定し、さらに用語の語義や分野に応じて分類をする。
【0024】
本発明では、このコーパスが1つの見出し語につき、多数の説明文をもつという構成により,出現頻度に基づく単語の共起が明確になり、単語と単語の上位下位関係、同義関係を推定できると考えられるため使用することとした。
【0025】
[単語間の上位下位関係の推定]
<単語間の上位下位関係の指標>
ある単語を説明するとき、「〜の種類」「〜のひとつ」というような表現をするのが一般的である。ここで「〜」は見出し語の上位語にあたる。例えば、「ライオン」の説明文では「ネコ科の哺乳類」と表現する.つまり説明文中において「哺乳類」という単語の出現頻度が高い。しかし、見出し語「哺乳類」を説明するとき「ライオン」という単語を説明に用いることは少ない。つまり、説明文において「ライオン」の出現頻度が低い。このことから説明文に出現する単語は、見出し語の上位語の出現頻度が高い。この例では、「哺乳類」が「ライオン」の上位語であると推定できる。つまり、見出し語wの説明文中における見出し語wの出現頻度と,見出し語wの説明文中における見出し語wの出現頻度を比較することが単語間の上位下位関係を推定する1つの指標であると考えられる。
【0026】
<拡張説明文>
説明文における単語の出現頻度を比較することで見出し語の上位語を推定することは可能である。ただ、本発明で用いる事典コーパスはWebから集めてきた説明文であるため、各説明文における信頼性の水準に差が生じている。そこで、ある見出し語の説明文中に出現する単語も説明文を持つ、と考えることで説明文を再帰的に展開する手法を利用する。例えば「ROM」の説明文中に見出し語「RAM」が出現していたとする。また「RAM」の説明文では「記憶装置」が出現していたとする。このとき、説明文を展開することで「ROM」の上位語として「記憶装置」を推定することが可能となる。
【0027】
つまり、説明文を見出し語の集合であると考えると、見出し語に対する説明文は無限に展開できる。この手法は拡張説明文(鈴木敏、“辞書に基づく単語の確率ベクトル”技術情報レターズ(FIT2002)、Vol.1,pp.79-80,2002)と呼ばれ、見出し語と意味的な関係はあるが、説明文には出現しない単語の出現確率を、説明文を展開することによって推定することが可能となる。
【0028】
以下、説明文中の単語をn回展開した説明文を「n次説明文」と呼ぶ。見出し語wに対して、元の説明文(1次説明文)からn次説明文は全てwを説明する文となる。まず、wのn次説明文中に単語wが現れる確率をP(w(n)|w)とすると、1次説明文での単語間の関係は
【0029】
【数1】

と表される。説明文中の単語の出現頻度をN(w(n)|w)とすると、各要素は
【0030】
【数2】

と表される。
【0031】
2次説明文に関しては、
【0032】
【数3】

が成立ち、行列Aを用いれば全体はA2 と表せる。同様に、n次説明文に関しては、全体を表す式はAn となる。
【0033】
ここで1次説明文からn次説明文までの全てをまとめた拡張説明文の行列Cを
C=αA+α2+・・・+αn+・・・ (3)
を定義する。αはn次説明文の全体に対する重みである。拡張説明文の行列Cの要素にあたるC(w,w)の値は、見出し語wの拡張した説明文中に見出し語wが出現する確率を表している。
【0034】
<拡張説明文の利用>
拡張説明文という手法は本来、単語間の類似度を算出する手法として提案された。見出し語wから見出し語wを想起する確率は、
【0035】
【数4】

により与えられる。
【0036】
そこで、国語辞典を用いて拡張説明文の行列Cを算出し、その要素を用いて計算されるP(w|w)を単語間の類似度として考え、同義語を抽出する。ここで、拡張説明文の行列Cにおける各n次説明文の重みは後述する指数重みを用いる。
【0037】
本発明では、この拡張説明文の行列Cにこそ、単語と単語の意味的なベクトルが含まれていると考えることで、単語間の上位下位関係を推定するために利用する。先に述べた単語間の意味的な上位下位関係を導く指標を用いると、見出し語wとwにおける成分C(w,w)の値と、その対称の成分C(w,w)の値を比較することに帰着する。本発明では、
d=C(w,w)−C(w,w) (5)
を計算し,dの値が正であればwはwの上位の語であると推定し、負であればwはwの下位の語であると推定することにする。
【0038】
<拡張説明文における重み>
本発明では、式(1)を用いて式(0)に示した確率行列Aを計算し、式(3)に示した拡張説明文の行列Cを算出するときにおける各n次説明文の重みの付け方についで二種類の方法を提案する。
【0039】
<最適な重みの推定>
式(3)においてn次説明文までを考慮するのではなく、低次の説明文のみを用いて、単語と単語の上位下位関係を推定する。低次の説明文を特徴量と考えて、最適な重みを線形判別分析により学習し、拡張説明文の行列Cを計算する。これは見出し語数を増やし大規模にモデルを試すときに生じる計算量の問題に対処するためである。この学習、評価法については後述の「評価実験」の項において説明する。
【0040】
<指数重み>
1次説明文ほどその見出し語を直接的に表現しているという考えから1次説明文に最も高い重みを与え、nの値に応じて指数的に減少するような重みを考える。aを定数とするとき、式(3)は、
C=b(aA+a22+・・・+ann+・・・) (6)
【0041】
【数5】

となる。式(3)において、αnnまでの項を加算した結果を行列Cとし、αiとしては、
【0042】
【数6】

としてαiを予め決めた値として与えるか、実験的に求めて設定する。
【0043】
また、上記(7)式より、特に行列式det(I−aA)≠0ならば
C=abA(I−aA)-1 (8)
となり、上記(8)式により拡張説明文の行列Cを計算する。なお、Iは単位行列を示すものである。
【0044】
上記(8)式において、ab=(1−a)であるようなbを選択するならば、(8)式は、
C=(1−a)A(I−aA)-1 (8’)
となり、上記(8’)式により拡張説明文の行列Cを計算することもできる。
【0045】
[評価実験]
語彙中の語と語の上位下位関係を語に対応する説明文を用いて推定をおこなう。このとき説明文の質による推定精度を確認するために、事典コーパスにおいて説明文が人手によってA、B、Cと判定されているIT用語に限定し、その中の語の上位下位関係を推定する。今回はその見出し語に対応する複数の説明文すべてをまとめて、1つの説明文と考える。表1に、使用したIT用語の説明文の判定別データを示す。この表1においては、二人の判定が一致した場合に、単独に、A判定、B判定、C判定として分類しており、A、Bが共存する欄は判定がAとBに割れた場合を示し、A、B、Cが共存する欄は全ての判定データを示す。判評価用としてはJICST科学技術シソーラス1999年度版(約43000 語を記述)(JST(JICST)科学技術シソーラス1999年版、http://jois.jst.go.jp/jois/html/thesaurus_index.htm.)を用いる。その中で表2のように、IT用語中の二つの見出し語の上位下位関係の判定がされているものを抽出し、利用した。JICSTシソーラスに記述されていないIT用語の上位下位関係については、今回は評価を行っていない。
【0046】
JICSTシソーラスから抽出したデータを4等分し、そのうち1つを評価用に、残り3つを学習用データとする。この4等分とは、判定の対象となる二つの見出し語のもつ説明文数の和の多い順に並び替え、均等にデータセットを4つ作成することである。
【0047】
【表1】

【0048】
【表2】

【0049】
<重みの学習>
まず、式(5)をn次説明文まで用いて、以下のように展開する。
d=C(w,w)−C(w,w
=α1{P(w(1)|w)−P(w(1)|w)}
+α2{P(w(2)|w)−P(w(2)|w)} (9)
+・・・・
+αn{P(w(n)|w)−P(w(n)|w)}
【0050】
式(9)を線形判別関数と考え、JICSTシソーラスからの見出し語間の正しい上位下位関係を示す学習用データを用いてdが正の値と、負の値の2クラスに判別できるように係数αiを求める。
【0051】
ここで、フィッシャーの線形判別法(石井健一郎、上田修功、前田英作、村瀬洋、“パターン認識”オーム社(2002))を利用する。これはp個の特徴量に対して
z=α11+α22+・・・・+αpp (10)
という線形結合zの値によって判別ができるように係数αiを決定する手法である。
【0052】
2クラスの判別を行うときのzの変動を表す平方和は、
【0053】
【数7】

と展開される。右辺第1項はクラス間平方和S、第2項はクラス内平方和Sである。nk は各クラスにおける要素数である。
【0054】
すなわち、zをよく判別できるためにはクラス内平方和Sを小さく、クラス間平方和Sを大きくするように係数αiを決定することに帰着する。そこで、フィッシャーは評価基準として式(12)を定義した。
=S/S (12)
【0055】
上記Jの値が大きくなるように係数αiを決定すればよい。式(12)をさらに展開すると固有値問題が得られる。この固有値問題について通例の解法により固有値を得て、このうちの最大固有値に対応する固有ベクトルが係数αiとする。
【0056】
上記における係数αiの算出手法は、以下に示す処理1〜処理6による算出法と等価である。
(処理1) 既述の情報源であるJICSTシソーラスについて、対象とする語彙に含まれる語のうち上位下位関係が判明している語の組をn組用意する。なお、用意する語の組は、対象とする語彙のうち、ごく一部であってもよい。
(処理2) i番目の組に含まれる語の上位の語について、当該上位の語が含まれていた元の語彙におけるIDをwx、また、i番目の組に含まれる語の下位の語について、当該下位の語が含まれていた元の語彙におけるIDをwyとし、ベクトルziを式(0)におけるAを用いて、
【0057】
【数8】

と定義する。
【0058】
(処理3) ベクトルziの平均zAV
【0059】
【数9】

より計算する。
【0060】
(処理4) S
【0061】
【数10】

とする。ここに、tは転置を表している。
【0062】
(処理5) S
【0063】
【数11】

とする。
【0064】
(処理6) 上記処理4と上記処理5によるS、Sを用いて、S/Sの最大固有値とそれに対応するベクトルを計算する。このベクトルの要素が重みαiとなる。
【0065】
上述した単語階層関係解析の方法は、図1のフローチャートに示される各ステップの処理を順次実行することにより実現される。即ち、処理がスタートとなり、解析対象文中に含まれている単語に一意的に付したIDをi、jとするとき、見出し語wに関する説明文中において見出し語wが現れる出現頻度N(w(1)|w)を全てのi、jについて求める(S1:出現頻度検出ステップ)。
【0066】
次に、上記ステップS1において検出した出現頻度N(w(1)|w)に基づき、(1)式により、見出し語wに関する説明文中において見出し語wが現れる出現確率P(w(1)|w)を全てのi、jについて求める(S2:確率算出ステップ)。
【0067】
更に、上記ステップS2により算出された出現確率P(w(1)|w)を用いて、A=P(w(1)|w)となる行列A((0)式)を作成する(S3:行列作成ステップ)。
【0068】
ステップS3に次いで、拡張説明文について行列Cを(3)式により求める(S4:拡張説明文行列算出ステップ)。ここで、(3)式では無限大次までの総和となっているが、実際上はn次までとして、nを予め定めるか実験的に適当な値を求めるかして与える。また、重みαiについても、予め定めるか実験的に適当な値を求めるかして与える(重みを設定する重み設定部を備える)ものとし、次の式の関係を有している。
【0069】
【数12】

実験的に重みαiを求める場合の処理は、既述の(処理1)〜(処理6)による。なお、この拡張説明文行列算出ステップS4においては、上記式(3)式に代えて、(8)式或いは(8’)式を採用することもできる。
【0070】
上記ステップS4の次に、拡張説明文の行列Cにおいて、見出し語w、wについてのC(w,w)とその対象の成分C(w,w)についての大小関係を、例えば、d=C(w,w)−C(w,w)を計算することにより求め、これに基づき単語w,wの上位下位関係を判定する(S5:判定ステップ)。
【0071】
判定ステップS5における上位下位関係判定の具体的手法は既に述べた通り、dの符号が正の場合には単語wが単語wの上位語であると判定し、このdの符号が負の場合には単語wが単語wの上位語であると判定するものである。
【0072】
上記図1に示したフローチャートによる単語階層関係解析方法は、同フローチャートに対応するプログラムをプロセッサに実行させて実現する。この場合に、プロセッサは、図2に示すブロック構成を有する単語階層関係解析装置となる。
【0073】
図2に示す単語階層関係解析装置は、出現頻度検出手段1、確率算出手段2、行列作成手段3、拡張説明文行列算出手段4、判定手段5及び解析対象文が記憶され出現頻度検出手段1により解析対象文が取り出される記憶手段10を具備している。
【0074】
出現頻度検出手段1は、記憶手段10に記憶されている解析対象文を取り出し、該解析対象文中に含まれている単語に一意的に付したIDをi、jとするとき、見出し語wに関する説明文中において見出し語wが現れる出現頻度N(w(1)|w)を全てのi、jについて求め、確率算出手段2へ送出するものである。
【0075】
確率算出手段2は、出現頻度検出手段1により検出された出現頻度に基づき、見出し語wに関する説明文中において見出し語wが現れる出現確率P(w(1)|w)を全てのi、jについて求めるものであり、算出結果を行列作成手段3へ送出するものである。
【0076】
行列作成手段3は、確率算出手段2により算出された出現確率P(w(1)|w)を用いて、A=P(w(1)|w)となる行列Aを作成するものである。行列作成手段3により作成された行列Aは拡張説明文行列算出手段4へ送出される。
【0077】
拡張説明文行列算出手段4は、拡張説明文について行列Cを(3)式により求める。ここで、(3)式では無限大次までの総和となっているが、実際上はn次までとして、nを予め定めるか実験的に適当な値を求めるかして与える。また、重みαiについても、予め定めるか実験的に適当な値を求めるかして、重みを設定する重み設定部を具備するものとし、先に図1のフローチャートにおいて拡張説明文行列算出ステップと同じものである。実験的に重みαi を求める場合の処理は、既述の(処理1)〜(処理6)による。なお、この拡張説明文行列算出手段4は、上記式(3)式に代えて、(8)式或いは(8’)式を採用することもできる。拡張説明文行列算出手段4より得られた結果は、判定手段5へ送出される。
【0078】
判定手段5は、拡張説明文の行列Cにおいて、見出し語w、wについてのC(w,w)とその対象の成分C(w,w)についての大小関係を、例えば、d=C(w,w)−C(w,w)を計算することにより求め、これに基づき単語w,wの上位下位関係を判定するものである。
【0079】
判定手段5における上位下位関係判定の具体的手法は既に述べた通り、dの符号が正の場合には単語wが単語wの上位語であると判定し、このdの符号が負の場合には単語wが単語wの上位語であると判定する。
【0080】
<重みの評価>
上記のようにして学習して得られた重みαiを用いて、JICSTシソーラスから得られた評価用セットの正解率を算出する。評価用セッ卜における見出し語の組に対して式(9)を計算し、値が正であったものを全ての見出し語の組(評価用セッ卜のデータ数)で割ったものを正解率式(13)とした。
【0081】
【数13】

【0082】
<線形判別法により推定した重みの検証>
上述の線形判別法により推定した重みについて以下の手順1〜手順5を実行して、重みの検証を行った。
(手順1) 1次説明文(A)と2次説明文(A)を計算し、JICSTシソーラスにおける学習用データを用いて、その重みαiをフィッシャーの線形判別法を用いて学習する。
(手順2) 学習した重みαiを用いて、JICSTシソーラスから得られた評価用セットにおける正解率を計算する。
(手順3) 4回のクロスバリデーション(交叉検定)をおこない、正解率の平均値を求める。
(手順4) 3次説明文を特徴量として増やし、同様の学習、評価を繰り返す。
(手順5) 以後、判定A,判定B,判定Cの説明文毎に、展開した説明文を特徴量として増加させながら重みを学習し、評価を行う。
【0083】
上記の通りの手順1〜手順5による判定ごとに、特徴量を増やしながら重みの推定を行ったときの正解率の推移を図3に示す。
【0084】
考察すると、図3において、低次の展開した説明文のみを用いて学習による最適な重みを推定したところ、A判定の説明文では1〜5次説明文を用いたときに70.0%の正解率を得た。またC判定の説明文では69.1%の正解率を得ることができ、上位語の推定のためのスタートラインとしては十分な数字であると考えられる。つまり、A判定の説明文は、1次説明文のみを用いただけでは正解率が40.0%であったものの、説明文を展開することによって正解率は向上し、見出し語間の上位下位関係を推定することが可能であるといえる。また、判定Cの説明文に関しては1見出し語あたりの平均説明文数が80.7文と非常に多いため、上位語の推定性能が高いと考えられる。つまりWebのような信頼性の水準に差がある説明文であっても、大規模に説明文を集めることで上位語の推定は可能であると考えられる。
【0085】
<指数重みの検証>
指数重みを用いる場合には、上記式(8)或いは式(8’)の定数aの値を変化させながら拡張説明文の行列Cを算出する。そして、式(5)から計算できるdの値とJICSTシソーラスからの見出し語間の正しい上位下位関係を示すデータを比較するために式(13)を用いて正解率を算出する。そのときの正解率の遷移を図4に示す。
【0086】
考察すると、図4から、パラメータaが1に近づくにつれて、B判定、C判定の説明文を用いた拡張説明文では、正解率が向上していくのがわかる。つまり1次説明文ほど高い重みを与え、指数的になだらかに重みを減少させていくことで正解率が上がっている。これは、低次の説明文ほど見出し語の上位の語が含まれている可能性が高いことを示している。最も高い正解率はA判定、B判定の説明文を使用しa=0.7 のときであり、73.7%の正解率が得られた。
【0087】
重みのつけ方について比較すると図4では一見、図3よりも高い正解率が得られているが、見出し語数を増やすにつれて、式(8)における逆行列の計算量が増えることにつながる。しかし図1における学習による最適な重みの推定を行えば、さらに展開した説明文(次元)を増やしても次元数の固有値問題を解くことに帰着するので少ない計算量で高い正解率が得られると予想される。
【0088】
また、今回はある二つの見出し語に対して、dの値が0より大きいか小さいかで上位下位を判定している。閾値を0にするのではなく、dの値が0付近のものを1つのクラスとして抽出することができれば、同義語として単語をまとめることが可能であると考えられる。この閾値のとり方については今後考えてゆく課題と思料される。
【図面の簡単な説明】
【0089】
【図1】本発明に係る単語階層関係解析の方法による動作を示すフローチャート。
【図2】本発明に係る単語階層関係解析装置の構成を示すブロック図。
【図3】本発明に係る単語階層関係解析において特徴量(次元)の増加に伴う正解率の推移を示す図。
【図4】本発明に係る単語階層関係解析において指数的な重みの変化による正解率の推移を示す図。
【符号の説明】
【0090】
1 出現頻度検出手段
2 確率算出手段
3 行列作成手段
4 拡張説明文行列算出手段
5 判定手段

【特許請求の範囲】
【請求項1】
解析対象文中に含まれている単語に一意的に付したIDをi、jとするとき、見出し語wに関する説明文中において見出し語wが現れる出現頻度N(w(1)|w)を全てのi、jについて求める出現頻度検出手段と、
前記出現頻度検出手段により検出された出現頻度に基づき、見出し語wに関する説明文中において見出し語wが現れる出現確率P(w(1)|w)を全てのi、jについて求める確率算出手段と、
前記確率算出手段により算出された出現確率P(w(1)|w)を用いて、A=P(w(1)|w)となる行列Aを作成する行列作成手段と、
見出し語の説明文中に出現する単語を、次の見出し語とする説明文を2次説明文とし、この2次説明文中に出現する単語を、次の見出し語とする説明文を3次説明文とし、以下再帰的に説明文を無限に展開した拡張説明文について行列Cを
C=αA+α2+・・・+αn+・・・とし、この拡張説明文の行列Cを求める拡張説明文行列算出手段と、
前記拡張説明文行列算出手段により得られた拡張説明文の行列Cにおいて、見出し語w,wについてのC(w,w)とその対象の成分C(w,w)についての大小関係に基づき単語w,wの上位下位関係を判定する判定手段と
を具備することを特徴とする単語階層関係解析装置。
【請求項2】
前記拡張説明文行列算出手段は、C=αA+α2+・・・+αn+・・・の計算に代えて、C=(1−a)(I−aA)−1なる行列Cを計算することにより拡張説明文の行列Cを求めることを特徴とする請求項1に記載の単語階層関係解析装置。
【請求項3】
前記判定手段は、C(w,w)とその対象の成分C(w,w)の差分dを求め、このdの符号が正の場合には単語wが上位語であると判定し、このdの符号が負の場合には単語wが上位語であると判定することを特徴とする請求項1または2に記載の単語階層関係解析装置。
【請求項4】
前記拡張説明文行列算出手段は、予め定められた重み或いは計算により得られた重みを設定する重み設定部を具備することを特徴とする請求項1に記載の単語階層関係解析装置。
【請求項5】
解析対象文中に含まれている単語に一意的に付したIDをi、jとするとき、見出し語wに関する説明文中において見出し語wが現れる出現頻度N(w(1)|w)を全てのi、jについて求める出現頻度検出ステップと、
前記出現頻度検出ステップにより検出された出現頻度に基づき、見出し語wに関する説明文中において見出し語wが現れる出現確率P(w(1)|w)を全てのi、jについて求める確率算出ステップと、
前記確率算出ステップにより算出された出現確率P(w(1)|w)を用いて、A=P(w(1)|w)となる行列Aを作成する行列作成ステップと、
見出し語の説明文中に出現する単語を、次の見出し語とする説明文を2次説明文とし、この2次説明文中に出現する単語を、次の見出し語とする説明文を3次説明文とし、以下再帰的に説明文を無限に展開した拡張説明文について行列Cを
C=αA+α2+・・・+αn+・・・とし、この拡張説明文の行列Cを求める拡張説明文行列算出ステップと、
前記拡張説明文行列算出ステップにより得られた拡張説明文の行列Cにおいて、見出し語w,wについてのC(w,w)とその対象の成分C(w,w)についての大小関係に基づき単語w,wの上位下位関係を判定する判定ステップと
を具備することを特徴とする単語階層関係解析方法。
【請求項6】
前記拡張説明文行列算出ステップでは、C=αA+α2+・・・+αn+・・・の計算に代えて、C=(1−a)(I−aA)−1なる行列Cを計算することにより拡張説明文の行列Cを求めることを特徴とする請求項5に記載の単語階層関係解析方法。
【請求項7】
前記判定ステップでは、C(w,w)とその対象の成分C(w,w)の差分dを求め、このdの符号が正の場合には単語wが上位語であると判定し、このdの符号が負の場合には単語wが上位語であると判定することを特徴とする請求項5または6に記載の単語階層関係解析方法。
【請求項8】
前記拡張説明文行列算出ステップでは、予め定められた重み或いは計算により得られた重みを設定して、これを用いることを特徴とする請求項5に記載の単語階層関係解析方法。
【請求項9】
コンピュータに対し、
解析対象文中に含まれている単語に一意的に付したIDをi、jとするとき、見出し語wに関する説明文中において見出し語wが現れる出現頻度N(w(1)|w)を全てのi、jについて求める出現頻度検出ステップと、
前記出現頻度検出ステップにより検出された出現頻度に基づき、見出し語wに関する説明文中において見出し語wが現れる出現確率P(w(1)|w)を全てのi、jについて求める確率算出ステップと、
前記確率算出ステップにより算出された出現確率P(w(1)|w)を用いて、A=P(w(1)|w)となる行列Aを作成する行列作成ステップと、
見出し語の説明文中に出現する単語を、次の見出し語とする説明文を2次説明文とし、この2次説明文中に出現する単語を、次の見出し語とする説明文を3次説明文とし、以下再帰的に説明文を無限に展開した拡張説明文について行列Cを
C=αA+α2+・・・+αn+・・・とし、この拡張説明文の行列Cを求める拡張説明文行列算出ステップと、
前記拡張説明文行列算出ステップにより得られた拡張説明文の行列Cにおいて、見出し語w,wについてのC(w,w)とその対象の成分C(w,w)についての大小関係に基づき単語w,wの上位下位関係を判定する判定ステップと
を実行させることを特徴とする単語階層関係解析プログラム。
【請求項10】
前記拡張説明文行列算出ステップでは、C=αA+α2+・・・+αn+・・・の計算に代えて、C=(1−a)(I−aA)−1なる行列Cを計算することにより拡張説明文の行列Cを求めることを特徴とする請求項9に記載の単語階層関係解析プログラム。
【請求項11】
前記判定ステップでは、C(w,w)とその対象の成分C(w,w)の差分dを求め、このdの符号が正の場合には単語wが上位語であると判定し、このdの符号が負の場合には単語wが上位語であると判定することを特徴とする請求項9または10に記載の単語階層関係解析プログラム。
【請求項12】
前記拡張説明文行列算出ステップでは、予め定められた重み或いは計算により得られた重みを設定して、これを用いることを特徴とする請求項9に記載の単語階層関係解析プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate


【公開番号】特開2006−228042(P2006−228042A)
【公開日】平成18年8月31日(2006.8.31)
【国際特許分類】
【出願番号】特願2005−42814(P2005−42814)
【出願日】平成17年2月18日(2005.2.18)
【新規性喪失の例外の表示】特許法第30条第1項適用申請有り 2004年8月20日 社団法人電子情報通信学会発行の「FIT2004 第3回 情報科学技術フォーラム 講演論文集」に発表
【出願人】(391016358)東芝情報システム株式会社 (149)
【Fターム(参考)】