Word2Vec
在本练习中,您将使用 Keras 创建一个 Word2Vec 模型。
用于预训练模型的语料库是美剧 The Big Bang Theory(《生活大爆炸》)所有剧集的台词脚本,按句子划分。变量 bigbang 中已提供该语料。
语料文本已转换为小写,并对所有词进行了分词。结果存储在变量 tokenized_corpus 中。
一个 Word2Vec 模型已预训练:上下文窗口大小为 10 个词(中心词前 5 个、后 5 个),出现次数少于 3 的词被移除,采用 skip-gram 方法,向量维度为 50。模型保存在文件 bigbang_word2vec.model 中。
类 Word2Vec 已从 gensim.models.word2vec 载入到当前环境中。
本练习是课程的一部分
使用 Keras 构建语言建模的循环神经网络(RNN)
练习说明
- 加载已预训练的 Word2Vec 模型。
- 将单词
"bazinga", "penny", "universe", "spock", "brain"按该顺序存入变量words_of_interest的list中。 - 遍历每个关注词,使用属性
wv上的.most_similar()方法,并将每个词的前 5 个相似词以字典形式追加到top5_similar_words中。 - 打印每个关注词对应找到的前 5 个相似词。
交互式实操练习
通过完成这段示例代码来试试这个练习。
# Word2Vec model
w2v_model = Word2Vec.load(____)
# Selected words to check similarities
words_of_interest = ____
# Compute top 5 similar words for each of the words of interest
top5_similar_words = []
for word in words_of_interest:
top5_similar_words.append(
{word: [item[0] for item in w2v_model.wv.____([word], topn=5)]}
)
# Print the similar words
____