1. 定義と概要
スキップグラムとは、word2vecが持つ2つの学習方式のうち、中心の単語(ターゲット語)を入力として、その周囲に出現する文脈語(コンテキスト語。中心の単語の周囲に出現する単語)を予測する方向で学習する手法です。学習にはニューラルネットワーク(人間の神経回路の仕組みを模した機械学習のモデル)を用います。
文脈として扱う前後の単語数はウィンドウサイズ(文脈として扱う前後の単語数を指定するハイパーパラメータ。ハイパーパラメータとは、学習を始める前に人が設定しておく調整用の数値です)で決まります。たとえば、ウィンドウサイズを2に設定して「猫が窓際で日向ぼっこをしている」という文の中心語を「窓際」とすると、前後2語ずつにあたる「猫」「が」「で」「日向ぼっこ」が予測対象の文脈語です。
単語の意味を数値のベクトルで表す分散表現(単語の意味を数百次元程度の数値ベクトルで表す表現方法)という発想の全体像は別のテーマになります。word2vecはこの分散表現を得るための代表的な手法の一つで、学習方式としてCBOWとスキップグラムの2方式を持ちます。CBOWが周辺語から中心語を予測する方向であるのに対し、スキップグラムは中心語から文脈語を予測する方向を担う点が、両者を区別する出発点です。
2. 試験対策ポイント
まず整理しておきたいのは、予測の向きの違いです。スキップグラムは中心の単語を入力として周囲の文脈語を予測する方向で学習するのに対し、CBOWは周辺語から中心語を予測する逆方向の学習方式であり、この向きの違いがスキップグラムとCBOWを区別する最初の論点になります。
文脈として扱う前後の単語数を指定するウィンドウサイズは、スキップグラム・CBOWのどちらの方式でも共通して設定されるハイパーパラメータで、ウィンドウサイズを広げるほど離れた位置の単語も文脈として学習に取り込まれます。
スキップグラムは1つの中心語に対して周囲の文脈語それぞれとの予測を個別に学習する構造で、CBOWに比べて学習に時間がかかりやすい点が特徴です。
自然言語処理(人間が使う言葉をコンピュータに扱わせる技術分野)で使われる大規模なコーパス(学習に使う大量の文章データ)を用いた学習では、出現回数の少ない低頻度語の扱いが論点になります。単語ベクトルの足し算・引き算で意味関係を求める類推問題(王様-男+女=女王のような計算)の精度もあわせて、CBOWより良い結果が得られる傾向があります。学習にかかる時間と精度、それぞれの傾向をあわせて整理しておきたいところです。
スキップグラムの計算量を抑える工夫としてNegative Sampling(全単語ではなく一部の単語だけと比較して学習を効率化する工夫)が使われる場合があります。仕組みの詳細は関連するテーマに譲りますが、大規模なコーパスでも現実的な計算量で学習を進めるための工夫として位置づけられます。
3. 関連概念との比較・相違点
CBOWとの最大の違いは、予測の向きです。スキップグラムは中心語から周囲の文脈語を予測するのに対し、CBOWは周辺の文脈語から中心語を予測する、ちょうど逆方向の関係にあります。入力と予測対象が入れ替わるだけの違いに見えますが、この向きの違いが学習速度や精度の傾向の差にもつながっています。
学習速度や精度の傾向にも違いが表れる点が、もうひとつの対比軸です。スキップグラムは1つの中心語について周囲の文脈語それぞれとの予測を個別に扱う構造のため、CBOWよりも学習に時間がかかる傾向があります。一方、大規模なコーパスでは出現回数の少ない低頻度語や類推問題の精度で、CBOWより良い結果が得られる傾向にあり、速さを取るか精度を取るかという使い分けの視点につながります。
ここまでの対比を観点ごとに並べると、次のように整理できます。
| 観点 | スキップグラム | CBOW |
|---|---|---|
| 予測の向き | 中心語から周囲の文脈語を予測する | 周辺の文脈語から中心語を予測する |
| 学習にかかる時間 | 時間がかかる傾向 | 相対的に短くて済む傾向 |
| 低頻度語・類推問題の精度 | 良い結果が得られる傾向 | スキップグラムに及びにくい傾向 |
| ウィンドウサイズ | 共通して設定する | 共通して設定する |
名称が似ている概念の一つが、k-skip-n-gram(連続する要素の間を一部飛ばして組を取り出す「N-gram」の一種)です。中心語から周辺語を予測するニューラルネットワークの学習方式であるスキップグラムとは別の概念です。名前の響きは近いものの、両者は成り立ちも仕組みも異なる別概念として区別されます。
4. ビジネス・実務での活用シナリオ
医療や法律、特許といった専門分野では、業界特有の専門用語が文章全体の中で出現する回数が少ない、いわゆる低頻度語になりやすい傾向があります。低頻度語の学習に強い傾向があるとされるスキップグラムで専門用語をベクトル化すると、意味の近い用語同士を検索する類義語検索や、文書を自動で分類する文書分類の精度向上に役立つ使い方です。
検索エンジンやECサイトの検索機能でも、スキップグラムは活用されています。型番やニッチな商品名のように出現頻度の低い語であっても意味のあるベクトルを得やすく、表記ゆれや類義語を吸収した検索結果につながります。利用者が入力した検索語と完全に一致しない商品名でも、意味の近さをもとに候補として拾える点が実務上の効果です。
レコメンドシステムの分野では、閲覧履歴や購買履歴の中で出現頻度の低い、いわゆるロングテール商品のIDであっても、スキップグラムを使うと表現を学習しやすくなります。人気商品に偏らず幅広い商品を推薦候補に反映できることは、品ぞろえの多いECサイトなどで販売機会の拡大につながる効果です。
5. 要点まとめ
- スキップグラムはword2vecの学習方式の一つで、中心の単語から周囲の文脈語を予測する方向で学習します。CBOWは周辺語から中心語を予測する逆方向の方式です。
- 文脈として扱う前後の単語数はウィンドウサイズというハイパーパラメータで決まり、スキップグラム・CBOWいずれの方式でも設定されます。
- CBOWに比べて学習に時間がかかる傾向がある一方、大規模なコーパスでは低頻度語や類推問題の精度でCBOWより良い結果が得られる傾向があります。
6. 確認問題
問1スキップグラムは、中心の単語を入力として与え、その周囲に出現する文脈語を予測する方向でニューラルネットワークを学習する方式である。
解答・解説をみる
○ 正しい
スキップグラムは中心語から周辺の文脈語を予測する方向の学習方式です。周辺語から中心語を予測するCBOWとは、向きが逆の関係にあります。
問2スキップグラムはCBOWよりも学習にかかる時間が短く、低頻度語の学習でもCBOWに劣る傾向がある。
解答・解説をみる
× 誤り
正しくは、スキップグラムはCBOWより学習に時間がかかる傾向があり、大規模なコーパスでは低頻度語の学習でCBOWより良い結果が得られる傾向があります。速さと精度、両方の向きが逆に記述されています。
問3ウィンドウサイズは、文脈として扱う前後の単語数を指定するハイパーパラメータであり、スキップグラム・CBOWのどちらの学習方式でも設定される。
解答・解説をみる
○ 正しい
ウィンドウサイズは学習前に人が指定するハイパーパラメータで、両方式に共通して文脈の範囲を決める役割を持ちます。

