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

4-知识图谱的抽取与构建-4_2实体识别与分类

🌟 知识图谱的实体识别与分类🔥

🔍 什么是实体识别与分类?
实体识别(Entity Recognition)是从文本中提取出具体的事物,如人名、地名、组织名等。分类(Entity Classification)则是将这些实体归类到已知的类别中,比如“演员”可以分为“歌手”、“演员”、“运动员”等。它就像知识图谱的“骨架”,帮助我们更好地组织和理解信息。

💡 为什么重要?
1️⃣ 提升信息理解:通过识别和分类实体,我们能更清晰地理解文本内容,比如“苹果”可以是“水果”、“公司”或“产品”。
2️⃣ 知识图谱的基础:实体识别与分类是构建知识图谱的核心,帮助我们构建结构化的知识库。
3️⃣ 多领域应用:从医疗、教育到企业,实体识别与分类都能为实际场景提供支持。

🔥 如何实现?
1️⃣ 学习工具:云知豆豆、抽取王等知识图谱工具可以帮助你快速识别和分类实体。
2️⃣ 掌握技术:自然语言处理(NLP)技术如CRF、LSTM、BERT都能用来提升识别与分类的准确率。
3️⃣ 实践项目:尝试构建小型知识图谱,从简单的命名实体识别(NER)到复杂分类,一步步掌握技术。

💡 快速上手小技巧
1️⃣ 从基础开始:先掌握命名实体识别(NER),这是分类的基础。
2️⃣ 多实践:通过开源数据集(如CONLL2003)练习,积累经验。
3️⃣ 参考案例:学习医疗、教育领域的实际应用,了解不同场景的需求。

🌟 未来趋势
1️⃣ 智能化:深度学习将推动实体识别与分类更高效。
2️⃣ 个性化:根据用户需求定制分类结果。
3️⃣ 可视化:未来知识图谱将更加直观,用户能轻松理解结果。
4️⃣ 边缘计算:实体识别与分类将向边缘延伸,实时服务更 Close。

快来加入我们,一起探索知识图谱的奥秘!📚
#知识图谱 #实体识别 #分类 #自然语言处理 #深度学习 #学习指南


💡 你学会了吗? 【没有】
快快告诉我,你对知识图谱的实体识别与分类有没有了然于胸?
快来评论区和我互动,分享你的学习心得吧!💪


在这里插入图片描述

4-知识图谱的抽取与构建-4_2实体识别与分类任务

1. 实体识别与分类的定义

  • 实体识别(NER, Named Entity Recognition):从非结构化文本中定位并提取具有特定意义的实体(如人名、地名、机构名等)。
  • 实体分类(Entity Classification):将识别出的实体划分到预定义的语义类别中(如“人物”、“地点”、“时间”)。
    在这里插入图片描述

2. 核心要素

实体类型

  • 基础类型:PER(人物)、LOC(地点)、ORG(组织)、TIME(时间)、MONEY(货币)。
  • 扩展类型:产品名(PRODUCT)、疾病名(DISEASE)、法律条款(LAW)等。

标注体系

  • BIO:B-类别(实体开头)、I-类别(实体中间)、O(非实体)。
  • BIOES:B(开始)、I(中间)、E(结束)、S(单个实体)、O(非实体)。

技术方法

模板和规则方法

正则表达式、词典匹配(例如识别以“公司”结尾的机构名)。
在这里插入图片描述

基于序列标注的方法【机器学习算法】

序列标注的方法
在这里插入图片描述

1. 确定实体识别标签贴体系

在这里插入图片描述
标签体系越复杂,标注成本越高。人工标注
BIO,BIOS
###2. 模型【深度学习替代,但可以了解】

隐马尔可夫模型(HMM)

作用:实体识别: 训练模型:目的: 通过训练好的模型,自动给输入的句子打标签。了解这就行。算法搞不定。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
天书【算法】
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

条件随机场(CRF)

在这里插入图片描述
在这里插入图片描述

深度学习

在这里插入图片描述
在这里插入图片描述
这里视频图搞错了,从下往上训练。

在这里插入图片描述

在这里插入图片描述

BiLSTM+CRF 神经网络
基于预训练的语言模型

Transformer(如BERT)、预训练语言模型。
在这里插入图片描述
预训练模型,更能挖掘出数据中隐藏的信息。

实体识别解码策略

在这里插入图片描述

1. MLP SOftmax
2. CRF
3. RNN
4. Pointer Network 指针网络【这是个啥】

小结

在这里插入图片描述

评价指标
  • 精确率(Precision):正确识别的实体数 / 所有识别出的实体数。
  • 召回率(Recall):正确识别的实体数 / 所有真实存在的实体数。
  • F1值(F1-Score):2 * (Precision * Recall) / (Precision + Recall)。

二、通俗易懂的语言指导

