Automatyczne parsowanie tekstu cytatu w odniesieniach akademickich

18

Czy istnieje oprogramowanie (lub pseudo-kod), które może automatycznie skanować fragment tekstu (wklejonego do narzędzia lub czytać z .doc / .pdf) i identyfikować dane cytowania przy użyciu standardowych formatów? Dane zostaną następnie podzielone na pola składowe i wyeksportowane w formacie XML, CSV lub innym formacie danych strukturalnych. Patrzyłem na cb2Bib, ale był on w stanie wydobyć rok tylko z odniesień w stylu Harvarda, co jest niewystarczające.

Alistair Knock
źródło
Czy chcesz zeskanować sam tekst, czy tylko sekcję odniesienia?
innaM
Tylko odniesienia - prawdopodobnie byłby to dokument zawierający osobiste publikacje.
Alistair Knock
Nie jestem pewien, czy to może być potrzebne, ale możesz wypróbować to refhive.com
Mostafa Elmoghazi

Odpowiedzi:

4

Spójrz na tę listę parserów cytowań, które mogą generować XML z tekstu wejściowego:

http://freecite.library.brown.edu
http://paracite.eprints.org
http://aye.comp.nus.edu.sg/parsCit (w trybie konserwacji od 1 sierpnia 2012 r.)
http: // opcit.eprints.org
http://search.cpan.org/~mjewell/Biblio-Citation-Parser-1.10

Za pomocą freecite możesz użyć curlpolecenia, aby przesłać cytaty w następujący sposób (w PHP):

$cmd = "curl -H 'Accept: text/xml' -d \"" . $myinput . "\" http://freecite.library.brown.edu/citations/create";
$xmloutput = exec( $cmd );
BECZKA
źródło
Inną opcją jest github.com/inspirehep/refextract . Nie jest oparty na ML, ale działał bardzo dobrze na moich testach.
Josir
3

W tej chwili (2017) najbardziej aktywnym projektem Open-Source, który to implementuje, jest Anyser Parser (ostatnia wersja 07-2016). Może być używany przez interfejs WWW, API lub pobrany jako RubyGem.

Wyraźnie wspominają na swojej stronie, że wdrożenie jest zainspirowane ParsCit (ostatnia wersja 2013?) I FreeCite (ostatnie zatwierdzenie 2009).

Również tworzą swoją stronę internetową:

AnyStyle Parser korzysta z zaawansowanej heurystyki uczenia maszynowego opartej na warunkowych polach losowych, którą każdy może trenować za pomocą naszego wbudowanego edytora.

To naprawdę fajna funkcja, która sprawia, że ​​jest to najciekawsza implementacja (imho). Szkolenie wydaje się dość proste, jak wyjaśniono w dokumentacji API . Wystarczy podać kilka ręcznie poprawionych wyników i uruchomić Anystyle.parser.trainpolecenie. Nie jestem pewien, czy ParsCit i FreeCite również to obsługują, ale jeśli nie, wydaje mi się to ogromną różnicą funkcji.

Wouter
źródło
Wszystkie, z wyjątkiem Anyser Parser, są wymienione w aktualnie głosowanej odpowiedzi. Co właściwie ich wyróżnia? Jakie byłyby zalety lub wady biorąc pod uwagę pierwotne pytanie?
Seth
Ach, rzeczywiście. Zmodyfikuję i poprawię moją odpowiedź. Dzięki za wskazanie tego.
Wouter
Wygląda na to, że teraz nie żyje.
ekspert
1
@Brandon: Wysłałem HOWTO tutaj: github.com/inukshuk/wapiti-ruby/issues/3
Wouter
1
To wygląda świetnie, dzięki! Jako osoba, która nigdy nie dotknęła rubinu, będzie bardzo pomocna.
Brandon
2

Wypróbuj narzędzie takie jak Regex Buddy lub Expresso .

Jeśli nie jesteś programistą, wyrażenia regularne mogą być nieco onieśmielające, ale tak naprawdę nie są takie trudne, szczególnie w przypadku przyzwoitego narzędzia, takiego jak jedno z powyższych.

Oto przykład osoby używającej wyrażeń regularnych do wyodrębniania cytatów:

Cytat analizuje wyrażenie regularne

Popiół
źródło
1

Mendeley powinien być w stanie to zrobić. Może importować pliki PDF, a następnie eksportować metadane do BibTeX, RIS i EndNote XML. Jest do ściągnięcia za darmo i jest wieloplatformowy.

Edycja: Przetestowałem to na kilku dokumentach. Wygląda na to, że import PDF działa dobrze w przypadku poprawnie sformatowanych odniesień. W przypadku dokumentu utworzonego za pomocą LaTeX wszystkie odniesienia do autora w formie „Smith, J.” lub „J. Smith” itp. zostały zaimportowane w porządku. Jeśli autor jest firmą (jedno słowo) lub odniesienie jest niekompletne, to również nie działa. Wyodrębnione odniesienia można łatwo edytować i eksportować do BibTeX itp.

sblair
źródło
2
„Ta funkcja została usunięta w Mendeley 0.9.7, ponieważ zużywała sporo zasobów (po stronie klienta i serwera), nie zapewniając wystarczającej wartości. Planujemy ponownie wprowadzić ją w ulepszonej formie w przyszłości”. ...... feedback.mendeley.com/forums/4941-mendeley-feedback/suggestions/
iceman
1

Widziałem, jak program Westlaw robi to w odniesieniu do legalnych cytatów, ale prawdopodobnie nie tego szukasz. Menedżer referencyjny może zrobić coś takiego w przypadku formatów akademickich, ale nigdy go nie użyłem.

Kaypro II
źródło
0

Zotero to wtyczka do Firefoxa, która robi to dla treści internetowych. Nie jestem pewien, czy istnieje podobne narzędzie do dokumentów / pdf

Abhinav
źródło
1
Wiem, że nie jest to dokładnie to, do czego służy Zotero, ale jeśli wskazałeś Firefoxowi plik tekstowy lub plik html z odpowiednimi danymi, Zotero może rozpoznać odniesienia, a następnie możesz dodać je do biblioteki Zotero i wyeksportować całą bibliotekę w dowolnym formacie (wiem, że Zotero obsługuje wiele formatów). Byłoby to jednak bolesne dla dużej liczby plików.
nedned
Nie rozumiem, jak Zotero robi to, o co prosi OP. Zainstalowałem go, ale wydaje się, że nie ma opcji, aby przeanalizować odwołanie.
Rikki
Zotero analizuje cytaty ze specjalnie zakodowanych stron internetowych, a nie ze zwykłego tekstu.
Ochado
0

Prawdopodobnie należy to bardziej do komentarza @Abhinav, ale zotero zdecydowanie obsługuje tylko ustrukturyzowane dane, jak opisano tutaj:

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

Interesującym hackem może być próba napisania programu, który używa każdego cytatu jako zapytania wyszukiwania w Twojej ulubionej bazie danych, a następnie używa czegoś takiego jak Zotero do generowania informacji o ref. Możesz także pobierać uporządkowane informacje z usług takich jak citeUlike. Daj mi znać, jeśli skończysz robić coś takiego! (jeśli to zrobisz, umieść to na github;).

Dav Clark
źródło