我想知道API是否可以执行以下操作:
我用预定的语言发送一个单词
如果单词以该语言存在,则为API答案。
要为问题添加一些上下文,我们的想法是开发一个类似Scrabble的游戏,并且我正在调查一种方法来检测所有(或最常见)语言的有效单词。
我已经在他们的论坛上问了但是......他们已经死了。
答案 0 :(得分:1)
我测试了MS翻译服务。
var result = MST.TranslateText("xyz", "en", "de"); // custom routine that calls MS service
var result2 = MST.TranslateText("dog", "en", "de");
var result2 = MST.TranslateText("sdfasfgd", "en", "de");
结果= XYZ //来源xyz
Result2 = Hund //源狗
Result3 = sdfasfgd // sdfasfgd
看起来未找到时或字符串无法翻译 没有受到影响。
我注意到的唯一奇怪的行为是将大约3个字母情景转换为大写字母 langauge中没有明显的TLA。
public string TranslateText(string sourceText, string fromLang, string toLang) {
var httpRequestProperty = GetAuthorizationRequestHeader();
var msTransClient = new TranslatorService.LanguageServiceClient();
// Creates a block within which an OperationContext object is in scope.
using (var scope = new OperationContextScope(msTransClient.InnerChannel))
{
OperationContext.Current.OutgoingMessageProperties[HttpRequestMessageProperty.Name] = httpRequestProperty;
//Keep appId parameter blank as we are sending access token in authorization header.
var translationResult = msTransClient.Translate("", sourceText, fromLang, toLang, "text/plain", "");
return translationResult;
}
}
答案 1 :(得分:0)
Microsoft Translator 无法确定是否存在指定语言的单词,因为它是统计机器翻译系统。统计MT引擎不知道"一种语言,它只使用双语材料构建短语表和语言(有时是其他)模型,然后使用"最佳上下文匹配"使用特殊算法(例如马尔可夫链)的方法。
只能使用RBMT(基于规则的)机器翻译引擎来检查单词是否位于其内置词典或自定义词典中。但是,这不是答案。
因此,检查单词是否存在的最佳方法是拼写检查程序。您可以使用任何已知的拼写检查程序:Microsoft,Google,Hanspell等。此处还有另一篇关于拼写检查的帖子:{{ 3}}