Semantisk tjänst. Ämne Version Datum Semantisk applikation 1.0 11 maj, 2009. Johan Säll Larsson

Relevanta dokument
ALEPH ver. 18 ALEPH Digital Asset Module (ADAM)

Det här dokumentet är till för att ge en översikt över ASP.NET MVC samt hur WCF Services används från.net applikationer.

Version: Datum: DynaMaster 5 Golf Övergripande manual

Stationsregistret - användarhandledning

Medieteknologi Webbprogrammering och databaser MEB725, 5p (7,5 ECTS) Klientprogrammering JavaScript Program på flera sidor

Installation och konfiguration av klientprogramvara 2c8 Modeling Tool

IRM som stöd för kunskapsutbyte i organisationer. Kristina Groth, KTH Pär Lannerö, Metamatrix

Sync Master startas via Task Scedule (schemaläggaren). Programmet kan köras på servern utan att någon är inloggad på servern.

Introduktion till integrering av Schenkers e-tjänster. Version 2.0

Programbeskrivning. Chaos på Web. Version

version 2.5 CONTENTO SVENSKA AB Introduktion till Kursbyggarverktyg

Lathund för QlikView system/it stöd för Business Intelligence

Administratörer Det finns tre typer administratörer i Websurvey:

Handledning för installation och komma igång med Joomla

Kunskapsgraf. Fredrik Åkerberg Tommy Kvant 1 Introduktion. 2 Relaterade projekt.

Guide för Innehållsleverantörer

Arbeta med Selected Works en lathund

Datorer och kunskap - Den semantiska webben Robert Herber

Kundhandledning för EBIS. E-space Business Intelligence System. Version

Styrelsebloggens bruksanvisning

IMS-manual för Netpub

Europeana Data Model vad, varför och hur

Innehåll. Dokumentet gäller från och med version

Grupper; Gruppindelningar; Vanliga inställningar för modul

Delrapport DP3. FGS för paketstruktur för e-arkiv Bilaga 1 METS

IMPORTERA POSTER TILL DIVA Anvisning för export av poster från andra databassystem för import till DiVA

Slutrapport Vertikala Sökmotorer Uppdrag från.se:s Internetfond Våren 2008

Innehåll Introduktion... 3 InteractiveScene.config... 3 Scener <scenes>... 3 Typsnitt <fonts>... 3 Övergångar <transitions>...

Råd gällande beständiga länkar

Innehåll. MySQL Grundkurs

Sync Master startas via Task Scedule (schemaläggaren). Programmet kan köras på servern utan att någon är inloggad på servern.

Frakt och webbutiksinställningar

Arbeta med databas. Översikt. Lektion 1: Arbeta med Entity Data Models. Arbeta med Entity Data Models. LINQ (Language Integrated Query).

CVS-Introduktion. CyberRymden Introduktion till CVS,17 november (27) Marcus Rejås

Manual HSB Webb brf

emopluppen Användning av "Ant" Niklas Backlund Version: 1.4 ( 2002/04/26 07:27:52 UTC)

Lathund - webbsidor och filer

Användarhandledning Plancenter Admin version 2011

Open Content: Gör ert innehåll tillgängligt för både era läsare och utvecklare

Anvisningar för hur man loggar in och använder office: sharepoint och e-post

DI Studio nyheter

Webbtjänster med API er

Instruktioner. Innehåll: 1. Vad är Kimsoft Control (SIDA 2) 3. Hem (SIDA 2)

Sö ka litteratur i ERIC

Diagnostisktprov Utveckla i Azure

V2.6 VERSIONSINFORMATION

Compose Connect. Hosted Exchange

Internets historia Tillämpningar

Version 1.0. Benämning OSG Storage Engine. Senaste revidering Användarbeskrivning

VGR mediebank. Logga in med ditt AD konto. Accepterar bilder, filmer, dokument och vektorformat

Manual till publiceringsverktyg

Webbprogrammering. Sahand Sadjadee

Labora&on 2 Funk&oner, if och loop övningar/uppgi:er

SIMPLIFYSCAN. För intelligent scanning

