NAMED ENTITY RECOGNITION IN WIKIPEDIA:

Vergelijkbare documenten
Starten van de tool De tool wordt opgestart door een web browser te openen (bij voorkeur Google Chrome) en in de adresbalk te typen:

Opzetten van een evenement

Peridos. Gegevens aanleveren en controleren in Peridos door zorginstelling. Datum: Landelijk beheer Peridos. Versie: 2.

Peridos. Gegevens aanleveren en controleren in Peridos door zorginstelling

AFO 142 Titel Aanwinsten Geschiedenis

Peridos. Aanleveren van gegevens. Datum: Landelijk beheer Peridos. Versie: 1.1

Release Notes CheQpoint 2.0. Versie 30. Efficiency through innovation

PARTIJOPGAVE NAKTUINBOUW

1 Delers 1. 3 Grootste gemene deler en kleinste gemene veelvoud 12

Stappenplan: een spreekbeurt maken

ITware. Itware gebruikershandleiding

Handleiding capaciteitsplanning

Opdracht 1 Topics on Parsing and Formal Languages - fall 2010

VRAAGVORMEN OPTIMAAL GEBRUIKEN INSTRUCTIE VOOR VRAAGONTWIKKELAARS TESTVISION ONLINE

DATABASEBEHEER IN EXCEL

Schonen patiëntenbestand

Aan de slag met AdminView

Handleiding genormeerde tekstenbank

Samen werken aan de mooiste database

Cliëntervaringsonderzoek Wmo 2016

Uitgebreide uitwerking Tentamen Complexiteit, mei 2007

Cover Page. The handle holds various files of this Leiden University dissertation.

Pagina 1 van 7. Controle instructies de Boer. Beste controleur,

Handleiding. Online database met duizenden activiteiten.

Correctievoorschrift VWO 2015

Onafhankelijke verzamelingen en Gewogen Oplossingen, door Donald E. Knuth, The Art of Computer Programming, Volume 4, Combinatorial Algorithms

Handleiding FOCWA Kennisbank. Kennisbank V 1.0 Remco Jansen

Combinatorische Algoritmen: Binary Decision Diagrams, Deel III

Maken van een draaitabel met informatie uit StatLine.

Samen werken aan de mooiste database

VERZENDLIJSTEN HANDLEIDING. OTYS Recruiting Technology

3. Structuren in de taal

Inrichting Systeem: Locaties & Toegang

Filters in je productlijst

4orange Connect. 4orange, Hogehilweg CD Amsterdam Zuidoost

Handleiding HRM. Benoemen medewerkers

Bijlage bij Getting Started Guide International English Edition

Opdracht 1 Topics on Parsing and Formal Languages - fall 2010

Variabelen en statements in ActionScript

Database Structuur via menus

De Basis. Eduscope. Versie 1.0. Vrijdag 18 april Bergerweg KD Sittard

Gebruikershandleiding Psychorom. Bohn Stafleu van Loghum

Werken met leerpaden. Inleiding. Handleiding Zermelo. Copyright 2018, Zermelo Software BV - pagina 1. Op deze pagina PORTAL 1.20.

SLIMSTAMPEN HANDLEIDING

Landelijk Indicatie Protocol (LIP)

Peridos Handleiding Notificaties en uitslagen NIPT

Gebruikershandleiding (mijn) personeelsdossier

HANDLEIDING Q1600 Fashion

Handicom. Symbol for Windows. Image Manager. (Versie 3) Handicom, 2006, Nederland

Handleiding CMS. Auteur: J. Bijl Coldfusion Consultant

Nieuwsbrief november 2014

AFO 113 Authoritybeheer

Handleiding. BOA Server applicaties. Controleur

Salaris in People Inc.

Handleiding De Biedwedstrijd

Stoomcursus. wiskunde A. Rekenregels voor vereenvoudigen. Voorbereidende opgaven VWO ( ) = = ( ) ( ) ( ) = ( ) ( ) = ( ) = = ( )

Een website omzetten naar WordPress

1. Inleiding. 2. Inloggen:

INFORMATIEARCHITECTUUR DESIGN EN MARKTPLAATS

Een onderzoek naar het effect van een zelfcorrectiemethode tijdens het stellen.

Examen VWO wiskunde C. tijdvak 2 woensdag 17 juni uur. Bij dit examen hoort een uitwerkbijlage.

