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

week08_文本匹配任务

1、文本匹配任务概述

狭义:

给定一组文本,判断其是否语义相似

今天天气不错   match  今儿个天不错呀    √

今天天气不错   match  你的代码有bug      ×

以分值形式给出相似度

今天天气不错   match  今儿个天不错呀   0.9

今天天气不错   match  这几天天气不错   0.7

今天天气不错   match  你的代码有bug    0.1

广义:

1、给定一组文本,计算某种自定义的关联度

2、Natural Language Inference

两句话判断是否有关联、矛盾、中立

明天要下雨  vs  明天大晴天

3、Text Entailment

给出一段文本,和一个假设,判断文本是否能支持或反驳这个假设

4、主题判断

文章标题匹配内容等

2、文本匹配的应用

问答对话:车载导航、手机助手、聊天机器人、智能音响、智能客服

信息检索:浏览器、短视频新媒体平台

3、智能问答

1.基础资源:包括faq库,书籍文档,网页,知识图谱等等

2.问答系统:对基础资源进行了加工处理,形成问答所需要的索引和模型等

3.用户输入问题

4.问答系统给出答案

智能问答的技术路线

1、依照基础资源划分: 

1)基于faq知识库的问答  

2)基于文档/网页/书籍的问答  

3)基于图像/视频的问答  

4)基于知识图谱的问答  

5)基于表格的问答  

6)基于特定领域知识的问答  

7)基于人工规则的问答

2、依照答案产出方式划分:

1)检索式的问答:答案原文或答案的多个片段,存在于基础资源中        

2)生成式的问答:答案文本不存在于基础资源,由问答系统来生成答案    

3)二者结合

3、依照NLP相关技术划分:

1)单轮问答   2)多轮问答   3)多语种问答   4)事实性问答(有固定答案)  

5)开放性问答(没有固定的明确答案)   6)多模态问答(和图像视频相结合)  

7)选择型问答   8)抽取式问答   9)生成式问答

Faq知识库问答

原始问题:列表展示所有常见问题,用户需要自己找到对应的问题,对用户不友好

改进:让用户以自然语言描述自己的问题,算法进行faq库的检索,给出对应的答案

相关名词

1.问答对                 一个(或多个相似的)问题与它对应的答案

2.faq库/知识库       很多问答对组成的集合

3.标准问                 每组问答对中的问题,有多个时,为其中代表

4.相似问/扩展问     问答对中,标准问之外的其他问题

5.用户问                 用户输入的问题

6.知识加工             人工编辑faq库的过程

运行逻辑

1.对用户问进行预处理

2.使用处理后的问题,与faq库中问题计算相似度

3.按照相似度分值排序

4.返回最相似问题对应的答案

4、文本匹配算法

1.语义相似度计算是faq问答的核心

2.一般简称文本匹配      f(x, y)→Score

3.相似度分值合理,才可以找到正确的对应问题

4.计算分值的同时,也要考虑速度

文本匹配算法-编辑距离

编辑距离:两个字符串之间,由一个转成另一个所需的最少编辑操作次数

许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符。

两个字符串完全一致,编辑距离 = 0,相似度 = 1

两个字符串完全不一致,编辑距离 = 较长者长度,相似度 = 0

import numpy as np#编辑距离
def editing_distance(string1, string2):matrix = np.zeros((len(string1) + 1, len(string2) + 1))for i in range(len(string1) + 1):matrix[i][0] = ifor j in range(len(string2) + 1):matrix[0][j] = jfor i in range(1, len(string1) + 1):for j in range(1, len(string2) + 1):if string1[i - 1] == string2[j - 1]:d = 0else:d = 1matrix[i][j] = min(matrix[i - 1][j] + 1, matrix[i][j - 1] + 1, matrix[i - 1][j - 1] + d)edit_distance = matrix[len(string1)][len(string2)]return 1 - edit_distance / max(len(string1), len(string2))

编辑距离-优缺分析

优点:

1.可解释性强

