当前位置: 首页 > article >正文

自然语言处理NLP入门 -- 第一节基础概念

本部分主要介绍 NLP 的基础概念,并通过实际案例演示 NLP 的核心任务,同时引导你搭建 NLP 开发环境,确保你能顺利开始后续学习。


1. 什么是自然语言处理(NLP)

1.1 NLP 的定义

自然语言处理(Natural Language Processing, NLP)是人工智能(AI)的一个子领域,专注于让计算机理解、解释和生成人类语言。NLP 结合了计算机科学、语言学和机器学习,以便计算机能自动处理文本和语音数据。

简单来说,NLP 让计算机可以“读懂”并“使用”人类语言,就像我们与朋友聊天一样。


1.2 NLP 的应用场景

NLP 在日常生活中无处不在,下面列出了一些常见的 NLP 应用:

应用示例
文本分类垃圾邮件检测(Gmail)、新闻分类(Google News)
情感分析产品评论分析(亚马逊)、社交媒体舆情分析(微博)
命名实体识别(NER)识别人名、地名、公司名(百度百科、金融行业)
机器翻译Google 翻译、DeepL
自动摘要新闻摘要(腾讯新闻)、论文摘要(arXiv)
语音助手Siri、Alexa、Google Assistant
聊天机器人客服机器人(支付宝、京东)
拼写和语法检查Word 拼写检查、Grammarly

👉 示例
你是否注意到 Gmail 有时候会自动把某些邮件归类到“垃圾邮件”?这就是 NLP 的文本分类应用之一。


1.3 NLP 核心任务

NLP 主要包括以下核心任务,每个任务都有不同的应用场景:

  1. 文本分类(Text Classification)

    • 用于垃圾邮件检测、情感分析等。
    • 示例:识别一条推文是“正面”还是“负面”。
  2. 情感分析(Sentiment Analysis)

    • 用于分析用户评论的情感(正面、中性、负面)。
    • 示例:分析一款手机的评论,判断用户是否喜欢这款产品。
  3. 命名实体识别(NER, Named Entity Recognition)

    • 识别文本中的专有名词,如人名、地名、公司名等。
    • 示例:从“马云创办了阿里巴巴”中识别“马云”是“人名”,“阿里巴巴”是“公司”。
  4. 机器翻译(Machine Translation)

    • 把一种语言翻译成另一种语言。
    • 示例:将英文“Hello, how are you?” 翻译成汉语 “你好,你好吗?”。
  5. 自动摘要(Text Summarization)

    • 生成文章的简要概括。
    • 示例:把1000字的新闻压缩成100字摘要。
  6. 问答系统(Question Answering, QA)

    • 根据文本内容回答问题。
    • 示例:像 ChatGPT 这样的 AI 机器人可以根据问题提供回答。

2. Python 与 NLP 开发环境搭建

接下来,我们搭建 NLP 开发环境,并熟悉 NLP 相关的 Python 库。

2.1 安装 Python 和 Jupyter Notebook

我们需要安装 Python,并使用 Jupyter Notebook 作为代码运行环境,方便交互式编程。

🔹 安装 Python
如果你还没有安装 Python,可以从 Python 官网 下载并安装。

🔹 安装 Jupyter Notebook

pip install notebook

然后,在终端运行:

jupyter notebook

浏览器会打开 Jupyter Notebook 界面,你可以在其中运行 Python 代码。


2.2 介绍 NLP 相关的 Python 库

在 NLP 领域,Python 生态系统中有许多强大的工具和库,以下是最常用的:

功能
NLTK经典 NLP 库,适用于文本预处理、分词、POS 标注等
spaCy速度快、功能强大的 NLP 库,适用于实体识别、依存分析等
TransformersHugging Face 提供的 NLP 预训练模型库
OpenAI API提供 GPT 语言模型,可用于文本生成、翻译、摘要等
TextBlob适用于简单 NLP 任务,如情感分析、拼写检查
Scikit-learn机器学习工具箱,可用于 NLP 任务的文本分类等
Pandas处理文本数据的表格格式
TensorFlow/PyTorch深度学习框架,可用于训练 NLP 模型

2.3 安装 NLP 相关的 Python 库

我们安装 NLP 相关的库,以便后续进行 NLP 任务的实验。

🔹 安装 NLP 库

pip install nltk spacy transformers openai textblob scikit-learn pandas

🔹 安装 Hugging Face Transformers

pip install transformers

🔹 安装 OpenAI API

pip install openai

🔹 安装 spaCy 语言模型

python -m spacy download en_core_web_sm

2.4 运行第一个 NLP 示例

在 Python 中,我们可以使用 NLP 库来处理文本数据。下面是一个简单的 spaCy 示例:

📌 示例:使用 spaCy 进行分词和命名实体识别

import spacy

# 加载英文 NLP 模型
nlp = spacy.load("en_core_web_sm")

# 输入一段文本
text = "Elon Musk founded SpaceX in 2002 in California."

# 处理文本
doc = nlp(text)

# 输出分词结果
print("分词结果:")
for token in doc:
    print(token.text)

# 输出命名实体识别结果
print("\n命名实体识别(NER)结果:")
for ent in doc.ents:
    print(f"{ent.text} - {ent.label_}")

📌 运行结果

分词结果:
Elon
Musk
founded
SpaceX
in
2002
in
California
.

命名实体识别(NER)结果:
Elon Musk - PERSON
SpaceX - ORG
2002 - DATE
California - GPE

解析

  • Elon Musk 被识别为 PERSON(人名)
  • SpaceX 被识别为 ORG(组织)
  • 2002 被识别为 DATE(日期)
  • California 被识别为 GPE(地理位置)

这个示例展示了 NLP 任务中的 分词命名实体识别,这是 NLP 领域的基础步骤之一。


小结

NLP 是计算机处理人类语言的技术,广泛应用于文本分类、情感分析、机器翻译等领域。
我们搭建了 NLP 开发环境,并安装了 Python NLP 相关的库,如 spaCy、Transformers、OpenAI API。
通过 spaCy 运行了一个简单的 NLP 示例,演示了分词和命名实体识别。

📌 下一步:深入文本处理,包括分词、词性标注、词干提取等。


http://www.kler.cn/a/544409.html

相关文章:

  • 【嵌入式Linux应用开发基础】open函数与close函数
  • oracle dbms_sqltune 使用
  • Visual Studio Code 的 AI 编程助手
  • 概率论、组合数学知识点汇总
  • 加油口,电梯门的对称性对 TCP/IP 传输协议的启示
  • 通义灵码 2.0 全新升级,阿里云正式推出繁星计划
  • 云原生小记:负载均衡
  • 字节跳动后端一面
  • es凌晨自己把索引删除了,包括es自己的索引
  • 【STM32】输入捕获实现超声波测距
  • 大模型基本原理(四)——如何武装ChatGPT
  • 四、自然语言处理_08Transformer翻译任务案例
  • 【已解决】lxml.etree.ParserError: Document is empty
  • ChatGPT macOS 桌面应用让你的编程体验更上一层楼
  • 全面解析鸿蒙(HarmonyOS)开发:从入门到实战,构建万物互联新时代
  • Cables Finance 构建集成LST与外汇RWA永续合约的综合性DEX
  • 如何启用 Apache Rewrite 重写模块 ?
  • 在ArcGIS JS API中使用WebGL实现波纹扩散特效
  • 先进制造aps专题二十九 基于ai智能体的生产排程和工厂生产仿真引擎的设计
  • 【分布式理论10】分布式互斥算法最佳实现:分布式锁的原理与实现