首页/新闻资讯/正文详情

基于 PaddleHub 使用 w2v_baidu_encyclopedia_target_word-wordLR_dim300 中文词向量模型实现词嵌入查询与相似度计算

发布时间:2026/9/25 3:40:41 来源:云帆数科 栏目:资讯中心
基于 PaddleHub 使用 w2v_baidu_encyclopedia_target_word-wordLR_dim300 中文词向量模型实现词嵌入查询与相似度计算
人工智能大模型微调模型推理服务【免费下载链接】PaddleFormersPaddleFormers is an easy-to-use library of pre-trained large language model zoo based on PaddlePaddle.项目地址https://gitcode.com/gh_mirrors/pa/PaddleFormers点击查看免费下载本篇技术指南围绕 PaddleFormers 仓库中收录的预训练中文词嵌入模块w2v_baidu_encyclopedia_target_word-wordLR_dim300展开讲解如何通过 PaddleHub 安装该模型、调用其search/cosine_sim/dot等 API 获取 300 维词向量并将其以 Serving 服务的形式在线部署用于计算任意词对的余弦相似度。读完本文后你将掌握该 Embedding 模块从安装、本地预测到 HTTP 服务化部署的完整实战链路并理解其词表、OOV 处理与底层实现原理。一、模型基本信息w2v_baidu_encyclopedia_target_word-wordLR_dim300是 PaddleHub 提供的开源预训练词嵌入Token Embedding模块属于文本-词嵌入类别的 w2v 网络模型训练语料为百度百科baidu_encyclopedia词向量维度为 300。模块的完整信息如下表模型名称w2v_baidu_encyclopedia_target_word-wordLR_dim300类别文本-词嵌入网络w2v数据集baidu_encyclopedia是否支持 Fine-tuning否文件大小678.22MB词表大小635958最新更新日期2021-04-28数据指标-该模型不支持 Fine-tuning其定位是开箱即用的静态词向量查询工具。从命名规则可以解读出其训练配置target.word-wordLR表示以词-词为目标、采用 word-LR词对左右窗口共现训练策略dim300表示输出向量维度为 300词表覆盖约 63.6 万个中文词。PaddleHub 还提供基于不同语料、不同训练方式与不同维度的多组 Embedding 模型本模块即其中的中文目标词向量之一。模块的实际定义位于仓库 modules/text/embedding/w2v_baidu_encyclopedia_target_word-wordLR_dim300/module.py其核心实现如下from paddlenlp.embeddings import TokenEmbedding from paddlehub.module.module import moduleinfo from paddlehub.module.nlp_module import EmbeddingModule moduleinfo( namew2v_baidu_encyclopedia_target_word-wordLR_dim300, version1.0.1, summary, authorpaddlepaddle, author_email, typenlp/semantic_model, metaEmbeddingModule) class Embedding(TokenEmbedding): Embedding model embedding_name w2v.baidu_encyclopedia.target.word-wordLR.dim300 def __init__(self, *args, **kwargs): super(Embedding, self).__init__(embedding_nameself.embedding_name, *args, **kwargs)从源码可以看出该模块通过moduleinfo装饰器向 PaddleHub 注册了名称、版本号1.0.1与类型nlp/semantic_model并将底层实现委托给 PaddleNLP 的TokenEmbedding内部以embedding_name w2v.baidu_encyclopedia.target.word-wordLR.dim300作为资源标识用于定位对应的词表与权重文件。二、环境依赖与安装1、环境依赖使用该模块需要满足以下环境条件paddlepaddle 2.0.0paddlehub 2.0.0PaddleHub 的安装方式可参考 PaddleHub 安装指南。2、安装模块在满足依赖后通过hub install命令即可从 PaddleHub 服务器下载并安装该模块$ hub install w2v_baidu_encyclopedia_target_word-wordLR_dim300安装时若遇到问题可参考对应平台的零基础安装文档Windows 安装、Linux 安装、MacOS 安装。从仓库中 paddlehub/commands/install.py 的InstallCommand实现可以看到hub install支持直接传入模块名也支持通过模块名版本号的形式安装指定版本例如下文更新历史中的hub install w2v_baidu_encyclopedia_target_word-wordLR_dim3001.0.1命令行参数--ignore_env_mismatch可忽略安装时的环境不匹配检查。安装时若传入的是本地目录或.tar包路径则会直接以本地资源安装否则按模块名从远程服务器拉取。三、模型 API 与预测代码示例1、预测代码示例加载模块并执行词向量查询的代码如下import paddlehub as hub embedding hub.Module(namew2v_baidu_encyclopedia_target_word-wordLR_dim300) # 获取单词的embedding embedding.search(中国) # 计算两个词向量的余弦相似度 embedding.cosine_sim(中国, 美国) # 计算两个词向量的内积 embedding.dot(中国, 美国)hub.Module(name...)会根据注册名找到对应模块类并完成实例化权重与词表会在首次使用时自动下载并缓存。2、API 详解__init__def __init__( *args, **kwargs )创建一个 Embedding Module 对象默认无需参数。参数*args用户额外指定的列表类型的参数。**kwargs用户额外指定的关键字字典类型的参数。关于额外参数的详情可参考 PaddleNLP 的paddlenlp.embeddings模块。从 module.py 可见__init__会把embedding_name透传给TokenEmbedding因此额外参数主要用于控制底层词向量的加载行为。searchdef search( words: Union[List[str], str, int], )获取一个或多个词的 embedding。输入可以是str、List[str]和int类型分别代表获取一个词、多个词和指定词编号的 embedding。词的编号与模型的词典相关词典可通过模型实例的vocab属性获取。参数words需要获取词向量的词、词列表或者词编号。cosine_simdef cosine_sim( word_a: str, word_b: str, )计算两个词 embedding 的余弦相似度。需要注意的是word_a和word_b都必须是词典内的单词否则会被判定为 OOVOut-Of-Vocabulary并被替换为unknown_token即unk进而影响相似度结果。参数word_a需要计算余弦相似度的单词 a。word_b需要计算余弦相似度的单词 b。dotdef dot( word_a: str, word_b: str, )计算两个词 embedding 的内积点积。对于输入单词同样需要注意 OOV 问题处理逻辑与cosine_sim一致。参数word_a需要计算内积的单词 a。word_b需要计算内积的单词 b。get_vocab_pathdef get_vocab_path()获取本地词表文件的路径信息。该词表文件以vocab.{embedding_name}的形式存放在 PaddleNLP 的EMBEDDING_HOME目录下若本地不存在会自动从远程下载相关逻辑可在 paddlehub/module/nlp_module.py 的EmbeddingModule.get_vocab_path中看到。get_tokenizerdef get_tokenizer(*args, **kwargs)获取当前模型的 tokenizer返回一个JiebaTokenizer的实例当前仅支持中文 embedding 模型。参数*args额外传递的列表形式的参数。**kwargs额外传递的字典形式的参数。从源码实现看get_tokenizer会检查embedding_name是否以.en结尾英文 embedding 模型会抛出NotImplementedError暂未支持中文模型则基于self.vocab构造JiebaTokenizer返回。因此本模块可直接获得基于结巴分词的中文分词器便于下游对中文文本做分词后再逐词查询向量。3、底层实现EmbeddingModule 与 Serving 方法该模块的元类metaEmbeddingModule指向 paddlehub/module/nlp_module.py 中的EmbeddingModule其类层次为EmbeddingModule(RunModule, EmbeddingServing)。其中get_vocab_path()负责词表文件的定位与自动下载get_tokenizer()返回中文JiebaTokenizerEmbeddingServing.calc_similarity(data)是标注了serving的服务化入口方法它会逐个校验输入词对每个词对必须恰好包含两个字符串元素且两个词都必须存在于词表中通过get_idx_from_word与vocab.unk_token比对判断 OOV最终以字符串形式返回cosine_sim(*word_pair)的计算结果。这意味着当模块以 Serving 模式部署时对外暴露的正是计算两个词向量余弦相似度的能力与本文第四部分的在线服务流程一一对应。四、部署 Serving 在线服务通过 PaddleHub Serving可以部署一个在线获取两个词向量余弦相似度的 HTTP 服务。Step1: 启动 PaddleHub Serving运行启动命令$ hub serving start -m w2v_baidu_encyclopedia_target_word-wordLR_dim300这样就完成了一个获取词向量余弦相似度服务化 API 的部署默认端口号为 8866。NOTE如使用 GPU 预测则需要在启动服务之前设置CUDA_VISIBLE_DEVICES环境变量否则不用设置。从仓库实现看paddlehub/commands/serving.py 中ServingCommand会读取模块列表并启动 HTTP 服务paddlehub/serving/app_compat.py 的create_app注册了POST /predict/module_name路由请求体按application/json解析后交由predict_v2调用模块的 serving 方法本例即calc_similarity最终以package_result统一包装返回结果。默认端口为 8866与文档描述一致。Step2: 发送预测请求配置好服务端后以下数行代码即可实现发送预测请求、获取预测结果import requests import json # 指定用于计算余弦相似度的单词对[[word_a, word_b], [word_a, word_b], ... ]] word_pairs [[中国, 美国], [今天, 明天]] # 以key的方式指定word_pairs传入预测方法的时的参数此例中为data对于每一对单词调用cosine_sim进行余弦相似度的计算 data {data: word_pairs} # 发送post请求content-type类型应指定json方式url中的ip地址需改为对应机器的ip url http://127.0.0.1:8866/predict/w2v_baidu_encyclopedia_target_word-wordLR_dim300 # 指定post请求的headers为application/json方式 headers {Content-Type: application/json} r requests.post(urlurl, headersheaders, datajson.dumps(data)) print(r.json())请求中data键对应calc_similarity的入参即一组词对列表服务端对每一对词调用cosine_sim计算余弦相似度并以 JSON 形式返回结果。服务端会先校验词对格式长度必须为 2、元素必须为字符串与词表覆盖情况若出现不在词表中的单词calc_similarity会抛出明确的错误信息例如Word xxx is not in vocab. Please check your inputs.。五、更新历史1.0.0初始发布。1.0.1优化模型。可通过指定版本号安装$ hub install w2v_baidu_encyclopedia_target_word-wordLR_dim3001.0.1当前仓库中 module.py 声明的版本即为1.0.1与该历史版本保持一致。六、小结w2v_baidu_encyclopedia_target_word-wordLR_dim300是一个覆盖约 63.6 万中文词、维度为 300 的静态预训练词向量模块。通过hub install安装后既可借助search/cosine_sim/dot/get_tokenizer等 API 在本地完成词向量查询、相似度计算与中文分词也可通过hub serving start -m将其部署为默认端口 8866 的在线相似度计算服务。其底层由 PaddleNLP 的TokenEmbedding与 PaddleHub 的EmbeddingModule框架支撑词表、权重自动下载缓存OOV 词统一以unknown_token处理开箱即用适合作为中文 NLP 任务中词级特征提取与语义相似度计算的基础组件。赞分享人工智能大模型微调模型推理服务【免费下载链接】PaddleFormersPaddleFormers is an easy-to-use library of pre-trained large language model zoo based on PaddlePaddle.项目地址https://gitcode.com/gh_mirrors/pa/PaddleFormers点击查看免费下载相关推荐PaddleHub 中文词向量模型 w2v_mixed-large_target_word-word_dim300 使用指南词嵌入查询、相似度计算与服务化部署PaddleHub 中文词向量模型 w2v_mixed large_target_word word_dim300 使用指南词嵌入查询、相似度计算与服务化部署人工智能大模型微调模型推理服务Gensim FastText 模型实战子词级词向量训练、OOV 查询与相似度计算Gensim FastText 模型实战子词级词向量训练、OOV 查询与相似度计算 本篇技术指南围绕 Gensim 的 FastText 模型展开基于 Le人工智能NLP机器学习深度学习PaddleHub 词嵌入模型 w2v_baidu_encyclopedia_target_word-ngram_1-2_dim300 使用与部署指南PaddleHub 词嵌入模型 w2v_baidu_encyclopedia_target_word ngram_1 2_dim300 使用与部署指南 导读 本人工智能大模型微调模型推理服务创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关推荐

