錯別字是寫博客是常見的問題,人去檢查錯別字效率低,浪費時間,需要藉助機器的力量。
目前,百度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}]
通過多次測試,發現這個接口可以在一定程度上檢查錯誤,但不是所有錯誤都能檢查出來,有待改進。