Analyse automatique du texte de citation dans les références académiques


18

Existe-t-il un logiciel (ou pseudo-code) qui peut numériser automatiquement un morceau de texte (soit collé dans l'outil, soit lu à partir d'un fichier .doc / .pdf) et identifier les données de citation en utilisant des formats standard? Les données seraient ensuite divisées en ses champs constitutifs et exportées au format XML, CSV ou dans un autre format de données structuré. J'ai regardé cb2Bib mais il n'a pu extraire l'année que des références de style Harvard, ce qui est insuffisant.


Voulez-vous numériser le texte lui-même ou simplement la section des références?
innaM

Juste les références - ce serait probablement un document contenant des publications personnelles.
Alistair Knock

Je ne sais pas si c'est ce dont vous pourriez avoir besoin mais vous pouvez essayer ce refhive.com
Mostafa Elmoghazi

Réponses:


4

Jetez un œil à cette liste d'analyseurs de citation qui peuvent générer du XML à partir du texte d'entrée:

http://freecite.library.brown.edu
http://paracite.eprints.org
http://aye.comp.nus.edu.sg/parsCit (en mode maintenance au 1er août 2012)
http: // opcit.eprints.org
http://search.cpan.org/~mjewell/Biblio-Citation-Parser-1.10

Avec freecite, vous pouvez utiliser une curlcommande pour soumettre des citations comme suit (en PHP):

$cmd = "curl -H 'Accept: text/xml' -d \"" . $myinput . "\" http://freecite.library.brown.edu/citations/create";
$xmloutput = exec( $cmd );

Une autre option est github.com/inspirehep/refextract . Ce n'est pas basé sur ML mais cela a très bien fonctionné sur mes tests.
Josir

3

À l'heure actuelle (2017), le projet Open-Source le plus actif implémentant cela semble être Anystyle Parser (dernière version 07-2016). Il peut être utilisé via une interface Web, une API ou téléchargé en tant que RubyGem.

Ils mentionnent explicitement sur leur site Internet que l'implémentation est inspirée de ParsCit (dernière version 2013?) Et FreeCite (dernier commit 2009).

Formez également leur site Web:

AnyStyle Parser utilise de puissantes heuristiques d'apprentissage automatique basées sur des champs aléatoires conditionnels qui peuvent être formés par tout le monde à l'aide de notre éditeur intégré.

C'est une fonctionnalité vraiment cool, qui en fait l'implémentation la plus intéressante (à mon humble avis). La formation semble être assez simple, comme expliqué dans la documentation de l' API . Vous fournissez simplement des résultats corrigés manuellement et exécutez la Anystyle.parser.traincommande. Je ne sais pas si ParsCit et FreeCite prennent également en charge cela, mais s'ils ne le font pas, cela semble être une énorme différence de fonctionnalités pour moi.


À l'exception de l'anystyle analyseur, ils sont tous mentionnés dans la réponse actuellement la plus votée. Qu'est-ce qui les distingue réellement? Quels seraient les avantages ou les inconvénients compte tenu de la question d'origine?
Seth

Ah, en effet. Je vais modifier et améliorer ma réponse. Merci d'avoir signalé cela.
Wouter

On dirait qu'il est mort maintenant.
expert

1
@Brandon: J'ai publié un HOWTO ici: github.com/inukshuk/wapiti-ruby/issues/3
Wouter

1
Ça a l'air super, merci! En tant que personne qui n'a jamais touché de rubis, ce sera très utile.
Brandon

2

Essayez un outil tel que Regex Buddy ou Expresso .

Si vous n'êtes pas un programmeur, les expressions régulières peuvent être un peu intimidantes, mais elles ne sont vraiment pas si difficiles, surtout avec un outil décent comme l'un des précédents.

Voici un exemple d'une personne utilisant des expressions régulières pour extraire des citations:

Citation analysant l'expression régulière


1

Mendeley devrait pouvoir le faire. Il peut importer des fichiers PDF, puis exporter les métadonnées vers BibTeX, RIS et EndNote XML. Il est gratuit à télécharger et est multiplateforme.

Edit: J'ai testé cela sur quelques documents. L'importation PDF semble bien fonctionner pour les références correctement formatées. Pour un document que j'ai créé en utilisant LaTeX, toutes les références avec l'auteur sous la forme "Smith, J." ou "J. Smith", etc., ont été importés très bien. Si l'auteur est une entreprise (un seul mot), ou la référence est incomplète, cela ne fonctionne pas aussi bien. Les références extraites peuvent facilement être éditées et exportées vers BibTeX, etc.


2
"Cette fonctionnalité a été supprimée dans Mendeley 0.9.7 car elle consommait une quantité considérable de ressources (côté client et serveur) sans fournir suffisamment de valeur. Nous prévoyons de la réintroduire sous une forme améliorée à l'avenir." ...... feedback.mendeley.com/forums/4941-mendeley-feedback/suggestions/…
iceman

1

J'ai vu un programme Westlaw faire cela pour les citations légales, mais ce n'est probablement pas ce que vous recherchez. Reference Manager peut faire quelque chose comme ça pour les formats académiques, mais je ne l'ai jamais utilisé.



0

Zotero est un plugin pour Firefox qui le fait pour le contenu Web. Je ne sais pas s'il existe un outil similaire pour les documents / PDF


1
Je sais que ce n'est pas exactement ce que Zotero est conçu pour faire, mais si vous pointez Firefox vers un fichier texte ou un fichier html avec les données pertinentes, Zotero peut reconnaître les références et ensuite vous pouvez l'ajouter à la bibliothèque Zotero et exporter le bibliothèque entière dans le format que vous aimez (je sais que Zotero prend en charge un tas de formats). Cela serait cependant douloureux pour un grand nombre de fichiers.
nedned

Je ne vois pas comment Zotero fait ce que le PO demande. Je l'ai installé, mais il ne semble pas y avoir d'option pour analyser une référence.
Rikki

Zotero analyse les citations des sites Web spécialement codés, pas du texte normal.
Ochado

0

Cela appartient probablement plus à @Abhinav, mais zotero ne gère définitivement que les données structurées, comme vous le trouverez décrit ici:

http://www.zotero.org/support/getting_stuff_into_your_library#importing_records_from_other_reference_tools

Un hack intéressant pourrait être d'essayer d'écrire un programme qui utilise chaque citation comme requête de recherche dans votre base de données préférée, puis utilise quelque chose comme zotero pour générer les informations de référence. Vous pouvez également télécharger des informations structurées à partir de services comme citeUlike. Faites-moi savoir si vous finissez par faire quelque chose comme ça! (mettez-le sur github si vous le faites;).

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.