当前位置: 首页 > news >正文

Database: Text数据转化为向量. (高维往低维映射)

问题的提出来自于使用VectorDB: http://t.csdnimg.cn/z1UMG

VectorDB提供一个数据和嵌入向量匹配的数据结构, 如果我们想要这个DB存储自己的数据, 则还需要计算出数据对应的嵌入向量.  

如何准确的构建Text数据嵌入向量(embedding)之间的关系, 是本篇文章解决的目标.

参考了几个模型后, 我从Bert和Word2vec中选择了后者, 因为我的笔记本是个轻薄本, 只能跑些小型模型.

🔗Word2vec链接: https://github.com/dav/word2vec

目标: 将下面的Text转化为128维度.

"Your long input text here"

实现思路: 使用transformer库中的GPT2模型, 把文本转化为768维度的嵌入向量. 

以下为依赖库:

pip install transformers

完整代码如下, 初次运行时比较慢, 因为需要下载GPT2模型: 

from transformers import GPT2Tokenizer, GPT2Modeltokenizer = GPT2Tokenizer.from_pretrained('gpt2')
model = GPT2Model.from_pretrained('gpt2')def text2vec(input):inputs = tokenizer(input, return_tensors="pt")outputs = model(**inputs)embeddings = outputs.last_hidden_state.mean(dim=1).squeeze().detach().numpy()return embeddingif __name__ == "__main__":text = "Your long input text here"embedding=text2vec(text)print(f"text={text}\nembeddings={embedding}\nshape={len(embedding)}")

相关文章:

  • 串口通信(1)-硬件知识
  • 深度学习还可以从如下方面进行创新!!
  • SQL Server 2017数据库window server服务器改名操作
  • vue3快速上手
  • LED透镜粘接UV胶是一种特殊的UV固化胶
  • 14:00面试,14:06就出来了,问的问题有点变态。。。
  • Could not resolve all dependencies for configuration ‘:app:androidApis‘.
  • 【1day】金和OA某接口存在未授权访问漏洞
  • 【华为数据之道学习笔记】1-2华为数字化转型与数据治理
  • Red Hat Satellite - 导入订阅清单
  • Linux0.11内核源码解析-string待更新
  • 面试题目总结(三)
  • HTML5 Audio/Video 标签、属性、方法、事件汇总
  • 使用Mockjs模拟(假数据)接口(axios)
  • 常见的设计模式-简述
  • GitUp, 你不可错过的秀外慧中的git工具
  • java8 Stream Pipelines 浅析
  • Linux各目录及每个目录的详细介绍
  • Mocha测试初探
  • nodejs调试方法
  • Spring Security中异常上抛机制及对于转型处理的一些感悟
  • SpringBoot几种定时任务的实现方式
  • vue-cli在webpack的配置文件探究
  • Webpack 4x 之路 ( 四 )
  • 诡异!React stopPropagation失灵
  • 欢迎参加第二届中国游戏开发者大会
  • 缓存与缓冲
  • 基于Vue2全家桶的移动端AppDEMO实现
  • 开源中国专访:Chameleon原理首发,其它跨多端统一框架都是假的?
  • 判断客户端类型,Android,iOS,PC
  • 前端设计模式
  • 如何使用Mybatis第三方插件--PageHelper实现分页操作
  • 微信端页面使用-webkit-box和绝对定位时,元素上移的问题
  • 项目管理碎碎念系列之一:干系人管理
  • 译有关态射的一切
  • 用jquery写贪吃蛇
  • AI又要和人类“对打”,Deepmind宣布《星战Ⅱ》即将开始 ...
  • 京东物流联手山西图灵打造智能供应链,让阅读更有趣 ...
  • 如何在 Intellij IDEA 更高效地将应用部署到容器服务 Kubernetes ...
  • 小白应该如何快速入门阿里云服务器,新手使用ECS的方法 ...
  • 智能情侣枕Pillow Talk,倾听彼此的心跳
  • ​flutter 代码混淆
  • # Python csv、xlsx、json、二进制(MP3) 文件读写基本使用
  • #经典论文 异质山坡的物理模型 2 有效导水率
  • #数据结构 笔记三
  • ()、[]、{}、(())、[[]]命令替换
  • (C++)栈的链式存储结构(出栈、入栈、判空、遍历、销毁)(数据结构与算法)
  • (floyd+补集) poj 3275
  • (二)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (附源码)springboot“微印象”在线打印预约系统 毕业设计 061642
  • (论文阅读30/100)Convolutional Pose Machines
  • (一)为什么要选择C++
  • (转)h264中avc和flv数据的解析
  • (状压dp)uva 10817 Headmaster's Headache
  • *Django中的Ajax 纯js的书写样式1