人工知能学会 インタラクティブ
情報アクセスと可視化マイニング研究会(第22回)
SIG-AM-22-03

学習済み分散表現への新規単語埋め込みに関する検討
Consideration of new word embedding to learned distributed representation.
森祥恭 1

祐樹 1

柴田

高間康史 1

Yoshiyuki Mori1, Hiroki Shibata1, and Yasufumi Takama1
11

首都大学東京大学院システムデザイン研究科
Graduate School of System Design, Tokyo Metropolitan University

Abstract: This paper proposes a method to find vectors of new words on the embedding space without
additional learning. While distributed representation is becoming an essential technique for utilizing text
information, it has a problem that it cannot calculate embedding vectors of words not included in a corpus.
This paper aims to generate the embedding vectors of such words by using the embedding vectors of thewords belonging to the same category as the target word. This paper proposes 3 types of calculation methods,
and shows the result of preliminary experiments.

1 はじめに
近年，自然言語処理の分野において単語の分散表現を獲得する手法が注目を集めている．単語の分散表現は，テキストコーパスを利用して学習することにより獲得され，コーパス内に存在する単語をベクトルで表現できる．単語の分散表現は機械翻訳[1]やテキストに書かれた感情の分析[2]など多様な用途で利用されている．単語の分散表現を獲得する代表的な手法として，Word2Vec[3]，FastText[4]等が挙げられる．
Word2Vec などの単語の分散表現の特徴として，学習した単語ベクトル間にコサイン類似度を計算することで，単語間の類似度を求めることができる点が挙げられる．また，加法構成性を持つこと，すなわ
ち国と首都や男性と女性のような意味的な関係も単語ベクトル間に関係に反映されていることが挙げられる．しかし，コーパス内に存在しない単語の埋め込みベクトルが得られないことや，特にコーパス内での出現頻度が少ない単語の場合など，学習によって得られたベクトルの信頼性が低いなどの問題点がある[5]．このような問題に対して，コーパスの拡張や subword を用いて対処する研究も行われている[5][6]．
上記とは異なるアプローチとして，本稿では，既に学習済みの単語ベクトルからコーパスに存在しない単語のベクトル表現を生成することを最終的な目標とする．学習済みの単語ベクトルを利用して，それらと意味が近い単語ベクトルを生成できれば，大規模コーパスを用いずに語彙数の増加が可能になると考える．その前段階として，生成対象の単語と同カテゴリに存在する単語の埋め込みベクトルなどを利用して，当該単語の埋め込みベクトルを求める手法を提案する．単一のカテゴリの関係を用いて生成する方法，1 種類の意味的もしくは構文的な関係を用いて生成した単語ベクトルにカテゴリの重心ベクトルを用いて平行移動させる方法，複数のカテゴリ間の関係を用い生成する方法の 3 種類の計算方法を提案し，予備実験を行った結果を示す．

2 関連研究2.1

分散表現

従来，単語表現として一般的に利用されてきた
one-hot 表現は，扱う単語数の分だけ次元を持ち，各要素をそれぞれの単語に割り当てて単語をベクトル表現していた．これに対し，分散表現とは各単語を高次元の実数ベクトルで表現したものであり，テキストコーパスを利用することで求められる．一般に50～300 次元で表現される．実数のベクトルで表現されることから単語間の類似度を求めることができる．また，加法構成性の性質を持つことから，ベクトル演算を行うことで単語間の意味的な関係を利用することもできる．例えば，“Paris”“France”+“Japan”の演算結果が“Tokyo”になるような演算を行える．

2.2

Word2Vec

Word2Vec は，2 層からなるニューラルネットワー
クを用いて単語の分散表現を学習する手法である．
学習する方法として CBoW（Continues Bag-of-Words）
モデル[7][8]と Skip-gram モデル[8][9]の二つのモデ- 12 -人工知能学会 インタラクティブ
情報アクセスと可視化マイニング研究会(第22回)
SIG-AM-22-03

ルが提案されている．CBoW モデルはテキスト内の周辺にある単語を利用して対象となる単語を予測し，単語の分散表現を学習する．Skip-gram モデルは，ある単語が与えられた時に，その周辺の単語を予測し，単語の分散表現を学習する．

