NELL - Never-Ending Language Learner

Relevanta dokument
Stina Nyman

Beräkning med ord. -hur en dator hanterar perception. Linköpings universitet Artificiell intelligens Erik Claesson

- ett statistiskt fråga-svarsystem

de var svåra att implementera och var väldigt ineffektiva.

Tentamen Marco Kuhlmann

Personifierad Netflix

KONSTEN ATT FÖRSTÅ EN LEDTRÅD

Nedan listas ett antal portaler och länkbibiliotek, svenska och internationella. Prova dem och jämför med kritierierna ovan.

Statistisk mönsterigenkänning

Linköpings Universitet Artificiell Intelligens II 729G11 HT QA- system. Anders Janson

Språkteknologi. Språkteknologi

Ontologier. Cassandra Svensson

The microtheories and language of CYC KB. Anna Svedberg Artificiell Intelligens II Linköpings Universitet Ht 2010 (Kompletterad ht 2012)

Vad är Artificiell Intelligens (AI) Olika typer av AI och deras användningsområden Innovation med hjälp av AI Framtiden och etiska frågeställningar

Ansiktsigenkänning. Anna Ericsson Linköpings Universitet Linköping

Språkteknologi och Open Source

Tekniker för storskalig parsning

Linköpings universitet

Forskning och utveckling inom språkteknologi Uppgift 3: Projektförslag Parallelliserad dependensparsning i CUDA

Statistisk Maskinöversättning eller:

Semantik VT Introduktion. Dagens föreläsning. Morfem-taxonomi forts. Morfem-taxonomi. Lexikal semantik: studerar ords betydelse

Business research methods, Bryman & Bell 2007

0. Meta-etik Grunderna

Cristina Eriksson oktober 2001

Introduktion till algoritmer - Lektion 4 Matematikgymnasiet, Läsåret Lektion 4

Imperativ programmering. Föreläsning 4

Linköpings universitet

Grammatisk teori III Praktisk analys

Vad behövs för att skapa en tillståndsrymd?

Artificiell Intelligens den nya superkraften

Filosofisk Logik (FTEA21:4) föreläsningsanteckningar/kompendium. v. 2.0, den 29/ III. Metalogik 17-19

Bevis för ett modulärt perspektiv: (tidiga studier av) afasi.

Grim. Några förslag på hur du kan använda Grim. Version 0.8

Vad säger WCAG om kognition?

Vindkraft och ML. - hur kan vindkraft dra nytta avml

HKGBB0, Artificiell intelligens

Skrivstöd. Joakim Nivre. Introduktion till språkteknologi. Skrivstöd. Inledning. Orsaker till stavfel. Detektering av icke-ord

Föreläsning 5: Modellering av frasstruktur. 729G09 Språkvetenskaplig databehandling Lars Ahrenberg

tidskrift för politisk filosofi nr årgång 16

Asymptotisk analys innebär att... man försöker uppskatta vad som händer för stora indatamängder.

Algoritmer, datastrukturer och komplexitet

7. Konstruera Koncept

Lexikal semantik. Lingvistik 1. Hanna Seppälä Uppsala universitet 1

1. En oreglerad marknad involverar frihet. 2. Frihet är ett fundamentalt värde. 3. Därav att en fri marknad är moraliskt nödvändigt 1

Progressionsuttryck i kunskapskraven Kommentarerna till progressionsuttrycken i kunskapskraven gäller för engelska språk 5 7.

Tommy Färnqvist, IDA, Linköpings universitet

7. Moralisk relativism

Introduktion till språkteknologi

Från ljusenergi till en kub som går att stå på Hur man får en dator att känna igen olika former i visuell information

Övningshäfte 2: Induktion och rekursion

Algoritmer, datastrukturer och komplexitet

Linköpings universitet 1

Lingvistiskt uppmärkt text

Digitalitet. Kontinuerlig. Direkt proportionerlig mot källan. Ex. sprittermometer. Elektrisk signal som representerar ljud.

JAVAUTVECKLING LEKTION 4

b) NY KURS (Ange kursnamn, årskurs, önskad läsperiod, schemablocksplacering. Bifoga utkast till kursplan.)

Symboler och abstrakta system

Dependensregler - Lathund

3. Instruktioner för att genomföra provet

Inlämningsuppgift: Pronomenidentifierare

Grafisk visualisering av en spårbarhetslösning

Kognitionsvetenskap C, HT-04 Mental Rotation

Kapitel 1. Slutligen vänder sig Scanlon till metafysiska och kunskapsteoretiska frågor.

Designmönster, introduktion. Vad är det? Varför skall man använda mönster?

