自然语言处理

刘杰海

目录

  • 1 NLP导论与语言数据化
    • 1.1 机器如何切分语言
    • 1.2 实验:Tokenization
  • 2 语言结构的标签与关系
    • 2.1 从Token到语言结构标签
    • 2.2 实验:POS、NER与Dep
  • 3 文本统计与序列规律
    • 3.1 词频、关键词和索引
    • 3.2 N-gram与统计语言模型
  • 4 主题发现与文本分类
    • 4.1 主题建模与文本分类
    • 4.2 实验:主题建模与情感分析
  • 5 分布式语义与神经预测
    • 5.1 词嵌入
    • 5.2 从N-gram到神经语言模型
  • 6 注意力机制与Transformer
    • 6.1 Seq2seq与Attention
    • 6.2 Transformer
  • 7 LLM及其语言能力
    • 7.1 BERT、GPT与预训练模型
    • 7.2 模型语言能力评价
实验:Tokenization

课时安排:4课时 

本讲实验工具:Anaconda平台、Jupyter Notebook

核心问题

  1. 为什么不同Tokenizer会把同一句话切分成不同形式?

  1. 什么样的tokenization算“更好”?

主要内容

  • 回顾:Tokenization的基本过程

  • Word-level、Character-level与Subword分词思路

  • BPE的基本思想及原理演示

  • BERT类vsGPT类Tokenizer

  • Token、Token ID、Vocabulary与特殊Token

  • OOV、序列长度与词表覆盖 

互动演示

课堂实验 Lab 1 使用三类工具处理相同文本:

  1. 中文传统分词工具(Jieba,HanLP)

  1. BERT类Tokenizer

  2. GPT类Tokenizer

第1步:测试上周布置准备的文本,类型包括

  • 中英混合文本

  • 网络新词和专有名词

  • 错拼、缩写、网址和表情符号

第2步:实验记录

  • Token序列、Token数量、Token ID、特殊Token

  • 陌生或异常片段

  • 最有解释价值的差异

第3步:实验结果描述和解释

从以下维度比较:

  • 边界是否合理,是否过度切碎

  • 是否保留专有名词

  • 是否出现未知Token 

  • 不同语言的Token成本是否不同

课堂讨论 Research Thinking

若某种tokenizer更符合词语直觉,它就一定更适合语言模型吗?