Hatena::ブログ(Diary)

worldwidewug #3 このページをアンテナに追加 RSSフィード

January 10(Wed), 2018

形態論と活用と形態素解析と

つい先日、ラボメートから日本語の形態論について質問がありました。

実は今まで私は英語を研究対象としていて、日本語自体については考えたことがなかった(避けてきた)のですが、今回は逃げずに勉強することにしました。(考えがまとまり切る前に見切り発車で書いているため、全体的に読みにくくなっていることを先にお知らせしておきます。。。)

頼まれたのは、Wiktionaryにある動詞と形容詞の「活用」について、そのMorphosyntacticな特徴(意味?)をUniMorphのラベルと対応付けられないかというものでした。

英語の形態論については昔勉強したことがあったので、それほど時間がかかるとは思わず、気軽に引き受けてしまったのですが、調べれば調べるほど日本語形態論(および自然言語処理における形態素解析?)の沼に沈んでいく自分がいることに気が付きました。


まず、Wiktionaryにある動詞の活用表(Conjugation table)を見てみます。

https://en.wiktionary.org/wiki/%E8%B5%B0%E3%82%8B#Japanese

(Conjugationという箇所をクリックすると表が出てきます。)

f:id:keiskS:20180111150102p:image

まず、表が2種類にわかれているのが気になりました。1番目の表(表1とする)は、中学校などで習う活用表(学校文法と呼ばれているもの)ですが、下の方(表2とする)は、いわゆる言語学(形態論)でいうところのinflection(屈折)に対応しているように見えます。つまり「走る」+passive = 走られる、とか、「走る」+ negative = 「走らない」というように、Morphosyntacticなfeature(のようなもの?)が加えられたときのconjugationが載っています。


ちなみに、Morphosyntactic feature は様々な種類がありますが、動詞について大きく分けると、Tense, Aspect, Mood (Modality), Voiceのようなグループがあります。

英語ではplay+Progressive (aspect) = playing とか、play + past (tense) = played などが代表的です。


形態論をやったことがある人にとっては当たり前かもしれませんが、一応簡単な説明を加えておくと、

  • Tense:ピンポイントな時間
  • Aspect:動作の局面、始まりなのか、継続中なのか、もう終わっているのか、など
  • Mood(あるいはModality):話者の主観(〜だろう、だそうだ、はずだ、ほうがいい)など つもりだ。しよう。など。
  • Voice:動詞と項の関係性を示す。能動態、受動態、可能、使役など。

になります。


表2が、Morphosyntactic featureによる活用を表しているのだとしたら、ラボメートへの回答はそこだけをラベル付けすれば良いことになります。ただ、表2はすべてのfeature(とその組み合わせ)をカバーしているわけではなく、

  • 走る+perfective + potential = 走れた
  • 走る+perfective + negative = 走らなかった

等々、まだまだ他の可能性が山ほどありそうです。

単純に考えると、(perfective, potential, negative, ...) = (0/1, 0/1, 0/1, ...) という表現になり、Phonologyにおけるoptimality theoryとの類比が思い浮かびそうです。


ちなみに、外国人向けの日本語の教科書には、代表的な組み合わせ(タ系、テ系とか、可能系、禁止系など)とともに、その活用が載っており、アプローチとしては、表2のような教え方がなされているようです。つまり日本の教科書とは違う活用表を使っているということです。個人的には表2のほうが直感的にわかりやすいし、これを単語単位にすれば英語や他の言語との(言語学的な)比較対象がしやすくなるのではないかと思います。(辞書サイズが大きくなるので、工学的なタスクでは困りそうですが。)

また、子どもや外国人日本語学習者にとっては、複数のfeatureを組み合わせたときに、どういう順番で接辞を加えていけばよいのか、

  • 「走る」+ perfective+ negationなのか、
  • 「走る」+negation+perfectiveなのか、
  • negation+「走る」+ perfectiveなのか、
  • それとも自由なのか、

が問題になります。

もしくは、新しい動詞(例えば「ぎゃばがる」)に対して、negation + potential + perfective を加えたときに、日本人母語話者が「ぎゃばがれなかった」というのが正しそう、と思える理由はどこからくるのでしょうか?

おそらくこのあたりは、統計的に(あるいは用例ベースで)学ばれるのだと思います。(それこそニューラルなモデルが得意としそうなところです。)


さて、ここで疑問が出てきます。

