alphageometry

GitHub
4.8k 569 较难 1 次阅读 4天前Apache-2.0语言模型其他
AI 解读 由 AI 自动生成,仅供参考

AlphaGeometry 是一款由 Google DeepMind 开发的开源几何定理证明系统,旨在无需依赖人类解题示范的情况下,自动解决奥林匹克级别的复杂几何难题。它成功攻克了传统 AI 在需要深度逻辑推理与构造辅助线场景下的瓶颈,实现了接近金牌选手的解题水平。

该工具的核心创新在于采用了“神经语言模型”与“符号演绎引擎”双系统协同架构。语言模型负责像人类直觉一样预测并生成关键的辅助几何元素,而符号引擎则基于严格的逻辑规则进行推导验证。这种神经与符号相结合的方法,既保留了深度学习的泛化能力,又确保了数学证明的严谨性。

AlphaGeometry 主要面向人工智能研究人员、数学教育者以及对自动推理感兴趣的开发者。对于研究者而言,它提供了复现顶级学术论文成果的完整代码与预训练权重,是探索神经符号 AI 前沿的理想平台;对于教育领域,它能作为强大的辅助工具生成新颖的几何题目与解法。虽然运行完整性能需要一定的计算资源,但其模块化设计也允许用户在轻量级配置下体验核心的逻辑推导过程,是连接抽象数学推理与现代深度学习技术的重要桥梁。

使用场景

某数学奥林匹克竞赛教练团队正致力于为选手生成高难度的几何证明题解,以辅助备训。

没有 alphageometry 时

  • 依赖人工示范数据:传统求解器需要大量人类标注的解题步骤作为训练数据,收集奥运级几何题的详细证明过程极其耗时且稀缺。
  • 复杂题目束手无策:面对需要添加多条辅助线才能破解的 IMO(国际数学奥林匹克)级别难题,现有工具往往因搜索空间过大而直接失败。
  • 解题思路单一:人工编写的题解通常只提供一种固定解法,难以展示同一道题目的多种创新证明路径,限制了学生的思维拓展。
  • 验证效率低下:教练手动验证新编题目的可解性及正确性需要数小时甚至数天,严重拖累了题库的更新速度。

使用 alphageometry 后

  • 零样本自主学习:alphageometry 无需任何人类解题示范,仅凭符号引擎与语言模型的结合,即可从零开始推导并解决高难度几何定理。
  • 突破奥数难度上限:借助强大的神经引导搜索策略,alphageometry 能成功构造出复杂的辅助线,解决了以往算法无法触及的奥运金牌级几何题。
  • 生成多样化证明:该工具能自动探索并输出同一问题的多种不同证明方案,为教练提供了丰富的教学素材,帮助学生发散思维。
  • 秒级自动化验证:输入题目描述后,alphageometry 可在极短时间内完成求解与验证,将新题入库的周期从“天”级缩短至“分钟”级。

alphageometry 通过消除对人类经验的依赖,实现了从普通几何题到奥运压轴题的全自动、多路径智能证明,彻底重塑了高阶数学题目的生成与验证流程。

运行环境要求

操作系统
  • 未说明
GPU
  • 运行完整 AlphaGeometry 复现论文结果需要 4 张 V100 GPU
  • 仅运行 DDAR 求解器可不依赖 GPU
内存

未说明(复现论文结果需配合 250 个 CPU 工作进程)

依赖
notes1. 核心依赖 'meliad' 未注册在 pip 上,需手动克隆谷歌研究仓库并配置 PYTHONPATH。2. 可单独运行 DDAR 求解器而无需安装 meliad 和 sentencepiece。3. 为复现论文中的 IMO 解题效果,需设置特定参数(Batch Size 32, Beam Size 512, Depth 16)并拥有 4 张 V100 GPU 及大量 CPU 资源。4. 当前开源版本移除了部分内部基础设施相关的速度和内存优化代码,以确保证代码清晰。5. 需运行 download.sh 脚本下载模型权重和词汇表文件。
python3.10.9
meliad (需手动从 GitHub 安装)
sentencepiece
gin
requirements.txt 中列出的其他依赖
alphageometry hero image