1. 比喻理解

实体识别与分类就像“抓娃娃机游戏”

  1. 扫描句子 → 移动爪子(拆分句子为词语)。
  2. 锁定目标 → 瞄准娃娃(判断哪些词是实体)。
  3. 抓取分类 → 抓取后放进不同篮子(如“人名篮”、“地点篮”)。
2. 关键步骤
  • 分词:把句子拆成“零件”,例如“马斯克在上海建工厂” → 【马斯克/在/上海/建/工厂】。
  • 标注:给每个词贴标签,例如“马斯克→B-PER,上海→B-LOC”。
  • 模型训练:教AI学会标注规则(如用BERT模型)。

三、通俗案例演示

任务:从句子中提取实体并分类

句子
“2023年12月25日,苹果公司CEO蒂姆·库克宣布,将在加州投资5亿美元建设新总部。”

步骤分解

  1. 分词与标注(BIO格式)

    • 2023年12月25日 → B-TIME
    • 苹果公司 → B-ORG
    • CEO → O
    • 蒂姆·库克 → B-PER
    • 加州 → B-LOC
    • 5亿美元 → B-MONEY
  2. 分类结果

    • 时间:2023年12月25日
    • 组织:苹果公司
    • 人物:蒂姆·库克
    • 地点:加州
    • 货币:5亿美元

四、定制练习任务(巩固知识点)

任务1:BIO标注实战

句子
“腾讯的创始人马化腾在深圳宣布,2024年将向元宇宙领域投入100亿元人民币。”
要求
标注实体类别(PER, ORG, LOC, TIME, MONEY),使用BIO标签。

点击查看参考答案
  • 腾讯 → B-ORG
  • 创始人 → O
  • 马化腾 → B-PER
  • 深圳 → B-LOC
  • 2024年 → B-TIME
  • 100亿元人民币 → B-MONEY

任务2:模型调用与结果分析
  1. 安装工具:使用Hugging Face的transformers库。

    pip install transformers
    
  2. 运行代码

    from transformers import pipelinener_model = pipeline("ner", model="dslim/bert-base-NER")
    text = "Microsoft announced a new office in Tokyo on March 15, 2024."
    results = ner_model(text)for entity in results:print(f"{entity['word']}{entity['entity']}")
    
  3. 观察输出

    • 检查“Microsoft”是否被识别为组织(ORG),“Tokyo”是否为地点(LOC)。
    • 思考:模型是否漏掉了“March 15, 2024”中的时间实体?

任务3:实际应用与错误分析

场景:你正在开发一个财经新闻分析工具,需提取公司名、人名、金额。
要求

  1. 写一段包含歧义实体的句子,例如:
    “苹果股价昨日上涨5%,库克表示将在苹果园区召开发布会。”
    (注:“苹果”可能是公司名或水果,“库克”是人名,“苹果园区”是地点)

  2. 手动标注:尝试用BIO标签标注上述句子。

  3. 使用工具验证

    • spaCy或Hugging Face模型运行句子,观察工具是否准确分类“苹果”。
    • 分析错误:为什么模型可能将“苹果园区”中的“苹果”误判为公司名?

五、总结

  • 核心逻辑:拆分句子 → 判断实体 → 分类标签 → 模型自动化。
  • 学习重点
    • 掌握BIO标注规则
    • 熟悉工具(如spaCy、BERT)
    • 理解上下文对分类的影响(如“苹果”在不同句子中的含义)
  • 进阶方向
    • 尝试训练自定义NER模型(如用Hugging Face的Trainer)。
    • 学习处理嵌套实体(如“北京大学第三医院”中的“北京大学”和“第三医院”)。

如果有代码报错或概念疑问,欢迎随时提问! 🚀

相关文章:

4-知识图谱的抽取与构建-4_2实体识别与分类