2.跨语种(甚至对于非语言序列)有效

3.不需要训练模型

缺点:

1.字符之间没有语义相似度  (我没钱 vs. 俺没钱  0.66)

2.受无关词/停用词影响大       (我要办卡 vs. 你好我需要办一张卡 0.5)

3.受语序影响大                       (今天天气不错  vs. 天气不错今天  0.33)

4.文本长度对速度影响很大

文本匹配算法-Jaccard相似度

通用表述:根据两个集合中,不同元素所占的比例,来衡量两个样本之间的相似度

用于文本匹配:根据两个文本中,不同的字或词所占的比例,来衡量两个文本之间的相似度

 今天天气真不错  vs. 估计明天天气更好    

公共字:天、气         总字数:(7-1) + (8-1) – 2 = 11        

jaccard相似度: 2 / 11 = 0.18

#jaccard距离
def jaccard_distance(string1, string2):words1 = set(string1)words2 = set(string2)distance = len(words1 & words2) / len(words1 | words2)return distance

tips:

如果输入字符串,则得到基于字的jaccrad相似度

如果输入词的列表,则得到基于词的jaccard相似度

该用词还是该用字?看场景!

( 分词是否准确、是否有很多类似名词、缩略词、文本长度等因素,都会影响选择)

Jaccard距离-优缺分析

优点:

1.语序不影响分数(词袋模型——今天天气不错 vs .天气不错今天 = 1)

2.实现简单,速度很快

3.可跨语种,无需训练等

缺点:

1.语序不影响分数(他打了我 vs. 我打了他 = 1 )

2.字词之间没有相似度衡量(同编辑距离)

3.受无关词影响

4.非一致文本可能出现满分(他是不知道 vs. 他不是不知道 = 1)

文本匹配算法-BM25算法

本质是TF·IDF算法,参考: nlp新词发现——浅析 TF·IDF_内部稳固度 左右熵-CSDN博客

常用在搜索引擎框架中,用来做文档和搜索问题的匹配。同样也可以用在问答中,做文本匹配核心思想:假如一个词在某类文本(假设为A类)中出现次数很多,而在其他类别文本(非A类)出现很少,那么这个词是A类文本的重要词(高权重词)。

恒星、黑洞 ——> 天文

反之,如果一个词在出现在很多领域,则其对于任意类别的重要性都很差。

如何用数学刻画?

一种nlp的经典统计值:TF·IDF

TF:词频。某个词在某类别中出现的次数/该类别词总数。

IDF:逆文档频率。逆文档频率高 -> 该词很少出现在其他文档。

 N:文本总数        dfi:包含词qi的文本中的总数

每个词对于每个类别都会得到一个TF·IDF值。

BM25算法

BM25是对TF·IDF的一种改进,优化其表示效果:

Wi = IDF(qi)=log(\frac{N-n(qi)+0.5}{n(qi)+0.5})       qi:问题中某词,n(qi):包含词qi的文档数

   fi:词频 k1, k2, b:可调节常数

BM25算法-优缺分析

优点:

1.通过使用TF·IDF弱化了无关词的影响强化了重要词的影响,使得效果大幅提升

2.统计模型计算快,不需要迭代(计算量主要在分词)

3.词袋模型*(双刃剑)、跨语种等

缺点:

1.依然没有考虑词与词之间的相似性

2.需要一定量的训练(统计)样本(faq库本身)

3.对于新增类别,需要重新计算统计模型

4.分值未归一化

文本匹配算法-word2vec

什么是词向量?     将每个词或字转换成同一向量空间内的一个向量

词向量的特点?     两个词如果语义相近,则在空间中的向量接近

词向量是如何寻得到的?

随机初始化,之后通过文本语料进行训练调整

如何训练/训练目标?        

1、基于窗口  2、基于语言模型  3、基于共现矩阵

训练提速技巧?        

1、层次softmax/Huffman树  2、负采样

如何用于文本匹配?

