Aligning Large Language Models to a Domain-specific Graph Database

LLM 日更 同时被 2 个专栏收录
829篇文章
已下架不支持订阅

本文是LLM系列文章,针对《Aligning Large Language Models to a Domain-specific Graph Database》的翻译。

将大型语言模型与特定领域的图数据库对齐

摘要

图数据库(Graph DB)广泛应用于金融、社交网络和医学等各个领域。然而,由于其固有的复杂性和专业性,将自然语言(NL)翻译成图查询语言(GQL)(通常称为NL2GQL)被证明是具有挑战性的。一些方法试图利用大型语言模型(LLM)来处理类似的任务,如text2SQL。然而,当涉及到特定域上的NL2GQL任务时,由于缺乏特定于域的NL-GQL数据对,因此很难在LLM和图形DB之间建立对齐关系。为了应对这一挑战,我们提出了一个定义明确的管道。具体来说,我们利用ChatGPT在给定的图DB的基础上创建NL-GQL数据对,并进行自我指导。然后,我们使用创建的数据来微调LLM,从而实现LLM和图形DB之间的对齐。此外,在推理过程中,我们提出了一种方法,该方法提取与查询的NL相关的模式作为输入上下文,以指导LLM生成准确的GQL。我们在两个构建的数据集上评估了我们的方法,这两个数据集源自金融领域和医学领域的图数据库,即FinGQL和MediGQL。实验结果表明,我们的方法显著优于一组基线方法,EM上的绝对点分别提高了5.90和6.36,EX上的绝对值分别提高了6.00和7.09。

1 引言

2 相关工作

3 前言

4 我们的方法

5 实验

6 结论

在本文中,我们提出了一个管道,用于在给定的图数据库上寻址NL2GQL任务。首先,我们构建了一个基于图数据库的NL2

XiYan-SQL:⼀种多⽣成器集成的Text-to-SQL框架 本文提出 CYCLESQL 迭代框架,旨在解决 NL2SQL 中现有模型首次尝试时准确率低的问题。它引入基于数据的自然语言解释作为反馈,通过追踪数据来源、丰富语义、生成解释并验证翻译来优化结果。实验表明,CYCLESQL 显著提升了多个模型在多数据集上的翻译准确性,在执行和测试套件准确性方面表现突出,还通过定性评估证明了其解释对用户理解翻译过程有帮助,为 NL2SQL 研究提供了新方向。 阅读详情

相关推荐

NLP工程实战备忘录:从SimpleTOD到NERtwork的落地陷阱与修复

自然语言处理(NLP)不仅是模型训练,更是面向生产环境的系统工程。其核心原理在于将语言理解、实体识别、对话状态追踪等任务,通过可调试、可迁移、可验证的技术组件链进行端到端整合。技术价值体现在显著降低GPU显存占用、提升推理吞吐、增强中文实体归一化鲁棒性等工程指标;典型应用场景包括客服对话系统、推荐特征实时计算、知识图谱构建及语音问答服务。本文聚焦2020年关键NLP工程实践节点,深入解析SimpleTOD的上下文截断问题、TurboTransformers的动态内存池机制、NERtwork中OpenRefi

weixin_30251829的博客 455

Agentic RAG实战:五步决策流与双LLM协同架构

RAG(检索增强生成)作为缓解大模型幻觉、提升答案准确性的关键技术,其核心挑战在于静态检索无法应对动态知识需求。Agentic RAG 通过引入类人决策逻辑,将流程升级为‘判断-路由-检索-构建-生成’的闭环,显著提升系统对时效性、跨源性和模糊查询的响应能力。本文聚焦工程落地,详解如何基于 crewai 与 LangChain 构建可调试、可解释、可扩展的轻量级 Agentic RAG 系统,并深入剖析双 LLM 协同机制与 chunk_size=1000 的语义完整性设计原理,适用于企业知识库、合规问答、

weixin_30321449的博客 307

视觉特征-自监督-同源不同crop视图一致性【2023-04】:DINOv2(无监督学习鲁棒视觉特征)【12 亿张互不重复的图像】【判别式自监督方法】【交叉熵损失+iBOT损失】

