[General] Narzędzia do dodawania adnotacji semantycznych

Zespół

  • Paweł Kłeczek

Opis

Poszukać narzędzi pozwalających na dodawanie adnotacji semantycznych (przykład Image Annotator z zajęć). Opisać funkcjonalność, przedstawić przykłady użycia.

Wymagania

Projekt powinien zawierać około 10 przykładów stron (o ile uda się aż tyle znaleźć). Jeśli dany program/serwis zawiera dobry samouczek/podręcznik, nie ma konieczności dublowania opisów użycia - wystarczy podać odnośnik do odpowiedniego źródła wiedzy.

Spotkania

Projekt

Słowo wstępne

Teoretycznie w sieci dostępne są dziesiątki narzędzi związanych z adnotacjami semantycznymi. Wystarczy spojrzeć na listę programów i serwisów stworzoną przez portal W3C. Okazuje się jednak, że większość znajdujących się na niej wpisów to pokłosie boomu na sieć semantyczną z przełomu XX i XXI wieku. Obecnie znakomita większość stron nie działa (błędy 403, 404, 502, 503) - taki los spotyka głównie projekty tworzone na uniwersytetach. Część narzędzi znalazła zastosowanie komercyjne i z darmowych stała się płatnymi. Takie przypadki nie są jednak zbyt liczne, wiele firm także upadło. Wreszcie: nawet jeśli jakaś strona projektu istnieje (tj. jest dostępna w sieci), to zazwyczaj sam projekt nie jest rozwijany od dobrych 10 lat, przez co występują poważne problemy z samym jego uruchomieniem.

Podobna sytuacja występowała z listą Sweet Tools - spośród blisko 50 pozycji właściwie żadna nie nadawała się do faktycznego wykorzystania.

Lista narzędzi na semanticweb.org również nie okazała się być przydatną…

Odnoszę wrażenie, że sieć semantyczna to koncept głównie akademicki, który (poza nielicznymi wyjątkami) nie znalazł zastosowania biznesowego i przez to skazany jest na wegetację. W szczególności nie sprawdza się idea „tagujmy wszystko na każdy możliwy sposób”.

– Paweł Kłeczek

RDF(a)

  • Javascript RDF image annotation tool
    Pozwala na dodawanie do obrazka adnotacji różnych typów (związanych z jego zawartością): ludzie, słowa kluczowe, wydarzenia, miejsca, wydarzenia, opis, uprawnienia
  • Photo RDF-Gen
    Służy dodawaniu adnotacji semantycznych do zdjęcia, m.in. informacji o autorze i miejscu wykonania zdjęcia, o formacie grafiki, typie użytego aparatu fotograficznego oraz o licencji na jakiej udostępniane jest zdjęcie.
    Interfejs ma postać prostego formularza.

Microformats

Mikroformat (ang. microformat, μF) to webowe podejście do umieszczania znaczników semantycznych, które stara się korzystać z istniejącej składni (X)HTML w celu osadzania metadanych. Takie podejście pozwala programom na przetwarzanie informacji kierowanej do użytkowników końcowych (np. dane kontaktowe, współrzędne geograficzne, wydarzenia w kalendarzu itp.) w sposób automatyczny. Wspomniane metadane były obecne na stronach już wcześniej, lecz wcześniej nie zawierały powiązanej informacji o charakterze tych danych.

Od 2010 r. mikroformaty umożliwiają kodowanie i odczytywanie informacji m.in. o wydarzeniach, kontaktach i powiązaniach w sieciach społecznościowych. Niektóre z dłużej obecnych na rynku mikroformatów (np. hCard) są umieszczane w sieci znacznie częściej niż ich alternatywne odpowiedniki (microdata, RDFa).

O poszczególnych standardach przeczytasz tu: Microformats, XHTML Friends Network (XFN)

  • Microformats - Code & Tools
    Tu znajdziesz formularze-generatory adnotacji dla hCard, hCalendar, hReview oraz XFN
    Ich zaletą jest podgląd w czasie rzeczywistym dokonywanych zmian.

Microdata

