vrijdag 20 augustus 2010

Kennisextractie uit een Nederlandse tekst 2

Na de ontwikkeling van een semantische databankeditor voor het taalonafhankelijk beheren van (encyclopedische) kennis, heeft mijn softwarebedrijf Sirius Computing de ontwikkeling van een kennisextractor uit Nederlandse tekst aangevat. Een eerste prototype kan reeds naamwoordgroepen uit een Nederlandse tekst extraheren. Naamwoordgroepen zijn frasen waarvan de kern een naamwoord is. Belangrijke zinsdelen - zoals onderwerp, lijdend voorwerp en meewerkend voorwerp - bestaan uit naamwoordgroepen.
De bedoeling is om ook verbale constituenten en voorzetselconstituenten uit de tekst te extraheren en op basis daarvan relaties tussen de verschillende naamwoordgroepen te vinden. Deze tekstspecifieke kennis kan dan in een latere stap semi-automatisch worden gegeneraliseerd in een algemene kennisbank.


Sirius Computing specialiseert zich in crowdsourcingapplicaties d.w.z. applicaties die de gebruikers mee kunnen verbeteren. Vandaar dat we de gebruikers de mogelijkheid bieden om de grammaticale patronen voor de herkenning van naamwoordgroepen mee te beheren. Via de optie 'Voeg naamwoordgroep toe' uit het rechtermuismenu is het bijvoorbeeld mogelijk om een geselecteerde frase als naamwoordgroep aan te duiden. Frasen die voldoen aan dit grammaticale patroon worden dan na een druk op de knop Extraheer eveneens als naamwoordgroep herkend.
Via de tab Kennisbeheer.Naamwoordgroepen kunnen alle naamwoordgroepen eveneens worden beheerd.

maandag 16 augustus 2010

Semantische databankeditor

Mijn softwarebedrijf Sirius Computing heeft een semantische databankeditor ontwikkeld voor het beheren van een terminologische ontologie.
De semantische databankeditor laat toe om objecten toe te voegen, te verwijderen, te bewerken en te zoeken. Aan elk object kan een lijst met eigenschappen, relaties en termen worden gekoppeld. Deze eigenschappen, relaties en termen zijn zelf eveneens objecten.


Naast het gebruik van URI's (Uniform Resource Identifiers), maakt de (meertalige) terminologie, in combinatie met de ontologie, het mogelijk om objecten ondubbelzinnig te identificeren.

Voor het zoeken naar objecten in de databank werd een objectgeörienteerd filtermechanisme geïmplementeerd. De objectfilter ondersteunt het gebruik van Booleaanse logica en reguliere expressies. Het criterium heeft.* filtert bijvoorbeeld alle objecten waarvan de term start met heeft.
De filter ondersteunt het gebruik van dubbele aanhalingstekens om meerwoordexpressies te zoeken gescheiden door spaties. Het criterium "heeft inverse.*" filtert bijvoorbeeld alle objecten met een term die begint met heeft inverse.
De volgende gereserveerde woorden kunnen in de filter worden gebruikt: term, termen, eigenschap, eigenschappen, waarde, relatie, relaties, doel.
+ Term duidt een objectterm aan.
+ Termen duidt het aantal objecttermen aan.
+ Eigenschap duidt een eigenschap aan.
+ Eigenschappen duidt het aantal eigenschappen aan.
+ Waarde duidt de waarde van een eigenschap aan.
+ Relatie duidt een relatie aan.
+ Relaties duidt het aantal relaties aan.
+ Doel duidt het doelobject van een relatie aan.
Met behulp van deze sleutelwoorden kunnen vrij eenvoudig complexe filtercriteria worden samengesteld. Het filtercriterium term.eigenschap.waarde=http.* selecteert bijvoorbeeld alle objecten met een term waarvan de waarde van een eigenschap begint met http.
Ook de volgende speciale tekens (operators) worden ondersteund: !, &, |, ().
! is het teken voor de Booleaanse Not (negatie van de Booleaanse operand).
& is het teken voor de Booleaanse And operatie.
| is het teken voor de Booleaanse Or operatie.
( duidt het begin van een samengestelde Booleaanse operand aan.
) duidt het einde van een samengestelde Booleaanse operand aan.
Het filtercriterium (relatie="heeft hyperoniem" & doel=relatie) selecteert bijvoorbeeld alle relaties.

De structuur van de onderliggend object databank is gebaseerd op de W3C-standaard RDF (Resource Description Format). Volgens deze structuur hebben links tussen objecten de vorm van een drie-eenheid: onderwerp-werkwoord-object. Deze elementaire structuur maakt het mogelijk om op een generieke wijze zowel gestructureerde als ongestructureerde heterogene informatie te beheren.

De semantische databank zal in eerste instantie gebruikt worden als kennisbank in onze software voor kennisextractie uit een Nederlandse tekst.