基于大模型的idea提炼:围绕论文和引用提炼idea之ResearchAgent

2024-05-06 23:52

本文主要是介绍基于大模型的idea提炼:围绕论文和引用提炼idea之ResearchAgent,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言

对本博客比较熟悉的朋友知道,我司论文项目组正在基于大模型做论文的审稿(含CS英文论文审稿、和金融中文论文审稿)、翻译,且除了审稿翻译之外,我们还将继续做润色/修订、idea提炼(包含论文检索),是一个大的系统,包含完整的链路

由于论文项目组已壮大到18人,故目前在并行多个事,且我也针对idea提炼做一下技术探索,本文解析关于idea提炼的两篇论文

  1. 我司论文项目组三太子在内部18人大群里4.14发的这篇:ResearchAgent: Iterative Research Idea Generation over Scientific Literature with Large Language Mode
  2. // 待定

第一部分 ResearchAgent: 围绕论文和引用提炼idea

1.1 从ResearchAgent到ReviewingAgent:idea的生成与其迭代

考虑到LLMs可以处理和分析大量的文献资料,并以超越人类能力的速度和规模处理数据,还可以识别人类研究者可能立即无法察觉的模式、趋势和相关性,从而使LLM能够发现原本未被发现的新的研究机会。 此外,LLM还可以通过进行实验和解释结果来协助实验验证,从而显着加快研究周期

近日,来自韩国的一研究团队便基于LLM做了相关尝试,即研究思路生成,其中包括问题识别、方法开发和实验设计(research idea generation, which involves problem identification, method development, and experiment design)

那基于LLM如何提炼idea呢?其实和科研人设计idea的过程差不太多,比如首要的第一步便是阅读大量相关领域的paper,然后提炼出一个逐步的idea,最后针对这个初步的idea反复自我审视及让同行给予反馈、评价,以不断完善该idea

换言之,只阅读某篇论文及其对应的参考文献,从而根据references and citation relationship提炼idea可能不太够

  1. 首先构建一个知识存储,从科学文章中找到并聚合实体共现。 这个以实体为中心的知识存储捕捉了不同实体之间的相互关联性,并通过潜在的概念和原则为其检索到的知识提供了有价值的见解;我们将展示这些见解对我们的问题非常有价值。
  2. 此外,为了通过迭代改进增强生成的研究创意,我们设计了多个审查代理,每个代理都对开发的创意生成评论和反馈,具有自己的评估标准

1.1.1 ResearchAgent的流程:基于LLM确定问题、方法、实验

为了完成上述步骤,现有的文献(例如学术出版物)被用作主要来源,提供关于现有知识以及差距和未解答问题的见解

形式上,设\mathcal{L}为文献, O为由问题p、方法m和实验设计d组成的想法,表示如下:o= [p, m, d],其中每个项目由一系列tokens组成,[\cdot]表示连接操作

然后,idea生成模型 f 可以表示如下:\boldsymbol{o}=f(\mathcal{L}),进一步分解为三个子模块步骤:

  1. \boldsymbol{p}=f(\mathcal{L})用于确定问题
  2. l_{0}\boldsymbol{m}=f(\boldsymbol{p}, \mathcal{L})用于开发方法
  3. 以及\boldsymbol{d}=f(\boldsymbol{p}, \boldsymbol{m}, \mathcal{L})用于设计实验

在这项工作中,依赖LLMs来操作 f,利用它们理解和生成学术文本的能力(we operationalize f with LLMs, leveraging their capability to understand and generate academic text),具体而言

LLM接受一个输入token序列 x并生成一个输出token序列 y,表示为:\boldsymbol{y}=\operatorname{LLM}_{\theta}(\mathcal{T}(\boldsymbol{x})),其中 \theta是模型参数,在训练后固定不变(毕竟进一步微调的成本很高), T是提示模板(prompt template),是一个结构化的格式,概述了上下文(包括任务描述和指示)以指导模型生成所需的输出

