平台开发中,欢迎参与测试。你可以在 QQ群:1046115671 中与我们交流,或是直接在社区发帖

    翻译平台机器填充机制设计方案

    • 孙锡源
      楼主

      新的机器翻译填充机制主要想改进以下三个方面:

      1. 更好地处理某一原文在匹配记忆库时遇到多条译文的情况
      2. 调用翻译时支持使用平台术语库用以翻译纠正
      3. 大量调用翻译经常触发谷歌的流控

      具体方案

      当匹配记忆库遇到多条译文时

      计划为记忆库的每个词条增加一个优先级字段,优先级范围为0-100,优先级由管理员为每个含有重复译文的词条手工指定。

      对于机器翻译预填充的应用场景,会自动调用优先级最高者。如果优先级都一样则会标记此翻译为“模糊的”

      对于前端所展现的翻译建议提示,会按这个优先级对输出的建议进行排序

      调用术语表进行翻译纠错

      因为计算机翻译的特殊性,有很多词汇是和日常英语有出入的。

      比如说:memory,日常翻译为记忆,但计算机中翻译为内存。

      对于这些词汇就需要使用术语库进行纠正。

      谷歌的网页翻译是不带术语库支持的,这一特性只在专业版翻译中提供。但在翻译数千万字符时,专业版翻译的价格令我们无法承受。

      目前打算使用这一方案来实现对术语库的支持(以下内容直接复制的我在其他帖子的回复,未作排版):

      比如说以下句子:

      This is a great plugin, I recommend everyone to install it

      译文:

      这是一个非常棒的插入,我推荐大家安装它


      我们可以在原文提交翻译前对原文进行如下替换:

      This is a great <code>#007</code>, I recommend everyone to install it

      其中#007是自动生成的一个编号,用来标记这个待匹配术语表的单词将来在译文中的位置,而code标签则是为了防止谷歌对其翻译。

      机器翻译后:

      这是一个非常棒的<code>#007</code>,我推荐大家安装它

      现在我们就可以使用根据使用术语表中plugin对应的译文来替换整个<code>#007</code>了

      处理后的译文:

      这是一个非常棒的插件,我推荐大家安装它


      这个方案理论上是可行的,但是对术语表要求比较严格,因为只能包含词性为名词的词汇。如果替换了动词、形容词,则可能会破坏语义。

      大量调用翻译经常触发谷歌的流控

      这个问题显而易见最优方案是使用代理。

      但是我们不打算使用正向代理,这主要是因为正向代理很容易被墙,而且搭建和连接都并不方便。

      最终是打算用反向代理来实现这个需求,这样随便谁想贡献一个节点的话就只需要创建一个网站就可以了。

      在程序端的实现原理是我们继承并实现了一个WP_Http的子类,这个子类会对某些特定的域名使用一个从代理池随机取出的反代IP访问。

      具体的访问原理就是将URL中的域名替换为反代IP,之后通过Host字段来指定域名。

正在查看 0 条回复
  • 哎呀,回复话题必需登录。

加入 LitePress 论坛 ,参与知识分享与交流
登录 注册 进行评论
立即加入