一款计算机顶会爬取解析系统 paper info
一款计算机顶会爬取解析系统 paper info
- 背景
- 项目实现的功能
- 技术方案
- 架构设计
- 项目使用的技术选型
- 使用方法
- 本地项目部署
- 使用ChatGPT等大模型
- 创建一个ChatGPT助手
- 使用阿里云
- 顶会数据量
- 百度网盘
- pfd文件
- json文件
- Q&A
github链接 :https://github.com/codebricking/paper-info
paper info 可以爬取顶会或者arxiv论文,并且利用ChatGPT对论文的关键信息进行理解,然后利用es进行检索,实现用中文检索英文论文,并快速了解论文核心内容。
当然,对于不从事开发工作的用户来说,部署这个项目,会有一点繁琐,本项目提供了爬取的顶会论文,以及解析的文本信息,用户可以将其直接上传至ChatGPT或者国内的大模型的语料库中,也可以实现和论文直接对话的功能。
背景
AI计算机领域很多新的成果都是通过论文的形式发出来的,高效的检索,下载和了解论文核心内容对于科研十分重要。在计算机领域,尤其是顶会论文。本人在读研初期,没有及时关注最新的高水平论文,阅读了一些质量不算高或者是方法不够新的论文,浪费了不少时间。随着研究的主键深入,对于在哪里寻找高水平论文才有了进一步的了解。因此,在周末空余实现,根据之遇到的问题,写了这样一个工具。
项目实现的功能
- 使用Jsoup抓取顶会论文和arxiv的论文关键信息。
- 批量下载论文到本地
- 使用XEasyPdf解析pdf为纯文本,方便后续处理
- 调用ChatGPT梳理论文关键信息
- 使用xxl-job定时任务功能,结合Jsoup检测arxiv最新的论文,紧跟研究方向前沿
- 使用xxl-job定时定频率地调用api接口,以免频率过高导致调用失败
- 使用es进行查询,让用户可以直接在众多论文中进行关键词查找,提高了检索速度
- 封装了调用ChatGPT的接口
- 封装了调用Google翻译的借口
- 封装了ChatGPT和Google代理,需要部署在国外服务器上
技术方案
架构设计
项目使用的技术选型
Java8
MySQL8
mybatis-plus
springboot 2.7
elastic search
xxl-job
Jsoup
knife4j
hutool
使用方法
本地项目部署
1、安装MySQL
2、安装es
3、xxjob(可选)
4、运行项目
可以将自己关注的领域的文章导入(JSON数据链接:https://pan.baidu.com/s/1Y3IlR0N2phD6AlKWfkXAdQ
提取码:umgd),调用接口进行翻译和核心内容提取。
使用ChatGPT等大模型
本项目所积累的数据还可以作为和大模型对话的个人数据,将其上传到大模型中,利用ChatGPT或者阿里云等服务自带的向量数据库,可以直接与论文进行对话。
JSON数据链接:https://pan.baidu.com/s/1Y3IlR0N2phD6AlKWfkXAdQ
提取码:umgd
创建一个ChatGPT助手
- 进入 https://platform.openai.com/assistants
- 点击create创建
- 上传数据
使用阿里云
//todo
顶会数据量
年份 | AAAI | AISTATS | ACML | COLT | ICML | CVPR | ICCV | WACV | ECCV | JMLR | NIPS | sum |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2022 | 1623 | 72 | 83 | 162 | 1232 | 802 | 0 | 406 | 1645 | 351 | 2671 | 9047 |
2021 | 1961 | 455 | 115 | 139 | 1183 | 1047 | 836 | 406 | 0 | 289 | 2271 | 8702 |
2020 | 1861 | 419 | 54 | 125 | 1081 | 1466 | 0 | 378 | 1358 | 251 | 1897 | 8890 |
2019 | 1340 | 359 | 78 | 124 | 771 | 1294 | 1075 | 0 | 0 | 184 | 1426 | 6651 |
2018 | 1098 | 216 | 57 | 93 | 618 | 979 | 0 | 0 | 661 | 84 | 1006 | 4812 |
2017 | 0 | 167 | 41 | 75 | 431 | 783 | 621 | 0 | 0 | 231 | 677 | 3026 |
2016 | 691 | 162 | 29 | 68 | 320 | 643 | 0 | 0 | 0 | 234 | 566 | 2713 |
2015 | 673 | 123 | 28 | 77 | 269 | 602 | 526 | 0 | 0 | 118 | 401 | 2817 |
2014 | 474 | 121 | 25 | 58 | 302 | 540 | 0 | 0 | 0 | 120 | 406 | 2046 |
2013 | 276 | 71 | 32 | 50 | 281 | 471 | 454 | 0 | 0 | 115 | 357 | 2107 |
详细列表见
data/paper/
top_conference_2013.md | 337 kB |
top_conference_2014.md | 310 kB |
top_conference_2015.md | 444 kB |
top_conference_2016.md | 414 kB |
top_conference_2017.md | 535 kB |
top_conference_2018.md | 800 kB |
top_conference_2019.md | 1.1 MB |
top_conference_2020.md | 1.5 MB |
top_conference_2021.md | 1.5 MB |
top_conference_2022.md | 1.5 MB |
百度网盘
pfd文件
链接:https://pan.baidu.com/s/1FKK27KgbYHm_2n5iDy3WZA
提取码:z8a9
json文件
JSON数据链接:https://pan.baidu.com/s/1Y3IlR0N2phD6AlKWfkXAdQ
提取码:umgd
Q&A
1、项目所部署的机器无法访问ChatGPT和谷歌翻译
A:使用项目中提供的API-Reverse-Proxy模块,将其部署在可以访问的机器上,然后将本地项目调用的接口地址改为代理机器的地址。或者使用国产的替代
相关文章:

