feat: add scripts for fetching arXiv papers and generating structured reviews
Sync to site1 / sync (push) Has been cancelled
Sync to site1 / sync (push) Has been cancelled
- Implemented `fetch_crowdroom_papers.py` to scrape arXiv papers related to CrowdRoom with customizable query topics and output options. - Created `gen_review_from_json.py` to render structured markdown reviews from search results JSON, including statistics and insights on papers and GitHub repositories. - Developed `search_info.py` for thematic searches on arXiv and GitHub, supporting HTTP/SOCKS5 proxies and structured output.
This commit is contained in:
@@ -0,0 +1,18 @@
|
|||||||
|
# Research Data
|
||||||
|
|
||||||
|
本目录存放论文调研的原始数据文件和缓存。
|
||||||
|
|
||||||
|
## 文件说明
|
||||||
|
|
||||||
|
| 文件 | 说明 |
|
||||||
|
|------|------|
|
||||||
|
| `search_results.json` | arXiv + GitHub 历史检索缓存(ZED2i 相关,含 2026-04/05 最新论文) |
|
||||||
|
| `crowdroom_papers_raw.json` | CrowdRoom 专属 arXiv 抓取结果(当前因 429 限速为空) |
|
||||||
|
| `lyra2_paper.txt` | Lyra 2.0 论文全文(arXiv:2604.13036,NVIDIA,2026-04) |
|
||||||
|
| `lyra2_paper.pdf` | Lyra 2.0 论文 PDF 原文 |
|
||||||
|
|
||||||
|
## 注意事项
|
||||||
|
|
||||||
|
- `search_results.json` 是重要的历史缓存,请勿随意删除
|
||||||
|
- 数据文件不纳入 git 版本控制(见 `.gitignore`)
|
||||||
|
- 重新抓取请使用 `../tools/` 目录下的脚本
|
||||||
Binary file not shown.
+28
-2
@@ -11,7 +11,7 @@ description: "研究论文调研综述目录,涵盖世界模型、空间感知
|
|||||||
|
|
||||||
本索引汇总了 **WorldModel 项目**下所有论文调研综述文档。项目围绕「可探索生成式 3D 世界」、「空间感知与记忆」、「物理世界理解」、「传感器数据管道」以及「具体子项目(CrowdRoom / PRISM)」五大方向展开研究,旨在为 PRISM 2.0、CrowdRoom MVP 等工程系统提供学术文献支撑与技术选型依据。
|
本索引汇总了 **WorldModel 项目**下所有论文调研综述文档。项目围绕「可探索生成式 3D 世界」、「空间感知与记忆」、「物理世界理解」、「传感器数据管道」以及「具体子项目(CrowdRoom / PRISM)」五大方向展开研究,旨在为 PRISM 2.0、CrowdRoom MVP 等工程系统提供学术文献支撑与技术选型依据。
|
||||||
|
|
||||||
> **更新时间**:2026-05-20 | **文档数量**:9 篇 | **覆盖论文**:~215 篇
|
> **更新时间**:2026-05-20 | **文档数量**:8 篇 | **覆盖论文**:~215 篇
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -92,6 +92,32 @@ description: "研究论文调研综述目录,涵盖世界模型、空间感知
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## 工具与数据
|
||||||
|
|
||||||
|
### 脚本工具(`tools/`)
|
||||||
|
|
||||||
|
| 脚本 | 用途 |
|
||||||
|
|------|------|
|
||||||
|
| [`tools/search_info.py`](tools/search_info.py) | arXiv + GitHub 主题化检索,输出 `data/search_results.json` |
|
||||||
|
| [`tools/fetch_crowdroom_papers.py`](tools/fetch_crowdroom_papers.py) | CrowdRoom 专属 arXiv 抓取,输出 `data/crowdroom_papers_raw.json` |
|
||||||
|
| [`tools/gen_review_from_json.py`](tools/gen_review_from_json.py) | 将检索缓存渲染为 ZED2i 综述 Markdown |
|
||||||
|
| [`tools/_build_crowdroom_review.py`](tools/_build_crowdroom_review.py) | 将抓取数据构建为 CrowdRoom 综述 Markdown |
|
||||||
|
|
||||||
|
详见 [`tools/README.md`](tools/README.md)。
|
||||||
|
|
||||||
|
### 原始数据(`data/`)
|
||||||
|
|
||||||
|
| 文件 | 说明 |
|
||||||
|
|------|------|
|
||||||
|
| [`data/search_results.json`](data/search_results.json) | arXiv + GitHub 历史检索缓存(ZED2i 相关,含 2026-04/05 最新论文) |
|
||||||
|
| [`data/crowdroom_papers_raw.json`](data/crowdroom_papers_raw.json) | CrowdRoom 专属抓取结果(当前因 429 限速为空) |
|
||||||
|
| [`data/lyra2_paper.txt`](data/lyra2_paper.txt) | Lyra 2.0 论文全文(arXiv:2604.13036) |
|
||||||
|
| [`data/lyra2_paper.pdf`](data/lyra2_paper.pdf) | Lyra 2.0 论文 PDF |
|
||||||
|
|
||||||
|
详见 [`data/README.md`](data/README.md)。
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
## 文档统计
|
## 文档统计
|
||||||
|
|
||||||
| 主题分类 | 文档数 | 覆盖论文数(估计) |
|
| 主题分类 | 文档数 | 覆盖论文数(估计) |
|
||||||
@@ -101,7 +127,7 @@ description: "研究论文调研综述目录,涵盖世界模型、空间感知
|
|||||||
| 物理理解 | 1 | ~20 |
|
| 物理理解 | 1 | ~20 |
|
||||||
| 传感器与数据管道 | 2 | ~135 |
|
| 传感器与数据管道 | 2 | ~135 |
|
||||||
| 项目相关(CrowdRoom) | 1 | 0(API 限流,骨架版) |
|
| 项目相关(CrowdRoom) | 1 | 0(API 限流,骨架版) |
|
||||||
| **合计** | **9** | **~260** |
|
| **合计** | **8** | **~260** |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
@@ -0,0 +1,39 @@
|
|||||||
|
# Research Tools
|
||||||
|
|
||||||
|
本目录存放论文调研相关的自动化脚本工具。
|
||||||
|
|
||||||
|
## 脚本说明
|
||||||
|
|
||||||
|
| 脚本 | 用途 |
|
||||||
|
|------|------|
|
||||||
|
| `search_info.py` | arXiv + GitHub 主题化检索工具,输出 `../data/search_results.json` |
|
||||||
|
| `fetch_crowdroom_papers.py` | CrowdRoom 专属 arXiv 论文抓取,输出 `../data/crowdroom_papers_raw.json` |
|
||||||
|
| `gen_review_from_json.py` | 将 `search_results.json` 渲染为 ZED2i 综述 Markdown |
|
||||||
|
| `_build_crowdroom_review.py` | 将抓取数据构建为 CrowdRoom 综述 Markdown |
|
||||||
|
|
||||||
|
## 使用方法
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 1. 抓取 ZED2i 相关论文
|
||||||
|
cd /path/to/worldmodel
|
||||||
|
HTTPS_PROXY=http://127.0.0.1:6984 python3 research/tools/search_info.py \
|
||||||
|
--proxy http://127.0.0.1:6984 \
|
||||||
|
--max-results 15 --delay 5.0 \
|
||||||
|
--out research/data/search_results.json
|
||||||
|
|
||||||
|
# 2. 生成 ZED2i 综述
|
||||||
|
python3 research/tools/gen_review_from_json.py \
|
||||||
|
--in research/data/search_results.json \
|
||||||
|
--out research/spatial-memory/zed2i_arxiv_live_review.md
|
||||||
|
|
||||||
|
# 3. 抓取 CrowdRoom 相关论文
|
||||||
|
python3 research/tools/fetch_crowdroom_papers.py \
|
||||||
|
--max-results 20 --delay 8 --max-days 365 \
|
||||||
|
--out research/data/crowdroom_papers_raw.json
|
||||||
|
|
||||||
|
# 4. 生成 CrowdRoom 综述
|
||||||
|
python3 research/tools/_build_crowdroom_review.py \
|
||||||
|
--fresh research/data/crowdroom_papers_raw.json \
|
||||||
|
--legacy research/data/search_results.json \
|
||||||
|
--out research/crowdroom/crowdroom_related_papers_2026.md
|
||||||
|
```
|
||||||
@@ -347,9 +347,9 @@ def render_paper_entry(p, sc, idx):
|
|||||||
|
|
||||||
def main():
|
def main():
|
||||||
ap = argparse.ArgumentParser()
|
ap = argparse.ArgumentParser()
|
||||||
ap.add_argument("--fresh", default="research/crowdroom_papers_raw.json")
|
ap.add_argument("--fresh", default="research/data/crowdroom_papers_raw.json")
|
||||||
ap.add_argument("--legacy", default="research/search_results.json")
|
ap.add_argument("--legacy", default="research/data/search_results.json")
|
||||||
ap.add_argument("--out", default="research/crowdroom_related_papers_2026.md")
|
ap.add_argument("--out", default="research/crowdroom/crowdroom_related_papers_2026.md")
|
||||||
ap.add_argument("--threshold", type=float, default=4.0)
|
ap.add_argument("--threshold", type=float, default=4.0)
|
||||||
ap.add_argument("--max-per-topic", type=int, default=8)
|
ap.add_argument("--max-per-topic", type=int, default=8)
|
||||||
ap.add_argument("--include-curated", action="store_true", default=True,
|
ap.add_argument("--include-curated", action="store_true", default=True,
|
||||||
@@ -180,7 +180,7 @@ def parse_args() -> argparse.Namespace:
|
|||||||
ap.add_argument("--max-results", type=int, default=20)
|
ap.add_argument("--max-results", type=int, default=20)
|
||||||
ap.add_argument("--delay", type=float, default=5.0, help="主题间延迟秒数,arXiv ≥3s")
|
ap.add_argument("--delay", type=float, default=5.0, help="主题间延迟秒数,arXiv ≥3s")
|
||||||
ap.add_argument("--topics", nargs="+", default=None)
|
ap.add_argument("--topics", nargs="+", default=None)
|
||||||
ap.add_argument("--out", default="research/crowdroom_papers_raw.json")
|
ap.add_argument("--out", default="research/data/crowdroom_papers_raw.json")
|
||||||
ap.add_argument("--max-days", type=int, default=365, help="仅保留近 N 天提交的论文;0 不过滤")
|
ap.add_argument("--max-days", type=int, default=365, help="仅保留近 N 天提交的论文;0 不过滤")
|
||||||
ap.add_argument("--sort", choices=["submittedDate", "relevance"], default="submittedDate")
|
ap.add_argument("--sort", choices=["submittedDate", "relevance"], default="submittedDate")
|
||||||
return ap.parse_args()
|
return ap.parse_args()
|
||||||
@@ -147,8 +147,8 @@ def render_github_topic(topic: str, repos: list[dict]) -> list[str]:
|
|||||||
|
|
||||||
def main() -> int:
|
def main() -> int:
|
||||||
ap = argparse.ArgumentParser()
|
ap = argparse.ArgumentParser()
|
||||||
ap.add_argument("--in", dest="inp", default="research/search_results.json")
|
ap.add_argument("--in", dest="inp", default="research/data/search_results.json")
|
||||||
ap.add_argument("--out", default="research/zed2i_arxiv_live_review.md")
|
ap.add_argument("--out", default="research/spatial-memory/zed2i_arxiv_live_review.md")
|
||||||
args = ap.parse_args()
|
args = ap.parse_args()
|
||||||
|
|
||||||
with open(args.inp, "r", encoding="utf-8") as f:
|
with open(args.inp, "r", encoding="utf-8") as f:
|
||||||
@@ -258,7 +258,7 @@ def main() -> int:
|
|||||||
parser = argparse.ArgumentParser(description="arXiv + GitHub 主题化检索")
|
parser = argparse.ArgumentParser(description="arXiv + GitHub 主题化检索")
|
||||||
parser.add_argument("--proxy", default=None, help="代理 URL,如 http://127.0.0.1:6984")
|
parser.add_argument("--proxy", default=None, help="代理 URL,如 http://127.0.0.1:6984")
|
||||||
parser.add_argument("--max-results", type=int, default=15, help="每个主题最多论文数")
|
parser.add_argument("--max-results", type=int, default=15, help="每个主题最多论文数")
|
||||||
parser.add_argument("--out", default="research/search_results.json", help="输出 JSON 路径")
|
parser.add_argument("--out", default="research/data/search_results.json", help="输出 JSON 路径")
|
||||||
parser.add_argument(
|
parser.add_argument(
|
||||||
"--topics",
|
"--topics",
|
||||||
nargs="+",
|
nargs="+",
|
||||||
Reference in New Issue
Block a user