BAML JetBrains 插件变更日志解读:从 IntelliJ 平台插件模板到 BAML 扩展的版本演进
BAML JetBrains 插件变更日志解读:从 IntelliJ 平台插件模板到 BAML 扩展的版本演进

编程语言AI Agent编译器CLI人工智能 【免费下载链接】baml The programming language for agents 项目地址: https://gitcode.com/gh_mirrors/ba/baml 点击查看 免费下载 jetbrains/CHANGELOG.md 记录了 BAML 项目 JetBrains 插件(BAML v0 Playground&a… · 2026/9/25 3:40:41

XAgent 计划生成 Agent(PlanGenerateAgent)源码解析:从占位符解析到任务树构建
XAgent 计划生成 Agent(PlanGenerateAgent)源码解析:从占位符解析到任务树构建

AI Agent大模型后端任务调度 【免费下载链接】XAgent An Autonomous LLM Agent for Complex Task Solving 项目地址: https://gitcode.com/gh_mirrors/xa/XAgent 点击查看 免费下载 导读 本文深入剖析 XAgent 开源项目中的计划生成模块 PlanGenerateAgent&#xf… · 2026/9/25 3:40:35

PaddleSpeech 环境声音分类:ESC-50 基准指标与 PANNs(CNN14/CNN10/CNN6)复现指南
PaddleSpeech 环境声音分类:ESC-50 基准指标与 PANNs(CNN14/CNN10/CNN6)复现指南