将文本中的所有词的词向量相加取平均     文本 ——> 句向量    

SentenceVector = \sum_{n}^{1}Wi/n    

句向量维度 = 词向量维度,不论文本长度    

文本相似度 = 向量相似度 = 向量夹角余弦值    

向量夹角为0,余弦值为1

word2vec-优缺分析

优点:

1.两个文本包含语义相似的词会提高相似度

2.训练需要的数据简单(纯文本语料即可)

3.计算速度快,可以对知识库内问题预先计算向量

4.将文本转化为数字,使后续复杂模型成为可能

缺点:

1.词向量的效果决定句向量效果

2.一词多意的情况难以处理(梨-苹果-华为)

3.受停用词和文本长度影响很大(也是词袋模型)

4.更换语种,甚至更换领域,都需要重新训练(无法跨语种、领域)

影响因素总结:语料数量/质量、领域适配、分词结果、未登录词

文本匹配-深度学习

在文本匹配任务上有两种主要方式:

1.表示型                                                      2.交互型

       

1、表示型文本匹配

两句话转化为向量后通过同一模型的表示层,再过匹配层得到比较得分,相似则得分靠近1

表示型文本匹配-训练方式1(孪生网络)

对于两个匹配的样本 预期输出分值为1

对于两个不匹配的样本 预期输出分值为0

本质上相当于2分类任务

《Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks》

表示型文本匹配-训练方式2

Triplet Loss

训练目标:

使具有相同标签的样本在embedding空间尽量接近

使具有不同标签的样本在embedding空间尽量远离

输入是一个三元组 <a, p, n>

a:anchor  原点  ,p:positive  与a同一类别的样本  , n:negative  与a不同类别的样本

在embedding空间中,三元组损失函数如下:

L=max⁡(d(a, p) − d(a, n) + margin, 0)

想要最小化L,则d(a,p)->0,d(a,n)->margin

Triplet Loss 也用于人脸识别模型的训练

2、交互型文本匹配

 Embedding层共享

表示层输出是否匹配 —— 本质是二分类任务

交互层进行信息融合,常以attention的方式

 3、对比-交互型vs表示型

表示型

优点:训练好的模型可以对知识库内的问题计算向量,在实际查找过程中,只对输入文本做一次向量化

缺点:在向量化的过程中不知道文本重点

交互型

优点:通过对比把握句子重点

缺点:每次计算需要都需要两个输入

对比学习

KD树

空间切割

1、依照建索引方式找到 最下方叶节点

2、向上回退,计算到节 点距离和到切割平面距离

3、根据情况判断是否 需要查找平面另一侧节点

4、回退到根节点为止

Annoy

Approximate Nearest Neighbors Oh Yeah

分割过程相当于Kmeans聚类

重复分割过程,直到每个空间内的点个数小于设定值

可以同时在多个接近的分支上查找

或通过不同初始划分,生成多个树

 

相关文章:

week08_文本匹配任务

1、文本匹配任务概述 狭义&#xff1a; 给定一组文本&#xff0c;判断其是否语义相似 今天天气不错 match 今儿个天不错呀 √ 今天天气不错 match 你的代码有bug 以分值形式给出相似度 今天天气不错 match 今儿个天不错呀 0.9 今天天气不错 match…...

01-01 五元组

[外链图片转存中…(img-8JR8fhPZ-1737855365022)] 01-01 五元组 网络中的五元组&#xff08;5-Tuple&#xff09; 是用于唯一标识一个网络连接或数据流的五个关键参数组合。这五个参数共同定义了数据包的来源、目的地以及传输方式&#xff0c;是网络设备&#xff08;如防火墙…...

5.2 软件需求分析

文章目录 需求分析的意义软件需求的组成需求分析的5个方面需求分析方法 需求分析的意义 需求分析解决软件“做什么”的问题。由于开发人员比较熟悉计算机而不熟悉领域业务&#xff0c;用户比较熟悉领域业务而不熟悉计算机&#xff0c;双方需要通过交流&#xff0c;制定出完整、…...

