找回密码
 立即注册
首页 业界区 业界 向量数据长什么样子?如何将一段文本数据转化为向量数据 ...

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

押疙 2025-7-2 23:13:46
在  https://www.cnblogs.com/twosedar/p/18957931  一文中,介绍了对向量的理解,那么向量数据真正长什么样子呢?如何将一段非结构化的数据,例如文本,转换为向量数据呢?
以下是一个简单的示例:

  • 如果用Python语言编程,则需要用到Sentence Transformers库,它是一个专门用于生成句子向量的Python库,通过使用统一的API将句子或段落编码为固定长度的向量表示。
    安装sentence transformers 库
    #pip install sentence-transformers
    在你的Python文件中,编写Python代码,第一行引入sentence transformers库
  1. from sentence_transformers import SentenceTransformer  #引入SentenceTransformer库
复制代码

  • 然后需要根据任务需求选择一个的AI预训练模型:
    AI预训练模型就像个多语言语义转换器——你可以把任何语言的句子丢给它(如中文“它是一只猫”或英文“it is a cat”),它可以立刻输出一串代表这段数据语义的数字向量。
    在这里,我们选择的预训练模型为“all-MiniLM-L6-v2”(当然,还有其他很多模型可以选择)
    你可以在HugginFace上下载这个模型,也可以在国内很多镜像网站上下载这个模型。例如 https://gitcode.com/hf_mirrors/all-MiniLM-L6-v2/tree/main
    下载后存储到本地目录(放在与python代码同一目录)下(可以看到,所谓的预训练模型,是由一组文件组成的)
1.png

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

  • 通过SentenceTransformer标准API将输入文本向量化:
  1. # 2. 输入文本
  2. sentence = "它是一只猫"
  3. # 3. 将文本转换为向量
  4. embeddings = model.encode(sentence)
  5. print(f"{embeddings}")  
复制代码
运行你的代码,就可以看到“它是一只猫”这段文字,用“all-MiniLM-L6-v2”这个模型,转化为向量后的数据长得什么样子了。注意“all-MiniLM-L6-v2”模型转化的向量是384个维度
2.png

以下是完整代码:
  1. from sentence_transformers import SentenceTransformer  #引入SentenceTransformer库# 1. 加载预训练模型
  2. model = SentenceTransformer('./all-MiniLM-L6-v2')  # 支持多语言的小型模型# 2. 输入文本
  3. sentence = "它是一只猫"
  4. # 3. 将文本转换为向量
  5. embeddings = model.encode(sentence)
  6. print(f"{embeddings}")  
复制代码
来源:豆瓜网用户自行投稿发布,如果侵权,请联系站长删除

相关推荐

您需要登录后才可以回帖 登录 | 立即注册