自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(103)
  • 收藏
  • 关注

原创 C语言中getchar() 和 putchar() 的用法

C语言中getchar() 和 putchar() 的用法getchar() 和 putchar() 是一对字符输入/输出函数.getchar()不带任何参数,他从输入序列中返回下一个字符。例如,下面的语句读取下一个字符输入,并把该字符的值赋给变量ch:ch = getcha();putchar()函数打印它的参数。例如,下面的语句把之前赋给ch的值作为字符打印出来:putchar(ch);由于这两个函数只处理字符,所以他们通常比scanf() 和printf() 函数更快更便捷。而且,ge

2020-06-12 11:17:44 77825 20

原创 【论文】Semantic Captioning: Benchmark Dataset and Graph-Aware Few-Shot In-Context Learning for SQL2Text

语义解析(Semantic Parsing)、大语言模型(LLMs)、SQL 代码解释(SQL2Text)进行 ICL 示例选择,以提高小型 LLMs 在 SQL 语义描述任务上的表现。: 研究 SQL 查询的自然语言描述(SQL2Text),并提出基于。,提升 LLM 在 SQL 代码解释中的能力。,为低计算成本的 SQL 代码理解提供了新思路。方法,以提高小型 LLMs 的生成质量。的 SQL2Text 生成方法,并利用。

2025-03-15 21:08:59 493

原创 【Java 面试 八股文】计算机网络篇

HTTP(HyperText Transfer Protocol,超文本传输协议)是一种用于客户端(浏览器)和服务器之间通信的协议,主要用于传输网页数据,如HTML、CSS、JavaScript以及API请求等。它是无状态的,即每个请求都是独立的,服务器不会记录之前的请求信息。HTTP 和 HTTPS 的区别:1. 安全性:HTTP:数据是明文传输的,容易被中间人攻击、窃听和篡改。HTTPS:使用SSL/TLS(安全套接层/传输层安全协议)加密数据,提高数据的机密性和完整性,防止信息被窃取或篡改。

2025-03-10 19:56:08 829

原创 【Java 面试 八股文】JVM 虚拟机篇

线程私有的,内部保存的字节码的行号。用于记录正在执行的字节码指令的地址。javap -verbose xx.class 打印堆栈大小,局部变量的数量和方法的参数。难易程度:☆☆☆出现频率:☆☆☆☆线程共享的区域:Java堆 (Heap) 是Java虛拟机中内存管理的一个重要区域,主要用于存放对象实例和数组。当堆中没有内存空间可分配给实例,也无法再扩展时,则抛出OutOfMemoryError异常。

2025-02-23 17:40:38 1621

原创 【Java 面试 八股文】并发编程篇

是多线程中的队列同步器(AbstractQueuedSynchronizer)。是一种锁机制,它是做为一个基础框架使用的,像ReentrantLock、Semaphore都是基于AQS实现的AQS内部维护了一个先进先出的双向队列,队列中存储的排队的线程在AQS内部还有一个属性state,这个state就相当于是一个资源,默认是0 (无锁状态),如果队列中的有一个线程修改成功了state为1,则当前线程就相等于获取了资源在对state修改的时候使用的 CAS 操作,保证多个线程修改的情况下原子性。

2025-02-18 16:48:23 973

原创 【Java 面试 八股文】常见集合篇

首先获取key的hashCode值,然后右移16位 异或运算 原来的hashCode值,主要作用就是使原来的hash值更加均匀,减少hash冲突。在putVal方法中,有一个hash(key)方法,这个方法就是来去计算key的hash值的,看下面的代码。在添加或删除节点的时候,如果不符合这些性质会发生旋转,以达到所有的性质,保证红黑树的平衡。(n-1)&hash : 得到数组中的索引,代替取模,性能更好,数组长度必须是2的n次幂。性质5:从任一节点到叶子节点的所有路径都包含相同数目的黑色节点。

2025-02-16 11:46:06 936

原创 【Java 面试 八股文】Spring Cloud 篇

候选人:创建一个类实现IRule接口,这将定义全局的负载均衡策略。在客户端配置文件中指定特定服务调用的负载均衡策略,这将仅对该服务生效。候选人:服务雪崩是指一个服务的失败导致整个链路的服务相继失败。服务降级:在请求量突增时,主动降低服务的级别,确保核心服务可用。服务熔断:当服务调用失败率达到一定阈值时,熔断机制会启动,防止系统过载。