一款计算机顶会爬取解析系统 paper info
一款计算机顶会爬取解析系统 paper info 背景项目实现的功能 技术方案架构设计项目使用的技术选型 使用方法本地项目部署使用ChatGPT等大模型创建一个ChatGPT助手使用阿里云 顶会数据量 百度网盘pfd文件json文件 Q&A github链接 :https://github.com/codebricki…...

CommonJs模块化实现原理ES Module模块化原理
CommonJs模块化实现原理 首先看一个案例 初始化项目 npm init npm i webpack -D目录结构如下: webpack.config.js const path require("path"); module.exports {mode: "development",entry: "./src/index.js",output: {path: p…...

实验4.1 静态路由的配置
实验4.1 静态路由的配置 一、任务描述二、任务分析三、具体要求四、实验拓扑五、任务实施1.设置交换机和路由器的基本配置。2.使用display ip interface brief命令查看接口配置信息。3.配置静态路由,实现全网互通。 六、任务验收七、任务小结 一、任务描述 某公司刚…...

Java网络编程-深入理解BIO、NIO
深入理解BIO与NIO BIO BIO 为 Blocked-IO(阻塞 IO),在 JDK1.4 之前建立网络连接时,只能使用 BIO 使用 BIO 时,服务端会对客户端的每个请求都建立一个线程进行处理,客户端向服务端发送请求后,…...

ShenYu网关注册中心之HTTP注册原理
文章目录 1、客户端注册流程1.1、读取配置1.1.1、用于注册的 HttpClientRegisterRepository1.1.2、用于扫描构建 元数据 和 URI 的 SpringMvcClientEventListener 1.2、扫描注解,注册元数据和URI1.2.1、构建URI并写入Disruptor1.2.2、构建元数据并写入Disruptor1.2.…...

探索GameFi:区块链与游戏的未来融合
在过去的几年里,区块链技术逐渐渗透到各个领域,为不同行业带来了前所未有的变革。其中,游戏行业成为了一个引人注目的焦点,而这种结合被称为GameFi,即游戏金融。GameFi不仅仅是一个概念,更是一场区块链和游…...

Windows下使用CMake编译lua
Lua 是一个功能强大、高效、轻量级、可嵌入的脚本语言。它支持程序编程、面向对象程序设计、函数式编程、数据驱动编程和数据描述。 Lua的官方网站上只提供了源码,需要使用Make进行编译,具体的编译方法为 curl -R -O http://www.lua.org/ftp/lua-5.4.6.…...

【C语言(十一)】
C语言内存函数 一、memcpy使用和模拟实现 void * memcpy ( void * destination, const void * source, size_t num ); • 函数memcpy从source的位置开始向后复制num个字节的数据到destination指向的内存位置。 • 这个函数在遇到 \0 的时候并不会停下来。 • 如果sourc…...

系统运行占用过高
1、CPU过高的问题排查 示例代码: public class Test { static class MyThread extends Thread { public void run() { // 死循环,消耗CPU int i 0; while (true) { i; } } } public static void main(String args[]) throws InterruptedException { ne…...

HTML---初识CSS
文章目录 前言一、pandas是什么?二、使用步骤 1.引入库2.读入数据总结 一.CSS概念 CSS是层叠样式表(Cascading Style Sheets)的缩写。它是一种用于描述HTML文档外观样式的标记语言。通过CSS,开发者可以在不改变HTML标记结构的情况…...

监控pod 容器外网请求网络带宽,过滤掉内网、基于k8spacket开发、prometheus开发export
首先安装k8spacket 安装k8spacket遇到问题,下载插件一直能不能下载成功,pod不能启动。所有手动下载处理。 helm repo add k8spacket https://k8spacket.github.io/k8spacket-helm-chart helm pull k8spacket/k8spacket打开values.yaml 文件 手动下载插…...

windows下docker环境安装
开启硬件虚拟化技术 win10中开启 Hyper-V Win10 下是否开启硬件虚拟化技术,在控制面板,启用 window 功能,找到 Hyper-V 选项,点勾选确认。如图: Windows 11 家庭中文版新增 Hyper-V选项 注意以下的解决方案来自win1…...

Python小程序 - 表格数值统计
题设:Excel表格中,计算如下图所示不同颜色(蓝、黄、桔)单元格值:各颜色填涂的单元格值的总和条件: - Excle表格中 - 分色标记,单元格有值 - 开始列(当前为D),…...

Unity | Shader基础知识(第一集:unity中最简单的shader)
目录 一、unity的shader 二、创建一个shader(在创建时,选前三种都可以) 三、内容解读 1.shader一直都在 2.我们写shader在写什么 四、没有被干预的shader(最简单的shader) 相关阅读 编写着色器概述 - Unity 手册…...

橘子学K8S01之容器中所谓的隔离
我们一直都在说容器就是一个沙盒,沙盒技术顾名思义就是像一个集装箱一样,把应用(服务,进程之类的)装起来的技术,这样每个进程在自己的沙盒中和其他的沙盒隔离开来,每个沙盒之间存在一个边界使得他们互不干扰࿰…...

利用svm进行模型训练
一、步骤 1、将文本数据转换为特征向量 : tf-idf 2、使用这些特征向量训练SVM模型 二、代码 from sklearn.model_selection import train_test_split from sklearn.feature_extraction.text import TfidfVectorizer from sklearn.svm import SVC from sklearn.m…...

【Docker】WSL 2 上的 Docker 搭建和入门
▒ 目录 ▒ 🛫 导读开发环境 1️⃣ 安装安装Docker Desktop for Windows 2️⃣ 环境配置3️⃣ hello world第一次运行再次运行分析总结 📖 参考资料 🛫 导读 开发环境 版本号描述文章日期2023-12-14操作系统Win11 - 22H222621.2715WSL2 C:…...
pytorch环境配置
1.创建环境 conda create --name pytorch python3.11.5 2.激活环境 source activate pytorch 3.添加国内镜像源: conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config --add channels https://mirrors.tuna.tsin…...

电子眼+无人机构建平安城市视频防控监控方案
电子眼(也称为监控摄像机)可以通过安装在城市的不同角落,实时监控城市的各个地方。它们可以用于监测交通违法行为、监控公共场所的安全以及实时监测特定区域的活动情况。通过电子眼的应用,可以帮助警方及时发现并响应各类安全事件…...
mysql binlog_ignore_db参数的效果详解
我们知道 binlog 会记录数据库所有执行的 DDL 和 DML 语句(除了数据查询语句select、show等)。 我们可以在mysql配置文件中关闭binlog [mysqld] skip-log-bin注意默认情况下会记录所有库的操作,那么如果我们有另类需求,比如说只让某个库记录 binglog 或排除某个库记录…...

VB.net复制Ntag213卡写入UID
本示例使用的发卡器:https://item.taobao.com/item.htm?ftt&id615391857885 一、读取旧Ntag卡的UID和数据 Private Sub Button15_Click(sender As Object, e As EventArgs) Handles Button15.Click轻松读卡技术支持:网站:Dim i, j As IntegerDim cardidhex, …...
【论文笔记】若干矿井粉尘检测算法概述
总的来说,传统机器学习、传统机器学习与深度学习的结合、LSTM等算法所需要的数据集来源于矿井传感器测量的粉尘浓度,通过建立回归模型来预测未来矿井的粉尘浓度。传统机器学习算法性能易受数据中极端值的影响。YOLO等计算机视觉算法所需要的数据集来源于…...
【RockeMQ】第2节|RocketMQ快速实战以及核⼼概念详解(二)
升级Dledger高可用集群 一、主从架构的不足与Dledger的定位 主从架构缺陷 数据备份依赖Slave节点,但无自动故障转移能力,Master宕机后需人工切换,期间消息可能无法读取。Slave仅存储数据,无法主动升级为Master响应请求ÿ…...
力扣-35.搜索插入位置
题目描述 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 class Solution {public int searchInsert(int[] nums, …...
MySQL账号权限管理指南:安全创建账户与精细授权技巧
在MySQL数据库管理中,合理创建用户账号并分配精确权限是保障数据安全的核心环节。直接使用root账号进行所有操作不仅危险且难以审计操作行为。今天我们来全面解析MySQL账号创建与权限分配的专业方法。 一、为何需要创建独立账号? 最小权限原则…...
IP如何挑?2025年海外专线IP如何购买?
你花了时间和预算买了IP,结果IP质量不佳,项目效率低下不说,还可能带来莫名的网络问题,是不是太闹心了?尤其是在面对海外专线IP时,到底怎么才能买到适合自己的呢?所以,挑IP绝对是个技…...

使用LangGraph和LangSmith构建多智能体人工智能系统
现在,通过组合几个较小的子智能体来创建一个强大的人工智能智能体正成为一种趋势。但这也带来了一些挑战,比如减少幻觉、管理对话流程、在测试期间留意智能体的工作方式、允许人工介入以及评估其性能。你需要进行大量的反复试验。 在这篇博客〔原作者&a…...

代码规范和架构【立芯理论一】(2025.06.08)
1、代码规范的目标 代码简洁精炼、美观,可持续性好高效率高复用,可移植性好高内聚,低耦合没有冗余规范性,代码有规可循,可以看出自己当时的思考过程特殊排版,特殊语法,特殊指令,必须…...
Caliper 配置文件解析:fisco-bcos.json
config.yaml 文件 config.yaml 是 Caliper 的主配置文件,通常包含以下内容: test:name: fisco-bcos-test # 测试名称description: Performance test of FISCO-BCOS # 测试描述workers:type: local # 工作进程类型number: 5 # 工作进程数量monitor:type: - docker- pro…...

Unity UGUI Button事件流程
场景结构 测试代码 public class TestBtn : MonoBehaviour {void Start(){var btn GetComponent<Button>();btn.onClick.AddListener(OnClick);}private void OnClick(){Debug.Log("666");}}当添加事件时 // 实例化一个ButtonClickedEvent的事件 [Formerl…...