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

自然语言处理NLP入门 -- 第六节命名实体识别

1 什么是命名实体识别?

在日常生活中,我们经常会遇到这样的情景:希望从一大段文本中,快速找出所有的人名、地名、组织机构名称、日期、时间等关键信息。举个例子,如果你在阅读一篇关于历史事件的新闻报道时,需要尽快确认「这篇新闻里提到的国家名有哪些?涉及了哪些重要人物和组织?重大日期在哪些地方出现了?」这时,「命名实体识别(Named Entity Recognition, NER)」就能帮上大忙。

命名实体识别是自然语言处理(NLP)中的一个核心任务,目标是从文本中自动识别并提取具有特定意义的实体。常见的实体类型包括:

  • 人名(Person)
  • 地名(Location)
  • 组织(Organization)
  • 日期(Date)
  • 货币单位(Money)
  • 时间(Time)
  • 事件(Event)
    等等。

在搜索引擎、信息检索、对话机器人等实际应用场景中,NER 都是一个重要的技术支撑环节。例如:

  1. 搜索引擎:可以根据用户搜索内容中的实体,做更加精准的搜索结果匹配;
  2. 智能客服机器人:能够识别聊天文本中的产品名称、地点后,再做个性化的回复;
  3. 情报分析:从海量文本中快速挖掘出关键人物、地点和组织,用于安全监控、市场调研等。

换句话说,NER 就像给文本装了一双「慧眼」,自动挑出有意义的「关键词」,帮助我们节省大量人工标注和检索的时间。


2 使用 spaCy 进行 NER

为了让你更好地理解 NER 的原理和应用,我们先来试试一个轻量级但非常实用的 Python 库:spaCy。它提供了预训练的模型,可以直接用来识别英文(以及部分其他语言)文本中的实体。

2.1 准备工作
  1. 安装 spaCy
    pip install spacy
    
  2. 下载 spaCy 预训练的语言模型
    比如,如果我们需要进行英文文本处理,可以下载 en_core_web_sm
    python -m spacy download en_core_web_sm
    
    这里的 en_core_web_sm 是 spaCy 提供的一个小型英文模型。
2.2 代码示例:识别英文文本中的实体

下面的示例演示如何使用 spaCy 识别一段文本中的实体类型:

import spacy# 加载spaCy的英文模型
nlp = spacy.load("en_core_web_sm")# 准备一段英文文本
text = "Apple was founded by Steve Jobs and Steve Wozniak in the United States."# 使用 spaCy 解析文本
doc = nlp(text)# 打印识别出的实体及其类别
for ent in doc.ents:print(ent.text, ent.label_)

示例输出:

Apple ORG
Steve Jobs PERSON
Steve Wozniak PERSON
the United States GPE
  • doc.ents 存放了所有从文本里识别出的实体,每个 ent 对象包含了实体的文本 ent.text 和实体类型 ent.label_
  • 运行这段代码,你会看到像 “Apple ORG”、“Steve Jobs PERSON”、“United States GPE”(地理位置) 等输出。
    • ORG:组织机构
    • PERSON:人名
    • GPE:地理/政治实体(比如国家、城市等)

这样,你就能轻松自动提取文中提到的人名、组织名称、地名等关键信息。

2.3 难点总结:为什么有时识别不准确?
  1. 模型训练数据有限:开源模型(如 en_core_web_sm)训练语料不一定覆盖所有行业领域,识别新兴名词或专业术语时容易出错。
  2. 多义词:同一个单词在不同语境下表示不同含义,需要上下文才能判定。
  3. 文本噪音:文本中有拼写错误、特殊字符,或者混杂多语言,也会影响 NER 准确率。

3 使用 OpenAI API 进行 NER

除了使用 spaCy 这样的传统 NLP 库,我们还可以借助 OpenAI 提供的大型语言模型来完成 NER。这里有一个有趣的点:由于 GPT 系列模型对语言的理解程度较高,一些具有创意的文本或者多种语言混合的文本,往往可以借助 OpenAI API 做到不错的实体识别效果。不过需要注意,OpenAI 大模型并没有直接输出实体类别的「内置功能」,通常需要我们使用提示工程(prompt engineering)的方式告诉它具体的操作需求。

3.1 准备工作
  1. 安装 OpenAI Python 库
    pip install openai
    
  2. 获取 API Key
    前往 OpenAI 平台 获取你的 API Key,并在代码中进行配置。