快速开始

无需人类示范即可解决奥数几何问题

此仓库包含复现DDAR和AlphaGeometry所需的代码, 这两款几何定理证明器在2024年《自然》杂志论文中被介绍:

“无需人类示范即可解决奥数几何问题”。


fig1

更新(2026年1月): AlphaGeometry2已发表,其用于DDAR的代码已在alphageometry2中发布。

依赖项

在以下说明中,我们使用Python 3.10.9,并且依赖项及其确切版本号列于requirements.txt文件中。

我们的代码依赖于meliad,它并未注册到pip包管理器中。有关如何手动安装meliad的说明见下文。

请注意,即使没有meliadsentencepiece依赖项,仍然可以运行DDAR求解器。

运行说明

README.md中的所有说明可以通过以下命令一次性执行:

bash run.sh

下面我们将逐步解释这些说明。

安装依赖项、下载权重和词汇表

安装过程在一个虚拟环境中进行:

virtualenv -p python3 .
source ./bin/activate
pip install --require-hashes -r requirements.txt

下载权重和词汇表:

bash download.sh
DATA=ag_ckpt_vocab

最后,由于meliad未注册到pip,需单独安装:

MELIAD_PATH=meliad_lib/meliad
mkdir -p $MELIAD_PATH
git clone https://github.com/google-research/meliad $MELIAD_PATH
export PYTHONPATH=$PYTHONPATH:$MELIAD_PATH

设置常用参数

在运行Python脚本之前,我们先准备一些常用的参数。符号引擎需要定义和推理规则才能运行。这些定义和规则分别提供在defs.txtrules.txt两个文本文件中。

DDAR_ARGS=(
  --defs_file=$(pwd)/defs.txt \
  --rules_file=$(pwd)/rules.txt \
);

接下来,我们定义与证明搜索相关的参数。为了复现下面的简单示例,我们使用较轻量级的搜索参数值:

BATCH_SIZE=2
BEAM_SIZE=2
DEPTH=2

SEARCH_ARGS=(
  --beam_size=$BEAM_SIZE
  --search_depth=$DEPTH
)

注意:我们论文中的结果可以通过设置BATCH_SIZE=32BEAM_SIZE=512DEPTH=16来获得,具体如方法部分所述。为满足IMO竞赛的时间限制,需要4张V100显卡和250个CPU工作进程,详见扩展数据图1。此外,我们还去除了其他内存和速度优化措施,以减少内部依赖并提高代码可读性。

假设下载的检查点和词汇表位于DATA目录下,而安装的meliad源代码位于MELIAD_PATH目录。我们使用gin库来管理模型配置,遵循meliad的惯例。现在我们定义与语言模型相关的参数:

LM_ARGS=(
  --ckpt_path=$DATA \
  --vocab_path=$DATA/geometry.757.model
  --gin_search_paths=$MELIAD_PATH/transformer/configs,$(pwd) \
  --gin_file=base_htrans.gin \
  --gin_file=size/medium_150M.gin \
  --gin_file=options/positions_t5.gin \
  --gin_file=options/lr_cosine_decay.gin \
  --gin_file=options/seq_1024_nocache.gin \
  --gin_file=geometry_150M_generate.gin \
  --gin_param=DecoderOnlyLanguageModelGenerate.output_token_losses=True \
  --gin_param=TransformerTaskConfig.batch_size=$BATCH_SIZE \
  --gin_param=TransformerTaskConfig.sequence_length=128 \
  --gin_param=Trainer.restore_state_variables=False
);

提示:即使不定义SEARCH_ARGSLM_ARGS,仍然可以运行DDAR求解器。在这种情况下,只需在alphageometry.py中禁用lm_inference模块的导入即可。

运行DDAR

该脚本通过读取文本文件中的问题列表来加载一个问题,并根据其名称解决列表中的特定问题。我们通过--problems_file--problem_name这两个参数传递这两条信息。我们使用--mode=ddar来指示要使用DDAR求解器。

下面我们展示了该求解器如何解决2000年IMO第1题:

python -m alphageometry \
--alsologtostderr \
--problems_file=$(pwd)/imo_ag_30.txt \
--problem_name=translated_imo_2000_p1 \
--mode=ddar \
"${DDAR_ARGS[@]}"

预期输出如下:

graph.py:468] translated_imo_2000_p1
graph.py:469] a b = segment a b; g1 = on_tline g1 a a b; g2 = on_tline g2 b b a; m = on_circle m g1 a, on_circle m g2 b; n = on_circle n g1 a, on_circle n g2 b; c = on_pline c m a b, on_circle c g1 a; d = on_pline d m a b, on_circle d g2 b; e = on_line e a c, on_line e b d; p = on_line p a n, on_line p c d; q = on_line q b n, on_line q c d ? cong e p e q
ddar.py:41] Depth 1/1000 time = 1.7772269248962402
ddar.py:41] Depth 2/1000 time = 5.63526177406311
ddar.py:41] Depth 3/1000 time = 6.883412837982178
ddar.py:41] Depth 4/1000 time = 10.275688409805298
ddar.py:41] Depth 5/1000 time = 12.048273086547852
alphageometry.py:190]
==========================
 * From theorem premises:
A B G1 G2 M N C D E P Q : Points
AG_1 ⟂ AB [00]
BA ⟂ G_2B [01]
G_2M = G_2B [02]
G_1M = G_1A [03]

...
[log omitted]
...

036. ∠QEB = ∠(QP-EA) [46] & ∠(BE-QP) = ∠AEP [55] ⇒  ∠EQP = ∠QPE [56]
037. ∠PQE = ∠EPQ [56] ⇒  EP = EQ

==========================

输出首先列出所使用的相关前提条件,然后逐步展示证明步骤。所有谓词都进行了编号,以便追踪它们是如何从前提条件推导出来的,并证明整个证明是完全合理的。

提示:此外,如果添加--out_file=path/to/output/text/file.txt参数,证明内容将被写入指定的文本文件中。

imo_ag_30.txt中的所有问题上运行后,将得到其中14个问题的解答,正如我们论文中的表1所示。

运行 AlphaGeometry:

作为一个简单的示例,我们从 --problem_file=examples.txt 中加载 --problem_name=orthocenter。 这一次,我们传递 --mode=alphageometry 来使用 AlphaGeometry 求解器,并传递 SEARCH_ARGSLM_ARGS 标志。

python -m alphageometry \
--alsologtostderr \
--problems_file=$(pwd)/examples.txt \
--problem_name=orthocenter \
--mode=alphageometry \
"${DDAR_ARGS[@]}" \
"${SEARCH_ARGS[@]}" \
"${LM_ARGS[@]}"

预期输出如下:

...
[日志省略]
...
training_loop.py:725] 总参数量:152072288
training_loop.py:739] 总状态大小:0
training_loop.py:492] 训练循环:为模式 beam_search 创建任务

graph.py:468] 垂心
graph.py:469] a b c = 三角形 a b c;d = 在 tline d b a c 上,也在 tline d c a b 上?垂线 a d b c
ddar.py:41] 深度 1/1000 时间 = 0.009987592697143555 分支 = 4
ddar.py:41] 深度 2/1000 时间 = 0.00672602653503418 分支 = 0
alphageometry.py:221] DD+AR 未能解决该问题。
alphageometry.py:457] 深度 0。有 1 个节点待扩展:
alphageometry.py:460] {S} a : ; b : ; c : ; d : T a b c d 00 T a c b d 01 ? T a d b c {F1} x00
alphageometry.py:465] 从 {S} a : ; b : ; c : ; d : T a b c d 00 T a c b d 01 ? T a d b c {F1} x00 解码
...
[日志省略]
...
alphageometry.py:470] LM 输出(分数=-1.102287):“e : C a c e 02 C b d e 03;”
alphageometry.py:471] 翻译:“e = 在线 e a c 上,也在线 e b d 上”