2.3

カテゴリ 1
品詞
活用形など
名詞
単数形
動詞
単数形
動詞
単数形
動詞
単数形
動詞
単数形
形容詞
原形
形容詞
原形
形容詞
原形
副詞
原形
副詞
原形
副詞
原形副詞
原形

subword による単語ベクトル生成

単語の分散表現はテキストコーパスから獲得するため，1 節で述べた通り，コーパスに存在しない単語や出現頻度の低い単語に対し適切な単語ベクトルが求められないという問題点がある．その解決策の一つとして，単語より小さな単位である subword を用いて分散表現を獲得する手法が提案され，FastText[4]等で利用されている．この手法では，単語の文字 n-gram に対する特徴ベクトルを計算し，それらを足し合わせたものを単語のベクトルとする．例
として，“where”という単語を挙げると，文字 n-gramは“wh”，“whe”，“her”，“ere”，“re”となり，それぞれのベクトルを足し合わせることで，“where”の単語ベクトルを生成する．未知語だけでなく略語にも対応できること，品詞の活用形を考慮した単語ベクトルの生成ができることなどの利点が存在する．

3 提案手法3.1

表 2. 構文的な関係

学習データ

本稿では，Word2Vec で学習した単語の分散表現を利用して，コーパスに存在していない単語のベクトル表現を生成する．Word2Vec の学習には，英語版
Wikipedia のオリジナルのテキストデータに前処理を施した text81を利用する．このデータセットの単語総数は 253,854 である．
英単語のカテゴリ間の関係タイプとして，意味的と構文的の 2 種類を利用する．単語の意味的なカテ
ゴリには英語の概念辞書である WordNet2を，構文的なカテゴリに関しては，英語の形態素解析ツールである TreeTagger3の品詞情報を利用する．単語の意味的な関係を表 1 に，構文的な関係を表 2 に示す．

3.2

カテゴリ 2
品詞
活用形など
名詞
複数形
動詞
複数形
動詞
過去形
動詞
過去分詞
動詞
現在分詞
形容詞
比較級
形容詞
最上級
副詞
原形
副詞
比較級
副詞
最上級
名詞
単数形
名詞
複数形

単語ベクトルの生成方法

3.1 節で分類した関係タイプを利用して単語ベクトルを生成する．1 つ目の生成手法は，単一のカテゴリの関係を用いて生成する．生成したい単語𝑥の属するカテゴリを𝑐1 ，𝑐1 と関係するカテゴリ𝑐2 とし，以下の手順により図 1 に示す関係にある単語対の集合𝑃を求める．
(1) 𝑐2 に属し，𝑥と対応関係にある単語𝑦を求める．
(2) 𝑐2 に属する単語のうち，𝑦以外で式（1）（2）を満たす単語の集合𝑌を求める．
(3) 𝑌に属する各単語𝑦 ′ について，𝑐1 に属する単語𝑥 ′ を求め，単語対(𝑥 ′ , 𝑦 ′ )の集合𝑃を求める．
式（1）（2）における𝑑𝑐 ，𝑑𝑙 ，𝑑ℎ はパラメータであ̂1 を式（3）により生る．求めた𝒙′ ，𝒚，𝑃を利用して𝒙成する．
cos(𝒚, 𝒚′ ) ≥ 𝑑𝑐 ・・・（1）𝑑𝑙 ≤ √|𝒚′ − 𝒚| ≤ 𝑑ℎ ・・・（2）̂1 =𝒙∑(𝒙′,𝒚′)∈𝑃(𝒙′ −𝒚′+𝒚)|𝑃|・・・（3）表 1. 意味的な関係

カテゴリ 1国
国
通貨
男性

12

カテゴリ 2
首都通貨
首都女性

http://mattmahoney.net/dc/text8.zip -O text8.gz
https://wordnet.princeton.edu/

図 1. 単語間の関係図

https://www.cis.unimuenchen.de/~schmid/tools/TreeTagger/
3- 13 -

人工知能学会 インタラクティブ
情報アクセスと可視化マイニング研究会(第22回)
SIG-AM-22-03

