当前位置: 首页 > news >正文

一款计算机顶会爬取解析系统 paper info

一款计算机顶会爬取解析系统 paper info

    • 背景
    • 项目实现的功能
  • 技术方案
    • 架构设计
    • 项目使用的技术选型
  • 使用方法
    • 本地项目部署
    • 使用ChatGPT等大模型
      • 创建一个ChatGPT助手
      • 使用阿里云
    • 顶会数据量
  • 百度网盘
    • pfd文件
    • json文件
  • Q&A

github链接 :https://github.com/codebricking/paper-info
paper info 可以爬取顶会或者arxiv论文,并且利用ChatGPT对论文的关键信息进行理解,然后利用es进行检索,实现用中文检索英文论文,并快速了解论文核心内容。

当然,对于不从事开发工作的用户来说,部署这个项目,会有一点繁琐,本项目提供了爬取的顶会论文,以及解析的文本信息,用户可以将其直接上传至ChatGPT或者国内的大模型的语料库中,也可以实现和论文直接对话的功能。

背景

AI计算机领域很多新的成果都是通过论文的形式发出来的,高效的检索,下载和了解论文核心内容对于科研十分重要。在计算机领域,尤其是顶会论文。本人在读研初期,没有及时关注最新的高水平论文,阅读了一些质量不算高或者是方法不够新的论文,浪费了不少时间。随着研究的主键深入,对于在哪里寻找高水平论文才有了进一步的了解。因此,在周末空余实现,根据之遇到的问题,写了这样一个工具。

项目实现的功能

  1. 使用Jsoup抓取顶会论文和arxiv的论文关键信息。
  2. 批量下载论文到本地
  3. 使用XEasyPdf解析pdf为纯文本,方便后续处理
  4. 调用ChatGPT梳理论文关键信息
  5. 使用xxl-job定时任务功能,结合Jsoup检测arxiv最新的论文,紧跟研究方向前沿
  6. 使用xxl-job定时定频率地调用api接口,以免频率过高导致调用失败
  7. 使用es进行查询,让用户可以直接在众多论文中进行关键词查找,提高了检索速度
  8. 封装了调用ChatGPT的接口
  9. 封装了调用Google翻译的借口
  10. 封装了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助手

  1. 进入 https://platform.openai.com/assistants
  2. 点击create创建
  3. 上传数据

使用阿里云

//todo

顶会数据量

年份AAAIAISTATSACMLCOLTICMLCVPRICCVWACVECCVJMLRNIPSsum
20221623728316212328020406164535126719047
2021196145511513911831047836406028922718702
2020186141954125108114660378135825118978890
2019134035978124771129410750018414266651
201810982165793618979006618410064812
201701674175431783621002316773026
201669116229683206430002345662713
20156731232877269602526001184012817
201447412125583025400001204062046
2013276713250281471454001153572107

详细列表见

data/paper/

top_conference_2013.md337 kB
top_conference_2014.md310 kB
top_conference_2015.md444 kB
top_conference_2016.md414 kB
top_conference_2017.md535 kB
top_conference_2018.md800 kB
top_conference_2019.md1.1 MB
top_conference_2020.md1.5 MB
top_conference_2021.md1.5 MB
top_conference_2022.md1.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之容器中所谓的隔离

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

利用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 或排除某个库记录…...

DAY 47

三、通道注意力 3.1 通道注意力的定义 # 新增:通道注意力模块(SE模块) class ChannelAttention(nn.Module):"""通道注意力模块(Squeeze-and-Excitation)"""def __init__(self, in_channels, reduction_rat…...

UDP(Echoserver)

网络命令 Ping 命令 检测网络是否连通 使用方法: ping -c 次数 网址ping -c 3 www.baidu.comnetstat 命令 netstat 是一个用来查看网络状态的重要工具. 语法:netstat [选项] 功能:查看网络状态 常用选项: n 拒绝显示别名&#…...

dedecms 织梦自定义表单留言增加ajax验证码功能

增加ajax功能模块&#xff0c;用户不点击提交按钮&#xff0c;只要输入框失去焦点&#xff0c;就会提前提示验证码是否正确。 一&#xff0c;模板上增加验证码 <input name"vdcode"id"vdcode" placeholder"请输入验证码" type"text&quo…...

学习STC51单片机31(芯片为STC89C52RCRC)OLED显示屏1

每日一言 生活的美好&#xff0c;总是藏在那些你咬牙坚持的日子里。 硬件&#xff1a;OLED 以后要用到OLED的时候找到这个文件 OLED的设备地址 SSD1306"SSD" 是品牌缩写&#xff0c;"1306" 是产品编号。 驱动 OLED 屏幕的 IIC 总线数据传输格式 示意图 …...

SpringBoot+uniapp 的 Champion 俱乐部微信小程序设计与实现,论文初版实现

摘要 本论文旨在设计并实现基于 SpringBoot 和 uniapp 的 Champion 俱乐部微信小程序&#xff0c;以满足俱乐部线上活动推广、会员管理、社交互动等需求。通过 SpringBoot 搭建后端服务&#xff0c;提供稳定高效的数据处理与业务逻辑支持&#xff1b;利用 uniapp 实现跨平台前…...

css3笔记 (1) 自用

outline: none 用于移除元素获得焦点时默认的轮廓线 broder:0 用于移除边框 font-size&#xff1a;0 用于设置字体不显示 list-style: none 消除<li> 标签默认样式 margin: xx auto 版心居中 width:100% 通栏 vertical-align 作用于行内元素 / 表格单元格&#xff…...

dify打造数据可视化图表

一、概述 在日常工作和学习中&#xff0c;我们经常需要和数据打交道。无论是分析报告、项目展示&#xff0c;还是简单的数据洞察&#xff0c;一个清晰直观的图表&#xff0c;往往能胜过千言万语。 一款能让数据可视化变得超级简单的 MCP Server&#xff0c;由蚂蚁集团 AntV 团队…...

有限自动机到正规文法转换器v1.0

1 项目简介 这是一个功能强大的有限自动机&#xff08;Finite Automaton, FA&#xff09;到正规文法&#xff08;Regular Grammar&#xff09;转换器&#xff0c;它配备了一个直观且完整的图形用户界面&#xff0c;使用户能够轻松地进行操作和观察。该程序基于编译原理中的经典…...

Elastic 获得 AWS 教育 ISV 合作伙伴资质,进一步增强教育解决方案产品组合

作者&#xff1a;来自 Elastic Udayasimha Theepireddy (Uday), Brian Bergholm, Marianna Jonsdottir 通过搜索 AI 和云创新推动教育领域的数字化转型。 我们非常高兴地宣布&#xff0c;Elastic 已获得 AWS 教育 ISV 合作伙伴资质。这一重要认证表明&#xff0c;Elastic 作为 …...

6.9-QT模拟计算器

源码: 头文件: widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QMouseEvent>QT_BEGIN_NAMESPACE namespace Ui { class Widget; } QT_END_NAMESPACEclass Widget : public QWidget {Q_OBJECTpublic:Widget(QWidget *parent nullptr);…...