Improving Effectiveness of Knowledge Graph Generation Rule Creation and Execution

Samenvatting

Meer en meer data wordt gegenereerd door een steeds groter aantal agenten (applicaties en apparaten) die met het Internet verboden zijn en allemaal bijdragen tot de data die beschikbaar is op het Web. Wanneer deze data geanalyseerd, gecombineerd, en gedeeld wordt, dan kunnen krachtige en nieuwe technieken ontworpen en uitgerold worden, zoals artificiële intelligentie toegepast door persoonlijke assistenten (b.v., Apple's Siri en Amazon Alexa), verbeterde zoekmachines (b.v., Google Search en Microsoft's Bing), en gedecentraliseerde dataopslag (in tegenstelling tot grote, centrale opslag gebruikt door grote bedrijven).

Door deze toename aan data zijn methoden die origineel gebruikt werden om data te modelleren inefficiënt: ze isoleren de data, welke zich in verschillende databronnen bevindt, en maken het moeilijk voor agenten om data uit te wisselen op het Web. De data kan niet gemakkelijk uitgewisseld worden tussen agenten, omdat elke agent een verschillend data model gebruikt om de concepten en relaties te beschrijven van de data die het genereert en gebruikt.

Het Semantische Web biedt een oplossing voor dit probleem: kennisgrafen, welke gerichte grafen zijn die semantische beschrijvingen voorzien voor entiteiten en hun relaties. Deze grafen worden vaak gegenereerd van andere databronnen, zoals meerdere databanken en bestanden die elk georganiseerd en gestructureerd worden op een verschillende manier. Bijvoorbeeld, de DBpedia kennisgraaf wordt gegeneerd van Wikipedia, en de Google kennisgraaf wordt genereerd van verschillende bronnen, inclusief data komend van de Google's eigen diensten en Wikipedia.

Een gebruikelijke manier om deze kennisgrafen te genereren is door gebruik te maken van regels, welke gecreëerd en uitgevoerd worden. De regels voegen semantische annotaties toe aan de data in deze bronnen, gebruikmakend van concepten en relaties. Welke concepten en relaties gebruikt worden en hoe ze toegepast worden op de databronnen is bevat in een semantisch model. Regels bepalen, op de manier, hoe databronnen gemodelleerd worden gebruikmakend van specifieke concepten en relaties tijdens de kennisgraafgeneratie. De syntaxis en grammatica van deze regels wordt bepaald door de kennisgraafgeneratietaal, zoals R2RML en RML. Dus, de regelcreatie wordt beïnvloed door drie aspecten:

  • databronnen,
  • concepten en relaties, en
  • semantisch model.

Eenmaal (een deel van) de regels gecreëerd zijn, worden ze uitgevoerd om een kennisgraaf te genereren. Dit gebeurt via een processor: een software tool dat, gebruikmakend van een reeks regels en databronnen, kennisgrafen genereert. Meerdere processoren kunnen ontwikkelend worden voor een één kennisgraafgeneratietaal met elke een verschillende reeks van eigenschappen: conformiteit aan de specificatie van de regeltaal, API, programmeertaal, schaalbaarheid, en zo verder. Gebruikers kunnen wisselen tussen deze processoren zonder de regels aan te passen, en dus, de selectie van de meest geschikte processor hangt af van een specifieke toepassing.

In dit proefschrift kijken we naar drie uitdagingen en bediscussiëren we onze bijdragen om deze aan te pakken. De eerste uitdaging behandelt de verbetering van gebruikers' begrip van de componenten van de kennisgraafgeneratie. De tweede uitdaging behandelt het vermijden en verwijderen van inconsistenties geïntroduceerd door concepten en relaties, en het semantisch model, welke de regelcreatie beïnvloeden. Beide kunnen leiden tot inconsistenties in de gegeneerde kennisgrafen. Inconsistenties in kennisgrafen worden geïntroduceerd wanneer concepten en relaties gebruikt worden zonder rekening te houden met hun restricties, en dit tast de graaf's kwaliteit aan. Mogelijke oorzaken voor deze inconsistenties zijn:

  • het semantisch model introduceert nieuwe inconsistenties door, b.v., niet gebruik te maken van de geschikte concepten; en
  • de definities van concepten en relaties modelleren niet het domein zoals gewenst.