Gevolgen invoering Directe Toegankelijkheid Fysiotherapie

Peridos Handleiding uitslagen combinatietest

Correctievoorschrift VWO 2012

Onderzoek naar verzekerde schade tijdens vakantie- en feestdagen

Magidoku s en verborgen symmetrieën

hoe u kunt zoeken naar informatie; hoe u gevonden informatie kunt beoordelen op betrouwbaarheid.

Tekstverwerken les 6, Word. Spellingscontrole.

Als eerste bedankt voor het aanschaffen van deze PDF waarin ik je handige tips en trucs zal geven over het schrijven van een handleiding.

15 July Betaalopdrachten web applicatie gebruikers handleiding

Computationele Intelligentie

Voor de beoordeling zijn de volgende passages van de artikelen 41, 41a en 42 van het Eindexamenbesluit van belang:

Handleiding capaciteitsplanning

Release Notes Carta 14.1

Examen VWO. Wiskunde A1,2 (nieuwe stijl)

Instructie en voorbeelden bij Tags en uitleg

Hoofdstuk 21: Gegevens samenvatten

Handleiding Berichtensysteem. Multitask ICT bv

De inrichting van Orbak Compact Stap-voor-Stap

Web Presence Builder. Inhoud

Themahandleiding: Vragendatabase

Handleiding Online Kennisbank CROW. Contentmanagement

Rapportage: asbestinventarisatie

Documentatie HandelingsPlanMaken.nl

Gebruikershandleiding Geneeskundig Adresboek. Bohn Stafleu van Loghum

Om een zo duidelijk mogelijk verslag te maken, hebben we de vragen onderverdeeld in 4 categorieën.

Inlezen bankbestanden (bankafschriften)

LAVS uploaden adressenlijst

Eindexamen wiskunde A1-2 vwo 2006-I

Een model voor een lift

Cover Page. The handle holds various files of this Leiden University dissertation.

Courbois Software. Extra categoriën toevoegen aan de WebWinkel

Handleiding Begroting

Handleiding digitaal aanmelden bij de MO-zaak

Voorbeelden Verzuimpercentages

HANDREIKING REKENEN 3F MBO

Handboek ZooEasy Online Uitslagen

Autoconnect VIPS: Gebruikersgids (Vehicle Information Preregistration System)

3. Werken met thema s

Handleiding Pétanque Competitie Beheer. (versie 1.1) April 2014

Transcriptie:

NAMED ENTITY RECOGNITION IN WIKIPEDIA: Kan de categoriestructuur van wikipedia worden gebruikt bij het verbeteren van de NER naamherkenningssoftware? Marcel Goksun mgoksun@science.uva.nl 0008443 Juni 2006

Inhoudsopgave Inhoudsopgave 1 1 Inleiding 2 2 Geschiedenis 2 2.1 Database 3 2.2 Context information 3 2.3 Post-processing 3 3 Systeem 4 3.1 Categorieën 4 3.2 Datastructuren 4 3.3 Zoekalgoritme 6 4 Experiment 7 5 Resultaten 9 6 Discussie en toekomstig werk 13 7 Dankwoord 13 8 Conclusie 13 9 Referenties 15-1 -

