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

自然语言处理

自然语言处理基础

什么是自然语言处理:让计算机来理解人类所说的一种语言。自然语言处理实际就是让计算机理解人类说的话,然后像人一样进行交互,去进行对话,去生成自然语言。

自然语言处理的基本任务

  1. 词性标注:把给定的一句话中的每一个词的词性给标注出来;
  2. 命名实体的识别:进一步识别出这句话里面那些名词里面还有哪些是具体的指的是我们现实世界中的一些实体,比如一些人名、地名、机构名等等;
  3. 共指消解:自然语言中会出现一种非常普遍的现象,例如前面提到的一些命名实体,在后面我们会使用一些代词来指代。因此我们要知道一句话中的代词和前面的哪一个命名实体指向的是现实世界中的同一个实体;
  4. 依存关系:句子中的主谓宾等这些成分互相之间的依存关系;

除了这些,还会有一些和语言相关的任务,例如我们的中文和英文有很大的区别就是中文里面的词和词之间是没有空格的。这个让计算机去理解和处理的时候,首先就是要把这些词给区分出来,所以在中文的世界里面会有一个专门的自然语言处理任务叫中文的自动分词,就是如何去把中文里面的一句话他的词和词之间的空格给标注出来。

自然语言处理运用

  • 搜索引擎和在线广告
  • 知识图谱
  • 智能音响等智能助手
  • 机器翻译
  • 情感分析
  • 跟社会科学进行交叉

词表示与语言模型

NLP Basics Distributed Word Representation

词表示就是我们要把自然语言处理中最基本的语言单位——词,把他转换为机器可以理解的一个词的意思;

基于词的表示让计算机来做目标有两个:

  1. 词和词之间的相似度计算
  2. 发现词和词之间语义的一些关系

对于计算机来讲,最常用的一种表示方式:

One-Hot Representation

把每一个词表示成每一个独立的符号;

这种词表示方式用来表示文档的时候非常有效,可以较好的完成两个文档互相之间的相似计算;

但是这种方式在表示词的时候也会出现一些问题,因为它会假设词与词之间的向量互相之间都是正交的,从而导致任意两个词之间去进行这个相似度计算都是零。

为了进一步改进这个问题,在自然语言处理中提出了文中的一个词它的词义实际上是跟它经常出现在的那个位置的上下文有密切的关系。即利用这个词的上下文的一些词来表示这个词。

利用这种方式,我们可以也是用一个向量,这个向量的长度和vocabulary一样,但是里面的每一维它表示的是这个词的上下文到底它出现了多少次,或者出现的重要性如何。这样,任何一个词都可以用它上下文出现的频度或者重要性来表示。实际这样就得到了关于每一个词的一个稠密的向量。然后在一个空间里面去利用这个稠密的向量去算出两个词之间的相似度。

但这种表示还存在问题:当词表变得越来越大的时候,存储的需求就会变得很大;而且对于那些出现频度特别少的词,整个的向量上下文就会特别少,则这个语境的词会很稀疏,导致这个词表示的效果不好。

针对这个问题,深度学习(大模型)这一派所做的工作就是所谓的Word Embedding。他的基本思路就是我们所谓提出来的这种分布式的表示。也就是说我们要去建立起一个低维的一个稠密的向量空间,然后尝试着把每一个词都学到这个空间里面,用这个空间里面的某一个位置所对应的那个向量来表示这个词。那么在这个空间里面,我们就可以自动的学习出来。这样前面我们所需求的利用词表示去计算词和词之间的信任度,去计算词和词之间的相关的这种关系,都可以用这种低维的向量进行完成。而这种低维向量可以利用大规模的数据自动去学习的。

而在这个方面的一个非常代表性的工作就是叫Word2Vec。

语言模型(Language Model)

语言模型实际上就是要去有能力根据前文去预测下一个词到底是什么,这是一个非常重要的语言能力。

语言模型主要是完成两个工作:

  • 能够完成去计算一个序列的词,它成为一句话的概率为多少;
  • 根据前面已经说过的的这些话预测下一个词是啥;

如何完成上面的两个工作:

首先过去有个基本的假设(语言模型的基本假设),即一个未来的词只会受到它前面词的影响,也就是后面产生的词他的概率到底为多少只受到前面的影响。所以可以把一个句子的联合概率拆解为一个一个的条件概率。

