語構成パターンに応じた変換規則による形容詞の言い換え

タイトル

ここでは、「自然言語処理」の一分野である「言い換え」の研究について見ていきましょう。

1.自然言語処理とは

自然言語処理の説明

「自然言語処理」とは何でしょうか?
まず、「自然言語」とは何か、を明らかにする必要があります。我々が日常使用している言葉はプログラミング言語とは非常に違った性質を持っています。そこで、これらを明確に区別するために、我々が使っている言葉を「自然言語」、プログラミング言語を「人工言語」と言います。
研究分野としては、「機械翻訳」「情報検索」「質問応答」や、「言い換え」などがあります。

2. なぜ言い換えが重要なのか?

ところで、なぜ「言い換え」が自然言語処理の重要な1つの分野となっているのでしょう?
ということを考える前に、とりあえず「言い換え」なるものがどういったものかを確認しておきましょう。

言い換えの説明

”言い換え”とは、ある表現をその意味内容を変えずに別の表現に置き換えることを言います。日常的にも、「よくわからないから、言い換えてよ。」のように言っているのを耳にしますね。

では、このように私達が日常的に行っている「言い換え」が自然言語処理の中でどのように役立てられているのでしょう?

ヒントは、人間がどういう場面で言い換えを行っているか?というところにあります。たいていは、「難しいことば・表現」を「易しく、わかりやすいもの」に置き換える、ということをしていますね(もちろん、逆のケースもありますが)。要するに、相手に合わせて文章の難しさを変えているのです。
このような作業を人手でやるには大変な量の文章が世の中にはあふれていて、全てを人手でやるのは不可能に近いでしょう。また、人間では膨大なコストと時間がかかってしまいます。これをコンピューターがやってくれると大変助かりますね(電気代はかかりますが、文句は言わないし、休みもいらないし…)。
その他には、言い換えは文章の意味が同じかどうかを判定する、情報検索の前処理などにも使われています。

3. どのような表現を言い換えるのか?

「一連の類似した言い換え」の説明

今回、言い換えの対象としているのは、上記のような「一連の類似した言い換え」です。
このような言い換えを実現する方法はいくつか考えられます。その方法を順に見てみましょう。

3.1 すべての表現を辞書に登録する

全登録による言い換えの説明1 全登録による言い換えの説明2

一つめの手法は、「一連の類似した言い換え表現を全て辞書に登録しておく」というやり方です。
この手法は、入力に対して、辞書を引き、出力を返す、という非常に簡単な方法です。
この手法の問題点は、「辞書が大きくなってしまう」ということです。図でもわかるように、基本となるペア(例では、迅速 → すばやい)に対してたくさんの表現ペアがあることがわかります。これでは、辞書の大きさはものすごいことになるでしょう。

3.2 「見立て」を用いた言い換え

「見立て」による言い換えの説明1 「見立て」による言い換えの説明2

二つめの手法は、「見立てを用いた言い換え」です。
この手法は、人間が行っていると思われる方法を真似た手法です。
まず、入力を、コア(中心的な意味を表している)と付加的要素に分けます。図では、入力「迅速化する」を、(コア:迅速)+(付加的要素:化する)に分けます。
次に、辞書を用いて、コアの言い換えを行います。(迅速 → すばやい)
そして、コアの言い換えで得られた代替コア(すばやい)と、付加的要素をくっつけます。

しかし、「すばやい」という形容詞には「化する」はくっつけられません。そこで、「見立て」という手法を用います。
すばやい、という形容詞は、対象となるものの<状態>を表している、と考えられます。また、「化する」とは、そういう動きになる、と考えられます。
そこで、この形容詞を<状態>に見立て、「化する」を<動き>に見立て、<状態>+<動き> → <状態> +なる、(その状態になる)、と考えます。

見立ての問題点

この手法の問題点は、2つあります。一つめは、「見立て」という概念を用いたことで、処理が複雑になっている、ということです。2つめは、言い換え辞書の類型化が不十分ということがあります。具体的には、形容詞を<状態>と見立てていましたが、もっと細かい類型化をする必要があることがわかっています。このため、拡張性に問題がある、と言えます。

4. 変換規則に基づく言い換え

そこで、今回提案するのが「変換規則に基づく言い換え」です。

変換規則による言い換えの説明

変換規則は大きく3つの部分からなります。「語構成パターン」「基本置換パターン」「生成パターン」の3つであり、「語構成パターン」と「基本置換パターン」に応じて、「生成パターン」が決まる、という形になっています。

4.1 語構成パターン

語構成パターンの説明

「語構成パターン」では、どの範囲を言い換えの対象範囲とするかを指定します。
たとえば、「迅速化する」を言い換える場合、「迅速化」を言い換える方法とは違う生成パターンなので、「迅速化する」全体を言い換える、と指定する必要があります。

4.2 基本置換パターン

基本置換パターンの説明

基本置換パターンでは、どのようなタイプの言い換えペアが利用できるかを指定します。
たとえば、「単純化する」と「迅速化する」は、同じ語構成(形容動詞/語幹 +化する)です。しかし、基本置換パターンが異なります。(単純 → 簡単、形容動詞から形容動詞へ :迅速 → すばやい、形容動詞から形容詞へ)
この場合、生成パターンが異なります。したがって、どのような言い換えペアになっているかを指定してやる必要があります。

4.3 変換規則

語構成パターン、基本置換パターンの各々について、生成パターンを作成しました。以下では、生成パターンに応じて、変換規則の3つのタイプについて説明します。

変換規則の説明1

1つめのタイプは、単純な語の置換や活用形のコピーを行うもの(タイプA)です。
例では、形容動詞が連用修飾用法しているものを、副詞で言い換えていたり(単純な語の置換)、形容動詞を形容動詞で言い換えたりしています(過去形から過去形へ) 。

変換規則の説明2

2つめのタイプは、活用形標準変換を行うもの(タイプB)です。
例では、形容詞が連用修飾用法しているものを、形容動詞で言い換えています 。言い換える時に、活用形の調整が必要ですが、品詞が違うので、言い換え元の活用形をそのまま使うことはできません。

しかし、形容詞の基本連用形が、形容動詞のダ列基本連用形に対応するとわかっていれば、それに応じて活用形を調整してやればうまくいきます。このような活用形調整を活用形標準変換と言います。

変換規則の説明3

3つめのタイプは、タイプA、タイプB以上の処理が必要なもの(タイプC1〜C3)です。
たとえば、地味そうだ → 目立たなさそうだ 、という言い換えでは、「目立たなさそうだ」というように、接尾辞「さ」を補ってやる必要があります。

5. 実行例

実行例

変換規則を作成し、それをもとに言い換えを行うシステムを実装しました。うまく言い換えが出来た例としては、上記のようなものがあります。