LoginSignup
6

More than 3 years have passed since last update.

posted at

updated at

AIが不得意な日本語文法

リカレントニューラルネットワーク(以下RNN)を利用した文字レベルの自動文章生成について、以前こちらの投稿「10万件の飲食店クチコミからRNNで文章を生成」[1]でご紹介しました。今回は、RNNで自動生成された文章について、形態素解析を用いて品詞の観点から分析してみたいと思います。

RNNによる文章自動生成の例

まず、RNNによって自動生成された文章をいくつかお見せします。なお、ネットワークはRNNの一種であるGRU(Gated Recurrent Unit)を利用し、30万件の飲食店クチコミ文章を教師データとして用いています。定性的な評価基準として、以下、
・文法的に合っているもの、間違っているもの
・意味があっているもの、おかしいもの
と、かなりばらつきがある出力結果が得られています。それぞれお見せすると、

文法も意味も良さそうなもの

味は普通です。
しっかりと食べられる。
こういうのが良いですね。
その後は私の人気店になるのが懐かしい感じです。

文法はよいが意味不明なもの

そんなにラインナップしたので、マグロがない。
最後にひとりと一杯目。
この店は、キールチキンはサラダもスライスです。
この日は何がたっぷりな酒でした。

意味はよいが文法が間違っているもの

こちらもサラダしている。
お好み焼きで、それにしてもらいにはおいしい。
ご飯でもそれなりにスープがあればいただいたものがしいただけると嬉しい。
の10時00くらい、お店には、入店しました。

文法も意味もだめなもの

の2016年1月オーダーするとおばずがありましたよね。
「いろいろ」「置いてある」のついしました。
しゅっぱい、確かにパンと注文で注文した。
それにして、カレーののまである。

定量的評価

定性的な特徴としては、上記のように良し悪しを何となく判断できますが、ここでは少し観点を変え、文章生成に使用された品詞による定量的評価を行います。分析対象は、教師データの文書と生成文章とそれぞれ約3700文で比較を行いました。形態素解析による分かち書きの結果、それぞれ約5万6千語に分解し、品詞をカウントしました。なお、形態素解析の際の辞書は、定期メンテナンスが行われているmecab-ipadic-NEologd[2]です。

hinshi.png

図1 教師データと生成データにおける品詞の使用頻度の比較

上記グラフでは、出現頻度の順番でヒストグラムを表示しています。教師データと生成データとを比較し、頻度が大きく、かつ集計数の差が大きかったもののに以下があります。
・固有名詞
・地名
・記号
・数
・サ変接続名詞
・接尾名詞
・並立助詞

考察

図1のグラフにより、固有名詞や地名をRNNが自動生成するのはやや難があるいうことが言えます。固有名詞は教師データに比べ40%、地名は22%ほどしか生成できていません(以下、この比率を便宜的に再現頻度と呼びます)。固有名詞は本質的に多様であるため、学習が難しかったんだろうと推察できます。ちなみに、新宿や池袋などの大都市に限っては教師データでの出現頻度が高いため、文章生成時にも出現しています。また、数や記号の使用が乏しかったのも同じ理由かと考えられます。その他に顕著だった品詞としては、3つ、サ変接続名詞、接尾名詞、並立助詞が挙げられ、個人的には興味深いです。以下、RNNであまり学習できなかったものの一部を列挙します。

名詞-サ変接続

再現頻度: 50%

使用、利用、検査、到着、追加、投入、びっくり、満足、訪問、料理

名詞-接尾-一般

再現頻度: 29%

感、程度、店、系、盛り、揚げ、焼き、達、風

助詞-並立助詞

再現頻度: 21%

と、たり、や、とか、やら

文字レベルの文章生成に限っては、語彙の多様性をうまく再現することができません。つまり、多様な語彙のある文章の生成には、何らかの方法で語彙体系などの利用は必須であると言えます。ただ一方、てにをはなどのよく使われる文法については、隠れた文法の特徴を学習することが可能で、RNNの得意とするところかと思います。この点は、文法的に崩れていたとしても、よく使われる表現であれば学習することができます。

課題とまとめ

形態素解析や係り受け解析など、計算言語学的な解析方法と、深層ニューラルネットワークとを、どう親和的に実装してゆくかが課題として考えられます。また、自動生成された文章に何らかのスコアを与えることができれば、敵対的な学習を実現することができるかもしれません。

参考情報

[1]
10万件の飲食店クチコミからRNNで文章を生成
https://qiita.com/sudamasahiko/items/cf7e4b0f372aa41d5402

[2]
mecab-ipadic-NEologd
https://github.com/neologd/mecab-ipadic-neologd

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
6