玩转百度AI 之 词向量相似度

【AI理论学习】理解词向量、CBOW与Skip-Gram模型 word2vec是google在2013年推出的一个NLP工具,它的特点是**将所有的词向量化,这样词与词之间就可以定量的去度量他们之间的关系,挖掘词之间的联系**。在正式讲解 word2vec 前,还需要对一些基本概念有所了解。CBOW模型,Skip-gram模型 阅读详情

也不知道百度什么时候退出了一个AI开发平台,提供了很多接口,刚好和实验室的项目和很多的是相关的,就来看看百度AI平台上效果如何。

首先在你的应用列表创建一个应用,创建完成后会生成一个AppID、API Key、Secret Key。
这里写图片描述
然后在git bash输入:curl -i -k ‘https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=【百度云应用的AK】&client_secret=【百度云应用的SK】’
把你生成的API Key和Secret Key放到上面命令行对应的位置即可,成功会你会得到一个access_token,这个acess_token在后面代码会用到。
这里写图片描述

写一个获得词向量相似度的接口WordVecTest

package baidu.ai;

import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.io.OutputStreamWriter;
import java.net.HttpURLConnection;
import java.net.URL;

/**
 * Created by GEKL on 2018/1/22.
 * 词义相似度接口
 */
public class WordVecTest {

    // 使用这份代码需要改变一下access_token,换成你的即可
    private static String wordVcestrURL = "https://aip.baidubce.com/rpc/2.0/nlp/v2/word_emb_sim?charset=UTF-8&access_token=24.62d29c70ad9056930d2e6c8437397385.2592000.1519178831.282335-10726137";

    public static String getSimilarity(String body) throws Exception{
        URL url = new URL(wordVcestrURL);
        HttpURLConnection connection = (HttpURLConnection) url.openConnection();

        //设置请求头参数
        connection.setDoOutput(true);
        connection.setDoInput(true);
        connection.setUseCaches(false);
        connection.setInstanceFollowRedirects(true);
        connection.setRequestMethod("POST"); // 设置请求方式
        connection.setRequestProperty("Content-Type", "application/json"); // 设置发送数据的格式

        //添加body参数,body参数需要以流的方式写入
        System.out.println(body);
        OutputStreamWriter os = new OutputStreamWriter(connection.getOutputStream(), "UTF-8");
        os.write(body);
        os.flush();
        os.close();

        //发送链接
        connection.connect();

        //接受、解析返回结果
        InputStream in = connection.getInputStream();
        byte[] buffer = new byte[1024];
        ByteArrayOutputStream baos = new ByteArrayOutputStream();
        for ( int len = 0; (len = in.read(buffer)) > 0;) {
            baos.write(buffer, 0, len);
        }
        String returnValue = new String(baos.toByteArray(), "utf-8" );

        //关闭流
        baos.flush();
        baos.close();
        in.close();
        connection.disconnect();

        //返回结果
        return returnValue;
    }
}

测试类BaiduAITest

package baidu.ai;

import com.baidu.aip.nlp.AipNlp;

/**
 * Created by GEKL on 2018/1/22.
 */
public class BaiduAITest {

    public static String wordVecTest(String body) throws Exception{
        return WordVecTest.getSimilarity(body);
    }

    public static void main(String[] args) throws Exception{
        //词向量相似度接口测试
        String body = "{\"word_1\":\"上海\",\"word_2\":\"北京\"}";
        System.out.println(wordVecTest(body));
    }
}
输出结果:
{"word_1":"上海","word_2":"北京"}
{"log_id": 613982232145937444, "score": 0.456862, "words": {"word_2": "北京", "word_1": "上海"}}

Process finished with exit code 0

如果觉得上面的代码复杂或者运行不了的话,可以直接到官网下载对应的JDK
https://ai.baidu.com/sdk#nlp,平台都已经封装好了。只需要下面几行代码。

public class AipNlpTest {
    public static void main(String[] args) {
        AipOcr client = new AipOcr("你的Appid", "你的apikey", "你的sercetKey");
        String word1 = "北京";
        String word2 = "上海";
        // 词义相似度
        JSONObject res = client.wordSimEmbedding(word1, word2, null);
        System.out.println(res.toString(2));
   }
 }

