a lonely miner

第5回 最先端NLP勉強会に参加してきました

もう一週間ほど前になってしまうのですが,最先端NLP勉強会 という会に参加させていただきました.

じつは昨年も参加するべく申し込みまでは行ったものの,事情があって参加できず.今年はなんとかリベンジを果たせました.

二日間で30本もの論文を読むこの勉強会,読む論文の選出プロセスにも工夫が凝らされています.

  1. 参加者全員が,対象となる会議の予稿集に目を通し,面白そうだと思った論文数本(今年は12本)に対して投票を行う.
  2. 多くの票を集めた論文,上位30本ほどを候補とし,参加者はその中から自分が紹介する論文を選ぶ.

という二段階をとっているので,いわゆる「ハズレ」な論文が少なくなっており,どの発表もたいへん勉強になりました.


私が紹介したのは以下の論文,

発表スライドはそのうち公開されるような気もしますが,今のところ認証が必要みたいなので,私のぶんだけ. 他の方の発表がすばらしいものばかりで,ちょっと手抜きすぎな感じがしたので,発表時のものから大幅に加筆しています.英語がおかしいのには,目をつぶってください・・・.

以前紹介したGraph Connectivityに基づくWSDの論文と同じ,Roberto Navigliのチームによる論文です.

WSDの論文というよりは,文間の意味的な類似度を精度良く求めるために,WSDを活用する,という主旨.いちおう,WSDのための新たなアルゴリズムも提案していますが,そちらは限定的な状況を想定しているため,直接一般のWSDに適用するのは難しいかも.

この論文の優れているところは,語義(WordNet上の一つのSynset),単語,一つの文,(論文中では書かれていませんが,おそらくドキュメント全体も)といった,さまざまな粒度の言語的要素を,ひとつの表現(WordNet Synset上の確率分布)で表すことができる,というところ.

アイデアは単純で,文(とか単語とか,意味表現を求めたい言語要素)を語義の集合にバラして,それを種として,WordNetのグラフ上をランダムウォークさせる,というもの. ただ,多義語が含まれる場合は種にノイズが混ざってしまうので,それをWSDで解決してから,グラフにつっこむという解決策を提案しています.

WSDのアルゴリズムは,Yarowskyのアルゴリズムなどと同様に”one sense per discourse”仮説に立脚したもので,二文それぞれが近い意味になるような語義の組み合わせを二文間のアラインメントで探索する,というもの.べつにこの方法でなければならない,ということもなさそうですが,もともとの目的が”文間の意味的な類似度”ですので,対になる文が意味的にだいたい似ている,ということが仮定できる状況下では,有効な方法に思えます.

ツッコミどころはいっぱいあって,例えば語順とか構文のような,文全体の意味を決めるのに重要な要素を捨象してしまっているとか,マルチシードのランダムウォークって,それシード一つのランダムウォーク単純に重ねあわせただけなのでは,とか,

勉強会での説明のときは,この論文が主に「文間の意味的な類似度」に最もフォーカスを当てていることがうまく説明できなかったのですが,帰りの電車でうんうん唸りながら考えて,ここに焦点をあてて説明すれば良かったな,と帰宅してからチマチマスライドなおすなど.


その他,勉強会で紹介していただいたものの中で,いくつか気になった論文を.

CCGパーシングに,distributional semanticsを結合する,という話.CCGのpredicateに,大きなコーパスをクラスタリングして得られたentity(項)とrelation(述語)を統合する,という研究.LogicとDistributional Semanticsは,それぞれ別個に発展してきているので,それらを一度まとめて考えてみよう,というモチベーションがありそう.組み合わせることで何が新しく解けるようになるのか,というのはまだオープンプロブレムみたい(そもそも,評価に使えるデータがない?)だけれど,今後が楽しみ.

ルワンダ語とかマダガスカル語のような,電子的に扱える言語リソースが限られている語に対して,いかに小さな労力で品詞タガーを学習できるか,という問題を扱った研究.小町さんの日記に大まかなストーリーが書いてあるのでそちらもご参照ください.個人的には,生のコーパスにアノテーションを付与するよりも,同じ時間であれば辞書のエントリ数を充実させたほうが若干性能が良い,つまり,語間のマルコフ性に関するデータよりも,語自体の品詞情報のほうが(人手のラベル付けにおいては),時間に対するコストパフォーマンスが良い,というのがなかなか興味深く感じました.

オンライン学習を並列化するためには,それぞれのノード間でパラメータを共有する必要があるのだけれど,そのタイミングをうまく調節することで,スケーラブルにしよう,という研究.とくに構造学習においては,デコード(新しいデータを評価してみて,パラメータの更新が必要かどうか判断する)というフェーズに時間がかかることが多いのだけれど,これはそれぞれのデータに対しては独立に行える(並列化できる).しかしながら,間違えたたびにパラメータの更新を行っていてはオーバーヘッドが大きすぎるので,途中で間違えたとしても気にせず数事例まとめて評価する(ミニバッチ)ことで,パラメータの更新回数を少なくしよう,というアイディア.うーんうまく説明できないのですが,ミニバッチ,という考え方は Deep Learning でも重要とされていて,完全なオンライン(SGDとか)安定して収束しない,完全なバッチ(BFGSとか)だとメモリがキツい,みたいなときによく使われているので,おさえておいて損はなさそう.

実世界の物体(クマとか,カップとか)と,テキスト上に現れる Bear, Cup などをうまく結びつけよう,という研究.SIFTとかHOGといった,CVの研究においてよく用いられている特徴量ではなく,「クマは茶色い」「クマは四本足だ」などといったような,より高レベルな特徴量(Visual Attributeと呼ばれています)を用いる方法を提案.この高レベルな特徴量は,人手で用意する必要があるようなのですが,画像の特徴と,テキストの特徴を結びつける,という話はなかなか興味深く感じました.


全体としては, Grounding(実世界との対応付け?うまい日本語訳が分かりませぬ) がジャンルとして大きな注目を集めているという印象を受けました.マルチモーダル!

道具としては,CCGはもう何処にでも出てくる感じ.CFGなどの伝統的な文法に比べて,どの辺に利点があるのかイマイチ分かっていないので,よく勉強する必要がありそうです.

かなりムシムシする部屋に二日間缶詰になっていたので,汗かきな私にはちょっとシンドイ感もありましたが,みなさま質の高い発表ばかりで,とても楽しい時間を過ごすことができました.幹事のみなさま,発表者のみなさま,どうもありがとうございました.

あわせて読みたい:

Comments