OpenCV:在图像中添加噪声(瑞利、伽马、脉冲、泊松)

目录 简述 1. 瑞利噪声 2. 伽马噪声 3. 脉冲噪声 4. 泊松噪声 总结 相关阅读 OpenCV&#xff1a;在图像中添加高斯噪声、胡椒噪声-CSDN博客 OpenCV&#xff1a;高通滤波之索贝尔、沙尔和拉普拉斯-CSDN博客 OpenCV&#xff1a;图像处理中的低通滤波-CSDN博客 OpenCV&…...

进程池的制作(linux进程间通信,匿名管道... ...)

目录 一、进程间通信的理解 1.为什么进程间要通信 2.如何进行通信 二、匿名管道 1.管道的理解 2.匿名管道的使用 3.管道的五种特性 4.管道的四种通信情况 5.管道缓冲区容量 三、进程池 1.进程池的理解 2.进程池的制作 四、源码 1.ProcessPool.hpp 2.Task.hpp 3…...

C++:多继承习题3

题目内容&#xff1a; 声明一个时间类Time&#xff0c;时间类中有3个私有数据成员(Hour&#xff0c;Minute&#xff0c;Second)和两个公有成员函数(SetTime和PrintTime)。要求&#xff1a; &#xff08;1&#xff09; SetTime根据传递的3个参数为对象设置时间&#xff1b; &a…...

数论问题75

命题&#xff0c;证明:存在K∈N&#xff0c;使得对于每个n∈N&#xff0c;Kx2^n1都是合数。 证明:设n2^m&#xff0c;当m0&#xff0c;1&#xff0c;2&#xff0c;3&#xff0c;4时&#xff0c;a(m)2^(2^m)1都是素数。 a(0)213&#xff0c;a(1)2^215&#xff0c;a(2)2^4117&…...

Baklib引领数字化内容管理转型提升企业运营效率

内容概要 在数字化迅速发展的背景下&#xff0c;企业正面临着前所未有的内容管理挑战。传统的内容管理方式已难以适应如今的信息爆炸&#xff0c;企业需要更加高效、智能的解决方案以应对复杂的数据处理需求。Baklib作为行业的先锋&#xff0c;以其创新技术对数字化内容管理进…...

2025年AI手机集中上市,三星Galaxy S25系列上市

2025年被认为是AI手机集中爆发的一年&#xff0c;各大厂商都会推出搭载人工智能的智能手机。三星Galaxy S25系列全球上市了。 三星Galaxy S25系列包含S25、S25和S25 Ultra三款机型&#xff0c;起售价为800美元&#xff08;约合人民币5800元&#xff09;。全系搭载骁龙8 Elite芯…...

Vue2官网教程查漏补缺学习笔记 - 3Vue实例4模板语法5计算属性监听器

3 Vue实例 3.1 创建一个 Vue 实例 每个 Vue 应用都是通过用 Vue 函数创建一个新的 Vue 实例开始的&#xff1a; var vm new Vue({// 选项 })虽然没有完全遵循 MVVM 模型&#xff0c;但是 Vue 的设计也受到了它的启发。因此在文档中经常会使用 vm (ViewModel 的缩写) 这个变…...

2025年数学建模美赛:A题分析(1)Testing Time: The Constant Wear On Stairs

2025年数学建模美赛 A题分析&#xff08;1&#xff09;Testing Time: The Constant Wear On Stairs 2025年数学建模美赛 A题分析&#xff08;2&#xff09;楼梯磨损分析模型 2025年数学建模美赛 A题分析&#xff08;3&#xff09;楼梯使用方向偏好模型 2025年数学建模美赛 A题分…...

WPS数据分析000007

目录 一、分列 智能分列 出生日期 数值转换 公式不运算 二、数据对比 离职员工 新入职员工 都在职的员工 三、合并计算 四、拆分表格 合并表格 一、分列 智能分列 出生日期 数据求和 文本型数字左对齐&#xff1b;数值型数字右对齐 数值转换 方式一&#xff1a; 方…...

