2004-10-19 Morgan Sundqvist [email protected] Lars Åström [email protected] Artificiell intelligens, 5p, ht-04 Laboration 2 - Fördjupning Inlämning 1 Handledare: Therese Edvall [email protected] Daniel Ölvebrink [email protected] Sammanfattning Kommunikation är viktig mellan maskiner och människor. För att maskiner skall förstå människan måste den förstå naturligt språk. Ambiguitet är ett stort problem när maskiner skall tolka naturligt språk. Med ambiguitet menas att ett ord eller fras kan ha flera olika betydelser beroende på i vilket sammanhang det används i. Betydelsen är dock inte bara kontextstyrd utan kan även bero på grammatiska företeelser. För att komma till rätta med ambiguitets problemet använder man sig av vissa metoder för att uppnå disambiguitet. Ett sätt att lösa disambiguitet är att kolla på den kontext som ordet står i och sedan försöka hitta innebörden av ordet. Detta har visat sig vara svårare än vad man tror, man har forskat länge inom området men man har inte funnit någon slutgiltig lösning på problemet än. Innehållsförteckning Sammanfattning ................................................................................................................. 2 Innehållsförteckning ........................................................................................................... 3 Introduktion till ämnet ........................................................................................................ 4 Metodbeskrivning............................................................................................................... 4 Litteraturstudie ................................................................................................................... 5 Diskussion och slutsats....................................................................................................... 7 Referenser........................................................................................................................... 8 Introduktion till ämnet Vad är kommunikation? Kommunikation kan beskrivas som ett utbyte av information i form av tecken tagna ur ett gemensamt system. Ett komplext system av strukturerade meddelanden bildar ett språk. Det finns olika typer utav språk, formellt och naturligt1. Formelltspråk innebär ett språk som är definierat av ett ändligt antal strängar. Där en sträng är en sammansättning av terminala symboler(ord). Dessa terminala symboler kan bara användas med vissa strikta matematiska definitioner. Exempel på formelltspråk kan vara Java eller C. I kontrast till detta så har naturligtspråk egentligen inga matematiska definitioner. Lingvister försöker dock forska fram regler till språket som är anpassningsbara till det språk som används idag. Exempel på naturligtspråk kan vara Svenska, Norska eller Engelska. Den problematiken vi vill utforska är den del i kommunikationsprocessen där åhöraren tar emot ett meddelande i form av naturligtspråk och skall tolka dess innebörd. Åhöraren i vårt fall är en agent med begränsad kunskap om världen. Metodbeskrivning Vi har utfört en litteraturstudie inom ämnet kommunikation med naturligtspråk och inriktat oss på ambiguitet samt hur man kan disambiguera ords betydelser. Litteraturstudie För att studera ambiguitet och disambiguitet så måste vi först definiera vad ambiguitet är. Om man bara ser till ordets betydelse så innebär det tvetydighet4. Med andra ord hur man kan tolka ord eller meningar utifrån den kontext de står i. För en människa så känns det relativt självklart att förstå betydelsen i meningar eller ord men för en maskin så är det betydligt svårare. Man kan tycka att de flesta meningar bara har en betydelse men när forskare började analysera språket med hjälp av datorer på 1960 talet så fann man att nästan alla meningar har ambiguitet1. Exempel på detta kan vara “Squad helps dog bite victim” Detta skall mest troligt tolkas som att polisstyrkan hjälpte ett offer som blivit hundbiten. Men det skulle lika gärna kunna tolkas som att de hjälpte hunden att bita offret. För oss människor med allmän kunskap om världen och om de uppgifter polisen har så är det inte svårt att förstå den egentliga innebörden av meningen. Dock för en maskin så uppstår det problem. Det finns olika typer av ambiguitet, lexikal ambiguitet, syntaktisk ambiguitet, semantisk ambiguitet, metonymi samt metaforer1. Nedan skall vi försöka beskriva dessa. Lexikal ambiguitet Vad lexikal ambiguitet är kan man nästan utläsa från ordet i sig. Det innebär egentligen att ett ord kan ha fler än en betydelse. Exempel: Det engelska ordet Jack kan vara ett namn, ett substantiv(spelkort) eller ett verb(Jack in…) Syntaktisk ambiguitet Kan ske med eller utan lexikal ambiguitet. Vi börjar med ett exempel: ”I smelled a Wumpus in 2.2”. Prepositionen ”in 2.2” kan antingen modifiera substantivet ”Wumpus” eller verbet ”smelled”. Syntaktisk ambiguitet kan alltså beskrivas som ett klassificerings problem där maskinen kan ha svårigheter att se till vilket ord ”in 2.2” egentligen pekar på. Semantisk ambiguitet Semantisk ambiguitet är en följd av syntaktisk ambiguitet då meningen i exemplet ovan får två olika betydelser beroende på vilket ord prepositionen pekar på. Den första betydelsen är att Wumpusen är i 2.2 den andra innebär att stanken är i 2.2. Metonymi Är ett bildligt uttryck där namnet på en sak ersätts med namnet på en annan sak som man vill relatera till1. Exempel på detta kan vara läkaren som säger: ”Jag väntar på benbrottet som just kom in”2 Detta exempel syftar på patienten med benbrott som just kom in. Här byts ”patienten” ut mot ”benbrottet”, benbrottet är alltså associerat med patienten. Metaforer Ett bildligt uttryckssätt där man byter ut ett begrepp mot ett annat begrepp som är i analogi med det första. Likheten beror på kontexten och är därav svår för maskiner att tolka. Exempel: ”The car drank gasoline”. Här är det en metaforisk relation mellan ”car” och ”drank” analogin är att djur eller människor dricker vätskor och bilar förbrukar bensin som är en vätska.3 Nu för att gå vidare med våran studie så skall vi definiera upp disambiguitet samt vad det kan användas till. Disambiguitet Ända sedan man började behandla språk med datorer på 50-talet har det funnits ett stort intresse av att automatiskt disambiguera betydelsen av meningar. Detta är nödvändigt för att kunna lösa de flesta uppgifter som har med NLP(Natural Language Processing) att göra. Det är en väldigt svår uppgift att utföra. Den har till och med lite skämtsamt kallats ett AIkomplett problem3 där man kan jämföra med ett NP komplett problem3. Med det menas att det är så komplext att om det hittas en lösning till ett AI-komplett problem så har man hittat lösningen till alla AI-kompletta problem. Ytterligare användningsområden förutom det självklara som är språkförståelse räknas upp nedan: Översättning av texter Utifrån en viss kontext så måste man få den rätta översättningen mellan språk. T ex mellan Svenska och Engelska. Informationssökning När man söker inom ett specifikt område är det bra om man kan eliminera samma ord med annan betydelse. Exempel ordet ”gång” där man kanske letar efter gångtävlingar och då vill man inte få information om t ex grusgångar. Taligenkänning För att kunna särskilja samma ord med olika uttal. Textbehandling Nödvändigt för rättstavningsprogram där ändringar gällande diftonger eller stora/små bokstäver måste göras. Generellt sett så innebär disambiguation att man associerar ett givet ord i en text eller mening med en betydelse som är urskiljbar från andra betydelser som kan finnas kopplade till ordet. För att utföra disambiguation så måste man först ta ut betydelsen av alla ord som ingår i den granskade meningen. Detta gör man med hjälp av ett lexikon och syntaxen för språket i fråga. Andra hjälpmedel kan även vara synonym ordlista eller ordbok om det är aktuellt att översätta till andra språk. Det andra man skall göra vid utförandet är att koppla orden till den rätta betydelsen. För att kunna göra detta krävs att man känner till kontexten av det ord som skall bli disambiguerat samt att man har någon form av kunskapsbas som innehåller information om området i fråga. Man brukar prata om att det finns två nivåer inom disambiguation, en grund nivå och en djup nivå. Den grunda nivån innefattar det första steget som beskrevs ovan och den djupa nivån innefattar det andra steget. En konkret tillvägagångssätt för att disambiguera är att använda sig av Decision lists3(Rivest, 1987). Det är ett tillvägagångssätt av den grunda typen. Grovt sett så tar man ut ett ”fönster” som är N ord stort i en mening. Detta fönster omger alltså det ord som skall disambigueras och med hjälp av statistik så analyserar man de omgivande orden för att få ut en kontext och därigenom bestämma betydelsen av ordet. Diskussion och slutsats Ämnet vi valt är väldigt brett och väldigt svårt. Med svårt menar vi att det finns massor med information som till viss del är tvetydig och dessutom kan informationen vara inaktuell. Det vi fann svårt med vår uppgift var att plocka ut den information som gjorde det möjligt att fördjupa sig inom ämnet. Även fast vi inte gjort ett stort arbete så förstår vi ändå problemen med att få datorer att förstå naturligtspråk. Forskning inom ämnet har bedrivits ända sedan 1950-talet men ändå så verkar det som att en lösning på problemet är ganska långt borta. Dessutom så antyder flera källor att forskningen bara gått runt i en cirkel då man nu är tillbaka och jobbar på de teorier som ställdes upp för femtio år sedan. Att forskarna inte är riktigt överens på en del punkter, såsom definitionen av ”mening”( på engelska sense ) gör att arbeten inom området är problematiska att jämföra och jobba vidare på. Lösningen på problemet med att disambiguera naturligt språk kan kort och koncist benämnas ”kontext”. Det är sammanhanget som styr vad ett visst ord betyder och man måste dra nytta av den kunskap som omvärlden ger. Referenser 3 Russell Stuart & Norvig Peter (2003). Artificial Intelligence – A Modern Approach p 790-821. Prentice Hall, inc. New Jersey. Small Steven L., Cottrell Garrison W. & Tanenhaus Michael K. (1988). Lexical ambiguity resolution Morgan Kaufmann Publisher, Inc. USA Wikipedia – www.wikipedia.org - 2004 4 Norstedts Stora Engelsk-Svenska Ordbok 2001 1. 2