从而上述三个子模块便变成了

  1. 确定问题:\boldsymbol{p}=\operatorname{LLM}\left(\mathcal{T}_{p}(\mathcal{L})\right.
  2. 确定方法:\boldsymbol{m}=\operatorname{LLM}\left(\mathcal{T}_{m}(\boldsymbol{p}, \mathcal{L})\right.
  3. 确定实验:\boldsymbol{d}=\operatorname{LLM}\left(\mathcal{T}_{e}(\boldsymbol{p}, \boldsymbol{m}, \mathcal{L})\right.

对于 LLM,我们通过提供一篇核心论文l_{0}\mathcal{L}开始,然后根据citation graph选择性地纳入后续论文\left\{l_{1}, \ldots, l_{n}\right\},这些论文与核心论文直接相关,从而使得用于生成研究想法的 LLM输入更加可管理和连贯「we initiate its literature review process by providing a core paper l0 from L and then selectively incorporating subsequent papers {l1, ..., ln} that are directly related to it based on a citation graph

对于核心论文及其相关引文(relevant citations)的选择

  1. 核心论文基于其引用计数进行选择(例如,在3个月内超过100次),通常表示具有高影响力
  2. 其相关论文(可能非常多)根据其摘要与核心论文的相似性进一步缩小范围,确保得到更加专注和相关的相关paper集合

1.1.2 ResearchAgent的增强:通过实体链接方法提取术语数据库

然后,核心论文及其引用的数量毕竟有限,所能带来的上下文知识范围过于局限,而使得无法提出更好的idea

  1. 好在我们可以使用现有的现成实体链接方法(实体链接是一个将文本中的不同实体识别并映射到知识库中实体的过程)在任何论文中提取术语数据库(term database),并将这些链接的出现聚合到一个知识库中
    we can easily extract the term database whenever it appears in any paper, using existing off-the-shelf entity linking methods and then aggregate these linked occurrences into a knowledge store.
  2. 然后,如果术语数据库在医学科学领域中普遍存在,但在血液学(医学科学的一个子领域)中不太常见,构建的知识库基于除数据库之外的重叠实体捕捉了这两个领域之间的相关性,然后便可在制定有关血液学的想法时提供术语数据库
    Then, if the term database is prevalent with in the realm of medical science but less so in hematology (which is a subdomain of medical science), the constructed knowledge store captures the relevance between those two domains based on overlapping entities (other than the database) and then offers the term database when formulating the ideas about hematology.

    换句话说,这种方法通过利用各个领域之间的相互关联性,能够提供新颖和跨学科的见解
    In other words, this approach enables providing novel and interdisciplinary insights by leveraging the interconnectedness of entities across various field

具体的执行步骤为

  1. 将知识存储设计为一个二维矩阵\mathcal{K} \in \mathcal{R}^{m \times m},其中 m是已识别的唯一实体的总数,而K以稀疏格式实现
    这个知识存储是通过从所有可用的科学文献\mathcal{L}(由于无法提取所有可用文章中的实体,故这里的目标是针对2023年5月1日之后出现的论文)中提取实体构建的,它不仅计算了个别论文中实体对的共现次数,还量化了每个实体的计数
    此外,为了操作化实体提取,我们使用了现有的实体链接器 EL(Scalable zeroshot entity linking with dense entity retrieval),它在特定论文l\mathcal{L}中标记和规范化实体,形式化如下: \mathcal{E}_{l}=\mathrm{EL}(l),其中\mathcal{E}_{l}表示出现在l^{3}中的实体的多重集(允许重复)

    在提取实体\mathcal{E}后,为了将它们存储到知识存储\mathcal{K}中,我们考虑了所有可能的\mathcal{E}对,表示如下: \left\{e_{i}, e_{j}\right\}_{(i, j) \in \mathcal{C}(|\mathcal{E}|, 2)},其中e \in \mathcal{E},然后将其记录到 \mathcal{K}
  2. 鉴于这个知识库\mathcal{K},下一个目标是基于一组相互连接的论文增强基于语言模型的研究想法生成过程(Given this knowledge store K, our next goal is to enhance the vanilla research idea generation process based on a group of inter connected paper),表示如下:\boldsymbol{o}=\operatorname{LLM}\left(\mathcal{T}\left(\left\{l_{0}, l_{1}, \ldots, l_{n}\right\}\right)\right)
    使得我们可以通过“知识库\mathcal{K}中的相关实体”这个额外的知识来源来扩展LLM的上下文知识。 换句话说,这些知识在当前的论文组中没有出现,但与之相关,在\mathcal{K}中基于实体(共现)信息进行识别(this knowledge is not seen in the current group of papers but is relevant to it, identified based on entity (co-)occurrence information stored in K)
  3. 形式上,定义从相互连接的论文组中提取的实体如下:
    \mathcal{E}_{\left\{l_{0}, \ldots, l_{n}\right\}}=\bigcup_{i=0}^{n} \operatorname{EL}\left(l_{i}\right)
    因此,检索前k个相关外部实体的概率形式可以表示如下
    \operatorname{Ret}\left(\left\{l_{0}, \ldots, l_{n}\right\} ; \mathcal{K}\right)=\underset{I \subset[m]:|I|=k}{\arg \max } \prod P\left(e_{i} \mid \mathcal{E}_{\left\{l_{0}, \ldots, l_{n}\right\}}\right)
    其中[m]=\{1, \ldots, m\}e_{i} \notin \mathcal{E}_{\left\{l_{0}, \ldots, l_{n}\right\}}。此外,为了简化起见,通过应用贝叶斯规则并假
    设实体是独立的,上面的检索前k个相关外部实体的操作可以近似表示如下:
    \left.\underset{I \subset[m]:|I|=k}{\arg \max } \prod_{e_{j} \in \mathcal{E}_{\left\{l_{0}, \ldots, l_{n}\right\}}} P\left(e_{j} \mid e_{i}\right)\right) \times P\left(e_{i}\right)
    其中P\left(e_{j} \mid e_{i}\right)P\left(e_{i}\right)可以从二维\mathcal{K}中的值中推导出来,适当进行归一化
  4. 最终,使用相关实体为中心的知识增强的研究提案生成实例
    表示如下:o = \operatorname{LLM}\left(\mathcal{T}\left(\left\{l_{0}, l_{1}, \ldots, l_{n}\right\}, \operatorname{Ret}\left(\left\{l_{0}, \ldots, l_{n}\right\} ; \mathcal{K}\right)\right)\right)

总之,将这种知识增强的LLM驱动的思路生成方法称为ResearchAgent,下面的三个图中(点击对应图片即可放大查看)

 

  • 左图:通过ResearchAgent提出问题,大意是
    我将提供目标论文、相关论文和实体,如下所示:
    目标论文标题:{paper['title']}
    目标论文摘要:{paper['abstract']}
    相关论文标题:{relatedPaper['titles']}
    相关论文摘要:{relatedPaper['abstracts']}
    实体:{Entities}
    有了提供的目标论文、相关论文和实体,你现在的目标是制定一个研究问题,不仅建立在这些现有研究的基础上,而且要具有原创性、清晰性、可行性、相关性和重要性。 在制定研究问题之前,重新审视目标论文的标题和摘要,确保它仍然是你研究问题识别过程的焦点。
    目标论文标题:{paper['title']}
    目标论文摘要:{paper['abstract']}

    然后,在您对上述内容进行审查后,请按照以下格式生成一个带有理论基础的研究问题
    研究问题:
    理论基础:
  • 中图,通过ResearchAgent生成方法,大意是
    我将提供研究问题、现有研究(目标论文和相关论文)以及实体,如下所示:
    研究问题:{researchProblem}
    基本原理:{researchProblemRationale}
    目标论文标题:{paper[’title’]}
    目标论文摘要:{paper[’abstract’]}
    相关论文标题:{relatedPaper[’titles’]}
    相关论文摘要:{relatedPaper[’abstracts’]}
    实体:{Entities}
    根据提供的研究问题、现有研究和实体,你的目标是制定一种方法,不仅利用这些资源,而且力求清晰、创新、严谨、有效和可推广。 在制定方法之前,重新审视研究问题,确保它仍然是你方法开发过程的焦点。
    研究问题:{researchProblem}
    理论基础:{researchProblemRationale}

    然后,在审查上述内容后,请按照以下格式提出你的方法及其理论基础:
    方法:
    理论基础:
  • 右图,通过ResearchAgent生成实验设计,大意是
    我将提供研究问题、科学方法、现有研究(目标论文和相关论文)和实体,如下所示:
    研究问题:{researchProblem}
    基本原理:{researchProblemRationale}
    科学方法:{scientificMethod}
    基本原理:{scientificMethodRationale}
    目标论文标题:{paper[’title’]}
    目标论文摘要:{paper[’abstract’]}
    相关论文标题:{relatedPaper[’titles’]}
    相关论文摘要:{relatedPaper[’abstracts’]}
    实体:{Entities}
    根据提供的研究问题、科学方法、现有研究和实体,你的目标是设计一个实验,不仅利用这些资源,而且力求清晰、健壮、可重复、有效和可行。 在制定实验设计之前,重新审视研究问题和提出的方法,确保它们仍然是实验设计过程的核心。
    研究问题:{researchProblem}
    理论基础:{researchProblemRationale}
    科学方法:{scientificMethod}
    理论基础:{scientificMethodRationale}

    然后,在审查上述内容后,请按照实验的格式和理论基础,概述你的实验及其理论基础
    实验设计:
    理论基础:

1.1.3 ReviewingAgent给反馈:通过与人类偏好对齐的LLM Agents迭代研究思路

当拿到初步的idea之后(包括其对应的问题、方法、实验设计),ReviewingAgents还会根据特定的标准提供review和反馈,以验证生成的研究思路

具体而言,类似于我们使用LLM和模板T实例化ResearchAgent的方法,ReviewingAgents也是类似地实例化,但使用不同的模板,如下面的三个图所示,分别涉及
 

  • 对ResearchAgent所提出问题的评价
    现有研究(目标论文和相关论文)如下:
    目标论文标题:{paper['title']}
    目标论文摘要:{paper['abstract']}
    相关论文标题:{relatedPaper['titles']}
    相关论文摘要:{relatedPaper['abstracts']}
    现在,按照系统的方式进行您的{指标}评估方法:- 首先彻底阅读研究问题及其基本原理,牢记上述现有研究提供的背景信息。
    - 接下来,生成一篇评论和反馈,应该是建设性的、有帮助的和简明的,重点关注问题的{指标}。
    - 最后,使用5分Likert量表给出一个评分,1表示最低,请确保进行有鉴别力和批判性的评估,避免倾向于统一高分(4-5),除非完全有理由:{标准}
    我将提供研究问题及其理论基础,如下所示:
    研究问题:{研究问题}
    理论基础:{研究问题理论基础}
    在您评估上述内容之后,请以以下格式提供您的评论、反馈和评分:
    反馈:
    评分(1-5):
  • ResearchAgent所提出方法的评价
    研究问题和现有研究(目标论文和相关论文)如下:
    研究问题:{researchProblem}
    理由:{researchProblemRationale}
    目标论文标题:{paper[’title’]}
    目标论文摘要:{paper[’abstract’]}
    相关论文标题:{relatedPaper[’titles’]}
    相关论文摘要:{relatedPaper[’abstracts’]}
    现在,继续你的{度量}评估方法,应该是系统的:- 首先,彻底阅读提出的方法及其基本原理,牢记研究问题所提供的背景和上述现有研究。
    - 接下来,生成一个评论和反馈,应该是建设性的、有帮助的和简洁的,重点关注方法的{度量}。
    - 最后,使用5分Likert量表给出一个评分,1表示最低,请确保进行有鉴别力和批判性的评估,避免倾向于统一高分(4-5),除非完全有理由:{标准}
    我将提供以下关于提出的方法及其基本原理的信息:
    科学方法:{科学方法}
    基本原理:{科学方法基本原理}
    在您评估上述内容之后,请以以下格式提供您的评论、反馈和评分:
    反馈:
    评分(1-5):
  • 所提出的实验设计的评价

    研究问题、科学方法和现有研究(目标论文和相关论文)如下所示:
    研究问题:{researchProblem}
    理由:{researchProblemRationale}
    科学方法:{scientificMethod}
    理由:{scientificMethodRationale}
    目标论文标题:{paper['title']}
    目标论文摘要:{paper['abstract']}
    相关论文标题:{relatedPaper['titles']}
    相关论文摘要:{relatedPaper['abstracts']}
    现在,继续你的{度量}评估方法,应该是系统的:- 首先,彻底阅读实验设计及其基本原理,牢记研究问题、科学方法和上述现有研究所提供的背景。
    - 接下来,生成一个评论和反馈,应该是建设性的、有帮助的和简明扼要的,重点关注
    实验的{度量}。
    - 最后,使用5分Likert量表给出一个评分,1表示最低,请确保进行有鉴别力和批判性的评估,避免倾向于统一高分(4-5),除非完全有理由:{标准}
    我将提供设计好的实验及其基本原理,如下所示:
    实验设计:{实验设计}
    基本原理:{实验设计基本原理}
    在您评估上述内容之后,请以以下格式提供您的评论、反馈和评分:
    反馈:
    评分(1-5):

然后,使用ReviewingAgents,根据其各自的五个特定标准对生成的研究思路(问题、方法和实验设计)进行单独评估,这些标准如下图所示

最后,根据ReviewingAgents的审查和反馈,ResearchAgent进一步更新已生成的研究思路

这篇关于基于大模型的idea提炼:围绕论文和引用提炼idea之ResearchAgent的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/965744

相关文章

最新版IDEA配置 Tomcat的详细过程

《最新版IDEA配置Tomcat的详细过程》本文介绍如何在IDEA中配置Tomcat服务器,并创建Web项目,首先检查Tomcat是否安装完成,然后在IDEA中创建Web项目并添加Web结构,接着,... 目录配置tomcat第一步,先给项目添加Web结构查看端口号配置tomcat    先检查自己的to

手把手教你idea中创建一个javaweb(webapp)项目详细图文教程

《手把手教你idea中创建一个javaweb(webapp)项目详细图文教程》:本文主要介绍如何使用IntelliJIDEA创建一个Maven项目,并配置Tomcat服务器进行运行,过程包括创建... 1.启动idea2.创建项目模板点击项目-新建项目-选择maven,显示如下页面输入项目名称,选择

Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)

《Python基于火山引擎豆包大模型搭建QQ机器人详细教程(2024年最新)》:本文主要介绍Python基于火山引擎豆包大模型搭建QQ机器人详细的相关资料,包括开通模型、配置APIKEY鉴权和SD... 目录豆包大模型概述开通模型付费安装 SDK 环境配置 API KEY 鉴权Ark 模型接口Prompt

IDEA常用插件之代码扫描SonarLint详解

《IDEA常用插件之代码扫描SonarLint详解》SonarLint是一款用于代码扫描的插件,可以帮助查找隐藏的bug,下载并安装插件后,右键点击项目并选择“Analyze”、“Analyzewit... 目录SonajavascriptrLint 查找隐藏的bug下载安装插件扫描代码查看结果总结Sona

IDEA中的Kafka管理神器详解

《IDEA中的Kafka管理神器详解》这款基于IDEA插件实现的Kafka管理工具,能够在本地IDE环境中直接运行,简化了设置流程,为开发者提供了更加紧密集成、高效且直观的Kafka操作体验... 目录免安装:IDEA中的Kafka管理神器!简介安装必要的插件创建 Kafka 连接第一步:创建连接第二步:选

大模型研发全揭秘:客服工单数据标注的完整攻略

在人工智能(AI)领域,数据标注是模型训练过程中至关重要的一步。无论你是新手还是有经验的从业者,掌握数据标注的技术细节和常见问题的解决方案都能为你的AI项目增添不少价值。在电信运营商的客服系统中,工单数据是客户问题和解决方案的重要记录。通过对这些工单数据进行有效标注,不仅能够帮助提升客服自动化系统的智能化水平,还能优化客户服务流程,提高客户满意度。本文将详细介绍如何在电信运营商客服工单的背景下进行

Andrej Karpathy最新采访:认知核心模型10亿参数就够了,AI会打破教育不公的僵局

夕小瑶科技说 原创  作者 | 海野 AI圈子的红人,AI大神Andrej Karpathy,曾是OpenAI联合创始人之一,特斯拉AI总监。上一次的动态是官宣创办一家名为 Eureka Labs 的人工智能+教育公司 ,宣布将长期致力于AI原生教育。 近日,Andrej Karpathy接受了No Priors(投资博客)的采访,与硅谷知名投资人 Sara Guo 和 Elad G

Retrieval-based-Voice-Conversion-WebUI模型构建指南

一、模型介绍 Retrieval-based-Voice-Conversion-WebUI(简称 RVC)模型是一个基于 VITS(Variational Inference with adversarial learning for end-to-end Text-to-Speech)的简单易用的语音转换框架。 具有以下特点 简单易用:RVC 模型通过简单易用的网页界面,使得用户无需深入了

透彻!驯服大型语言模型(LLMs)的五种方法,及具体方法选择思路

引言 随着时间的发展,大型语言模型不再停留在演示阶段而是逐步面向生产系统的应用,随着人们期望的不断增加,目标也发生了巨大的变化。在短短的几个月的时间里,人们对大模型的认识已经从对其zero-shot能力感到惊讶,转变为考虑改进模型质量、提高模型可用性。 「大语言模型(LLMs)其实就是利用高容量的模型架构(例如Transformer)对海量的、多种多样的数据分布进行建模得到,它包含了大量的先验

图神经网络模型介绍(1)

我们将图神经网络分为基于谱域的模型和基于空域的模型,并按照发展顺序详解每个类别中的重要模型。 1.1基于谱域的图神经网络         谱域上的图卷积在图学习迈向深度学习的发展历程中起到了关键的作用。本节主要介绍三个具有代表性的谱域图神经网络:谱图卷积网络、切比雪夫网络和图卷积网络。 (1)谱图卷积网络 卷积定理:函数卷积的傅里叶变换是函数傅里叶变换的乘积,即F{f*g}