Hå rd- och mjukvårukråv såmt rekommendåtioner fo r 3L Pro from version 2015.Q1

LATHUND PASSWORD SAFE. Författare: N. Eriksson Kurs: Datorer & Data från grunden, Mittuniversitetet Publ.datum:

Webservice & ERP-Integration Rapport

Dokumentet får spridas fritt i sin helhet, digitalt eller i tryckt format till alla användare av EPiServer CMS.

Dialogue Technologies April 2005

Lathund till PsycINFO (OVID)


Förändringar vid övergång till e-frikort 3.0

Introduktion Schenker-BTL AB, Stab IT Beskrivning över informationsintegreringmed Schenker, metodbeskrivning version 1.

LEX INSTRUKTION LEX LDAP

Användarhandledning Rapportgenerator Version: 1.1

Administrationsmanual ImageBank 2

Ny skalbar och öppen OLAP-teknologi, SAS OLAP server

Installation xvis besökssystem, Koncern

Arv. Fundamental objekt-orienterad teknik. arv i Java modifieraren protected Lägga till och modifiera metoder med hjälp av arv Klass hierarkier

Modern webbutveckling. av Robert Welin-Berger

Manual för kursspecifika ansökningsformulär Folkhögskola.nu

E12 "Evil is going on"

PubMed gratis Medline på Internet 1946-

Gemensam byggprocess, GBP. Presentation: Hitta dokument i GBP-databasen gbp.goteborg.se

Benämning Ansvarig Robert Winbladh Skapat :31 Projekt Senast sparat :42 Revision 1.3 Filnamn CUSTOMER PORTAL

Joomla CMS Del 2 av 2


LEX INSTRUKTION REPLIKERING UPPGRADERING

IT-system. BUP Användarmanual

Instruktioner för uppdatering från Ethiris 4.10 till 5.x

Systembeskrivning.

FrontPage Express. Ämne: Datorkunskap (Internet) Handledare: Thomas Granhäll

PC-Axis familjen En produktöversi k t

Optimering av webbsidor

Räkna med ASP.NET MVC 3

Tips & Trix - Teknik Jeeves World Copyright 2011 Jeeves Information Systems AB

Manual för Typo3 version 4.04

Komma igång med Qlikview

Verktyg för samarbete mellan lärare. Digitalt mediearkiv Lektionsmixer Personlig mapp

Mobizoft Video Add-on for EPiServer. Juni 2012 Version 1.30

Användarmanual för Centeped

1 Introduktion 3. 2 Behörighet Base Receptionist Site admin 3. 3 Startsida Positionskarta 4. 3.

Programutvecklingsprojekt Projektgrupp Elvin. Detailed Design Document

Instä llningär äv Fästighet i webbäpplikätionen

Monitor Pro V7.x SCADA. Förstå och skapa symboler

ALEPH ver. 16 Introduktion

Olle Olsson. SICS ( ) W3C ( ) ) BeyondIT Page 1

Genom alternativet Utsökning kan du ta fram och exportera listor och förteckningar av publikationer i DiVA utifrån person, organisation, ämne m.m.

Transkript:

Ämne Version Datum Semantisk applikation 1.0 11 maj, 2009 Ansvarig Information Johan Säll Larsson Text som har ändrats eller lagts till från föregående dokument är markerat med röd färg. Semantisk tjänst 1 (14)

Innehåll 1 Introduktion... 3 2 Viktig information... 3 3 Metadatatjänst och UMLS... 3 4 Semantisk tjänst... 5 1.1 Harvester Service... 5 1.1.1 Sitelista... 5 1.1.2 Jobblista... 6 1.1.3 Översikt... 6 1.2 Selection Service... 7 1.3 Indexing Service... 7 1.4 Query Service... 7 1.5 Harvesting Management... 7 Web service... 8 1.6 GetRelatedLinks... 8 1.7 AddPageLink... 8 1.8 GetPageLink... 8 1.9 GetPageRDF... 9 1.10 AddJob... 9 1.11 CheckUrl... 9 5 RDF hantering... 10 6 Arkitektur... 11 7 EpiServer plugin... 12 8 Sparql endpoint... 13 9 Förklaringar... 14 2 (14)

