後処理のみで単語ベクトルの性能を向上させるALL-BUT-THE-TOPを使った日本語学習済み分散表現
2019-02-23

https://www.pexels.com/photo/green-pine-trees-covered-with-fogs-under-white-sky-during-daytime-167699/

概要

ICLR2018で発表されたAll-but-the-Top: Simple and Effective Postprocessing for Word Representationsの後処理を実装し、日本語学習済み分散表現に対して適用し評価を行いました。また、作成した単語ベクトルを配布します。

All-but-the-Top

All-but-the-Topは、学習済みの分散表現に対して特定の後処理を加えることにより、分散表現の評価に用いられるタスクにおいて性能向上を達成した手法です。単語ベクトル内に存在する偏りを無くすために、平均で標準化し、主成分分析で幾つかの方向の主成分を引くという処理をするというのものです。たったこれだけという感じですが、SIF Embeddingの研究と同様に理論的な裏付けがあるようです。こういった背景や英語での実験結果は論文を参考ください。日本語での解説はこちらの論文紹介スライドが参考になります。


単語ベクトルのダウンロード

以下の2つの学習済み分散表現に対してAll-but-the-Topの後処理を適用したファイルです。配布するモデルは、元のファイル名に加えてabttという名前が付与されています。

ファイル 次元数/語彙数 ファイルサイズ
jawiki.word_vectors.100d.abtt.bin 100 / 727,471 285M
jawiki.word_vectors.200d.abtt.bin 200 / 727,471 563M
jawiki.word_vectors.300d.abtt.bin 300 / 727,471 840M
cc.ja.300d.abtt.bin 300 / 2,000,000 2.3G

実装

ソースコードは以下のレポジトリにあります。

yagays/all_but_the_top

ハイパーパラメータであるPCAの次元数は、論文中で経験的に示されたd/100を用いています(dは単語ベクトルの次元数)。


評価

ここでは、日本語での評価データセットが公開されている「日本語単語類似度データセット」を用いた単語類似度による評価を行いました。以下の数値はスピアマンの順位相関係数に100を掛けたものです。この数値が高いほど、人間による単語間の類似度の傾向と近いことを表します。

分散ベクトル 動詞 形容詞 名詞 副詞 平均
word2vec.100d 25.06 21.42 22.69 18.57 21.94
word2vec.100d + abtt 25.05 19.21 20.85 21.33 21.61
分散ベクトル 動詞 形容詞 名詞 副詞 平均
word2vec.200d 25.88 22.20 23.90 20.63 23.15
word2vec.200d + abtt 26.55 20.71 21.48 26.65 23.85
分散ベクトル 動詞 形容詞 名詞 副詞 平均
word2vec.300d 25.72 22.34 24.87 21.85 23.70
word2vec.300d + abtt 26.50 21.59 23.91 27.22 24.81
分散ベクトル 動詞 形容詞 名詞 副詞 平均
fasttext.300d 21.04 35.91 31.01 30.98 29.73
fasttext.300d + abtt 20.36 35.80 31.95 33.24 30.34

All-but-the-Topを適用することによって、200次元以上のモデルにおいて平均的にスピアマンの順位相関係数が向上していることがわかりました。ただし、すべての品詞において向上するわけではなく、形容詞や名詞では逆に数値が低くなっている場合もあります。単語埋め込みの研究においては幾つもの評価手法が存在し、これ自体は性能評価の1つの側面でしかありませんが、All-but-the-Topによる後処理が有用であることを示すことができたと思われます。

なお、単語から単語ベクトルへの変換において、分かち書きで2単語以上に分割された単語列に関しては、堺澤らと同様に単語の平均ベクトルを用いています。また、どちらかに存在しない語彙が含まれていて単語ベクトルが計算できない場合は、類似度を-1としました。今回の実験が幾つかの既存研究における日本語単語類似度データセットでの結果と異なっているのは、これらの前処理や形態素解析の辞書が異なるからだと考えられるのですが、もし詳しい方がいらっしゃったらご指摘いただければと思います。

実行した評価スクリプトはレポジトリのevaluation.pyにあります。


ライセンス

本ページで配布しているモデルファイルのライセンスはCreative Commons Attribution-ShareAlike 3.0.です。


参考

このエントリーをはてなブックマークに追加