2025-02-15 20:37:08 1043

原创 【LeetCode Hot100 普通数组】最大子数组和、合并区间、旋转数组、除自身以外数组的乘积、缺失的第一个正整数

【LeetCode Hot100 普通数组】最大子数组和、合并区间、旋转数组、除自身以外数组的乘积、缺失的第一个正整数

2025-02-15 17:56:31 605

原创 【LeetCode Hot100 子串】和为 k 的子数组、滑动窗口最大值、最小覆盖子串

给定一个整数数组 和一个整数 ,你需要在数组中找到连续子数组的个数,使得这些子数组的和等于 。我们可以通过 前缀和 的方法来高效解决这个问题,结合 哈希表 来记录每个前缀和出现的次数,从而迅速计算出满足条件的子数组。前缀和的定义:如何利用哈希表:核心算法:初始化:遍历数组:返回结果:2. 滑动窗口最大值题目描述给定一个整数数组 和一个滑动窗口的大小 ,请你在数组中找出每个滑动窗口的最大值,并返回一个数组。这道题目是一个典型的滑动窗口问题。直接暴力计算每个窗口中的最大值的时间复杂度是 ,这种做法在数

2025-02-13 18:12:48 955

原创 【Java 面试 八股文】框架篇

AOP,即面向切面编程,在Spring中用于将那些与业务无关但对多个对象产生影响的公共行为和逻辑抽取出来,实现公共模块复用,降低耦合。常见的应用场景包括公共日志保存和事务处理。

2025-02-13 11:23:01 652

原创 【LeetCode Hot100 滑动窗口】无重复字符的最长子串、找到字符串中所有字母异位词

【LeetCode Hot100 滑动窗口】无重复字符的最长子串、找到字符串中所有字母异位词

2025-02-12 11:35:37 837

原创 【LeetCode Hot100 双指针】移动零、盛最多水的容器、三数之和、接雨水

【LeetCode Hot100 双指针】移动零、盛最多水的容器、三数之和、接雨水

2025-02-11 21:57:22 655

原创 【Java 面试 八股文】MySQL 篇

索引在项目中非常常见,它是一种帮助MySQL高效获取数据的数据结构,主要用来提高数据检索效率,降低数据库的I/O成本。同时,索引列可以对数据进行排序,降低数据排序的成本,也能减少CPU的消耗。聚簇索引(聚集索引)是指数据与索引放在一起,B+树的叶子节点保存了整行数据,通常只有一个聚簇索引,一般是由主键构成。非聚簇索引(二级索引)则是数据与索引分开存储B+树的叶子节点保存的是主键值,可以有多个非聚簇索引,通常我们自定义的索引都是非聚簇索引。

2025-02-11 17:23:49 1117

原创 【LeetCode Hot100 哈希】两数之和、字母异位词分组、最长连续序列

【LeetCode Hot100 哈希】两数之和、字母异位词分组、最长连续序列

2025-02-11 10:36:10 855

原创 【Java 面试 八股文】Redis篇

缓存穿透是指客户端请求的数据在缓存中和数据库中都不存在,这样缓存永远不会生效,这些请求都会打到数据库。这将导致这个不存在的数据每次请求都要到 DB 去查询,可能导致 DB 挂掉。这种情况大概率是遭到了攻击。解决方案的话,我们通常都会用缓存空对象或者布隆过滤器来解决它。缓存空对象优点:实现简单,维护方便缺点:额外的内存消耗,可能造成短期的不一致布隆过滤优点:内存占用较少,没有多余key缺点:实现复杂,存在误判可能(有穿透的风险),无法删除数据。

2025-02-10 20:45:23 2019 2

原创 【LeetCode Hot100 堆】第 K 大的元素、前 K 个高频元素

【LeetCode Hot100 堆】第 K 大的元素、前 K 个高频元素

2025-02-09 17:09:37 853

原创 【LeetCode Hot100 回溯】组合、排列、子集、分割、N皇后、单词搜索、括号生成、电话号码的字母组合

回溯算法的应用总结

2024-12-29 21:14:42 920

原创 滑动窗口 + 哈希表 解决最小覆盖子串问题

【代码】滑动窗口 + 哈希表 解决最小覆盖子串问题。

2024-11-07 16:41:12 228

原创 在排序数组中查找元素的第一个和最后一个位置

两种解法,第一种是我做的时候的解法,第二种是我看题解当中一个比较容易理解的做法。第一种,一次二分法,然后从mid开始往两边找边界,注意数组的临界值情况。第二种两次二分法,分别查找左边界和有边界,比较好理解。

