写点什么

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

  • 2025-07-03
    福建
  • 本文字数:940 字

    阅读完需:约 3 分钟

向量数据真正长什么样子呢?如何将一段非结构化的数据,例如文本,转换为向量数据呢?

以下是一个简单的示例:


1、如果用 Python 语言编程,则需要用到 Sentence Transformers 库,它是一个专门用于生成句子向量的 Python 库,通过使用统一的 API 将句子或段落编码为固定长度的向量表示。


安装 sentence transformers 库


#pip install sentence-transformers


在你的 Python 文件中,编写 Python 代码,第一行引入 sentence transformers 库

from sentence_transformers import SentenceTransformer  #引入SentenceTransformer库
复制代码


2、然后需要根据任务需求选择一个的 AI 预训练模型:


AI 预训练模型就像个多语言语义转换器——你可以把任何语言的句子丢给它(如中文“它是一只猫”或英文“it is a cat”),它可以立刻输出一串代表这段数据语义的数字向量。


在这里,我们选择的预训练模型为“all-MiniLM-L6-v2”(当然,还有其他很多模型可以选择)


你可以在 HugginFace 上下载这个模型,也可以在国内很多镜像网站上下载这个模型。例如 https://gitcode.com/hf_mirrors/all-MiniLM-L6-v2/tree/main


下载后存储到本地目录(放在与 python 代码同一目录)下(可以看到,所谓的预训练模型,是由一组文件组成的)



编写 Python 代码,加载此模型


# 1. 加载预训练模型model = SentenceTransformer('./all-MiniLM-L6-v2')  # 支持多语言的小型模型
复制代码


3、通过 SentenceTransformer 标准 API 将输入文本向量化:


# 2. 输入文本sentence = "它是一只猫"# 3. 将文本转换为向量embeddings = model.encode(sentence)print(f"{embeddings}")  
复制代码


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



以下是完整代码:


from sentence_transformers import SentenceTransformer  #引入SentenceTransformer库
# 1. 加载预训练模型model = SentenceTransformer('./all-MiniLM-L6-v2') # 支持多语言的小型模型# 2. 输入文本sentence = "它是一只猫"# 3. 将文本转换为向量embeddings = model.encode(sentence)print(f"{embeddings}")
复制代码


文章转载自:两棵雪松

原文链接:https://www.cnblogs.com/twosedar/p/18962405

体验地址:http://www.jnpfsoft.com/?from=001YH

用户头像

还未添加个人签名 2025-04-01 加入

还未添加个人简介

评论

发布
暂无评论
向量数据长什么样子?如何将一段文本数据转化为向量数据?_Python_量贩潮汐·WholesaleTide_InfoQ写作社区