2 つ目の生成方法は，式（3）で計算した単語ベクトルをカテゴリの重心ベクトルに基づき移動させて生成する．𝐶1 のカテゴリの重心ベクトルを𝒈𝟏 ，𝐶2 の重心ベクトルを 𝒈𝟐 として，生成式を式（4）に示す．
̂2 = 𝒙̂1 + 𝒈𝟏 − 𝒈𝟐 ・・・（4）𝒙
3 つ目の生成手法は複数の関係を用いて単語のベクトルを生成する．複数のクラスの平均を求める場
合，クラスごとのデータの件数の比率を考慮するマクロ平均と，考慮しないマイクロ平均の 2 種類が存在する．この 2 種類の平均を利用してそれぞれ単語ベクトルを生成する．関係の総数を𝐿，𝑖番目の関係
̂1,𝑖 としたを用いて式（3）より生成したベクトルを𝒙ときのマクロ平均での生成式を式（5）に示す．
̂𝒙̂3 = ∑𝐿𝑖=1 1,𝑖・・・（5）𝒙𝐿

𝑖番目の関係についての単語対集合を𝑃𝑖 ，𝑥に対応する単語を𝑦𝑖 としたときのマイクロ平均での生成式を式（6）に示す．
̂4 =𝒙′′∑𝐿𝑖=1 ∑(𝑥′ ,𝑦′ )∈𝑃 (𝒙 −𝒚 +𝒚𝒊 )𝑖∑𝐿𝑖=1|𝑃𝑖 |・・・（6）4 予備実験
4.1

実験概要

本稿では予備実験として，単語ベクトル既知の単語について提案手法によりベクトル表現を生成し，既知のベクトルと比較することで評価を行う．評価指標として，コサイン類似度とユークリッド距離を採用する．式（1）（2）のパラメータとして，（𝑑𝑐 ，𝑑𝑙 ，𝑑ℎ ）=（0.5，0，15）とした．
予備実験で使用する関係，単語数，単語の例を表3 に示す．表 3 における関係の左側にある単語のカテゴリのみから単語𝑥を選んで実験を行う．単語対の数は今回使用した対の総数で，対象単語ごとにベクトル生成に利用される単語対は異なる．

4.2

実験結果

単語の分散表現として，Word2Vec を以下の条件で学習したものを使用した．
⚫ 単語ベクトルの次元数：200⚫ コーパス内での出現回数が 5 回未満の単語を無視⚫ 予測する単語の前後 5 単語を学習に使用⚫ 学習モデル：CBoW
首都，動詞の単数形，副詞のそれぞれの単語ベクトルを生成し，コサイン類似度で評価した結果をそれぞれ表 5，8，11 に，ユークリッド距離で評価した結果をそれぞれ表 6，9，12 に示す．複数の関係がな
く単一の関係でのみ単語ベクトルを生成した場合に

表 3. 実験で使用する関係，単語対の数と例
関係
単語対数
単語対の例
Tokyo-Japan
首都-国
32
Beijing-China
首都Tokyo-jpy
17-ISO code
Bern-chf
単数形-現在分
Sing-Singing
73
詞（動詞）Dance-Dancing
単数形-複数形
Sing-Sings80（動詞）
Kiss-Kisses
単数形-過去形
Sind-Sang
116（動詞）
Shout-Shouted
単数形-過去分Sing-Sung
39
詞（動詞）Hear-Heard
Interestingly-Interesting
副詞-形容詞35
Obviously-Obvious
副詞-単数形Interestingly-Interest
27（名詞）
Importantly-Importance
副詞-複数形Interestingly-Interests
30（名詞）
Idealy-Ideals
Happily-happier
副詞-比較級
10
Fairly-Fairer
Happily-happiest
副詞-最上級
4
Sadly-Saddest
Man-Woman
男性-女性
39
Boy-Girl
単数形-複数形
Man-Men120（名詞）
Woman-Women
Big-Bigger
形容詞-比較級
73
Tall-Taller
Big-Biggest
形容詞-最上級22
Large-Largest「なし」としている．各単語における使用した単語
対数をそれぞれ表 4，7，10 に示す．単語対は，3.2 節で説明した生成手順に従い，それぞれの𝑥に対して選ぶ．
̂1 ，𝒙
̂2 は国のカテゴリのみを利用
首都に関して，𝒙し，それ以外は ISO code のカテゴリも使用して生成
̂2 は𝒙
̂1 より正解データとの違いがした．表 5，6 より𝒙
̂3 ，𝒙
̂4 では大きくなっていることがわかる．一方，𝒙両方とも類似度が高くなっている．

