729G43 Artificiell Intelligens IDA – Institutionen för datavetenskap Gabrielle Silfver gabsi721 2014-01-09 MASKINBASERAD HUMORIGENKÄNNING Kan en maskin känna igen humoristiska texter? Sammanfattning I en studie av Mihalcea och Strapparava (2006) har ett system utvecklats för att testa om maskiner kan känna igen humor i texter. Denna rapport kommer att redogöra för detta system. Linköpings Universitet Gabrielle Silfver 729G43 Artificiell Intelligens IDA – Institutionen för datavetenskap Gabrielle Silfver gabsi721 2014-04-15 Sammanfattning Den här rapporten redogör för automatisk humorigenkänning genom att beskriva ett system skapat för att skilja mellan humoristiska texter och icke-humoristiska texter. Då begreppet humor är svårdefinierat består de humoristiska texterna av One-liners som är en specifik typ av skämt. Syftet med systemet är att testa om maskiner kan känna igen humor med hjälp av automatiska klassifikationstekniker. Jag kommer att förklara hur insamlingen av datamaterial till humoristisk respektive icke-humoristiskt datamaterial går till samt hur dessa sedan blir åtskilda med automatiska klassifikationstekniker som är innehållsbaserade samt med hjälp av humorspecifika kännetecken för humor. Även en kombination av dessa kommer att testas. Resultatet i studien visade på att automatiska klassifikationstekniker är framgångsrika tillvägagångssätt för att en maskin ska kunna känna igen humor i texter. 729G43 Artificiell Intelligens IDA – Institutionen för datavetenskap Gabrielle Silfver gabsi721 2014-04-15 Innehåll Sammanfattning....................................................................................................................................... 1 Inledning.................................................................................................................................................. 3 Övergripande förklaring av systemet ...................................................................................................... 4 Datamaterial ............................................................................................................................................ 5 Humoristisk data.................................................................................................................................. 5 Icke-humoristisk data .......................................................................................................................... 6 Automatisk humorigenkänning ............................................................................................................... 7 Humorspecifika stilistiska kännetecken. ............................................................................................. 7 Innehållsbaserad inlärning:.................................................................................................................. 8 Textklassifikationsalgoritmer .......................................................................................................... 8 Experiment och resultat ........................................................................................................................... 9 Diskussion/Slutsats................................................................................................................................ 11 Referenser.............................................................................................................................................. 12 729G43 Artificiell Intelligens IDA – Institutionen för datavetenskap Gabrielle Silfver gabsi721 2014-04-15 Inledning Humor utgör en stor del av människors sociala förhållanden och är en vital del i kommunikationen mellan människor. Därför är det inom artificiell intelligens relevant att kunna utveckla system som gör det möjligt för datorer att förstå och känna igen humor. Fördelarna med humor är inte bara i underhållningssyfte utan är även ett framgångsrikt sätt att fånga människors uppmärksamhet samt bidra till ett starkare minne och därmed en bra inlärningsmetod. Humor är ett brett begrepp med många teorier inom olika områden som lingvistik, psykologi och filosofi. På grund av oklarheten i definitionen är det ett relativt outforskat område inom Artificiell Intelligens. I den här rapporten har jag studerat ett system skapat av Mihalcea och Strapparava som utvecklats för att testa om maskiner kan känna igen humor med hjälp av automatiska klassifikationstekniker. Jag har valt att studera maskinell humor då det för mig var intressant att få en inblick i detta delproblem inom AI och svårigheterna i att utveckla ett kreativt mänskligt beteende hos en maskin. Jag tyckte även att det var spännande med upplägget i denna studie i enlighet med datainsamlingsmetod, textklassificering samt diskussionen författarna för kring ämnet humor inom AI. 729G43 Artificiell Intelligens IDA – Institutionen för datavetenskap Gabrielle Silfver gabsi721 2014-04-15 Övergripande förklaring av systemet Systemet är utvecklat av Mihalcea och Strapparava (2006) och de har inriktat sig på en specifik del av humor kallad ”One-liner”. Mihalcea och Strapparavas definition av en One-liner är en kort mening (högst 15ord) med en komisk effekt, intressant lingvistisk struktur innehållande simpel syntax, retorisk (rytm, rim) och en frekvent användning av kreativt språk som fångar läsarens uppmärksamhet. Systemets syfte är att testa om maskiner kan känna igen humor med hjälp av automatiska testklassificerare samt vilken typ av teknik som är mest framgångsrik i denna aspekt. De har definierat humor-igenkänningsproblemet som en traditionell maskininlärningsuppgift där positiva - (humoristiskt datamaterial) och negativa (icke-humoristiskt datamaterial) exempel kommer att ges till en automatisk textklassificerare. Med hjälp av en bootstrappingprocess har de hämtat ut One-liners till det humoristiska datamaterialet från webben. För att kunna jämföra med icke-humoristiska texter har de hämtat data från Reuters news titles, ordspråk, meningar från the british national corpus (BNC), och Open Mind Common Sense (OMCS). Den insamlade datan kommer att väljas ut för att passa både strukturellt och stilistiskt med One-liners. De har sedan använt sig av två olika automatiska textklassifikationstekniker för att låta maskinen avgöra om texten är humoristisk eller inte. Dessa tekniker har varit stilistiska kännetecken för humor och innehållsbaserade. De har även använt sig av två olika automatiska innehållsbaserade textklassifikationsmetoder samt jämfört dessa två. Till sist har de även testat en kombination av dessa tekniker. Resultatet visade att maskiner klarar att utföra uppgiften att känna igen humor med hjälp av dessa tekniker då resultatet alltid var bättre än den bestämda baselinen (50%). De tar även upp de aspekter av vad systemet hade problem med. 729G43 Artificiell Intelligens IDA – Institutionen för datavetenskap Gabrielle Silfver gabsi721 2014-04-15 Datamaterial För att kunna testa om humorigenkänning fungerar hos maskiner bör data set från både humoristiska data set och icke-humoristiska data set samlas för att sedan systemet ska kunna träna på dessa och därefter kunna avgöra om en text är humoristisk eller icke-humoristisk.. Att det finns många icke-humoristiska texter att hämta data sets ifrån säger sig själv, problemet är att hitta data sets med humoristiska exempel, i detta fall One-liners. Två angreppssätt har använts för att lösa detta problem, dels för att öka kvantitet och dels för att höja kvaliteten på datan som samlats in. Humoristisk data Då det finns begränsat med oneliners på webben har en bootstrappingfunktion använts för att automatiska konstruera 20.000 One-liners. Det övergripande målet med bootstrappingalgoritmen är att automatiskt samla en stor del One liners. Detta börjar med en ”frö”-lista innehållandes 5-10 One-liners som manuellt har blivit definierade. Via en sökfunktion med en webbsökmotor definierar algoritmen sedan automatiskt en lista av webbsidor där minst ett av elementen i ”frö”-listan förekommer. När algoritmen har hittat webbsidan tolkar den innehållet och lägger till eventuella nya One-liners i ”frö”-listan, denna process upprepas tills den tillräckliga mängden One-liners är samlad. För att detta ska fungera krävs det att bootstrappingalgoritmen har restriktioner som förhindrar att onödig data samlas samt styr processen åt rätt håll. I detta system har bootstrappingalgoritmen två restriktioner. Bild 1. Bootstrapping(Mihalcea, Strapparava, 2006) Den första är en tematisk restriktion som appliceras på innehållet på webbsidorna. Restriktionen implementeras genom att begränsa webbsidans innehåll till ett tema med hjälp av en samling nyckelord. Om nyckelordet finns i URLen kommer en sökning att göras på hemsidan i enlighet med ”frö”-listan. Samlingen nyckelord består av sex ord: ”onelines”, 729G43 Artificiell Intelligens IDA – Institutionen för datavetenskap Gabrielle Silfver gabsi721 2014-04-15 ”one-liners”, ”humor”, ”humour”, ”joke”, ”funny”. Dessa ord indikerar att innehållet på webbsidan är humorrelaterat. Den andra restriktionen är strukturell och bearbetar HTMLstrukturen på webbsidan som beräknar om det förekommer texter som är stilistiskt liknande en One-liner. Detta utförs med hjälp av ”frö”-One-linern. Förekommer något element från ”frö”-listan av One liners på listan av uppräknade texter finns det stor sannolikhet att andra One-liners förekommer på webbsidan. Om en ”frö”-One-liner hittas på en hemsida föregången av HTMLtaggen <li>2 kan andra texter, med respektive tagg och uppräkning, med stor sannolikhet vara One-liner. <li>2 är ett föremål i en lista. Bootstrappingprocessen startar med en liten ”frö”-samling innehållandes tio oneliners och resulterar sedan i en samling av 24.000 One liners. Efter borttagningen av kopiorna finns därefter ca 20.000 One liners till det humoristiska datamaterialet. Icke-humoristisk data Det icke-humoristiska datamaterialet har samlats genom att identifiera meningar som inte är komiska men som håller samma struktur och komposition som One-liners. Strukturell likhet var framställd genom att varje exempel i det icke-humoristiska datamaterialet följer samma längdrestriktion som det humoristiska datamaterialet, det vill säga, en mening på 10-15 ord. Likheten i komposition har identifierats genom att identifiera exempel som liknar One liners i kreativitet och intention. De har använt sig av fyra databaser för att samla icke-humoristisk datamaterial. Reuters news titles, nyhetsartiklar publicerade i Reuters nyhetsflöde över perioden 1996-1997. I likhet med One liners består titlarna av korta meningar med simpel syntax som används för att fånga läsarens uppmärksamhet. Ordspråk manuellt framtagna från en engelsk ordspråkssamling. Ordspråk är korta meningar innehållande fakta eller subjektiv information. One-liners kan ibland vara komiskt modifierade ordspråk. The british national corpus (BNC). Till skillnad från Reuters och ordspråk har BNC-meningar inga kreativa inslag och meningarna valdes med hjälp av en implementation av en vektorisk modell för att hitta meningar som innehållsmässigt liknade de One-liners som hittats med hjälp av bootstrappingalgoritmen. Open mind common sense (OMCS). Där meningar av uttalanden om sunt förnuft har hämtats. Dessa databaser har valts för att göra humorigenkänningsuppgiften svårare och därmed mer trovärdig. De vill undvika att den automatiska textklassifieraren ska lära sig att skilja på humoristiska och icke-humoristiska texter enbart tack vare textlängd eller vokabulärskillnader. Dessa databaser tillförser det icke-humoristiska datamaterialet med exempel som till stor del liknar det humoristiska datamaterialets aspekter men som skiljer sig 729G43 Artificiell Intelligens IDA – Institutionen för datavetenskap Gabrielle Silfver gabsi721 2014-04-15 i den komiska effekten. Hypotesen är att de mer kreativa texterna som Reuters och Ordspråk ska vara mest lika One-liners och därmed svårare för systemet att klassificera. Automatisk humorigenkänning I experimentet använder dom sig av automatiska textklassifikationstekniker genom heuristik baserat på humorspecifika stilistiska egenskaper (alliteration, struktur, slang) och innehållsbaserade egenskaper inom ett framesystem formulerat som en typisk klassifikationsuppgift, och kombinerat stylistisk och innehållsbaserade egenskaper integrerade i ett framesystem för maskininlärning. Humorspecifika stilistiska kännetecken. Mihalcea och Strapparava har försökt identifiera en grupp stilistiska kännetecken som karaktäriserar humoristiska texter som var både signifikanta och rimliga att implementera i användandet av existerande maskinläsande resurser. De fokuserar specifikt på alliteration, struktur och vuxenslang. Alliteration I tidigare studier om humor har underlag för strukturen och fonetikens betydelse för innehållet i ett skämt tagits fram. Även om skämtet inte uttalas högt är One-liners ofta beroende av lingvistiska fenomen som producerar en komisk effekt med hjälp av upprepning av ord och rim. Detta är vanligt för reklam och löpsedlar för att fånga läsarens intresse. För att kunna hämta ut alliterationskedjor har Mihalcea och Strapparava räknat antalet alliteration/rim-kedjor som förekommer i varje exempel i deras datamaterial. Med hjälp av ett index som är skapat i CMU pronantiation dictionary har kedjorna automatiskt samlats (http://www.speech.cs.cmu.edu/cgi-bin/cmudict). Den underliggande algoritmen är en matchningsmaskin som försöker hitta den största och längsta strängmatchningskedjan genom att använda transkriptionerna från CMU. Till exempel meningen ”Infants don’t enjoy infancy like adults do adultery” där algoritmen hittar två alliterationskedjor (infan-ts,infan-cy) och (adult-s, adult-ery) som visar den fonetiska matchningen ih1 n f ah0 n” and “ah0 d ah1 l t. Jag testade denna funktion på One linern ”There’s a fine line between cuddling and holding someone down so they can’t get away”, där jag antog att matchningsalgoritmen skulle hitta alliterationskedjan (hold-ing och cuddl-ing), därefter sökte jag efter den fonetiska matchningen i CMU och fick resultatet HH OW1 L D IH0 NG . AH0 N D . K AH1 D L IH0 NG. CMU använder sig av ett fonemset som är baserat på ett symbolset från ARPAbet. ARPAbet är en kod skapad för att återge en visuell presentation av talat språk och är skapad av Advanced Reasearch Projects Agency. I det fonemset som CMU använder sig av finns 39 fonem där vissa vokaler är mer avgörande och mer betydelsebärande än andra. Om vokalerna bär en stor betydelse har den ett värde på 1, om vokalerna har mindre betydelse har de värde 2 729G43 Artificiell Intelligens IDA – Institutionen för datavetenskap Gabrielle Silfver gabsi721 2014-04-15 samt om vokalen inte har någon betydelse alls har den värdet 0. I mitt exempel visar resultatet att det är ljudet ”OW” i Holding som avgör den största skillnaden mellan detta och ordet Cuddling där ljudet ”AH” har fått samma siffra i enlighet med det första ordet, det vill säga 1. Ändelsen ”-ing” har i båda orden fått 0 vilket indikerar att detta är den del som är lik mellan orden och avgör alltså inte vad som gör att orden låter olika. Detta indikerar alltså att de rimmar eftersom båda orden har samma värden. Algoritmen undviker att hitta ointressanta kedjor genom att ha en stoppordlista där orden inte kan vara en del av en alliterationskedja. Motsatser Humor är ofta beroende av någon form av orimlighet. Det är dock svårt att hitta i texter men det är desto lättare att hitta motsatser. Mihalcea och Strapparava har använt sig av WORDNET som lexikal resurs för att hitta ord som är motsatser till varandra. WORDNET är en lexikal databas innehållande semantiska relationer mellan ord samt synonymer. Den används ofta som lexikal resurs för artificiellt intelligenta system och i textanalyser. I WORDNET har de letat särskilt efter den strukturella relationen mellan substantiv, verb, adjektiv och adverb. För adjektiv används en synonymrelation mellan adjektiv och därmed hitta motsatser mellan ord. Vuxenslang Vuxenslang innehåller ofta någon typ av sexuell anspelning och är väldigt populärt inom humor vilket gör det relativt lätta att hitta med hjälp av ett sexorienterat lexikon. Återigen är det WORDNET som används, domänen SEXUALITET (http://wndomains.fbk.eu/). Listan med ord som togs valde inte de orden som hade en polysemi på mer än 4 olika betydelser per ord för att undvika ord med för mycket mångtydighet. Efter detta annoterades orden i enlighet med ordens kontext i korpusen. Alla dessa tre stilistiska kännetecken för humor kan ibland förekomma samtidigt i en One liner. Innehållsbaserad inlärning: I tillägg till dessa stilistiska kännetecken har även innehållsbaserade kännetecken för humor framtagits där humorigenkänningsuppgiften är formulerad som ett traditionellt textklassifikationsproblem. De två textklassifierare som användes var Naive Bayes och Support Vector Machines (SVM), resultaten från dessa jämfördes sedan. Anledningen till varför dessa valdes var för att de skiljer sig i metod vilket gynnar jämförelsen samt att de varit framgångsrika i tidigare studier. Textklassifikationsalgoritmer Naive Bayes Bayes theorem handlar om sannolikhet och är en subjektiv ansats till att förklara sannolikhet. Naive Bayes är den vanligaste ansatsen till Bayesiska nätverksmodellen som används i 729G43 Artificiell Intelligens IDA – Institutionen för datavetenskap Gabrielle Silfver gabsi721 2014-04-15 maskininlärning. Modellen är naive för att den antar att alla attribut är villkorligt oberoende av varandra, givet klassen och växer linjärt med antalet attribut. Det finns olika versioner av Naive Bayes, till detta system har multinominalmodellen använts. Multinominalmodellen fungerar bättre när det gäller variation i dokumentlängd och har visat sig fungera bättre i tidigare arbeten (McCallum, Nigam, 1998). Support Vector Machines (VSM) SVM är en klassifikationsalgoritm som jobbar binärt för att separera positiv data med negativ data med hjälp av (p-1) hyperplanedimensioner. Exemplen delas in i en respektive binära kategorier och är därför inte en probalistisk binärlinjeklassifierare, Experiment och resultat Syftet med studien var att visa till vilken grad automatiska klassifikationstekniker kan appliceras på maskinellt humorigenkännande. För att få mer insikt i de olika aspekter som kan påverka hur pass bra detta fungerar har flera experiment utförts. De aspekter som tagits i akt är hur precisionen för klassificeringen blir när stilistiska och innehållsbaserade tekniker används, den icke-humoristiska datans påverkan samt metoden för klassifikation, det vill säga, Naive bayes och Support Vector Machines. För att testa systemet har en 10 korsvalidering används för att ge så precisa resultat som möjligt. En 10-korsvalidering innebär att man delar upp den insamlade datan i tio delar där nio av de delarna fungerar som träningsdata och den sista delen blir testdata. Detta görs tio gånger där respektive del får agera testdata. Detta för att undvika att testdatan ska representera för mycket eller för lite data av den negativa och den positiva datan. Base-line för experimentet är 50% då det är 50% som är negativ respektive positiv data i datamängden. Det vill säga att om systemet kan klassificera mer än 50% av dokumenten i testdatan, på rätt sätt, har den utfört uppgiften på ett önskat sätt. Humorspecifika stilistiska kännetecken När de humorspecifika stylistiska kännetecknen testades visade det sig att alliteration är det mest fördelaktiga stylistiska kännetecknet för att avgöra om en text är humoristisk eller inte där det visade sig ha bättre precision än både motsatser och vuxenslang i alla negativa dataset test (Reuters, BNC, Ordspråk, OMCS). För att utföra dessa tester användes beslutsträd. Beslutsträden tränades på en liten del av datan för att sedan testas på resten av datan. Varje humoristiskt stilistiskt kännetecken fick ett numeriskt värde tilldelat och fungerade sedan som heurestiker. Bild 2.Beslutsträd (Mihalcea, Strapparava, 2006) 729G43 Artificiell Intelligens IDA – Institutionen för datavetenskap Gabrielle Silfver gabsi721 2014-04-15 Om datan vid testet fick ett värde som kom över den gräns som satts vis träningen blev de klassade som en humoristisk text. Resultatet indikerade att det är Reuters texter som är minst lik One-liners och att alliteration är det mest effektiva sättet för en maskin att avgöra om en text är humoristisk eller inte samt att ordspråk är den som är mest lik One-liners. Innehållsbaserad inlärning Det andra experimentet var en klassisk textklassificeringsuppgift där tester på det insamlade datamaterialet gjordes med hjälp av Naive Bayes och Support Vector Machines (SVM). Här utfördes en mer innehållsbaserad riktlinje för om en text var humoristisk eller ickehumoristisk med hjälp av bag-of-words och sannolikhetsvärden. Bag-of-words innebär att orden som respektive negativa och positiv textsträng innehåller analyseras oberoende av varandra samt sannolikhetsvärdet för hur stor chans det är att den givna meningen är positiv eller negativ utifrån de orden. Textklassificerarna har tränats med hjälp av 10-korsvalidering och det är sedan det som dessa utgår ifrån när de avgör om en text är positiv eller negativ. Reuters var även här den typ av text som var minst lik One-liners medan BNC var det som var mest likt. Detta indikerar att humoristiska texter är väldigt lika vanliga texter men att man fortfarande kan skilja på dessa med hjälp av text-klassificeringstekniker. Kombinationen av stilistiska kännetecken för humor och innehållsbaserad inlärning Efter de två första experimenten testades även en kombination av dessa två tekniker. De valde att göra detta genom att använda en sekventiell inlärningsmetod där resultaten från den innehållsbaserade textklassificeringen användes och testades med de stilistiska klassificeringsmetoderna. För att undvika att gapet mellan dessa två inlärningsmoment skulle påverka att lågprestationer från den innehållsbaserade klassificeringen blev bortprioriterade använde de sig av ett minnes-baserat program kallat TiMBL. TiMBL är en öppen källkod som implementerar ett flertal minnesbaserade lärande algoritmer. Den används främst för processering av naturligt språk och innehåller bland annat algoritmen IB1-IG som är en implementation av k-nearest neighbor-klassificering samt IGTree som är en beslutsträdsalgoritm till IB1-IG. Detta system implementerades på den andra delen av inlärningen, den stilistiska. Resultatet visade en signifikant förbättring i jämförelse med de tidigare testerna. 729G43 Artificiell Intelligens IDA – Institutionen för datavetenskap Gabrielle Silfver gabsi721 2014-04-15 Diskussion/Slutsats ”Computers are not intelligent, they just think they are.” Skämt å sido, detta system har visat att maskiner automatiskt kan känna igen humor med hjälp av automatiska textklassifikationstekniker. Att systemet i alla tester gav ett resultat som var bättre än baseline (50%) är uppmuntrande. Jag tror dock inte att det här resultatet räcker för att bevisa att maskiner kan känna igen humor vilket även Mihalcea och Strapparava diskuterar i sin artikel. One-liners är en väldigt liten del av humor och problemet kvarstår att definitionen av humor fortfarande är oklar. Att få en maskin att förstå inkongruens och ironi är en mycket större utmaning och detta kommer att krävas för att humorigenkännande ska fungera. Detta är någonting som inte ens människor klarar att förstå i vissa situationer. Det visade sig att det var de mest vanliga texterna som var lika One-liners när textklassificeringen utfördes och därmed inte de kreativa texterna som Mihalcea och Strapparava först trodde. Detta indikerar även att det bör forskas mer kring vad som faktiskt kännetecknar humor. Detta är ett intressant sätt att tackla det artificiellt intelligenta delproblemet maskinell humor. Jag har lärt mig mycket av att studera hur de har gått tillväga för att utföra uppgiften och har förstått att det är många vägar man kan ta om man vill lösa artificiella problem. Det är bra att de testade många olika typer av negativa data för att se hur detta påverkade samt att de även insåg att de även skulle testa en kombination av de olika klassificeringsmetoderna. One-liners är som sagt en liten del och kan inte bevisa någonting generellt för området humor eller bidra till något genomslag men det är en början och förhoppningsvis kan detta leda till vidare forskning för kreativ språkigenkänning hos maskiner i framtiden. Maskiner kanske i framtiden inte bara tror att de är intelligenta, kanske de faktiskt blir det tillslut. 729G43 Artificiell Intelligens IDA – Institutionen för datavetenskap Gabrielle Silfver gabsi721 2014-04-15 Referenser Andrew McCallum, K. N. (1998). A comparsion of event models for naive bayes text classification. AAAI press, ss. 41-48. Rada Mihalcea, C. S. (2005). Computational laughing: Automatic recognition of humorous One-liners. Rada Mihalcea, C. S. (den 1 Maj 2006). Learning to laugh (automatically): Computational models for humor recognition. Computational Intelligence, ss. 126-142. .