2024-10-24 17:14:25 256

原创 Chat2VIS: Generating Data Visualizations via Natural Language

数据可视化领域一直致力于设计直接从自然语言文本生成可视化的解决方案。自然语言接口 (NLI) 的研究为这些技术的发展做出了贡献。然而,由于自然语言固有的模糊性,以及不明确和编写不良的用户查询,使得现有语言模型在识别用户意图方面存在问题,因此实现可行的 NLI 一直具有挑战性。本研究并没有遵循开发语言模型新迭代的常规路径,而是独特地提出利用预训练大型语言模型(LLM)的进步,如 ChatGPT 和 GPT-3,将自由形式的自然语言直接转换为代码,以实现适当的可视化。

2024-09-20 10:06:19 1339 1

原创 通过微调预训练模型得到自己的模型

在这篇博客中,我们将介绍如何通过预训练模型进行微调来得到自己的模型。我们将使用Hugging Face的Transformers库和一个BART模型进行示例演示。整个过程包括环境准备、数据准备、模型加载、数据预处理、训练参数设置、训练、评估和保存模型。

2024-08-28 15:11:06 505 1

原创 【论文阅读】Automated Data Visualization from Natural Language via Large Language Models

自然语言到可视化(NL2Vis)任务旨在将自然语言描述转换为基础表的可视化表示,使用户能够从大量数据中获得洞察力。最近,针对NL2Vis开发了许多基于深度学习的方法。尽管这些方法做出了相当大的努力,但在可视化来自未见过的数据库或跨多个表的数据方面仍然存在挑战。从大型语言模型(llm)卓越的生成能力中获得灵感,本文进行了一项实证研究,以评估它们在生成可视化方面的潜力,并探索上下文学习提示对增强这一任务的有效性。

2024-05-21 11:12:49 764 1

原创 《最优化方法》复习笔记

2024-04-22 12:59:32 445

原创 【论文阅读】通过组件对齐评估和改进 text-to-SQL 的组合泛化

在 text-to-SQL 任务中,正如在许多 NLP 中一样,组合泛化是一个重大挑战:神经网络在训练和测试分布不同的情况下难以实现组合泛化。然而,最近改进这一点的尝试都是基于单词级合成数据或特定数据集分割来生成组合偏差。在这项工作中,我们提出了一种子句级组合示例生成方法。我们首先将Spider文本转SQL数据集中的句子拆分为子句子,用相应的SQL子句注释每个子句子,从而得到一个新的数据集Spider-SS。

2024-03-20 09:46:22 1323 1

原创 探索ChatGPT时代下的下一代信息检索系统:机遇与挑战

ChatGPT 标志着生成人工智能领域的显着进步,丰富了多种信息检索任务。然而,这一进步并非没有挑战。错误信息、虚假信息和潜在滥用有害内容等道德困境引起了严重关注。此外,可解释性的挑战仍然是一个巨大的障碍。为了应对这些挑战,最近的工作在这些领域取得了长足的进步。我们注意到,公平检索方法已显示出减轻 PLLM 偏见的潜力,促进更公平和公正的内容生成。此外,检索增强学习方法的应用已被认为有利于解决可解释性问题。

2024-03-18 20:37:04 1898 1

原创 【论文阅读】Relation-Aware Graph Transformer for SQL-to-Text Generation

SQL2Text 是一项将 SQL 查询映射到相应的自然语言问题的任务。之前的工作将 SQL 表示为稀疏图,并利用 graph-to-sequence 模型来生成问题,其中每个节点只能与 k 跳节点通信。由于无法捕获长期且缺乏特定于 SQL 的关系,这样的模型在适应更复杂的 SQL 查询时将会退化。为了解决这个问题,我们提出了一种 Relation-Aware Graph Transformer(RGT)来同时考虑 SQL 结构和各种关系。具体来说,为每个SQL构建一个抽象的SQL语法树来提供底层关系。

2024-01-16 17:09:46 1445 1

原创 【论文笔记】Summarizing source code through heterogeneous feature fusion and extraction

在 HetSum 的和基础上,提出 HetCoS 通过探索源代码固有的异构性来提取源代码的语法和顺序特征以进行代码摘要。具体来说,我们首先构建一个异构代码图(HCG),它将语法结构和代码序列与图节点之间设计的八种类型的边/关系融合在一起。此外,我们提出了一种异构图神经网络来捕获 HCG 中的不同关系。然后将表示的 HCG 输入 Transformer 解码器,然后采用基于多头注意力的复制机制来支持高质量摘要生成。