- 14 -人工知能学会 インタラクティブ
情報アクセスと可視化マイニング研究会(第22回)
SIG-AM-22-03

表 4. 首都の単語対数
𝑥
国ISO code
Tokyo
1210
Paris
113
Cairo
810Beijing120

表 9. 動詞の単数形のベクトルを生成した際の正解データとのユークリッド距離
̂𝟏
̂𝟐
̂𝟑
̂𝟒
𝑥𝒙𝒙𝒙𝒙
Sing
8.66098.24004.66224.2194Take
9.6607
9.06157.20808.0084Train
14.2758 14.5287
8.26316.4012Scan
4.62185.06383.20803.2843

表 5. 首都のベクトルを生成した際の正解データとのコサイン類似度
̂1
̂2
̂3
̂4𝑥𝒙𝒙𝒙𝒙Tokyo
0.46790.32950.64370.6069
Paris0.70140.69090.70830.7169Cairo
0.63130.434
0.67250.6748Beijing
0.55300.3802なし
なし

̂1 ，𝒙
̂2 は形容詞のカテゴリのみを副詞のベクトル𝒙利用し，それ以外は単数形，複数形，比較級，最上級のカテゴリを使用して生成した．コサイン類似度
̂2 が最も正解データに近くなる結果が得に関しては𝒙
̂3 ，𝒙
̂4 はコサイン類似度で，正解データとられた．𝒙
̂1 よりも大きくなる傾向にあることが確認の違いが𝒙された．首都や動詞の単数形に比べても，正解データとの違いは大きいため，計算に使用する関係の組み合わせなどを変更するなどして，さらに検討を進める必要があると考える．

表 6. 首都のベクトルを生成した際の正解データとのユークリッド距離
̂1
̂2
̂3
̂4𝑥𝒙𝒙𝒙𝒙Tokyo
9.435510.48865.7595
6.2138Paris
10.2954
10.431
10.2528
9.9456Cairo
7.64089.56234.77594.6508Beijing9.118810.429なし
なし

表 10. 副詞の単語対数

̂1 ，𝒙
̂2 は動詞の現在分詞動詞の単数形に関して，𝒙のカテゴリのみを利用し，それ以外は複数形，過去形，過去分詞のカテゴリも使用して生成した．“scan”
̂2 お よ び ユ ー ク リ ッ ド 距離 で 比 較 し た 場 合 のの𝒙
̂2 を除いて，𝒙̂1 が最も正解データとの違“train”の𝒙いが大きくなる結果が得られた．最も正解データに
̂3 か𝒙
̂4 のどちらかである．
近くなる生成方法は𝒙𝑥
Sing
Take
Train
Scan

表 7. 動詞の単数形の単語対数
現在分詞 複数形
過去形 過去分詞
53024145131025832
22221551616

表 8. 動詞の単数形のベクトルを生成した際の正解データとのコサイン類似度
̂1
̂2
̂3
̂4𝑥𝒙𝒙𝒙𝒙Sing
0.63340.68360.81070.8684
Take
0.81840.84330.90610.8802Train
0.42270.42850.67380.8124Scan
0.67790.64980.75030.7404𝑥

形容詞

Apparently
Interestingly
Possibly
Happily

71578

単数形

複数形

（名詞）

（名詞）

4810867160

比較級

最上級000100004

