【玩转腾讯云】【腾讯云自然语言处理NLP】自然语言处理的快速调用及应用场景介绍

2020-04-27 15:36:26 浏览数 (2)

一. 目前腾讯云自然语言处理(NLP)接口能力有哪些?

NLP的接口能力包含词法分析、句法分析、篇章分析、向量技术等各方面技术,共涵盖了16种基本原子能力。具体能力可以参考https://cloud.tencent.com/document/product/271/35484

二. 如何调用?

只需两步:

  • 获取秘钥
  • 在线调用/SDK调用

1. 获取秘钥

登录腾讯云账号,在账号中心点击访问管理,访问秘钥下的API秘钥管理,点击新建秘钥即可生成秘钥:SecretId和SecretKey。

获取SecretId和SecretKey获取SecretId和SecretKey

2. 在线调用/SDK调用

2.1 在线调用

在https://cloud.tencent.com/product/nlp中点击免费体验,进入NLP控制台,目前每个账号每天有50000次免费额度可供使用。点击左侧基础NLP,下面有三个菜单,分别是资源管理(用于查看资源和购买资源包)、快速使用(在线调用工具)、运营数据(当前账号接口调用情况)。选择快速使用,点击打开工具按钮,即可跳转至在线调用工具页面。

我们以向量技术相关接口的文本相似度接口为例,填入第一步获取到的秘钥SecretId和SecretKey,由于服务器在广州,因此我们选择华南地区(广州),输入SrcText和TargetText后,点击发送请求,即可获取响应结果。

是不是很方便?界面清爽,操作也不复杂。细心的小伙伴还会发现,个人秘钥那一栏,有查看秘钥的按钮可直接跳转获取,使用起来更加省心了。

在线调用在线调用

2.2 SDK调用

我是程序猿/我在做科研,我想在代码中调用NLP的接口能力怎么办?

以Java版本为例,同样只需两步。

在Maven工程中的pom文件添加以下dependency,然后点击上面在线调用工具中的代码生成,复制代码到工程下就可以啦,文本相似度的代码如下图代码块所示。

代码语言:javascript复制
<dependency>
  <groupId>com.tencentcloudapi</groupId>
  <artifactId>tencentcloud-sdk-java</artifactId>
  <version>3.0.97</version>
</dependency>
代码生成代码生成
代码语言:java复制
package org.example;

import com.tencentcloudapi.common.Credential;
import com.tencentcloudapi.common.profile.ClientProfile;
import com.tencentcloudapi.common.profile.HttpProfile;
import com.tencentcloudapi.common.exception.TencentCloudSDKException;

import com.tencentcloudapi.nlp.v20190408.NlpClient;

import com.tencentcloudapi.nlp.v20190408.models.SentenceSimilarityRequest;
import com.tencentcloudapi.nlp.v20190408.models.SentenceSimilarityResponse;

public class SentenceSimilarity
{
    public static void main(String [] args) {
        try{

            Credential cred = new Credential("**secretId**", "**secretKey**");
            //"**secretId**"和"**secretKey**"替换为腾讯云访问秘钥即可
            HttpProfile httpProfile = new HttpProfile();
            httpProfile.setEndpoint("nlp.tencentcloudapi.com");

            ClientProfile clientProfile = new ClientProfile();
            clientProfile.setHttpProfile(httpProfile);

            NlpClient client = new NlpClient(cred, "ap-guangzhou", clientProfile);

            String params = "{"SrcText":"北京到上海的火车票","TargetText":"北京到上海的飞机票"}";
            SentenceSimilarityRequest req = SentenceSimilarityRequest.fromJsonString(params, SentenceSimilarityRequest.class);

            SentenceSimilarityResponse resp = client.SentenceSimilarity(req);

            System.out.println(SentenceSimilarityRequest.toJsonString(resp));
        } catch (TencentCloudSDKException e) {
            System.out.println(e.toString());
        }

    }

}

下面我们在IDEA中测试一下,点击绿三角,Run!

成功了!下方返回了文本相似度的结果。

JavaSDK调用JavaSDK调用

回到上个页面,我们也可以看到调用情况,但需要注意的是数据有两小时左右延时。

用户调用数据用户调用数据

