ACL文献库
此仓库包含:
- ACL文献库网站上所有论文、作者和会议的元数据。
- 用于生成网站的代码和说明。
- 用于访问元数据的Python包,也可在PyPI上获取。
该仓库的官方地址是https://github.com/acl-org/acl-anthology。
使用acl-anthology-py Python包
详细信息请查看Python包的单独README。
生成文献库网站
以下是生成https://aclanthology.org/上看到的ACL文献库网站的基本说明。
前提条件
要构建文献库网站,您需要:
- Python 3.8或更高版本
bin/requirements.txt
中列出的Python包;运行pip -r bin/requirements.txt
安装- Hugo 0.58.3或更高版本(可以直接从他们的仓库下载;需要扩展版本!)
- bibutils用于创建非BibTeX引用格式(不是构建网站的必需条件,但没有它您需要按照详细README中的步骤手动调用构建步骤)
- 可选:如果在首次运行
make
之前安装libyaml-dev
和Cython
,将使用libyaml C库而不是Python实现,加快构建速度。
通过GitHub进行构建和部署
GitHub有一个直接从GitHub执行部署的Actions操作。要使用它,你需要在仓库设置中定义以下变量(网页界面: settings -> secrets):
PUBLISH_SSH_KEY
: 用于身份验证的标准pem格式的密钥(无密码)
每当master分支发生变更时,GitHub将自动构建并部署当前的master。这是通过Makefile中的upload
目标完成的。
克隆
将Anthology仓库克隆到本地机器:
$ git clone https://github.com/acl-org/acl-anthology
生成
如果你已正确安装所有要求,构建网站应该只需在克隆仓库的目录中运行make
即可。
之后完整生成的网站将位于build/anthology
中。如果在此步骤中出现任何错误,你可以查阅详细README以获取有关构建网站的各个步骤的更多信息。你可以通过运行make serve
启动本地web服务器来查看生成的网站,它将在http://localhost:8000上提供服务。
请注意,构建网站是一个相当耗费资源的过程;特别是最后一步调用Hugo,大约需要18GB的系统内存。在配备SSD的笔记本电脑上构建anthology大约需要10分钟。
(注意: 这并不意味着你的系统需要这么多RAM;事实上,在8GB RAM的笔记本电脑上也可以正常构建网站。但是,由于交换内存的原因,系统可能会暂时变慢。大约18GB是运行hugo --minify --stepAnalysis
时报告的最大RAM使用量。)
通过在hugo/
目录中运行hugo server
可以在本地查看anthology。请注意,它会重新构建网站,因此需要大约一分钟才能启动。
托管ACL anthology的镜像
首先,创建镜像是一个缓慢的过程,并且会给ACL Anthology基础设施带来压力,因为在初始设置时你必须从官方网络服务器下载anthology的每一个文件。无论你的连接速度有多快,这可能需要长达8小时的时间。因此请不要仅仅出于好奇而尝试。
如果你想托管镜像,你必须设置两个环境变量:
ANTHOLOGY_PREFIX
你的镜像将可访问的http前缀 例如 https://example.com/my-awesome-mirror 或 http://aclanthology.lst.uni-saarland.de (注意末尾没有斜杠!)ANTHOLOGYFILES
论文、附件等将存放在你的网络服务器上的目录。 这个目录需要对你的网络服务器可读(显然),但不应该是 anthology镜像目录的子目录。
设置这些变量后,运行make
创建页面,运行make mirror
将所有额外文件镜像到build/anthology-files目录。如果你之前已经创建过镜像,它只会下载缺失的文件。
如果你想镜像论文但不包括所有附件,你可以运行make mirror-no-attachments
来代替。
然后你将build/website/
目录rsync到你的网络服务器,或者如果你在子目录FOO
中提供镜像,则镜像build/website/FOO
。build/anthology-files
目录需要rsync到你网络服务器的ANTHOLOGYFILES
目录。
如果你想保持镜像更新,可以根据需要修改shell脚本bin/acl-mirror-cronjob.sh
。
你需要在服务器上安装以下软件
- rsync
- git
- python3
- hugo > 0.58
- python3-venv
如果你希望构建过程快速进行,请安装cython3
和libyaml-dev
(见上文)。
请注意,生成anthology需要相当多的RAM,所以请确保你的机器上有足够的内存。
贡献
如果你想为ACL Anthology做出贡献,请查看:
- 我们的Github issues页面
- 详细README,其中包含有关生成和修改网站的更深入信息。
历史
这个仓库最初是wing-nus/acl,并于2017年6月5日转移到acl-org。
许可
用于构建ACL Anthology的代码是根据Apache License, v2.0分发的。