spaCyで学ぶNatural Language Processing
Azadeh Mobasher
Principal Data Scientist
{"I": 1, "got": 2, ...}
| 文 | I | got | covid | coronavirus |
|---|---|---|---|---|
| I got covid | 1 | 2 | 3 | |
| I got coronavirus | 1 | 2 | 4 |
単語ベクトルを作る手法は複数:
単語ベクトルの例:
en_core_web_md には 20,000 語・300 次元のベクトル
import spacy
nlp = spacy.load("en_core_web_md")
print(nlp.meta["vectors"])
>>> {'width': 300, 'vectors': 20000, 'keys': 514157,
'name': 'en_vectors', 'mode': 'default'}
nlp.vocab: 語彙(Vocab クラス)へアクセスnlp.vocab.strings: 語彙内の単語IDへアクセスimport spacy
nlp = spacy.load("en_core_web_md")
like_id = nlp.vocab.strings["like"]
print(like_id)
>>> 18194338103975822726
.vocab.vectors: モデルや単語のベクトルを、そのIDで取得print(nlp.vocab.vectors[like_id])
>>> array([-2.3334e+00, -1.3695e+00, -1.1330e+00, -6.8461e-01, ...])
spaCyで学ぶNatural Language Processing