不足的就是acess_token是只有一个月的有效期,并且不支持并发。

中文词向量模型对比:sgns.baidubaike.bigram-char vs 腾讯AI Lab Embedding vs BERT 本文深入对比了三种主流中文词向量模型:sgns.baidubaike.bigram-char、腾讯AI Lab Embedding和BERT,分析它们在自然语言处理(NLP)中的性能差异和应用场景。通过技术参数、性能基准和实际案例,为开发者提供选型指南,帮助优化中文文本处理任务的效率和准确性。 阅读详情

相关推荐

百度中文词向量模型在NLP任务中的实战应用指南

本文详细介绍了百度中文词向量模型在自然语言处理任务中的实战应用。从环境准备、模型加载、基础操作到文本分类和情感分析等进阶任务,提供了完整的代码指南。文章重点阐述了如何利用该模型将文本转化为语义向量,并赋能具体的NLP应用,同时分享了性能优化和与ERNIE等大模型结合的实用策略。

weixin_29065959的博客 283

AI学习笔记(十七)词性标注、句法分析及词向量

目录 词性标注 词性标注算法 基于字符串匹配的字典查找算法 基于统计的词性标注算法 句法分析 句法结构分析 语义依存关系分析 深度学习与句法分析 词向量 词袋模型(bag of words) 词嵌入-共现矩阵(Concurrence matrix) Word2Vec skip-gram CBOW(continous-bag-of-words) 词性标注 词性作为词语基本的语法属性,是词语和语句的关键性特征。词性种类也越多,可参考ICTCLAS汉语词性标注集归纳的词性种类及其种

qq_35813161的博客 3971

Bert抽取词向量进行工程运用 | 如word2vec一般丝滑

应用场景:QA对话系统|检索系统 任务: 希望能够在数据库中找到与用户问题相似的【句子对|词语】,然后把答案返回给用户。这篇就是要解决这个问题的。 方法: 下面提供两个方法,一个是基于google 开源的bert,另一个是基于pytorch-transformer 1. BERT 语义相似度 BERT的全称是Bidirectional Encoder Representation from Transformers,是Google2018年提出的预训练模型,即双向Transformer的E.

gdufsTFknight的博客 1493

生成式AI - 浅谈词向量

将词语表示为向量的技术并不是最近几年的新思想。例如向量空间模型将词表示为词典维度的高维向量。这种表示带来的问题主要包括两个方面。一方面词与词之间相互独立,无法表达词语之间的关系。另一方面向量过于稀疏,计算和存储的效率都不高。

Larry的博客 542

百度中文词向量模型sgns.baidubaike.bigram-char在NLP任务中的实战应用

本文深入探讨了百度中文词向量模型sgns.baidubaike.bigram-char在NLP任务中的实战应用。该模型基于百度百科海量知识训练,并采用双字字符(Bigram-Char)策略,有效缓解未登录词问题并提升语义理解。文章提供了从环境配置、模型加载到文本分类、情感分析等进阶应用的完整指南,并分享了性能优化与避坑技巧,是中文自然语言处理实践中高效可靠的基线工具选择。

weixin_29045001的博客 311

调用百度AI平台上的短文本相似度API

调用百度AI平台上的短文本相似度API,调用api接口,实现测试。

百度AI接口调用

创建应用 登录网站 登录www.ai.baidu.com 进入控制台 进入语音技术 创建应用 管理应用 技术文档 SDK开发文档 接口能力 版本更新记录 注意事项 目前本SDK的功能同REST API,需要联网调用http接口 。REST API仅支持最多512字(1024 字节)的音频合成,合成的文件格式为mp3...

weixin_30425949的博客 715

中文词汇分类百度百科词向量

中文词汇分类百度百科词向量

利用word2vec训练词向量

利用word2vec训练词向量 这里的代码是在pycharm上运行的 一、数据预处理 我们选用的数据集是新闻数据集一共有五千条新闻数据,一共有四个维度 数据集:https://pan.baidu.com/s/14z–kvHYgwDAbgO0dxlHDg 提取码:9a8a 首先我们要把我们需要的数据给提取出来,这里我们将数据集里的所有新闻提取出来,并对其进行分词,再删除停用词 import pandas as pd import jieba #读取数据集 new_data = pd.read_table("

