寻找引文解析器

5
我需要一个解析器,可以扫描学术文本,提取引用,并将这些引用解析为其组成部分(作者、标题、出版日期等)。
我尝试了Paracite,但它运行速度非常慢,并且不能产生高质量的结果。
任何编程语言都可以,但Java是首选。
5个回答

6
请看ParsCit
这是ParsCit项目的主页,它执行两项任务:1)引用字符串解析,有时也称为引文解析或引文提取,以及2)科学文档的逻辑结构解析。它被设计为一个监督式机器学习过程,使用条件随机场作为其学习机制。您可以在下面下载代码、在线解析字符串或将批处理作业发送到我们的Web服务。代码包含训练数据、特征生成器和连接系统到Web服务的Shell脚本(在此网站上使用)。

谢谢,那个链接也引导到了同一领域的其他一些有趣项目。我会去看看的! - Mike Sokolov

2
我们最近遇到了类似的问题,最终基于ParsCit编写了自己的解析器,但是使用条件随机场模型的Wapiti代替CRF++。正如Mike在上面提到的,基于机器学习的解析器的问题在于获取好的标记训练数据;为此,我们编写了一个可视化编辑器,可以让您标记结果(并将其保存为训练数据)。这种方法对于解析参考文献非常有效。
如果有人感兴趣,我们已经在anystyle.io上提供了解析器和编辑器。

1
您还可以尝试这个小工具,将学术引用解析为字段:

http://citationparser.com

Citationparser.com仍处于测试版,但2017年版本特别适用于期刊文章,也适用于专著和书籍章节。
参考文献列表不必使用同一种风格,可以混合使用不同的官方或非官方风格。
您可以浏览引用并检查全文,也可以导出为Endnote文件(.ENL)。我开发这个工具只是为了处理几百个标题的小型列表。如果您粘贴超过1000个标题的列表,它将运行得更慢。

1

1
谢谢,Max。我们最终编写了自己的基于HMM的统计识别器。我认为正则表达式方法太过脆弱了。现在的难点是获取好的标记训练数据。我猜想Citeseer的列表可能会有所帮助。 - Mike Sokolov

0
你可以尝试查找一个索引/搜索库,比如Lucene

1
谢谢,我熟悉Lucene,但它并没有特别解决这个问题。 - Mike Sokolov

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接