こんな夢を見た

修士学生による自然言語処理研究の記録。主にDeep LearningやEmbedding関連論文の軽い自分用まとめとして。内容に誤りが含まれている場合があります。お気軽にご指摘ください。

Inducing Neural Models of Script Knowledge

Inducing Neural Models of Script Knowledge
Ashutosh Modi and Ivan Titov, 2014, CoNLL

スクリプト知識を用いて学習したNeural Netoworkでのイベント順序認識。

先に結論を言えば、かなり精度が出ている。前提として、全てのイベントは一貫した順序関係(推移性)を持つと仮定している。よって、一律の「どれほど後に起きたか」スコアのようなものを各イベントに算出できれば順序関係を認識できるという考えに基づいてモデルを作成。
具体的には、イベント(文)を構成する主語argumentのheadと目的語argumentのheadとpredicateの3要素それぞれのベクトルを用いてイベントのベクトルを作成し、そのベクトルに対して順序スコアを計算する。

さらに詳細な構造を式で表すと(論文には式自体は載っていないが)

{ \displaystyle
score(e) = W_{s} \cdot f\left( A \cdot f\left( Ta_1 + Rp + Ta_2 \right) \right)
}
f( )はシグモイド関数。a_1, a_2, pは主語arg, 目的語arg, predicateのベクトル。W_s, T, A, Rはそれぞれ別の重み行列。

主語と目的語ではかけあわせに同じ行列Tを用いていて、かつ3要素の合計をとっているために語順考慮は行われていないということになる。主語目的語で変えてあげてもいいと思うのだけど、学習データが少ないから割り切ったのかもしれない(記述はなし)。
単語の初期ベクトルはCollobertら2011のベクトルにした。けどもランダムにしても精度変わらなかったとか。理由としてCollobertらのベクトルの50次元が、(行列の次元も大きくなるので)学習データの少なさゆえにそもそも微妙なのかもということを言っていた。記述が曖昧だが、ランダムのときには30次元で、そしてイベントベクトル自体はどちらでも50次元、なのだろうか。

データセットはRegneriら(2010)がメカニカルタークで集めたもの。14種類の場面(バス、レストラン、コーヒーなど)で各30種類ほどシナリオ(シナリオ≒スクリプト)があるらしい。

モデルとしてはかなりシンプルなのだけど、精度が高い。PrecisionはさておきRecallの上昇が著しくて、F値では5ポイントもstate of the artに差を付けた(84.1)。学習データも非常に少ないのにそんな精度が出るのだろうか、と違和感を覚える。ちなみにモデル作成をwebテキストからとったスクリプト知識でやった場合にも同様の精度となっている。

追加のタスクとして、イベントが言い換え関係にあるかの判定も試している。
1. 各シナリオでは言い換え関係にあるイベントはないはず→それらのスコアの間には区切りを設けよう
2. 別シナリオからのイベント2つが近いスコアならば言い換え関係なはず→できるだけ区切りから近くのイベントまで距離が大きくなるようにしよう
という基準で、(スコアの数直線上に)値の区切りをたくさん設けて、与えられた2つのイベントのスコアが同じ区切り内にあれば言い換えとするっぽい。こちらはたぶんいまいち。

