打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
sentence-transformer库 | 句子语义向量化

近期活动

2022年5月16号 Python数据挖掘2022五月直播开始报名啦

内容摘自

刘焕勇博客: https://liuhuanyong.github.io/

原文地址: https://mp.weixin.qq.com/s/fkgk8l_Vd4YDU_K6G54F4Q

公众号: 老刘说NLP

word2vec、glove是两种静态的词向量模型,即每个词语只有一个固定的向量表示。但在不同语境中,词语的语义会发生变化,按道理词向量也应该动态调整。相比word2vec、glove生成的静态词向量, BERT是一种动态的技术,可以根据上下文情景,得到语义变化的词向量。

HuggingFace网站提供了简易可用的数据集、丰富的预训练语言模型, 通过sentence-transformer库,我们可以使用HuggingFace内的预训练模型,得到不同情景的文本的语义向量。

HuggingFace网站  https://huggingface.co/


动态句向量

sentence-transformer框架提供了一种简便的方法来计算句子和段落的向量表示(也称为句子嵌入)


安装

pip3 install -U sentence-transformers

代码

使用huggingface中的distiluse-base-multilingual-cased与训练模型,

from sentence_transformers import SentenceTransformer, util
model = SentenceTransformer('distiluse-base-multilingual-cased')

第一次运行上方的代码,需要运行一定的时间用于下载。下载完成后,我们使用同种语义的中英文句子,分别计算得到emb1和emb2两个句向量

emb1 = model.encode('Natural language processing is a hard task for human')

emb2 = model.encode('自然语言处理对于人类来说是个困难的任务')
emb1

Run

array([ 2.58186590e-02,  4.65703346e-02,  4.25276496e-02, -1.67875513e-02,
        5.56012690e-02, -3.44308838e-02, -6.53978735e-02,  1.77450478e-02,
       -3.47155109e-02,  2.86140274e-02,  2.48657260e-02,  7.94188876e-04,
        5.09755425e-02, -1.76107027e-02, -1.04308855e-02,  7.61642214e-03,
        ...
        4.28482369e-02,  1.76657233e-02, -5.83355911e-02,  1.92921527e-03,
        2.81221420e-02,  5.24400780e-03,  2.10703332e-02,  7.96715263e-03,
       -6.80630878e-02, -2.05304120e-02, -2.43293475e-02, -1.87458862e-02],
      dtype=float32)

在distiluse-base-multilingual-cased这种模型中, 不同语言的同义句应该具有类似的语义,那么cos相似度应该是很大的。越接近于1越相似;越接近于0,越不相似。

cos_sim = util.pytorch_cos_sim(emb1, emb2)
cos_sim

Run

tensor([[0.8960]])

精选文章

从符号到嵌入:计算社会科学的两种文本表示

推荐 | 社科(经管)文本分析快速指南

使用cntext训练Glove词嵌入模型

认知的测量 | 向量距离vs语义投影

视频专栏课 | Python网络爬虫与文本分析

案例实战 | 企业信息数据采集

使用文本相似度可以识别变化的时间点

PNAS | 文本网络分析&文化桥梁Python代码实现

tomotopy | 速度最快的LDA主题模型

在会计研究中使用Python进行文本分析

文本分析方法在《管理世界》(2021.5)中的应用

SciencePlots | 科研样式绘图库

Wow~70G上市公司定期报告数据集

YelpDaset: 酒店管理类数据集10+G  

极简浏览器启动页StartPage分享

doccano|为机器学习建模做数据标注

使用WeasyPrint自动生成pdf报告文件

推荐 | 社科(经管)文本分析快速指南

100min视频 | Python文本分析与会计

Python数据挖掘2022.05.16工作坊开始报名啦

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
【NLP】bert4vec:一个基于预训练的句向量生成工具
Py之sentence-transformers:sentence-transformers的简介、安装、使用方法之详细攻略
HuggingfaceTransformers(1)-HuggingFace官方课程
文本匹配利器:从孪生网络到Sentence-BERT综述
深度学习模型复现难?看看这篇句子对模型的复现论文
HuggingFace 10分钟快速入门(一),利用Transformers,Pipeline探索AI。
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服