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

论坛首页 论坛 项目发展 翻译平台机器填充机制设计方案

正在查看 0 条回复
  • 作者
    帖子
    • #21185
      孙锡源
      管理员
        @ibadboy
        楼主
        坏蛋的博客
        ibadboy.net

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

        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 条回复
    • 哎呀,回复话题必需登录。