是否有任何软件(或伪代码)可以自动扫描一段文本(粘贴到工具中或从.doc / .pdf中读取)并使用标准格式识别引文数据?然后,数据将被分成其组成字段,并以XML,CSV或其他某种结构化数据格式导出。我看过cb2Bib,但是它只能从哈佛风格的引用中提取年份,这还不够。
是否有任何软件(或伪代码)可以自动扫描一段文本(粘贴到工具中或从.doc / .pdf中读取)并使用标准格式识别引文数据?然后,数据将被分成其组成字段,并以XML,CSV或其他某种结构化数据格式导出。我看过cb2Bib,但是它只能从哈佛风格的引用中提取年份,这还不够。
Answers:
看一下可以从输入文本生成XML的引文解析器列表:
http://freecite.library.brown.edu
http://paracite.eprints.org
http://aye.comp.nus.edu.sg/parsCit(从2012年8月1日开始处于维护模式)
http:// opcit.eprints.org
http://search.cpan.org/~mjewell/Biblio-Citation-Parser-1.10
使用freecite,您可以使用以下curl
命令提交引用(在PHP中):
$cmd = "curl -H 'Accept: text/xml' -d \"" . $myinput . "\" http://freecite.library.brown.edu/citations/create";
$xmloutput = exec( $cmd );
目前(2017年),最活跃的实施此项目的开源项目似乎是Anystyle Parser(最新版本07-2016)。可以通过Web界面,API使用它,也可以将其下载为RubyGem。
他们在他们的网站上明确提到实施是受ParsCit(最新版本2013?)和FreeCite(最新提交2009)的启发。
还可以形成他们的网站:
AnyStyle Parser使用基于条件随机字段的强大机器学习启发法,每个人都可以使用我们的内置编辑器对其进行训练。
这是一个非常酷的功能,这使它成为最有趣的实现(imho)。如API文档中所述,培训似乎非常简单。您只需提供一些手动更正的结果,然后运行Anystyle.parser.train
命令。我不确定ParsCit和FreeCite是否也支持此功能,但是如果他们不支持,这对我来说似乎是一个巨大的功能差异。
尝试使用Regex Buddy或Expresso之类的工具。
如果您不是程序员,则正则表达式可能有点令人生畏,但它们的确并不难,尤其是对于像上述工具之一这样的工具而言。
这是某人使用正则表达式提取引文的示例:
门德利应该能够做到这一点。它可以导入PDF,然后将元数据导出到BibTeX,RIS和EndNote XML。它是免费下载的并且是跨平台的。
编辑:我在一些文档上对此进行了测试。PDF导入对于格式正确的参考文件似乎效果很好。对于我使用LaTeX创建的文档,所有与作者的引用形式均为“ Smith,J”。或“ J. Smith”等被罚款。如果作者是一家公司(一个单词),或者参考文献不完整,那么它就无法正常工作。提取的参考可以轻松地编辑并导出到BibTeX等。
尝试 http://www.crossref.org/guestquery/#stqsearch
此功能能够自动分析您的参考文本,并提供指向在线文章的链接。
Zotero是firefox的插件,可用于Web内容。不确定是否有用于文档/ pdf的类似工具
这可能更多地是@Abhinav的注释,但是zotero绝对只处理结构化数据,如您在此处所述:
一个有趣的技巧可能是尝试编写一个程序,在您喜欢的数据库中使用每个引文作为搜索查询,然后使用zotero之类的东西来生成引用信息。您也可以从citeUlike之类的服务中下载结构化信息。让我知道您是否最终会做类似的事情!(如果愿意的话,将其放在github上)。