词向量 Word Embedding
所属分类 AI
浏览量 27
词向量(Word Embedding)是将词语映射为高维向量的技术,用于表示词语的语义信息
常见模型包括:
Word2Vec(Google)
GloVe(Stanford)
FastText(Facebook)
BERT 等预训练语言模型(如 bert-base-uncased)
词向量的应用场景:
计算词与词的相似度(余弦相似度)
文本分类、聚类
语义搜索、推荐系统
阿里云(阿里百炼平台)提供词向量服务
阿里云词向量文档:
https://help.aliyun.com/zh/bailian/developer-reference/word-embedding
注册账号: 登录 阿里云控制台 创建项目并获取API Key
import requests
import json
url = "https://dashscope.aliyuncs.com/api/v1/services/word-embedding/text-embedding"
headers = {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json"
}
data = {
"model": "text-embedding-v1",
"input": {
"text": "苹果"
}
}
response = requests.post(url, headers=headers, data=json.dumps(data))
print(response.json()) # 返回词向量(如1024维向量)
返回的向量格式为 List[float],例如 [0.123, -0.456, ..., 0.789]。
可用于计算相似度(如 cosine_similarity(vec1, vec2))
Hugging Face(开源模型)
使用开源模型(如 sentence-transformers)本地生成词向量
pip install sentence-transformers
加载模型并生成向量:
from sentence_transformers import SentenceTransformer
model = SentenceTransformer('sentence-transformers/all-MiniLM-L6-v2') # 加载轻量模型
vectors = model.encode(["苹果", "水果", "手机"]) # 生成词向量(768维)
print(vectors.shape) # 输出: (3, 768)
计算相似度:
from sklearn.metrics.pairwise import cosine_similarity
similarity = cosine_similarity([vectors[0]], [vectors[1]]) # 苹果 vs 水果
print(similarity[0][0]) # 输出相似度(0~1)
上一篇
下一篇
Spring AI + Milvus 实现 RAG 智能问答
CPI PPI PMI
springboot自定义日志注解
spring事务的一些知识点
MyBatis Plus 动态数据源注解 @DS 注解
MyBatis Plus @DS注解原理