语义标记提高了机器翻译文本的质量

Web浏览器,如Google Chrome,Yandex.Browser和Naver Whale;和领先的搜索引擎 - 包括Bing,Yandex,Google,Naver和Baidu - 可以在几秒钟内移动任何网页。这使得任何了解支持支持的语言以访问以任何其他支持的语言编写的文档。

我完全偶然注意到,我在这个博客上的一些最读取的文章没有很好地翻译在微软翻译中。许多技术细节 - 例如代码块,文件路径/扩展和函数名称 - 在其余文本中被打造并导致它失去所有含义。考虑到经典的UNIX程序称为类似的东西,这并不奇怪,程序函数只是携带英文短语。这让我思考了如何优化机器翻译的文本。

可以理解的高质量机器翻译需要岩石固体语法和源材料拼写。我发现它也可以受益于有关文本的丰富语义数据。

我用文本级语义html元素标记了一些写作ABBR.(对于缩写),(对于包括文件名和程序函数的计算机说明),kbd.(用户输入),SAMP.(程序输出),和var.(一个变量)。但是,我没有一致,我甚至没有正确使用这些元素 - 特别是混合kbd.,和SAMP.

这可以对读者对文本的理解有意义的影响。最重要的区别是翻译 - 服务将这些标签带到强烈提示,不要尝试翻译文本。该kbd.然而,元素有时翻译。这似乎仅限于键盘快捷键。例如。 ctrl + del 可能是 Strg + Entf 在德国。(这是预期的翻译。)

您可以考虑代码片段,功能名称,文件路径,URI协议和其他技术副本另一种语言用不同的语法规则。编程语言通常由英语启发,但使用自己的语法,语法和风格。混合两种语言(例如英语和英语灵感的编程语言)可以严重混淆机器翻译工具。

想象一下机器如何理解以下句子:“yabo亚博体育下载useraccounts.homedir.delete(reacursive = true)函数将删除/ home / user /目录。“忽略单词之间的标点符号和缺少空格,可以读为英语。但是,句子结构很差,它的翻译就像不好一样。由此产生的翻译可能会丢失一些语义标点符号,或部分或完全翻译函数名称和路径。整个句子可以毫无意义地呈现。

在我的测试中,微软翻译(也称为Bing翻译)和Yandex翻译可以在从英语转换为挪威语或俄语时正确使用这些语义提示。我无法妥善评估俄罗斯翻译的质量,但我至少能够验证在正确标记时是否正确保留了函数名称和文件路径。我无法评估百度五籍,只支持翻译成中文。

全球翻译HTML5中的属性,新的新功能,可以通过将文本标记为可翻译或不可能进一步增强机器翻译。例如,您可以在标记要翻译的注释和字符串的同时将代码示例标记为不可筛选。请参阅以下示例。

 // 示例函数函数示例(){print(“示例可翻译字符串”);

这在谷歌翻译中的作品,微软翻译,Yandex翻译和Naver Papago。百度福尼不支持翻译属性。但是,百度(和其他人)确实支持遗产非语义Class =“obranslate”属性。但是,我建议重点关注标准翻译属性,除非您特别需要与百度(中国市场的市场领导者)的向后兼容性和兼容性。

更新():翻译=“否”当Chrome翻译文档时,属性并不总是有效。与之一起使用它Class =“obranslate”属性似乎做了诀窍。

在我的测试中,语义文本级别元素被视为提示,并且有时会翻译尽管标记。例如。与上面的键盘快捷方式一样。该翻译=“否”属性是唯一一部分从被翻译的文本排除的变量。

设置A.翻译=“是”覆盖a内的override属性翻译=“否”谷歌仅支持块。另一个翻译工具只是忽略它。但是,谷歌翻译在预先格式化的文本块中时,谷歌翻译并不总是保留空格(如

元素。)相反,将所有空格标准化为一个空间字符。这可能对代码示例的语义和可读性产生有害的结果。

在应用这些方法后,在使用Microsoft Translator时,我在使用Microsoft Translator和一些改进时看到了我的文本的机器翻译版本的巨大改进。

这可能是一个优化,其将失去一次翻译服务,机器学习和人工智能成熟。直到那时,当你提交技术文件时,还有一件事要考虑;无论是关于编程和语言学还是完全别的东西。

外卖:检测和测量机器翻译。使用HTML文本级语义标记标记您的代码示例。标记不可翻译的文本翻译=“否”