意味解析

今日、メールやwebやインターネットやコールセンターなど電子化された文書情報があふれており、これらを計算機で解析し、集約したり分類したりして有用な知識を獲得することが待望されています。

このためにこれまで、文を辞書に存在する語に分割する形態素解析と、語間の依存関係を明らかにする係り受け解析が確立した技術として用いられてきました。これにより、語の表層的な同一性による頻度解析や係り受け関係のみに頼った語の関係解析が行われてきました。しかし、形態素解析や係り受け解析では語の語意を求めることができないため、応用上のすべての解析で語の意味を基にした解析(語意的類似性によるアンケート分類など)を行うことはできませんでした。

そこで、我々は、日本語文における、語の意味と、語と語の間の深層関係を、正確に計算する意味解析システムSAGEを開発しました。これによって、語の意味的類似性から文の意味的類似性を計算できるようになり、文の分類や問い合わせ文による検索、さらには文をベースにした推論も可能になります。


意味解析システムSAGE

SAGEは、まず形態素解析(JUMAN)と係り受け解析(KNP)を用いて、日本文を文節からなる係り受け木に展開します。

この時、文節はjuman辞書に登録されている形態素に分割され、品詞や基本形などが明らかにされます。

この結果を入力し、SAGEは各文節中の形態素を、文節の主たる意味を保持する主辞、その次に意味的に重要な副主辞、その他の形態素に分割し、次に、各主辞の語意と文節間の役割的関係(深層格)を、EDR電子化辞書を用いて決定します。その後、副主辞や他の形態素の語意を決定します。

解析結果は一般には文節の主辞や副主辞や文節品詞や他の文節との役割的関係(深層格)などを保持するfフレームと、形態素の品詞や語意(概念ID)や活用形など保持するsフレームと、文ごとに文末を表し、前後の文との役割的関係を表す格を保持するeフレームからなる

下記のような形式のリストの集合として出力されます。なお、Sageは部分ンシステムとして照応解析システムAnasysと文間関係解析システムInseraと談話構造解析システムDIAを内包し、それぞれゼロ主語解析や指示代名詞解析や談話構造解析の結果をfフレームに前後の文との役割を示す文間深層格eフレームに出力します。



「専門家は、遺跡が5世紀頃のものであると推定している。正しく推論したとすれば、この結論は大変なことになる。」という例文を用いて記述規則や事例を紹介する。


・記述規則