Automatisk textsammanfattning

2D Potentialen i en nervcell definieras normalt som skillnaden i spänning mellan dess axon och dendrit.

Objektorienterad programmering Föreläsning 8. Copyright Mahmud Al Hakim Agenda (halvdag)

Vi erövr ar verkligheten bit för bit genom att vi får ett språk för våra erfarenheter. Ett barns språkutveckling är ett fascinerande skådespel, en

Ansiktsigenkänning med MATLAB

Arkitektur och Regelverk Definition av kodverk och klassifikation. Version 1.0

Grundläggande textanalys. Joakim Nivre

Övergripande planering

Objektorienterad programmering

Snabbguide. Kalendersynkronisering

Datorrepresentation av vårdriktlinjer

Grundläggande begrepp inom lexikal semantik. Hanna Seppälä Uppsala universitet 1

Föreläsning 6: Analys och tolkning från insamling till insikt

Att referera till objekt

MASTER. Mining and selecting texts for easy reading. Katarina Mühlenbock

Vinjetter TDDC91 Datastrukturer och algoritmer

AI utmaningar inom kvalitetssäkring. Henrik Emilsson Teststrateg, Nordic Medtest AB

Nonogram

Web Crawlers. TDTS09, Datornät och internetprotokoll. Denis Golubovic Fredrik Salin Linköpings universitet Linköping

Kommentarer till bedömningsmatris för Tala Kurs D

STRÄNGAR DATATYPEN. Om du vill baka in variabler eller escape-tecken måste du använda dubbla citattecken. strängar

Kunskapskraven i modersmål - kommentarmaterial

AI, musik & PLCGalgoritmen

Vad är mönsterspråk?

Neurolingvistik - Grammatik

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

Utbildningsplaner för kandidat-, magister och masterprogram. 1. Identifikation. Avancerad nivå

Ansökan till Yrkes-sfi i Skåne EN INTRODUKTION TILL PANELEN

Linköpings universitet Artificiell Intelligens II 729G11 HT Maskinöversättning. med hjälp av statistik. Erik Karlsson

Fuzzy Logic. När oskarpa definitioner blir kristallklara. Åsa Svensson. Linköpings Universitet. Linköping

Asymptotisk analys innebär att... man försöker uppskatta vad som händer för stora indatamängder.

Föreläsning 9: Turingmaskiner och oavgörbarhet. Turingmaskinen. Den maximalt förenklade modell för beräkning vi kommer använda är turingmaskinen.

Algoritmer och maskininlärning

Grammatik för språkteknologer

FTEA12:2 Filosofisk metod. Att värdera argumentation I

Framtidens vårdinformationsstöd FVIS 12 OKTOBER 2017

Transkript:

NELL - Never-Ending Language Learner,

Innehåll 1. Inledning... 3 2. Termer... 4 3. Allmänt om NELL-projektet... 4 3.1 Uppgift... 4 3.2 Initialisering... 4 4. Hur fungerar NELL?... 5 4.1 Uppbyggnad... 5 4.2 Bootstrap learning... 6 4.3 Coupled Semi-Supervised Learning... 7 5. Beskrivning av subsystemskomponenter... 8 5.1 CPL (Coupled Pattern Learner):... 8 5.1.1 Extraktion av kategoriinstanser- och mönster... 9 5.1.2 Extraktion av relationsinstanser- och mönster... 9 5.2 CSEAL (Coupled SEAL):... 10 5.3 CMC (Coupled Morphological Classifier):... 10 5.4 RL (Rule Learner):... 10 6. Avslutning... 11 7. Referenser... 12 2

1. Inledning De senaste årens kraftiga teknologiska utveckling har haft stor betydelse för människors vardagsliv. Sedan internetrevolutionen under nittiotalet har mängden information som går att finna på internet växt med en svindlande hastighet och numera kan man hitta svaret på det mesta på mindre än en minut. Internet har blivit en gigantisk kunskapsbas Never-Ending Language Learner (NELL) är ett system som initierades i januari 2010 av ett forskningsteam på Carnegie Mellon University. Systemet har till uppgift att få sin egen kunskapsbas att växa genom att lära sig läsa. Dygnet runt extraherar NELL information från internet som läggs till i den egna kunskapsbasen. Syftet med detta är att skapa en intelligent agent som autonomt skaffar sig nya kunskaper. 3

