Novice Blog

死ぬまでずっと途中だ!

【論文紹介】"Ngram2vec: Learning Improved Word Representations from Ngram Co-occurrence Statistics"

EMNLP 2017にacceptされていた論文 "Ngram2vec: Learning Improved Word Representations from Ngram Co-occurrence Statistics"を読んだのでまとめた.

paper
github


Ngram2vec: Learning Improved Word Representations from Ngram Co-occurrence Statistics

  • EMNLP 2017

どんなもの?

word2vecをngramに拡張し,ngramでの分散表現を獲得
SGNS(Skip-gram with Negative Sampling),GloVe,PPMI matrix,PPMI matrix + SVD factorizationの4つの表現方法にngramを導入
ngram embeddingは,semantic meaningsとsyntactic patternsを反映可能
ngramの語彙数は膨大なため,ngram embeddingの計算コストを軽減するため,共起行列を構築する新しい方法を提案

これができるとどう嬉しいの?

対義語やコロケーションをうまくベクトル空間上に表現できる
例 ) 'not interesting' と 'boring' など

f:id:hightensan:20180913212629p:plain

先行研究と比べてどこがすごい?

従来の単語ベースの分散表現獲得モデルは,情報源が単語共起統計量に限定されている(Levy et al.,2015)
情報源を'word-word'型の共起から'ngram-ngram'型の共起まで拡張することで,改善された分散表現を学習可能

SGNS

Skip-gram with negative sampling (SGNS)
(1)コーパスをスキャンし,ローカルウィンドウ内の<word,context>ペアをトレーニングサンプルとして使用
(2)文脈を予測するために(または逆に単語を作るために)モデルを訓練

negative samplingはトレーニングプロセスをスピードアップし,トレーニング時間を数日または数週間から数時間に短縮可能

Glove

<word, context>のペアで訓練された典型的なneural embeddingモデルとは異なり,GloVeは共起行列に基づいて分散表現を学習

GloVeは従来の"words predict contexts"パラダイムを破る
その目的は,マトリックス内の非ゼロ値を再構成すること
マトリックスの直接的な使用は,結果の向上とスピードの向上をもたらすと報告されている
(しかし,word2vecに比べてGloVeの利点については依然として論争がある(Levy et al.,2015; Schnabel et al.,2015))

GloVeおよび他のembeddingモデルは,本質的にコーパスの単語共起統計量に基づいている
<word, context>の組と共起行列は互いに変換することが可能

PPMI & SVD

Levy and Goldberg (2014c)は,SGNSが暗黙的にPMI行列を考慮に入れているだけであることを明らかにした
Levy and Goldberg(2014b)は,正のPMI(PPMI)行列が,一連の言語タスクに新たに提案されたembeddingモデルに依然として匹敵することを示している

PPMI行列から密な単語表現を得るために,スパース行列から低次元ベクトルを学習するための古典的次元削減法であるSVDを用いてPPMI行列を因数分解する

※ PPMI : Pointwise Mutual Information (自己相互情報量)
※ SVD : Singular Value Decomposition (特異値分解)
※ PMIの値が示す2つの事象の関連度合いは, 自然言語処理においては単語の共起性と捉えることができ, さらに単語の意味的な類似性と近似できる(2つの単語が一緒に起こりやすい場合は, 意味的にも関連しているだろうという直感に基づいて).

参考:自然言語処理における自己相互情報量 (Pointwise Mutual Information, PMI)

Ngram in Deep Learning

deep learningの文献では,ngramはテキスト表現を生成するのに有用であることが示されている

特に,畳み込みニューラルネットワーク(CNN)は,一連のNLPタスクで良好に機能することが報告されている(Blunsomら,2014; Huら,2014; Severyn and Moschitti,2015) CNNは基本的にテキストを表すためにngram情報を使用している
1-D畳み込み層を使用してngramの特徴を抽出し,異なる特徴は最大プール層によって選択されている

  • (Li et al.,2016)では,テキスト埋め込みがテキスト中のngramを予測するのに役立つように訓練されたパラグラフベクトルモデルにngram埋め込みが導入されている
  • (Melamud et al.,2014)では,ngram言語モデルを使用してコンテキストをモデル化し,ngramの類似性タスクの有効性を示している 単語埋め込み文献では,Melamudらが関連する研究を行っている。 (2014),ここでは単語埋め込みモデルがベースラインとして使用されます。彼らは,ngram言

フレーズはngramとは異なる
フレーズは明確なセマンティクスを持ち,フレーズの数はngramの数よりはるかに少ない   phrase embeddinggの使用は,word embeddingの品質にほとんど影響を与えない

(It should be noted that phrases are different from ngrams. Phrases have clear semantics and the number of phrases is much less than the number of ngrams. Using phrase embedding has little impact on word embedding’s quality.)

