1行定義
CBOWとは、word2vecの2つのモデルのうち、周辺の単語から中心の単語を予測するように学習して、単語の分散表現を得るモデルのことです。
くわしく
CBOW(Continuous Bag-of-Words)は、2013年にGoogleのTomas Mikolovらが提案した、word2vecの2つのモデルのうちの1つです。もう1つはスキップグラムです。
穴埋め問題で学ぶ
CBOWは、文章を穴埋め問題にして学習します。「今日は_が降った」の空欄に入る語を、前後の「今日」「は」「が」「降った」から当てるイメージです。正しく当てられるように重みを調整していくと、似た文脈で使われる単語ほど近いベクトルを持つようになります。このベクトルが、単語の分散表現です。
しくみ
周辺の単語をそれぞれベクトルに変換し、平均して1つにまとめます。その結果から、語彙の中のどの単語が中心にくるかを予測します。論文では、前後4語ずつを入力にした設定で最もよい結果が得られています。非線形の隠れ層をもたない浅い構造で、計算が軽いのが特徴です。
平均してまとめるため、周辺の単語の並び順は区別されません。これが、名前にBag-of-Wordsが入っている理由です。一方、Continuousは、BoWのような出現回数ではなく、連続値の分散表現で文脈を表すことを指します。
スキップグラムとの違い
スキップグラムは逆に、中心の単語から周辺の単語を1語ずつ予測します。CBOWは1つの中心語につき予測が1回で済むので、学習が速く進みます。論文では、同じデータでスキップグラムの学習に約3日かかったのに対し、CBOWは約1日で終わったと報告されています。ただし、意味的な関係を問う類推のテストでは、スキップグラムのほうが高い正解率でした。
覚え方
「CBOWは周りから真ん中、スキップグラムは真ん中から周り」と覚えます。
G検定での出題
出題のされ方
周辺の単語から中心の単語を予測するという向きと、その逆のスキップグラムとの対比が中心です。名前のBag-of-Wordsが周辺の語順を区別しないことを指す点や、学習の速さの違いも問われます。
混同しやすい用語
| 用語 | 意味 |
|---|---|
| CBOWこのページの用語 | word2vecの2つのモデルのうち、周辺の単語から中心の単語を予測するように学習して、単語の分散表現を得るモデル |
| スキップグラム | word2vecの2つのモデルのうち、中心の単語から周辺の単語を予測するように学習して、単語の分散表現を得るモデル |
| BoW(Bag-of-Words) | 文書を単語の並び順を無視した単語の集まりとみなし、各単語の出現回数などを並べたベクトルで表す方法 |
違いを表で比べる
◯×チェック
次の文が正しいか、誤りかを選んでください。
-
CBOWでは周辺の単語のベクトルを平均してから中心の単語を予測するため、周辺の単語がどの順に並んでいたかは予測に影響しない。
答えを見る
答え ◯ 正しい
論文では、この性質を理由に、BoWと同じく語順を区別しないモデルとして名付けています。中心の単語より前の語も後の語も、同じように扱われます。
-
word2vecの論文で同じデータを使って比べた結果では、CBOWは意味的な関係を問う類推の課題で、スキップグラムより高い正解率を示した。
答えを見る
答え × 誤り
640次元で比べた結果では、意味的な関係の正解率はCBOWが24%、スキップグラムが55%でした。CBOWは文法的な関係の課題で、スキップグラムをやや上回りました。
-
CBOWの名前のContinuousは、周辺の文脈を、出現回数ではなく連続値の分散表現で表すことに由来する。
答えを見る
答え ◯ 正しい
論文では、通常のBoWと違って文脈を連続的な分散表現で表すことから、CBOWと呼ぶと説明しています。
この用語の練習問題
出典
- G検定 試験出題範囲(シラバス2024)第1.4版 (技術分野 項目27 自然言語処理)
- Tomas Mikolov, Kai Chen, Greg Corrado, Jeffrey Dean, Efficient Estimation of Word Representations in Vector Space (2013) (3.1 Continuous Bag-of-Words Model、4.3 Comparison of Model Architectures(Table 3、Table 5))