3.2 代码示例:通过 Prompt 方式让 GPT 进行 NER
import openai# 替换成你自己的 API Key
openai.api_key = "YOUR_OPENAI_API_KEY"text = "Apple was founded by Steve Jobs and Steve Wozniak in the United States."prompt = f"""
从以下文本中识别人名、组织、地点等命名实体,并用JSON格式输出:文本:{text}
"""response = openai.chat.completions.create(model="gpt-3.5-turbo",  # 或者使用最新的 GPT-4 模型messages=[{"role": "user", "content": prompt}],temperature=0.0
)print(response.choices[0].message.content)

示例输出:

{"人名": ["Steve Jobs", "Steve Wozniak"],"组织": ["Apple"],"地点": ["United States"]
}

在这个例子里,我们给 GPT-3.5-turbo 模型发送了一个包含具体「指令」的 prompt,要求它把文本中的命名实体识别出来,并用 JSON 格式返回。

  • temperature=0.0 代表结果更具确定性,减少回答中的随机性。
3.3 优缺点对比
  • spaCy
    • 优点:速度快,易于部署,本地运行无需外部 API;对于英文等主流语言模型支持较好;也可以微调模型以适应专业领域。
    • 缺点:对模型覆盖不到的领域或多语言场景可能支持有限;需要自己训练或寻找相应的语言模型。
  • OpenAI API
    • 优点:大模型对很多场景的文本有更好的理解力,识别准确度相对较高;无需自己训练、上手简单。
    • 缺点:需要付费(调用 API 会产生费用);响应速度受网络和 API 负载影响;对一些私密数据处理有合规要求。

4 课后练习与思考

  1. 课后练习 1
    • 使用 spaCy 对一篇新闻报道或微博文本进行 NER,比较一下 spaCy 对新闻文本和社交媒体文本的识别效果。哪些实体容易出错?
  2. 课后练习 2
    • 修改 OpenAI 提示词,让 GPT 识别更多类型的实体,如「日期」「事件」「货币单位」等。尝试为不同领域(比如医疗、金融)编写不同的 prompt,看看能否得到更准确的识别结果。

5 小结:为什么要学 NER?

在整个 NLP 流程中,命名实体识别承担着「抽取关键信息」的重任。它不仅能帮助我们快速了解文本中的核心内容,也为更高层的 NLP 任务(如信息检索、知识图谱构建、对话系统等)提供了宝贵的结构化信息。如果你想让你的 NLP 应用「更聪明」,那么 NER 绝对是必须掌握的一项技能。

在后续的学习中,你可以尝试把 NER 与其他技术结合,比如把识别出的实体输入到一个对话机器人中,或者利用这些实体做更精准的文本聚类与推荐。这样,通过不断的应用和实践,才能真正体会到 NER 的价值与乐趣。


希望经过这一节,你已经对命名实体识别(NER)有了更直观、生动的认识,也能动手试试在 spaCy 以及 OpenAI API 中进行实体识别。

相关文章:

自然语言处理NLP入门 -- 第六节命名实体识别

1 什么是命名实体识别? 在日常生活中,我们经常会遇到这样的情景:希望从一大段文本中,快速找出所有的人名、地名、组织机构名称、日期、时间等关键信息。举个例子,如果你在阅读一篇关于历史事件的新闻报道时&#xff0…...

Windows PicPick Professional-v7.3.2-中文版

Windows PicPick Professional-中文版 链接:https://pan.xunlei.com/s/VOKGwGVGWUDl7L8cW4D1A1W4A1?pwdw5qz# - 更新了中文翻译,默认取消检测升级,删除多国语言...

Hue UI展示中文

个人博客地址:Hue UI展示中文 | 一张假钞的真实世界 如果使用开发分支代码如master分支)编译安装,需要自己编译语言文件。例如Hue安装目录为“/opt/hue”,则安装后执行以下命令: $ cd /opt/hue $ make locales 如果…...

【Unity】AI Navigation自动寻路(导航)功能