技術や手法のキモはどこ?

  • Ngram Predicts Ngram

f:id:hightensan:20180913212713p:plain

ngram から 周辺のngramを予測

'ngram predicts ngram'の目的関数:

f:id:hightensan:20180913212730p:plain

 C(w_{t:t+n_w})の定義:

f:id:hightensan:20180913212741p:plain

 N_w : the order of center ngram
 N_c : the order of context ngram

  • Co-occurrence Matrix Construction

GloVe, PPMI, PPMI + SVD にngramを導入 → 単語の共起行列をngramのものに置き換えるだけ
<word(ngram), word(ngram)>のペアを取り出した後,これらのペアに共起行列を構築.
残りのステップは元のベースラインモデルと同じ

行列構築のコストは,ペア数(#Pairs)と密接に関連している
Table1は,コーパスwiki2010から抽出されたペア数の統計を示しているが,
ngramを考慮すると#Pairsが大きくなることがわかる

f:id:hightensan:20180913212757p:plain

【対策】

  1. 'mixture' strategy
    単語(またはngram)が頻度順にソートされるとき,共起行列の左上隅は密で残り部分はsparse
    左上隅の密な要素は2D配列に格納され,メモリに格納
    残りのsparseな要素は,<ngram,H>の形式で格納

  2. 'stripes' strategy
    H<context,count>は,ngramとコンテキストが同時に発生する回数を記録する連想配列
    <ngram,context>のペアを明示的に格納する場合と比較して,
    'stripes'strategyは左上隅の外側でペアを集める機会を増やす

f:id:hightensan:20180913212810p:plain

第1段階:ペアは topLeft関数に従って異なるデータ構造に格納.中間結果は,メモリがいっぱいになると一時ファイルに書き込まれる

第2段階:ソートされた一時ファイルをマージして共起行列を生成. getSmallest関数は,テンポラリファイルから最小のキーでペア<ngram,H>を取り出す

どうやって有効だと検証した?

analogy task と similarity task で評価

  • analogy task
    Dataset :
    GOOGLE dataset (Mikolov et al., 2013a) contains 19544 questions
    MSR dataset(Mikolov et al., 2013c) contains 8000 analogy questions

f:id:hightensan:20180913212823p:plain

The SGNS of bi_bi type provides the highest results.
It is very effective on capturing semantic information (Google semantic).
Around 10 percent improvements are witnessed on semantic questions compared with uni_uni baseline.
For syntactic questions (Google syntactic and MSR datasets), around 5 percent improvements are obtained on average.

  1. The effect of overlap
    overlapの影響が大きい
    ウィンドウサイズが2と5のときのnon overlap設定と比較して,約10%と約3%の改善が見られる
    構文上のケースでは,non overlap設定は約5%のマージンで改善される

  2. The effect of trigrams
    トライグラムの導入は,analogy(特にウィンドウサイズ2)のパフォーマンスを低下させる
    これはおそらく,trigramはwiki2010ではスパースであり,10億のトークンと比較して小さなコーパスであると考えられる
    筆者らはhigh order ngramが大規模なコーパスに適していると推測し,その結果を今後の研究で報告する予定
    ※ trigramは,ウィンドウサイズが2のときにnon overlap設定のボキャブラリには含まれないことに注意する必要がある
    単語とtrigramの最短距離は3で,ウィンドウサイズを超えているため

  3. similarity task

f:id:hightensan:20180913212838p:plain

結果は,analogyの場合と同様
bigramの使用は効果的だが,trigramの導入はほとんどの場合パフォーマンスを低下させる
一般的に,bigramは一連の言語作業においてSGNSに対して大幅な改善をもたらす
ngramは伝統的な言語モデリング問題の重要な部分であることが一般的に知られており,table2およびtable3の結果により,より高度なword embeddingモデルであるSGNS上でのngramの有効性を再度確認できる

定性的評価

f:id:hightensan:20180913212856p:plain

Table7は,targetとなるngramおよびそれらの最も近い最近接のリストを示す

As might be expected, synonyms of the target ngrams are returned in top positions (e.g. ‘give off’ and ‘emit’; ‘heavy rain’ and ‘downpours’). From the results of the first group, it can be observed that bigram in negative form ‘not X’ is useful for finding the antonym of word ‘X’. Besides that, the trained ngram embeddings also preserve some common sense. For example, the returned result of ‘highest mountain’ is a list of mountain names (with a few exceptions such as ‘unclimbed’). In terms of syntactic patterns, we can observe that in most cases, the returned ngrams are in the similar form with target ngrams. In general, the trained embeddings basically reflect semantic meanings and syntactic patterns of ngrams.

With high-quality ngram embeddings, we have the opportunity to do more interesting things in our future work. For example, we will construct a antonym dataset to evaluate ngram embeddings systematically. Besides that, we will find more scenarios for using ngram embeddings. In our view, ngram embeddings have potential to be used in many NLP tasks. For example, Johnson and Zhang (2015) use one-hot ngram representation as the input of CNN. Li et al. (2016) use ngram embeddings to represent texts. Intuitively, initializing these models with pre-trained ngram embeddings may further improve the accuracies.

  • targetとなるngramの同義語がベクトル空間上で最上位の位置に返されます
    (例えば,'give off' and 'emit'; 'heavy rain' and 'downpours')
  • 「Xでない」という反意を表すbigramは,単語「X」の反意語を見つけるのに有用であることが分かる
  • 訓練されたngram embeddingはいくつかの常識を保持している(たとえば,'highest mountain'で返された結果は山の名前のリスト)
  • 構文パターン(syntactic patterns)に関しては,ほとんどの場合,返されたngramはtargetとなるngramと同様の形式である.一般に,訓練されたembeddingは,基本的にsemantic meaningsとngramの構文パターン(syntactic patterns)を反映している

高品質のngram embeddingを使用することで,future workとしてもっと興味深いことを達成する機会を得た

  • ngram embeddingを体系的に評価するための反意語データセットの作成
  • ngram embeddingを使用するためのより多くのシナリオ

ngram embeddingは多くのNLPタスクで使用される可能性がある.
たとえば,JohnsonとZhang(2015)は,CNNの入力としてワンホットngram表現を使用する
Liら(2016)は,テキストを表現するためにngram embeddingを使用する
直感的には,事前にトレーニングされたngram embeddingを使用してこれらのモデルを初期化すると,精度がさらに向上する可能性がある

議論はある?

このセクションでは,uni_uni および uni_bi タイプのモデルの結果のみを報告する

f:id:hightensan:20180913212912p:plain

Table4に,analogyとsimilarityのPPMIマトリックスの結果を示す PPMIはMultiplicative(Mul)評価が良くなっている → Mulの結果を分析する

bigramを使用すると,analogy taskで大幅な改善が見られる

  • Googleデータセットでは,bigramは合計精度を10%上回る
    ウィンドウサイズが2のとき,semantic questionsの精度は0.854にも達する(state-of-the-art)
  • MSRデータセットでは,約20%の改善が達成されている
    bigramを使用しても,similarityデータセットが改善されるとは限らない

uni_bi型のPPMI行列は,

  • ウィンドウサイズ2で5つのデータセットの結果を改善する
  • ウィンドウサイズ5では,bigramを使用すると2つのデータセットの結果のみが改善される

f:id:hightensan:20180913212928p:plain

Table5 および Table6 にGloVeおよびSVDの結果を示す

  • GloVeの場合,bigramの導入によるanalogy taskの一貫した(しかしマイナーな)改善が達成されている
  • similarityデータセットでは,ほとんどの場合改善が見られる
  • SVDの場合,bigramは,analogy taskとsimilarity taskの両方で悪い結果につながることがある
  • 一般に,GloVeとSVDでは大きな改善は見られません。
  • nグラムと様々なハイパーパラメータとの間の関係は,さらなる探査を必要とする
    筆者らの事前の推測では,デフォルトのハイパーパラメータ設定が修正されるべき
    ベースラインモデルで使用されているハイパーパラメータに厳密に従いますので,ngramの導入を調整する必要はない
    それに加えて,動的ウィンドウ,重み付け関数の減少,dirty sub-samplingなどのいくつかの一般的な技術は破棄される

次に読むべき論文は?

  • Jun Suzuki and Masaaki Nagata. 2015. Aunified learning framework of skip-grams and global vectors.
    In Proceedings of ACL 2015, Volume 2: Short Papers, pages 186–191.

  • Bofang Li, Zhe Zhao, Tao Liu, Puwei Wang, and Xiaoyong Du. 2016. Weighted neural bag-of-n-grams model: New baselines for text classification.
    In Proceedings of COLING 2016, pages 1591–1600.

  • Oren Melamud, Jacob Goldberger, and Ido Dagan. 2016. context2vec: Learning generic context embedding with bidirectional LSTM.
    In Proceedings of the 20th SIGNLL Conference on Computational Natural Language Learning, CoNLL 2016, Berlin, Germany, August 11-12, 2016, pages 51–61.

  • Fei Sun, Jiafeng Guo, Yanyan Lan, Jun Xu, and Xueqi Cheng. 2016. Inside out: Two jointly predictive models for word representations and phrase representations.
    In Proceedings of AAAI 2016, pages 2821–2827.

参考資料

Word2Vec のニューラルネットワーク学習過程を理解する