查看原文
其他

whatlies包 | 简单玩转词向量可视化

大邓 大邓和他的Python 2022-07-09

2021暑期 | 结构模型、Stata实证前沿、Python数据挖掘暑假工作坊

whatlies

可以与spacy语言模型结合,可视化词向量。安装zh_core_web_md、en_core_web_md和whatlies。具体文档可以查看https://github.com/RasaHQ/whatlies

!pip3 install zh_core_web_md-3.0.0-py3-none-any.whl
!pip3 install en_core_web_md-3.0.0-py3-none-any.whl
!pip3 install whatlies

快速上手

spacy模型中的词向量均为几十上百维度的词向量,通过压缩映射至二维空间后,横坐标man,纵坐标woman,就可以将词语的性别倾向可视化出来。

例如woman词更接近纵轴,man更接近横轴。nurse、queen一般更多的是女性从业者,因此更接近y轴。king国王多为男性,所以更接近x轴。

至于动物,女性喜欢养猫,男性喜欢养狗,所以也能体现出词语的性别倾向。

from whatlies import EmbeddingSet
from whatlies.language import SpacyLanguage

lang = SpacyLanguage("en_core_web_md")

words = ["cat""dog""fish""kitten""man""woman",
         "king""queen""doctor""nurse"]

emb = EmbeddingSet(*[lang[w] for w in words])
emb.plot_interactive(x_axis=emb["man"], y_axis=emb["woman"])


whatlies也可以对中文进行操作。

from whatlies import EmbeddingSet
from whatlies.language import SpacyLanguage

zh_lang = SpacyLanguage("zh_core_web_md")

zh_words = ["猫""狗""鱼""鲤鱼""男人""女人",
         "国王""王后""医生""护士"]

zh_emb = EmbeddingSet(*[zh_lang[w] for w in zh_words])
zh_emb.plot_interactive(x_axis=zh_emb["男人"], y_axis=zh_emb["女人"])




精选文章

腾讯课堂 | Python网络爬虫与文本分析
B站视频 | Python自动化办公
语法最简单的微博通用爬虫weibo_crawler
发布一个智能解析算法库
hiResearch 定义自己的科研首页
大邓github汇总, 觉得有用记得star
multistop ~ 多语言停用词库
Jaal 库 轻松绘制动态社交网络关系图
SciencePlots | 科研样式绘图库
使用streamlit上线中文文本分析网站
爬虫实战 | 采集&可视化知乎问题的回答
Clumper | dplyr式的Python数据操作包
Clumper库 | 常用的数据操作函数
Clumper库 | Groupby具体案例用法
Clumper库 | 其他数据分析
plydata库 | 数据操作管道操作符>>
plotnine: Python版的ggplot2作图库
读完本文你就了解什么是文本分析
文本分析在经管领域中的应用概述  
综述:文本分析在市场营销研究中的应用
plotnine: Python版的ggplot2作图库
Wow~70G上市公司定期报告数据集
漂亮~pandas可以无缝衔接Bokeh  
YelpDaset: 酒店管理类数据集10+G 

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存