向量数据长什么样子?如何将一段文本数据转化为向量数据?
向量数据真正长什么样子呢?如何将一段非结构化的数据,例如文本,转换为向量数据呢?
以下是一个简单的示例:
1、如果用 Python 语言编程,则需要用到 Sentence Transformers 库,它是一个专门用于生成句子向量的 Python 库,通过使用统一的 API 将句子或段落编码为固定长度的向量表示。
安装 sentence transformers 库
#pip install sentence-transformers
在你的 Python 文件中,编写 Python 代码,第一行引入 sentence transformers 库
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 代码,加载此模型
3、通过 SentenceTransformer 标准 API 将输入文本向量化:
运行你的代码,就可以看到“它是一只猫”这段文字,用“all-MiniLM-L6-v2”这个模型,转化为向量后的数据长得什么样子了。注意“all-MiniLM-L6-v2”模型转化的向量是 384 个维度

以下是完整代码:
文章转载自:两棵雪松
评论