adasdfadsa的博客 8854

折叠式共源共栅放大器设计/备忘

w折叠式共源共栅基本结构如图

Czy1377004611的博客 3万+

Open5GS实战:从零搭建树莓派5G核心网并与商用终端联调

本文详细介绍了如何在树莓派5上从零开始搭建基于Open5GS的5G核心网,涵盖系统准备、依赖安装、源码编译、关键配置修改及服务启动全流程。通过整合SDR基站与商用终端进行端到端联调,为开发者和研究者提供了一个低成本、可实践的5G网络实验平台,助力物联网与边缘计算应用的本地化测试与验证。

weixin_29194255的博客 159

gensim加载预训练词向量到模型中的使用方法

gensim Introduction Gensim是一个用于从文档中自动提取语义主题的Python库,足够智能,堪比无痛人流。 Gensim可以处理原生,非结构化的数值化文本(纯文本)。Gensim里面的算法,比如Latent Semantic Analysis(潜在语义分析LSA),Latent Dirichlet Allocation,Random Projections,通过在语料库的训练下检验词的统计共生模式(statistical co-occurrence patterns)来发现文档的语义结

大数据开发、JAVA开发、人工智能AI 7200

彩虹期权定价

彩虹期权的定价较为复杂,因为它涉及多个标的资产的联合分布。蒙特卡洛模拟(Monte Carlo Simulation):通过模拟多个标的资产价格路径,计算期权的预期支付。解析近似方法:如马尔可夫链近似方法或多变量Black-Scholes公式的扩展。数值方法:如有限差分法或傅里叶变换法,适用于某些特定条件下的多资产期权定价。由于彩虹期权涉及多个标的资产,我们通常使用蒙特卡洛模拟来进行定价。接下来,我将演示如何使用Heston模型和蒙特卡洛模拟方法来定价彩虹期权。

智能科技前沿 1858

中文词向量质量的评估

本文介绍了对中文词向量的质量进行评估的方法,对腾讯,Jinaai,Text2Vec这三个主流的中文词向量模型的效果进行了综合评估,并采用CA8评测数据集进行了测试

1894

基于STM32与SimpleFOC实现直流无刷电机开环控制的实战指南

本文提供了一份基于STM32微控制器与SimpleFOC开源库实现直流无刷电机开环控制的详细实战指南。内容涵盖硬件连接、PlatformIO环境搭建、核心代码解析及上电测试,旨在帮助开发者快速验证硬件并理解开环控制的基本原理,为后续实现高性能的闭环FOC控制奠定基础。

xxx12的博客 960

用LangFuse+LangChain打造可观测的AI应用:从埋点到成本监控实战

本文详细介绍了如何将开源可观测性平台LangFuse深度集成到基于LangChain构建的AI应用中,特别是电商客服机器人场景。通过从基础SDK集成、提示词管理到成本监控的完整实战,帮助开发者实现对LLM应用内部工作流的清晰追踪、问题排查与费用分析,从而打造稳定、可控的生产级AI应用。

dapp9builder的博客 711

百度千言-中文文本相似度实战

百度千言-中文文本相似度实战 任务1:报名比赛,下载比赛数据集并完成读取 步骤1 :登录&报名比赛:https://aistudio.baidu.com/aistudio/competition/detail/45/0/task-definition 步骤2 :下载比赛数据集 步骤3 :使用Pandas完成数据读取。 任务2:对句子对提取TFIDF以及统计特征,训练和预测 参考代码:kaggle参考案例 步骤1 :对句子对(句子A和句子B统计)如下特征: 句子A包含的字符个数、句子B包含

LitraLIN的博客 3012

Palantir Vertex:数字孪生模拟与决策系统深度指南

Palantir Vertex是Foundry系统中的核心数字孪生模块,本质上是一个决策模拟器而非简单的数据可视化工具。它基于本体层构建,通过对象关系网络模拟现实世界实体,填补数据模型与业务决策间的鸿沟。核心功能包括:创建隔离的沙盒场景进行假设测试、修改参数模拟不同干预方案、对比虚实数据发现异常,并最终将最优决策回传至业务系统。典型应用场景涵盖供应链韧性评估、资产维护优化和应急方案制定等,帮助用户在复杂环境中做出更优决策。

