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

January 01(Mon), 2018

今年の目標2018

あけましておめでとうございます。

今年のテーマは「結」です。一応Ph.D.の最終年ということで、今までの成果を「結集」するとともに、新しい場所で新たに人を巻き込んで(結束?)、心機一転ニューゲームを始めたいと思っています。

また、去年は(博論のための)アウトプットに追われる一面もあったので、今年はもう少し落ち着いてインプット(論文や実装)を増やしていきたいと思います。


3本柱としては、

  • 健康的な生活
    • 忙しい中でも、生活リズムを大事にする。
  • Ph.D. defenseをクリアする
    • 最後まで気を抜かずに頑張る。
  • インプットを重視する
    • 来年以降につながるような(研究の)基礎体力づくり

皆様、どうぞよろしくお願いいたします。

December 31(Sun), 2017

ゆく年くる年2017

2017年ももう大晦日です。今年は山あり谷ありな一年でした。


振り返ってみると、夏ぐらいから就職について考え始めたものの、色々と諸事情が重なってどんどん後ろ倒れになってしまっています。ある程度仕方がないことではありますが、来年の早いうちには身を固めたい(固める方針を決めたい)ところです。


研究については(インプットよりは)アウトプットが目立つ一年でした。AAAI, EACL, ACL, BEA, IJCNLPに一本ずつということで、トータル数だけ見ると去年と同じですが、今年は1stで4本(去年は1本だけ)だったので、論文を素早く「書く」スキル(&1度や2度Rejectされてもヘコタレないメンタル)が少しずつついてきているのだと思います。毎年書いていますが、どこどこに出した&通ったで一喜一憂というよりは、インパクトがあるか(and 引用されるか)どうか、コミュニティに貢献できるかどうか、楽しんでもらえるかetc.、を今の段階では大切にしているので、来年はもう少し質(&long paper or journal)で勝負できると良いなと思います。*1

今年の秋からは新テーマにも取り組み始めているので、何とか来年中にはファーストステップについてお披露目したいところです。


今年の目標を振り返ってみると

  • 健康的な生活
    • 夜型生活はだいぶ脱却できた気がします。食生活や運動習慣(散歩)も定着してきました。ということで、70点。
  • より大きな視野に基づいた研究テーマを考える
    • 夏のインターンや、秋から始めた新テーマなど、従来よりも視野は広がってきている気がします。こちらも70点。
  • 実装力
    • 相変わらず伸びている実感がなく、質も量もまだまだ足りていないので、50点。

来年こそは実装力をしっかり鍛えたいなと思います。

*1:実際、今年は割と易きに流れる、というか自己満足な話だったり、卒業のためにどうしても必要だった話もあり、研究内容としての満足度はイマイチだったように思います。

December 29(Fri), 2017

プロ

2013年からずっと愛用していたMBAに、ついにバッテリーの警告がでてしまったので、タイミング的にもそろそろ良いかなということで、MBP (13 inch, touchbarなし)へ移行しました。

さっそく移行&セットアップをしたのですが、自分が感じたPros、Consについてメモしておきたいと思います。

  • Pros
    • 画面がキレイ
    • メモリが8GBから16GBになった
  • Cons
    • 電源ケーブルを巻き取る耳的なパーツがなくなった。
    • 電源ケーブルがUSBになり、(以前のマグネット式に比べて)着脱しにくくなった。
    • USBポートが2つしか無い。しかもUSB-c(左側)のみで、ドングル、ケーブルの買い直しが面倒。
    • SDカードスロットがない(これまでSSDの拡張として使ってきたので、引き継げない。)
    • キーボードが薄っぺらい
    • アップルのロゴが光らない
    • すぐ熱くなる
    • 電池の減りも割りと早い
    • アダプター経由でのTime Machine Backupが失敗する
    • escキーが遠くなった

おそらく(電源を含めた)全無線化への過渡期ということもあるのかもしれませんが、今の状態では使い勝手が良い(&完成度が高い)とはお世辞にも言えないような、、、。プロ(ユーザー)なら道具のせいにはしないのかもしれませんが。。。

ということで、バッテリー問題を解消してMBAを再度使うというアイディアも急遽浮上してきたり。MBAはPhD生活の5年間をともにした戦友でもあるので、できれば最後(せめてディフェンス)まで一緒に、、、という思いもあり、悩ましいです。

December 22(Fri), 2017

西へ東へ北へ南へ

12月はIJCNLP(台湾)での発表&日本へ(一時)帰国をしました。

2年ぶりだったせいか最初の数日はフワフワと夢を見ているような感じで、日本に帰ってきたという実感がありませんでした。


IJCNLPは、気合いを入れて作ったパワポが発表3日前に壊れたり、会場ではプロジェクターとの相性が悪かった(結局、ラボメイトのラップトップを借りた)り、色々災難続きだったのですが、無事に終わって何よりでした。やはり強化学習(的な話)は皆さん興味がある(誤り訂正はそんなでもない…)ようで、トークの後も色々質問を受けたりしました。MTや要約では同じネタが既出で特に技術的に新しい話ではなかったので、さらっと終わるかと思っていたので、正直想定外でした。

