Nowe metody wydobywania metadanych z literatury naukowej
Transkrypt
Nowe metody wydobywania metadanych z literatury naukowej
Nowe metody wydobywania metadanych z literatury naukowej Streszczenie rozprawy doktorskiej Dominika Tkaczyk ICM, Uniwersytet Warszawski 15 marca 2016 1 Wprowadzenie Literatura naukowa jest jednym z najważniejszych kanałów komunikacyjnych w środowiskach akademickich, a jej studiowanie to niezwykle istotna część codziennej pracy każdego naukowca. Zaniedbanie tego aspektu pracy naukowej prowadzi do braków w wiedzy o najnowszych trendach i odkryciach, co z kolei pogarsza jakość własnych wyników, utrudnia porównanie ich z wynikami innych i ogranicza możliwość znajdowania nowych interesujących zagadnień i potencjalnych obszarów badań. Źródłem najnowszej wiedzy naukowej są przede wszystkim publikacje ukazujące się w czasopismach i przedstawiane na konferencjach. Rewolucja cyfrowa nie tylko przeniosła w dużej mierze komunikację naukową z mediów drukowanych do elektronicznych, ale także zaowocowała ogromnym wzrostem wolumenu dostępnej literatury. Dokładna liczba opublikowanych artykułów naukowych nie jest znana, jednak statystyki zebrane z popularnych baz elektronicznych dobrze ilustrują skalę, z jaką mamy do czynienia. Dla przykładu baza DBLP1 , zawierająca metadane bibliograficzne literatury naukowej z informatyki zawiera aktualnie około 3 miliony rekordów, PubMed2 przechowuje 25 milionów abstraktów artykułów biomedycznych, natomiast baza Scopus3 , zawierająca publikacje z różnych dziedzin, liczy około 57 milionów rekordów. Ogromna i stale rosnąca ilość dostępnej literatury powoduje, że utrzymywanie kontaktu z najnowszymi artykułami z danej dziedziny jest zadaniem wymagającym, nietrywialnym i niezwykle czasochłonnym. Nowoczesne biblioteki cyfrowe adresują problem przeciążenia informacją wspierając pracę naukowców poprzez dostarczanie inteligentnych narzędzi wyszukiwania, proponowanie podobnych i powiązanych dokumentów, budowanie sieci cytowań, ocenę jakości artykułów i dorobku naukowego, itp. Aby możliwe było istnienie takich usług, biblioteka musi mieć dostęp nie tylko do plików źródłowych publikacji, ale także do powiązanych metadanych takich jak tytuł, autorzy, afiliacje, słowa kluczowe, streszczenie czy odnośniki bibliograficzne. To wymaganie nie zawsze jednak jest spełnione. W wielu przypadkach jedynym dostępnym zasobem są źródła dokumentów. Czasami dostarczone przez wydawców metadane są niepełne lub błędne. W takich sytuacjach biblioteka potrzebuje skutecznej, automatycznej metody pozyskiwania metadanych bezpośrednio z dokumentów źródłowych. Nawet jeśli ograniczymy problem ekstrakcji metadanych jedynie do literatury naukowej, zadanie pozostaje trudne i pełne wyzwań, głównie ze względu na szeroką różnorodność możliwych układów 1 http://dblp.uni-trier.de/ 2 http://www.ncbi.nlm.nih.gov/pubmed 3 http://www.scopus.com/ 1 stron i stylów w artykułach. W różnych dokumentach te same informacje mogą znajdować się w zupełnie różnych miejscach i używać dowolnego formatowania i czcionek. Dla przykładu, losowy podzbiór 125 000 dokumentów z bazy PubMed Central4 zawiera publikacje naukowe pochodzące od prawie 500 różnych wydawców, z których wielu stosuje oryginalne układy stron i style w swoich artykułach. Dodatkowym utrudnieniem jest fakt, że najpopularniejszy obecnie format plików źródłowych PDF nie zachowuje informacji o strukturze dokumentu, porządku czytania tekstu, wylistowaniach, paragrafach czy tytułach sekcji. Te informacje muszą być wstecznie wnioskowane przez algorytmy analizujące na podstawie zawartości tekstowej, a także wyglądu i położenia fragmentów tekstowych w dokumencie. Praca adresuje powyżej przedstawione kwestie. Głównym celem badań jest opracowanie nowej, skutecznej metody wydobywania metadanych z literatury naukowej, pozbawionej wad poprzednich podejść do problemu. Opracowany w wyniku prac algorytm [9, 12, 13] dokonuje automatycznej analizy całości wejściowego dokumentu PDF i pozwala na pozyskiwanie: • bogatego zbioru metadanych dokumentu, • pełnego tekstu w postaci hierarchicznej zgodnej ze spisem treści dokumentu, • listy odnośników bibliograficznych wraz z metadanymi. Problem ekstrakcji metadanych został zdekomponowany na atomowe zadania, a następnie opracowano skuteczne metody rozwiązania każdego z nich. Dzięki modularnemu podejściu poszczególne kroki są od siebie niezależne i mogą być optymalizowane i ewaluowane oddzielnie. Większość zaproponowanych rozwiązań wykorzystuje uczenie maszynowe, co zwiększa elastyczność zaproponowanej metody i pozwala algorytmom na dostosowywanie się do nowych układów i stylów dokumentów. Niezwykle istotną częścią pracy jest dokładna ewaluacja kluczowych części algorytmu, a także całości rozwiązania, i porównanie wyników do konkurencyjnych systemów. Implementacja zaproponowanego algorytmu jest dostępna jako otwarta biblioteka5 a także serwis webowy6 . Praca zawiera następujące nowatorskie elementy: • zaproponowanie dekompozycji problemu wydobywania metadanych na pojedyncze zadania, • zaproponowanie bogatego zestawu cech pozwalających skutecznie klasyfikować fragmenty dokumentu w oparciu nie tylko o ich tekstową zawartość, ale także o geometryczne atrybuty, • zaproponowanie zestawu cech dla fragmentów tekstowych pozwalających skutecznie parsować cytowania i afiliacje w dokumentach naukowych, • opracowanie usprawnień dla algorytmu segmentacji stron, • zaproponowanie algorytmu lokalizacji poszczególnych odnośników bibliograficznych w dokumencie w oparciu o uczenie maszynowe bez nadzoru, • zaproponowanie algorytmu lokalizacji linii nagłówków sekcji w dokumencie w oparciu o analizę populacji linii w odniesieniu do różnych statystyk geometrycznych, • opracowanie nowej, skalowalnej metody wytwarzania dużych zbiorów ewaluacyjnych pozwalających na trenowanie i ewaluację algorytmów związanych z analizą dokumentów. Autoreferat opisuje istniejące metody ekstrakcji metadanych z publikacji naukowych (sekcja 2), przedstawia dekompozycję problemu na poszczególne zadania i szczegóły algorytmów zastosowanych do ich rozwiązania (sekcja 3), a także opisuje zastosowane zbiory ewaluacyjne, metodologię ewaluacji i raportuje jej wyniki (sekcja 4). 4 http://www.ncbi.nlm.nih.gov/pubmed 5 https://github.com/CeON/CERMINE 6 http://cermine.ceon.pl 2 2 Podobne rozwiązania Istnieje kilka systemów przeznaczonych do wydobywania metadanych z publikacji naukowych. Różnią się one dostępnością, licencjami, zakresem pozyskiwanych informacji, stosowanymi algorytmami i obsługiwanymi formatami, a także skutecznością. Najważniejsze z nich to PDFX, GROBID, ParsCit i Pdf-extract. PDFX [2] to narzędzie konwertujące publikacje naukowe w formacie PDF do formatu XML poprzez oznaczanie fragmentów tekstowych z pliku źródłowego etykietami. PDFX stosuje podejście regułowe i potrafi ekstrahować podstawowe metadane, pełny tekst dokumentu wraz z tytułami sekcji i podsekcji, rysunkami i tabelami, a także odnośniki bibliograficzne w formie niesparsowanych napisów. PDFX jest oprogramowaniem zamkniętym i jest dostępny jedynie poprzez aplikację webową udostępnioną online7 . GROBID [4] jest opartą o uczenie maszynowe biblioteką również skupiającą się na analizie tekstów naukowych w formacie PDF. GROBID potrafi ekstrahować metadane dokumentu, pełny tekst, a także listę odnośników bibliograficznych wraz z ich metadanymi. Narzędzie dostępne jest na otwartej licencji8 . ParsCit [5] stosuje uczenie maszynowe do ekstrakcji logicznej struktury artykułów naukowych, w tym: metadanych dokumentu, struktury treści i odnośników bibliograficznych z metadanymi. ParsCit analizuje dokumenty w formacie tekstowym, a więc nie korzysta z geometrycznych wskazówek zawartych w dokumentach PDF. Narzędzie jest dostępne na otwartej licencji9 . Pdf-extract10 jest otwartym systemem przeznaczonym do identyfikacji i ekstrakcji istotnych semantycznie regionów w publikacjach naukowych. Aktualnie Pdf-extract może być wykorzystany do pozyskania tytułu i listy niesparsowanych referencji bibliograficznych dokumentu. Analiza oparta jest o zestaw heurystyk związanych z wyglądem i zawartością publikacji. Tabela 1 porównuje zakres informacji, które opisane narzędzia potrafią wydobywać z literatury naukowej. Porównanie skuteczności systemów można znaleźć w sekcji 4. Istotne cechy odróżniające moje podejście od wyżej opisanych to: • Zaproponowany algorytm potrafi znajdować informacje bibliograficzne dokumentu, takie jak nazwa czasopisma, tom, numer czy zakres stron. • Algorytmy wykorzystują nie tylko zawartość tekstową dokumentu, ale także cechy geometryczne tekstu. • Rozwiązanie oparte jest w dużej mierze na uczeniu maszynowym, co zwiększa jego elastyczność. • Dla większości rodzajów metadanych rozwiązanie jest bardzo skuteczne. • Implementacja algorytmu została udostępniona pod nazwą CERMINE w postaci serwisu webowego. Kod źródłowy systemu jest dostępny na otwartej licencji. 3 Algorytm wydobywania metadanych Proponowany algorytm przyjmuje na wejściu dokument w formacie PDF zawierający artykuł naukowy. Wynikiem analizy jest rekord w formacie NLM JATS11 zawierający: 7 http://pdfx.cs.man.ac.uk/ 8 https://github.com/kermitt2/grobid 9 http://aye.comp.nus.edu.sg/parsCit/ 10 http://labs.crossref.org/pdfextract/ 11 http://www.ncbi.nlm.nih.gov/pmc/ 3 proponowany algorytm PDFX GROBID ParsCit Pdf-extract tytuł 3 3 3 3 3 autorzy 3 7 3 3 7 afiliacje 3 7 3 3 7 metadane afiliacji 3 7 3 7 7 relacje autor-afiliacja 3 7 3 7 7 adresy email 3 3 3 3 7 relacje autor-email 3 7 3 7 7 abstrakt 3 3 3 3 7 słowa kluczowe 3 7 3 7 7 nazwa czasopisma 3 7 3 7 7 tom 3 7 3 7 7 numer 3 7 3 7 7 zakres stron 3 7 3 7 7 rok wydania 3 7 3 7 7 DOI 3 3 3 7 7 referencje 3 3 3 3 3 metadane referencji 3 7 3 3 7 nagłówki sekcji 3 3 3 3 7 hierarchia nagłówków 3 3 7 3 7 Tabela 1: Porównanie zakresu informacji wydobywanych z publikacji przez różne systemy. Tabela podaje informacje na temat prostych rodzajów metadanych (tytuł, autor, streszczenie czy referencje bibliograficzne), relacji między nimi (autor-afiliacja, autor-email), a także metadanych w postaci ustrukturyzowanej (referencje i afiliacje wraz z ich metadanymi). • metadane dokumentu: tytuł, autorzy, afiliacje z metadanymi (instytucja, adres i kraj), relacje autor-afiliacja, adresy email, relacje autor-adres email, streszczenie, słowa kluczowe, tytuł czasopisma, tom, numer, zakres stron i rok wydania; • treść artykułu w hierarchicznej postaci zawierającej sekcje, podsekcje, ich tytuły i paragrafy, • listę odnośników bibliograficznych artykułu wraz z metadanymi (autorzy, tytuł, rok, itp.). Ogólny zarys algorytmu przedstawia Rysunek 1. Analiza dokumentu odbywa się w czterech etapach: (A) Podczas wstępnej analizy powstaje geometryczna hierarchiczna struktura zawierająca całość tekstu wejściowego dokumentu. Struktura składa się ze stron dokumentu, stref, linii, słów i znaków. Struktura przechowuje wymiary i pozycje elementów na stronach, a także kolejność, w jakiej powinny być czytane. (B) Celem klasyfikacji zawartości dokumentu jest nadanie każdej strefie tekstowej jednej z czterech głównych kategorii: metadata, references, body lub other. 4 Rysunek 1: Ogólny zarys proponowanego algorytmu wydobywania metadanych z publikacji naukowych. Pierwszym etapem jest zbudowanie hierarchicznej struktury reprezentującej zawartość wejściowego pliku PDF. Następnie metadane dokumentu, pełny tekst i bibliografia są pozyskiwane w równoległych ścieżkach przetwarzania. (C) Podczas wydobywania metadanych algorytm analizuje strefy z kategorii metadata, a wynikiem jest zbiór metadanych wejściowego artykułu. (D) Ekstrakcja pełnego tekstu skupia się na strefach z kategorii body i określa hierarchiczną strukturę treści artykułu, składającą się z sekcji, podsekcji i paragrafów. (E) Podczas wydobywania bibliografii algorytm analizuje strefy z kategorii references. Rezultatem jest lista odnośników bibliograficznych dokumentu wraz z ich metadanymi. Każdy z etapów algorytmu zawiera kilka mniejszych zadań, z których każde pełni konkretną rolę i ma ściśle określone wejście i wyjście. Dzięki takiemu podejściu implementacje poszczególnych zadań mogą być utrzymywane, dostosowywane i wymieniane niezależnie od innych części algorytmu. Oto lista wszystkich zadań składających się na poszczególnych etapy algorytmu wraz z ich celem i proponowaną metodą: (A) Budowanie hierarchicznej struktury treści dokumentu: A1 Znajdowanie znaków Cel: Ekstrakcja poszczególnych znaków, ich współrzędnych i wymiarów z wejściowego pliku PDF. Metoda: biblioteka iText12 A2 Segmentacja stron 12 http://itextpdf.com/ 5 Cel: Utworzenie geometrycznej hierarchicznej struktury treści dokumentu zawierającej: strony, strefy, linie, słowa i znaki, a także współrzędne obiektów i ich wymiary. Metoda: poprawiony Docstrum [7] A3 Określanie porządku czytania Cel: Określenie kolejności, w jakiej elementy struktury na wszystkich poziomach powinny być czytane. Metoda: heurystyczny algorytm wstępujący (B) Klasyfikacja zawartości dokumentu: B1 Wstępna klasyfikacja stref Cel: Przydzielenie każdej strefie dokumentu jednej z czterech kategorii: metadata, body, references lub other. Metoda: SVM (maszyny wektorów podpierających, ang. Support Vector Machines) (C) Ekstrakcja metadanych dokumentu: C1 Klasyfikacja stref Cel: Przydzielenie każdej strefie z kategorii metadata konkretnej etykiety. Metoda: SVM C2 Ekstrakcja afiliacji i autorów Cel: Ekstrakcja poszczególnych autorów, afiliacji i relacji między nimi. Metoda: zestaw heurystyk C3 Ekstrakcja metadanych z afiliacji Cel: Oznaczenie fragmentów zawierających informacje o instytucji, adresie i kraju w afiliacjach autorów. Metoda: CRF (warunkowe pola losowe, ang. Conditional Random Fields) C4 Budowanie rekordu z metadanymi Cel: Ekstrakcja atomowych informacji ze stref opatrzonych etykietami. Metoda: zestaw reguł (D) Ekstrakcja pełnego tekstu dokumentu: D1 Klasyfikacja tekstu Cel: Przydzielenie każdej strefie z kategorii body etykiety body text lub body other. Metoda: SVM D2 Lokalizowanie nagłówków Cel: Znalezienie linii zawierających tytuły sekcji i podsekcji dokumentu. Metoda: analiza populacji linii D3 Odtworzenie hierarchii sekcji Cel: Odtworzenie drzewa składającego się z sekcji i podsekcji dokumentu. Metoda: analiza skupień D4 Budowanie rekordu z pełnym tekstem Cel: Łączenie i czyszczenie informacji, konstrukcja ostatecznego drzewa zawartości dokumentu. 6 Metoda: zestaw reguł (E) Ekstrakcja odnośników bibliograficznych: E1 Ekstrakcja tekstów odnośników Cel: Podział zawartości stref z kategorii references na poszczególne referencje. Metoda: algorytm K-średnich E2 Parsowanie odnośników Cel: Ekstrakcja metadanych takich jak autorzy, tytuł czy rok z tekstów referencji. Metoda: CRF E3 Budowanie rekordu z bibliografią Cel: Czyszczenie danych, rozpoznawanie identyfikatorów DOI i określanie typów cytowań. Metoda: zestaw reguł 3.1 Zarys istotnych algorytmów uczenia maszynowego Kluczowe zadania proponowanego algorytmu są realizowane przez algorytmy uczenia maszynowego z nadzorem i bez nadzoru. 3.1.1 Klasyfikacja stref Algorytm zawiera trzy klasyfikatory stref: wstępny klasyfikator, klasyfikator metadanych i klasyfikator tekstu. Wszystkie klasyfikatory oparte są o algorytm SVM, a do implementacji wykorzystano bibliotekę LibSVM [1]. Klasyfikatory różnią się zestawem etykiet nadawanych strefom, parametrami SVM i cechami opisującymi strefy (choć większość z cech jest wspólna). Cechy są konstruowane w oparciu zarówno o tekstową zawartość strefy, jak i geometryczne atrybuty związane z położeniem i wyglądem strefy w źródłowym dokumencie PDF. Do automatycznego wyboru cech dla każdego z klasyfikatorów osobno zastosowano iteracyjną procedurę analizującą zbiór walidacyjny stref ze znanymi etykietami. Po odrzuceniu cech silnie skorelowanych z innymi cechami przeanalizowano korelacje cech z etykietami stref. W kolejnych iteracjach odrzucane były kolejne cechy (począwszy od najmniej skorelowanych), a następnie wykonywana była 5-krotna walidacja krzyżowa przy użyciu zbioru walidacyjnego, skutkująca określeniem średniej miary F1 dla wyników klasyfikacji. Ostatecznie wybrano pewną liczbę cech najsilniej skorelowanych ze zbiorem walidacyjnym tak, aby jednocześnie zbiór odrzuconych cech był duży i wynik uzyskany dla ostatecznego zbioru cech był wystarczająco wysoki. Parametry SVM zostały również wybrane osobno dla każdego z klasyfikatorów poprzez przeszukanie przestrzeni zawierającej: typy funkcji jądra (liniowa, wielomianowa, radialna funkcja bazowa - RBF i sigmoidalna) i parametry: C (kara za błędy), d (potęga wielomianu, stosowana wyłącznie w przypadku jądra wielomianowego), γ (stosowany we wszystkich typach jądra z wyjątkiem liniowego) i r (stosowany w przypadku jądra wielomianowego i sigmoidalnego). Dla każdej kombinacji parametrów została wykonana 5-krotna walidacja krzyżowa przy użyciu zbioru walidacyjnego stref, których wektory cech zostały przeskalowane liniowo do przedziału [0;1]. Dodatkowo zastosowano ważenie klas modyfikując parametr C dla poszczególnych klas, by przeciwdziałać problemom wynikającym z różnic w liczności próbek uczących. Ostatecznie wybrano te parametry, których wynikiem była najlepsza średnia miara F1. 7 3.1.2 Ekstrakcja informacji z tekstu Algorytm zawiera dwa zadania, których celem jest ekstrakcja metadanych z napisów: parser odnośników bibliograficznych i parser afiliacji. Ich zadaniem jest rozpoznanie w tekście fragmentów zawierających użyteczne metadane, takie jak instytucja czy kraj w przypadku afiliacji; autorzy, tytuł, nazwa czasopisma czy rok w przypadku odnośników bibliograficznych. Oba problemy są rozwiązywane za pomocą klasyfikatorów. Na ich potrzeby tekst jest tokenizowany, tokeny są transformowane do wektorów cech i klasyfikowane. Klasyfikatory korzystają przede wszystkim z tekstowej zawartości tokenów, ale także z informacji związanych z ich kolejnością i położeniem w tekście. Ostatnim krokiem jest konkatenacja sąsiadujących fragmentów oznaczonych przez klasyfikator tą samą etykietą. Głównymi cechami są same tokeny (słowa) poddawane klasyfikacji. Ponadto każdy z parserów używa dodatkowych, specyficznych cech, opartych głównie o klasy znaków i konkretne znaki występujące w słowach. Ponieważ etykieta tokenu zależy nie tylko od jego wektora cech, ale także od sąsiadujących tokenów, wektory cech są także wzbogacane o cechy dwóch poprzedzających i dwóch następujących tokenów. Oba klasyfikatory tokenów korzystają z CRF, a ich implementacja zbudowana jest w oparciu o pakiety GRMM i MALLET [6]. 3.1.3 Metody bez nadzoru Algorytm zawiera dwa zadania realizowane za pomocą uczenia maszynowego bez nadzoru: wydobywanie poszczególnych odnośników bibliograficznych z tekstu i określanie hierarchii sekcji i podsekcji dokumentu. Uczenie maszynowe bez nadzoru ma tę przewagę nad metodami z nadzorem, że nie potrzebuje zbiorów treningowych, których wytwarzanie jest zwykle kosztownym zadaniem. W obu przypadkach wykonywana jest analiza skupień linii tekstu reprezentowanych przez wektory cech zawierające informacje o zawartości tekstowej linii, a także jej geometrycznych własnościach związanych z długością, wysokością, wcięciem, odległościami między liniami, itp. 3.2 Wstępna analiza Wstępna analiza stanowi pierwszą fazę algorytmu. Jej celem jest stworzenie hierarchicznej struktury dokumentu zawierającej na kolejnych poziomach: strony, strefy, linie, słowa i znaki. Struktura przechowuje pełną zawartość tekstową wejściowego dokumentu, informacje związane z tym, jak tekst jest widoczny w dokumencie PDF: wymiary, współrzędne, nazwy użytych czcionek, a także kolejność czytania wszystkich elementów. Pierwszym krokiem wstępnej analizy jest ekstrakcja pojedynczych znaków z pliku PDF, wykonywana za pomocą biblioteki iText. iText pozwala na iterację po PDF-owych operatorach wypisywania tekstu i dostęp do informacji związanych ze znakami widocznymi w pliku i ich atrybutami. Wynikiem ekstrakcji znaków jest dokument w postaci listy stron, z których każda przechowuje zbiór pojedynczych znaków, ich współrzędne (tzw. bounding box-y) i nazwy czcionek. W kolejnym kroku pojedyncze znaki są grupowane w słowa, linie i strefy przy użyciu poprawionego algorytmu Docstrum [7]. Ten wstępujący algorytm opiera się na analizie par najbliższych sąsiadów (znaków). Analiza histogramów odległości pozwala na określenie kąta nachylenia tekstu, a w dalszej kolejności innych charakterystycznych dla dokumentu parametrów: odstępów między znakami w linii i między liniami. Na podstawie tych informacji znajdowane są linie, a następnie linie grupowane są w strefy. Docstrum jest niezależny od kąta nachylenia tekstu i charakterystycznych odstępów użytych w dokumencie. Przykładowy fragment publikacji naukowej z zaznaczonymi słowami, liniami i strefami znajduje się na rysunku 2. Zastosowano następujące ulepszenia poprawiające działanie algorytmu: 8 Rysunek 2: Przykładowy fragment publikacji naukowej z zaznaczonymi strefami (niebieskie prostokąty), liniami (czerwone prostokąty) i słowami (zielone prostokąty). • odległość pomiędzy znakami (używana do grupowania znaków w linie) została podzielona na pionową i poziomą (przy użyciu policzonego wcześniej kąta nachylenia tekstu), • maksymalna odległość między liniami należącymi do tej samej strefy jest skalowana względem wysokości linii, • po określeniu stref linie należące do tej samej strefy leżące na tym samym poziomie są dodatkowo scalane, • do wygładzania histogramów stosowane jest okno Gaussa zamiast okna prostokątnego. • dodano scalanie nachodzących na siebie stref, • dodano również podział linii na słowa w oparciu o odstępy między znakami. Efektem segmentacji stron jest drzewiasta struktura przechowująca informacje o stronach, strefach, liniach, słowach i znakach, ich współrzędnych i wymiarach. Elementy obecne są w strukturze w postaci nieuporządkowanych zbiorów. Celem kolejnego etapu jest określenie porządku, w jakim wszystkie elementy struktury powinny być czytane. Pomaga to klasyfikatorom stref, a także pozwala skonstruować poprawny pełny tekst dokumentu we właściwej kolejności. Przykład porządku czytania pokazano na rysunku 3. Algorytm jest oparty na strategii wstępującej: najpierw znaki są sortowane w ramach słów i słowa w ramach linii poziomo, a następnie linie w ramach stref pionowo. Ostatnim krokiem jest sortowanie stref na każdej stronie. Heurystyka użyta do sortowania stref została zapożyczona z narzędzia PDFMiner13 . Algorytm wykorzystuje obserwację, że jeśli strefy są położone jedna nad drugą, to powinny być czytane począwszy od górnej, a w przeciwnym przypadku od lewej strony. Ta obserwacja znajduje swoje odzwierciedlenie w odległościach liczonych między każdą parą stref: odległość liczona jest przy użyciu kąta nachylenia wektora łączącego strefy, dzięki czemu strefy położone w pionie są w ogólności bliżej niż położone w poziomie. Następnie przy wykorzystaniu algorytmu zbliżonego do hierarchicznych metod analizy skupień konstruowane jest drzewo poprzez sukcesywne łączenie najbliższych stref i grup stref. W dalszej kolejności dla każdego węzła drzewa jego dzieci są zamieniane miejscami, jeśli jest taka konieczność. Ostatecznie przejście drzewa w porządku ”in order” skutkuje określeniem porządku czytania stref. 13 http://www.unixuser.org/euske/python/pdfminer/ 9 Rysunek 3: Przykładowa strona publikacji naukowej z zaznaczonymi strefami i kolejnością ich czytania. W efekcie wstępnej analizy dokumentu otrzymujemy jego model składający się z tekstu dokumentu, stref, linii, słów, pojedynczych znaków, ich położenia na stronach i wymiarów, a także kolejności czytania wszystkich elementów. 3.3 Klasyfikacja stref Celem klasyfikacja stref jest nadanie każdej strefie w dokumencie ogólnej kategorii: metadata (wszelkie metadane dokumentu), references (strefy zawierające odnośniki bibliograficzne), body (główny tekst artykułu, a także równania, wykresy, tabele) i other (podziękowania, fragmenty dotyczące konfliktów interesów, numery stron, itp.). Szczegóły algorytmu klasyfikacji opisano w sekcji 3.1.1. Na potrzeby klasyfikacji strefy są reprezentowane przez wektory zawierające 54 cechy wybrane automatycznie: • geometryczne — cechy związane z atrybutami takimi jak wymiary strefy, współrzędne, odległości od najbliższych stref, ilość wolnego miejsca w sąsiedztwie, itp., • leksykalne — cechy liczone w oparciu o słowa kluczowe charakterystyczne dla różnych części narracji, np. afiliacji, podziękowań, streszczenia, bibliografii, itp., • sekwencyjne — cechy związane z kolejnością stref, np. etykieta poprzedniej strefy, obecność tych samych bloków na sąsiadujących stronach, itp., • związane z formatowaniem tekstu — np. rozmiar czcionki w bieżącej i sąsiadujących strefach, ilość wolnego miejsca w strefie, itp., • heurystyczne — np. ilość słów zaczynających się z wielkiej litery, procentowa zawartość cyfr, obecność wylistowań, itp. 10 3.4 Wydobywanie metadanych Podczas wydobywania metadanych analizowane są strefy z kategorii metadata. Pierwszym krokiem jest nadanie im specyficznych klas: abstract (streszczenie), bib info (strefy zawierające wszelkie informacje bibliograficzne, np. tytuł czasopisma, tom, numer), type (typ dokumentu), title (tytuł), affiliation (afiliacje autorów), author (lista autorów dokumentu), correspondence (dane kontaktowe), dates (daty związane z procesem wydawania artykułu), editor (informacje o edytorach) i keywords (słowa kluczowe). Szczegóły algorytmu klasyfikacji opisano w sekcji 3.1.1. W przypadku klasyfikacji metadanych wektory cech liczą 53 wymiary. Cechy w dużej części pokrywają się z cechami używanymi przy klasyfikacji wstępnej. W następnym kroku następuje wydobycie poszczególnych autorów i afiliacji z odpowiednio oznaczonych stref, a także określenie relacji autor-afiliacja. Algorytm jest heurystyczny i zależny od typu układu dokumentu w interesującym nas zakresie. Wyróżniamy dwa główne typy układu: w pierwszym przypadku w dokumencie znajduje się lista autorów i lista afiliacji, a relacje między nimi określone są na postawie specjalnych indeksów (rysunek 4); w drugim przypadku każdy autor znajduje się wraz ze swoją afiliacją w osobnej strefie (rysunek 5). Rysunek 4: Przykład dokumentu, w którym autorzy i afiliacje są obecni w postaci list. Relacje autor-afiliacja określają specjalne indeksy. Rysunek 5: Przykład dokumentu, w którym każdy autor wraz ze swoją afiliacją znajduje się w osobnej strefie. Kolejnym zadaniem jest parsowanie afiliacji autorów, którego celem jest oznaczenie w afiliacjach fragmentów zawierających instytucję, adres i kraj (rysunek 6). Metoda opiera się głównie na klasyfikowaniu tokenów afiliacji przy użyciu CRF, zgodnie z opisem w sekcji 3.1.2. Podstawowymi cechami są same tokeny (słowa), a dodatkowe cechy to: czy token jest liczbą, czy zaczyna się od wielkiej litery lub składa z samym wielkich lub samych małych liter, czy jest obecny w słownikach krajów lub słów charakterystycznych dla instytucji lub adresu. Słowniki zostały zbudowane na podstawie danych pochodzących z [3]. Ostatnim krokiem jest pozyskanie atomowych informacji ze stref oznaczonych etykietami. Metoda opiera się na heurystycznych regułach, które wykonują proste operacje takie jak: konkatenacja 11 Interdisciplinary Centre for Mathematical and Computational Modelling, University of Warsaw, ul. Pawińskiego 5A blok D, 02-106 Warsaw, Poland Rysunek 6: Przykład sparsowanej afiliacji naukowej. Kolorami oznaczono kolejno: instytucję, adres i kraj afiliacji. stref otagowanych jako abstract, podział listy słów kluczowych na poszczególne elementy, sparsowanie dat i zakresów stron, wydobycie atomowych informacji takich jak tytuł czasopisma, tom czy numer z większych stref za pomocą wyrażeń regularnych. 3.5 Wydobywanie pełnego tekstu Celem ekstrakcji pełnego tekstu jest pozyskanie właściwego tekstu artykułu w hierarchicznej formie zgodnej z jego spisem treści. W efekcie otrzymujemy treść artykułu w postaci listy sekcji, każda sekcja może zawierać listę podsekcji, a każda podsekcja — listę podpodsekcji. Każdy obiekt w tak zdefiniowanej strukturze ma tytuł i listę paragrafów. Pierwszym krokiem jest odfiltrowanie elementów nie należących do paragrafów czy tytułów sekcji, takich jak zawartość tabel, obrazków czy równań. Metoda jest oparta o SVM-owy klasyfikator stref kategorii body. Cechy są liczone na podstawie kształtu i sąsiedztwa stref, czcionek i zawartości tekstowej. Kolejnym krokiem jest lokalizacja linii zawierających nagłówki sekcji i podsekcji w tekście. Algorytm wykorzystuje tu obserwację, że niezależnie jakie cechy zostały użyte do zaznaczenia tytułów, ich linie zawsze różnią się pod jakimś względem od licznych linii składających się na paragrafy. Analizujemy więc całą populację linii tekstu dokumentu w kontekście konkretnych statystyk obliczanych dla linii (np. jej wysokość, długość, odległość od lewej krawędzi strony, odległość od poprzedniej linii, użyta czcionka) i znajdujemy obserwacje odstające. Rysunek 7 pokazuje różne rodzaje stylów używanych do oznaczenia nagłówków w tekście. (a) (b) (c) (d) (e) (f) Rysunek 7: Przykłady różnych rodzajów stylów używanych do oznaczenia nagłówków w tekście. 12 Kolejnym krokiem jest odtworzenie hierarchii sekcji i podsekcji poprzez analizę skupień tytułów znalezionych wcześniej. Analiza skupień ma na celu pogrupowanie tytułów według ich poziomów w hierarchii. Używamy tutaj jedynie podobieństw związanych z czcionką i wysokością linii. Prosty algorytm iteracyjnie tworzy kolejne skupienia znajdując w sposób zachłanny podzbiór linii podobnych do pewnej linii bazowej. Przynależność do poziomu hierarchii wraz z informacją o kolejności czytania linii pozwala na odtworzenie całego spisu treści dokumentu. Ostatni krokiem jest czyszczenie danych i formowanie wynikowej struktury tekstu. Na tym etapie linie są konkatenowane w nagłówki i paragrafy a granice między paragrafami są znajdowane heurystycznie. 3.6 Wydobywanie bibliografii Podczas ekstrakcji bibliografii algorytm analizuje strefy z kategorii references. Rezultatem jest lista odnośników bibliograficznych dokumentu, z których każdy zawiera oprócz tekstu następujące metadane: autor, tytuł, nazwa czasopisma, tom, numer, zakres stron i rok. Pierwszym krokiem tego etapu jest ekstrakcja tekstów poszczególnych referencji z dokumentu, co wymaga podziału zawartości stref z kategorii references na kolejne odnośniki. Każdy z odnośników zajmuje jedną lub więcej linii tekstu, a każda linia ze strefy z kategorii references należy do dokładnie jednej referencji. Niektóre linie są początkowymi liniami swoich odnośników, inne środkowymi lub końcowymi. Aby połączyć linie w poszczególne odnośniki, wystarczy rozpoznać granice odnośników, czyli oznaczyć linie, które są początkowymi liniami swoich odnośników. Przykład zbioru takich linii znajduje się na rysunku 8. Początkowe linie są znajdowane za pomocą analizy skupień. Linie są reprezentowane jako wektory cech i dzielone na dwa zbiory przy użyciu algorytmu K-środków z odległością Euklidesową. Cechy (jest ich 5) są związane z geometrycznymi własnościami (względna długość, wcięcie linii, przestrzeń pomiędzy liniami) i zawartością tekstową linii (czy linia zaczyna się wyliczeniem, czy poprzednia linia zaczyna się od kropki). Początkowe środki są określane deterministycznie: jest to wektor pierwszej linii w porządku czytania i wektor najdalej od niej oddalony. Wykorzystuję prostą obserwację, że pierwsza linia z wszystkich stref z kategorii references jest jednocześnie pierwszą linią swojej referencji. Zbiór zawierający tę pierwszą linię zawierać będzie zatem wszystkie pierwsze linie. Po rozpoznaniu pierwszych linii łatwo pogrupować linie w kolejne odnośniki bibliograficzne. Rysunek 8: Fragment artykułu naukowego zawierającego odnośniki bibliograficzne. Celem ekstrakcji odnośników jest wydobycie kolejnych tekstów referencji. Jest to realizowane poprzez znajdowanie linii, które są początkami swoich odnośników (na rysunku są zaznaczone) za pomocą analizy skupień. Odnośniki bibliograficzne zawierają ważne metadane (rysunek 9). W kolejnym kroku tego etapu fragmenty odnośników są oznaczane jako: autor, tytuł, nazwa czasopisma, tom, numer, zakres stron i rok. Metoda wykorzystuje CRF-owy klasyfikator tokenów, szczegóły algorytmu opisano w sekcji 3.1.2. 13 [9] L. O'Gorman. The document spectrum for page layout analysis. IEEE Transactions on Pattern Analysis and Machine Intelligence, 15(11):1162–1173, 1993. Rysunek 9: Przykład odnośnika bibliograficznego z różnego typu metadanymi zaznaczonymi kolorami. Kolejno są to: autor, tytuł, nazwa czasopisma, tom, numer, zakres stron i rok. Na potrzeby klasyfikacji tokeny są reprezentowane przez 42 cechy. Podstawową cechą jest sam token. Dodatkowe cechy są oparte o występowanie konkretnej klasy znaków, np. cyfr lub wielkich/małych liter. Inne sprawdzają, czy token jest konkretnym znakiem (np. kropką, nawiasem kwadratowym, przecinkiem czy pauzą, lub konkretnym słowem. Używam także cech korzystających ze słowników zbudowanych na podstawie zbiorów ewaluacyjnych, np. słownika miast, czy słów często zawartych w tytułach czasopism. W ostatnim kroku dane są czyszczone, tokeny oznaczone w referencjach jako tytuły i nazwy czasopism są konkatenowane. Na tym etapie rozpoznajemy również identyfikatory DOI w referencjach za pomocą wyrażenia regularnego. Rezultatem ekstrakcji bibliografii z dokumentu jest jego lista odnośników bibliograficznych, z których każdy zawiera pełny tekst, a także metadane takie jak lista autorów, tytuł czy nazwa czasopisma. 4 Ewaluacja Aby sprawdzić skuteczność proponowanych rozwiązań, przeprowadzono obszerną ewaluację. Przetestowane zostały kluczowe kroki algorytmu, a także całość procesu ekstrakcji. Sekcja opisuje zbiory ewaluacyjne, metodologię ewaluacji i podaje jej szczegółowe wyniki. 4.1 Zbiory danych Podczas ewaluacji używam następujących zbiorów danych: zbiorów dokumentów przechowujących geometryczną strukturę wraz z etykietami stref (GROTOAP i GROTOAP2), zbioru odnośników bibliograficznych z metadanymi, zbioru afiliacji z metadanymi i dwóch zbiorów dokumentów PDF z metadanymi. Zbiory powstały na podstawie zasobów pochodzących z baz: DOAJ14 , PubMed Central Open Access Subset15 i Elsevier16 . PubMed Central Open Access Subset to zbiór około 500 000 publikacji biomedycznych w formacie PDF, a także odpowiadające im metadane w formacie NLM. Pliki NLM zawierają bogaty zbiór metadanych dokumentu (tytuł, autorzy, afiliacje, streszczenie, nazwa czasopisma, itp.), pełny tekst (sekcje, tytuły sekcji, paragrafy, tabele i równania), a także bibliografię dokumentu. Podzbiory PMC zostały wykorzystane bezpośrednio do ewaluacji całości procesu ekstrakcji. Drugi zbiór wykorzystany do ewaluacji procesu to losowo wybrany podzbiór z zasobów Elseviera. Elsevier to wydawca publikujący ponad 250 000 artykułów rocznie w ponad 3000 czasopismach. Zbiór GROTOAP [10] zawiera 113 dokumentów w postaci geometrycznej, zawierającej znaki, słowa, linie, strefy, ich położenie na stronach i wymiary, etykiety stref. Zbiór został zbudowany w oparciu o bazę DOAJ poprzez użycie automatycznych narzędzi, a następnie ręczne poprawienie efektów ich działań. GROTOAP został wykorzystany do ewaluacji segmentacji stron. GROTOAP2 [11], następca zbioru GROTOAP, to duży i zróżnicowany zbiór dokumentów zbudowany na podstawie PMC, zawierający 13 210 dokumentów pochodzących od 208 różnych wy14 https://doaj.org/ 15 http://www.ncbi.nlm.nih.gov/pmc/ 16 https://www.elsevier.com/ 14 dawców. Podobnie jak GROTOAP, GROTOAP2 zawiera pliki reprezentujące artykuły w formie geometrycznej hierarchicznej struktury. GROTOAP2 został wykorzystany do ewaluacji i trenowania klasyfikatorów stref, a także w procesie wyboru cech i parametrów SVM. GROTOAP2 został również wytworzony pół-automatycznie, ale w przeciwieństwie do zbioru GROTOAP proces wytwarzania nie zawierał ręcznego poprawiania każdego dokumentu. W tym przypadku wykorzystaliśmy fakt, że PMC zawiera bogate metadane w postaci otagowanych fragmentów tekstowych (pliki NLM). W zbiorze GROTOAP2 geometryczna struktura została zbudowana przez automatyczne algorytmy, natomiast etykiety stref zostały nadane przez porównywanie ich zawartości tekstowej z plikami NLM. W efekcie GROTOAP2 zawiera błędy, z drugiej jednak strony pozwoliło to na wytworzenie o wiele większego zbioru. Według ręcznie przeprowadzonej ewaluacji etykiety stref w zbiorze GROTOAP2 są poprawne w 93%. Zbiór odnośników bibliograficznych [13] wykorzystany do ewaluacji parsera cytowań zawiera 4000 cytowań z towarzyszącymi metadanymi. Zbiór został stworzony analogiczną metodą jak GROTOAP na podstawie dokumentów z PMC. Zbiór afiliacji [14] również pochodzi z PMC. Zbiór zawiera 8000 afiliacji w postaci tekstowej z towarzyszącymi metadanymi. 4.2 Ewaluacja segmentacji stron Ewaluacja segmentacji stron została przeprowadzona przy użyciu całego zbioru GROTOAP. Oryginalne pliki PDF zostały poddane ekstrakcji znaków i segmentacji, a wynikowa struktura porównana z plikami ”ground truth” ze zbioru testowego. Dla każdego poziomu (strefy, linie, słowa) zmierzyliśmy, jaki odsetek oryginalnych obiektów został poprawnie odtworzony przez algorytm. Obiekt został uznany za poprawnie odtworzony, jeśli zawierał dokładnie te same znaki co obiekt oryginalny. Wykres 10 zawiera porównanie wyników dla oryginalnego algorytmu Docstrum i zmodyfikowanej wersji z zaproponowanymi w pracy poprawkami. W każdej kategorii modyfikacje przyniosły poprawę wyniku. 100 correct (%) 80 60 Docstrum original enhanced 40 20 0 zones lines words Rysunek 10: Wyniki ewaluacji segmentacji stron. Wyniki zostały policzone dla podzbioru stref z pominięciem tabel i rysunków, jako że algorytm segmentacji stron jest zoptymalizowany pod kątem regionów zawierających właściwy tekst dokumentu. Oryginalny Docstrum nie odtwarza słów, więc w tym przypadku wynik pominięto. 15 4.3 Ewaluacja klasyfikatorów stref Wszystkie klasyfikatory stref zostały poddane 5-krotnej walidacji krzyżowej na podzbiorze zbioru GROTOAP2 liczącym 2551 dokumentów. Macierze pomyłek, a także średnie wartości precyzji, pełności i miary F1 pokazują tabele 2, 3 i 4. Wstępna klasyfikacja metadata 66,421 metadata body body references other precyzja (%) pełność (%) 1,819 76 241 97.03 96.88 1,324 232,739 173 890 98.12 98.98 17,605 73 98.15 95.63 82 30,977 96.26 91.96 references 39 692 other 668 1,960 Tabela 2: Macierz pomyłek dla klasyfikacji wstępnej dla 5-ciokrotnej walidacji krzyżowej. Wiersze i kolumny reprezentują odpowiednio wynik oczekiwany i wynik otrzymany z klasyfikacji. Średnia precyzja, pełność i F1 w tym przypadku to odpowiednio 97.39%, 95.86% i 96.61%. abstract affiliation 6,858 pełność (%) precyzja (%) copyright type title keywords editor dates correspondence bib info author abstract affiliation Klasyfikacja metadanych 8 6 68 10 3 2 21 5 11 6 97.19 98.00 21 3,474 24 45 88 6 10 4 0 3 6 94.40 94.38 16 2,682 40 17 0 3 0 5 10 1 96.13 96.41 30 40,964 23 110 1 27 16 127 105 98.11 98.68 45 1,580 2 1 1 0 1 3 91.38 88.32 2 2,796 author 8 bib info 83 24 corresp. 5 135 16 dates 3 0 2 183 0 0 1 0 13 94.75 93.20 editor 0 7 5 0 0 0 464 0 0 0 0 95.67 97.48 keywords 38 10 4 154 0 1 2 826 4 3 2 92.39 79.12 2 2,584 5 0 98.51 98.14 5 1,403 3 89.42 87.14 title 10 1 10 20 0 1 0 type 13 0 4 169 0 1 1 11 copyright 17 5 7 66 9 31 1 2 3 6 2,887 95.41 95.15 Tabela 3: Macierz pomyłek dla klasyfikacji metadanych dla 5-ciokrotnej walidacji krzyżowej. Wiersze i kolumny reprezentują odpowiednio wynik oczekiwany i wynik otrzymany z klasyfikacji. Średnia precyzja, pełność i F1 w tym przypadku to odpowiednio 94.85%, 93.27% i 94.01%. 4.4 Ewaluacja parserów Parser odnośników bibliograficznych został poddany 5-krotnej walidacji krzyżowej przy użyciu zbioru cytowań. Metadane wyekstrahowane przez parser zostały porównane z rekordami ”ground truth”. 16 Klasyfikacja tekstu body content body other precyzja (%) pełność (%) body content body other 112,315 4,112 96.84 96.47 3,662 115,037 96.55 97.91 Tabela 4: Macierz pomyłek dla klasyfikacji tekstu dla 5-ciokrotnej walidacji krzyżowej. Wiersze i kolumny reprezentują odpowiednio wynik oczekiwany i wynik otrzymany z klasyfikacji. Średnia precyzja, pełność i F1 w tym przypadku to odpowiednio 96.70%, 96.69% i 96.69%. Dany fragment cytowania konkretnej klasy jest uznawany za poprawnie oznaczony w tekście odnośnika, jeśli jest w całości identyczny ze spodziewanym, czyli jeśli wszystkie tokeny z danej klasy zostały poprawnie oznaczone. Rysunek 11 prezentuje otrzymane wartości precyzji i pełności dla poszczególnych klas metadanych. 100 score (%) 80 60 measure Precision Recall 40 20 0 author title source volume issue year pages Rysunek 11: Wyniki ewaluacji parsera odnośników bibliograficznych. Wykres pokazuje wartości precyzji i pełności dla poszczególnych klas. Fragment jest uznany za poprawnie oznaczony, jeśli jest w całości identyczny z oczekiwanym. Parser afiliacji został również poddany 5-krotnej walidacji krzyżowej przy użyciu zbioru afiliacji. Średnie wyniki są następujące: • instytucja wydobyta była poprawnie w 92.39% przypadków, • adres poprawnie oznaczono w 92.12% przypadków, • kraj wydobyto poprawnie w 99.44% afiliacji, • 92.05% afiliacji zostało w całości poprawnie sparsowanych. 4.5 Ewaluacja wydobywania metadanych Całość algorytmu ekstrakcji została poddana ewaluacji na dwóch zbiorach. Klasyfikatory zostały wytrenowane na podzbiorze 2551 dokumentów ze zbioru GROTOAP2, a algorytm ekstrakcji przete17 stowany i porównany z innymi podejściami przy użyciu podzbioru PMC liczącego 1943 dokumentów i podzbioru Elsevier liczącego 2508 dokumentów. Każdy z testowanych systemów przetworzył źródłowe pliki PDF, a następnie wyniki ekstrakcji zostały porównane z plikami NLM. Wyjątkiem był system ParsCit, który analizuje tylko zawartość tekstową dokumentu, dlatego w tym przypadku pliki zostały najpierw zamienione na tekst za pomocą narzędzia pdftotext. Dla różnych typów metadanych użyto różnych miar poprawności. Można wyróżnić dwa rodzaje metadanych: takie, które występują co najwyżej raz na dokument (są to tytuł, streszczenie, nazwa czasopisma, tom, numer, zakres stron, rok i DOI) i takie, które występują w postaci listy (są to: autorzy, afiliacje, adresy email, słowa kluczowe i odnośniki bibliograficzne). W przypadku pierwszej grupy pojedynczy napis z pliku NLM jest porównywany z napisem zwróconym przez algorytm, co dla każdego dokumentu daje binarny wynik: informacja poprawna lub niepoprawna. W rezultacie otrzymujemy ilość ”sukcesów” dla całego zbioru. Precyzja dla całego zbioru liczona jest jako ilość sukcesów podzielona przez ilość dokumentów testowanych, które mają przypisaną niepustą daną informację, natomiast pełność jako ilość sukcesów podzielona przez ilość dokumentów oryginalnych, które mają przypisaną niepustą daną informację. Niektóre z typów metadanych z tej grupy, takie jak tom, numer, DOI, daty czy zakres stron uznaję za poprawne, jeśli są identyczne z danymi z NLM. Nazwa czasopisma jest często skrócona, więc jest uznawana za poprawną jeśli jest podsekwencją oryginalnej nazwy. Tytuł artykułu i streszczenie są tokenizowane i porównywane za pomocą algorytmu Smitha-Watermanna [8]. W przypadku metadanych, które w oryginalnym i testowanym dokumencie reprezentowane są przez listy, poszczególne ich elementy są porównywane za pomocą odległości kosinusowej, co daje precyzję i pełność dla każdego dokumentu. Jako wynik dla całego zbioru podano średnie arytmetyczne. W przypadku afiliacji i odnośników bibliograficznych porównano jedynie ich zawartości tekstowe, pomijając porównanie ich atomowych metadanych. Wyniki porównawcze dla obu zbiorów i poszczególnych typów metadanych zawierają wykresy 1219. Proponowany w pracy algorytm daje najlepsze wyniki dla większości przypadków. Zdecydowanie najsłabsze wyniki otrzymano w przypadku systemu ParsCit. Wynika to najprawdopodobniej z tego, że algorytm opiera się jedynie na zawartości tekstowej dokumentu, całkowicie ignorując wskazówki związane z rozmiarami, formatowaniem i położeniem elementów. 5 Podsumowanie W pracy proponuję nowy, automatyczny algorytm wydobywania metadanych z publikacji naukowych w formacie PDF. Zadanie to jest kluczowym elementem analizy literatury naukowej i w wielu przypadkach pozwala bibliotekom cyfrowym na dostarczanie wysokiej jakości usług związanych z organizacją zasobów, kondensacją informacji, narzędziami wyszukiwania, określaniem podobnych i powiązanych dokumentów, budowaniem sieci cytowań, oceną dorobku naukowego, itp. Zaproponowany algorytm jest modularny, co zwiększa jego utrzymywalność i pozwala na dostosowywanie i ewaluację poszczególnych kroków niezależnie od innych części. Użycie algorytmów uczenia maszynowego w kluczowych zadaniach zwiększa możliwość dostosowania algorytmu do nowych układów i stylów stosowanych w dokumentach. Metoda została poddana ewaluacji przy użyciu zbioru GROTOAP2, wytworzonego na podstawie zasobów PMC w sposób pół-automatyczny, ale skalowalny. Ewaluacja pokazuje wysokie wyniki, a dla większości typów metadanych wyniki są lepsze niż w przypadku konkurencyjnych rozwiązań. Moje plany na przyszłość zawierają: • uzupełnienie algorytmu o możliwość przetwarzania dokumentów w postaci zeskanowanych stron, 18 100 F−score 80 System our algorithm GROBID PDFX ParsCit pdf−extract 60 40 20 0 title abstract keywords Rysunek 12: Wyniki ewaluacji systemów dla podstawowych metadanych dokumentu. Wykres pokazuje średnie F1 dla dokumentów ze zbioru PMC. 100 F−score 80 System our algorithm GROBID PDFX ParsCit pdf−extract 60 40 20 0 title abstract keywords Rysunek 13: Wyniki ewaluacji systemów dla podstawowych metadanych dokumentu. Wykres pokazuje średnie F1 dla dokumentów ze zbioru Elsevier. 19 100 F−score 80 System our algorithm GROBID ParsCit PDFX 60 40 20 0 authors affiliations author− affiliation emails author− email Rysunek 14: Wyniki ewaluacji systemów dla metadanych związanych z autorstwem dokumentu. Wykres pokazuje średnie F1 dla dokumentów ze zbioru PMC. 100 F−score 80 System our algorithm GROBID ParsCit PDFX 60 40 20 0 authors affiliations author− affiliation emails author− email Rysunek 15: Wyniki ewaluacji systemów dla metadanych związanych z autorstwem dokumentu. Wykres pokazuje średnie F1 dla dokumentów ze zbioru Elsevier. 20 100 F−score 80 60 System our algorithm GROBID PDFX 40 20 0 journal volume issue pages year DOI Rysunek 16: Wyniki ewaluacji systemów dla bibliograficznych metadanych dokumentu. Wykres pokazuje średnie F1 dla dokumentów ze zbioru PMC. 100 F−score 80 60 System our algorithm GROBID PDFX 40 20 0 journal volume issue pages year DOI Rysunek 17: Wyniki ewaluacji systemów dla bibliograficznych metadanych dokumentu. Wykres pokazuje średnie F1 dla dokumentów ze zbioru Elsevier. 21 100 F−score 80 System our algorithm PDFX GROBID ParsCit pdf−extract 60 40 20 0 references (PMC) references (Elsevier) Rysunek 18: Wyniki ewaluacji systemów dla ekstrakcji bibliografii. Wykres pokazuje średnie F1 dla dokumentów z obu zbiorów. 100 F−score 80 System our algorithm PDFX ParsCit GROBID 60 40 20 0 section headers headers with levels Rysunek 19: Wyniki ewaluacji systemów dla ekstrakcji nagłówków sekcji. Wykres pokazuje średnie F1 dla dokumentów ze zbioru PMC. 22 • eksperymenty z zastosowaniem uczenia maszynowego w niektórych krokach algorytmu, takich jak parsowanie stref z autorami, ekstrakcja relacji autor-afiliacja, lokalizacja nagłówków sekcji, • eksperymenty z wykorzystaniem jednolitego formatu cytowań w dokumencie do ich parsowania, • rozszerzenie algorytmu o funkcjonalność ekstrakcji danych tabelarycznych, • rozszerzenie algorytmu o dalsze elementy, takie jak wydobywanie kategorii, podziękowań, informacji o projektach, odnośników do kodu źródłowego czy zbiorów danych. Literatura [1] Chih-Chung Chang and Chih-Jen Lin. LIBSVM: A library for support vector machines. ACM TIST, 2(3):27, 2011. [2] Alexandru Constantin, Steve Pettifer, and Andrei Voronkov. PDFX: fully-automated pdf-toxml conversion of scientific literature. In ACM Symposium on Document Engineering 2013, DocEng ’13, Florence, Italy, September 10-13, 2013, pages 177–180, 2013. [3] Siddhartha Jonnalagadda and Philip Topham. NEMO: extraction and normalization of organization names from pubmed affiliation strings. CoRR, abs/1107.5743, 2011. [4] Patrice Lopez. GROBID: combining automatic bibliographic data recognition and term extraction for scholarship publications. In Research and Advanced Technology for Digital Libraries, 13th European Conference, ECDL 2009, Corfu, Greece, September 27 - October 2, 2009. Proceedings, pages 473–474, 2009. [5] Minh-Thang Luong, Thuy Dung Nguyen, and Min-Yen Kan. Logical structure recovery in scholarly articles with rich document features. IJDLS, 1(4):1–23, 2010. [6] Andrew Kachites McCallum. Mallet: A machine learning for language toolkit. 2002. [7] Lawrence O’Gorman. The document spectrum for page layout analysis. IEEE Trans. Pattern Anal. Mach. Intell., 15(11):1162–1173, 1993. [8] T.F. Smith and M.S. Waterman. Identification of common molecular subsequences. Journal of Molecular Biology, 147(1):195–197, 1981. [9] Dominika Tkaczyk, Lukasz Bolikowski, Artur Czeczko, and Krzysztof Rusek. A modular metadata extraction system for born-digital articles. In 10th IAPR International Workshop on Document Analysis Systems, DAS 2012, Gold Coast, Queenslands, Australia, March 27-29, 2012, pages 11–16, 2012. [10] Dominika Tkaczyk, Artur Czeczko, Krzysztof Rusek, Lukasz Bolikowski, and Roman Bogacewicz. GROTOAP: ground truth for open access publications. In Proceedings of the 12th ACM/IEEE-CS Joint Conference on Digital Libraries, JCDL ’12, Washington, DC, USA, June 10-14, 2012, pages 381–382, 2012. [11] Dominika Tkaczyk, Pawel Szostek, and Lukasz Bolikowski. GROTOAP2 - the methodology of creating a large ground truth dataset of scientific articles. D-Lib Magazine, 20(11/12), 2014. [12] Dominika Tkaczyk, Pawel Szostek, Piotr Jan Dendek, Mateusz Fedoryszak, and Lukasz Bolikowski. CERMINE - automatic extraction of metadata and references from scientific literature. In 11th IAPR International Workshop on Document Analysis Systems, DAS 2014, Tours, France, April 7-10, 2014, pages 217–221, 2014. 23 [13] Dominika Tkaczyk, Pawel Szostek, Mateusz Fedoryszak, Piotr Jan Dendek, and Lukasz Bolikowski. Cermine: automatic extraction of structured metadata from scientific literature. International Journal on Document Analysis and Recognition (IJDAR), 18(4):317–335, 2015. [14] Dominika Tkaczyk, Bartosz Tarnawski, and Lukasz Bolikowski. Structured affiliations extraction from scientific literature. D-Lib Magazine, 21(11/12), 2015. 24