以下是使用拼写检查器 API 的Microsoft Python 示例:
import http.client, urllib.parse, json
text = 'Hollo, wrld!'
data = {'text': text}
# NOTE: Replace this example key with a valid subscription key.
key = 'MY_API_KEY'
host = 'api.cognitive.microsoft.com'
path = '/bing/v7.0/spellcheck?'
params = 'mkt=en-us&mode=proof'
headers = {'Ocp-Apim-Subscription-Key': key,
'Content-Type': 'application/x-www-form-urlencoded'}
# The headers in the following example
# are optional but should be considered as required:
#
# X-MSEdge-ClientIP: 999.999.999.999
# X-Search-Location: lat: +90.0000000000000;long: 00.0000000000000;re:100.000000000000
# X-MSEdge-ClientID: <Client ID from Previous Response Goes Here>
conn = http.client.HTTPSConnection(host)
body = urllib.parse.urlencode(data)
conn.request ("POST", path + params, body, headers)
response = conn.getresponse()
output = json.dumps(json.loads(response.read()), indent=4)
print (output)
它适用于 mkt=en-us。但是如果我尝试更改它,例如更改为"fr-FR"。它总是以对任何输入文本的空白响应来回答我。
{
"_type": "SpellCheck",
"flaggedTokens": []
}
有没有人遇到过类似的问题?它可以与我的试用 api 密钥相关联(尽管他们没有提到试用版仅支持英语(?
好吧,我已经找到了问题所在。'mode=proof' — 高级拼写检查器目前仅在"mkt=en-us"时才可用(由于某些Microsoft原因,即使"mkt=en-uk"也不可用(。对于所有其他语言,您应该使用"mode=spell"。
">证明"和"咒语"之间的主要区别描述如下:
拼写模式可查找大多数拼写错误,但找不到 Proof 捕获的某些语法错误(例如,大写和重复的单词(。