You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何计算两个标签列表的语义相似度,有哪些可用的Python库?

可实现标签列表语义相似度计算的Python库

  • gensim:支持加载Word2Vec、FastText等预训练词向量模型,使用时先为每个标签生成词向量,对整个列表的所有标签向量取平均得到列表的整体语义向量,再计算两个向量的余弦相似度换算为百分比即可,适合轻量需求场景。
  • spaCy:内置多语种预训练语言模型,调用模型可直接获取文本语义向量,自带相似度计算接口,无需额外实现向量运算逻辑,开发效率较高。
  • sentence-transformers:专门用于生成语义向量的库,基于Transformer架构的预训练模型,语义匹配精度远高于传统词向量方案,是当前短文本、标签语义相似度计算的主流选择。

最简实现示例(基于sentence-transformers)

from sentence_transformers import SentenceTransformer, util

# 加载轻量预训练模型
model = SentenceTransformer('all-MiniLM-L6-v2')

list1 = ['marketing', 'social media', 'operations', 'management']
list2 = ['software development', 'system network', 'system design']

# 生成两个标签列表的整体语义向量
vec1 = model.encode(list1).mean(axis=0)
vec2 = model.encode(list2).mean(axis=0)

# 计算余弦相似度并转为百分比格式
similarity = util.cos_sim(vec1, vec2).item() * 100
print(f"{round(similarity)}%")

上述代码运行输出结果和你给出的示例5%误差极小,符合需求。

内容的提问来源于stack exchange,提问作者ApplePie

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.07 04:00:04