G検定(ジェネラリスト検定)
しーぼう
CBOW
CBOW
Continuous Bag-of-Words
CBOWは、前後の文脈の単語から中央にある現在の単語を予測する単語ベクトル学習のモデルです。文脈の単語ベクトルを平均して1つの位置に投影します。
詳しい説明
文脈の単語から中央の単語を当てるモデル
CBOW(Continuous Bag-of-Words)は、単語をベクトルで表す単語表現を学習するために提案されたモデルの1つです。現在の単語(中央の単語)を、その周りにある文脈の単語から予測します。
文脈として使うのは、現在の単語より前にある単語(過去の単語)だけではありません。現在の単語より後ろにある単語(未来の単語)も入力に使います。提案した論文では、入力に未来の単語を4つ、過去の単語を4つ置いた対数線形の分類器を作ったときに最も良い性能が得られたと報告しています。このときの訓練の基準は、現在の(中央の)単語を正しく分類することです。
フィードフォワード型のNNLMから何を取り除いたか
CBOWの構造は、フィードフォワード型のニューラルネットワーク言語モデル(NNLM)に似ています。違いは次の2点です。
- 非線形の隠れ層を取り除いています。
- 射影層を、射影行列だけでなく層そのものまで、すべての単語で共有しています。
射影層を共有するため、文脈のすべての単語は同じ位置に射影されます。言い換えると、文脈の単語のベクトルは平均されます。
語順を使わないのでbag-of-wordsと呼べる構造
文脈の単語のベクトルを平均して1つにまとめるため、文脈の中で単語がどの順番に並んでいたかは射影の結果に影響しません。単語の順序を考えず、どの単語が含まれているかだけを扱うので、この構造はbag-of-wordsモデルと呼べます。
名前にContinuousが付く理由
一方で、CBOWは標準的なbag-of-wordsモデルとは異なり、文脈を連続的な分散表現で表します。標準的なbag-of-wordsモデルと区別するために、連続的(Continuous)という語を付けてCBOW(Continuous Bag-of-Words)と名付けられました。つまり名前の2つの部分は、それぞれ次のことを表しています。
- Bag-of-Words: 文脈の単語の順序を無視して1つの位置にまとめること
- Continuous: 文脈を連続的な分散表現で表すこと
Skip-gramとは予測の向きが逆
CBOWと同じ論文で、もう1つのモデルであるSkip-gramも提案されています。2つのモデルは予測の向きが逆です。
- CBOW: 文脈の単語から、現在の単語を予測します。
- Skip-gram: 現在の単語から、その周りの単語を予測します。
入力と出力のどちらが文脈でどちらが現在の単語なのかを押さえると、2つのモデルを取り違えにくくなります。
NNLMと比べた結果
論文の実験では、CBOWは構文的なタスクではNNLMより良い結果を示し、意味的なタスクではほぼ同程度の結果だったと報告されています。
試験で問われること
G検定
- CBOWは、何を入力として何を予測するモデルか。過去の単語だけでなく未来の単語も入力に使う点とあわせて説明できるか。
- CBOWがbag-of-wordsモデルと呼べる構造を持つのはなぜか。射影層を共有して文脈の単語ベクトルを平均するため、語順が射影に影響しないことと結び付けて説明できるか。
- CBOWの名前に付くContinuousは何を表すか。標準的なbag-of-wordsモデルとの違いである連続的な分散表現と結び付けて説明できるか。
- CBOWとSkip-gramの予測の向きの違いを説明できるか。CBOWは文脈から現在の単語を、Skip-gramは現在の単語から周りの単語を予測する。
最終更新日: 2026/09/14