alphageometry.py:480] 求解:“a b c = 三角形 a b c;d = 在 tline d b a c 上,也在 tline d c a b 上;e = 在线 e a c 上,也在线 e b d 上?垂线 a d b c”
graph.py:468]
graph.py:469] a b c = 三角形 a b c;d = 在 tline d b a c 上,也在 tline d c a b 上;e = 在线 e a c 上,也在线 e b d 上?垂线 a d b c
ddar.py:41] 深度 1/1000 时间 = 0.021120786666870117
ddar.py:41] 深度 2/1000 时间 = 0.033370018005371094
ddar.py:41] 深度 3/1000 时间 = 0.04297471046447754
alphageometry.py:140]
==========================
 * 由定理前提:
A B C D:点
BD ⟂ AC [00]
CD ⟂ AB [01]

 * 辅助构造:
E:点
E,B,D 共线 [02]
E,C,A 共线 [03]

 * 证明步骤:
001. E,B,D 共线 [02] & E,C,A 共线 [03] & BD ⟂ AC [00] ⇒ ∠BEA = ∠CED [04]
002. E,B,D 共线 [02] & E,C,A 共线 [03] & BD ⟂ AC [00] ⇒ ∠BEC = ∠AED [05]
003. A,E,C 共线 [03] & E,B,D 共线 [02] & AC ⟂ BD [00] ⇒ EC ⟂ EB [06]
004. EC ⟂ EB [06] & CD ⟂ AB [01] ⇒ ∠(EC-BA) = ∠(EB-CD) [07]
005. E,C,A 共线 [03] & E,B,D 共线 [02] & ∠(EC-BA) = ∠(EB-CD) [07] ⇒ ∠BAE = ∠CDE [08]
006. ∠BEA = ∠CED [04] & ∠BAE = ∠CDE [08](相似三角形)⇒ EB:EC = EA:ED [09]
007. EB:EC = EA:ED [09] & ∠BEC = ∠AED [05](相似三角形)⇒ ∠BCE = ∠ADE [10]
008. EB:EC = EA:ED [09] & ∠BEC = ∠AED [05](相似三角形)⇒ ∠EBC = ∠EAD [11]
009. ∠BCE = ∠ADE [10] & E,C,A 共线 [03] & E,B,D 共线 [02] & ∠EBC = ∠EAD [11] ⇒ AD ⟂ BC
==========================

alphageometry.py:505] 已解决。

注意:点 H 会被自动重命名为 D, 因为语言模型是在合成问题上训练的, 这些问题中的点都按字母顺序命名,因此在测试时它也期望相同的命名方式。

注意:在本实现的 AlphaGeometry 中, 我们移除了所有依赖于内部基础设施的优化措施,例如: 多 GPU 上的并行模型推理、多 CPU 上的并行 DDAR、LM 和 DDAR 的并行执行、 不同问题之间共享的 CPU 工作池等。 我们还移除了部分内存/速度优化和代码抽象,以提高代码的可读性。

从输出中可以看出,最初 DDAR 未能解决该问题。 语言模型提出了两个辅助构造(因为 BATCH_SIZE=2):

  • e = eqdistance e c a b, eqdistance e b a c,即 将 E 构造为以 C 为圆心、半径为 AB 的圆与以 B 为圆心、半径为 AC 的圆的交点。该构造的得分为 -1.186
  • e = on_line e a c, on_line e b d,即 EACBD 的交点。该构造的得分更高(-1.102287)比前一个。

由于第二个构造的得分更高,DDAR 首先尝试了第二个构造,并立即找到了解决方案。 因此,证明搜索终止,没有进行第二次迭代。

结果

在尝试复现我们论文中的 AlphaGeometry 数据之前, 请确保通过准备好的测试套件中的所有测试:

bash run_tests.sh

注意:Issues#14 报告称,尽管顶级波束解码仍然相同,但语言模型对不同用户给出的分数并不一致。

然后,传递 --problem_file(列)和 --mode(行)的相应值, 并对所有问题进行迭代,以获得以下结果:

已解决问题的数量:

imo_ag_30.txt jgex_ag_231.txt
ddar 14 198
alphageometry 25 228

源代码说明

本仓库中的文件包括用于运行求解器的 Python 模块/脚本,以及脚本执行所需的资源文件。我们将在下面列出每个文件及其描述。

