调用百度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}]

通过多次测试,发现这个接口可以在一定程度上检查错误,但不是所有错误都能检查出来,有待改进。

posted @ 2022-08-21 10:13  Oliver2022  阅读(715)  评论(0编辑  收藏  举报