目前针对Java、Python、NodeJs、PHP、GO、.NET,在线调用页面均支持代码自动生成,拷贝使用就可以了。一番体验下来,总体感觉还是比较简单易用的,基本上可以做到开箱即用。如果有小伙伴还不知道各个接口的功能或出入参,可以更细致地参考NLP相关的官方接口文档(https://cloud.tencent.com/document/product/271/35484),这个接口文档写的也比较详细。

三. 应用场景

接口不仅是能调通就可以了,让我们来看一看NLP能力更大的应用场景。以文本纠错接口为例...

代码语言:java复制
输入示例
https://nlp.tencentcloudapi.com/?Action=TextCorrection
&Text="令天天气很好,我们很早起床,去学小读书。"
&<公共请求参数>

输出示例
{
  "Response": {
    "RequestId": "8dd99adb-5144-43ca-8213-f6a929ce5075",
    "CCITokens": [
      {
        "BeginOffset": 0,
        "Word": "令",
        "CorrectWord": "今"
      },
      {
        "BeginOffset": 16,
        "Word": "小",
        "CorrectWord": "校"
      }
    ],
    "ResultText": "今天天气很好,我们很早起床,去学校读书。"
  }
}
代码语言:javascript复制
场景:小学老师批改学生作业
1.书本作业:
老师把作业扫描一下,转成word,把作业作为入参,调用接口!
老师:“以后批改作业终于不用手把手圈出孩子们的错别字了。”
小学生:“老师再也不用担心我的学习!”
2.在线作业:
小学生:“老师你不用看了,输入法不是有提示吗?(手动狗头)”
老师:“那你写篇800字作文我看看”

上面开个玩笑,实际文本纠错的接口能力可广泛用于教育、金融、企业及公检法的文章、文案和出版文件的自动纠错,可以节约大量人力成本和时间进行校对。此外在一些内容创作平台上接入此能力也可以让作者在写作时自动检查并提示错别字情况,从而降低因疏忽导致的错误表述,有效提升作者的文章写作质量。下面也简单介绍一下自然语言处理其余各接口不同的应用场景。

相似词接口能够检索出与在语义上与目标词最相似的若干个词语,主要可用于检索系统、问答系统、文档归档等场景。

词法分析接口提供以下三个功能:智能分词、词性标注和命名实体识别。与文本分类接口一起,可广泛用于新闻、电商、外卖等场景业务的标签划分、热点挖掘以及个性化推荐,通过进行专业的细化分析,实现个人定制服务,可以有力提升用户粘性。

情感分析接口能够对带有情感色彩的主观性文本进行分析,识别出用户的情感倾向,是积极还是消极的,应用场景主要是识别用户对电商及其产品的评价,典型商家如淘宝、美团、拼多多等,可以有效进行商品口碑分析及辅助消费决策。

关键词抽取接口可以提取出文本内容中的关键信息,为用户实现诸如新闻内容关键词自动提取、评论关键词提取等提供基础服务。

自动摘要接口可以自动生成指定长度的文本摘要,可用于新闻标题自动生成、科技文献摘要生成和商品评论摘要等场景,吸引用户点击,提升用户阅读效率。

文本相似度接口可以对两个句子或短文本的相似度进行打分,用于检索相似文本。此外在新闻推荐中的应用场景是可以通过用户刚刚浏览的新闻标题,检索出其他的相似新闻推荐给用户。

句法依存分析接口能够分析出句子中词与词之间的相互依存关系,并揭示其句法结构,包括主谓关系、动宾关系、核心关系等等,可用于提取句子主干、提取句子核心词等,不仅可用于教师的教学工作,在机器翻译、自动问答、知识抽取等领域也都有很好的应用。

......

总而言之,自然语言处理(Natrual Language Processing,简写为NLP)可以定义为研究在人与人交际中以及在人与机器交际中的语言问题的一门学科,它的出现来源于人们迫切需要一种实用技术来帮助打破人际、人机之间的语言屏障,为信息交流提供便捷、自然、有效的人性化服务,目前NLP技术在泛互联网、金融、教育、政务等不同领域均在提供有力的技术支持,用于满足各行各业的文本智能需求。

看到这里小伙伴们是不是以为我们是在安利NLP能力?

没错!我们就是腾讯云NLP团队的Developer!

实际NLP能力在腾讯内部已有大量应用场景,其中文本分类能力已应用于腾讯新闻的文章分类,目前已提供:

  • 通用领域分类体系,包括15个分类类目,分别是汽车、科技、健康、体育、旅行、教育、职业、文化、军事、房产、娱乐、女性、奥运、财经以及其他,适用于通用的场景。
  • 新闻领域分类体系,包括37个一级分类类目,285个二级分类(详细请见 类目体系映射表)。

腾讯的游戏经济系统安全平台需要处理游戏内玩家的聊天对话等文本信息,也接入了NLP的词法分析、情感分析和文本分类能力。平台接入了腾讯内部100多款游戏,主要负责游戏经济系统相关(道具、代币、交易、言论等)的异常监控、分析及干预,NLP能力被广泛用于言论和行为分析。

此外,情感分析能力和文本相似度能力已被QQ团队接入,即将上线一个因吹斯听的新功能。

四. 强有力的算法支撑

腾讯云NLP深度整合了腾讯内部包括AI Lab团队、微信智言团队、知文团队在内的顶级NLP技术能力,依托千亿级的中文语料累积,对外提供16种高精度高性能的智能文本处理功能。

腾讯AI Lab是腾讯企业级人工智能实验室,目前在中国和美国有70位世界级研究科学家及300余位经验丰富的应用工程师,致力于不断提升AI的理解、决策与创造力。只是开源出去的中文词向量数据就已经包含了800多万中文词汇,每个词对应一个200维的向量。针对业界现有的中文词向量公开数据的稀缺和不足,为中文环境下基于深度学习的自然语言处理(NLP)模型训练提供了高质量的底层支持,推动了学术研究和工业应用环境下中文NLP任务效果的提升。相比现有的中文词向量数据,AI Lab的中文词向量着重提升了以下3个方面,相比已有各类中文词向量大大改善了其质量和可用性:

⒈ 覆盖率(Coverage):

该词向量数据包含很多现有公开的词向量数据所欠缺的短语,比如“不念僧面念佛面”、“冰火两重天”、“煮酒论英雄”、“皇帝菜”、“喀拉喀什河”等。以“喀拉喀什河”为例,利用腾讯AI Lab词向量计算出的语义相似词如下:

墨玉河、和田河、玉龙喀什河、白玉河、喀什河、叶尔羌河、克里雅河、玛纳斯河

⒉ 新鲜度(Freshness):

该数据包含一些最近一两年出现的新词,如“恋与制作人”、“三生三世十里桃花”、“打call”、“十动然拒”、“供给侧改革”、“因吹斯汀”等。以“因吹斯汀”为例,利用腾讯AI Lab词向量计算出的语义相似词如下:

一颗赛艇、因吹斯听、城会玩、厉害了word哥、emmmmm、扎心了老铁、神吐槽、可以说是非常爆笑了

⒊ 准确性(Accuracy):

由于采用了更大规模的训练数据和更好的训练算法,所生成的词向量能够更好地表达词之间的语义关系。

得益于覆盖率、新鲜度、准确性的提升,在内部评测中,AI Lab提供的中文词向量数据相比于现有的公开数据,在相似度和相关度指标上均达到了更高的分值。在公司内部的对话回复质量预测和医疗实体识别等业务场景中,AI Lab提供的中文词向量数据也带来了显著的性能提升。

微信智言的处理技术在自然语言处理领域中也处于名列前茅的位置。智言团队相继获得了2018年DSCT融入知识的对话生成竞赛的国际第一和2019年DSTC融入多媒体信息的对话生成竞赛国际第一,2019年实现国内ACL最佳论文奖零的突破,共计发表顶会论文27篇,5项世界第一。

目前智言的自然语言处理能力已经在很多场景得到了广泛应用,如黄反识别、文章分类(看一看、微信读书、小程序搜索)、书籍推荐(微信读书)、意图识别(小程序搜索)、语义去重(看一看、微信读书)、句子embedding(小程序搜索)等。

知文自然语言处理平台通过服务的方式对外提供一套丰富、高效、精准的底层中文自然语言处理模块。依托于海量中文语料积累,全面覆盖了智能文本处理的原子化能力,可以帮助用户快速搭建内容搜索、内容推荐、舆情识别、文本结构化、问答机器人等智能产品。

作为腾讯云对外NLP服务的统一出口,知文NLP将辅助客户在日常工作或者企业运营方面降本、增效、创新,目前已经广泛应用在社交通讯、文化娱乐、金融服务、电商、政务等行业客户的多项业务中。

五. 接口能力持续提升ing

目前云NLP团队正在升级以下三个接口能力:文本相似度接口从1个源句子和1个目标句子的对比提升为1个源句子和N个目标句子的批量对比接口;情感分析接口正在从二分类(积极、消极)升级为三分类(积极、消极、无情感),未来会支持更多维度的情感分析;词法分析接口正在升级支持用户维度的自定义词库上传和词法解析。

未来我们还会持续丰富更多的NLP能力和增加对更多场景的支持。

六. 用户问题支持

腾讯云NLP团队致力于提供可靠稳定、高精度的自然语言处理能力,每天都有人员值班,提供技术支持和问题解答。外部客户如果有任何使用问题和建议,请加入“腾讯云API交流群”,群号:330130409。内部客户如有问题请企业微信联系cloud_nlp_helper(腾讯云NLP小助手)。欢迎广大用户使用并提出宝贵意见!

0 人点赞