把 h(t) t=1...Tx,摆放在一起,组成一个 2k * Tx 的矩阵,h(t) 是其中一列。这个矩阵,就是向量组 H。H 表达着自然语句 X 的全部语义和语法结构。 四. 解码的工作原理 解码的任务,是先把向量组 H 转换成一连串词向量 y(t) t = 1... Ty,然后再把这些词向量 y(t) 逐个替换成译句中的某个单词。解码的工作由一个单向循环神经网络(DecoderUniLSTM)来完成。 沿用前面的英翻中的例子,英文源句是,“Quite cold today in Beijing, keep warm when going outdoors。” 中文译句是,“今天北京天气很冷,出门时要保暖。” 编码工作完成后,英文源句转换成 600 * 12 的向量组 H,h(1) ... h(5) h(6) 分别对应着 “Quite” ... “Beijing” “,” 。中文译句的词序,与英文源句的词序并不完全一致,譬如中文翻译的第一个词,并不是 “很” 而是 “今天”。 在选择中文译句的第一个词的时候,先对 h(1) ... h(12) 逐个打分,看谁最适合。打分的规则,先看谁是第一个从句的主语。因为英文源句中主语缺失,所以接着尝试第二个规则。第二个规则是当主语缺失时,中文会把时间或地点用来充当主语。根据这个规则,中文译句的第一个词,j2直播,既有可能对应着 “today”,也有可能对应着 “Beijing”。再根据第三个规则,在所有候选词中,谁的排序靠前,谁充当译句的第一个词。所以,最后确定中文译句的第一个词,对应着 “today”。 推而广之,翻译的难点,在于选择源句中对应的词向量。对应(alignment)的强弱,由四个因子决定。 1. 源句中每一个词,在语句中担当的语法角色,譬如是主语,还是谓语,或者宾语,或者从句中的主语谓语或者宾语。 2. 源句中每一个词的语义类别,譬如是时间,还是地点。 3. 译句中已经翻译了源句中哪些词。 4. 译句中期待的下一个词的语法角色和语义类别。 不妨用公式来表达,score( h(i) ) = align( s(t-1), h(i) ) = Va' * tanh( Wa * s(t-1), Ua * h(i) ),其中 Va、Wa、Ua 是需要训练的参数,而 s(t-1) 是译句的状态,它隐含着若干内容: 1. 译句中已经翻译了的词,y(1)...y(t-1) 。 2. y(1)...y(t-1) 对应着源句中的哪些词向量 h(j) 。 沿用前面的例子,如果中文译句已经翻译了若干词,“今天北京天气很”,接下去要决定 “很” 后面紧跟的中文词,对应着源句中的哪一个英文词,正确答案是 “cold”。 为了正确地选择下一个词,我们给源句中每一个英文词的词向量 h(i),都打一个分,分值取决于中文译句到目前为止的状态 s(t-1),与英文词向量 h(i) 的距离。译句状态 s(t-1),记录着 “今天北京天气很” 的语义内容和语法结构,也记录着这几个词对应着英文源句中的 “Quite ... today in Beijing”。 对应着 “Quite” 的 h(1),与 s(t-1) 的距离,由 score( h(i) ) 公式计算得出。如果 Va、Wa、Ua 这几个参数取值得当,“Quite” 的 h(1),与 s(t-1) 距离会很远。同理,对应着 “keep” 的 h(7),与 s(t-1) 距离也很远。而对应着 “cold” 的 h(2),与 s(t-1) 的距离最近。这样,就能正确地选择 “cold”,作为要翻译的下一个词。 总结一下,假如已经翻译了若干词,y(1)...y(t-1),下一步的解码工作,包含以下几个步骤。 1. 根据 DecoderUniLSTM 当前的状态 s(t-1),给向量组 H 中每一个向量 h(i),都打一个分,表示下一步要翻译这个词的概率。 2. 根据向量组 H 的加权和,更新 s(t-1),得到 s(t)。 3. 根据三项输入,DecoderUniLSTM 下一步预期的 s(t),向量组 H 的加权和,以及目前已经翻译了的 y(1)...y(t-1),决定下一步要翻译的词 y(t)。 4. 完成了整个译句的所有词向量 y(t), t = 1...Ty 后,把 y(t) 转换成译句的单词。 五. 训练数据 无论是编码器 EncoderBiLSTM,还是解码器 DecoderUniLSTM,都有很多参数需要确定。确定这些参数的最优值,需要大量的语料。[2] 使用的语料是同时兼有英文版和法文版的大量新闻稿,这些双语新闻稿共包含 3.48 亿个单词。 六. 参考文献 [1] OpenNMT, An open-source neural machine translation system by Harvard NLP.
[2] Neural Machine Translation by Jointly Learning to Align and Translate https://arxiv.org/abs/1409.0473 新智元招聘 职位 运营总监 职位年薪:36- 50万(工资+奖金) 工作地点:北京-海淀区 所属部门:运营部 汇报对象:COO 下属人数:2人 年龄要求:25 岁 至 35 岁 性别要求:不限 工作年限:3 年以上 语 言:英语6级(海外留学背景优先) 职位描述 负责大型会展赞助商及参展商拓展、挖掘潜在客户等工作,人工智能及机器人产业方向 擅长开拓市场,并与潜在客户建立良好的人际关系 深度了解人工智能及机器人产业及相关市场状况,随时掌握市场动态 主动协调部门之间项目合作,组织好跨部门间的合作,具备良好的影响力 带领团队完成营业额目标,并监控管理项目状况 负责公司平台运营方面的战略计划、合作计划的制定与实施 岗位要求 大学本科以上学历,硕士优先,要求有较高英语沟通能力 3年以上商务拓展经验,有团队管理经验,熟悉商务部门整体管理工作 对传统全案公关、传统整合传播整体方案、策略性整体方案有深邃见解 具有敏锐的市场洞察力和精确的客户分析能力、较强的团队统筹管理能力 (责任编辑:本港台直播) |