微软翻译能否回答“确实存在一个词”的疑问?

时间:2014-07-31 21:14:45

标签: microsoft-translator

我想知道API是否可以执行以下操作:

  • 我用预定的语言发送一个单词

  • 如果单词以该语言存在,则为API答案。

要为问题添加一些上下文,我们的想法是开发一个类似Scrabble的游戏,并且我正在调查一种方法来检测所有(或最常见)语言的有效单词。

我已经在他们的论坛上问了但是......他们已经死了。

2 个答案:

答案 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}}