1 Introduktion Den semantiska tjänsten tillhandahåller bl a en tjänst för automatiserad länkgenerering. Detta innebär att relaterade länkar till en webbsida genereras och föreslås för användarna i publiceringsverktyget Episerver. Syftet med länkgeneratorn är att underlätta redaktörernas arbete med relaterade länkar inom olika områden samt att skapa ett användarvänligt sätt för besökarna att hitta mer relevant information kring ett ämne. Den semantiska tjänsten är en påbyggnad av konceptet Metadatatjänst som tillhandahåller en nyckelordstjänst för automatisk framställning av nyckelord på en publikations innehåll. Framtida möjliga utökningar av tjänsten är bl a vy skapande, enligt faceted browsing paradigm, SPARQL-endpoints för att möjliggöra en distribuerad datakälla. 2 Viktig information Vissa saker som måste beaktas är att länkgeneratorns resultat är beroende av både taxonomin och Metadatatjänsten. Detta innebär följande: resultatet av länkgeneratorn är direkt kopplat till det eventuella assimilations gap som existerar mellan införlivningen och användning av metadatatjänsten, eftersom en taxonomisk kategorisering (med nyckelord) på sidan innebär mer precisa resultat. Taxonomins mappning och svarstid kan eventuellt göra utsökningarna långsamma. En fråga efter alla föräldrar till termen hjärta kommer inte att resultera i en lista med svenskt översatta föräldrar utan den engelska motsvarigheten, vilket innebär att frågan måste ställas två gånger. Antalet relationer, ex parent/child/sibling (OR/CC (ej i MeSH)), är helt kopplade till antalet taxonomier. D v s ju fler taxonomier desto fler relationer. 3 Metadatatjänst och UMLS Metadatatjänsten använder sig av National Library of Medicine's kontrollerade vokabulär thesaurus MeSH och den svenska översättningen SWEMeSH. SWEMeSH innehåller inga relationer utan verkar endast som en översättning åt den engelska versionen. Semantic Network De noder som existerar i MeSH innhåller bl a egenskapen Semantic Type som beskriver ämneskategorier. Semantic Network innehåller dessutom relationer mellan dessa Semantic Types. Ex. X [Affects][Causes][Treats][Prevents] Y. Semantic Type är inkluderat i MeSH men inte översatt i SWEMeSH, vilket innebär att en sökning i denna inte får upp någon Semantic Type. Ett exempel på en Semantic Type är Body Part, Organ, or Organ Component som bl a termen Heart är kategoriserat som. Synonymer Noderna innerhåller även ett set av synonymer med hög eller låg grad av bredd, Narrower eller Broader. Dessa har även en preferred synonym för alla noder. Parent/Child En nods förälder och dess undernoder. 3 (14)

Exempel: För att få ut relaterad information utifrån MeSH är det lämpligast att man söker på Parent/Child, Broader/Narrower och/eller undernoder för att få ut de relaterade koncept som senare kommer att användas i länkgeneratorn. Figur 1 visar en sökning på termen Hammer Toe Syndrom och detta koncepts position i hierarkin. Syskonen som omfattas av sökningen är i figur 1 gråmarkerad. Dessa begrepp kan sedan bl a användas som uppslag för länkgeneratorn. MeSH vokabulär innehåller interna relationer för att positionera ett koncept i en hierarki. Således kan man inte få ut relationer såsom att rökning orsakar cancer utan att utöka med fler vokabulär och mappningar. Fler vokabulär skulle kunna visa fler relationer såsom Other Related Concepts (OR) och Co-occuring Concepts (CC). Samma fråga hade exempelvis visat att relaterade koncept (i CC) under kategorin Anatomy. Dermis, Foot, Forefoot, Human, Forelimb, Hallux structure, mm och under kategorin Procedures: Amputation, mm. Men detta kan inte göras enbart med MeSH. Figur 1. Sökning på "Hammer toe syndrome" 4 (14)