人工智能语音音频 【免费下载链接】PaddleSpeech Easy-to-use Speech Toolkit including Self-Supervised Learning model, SOTA/Streaming ASR with punctuation, Streaming TTS with text frontend, Speaker Verification System, End-to-End Speech Translation and Keyword… · 2026/9/25 3:40:35

6+1+3混合模型与四层智能体架构:AI平台重构工程实践
6+1+3混合模型与四层智能体架构:AI平台重构工程实践

去年Q4,我们做了一次AI模型平台的彻底重构。说它不算成功,是因为前后推翻重来了三版,才最终跑通一个能同时服务内部十几个团队的生产级体系。沉淀下来的东西,内部代号55873生态,核心是三件事:613混合模型矩… · 2026/9/25 4:10:10

数据安全技术演进与Kerberos落地:从分类分级到零信任的治理路径
数据安全技术演进与Kerberos落地:从分类分级到零信任的治理路径

以“摸清家底”为起点的数据安全:行业技术演进与生态博弈数据安全这行这两年给一线做项目的人最直观的感受,就是“活变多了,问题变复杂了”。前几年提到数据安全,大多数人脑子里还是一堆单点产品:数据库审计、脱敏、加… · 2026/9/25 4:10:10

用 CC Switch (cc-sw) 配置 Claude Code 接入 阿里云百炼 (Dashscope)
用 CC Switch (cc-sw) 配置 Claude Code 接入 阿里云百炼 (Dashscope)