De derde uitdaging behandelt de selectie van de meest geschikte processor voor een specifieke toepassing, welke de regeluitvoering beïnvloedt. Een processor wordt gebruikt om kennisgrafen te genereren. Als meerdere processoren beschikbaar zijn, moeten gebruikers de meeste geschikte kiezen voor hun specifieke toepassingen. Echter, dit is niet triviaal omdat elke processor een verschillende reeks van features heeft, zoals conformiteit aan de specificatie, API, programmeertaal, schaalbaarheid, en zo verder.

Onze bijdragen die deze uitdagingen aanpakken zijn MapVOWL, de RMLEditor, Resglass, en de RML testen. MapVOWL is een visuele notatie voor kennisgraafgeneratieregels. Via MapVOWL's eendrachtige grafische elementen, kunnen regels volledig gecreëerd worden via visuele voorstellingen, terwijl de regels in de onderliggende taal's syntaxis en grammatica gegenereerd worden zonder interventie van gebruikers. Onze evaluatie toont aan dat aan MapVOWL de voorkeur gegeven wordt in plaats van direct een kennisgraafgeneratietaal, zoals RML, te gebruiken. MapVOWL draagt bij tot het aanpakken van de eerste en tweede uitdaging. In toekomstig onderzoek willen we bekijken hoe alledaags datastructuren, zoals lijsten en sequenties, gevisualiseerd kunnen worden. Bovendien, deze regels moeten niet alleen voorgesteld worden via visualisaties: er zijn gebruikers die een tekst-gebaseerde aanpak wensen. Daartoe hebben we initiële stappen ondernemen door het introduceren van YARRRML, een menselijk-begrijpbare, tekst-gebaseerde voorstelling van kennisgraafgeneratieregels.

De RMLEditor is een grafische gebruikersinterface voor kennisgraafgeneratieregels, gebruikmakend van MapVOWL. Het staat gebruikers toe om databronnen in te laden, regels te creëren, en de resulteerde kennisgraaf vooraf te bezichtigen. De gebruikersinterface besteedt aandacht aan

  • de schaalbaarheidsproblemen die gepaard gaan met het gebruik van grafen voor visualisaties;
  • de visualisatie van heterogene databronnen, naast het tonen van de ruwe data; en
  • de integratie van transformaties van de databronnen in de visualisatie van de regels.

Onze evaluatie toont aan dat de RMLEditor een goede beoordeling krijgt van gebruikers en wordt verkozen over het gebruik van een formulier-gebaseerde gebruikersinterface, zoals RMLx. De RMLEditor draagt bij tot het aanpakken van de eerste en tweede uitdaging. In toekomstig onderzoek willen we MapVOWL combineren met andere voorstellingen, zoals YARRRML, en nieuwe functies toevoegen om het volledige proces om regels te creëren te verbeteren, zoals het importeren van ontologieën.

Resglass is een regel-gebaseerde methode om inconsistenties op te lossen in regels, concepten en relaties. De regels, concepten, en relaties worden automatisch gerangschikt in de volgorde van inspectie gebaseerd op een score die rekening houdt met het aantal inconsistenties in welke een regel, concept, of relatie betrokken is. Onze evaluatie toont aan dat de ordening van Resglass de overlap met die van experts verbetert met 41% voor regels en 23% voor concepten en relaties, in vergelijking met een willekeurige ordening. Resglass draagt bij tot het aanpakken van de tweede uitdaging. In toekomstig onderzoek willen we bekijken hoe we de gebruikers verder kunnen assisteren in het detecteren en vermijden van inconsistenties, zoals, b.v., het suggereren van mogelijke oplossing gebaseerd op gebruikte en andere ontologiëen, en regels van andere toepassingen.

De RML testen laten

  • ontwikkelaars toe om te bepalen hoe conform hun RML processoren zijn aan de RML specificatie, en
  • gebruikers toe om de testresultaten te gebruiken om de meeste geschikte processor voor hun toepassingen te selecteren.

Dit is gedaan met het oog op het ontwerpen van testen die onafhankelijk zijn van RML en die van toepassing zijn op alle talen die kennisgrafen genereren van heterogene databronnen. De testen dragen bij tot het aanpakken van de derde uitdaging. In toekomstig onderzoek willen we bekijken wat de karakteristieken zijn van testen waarbij datastromen gebruikt worden in plaats van statische bestanden of databanken, en andere metrieken om de selectie van de meest geschikte processor nog te verbeteren, zoals snelheid, geheugengebruik, bruikbaarheid, en uitbreidbaarheid.

----