🌟 知识图谱的实体识别与分类🔥 🔍 什么是实体识别与分类? 实体识别(Entity Recognition)是从文本中提取出具体的事物,如人名、地名、组织名等。分类(Entity Classification&#x…...

腾讯云大模型知识引擎×DeepSeek赋能文旅

腾讯云大模型知识引擎DeepSeek赋能文旅 ——以合肥文旅为例的技术革新与实践路径 一、技术底座:知识引擎与DeepSeek的融合逻辑 腾讯云大模型知识引擎与DeepSeek模型的结合,本质上是**“知识库检索增强生成(RAG)实时联网能力”**…...

TMDS视频编解码算法

因为使用的是DDR进行传输,即双倍频率采样,故时钟只用是并行数据数据的5倍,而不是10倍。 TMDS算法流程: 视频编码TMDS算法流程实现: timescale 1 ps / 1ps //DVI编码通常用于视频传输,将并行数据转换为适合…...

C++程序员内功修炼——Linux C/C++编程技术汇总

在软件开发的宏大版图中,C 语言宛如一座巍峨的高山,吸引着无数开发者攀登探索。而 Linux 操作系统,以其开源、稳定、高效的特性,成为了众多开发者钟爱的开发平台。将 C 与 Linux 相结合,就如同为开发者配备了一把无坚不…...

【数据结构】链表中快指针和慢指针

目录 一、找出并返回链表的中间结点 二、输出链表中倒数第k个结点 三、判断链表中是否有环 四、两个单链表相交 一、找出并返回链表的中间结点 给你单链表的头结点 head ,请你找出并返回链表的中间结点。如果有两个中间结点,则返回第二个中间结点。 要求:只遍历…...

6_zookeeper集群配置

配置 一、配置myid文件 # 进入解压好的文件夹下面 touch myid vim myid # master节点写0,slave1节点写1,slave2节点写2二、配置zoo.cfg文件 1.在master节点编辑zookeeper配置文件 # 进入解压好的文件夹下面 cd conf/ cp zoo_sample.cfg zoo.cfg vim …...

Docker核心概念

容器介绍 Docker 是世界领先的软件容器平台,所以想要搞懂 Docker 的概念我们必须先从容器开始说起。 什么是容器? 先来看看容器较为官方的解释 一句话概括容器:容器就是将软件打包成标准化单元,以用于开发、交付和部署。 容器镜像是轻量…...

LD_PRELOAD 绕过 disable_function 学习

借助这位师傅的文章来学习通过LD_PRELOAD来绕过disable_function的原理 【PHP绕过】LD_PRELOAD bypass disable_functions_phpid绕过-CSDN博客 感谢这位师傅的贡献 介绍 静态链接: (1)举个情景来帮助理解: 假设你要搬家&#x…...

如何用JAVA实现布隆过滤器?

目录 引言 布隆过滤器的原理 1. 核心思想 2. 优缺点 布隆过滤器的使用场景 Java 实现布隆过滤器 1. 实现步骤 2. 代码实现 3. 代码说明 4. 测试结果 布隆过滤器的优化 总结 引言 布隆过滤器(Bloom Filter)是一种高效的概率数据结构&#xff0…...

游戏开发 游戏开始界面

目录 前言 一 游戏初始化界面的分析 二 游戏的大概框架 三 显示界面的开发 四 完整代码 总结 我们可以来看看游戏初始界面是什么样的 勇士游戏样例 前言 这里是开发游戏的初始界面 一 游戏初始化界面的分析 我们需要一个背景图,开始游戏图标&#xff0…...

Python解析 Flink Job 依赖的checkpoint 路径

引言 Apache Flink 是一个强大的分布式处理框架,广泛用于批处理和流处理任务。其 checkpoint 机制是确保容错的关键功能,允许在计算过程中保存状态,以便在故障时从最近的 checkpoint 恢复。本文详细探讨了一个 Python 脚本,该脚本…...

Javascript网页设计案例:通过PDFLib实现一款PDF分割工具,分割方式自定义-完整源代码,开箱即用

功能预览 一、工具简介 PDF 分割工具支持以下核心功能: 拖放或上传 PDF 文件:用户可以通过拖放或点击上传 PDF 文件。两种分割模式: 指定范围:用户可以指定起始页和结束页,提取特定范围的内容。固定间距:用户可以设置间隔页数(例如每 5 页分割一次),工具会自动完成分…...

计算机视觉算法实战——产品分拣(主页有源码)

✨个人主页欢迎您的访问 ✨期待您的三连 ✨ ✨个人主页欢迎您的访问 ✨期待您的三连 ✨ ✨个人主页欢迎您的访问 ✨期待您的三连✨ ​ 1. 领域简介✨✨ 产品分拣是工业自动化和物流领域的核心技术,旨在通过机器视觉系统对传送带上的物品进行快速识别、定位和分类&a…...

汽车软件︱AUTO TECH China 2025 广州国际汽车软件与安全技术展览会:开启汽车科技新时代

在汽车产业智能化与网联化飞速发展的当下,汽车软件与安全技术已然成为行业变革的核心驱动力。2025年11月20 - 22日,AUTO TECH China 2025 广州国际汽车软件与安全技术展览会将在广州保利世贸博览馆盛大开幕,这场展会将汇聚行业前沿成果&#…...

Visual Studio打开文件后,中文变乱码的解决方案

文件加载 使用Unicode(UTF-8)编码加载文件 C:\WorkSpace\Assets\Scripts\UI\View\ExecuteComplateView.cs时,有些字节已用Unicode替换字符替换。保存该文件将不会保留原始文件内容。...

Python爬虫selenium验证-中文识别点选+图片验证码案例

1.获取图片 import re import time import ddddocr import requests from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.chrome.service import Service from selenium.webdriver.support.wait import WebDriverWait from …...

MySQL后端返回给前端的时间变了(时区问题)

问题:MySQL里的时间例如为2025-01-10 21:19:30,但是返回到前端就变成了2025-01-10 13:19:30,会出现小时不一样或日期变成隔日的问题 一般来说设计字段时会使用datetime字段类型,这是一种用于时间的字段类型,而这个类型…...

计算机毕业设计Hadoop+Spark+DeepSeek-R1大模型民宿推荐系统 hive民宿可视化 民宿爬虫 大数据毕业设计(源码+文档+PPT+讲解)

温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…...

前端性能优化面试题及参考答案

目录 如何通过合并文件减少 HTTP 请求次数? 列举 CDN 加速的适用场景与实现原理。 如何利用 HTTP/2 的多路复用特性优化资源加载? 描述 DNS 预解析的实现方式及其对性能的影响。 异步加载脚本时,async 与 defer 属性的区别是什么? 如何优化 AJAX 请求的并发数与优先级…...

【NLP 37、激活函数 ③ relu激活函数】

—— 25.2.23 ReLU广泛应用于卷积神经网络(CNN)和全连接网络,尤其在图像分类(如ImageNet)、语音识别等领域表现优异。其高效性和非线性特性使其成为深度学习默认激活函数的首选 一、定义与数学表达式 ReLU&#xff0…...

变量 varablie 声明- Rust 变量 let mut 声明与 C/C++ 变量声明对比分析

一、变量声明设计:let 与 mut 的哲学解析 Rust 采用 let 声明变量并通过 mut 显式标记可变性,这种设计体现了语言的核心哲学。以下是深度解析: 1.1 设计理念剖析 安全优先原则:默认不可变强制开发者明确声明意图 let x 5; …...

React Native 开发环境搭建(全平台详解)

React Native 开发环境搭建(全平台详解) 在开始使用 React Native 开发移动应用之前,正确设置开发环境是至关重要的一步。本文将为你提供一份全面的指南,涵盖 macOS 和 Windows 平台的配置步骤,如何在 Android 和 iOS…...

CMake基础:构建流程详解

目录 1.CMake构建过程的基本流程 2.CMake构建的具体步骤 2.1.创建构建目录 2.2.使用 CMake 生成构建文件 2.3.编译和构建 2.4.清理构建文件 2.5.重新配置和构建 3.跨平台构建示例 4.工具链与交叉编译 5.CMake构建后的项目结构解析 5.1.CMake构建后的目录结构 5.2.构…...

1688商品列表API与其他数据源的对接思路

将1688商品列表API与其他数据源对接时,需结合业务场景设计数据流转链路,重点关注数据格式兼容性、接口调用频率控制及数据一致性维护。以下是具体对接思路及关键技术点: 一、核心对接场景与目标 商品数据同步 场景:将1688商品信息…...

leetcodeSQL解题:3564. 季节性销售分析

leetcodeSQL解题:3564. 季节性销售分析 题目: 表:sales ---------------------- | Column Name | Type | ---------------------- | sale_id | int | | product_id | int | | sale_date | date | | quantity | int | | price | decimal | -…...

云原生玩法三问:构建自定义开发环境

云原生玩法三问:构建自定义开发环境 引言 临时运维一个古董项目,无文档,无环境,无交接人,俗称三无。 运行设备的环境老,本地环境版本高,ssh不过去。正好最近对 腾讯出品的云原生 cnb 感兴趣&…...

从面试角度回答Android中ContentProvider启动原理

Android中ContentProvider原理的面试角度解析,分为​​已启动​​和​​未启动​​两种场景: 一、ContentProvider已启动的情况 1. ​​核心流程​​ ​​触发条件​​:当其他组件(如Activity、Service)通过ContentR…...

Spring AI Chat Memory 实战指南:Local 与 JDBC 存储集成

一个面向 Java 开发者的 Sring-Ai 示例工程项目,该项目是一个 Spring AI 快速入门的样例工程项目,旨在通过一些小的案例展示 Spring AI 框架的核心功能和使用方法。 项目采用模块化设计,每个模块都专注于特定的功能领域,便于学习和…...

学习一下用鸿蒙​​DevEco Studio HarmonyOS5实现百度地图

在鸿蒙(HarmonyOS5)中集成百度地图,可以通过以下步骤和技术方案实现。结合鸿蒙的分布式能力和百度地图的API,可以构建跨设备的定位、导航和地图展示功能。 ​​1. 鸿蒙环境准备​​ ​​开发工具​​:下载安装 ​​De…...

MFE(微前端) Module Federation:Webpack.config.js文件中每个属性的含义解释

以Module Federation 插件详为例,Webpack.config.js它可能的配置和含义如下: 前言 Module Federation 的Webpack.config.js核心配置包括: name filename(定义应用标识) remotes(引用远程模块&#xff0…...