2024-01-11 10:32:52 1131 1

原创 【论文笔记】Summarizing source code with Heterogeneous Syntax Graph and dual position

在本文中,我们提出了一个名为 HetSum 的新颖框架。具体来说,首先通过在 AST 中设计六种类型的增强边来构建异构语法图(HSG),这表明了源代码的异构结构。同时,考虑布局信息,为源代码中的每个标记设计了双重位置。此外,我们在 HetSum 中开发了异构图神经网络来对 HSG 进行编码,同时使用 Transformer 编码器提取代码布局特征。通过将学习到的代码标记向量同化到 HSG 编码器中,HetSum 可以捕获两个编码器之间的关系,以改进代码表示。

2024-01-08 16:07:22 1329 1

原创 【论文笔记】An Extractive-and-Abstractive Framework for Source Code Summarization

2. Model抽象器的训练通过六个步骤完成:➃ 提取重要语句(IState),➄ 和 ➅ 生成重要语句和整个代码的嵌入表示(eExe^{Ex}eEx和eAbe^{Ab}eAb) ➆ 基于eExe^{Ex}eEx和eAbe^{Ab}eAb生成融合表示eFue^{Fu}eFu,➇ 生成预测摘要,以及 ➈ 根据预测摘要(PSummaries)和真实摘要(注释)计算损失 {L_Ab} 以更新模型参数。提取重要语句。

2024-01-03 21:04:24 1409 1

原创 【论文笔记】A Transformer-based Approach for Source Code Summarization

为了学习序列中标记的顺序并对标记之间的关系进行建模,Transformer 需要注入位置编码。在这项工作中,本方法表明,通过使用相对位置表示对源代码标记之间的成对关系进行建模,相较于使用绝对位置表示学习代码标记的序列信息会取得更显著的改进。在本节中,将简要描述 Transformer 架构以及如何在 Transformer 中对源代码标记的顺序或其成对关系进行建模。相反,它们的相互作用会影响源代码的含义。然而,我们表明,捕获代码标记的顺序对学习源代码表示没有帮助,并且会导致摘要性能较差。

2023-12-05 21:20:31 1765 1

原创 【论文阅读】SCRIPT:Source Code Summarization with Structural Relative Position Guided Transformer

在本文中,我们提出了一种名为 SCRIPT 的基于 Transformer 的神经方法,它可以很好地学习代码的结构语义以进行源代码摘要。为了利用这两种 Transformer 编码器,我们引入了 SCRIPT 编码器模块,它是两种类型 Transformer 的堆栈,即 RDW-Transformer 和 SRPEi-Transformer。这样的表示有一个好处,就是位置矩阵 M 可以很容易地集成到 Transformer 中,而无需改变 Transformer 的架构。具体来说,我们将 AST 中令牌。

2023-11-16 10:35:55 241 1

原创 【论文笔记】Self-Attention with Relative Position Representations

本文则是从Self-Attention机制内部出发,通过在计算过程中引入token之间的相对位置关系向量,打破了Self-Attention机制的Permutation-Invariant特性,从而更高效地完成了位置信息的编码,性能得到了提升。本文扩展自注意力以考虑输入元素之间的成对关系,从这个意义上讲,就是将输入建模为标记的(labeled),有向的( directed),完全连接的图( fully-connected graph)。的表示,将输入元素之间的edge表示为。个唯一的edge标签。

2023-11-15 15:51:09 637

原创 What Do They Capture? - A Structural Analysis of Pre-Trained Language Models for Source Code

- 分析自注意力权重(self-attention weights),并将权重与语法结构对齐。给定一个代码片段,我们的假设是,如果两个 token 在AST中彼此接近,即具有邻域关系,则分配给它们的关注权重应该很高。我们的分析表明,attention 可以捕捉源代码的高级结构属性,即 AST 中的基序结构。- 设计了一种结构探测方法,以研究语法结构是否嵌入到了 预训练模型的线性变换的上下文词嵌入中。- 研究了源代码的预训练语言模型是否能够在没有训练的情况下生成语法树。

2023-11-15 09:51:03 153

原创 SynCoBERT:语法引导的多模态对比预训练用于代码表示。

