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的一种改进,优化其表示效果:
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 =
句向量维度 = 词向量维度,不论文本长度
文本相似度 = 向量相似度 = 向量夹角余弦值
向量夹角为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、文本匹配任务概述 狭义: 给定一组文本,判断其是否语义相似 今天天气不错 match 今儿个天不错呀 √ 今天天气不错 match 你的代码有bug 以分值形式给出相似度 今天天气不错 match 今儿个天不错呀 0.9 今天天气不错 match…...
01-01 五元组
[外链图片转存中…(img-8JR8fhPZ-1737855365022)] 01-01 五元组 网络中的五元组(5-Tuple) 是用于唯一标识一个网络连接或数据流的五个关键参数组合。这五个参数共同定义了数据包的来源、目的地以及传输方式,是网络设备(如防火墙…...
5.2 软件需求分析
文章目录 需求分析的意义软件需求的组成需求分析的5个方面需求分析方法 需求分析的意义 需求分析解决软件“做什么”的问题。由于开发人员比较熟悉计算机而不熟悉领域业务,用户比较熟悉领域业务而不熟悉计算机,双方需要通过交流,制定出完整、…...
OpenCV:在图像中添加噪声(瑞利、伽马、脉冲、泊松)
目录 简述 1. 瑞利噪声 2. 伽马噪声 3. 脉冲噪声 4. 泊松噪声 总结 相关阅读 OpenCV:在图像中添加高斯噪声、胡椒噪声-CSDN博客 OpenCV:高通滤波之索贝尔、沙尔和拉普拉斯-CSDN博客 OpenCV:图像处理中的低通滤波-CSDN博客 OpenCV&…...
进程池的制作(linux进程间通信,匿名管道... ...)
目录 一、进程间通信的理解 1.为什么进程间要通信 2.如何进行通信 二、匿名管道 1.管道的理解 2.匿名管道的使用 3.管道的五种特性 4.管道的四种通信情况 5.管道缓冲区容量 三、进程池 1.进程池的理解 2.进程池的制作 四、源码 1.ProcessPool.hpp 2.Task.hpp 3…...
C++:多继承习题3
题目内容: 声明一个时间类Time,时间类中有3个私有数据成员(Hour,Minute,Second)和两个公有成员函数(SetTime和PrintTime)。要求: (1) SetTime根据传递的3个参数为对象设置时间; &a…...
数论问题75
命题,证明:存在K∈N,使得对于每个n∈N,Kx2^n1都是合数。 证明:设n2^m,当m0,1,2,3,4时,a(m)2^(2^m)1都是素数。 a(0)213,a(1)2^215,a(2)2^4117&…...
Baklib引领数字化内容管理转型提升企业运营效率
内容概要 在数字化迅速发展的背景下,企业正面临着前所未有的内容管理挑战。传统的内容管理方式已难以适应如今的信息爆炸,企业需要更加高效、智能的解决方案以应对复杂的数据处理需求。Baklib作为行业的先锋,以其创新技术对数字化内容管理进…...
2025年AI手机集中上市,三星Galaxy S25系列上市
2025年被认为是AI手机集中爆发的一年,各大厂商都会推出搭载人工智能的智能手机。三星Galaxy S25系列全球上市了。 三星Galaxy S25系列包含S25、S25和S25 Ultra三款机型,起售价为800美元(约合人民币5800元)。全系搭载骁龙8 Elite芯…...
Vue2官网教程查漏补缺学习笔记 - 3Vue实例4模板语法5计算属性监听器
3 Vue实例 3.1 创建一个 Vue 实例 每个 Vue 应用都是通过用 Vue 函数创建一个新的 Vue 实例开始的: var vm new Vue({// 选项 })虽然没有完全遵循 MVVM 模型,但是 Vue 的设计也受到了它的启发。因此在文档中经常会使用 vm (ViewModel 的缩写) 这个变…...
2025年数学建模美赛:A题分析(1)Testing Time: The Constant Wear On Stairs
2025年数学建模美赛 A题分析(1)Testing Time: The Constant Wear On Stairs 2025年数学建模美赛 A题分析(2)楼梯磨损分析模型 2025年数学建模美赛 A题分析(3)楼梯使用方向偏好模型 2025年数学建模美赛 A题分…...
WPS数据分析000007
目录 一、分列 智能分列 出生日期 数值转换 公式不运算 二、数据对比 离职员工 新入职员工 都在职的员工 三、合并计算 四、拆分表格 合并表格 一、分列 智能分列 出生日期 数据求和 文本型数字左对齐;数值型数字右对齐 数值转换 方式一: 方…...
oracle 19C RAC打补丁到19.26
oracle 19CRAC打补丁到19.26 本文只保留简介命令和每个命令大概的用时,方便大家直接copy使用,并了解每个命令的预期时间,减少命令执行期的等待焦虑。 1.本次所需的补丁如下 p6880880_190000_Linux-x86-64.zip (.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安装教程
一、下载 点开下面的链接:下载地址 点击Download 就可以下载对应的安装包了, 安装包如下: 二、解压 下载完成后我们得到的是一个压缩包,将其解压,我们就可以得到MySQL 8.0.34 的软件本体了(就是一个文件夹),我们可以把它放在你想…...
信息学奥赛一本通 1390:食物链【NOI2001】| 洛谷 P2024 [NOI2001] 食物链
【题目链接】 ybt 1390:食物链【NOI2001】 洛谷 P2024 [NOI2001] 食物链 【题目考点】 1. 种类并查集 2. 带权并查集 【解题思路】 解法1:种类并查集 已知有三类动物A、B、C。A吃B,B吃C,C吃A。 对于B类动物来说,…...
Linux网络之序列化和反序列化
目录 序列化和反序列化 上期我们学习了基于TCP的socket套接字编程接口,并实现了一个TCP网络小程序,本期我们将在此基础上进一步延伸学习,实现一个网络版简单计算器。 序列化和反序列化 在生活中肯定有这样一个情景。 上图大家肯定不陌生&a…...
【Django教程】用户管理系统
Get Started With Django User Management 开始使用Django用户管理 By the end of this tutorial, you’ll understand that: 在本教程结束时,您将了解: 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基础
前言 (2021年笔记)补充记录 React基础 前言React讲义一、create-react-app二、关于React1、React的起源和发展2、React与传统MVC的关系3、React高性能的体现:虚拟DOM4、React的特点和优势 三、编写第一个react应用程序四、元素与组件1、函数…...
读书笔记:《华为突围ERP封锁全纪实》
文章背景: 2019年5月,华为被美国制裁,其ERP系统面临断供风险。ERP系统是企业核心管理软件,一旦中断,华为的全球业务将陷入瘫痪。面对这一生死存亡的危机,华为启动了“突围”计划,历经数年艰苦奋…...
Linux的udev详解、安装和使用(dev下的设备每次开机的名称不固定怎么办?)
前言(问题与需求): 在传统的devfs 1:设备映射的不确定:一个设备多次加载设备的设备文件可能不同,比如一个hub有可能是ttyUSB0或ttyUSB2或ttyUSB3 2:devfs没有足够的主辅设备号,当设…...
单向循环链表的概念+单向循环链表的结点插入+单向循环链表的结点删除+程序设计与笔试题分析
单向循环链表的原理与应用 思考:对于单向链表而言,想要遍历链表,则必须从链表的首结点开始进行遍历,请问有没有更简单的方案实现链表中的数据的增删改查? 回答:是有的,可以使用单向循环的链表…...
【蓝桥杯嵌入式入门与进阶】2.与开发板之间破冰:初始开发板和原理图2
个人主页:Icomi 专栏地址:蓝桥杯嵌入式组入门与进阶 大家好,我是一颗米,本篇专栏旨在帮助大家从0开始入门蓝桥杯并且进阶,若对本系列文章感兴趣,欢迎订阅我的专栏,我将持续更新,祝你…...
Jetson Xavier NX 安装 CUDA 支持的 PyTorch 指南
本指南将帮助开发者完成在 Jetson Xavier NX 上安装 CUDA 支持的 PyTorch。 安装方法 在 Jetson 上安装 Pytorch 只有两种方法。 一种是直接安装他人已经编译好的 PyTorch 轮子;一种是自己从头开始开始构建 PyTorch 轮子并且安装。 使用轮子安装 可以从我的 Gi…...
“harmony”整合不同平台的单细胞数据之旅
其实在Seurat v3官方网站的Vignettes中就曾见过该算法,但并没有太多关注,直到看了北大张泽民团队在2019年10月31日发表于Cell的《Landscap and Dynamics of Single Immune Cells in Hepatocellular Carcinoma》,为了同时整合两类数据…...
[权限提升] 操作系统权限介绍
关注这个专栏的其他相关笔记:[内网安全] 内网渗透 - 学习手册-CSDN博客 权限提升简称提权,顾名思义就是提升自己在目标系统中的权限。现在的操作系统都是多用户操作系统,用户之间都有权限控制,我们通过 Web 漏洞拿到的 Web 进程的…...
大模型本地部署流程介绍
大模型本地部署流程介绍 随着人工智能技术的快速发展,大模型(如大型语言模型、图像识别模型等)的应用越来越广泛。然而,由于这些模型通常体积庞大且计算资源要求高,如何在本地环境中高效部署成为了一个重要的议题。以…...
浅析百度AOI数据与高德AOI数据的差异性
目录 前言 一、AOI属性数据 1、百度AOI数据 2、高德AOI数据 二、AOI矢量边界 1、百度AOI空间范围 2、高德AOI空间范围 三、数据获取频次和难易程度 1、接口限制 2、数据转换成本 四、总结 前言 在当今数字化时代,地理信息数据的精准性和丰富性对于城市规划…...
LeetCode 119. 杨辉三角 II
题意:求杨辉三角(帕斯卡三角)的第n行(n从0开始) 杨辉三角的每一行是二项式排列组合的展开式 第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数据集是机器学习领域经典数据集,鸢尾花数据集包含了150条鸢尾花信息,每50条取自三个鸢尾花中之一:Versicolour、Setosa…...
设计模式Python版 原型模式
文章目录 前言一、原型模式二、原型模式示例三、原型管理器 前言 GOF设计模式分三大类: 创建型模式:关注对象的创建过程,包括单例模式、简单工厂模式、工厂方法模式、抽象工厂模式、原型模式和建造者模式。结构型模式:关注类和对…...
centos安装mysql
下面的方法不行,最后还是通过我自己的博客中的 https://blog.csdn.net/qq_21237549/article/details/133759503 CentOS 安装MySQL 详细教程 安装成功的 通过网盘分享的文件:服务器部署 链接: https://pan.baidu.com/s/12QwjIMgwHcwVeVoal-BKrg 提取码:…...
java 判断Date是上午还是下午
我要用Java生成表格统计信息,如下图所示: 所以就诞生了本文的内容。 在 Java 里,判断 Date 对象代表的时间是上午还是下午有多种方式,下面为你详细介绍不同的实现方法。 方式一:使用 java.util.Calendar Calendar 类…...
Jenkins安装部署(以及常见报错解决方案),jdk版本控制器sdkman
目录 零、环境介绍 一、Jenkins安装 1、插件安装以及更换插件源 2、修改jenkins时区 二、sdkman安装(可选) 1、sdkman常用方法 2、sdkman常用方法演示 2.1、查看可用的jdk 2.2、下载jdk并切换版本 三、jenkins报错解决 1、下载sdkman后systemc…...
【Linux】gdb——Linux调试器
gdb使用背景 程序的发布方式有两种,debug模式和release模式 Linux gcc/g出来的二进制程序,默认是release模式 要使用gdb调试,必须在源代码生成二进制程序的时候, 加上 -g 选项 gdb使用方法 首先进入gdb gdb test_glist显示代码 断点 b 行…...
978.最长湍流子数组
目录 题目过程解法收获 题目 给定一个整数数组 arr ,返回 arr 的 最大湍流子数组的长度 。 如果比较符号在子数组中的每个相邻元素对之间翻转,则该子数组是 湍流子数组 。 更正式地来说,当 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 排序革命: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
逻辑分类联想记忆法 一 课程目标 (1)掌握如何分类信息 (2)掌握如何运用逻辑分类方法进行记忆 小试牛刀: 核心的内容: 文字逻辑分类记忆:把文字分类后转换成画面连接记忆。 玫瑰 大树 太阳…...
RK3588平台开发系列讲解(ARM篇)ARM64底层中断处理
文章目录 一、异常级别二、异常分类2.1、同步异常2.2、异步异常三、中断向量表沉淀、分享、成长,让自己和他人都能有所收获!😄 一、异常级别 ARM64处理器确实定义了4个异常级别(Exception Levels, EL),分别是EL0到EL3。这些级别用于管理处理器的特权级别和权限,级别越高…...
算法1-1 模拟与高精度
目录 一 阶乘数码 二 麦森数 三 模拟题 一 阶乘数码 本题中n<1000,1000的阶乘为以下这么大,远超long的范围 402387260077093773543702433923003985719374864210714632543799910429938512398629020592044208486969404800479988610197196058631666872994808558901…...
(四)线程 和 进程 及相关知识点
目录 一、线程和进程 (1)进程 (2)线程 (3)区别 二、串行、并发、并行 (1)串行 (2)并行 (3)并发 三、爬虫中的线程和进程 &am…...
Tensor 基本操作2 理解 tensor.max 操作,沿着给定的 dim 是什么意思 | PyTorch 深度学习实战
前一篇文章,Tensor 基本操作1 | PyTorch 深度学习实战 本系列文章 GitHub Repo: https://github.com/hailiang-wang/pytorch-get-started 目录 Tensor 基本操作torch.max默认指定维度 Tensor 基本操作 torch.max torch.max 实现降维运算,基于指定的 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…...
面试被问的一些问题汇总(持续更新)
天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。…...
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. 适配器模式简介 适配器模式是一种结构型模式。 适配器模式的定义:适配器模式将一个类的接口,转换成客户期望的另一个接口。适配器让原本接口不可兼容…...
C语言自定义数据类型详解(一)——结构体类型(上)
什么是自定义数据类型呢?顾名思义,就是我们用户自己定义和设置的类型。 在C语言中,我们的自定义数据类型一共有三种,它们分别是:结构体(struct),枚举(enum),联合(union)。接下来,我…...
C语言基础4
sizeof和strlen的区别 ①sizeof是运算符而strlen是函数 ②sizeof可以用类型做参数,strlen只能用char*做参数 ③数组做sizeof参数不退化,而传递给strlen则退化成指针 ④strlen结果是运行时候才能计算出来,而且计算出来的是字符串的长度不是内…...