Member-only story

如何用 Python 和 gensim 调用中文词嵌入预训练模型?

Shuyi Wang
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']

这证明了词嵌入模型捕获到了性别的差异,并且知道 “男人” 与 “女人”、”国王” 与 “女王” 在其他特征维度上的相似性。

另外,我们还可以把词语之间的关系,压缩到一个二维平面查看。

--

--

Shuyi Wang
Shuyi Wang

Written by Shuyi Wang

PhD in Information Science. Associate Professor at Tianjin Normal University. Former Adjunct Faculty at UNT. First Prize Winner of HackNTX 2018.

No responses yet