表2はMorphosyntactic featureの組み合わせによる活用(いわゆる一般的な形態論に基づく活用)だとして、学校文法の活用表は何に基づいた活用なのかという点です。日本語の自然言語処理でお馴染みの形態素解析で単語分割をすると、この活用表に応じた単語が返ってきます。(辞書の粒度によって多少の差異はあると思いますが。)


例えば、『走らない」は

走ら 動詞-一般 五段-ラ行 未然形-一般

ない 助動詞 助動詞-ナイ 終止形-一般

「走るな」は

走る 動詞-一般 五段-ラ行 終止形-一般

な 助詞-終助詞 ー ー (ーは活用なし?)

のような感じに分割されます。

どうやら、学校文法の活用表は、morphosyntactic featureを多少ふまえつつ、stem formの表層的な変化を分類することに主眼が置かれているように見えます。つまり、「走ら」=「走る」+素性 のような形ではなく、hashir というstem(的なもの)に対して、後続の接辞に応じて、hashir + aなのか、hashir + u なのか、といった「音」の分類がなされているように見えます。


今まで深く考えたことがありませんでしたが、ここへ来て違和感を感じたことがあります。

それは、「形態素解析」で「単語」分割をするという点です。

よく考えてみると、単語分割はword segmentationという対訳で、形態素解析はmorpheme segmentationになるはずです。単語には一対一で品詞が付与されますが、形態素(英語では-ingとか、-nessなども該当する)には必ずしも品詞が付与されるわけではありません(少なとも言語学的には)。

ところが、日本語の形態素解析の出力では、名詞、格助詞、動詞、助動詞、、、のように品詞列が一緒に付与され、形態素=単語のような印象を与え、結果上のような「形態素解析」をして「単語」分割という話が出てくることになります。


つまり日英の自然言語処理の間には、

  • 英語の単語=word
  • 日本語の単語=morpheme?

という微妙ながら重大な認識の相違がありそうです。


簡単な例を考えてみると、

英語では「played = play_"past"」という単語_素性のまとまりで扱うのに対し、日本語では 「あそんだ = あそん + だ (助動詞)」と2単語で対応していたり、「playing = play_"progressive"」 の場合は「あそんでいる = あそん+で(助詞)+いる(動詞)」となり、アライメントが1対1対応になりません。

もちろん、英語も複数単語になり得て、「was playing」は 「あそん で い た」だったり、「did not play」は 「あそば なかっ た」のようになります。こういうケースは、おそらく機械翻訳のアライメント等で役立ちそうな感じです。ただし、この場合でも、playが「あそば」なのか「あそん」なのか、「あそび」なのか「あそぶ」なのかといった曖昧性が残ります。


なぜ、日本語ではMorphemeが主流なのでしょうか。ぱっと思いつくのは、

  • Morphosyntactic featureによる組合せ爆発と辞書の関係
  • 「生成」ではなく「解析」にフォーカスしている
  • 日本語が膠着語であり、活用というよりは接辞がどんどん付いてくる印象がある

などが考えられます。


形態素解析は、もともとは「原形を当てる」タスクだったそうで、入出力は

  • 「走らされたくなかった」-->「走る」+その他諸々

という関係になります。一方で今回自分が質問を受けたmorphosyntactic featureラベリング(とそのinflection)は

  • 「走る」+ features -->「走らされたくなかった」

と、入力と出力が逆の関係になっています。


もちろん、解析する際の辞書は小さいほうが(少なくとも工学的には)よいので、従来の形態素解析は、そちら方向に進んできたのだと思います。しかし、ここで困るのは、日本語の形態素解析結果とmorphosyntactic featureとの対応が取れていないことにあります。つまり形態素解析をしても、「走る」+諸々しかわからず、諸々に含まれる細かな意味が取得できないことになってしまいます。(肯定・否定くらいなら簡単に取れそうですが。)


そこで方針としては、日本語の形態素(特に助詞・助動詞?)にmorphosyntactic featuresをアノテーションし、形態素解析に1段上の処理(チャンキング)を含める(つまり英語と等価なWord segmentation)にするか、「走る」+ feature -->「走らされたくなかった」をgenerateするようなモデルを準備する、のがありえそうです。


いずれにせよ、多言語の対照を目的としたUniMorphでは従来の日本語形態素解析とは別の考え方をしなければ、大きな齟齬が生じてしまうことになります。Morphosyntactic featureは必ずしも、単語と一対一対応するわけではない、というのが重要な点です。