所以语言模型他的整个写法就会变成一个句子的联合概率只要等于它里面的每一个词基于它前面的已经出现的词的条件概率之积。

那如何去进行语言模型的构建:

深度学习出现之前:

N-Gram Model

只考虑相邻之间的词来计算:

其实就是在一个大规模的数据里面去统计连续出现的序列他的频度,然后利用这个频度估计出这个前面的词和后面的词出现的概率。

N-Gram这种模型大致遵循Markov假设:

这种模型存在的问题:

  • 若N越大会导致统计的结果会非常的稀疏,且N越大要存储的量也就越大;则这种模型兴盛的时候N一般为2或者3;
  • 这种模型背后实际还是一个典型的One-Hot Representation,它会假设所有的词都互相独立,所以它做统计的时候上下文其实都是基于符号来去做统计,他是没有办法去理解这些词互相之间的相似度造成什么。

Neural Language Model

这种模型就是用刚刚所提到的分布式的表示,然后去构建这种前文和当前词的预测条件概率。

具体实现:

所有的预测都是基于神经网络的可调的可学的参数来完成,所以就可以利用大规模的数据来自动学习这些词的向量,自动的学习到底上下文的这个向量和这个当前词到底是怎么去进行,他们之间的神经网络的权重到底是什么。

大模型基础

在18年预训练语言模型出来以后,大家慢慢的把预训练语言模型作为我们解决NLP的几个基础的工具。

大模型在另一个方面在于它其实具有很强的小样本或者少次学习的能力。深度学习需要大量的标注数据,然后去学这个模型。通过看到很多样本之后,能够产生很好的模型性能,这个是需要大量的标注数据做支撑。但GPT3让我们看到了另一面,即可以在大规模无标注数据上进行模型学习,学完之后让这个模型具备很多知识,然后在解决具体任务的时候,就不太需要很多的样本,只要少量的样本告诉模型需要做什么任务,以及引导模型把他的知识跟这个任务相关的知识给摘取出来去解决具体的实际问题就可以做的很好,比如机器翻译。

大模型背后的范式

对于预训练语言模型来说,他的很核心的东西是它会从无标注的数据中去进行学习,然后通过一些自监督的任务去做预训练,从中得到一些丰富的知识。在具体应用的时候,会引入一些任务相关的一些数据,然后去调整模型。相当于在这个已经预训练好的模型上,引入任务相关的数据,这些任务相关数据可以帮助我们对具体的任务进行一些适配。

换句话说,就是预训练阶段我们会获取大量的知识,这些知识是一些通用的知识,它可以解决各种各样的问题。但是对于要解决的具体的任务的话,不一定所有知识都是适用的,所以要结合任务特定的数据,去对他整个参数进行微调,最终保留那些对任务相关的知识。而对于那些跟任务不相关的知识就可以抛掉,最终可以得到一个可以解决具体任务的模型,它能够在下游任务上表现的很好。

编程准备

做深度学习,尤其是大模型方面的研究,肯定要和Linux的服务器打交道,了解以下内容:

相关文章:

自然语言处理

自然语言处理基础 什么是自然语言处理:让计算机来理解人类所说的一种语言。自然语言处理实际就是让计算机理解人类说的话,然后像人一样进行交互,去进行对话,去生成自然语言。 自然语言处理的基本任务 词性标注:把给…...

LeetCode刷题常见的Java排序

1. 字符串排序(字母排序) 首先,你的代码实现了根据字母表顺序对字符串中的字母进行排序,忽略了大小写并且保留了非字母字符的位置。关键点是: 提取和排序字母:通过 Character.isLetter() 判断是否为字母,并利用 Character.toLowerCase() 来忽略大小写进行排序。保留非字…...

# 利用OpenCV和Dlib实现疲劳检测:守护安全与专注

利用OpenCV和Dlib实现疲劳检测:守护安全与专注 在当今快节奏的生活中,疲劳和注意力不集中是许多人面临的常见问题,尤其是在驾驶、学习等需要高度集中精力的场景中。疲劳不仅影响个人的健康和安全,还可能导致严重的事故。为了应对…...

python基础-16-处理csv文件和json数据

文章目录 【README】【16】处理csv文件和json数据【16.1】csv模块【16.1.1】reader对象【16.1.2】在for循环中, 从reader对象读取数据【16.1.3】writer对象【16.1.5】DictReader与DictWriter对象 【16.4】json模块【16.4.1】使用loads()函数读取json字符串并转为jso…...

