NLP-中文分词
中文分词
1、中文分词研究背景及意义
- 和大部分西方语言不同,书面汉语的词语之间没有明显的空格标记,句子是以字串的形式出现。因此对中文进行处理的第一步就是进行自动分词,即将字串转变成词串。 比如“中国建筑业呈现新格局”分词后的词串是 中国/建筑业/呈现/新/格局。
- 为什么中文分词如此重要呢,是因为它是处理中文的语义分析、文本分类、信息检索、机器翻译、机器问答等问题的基础。如果分词效果不好,很有可能会严重影响到后续的研究。 因为中文存在交集歧义,组合歧义,无法在句子中解决的歧义,具有未登录词等等特征,使得中文分词很难。
歧义类型 | 分词结果 1 | 分词结果 2 |
---|---|---|
交集歧义 | 研究/生命/的/起源 | 研究生/命/的/起源 |
组合歧义 | 他/从/马/上/下来 | 他/从/马上/下来 |
无法在句子中解决的歧义 | 南京市/长江大桥 | 南京市长/江大桥 |
未登录词 | 拜登/和/特朗普/通话 | 拜登/和/特朗/普通话 |
颗粒选择 | 联想公司 | 联想/公司 |
2、中文分词主要方法
-
中文分词根据实现特点大致可分为两个类别:基于词典的分词方法、基于统计的分词方法。
-
__ 基于词典的分词方法 __:基于词典的分词方法首先会建立一个充分大的词典,然后依据一定的策略扫描句子,若句子中的某个子串与词典中的某个词匹配,则分词成功。 常见的扫描策略有:正向最大匹配、逆向最大匹配、双向最大匹配和最少词数分词。
- 正向最大匹配
- 对输入的句子从左至右,以贪心的方式切分出当前位置上长度最大的词,组不了词的字单独划开。其分词原理是:词的颗粒度越大,所能表示的含义越精确。
- 逆向最大匹配
- 原理与正向最大匹配相同,但顺序不是从首字开始,而是从末字开始,而且它使用的分词词典是逆序词典,其中每个词条都按逆序方式存放。在实际处理时,先将句子进行倒排处理,生成逆序句子,然后根据逆序词典,对逆序句子用正向最大匹配。
- 双向最大匹配
- 将正向最大匹配与逆向最大匹配组合起来,对句子使用这两种方式进行扫描切分,如果两种分词方法得到的匹配结果相同,则认为分词正确,否则,按最小集处理。
- 最少词数分词
- 即一句话应该分成数量最少的词串,该方法首先会查找词典中最长的词,看是不是所要分词的句子的子串,如果是则切分,然后不断迭代以上步骤,每次都会在剩余的字符串中取最长的词进行分词,最后就可以得到最少的词数。
- 正向最大匹配
-
总结:基于词典的分词方法简单、速度快,效果也还可以,但对歧义和新词的处理不是很好,对词典中未登录的词没法进行处理。
-
__ 基于统计的分词方法 __: 基于统计的分词方法是从大量已经分词的文本中,利用统计学习方法来学习词的切分规律,从而实现对未知文本的切分。随着大规模语料库的建立,基于统计的分词方法不断受到研究和发展,渐渐成为了主流。 常用的统计学习方法有:隐马尔可夫模型 (HMM)、条件随机场 (CRF) 和基于深度学习的方法。
- HMM 和 CRF
- 这两种方法实质上是对序列进行标注,将分词问题转化为字的分类问题,每个字有 4 种词位 (类别):词首 (B)、词中 (M)、词尾 (E) 和单字成词 (S),例如:我 (S) 喜 (B) 欢 (E) 计 (B) 算 (M) 机 (E)。由字构词的方法并不依赖于事先编制好的词典,只需对分好词的语料进行训练即可。当模型训练好后,就可对新句子进行预测,预测时会针对每个字生成不同的词位。其中 HMM 属于生成式模型,CRF 属于判别式模型。
- 基于深度学习的方法
- 神经网络的序列标注算法在词性标注、命名实体识别等问题上取得了优秀的进展,这些端到端的方法也可以迁移到分词问题上。与所有深度学习的方法一样,该方法需要较大的训练语料才能体现优势,代表为 BiLSTM-CRF。
- HMM 和 CRF
-
总结:基于统计的分词方法能很好地处理歧义和新词问题,效果比基于词典的要好,但该方法需要有大量人工标注分好词的语料作为支撑,训练开销大,就分词速度而言不如前一种。在实际应用中一般是将词典与统计学习方法结合起来,既发挥词典分词切分速度快的特点,又利用了统计分词结合上下文识别生词、自动消除歧义的优点。
3、jieba 分词全流程介绍
- jieba 分词主要通过词典来进行分词及词性标注,两者使用了一个相同的词典。jieba 虽然使用了 HMM 来进行新词发现,但分词的结果优劣很大程度上取决于词典。
- DAG (有向无环图)
- 整体工作流程
- 精确模式与全模式:
- 搜索引擎模式:
- 精确模式与全模式:
- HMM
- HMM 示意图
- HMM 模型的三个基本假设如下:
- 有限历史性假设:
- P(Status[i]|Status[i-1],Status[i-2],… Status[1]) = P(Status[i]|Status[i-1])
- 齐次性假设 (状态和当前时刻无关):
- P(Status[i]|Status[i-1]) = P(Status[j]|Status[j-1])
- 观察值独立性假设 (观察值只取决于当前状态值):
- P(Observed[i]|Status[i],Status[i-1],…,Status[1]) = P(Observed[i]|Status[i])
- 有限历史性假设:
- HMM 联合概率函数
- HMM 的典型模型是一个五元组:
- StatusSet: 状态值集合
- 为 (B, M, E, S): {B:begin, M:middle, E:end, S:single}。分别代表每个状态代表的是该字在词语中的位置,B 代表该字是词语中的起始字,M 代表是词语中的中间字,E 代表是词语中的结束字,S 则代表是单字成词。
- 示例:给/S 你/S 一个/BE 隐马尔科夫链/BMMMME 的/S 例子/BE 。/S
- ObservedSet: 观察值集合
- 为所有汉字 (东南西北你我他…),甚至包括标点符号所组成的集合。
- 状态值也就是我们要求的值,在 HMM 模型中文分词中,我们的输入是一个句子 (也就是观察值序列),输出是这个句子中每个字的状态值。
- InitStatus: 初始状态分布
- TransProbMatrix: 转移概率矩阵
- 【有限历史性假设】
- 转移概率是马尔科夫链。Status(i) 只和 Status(i-1) 相关,这个假设能大大简化问题。所以,它其实就是一个 4x4(4 就是状态值集合的大小) 的二维矩阵。矩阵的横坐标和纵坐标顺序是 BEMS x BEMS。(数值是概率求对数后的值)
- EmitProbMatrix: 发射概率矩阵
- 【观察值独立性假设】
- P(Observed[i], Status[j]) = P(Status[j]) * P(Observed[i]|Status[j])
- 其中,P(Observed[i]|Status[j]) 这个值就是从 EmitProbMatrix 中获取。
- StatusSet: 状态值集合
- Viterbi 算法
- 假设上图为"小王子"的分词示例
- S、E 代表开始和结束,我们需要找到从 S 到 E 的最大概率路径
- 中间的矩阵行数等于状态数,列数等于句子长度,矩阵对应位置保存到该节点的最大概率和实现这个概率时上一列节点的状态。
- HMM 示意图
- 百度 LAC
- 其它分词器
- StanfordNLP
- 哈工大 LTP
- 复旦 NLP
- Ansj
- IK Analyzer
4、分词在搜索中的应用
-
jieba
-
算法实现
- 基于前缀词典进行扫描,对句子中汉字所有的可能情况构成有向无环图 (DAG)
- 基于动归查找最大路径,找出基于词频的最大切分组合
- 对于未登录词,采用基于字粒度的 HMM + viterbi 进行处理
-
分词方式
- 精准匹配
jieba.lcut('中国科学院计算所') Out[13]: ['中国科学院', '计算所']
- 词性标注
import jieba.posseg as pseg Out[17]: [pair('我', 'r'), pair('爱', 'v'), pair('北京', 'ns'), pair('天安门', 'ns')]
- 搜索分词 (粒度较细,该方法适合用于搜索引擎构建倒排索引)
jieba.lcut_for_search('中国科学院计算所') Out[12]: ['中国', '科学', '学院', '科学院', '中国科学院', '计算', '计算所']
-
自定义能力
- 自定义词典、词性
# 单词 词频 词性 创新办 3 i
- 目前我们只增加了词表,对于词频我们并没有设置,可以基于统计的方法来开发自定义的 tf-idf 文件来优化分词效果
- 对于未登录词 (新词发现), 我们是可以基于自己的语料来训练 HMM 的状态转移矩阵来优化的
-
其他开源工具 (均三年以上不更新)
- 百度 LAC、HanLp、清华 THULAC、北大 pkuseg
-
中文分词未来的展望
- 被应用于各种词嵌入工具,Word2vec、Glove、ELMO、BERT, 但也逐渐的被代替 (基于字符/单字), 强依赖中文分词的场景也逐渐的减少
-
-
IK 分词器 (构建索引及搜索)
- IK 分词器是基于正向匹配的分词算法
- LetterSegmenter(字母分词器),CN_QuantifierSegment(量词分词器),CJKSegmenter(中日韩分词器)
- IK 分词器,基本可分为两种模式 (粒度),一种为 smart 模式,一种为 max 模式
- max 就是把每种可能的分词结果都给出
- smart 就是需要在这几种分词模式中,寻找一种认为最合理的分词方式
- IK 分词器的主要逻辑
- 词典:原理为前缀树的存储方式,实现为数组 + map
- 词的匹配:对输入的字符逐字的和字典进行匹配
- 消除歧义:通过词典匹配出来的切分方式会有多种,寻找最合理的一种方式 (词元个数越少越好、路径跨度越大越好、逆向切分概率高于正向切分、词长越平均越好、词元位置权重比较)
- 遗留的问题
- smart 分词的结果并不是 max 的子集,官方推荐用 max 建立索引,用 smart 来搜索,但可能会导致两端对不齐的情况
- smart 分词的结果并不是 max 的子集,官方推荐用 max 建立索引,用 smart 来搜索,但可能会导致两端对不齐的情况
- 相关性优化
- 搜索的目的是要理解用户搜索意图,准确衡量 query 与物料之间的相关程度。其中,query 与物料的相关性 (不单单是文本相似度) 计算是最重要的环节 (“全准优新”)
- 文本误匹配:
- 分词错误造成的误匹配
- 召回时,为了更多的物料能被召回,query 可能会被拆成更细的粒度进行检索,但就会带来准召之间的博弈,例如"北京银行"是想寻找与该公司有关的信息,但"北京"和"银行"可能会分别匹配到相关的物料
- 语义偏移:query 与物料字面匹配,但主要意图在语义上不相关,例如:“字节”-“字节码”, “一点点”-“每天成长一点点”
- 搜索相关性技术
- 基于文本匹配的方法:基于 TF-IDF、BM25 等 Term 匹配来计算文本相似度。优点实现简单、速度快,缺点为泛化性较差,无法处理一词多义或者多词一义的问题,很难避免漏匹配和误匹配的情况
- 基于表示的语义匹配模型:基于表示方法分别学习 query 和 doc 的语义向量表示,再基于两个向量计算相似度,DSSM
- 基于交互的语义匹配模型:基于交互的方法不直接学习 query 和 doc 的语义表示向量,而是基于基础信号为两者建立交互,最终通过分类计算相关性得分,ESIM
相关文章:
NLP-中文分词
中文分词 1、中文分词研究背景及意义 和大部分西方语言不同,书面汉语的词语之间没有明显的空格标记,句子是以字串的形式出现。因此对中文进行处理的第一步就是进行自动分词,即将字串转变成词串。 比如“中国建筑业呈现新格局”分词后的词串…...
oracle 架构详解
Oracle 数据库是一个复杂且强大的关系型数据库管理系统(RDBMS),广泛应用于企业级应用中。了解 Oracle 的架构对于数据库管理员(DBA)、开发人员和架构师来说至关重要。以下是 Oracle 数据库架构的详细解析,涵…...
东方资产管理校招笔试测评题型题目深入解读
东方资管作为四大资产AMC公司之一,其薪资待遇还是不错的,现在为数不多还可以投递简历的金融央企。东方资产管理校招笔试一般在简历投递截止后的周末,总部和子公司、分公司需要分别做笔试。 东方资管笔试大概2h,线上双机位&#x…...
PDF处理的创新工具:福昕低代码平台尝鲜实现PDF2word功能
在当今数字化时代,PDF文件的处理和管理变得越来越重要。福昕低代码平台是新发布的一款创新的工具,旨在简化PDF处理和管理的流程。通过这个平台,用户可以通过简单的拖拽界面上的按钮,轻松完成对Cloud API的调用工作流,而…...
springboot系列--拦截器加载原理
一、拦截器加载原理 拦截器是在容器启动时,就创建并加载好,此时并未放入拦截器链中,只是放在一个拦截器集合当中,当一个请求进来之后,会通过匹配路径,查看是否有命中集合中的拦截器的拦截路径,如…...
当Nginx所在服务器的磁盘空间满了,会有什么影响及如何避免这种问题
大家好,我是G探险者! 最近遇到一个问题是,nginx所在服务器磁盘满了,导致前端页面上的一个文件上传功能不好使了,搞得我排查半天,找不见原因,最后发现是nginx的磁盘满了导致,清理了里…...
光猫开DMZ教程
本教程以移动光猫未例,具体操作以实际光猫为准 1、登录移动光猫管理后台 打开浏览器,在浏览器地址栏输入移动光猫登录管理地址192.168.1.1或者tplogin.cn 按“回车键”打开登录页面,然后输入路由器管理密码登录。 移动光猫登录页面 超级密…...
WireShark速成
1.WireShark安装 官网: Wireshark Go Deep Kali Linux系统自带WireShark工具。 2.WireShark介绍 WireShark是一个网络包分析工具,该工具主要用于捕获网络数据包,并自动解析数据包,为用户显示数据包的详情信息,供…...
BFS入门
目录 定义二叉树层次遍历电梯问题倒可乐BFS基本思想算法 四方访问 定义 BFS 通常是指广度优先搜索(Breadth - First Search),它是一种图形数据结构的遍历算法。从给定的起始顶点开始,首先访问起始顶点的所有邻接顶点,然…...
ElementUI:el-tabs 切换之前判断是否满足条件
<div class"table-card"><div class"card-steps-class"><el-tabsv-model"activeTabsIndex":before-leave"beforeHandleTabsClick"><el-tab-pane name"1" label"基础设置"><span slot&…...
mid360使用cartorapher进行3d建图导航
1. 添加urdf配置文件: 添加IMU配置关节点和laser关节点 <!-- imu livox --> <joint name"livox_frame_joint" type"fixed"> <parent link"base_link" /> <child link"livox_frame" /> <o…...
【CSS in Depth 2 精译_073】第 12 章 CSS 排版与间距概述 + 12.1 间距设置(中):对 CSS 行高的深入思考
当前内容所在位置(可进入专栏查看其他译好的章节内容) 第四部分 视觉增强技术 ✔️【第 12 章 CSS 排版与间距】 ✔️ 12.1 间距设置 12.1.1 使用 em 还是 px12.1.2 对行高的深入思考 ✔️12.1.3 行内元素的间距设置 文章目录 12.1.2 对行高的深入思考…...
JAVA设计模式-观察者模式
概述: 观察者模式通常由两个对象组成:观察者和被观察者。当被观察者状态发生改变时,它会通知所有的观察者对象,使他们能够及时做出响应,所以也被称作“发布-订阅模式”。 特点: 优点: 解耦且可…...
Java调用SSE流式接口,并流式返回给前端实现打字输出效果
目录 1.SSE概述 1.1 什么是是SSE2.2 与长链接(Long Polling)的区别 长链接(Long Polling)Server-Sent Events (SSE) 比较总结 2.通过okhttp调用SSE流式接口并流式返回给前端 环境要求使用okhttp相关依赖示例 3. 如果Spring Framework 低于5.0,可使用Servlet 3.0进行…...
倚光科技助力自由曲面设计与加工
近年来,自由曲面因其在光学、汽车、航空航天等领域的广泛应用,受到设计师和工程师的高度关注。自由曲面作为一种具有更高自由度的非球面透镜,能够在光学系统中实现更加精确的光线控制,优化像差校正,并且在满足功能需求…...
【推荐算法】推荐系统中的单目标精排模型
前言:推荐系统中模型发展较快,初学者【也就是笔者】很难对模型进行一个系统的学习。因此,这篇文章总结了王树森中的视频以及《深度学习推荐系统》中的单目标精排模型,绘制了一个单目标精排模型的思维导图来帮助初学者【笔者】更好…...
Android UI:ViewTree:源码分析:事件处理:显示事件
文章目录 概述测量:measure和onMeasure View.MeasureSpecViewViewGroupLinearLayoutRelativeLayout布局:layout和onLayout ViewViewGroupLinearLayoutRelativeLayout绘制:dispatchDraw、draw和onDraw ViewViewGroupLinearLayoutRelativeLayout总结概述 显示事…...
esp32 OTA学习笔记
csv分区表中ota-0和ota-1存放程序 不超过1600kb的程序可以ota(可手动划分) 分区表中有 ota0和ota1两个数据分区。 ota是指先下载固件到ota1然后下次从ota1启动,回滚就是回到ota0 启动。 关于固件: bin文件可以用arduino生成也可以…...
口语笔记——祈使句用法
省略主语 (You give me) a cup of tea, please. 一杯茶(You wait for) another minute. 两等一分钟(You) keep quiet. 保持安静give me a break. 饶了我吧take your hand off. 把你的手拿开take this thing away 把这东西拿开never talk to strangers. 永远不要跟陌生人说话Do…...
【微软azure】【devtunnel隧道】工具的使用及介绍
简介:这是一个微软自带的能进行内网穿透的工具,最长30天有效期,可以定时更新,保证端口永久可用----可以理解为永久的nginx 前提:有azure账号,且要有相关权限,试用账号是不行滴 使用说明 1.环…...
重生之我在异世界学智力题(1)
大家好,这里是小编的博客频道 小编的博客:就爱学编程 很高兴在CSDN这个大家庭与大家相识,希望能在这里与大家共同进步,共同收获更好的自己!!! 本文目录 引言智力题题目:《奇怪的时钟…...
九、页面级变量的状态管理
状态管理概述 在声明式UI编程框架中,UI是程序状态的运行结果,用户构建了一个UI模型,其中应用的运行时的状态是参数。当参数改变时,UI作为返回结果,也将进行对应的改变。这些运行时的状态变化所带来的UI的重新渲染,在ArkUI中统称为状态管理机制。 自定义组件拥有变量,变…...
#Vue3篇:defineOptionsvueUse
定义组件name 从 3.3 开始你可以直接通过 defineOptions 来设置组件名或 inheritAttrs 属性。 defineProps() 和 defineEmits() const props defineProps<{foo: stringbar?: number }>()const emit defineEmits<{(e: change, id: number): void(e: update, val…...
李飞飞的生成式3D场景,对数字孪生的未来影响几何?
大家好,我是日拱一卒的攻城师不浪,致力于技术与艺术的融合。这是2024年输出的第47/100篇文章。 前言 这两天,AI界的教母李飞飞团队重磅发布了空间智能生成式AI大模型。 仅通过一张图片就能够生成一个可操作和交互的3D空间场景。 空间智能的…...
《操作系统 - 清华大学》6 -7:局部页面置换算法:Belady现象
文章目录 1. 定义2. LRU、FIFO和Clock的比较 1. 定义 局部页面置换算法的特点是针对一个正在运行的程序,它访问内存的情况,访问页的情况,来决定应该采取什么样策略,把相应的页替换出去,站在算法本身角度来考虑置换哪个…...
网络原理之 TCP 协议
目录 1. TCP 协议格式 2. TCP 原理 (1) 确认应答 (2) 超时重传 (3) 连接管理 a) 三次握手 b) 四次挥手 (4) 滑动窗口 (5) 流量控制 (6) 拥塞控制 (7) 延时应答 (8) 捎带应答 3. TCP 特性 4. 异常情况的处理 1) 进程崩溃 2) 主机关机 (正常流程) 3) 主机掉电 (…...
pinn爱看论文展
1.zhiwang 基于物理信息神经网络的波动方程优化求解方法 吴丹澜1梁展弘2余懿3蔡博3郑邦宏4王梓超4张紫玲4 1.肇庆学院计算机科学与软件学院,大数据学院2.香港城市大学电气工程系3.云浮市新兴县公安局4.肇庆学院计算机科学与软件学院、大数据学院 2,zhiwang 就爱…...
Burp(5)web网页端抓包与app渗透测试
声明! 学习视频来自B站up主 泷羽sec 有兴趣的师傅可以关注一下,如涉及侵权马上删除文章,笔记只是方便各位师傅的学习和探讨,文章所提到的网站以及内容,只做学习交流,其他均与本人以及泷羽sec团队无关&…...
Spring 基础
什么是 Spring 框架? Spring 是一款开源的轻量级 Java 开发框架,旨在提高开发人员的开发效率以及系统的可维护性。 我们一般说 Spring 框架指的都是 Spring Framework,它是很多模块的集合,使用这些模块可以很方便地协助我们进行开发&#…...
go 集成nacos注册中心、配置中心
使用限制 Go>v1.15 Nacos>2.x 安装 使用go get安装SDK: go get -u github.com/nacos-group/nacos-sdk-go/v2 快速使用 初始化客户端配置ClientConfig constant.ClientConfig{TimeoutMs uint64 // 请求Nacos服务端的超时时间,默…...
一文掌握 OpenGL 几何着色器的使用
学习本文需要具备 OpenGL ES 编程基础,如果看起来比较费劲,可以先看入门文章 OpenGL ES 3.0 从入门到精通系统性学习教程 。 什么是几何着色器 几何着色器(Geometry Shader) OpenGL 管线中的可选着色器阶段,位于顶点着色器(Vertex Shader) 和光栅化阶段 之间。 其核心…...
《数据资产入表:企业资产评估的新契机》
《数据资产入表:企业资产评估的新契机》 在当今数字经济时代,数据作为关键生产要素,其重要性日益凸显。国家高度重视数据资产,陆续出台了一系列重磅政策。其中,“数据二十条” 即《中共中央 国务院关于构建数据基础制度…...
架构14-资源与调度
零、文章目录 架构14-资源与调度 1、资源模型 (1)概述 在 Kubernetes 中,资源模型是一个非常重要的概念,它涉及如何管理和分配集群中的资源,以确保 Pod 能够在最合适的节点上运行。资源模型不仅包括物理资源&#…...
uni-app H5端使用注意事项 【跨端开发系列】
🔗 uniapp 跨端开发系列文章:🎀🎀🎀 uni-app 组成和跨端原理 【跨端开发系列】 uni-app 各端差异注意事项 【跨端开发系列】uni-app 离线本地存储方案 【跨端开发系列】uni-app UI库、框架、组件选型指南 【跨端开…...
springboot407美发管理系统(论文+源码)_kaic
摘 要 传统办法管理信息首先需要花费的时间比较多,其次数据出错率比较高,而且对错误的数据进行更改也比较困难,最后,检索数据费事费力。因此,在计算机上安装美发管理系统软件来发挥其高效地信息处理的作用࿰…...
Apache-HertzBeat 开源监控默认口令登录
0x01 产品描述: HertzBeat(赫兹跳动) 是一个开源实时监控系统,无需Agent,性能集群,兼容Prometheus,自定义监控和状态页构建能力。HertzBeat 的强大自定义,多类型支持,高性能,易扩展,希望能帮助用户快速构建自有监控系统。0x02 漏洞描述: HertzBeat(赫兹跳动) 开源实时…...
发送请求时遇到了数据库完整性约束错误 1048 Column ‘platform‘ cannot be null
可以这样解决 在 Vue 2 中封装接口请求时,确保每次请求都包含 platform Header 参数的最佳实践是通过创建一个全局的 Axios 实例,并为这个实例设置默认的 Header。这样可以确保所有通过该实例发送的请求都会自动包含 platform 参数。此外,你…...
Go快速开发框架集成Vue3漂亮的动态流程图编辑和动态流程展示插件
温馨提示:我们分享的文章是给需要的人,不需要的人请绕过,文明浏览,误恶语伤人! 前言 为大家在开发流程相关业务时有个漂亮流程图展示,我们集成一个实用的流程图编辑器,让流程开发变得简单&…...
【SH】微信小程序调用EasyDL零门槛AI开发平台的图像分类研发笔记
文章目录 微信小程序字符串字符串模板字符串拼接 上传图片GET请求测试编写测试代码域名不合法问题 GET和POST请求测试 微信小程序字符串 字符串模板 这是ES6引入的特性,允许你通过反引号()创建模板字符串,并在其中嵌入变量或表达…...
NanoLog起步笔记-6-StaticLogInfo
nonolog起步笔记-6-StaticLogInfo StaticLogInfo文件名和行号文件名和行号的传入log参数 RuntimeLogger::registerInvocationSitelogid为什么只能被赋一次值 reserveAlloc加入消息头finishAlloc返回 StaticLogInfo 写C语言编译前端时,给我印象深刻的一部分是&#…...
【OpenCV】视频录制
初始化一个视频写入对象,目的是将图像帧序列保存为视频文件。使用了OpenCV库中的cv2.VideoWriter类来创建这个对象,并且设置了视频的编码格式、帧率以及分辨率。 导入库 import cv2 import datetime cv2 是 OpenCV 库的 Python 接口,提供了…...
同城到家预约上门服务解决方案:家政预约同城服务小程序
### 系统架构"同城到家预约上门服务解决方案:PHP家政预约同城服务小程序"采用B/S架构,后端使用PHP语言开发,前端则基于微信小程序平台。系统分为用户端、服务端和后台管理端,各端相互依赖又相互独立,支持多种…...
linux-14 关于shell(十三)type,内置命令和外部命令
我们说一个命令,叫做type,先来看看type的效果,比如说我指定type后面这个命令叫cd,如下图, 你看它说什么?cd is a shell builtin,我再 type ls,看它会说什么?如下图&#…...
使用php生成、识别二维码
1、生成二维码 要求: # 详见:https://packagist.org/packages/bacon/bacon-qr-code php: ^8.1iconv Library imagick Library # 或者:GD library 下载: # 详见:https://packagist.org/packages/bacon/bacon-qr-cod…...
pytorch多GPU训练教程
pytorch多GPU训练教程 文章目录 pytorch多GPU训练教程1. Torch 的两种并行化模型封装1.1 DataParallel1.2 DistributedDataParallel 2. 多GPU训练的三种架构组织方式2.2 数据不拆分,模型拆分(Model Parallelism)2.3 数据拆分,模型…...
日拱一卒(12)——leetcode学习记录:2的幂
一、题目 判断一个整数n是否是2的幂次,是返回True,否返回False 二、分析 1. 递归法:如果n是0,返回False,如果n是1,返回True,其他情况,将n//2递归 2. 数学法:还是从数…...
非文件形式的内存动态函数库调用接口
使用memfd的系统调用接口将动态库加载到proc虚拟文件系统,提供的fd为进程持有的句柄,通过dlopen的path指向此句柄,即可实现非文件系统加载动态链接库。 文章目录 一、memfd_create二、dl_open三、示例参考 一、memfd_create 接口名称int mem…...
TimeXplusplus——提高时间序列数据的可解释性,避免琐解和分布偏移问题的深度学习可解释性的框架
摘要 论文地址:https://arxiv.org/abs/2405.09308 源码地址:https://github.com/zichuan-liu/timexplusplus 信号传输技术的优化对于推动光通信的发展至关重要。本文将详细探讨线路编码技术的目标及其实现方式。线路编码旨在提高带宽和功率效率…...
第十七届山东省职业院校技能大赛 中职组“网络安全”赛项资源任务书样题②
第十七届山东省职业院校技能大赛 中职组“网络安全”赛项资源任务书样题② 模块A 基础设施设置与安全加固(200分)A-1 登录安全加固(Windows, Linux)A-2 Nginx安全策略(Linux)A-3日志监控(Windows)A-4中间件…...
嵌入式蓝桥杯学习9 usart串口
复制一下之前ADC的工程,打开cubemx cubemx配置 1.在Connectivity中点击USART1 Mode(模式):Asynchronous(异步模式) 2.将PA9设置为USART1_TX,PA10设置为USART1_RX。 3.配置Parameter Settings. Baud R…...