1 Inleiding Eigennamen zijn een bekend fenomeen in de Nederlandse taal. Ze zijn ook makkelijk uit een tekst te halen, omdat ze met een hoofdletter beginnen. Het wordt echter al lastiger als je iemand vraagt om deze eigennamen in te delen in groepen. Met de hand lukt dit klusje misschien nog wel, maar systemen die gebruik moeten maken van deze eigennamen krijgen het een stuk lastiger. Met het doel om deze eigennamen dus in te delen is de naamherkenningssoftware NER(Named Entity Recognizer) ontwikkeld, die eigennamen indeelt in 3 groepen namelijk, personen, locaties en organisaties. Deze kunnen vervolgens gebruikt worden bij het verbeteren van vraag-antwoord systemen. Maar zoals het vaak ook lastig is voor mensen om in 1 keer de namen in de juiste categorie in te delen, zo maakt de software ook wel eens fouten. Voornamen van personen worden wel herkend als persoon, maar hun achternaam als naam van een locatie of organisatie, steden worden als organisaties herkend en alle mogelijke verwisselingen worden wel eens gemaakt. De huidige software maakt gebruik van een lijst met veelvoorkomende, benoemde eigennamen, een algoritme dat aan de hand van de tekst een kans geeft dat een woord tot een groep behoort en de groep met de grootste kans wordt aan de eigennaam gegeven. Ook al wordt het grootste deel van de eigennamen wel goed benoemd, de software gaat ook nog redelijk vaak de mist in en kan altijd nog verbeterd worden. Met dit doel voor ogen gaat het project ook van start. Een interessant middel om eens naar te kijken is wikipedia. Wikipedia is een online encyclopedie, waarin alle mensen gratis dingen mogen opzoeken, bewerken en toevoegen. Men loopt dus wel enig risico dat de gevonden informatie onjuist is, maar voordeel is wel dat alle informatie helemaal bij de tijd is. Voor dit project is de structuur van de artikelen van wikipedia belangrijk, maar vooral de categoriestructuur is in het oog springend, omdat er bepaalde lijnen in terug te vinden zijn, die goed van pas kunnen komen bij het verbeteren van de software. De vraag is dan ook of de categoriestructuur van wikipedia ook daadwerkelijk gebruikt kan worden voor het verbeteren van de naamherkenningssoftware? Met behulp van de categorieën kunnen snel nieuwe artikelen gevonden worden met misschien wel nieuwe namen. Een gestructureerde aanpak is daarom noodzakelijk om de beste resultaten te behalen. Zo moeten de categorieën in een vorm worden gezet, die toegankelijk is en waarmee eenvoudig met de resultaten verder gezocht kan worden. Vervolgens moet er dus in deze opgeslagen categorieën worden gezocht naar nieuwe woorden, die niet in een lijst voorkomen. Deze woorden zullen vervolgens worden opgeslagen en met de hand worden gecontroleerd en omdat het om een enorme hoeveelheid categorieën en woorden gaat, moet er een manier worden gebruikt, die de resultaten zo duidelijk mogelijk weergeeft. Uit deze resultaten zal vervolgens blijken of de categoriestructuur geschikt kan zijn voor het verbeteren van de software. 2 Geschiedenis De Named Entity Recognizer(NER) is gebouwd om eigennamen te vinden in een tekst en die vervolgens te benoemen, zodat deze ook gebruikt kunnen worden - 2 -

voor het verbeteren van vraag-antwoord systemen. Eigennamen zijn vaak sleutelwoorden in een zin en daarom zeer geschikt voor deze systemen. Het is ook simpel om deze woorden in een tekst te vinden, omdat ze met een hoofdletter worden aangegeven, maar het lastigst blijft het indelen van de eigennamen, omdat er veel overlap is tussen de groepen waarin ze kunnen worden ingedeeld. Zo kunnen namen van bedrijven ook namen van personen zijn en namen van personen kunnen ook namen van locaties zijn. Daarom is het simpelweg kijken naar de hoofdletters niet voldoende voor de indeling. Het NER systeem bestaat uit 3 onderdelen, die samen de naamwoorden indelen. Als eerste heeft het een database met namen die het meest voorkomen en die ook al ingedeeld zijn. Hier wordt als eerste in gekeken bij het benoemen van de woorden. Het tweede onderdeel bepaald aan de hand van de standaard spelling of een woord normaal gesproken met een hoofdletter wordt geschreven. Tot slot heeft het systeem een leeralgoritme, dat aan de hand van voorbeelden en een lijst bepaalt waar in de tekst bepaalde namen kunnen voorkomen. 2.1 Database De database is gevormd met behulp van grote hoeveelheden artikelen, waaruit de meest voorkomende namen gekozen zijn. Dit zijn bijvoorbeeld namen van presidenten, grote bedrijven, topografische locaties en landen. Dit deel vormt de basis en hier wordt het eerst in gekeken bij het kiezen van een groep. Deze voorbeeldlijst wordt elke keer weer uitgebreid met nieuwe namen[6]. 2.2 Hoofdletterwoorden Als eerste moeten de hoofdletterwoorden uit een tekst worden gehaald, maar doordat ook de standaard spelling van belang is voor het al dan niet gebruiken van een hoofdletter moet hier ook naar gekeken worden. Bijvoorbeeld woorden aan het begin van een zin worden altijd met een hoofdletter geschreven en het eerste woord binnen aanhalingstekens ook als het om citaten gaat. Met de gevonden hoofdletterwoorden wordt eerst gekeken of ze al in de database voorkomen, zodat ze niet opnieuw benoemd hoeven worden. Als dat niet het geval is moet er naar andere eigenschappen worden gekeken. Een manier om naar de standaard spelling te kijken is door tekst te Part-Of- Speech taggen. Dat wil zeggen dat elk woord een label krijgt met het type woord dat het voorstelt. Op die manier kunnen eigennamen makkelijk worden herkend. Dit is het tweede deel van de software en deze selecteert de eigennamen uit de tekst, waarna vervolgens het leeralgoritme het overneemt. 2.3 Leeralgoritme Het leeralgoritme bestaat uit een Hidden Markov model, dat met behulp van een lijst en voorbeelden in een voorbeeldtekst de plaats van een soort eigennaam bepaalt. Een Hidden Markov model is een algoritme, dat met behulp van een set knopen en een transitiemodel, de overgangen(transities) kiest met de grootste kans[8]. Deze kansen worden berekend met behulp van POS-tagging[9] van de - 3 -

