语言处理技术

    自然语言处理基础API说明

    简介

    Hi,您好,欢迎使用百度自然语言处理API服务。

    本文档主要针对API开发者,描述百度自然语言处理接口服务的相关技术内容。如果您对文档内容有任何疑问,可以通过以下几种方式联系我们:

    • 在百度云控制台内提交工单,咨询问题类型请选择人工智能服务
    • 如有疑问,进入AI社区交流

    语言处理基础技术接口能力

    接口名称 接口能力简要描述
    词法分析 分词、词性标注、专名识别
    依存句法分析 自动分析文本中的依存句法结构信息
    词向量表示 查询词汇的词向量,实现文本的可计算
    DNN语言模型 判断一句话是否符合语言表达习惯
    词义相似度 计算两个给定词语的语义相似度
    短文本相似度 判断两个文本的语义相似度

    请求格式

    POST方式调用

    注意:要求使用JSON格式的结构体来描述一个请求的具体内容。

    body整体文本内容可以支持GBK和UTF-8两种格式的编码。

    1、GBK支持:默认按GBK进行编码,输入内容为GBK编码,输出内容为GBK编码,否则会接口报错编码错误

    2、UTF-8支持:若文本需要使用UTF-8编码,请在url参数中添加charset=UTF-8 (大小写敏感) 例如 https://aip.baidubce.com/rpc/2.0/nlp/v1/lexer?charset=UTF-8&access_token=24.f9ba9c5241b67688bb4adbed8bc91dec.2592000.1485570332.282335-8574074

    返回格式

    JSON格式

    默认返回内容为GBK编码

    若用户指定输入为UTF-8编码(通过指定charset参数),则返回内容为UTF-8编码

    调用方式

    调用AI服务相关的API接口有两种调用方式,两种不同的调用方式采用相同的接口URL。

    区别在于请求方式鉴权方法不一样,请求参数和返回结果一致。

    调用方式一

    向API服务地址使用POST发送请求,必须在URL中带上参数:

    access_token: 必须参数,参考“Access Token获取”。

    POST中参数按照API接口说明调用即可。

    例如自然语言处理API,使用HTTPS POST发送:

    https://aip.baidubce.com/rpc/2.0/nlp/v1/lexer?access_token=24.f9ba9c5241b67688bb4adbed8bc91dec.2592000.1485570332.282335-8574074

    获取access_token示例代码

    {% AccessToken %}

    说明: 方式一鉴权使用的Access_token必须通过API Key和Secret Key获取。

    调用方式二

    请求头域内容

    NLP的API服务需要在请求的HTTP头域中包含以下信息:

    • host(必填)
    • x-bce-date (必填)
    • x-bce-request-id(选填)
    • authorization(必填)
    • content-type(选填)
    • content-length(选填)

    作为示例,以下是一个标准的请求头域内容:

    POST rpc/2.0/nlp/v1/wordseg? HTTP/1.1
    accept-encoding: gzip, deflate
    x-bce-date: 2015-03-24T13:02:00Z
    connection: keep-alive
    accept: */*
    host: aip.baidubce.com
    x-bce-request-id: 73c4e74c-3101-4a00-bf44-fe246959c05e
    content-type: application/x-www-form-urlencoded;
    authorization: bce-auth-v1/46bd9968a6194b4bbdf0341f2286ccce/2015-03-24T13:02:00Z/1800/host;x-bce-date/994014d96b0eb26578e039fa053a4f9003425da4bfedf33f4790882fb4c54903

    说明: 方式二鉴权使用的API认证机制authorization必须通过百度云的AK/SK生成。

    词法分析接口

    接口描述

    词法分析(通用版):向用户提供分词、词性标注、专名识别三大功能;能够识别出文本串中的基本词汇(分词),对这些词汇进行重组、标注组合后词汇的词性,并进一步识别出命名实体。

    词法分析(定制版):向用户提供分词、词性标注、专名识别三大功能;用户在控制台中进行个性化配置,支持自定义专有名词词表与规则,通过定制版可有效识别应用场景中的小众词汇与类别。

    定制版接口的使用教程请看链接定制版配置使用说明帖

    请求说明

    请求示例一

    • HTTP方法: POST
    • (通用版)请求URL: https://aip.baidubce.com/rpc/2.0/nlp/v1/lexer
    • (定制版)请求URL: https://aip.baidubce.com/rpc/2.0/nlp/v1/lexer_custom
    • URL参数:
    参数
    access_token 通过API Key和Secret Key获取的access_token,参考“Access Token获取
    • Header如下:
    参数
    Content-Type application/json
    • body请求示例:

      {
        "text": "百度是一家高科技公司"
      }

    请求格式

    POST方式调用

    注意:要求使用JSON格式的结构体来描述一个请求的具体内容。

    body整体文本内容可以支持GBK和UTF-8两种格式的编码。

    1、GBK支持:默认按GBK进行编码,输入内容为GBK编码,输出内容为GBK编码,否则会接口报错编码错误

    2、UTF-8支持:若文本需要使用UTF-8编码,请在url参数中添加charset=UTF-8 (大小写敏感) 例如 https://aip.baidubce.com/rpc/2.0/nlp/v1/lexer?charset=UTF-8&access_token=24.f9ba9c5241b67688bb4adbed8bc91dec.2592000.1485570332.282335-8574074

    请求参数

    参数名称 类型 详细说明
    text string 待分析文本,长度不超过20000字节

    返回格式

    JSON格式

    默认返回内容为GBK编码

    若用户指定输入为UTF-8编码(通过指定charset参数),则返回内容为UTF-8编码

    返回参数

    参数名称 类型 必需 详细说明
    text string 原始单条请求文本
    items array of objects 词汇数组,每个元素对应结果中的一个词
    +item string 词汇的字符串
    +ne string 命名实体类型,命名实体识别算法使用。词性标注算法中,此项为空串
    +pos string 词性,词性标注算法使用。命名实体识别算法中,此项为空串
    +byte_offset int 在text中的字节级offset
    +byte_length int 字节级length
    +uri string 链指到知识库的URI,只对命名实体有效。对于非命名实体和链接不到知识库的命名实体,此项为空串
    +formal string 词汇的标准化表达,主要针对时间、数字单位,没有归一化表达的,此项为空串
    +basic_words array of strings 基本词成分
    +loc_details array of objects 地址成分,非必需,仅对地址型命名实体有效,没有地址成分的,此项为空数组。
    ++type string 成分类型,如省、市、区、县
    ++byte_offset int 在item中的字节级offset
    ++byte_length int 字节级length

    返回示例

    {
          "text":"百度是一家高科技公司",
          "items":[
             {
               "byte_length":4,
               "byte_offset":0,
               "formal":"",
               "item":"百度",
               "ne":"ORG",
               "pos":"",
               "uri":"",
               "loc_details":[ ],
               "basic_words":["百度"]
             },
             {
               "byte_length":2,
               "byte_offset":4,
               "formal":"",
               "item":"是",
               "ne":"",
               "pos":"v",
               "uri":"",
               "loc_details":[ ],
               "basic_words":["是"]
             },
             {
               "byte_length":4,
               "byte_offset":6,
               "formal":"",
               "item":"一家",
               "ne":"",
               "pos":"m",
               "uri":"",
               "loc_details":[ ],
               "basic_words":["一","家"]
             },
             {
               "byte_length":6,
               "byte_offset":10,
               "formal":"",
               "item":"高科技",
               "ne":"",
               "pos":"n",
               "uri":"",
               "loc_details":[ ],
               "basic_words":["高","科技"]
             },
             {
               "byte_length":4,
               "byte_offset":16,
               "formal":"",
               "item":"公司",
               "ne":"",
               "pos":"n",
               "uri":"",
               "loc_details":[ ],
               "basic_words":["公司"]
             }
          ]
    }

    词性缩略说明

    词性 含义 词性 含义 词性 含义 词性 含义
    n 普通名词 f 方位名词 s 处所名词 t 时间名词
    nr 人名 ns 地名 nt 机构团体名 nw 作品名
    nz 其他专名 v 普通动词 vd 动副词 vn 名动词
    a 形容词 ad 副形词 an 名形词 d 副词
    m 数量词 q 量词 r 代词 p 介词
    c 连词 u 助词 xc 其他虚词 w 标点符号

    专名识别缩略词含义

    缩略词 含义 缩略词 含义 缩略词 含义 缩略词 含义
    PER 人名 LOC 地名 ORG 机构名 TIME 时间

    依存句法分析接口

    接口描述

    依存句法分析接口可自动分析文本中的依存句法结构信息,利用句子中词与词之间的依存关系来表示词语的句法结构信息(如“主谓”、“动宾”、“定中”等结构关系),并用树状结构来表示整句的结构(如“主谓宾”、“定状补”等)。

    请求说明

    请求示例一

    • HTTP方法: POST
    • 请求URL: https://aip.baidubce.com/rpc/2.0/nlp/v1/depparser
    • URL参数:
    参数
    access_token 通过API Key和Secret Key获取的access_token,参考“Access Token获取
    • Header如下:
    参数
    Content-Type application/json
    • body请求示例:
    {
    	"text": "今天天气怎么样",
    	"mode": 1
    }

    请求格式

    POST方式调用

    注意:要求使用JSON格式的结构体来描述一个请求的具体内容。

    body整体文本内容可以支持GBK和UTF-8两种格式的编码。

    1、GBK支持:默认按GBK进行编码,输入内容为GBK编码,输出内容为GBK编码,否则会接口报错编码错误

    2、UTF-8支持:若文本需要使用UTF-8编码,请在url参数中添加charset=UTF-8 (大小写敏感) 例如 https://aip.baidubce.com/rpc/2.0/nlp/v1/lexer?charset=UTF-8&access_token=24.f9ba9c5241b67688bb4adbed8bc91dec.2592000.1485570332.282335-8574074

    请求参数

    参数名称 类型 是否必须 描述
    text string 待分析文本,长度不超过256字节
    mode int 模型选择。默认值为0,可选值mode=0(对应web模型);mode=1(对应query模型)

    关于模型选择

    依存句法分析接口,可由用户自主选择合适的模型:

    Query模型:该模型的训练数据来源于用户在百度的日常搜索数据,适用于处理信息需求类的搜索或口语query。

    例如:

    "手机缝隙灰尘怎么清除"

    "百度云登陆首页"

    "给我订一张明天上海到北京的飞机票"

    Web模型:该模型的训练数据来源于全网网页数据,适用于处理网页文本等书面表达句子。

    例如:

    "后台任务定义为某过程在用户当时未登录机器期间运行"

    "一般而言,股份的表现形式可以是股票、股权份额等等”

    "有两条途径可以让本土的商业智慧在西方发扬光大”

    返回格式

    JSON格式

    默认返回内容为GBK编码

    若用户指定输入为UTF-8编码(通过指定charset参数),则返回内容为UTF-8编码

    返回参数

    参数名称 类型 详细说明
    log_id uint64 随机数,本次请求的唯一标识码
    id int 词的ID
    word string
    postag string 词性,请参照下方词性(postag)取值范围
    head int 词的父节点ID
    deprel string 词与父节点的依存关系,请参照下方依存关系标识

    返回示例

    {
        "log_id": 12345,
        "text":"今天天气怎么样",
        "items":[
            {
                "id":"1", //id
                "word":"今天", //word
                "postag":"t", //POS tag
                "head":"2", //id of current word's parent
                "deprel":"ATT"  //depend relations between current word and parent
            },
            {
                "id":"2",
                "word":"天气",
                "postag":"n",
                "head":"3",
                "deprel":"SBV",
            },
            {
                "id":"3",
                "word":"怎么样",
                "postag":"r",
                "head":"0",
                "deprel":"HED",
            }  
        ]
    }

    词性取值范围

    词性 含义 词性 含义 词性 含义 词性 含义
    Ag 形语素 g 语素 ns 地名 u 助词
    a 形容词 h 前接成分 nt 机构团体 vg 动语素
    ad 副形词 i 成语 nz 其他专名 v 动词
    an 名形词 j 简称略语 o 拟声词 vd 副动词
    b 区别词 k 后接成分 p 介词 vn 名动词
    c 连词 l 习用语 q 量词 w 标点符号
    dg 副语素 m 数词 r 代词 x 非语素字
    d 副词 Ng 名语素 s 处所词 y 语气词
    e 叹词 n 名词 tg 时语素 z 状态词
    f 方位词 nr 人名 t 时间词 un 未知词

    依存关系标识

    句法依存关系接口可以解析出的依存关系标识如下:

    1.定中关系ATT

    定中关系就是定语和中心词之间的关系,定语对中心词起修饰或限制作用。

    如:工人/n师傅/n(工人/n ← 师傅/n)。

    2. 数量关系QUN(quantity)

    数量关系是指量词或名词同前面的数词之间的关系,该关系中,数词作修饰成分,依存于量词或名词。

    如:三/m天/q(三/m ← 天/q)。

    3.并列关系COO(coordinate)

    并列关系是指两个相同类型的词并列在一起。

    如:奔腾/v咆哮/v的怒江激流(奔腾/v → 咆哮/v)。

    4.同位关系APP(appositive)

    同位语是指所指相同、句法功能也相同的两个并列的词或词组。

    如:我们大家 (我们 → 大家)。

    5.附加关系ADJ(adjunct)

    附加关系是一些附属词语对名词等成分的一种补充说明,使意思更加完整,有时候去掉也不影响意思。

    如:约/d 二十/m 多/m 米/q 远/a 处/n (二十/m → 多/m,米/q → 远/a)。

    6.动宾关系VOB(verb-object)

    对于动词和宾语之间的关系我们定义了两个层次,一是句子的谓语动词及其宾语之间的关系,我们定为OBJ,在下面的单句依存关系中说明;二是非谓语动词及其宾语的关系,即VOB。这两种关系在结构上没有区别,只是在语法功能上,OBJ中的两个词充当句子的谓语动词和宾语,VOB中的两个词构成动宾短语,作为句子的其他修饰成分。

    如:历时/v 三/m 天/q 三/m夜/q(历时/v → 天/q)。

    7.介宾关系POB(preposition-object)

    介词和宾语之间的关系,介词的属性同动词相似。

    如:距/p球门/n(距/p → 球门/n)。

    8.主谓关系SBV(subject-verb)

    主谓关系是指名词和动作之间的关系。

    如:父亲/n 逝世/v 10/m 周年/q 之际/nd(父亲/n ← 逝世/v)。

    9.比拟关系SIM(similarity)

    比拟关系是汉语中用于表达比喻的一种修辞结构。

    如:炮筒/n 似的/u 望远镜/n(炮筒/n ← 似的/u)。

    10.时间关系TMP(temporal)

    时间关系定义的是时间状语和其所修饰的中心动词之间的关系。

    如:十点以前到公司(以前 ← 到)。

    11.处所关系LOC(locative)

    处所关系定义的是处所状语和其所修饰的中心动词之间的关系,如:在公园里玩耍(在 ← 玩耍)。

    12.“的”字结构DE

    “的”字结构是指结构助词“的”和其前面的修饰语以及后面的中心词之间的关系。

    如:上海/ns 的/u 工人/n(上海/ns ← 的/u,的/u ← 工人/n)。

    13.“地”字结构DI

    “地”字结构在构成上同DE类似,只是在功能上不同,DI通常作状语修饰动词。

    如: 方便/a 地/u 告诉/v 计算机/n(方便/a ← 地/u,地/u ← 告诉/v)。

    14.“得”字结构DEI

    助词“得”同其后的形容词或动词短语等构成“得”字结构,对前面的动词进行补充说明。

    如:讲/v 得/u 很/d 对/a(讲/v → 得/u,得/u → 对/a)。

    15.“所”字结构SUO

    “所”字为一结构助词,后接一宾语悬空的动词做“的”字结构的修饰语,“的”字经常被省略,使结构更加简洁。

    如:机电/b 产品/n 所/u 占/v 比重/n 稳步/d 上升/v(所/u ← 占/v)。

    16.“把”字结构BA

    把字句是主谓句的一种,句中谓语一般都是及物动词。

    如:我们把豹子打死了(把/p → 豹子/n)。

    17.“被”字结构BEI

    被字句是被动句,是主语接受动作的句子。

    如:豹子被我们打死了(豹子/n ← 被/p)。

    18.状中结构ADV(adverbial)

    状中结构是谓词性的中心词和其前面的修饰语之间的关系,中心词做谓语时,前面的修饰成分即为句子的状语,中心词多为动词、形容词,修饰语多为副词,介词短语等。

    如:连夜/d 安排/v 就位/v(连夜/d ← 安排/v)。

    19.动补结构CMP(complement)

    补语用于对核心动词的补充说明。

    如:做完了作业(做/v → 完)。

    20.兼语结构DBL(double)

    兼语句一般有两个动词,第二个动词是第一个动作所要表达的目的或产生的结果。

    如:[7]曾经/d [8]使/v [9]多少/r [10]旅游/n [11]人/n [12]隔/v [13]岸/n [14]惊叹/v [15]!/wp(使 → 人/n ,/v使/v → 惊叹/v)。

    21.关联词CNJ(conjunction)

    关联词语是复句的有机部分。

    如:只要他请客,我就来。(只要 ← 请 ,就 ← 来)。

    22.关联结构 CS(conjunctive structure)

    当句子中存在关联结构时,关联词所在的两个句子(或者两个部分)之间通过各部分的核心词发生依存关系CS。

    如:只要他请客,我就来。(请 ← 来)。

    23.语态结构MT(mood-tense)

    汉语中,经常用一些助词表达句子的时态和语气,这些助词分语气助词,如:吧,啊,呢等;还有时态助词,如:着,了,过。

    如: [12]答应/v [13]孩子/n [14]们/k [15]的/u [16]要求/n [17]吧/u [18],/wp [19]他们/r [20]这/r [21]是/v [22]干/v [23]事业/n [24]啊/u [25]!/wp([12]答应/v ← [17]吧/u,[21]是/v ← [24]啊/u)。

    24.连谓结构VV(verb-verb)

    连谓结构是同多项谓词性成分连用、这些成分间没有语音停顿、书面标点,也没有关联词语,没有分句间的逻辑关系,且共用一个主语。

    如:美国总统来华访问。(来华/v → 访问/v)。

    25.核心HED(head)

    该核心是指整个句子的核心,一般是句子的核心词和虚拟词(<EOS>或ROOT)的依存关系。

    如:这/r 就是/v恩施/ns最/d]便宜/a的/u出租车/n,/wp相当于/v北京/ns的/u “/wp 面的/n ”/wp 。/wp <EOS>/<EOS>(就是/v ← <EOS>/<EOS>)

    26.前置宾语FOB(fronting object)

    在汉语中,有时将句子的宾语前置,或移置句首,或移置主语和谓语之间,以起强调作用,我认识这个人 ← 这个人我认识。

    如:他什么书都读(书/n ← 读/v)。

    27.双宾语DOB(double object)

    动词后出现两个宾语的句子叫双宾语句,分别是直接宾语和间接宾语。

    如:我送她一束花。(送/v → 她/r,送/v → 花/n)。

    28.主题TOP(topic)

    在表达中,我们经常会先提出一个主题性的内容,然后对其进行阐述说明;而主题部分与后面的说明部分并没有直接的语法关系,主题部分依存于后面的核心成分,且依存关系为TOP。

    如:西直门,怎么走?(西直门 ← 走)。

    29.独立结构IS(independent structure)

    独立成分在句子中不与其他成分产生结构关系,但意义上又是全句所必需的,具有相对独立性的一种成分。

    如:事情明摆着,我们能不管吗?

    30.独立分句IC(independent clause)

    两个单句在结构上彼此独立,都有各自的主语和谓语。

    如:我是中国人,我们爱自己的祖国。(是 → 爱)

    31.依存分句DC(dependent clause)

    两个单句在结构上不是各自独立的,后一个分句的主语在形式上被省略,但不是前一个分句的主语,而是存在于前一个分句的其他成分中,如宾语、主题等成分。规定后一个分句的核心词依存于前一个分句的核心词。该关系同连谓结构的区别是两个谓词是否为同一主语,如为同一主语,则为VV,否则为DC。

    如:大家/r叫/v 它/r “/wp 麻木/a 车/n ”/wp ,/wp 听/v起来/v 怪怪的/a 。/wp(叫/v → 听/v)。

    32.叠词关系VNV (verb-no-verb or verb-one-verb)

    如果叠词被分开了,如“是 不 是”、“看一看”,那么这几个词先合并在一起,然后预存到其他词上,叠词的内部关系定义为:(是1→不;不→是2) 。

    33.一个词YGC

    当专名或者联绵词等切散后,他们之间本身没有语法关系,应该合起来才是一个词。如:百 度。

    34.标点 WP

    大部分标点依存于其前面句子的核心词上,依存关系WP。

    词向量表示接口

    接口描述

    本接口已于2017年5月25日升级,仅支持词向量查询。如果希望查询两个词的相似度,可使用词义相似度

    如果您需要查阅旧版接口文档,请查看中文词向量表示接口(旧版),但建议您尽快升级到新版接口。

    词向量表示接口提供中文词向量的查询功能。

    请求说明

    请求示例

    HTTP方法: POST

    请求URL: https://aip.baidubce.com/rpc/2.0/nlp/v2/word_emb_vec

    URL参数:

    参数
    access_token 通过API Key和Secret Key获取的access_token,参考“Access Token获取

    Header如下:

    参数
    Content-Type application/json

    Body请求示例:

    {
        "word":"张飞"
    }

    请求格式

    POST方式调用

    注意:要求使用JSON格式的结构体来描述一个请求的具体内容。

    body整体文本内容可以支持GBK和UTF-8两种格式的编码。

    1、GBK支持:默认按GBK进行编码,输入内容为GBK编码,输出内容为GBK编码,否则会接口报错编码错误

    2、UTF-8支持:若文本需要使用UTF-8编码,请在url参数中添加charset=UTF-8 (大小写敏感) 例如 https://aip.baidubce.com/rpc/2.0/nlp/v1/lexer?charset=UTF-8&access_token=24.f9ba9c5241b67688bb4adbed8bc91dec.2592000.1485570332.282335-8574074

    请求参数

    参数 是否必选 类型 描述
    word string 文本内容,最大64字节
    dem int 词向量维度。默认值为0(对应1024维),目前仅支持dem=0

    返回格式

    JSON格式

    默认返回内容为GBK编码

    若用户指定输入为UTF-8编码(通过指定charset参数),则返回内容为UTF-8编码

    返回参数

    参数 类型 描述
    log_id uint64 请求唯一标识码
    word string 查询词
    vec float 词向量结果表示

    返回示例

    {
      "word": "张飞",
      "vec": [
        0.233962,
        0.336867,
        0.187044,
        0.565261,
        0.191568,
        0.450725,
        ...
        0.43869,
        -0.448038,
        0.283711,
        -0.233656,
        0.555556
      ]
    }

    DNN语言模型接口

    接口描述

    本接口已于2017年5月25日升级,如果您需要查阅旧版接口文档,请查看中文DNN语言模型(旧版),但建议您尽快升级到新版接口。

    中文DNN语言模型接口用于输出切词结果并给出每个词在句子中的概率值,判断一句话是否符合语言表达习惯。

    请求说明

    请求示例

    HTTP方法:POST

    请求URL: https://aip.baidubce.com/rpc/2.0/nlp/v2/dnnlm_cn

    URL参数:

    参数
    access_token 通过API Key和Secret Key获取的access_token,参考“Access Token获取

    Header如下:

    参数
    Content-Type application/json

    Body请求示例:

    {
        "text":"床前明月光"
    }

    请求格式

    POST方式调用

    注意:要求使用JSON格式的结构体来描述一个请求的具体内容。

    body整体文本内容可以支持GBK和UTF-8两种格式的编码。

    1、GBK支持:默认按GBK进行编码,输入内容为GBK编码,输出内容为GBK编码,否则会接口报错编码错误

    2、UTF-8支持:若文本需要使用UTF-8编码,请在url参数中添加charset=UTF-8 (大小写敏感) 例如 https://aip.baidubce.com/rpc/2.0/nlp/v1/lexer?charset=UTF-8&access_token=24.f9ba9c5241b67688bb4adbed8bc91dec.2592000.1485570332.282335-8574074

    请求参数

    参数 类型 描述
    text string 文本内容,最大256字节,不需要切词

    返回格式

    JSON格式

    默认返回内容为GBK编码

    若用户指定输入为UTF-8编码(通过指定charset参数),则返回内容为UTF-8编码

    返回参数

    参数 类型 说明
    log_id uint64 请求唯一标识码
    word string 句子的切词结果
    prob float 该词在句子中的概率值,取值范围[0,1]
    ppl float 描述句子通顺的值:数值越低,句子越通顺

    返回示例

    {
      "text": "床前明月光",
      "items": [
        {
          "word": "床",
          "prob": 0.0000385273
        },
        {
          "word": "前",
          "prob": 0.0289018
        },
        {
          "word": "明月",
          "prob": 0.0284406
        },
        {
          "word": "光",
          "prob": 0.808029
        }
      ],
      "ppl": 79.0651
    }

    词义相似度接口

    接口描述

    输入两个词,得到两个词的相似度结果。

    请求说明

    请求示例

    HTTP方法: POST

    请求URL: https://aip.baidubce.com/rpc/2.0/nlp/v2/word_emb_sim

    URL参数:

    参数
    access_token 通过API Key和Secret Key获取的access_token,参考“Access Token获取

    Header如下:

    参数
    Content-Type application/json

    Body请求示例:

    {
        "word_1":"北京",
        "word_2":"上海"
    }

    请求格式

    POST方式调用

    注意:要求使用JSON格式的结构体来描述一个请求的具体内容。

    body整体文本内容可以支持GBK和UTF-8两种格式的编码。

    1、GBK支持:默认按GBK进行编码,输入内容为GBK编码,输出内容为GBK编码,否则会接口报错编码错误

    2、UTF-8支持:若文本需要使用UTF-8编码,请在url参数中添加charset=UTF-8 (大小写敏感) 例如 https://aip.baidubce.com/rpc/2.0/nlp/v1/lexer?charset=UTF-8&access_token=24.f9ba9c5241b67688bb4adbed8bc91dec.2592000.1485570332.282335-8574074

    请求参数

    参数 是否必选 类型 描述
    word_1 string 词1,最大64字节
    word_2 string 词2,最大64字节

    返回格式

    JSON格式

    默认返回内容为GBK编码

    若用户指定输入为UTF-8编码(通过指定charset参数),则返回内容为UTF-8编码

    返回参数

    参数 类型 描述
    log_id uint64 请求唯一标识码,随机数
    score float 相似度结果,(0,1],分数越高说明相似度越高

    返回示例

    {
        "score": 0.456862,
        "words": {
          "word_1": "北京",
          "word_2": "上海"
        }
    }

    短文本相似度接口

    接口描述

    本接口已于2017年6月15日升级,如果您需要查阅旧版接口文档,请查看短文本相似度接口(旧版),但建议您尽快升级到新版接口。

    短文本相似度接口用来判断两个文本的相似度得分。

    请求说明

    请求示例

    HTTP方法:POST

    请求URL:https://aip.baidubce.com/rpc/2.0/nlp/v2/simnet

    URL参数:

    参数
    access_token 通过API Key和Secret Key获取的access_token,参考“Access Token获取

    Header如下:

    参数
    Content-Type application/json

    Body请求示例:

    {
    	"text_1": "浙富股份", // 待比较文本1
    	"text_2": "万事通自考网" // 待比较文本2
    }

    请求格式

    POST方式调用

    注意:要求使用JSON格式的结构体来描述一个请求的具体内容。

    body整体文本内容可以支持GBK和UTF-8两种格式的编码。

    1、GBK支持:默认按GBK进行编码,输入内容为GBK编码,输出内容为GBK编码,否则会接口报错编码错误

    2、UTF-8支持:若文本需要使用UTF-8编码,请在url参数中添加charset=UTF-8 (大小写敏感) 例如 https://aip.baidubce.com/rpc/2.0/nlp/v1/lexer?charset=UTF-8&access_token=24.f9ba9c5241b67688bb4adbed8bc91dec.2592000.1485570332.282335-8574074

    请求参数

    参数 类型 是否必须 描述
    text_1 string 待比较文本1,最大512字节
    text_2 string 待比较文本2,最大512字节
    model string 默认为"BOW",可选"BOW"、"CNN"与"GRNN"

    关于模型选择

    短文本相似度接口,可由用户自主选择合适的模型:

    BOW(词包)模型

    基于bag of words的BOW模型,特点是泛化性强,效率高,比较轻量级,适合任务:输入序列的 term “确切匹配”、不关心序列的词序关系,对计算效率有很高要求;

    GRNN(循环神经网络)模型

    基于recurrent,擅长捕捉短文本“跨片段”的序列片段关系,适合任务:对语义泛化要求很高,对输入语序比较敏感的任务;

    CNN(卷积神经网络)模型

    模型语义泛化能力介于 BOW/RNN 之间,对序列输入敏感,相较于 GRNN 模型的一个显著优点是计算效率会更高些。

    返回格式

    JSON格式

    默认返回内容为GBK编码

    若用户指定输入为UTF-8编码(通过指定charset参数),则返回内容为UTF-8编码

    返回参数

    参数 描述 取值
    log_id uint64 随机数,请求唯一标识码
    score float 相似度结果取值(0,1],分数越高说明相似度越高

    返回示例

    {
    	"log_id": 12345,
        "texts":{
            "text_1":"浙富股份",
            "text_2":"万事通自考网"
        },
        "score":0.3300237655639648 //相似度结果
    },

    错误信息

    若请求错误,服务器将返回的JSON文本包含以下参数:

    • error_code:错误码。
    • error_msg:错误描述信息,帮助理解和解决发生的错误。

    例如Access Token失效返回:

    {
      "error_code": 110,
      "error_msg": "Access token invalid or no longer valid"
    }

    需要重新获取新的Access Token再次请求即可。

    所有接口的错误码说明

    错误码 错误信息 详情与建议
    1 Unknown error 服务器内部错误,请再次请求,如果持续出现此类错误,请通过QQ群(224994340)或工单联系技术支持团队解决
    2 Service temporarily unavailable 服务暂不可用,请再次请求,如果持续出现此类错误,请通过QQ群(224994340)或工单联系技术支持团队解决
    3 Unsupported openapi method 调用的API不存在,请检查接口地址是否输入正确
    4 Open api request limit reached 集群超限额,请通过QQ群(224994340)或工单联系技术支持团队
    6 No permission to access data 无权限访问,请检查创建的APP应用是否有该接口的使用权限(1、API列表页是否可见、2、应用详情的接口是否勾选)
    17 Open api daily request limit reached 每天请求量超限额,请您严格控制日调用量,调用量需<=该接口的日调用量限制,若有更高调用量需求,请前往产品页面进行购买或通过QQ群(632426386)进行咨询
    18 Open api qps request limit reached QPS超限额,请您严格控制处理并发量,调用并发需<=该接口的QPS限制,若有更高QPS需求,请前往产品页面进行购买或通过QQ群(632426386)进行咨询
    19 Open api total request limit reached 请求总量超限额
    100 Invalid parameter 输入中包含了无效或错误参数,请检查代码
    110 Access token invalid or no longer valid Access Token失效,请进行更换
    111 Access token expired Access token过期,Access Token的有效期为30天,请在到期前进行更换
    282000 internal error 服务器内部错误,请再次请求,如果持续出现此类错误,请通过QQ群(632426386)或工单联系技术支持团队
    282002 input encoding error 编码错误,接口默认支持的是GBK编码,若需要输入的文本为UTF-8编码,请在url上添加参数charset=UTF-8
    282004 invalid parameter(s) 请求中包含非法参数,请检查后重新尝试
    282008 unsupported charset:{字符编码名称} 仅支持GBK和UTF-8,其余为不支持的字符编码,请检查后重新尝试
    282011 API not customized 定制化接口未使用数据进行训练,或者训练后未生效该接口,建议检查定制化是否完成数据训练以及是否已生效该接口
    282130 no result 当前查询无结果返回,请检查原始评论中是否含有核心观点,也可能是机器召回不足导致观点无法被识别到导致,如需优化,请工单反馈
    282131 input text too long 输入长度超限,请参照接口文档说明,检查输入文本的长度,并进行严格控制,如需求无法满足请工单联系客服
    282133 param {参数名} not exist 接口参数缺失,请检查输入参数是否优遗漏,补充参数并再次尝试
    282134 input empty 输入为空,请检查输入内容,输入的内容避免为空
    282300 word error 算法词典暂未收录该word,可联系客服做算法版本的升级以进行支持,相关badcase和需求可以提交工单进行咨询
    282301 word_1 error word_1提交的词汇暂未收录,无法比对相似度,可联系客服做算法版本升级进行支持,相关badcase和需求可以提交工单进行咨询
    282302 word_2 error word_2提交的词汇暂未收录,无法比对相似度,可联系客服做算法版本升级进行支持,相关badcase和需求可以提交工单进行咨询
    282303 word_1&word_2 error word_1和word_2暂未收录,无法比对相似度 ,可联系客服做算法版本升级进行支持,相关badcase和需求可以提交工单进行咨询