论文阅读之——Semantic Scholar

Semantic Scholar

Semantic Scholar 是由美国 Allen Institute for AI(AI2) 开发的一个学术搜索引擎,旨在帮助研究人员快速获取高质量的学术信息。它结合了人工智能和自然语言处理技术,让用户可以更智能地浏览文献、发现引用、理解研究主题等。

官方网站:https://www.semanticscholar.org

Semantic Scholar 的入门使用

进入官网后直接根据所需检索的论文标题、作者等关键字进行搜索。

在这里插入图片描述


以搜索论文MFAS: Multimodal Fusion Architecture Search为例:

在这里插入图片描述


进入其中的一个结果后,可以看到文章的DOI等ID信息,Semantic Scholar也为用户提供了相应的PDF、引用该文章的代码以及文章中相关的图表等信息。Semantic Scholar还会引用该文章的所有文章及与该文章相关的论文。

在这里插入图片描述
在这里插入图片描述


Semantic Scholar也接入了大模型AI,用户可以直接在系统中对该文章进行提问。

在这里插入图片描述

Semantic Scholar API

该系统同时为用户提供了API接口,适合开发者和研究人员用来获取论文元数据、引用信息、作者信息等。
官方提供的API使用实例代码链接:https://github.com/allenai/s2-folks/tree/main/examples

在这里插入图片描述


首先需要根据自己的需求向官方写一份API申请,申请通过后官方会向邮箱中发送API密钥,然后就可以使用啦!(PS.最好使用学校提供的教育邮箱)
其官方代码库中提供了JavaScript、python等版本,检索论文、检索相关引用等具体功能的相关代码,大家可以尝试使用。

在这里插入图片描述


下面附上我自己的代码,用户收集引用某一篇文章的所有文章的标题、作者、摘要等字段信息,保存在json文件中。

import requests import json from tqdm import tqdm API_KEY ="*********"# 替换为你的 API Key PAPER_ID ="******************"# 替换为你要查找的论文 DOI 或 Semantic Scholar ID FIELDS ="title,authors,abstract,venue,year,externalIds" HEADERS ={ "x-api-key": API_KEY }defget_all_citations(paper_id): all_citations =[] offset =0 limit =100print("开始下载所有引用文献...")whileTrue: url =f"https://api.semanticscholar.org/graph/v1/paper/{ paper_id}/citations" params ={ 

Read more

C++ 模板进阶:特化、萃取与可变参数模板

C++ 模板进阶:特化、萃取与可变参数模板

C++ 模板进阶:特化、萃取与可变参数模板 💡 学习目标:掌握模板进阶技术的核心用法,理解模板特化的深层应用、类型萃取的实现原理,以及可变参数模板的灵活使用,提升泛型编程的实战能力。 💡 学习重点:模板特化的进阶场景、类型萃取工具的设计与应用、可变参数模板的展开技巧、折叠表达式的使用方法。 一、模板特化进阶:处理复杂类型场景 💡 模板特化不只是针对单一类型的定制,还能处理指针、引用、数组等复杂类型,实现更精细的类型适配逻辑。 1.1 指针类型的模板特化 通用模板默认处理普通类型,我们可以为指针类型单独编写特化版本,实现指针专属的逻辑。 #include<iostream>#include<string>usingnamespace std;// 通用模板:处理普通类型template<typenameT>classTypeProcessor{public:staticvoidprocess(T data){ cout

By Ne0inhk

C++ 设计模式概述及常用模式

C++ 设计模式概述 本文介绍了C++中23种设计模式的分类及实现示例,主要分为三大类: 创建型模式(5个):单例模式(常用)、工厂方法模式(常用)、抽象工厂模式(常用)、建造者模式和原型模式。这些模式专注于对象的创建机制。 结构型模式(7个):适配器模式(常用)、桥接模式、组合模式和装饰器模式(常用)等。这些模式处理类和对象的组合方式。 行为型模式:未完整列出,但包含观察者模式等(未展示完整代码)。 文章通过简洁的C++代码示例展示了常用设计模式的实现方法,如单例模式通过私有构造函数和静态方法确保唯一实例,工厂方法模式通过抽象工厂类创建产品等。这些模式为解决特定设计问题提供了可重用的解决方案。 C++ 设计模式概述及常用模式 设计模式可分为三大类:创建型、结构型、行为型。以下是23个设计模式的分类及代码示例: 一、创建型模式(5个) 1. 单例模式(Singleton)⭐ 常用 classSingleton{private:static

By Ne0inhk
C++测试与调试:确保代码质量与稳定性

C++测试与调试:确保代码质量与稳定性

C++测试与调试:确保代码质量与稳定性 一、学习目标与重点 本章将深入探讨C++测试与调试的核心知识,帮助你确保代码的质量与稳定性。通过学习,你将能够: 1. 理解测试与调试的基本概念,掌握测试方法和工具 2. 学会使用单元测试框架,如Google Test和Catch2 3. 理解集成测试的重要性,确保系统的功能正确性 4. 学会使用调试工具,如GDB和Visual Studio调试器 5. 培养测试与调试思维,设计高质量的代码 二、测试的基本概念 2.1 测试的分类 测试可以分为以下几类: * 单元测试:测试单个函数或类的功能 * 集成测试:测试多个模块的集成功能 * 系统测试:测试整个系统的功能 * 验收测试:测试系统是否满足用户需求 * 性能测试:测试系统的性能指标 2.2 测试原则 测试应该遵循以下原则: * 测试应该尽可能早地进行 * 测试应该覆盖所有可能的场景 * 测试应该是自动化的

By Ne0inhk

Java + Vue 毕业设计选题效率提升指南:从脚手架到自动化部署的全链路优化

毕业设计季又到了,对于计算机专业的同学来说,用 Java 做后端,Vue 做前端,是一个非常经典且实用的技术栈组合。但很多同学在真正动手时,常常被各种“琐事”绊住,比如环境配半天、前后端接口对不上、部署时手忙脚乱,导致宝贵的开发时间被大量浪费。今天,我就结合自己带学弟学妹做毕设的经验,聊聊如何通过一套标准化的流程和工具,把 Java + Vue 毕设的开发效率提上去,让你把精力真正花在业务逻辑和创新点上。 1. 毕业设计效率痛点:我们到底在哪儿“卡”住了? 在开始技术选型之前,我们先得搞清楚,做 Java + Vue 毕设时,哪些环节最容易“掉链子”。根据我的观察,主要有这么几个: 1. 环境配置地狱:这是第一个拦路虎。A 同学的 MySQL 是 8.0,B 同学是

By Ne0inhk