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

自然语言处理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.mrgr.cn/news/90507.html

相关文章:

  • QtUi界面设计-使用样式表设计的常用控件按钮、表格等的样例
  • 【MySQL】# Windows下安装(压缩包、msi);Linux下安装(压缩包、命令、docker);设置连接数、binlog日志;修改时区
  • 腾讯云大数据套件TBDS与阿里云大数据能力产品对比
  • C++ 类和对象 (流插入、流提取、const)
  • Python:凯撒密码
  • C++ 顺序表
  • 黑马Mistral Le chat逆转deepseek
  • 【NLP 21、实践 ③ 全切分函数切分句子】
  • lvsDR模式实现
  • Elasticjob在同一个实例上运行的多个分片任务
  • Flask Web开发的重要概念和示例
  • 洛谷 P4552 [Poetize6] IncDec Sequence
  • 阿里云 DeepSeek 模型部署与使用技术评测
  • 机器学习 - 机器学习模型的评价指标
  • 十大知识领域中涉及到的工具与技术(三)
  • 数据类型/运算符/输入与输出/注释
  • 【云安全】云原生-K8S API Server 未授权访问
  • Openssl的使用,CA证书,中间证书,服务器证书的生成与使用
  • ffmpeg学习:ubuntu下编译Android版ffmpeg-kit
  • java lambda表达式
  • Cherry Studio 连接私域deepseek-r1模型搭建私域知识库和智能体(也可使用第三方模型)
  • 从零开始搭建一个英语学习网站
  • 国产ARM处理器工控机如何助力企业实现自主可控?
  • JVM学习
  • 微服务与网关
  • 【环境安装】重装Docker-26.0.2版本