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

Gensim的WMD模型返回无穷大,求适配技术技能场景的预训练模型建议

WMD返回无穷大的问题原因
  1. 核心原因是word2vec-google-news-300的训练语料以通用新闻内容为主,技术类专有名词覆盖率极低,只要两个待计算文本序列中存在任意一个不在模型词表内的词汇,WMD计算就会直接返回inf。你可以先执行print("django" in model)验证,大概率返回False,这就是你输入两个相同django仍返回无穷大的原因。
  2. 你提供的测试代码存在两处拼写错误:导入模块时写的是大写API,后续调用用的是小写api,会直接报错;词汇列表里"aws" "cli"中间缺少逗号、reddis拼写应为redis,错误拼写的词汇也会无法匹配词表。
技术类文本适配的预训练模型推荐
  • Stack Exchange 300维预训练词向量:基于Stack Overflow等技术社区全量内容训练,几乎覆盖所有主流编程语言、开发工具、技术架构专有名词,是技术文本相似度计算的首选方案,技术领域词汇覆盖率比谷歌新闻词向量高出90%以上。
  • CodeSearchNet预训练词向量:由GitHub基于千万级代码仓库和配套技术文档训练,同时适配自然语言技术描述和代码标识符,适合同时涉及代码和技术文本的计算场景。
  • 中文技术社区预训练词向量:如果你的计算场景涉及中文技术内容,可选用基于国内开发者社区、技术博客语料训练的版本,对中英文混合的技术描述适配性更好。
修正后的测试代码
import gensim.downloader as api
# 加载技术领域预训练模型后测试
model = api.load("stack-exchange-300")

# 提前验证词汇是否在词表
print("django" in model)
print("kafka" in model)

distance = model.wmdistance(
    ["kafka"], 
    ["django","pip","conda","python","django","java","springboot","rest","microservices","microservices","redis","kafka","consumer","publisher","spark","storm","rabbitmq","customer", "service","eventbus","service","aws","aws","cli","azure","google","cloud","shell","bash","script","config","lambda"]
)
print(distance)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.10 21:48:02