1.简介以及安装AI Navigation 1.1 简介 AI导航包包含高级组件,允许你在游戏中使用导航网格来整合导航和寻径。有了这个包,你可以在运行时和编辑时构建和使用导航网格,创建动态障碍,并使用链接来允许特定的动作(如跳跃…...

网络安全员证书

软考网络安全员证书:信息安全领域的黄金标准 随着信息技术的飞速发展,网络安全问题日益凸显,网络安全员的需求也日益增加。软考网络安全员证书作为信息安全领域的黄金标准,对于网络安全从业者来说具有重要意义。本文将详细介绍…...

2.你有什么绝活儿?—Java能做什么?

1、Java的绝活儿:要问Java有什么绝活,我觉得它应该算是一位魔法师,会的绝活儿有很多,要说最能拿得出手的当属以下三个。 1.1 平台无关性:Java可以在任何地方施展魔法,无论是Windows、Linux还是Mac&#xf…...

使用 ASP.NET Core 创建和下载 zip 文件

对于最近的一个功能,我必须从用 ASP.NET Core 编写的内部网站下载一批文件。在下载文件之前对其进行压缩,结果证明这是一种轻松实现多文件下载的好方法。.NET 提供了所有需要的功能,在本文中,我将向您展示如何实现它。 首先&#…...

数据结构之队列

一、队列的概念 队列是一个有序列表,可以用数组或者是链表来实现的。遵循的是先入先出的原则,就是先存入队列的数据要先取出,后面存的需要后面取出。插入的一端称为队尾,删除的一端称为队头,队列里没有元素就称它为空…...

微信小程序读取写入NFC文本,以及NFC直接启动小程序指定页面

一、微信小程序读取NFC文本(yyy优译小程序实现),网上有很多通过wx.getNFCAdapter方法来监听读取NFC卡信息,但怎么处理读取的message文本比较难找,现用下面方法来实现,同时还解决几个问题,1、在回调方法中this.setData不更新信息,因为this的指向问题,2、在退出页面时,…...

【Godot4.3】自定义简易菜单栏节点ETDMenuBar

概述 Godot中的菜单创建是一个复杂的灾难性工作,往往无从下手,我也是不止一次尝试简化菜单的创建。 从自己去年的发明“简易树形数据”用于简化Tree控件获得灵感,于是尝试编写了用于表示菜单数据的EasyMenuData类,以及对应的纯文…...

win7电脑上最好安装 Python什么版本?

李升伟 整理 在 Windows 7 上安装 Python 时,需考虑系统兼容性和安全性。以下是具体建议: --- ### **推荐版本:Python 3.8.x** 1. **兼容性** Python 3.8 是最后一个官方支持 Windows 7 的版本(需安装系统更新至 **SP1** …...

苍穹外卖-阿里云OSS文件上传

苍穹外卖-阿里云OSS文件上传 一、阿里云OSS简介**获取AccessKey**获取enpoint 二、代码实现1 引入依赖2 定义OSS相关配置2.1 application-dev.yml2.2 application.yml 3 读取OSS配置3.1 AliOssProperties 4 生成OSS工具类对象4.1 AliOssUtil4.2 OssConfiguration2.5 CommonCont…...

一周热点:基于向量的推理,而非文本

背景介绍 大型语言模型(LLMs):大型语言模型(如GPT-2)可以通过生成思维链(CoT)来提高性能。CoT是将回应提示的过程分解为一系列步骤的中间文本标记。然而,大部分CoT文本旨在保持流畅性(例如“a”、“of”、“we know that”),而非推理(例如“a + b = c”)。这导致了…...

Tagr 5 for Mac v5.8.0 [MAS] 音频标签编辑工具 支持M、Intel芯片

Tagr 5应用介绍 Tagr 5 是一款功能强大的音乐标签编辑工具,专为macOS用户设计。它旨在帮助用户高效地管理和编辑音乐文件的标签(Metadata),尤其适合那些有大量音乐文件的用户。通过Tagr 5,用户可以轻松地编辑和更新音…...

【linux】详谈 环境变量

目录 一、基本概念 二、常见的环境变量 取消环境变量 三、获取环境变量 通过代码获取环境变量 环境变量的特性 1. getenv函数:获取指定的环境变量 2. environ获取环境变量 四、本地变量 五、定义环境变量的方法 临时定义(仅对当前会话有效) 永…...

【PyQt5】python可视化开发:PyQt5介绍,开发环境搭建快速入门

✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…...

数据结构1-4 队列

一、队列是什么? 先举一个日常例子,排队买饭。 排队买饭 大家按先来后到的顺序,在窗口前排队买饭,先到先得,买完之后走开,轮到下一位买,新来的人排在队尾,不能插队。 可见&#x…...

地弹与振铃

地弹(Ground Bounce)和振铃(Ringing)是数字电路中常见的信号完整性问题,两者都与高速开关和寄生参数有关,但表现形式和成因不同。以下是它们的对比及解决方法: 1. 地弹(Ground Bounc…...

单一职责原则(设计模式)

目录 问题: 定义: 解决: 方式 1:使用策略模式 示例:用户管理 方式 2:使用装饰者模式 示例:用户操作 方式 3:使用责任链模式 示例:用户操作链 总结 推荐 问题&a…...

蓝桥杯深秋的苹果

题目 当深秋的苹果树丰收时,村庄的居民们兴致勃勃地采摘着红彤彤的苹果。他们将采摘下来的 NN 个苹果排成了一排,形成了一个苹果序列 AA,第 ii 个苹果的甜度值为 AiAi​(1≤i≤N1≤i≤N)。 现在村民需要将苹果序列划…...

【网页视频背景闪烁问题分析与解决方案】

网页视频背景闪烁问题分析与解决方案 现象描述 在开发带有视频背景的网页时,我们遇到了一个棘手的问题:当用户滚动页面时,视频背景区域会出现明显的闪烁现象,具体表现为: 文字内容会突然变亮或变大视频背景会突然变…...

Server 6 ,VMware 解析,ESXi 与 Workstation 应用指南(VMware ESXi 与 VMware Workstation)

目录 前言 一、VMware公司介绍 二、主要产品和技术 2.1 服务器虚拟化 2.2 桌面虚拟化 2.3 网络虚拟化与安全 2.4 云管理平台 2.5 存储与可用性 三、VMware ESXi 3.1 ESXi 是什么“超级神器” 3.2 安装与网络配置如何掌握 3.3 访问与管理如何玩转 3.4 下载地址与官网…...

今天你学C++了吗?——string(上)

♥♥♥~~~~~~欢迎光临知星小度博客空间~~~~~~♥♥♥ ♥♥♥零星地变得优秀~也能拼凑出星河~♥♥♥ ♥♥♥我们一起努力成为更好的自己~♥♥♥ ♥♥♥如果这一篇博客对你有帮助~别忘了点赞分享哦~♥♥♥ ♥♥♥如果有什么问题可以评论区留言或者私信我哦~♥♥♥ ✨✨✨✨✨✨ 个…...

使用通义万相Wan2.1进行视频生成

使用通义万相Wan2.1进行视频生成 源代码准备运行环境准备创建Python虚拟环境并激活安装依赖包 模型下载生成视频官网的视频生成例子简单描述场景视频生成示例详细描述场景视频生成示例 最近通义万相开源了其视频生成模型。模型有两个版本,一个是1.3B的,一…...

Windows在多网络下指定上网接口

Windows在多网络下指定上网接口 一、说明 设备情况:win11,同时连接了有线网和WLAN,有线网连接着NAS必须保持连接。需求:有些情况时,有线网无网络而WLAN有网,但系统仍走着有线导致无法上网。 二、方法 过…...

前端正则表达式完全指南:从入门到实战

文章目录 第一章:正则表达式基础概念1.1 什么是正则表达式1.2 正则表达式工作原理1.3 基础示例演示 第二章:正则表达式核心语法2.1 元字符大全表2.2 量词系统详解2.3 字符集合与排除 第三章:前端常用正则模式3.1 表单验证类3.1.1 邮箱验证3.1…...

【愚公系列】《Python网络爬虫从入门到精通》038-SQLite数据库

标题详情作者简介愚公搬代码头衔华为云特约编辑,华为云云享专家,华为开发者专家,华为产品云测专家,CSDN博客专家,CSDN商业化专家,阿里云专家博主,阿里云签约作者,腾讯云优秀博主,腾讯云内容共创官,掘金优秀博主,亚马逊技领云博主,51CTO博客专家等。近期荣誉2022年度…...

npx degit 问题:could not fetch remote...

问题与处理策略 问题描述 npx degit dream-num/univer-sheet-start-kit univer-sheet-start-kit执行上述指令,报如下错误 ! could not fetch remote https://github.com/dream-num/univer-sheet-start-kit ! could not find commit hash for HEAD# 翻译无法获取远…...

空投与转账:Solana代币核心概念及代码实战精解

目录 1.空投和转账概念 1.1.空投(Airdrop) 1.2.转账(Transfer) 2.Solana 代币创建与空投核心代码总结 2.1. 代币创建核心代码 2.2. 添加元数据核心代码 2.3. 空投代币核心代码 3.效果图展示 1.空投和转账概念 1.1.空投(Airdrop) 创建新代币: 空投是铸造(Mint)新代币…...

Rust~tokio的AsyncRead

AsyncRead trait 定义 介绍 /// This trait is analogous to the [std::io::Read] trait, but integrates with /// the asynchronous task system. In particular, the [poll_read] method, /// unlike [Read::read], will automatically queue the current task for wakeup…...

NO.22十六届蓝桥杯备战|一维数组|七道练习|冒泡排序(C++)

B2093 查找特定的值 - 洛谷 题⽬要求下标是从0开始的,和数组的下标是吻合的,存放数据应该从下标0开始n的取值范围是1~10000数组中存放的值的绝对值不超10000,说明int类型就⾜够了找到了输出下标,找不到要输出-1,这⼀点…...

Linux下的网络通信编程

在不同主机之间,进行进程间的通信。 1解决主机之间硬件的互通 2.解决主机之间软件的互通. 3.IP地址:来区分不同的主机(软件地址) 4.MAC地址:硬件地址 5.端口号:区分同一主机上的不同应用进程 网络协议…...

【JavaWeb13】了解ES6的核心特性,对于提高JavaScript编程效率有哪些潜在影响?

文章目录 🌍一. ES6 新特性❄️1. ES6 基本介绍❄️2. 基本使用2.1 let 声明变量2.2 const 声明常量/只读变量2.3 解构赋值2.4 模板字符串2.5 对象拓展运算符2.6 箭头函数 🌍二. Promise❄️1. 基本使用❄️2. 如何解决回调地狱问题2.1回调地狱问题2.2 使…...

每日一题之屏蔽信号

问题描述 在与三体文明的对抗中,人类联邦探测到了两个重要的信号源,分别用非负整数 aa 和 bb 来表示。 为了抵御三体舰队的入侵,科学家们制定出一项关键策略——屏蔽信号,目标是要让 aa、bb 这两个信号源其中之一的数值归零。 在…...

TCP如何保证可靠性

目录 回顾TCP协议TCP报文头部 TCP如何保证可靠性?校验和序列号确认应答机制(ACK)超时重传机制连接管理机制(三次握手和四次挥手)流量控制滑动窗口滑动机制 拥塞控制慢开始 & 拥塞避免快重传 & 快恢复 回顾TCP协…...

HTTP协议深度解析:从Tomcat到HTTPS的全方位探索

目录 引言 一、Tomcat部署与Servlet容器 1.1 Tomcat部署流程 1.2 Tomcat与Servlet 二、HTTP协议的基础构成 2.1 URL 2.2 HTTP请求与响应 2.3 HTTP状态码 三、计算机网络与数据传输 3.1 局域网与路由器 3.2 IP地址与MAC地址 3.3 域名与DNS 四、HTTPS协议与数据加密…...

互联网医院实时数据监测智能分析系统设计概述(下)

阶段4:可视化仪表盘与用户界面开发 在这一阶段,我们将使用 Plotly Dash 来设计一个实时预测仪表盘,用于展示疾病传播趋势、医生评估信息等。我们还将实现实时数据更新与展示,确保数据能够及时反映系统中的变化。 1. 设计实时预测仪表盘 步骤 1:安装 Dash 依赖 首先,确…...

性能测试测试策略制定|知名软件测评机构经验分享

随着互联网产品的普及,产品面对的用户量级也越来越大,能抗住指数级增长的瞬间访问量以及交易量是保障购物体验是否顺畅的至关重要的一环,而我们的性能测试恰恰也是为此而存在的。 性能测试是什么呢?性能测试要怎么测呢&#xff1f…...

【AI+智造】在阿里云Ubuntu 24.04上部署DeepSeek R1 14B的完整方案

作者:Odoo技术开发/资深信息化负责人 日期:2025年2月28日 一、部署背景与目标 DeepSeek R1作为国产大语言模型的代表,凭借其强化学习驱动的推理能力,在复杂任务(如数学问题、编程逻辑)中表现优异。本地化部…...

蓝桥真题讲解

温馨提示:本系列文章非所有题都对对b组适用,b组的小伙伴请挑题看! 目录 第一题 题目链接 题目解析 代码原理 代码编写 本题总结 第二题 题目链接 题目解析 代码原理 代码编写 本题总结 第三题 题目链接 题目解析 代码原理 …...

javaweb将上传的图片保存在项目文件webapp下的upload文件夹下

前端HTML表单 (upload.html) 首先&#xff0c;创建一个HTML页面&#xff0c;允许用户选择并上传图片。 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><title>图片上传</title> </head> <…...

北京大学DeepSeek与AIGC应用(PDF无套路下载)

近年来&#xff0c;人工智能技术飞速发展&#xff0c;尤其是大模型和生成式AI&#xff08;AIGC&#xff09;的突破&#xff0c;正在重塑各行各业的生产方式与创新路径。 北京大学联合DeepSeek团队推出的内部研讨教程《DeepSeek与AIGC应用》&#xff0c;以通俗易懂的方式系统解…...

测量海拔以及两点间路程(十六)

一、DigitalEarthView.cpp void CDigitalEarthView::OnCheckCheliang() {isTestJu = !isTestJu;mOSG->isTestJu(isTestJu); } 二、OSGObject.cpp void COSGObject::isTestJu(bool isTest) {theApp.bNeedModify = TRUE;while(!theApp.bCanModify)Sleep(1);if(isTest){eh-&…...

Flutter状态管理框架GetX最新版详解与实践指南

一、GetX框架概述 GetX是Flutter生态中轻量级、高性能的全能开发框架&#xff0c;集成了状态管理、路由导航、依赖注入等核心功能&#xff0c;同时提供国际化、主题切换等实用工具。其优势在于代码简洁性&#xff08;减少模板代码约70%&#xff09;和高性能&#xff08;基于观…...

8. 示例:对32位数据总线实现位宽和值域覆盖

文章目录 前言示例一&#xff1a;示例二&#xff1a;示例三&#xff1a;仿真与覆盖率分析覆盖点详细说明覆盖率提升技巧常见错误排查 示例四&#xff1a;仿真步骤 前言 针对32位数据总线实现位宽和值域的覆盖&#xff0c;并且能够用xrun运行&#xff0c;查看日志和波形。cover…...

第6篇:面向对象编程重构系统

一、OOP重构目标 数据封装:隐藏实现细节​接口抽象:规范操作入口资源自治:实现自管理生命周期扩展基础:预留多态支持接口二、完全面向对象实现(完整代码) #include <iostream> #include <Windows.h> #include <li...

CTF-web: Rust 的过程宏

Rust 的过程宏&#xff08;Procedural Macros&#xff09;是一种强大的元编程工具&#xff0c;允许你在编译时对代码进行操作和生成。与属性宏和派生宏不同&#xff0c;过程宏可以接收并处理任意 Rust 代码&#xff0c;生成新的代码片段。这里有一个简单的例子来说明 Rust 的过…...

【Kubernetes】API server 限流 之 maxinflight.go

这个文件实现了一个基于信号量(Channel)的简单限流器。 基础知识 总共有四种channel 带缓冲的channel nonMutatingChan、mutatingChan 都是带缓冲的channel &#xff0c;这类channel 的特点是&#xff1a; 这允许最多 mutatingLimit /nonMutatingLimit 个请求同时获取令牌并执…...

phpstudy安装教程dvwa靶场搭建教程

GitHub - digininja/DVWA: Damn Vulnerable Web Application (DVWA) Dvwa下载地址 Windows版phpstudy下载 - 小皮面板(phpstudy) 小皮下载地址 1选择windows 版本&#xff0c;点击立即下载 下载完成&#xff0c;进行解压&#xff0c;注意不要有中文路径 点击.exe文件进行安装…...

React核心知识及使用场景

React是一个用于构建用户界面的JavaScript库,尤其适合构建单页面应用(SPA)。它基于组件化的开发思想,主要特点是通过虚拟DOM来提高渲染效率。以下是React的核心知识和使用场景: 一. 核心知识 组件化: 类组件和函数组件:React的组件分为类组件和函数组件。类组件通过继承…...