少なくとも自分の興味の根本は人間の言語処理にあるので、なぜ母語話者は新しい動詞に出あった際にも、「ぎゃばがる」+feature -->「ぎゃばがれたくなかったです」のようなものがすんなり生成できるのか、に興味があります。これはそっくりそのまま、

「寝る」+politeness

  • 寝ます。
  • ?寝るです。
  • *寝ますです。

「寝る」+politeness + negation

  • 寝ないです。
  • 寝ません。
  • *寝ませんです。
  • *寝ますない。

のような、言語学習・獲得に見られそうなエラー分析も可能になります。

だんだん日本語そのものがわからなくなってきたですね。

これはあっているですか、などというタラちゃん言葉が出てきたり、他にも、なぜ「間違いなの?」は正しくて、「間違っているなの?」は間違っているのかなどが浮かんでは消えていきます。


また、上で少し書いたようにローマ字単位で扱ったほうが良いのではと考えたのですが、すでに派生文法という名前で存在していることを知りました。

ひらがなよりも、単位を細分化できる分、表現力があがる一方、難しさも増す気がしますが、UniMorphのような場合は、こちらのようなローマ字表記が良さそうにも思えます。もちろん、かな表記もできるに越したことはありませんが。(大きな会社などではすでにやっていそうですね。)


さて、ここまでが「動詞」の話です。ここからは「形容詞」の話になります。

形容詞もWiktionaryを見てみると、動詞と同様に学校文法の活用表とMophosyntactic featureに基づいた活用表があります。

f:id:keiskS:20180111150233p:image


ここで、学校文法の方の表で最初に目についたのが、形容詞では未然形に「否定の意味がない」ことと、「美しかれ」という命令形があること。自分が習ったときは、命令形は空欄だったような。。。そして、命令形「かれ」は口語文法ではなく、文語文法で出てきたものです。もし命令形に「かれ」を入れるなら、未然形にも「美しから(ず)」が入っていないとおかしいんじゃないかなどと、出だしから混乱してしまいました。つまり、形容詞の現代口語文法においては未然形=negationとはなっておらず、別のmorphosyntactic featureを付与しなければなりません。(動詞には、negationがあっても良い。)


どうも、学校文法の方は動詞と同じ活用表にしようというミニマリスト精神のようなものが見え隠れし、意味の観点(morphosyntactic features)はあまり重視されていないようにも見えます。そもそも、音や表層のパターンの分類に、未然形や連用形といった中途半端にmorphosyntactic featureっぽい名前が付いているのもややこしさの原因かもしれません。

とはいえ、動詞の際も述べたように、これは原形(とその品詞)を当てることに主眼が置かれている形態素解析のタスクにとっては、便利なことに変わりはありません。


2番めの表は、(動詞同様これも過不足が色々ありますが)、基本的には「美しい」に何かしらの意味素性を加えた活用になっています。動詞同様、言語学で一般的に扱われる(あるいは英語学の)形態論に慣れている場合は、やはり表2の活用のほうがしっくりくる気がします。


結局のところ違和感の原因は、日本語形態素解析では接辞も単語のように扱っている点にありそうです。

UniMorphは名前の通り、形態論的な話を統一的に扱おうという試みなので、日本語も同じような枠組みで考える必要がありそうです。反対に現在の形態素単位だけに固執し、接辞も単語扱いすると、あとあと齟齬が出てきそうな気がします。


と、ここまで書いてきた段階で、Murawakiさんによる考察を見つけて、「最初からこれを読めばよかったんじゃ、、、」という気持ちになったことをここに告白いたします。とても深い洞察だと思います。


ひとまず、3日間の付け焼き刃で学んだこととしては、

  • UniMorphやUDが何を目指しているのか(とアノテーションラベル)を理解すること
  • 日本語における形態素解析や、学校文法の背景・目的・用語の定義の確認
  • 両者を言語学用語(UD・UniMorphの用語?)で共有・統一すること(できるのか?)

は大事だということです。


与えられたスキーマ?に従うだけで良いのか、という反骨的な精神ももちろん重要ですが、従来の日本語形態素解析だけではなく、UD/UniMorphの観点から日本語(の単語とは)というものを考えていくというのも、面白いのではないかと思います。*1

*1:ちょっと待って。日本語文法には、まだ形容動詞なるものが残っているではありませんか。。。それについては、、、また時間があるときに考えてみたいと思います。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/keiskS/20180110/p1