Существует ли какое-либо программное обеспечение (или псевдокод), которое может автоматически сканировать фрагмент текста (либо вставленный в инструмент, либо считывать из .doc/.pdf) и идентифицировать данные цитирования с использованием стандартных форматов? Затем данные будут разделены на составляющие поля и экспортированы в XML, CSV или какой-либо другой формат структурированных данных. Я посмотрел на cb2Bib, но он смог извлечь год только из ссылок в стиле Гарварда, что недостаточно.
8 ответов
Взгляните на этот список анализаторов цитирования, которые могут генерировать XML из входного текста:
http://freecite.library.brown.edu
http://paracite.eprints.org
http://aye.comp.nus.edu.sg/parsCit (в режиме обслуживания с 1 августа 2012 г.)
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). Он может быть использован через веб-интерфейс, API или загружен как RubyGem.
Они прямо упоминают на своем веб-сайте, что внедрение было вдохновлено ParsCit (последняя версия 2013?) и FreeCite (последний коммит 2009).
Также сформируйте их сайт:
AnyStyle Parser использует мощную эвристику машинного обучения, основанную на условных случайных полях, которую каждый может обучить с помощью нашего встроенного редактора.
Это действительно классная функция, которая делает эту реализацию наиболее интересной (imho). Обучение кажется довольно простым, как объясняется в документации по API. Вы просто предоставляете результаты, исправленные вручную, и запускаете команду Anystyle.parser.train
. Я не уверен, что ParsCit и FreeCite также поддерживают это, но если они этого не делают, мне кажется, что это огромная разница в возможностях.
Попробуйте такой инструмент, как Regex Buddy или Expresso.
Если вы не программист, регулярные выражения могут быть немного пугающими, но на самом деле они не так уж и сложны, особенно с помощью достойного инструмента, подобного одному из приведенных выше.
Вот пример использования регулярных выражений для извлечения цитат:
Я видел программу Westlaw, которая делает это для юридических ссылок, но это, вероятно, не то, что вы ищете. Справочный менеджер может сделать что-то подобное для академических форматов, но я никогда не использовал это.
Менделей должен быть в состоянии сделать это. Он может импортировать PDF-файлы, а затем экспортировать метаданные в BibTeX, RIS и EndNote XML. Это бесплатно для скачивания и является кроссплатформенным.
Изменить: я проверил это на нескольких документах. Импорт PDF действительно работает хорошо для ссылок, которые правильно отформатированы. Для документа, который я создал, используя LaTeX, все ссылки с автором в форме «Смит, Дж.» или "Дж. Смит" и т. д. были импортированы в порядке. Если автором является компания (одним словом), или ссылка неполная, она также не работает. Извлеченные ссылки могут быть легко отредактированы и экспортированы в BibTeX и т.д.
Попробуйте http://www.crossref.org/guestquery/#stqsearch
Он способен автоматически анализировать ваш ссылочный текст и предлагает ссылку на онлайн-статью.
Вероятно, это больше относится к комментарию к @Abhinav, но zotero определенно обрабатывает только структурированные данные, как вы можете найти здесь:
Интересным хаком может быть попытка написать программу, которая использует каждую цитату в качестве поискового запроса в вашей любимой базе данных, а затем использует что-то вроде zotero для генерации справочной информации. Вы также можете загрузить структурированную информацию из таких сервисов, как citeUlike. Дайте мне знать, если вы закончите что-то подобное! (положите его на github, если вы делаете;).
Zotero - это плагин для Firefox, который делает это для веб-контента. Не уверен, что есть аналогичный инструмент для документов / PDF