轩哥的个人研究和成长记录 891

【限时免费】 PaddleNLP 词向量技术详解:从原理到实践

PaddleNLP 词向量技术详解:从原理到实践 【免费下载链接】PaddleNLP PaddleNLP是一款基于飞桨深度学习框架的大语言模型(LLM)开发套件,支持在多种硬件上进行高效的大模型训练、无损压缩以及高性能推理。PaddleNLP 具备简单易用和性能极致的特点,致力于助力开发者实现高效的大模型产业级应用。 E...

gitblog_00302的博客 1122

反相器(inverter)和缓冲器(buffer)---附加与非门原理图

下面是对反相器(Inverter)和缓冲器(Buffer)从面积、驱动能力、时序等多个角度的详细对比,列出的是一般情况下的比较,具体情况可能会受到工艺节点、设计库和特定设计要求的影响。缓冲器(Buffer)是数字电路中常见的逻辑门之一,用于增强信号的驱动能力,而不改变信号的逻辑状态。如下图所示的CMOS反相器,由一个NMOS和PMOS组成,栅端gate相连作为输入端Vin,漏端相连作为输出端Vout,NMOS的源端接地,PMOS的源端接电源VDD.与反相器不同,缓冲器的输出与输入保持相同的逻辑状态。

hzmscut的博客 1万+

树冠体积计算之体元累加法

因为是自己之前研究的一个方向,就复现了一下论文中的这个方法,在此正好记录一下。 文章目录一、简介二、代码实现(MATLAB)三、小结 一、简介 简而言之,其实就是一句话,即以固定大小的体元模拟不规则的树冠形状。按照论文中的思路主要就是将树冠沿树高方向以 k 为步长进行等距离分段,把每一段树冠的点投影到垂直于树高方向的平面上,再对该平面划分成大小为 k × k 的像元,根据投影到各个像元内点的数量,判断该像元的有效性,统计有效像元的数量 T,则树冠体积为 T 个 k × k × k 的体元之和。如下图所示:

dayuhaitang1的博客 2606

中文词向量避坑指南:为什么你的百度百科模型效果不如预期?

本文深入解析百度百科中文词向量模型(sgns.baidubaike.bigram-char)的典型使用误区与优化方案,涵盖OOV处理、领域适配、向量组合等实战技巧,帮助提升自然语言处理任务效果。通过对比实验数据展示不同优化策略的性能提升,为NLP开发者提供实用避坑指南。

weixin_30897233的博客 463

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

自然语言处理词向量word2vec

内容都是百度AIstudio的内容,我只是在这里做个笔记,不是原创。 使用飞桨探索自然语言处理 接下来,让我们一起探索几个经典的自然语言处理任务,包括: 计算词语之间的关系(如同义词):word2vec 理解一个自然语言句子:文本分类和相似度计算 一般来说,使用飞桨完成自然语言处理任务时,都可以遵守一个相似的套路,如图10所示。 ...

salmonwilliam的博客 1223

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

百度自然语言处理开放接口使用代码

 本代码是方便开发者使用百度的自然语言处理能力做开发,代码如下,使用者只需要设置自己的ak和sk就可以使用。 # -*- coding:utf-8 -*- # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # Copyright (c) 2019...

狂奔蚂蚁的博客 3551

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

对句子分词,找到对应词的腾讯词向量模型并使用Python进行faiss检索

下载腾讯的词向量、停用词、代码部分 代码思想、输出结果 。 句子相似检索,faiss检索。Python简单使用faiss检索相关向量。词转向量。word2vec

zkkkkkkkkkkkkk的博客 1984

基于PaddlePaddle的中文词向量训练实践

本文详细介绍如何使用PaddlePaddle框架训练中文词向量,涵盖中文分词、数据预处理、N-gram模型构建与训练全流程。通过jieba进行中文分词,自定义数据读取与字典构建,并实现可复用的训练代码,提升对中文语言模型的理解与应用能力。

weixin_34374684的博客 587
上一篇: 垃圾收集器 问题排查初体验
下一篇: https 的前世今生
CallMeJiaGu
博客等级 码龄12年 149粉丝 99原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值