こんな夢を見た

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

Learning Semantic Hierarchies via Word Embeddings

Learning Semantic Hierarchies via Word Embeddings
Ruiji Fu, Jiang Guo, Bing Qin, Wanxiang Che, Haifeng Wang, Ting Liu, 2014, ACL

上位下位の意味階層をWord Embeddingから構築(判定)。
ある単語xに対してとある射影行列をかけてyとの距離があるδ以下になれば上位下位関係、という判定の仕方。シンプル(である種ナイーブ)なアイデア。しかし、その射影行列を複数個用意して別々に学習する。ある正例ペアx, yについてオフセット(y - x)を計算して、それをクラスタリングして作って各クラスタで行列1つを学習、という形式。実際に判定するときは与えられた(順序付き)2単語についてオフセットを計算して、そのオフセットが所属するようなクラスタに割り当てられた行列を用いて判定。
スッキリとした話で納得感が高い(それで本当にいけるのか、というお馴染みのベクトル空間の神秘さはさておき)。実験結果もかなり良好のようだ。各上位下位ペアはオフセットによって幾つかのクラスタに分けられる、という根底のアイデアも直接的に実験で確かめられていてとても良い(正例ペアのオフセットをマッピングしたような図が示されていて、しっかりクラスタに分かれているのが見てとれる)。

ただ、手法や実験の方法に対してちょっと誤解しているしれない。晴れぬ疑問がある。実験の際に、①正例「hypernym - hyponym ペア」と②負例「hyponym - hypernym ペア」と③負例「上位下位関係にない単語ペア」を用意してそれぞれで結果を見るのかと思いきや、「①と②は反転しているだけで1対1対応になっているから実験しても結果は同じだし省いたよ」というようなことを言われてしまった。単語xとyについて、x - y と y - x で手法をそれぞれ試したら、オフセットが異なるのだから基本的に異なるクラスターに所属することになり、射影行列も異なるはずだ。となれば、前者で正しいと判定してうっかり後者でも正しいと判定しちゃうこともあるだろうし、逆もまたしかりだと思う。何か決定的な勘違いをしているのだろうか……。

どんな射影行列が出来上がったのか(重みのヒートマップ)も見たかった。例のごとく対角成分は強くて他は弱くて結局まあよく分からない、というオチにはなるだろうけども、クラスタごとバリエーションがある(割と異なる行列が出来上がりました)という確認の意味でも欲しい。

ジャーナル版(http://ir.hit.edu.cn/~car/papers/ieee2015.pdf)もあるけど、眺めた感じ、多分コンテンツはほぼ同じ。