向量数据长什么样子?如何将一段文本数据转化为向量数据?

https://www.cnblogs.com/twosedar/p/18957931 一文中,介绍了对向量的理解,那么向量数据真正长什么样子呢?如何将一段非结构化的数据,例如文本,转换为向量数据呢?

以下是一个简单的示例:

  1. 如果用Python语言编程,则需要用到Sentence Transformers库,它是一个专门用于生成句子向量的Python库,通过使用统一的API将句子或段落编码为固定长度的向量表示。
    安装sentence transformers 库
    #pip install sentence-transformers
    在你的Python文件中,编写Python代码,第一行引入sentence transformers库
from sentence_transformers import SentenceTransformer  #引入SentenceTransformer库
  1. 然后需要根据任务需求选择一个的AI预训练模型:
    AI预训练模型就像个多语言语义转换器——你可以把任何语言的句子丢给它(如中文“它是一只猫”或英文“it is a cat”),它可以立刻输出一串代表这段数据语义的数字向量。
    在这里,我们选择的预训练模型为“all-MiniLM-L6-v2”(当然,还有其他很多模型可以选择)
    你可以在HugginFace上下载这个模型,也可以在国内很多镜像网站上下载这个模型。例如 https://gitcode.com/hf_mirrors/all-MiniLM-L6-v2/tree/main
    下载后存储到本地目录(放在与python代码同一目录)下(可以看到,所谓的预训练模型,是由一组文件组成的)

1751464182691

编写Python代码,加载此模型

# 1. 加载预训练模型
model = SentenceTransformer('./all-MiniLM-L6-v2')  # 支持多语言的小型模型
  1. 通过SentenceTransformer标准API将输入文本向量化:
# 2. 输入文本
sentence = "它是一只猫"
# 3. 将文本转换为向量
embeddings = model.encode(sentence)
print(f"{embeddings}")  

运行你的代码,就可以看到“它是一只猫”这段文字,用“all-MiniLM-L6-v2”这个模型,转化为向量后的数据长得什么样子了。注意“all-MiniLM-L6-v2”模型转化的向量是384个维度
image

以下是完整代码:

from sentence_transformers import SentenceTransformer  #引入SentenceTransformer库

# 1. 加载预训练模型
model = SentenceTransformer('./all-MiniLM-L6-v2')  # 支持多语言的小型模型
# 2. 输入文本
sentence = "它是一只猫"
# 3. 将文本转换为向量
embeddings = model.encode(sentence)
print(f"{embeddings}")  
原创作者: twosedar 转载于: https://www.cnblogs.com/twosedar/p/18962405
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值