文件名 描述
geometry.py 实现证明状态图中的节点(点、线、圆等)。
numericals.py 实现动态几何环境中的数值引擎。
graph_utils.py 实现证明状态图的工具函数。
graph.py 实现证明状态图。
problem.py 实现表示问题前提、结论及 DAG 节点的类。
dd.py 实现 DD 及其回溯机制。
ar.py 实现 AR 及其回溯机制。
trace_back.py 实现递归回溯和依赖差异算法。
ddar.py 实现 DD+AR 的组合方法。
beam_search.py 在 JAX 中实现语言模型的束搜索解码。
models.py 实现 Transformer 模型。
transformer_layer.py 实现 Transformer 层。
decoder_stack.py 实现 Transformer 解码器堆栈。
lm_inference.py 实现与训练好的语言模型交互以进行解码的接口。
alphageometry.py 主脚本,用于加载问题、调用 DD+AR 或 AlphaGeometry 求解器,并输出解。
pretty.py 对求解器输出的解进行美化格式化。
*_test.py 对应模块的测试文件。
download.sh 用于下载模型检查点和语言模型的脚本。
run.sh 执行 README 中指令的脚本。
run_tests.sh 执行测试套件的脚本。

资源文件:

资源文件名 描述
defs.txt 不同几何作图操作的定义。
rules.txt DD 的推理规则。
geometry_150M_generate.gin meliad 中实现的语言模型的 Gin 配置。
imo_ag_30.txt IMO-AG-30 中的问题。
jgex_ag_231.txt JGEX-AG-231 中的问题。

引用本工作

@Article{AlphaGeometryTrinh2024,
  author  = {Trinh, Trieu and Wu, Yuhuai and Le, Quoc and He, He and Luong, Thang},
  journal = {Nature},
  title   = {Solving Olympiad Geometry without Human Demonstrations},
  year    = {2024},
  doi     = {10.1038/s41586-023-06747-5}
}

致谢

本研究是 Google Brain 团队(现为 Google DeepMind)与纽约大学计算机科学系的合作成果。我们感谢 Rif A. Saurous、Denny Zhou、Christian Szegedy、Delesley Hutchins、Thomas Kipf、Hieu Pham、Petar Veličković、Debidatta Dwibedi、Kyunghyun Cho、Lerrel Pinto、Alfredo Canziani、Thomas Wies、He He 的研究团队、Evan Chen(美国 IMO 团队教练)、Mirek Olsak、Patrik Bak,以及 Nature 杂志的三位审稿人,感谢他们提供的帮助和支持。

AlphaGeometry 的代码与以下独立库和软件包进行通信或引用:

我们感谢所有这些项目的贡献者和维护者!

免责声明

本项目并非 Google 官方支持的产品。

本研究代码以“现状”形式提供给更广泛的研究社区。Google 不承诺以任何方式维护或支持此代码。

代码许可

版权所有 © 2023 DeepMind Technologies Limited

所有软件均采用 Apache License, Version 2.0(Apache 2.0)许可;除非符合 Apache 2.0 许可条款,否则不得使用本文件。您可以在以下网址获取 Apache 2.0 许可协议:
https://www.apache.org/licenses/LICENSE-2.0

所有其他材料均采用 Creative Commons Attribution 4.0 国际许可(CC-BY)。您可以在以下网址获取 CC-BY 许可协议:
https://creativecommons.org/licenses/by/4.0/legalcode

除非适用法律要求或另有书面约定,否则在此处根据 Apache 2.0 或 CC-BY 许可分发的所有软件和材料均按“现状”提供,不附带任何形式的明示或默示担保或条件。具体的权利和限制请参阅相关许可协议。

模型参数许可

AlphaGeometry 的检查点和词汇表依据 Creative Commons Attribution 4.0 国际许可(CC BY 4.0)条款提供。详细信息请参见:
https://creativecommons.org/licenses/by/4.0/legalcode

常见问题

相似工具推荐

everything-claude-code

everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上

150.7k|★★☆☆☆|今天
开发框架Agent语言模型

