自然语言处理(NLP)基础

使用 spaCy 的自然语言处理

Azadeh Mobasher

Principal Data Scientist

自然语言处理(NLP)

 

  • 人工智能(AI)的一个分支
  • 帮助计算机理解人类语言
  • 帮助从非结构化数据中提取洞见
  • 融合统计学机器学习深度学习

 

NLP,AI 的一个分支

使用 spaCy 的自然语言处理

NLP 用途示例

情感分析  

  • 使用计算机判断文本的主观倾向

 

情感分析示例

使用 spaCy 的自然语言处理

NLP 用途示例

命名实体识别(NER)  

  • 在非结构化文本中定位并分类命名实体到预定义类别
  • 命名实体是现实世界对象,如人名或地点

 

NER 示例

使用 spaCy 的自然语言处理

NLP 用途示例

 

  • 生成类人回复的文本系统,如 ChatGPT

 

聊天机器人

使用 spaCy 的自然语言处理

spaCy 简介

spaCy 是用于 Python免费开源 NLP 库,具有:

  • 专为构建信息抽取系统而设计
  • 提供可生产可用的 NLP 代码
  • 支持 64+ 种语言
  • 稳健高速,并带有可视化库

 

spaCy 与 NLP

使用 spaCy 的自然语言处理

安装并导入 spaCy

 

  • 第一步,可用 pip 安装 spaCy
  • 可下载 spaCy 训练模型
  • 英文有多种训练模型,见 spacy.io

 

$ python3 pip install spacy
python3 -m spacy download en_core_web_sm
import spacy
nlp = spacy.load("en_core_web_sm")
使用 spaCy 的自然语言处理

用 spaCy 读取并处理文本

  • 已加载 spaCy 模型 en_core_web_sm = nlp 对象
  • nlp 将文本转换为 Doc 对象(容器)以存储处理结果

用 spaCy 处理文本

使用 spaCy 的自然语言处理

spaCy 实战

  • 使用 spaCy 对字符串进行处理
import spacy
nlp = spacy.load("en_core_web_sm")
text = "A spaCy pipeline object is created."
doc = nlp(text)
  • 分词(Tokenization)
    • Token 指文本中最小的有意义单元
    • 分词:将文本切分为有意义的 token 列表
print([token.text for token in doc])
['A', 'spaCy', 'pipeline', 'object', 'is', 'created', '.']
使用 spaCy 的自然语言处理

Passons à la pratique !

使用 spaCy 的自然语言处理

Preparing Video For Download...