项目简介
这项工作的主要思想是简化和简化 ArXiv 论文阅读。如果您是视觉学习者,此代码会将论文转换为引人入胜的视频格式。如果您在跑步时喜欢听,此代码还将生成音频以供收听。
以下是该算法的主要步骤:
-
下载论文源代码,给出其 ArXiv ID
-
使用
latex2html
或
latexmlc
将 Latex 代码转换为 HTML 页面
-
解析 HTML 页面以提取文本和方程,忽略表格、图形等
-
如果创建视频,还需要创建一个将 pdf 页面与文本以及文本块与页面块相匹配的地图。
-
将文本分成几个部分,然后通过 OpenAI GPT api 进行释义、简化和解释。
-
将 GPT 生成的文本拆分为块,并使用文本转语音 Google api 将它们转换为音频
-
打包所有必要的部分并创建一个 zip 文件以进行进一步的视频处理
-
使用之前计算的文本块映射,使用
ffmpeg
创建视频
注 1 该代码可以创建较长的、更详细的论文版本,以及简短的、总结性的论文版本。
注2 长视频版本还将在每个部分之后包含摘要块
注 3 短视频版本将包含自动生成的总结论文的幻灯片
注 4:如果提供适当的凭据,代码还可以将生成的音频文件上传到您的 Google 云端硬盘
安装
-
LaTeXML(https://github.com/brucemiller/LaTeXML)
-
Latex2html ( https://github.com/latex2html/latex2html )
-
OpenAI 密钥
-
ffmpeg(制作视频)
-
gcloud:(https://cloud.google.com/sdk/docs/install)
-
ADC 设置:(https://cloud.google.com/docs/authentication/provide-credentials-adc#how-to)
-
谷歌文本转语音 (https://cloud.google.com/text-to-speech)
-
Google Drive 设置(可选,请关注 https://github.com/iterative/PyDrive2)
Python 包
openai、PyPDF2、spacy、tiktoken、pyperclip、谷歌云文本语音、pydrive2、pdflatex
如何运行
# to create audio, both short and long, and prepare for video creation
python main.py --verbose --include_summary --create_short --create_video --openai_key --paperid --l2h
默认的latex转换工具
latex2html
有时会失败,在这种情况下删除
--l2h
以使用
latexmlc
。另外,默认情况下,代码将处理整篇论文直至参考文献,如果您想提前停止,请传递
--stop_word "experiments"
(例如,在实验部分之前停止)。
输出
<arxiv_paper_id>_files/
├── final_audio.mp3
├── final_audio_short.mp3
├── abstract.txt
├── zipfile-<time_stamp>.zip
├── ...
├── extracted_orig_text_clean.txt
├── original_text_split_pages.txt
├── original_text_split_sections.txt
├── ...
├── gpt_text.txt
├── gpt_text_short.txt
├── gpt_verb_steps.txt
├── ...
├── slides
├── slide1.pdf
├── ...
输出目录包含生成的音频文件、幻灯片、提取的原始文本和 GPT 生成的输出,跨页面或部分分割。输出还包含
zipfile-
.zip
,其中包括用于视频生成的数据。
python main.py --verbose --extract_text_only --paperid
现在,我们准备生成视频:
python makevideo.py --paperid
输出
output_<time_stamp>/
├── output.mp4
├── output_short.mp4
├── ...
输出目录现在包含两个视频文件,一个是长视频,另一个是短视频。