Bing-Spellcheck Api 不适用于英语以外的语言 (en-US)
Bing-Spellcheck Api doesn't work for languages other than English (en-US)
错误
当我调用 Api 并将 mkt 或语言设置为 da
时,无论我做什么,响应列表都是空的。
到现在我做了什么
Nuget 包并尝试使用英文(有效)
我已将该服务添加到我的 Azure 订阅并尝试了它的英语 c# 代码:
var text = "he wil be their in 5 minut";
var result = client.SpellCheckerWithHttpMessagesAsync(text: text, mode: "proof", acceptLanguage: "en-US").GetAwaiter().GetResult();
我得到了预期的 3 个结果:
带有丹麦语 returns 空的 Nuget (c#)
现在我将语言更改为 supported languages 中的丹麦语,语言代码为 da
。
var text = "De er pa dansk";
var result = client.SpellCheckerWithHttpMessagesAsync(text: text, mode: "proof", /*acceptLanguage: "da",*/ market:"da").GetAwaiter().GetResult();
我试过将 market 和 acceptLanguage 都设置为 "da"(既分开又一起),但没有用。结果是空的。
我也尝试过 Api 使用邮递员,但同样的事情发生了
Api直接打电话求英文(工作过)
Api直接打电话求英文(不行)
我还在 headers 回复中收到 BingAPIs-Market →da-DK
。
更新
正如 Ronak 所建议的那样,我已将模式更改为 spell
,但它基本上什么也听不到。
如果我 运行 它与丹麦市场的 bil gate 它 returns 1 个令牌所以至少我知道它正在检查一些东西
但是当我写一个拼写错误的丹麦语句子时 returns 什么都没有。
原句是这样的:
Fra på søndag kan der komme ekstra meget fart på cykelstierne
我已经改成
ra på søndag ka der komme ekssra meget fart pa cykelstierne
Fra => ra
kan => ka
ekstra =>ekssra
på=> pa
Url编码为
ra%20pa%20sondag%20ka%20der%20komme%20ekssra%20meget%20fart%20på%20cykelstierne
更新 2
好像字数有限制什么的。当我尝试 Ronak 提到的句子 "ra%20pa%20sondag%20ka%20der%20komme%20ekssra%20meget%20fart"
时,我得到了结果,但是当我再添加一个词时(比如 ra%20pa%20sondag%20ka%20der%20komme%20ekssra%20meget%20fart%20pa
),响应将再次为空。
mode=proof
仅支持 en-us
市场。
请使用mode=spell
。这是对此的引用:
https://docs.microsoft.com/en-us/rest/api/cognitiveservices/bing-spell-check-api-v7-reference。
如果可能,请在查询中提供 mkt
参数。
A) 文档似乎仍然说限制是 65 个字符,但我的有所不同,通常 cut-offs 在 ~50。
B) preContextText 和 postContextText 参数似乎不起作用,至少在我所做的与文档页面上的测试非常相似的任何测试中都不起作用。
错误
当我调用 Api 并将 mkt 或语言设置为 da
时,无论我做什么,响应列表都是空的。
到现在我做了什么
Nuget 包并尝试使用英文(有效)
我已将该服务添加到我的 Azure 订阅并尝试了它的英语 c# 代码:
var text = "he wil be their in 5 minut";
var result = client.SpellCheckerWithHttpMessagesAsync(text: text, mode: "proof", acceptLanguage: "en-US").GetAwaiter().GetResult();
我得到了预期的 3 个结果:
带有丹麦语 returns 空的 Nuget (c#)
现在我将语言更改为 supported languages 中的丹麦语,语言代码为 da
。
var text = "De er pa dansk";
var result = client.SpellCheckerWithHttpMessagesAsync(text: text, mode: "proof", /*acceptLanguage: "da",*/ market:"da").GetAwaiter().GetResult();
我试过将 market 和 acceptLanguage 都设置为 "da"(既分开又一起),但没有用。结果是空的。
我也尝试过 Api 使用邮递员,但同样的事情发生了
Api直接打电话求英文(工作过)
Api直接打电话求英文(不行)
BingAPIs-Market →da-DK
。
更新
正如 Ronak 所建议的那样,我已将模式更改为 spell
,但它基本上什么也听不到。
如果我 运行 它与丹麦市场的 bil gate 它 returns 1 个令牌所以至少我知道它正在检查一些东西
但是当我写一个拼写错误的丹麦语句子时 returns 什么都没有。 原句是这样的:
Fra på søndag kan der komme ekstra meget fart på cykelstierne
我已经改成
ra på søndag ka der komme ekssra meget fart pa cykelstierne
Fra => ra
kan => ka
ekstra =>ekssra
på=> pa
Url编码为
ra%20pa%20sondag%20ka%20der%20komme%20ekssra%20meget%20fart%20på%20cykelstierne
更新 2
好像字数有限制什么的。当我尝试 Ronak 提到的句子 "ra%20pa%20sondag%20ka%20der%20komme%20ekssra%20meget%20fart"
时,我得到了结果,但是当我再添加一个词时(比如 ra%20pa%20sondag%20ka%20der%20komme%20ekssra%20meget%20fart%20pa
),响应将再次为空。
mode=proof
仅支持 en-us
市场。
请使用mode=spell
。这是对此的引用:
https://docs.microsoft.com/en-us/rest/api/cognitiveservices/bing-spell-check-api-v7-reference。
如果可能,请在查询中提供 mkt
参数。
A) 文档似乎仍然说限制是 65 个字符,但我的有所不同,通常 cut-offs 在 ~50。
B) preContextText 和 postContextText 参数似乎不起作用,至少在我所做的与文档页面上的测试非常相似的任何测试中都不起作用。