Mysql 数据库编程技术01

一、数据库基础 1.1 认识数据库 为什么学习数据库 瞬时数据:比如内存中的数据,是不能永久保存的。持久化数据:比如持久化至数据库中或者文档中,能够长久保存。 数据库是“按照数据结构来组织、存储和管理数据的仓库”。是一个长…...

基于SSM的车辆管理系统的设计与实现(代码+数据库+LW)

摘要 当下,正处于信息化的时代,许多行业顺应时代的变化,结合使用计算机技术向数字化、信息化建设迈进。以前企业对于车辆信息的管理和控制,采用人工登记的方式保存相关数据,这种以人力为主的管理模式已然落后。本人结…...

BugKu Simple_SSTI_2

这个题很简单,主要是记录一下,做题的原理: 打开环境,提示我们用flag传参,然后我们需要判断是什么模板: 这里有一张图片,可以帮助我们轻松判断是什么模板类型:这个图片找不到出处了&…...

浙考!【触发器逻辑方程推导(电位运算)】

RS触发器是浙江高考通用技术一大考点。“对角线原则”、“置1置0”、“保持”、“不使用”、“记忆功能”…经常让考生云里雾里,非常反直觉。 这篇文章,我想以高中生的视角诠释一下触发器。 1、触发器逻辑方程推导(以或非门触发器为例&…...

二叉树的前序中序后序遍历

一、前序遍历 144. Binary Tree Preorder Traversal 递归代码实现: /*** Definition for a binary tree node.* struct TreeNode {* int val;* TreeNode *left;* TreeNode *right;* TreeNode() : val(0), left(nullptr), right(nullptr) {}* …...

es中节点类型有哪些

Elasticsearch 节点类型有哪些 在 Elasticsearch 中,节点类型(或角色)定义了每个节点在集群中的职责。不同版本的 Elasticsearch 对节点角色的定义和管理方式有所不同,尤其在 7.9.0 版本引入 node.roles 后,配置方式更…...

【学习笔记】深度学习环境部署相关

文章目录 [AI硬件科普] 内存/显存带宽,从 NVIDIA 到苹果 M4[工具使用] tmux 会话管理及会话持久性[A100 02] GPU 服务器压力测试,gpu burn,cpu burn,cuda samples[A100 01] A100 服务器开箱,超微平台,gpu、…...

游戏引擎学习第206天

回顾并为当天的工作定下目标 接着回顾了前一天的进展。之前我们做了一些调试功能,并且已经完成了一些基础的工作,但是还有一些功能需要继续完善。其中一个目标是能够展示实体数据,以便在开发游戏逻辑系统时,可以清晰地查看和检查…...

Rust所有权详解

文章目录 Rust所有权所有权规则作用域 内存和分配移动与克隆栈空间堆空间 关于函数的所有权机制作为参数作为返回值 引用与租借垂悬引用 Rust所有权 C/C中我们对于堆内存通常需要自己手动管理,手动申请和释放,即便有了智能指针,对于效率的影…...

贪心算法的使用条件

1. 算法原理 贪心算法是一种在每一步选择中都采取当前状态下最优(局部最优)的策略,从而希望最终得到全局最优解的算法。其核心思想是:“目光短浅” 地选择当前最优解,不回溯、不瞻前顾后。 示例:活动选择问…...

网络性能优化参数关系解读 | TCP Nagle / TCP_NODELAY / TCP_QUICKACK / TCP_CORK

注:本文为 “网路性能优化” 相关文章合辑。 未整理去重。 如有内容异常,请看原文。 TCP_NODELAY 详解 lenky0401 发表于 2012-08-25 16:40 在网络拥塞控制领域,Nagle 算法(Nagle algorithm)是一个非常著名的算法&…...

《打破SQL与AI框架对接壁垒,解锁融合新路径》

在当今科技飞速发展的浪潮中,SQL作为管理和处理关系型数据的经典语言,与代表前沿技术的人工智能框架之间的融合,正逐渐成为推动数据驱动型应用发展的重要力量。这种融合所带来的接口实现,不仅是技术上的突破,更是为众多…...

虚拟Ashx页面,在WEB.CONFIG中不添加handlers如何运行

https://localhost:44311/webapi.ashx 虚拟ASHX页面,在WEB.CONFIG中添加handlers,如何不添加节点,直接运行?把页面直接保存ASHX名称?现在是.VB 如果你不想通过在 web.config 里添加 handlers 节点来配置处理程序,而是直接让 .as…...

【ssrf漏洞waf绕过】

SSRF绕过方法 SSRF对于防御方式(waf)绕过方法 SSRF攻击内网的redis 题目一 基于java 的一个 WEBLOGIC 框架 首先我们要知道它内网有什么服务,我们正常给8888端口发送请求是能接受到的,那么我们把8888端口给关闭了,再次请求发现后有一个错误…...

BEVFormer v2(CVPR2023)

文章目录 AbstractIntroductionRelated WorksBEV 3D Object DetectorAuxiliary Loss in Camera 3D Object DetectionTwo-stage 3D Object Detector BEVFormer v2Overall ArchitecturePerspective SupervisionPerspective LossRavamped Temporal EncoderTwo-stage BEV DetectorD…...

车载通信架构 --- AUTOSAR 网络管理

我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 周末洗了一个澡,换了一身衣服,出了门却不知道去哪儿,不知道去找谁,漫无目的走着,大概这就是成年人最深的孤独吧! 旧人不知我近况,新人不知我过…...

STM32单片机入门学习——第16节: [6-4] PWM驱动LED呼吸灯PWM驱动舵机PWM驱动直流电机

写这个文章是用来学习的,记录一下我的学习过程。希望我能一直坚持下去,我只是一个小白,只是想好好学习,我知道这会很难,但我还是想去做! 本文写于:2025.04.05 STM32开发板学习——第16节: [6-4] PWM驱动LED呼吸灯&PWM驱动舵机&PWM驱…...

RoMo: Robust Motion Segmentation Improves Structure from Motion

前言 看起来像是一篇投稿CVPR的文章,不知道被哪个瞎眼审稿人拒了。同期还有一篇CVPR被接收的工作Segment Any Motion in Videos,看起来不如这篇直白(也可能是因为我先看过spotlesssplats的缘故),后面也应该一并介绍了…...

【AI编程学习之Python】第五天:Python的变量和常量

对象 Python中一切变量的值皆为对象。每个对象由:标识(identity)、类型(type)、value(值)组成。 标识用于唯一标识对象,通常对应于对象在计算机内存中的地址。使用内置函数id(obj)可返回对象obj的标识。 类型用于表示对象存储的“数据”的类型。类型可以限制对象的取值范围以…...

经典算法 约数之和

原题目链接 问题描述 假设现在有两个自然数 A 和 B,设 S 为 A^B 的所有约数之和。 请你计算:S mod 9901 的值。 输入格式 在一行中输入两个用空格隔开的整数 A 和 B。 输出格式 输出一个整数,表示 S mod 9901 的值。 数据范围 0 ≤ A, …...

zookeeper基本概念和核心作用

图片来源: 02-Zookeeper概念_哔哩哔哩_bilibili02-Zookeeper概念是黑马程序员Zookeeper视频教程,快速入门zookeeper技术的第2集视频,该合集共计24集,视频收藏或关注UP主,及时了解更多相关视频内容。https://www.bilib…...

蓝桥杯嵌入式客观题二

十四届模拟一 1. 2.串口通信是一种传输线按位数据顺序传输方式 3.USART_SR是属于STM32微控制器USART的状态寄存器。 4.STM32G431RBT6是32位的ARM微控制器 ARM处理器是英国ARM公司设计的一种低功耗RISC微处理器 5.中断配置‌EXTI->FTSR(下降沿触发选择寄存器…...

第一章:服务架构演进史_《凤凰架构:构建可靠的大型分布式系统》_Notes

第一章 服务架构演进史 1. 原始分布式时代(1970s-1980s) 核心问题:如何用不可靠的硬件构建可靠的大规模系统? 关键知识点: 技术背景: 硬件限制:微型计算机性能低下(如Intel 8086处…...

BUUCTF-web刷题篇(13)

22.NiZhuanSiWei 分析:有三个参数需要以get方式传入,发现有file_get_contents(),所以要使用php伪代码,preg_match("/flag/",$file)说明正则匹配不能含有flag,同时还有反序列化,存在漏洞。 已知前…...

7-9 趣味游戏

题目解析 在某个学校的趣味游戏活动中,N 名同学站成一排,他们的年龄恰好是 1 到 N ,需要注意的是他们并不是按照年龄的大小排列的,而是随机排列的。 游戏的规则是请同学们快速计算出,如果在这 N 名同学的小组中&…...

用 Python 制作仓库自动化指南

1. 环境准备 Python 3.x pip (Python 包管理工具) 文本编辑器或 IDE (如 VS Code、PyCharm) 2. 安装依赖库 pandas: 数据处理 openpyxl: Excel 文件操作 sqlite3: SQLite 数据库交互 smtplib: 邮件发送 bash pip install pandas openpyxl sqlite3 smtplib 3. 功能实现…...

Johnson算法——两阶段流水线调度的最优解法

前言:写这个题目的时候感觉就是说任务a的时候是一定需要的,无法避免,怎么才能节约时间呢,就是进行任务a时候也进行任务b 第一个进行的任务a肯定时间越短越好,因为这样b的等待时间越短 最后一个进行的任务b的时候越短越…...

反向查询详解以Django为例

以下给出两张表格 class User(AbstractUser):mobilemodels.CharField(max_length11,default0,uniqueTrue,verbose_name手机号)email_activemodels.BooleanField(defaultFalse,verbose_name邮箱验证状态)default_address models.ForeignKey(Address, related_nameusers, nullT…...

PDP动物性格测试:趣味性格分析工具

PDP动物性格测试:趣味性格分析工具 📝 简介 大家好!今天我想向大家推荐一个有趣且实用的在线工具 —— PDP动物性格测试。这是一个基于PDP(Process Dynamic Pattern)理论的性格测试工具,通过将性格特征与…...

蓝桥杯 完全平方数 刷题笔记

关键分析 --- ### **完全平方数的质因数指数特性** **核心结论**&#xff1a; 一个数是完全平方数&#xff0c;当且仅当它的所有质因数的指数均为偶数。 --- #include <bits/stdc.h> using namespace std; #define int long long int n;signed main(){cin >>…...

C++自学笔记---数组和指针的异同点

数组和指针的异同点 0. 复习一下&#xff1a;指针运算符 * 和 & 我们前两篇有讲过这两个运算符&#xff0c;& 是取地址运算符&#xff0c;* 是解引用运算符。这两个运算符是理解指针的关键&#xff0c;因为它们分别代表了获取变量地址和访问指针指向的值这两个基本操…...

【学习笔记】pytorch强化学习

https://www.bilibili.com/video/BV1zC411h7B8 文章目录 [mcts] 01 mcts 基本概念基本原理&#xff08;UCB&#xff09;及两个示例[mcts] 02 mcts from scartch&#xff08;UCTNode&#xff0c;uct_search, pUCT&#xff0c;树的可视化&#xff09; [mcts] 01 mcts 基本概念基本…...

C++学习之线程同步

目录 1.线程同步相关概念 2.锁属性-建议锁 3.Mutex互斥锁操作 4.互斥锁使用注意事项 5.互斥量的初始化方法 6.死锁 7.读写锁特性 8.读写锁操作函数 9.读写锁使用示例 10.条件变量操作函数 11.生产者消费者模型简单分析 12.条件变量实现生产者消费者模型代码预览 13…...

定积分的应用(4.39-4.48)

battle cry 前言4.394.404.414.424.434.444.454.464.474.48 前言 题目确实比较多。slow down and take your time. 4.39 狂算了一遍&#xff0c;然后发现不是计算出问题了&#xff0c;是积分上下限写错了。还有把函数代进去也出了一点问题。 点火公式一家人我不记得&#x…...

Java EE期末总结(第三章)

目录 一、JavaBean 1、规范与定义 2、与JavaBean相关的JSP动作标签 二、MV开发模式&#xff08;JSPJavaBean&#xff09; 三、Servlet组件 1、Servlet定义 2、基于HTTP请求的Servlet开发 3、Sevlet执行原理 4、控制器程序的分层设计&#xff08;DAO&#xff09;模式 5、…...

Data_Socket和UDP_Socket

Data_Socket 和 UDP_Socket 是两种不同类型的网络套接字&#xff0c;它们用于不同的协议和应用场景。以下是它们的主要区别&#xff1a; 协议类型&#xff1a; UDP_Socket&#xff1a;使用的是 UDP&#xff08;User Datagram Protocol&#xff09; 协议&#xff0c;这是一种无连…...

6547网:蓝桥STEMA考试 Scratch 试卷(2025年3月)

『STEMA考试是蓝桥青少教育理念的一部分&#xff0c;旨在培养学生的知识广度和独立思考能力。考试内容主要考察学生的未来STEM素养、计算思维能力和创意编程实践能力。』 一、选择题 第一题 运行下列哪个程序后&#xff0c;飞机会向左移动&#xff1f; ( ) A. …...

使用MATIO库读取Matlab数据文件中的多维数组

使用MATIO库读取Matlab数据文件中的多维数组 MATIO是一个用于读写Matlab数据文件(.mat)的开源C库。下面是一个完整的示例程序&#xff0c;展示如何使用MATIO库读取Matlab数据文件中的多维数组。 示例程序 #include <stdio.h> #include <stdlib.h> #include <…...

Spring @Transactional 注解是如何工作的?

Transactional 注解是 Spring 框架中用于声明式事务管理的核心注解。它可以应用于类或方法&#xff0c;用于指定事务的属性&#xff0c;例如传播行为、隔离级别、超时时间、只读标志等。下面详细解释 Transactional 注解的工作原理&#xff1a; 1. 启用事务管理&#xff1a; …...

spring security 过滤器链使用

Spring Security 的过滤器链提供了灵活的安全控制机制&#xff0c;以下是其在实际开发中的 常见用法 及对应的过滤器配置示例&#xff1a; 一、认证方式配置 1. 表单登录认证 • 过滤器&#xff1a;UsernamePasswordAuthenticationFilter • 配置&#xff1a; http.formLogi…...

k8s 自动伸缩的场景与工作原理

k8s 自动伸缩的场景与工作原理 在现代云原生架构中&#xff0c;应用的访问量和资源需求常常存在波动。为了解决高峰时资源不足、低谷时资源浪费的问题&#xff0c;Kubernetes 提供了自动伸缩功能。自动伸缩可以根据预设的指标&#xff08;如 CPU 利用率、内存占用、网络流量等…...

SYN Flooding攻击原理

SYN Flooding攻击原理详解 SYN Flooding&#xff08;SYN洪泛攻击&#xff09;是一种典型的拒绝服务攻击&#xff08;DoS/DDoS&#xff09;&#xff0c;利用TCP协议的三次握手缺陷耗尽目标系统资源。以下是其工作原理、影响及防御措施的全面解析&#xff1a; 1. TCP三次握手回顾…...

【爬虫案例】采集 Instagram 平台数据几种方式(python脚本可直接运行)

更多内容请见: 爬虫和逆向教程-专栏介绍和目录 文章目录 一、概述1.1 Instagram基础信息1.2 Instagram平台架构核心技术栈1.3 采集提示1.4 几种采集方案对比二、四种采集方案分析三、写爬虫采集Instagram案例3.1 采集作品信息并下载视频或图片(无需登录)3.2 explore接口的采…...

通过构造函数和几何条件,研究了不同函数的最近点存在性、性质及单调性

解&#xff1a; &#xff08;1&#xff09;对于函数 f ( x ) 1 x f(x) \frac{1}{x} f(x)x1​ 和点 M ( 1 , 0 ) M(1, 0) M(1,0)&#xff0c;构造函数 s ( x ) ( x − 1 ) 2 ( 1 x ) 2 s(x) (x - 1)^2 \left(\frac{1}{x}\right)^2 s(x)(x−1)2(x1​)2。求导得到 s ′ …...

项目复杂业务的数据流解耦处理方案整理

目前项目中使用mobx&#xff0c;项目比较久了&#xff0c;每个Store的内容是越来越多了&#xff0c;逻辑也是越来越复杂&#xff0c;如果不梳理估计以后模块的层级会很乱。 之前整理了一些数据流管理的对比实践和最佳方案的梳理&#xff0c;最后写来写去感觉还是要整理一个架构…...

手部穴位检测技术:基于OpenCV和MediaPipe的实现

手部穴位检测是医学和健康管理领域的重要技术之一。通过准确识别手部的关键穴位,可以为中医诊断、康复治疗以及健康监测提供支持。本文将介绍一种基于OpenCV和MediaPipe的手部穴位检测方法,展示如何利用计算机视觉技术实现手部关键点的检测,并进一步标注手部的穴位位置。 技…...