【百度大脑新品体验】文本纠错,调用代码
才能我浪费99 发布于2019-04 浏览:11496 回复:27
4
收藏
最后编辑于2022-04

在语言处理应用技术方面,百度大脑新增文本纠错、新闻摘要、智能写诗、智能春联和对话情绪识别等能力。今天带大家体验一下文本纠错。

首先认证授权:

在开始调用任何API之前需要先进行认证授权,具体的说明请参考:

http://ai.baidu.com/docs#/Auth/top

获取Access Token

向授权服务地址https://aip.baidubce.com/oauth/2.0/token发送请求(推荐使用POST),并在URL中带上以下参数:

grant_type:?必须参数,固定为client_credentials;
client_id:?必须参数,应用的API Key;
client_secret:?必须参数,应用的Secret Key;
例如:

https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=Va5yQRHlA4Fq5eR3LT0vuXV4&client_secret=0rDSjzQ20XUj5itV6WRtznPQSzr5pVw2&

具体Python3代码如下:

# -*- coding: utf-8 -*-
#!/usr/bin/env python

import urllib
import json
#client_id 为官网获取的AK, client_secret 为官网获取的SK
client_id =【百度云应用的AK】
client_secret =【百度云应用的SK】

#获取token
def get_token():
    host = 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=' + client_id + '&client_secret=' + client_secret
    request = urllib.request.Request(host)
    request.add_header('Content-Type', 'application/json; charset=UTF-8')
    response = urllib.request.urlopen(request)
    token_content = response.read()
    if token_content:
        token_info = json.loads(token_content)
        token_key = token_info['access_token']
    return token_key

文本纠错:
详细说明请参考:http://ai.baidu.com/docs#/NLP-API/741e48da

接口描述
识别输入文本中有错误的片段,提示错误并给出正确的文本结果。支持短文本、长文本、语音等内容的错误识别,纠错是搜索引擎、语音识别、内容审查等功能更好运行的基础模块之一。

请求说明
HTTP方法: POST
请求URL: https://aip.baidubce.com/rpc/2.0/nlp/v1/ecnet

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

Header如下:
参数 值
Content-Type application/json

Body请求示例:
{
"text": "百度是一家人工只能公司"
}

请求参数
参数 类型 描述 是否必填
text string 待纠错文本,输入限制511字节 必填


返回说明
参数 说明 描述
log_id uint64 请求唯一标识码
correct_query string 纠错后的文本
score double 模型置信度打分
item object 分析结果
+vec_fragment list 替换候选片段信息
++ori_frag string 原片段
++correct_frag double 替换片段
++begin_pos int 起始(长度单位)
++end_pos list 结尾(长度单位)

Python3调用代码如下:

#调用百度文本纠错接口
def txt_correction(content):
    print ('原文:',content)
    token=get_token()
    url = 'https://aip.baidubce.com/rpc/2.0/nlp/v1/ecnet'
    params = dict()
    params['text'] = content
    params = json.dumps(params).encode('utf-8')
    access_token = token
    url = url + "?access_token=" + access_token
    request = urllib.request.Request(url=url, data=params)
    request.add_header('Content-Type', 'application/json')
    response = urllib.request.urlopen(request)
    content = response.read()
    if content:
        content=content.decode('GB2312')
        data = json.loads(content)

        item=data['item']
        print('纠错后:',item['correct_query'])
        print('Score:',item['score'])
        
txt_correction('汽车形式在这条道路上')        

返回结果:

原文: 汽车形式在这条道路上
纠错后: 汽车行驶在这条道路上
Score: 0.982835

感觉效果很不错。

收藏
点赞
4
个赞
共27条回复 最后由用户已被禁言回复于2022-04
#28fiyen123_回复于2020-05

这个应用希望快点普及到论文检查中!!

0
#27才能我浪费99回复于2020-05
#26 自尊心3回复
国内应该是第一梯队了吧

那是肯定的啊

0
#26自尊心3回复于2020-04
#25 才能我浪费99回复
百度在NLP方面很强

国内应该是第一梯队了吧

0
#25才能我浪费99回复于2020-04
#23 自尊心3回复
还能自动纠错,有点意思,要是还能自动补全,自动预测下一个词就更厉害了

百度在NLP方面很强

0
#24才能我浪费99回复于2020-04
#23 自尊心3回复
还能自动纠错,有点意思,要是还能自动补全,自动预测下一个词就更厉害了

类似的功能好像也是有的

0
#23自尊心3回复于2020-04

还能自动纠错,有点意思,要是还能自动补全,自动预测下一个词就更厉害了

0
#22139*****227回复于2020-04

为啥我运行了上面的代码之后没输出结果呢

0
#21才能我浪费99回复于2019-12
#19 worddict回复
能提高办公效率

非常的方便

0
#20worddict回复于2019-11

感觉未来会用的很广

0
#19worddict回复于2019-11

能提高办公效率

0
#18风搅火回复于2019-11
#8 才能我浪费99回复
是啊,大大的方便了

用起来速度也快多了

0
#17风搅火回复于2019-11
#11 才能我浪费99回复
建议你可以看一下EasyDL

这个的校对功能是不是很好啊

0
#16WigglerJJ回复于2019-11

请教楼主:在JUPYTER notebook里运行之后显示TypeError: the JSON object must be str, not 'bytes'

请问应该怎么解决啊?谢谢

0
#15imetshe回复于2019-10
  1. 补充
0
#14蓝色的风339回复于2019-06
#10 才能我浪费99回复
这个可能需要针对相应的场景进行训练

这个需要对应的数据

0
#13蓝色的风339回复于2019-06
#9 lvhaibei回复
我测试了一些金融相关的词汇,都没有纠错

还需要继续优化

0
#12才能我浪费99回复于2019-06
#9 lvhaibei回复
我测试了一些金融相关的词汇,都没有纠错

做一个针对金融场景的模型

0
#11才能我浪费99回复于2019-06
#9 lvhaibei回复
我测试了一些金融相关的词汇,都没有纠错

建议你可以看一下EasyDL

0
#10才能我浪费99回复于2019-06
#9 lvhaibei回复
我测试了一些金融相关的词汇,都没有纠错

这个可能需要针对相应的场景进行训练

0
#9lvhaibei回复于2019-06

我测试了一些金融相关的词汇,都没有纠错

0
TOP
切换版块