自然语言处理简介

Python 中的自然语言处理(NLP)

Fouad Trad

Machine Learning Engineer

认识讲师…

 

讲师照片。

 

Fouad Trad

  • 机器学习工程师
  • 研究科学家
  • 网络安全与医疗中的 NLP
Python 中的自然语言处理(NLP)

什么是 NLP?

 

 

  • 语言是我们主要的交流方式
  • 计算机不理解人类语言

语言所在之处:书籍、网站、社交媒体帖子和电子邮件。

Python 中的自然语言处理(NLP)

什么是 NLP?

使计算机能够分析人类语言

一个人与机器对话,NLP 将人说的话翻译为机器可理解的内容。

Python 中的自然语言处理(NLP)

NLP 工作流

工作流第一步:原始文本。

  • 原始文本: 从推文到书本文段皆可
Python 中的自然语言处理(NLP)

NLP 工作流

工作流第二步:预处理

  • 原始文本: 从推文到书本文段皆可
  • 预处理: 清理文本,去除无关元素
Python 中的自然语言处理(NLP)

NLP 工作流

工作流第三步:特征提取。

  • 原始文本: 从推文到书本文段皆可
  • 预处理: 清理文本,去除无关元素
  • 特征提取: 将文本转为数值
Python 中的自然语言处理(NLP)

NLP 工作流

工作流第四步:建模

  • 原始文本: 从推文到书本文段皆可
  • 预处理: 清理文本,去除无关元素
  • 特征提取: 将文本转为数值
  • 模型: 分析、预测、分类、生成内容
Python 中的自然语言处理(NLP)

课程安排

完整工作流图,说明第 1 章将介绍用 NLTK 进行预处理

Python 中的自然语言处理(NLP)

课程安排

完整工作流图,说明第 2 章将介绍用 scikit-learn 和 Gensim 进行特征提取。

Python 中的自然语言处理(NLP)

课程安排

完整工作流图,说明第 3、4 章将介绍使用 Transformers 库的流水线,封装预处理、特征提取和建模三步。

Python 中的自然语言处理(NLP)

分词(Tokenization)

  • 将文本切分为词元(更小的可处理片段)

一位在切胡萝卜的人

Python 中的自然语言处理(NLP)

句子分词

  • 文本 → 句子
  • 比整体分析更清晰
import nltk

nltk.download('punkt_tab')
text = "NLP is fun. Let's dive into it!"
sentences = nltk.sent_tokenize(text)
print(sentences)
["NLP is fun.", "Let's dive into it!"]

代表翻译的图标。

Python 中的自然语言处理(NLP)

词语分词

  • 文本 → 词与标点
  • 适用于:
    • 识别关键词
    • 统计词频
text = "Claim your free prize now!"

words = nltk.word_tokenize(text)
print(words)
['Claim', 'your', 'free', 'prize', 'now', '!']

垃圾邮件图标。

Python 中的自然语言处理(NLP)

¡Vamos a practicar!

Python 中的自然语言处理(NLP)

Preparing Video For Download...