在通过Java库翻译Google Translate API中的短语时,我突然得到了同样奇怪的标记。英语→瑞典语的例子包括:
Vector graphics → vektor~~POS=TRUNC grafikk~~POS=HEADCOMP
Javascript → Javascript script~~POS=HEADCOMP
看起来它与复合名词处理有关。这是API的一个功能,我可以以某种方式停用或者这是服务器端的新错误吗?
答案 0 :(得分:2)
这似乎与谷歌“翻译”字符串的方式有关,返回统计上最可能正确的字符串。因此,常见的Unix命令可能会在您的翻译中结束。
关于该主题的更多讨论: https://www.reddit.com/r/German/comments/47kfah/thanks_google/
答案 1 :(得分:1)
这看起来像是服务器端翻译器中的错误。我也在网站上得到它,https://translate.google.com/#view=home&op=translate&sl=ru&tl=no&text=%D0%9E%D0%B1%D1%89%D0%B5%D0%B6%D0%B8%D1%82%D0%B8%D0%B5给了我vandrer~~POS=TRUNC
。
在NLP中,“ POS”表示词性,“ HEADCOMP”听起来像是名词化合物的头部,我猜想它们会截断化合物的非头部(实际上从不变形) 。因此,Google翻译正在泄漏其内部信息。令人惊讶的是,这样的标签是基于规则/基于知识的系统的主打,而Google通常只采用纯机器学习方法,而避开了硬编码的知识。 (一种可能性是,他们使用名词复合分析器来扩展其训练集(然后运行ML,类似于Systran和Koehn trained statistical MT on a parallel corpus translated with a rule-based MT system的用法),但是脚本中存在一个需要清除的错误训练前先将标签上的标签。)
如果是开源系统,找出它们使用的系统是很有趣的,但是不幸的是,这些标签实际上是ungoogleable,因为现在网络上乱七八糟的垃圾邮件是经过机器翻译的(非-后编辑)的页面中包含这些标签。