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

通過多次測試,發現這個接口可以在一定程度上檢查錯誤,但不是所有錯誤都能檢查出來,有待改進。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章