德国诗人席勒说:“没有爱之光辉的生活一文不值”
不仅仅是席勒,在整个人类历史上,有多少人讨论过 "生命 "和 "爱 "之间的关系?
在这里,在向这些前辈的工作表示敬意的同时,我们用现代的壮举Word2Vec来问
如果从'生命'中减去'爱',还剩下什么?
Word2Vec
安装库
使用gensim
!pip install gensim
下载经过训练的模型Word2Vec
在此下载模型:http://bit.ly/2srnKoy
解压缩并使用文件ja.bin
载入模型
import gensim
model = gensim.models.Word2Vec.load('/content/ja.bin')
查找 "人生"的类似词
首先,我们使用Word2Vec的分布式表示法来研究人生这个词的类似词
for item, value in model.wv.most_similar('人生'):
print(item,value)
输出结果
不知何故,这似乎很合适
心境 0.5031609535217285
命运 0.4962955415248871
幸福 0.4731469750404358
我 0.45822054147720337
老年 0.44594892859458923
书 0.4451371133327484
半生 0.4450538754463196
思索 0.4410485029220581
永远 0.43776482343673706
一生 0.43756037950515747
从 "生命 "中减去 "爱"
让我们实际尝试一下Word2Vec来做一些字向量算术
代码如下
model.wv.most_similar(positive=['人生'],negative=['爱'])
输出结果
第一名是 "事业",第二名是 "金钱",以此类推
但不确定第9位的 "大联盟 "是什么意思
[('事业', 0.3442475199699402),
('金钱', 0.33152854442596436),
('机会', 0.2999703586101532),
('老年', 0.29941919445991516),
('沙利文', 0.29740941524505615),
('困难', 0.2900192439556122),
('成果', 0.286318302154541),
('理论', 0.2787232995033264),
('大联盟', 0.2783268094062805),
('压力', 0.27150285243988037)]]
试试经典的“王”+“女人”——“男人”
model.wv.most_similar(positive=['王','女'],negative=['男'])
输出结果
公主来了
[('公主', 0.4609297811985016),
('王位', 0.4463587999343872),
('女王', 0.440536767244339),
('王室', 0.4360467791557312),
('父王', 0.4177766740322113),
('王妃', 0.4131211042404175),
('唐朝', 0.410072922706604),
('国师', 0.4071836471557617),
('李世明', 0.404167115688324),
('……', 0.40059027075767517)]
也用fastText来计算
下载经过训练的模型fastText
加载模型
import gensim
model = gensim.models.KeyedVectors.load_word2vec_format('/content/model.vec',binary=False)
查找 "人生" 的类似词
在此之前,得到“人生”的特征量向量
有 300 个维度。 顺便说一下,Word2Vec有100个维度
word = '人生'
print(f'{word}的特征向量')
print(model[word])
model[word].shape
输出结果:
(300,)
print(f'{word}的同义词')
for item ,value in model.most_similar(word):
print(item,value)
输出结果,它比Word2Vec更具体
人生的同义词
生活方式 0.643797755241394
居住 0.5911297798156738
生涯 0.5900983810424805
一生 0.5889523029327393
人生观 0.5824947953224182
活着 0.5823161602020264
幸福 0.574641227722168
青春世代 0.5740978717803955
婚后生活 0.5648994445800781
记忆 0.5635090470314026
在 "人生" 中减去 "爱"
model.most_similar(positive=['人生'],negative=['爱'])
输出结果
它太具体了,类似的术语也是如此
像fastText这样优秀的模型似乎并不适合粗糙的主题
[('回顾', 0.34721365571022034),
('运动员的一生', 0.32623374462127686),
('职业生活', 0.3085706830024719),
('职业', 0.30444127321243286),
('人生计划', 0.2932748794555664),
('职业生涯', 0.2895069122314453),
('生活', 0.283188134431839),
('转折点', 0.2803061604499817),
('回顾', 0.27186983823776245),
('重新开始', 0.2653588056564331)]
结论
席勒说,没有爱之光辉的生活一文不值,但听起来不一定是没有价值
本文由mdnice多平台发布
网友评论