1.  深層格ID、同格ID、照応格IDは、ob12などの格IDとFrameIDの連結表記を、カンマ区切りで繰り返す。
Ex.「f: 25,推論したと,と,DO,26,27,[ma23],[],[ag1],,[断定,現実,現象描写,過去,完結相] 」では、フレーム25の「推論したと」には、manner格でフレーム23の「正しく」が係ることを示している。)
2.  Referentは、文節中に固有表現があればその文字列。文中表記と同一であった場合、* と表記。
(Ex. f: 8,5世紀頃の,の,ME,10,9,[],[],[],5世紀頃,[])
3.  Attributesは、文節で表される概念に対して与える時制や様相、ムード(ver1.0)、モダリティ(ver2.0)などの属性名をカンマ区切りで繰り返す。(Ex.[ 断定,現実,判定,非完結相])
4.  s:内の読みカナおよび基本形は、文中表記と等しい場合省略される。
(Ex. s: 26,推論,スイロン,,3ce586,SAM,JSA,,)
(Ex. s: 37,大変な,タイヘンナ,大変だ,0fbbd9,KEI,JAM,ナ形容詞,ダ列基本連体形
5.  eosフレーム中の、前文格、後文格は、2.6文間深層格に示す文字列。
6.  eosフレーム中の、文間接続関係は2.7談話構造解析に示す文間接続関係を表す。
文字列要素内で、一部の半角文字列を使う場合は、エスケープシーケンスを使用する。以下が一覧。
\t:  Tab
\s:  半角スペース
\\:  「\」(バックスラッシュ)記号
\c:  「,」(カンマ)記号
・ frame出力形式(カンマ区切り)
FrameID
当該文節のフレーム番号。
? 文中表記
括弧などの記号も含む文節の文中表記。
? 共起部表記
文節中の共起関係子(文節末尾の助詞を中心とした後の並びで、係り側文節の受け側文節に対する機能的役割:深層格を決定する。EDRの共起辞書を検索するときのキーになる)を文字列表記したもの。
? 文節品詞ID
副主辞の品詞、または主辞の品詞から決定される文節の品詞。
? 主辞FrameID,副主辞FrameID
文節は複数の形態素から構成されるが、その中で中心となる語を主辞とする。この主辞が文節の主たる意味を決定する。文節の補足的語意を示し、主辞を補って文節品詞を決定するものを副主辞とする。また、当該文節における主辞となる形態素の番号が主辞FrameID、副主辞となる形態素の番号が副主辞FrameID。
? [深層格ID]
当該文節の係り側のフレーム番号とその深層格。
? [同格ID]
当該文節の係り側のフレーム番号とその同格。
? [照応格ID]
Anasysによって照応解析を行った結果、当該文節がゼロ主語を持つ場合そのゼロ主語のフレーム番号とその照応格。フレーム番号がマイナスの時は外界を示す。具体的にはなお、照応解析の結果、係り側が外界である場合は、フレーム番号として-1〜-5 を用い、それぞれ一人称:-1、二人称:-2、事:-3、人:-4、物:-5を先行詞とすることを示す。
(Ex.「f: 25,推論したと,と,DO,26,27,[ma23],[],[ag1],,[断定,現実,現象描写,過去,完結相] 」では、照応解析によって、フレーム1の「専門家は」がゼロ主語としてagent格でフレーム25の「推論したと」に係ることを示している。)
? (Ex.「f: 32,この結論は,は,ME,34,,[],[],[mo13],5世紀頃のものである,[] 」では、指示詞「この」の先行詞が、フレーム13の「ものであると」であることを示し、この際Referentにも、先行詞を記入している)
? Referent
当該文節が固有表現を含む時その文中表記。
? Attributes
文節で表される概念に対して与える時制や様相、ムード(ver1.0)、モダリティ(ver2.0)などの属性。
・ sframe出力形式
? FrameID
当該形態素のフレーム番号
? 文中表記
括弧などの記号も含む形態素の文中表記。
? 読みカナ
当該単語の形態素解析器(JUMAN)辞書における読み仮名。
? 基本形
当該単語の形態素解析器(JUMAN)辞書における基本形。
? 語意ID
辞書引きにより得られる形態素の語意ID。
? JUMAN詳細品詞ID
JUMANによる詳細品詞のID
? EDR詳細品詞ID
EDRにおける詳細品詞のID
? JUMAN活用型
JUMANによる活用型
? JUMAN活用形
JUMANによる活用形
・ eframe出力形式
? FrameID
当該文節のフレーム番号
? 前文格
前の文に対する文間深層格で、2.6文間深層格に示す格のどれか。特に明示的な格がない場合はnull。
? 後文格
後ろの文に対する文間深層格で、2.6文間深層格に示す格のどれか。特に明示的な格がない場合はnull。
? [深層格]
このeosフレームが表す文の文末文節あるいはこれと並列の文節を係り側として、それらのフレーム番号とそれらが文の主たる文節であることを表す深層格mainを表す略mn。
? [文間接続関係]
このeosフレームが表す文が、それ以降の文Sに意味的に係っているかを表す、文Sをあらわすeosフレームのフレーム番号と2.7談話構造解析に示す文間接続関係を表す。

EDR品詞ID表と文節品詞ID表


「専門家は、その遺跡が5世紀頃のものであると推定をしている。正しく推論したとすれば、結論は大変なことになる。」という文の解析結果のリスト形式は下表のようになり、

これをビジュアルツールViviを用いて、グラフ表示すると下図のようになる。なおここで、ゼロ主語は薄いピンク色のノードで示されている。


意味グラフのリスト形式例

意味グラフのviviによるグラフ表示


この例中の、「大変なことに・なる」や「推定している」のように、通常なら2文節になるような係り受けにおいても、後文節の動詞が補足的な役割の意味をなすものであれば前文節と結合して1つの文節になるようにしています。
この方が、例えば「推定している」と「推定する」はともに1文節になり、語意も同じになることから表記の揺れを吸収し、文類似度の計算などにおいて有効になります。
Sageは意味解析の結果を用いて、jumanやknpが行った解析を修正するので下記のような複雑な文でも正しい係り受け木を解析結果を出力します。

Sageによる意味解析


SAGEは、語の意味と語間の深層格を決定するためにEDR電子辞書を用いています。 EDR電子辞書は、旧通産省の外郭団体基盤技術研究促進センターとコンピュータ関係の民間企業の共同出資の日本電子化辞書研究所が、1986年より9年かけて開発した電子辞書です。
単語辞書には27万個の語に対して、それぞれ文脈に応じて異なる意味が16進数6桁の数として表される概念で与えられています。これらの語意を表す概念は総数41万個あり、概念体系辞書中に上位下位という関係で「概念」という概念を根に持つ木構造に体系的に整理されています。
この様子は、下図のCidBrowserによってビジュアルに見ることができます。共起辞書では、新聞などに現れた係り受け関係にある2つの語の90万個の共起事例に対して、係り側と受け側それぞれの主辞の語意と両者間の役割的関係(深層格)が与えられています。
例えば、「専門家」という語には、1つの概念「その分野で特にすぐれた人」(概念ID:3cfb27)が割り当てられ、これは第7階層に、「学者・研究者 44484d」の下位概念として定義されています。
同じ概念を持つ語(同意語)としては、右上欄に示すように「ベテラン」や「達人」などがあることが分かります。さらに2つの概念の類似性(意味的近さ)を、両者とその共通上位概念の深さを用いて下図のように計算することができます。
例えば”正しく”の語意「正しく 10992b」と”大変な”の語意「ふつうの状態と違っているさま 3ce5c9」の類似度は0.353であるが、「正しく 10992b」と”正確”の語意「誤りがないこと 3cf3df」の類似度は0.769で近いことが分かります。



語意については、形態素解析用の辞書にもある程度登録されていますが、語意数が少なく語間の類似度を直観に合う程度のきめ細かさで評価することはできません。例えば、「朝顔に水が掛かる」、も、「柳に風が吹く」、も同じ意味「 [植物]に[自然物]が[事象]する」になってしまいます。
もちろん表記そのものを語意とすると2文の類似度は0になりますがこれでは、同様なことを言っている2文の類似性を正しく評価しているとは言えません。EDR辞書には41万語意があり、これを精度95%のsageで語に割り当てると、下図に示すように文類似度41.35とほぼ直観に合うような類似度になります。
また「答えを探す」と「解を探索する」は表記上は全く違う意味になりますが、下図のように文全体としては文類似度が83.23で、同じようなことを言っていることが分かります。語意のブラウザviviを使ったこの語彙検索と類似度計算過程を下記のデモビデオで確認できます。
このようにsageを用いて精密な語意の違いを解析できることで、似ている文の正確な違いを計算できるようになり、文の類似性を正確に計算できるようになります。

viviによる語意検索と類似度計算