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