こんな夢を見た

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

Non-distributional Word Vector Representations

Non-distributional Word Vector Representations
Manaal Faruqui and Chris Dyer, 2015, ACL

分布じゃない単語ベクトル。
分布じゃない。素性は資源の丸写しで、つまりはそもそも学習もしない。
WordNet、FrameNet、Pen TreeBank (のPOSタグ)、Supersenses、Emotion、Sentiment、Connotation、Color、Synonymy、Antonymy等の資源を使って、Specificすぎる素性だとかそういうの関係なしにそっくりそのままバイナリベクトルを作成(各次元が、SYNSET.FILM.V.01とかVERB.FRAME.REGARDであるかどうかを表す)。
当然ながらかなりの次元数でかなりスパース。次元が17万でスパース率は平均99.98%くらい。語彙は12万。各次元が活性化(1になる)するのは平均して15個(0.01%)くらい。スパースなので次元数の割に計算量は低くて扱い易い模様。

類似度と極性分類と名詞句括弧付タスクで実験。比較手法は、Skip-Gram、Glove、LSA(共起行列にSVD)(それぞれ300次元)と、提案ベクトル、提案ベクトルにSVD(300次元)、提案ベクトルにSkip-Gramを結合(172,418次元+300次元)の6種類。
類似度はコサイン類似度で取っているようで心配したものの案外大丈夫らしい。データセットは3つあり、WS-353では惨敗。RG-67では勝利(SVD版は敗北)。SimLexに至ってはかなりの差で勝利。SVD版のほうがさらに少し勝っている。データセットの差が結構あるものだなあと、そっちの面の話が気になる。各データセットの「似ている」はどういう傾向があるのだろうか。
極性分類はSocherのSentiment TreeBankに対して、フレーズor文内単語の平均ベクトルを素性にしたL2回帰分類器で挑む。これではSkip-Gram+提案ベクトルが最もいい結果を出している。そしてSkip-Gram、LSA、提案、Glove、提案SVD。
名詞句括弧付タスクは、形容詞+名詞+名詞で構成された名詞句に対して意味的に適当になるように括弧をつける(パーズを行う)タスク。e.g., local (phone company), (blood pressure) medicine . こっちでは順番にベクトルつなげた素性でL2回帰分類。結果は、しっかり提案ベクトルの勝利。続いて、Skip-Gram+提案、Skip-Gram、LSA、Glove、提案SVD。
また、全てのタスクでSkip-Gramの性能をSkip-Gram+提案ベクトルが上回っている。

めちゃくちゃスパースだとしてもかなり役に立つものだなあと感心した。
欲を言えば、各資源(WordNet, FrameNet, ...)の素性としての出入り分析が欲しい。また、タスクを解くにあたってどれくらい語彙内にない単語に出会ったか、その場合の正解率はどうか、ということも知りたい。