2. Termer För att till fullo kunna tillgodogöra sig detta arbete bör läsaren vara införstådd i vissa begrepp som är ofta förekommande. NELL använder sig av två olika typer av kunskap; kategorier och relationer[1]. Kategorier är nominalfraser, så som city, company och sportsteam och dessa tilldelas i sin tur relationer, exempelvis hasofficesin(company, city), teamplaysincity(sportsteam, city)[2]. I detta arbete kommer samlingsnamnet predikat att användas där syftningen gäller både kategorier och relationer och de nominalfraser som utgör predikaten (t.ex. Pittsburgh för kategorin city) kommer att benämnas instanser. 3. Allmänt om NELL-projektet 3.1 Uppgift Att mata in information i en kunskapsbas kan tyckas vara en simpel uppgift som inte har någonting med artificiell intelligens att göra. Det unika med NELL är att det inte handlar om enkel informationsinmatning utan systemet skall vid varje upprepning utföra två uppgifter: 1. Extrahera information från internet och lägga till sin egen kunskapsbas. 2. Utveckla färdigheten att läsa så systemet gör det bättre än dagen innan, dvs. den ska kunna gå tillbaka till samma kunskapskälla och kunna utvinna mer information än vad den gjorde dagen innan. Detta innebär i praktiken att systemet på egen hand skall kunna dra paralleller mellan olika delar av den inlästa informationen och sedan använda sig av denna kunskap för att vid varje iteration lära sig att utföra denna procedur på ett mer bättre och mer effektivt sätt[1]. 3.2 Initialisering Vid uppstarten av NELL i januari 2010 fick systemet indata bestående en relativt liten ontologi som definierade cirka 500 kategorier och relationer, några exempel för varje predikat i ontologin samt 500 miljoner internetsidor. 4

4. Hur fungerar NELL? 4.1 Uppbyggnad NELL är uppbyggt av separata subsystemskomponenter som samarbetar i arbetet att extrahera information från internet. Genom att subsystemskomponenterna är oberoende av varandra minimeras de korrelerade felen och systemet blir mer pålitligt[1]. Komponenterna läser systematiskt igenom internet efter nominalfraser, extraherar dem och sätter ihop en statistisk profil av i vilka sammanhang nominalfraserna går att finna. Genom att se till kontexten har systemet lärt sig att känna igen vilka sammanhang som definierar olika instanser av predikat och kan använda dessa mönster i syfte att generera nya instanser. En mer utförlig fördjupning av samtliga subsystemskomponenter och deras exakta funktioner går att läsa om i avsnitt 5. Figur 1: En schematisk representation av NELL:s uppbyggnad. Den information som NELL tillgodogör sig läggs till den egna kunskapsbasen, där det finns information av två typer; candidate facts, som är det som NELL inte riktigt är säker på är sanna och beliefs, vilket är information med hög sannolikhet. Då det läggs till nya instanser i kunskapsbasen konsulteras externa källor, exempelvis internet, och varje ny information tilldelas ett sannolikhetsvärde. Om Knowledge Integrator anser att informationen är tillräckligt sannolik upphöjs candidate facts till belief-status. 5

NELL körs i en iterativ loop, vilket innebär att mängden beliefs i kunskapsbasen växer för varje upprepning och dessa, tillsammans med viss kunskap om candidate facts, kan sedan användas av subsystemskomponenterna i syfte att utveckla förmågan att läsa till nästa iteration. I syfte att korrigera eventuella missuppfattningar får NELL ibland interagera en kortare stund med medlemmar ur forskargruppen som kan ge upplysningar om direkt felaktig information[1]. 4.2 Bootstrap learning Denna typ av lärande då man utgår från en liten andel märkt data och använder denna för att kunna göra någonting med en mycket större andel omärkt data kallas bootstrap learning[4]. Om NELL utgår från ett antal exempelstäder (Stockholm, Linköping, Örebro) och den kontext de förekommer i (live in..., mayor of... osv.) i syfte att hitta ytterligare städer kommer det dyka upp exempel som förorenar systemet. Detta illustreras i exemplet nedan: Iteration 1 Iteration 2 Iteration3 Stockholm Norrköping Linköping London Örebro Förnekelse leva i arg1 Här blir det tydligt vad som är problemet med denna typ av lärandemetod. Det språk som människan använder i dagligt tal är långt mer komplicerat än en maskin kan hantera. På grund av det naturliga språkets olika nivåer, med element som bildspråk och flertydigheter, kan man exempelvis både leva i Örebro och leva i förnekelse. Ordet förnekelse kommer NELL att finna i andra kontexter vilket leder till att det i nästa iteration kommer genereras fler exempel som bygger på det felaktiga ordet. Det kan tyckas vara ett litet problem med ett enda misstag i de nygenererade orden men faktum är att det sedan sker en explosionsartad ökning av felaktiga instanser och efter bara ett fåtal iterationer kommer det inte finnas en enda instans av kategorin stad bland de nya orden. Detta kallas semantic drift och är ett stort problem inom maskininlärning. Att tillämpa bootstrap learning innebär problem då det är, som exemplet 6

