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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

项目复盘:提炼项目成功与失败的经验

项目复盘,顾名思义,就是在项目结束后,对整个项目过程进行全面、系统、深入的回顾与总结。它不仅仅是对项目成果的简单评价,更是对项目执行过程中所有细节、决策、挑战与解决方案的深入剖析。通过复盘,我们可以清晰地看…

Rhel Centos环境开关机自动脚本

Rhel Centos环境开关机自动脚本 1. 业务需求2. 解决方法2.1 rc.local2.2 rc.d2.3 systemd2.4 systemd附着的方法2.5 tuned 3. 测试 1. 业务需求 一台较老的服务器上面业务比较简单,提供一个简单的网站,但已经没有业务的运维人员. 想达到的效果: 由于是非标准的apache或者nginx…

网络安全威胁是什么

1.网络安全威胁的概念 网络安全威胁指网络中对存在缺陷的潜在利用,这些缺陷可能导致信息泄露、系统资源耗尽、非法访问、资源被盗、系统或数据被破坏等。 2.网络安全威胁的类型 物理威胁系统漏洞威胁身份鉴别威胁线缆连接威胁有害程序危险 (1&#x…

网络工程师 (30)以太网技术

一、起源与发展 以太网技术起源于20世纪70年代,最初由Xerox公司的帕洛阿尔托研究中心(PARC)开发。最初的以太网采用同轴电缆作为传输介质,数据传输速率为2.94Mbps(后发展为10Mbps),主要用于解决…

Java 循环结构进阶

二重循环 1.一个循环体内又包含另一个完整的循环结构 2.外城循环变量变化一次,内层循环变量要变化一遍。 二重循环-冒泡排序

SSL域名证书怎么申请?

在数字化时代,网络安全已成为企业和个人不可忽视的重要议题。SSL(Secure Sockets Layer,安全套接层)域名证书,作为保障网站数据传输安全的关键工具,其重要性日益凸显。 一、SSL域名证书:网络安…

玩转观察者模式

文章目录 什么是观察者模式解决方案结构适用场景实现方式观察者模式优缺点优点:缺点:什么是观察者模式 观察者模式通俗点解释就是你在观察别人,别人有什么变化,你就做出什么调整。观察者模式是一种行为设计模式,允许你定义一种订阅机制,可在对象事件发生时通知多个“观察…

使用mermaid画流程图

本文介绍使用mermaid画流程图,并给出几个示例。 背景 目前,除有明确格式要求的文档外,笔者一般使用markdown写文档、笔记。当文档有图片时,使用Typora等软件可实时渲染,所见即所得。但如果文档接收方没有安装相关工具…

【JVM详解四】执行引擎

一、概述 Java程序运行时,JVM会加载.class字节码文件,但是字节码并不能直接运行在操作系统之上,而JVM中的执行引擎就是负责将字节码转化为对应平台的机器码让CPU运行的组件。 执行引擎是JVM核心的组成部分之一。可以把JVM架构分成三部分&am…

Vim操作笔记

注:本篇文章是追加笔记,用于记录自己的常用操作。 将文本中A字符串替换成B字符串 基本语法: :{范围}s/{目标}/{替换}/{标志} 作用范围 分为前行(:s)、全文(:%s)、选区(:start,ends)等。选区可以在Visual模式下选择区域后输入&#xff1a…

Linux之kernel(1)系统基础理论(2)

Linux之Kernel(1)系统基础理论(2) Author: Once Day Date: 2025年2月10日 一位热衷于Linux学习和开发的菜鸟,试图谱写一场冒险之旅,也许终点只是一场白日梦… 漫漫长路,有人对你微笑过嘛… 全系列文章可参考专栏: Linux内核知识_Once-Day的…

git本地建的分支,删除后内容还能找回

前提&#xff1a; 需要有commit 动作 1、git reflog 命令查看所有分支操作记录&#xff1b; 2、git checkout -b 命令创建一个新的分支&#xff0c;将其指向被删除分支的最后一个提交记录‌&#xff1b; git checkout -b <branch-name> <commit-hash>旨在分享~…

【每日一题 | 2025】2.3 ~ 2.9

个人主页&#xff1a;GUIQU. 归属专栏&#xff1a;每日一题 文章目录 1. 【2.3】P8784 [蓝桥杯 2022 省 B] 积木画2. 【2.4】P8656 [蓝桥杯 2017 国 B] 对局匹配3. 【2.5】[ABC365D] AtCoder Janken 34. 【2.6】P8703 [蓝桥杯 2019 国 B] 最优包含5. 【2.7】P8624 [蓝桥杯 2015…

Unity URP后处理在Game窗口不显示

摄像机勾选这个就可以了&#xff1a; 参考&#xff1a;UNITY3D URP与后处理,在game窗口不显示问题_unity urp 半透明材质game看不到-CSDN博客

Java进阶14 TCP日志枚举

Java进阶14 TCP&日志&枚举 一、网络编程TCP Java对基于TCP协议得网络提供了良好的封装&#xff0c;使用Socket对象来代表两端的通信端口&#xff0c;并通过Socket产生IO流来进行网络通信。 1、TCP协议发数据 1.1 构造方法 方法 说明 Socket(InetAddress address…

C#02项目——Checked用法

知识点 本项目用到的知识点包括&#xff1a; checked。主要用来处理溢出错误 Try.Prarse。将数字的字符串表示形式转换为其等效的 32 位有符号整数。 返回值指示转换是否成功 public static bool TryParse (string? s, out int result);Try…Catch。用于捕捉异常&#xff0c…

WPF 设置宽度为 父容器 宽度的一半

方法1&#xff1a;使用 绑定和转换器 实现 创建类文件 HalfWidthConverter public class HalfWidthConverter : IValueConverter{public object Convert(object value, Type targetType, object parameter, CultureInfo culture){if (value is double width){return width / 4…

Windows 系统 GDAL库 配置到 Qt 上

在地理信息开发中广泛使用的开源库&#xff0c;GDAL(Geospatial Data Abstraction Library&#xff09;)库提供了读取和处理各种地理空间数据格式的能力。 准备阶段 下载 GDAL 库&#xff1a;前往 GDAL 的官方网站&#xff08;https://www.gisinternals.com/&#xff09;下载…

自己动手实现一个简单的Linux AI Agent

大模型带我们来到了自然语言人机交互的时代 1、安装本地大模型进行推理 下载地址&#xff1a; https://ollama.com/download 部署本地deepseek和嵌入模型 ollama run deepseek-r1:7b2、制定Linux操作接口指令规范 3、编写大模型对话工具 #!/usr/bin/python3 #coding: utf-8…

豆包MarsCode “一键Apply”功能测评:编程效率革新利器

本文 前言功能亮点1. 告别重复操作2. 精准问题解决3. 助力新项目开发4.代码快速切换5.注释快速生成&#xff0c;一键Apply直接粘贴 使用体验总结 本文正在参加豆包MarsCode上新Apply体验活动 前言 在当今快节奏的编程开发领域&#xff0c;效率无疑是开发者们追求的核心目标之一…