10. 自然语言处理 NLP

10.1 语言的特征表示 ***

  • word embedding

    • 传统模型:词袋(bag-of-words),one-hot 编码

    • 基于词频:潜在语义分析(LSA),文档-矩阵分解

    • 基于词共现:GloVe,最小化向量表示 F(viTv~j)F(v_i^T\tilde v_j) 与概率 PijP_{ij} 之间的误差

    • 基于词预测:Word2Vec

      • CBOW:预测当前词,训练快

      • skip-gram:预测上下文词,低频词充分

        • negative sampling, hierarchical softmax

    • 不足:丢失句子的上下文信息

  • 语言模型(生成概率、无监督通用语义)

    • 传统模型:马尔科夫假设,N-gram 语言模型(2 / 3)

    • ELMo:特征集合 Rk={xkLM,hk,jLM,hk,jLMj=1,...,L}R_k=\{x_k^{LM},\overrightarrow h_{k,j}^{LM},\overleftarrow h_{k,j}^{LM} | j=1,...,L \}

    • GPT:预训练 文本分类、序列标注、句子关系判断 等不同任务

    • BERT

      • 实现真正的双向多层语言模型:掩码语言模型(MLM),15% 替换为 [MASK]

      • 显式地对句子关系建模,表征句子级别语义:输入句子向量,[SEP] / [CLS]

ELMo
GPT
BERT

输入层

词序列

词序列

词序列 + 句子向量 + 位置向量

网络结构

双向 LSTM

Transformer 单向编码器

Transformer 双向编码器

预训练任务

双向语言模型

单向语言模型

掩码语言模型 + 下一句预测

融合方式

特征融合

fine-tune + 辅助任务

fine-tune

10.2 机器翻译 ***

  • 神经机器翻译

    • 基于 LSTM 的 Encoder-Decoder 架构(端到端):Seq2Seq

    • 注意力机制、Transformer(多头自注意力机制)

  • 未登录词(out-of-vocabulary,OOV)

    • 翻译的基本单元:词 -> 子词 / 字符(BPE,Byte Pair Encoding)

    • 将源语言中的词,拷贝到目标语言(指针网络,pointer network)

  • 双语语料不足

    • 爬虫获取更多语料:对齐问题

    • 伪造双语平行语料:反向翻译、数据增强

    • 模型层面解决:单语语料、其他语言对、其他领域的双语语料

10.3 问答系统 ****

  • 主要任务

    • 问题分类:决定答案的类型(事实、列举、假设条件、询问)

    • 段落检索:根据问题,在知识库中,返回较小候选集(粗筛)

    • 答案抽取:抽取最终答案

  • 使用 CNN / RNN 解决 长距离语境依赖,Transformer 改进

    • CNN:共享权重,关键信息位置不敏感,但长度有限,难以处理 较长语境

    • RNN(LSTM):长文本特征表示,但无法并行加速,较长距离的信息依赖 仍然存在困难

    • 注意力机制:降低信号传播长度,但没有保留 位置信息

      • 自注意力机制 Attention(Q,K,V)=Softmax(QKTdk)VAttention(Q,K,V)=Softmax(\frac{QK^T}{\sqrt{d_k}})V,尺度缩放点积注意力

      • Query(Decoder 待生成序列),Value(Encoder 输入序列),Key

    • QANet:结合 CNN + 自注意力机制(卷积层 + 自注意力层 + 全连接层)

  • 注意力机制,问题 + 段落 协同编码,获得更有效的编码表示

  • 词的位置 进行编码:Transformer 中采用不同频率的 sin / cos 函数,对位置编码

10.4 对话系统 *****

  • 任务分类:开放 / 封闭,任务型 / 非任务型

  • 系统模块:对话理解(对话状态编码)、策略学习、对话生成

  • 强化学习

    • 原因:空间大,监督学习样本不足;在线训练

    • 模块:策略学习模块,或 端对端建模

    • ACER(Actor-Critic with Experience Replay)

Last updated