また、台北在住の友人とも4年ぶり?(台湾で会うのは10年ぶり?)に会うことができて良かったです。


日本に戻ってからは、温泉&スーパー銭湯+マッサージ*1を堪能したり、研究室・研究所訪問*2をしたり、旧交を温めたり、親戚訪問をしたり、深夜にアドバイザーとスカイプミーティングをしたりと、大変密度の濃い、そして楽しい18日間になりました。

忙しいところ時間をとって会ってくださった皆様に、本当に感謝しています。

*1:4箇所!!

*2:数えてみたら8箇所もお邪魔していました。うち4箇所ではトークもさせていただきました。大まかな話は同じなのですが、細かい小ネタについては各所それぞれでちょっとアレンジをしてみました。

November 22(Wed), 2017

気がつけば紅葉どころか落ち葉だらけ

もう11月も終わろうとしております。なんということでしょう。

ここ2ヶ月ほどは、研究半分、基礎固め半分、そしてextraタイムに事務作業、という感じでした。特に10月後半はNYCで行われた奨学金財団のイベントに参加したり、シアトルでEcho Dotをおみやげに貰ったりなど、外出も多かった気がします。

今月からはJason(Naradowsky)もJoinして、早速一緒にミニプロジェクトを始めてみたり。

そして明後日からは日本&(学会で)台湾へ行くのですが、何だかんだで4週間ほど留守にすることになってしまいます。。。

色々な人に声を掛けてもらった*1結果、日本でもあちこちトークに行くことになりました。久々に、けいはんなにも行けるので楽しみです。

呼んでいただけるのは非常にありがたいことですので、何とか面白いトークができれば良いなと思っています。

*1:正確には、どうしても行きたくて&会いたくて自分から声を掛けたところが一箇所ありますが。

October 09(Mon), 2017

蝿取り壺の中から

最近のプロジェクト関係で、モダリティについて色々考えることがあるのですが、結局のところ時間とは何か(言語あるいは記号でどのように表現すべきか)という問いに帰着していくことが多いです。そして、時間について考えると時間があっという間に過ぎる罠(蝿取り壺)にはまってしまい、世界そのものがゲシュタルト崩壊するような(宇宙空間に放り出されたような)感覚になります。自分の場合、哲学している時にこういったことがよく起こるのですが、ほどほどにしておかないと、そのまま戻ってこれなくなりそうです。

何が起こっているのかもう少し丁寧に表現するとすれば、ある事柄に対して、メタな視点の、そのまたメタな視点の、、、という逆方向への再帰が行われているような感じです。


彼は当選した。

彼は当選だった。

彼はあと一歩で当選だった。

彼は当選を信じている。

彼は当選したはずだった。

彼は当選できるだろう。

奇跡が起これば、彼は当選できるだろう。

彼は当選できるとは限らない。

彼は当選しないはずがない。

彼は当選した、と言われた。

彼は当選した、と騙された。


文の意味はベクトル(あるいは分散表現)だという仮説がありますが、上の例文をクラスタリングできるか試してみたいです。ひとまずRecursiveNN等でトレーニングすれば良いのかもしれませんが、リーディングスキルテストの話を聞いたり、実際にクラウドソーシングをしたりしていると、そもそも人間によるアノテーションが正しいものなのかも、怪しい気がしてきます。(むしろ、的確なInstructionsが書けるかどうか、という自分の文章力も大きな問題ですが。。。)


さらに実際のコーパスは、上のような単純な文はほとんどなく、

竹中氏は、「政策よりも、目先の総選挙で生き残ること。有権者を甘く見ているのだろうが、政策そっちのけで、新しい看板の下で戦えば、自分は当選する。小選挙区では大政党が有利なので、まず、政治家のポジションを確保しなければ、政策は出来ない。

当選するために、手っ取り早いのは、風が吹きそうな"希望の党"にジャンプしてしまう」と指摘しました。

https://news.yahoo.co.jp/byline/kudoyasushi/20171010-00076746/

のように出てくるので、頭を抱えてしまうわけです。


意味に関する問題はモダリティに行き着き、それは時間(+空間?)の概念とは切っても切れない関係にあるような気がします。

やはり自然言語の闇は深いです。最近流行りのキャプション生成・画像生成などはまだかわいく思えます。上の抜粋記事から画像を生成したら、どんなものが出てくるのか、少なくとも静止画ではなく、動画のような「時間関係」「因果関係」を持つフォーマットが必要になる気がします。

きっとシンギュラリティのようなものが来たら、答えがわかったりするのかもしれません。そうであれば、早く来てほしいものです。


と、あれこれ考えたりしていますが、考えてばかりでは何も生み出せないので、しっかり手を動かし続けたいと思います。


問:上の抜粋記事から、「希望の党に入る -> 当選する」と結論づけられるか。

  1. Yes
  2. No
  3. どちらとも言えない