4 Semantisk tjänst Den semantiska tjänsten är uppbyggd av 4 moduler, se figur 2. Harvester Service extraherar innehållet från websidor, kategoriserar dem enligt en modell och sparar informationen i en RDF databas. Selection Service extraherar en viss typ av information och är indata för Indexing Service. Index Service indexterar informationen och lagrar detta i ett Lucene index. Query Service får nyckelord som inparametrar och använder sig av Taxonomy Service (DTS) för att hämta ut olika relationer. Resultaten från Taxonomy Service söks i indexet. Harvester Service Selection Service Indexing Service Query Service Figur 2. Översikt 1.1 Harvester Service Harvester servicen hanterar extraktionen och RDF konverteringen av html-sidor. Denna modul förbereder för ett gemensamt RDF storage där intern och extern data aggregeras. Harvester servicen har byggts med hjälp av Apertures harvester framework. Aperture är ett open source harvester framework som fokuserar mot semantik och RDF. Framework:et stödjer bl a aggregering av data från: Bibsonomy konton och extrahera bokmärken och taggar Delicious konton och extrahera bokmärken och taggar Filsystem och extrahera mappstrukturer Flickr konton och extrahera taggar och fotometadata Kalendrar i icalendar format Externa e-postlådor Lokala e-postlådor Webbsidor Harvestern är konfigurerad att endast extrahera HTML-filer för att underlätta behovet av att lägga till RDF på sidorna. Harvestern kan extrahera meta data från html, PDF, word-dokument, bildfiler och ljudfiler. Det bör nämnas att meta data bör i framtiden presenteras som RDF och anpassas efter de rekommendationer för att uttrycka Dublin Core som RDF (se bilaga). Eftersom detta tillåter ytterligare struktur på datan. Alternativt kan extra metadata hjälpa till. 1.1.1 Sitelista Den semantiska applikationen har en databas för olika siter som skall harvestas. Denna lista kommer att köras enligt en konfigurationsfil. Denna harvesterkörning kan konfigueras att exekveras exempelvis varje lördag klockan 06.00, varje dag klockan 17.00 eller första dagen i tredje månaden under en begränsad tid. 5 (14)

Sitelistan för siter administreras via den semantiska applikationen. 1.1.2 Jobblista Den semantiska applikationen är förberedd för att även externt hantera harvesterjobb för enskilda sidor. Exempelvis, då siterna är för många för att harvestern skall hinna harvesta alla dokument inom ett visst tidsspann kan harvestern harvesta alla siter under helger medans sidor som uppdateras under dagen körs dagligen. Denna funktion finns tillgänglig som en web service. För CMS gäller då att ett web service anrop lägger till en nyskapad eller redigerad sida i en jobblista. Denna funktion existerar för att underlätta för harvestern och för att optimera harvesterkörningar. 1.1.3 Översikt 1 2 3 4 Request Jobs Extract content Query taxonomy Add taxonomy terms Figur 3. Översikt 1. Request Jobs Harvestern hämtar site- och jobblistor för harvest. 2. Extract content Harvestern extraherar och konverterar information. Under extraheringen kommer vissa sidor märkas som nya/modifierade/borttagna. I detta skede kommer de modifierade och borttagna sidorna sparas för att sedan kollas mot databasen med relaterade länkar och flagga länkar som inte längre existerar. 3. Query Taxonomy Harvestern slår upp varje nyckelord i Taxonomin. Innan nyckelorden används körs de mot en stoppordlista. De ord som får 0 träffar i taxonomin kommer att sparas undan i en blacklist för att effektivisera frågorna mot taxonomin. 4. Add Taxonomy terms Då Taxonomin får träff adderas information om dess MeSH id, föredragen term och synonymer. Nedan visas ett exempel på sidan http://vard.vgregion.se/sv/sjukdomar-och-besvar/patientberattelser/ då harvestern extraherat, frågat taxonomin och lagt till information. Subjekt Predikat Objekt <http://vard.vgregion.se/...> skos:concept D000855 (visa i MeSH) <http://vard.vgregion.se/...> skos:concept D009369 (visa i MeSH) <http://vard.vgregion.se/...> skos:altlabel Anorexi <http://vard.vgregion.se/...> skos:altlabel Svulster <http://vard.vgregion.se/...> skos:altlabel Neoplasmer <http://vard.vgregion.se/...> skos:altlabel Cancer <http://vard.vgregion.se/...> skos:preflabel Tumörer <http://vard.vgregion.se/...> skos:preflabel Aptitlöshet <http://vard.vgregion.se/...> nie:keyword barnlöshet <http://vard.vgregion.se/...> nie:keyword patientberättelser 6 (14)

