当前位置: 代码迷 >> 综合 >> 自然语言处理(NLP)之路——概念理解——从 Google translate 的 seq2seq 看自然语言处理(NLP)的发展
  详细解决方案

自然语言处理(NLP)之路——概念理解——从 Google translate 的 seq2seq 看自然语言处理(NLP)的发展

热度:77   发布时间:2023-12-15 06:02:27.0

Google translate 与 seq2seq

seq2seq 是 Google translate 使用的技术,它颠覆了传统的自然语言处理。而Google translate 上线的重大意义在于它证明了跨自然语言可微分可编辑的语义表征方式。

它怎么做呢?实际上是这么几个步骤:

第一,它把中文词先翻成一个词向量,变成一个数字向量。第二,它对这个词向量再编辑,变成一个语义表示的方式。第三,再把它翻译成它的目标语言,也就是英文。

它整个用的技术又称为 encoder(编码) 和decoder(解码),另外一种表示就是sequence to sequence,或者概括说是谷歌翻译的核心技术。

这个地方有几件事情,为什么说谷歌翻译的核心技术是个划时代的?

之前说了三个关键词:一个是“跨自然语言”,第二个是“可微分”,第三个是“可编辑”。上图这个例子是把中文搞成数字语言,再从数字语言翻译成英文。

可以想一想,中文是不是可以翻译成数字语言,再从数字语言翻译成法文呢?当然是可以的。同样的,也可以把现代的白话中文翻译成数字语言,再把它翻译成中国的古汉语文言文。

再给你一段中文的现代文,翻译成数字的语言,再从数字语言可以搞出来一个中心思想,或者说一段中文把它翻译成数字语言,再从数字语言搞成结构化的表格。这就是它的强大所在。

Seq2Seq 的五大要素:

1.用语言模型生成词向量
自然语言的表达:字/词—(语言模型)—数字向量(词向量)
2.用于语义编辑的 LSTM 模型
词向量的再编辑:词向量—(编辑器)—语义的表示
3.Attention 解码机制
语义解码:语义表示—(attention 机制)—其他语言
4.深度学习借力知识图谱:Seq2Seq 与知识图谱的融合
优化 attention 机制
5.准确性评价函数 BLEU
评价函数

注:可用于语义编辑还不止是 LSTM,facebook 用的是 CNN

从语言模型到seq2seq

在这里插入图片描述原生态的语言模型——N-gram——词向量——神经网络模拟

根据上图公式,第一行首先是最原生态的语言模型,给定一个句子中间前一句的词,现在要猜测下面一个位置出现这个词的概率是多少。举个例子,前一句词“人工智能医生”,现在想猜测“医生”后面出现“帮助”个词的概率是多少,这是它原生态的语言模型。如果句子从第一个词开始一直到你马上要预测的下一个位置,i 是不断增长的。

第二行开始,做一点改造,每次给一个定长的窗口 t ,前续词倒推,如果我把语言模型限定为定长的窗口,那么会降低一点点精度。这个给定长的窗口 t 一个学术名称,就是 N-gram,在我们这里面 N 等于 T。

这个事情和 Bengio 的工作没有任何关系。Bengio 、徐伟等人做了什么事情?

第一个事情,从第三行起,前续的词不再是原来的那个 Z 符号,它先把它翻译成一个数字向量,我用 g 来表示,这是一个100维或者200维的或者256维或者512维的数字向量,从这边转换到这边,变成一个词向量。

第二件事情,你的条件概率用什么函数来模拟?在 N-gram 里面没什么,它就是一个统计概率。从从第四行看,在 Bengio 的工作里,他用了一个很简单的神经网络,来模拟条件概率。

所以他做两件事情,第一件事情,从 N-gram 里面把原来的词、符号变成一个数字向量,第二件事情把这个概率用一个神经网络来模拟。

参考:https://gitbook.cn/books/594895ae9e9af2601d5c07d1/index.html

  相关解决方案