LLMs-from-scratch

LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目,旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型(LLM)。它不仅是同名技术著作的官方代码库,更提供了一套完整的实践方案,涵盖模型开发、预训练及微调的全过程。 该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型,却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码,用户能够透彻掌握 Transformer 架构、注意力机制等关键原理,从而真正理解大模型是如何“思考”的。此外,项目还包含了加载大型预训练权重进行微调的代码,帮助用户将理论知识延伸至实际应用。 LLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API,而是渴望探究模型构建细节的技术人员而言,这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计:将复杂的系统工程拆解为清晰的步骤,配合详细的图表与示例,让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础,还是为未来研发更大规模的模型做准备

90.1k|★★★☆☆|5天前
语言模型图像Agent

NextChat

NextChat 是一款轻量且极速的 AI 助手,旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性,以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发,NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。 这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言,它也提供了便捷的自托管方案,支持一键部署到 Vercel 或 Zeabur 等平台。 NextChat 的核心亮点在于其广泛的模型兼容性,原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型,让用户在一个界面即可自由切换不同 AI 能力。此外,它还率先支持 MCP(Model Context Protocol)协议,增强了上下文处理能力。针对企业用户,NextChat 提供专业版解决方案,具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能,满足公司对数据隐私和个性化管理的高标准要求。

87.6k|★★☆☆☆|6天前
开发框架语言模型

ML-For-Beginners

ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。

85.1k|★★☆☆☆|昨天
图像数据工具视频

funNLP

funNLP 是一个专为中文自然语言处理(NLP)打造的超级资源库,被誉为"NLP 民工的乐园”。它并非单一的软件工具,而是一个汇集了海量开源项目、数据集、预训练模型和实用代码的综合性平台。 面对中文 NLP 领域资源分散、入门门槛高以及特定场景数据匮乏的痛点,funNLP 提供了“一站式”解决方案。这里不仅涵盖了分词、命名实体识别、情感分析、文本摘要等基础任务的标准工具,还独特地收录了丰富的垂直领域资源,如法律、医疗、金融行业的专用词库与数据集,甚至包含古诗词生成、歌词创作等趣味应用。其核心亮点在于极高的全面性与实用性,从基础的字典词典到前沿的 BERT、GPT-2 模型代码,再到高质量的标注数据和竞赛方案,应有尽有。 无论是刚刚踏入 NLP 领域的学生、需要快速验证想法的算法工程师,还是从事人工智能研究的学者,都能在这里找到急需的“武器弹药”。对于开发者而言,它能大幅减少寻找数据和复现模型的时间;对于研究者,它提供了丰富的基准测试资源和前沿技术参考。funNLP 以开放共享的精神,极大地降低了中文自然语言处理的开发与研究成本,是中文 AI 社区不可或缺的宝藏仓库。

79.9k|★☆☆☆☆|3天前
语言模型数据工具其他

cs-video-courses

cs-video-courses 是一个精心整理的计算机科学视频课程清单,旨在为自学者提供系统化的学习路径。它汇集了全球知名高校(如加州大学伯克利分校、新南威尔士大学等)的完整课程录像,涵盖从编程基础、数据结构与算法,到操作系统、分布式系统、数据库等核心领域,并深入延伸至人工智能、机器学习、量子计算及区块链等前沿方向。 面对网络上零散且质量参差不齐的教学资源,cs-video-courses 解决了学习者难以找到成体系、高难度大学级别课程的痛点。该项目严格筛选内容,仅收录真正的大学层级课程,排除了碎片化的简短教程或商业广告,确保用户能接触到严谨的学术内容。 这份清单特别适合希望夯实计算机基础的开发者、需要补充特定领域知识的研究人员,以及渴望像在校生一样系统学习计算机科学的自学者。其独特的技术亮点在于分类极其详尽,不仅包含传统的软件工程与网络安全,还细分了生成式 AI、大语言模型、计算生物学等新兴学科,并直接链接至官方视频播放列表,让用户能一站式获取高质量的教育资源,免费享受世界顶尖大学的课堂体验。

79.8k|★☆☆☆☆|3天前
其他图像数据工具