Tabell 1. Pseudo RDF efter harvesting 1.2 Selection Service För att undvika att råka missa sidor i sökresultatet p g a avsaknaden av nyckelord eller bristfälliga nyckelord (till en början) kommer Selection Service modulen att sortera ut nyckelord, dc.titel och dc.description ur RDF repository. Dessa kommer sedan användas för Indexing Service för att indexera textsträngar i nyckelord, dc.titel och dc.description. Genom att ta ut en större datamängd bör resultatet spegla verkligheten mer än att endast ta ut nyckelord. Det finns dock inget som säger att vi till en början ändå får en viss diskrepans mellan det förväntade resultatet och det som vi kommer att få. 1.3 Indexing Service RDF databaser och SPARQL är ännu inte fullt optimerade såsom SQL och SQL databaser när det gäller snabbhet. För att kunna göra en fulltext sökning och för att effektivisera resultatet indexerar Indexing Service valda textsträngar i ett Lucene index. Indexeringen görs på bl a skos:preflabel, skos:altlabel, skos:hiddenlabel. 1.4 Query Service För att mer effektivt söka i RDF har Lucenes sökmotor integrerats med ARQ (SPARQL motorn). Förutom en mer effektiv sökning kan Lucenes motor fulltext söka, mäta resultaten och filtrera ut på olika resultatträffar (ex. under 0.5). 1.5 Harvesting Management För att lägga till en sitelista över vilka siter som skall ingå i den semantiska tjänsten loggar man in på admin panelen. 1 2 3 4 5 6 1. Site URL kommer anges som källa för dokumentet som harvestas. Detta används sedan för att gruppera de olika källorna. Urlen kommer sedan visas utan http:// och www. 2. StartURL anger vart harvestern skall börja extrahera information. 3. Harvestdjup anger hur djupt ner i länkarna harvestern skall ta sig. 0 indikerar att harvestern endast extraherar sidan som angetts utan att gå vidare. Exempelvis så tar sig harvestern, vid siffran 3, vidare på ett länkdjup av 3. Om man vill att harvestern skall gå vidare genom alla länkar anges -1. 4. Inkludera RegExp mönster betyder att man kan inkludera vissa sidor. Detta måste användas tillsammans med Exkludera RegExp mönster. 5. Exkludera RegExp mönster betyder att man kan exkludera vissa sidor. Detta måste användas tillsammans med Inkludera RegExp mönster. 6. Ändra eller ta bort källor från sitelistan. 7 (14)

Web service Länkgeneratorn kommer att implementeras som en web service. Web servicen har följande tänkta ändamål: 1.6 GetRelatedLinks GetRelatedLinks är huvudoperationen där inputparametrar skickas från publiceringsverktyget och returnerar en lista på länkar och varför dessa länkar rekommenderas (ex. relationer och relevans) Inparametrar Namn Typ Förklaring keyword String En String med keywords Returvärde En Array av Linkobjekt 1.7 AddPageLink AddPageLink anropas av EpiServer då användaren valt x antal länkalternativ. Alternativen sparas i en MySQL databas. Föregående instanser av URL:en raderas. Inparametrar Namn Typ Förklaring referrer String En String som är och, separerad. är separering mellan objekt och, mellan variabler Returvärde Boolean (huruvida allt gått bra med databas hanteringen) 1.8 GetPageLink För att få ut relaterade länkar i sidan anropas GetPageLink som hämtar alla länkar tillhörande url x. Namn Typ Förklaring url String URL till sidan som refererar till länken, ex. http://www.vgregion.se Returvärde En Array av PageLink objekt 8 (14)

