调用百度AI接口的错别字识别python代码
错别字是写博客是常见的问题,人去检查错别字效率低,浪费时间,需要借助机器的力量。
目前,百度AI平台提供了500000免费调用次数的文本纠错接口。识别文本中有错误的片段,进行错误提示并给出正确的建议文本内容。 https://mp.csdn.net/console/editor/html/106915014
这个接口提供了很多语言的实例,这里介绍的是比较简单的python接口。
基本思路是读取要检查的文件内容,根据句号逗号分号等花费为段句子,然后依次循环识别每个句子中可能的错误。
返回结果是json对象,需要提取其中的信息,如果得分只大于0,则包括可能错误的句子,打印出来行号和存在错误的句子,给于人工检查的提醒。
from aip import AipNlp
import json
import re
""" 你的 APPID AK SK """
APP_ID = '********'
API_KEY = '********************'
SECRET_KEY = '********************'
client = AipNlp(APP_ID, API_KEY, SECRET_KEY)
file=open('file.txt', encoding='utf-8')
text=file.readlines()
file.close()
lineNum=0
for line in text:
data= re.split('[,。、;]', line)
lineNum +=1
for sentence in data:
#text="百度是一家人工智能公斯,中国石油大徐"
#print(sentence)
if len(sentence)==0:
continue
result= client.ecnet(sentence);
#print(result)
for item in result.items():
if item[0] =='item':
#for item0 in item[1]:
# print(item0)
if float(item[1]['score'])>0 and float(item[1]['score'])<1:
print("LineNum" + str(lineNum)+": " + sentence)
#print(item)
print(item[1]['vec_fragment'])
运行效果如下
表示在第5行存在错误,同时给出了哪个词错误,对的词是什么。
LineNum5: 2018年Xiao Tian等 用深度学习对微尺度电子扫苗(SEM)的图片进行处理和特征识别
[{'ori_frag': '扫苗', 'begin_pos': 40, 'correct_frag': '扫描', 'end_pos': 44}]
通过多次测试,发现这个接口可以在一定程度上检查错误,但不是所有错误都能检查出来,有待改进。