@inproceedings{DBLP:conf/conll/ModiT14, author = {Ashutosh Modi and Ivan Titov}, title = {Inducing Neural Models of Script Knowledge}, booktitle = {Proceedings of the Eighteenth Conference on Computational Natural Language Learning, CoNLL 2014, Baltimore, Maryland, USA, June 26-27, 2014}, pages = {49--57}, year = {2014}, crossref = {DBLP:conf/conll/2014}, url = {http://aclweb.org/anthology/W/W14/W14-1606.pdf}, timestamp = {Wed, 21 Jan 2015 17:09:29 +0100}, biburl = {http://dblp.uni-trier.de/rec/bib/conf/conll/ModiT14}, bibsource = {dblp computer science bibliography, http://dblp.org} }

A Recursive Recurrent Neural Network for Statistical Machine Translation

A Recursive Recurrent Neural Network for Statistical Machine Translation
Shujie Liu and Nan Yang and Mu Li and Ming Zhou, 2014, ACL

Recursive Recurrent Neural Networkを用いた統計的翻訳。

RecursiveかつRecurrentのモデルを提案。それでちゃんとRecursiveの構成情報とRecurrentの文脈情報を共に使ったので機械翻訳の精度が上がりましたよという話。機械翻訳のように大域的に文全体の情報を使わないと解けないと思われているタスクではRecurrentが優勢なように思える。ただし、Recurrentモデルの大半は「全体の情報を使える!」という感じの抽象的な説明だけで、何が起きているのかの理解が不完全なので個人的にはあまり好みでないモデルだ。前向きにせよ後向きにせよ双方向にせよ、伝播してくる情報のごちゃまぜ感はどうにかならないのだろうか。

それはさておき、肝心の二つの再帰モデルの融合モデル(R2NN)の説明がよくわからない。recurrent input vectorと呼ばれるxはなんなのか(borrowed from recurrent neural networksと述べられている)。sの下付き添字はrecurrent NN的な時刻を示すものなのか、などなど謎だらけだ。式の全容が図とマッチしているようにも思えない。都合よく式などを無視して解釈すれば、「各ベクトルを構成するのは、recursive NNで組み上げられたベクトルsと、各フレーズ毎にrecurrent NNあるいは他の素性作成器でどうにかして作られたベクトルxを、あわせたもの」というように見える。もちろんこの説明通りだったとしても、recurrent NNをどう用いてベクトルxを作ったかの説明は見当たらないが……。
Sam Bowman氏ですら理解に及んでいないようなので、やはり根本的な記述不足なのだろうか。
一応ACLのプレゼン自体もモデル説明と質疑だけさっと見たものの分からなかった。

この論文への興味は融合モデルそのものがメインの対象だったけど、どうにも精度向上の説明としてはその他の部分の方がむしろ重要な気がする。とはいえ、機械翻訳に疎くて既存研究からどれほど"跳んだ"アイデアなのかはわからない。

この論文での初出のアイデアではないが、木構造モデルの学習時にエラーの伝搬が難しいということの対策として、early updateという手法が使われていて有用そうに見えた。木構造などでそのNNモデルでビームサーチを行って正解候補を探索いくときに、正解が候補から漏れでた時点(階層)でそこのエラーを元にしてそこ以下の階層にupdateを行うというアイデア。なるほど確かにとなるアイデアだ。
論文内では引用としてMax-Violation Perceptron and Forced Decoding for Scalable MT Training, Yu et al, 2013が出ているが、孫引きしたらIncremental parsing with the perceptron algorithm, Collins, 2004が初っぽかった。10年も経っているしアイデアも自然なので、自分が知らなかっただけで色んなところでよくやられていることなのかもしれない。なお、Max-Violationというのは、early updateが"初のエラー"以下に関して学習を行うのに対して、最もエラーが大きかったところから学習を行うらしい(学習の収束自体は速くなる)。

@Proceedings {export:215646, abstract = {In this paper, we propose a novel recursive recurrent neural network (R2NN) to model the end-to-end decoding process for statistical machine translation. R2NN is a combination of recursive neural network and recurrent neural network, and in turn integrates their respective capabilities: (1) new information can be used to generate the next hidden state, like recurrent neural networks, so that language model and translation model can be integrated naturally; (2) a tree structure can be built, as recursive neural networks, so as to generate the translation candidates in a bottom up manner. A semi-supervised training approach is proposed to train the parameters, and the phrase pair embedding is explored to model translation confidence directly. Experiments on a Chinese to English translation task show that our proposed R2NN can outperform the stateof- the-art baseline by about 1.5 points in BLEU.}, author = {Shujie Liu and Nan Yang and Mu Li and Ming Zhou}, month = {June}, publisher = {ACL}, title = {A Recursive Recurrent Neural Network for Statistical Machine Translation}, url = {http://research.microsoft.com/apps/pubs/default.aspx?id=215646}, year = {2014}, }

Injecting Logical Background Knowledge into Embeddings for Relation Extraction.

Injecting Logical Background Knowledge into Embeddings for Relation Extraction.
Tim Rocktaschel, Sameer Singh, Sebastian Riedel, 2015, NAACL

embeddingを用いた関係抽出への論理知識の導入。
まず背景となる研究について。観測済みの関係情報から「entityペアを行、関係を列として、ペアに関係が成立するときにセルに値が入るような行列」を作り、それを因子分解した後に再構成すると、当初の行列からは値が変化したものが作成される。すると、未観測の関係情報に該当するようなセルにも値が入り、未知のペア関係の予測が行える。
この論文では、観測済み関係情報に加えて、用意された一階述語論理で表された知識(e.g. ∀x,y city-of(x,y)→location/containedBy(x,y) )もできるだけ成立することを目指すような目的関数の最適化によって行列を作る。なお、最終的にできる行列は、各セル値がそのペアにその関係が成立する確率を表す形になる。

モデルをある程度理解したと思いきや、実験説明のあたりからよく分からなくなってしまった。イメージ通りだったのは実験5.3で、他のZero-shot Relation Learning等の実験設定と提案手法のアプローチがピンとこない。行列を完成させたらそこから論理知識を抽出し、その後その行列の各列がどの関係ラベルなのかを隠して、さきほどの論理知識を用いて各列がどの関係ラベルに割り当てられているかを当てる、というタスク? 大きな勘違いがありそうなので少し追いてから読み返そう。

Unsupervised POS Induction with Word Embeddings

Unsupervised POS Induction with Word Embeddings
Chu-Cheng Lin, Waleed Ammar, Chris Dyer, Lori Levin, 2015, NAACL

Word Embeddingsを用いた教師なしPOS induction。
POS inductionではタグから単語を出力する際の確率分布を用いて推定を行うモデルがある。その際には多項分布を仮定したモデルがあったが、それをタグからWord Embeddingsを出力するような多変数ガウス分布を仮定した形に変えると精度向上が8つの言語で一貫して見られたという話。

上のようにさらっとまとめたものの、いまいち理解しきれていない……。なかなか他にも使えそうなアイデアな気がするのだけども。

なので論文の目玉への考察はさておき、word embeddingのパラメータ等変化による性能差についてメモしておく。論文では、普通のSkip-gramモデルとStructured skip-gramモデル(Ling et al., 2015, NAACL)を比較している。後者は周辺単語を予測する際に各語の位置を考慮するモデル。それによってSyntacticな性質が深く込められたword embeddingになるらしく、事実本論文の実験でも精度が向上している。また、window sizeは1,2,4,8,16で調べたところ1が最高精度だった。つまりは隣の単語だけを見るのが最もいいということ。品詞推定程度のsyntacticな性質を得たいのならばそれがいいのかもしれない。window sizeを1に固定した上で、ベクトルの次元数について20, 50, 100, 200で性能を比べたところ、とりあえずは20次元が最高精度だった(差は小さく、さらに言えば性能と次元数に単調な相関もない)。これはまあコーパスサイズにもよりそうので、この論文だけで一般化してどうこう言えるものではないだろう。

NAACL2015だけど、出版前のため以下のbibtexarxiv
@article{DBLP:journals/corr/LinADL15, author = {Chu{-}Cheng Lin and Waleed Ammar and Chris Dyer and Lori S. Levin}, title = {Unsupervised {POS} Induction with Word Embeddings}, journal = {CoRR}, volume = {abs/1503.06760}, year = {2015}, url = {http://arxiv.org/abs/1503.06760}, timestamp = {Thu, 09 Apr 2015 11:33:20 +0200}, biburl = {http://dblp.uni-trier.de/rec/bib/journals/corr/LinADL15}, bibsource = {dblp computer science bibliography, http://dblp.org} }

Global Belief Recursive Neural Networks

Global Belief Recursive Neural Networks
Romain Paulus, Richard Socher, Christopher D. Manning, 2014, NIPS

大局的な伝播を行うRecursive Neural Networks。
文全体のコンテクストを各トークンやフレーズに伝播させるための枠組みとして、上向きにrecursive合成を行ったのちにてっぺんから下向きにベクトルを生成していく。
Isroyらの双方向recursive(まとめ)モデルと同じようなコンセプトであるが、下向きベクトルの生成(伝播)方法が少し異なる。その差は少しではあるが決定的なようで、フレーズの極性分類タスク(SemEval 2013 Task 2)での実験結果はしっかりとIsroyらのモデルに勝っている。

具体的には、左側の子aと右側の子bをもつ親ノードがpで、それぞれの上向き,下向きベクトルを↑a, ↓aと表すとすると、
こちらは ↓a = Wlf・↑p + Wlb・↓p、↓b = Wrf・↑p + Wrb・↓p
Isroyらは ↓a = Wf・↑a + Wlb・↓p、↓b = Wf・↑b + Wrb・↓p
となる。
異なっているのは第一項。重み行列とベクトルの掛け合わせが、(左or右専用行列)・(親の上向きベクトル) なのか (左右併用行列)・(子自身の上向きベクトル) の違いである。

少なくともこちらの方がパラメータも増えて表現力が高くなっているので精度向上は直感的には納得である。これによってどう影響がでるかというロジックが少しだけ論文内(P6。A closer 〜)で語られているものの、個人的には特に説得力がある内容ではなかった。(そもそもそこの文章、各表現が何を指し示しているのかが少しわかりづらい)

他の特徴的な優良アイデアは、単語ベクトルについて。単語ベクトルは130次元のものを最終的に使っているが、そのうち100次元はpretrainedのベクトルを固定で使い、残り30次元は新たに(教師ありの伝播で)学習している。

@incollection{NIPS2014_5275, Publisher = {Curran Associates, Inc.}, Title = {Global Belief Recursive Neural Networks}, Url = {http://papers.nips.cc/paper/5275-global-belief-recursive-neural-networks.pdf}, Booktitle = {Advances in Neural Information Processing Systems 27}, Author = {Romain Paulus and Richard Socher and Christopher D. Manning}, Editor = {Z. Ghahramani and M. Welling and C. Cortes and N.d. Lawrence and K.q. Weinberger}, Year = {2014}, Pages = {2888--2896} }