Member-only story
如何用 Python 和 gensim 调用中文词嵌入预训练模型?
6 min readSep 27, 2021
利用 Python 和 Spacy 尝试过英文的词嵌入模型后,你是不是很想了解如何对中文词语做向量表达,让机器建模时捕捉更多语义信息呢?这份视频教程,会手把手教你操作。
疑问
写过《如何用 Python 处理自然语言?(Spacy 与 Word Embedding)》一文后,不少同学留言或私信询问我,如何用 Spacy 处理中文词语,捕捉更多语义信息。
回顾一下, 利用词嵌入预训练模型,Spacy 可以做许多很酷的事情。
例如计算词语之间的相似程度:
这是 “狗” 和 “猫” 的相似度:
dog.similarity(cat)0.80168545
这是 “狗” 和 “橘子” 的相似度:
dog.similarity(orange)0.2742508
还可以利用特征语义,计算结果。
例如做个完形填空:
? - woman = king - queen
你一眼就看出来了,应该填写 “man”(男人),对吧?
把式子变换一下:
guess_word = king - queen + woman
输入右侧词序列:
words = ["king", "queen", "woman"]
执行对比函数后,你会看到如下结果:
['MAN', 'Man', 'mAn', 'MAn', 'MaN', 'man', 'mAN', 'WOMAN', 'womAn', 'WOman']
这证明了词嵌入模型捕获到了性别的差异,并且知道 “男人” 与 “女人”、”国王” 与 “女王” 在其他特征维度上的相似性。
另外,我们还可以把词语之间的关系,压缩到一个二维平面查看。