oracle 19C RAC打补丁到19.26

oracle 19CRAC打补丁到19.26 本文只保留简介命令和每个命令大概的用时&#xff0c;方便大家直接copy使用&#xff0c;并了解每个命令的预期时间&#xff0c;减少命令执行期的等待焦虑。 1.本次所需的补丁如下 p6880880_190000_Linux-x86-64.zip &#xff08;.43的opatch&…...

动手学图神经网络(8):在消息传递中定制聚合操作

在消息传递中定制聚合操作 安装Pytorch和PyG # 安装所需的包 import os import torch os.environ[TORCH] = torch.__version__# 以下是安装命令,实际运行时可取消注释 #!pip install -q torch-scatter -f https://data.pyg.org/whl/torch-${TORCH}.html #!pip install -q to…...

MySQL安装教程

一、下载 点开下面的链接&#xff1a;下载地址 点击Download 就可以下载对应的安装包了, 安装包如下: 二、解压 下载完成后我们得到的是一个压缩包&#xff0c;将其解压&#xff0c;我们就可以得到MySQL 8.0.34 的软件本体了(就是一个文件夹)&#xff0c;我们可以把它放在你想…...

信息学奥赛一本通 1390:食物链【NOI2001】| 洛谷 P2024 [NOI2001] 食物链

【题目链接】 ybt 1390&#xff1a;食物链【NOI2001】 洛谷 P2024 [NOI2001] 食物链 【题目考点】 1. 种类并查集 2. 带权并查集 【解题思路】 解法1&#xff1a;种类并查集 已知有三类动物A、B、C。A吃B&#xff0c;B吃C&#xff0c;C吃A。 对于B类动物来说&#xff0c…...

Linux网络之序列化和反序列化

目录 序列化和反序列化 上期我们学习了基于TCP的socket套接字编程接口&#xff0c;并实现了一个TCP网络小程序&#xff0c;本期我们将在此基础上进一步延伸学习&#xff0c;实现一个网络版简单计算器。 序列化和反序列化 在生活中肯定有这样一个情景。 上图大家肯定不陌生&a…...

【Django教程】用户管理系统

Get Started With Django User Management 开始使用Django用户管理 By the end of this tutorial, you’ll understand that: 在本教程结束时&#xff0c;您将了解&#xff1a; Django’s user authentication is a built-in authentication system that comes with pre-conf…...

万字长文总结前端开发知识---JavaScriptVue3Axios