1.9 GetPageRDF Namn Typ Förklaring url String URL till sidan som refererar till länken, ex. http://www.vgregion.se Returvärde En RDF fil 1.10 AddJob Då en sida redigeras eller skapas kan dokumenthanterarverktyget anropa AddJob för att meddela harvestern att en sida behövs harvestas. Namn Typ Förklaring job HarvesterJob Skickar in ett HarvesterJob Objekt och lägger till dess attribut i databasen, ex. Site URL, Site Namn, Djup. Returvärde Inget 1.11 CheckUrl Går in i realtid och kollar så adresserna finns. Lägger till statuskod och statusmeddelande Namn Typ Förklaring checkurl HarvesterJob Returvärde Boolean 9 (14)

5 RDF hantering Jena är ett av de främsta javaframework för semantiska webbapplikationer. Detta framework förser ett API för att extrahera data och skapa RDF grafer. Jena inkluderar en intern regel- och slutledningsmotor (stödjer även externa såsom Pellet), OWL API, in-memory- och databaslagring och SPARQL motor (ARQ). Jena stödjer konvertering av RDF grafer till en relationsdatabas, RDF/XML, Turtle och Notation 3, och har flertalet plug-in som ex Eyeball som hittar problem med RDF. Sesame är liksom Jena ett framework, skillnaderna är att Sesames native storage är snabbare än Jenas native databas. Sesame används av harvestern för att indexera och lägga till i en Sesame native storage. Spring Framework Länkgeneratorn kommer att byggas med Spring: ett populärt och moget open source framework för webbutveckling. 10 (14)

6 Arkitektur Publiceringsverktyget anropar Länkgeneratorn och skickar in aktuella nyckelord. Dessa nyckelord kommer att sökas mot RDF databasen samt Taxonomy Service (DTS). Jena sköter RDF extraheringen och sökningen medan Lucene sköter om länkarnas relevans. Länkarna skickas sedan tillbaka som en lista och en motivering till varför dessa länkar valts ut skickas tillbaka (relevans och relationer). Taxonomy Service Web service Spring Query Jena HTML PDF Extracts Harvester Lucene Index OWL Uses model Stores Builds index on selected properties Internal Native RDF store External dependencies Figur 4. Översikt: komponenter Extraktionen av relaterad information Länkgeneratorn kommunicerar mot taxonomi servicen och extraherar relaterad information såsom Child/Parent. Keywords som angetts med hjälp av metadatatjänsten skickas med i anropet till web servicen. Länkgeneratorn gör två olika typer av sökningar: 1) Relaterad information mot taxonomin servicen och mot RDF storage 2) Vanlig nyckelordssökning om inga relationer hittas. 11 (14)

7 EpiServer plugin Användaren måste göra en medveten aktiv handling för att aktivera hitta relaterade artiklar/dokument. Detta görs genom att klicka på en flik, se fig. 5 punkt 1. EpiServer anropar web servicen som skickar tillbaka en lista på förslag. Då användaren valt att finna relaterade länkar kommer dessa grafiskt separeras genom huvudkällan, se fig. 5 punkt 2. Denna separering görs redan vid harvesting, då användaren specificerar vilka informationskällor som skall användas. Då användaren väljer ett godtyckligt antal relaterade länkar och klickar på spara (se fig. 5 punkt 3) körs ett web service anrop som i sin tur lägger till länkarna i en databas (MySQL databas). Denna information kommer sedan användas för att visa relaterade länkar på sidan. Då användaren vill se huruvida det tillkommit fler relaterade länkar klickar denne på samma flik och ett web service anrop frågar huruvida det finns nya tillgängliga länkar. Användaren får återigen göra ett val. 3 1 2 Figur 5 Admin gränssnittet i EpiServer 5 12 (14)

8 Sparql endpoint För detta syfte används sesames http server. 13 (14)

9 Förklaringar SPARQL endpoint låter användare (människa eller maskin) att fråga en knowledge base med SPARQL språket. Resultatet som returneras är oftast i ett maskinförståeligt format. 14 (14)