相关文章 用 CC Switch (cc-sw) 配置 Claude Code 接入 MiniMax-CSDN博客 安装 Claude Code vs code 安装 claude code 安装 CC Switch 下载:https://github.com/farion1231/cc-switch/releases Windows: .msimacOS: .dmgLinux: .AppImage / .deb 安装后托盘出现… · 2026/9/25 4:10:04

Juice Shop实战指南:从环境搭建到OWASP Top 10漏洞链利用
Juice Shop实战指南:从环境搭建到OWASP Top 10漏洞链利用

1. 为什么 Juice Shop 不是“另一个靶场”,而是渗透测试者的“第一台训练机”OWASP Juice Shop 这个名字听起来像果汁店,但对刚接触 Web 安全的人而言,它其实是你真正动手前最该反复拆解、反复组装的那台“安全训练机”。我带过不少刚转行做渗… · 2026/9/25 4:10:04

零基础搭建AI Agent:Langflow可视化拖拽实战指南
零基础搭建AI Agent:Langflow可视化拖拽实战指南

先抛一个很多朋友私下问过我的问题:每天刷到“AI Agent”这个关键词,到底它和大模型、AI模型有什么区别?网上动不动就说“从0到1搭建AI Agent”,听起来很高级,可普通新手入手时第一反应往往是——我不会写复杂代码&… · 2026/9/25 4:10:04

如何快速上手大气层Atmosphere:从SD卡到开机引导的10步安装教程
如何快速上手大气层Atmosphere:从SD卡到开机引导的10步安装教程

如何快速上手大气层Atmosphere:从SD卡到开机引导的10步安装教程 【免费下载链接】Atmosphere-stable 大气层整合包系统稳定版 项目地址: https://gitcode.com/gh_mirrors/at/Atmosphere-stable 大气层Atmosphere(Atmosphere-stable 稳定整合包&am… · 2026/9/25 4:09:58

数值优化(Numerical Optimization)学习系列-03-共轭梯度方法(Conjugate Gradient)
数值优化(Numerical Optimization)学习系列-03-共轭梯度方法(Conjugate Gradient)

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:31

创维E900V22D刷机全攻略:S905L3SB芯片兼容性解析与救砖实战
创维E900V22D刷机全攻略:S905L3SB芯片兼容性解析与救砖实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:31

MQTT协议原理与Broker服务器搭建实战:从Mosquitto到EMQX
MQTT协议原理与Broker服务器搭建实战:从Mosquitto到EMQX

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:37

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码