コール・レイダース(のpython3)
すべての認証と認可のファースト:
あなたが任意のAPIを呼び出す開始する前に、認証と認可を行う必要があり、特定の手順を参照してください。
http://ai.baidu.com/docs#/Auth/top
アクセストークンを取得します。
認可サービスアドレスhttps://aip.baidubce.com/oauth/2.0/token要求(推奨POST)を送信し、URLに次のパラメータを持って来ます:
grant_type:パラメータはclient_credentialsに固定する必要があります。?
CLIENT_ID:必須パラメータ、APIキーアプリケーション;?
client_secret:必須パラメーター、秘密鍵の適用;?
例えば:
詳細のpython3のコードは次の通りであります:
# - * - コーディング:UTF-8 - * -
#!は/ usr / binに/ envをパイソン
インポートurllibは
輸入JSON
AKの公式ネット買収を#client_id、client_secret公式ネットワークはSKを取得しました
CLIENT_ID = [AK Baiduのクラウドアプリケーション]
client_secret = [SK] Baiduのクラウドアプリケーション
#取得トークン
デフ)(get_token:
ホスト= 'https://aip.baidubce.com/oauth/2.0/token?grant_type=client_credentials&client_id=' +のclient_id + '&client_secret =' + client_secret
リクエスト= urllib.request.Request(ホスト)
request.add_header( 'コンテンツタイプ'、 'アプリケーション/ JSON;のcharset = UTF-8')
応答= urllib.request.urlopen(リクエスト)
token_content = response.read()
token_content場合:
TOKEN_INFO = json.loads(token_content)
token_key = TOKEN_INFO [ 'access_tokenは']
リターン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鍵と秘密鍵が取得しaccess_tokenは、参照「アクセストークンを取得します」
ヘッダーは次のとおりです。
パラメータ値
Content-Typeのアプリケーション/ JSON
ボディリクエストの例:
{
「テキスト」:「Baiduは手動唯一の企業です」
}
リクエストパラメータ
パラメータタイプ説明必須
入力制限すべき補正、テキスト文字列は511バイトを必要と
説明に戻ります
パラメータ説明説明
uint64型のリクエスト固有の識別子をLOG_ID
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
测试:
选用不同的数据对文本纠错的准确性进行测试,具体的案例包括生活用语,文章,古诗等。具体案例如下:
test_list = [
'我来自夏门',
'朝辞白底彩云间',
'时光葱葱而过',
'形像代言人',
'此事不会影像大局',
'化夏子孙团结一心',
'他有点必理不平衡。',
'这是我们最新的研发计画。',
'我早就在这排对了。',
'你中于来了。']
import datetime
print (datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'))
for text in test_list:
txt_correction(text)
print (datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S'))
结果:
2019-04-16 11:29:52
原文: 我来自夏门
纠错后: 我来自夏门
Score: 0
原文: 朝辞白底彩云间
纠错后: 朝辞白帝彩云间
Score: 0.961476
原文: 时光葱葱而过
纠错后: 时光匆匆而过
Score: 0.938082
原文: 形像代言人
纠错后: 形象代言人
Score: 0.947005
原文: 此事不会影像大局
纠错后: 此事不会影响大局
Score: 0.969137
原文: 化夏子孙团结一心
纠错后: 华夏子孙团结一心
Score: 0.885656
原文: 他有点必理不平衡。
纠错后: 他有点必理不平衡。
Score: 0
原文: 这是我们最新的研发计画。
纠错后: 这是我们最新的研发计划。
Score: 0.441279
原文: 我早就在这排对了。
纠错后: 我早就在这排队了。
Score: 0.977007
原文: 你中于来了。
纠错后: 你中于来了。
Score: 0
2019-04-16 11:30:19
发现在10个测试案例中,有7个错误被成功纠正。纠正成功率为70%左右,感觉不错,不过还有优化空间。随着百度不断地优化应该会有进一步的提高。
10个调用,用时27秒,每次调用2.7秒左右。
使用场景及建议:
文本纠错有很广阔的应用前景,现在已经有了以下场景:
写作辅助:在内容写作平台上内嵌纠错模块,可在作者写作时自动检查并提示错别字情况。从而降低因疏忽导致的错误表述,有效提升作者的文章写作质量,同时给用户更好的阅读体验
搜索纠错:用户经常在搜索时输入错误,通过分析搜索query的形式和特征,可自动纠正搜索query并提示用户,进而给出更符合用户需求的搜索结果,有效屏蔽错别字对用户真实需求的影响
对话语音识别纠错:将文本纠错嵌入对话系统中,可自动修正语音识别转文本过程中的错别字,向对话理解系统传递纠错后的正确query,明显提高语音识别准确率,使产品整体体验更佳
此外还可以应用在:
NLP数据预处理:如在对客服记录,景区评价的数据进行客户情绪分析前可以使用文本纠错功能对数据进行预处理,提高分析的准确度。
单据扫描信息的后处理:对单据扫描文本识别后的数据进行后处理,提高准确度
在自然语言相关的AI应用越来越多的时候,文本纠错作为NLP应用的关键组件,必将得到广泛的应用。在试验中发现,百度AI作为这方面的先行者,已经具备了很好的易用性和调用速度,希望能进一步提高识别的准确率,百尺竿头更进一步。