近期,自然语言处理领域在大量数据上进行模型 Pretraining 取得的突破,为计算机视觉中类似Foundation Model 的发展开辟了道路。这些模型能够生成通用视觉特征,即无需微调即可跨图像分布和任务发挥作用的特征,从而大幅简化图像在任何系统中的使用。本研究表明,现有的 Pretraining 方法,尤其是自监督方法,如果在来自多样化来源的充足精选数据上进行训练,便能够产生此类特征。我们重新审视了现有方法,并结合不同技术,从数据规模和模型规模两方面扩展我们的 Pretraining。

u013250861的博客 374

NLP语义脉搏监测系统:轻量级新闻信号解码工作流

在自然语言处理(NLP)技术快速迭代的背景下,信息过载与噪声干扰严重制约工程师的技术决策效率。本文介绍一种面向工程实践的语义解码范式——将非结构化新闻流(如arXiv论文、Hugging Face更新、技术博客)通过规则引擎+轻量NLP模型进行语法剥离、语义锚定与关系编码,转化为结构化知识节点与可计算图谱。其核心价值在于以极低延迟(<3.2秒)、零依赖部署和高信噪比过滤,支撑算法工程师快速识别‘真正改变游戏规则’的技术信号,如模型发布、生态集成、指标突破等关键事件。该方法不依赖大模型推理,强调‘够用就好’的

weixin_30703911的博客 419

Cursor Pro/Ultra 本地AI编程生产力升级指南

AI编程助手已从辅助工具演进为深度耦合IDE的智能运行时环境。其核心原理在于将代码语义图谱、LLM推理引擎与实时执行沙盒集成,实现跨文件逻辑理解与上下文感知生成。技术价值体现在确定性补全、离线可用性及硬件级加速(如Intel Ultra 7+Ollama直连),显著提升中高级工程师在微服务维护、嵌入式开发(STM32)、虚拟化调试(VMware Workstation Pro)等复杂场景下的单位时间产出。本文聚焦Cursor Pro与Ultra版本的工程化落地,覆盖上下文优化、中文模型调优、私有知识库集成及

weixin_30463341的博客 337

RAG工程落地的六大决策维度与避坑指南

检索增强生成(RAG)并非简单连接大模型与向量库,而是一套需协同设计的信息流调度系统。其核心原理在于通过查询理解、文档切分、混合检索、可信源建模等多环节动态耦合,实现对LLM输出的事实锚定与可控生成。技术价值体现在显著降低幻觉率、提升答案溯源性与业务适配性,广泛应用于金融研报、法律问答、工业知识库等强合规、高准确率要求场景。本文基于17个真实项目经验,系统梳理RAG落地中必须决策的六大工程维度——检索粒度、查询理解深度、检索策略类型、生成控制强度、信息源可信度建模及反馈闭环设计,聚焦Query Unders

agtvo48266的专栏 520

Supervised Fine Tuning of Large Language Models for Domain Specific Knowledge Graph Construction:...

大语言模型与知识图谱在历史文化领域具有广阔的应用潜力,有助于文化遗产的挖掘、研究与理解。本文以近代湖湘文化孕育的湖南历史名人为案例,预训练大模型可协助研究者从文献中快速提取特定历史人物信息(包括基本详情、生平事件及社会关系)并构建结构化知识图谱,为相关研究提供支持。目前,湖南历史名人的系统性数据收集仍较为匮乏,且通用大语言模型在这类低资源场景中往往存在领域知识提取精度不足、结构化输出能力薄弱等问题。为此,本文提出一种面向领域特定大模型的有监督微调方法,以提升湖南历史名人信息提取的质量与效率。

c_cpp_csharp的专栏 130

GLaM: Fine-Tuning Large Language Models for Domain Knowledge Graph Alignment

将大型语言模型(LLM)与从特定领域数据派生的知识图谱相集成,代表着朝着更强大、更真实的推理方向迈出了重要的一步。随着这些模型的能力越来越强,使它们能够对真实世界的知识图谱执行多步骤推理,同时最大限度地减少幻觉,这一点至关重要。虽然大型语言模型擅长对话和文本生成,但它们在互联实体的领域专用图上推理的能力仍然有限。例如,我们能否根据私人数据库中的关系和属性,查询LLM,以确定专业网络中针对特定目标的最佳联系人?答案是否定的——这种能力超出了目前的方法。然而,这一问题凸显了一个必须解决的关键技术差距。

c_cpp_csharp的专栏 285

关于深度可分离卷积