提出了SYNCOBERT,一个语法引导的多模态对比预训练框架,用于代码表示。我们设计了两个新的预训练目标来编码编程语言的符号和语法信息。第一个IP目标预测代码token是否是标识符。第二个TEP目标预测AST的两个节点之间的边。提出了一种多模态对比预训练策略,该策略通过**对比学习**来学习更全面的表征,从而最大化不同模态(代码、注释和AST)之间的相互信息。

2023-11-08 20:25:43 473 1

原创 TreeBERT:基于树的编程语言预训练模型。

使用字节对编码(BPE),从AST的值节点和代码片段中学习最常见的 subtoken,并对其进行切片,例如 “third_party” 可能被切片成 “third” ,“-” 和 “party”,使用过程每个token 的所有 subtoken 的向量和来表示完整的 token。中的值节点对应的 tokens,屏蔽代码片段 C 中的其他节点。代码是强结构化的,代码的语义依赖于要表示的具有不同语法结构的程序语句和表达式的组合,不能仅仅采用类似于自然语言的处理方法(简单的将代码建模为单词序列)。

2023-11-06 11:13:20 523

原创 GraphCodeBert:基于数据流的代码表征预训练模型

对于 X 中的每一个 token,它的输入向量是通过将其对应的token和位置嵌入(position embedding)相加构建而来的。MLM用于源码表示学习,MLM目标是预测随机抽样Masked token的原始token,如果源码上下文不足以推出 masked code token,可以使用注释上下文信息,从而促进模型对齐 NL-PL 表示。= { [CLS],W,[SEP],C,[SEP],V },其中 [CLS] 是三个段前的特殊token,[SEP]是分割两种数据类型的特殊token。

2023-11-06 09:14:42 890

原创 【模式识别】贝叶斯决策模型理论总结

概率与我们的生存、生活是密不可分的,在我们的生活中要想使我们的期望效用最大化,我们必须考虑各种客观条件的存在,用理性的科学的思维去判断问题、分析问题,最终做出正确的决策。在做最小最大贝叶斯决策时,若考虑P(w_i)有可能改变或对先验概率毫不知晓的情况下,应选择贝叶斯风险R为最大值时的P(w_i)来设计分类器,此时能保证其风险相对于其它的P(w_i)为最大,而能保证在不管P(w_i)如何变化,使最大最小风险为最小。通常,事件A在事件B(发生)的条件下的概率,与事件B在事件A的条件下的概率是不一样的;

2023-10-25 21:03:11 3143

原创 【深度学习】RNN循环神经网络和LSTM深度学习模型

RNN memory里面的值每一次都会被清空,而LSTM 里面的 memory 是一直被叠加的,除非忘记门被关闭的时候才会清空。这里的门可以理解成为一个激活函数,这个激活函数通常是 sigmoid 函数,因为经过 sigmoid 函数的值在0和1之间,用来控制门的关闭和打开。循环神经网络的一个核心是可以把前面的序列数据用到后面的结果预测里面。第一,前部序列信息在传递到后部的同时,信息权重下降,导致重要信息丢失。求解过程中梯度消失。在最小化损失函数的过程中,会遇到梯度突然剧烈抖动的情况,从而导致参数丢失。

2023-09-27 19:24:25 1862 1

原创 【李宏毅 | 深度学习】自注意力机制(Self-attention)

但是在上图的例子中,一句话中的两个saw是不同词性的,但是通过相同的网络得到输出没有理由是不一样的,因为输入的向量完全一样。如果增加输入的复杂度,例如输入的是多个向量,或者每次输入的向量的个数是会改变的。例如,在文字处理中,如果把一句话中的每一个单词作为一个向量,那么一个输入就会有多个向量,又因为不同样本的句子长度不同,所以每次输入的向量的个数也是会改变的。首先 Self-attention 的输入是多个向量,这些向量可能是一整个神经网络的输入,也可能是某个隐藏层的输出,所以在这里用。

2023-09-22 20:45:00 1190

原创 深度学习——卷积神经网络

卷积神经网络1 计算机视觉 (Computer Vision)2 边缘检测示例 (Edge Detection Example)3 更多边缘检测内容 (More Edge Detection Example)4 Padding5 卷积步长 (Strided Convolutions)6 三维卷积 (Convolutions Over Volumes)7 单层卷积网络 (One Layer of a Convolutional Network)8 池化层 (Pooling Layers)9 卷积神经网络示例1

2023-09-20 16:16:03 553

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除