表 11. 副詞のベクトルを生成した際の正解データとのコサイン類似度
̂1
̂2
̂3
̂4𝑥𝒙𝒙𝒙𝒙
Apparently
0.48180.51850.28960.3259Interestingly
0.28960.29370.05260.1461
Possibly
0.29780.31100.30510.2969Happily
0.45350.46640.46510.4641
表 12. 副詞のベクトルを生成した際の正解データとのユークリッド距離
̂1
̂2
̂3
̂4𝑥𝒙𝒙𝒙𝒙
Apparently
8.04997.91959.22718.7082
Interestingly
7.44037.41846.75866.2766
Possibly
11.3965 11.4336 8.7087
8.4084
Happily
5.94636.13492.59732.6462
首都，動詞の単数形，副詞以外のカテゴリについても，表 3 に示した全ての関係について実験を行い，それらをまとめた結果を表 13 に示す．対象単語のカテゴリをカテゴリ 1，単一の関係に使用したものをカテゴリ 2 としている．コサイン類似度とユークリ- 15 -

人工知能学会 インタラクティブ
情報アクセスと可視化マイニング研究会(第22回)
SIG-AM-22-03

̂1 より正解データに近くなった場
ッド距離の両方が𝒙
合は〇，その中で最も近くなった場合を◎，どちらかのみ近くなった場合は△，両方とも正解データと
̂𝟏 より大きい場合を×としている．の違いが𝒙
全体的な傾向としては，このことから，3 つ目の生
̂3 ，𝒙̂4 ）が良好であるが，名詞の単数形で成手法（𝒙̂2 が優れていることなどから，カテゴリによっては𝒙適切なものを選ぶことで良い結果が得られる可能性が示された．

https://code.google.com/archive/p/word2vec/ (2013) 最終アクセス 2019 年 6 月 20 日.
[４] A. Joulin, E. Grave, P. Bojanowski, T. Mikolov: Bag ofTricks for Efficient Text Classification, ACL2017, vol.2,pp. 427-431 (2017)[５] M-H. Luong, R. Socher, C. D. Manning: Better Word
Representations with Recursive Neural Networks forMorphology, CoNLL2013, pp. 104-113 (2013)[６] J. Zhao, S. Mudgal, Y. Liang: Generalizing Word
Embeddings Using Bag of Subword, EMNLP2018, pp.

カテゴリ 1
首都
動詞の現在形
副詞
男性名詞の単数形
形容詞

表 13. 各手法のまとめ̂2
̂3
カテゴリ 2𝒙𝒙
国×◎
動詞の△◎現在分詞形容詞△△女性〇〇名詞の◎×複数形
比較級△◎601-606 (2018)[７] Q. Le, T. Mikolov: Distributed Representations of̂4𝒙◎

Sentences and Documents, ICML2014, pp. 1188-1196,(2014)◎[８] T. Mikolov, K. Chen, G. Corrado, J. Dean: Efficient
Estimation of Word Representations in Vector Space ，△◎ICLR Workshop 2013 (2013)[９] T. Mikolov, I. Sutskever, K. Chen, G. Corrado, J. Dean:

×Distributed Representations of Words and Phrases and△

their Compositionality，NIPS2013，pp. 3111-3119 (2013)

5 おわりに本稿では，単語の分散表現を学習する手法であるWord2Vec により得られた単語ベクトルを使用して，追加学習なしに新たな単語ベクトルを生成する手法を提案し，予備実験を行った結果を示した．単語間の関係や，カテゴリの重心ベクトルを利用して単語のベクトル表現を生成することにより，正解のデータに近いものを生成できることを示した．また，カテゴリごとに適した計算方法があることも示した．
本稿で示した実験では，コーパス内で出現頻度の比較的高い単語について生成を行ったため，今後は，未知語やコーパス内での出現頻度が低い単語のベクトル表現を生成し，実験を行っていく．また，他の生成手法や，単語ベクトルではなく，文書分類や要約などのタスクレベルでの評価方法などを検討する予定である．

参考文献[１] K. Cho, D. Bahdanau, F. Bougares, H. Schwenk, Y.
Bengio: Learning Phrase Representations Using RNN
Encoder-Decoder for Statistical Machine Translation, Proc.
of EMNLP, pp. 1724-1734（2014）[２] D. Tang, F. Wei, N. Yang, M. Zhou, T. Liu, B. Qin:
Learning Sentiment-Specific Word Embedding for Twitter
Sentiment Classification, ACL2014, pp. 1555-1565 (2013)[３] Google Code Archive: Word2Vec,- 16 -