• 10. 自然语言处理

    10. 自然语言处理

    自然语言处理关注计算机与人类之间的自然语言交互。在实际中,我们常常使用自然语言处理技术,如“循环神经网络”一章中介绍的语言模型,来处理和分析大量的自然语言数据。本章中,根据输入与输出的不同形式,我们按“定长到定长”、“不定长到定长”、“不定长到不定长”的顺序,逐步展示在自然语言处理中如何表征并变换定长的词或类别以及不定长的句子或段落序列。

    我们先介绍如何用向量表示词,并在语料库上训练词向量。之后,我们把在更大语料库上预训练的词向量应用于求近义词和类比词,即“定长到定长”。接着,在文本分类这种“不定长到定长”的任务中,我们进一步应用词向量来分析文本情感,并分别基于循环神经网络和卷积神经网络为表征时序数据提供两种思路。此外,自然语言处理任务中很多输出是不定长的,如任意长度的句子或段落。我们将描述应对这类问题的编码器—解码器模型、束搜索和注意力机制,并动手实践“不定长到不定长”的机器翻译任务。

    • 10.1. 词嵌入(word2vec)
      • 10.1.1. 为何不采用one-hot向量
      • 10.1.2. 跳字模型
      • 10.1.3. 连续词袋模型
      • 10.1.4. 小结
      • 10.1.5. 练习
      • 10.1.6. 参考文献
      • 10.1.7. 参与讨论
    • 10.2. 近似训练
      • 10.2.1. 负采样
      • 10.2.2. 层序softmax
      • 10.2.3. 小结
      • 10.2.4. 练习
      • 10.2.5. 参与讨论
    • 10.3. word2vec的实现
      • 10.3.1. 处理数据集
      • 10.3.2. 负采样
      • 10.3.3. 读取数据
      • 10.3.4. 跳字模型
      • 10.3.5. 训练模型
      • 10.3.6. 应用词嵌入模型
      • 10.3.7. 小结
      • 10.3.8. 练习
      • 10.3.9. 参考文献
      • 10.3.10. 参与讨论
    • 10.4. 子词嵌入(fastText)
      • 10.4.1. 小结
      • 10.4.2. 练习
      • 10.4.3. 参考文献
      • 10.4.4. 参与讨论
    • 10.5. 全局向量的词嵌入(GloVe)
      • 10.5.1. GloVe模型
      • 10.5.2. 从条件概率比值理解GloVe模型
      • 10.5.3. 小结
      • 10.5.4. 练习
      • 10.5.5. 参考文献
      • 10.5.6. 参与讨论
    • 10.6. 求近义词和类比词
      • 10.6.1. 使用预训练的词向量
      • 10.6.2. 应用预训练词向量
      • 10.6.3. 小结
      • 10.6.4. 练习
      • 10.6.5. 参考文献
      • 10.6.6. 参与讨论
    • 10.7. 文本情感分类:使用循环神经网络
      • 10.7.1. 文本情感分类数据
      • 10.7.2. 使用循环神经网络的模型
      • 10.7.3. 小结
      • 10.7.4. 练习
      • 10.7.5. 参考文献
      • 10.7.6. 参与讨论
    • 10.8. 文本情感分类:使用卷积神经网络(textCNN)
      • 10.8.1. 一维卷积层
      • 10.8.2. 时序最大池化层
      • 10.8.3. 读取和预处理IMDb数据集
      • 10.8.4. textCNN模型
      • 10.8.5. 小结
      • 10.8.6. 练习
      • 10.8.7. 参考文献
      • 10.8.8. 参与讨论
    • 10.9. 编码器—解码器(seq2seq)
      • 10.9.1. 编码器
      • 10.9.2. 解码器
      • 10.9.3. 训练模型
      • 10.9.4. 小结
      • 10.9.5. 练习
      • 10.9.6. 参考文献
      • 10.9.7. 参与讨论
    • 10.10. 束搜索
      • 10.10.1. 贪婪搜索
      • 10.10.2. 穷举搜索
      • 10.10.3. 束搜索
      • 10.10.4. 小结
      • 10.10.5. 练习
      • 10.10.6. 参与讨论
    • 10.11. 注意力机制
      • 10.11.1. 计算背景变量
      • 10.11.2. 更新隐藏状态
      • 10.11.3. 发展
      • 10.11.4. 小结
      • 10.11.5. 练习
      • 10.11.6. 参考文献
      • 10.11.7. 参与讨论
    • 10.12. 机器翻译
      • 10.12.1. 读取和预处理数据
      • 10.12.2. 含注意力机制的编码器—解码器
      • 10.12.3. 训练模型
      • 10.12.4. 预测不定长的序列
      • 10.12.5. 评价翻译结果
      • 10.12.6. 小结
      • 10.12.7. 练习
      • 10.12.8. 参考文献
      • 10.12.9. 参与讨论