ovan visar, opålitligt. Det är för svårt för systemet att fånga ett helt koncept då den endast blivit tilldelad en handfull exempelord. Lösningen till detta finner man i en något mer utvecklad och komplex metod, kallad Coupled Semi-Supervised Learning[4]. 4.3 Coupled Semi-Supervised Learning Med den enkla bootstrap learning-metoden görs enkla kopplingar mellan nominalfraserna: exempelvis person nominalfras samt atlet nominalfras. Med denna metod får nominalfraserna inte några inbördes kopplingar utan är simpla och enkelriktade. Genom att se till att systemet lär sig att koppla ihop de olika kategorierna i ett nätverk och lära den relationer mellan dessa är det möjligt att skapa ett mer pålitligt lärandesystem som till viss del undviker de problem som uppstår i samband med bootstrap learning. Det som tillkommer i Coupled Semi-Supervised Learning är i praktiken ett antal restriktioner. Att sätta regler som systemet måste följa resulterar i en stor begränsning i lärandeprocessen vilket ger en högre grad av tillförlitlighet[5]. Det ger visserligen ett något mer komplext system (jfr. Figur 2(A) och figur 2(B)) men fördelarna överväger eftersom andelen felaktigheter reduceras[3][4]. Ett exempel på restriktioner är de som man tillämpar på de predikat som är ömsesidigt uteslutande (mutually exclusive), det vill säga predikat som inte tar samma indata x. Person och sport är exempel på detta eftersom en nominalfras för en person aldrig kan vara samma som samma nominalfras för sport Genom att mata in en lista på predikat som är ömsesidigt uteslutande visar man systemet vilka kopplingar som är omöjliga och inte alls behövs bearbetas. Detta illustreras i figur 2(B) där de röda linjerna representerar de predikat som är ömsesidigt uteslutande. De predikat som inte är ömsesidigt uteslutande markeras också i systemet, som exempelvis lag och stad. Det kan finnas ett sportlag som tar samma nominalfras som en stad ( Örebro slog Norrköping borta med 3-2 ) och på detta vis kan NELL undvika att restriktionerna blir för starka och begränsar allt för många kategorier[3]. 7

Figur 2: Visar tydligt att Coupled Semi-Supervised Learning (B) har högre tillförlitlighet jämför med vanligt halvövervakat lärande (A). På samma sätt används de predikat som inte är ömsesidigt uteslutande, som i exemplet med sportlag och städer. Ett annat exempel på restriktioner som NELL tillämpar är då nödvändiga kopplingar sätts ut mellan predikaten. För de flesta är det självklart att en idrottsman automatiskt är en person men för ett system utan dessa nödvändiga kopplingar skulle de två instanserna inte ha någon inbördes förbindelse utan stå oberoende av varandra. Restriktioner i lärandeprocessen leder alltså till att felaktigheterna i de nygenererade orden minimeras, även om det inte går att säga att det blir felfritt. 5. Beskrivning av subsystemskomponenter 5.1 CPL (Coupled Pattern Learner): CPL är en textextraktor som extraherar instanser av både relationer och kategorier genom att se till sammanhanget i texten. Komponenten använder sig av statistiskt underlag för att lära sig extraktionsmönster för predikat och kan sedan använda sig av dessa samma mönster i följande iteration i syfte att finna ytterligare instanser för varje predikat[1][3]. 8