Microdata to standard HTML5, który podobnie jak Microformat umożliwia osadzanie informacji semantycznych w oparciu o istniejącą składnię (X)HTML. W założeniu ma być prostszy w użyciu niż Microformat, głównie poprzez redukcję słownika używanych atrybutów do bardzo podstawowych terminów określających bardziej typ relacji niż jej znaczenie (znaczenie określane jest dopiero poprzez wartość atrybutu).

O standardzie Microdata przeczytasz tu: HTML Standard - Microdata

Schema.org

Schema.org korzysta z rozwiązań Microdata dla HTML5 dodając do nich własną ontologię - adnotacje te są rozpoznawane m.in. przez boty indeksujące. Rozwiązanie powstało w 2011 r. z inicjatywy grupy twórców wyszukiwarek internetowych: Bing, Google i Yahoo!

Większość słownika na schema.org czerpie z wcześniejszych formatów: Microformats, FOAF, GoodRelations i OpenCyc

  • Schema Creator
    Umożliwia tworzenie mikrodanych z użyciem paru predefiniowanych szablonów.

RDFaCE

Dodawanie encji do tekstu

Aby oznaczyć fragment tekstu jako encję, do którego będziemy się potem mogli odnieść należy:

  • zazaczyć fragment tekstu
  • kliknąć na zaznaczeniu PPM
  • w menu kontekstowym wybrać Add as Entity, a następnie wybrać kategorię najlepiej opisującą to, do czego odnosi się zaznaczony fragment tekstu

Po dodaniu encji zaznaczony fragment tekstu zostanie oznaczony odpowiednim kolorem.