voorbeelden en de database. De transities zijn de kansen dat het ene woord gevolgd wordt door het ander. Deze kansen zijn berekend uit de voorbeeldteksten door te kijken hoe vaak een combinatie van woorden voorkomt rondom een eigennaam en hoe vaak een woord voorkomt in de tekst, deze worden ook wel n- grammen genoemd[9], waar de n staat voor het aantal woorden dat in de combinatie gebruikt wordt. Als een eigennaam van een bepaalde groep vaak omringd wordt door dezelfde woorden in de voorbeeldteksten, dan heeft deze combinatie een hoge kanswaarde. Als de te onderzoeken eigennaam ook door deze groep woorden wordt omringd, dan is de kans groot dat de eigennaam tot diezelfde groep behoort en wordt de naam als deze groep geclassificeerd. 3 Systeem Voor het beantwoorden van de onderzoeksvraag is een systeem nodig dat nieuwe termen vindt met een gegeven lijst van enkele namen. Vervolgens moeten deze termen gecontroleerd worden op eigennamen. Verder zoeken met deze gevonden termen is ook een optie. Het systeem bestaat uit verschillende onderdelen. Ten eerste moeten alle categorieën uit wikipedia worden gefilterd, zodat de hoeveelheid informatie aanwezig in wikipedia al aanzienlijk verminderd wordt. Een tweede onderdeel is een datastructuur, dat deze gevonden categorieën in een vorm indeelt, waarin makkelijk informatie opgezocht kan worden. Als derde heeft dit systeem een algoritme dat de informatie in de datastructuur uit onderdeel 2 verder kan verwerken. 3.1 Categorieën Om de categoriestructuur ten volle te benutten, heb ik met behulp van een handig scriptje genaamd wikidbextract een lijst met categorieën geabstraheerd uit de offline versie van wikipedia, die gratis te downloaden is. WikiDBextract maakt het mogelijk om willekeurige stukken tekst uit wikipedia te halen. Ook is het mogelijk om op een bepaalde string te zoeken. Een string is een rij van achtereenvolgende symbolen. Op die manier is het mogelijk om een lijst te maken met alle woorden die beginnen met [[Categorie: en omdat de categorieën in de vorm [[Categorie: naamvancategorie onderwerp]] in de wikipedia artikelen staan, ontstaat er een lange lijst met alle categorieën. Deze categorieën staan nu in een ruwe vorm in de lijst en zijn klaar om verder verwerkt te worden. Voor het gemak is een lijst met 215093 van deze categorieën geabstraheerd om lange rekentijden van het systeem te voorkomen. 3.2 Datastructuren Voor het overzichtelijk opslaan van de categorieën is gekozen voor een datastructuur, dat hiervoor zeer geschikt is, namelijk het woordenboek (dictionary). Het woordenboek is een lijst met elementen en alle elementen bestaan uit unieke waarden genaamd sleutels en een waarde voor elke sleutel. Deze waarde kan ook uit een lijst bestaan, waardoor er meerdere elementen zijn toe te kennen aan de waarde van één sleutel. Vanwege deze eigenschap is daarom - 4 -

ook gekozen voor dit type datastructuur, omdat voor het slagen van het project alle soortgelijke informatie bij elkaar moet staan. In dit project is gekozen voor 2 woordenboeken, omdat de categoriestructuur uit 2 elementen bestaat, een categorie en een woord, dat tot deze categorie behoort. Voor elk element kan er dan een lijst met de andere elementen gemaakt worden, hierdoor komen alle woorden, die met elkaar te maken hebben bij elkaar te staan. Voor het zover is moeten de categorieën eerst geparseerd worden, omdat ze nog steeds in hun ruwe vorm staan. De haakjes voor en achter de categorie worden eerst verwijderd, waarna vervolgens de string Categorie:naamvancategorie woord overblijft. Dit proces wordt vervolgens herhaald, maar dan voor de groep symbolen Categorie:. Nu blijven de daadwerkelijke categorie en bijbehorende woord of woorden over, want deze restgroep is eenvoudig te splitsen op het teken. De gesplitste strings worden in de woordenboeken gezet. In het ene woordenboek worden de categorieën de sleutels en in de andere worden de woorden met deze categorie de sleutels. Bij het toevoegen van een sleutel wordt steeds gelet op het al dan niet aanwezig zijn van deze sleutel en als dit wel het geval is, wordt de waarde toegevoegd aan de bestaande lijst met elementen. Eén woordenboek heeft dus categorieën als sleutels en een lijst met alle woorden, die bij elke categorie te vinden zijn, als waarde. Algoritme 1: Maak een woordenboek met woorden als sleutel. Figuur 1 De ander heeft de woorden als sleutels en een lijst met alle categorieën voor dit woord als waarde. Nu staan alle gerelateerde woorden bij elkaar en kunnen makkelijk teruggevonden worden. - 5 -

Als laatste stap worden de woordenboeken in een bestand gezet, waardoor ze niet elke keer gegenereerd hoeven worden. Dit scheelt veel tijd vanwege de grootte van de bestanden waar mee gewerkt wordt en ze zijn zo weer makkelijk te gebruiken in nieuwe programma s. Algoritme 2: Maak een woordenboek met de categorieën als sleutels. Figuur 2 3.3 Zoekalgoritme Het zoekalgoritme bestaat uit drie methoden. De één is een methode voor het zoeken in het woordenboek met de categorieën als sleutel, de tweede methode doet hetzelfde voor het woordenboek met de trefwoorden als sleutel en een algemeen algoritme dat deze twee methoden gebruikt om de resultaten te verkrijgen. De 2 methoden voor het zoeken in de woordenboeken doen dat op een soortgelijke manier. Ze krijgen als invoer een trefwoord en het woordenboek mee, dat bij die methode hoort. Vervolgens wordt in het woordenboek gekeken of er een sleutel is, die gelijk is aan het gezochte woord. Als deze gevonden is, geeft de methode als uitvoer de waarde die bij deze sleutel hoort. In dit geval is dat dus een lijst met 1 of meerdere elementen. Het derde deel van het zoekalgoritme maakt gebruik van een simpele lijst met een paar voorbeelden. Met deze voorbeelden wordt in het woordenboek met de trefwoorden als sleutel, met behulp van de zoekcategorien methode, naar een lijst categorieën gezocht, die bij het woord horen. Vervolgens wordt voor elk gevonden categorie in de lijst, met behulp van de zoektrefwoord methode naar nieuwe trefwoorden gezocht. Er vind als het ware een interactie plaats tussen de twee woordenboeken, waardoor er snel en effectief gezocht kan worden. - 6 -

Alle gevonden trefwoorden worden ongesorteerd in een lijst gezet en van de totaallijst wordt een set gemaakt, zodat alle dubbele elementen eruit worden Algoritme 3: Methode voor het zoeken naar categorieën Figuur 3 gehaald. Dit is belangrijk voor de uitslag van het experiment. De inhoud van deze set wordt vervolgens naar een bestand geschreven, zodat de resultaten bekeken kunnen worden. Dit proces is in een loop aangegeven, zodat het aantal loopjes naar eigen keuze kan worden gemaakt. Na elke loop wordt er een nieuw bestand gemaakt met de nieuwe resultaten en zal de grootte van de lijst toenemen Aangezien de hoeveelheid categorieën enorm is, zal het zoeken steeds langer gaan duren. Daarom is het verstandig het aantal loopjes niet te groot te nemen. Algoritme 4: Methode voor het zoeken naar trefwoorden Figuur 4 4 Experiment Voor dit experiment zijn er 2 woordenboeken, 3 lijsten met personen, locaties en organisaties en een programma dat met behulp van die lijsten door de woordenboeken heen loopt om nieuwe woorden te zoeken. Om te kunnen controleren of de gevonden woorden tot de juiste categorie behoren, zijn de resultaten naar tekstbestanden geschreven. In deze tekstbestanden staat de opbrengst aan woorden voor elk testlijstje van vijf eigennamen, behorende tot 1 van de naamsoorten personen, organisaties en locaties. Deze lijsten bevatten willekeurige namen, zodat ook de kans aanwezig is dat een woord niet in het - 7 -

woordenboek voorkomt. De loop voor het doorlopen van de woordenboeken wordt op 3 gezet. Dit betekent dat er 9 bestanden met resultaten worden gevormd; voor elk naamsoort 3 loopjes. Voor elke naamsoort geldt dat de resultaten van elk opeenvolgend loopje, de opbrengst is van de vorige gebruikte lijst. De resultaten worden met de hand gecontroleerd, als de situatie het toelaat, want naar mate de loop verder vordert, neemt de grootte van de lijst ook toe. Hoewel de eerste 1000 woorden nog wel in korte tijd gecontroleerd kunnen worden, is het begrijpelijk dat bij een lijst van meer dan 10000 woorden al naar een andere manier wordt gezocht om de lijsten te controleren. Algoritme 5: Zoeken naar nieuwe namen Figuur 5 Een manier om toch een goed beeld van de resultaten te krijgen zonder dat de hele lijst doorgenomen hoeft te worden is met behulp van steekproeven. Een steekproef van 1000 woorden moet hier voldoende zijn, omdat de lijst niet gesorteerd is, waardoor elke lijst van 1000 woorden voldoende representatief is voor de hele set. Om toch vormen van clustering binnen de lijst te ontwijken, zullen er 1000 woorden worden gekozen verdeeld over de hele lijst, waarbij steeds sets van 100 woorden uit een gedeelte van de lijst worden genomen. Deze woorden worden al dan niet geclassificeerd als het soort eigennaam van de testset, waaruit ze zijn gevonden en op basis van de hoeveelheid juist - 8 -

gegenereerde eigennamen, zal een percentage worden gemaakt, waaruit een conclusie genomen kan worden. Voor elk soort eigennaam zijn er uiteindelijk 3 percentages, voor elke loop 1, dus in totaal 9 bij drie loopjes. Ook de groei van de lijsten wordt bijgehouden om te kijken of de groei van de lijst gepaard gaat met vooruitgang of achteruitgang van de percentages. Uit deze resultaten moet blijken of de categoriestructuur inderdaad geschikt is voor het verbeteren van de naamherkenningssoftware 5 Resultaten Resultaten 2: Grafiek groei Figuur 6 Met het programma wikidbextract is een lijst gemaakt met 215093 categorie trefwoord combinaties. Het systeem heeft 3 loopjes gemaakt voor elk soort eigennaam en er zijn 9 bestanden gevormd, die elk een lijst representeren van alle woorden, die gevonden zijn met behulp van de testset. Voor elke testset zijn er 3 bestanden, die elk met behulp van de vorige set gemaakt zijn. In het programma wordt ook bijgehouden hoe groot de verschillende lijsten zijn, zodat de groei kan worden waargenomen. De lijsten zijn niet gesorteerd om groepering van naamwoorden te voorkomen. - 9 -

Resultaten 1: Lengte van de lijsten Figuur 7 Zoals figuur 7 laat zien, neemt met elke stap de grootte van de lijsten toe, dit betekend dat de resultaten steeds moeilijker te controleren zijn. Steekproeven zijn genomen van duizend woorden voor de lijsten van stap 3. De resultaten hiervan staan in figuur 8. Resultaten 2: Percentages juist geclassificeerd Figuur 8 Het eerste dat opvalt, is het hoge percentage juist geclassificeerde personen ondanks dat de lijsten na de eerste ronde aanzienlijk gegroeid zijn. Hoewel de organisaties ook een hoog percentage juist geclassificeerde woorden heeft, is dit het resultaat van een lijst van 13 nieuwe woorden. Dat neemt niet weg dat 11 van de 13 nieuwe woorden tot de klasse organisaties behoort. Een grotere testlijst kan er waarschijnlijk toe leiden dat het aantal gevonden woorden toeneemt, maar dat een soortgelijk percentage behouden wordt. Het resultaat van de plaatsen is enigszins teleurstellend. Na de eerste stap zijn er 481 nieuwe woorden gevonden, waarvan iets meer dan 60% als een plaats is geclassificeerd. De percentages zijn berekend door het aantal juist geclassificeerde woorden af te zetten tegen het totale aantal woorden. % juistgeclassificeerd = (Tot. goed / Tot. woorden) *100 Uit figuur 6 blijkt dat na ronde twee de grootte van de lijsten op zijn minst vertienvoudigd zijn, maar ondanks dit gegeven is het percentage juist geclassificeerde personen toegenomen. Dit is zeer verrassend, omdat de andere twee groepen gezakt zijn tot onder de 20 %. Waarschijnlijk speelt de vervuiling van het eerste bestand een rol bij het verder terugzakken van de percentages. Bij de controle van de lijst van locaties na ronde 1, waren wel veel namen van personen te vinden, dit kan een rol spelen bij de degeneratie van de lijsten als een woord een persoon is en deze een nieuwe lijst genereert met nog meer personen, dit alles op basis van het hoge percentage juist geclassificeerde personen. - 10 -

Resultaten 3: Grafiek van de resultaten van personen Figuur 9 Na de derde ronde zijn de resultaten dan ook niet meer zo verrassend. De lijsten zijn nu enorm en met de hand tellen heeft nu geen zin meer. Daarom is gekozen voor een steekproef van 1000 woorden. De lijsten van de organisaties en locaties zijn nu helemaal vervuild en de prestaties zijn ver onder de maat. Met percentages onder de 10% voor organisaties en locaties, lijkt het geen goed idee om de categoriestructuur te gebruiken voor het zoeken naar deze twee groepen, maar met 87,5% zijn de personen verrassend uit de bus gekomen. De vervuiling heeft niet de overhand gekregen in deze lijst. Toch is het percentage wel gedaald, maar gezien de andere 2 lijsten is het verschil enorm. Het verval van de percentages heeft vooral te maken met de fout geclassificeerde woorden, omdat deze waarschijnlijk een lijst opleveren met woorden, die tot diezelfde categorie behoren. Hoe meer foute woorden in de lijst, des te groter zal het aantal fout geclassificeerde woorden zijn in de volgende lijst. Ook als men de groei van de lijsten vergelijkt met het percentage juist geclassificeerde woorden, ziet men dat de groei van de lijsten van de organisaties en locaties onstabiel is. Na de eerste ronde neemt de groei van deze groepen enorm toe, terwijl het percentage afneemt. Bij de persoonsgroep lijkt de groei meer in constante stappen te gebeuren, terwijl de percentages licht wijzigen. - 11 -

Resultaten 4: Grafiek van de resultaten van organisaties en locaties Figuur 10 Figuur 11-12 -

6 Discussie en toekomstig werk De resultaten voor persoonsnamen spreken natuurlijk voor zich, maar de resultaten voor locaties en organisaties stellen teleur. Hier valt echter wel wat voor te zeggen. Als men de gevonden lijst met gevonden woorden voor organisaties afgaat, is er 1 ding dat opvalt, namelijk de eerste lijst heeft een zeer hoog percentage goed geclassificeerde namen, maar na de tweede loop is dit percentage gezakt naar 9,9%. Het is misschien het proberen waard om het aantal loopjes voor de organisaties te beperken tot 1 ronde of een grotere testlijst te nemen. De testlijsten zijn dus ook voor verbetering vatbaar. In dit geval bestaan ze uit slechts 5 namen, maar de opbrengst van de eerste ronde van de organisaties kan waarschijnlijk verbeterd worden, als de testlijst groter wordt gemaakt. Dan zijn de lengtes van de lijsten wel groter na de eerste ronde, maar de percentages zullem waarschijnlijk gelijk blijven. Een interessant gegeven is dat sommige woorden in de lijst lijken door te verwijzen naar een andere lijst. Zo kwam ik vaak een woordgroep tegen in de lijst met woorden voor locatieclassificatie, die zelf geen locatie was, maar leek te verwijzen naar een enorme lijst met woorden, die wel locaties kunnen zijn. Het beste voorbeeld daarvan was de woordgroep Nederlandse steden en dorpen. Als een manier kan worden gevonden om deze informatie te vinden, levert dat een enorme bron aan informatie op, waardoor de percentages juiste classificaties ongetwijfeld toenemen. Soortgelijke woordgroepen komen in alle lijsten voor en verdienen nadere inspectie. Door in een vroeg stadium de woorden, die niet tot de gezochte groep behoren eruit te filteren, kunnen de lijsten schoner gehouden worden. Hiermee kan misschien duidelijker worden tot welke resultaten een woord kan leiden. De reden voor de tegenvallende resultaten van de locaties, al na de eerste ronde, kan op deze manier onderzocht worden. Het filteren kan met behulp van bestaande technieken verricht worden. Met Part-Of-Speech tagging kan al gecontroleerd worden of een woord normaal gesproken met een hoofdletter begint. De kans is groot dat deze woorden foute nieuwe woorden opleveren, dus deze woorden zijn geen aanwinst voor het resultaat. 7 Dankwoord Mijn dank gaat uit naar mijn 2 projectbegeleiders Erik Tjong Kim Sang en Maarten de Rijke, vooral Erik zonder wiens steun in stressvolle tijden, ik dit niet voor elkaar had gekregen. Verder gaat mijn dank uit naar al mijn vrienden, die begrip hebben getoond voor het vaak niet aanwezig zijn op belangrijke momenten, ten behoeve van het project. Ik zal mijn best doen om de verloren tijd te doen vergeten. 8 Conclusie De resultaten van het experiment zijn, ondanks de groffe methoden die gebruikt zijn, toch veelbelovend. Uit het onderzoek komt duidelijk naar voren, dat in elk geval voor de persoongroep de categoriestructuur zeer geschikt is om nieuwe - 13 -

personen te vinden. Voor de andere twee groepen kan in elk geval gezegd worden dat de eerste ronde redelijke resultaten oplevert. De magere opbrengst aan nieuwe woorden na de eerste ronde van de organisatielijst stellen niet gerust ondanks het hoge percentage juist geclassificeerde woorden. De tweede ronde voor deze groep helpt zeker niet bij het zoeken naar nieuwe namen, omdat het percentage juist geclassificeerde woorden instort. Het resultaat van de locaties stelt teleur. Gezien de toename van de grootte van de lijsten in combinatie met de afname van de percentages, kan vervuiling van de lijst met onjuist geclassificeerde woorden een belangrijke rol spelen. Zeker als je ervan uit gaat, gezien de resultaten, dat een persoon bijna altijd nieuwe personen oplevert. Personen in de lijst voor locaties vervuilen de nieuwe lijst met nieuwe personen. Als de toename nieuwe personen groter is dan de toename locaties, kan deze groep de overhand krijgen in de lijst. Het zal waarschijnlijk praktisch onmogelijk zijn om deze vervuiling uit de lijst te halen, dus het afnemen van de resultaten is geen verrassing. Hogere percentages waren echter wel verwacht voor deze groep. Verder zijn er ook veel woorden, die niet tot de 3 groepen behoren. Deze zullen waarschijnlijk ook geen nieuwe woorden opleveren, die wel in de groepen in te delen zijn. Ze kunnen het beste uit de lijsten gefilterd worden. De testset met vijf trefwoorden kan misschien vergroot worden om de netto opbrengst nieuwe woorden voor de organisatiegroep te verhogen. Dan kan werkelijk blijken of de categoriestructuur ook geschikt is voor het doorzoeken naar deze groep. - 14 -

9 Referenties [1] Andrei Mikheev, Marc Moens, Claire Grover, Named Entity Recognition without gazetteers. [2] Razvan Bunescu, Marius Paşca, Using encyclopedic knowledge for Named Entity Disambiguation. [3] Michael Fleischman, Eduard Hovy, Fine grained classification of Named Entities. [4] Ralph Grishman, Information extraction: Techniques and challenges. [5] Douglas E. Appelt, David J. Israel, Introduction to information extraction technology. [6] Ellen Riloff, Automatically constructing a dictionary for information extraction tasks. [7] http://nl.wikipedia.org [8] Daniel Jurafsky, James H. Martin, Speech and Language processing: An introduction to natural language processing, computational linguistics, and speech recognition; Section 7.2. [9] Thorsten Brants, TnT: A statistical Part-of-Speech Tagger. - 15 -