JavaScript学习目录 一、JavaScript1. 引入方式1.1 内部脚本 (Inline Script)1.2 外部脚本 (External Script) 2. 基础语法2.1 声明变量2.2 声明常量2.3 输出信息 3. 数据类型3.1 基本数据类型3.2 模板字符串 4. 函数4.1 具名函数 (Named Function)4.2 匿名函数 (Anonymous Fun…...

React基础

前言 &#xff08;2021年笔记&#xff09;补充记录 React基础 前言React讲义一、create-react-app二、关于React1、React的起源和发展2、React与传统MVC的关系3、React高性能的体现&#xff1a;虚拟DOM4、React的特点和优势 三、编写第一个react应用程序四、元素与组件1、函数…...

读书笔记:《华为突围ERP封锁全纪实》

文章背景&#xff1a; 2019年5月&#xff0c;华为被美国制裁&#xff0c;其ERP系统面临断供风险。ERP系统是企业核心管理软件&#xff0c;一旦中断&#xff0c;华为的全球业务将陷入瘫痪。面对这一生死存亡的危机&#xff0c;华为启动了“突围”计划&#xff0c;历经数年艰苦奋…...

Linux的udev详解、安装和使用(dev下的设备每次开机的名称不固定怎么办?)

前言&#xff08;问题与需求&#xff09;&#xff1a; 在传统的devfs 1&#xff1a;设备映射的不确定&#xff1a;一个设备多次加载设备的设备文件可能不同&#xff0c;比如一个hub有可能是ttyUSB0或ttyUSB2或ttyUSB3 2&#xff1a;devfs没有足够的主辅设备号&#xff0c;当设…...

单向循环链表的概念+单向循环链表的结点插入+单向循环链表的结点删除+程序设计与笔试题分析

单向循环链表的原理与应用 思考&#xff1a;对于单向链表而言&#xff0c;想要遍历链表&#xff0c;则必须从链表的首结点开始进行遍历&#xff0c;请问有没有更简单的方案实现链表中的数据的增删改查&#xff1f; 回答&#xff1a;是有的&#xff0c;可以使用单向循环的链表…...

【蓝桥杯嵌入式入门与进阶】2.与开发板之间破冰:初始开发板和原理图2

个人主页&#xff1a;Icomi 专栏地址&#xff1a;蓝桥杯嵌入式组入门与进阶 大家好&#xff0c;我是一颗米&#xff0c;本篇专栏旨在帮助大家从0开始入门蓝桥杯并且进阶&#xff0c;若对本系列文章感兴趣&#xff0c;欢迎订阅我的专栏&#xff0c;我将持续更新&#xff0c;祝你…...

Jetson Xavier NX 安装 CUDA 支持的 PyTorch 指南

本指南将帮助开发者完成在 Jetson Xavier NX 上安装 CUDA 支持的 PyTorch。 安装方法 在 Jetson 上安装 Pytorch 只有两种方法。 一种是直接安装他人已经编译好的 PyTorch 轮子&#xff1b;一种是自己从头开始开始构建 PyTorch 轮子并且安装。 使用轮子安装 可以从我的 Gi…...

“harmony”整合不同平台的单细胞数据之旅

其实在Seurat v3官方网站的Vignettes中就曾见过该算法&#xff0c;但并没有太多关注&#xff0c;直到看了北大张泽民团队在2019年10月31日发表于Cell的《Landscap and Dynamics of Single Immune Cells in Hepatocellular Carcinoma》&#xff0c;为了同时整合两类数据&#xf…...

[权限提升] 操作系统权限介绍

关注这个专栏的其他相关笔记&#xff1a;[内网安全] 内网渗透 - 学习手册-CSDN博客 权限提升简称提权&#xff0c;顾名思义就是提升自己在目标系统中的权限。现在的操作系统都是多用户操作系统&#xff0c;用户之间都有权限控制&#xff0c;我们通过 Web 漏洞拿到的 Web 进程的…...

大模型本地部署流程介绍

大模型本地部署流程介绍 随着人工智能技术的快速发展&#xff0c;大模型&#xff08;如大型语言模型、图像识别模型等&#xff09;的应用越来越广泛。然而&#xff0c;由于这些模型通常体积庞大且计算资源要求高&#xff0c;如何在本地环境中高效部署成为了一个重要的议题。以…...

浅析百度AOI数据与高德AOI数据的差异性

目录 前言 一、AOI属性数据 1、百度AOI数据 2、高德AOI数据 二、AOI矢量边界 1、百度AOI空间范围 2、高德AOI空间范围 三、数据获取频次和难易程度 1、接口限制 2、数据转换成本 四、总结 前言 在当今数字化时代&#xff0c;地理信息数据的精准性和丰富性对于城市规划…...

LeetCode 119. 杨辉三角 II

题意&#xff1a;求杨辉三角&#xff08;帕斯卡三角&#xff09;的第n行&#xff08;n从0开始&#xff09; 杨辉三角的每一行是二项式排列组合的展开式 第n行为: C n 0 , C n 1 , C n 2 , … , C n n C_{n}^{0}, C_{n}^{1}, C_{n}^{2}, \dots, C_{n}^{n} Cn0​,Cn1​,Cn2​,……...

机器学习-K近邻算法

文章目录 一. 数据集介绍Iris plants dataset 二. 代码三. k值的选择 一. 数据集介绍 鸢尾花数据集 鸢尾花Iris Dataset数据集是机器学习领域经典数据集&#xff0c;鸢尾花数据集包含了150条鸢尾花信息&#xff0c;每50条取自三个鸢尾花中之一&#xff1a;Versicolour、Setosa…...

设计模式Python版 原型模式

文章目录 前言一、原型模式二、原型模式示例三、原型管理器 前言 GOF设计模式分三大类&#xff1a; 创建型模式&#xff1a;关注对象的创建过程&#xff0c;包括单例模式、简单工厂模式、工厂方法模式、抽象工厂模式、原型模式和建造者模式。结构型模式&#xff1a;关注类和对…...

centos安装mysql

下面的方法不行&#xff0c;最后还是通过我自己的博客中的 https://blog.csdn.net/qq_21237549/article/details/133759503 CentOS 安装MySQL 详细教程 安装成功的 通过网盘分享的文件&#xff1a;服务器部署 链接: https://pan.baidu.com/s/12QwjIMgwHcwVeVoal-BKrg 提取码:…...

java 判断Date是上午还是下午

我要用Java生成表格统计信息&#xff0c;如下图所示&#xff1a; 所以就诞生了本文的内容。 在 Java 里&#xff0c;判断 Date 对象代表的时间是上午还是下午有多种方式&#xff0c;下面为你详细介绍不同的实现方法。 方式一&#xff1a;使用 java.util.Calendar Calendar 类…...

Jenkins安装部署(以及常见报错解决方案),jdk版本控制器sdkman

目录 零、环境介绍 一、Jenkins安装 1、插件安装以及更换插件源 2、修改jenkins时区 二、sdkman安装&#xff08;可选&#xff09; 1、sdkman常用方法 2、sdkman常用方法演示 2.1、查看可用的jdk 2.2、下载jdk并切换版本 三、jenkins报错解决 1、下载sdkman后systemc…...

【Linux】gdb——Linux调试器

gdb使用背景 程序的发布方式有两种&#xff0c;debug模式和release模式 Linux gcc/g出来的二进制程序&#xff0c;默认是release模式 要使用gdb调试&#xff0c;必须在源代码生成二进制程序的时候, 加上 -g 选项 gdb使用方法 首先进入gdb gdb test_glist显示代码 断点 b 行…...

978.最长湍流子数组

目录 题目过程解法收获 题目 给定一个整数数组 arr &#xff0c;返回 arr 的 最大湍流子数组的长度 。 如果比较符号在子数组中的每个相邻元素对之间翻转&#xff0c;则该子数组是 湍流子数组 。 更正式地来说&#xff0c;当 arr 的子数组 A[i], A[i1], …, A[j] 满足仅满足…...

LLM - 大模型 ScallingLaws 的指导模型设计与实验环境(PLM) 教程(4)

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/145323420 免责声明:本文来源于个人知识与公开资料,仅用于学术交流,欢迎讨论,不支持转载。 Scaling Laws (缩放法则) 是大模型领域中,用于描述 模型性能(Loss) 与…...

【Numpy核心编程攻略:Python数据处理、分析详解与科学计算】1.19 排序革命:argsort的十大高阶用法

1.19 排序革命&#xff1a;argsort的十大高阶用法 目录 #mermaid-svg-Qu8PcmLkIc1pOQJ7 {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-Qu8PcmLkIc1pOQJ7 .error-icon{fill:#552222;}#mermaid-svg-Qu8PcmLkIc1pOQJ…...

记忆力训练day07

逻辑分类联想记忆法 一 课程目标 &#xff08;1&#xff09;掌握如何分类信息 &#xff08;2&#xff09;掌握如何运用逻辑分类方法进行记忆 小试牛刀&#xff1a; 核心的内容&#xff1a; 文字逻辑分类记忆&#xff1a;把文字分类后转换成画面连接记忆。 玫瑰 大树 太阳…...

RK3588平台开发系列讲解(ARM篇)ARM64底层中断处理

文章目录 一、异常级别二、异常分类2.1、同步异常2.2、异步异常三、中断向量表沉淀、分享、成长,让自己和他人都能有所收获!😄 一、异常级别 ARM64处理器确实定义了4个异常级别(Exception Levels, EL),分别是EL0到EL3。这些级别用于管理处理器的特权级别和权限,级别越高…...

算法1-1 模拟与高精度

目录 一 阶乘数码 二 麦森数 三 模拟题 一 阶乘数码 本题中n<1000,1000的阶乘为以下这么大&#xff0c;远超long的范围 402387260077093773543702433923003985719374864210714632543799910429938512398629020592044208486969404800479988610197196058631666872994808558901…...

(四)线程 和 进程 及相关知识点

目录 一、线程和进程 &#xff08;1&#xff09;进程 &#xff08;2&#xff09;线程 &#xff08;3&#xff09;区别 二、串行、并发、并行 &#xff08;1&#xff09;串行 &#xff08;2&#xff09;并行 &#xff08;3&#xff09;并发 三、爬虫中的线程和进程 &am…...

Tensor 基本操作2 理解 tensor.max 操作,沿着给定的 dim 是什么意思 | PyTorch 深度学习实战

前一篇文章&#xff0c;Tensor 基本操作1 | PyTorch 深度学习实战 本系列文章 GitHub Repo: https://github.com/hailiang-wang/pytorch-get-started 目录 Tensor 基本操作torch.max默认指定维度 Tensor 基本操作 torch.max torch.max 实现降维运算&#xff0c;基于指定的 d…...

[牛客]公交线路(dijkstra+链式前向星)

登录—专业IT笔试面试备考平台_牛客网 #include<bits/stdc.h> using namespace std; #define endl \n typedef long long ll; const int N1e65,M1e85; int cnt0,head[N]; int n,m,s,t; struct node {int v,w,next; }edge[M]; void addedge(int u,int v,int w) {cnt;edge…...

面试被问的一些问题汇总(持续更新)

天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物。 每个人都有惰性&#xff0c;但不断学习是好好生活的根本&#xff0c;共勉&#xff01; 文章均为学习整理笔记&#xff0c;分享记录为主&#xff0c;如有错误请指正&#xff0c;共同学习进步。…...

RocketMQ原理—5.高可用+高并发+高性能架构

大纲 1.RocketMQ的整体架构与运行流程 2.基于NameServer管理Broker集群的架构 3.Broker集群的主从复制架构 4.基于Topic和Queue实现的数据分片架构 5.Broker基于Pull模式的主从复制原理 6.Broker层面到底如何做到数据0丢失 7.数据0丢失与写入高并发的取舍 8.RocketMQ读…...

适配器模式——C++实现

目录 1. 适配器模式简介 2. 角色组成 3. 代码示例 4. 适配器模式、装饰器模式、外观模式的辨析 1. 适配器模式简介 适配器模式是一种结构型模式。 适配器模式的定义&#xff1a;适配器模式将一个类的接口&#xff0c;转换成客户期望的另一个接口。适配器让原本接口不可兼容…...

C语言自定义数据类型详解(一)——结构体类型(上)

什么是自定义数据类型呢&#xff1f;顾名思义&#xff0c;就是我们用户自己定义和设置的类型。 在C语言中&#xff0c;我们的自定义数据类型一共有三种&#xff0c;它们分别是&#xff1a;结构体(struct)&#xff0c;枚举(enum)&#xff0c;联合(union)。接下来&#xff0c;我…...

C语言基础4

sizeof和strlen的区别 ①sizeof是运算符而strlen是函数 ②sizeof可以用类型做参数&#xff0c;strlen只能用char*做参数 ③数组做sizeof参数不退化&#xff0c;而传递给strlen则退化成指针 ④strlen结果是运行时候才能计算出来&#xff0c;而且计算出来的是字符串的长度不是内…...