5.1.1 Extraktion av kategoriinstanser- och mönster För att finna instanser av kategorier söker CPL efter vad som sannolikt är nominalfraser. Detta görs genom att komponenten ser till antalet kategorimönster som instansen uppkommer tillsammans med för att de kandidatinstanser som finns tillsammans med flest kategorimönster skall rankas högst. Detta sker enligt formeln: Där I står för uppsättningen instanser som blivit upphöjda till belief-status för predikatet som analyseras, count (i,p) är hur många gånger instansen i uppkommer tillsammans med instansmönstret p och count(p) är antalet gånger mönstret p går att finna i texten.[3] När en kategori med tillräckligt högt sannolikthetsvärde har hittats använder CPL sammanhanget där instansen hittades och väljer ut vilka ord som skall ingå i kategorimönstret beroende på den grammatiska strukturen. Detta innebär att CPL extraherar de ord som kommer innan instansen om det rör sig om verb, adjektiv eller substantiv som följs av en sekvens av adjektiv, prepositioner, determinerare. Om det istället är verb som följs av en nominalfras eller en preposition så extraheras de ord som kommer efter kategoriinstansen. Detta tillvägagångssätt gör att CPL får semantiskt korrekta kategorimönster som går att implementera på andra instanser. 5.1.2 Extraktion av relationsinstanser- och mönster När ett kategorimönster bedöms vara tillräckligt sannolikt extraherar CPL det som den tror är en möjlig relationsinstans. Den ser detta som sannolikt om båda argumenten är nominalfraser (exempelvis arg1 lives in arg2 ) och om CPL anser att de i övrigt verkar passa in i kategorin som de kandiderar för. Kandidatinstanserna rangordnas enligt samma formel som för kategorier. Om två argument från en relationsinstans hittas i en mening extraheras de ord som ligger i mellan och ses som ett möjligt relationsmönster. För att den ska ses som sannolik analyserar CPL sekvensen för att se att den inte innehåller fler än fem ord, har ett innehållsord samt innehåller ett ord skrivet med gemener[3]. 9

5.2 CSEAL (Coupled SEAL): En extraktor som tar en uppsättning beliefs från varje kategori eller relation och tillfrågar internet. CSEAL utgår från ett fåtal exempelinstanser och undersöker dessa gentemot den egna kunskapsbasen. De candidate facts som CSEAL lyckas extraheras tilldelas ett sannolikhetsvärde på liknande sätt som i CPL[1]. CSEAL är egentligen en förbättrad version av SEAL, en redan existerande extraktionsalgoritm specialiserad på att anpassa extraktionsmetoden efter hemsidan. Den använder sig av wrappers som inte är beroende av mänskligt språk utan kan finna den information som eftersöks i webbaserat språk. Den ursprungliga algoritmen hade exempelvis ingen funktion som tog fram och utnyttjade ömsesidigt uteslutande predikat vilket har lagts till i CSEAL (därav Coupled SEAL )[3]. 5.3 CMC (Coupled Morphological Classifier): CMC ser till orden som ingår och flertalet morfologiska särdrag så som användande av versaler eller affix i syfte att klassificera nominalfraser. CMC utreder candidate facts som tas fram av de andra komponenterna och skapar av dessa upp till 30 nya beliefs per predikat vid varje omkörning. CMC använder sig av ömsesidigt uteslutande predikat på liknande sätt som CSEAL men är även begränsad på så sätt att komponenten vid varje iteration använder sig av predikat som har minst 100 instanser upphöjda till belief-status. 5.4 RL (Rule Learner): En algoritm som lär sig probabilistiska regler som sedan tillämpas på relationsinstanser i kunskapsbasen i syfte att generera nya instanser[1]. 10

6. Avslutning I dagsläget (september 2011) har NELL samlat ihop 838,890 instanser av 636 olika kategorier och relationer och antalet ökar hela tiden. Jag tycker att det är ett väldigt fascinerande projekt eftersom det inte bara är en enorm databas som byggs upp, utan det som gör NELL så speciellt är att det är ett system som autonomt finner mening i språket, ett område som tidigare har varit maskinernas akilleshäl. Kan man utveckla system som kan hantera och i viss mening förstå naturligt språk kan man tänka sig en rad möjliga tillämpningsområden från mer effektiva sökmotorer till virtuella agenter som kan interagera på ett mänskligt sätt och på så sätt assistera människan i vardagen. Det är enkelt att följa NELL-projektets framsteg på dess hemsida (http://rtw.ml.cmu.edu/rtw/) och där är det även möjligt att bläddra i kunskapsbasen och se vad NELL har lärt sig nyligen. 11

7. Referenser [1] A. Carlson, J. Betteridge, et al., Toward an Architecture for Never-Ending Language Learning, Proceedings of the Twenty-Fourth Conference on Artificial Intelligence (2010) [2] T.P. Mohamed, E.R. Hruschka Jr. & T.M. Mitchell Discovering Relations between Noun Categories Proceedings of the Conference on Empirical Methods in Natural Language Processing (2011) [3] A. Carlson, J. Betteridge, et al., Coupled Semi-Supervised Learning for Information Extraction Proceedings of the ACM International Conference on Web Search and Data Mining (2010) [4] A. Carlson, J. Betteridge, et al., Coupled Semi-Supervised Learning of Categories and Relations Proceedings of the NAACL HLT Workshop on Semi-supervised Learning for Natural Language Processing (2009). [5] A. Carlson, Coupled Semi-Supervised Learning (2010) http://www.cs.cmu.edu/ãcarlson/papers/carlson-thesis.pdf Hämtad 2011-09-12 12