Slide 8
Slide 8 text
© NTT Communications Corporation All Rights Reserved. 7
埋め込みモデルの⼤前提
埋め込みに関してよく聞く疑問
『BERTの[CLS]トークンに対応する埋め込みを使えばいいのでは︖』
『⾔語モデル(LLM)の内部でトークンの埋め込みを計算しているから、
それを平均したりして使えばいいのでは︖』
→ (⾃分の感覚としては)半分正解で半分間違い。
• ⽂やドキュメントをベクトルに変換する、それをしたいだけであればOK
• しかし、得られたベクトルは、
⽂やドキュメントの意味の近さをきちんと反映していないことが多い
• 素朴に考えても、[“私”, “は”, “カレー”, “が”, “好き”, “です”, “。”] と [“私”, “は”, “カレー”, “が”, “嫌い”, “です”,
“。”] の意味が反転していることは、⾔語モデルの事前学習だけでは反映させにくそうですよね︖
• 実験的にも、BERTの [CLS]トークン埋め込み や 平均プーリング埋め込み を使うぐらいだったら、
GloVe 等の(もっと古い時代の)単語埋め込みを使った⽅がマシということが知られている [1]
• なので、現代の埋め込みモデルは、素の⾔語モデルに対して似た意味の⽂ペアやクエリ・ドキュメント対を使って
追加で fine-tuning を⾏うのが普通
[1] Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks (EMNLP-IJCNLP 2019) の実験結果を参照