学术元数据的模糊匹配工具
项目描述
fuzzycat
: fatcat.wiki的文献模糊匹配
这个Python库包含用于查找近似重复的文献实体(主要是研究论文)的例程,并估计两个元数据记录是否描述了相同的工作(或相同工作的变体)。一些例程设计为“离线”处理成批的数十亿个排序的元数据记录,而其他例程设计为“在线”对托管网络服务和目录进行查询。
fuzzycat
最初由Internet Archive的Martin Czygan开发,用于构建引用图,以及在fatcat.wiki目录和scholar.archive.org搜索索引中识别重复记录。
免责声明:此工具仍在开发中,如“0”主版本号所示。接口、语义和行为可能会调整。
快速入门
在一个virtualenv
(或类似环境)中,使用pip进行安装
pip install fuzzycat
fuzzycat.simple
模块包含查询Internet Archive托管服务的高级辅助程序
import elasticsearch
from fuzzycat.simple import *
es_client = elasticsearch.Elasticsearch("https://search.fatcat.wiki:443")
# parses reference using GROBID (at https://grobid.qa.fatcat.wiki),
# then queries Elasticsearch (at https://search.fatcat.wiki),
# then scores candidates against latest catalog record fetched from
# https://api.fatcat.wiki
best_match = closest_fuzzy_unstructured_match(
"""Cunningham HB, Weis JJ, Taveras LR, Huerta S. Mesh migration following abdominal hernia repair: a comprehensive review. Hernia. 2019 Apr;23(2):235-243. doi: 10.1007/s10029-019-01898-9. Epub 2019 Jan 30. PMID: 30701369.""",
es_client=es_client)
print(best_match)
# FuzzyReleaseMatchResult(status=<Status.EXACT: 'exact'>, reason=<Reason.DOI: 'doi'>, release={...})
# same as above, but without the GROBID parsing, and returns multiple results
matches = close_fuzzy_biblio_matches(
dict(
title="Mesh migration following abdominal hernia repair: a comprehensive review",
first_author="Cunningham",
year=2019,
journal="Hernia",
),
es_client=es_client,
)
包括一个CLI工具,用于处理UNIX stdin/stdout管道中的记录
# print usage
python -m fuzzycat
功能和用例
refcat项目基于这个库,通过处理从学术论文中提取的数十亿个结构化和非结构化参考记录来构建引用图(注意:对于性能关键的部分,一些代码已被移植到Go,尽管测试套件在Python和Go实现之间共享)。
使用fuzzycat过滤新元数据,这些元数据看起来像是来自其他来源的现有记录的重复项,以自动导入元数据记录到fatcat目录中。
结合标准命令行工具(如sort
),可以对fatcat大量元数据快照进行聚类和缩减,以标记重复记录进行合并。
从任何来源(网页、书籍、论文、维基、数据库等)提取的引用字符串可以与学术论文的fatcat目录进行匹配。
支持和致谢
本软件的开发得到了Andrew W. Mellon Foundation的支持,通过“确保开放获取期刊文献的持久访问”项目(见原始公告)的多个阶段。
更多信息请访问fatcat.wiki。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。