Po kliknięciu LPM na tym fragmencie (bądź - w przypadku większych fragmentów - na przycisku Edit <typ encji> otworzy się okno, w którym możemy podać szczegóły dotyczące danej encji.
UWAGA! Aby zakończyć edycję naciśnij przycisk Update!

Następnie można ponownie zaznaczyć fragment tekstu w obrębie utworzonej encji i utworzyć na jego podstawie:

  • atrybut encji-rodzica
  • nową encję-dziecko
Generowanie kodu HTML

W celu wygenerowania kodu HTML na podstawie bieżącej zawartości edytora wybierz RDFaCE > HTML Source Code.

UWAGA! Nie wybieraj z menu Tools > Source Code - wygenerowany w ten sposób kod nie tylko nie uwzględnia adnotacji semantycznych, ale dodatkowo operacja ta uniemożliwia później poprawne wygenerowanie kodu z użyciem RDFaCE > HTML Source Code!

Automatyczne dodawanie adnotacji semantycznych

Opcja Annotate pozwala na automatyczne oznaczenie fragmentów tekstu odpowiednimi adnotacjami.

Użytkownik ma pewną kontrolę nad tym procesem poprzez określenie w RDFaCE > Configuration > Automatic Annotation wartości współczynnika pewności oraz w RDFaCE > Configuration > Entities typów ekcji, które zostaną automatycznie rozpoznane.

Wskazówka. Domyślna wartość współczynnika pewności to 0.2 - to zdecydowanie za mało, przez co większość dodanych adnotacji jest pozbawiona sensu…

Inne przydatne opcje

W RDFaCE > Annotated Entities > Faceted Viewing możemy zobaczyć statystyki dotyczące umieszczonych w tekście encji. W szczególności mamy możliwość ich filtrowania po typie oraz oglądania zarówno samych encji jak i typu/ilości dodatkowo zdefiniowanych atrybutów.

W RDFaCE > Configuration (zakładka General) możemy wybrać format adnotacji semantycznych: RDFa lub Microdata

Przykład użycia

Chcemy dodać adnotacje semantyczne do następującego artykułu (przykładowej depeszy PAP):

Szczecin: burze i wysoka temperatura efektem morskich sztormów

09.01. Szczecin (PAP) - Nad Szczecinem w piątkowe popołudnie przeszła burza. W sobotę na Pomorzu Zachodnim temperatura może sięgnąć nawet 12 stopni Celsjusza. To rzadkie, ale nie wyjątkowe zjawisko, takie chwilowe zmiany pogody to efekt sztormów na morzu - tłumaczą synoptycy.

Jak wyjaśnił w rozmowie z PAP dyżurny synoptyk szczecińskiego biura prognoz Instytutu Meteorologii i Gospodarki Wodnej Mariusz Pilipczuk, nad cała Europą Północną panują sztormy, a w ich czasie napływa silniejszy strumień powietrza z cieplejszych stref Morza Północnego, a zwłaszcza znad Atlantyku, z rejonu gdzie temperatura wody jest zazwyczaj wyższa. Na krótki czas masy powietrza podwyższają temperaturę w Europie Północnej - dodał synoptyk.

W tym celu:

  1. Zaznaczamy całość tekstu i wybieramy PPM > Add as Entity > News Article.
  2. Zaznaczamy fragment:
    Szczecin: burze i wysoka temperatura efektem morskich sztormów

    i wybieramy PPM > Add as Property > Headline

  3. Zaznaczamy pozostałą część tekstu i wybieramy PPM > Add as Property > Article Body
  4. Dokonane zmiany możemy zobaczyć w podsumowaniu encji News Article (po kliknięciu na przycisk Edit News Article)
  5. Klikamy Annotate
    W tekście powinny pojawić się nowe encje, np. Szczecin powinien zostać oznaczony jako miejsce. Automatyczne dodawanie adnotacji nie jest jednak wolne od błędów, np. wysoka również zostało oznaczone jako miejsce (gmina Wysoka znaleziona w http://dbpedia.org/resource/Wysoka), choć w użytym kontekście jest to zwykły przymiotnik.
  6. Usuwamy (PPM > Delete) bądź poprawiamy błędne adnotacje (w oknie podsumowania encji).
  7. W celu dodania brakujących encji (np. „Morze Północne” to miejsce geograficzne) wyłączamy widok dotychczas dodanych adnotacji (RDFaCE > Annotated Entities > Hide All) i zwykłym trybem dodajemy wspomniane brakujące encje.
    Od czasu możemy ponownie włączyć widok adnotacji (RDFaCE > Annotated Entities > Show All), lecz tylko w celu zweryfikowania co jeszcze zostało do oznaczenia. Na czas dalszego oznaczania musimy ponownie wyłączyć adnotacje poleceniem Hide All.
Uwagi końcowe

Obecna wersja RDFaCE to v0.7, zatem wciąż jest to wersja rozwojowa. Posiada ona jedno istotne ograniczenie: brak możliwości oznaczenia fragmentu właściwości encji A równocześnie jako osobnej encji B. Operacje te można wykonać tylko z poziomu widoku kodu źródłowego (co jednak kłóci się z zasadą WYSIWYM), poprzez automatyczne adnotacje (które jednak często są nietrafione) albo wreszcie - chowając dotychczas dodane adnotacje i dopiero wtedy dodając żądane encje. Ostatnie rozwiązanie z oczywistych względów dalekie jest od doskonałości - nie widzimy efektów dotychczasowej pracy i łatwo o błąd/zdublowanie pracy, a więc musimy dość często przeklikiwać się między trybem Hide All i Show All.

Trzeba też zaznaczyć, że większość baz danych wykorzystywanych przy dokonywaniu automatycznych adnotacji to bazy angielskojęzyczne, stworzone głównie pod kątem użytkowników w USA i Europie Zachodniej. W związku z tym nie należy się spodziewać spektakularnych rezultatów działania dla tekstów w języku polskim.

Dodatkowe informacje o projekcie można uzyskać tutaj:

Inne

  • DBpedia Spotlight
    Dodaje adnotacje semantyczne do danego tekstu (brak interakcji z użytkownikiem). Możliwość wyboru adnotacji z następujących baz: DBpedia, Freebase, schema.org, custom (SPARQL)

Sprawozdanie

Materiały

Przydatne zasoby:

Rozwiązania kompleksowe (być może też jest tu coś ciekawego…):

  • Annotea (wykorzystywana wraz z edytorem Amaya)
  • MnM (wsparcie zakończone wraz z Windows 2000)
  • Trellis (wsparcie zakończone w 2002 r., cytat z README: We've been using Apache version 1.3.x, and haven't really tested out Trellis with Apache 2.x - Apache 2.0 pojawiło się w 2000 r. …)
  • GoNTogle (ostatnia aktualizacja z 2007 r., wymaga współpracy z Protege, ale rzuca błędami które nie są zbyt informatywne)
pl/dydaktyka/semweb/2014/projects/semannot.txt · ostatnio zmienione: 2019/06/27 15:50 (edycja zewnętrzna)
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0