关于深度学习中的深度可分离卷积

qq_45670407的博客 1796

从智能家居到智慧城市:AI Agent Harness Engineering 作为统一控制中枢

我们可以把每个独立的智能系统看作一根带有独立功能的电线:智能家居Agent是负责家庭设备控制的电线,社区Agent是负责社区管理的电线,城市交通Agent是负责交通调度的电线,而AHE就是把这些分散的电线整合起来的「智能线束」:它不仅负责把不同接口、不同协议、不同层级的Agent连接起来,还提供统一的编排、调度、协同、观测能力,实现全局效用最大化的智能决策。

AI Agent Harness Engineering 202

海康工业相机SDK+OpenCV实战:图像采集与Mat格式转换优化指南

本文深入探讨了如何高效利用海康工业相机SDK与OpenCV进行图像采集与处理。重点解析了从相机RawData到OpenCV Mat格式转换的核心优化技巧,包括像素格式匹配、内存零拷贝管理以及彩色图像BGR/RGB转换,旨在解决工业应用中常见的性能瓶颈与内存问题,构建稳定高效的图像处理流程。

weixin_29192211的博客 108

人工智能(AI)简史:推动新时代的科技力量

人工智能(AI,Artificial Intelligence)是计算机科学的一个分支,旨在研究和开发可以模拟、扩展或增强人类智能的系统。它涉及多种技术和方法,包括机器学习、深度学习、自然语言处理(NLP)、计算机视觉、专家系统等。

qq_17153885的博客 1万+

Tesseract-Ocr踩坑下载以及进行检验

1 OCR,即Optical Character Recognition:光学字符识别,是指通过扫描字符,然后通过其形状将其翻译成电子文本的过程。下载完成后进行解压找到这两个,然后复制到之前下载Tesseract-Ocr的tessdata文件下。可能会出现报错说chi下载的问题咱们不用管继续ok让它先下载完毕,后续会有下载chi的步骤。四、检验tesseract使用(将以下图片进行下载我这里将以下图片命名为3.png)我这里选的是2024年的版本如果下载不了;4 在安装的时候(找到下载的exe文件,双击)

m0_51428325的博客 1919

OpenClaw 最强技能 self-improving-agent 详解:让 AI 从错误中自主学习

self-improving-agent 是 OpenClaw 生态中最受欢迎的技能插件,下载量突破 268k。它能让 AI 记住犯过的错误和解决方案,实现持续自我改进。本文深入讲解其工作原理、安装配置和实战案例。测试数据显示:部署流程时间从 15 分钟降到 2 分钟(87%↓),API 调试时间从 2 小时降到 20 分钟,数据库查询编写时间减少 90%。文章包含完整架构图、配置文件示例、3 个详细实战案例和性能测试数据,适合开发者、运维和数据分析师使用。

qq_38610923的博客 3636

第一章:Profibus DP通信简介

PROFIBUS (Process Fieldbus)的缩写,是一种国际化的、开放的、不依赖于设备生产商的现场总线标准。它广泛应用于制造业自动化、流程工业自动化和楼宇、交通、电力等其他工业自动化领域。串行现场总线主要用来连接数字现场设备或中、低功能的系统,如传感器、执行机构、变送器、可编程序控制器(PLC)、数控装置(NC)、编程设备、本地人机接口等。

qq_22560021的博客 4897

DRV8311HRRWR直流无刷(BLDC)电机驱动原理图设计

DRV8311HRRWR集成三个MOSFET 半H桥,用于驱动三相无刷直流电机(BLDC),适用于5V、9V、12V或18V直流电源轨或1S至4S电池供电应用。内部集成三个具有集成电流感测功能的电流感测放大器(CSA),可感测BLDC电机的三相电流,从而实现FOC和电流控制系统设计方案。集成保护特性:VM 欠压锁定 (UVLO)、 电荷泵欠压 (CPUV)、过流保护 (OCP)、热警告和热关断 (OTW/OTSD)、故障条件指示引脚 (nFAULT)支持 1.8V、3.3V 和 5V 逻辑输入。

zhusl6688的博客 1228

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

上一篇: Knowledge Conflicts for LLMs: A Survey
下一篇: GraphEdit: Large Language Models for Graph Structure Learning
UnknownBody
博客等级 码龄16年 5601粉丝 4744原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

UnknownBody

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值