Genomgång och utvärdering av algoritmer för fonetisk sökning efter svenska efternamn JOHAN SPAEDT KE

Storlek: px
Starta visningen från sidan:

Download "Genomgång och utvärdering av algoritmer för fonetisk sökning efter svenska efternamn JOHAN SPAEDT KE"

Transkript

1 Genomgång och utvärdering av algoritmer för fonetisk sökning efter svenska efternamn JOHAN SPAEDT KE Examensarbete Stockholm, Sverige 2011

2 Genomgång och utvärdering av algoritmer för fonetisk sökning efter svenska efternamn JOHAN SPAEDT KE Examensarbete i datalogi om 30 högskolepoäng vid Programmet för teknisk fysik Kungliga Tekniska Högskolan år 2011 Handledare på CSC var Lars Kjelldahl Examinator var Lars Kjelldahl TRITA-CSC-E 2011:076 ISRN-KTH/CSC/E--11/076--SE ISSN Kungliga tekniska högskolan Skolan för datavetenskap och kommunikation KTH CSC Stockholm URL:

3 Genomgång och utvärdering av algoritmer för fonetisk sökning efter svenska efternamn Sammanfattning Detta arbete syftar till att göra en genomgång av de metoder som finns för för fonetisk sökning efter svenska namn. Målet är att hitta en algoritm som har både bra täckning och precision samtidigt som den inte är för långsam och skalar bra med mängden namn i databasen. Fokus ligger på algoritmer som skapar nycklar för indexering men även ett par andra metoder kommer beröras. Algoritmerna som undersöks kan grovt delas in i tre huvudgrupper. Algoritmer för strängjämförelse, algoritmer som använder sig av fonetisk kodning av enskilda tecken i namnet och algoritmer som bygger på mer komplexa regler. Då jämförelsen av algoritmernas prestanda ska göras utifrån deras förmåga att hitta fonetiskt lika strängar har ett större antal personer involverats i framtagandet av testdata för att få en så objektiv bild som möjligt av vad som kan anses vara snarlikt uttal. Detta har lett till en något vidare definition av uttalslikhet än vad som använts i många andra arbeten. Resultatet från undersökningen är väldigt skiftande och måste tolkas utifrån enskilda användningsfall. Allmänt kan dock sägas att algoritmer för strängjämförelse lämpar sig dåligt för användning på större datamängder medan i stort sett alla tecken- och grafemkodande algoritmer alla är relativt snabba och går att konstruera så att de antingen får en hög precision eller en hög täckning allt efter behov. Review and evaluation of algorithms for phonetic search for Swedish family names Abstract The aim of this work is to conduct a review of the methods available for phonetic search for Swedish family names. The goal is to find an algorithm that has good precision and recall but that isn t to slow and ideally it should scale well with the amount of names in the database. The focus will be on algorithms that generate keys for indexing but a few other algorithms will be considered as well. The algorithms in this work can roughly be placed in three main groups; algorithms for string comparison, algorithms that make use of phonetic encoding on a character basis and algorithms that use more complex linguistic rules. The performance of the algorithms is to be measured with regard to their ability to find phonetically similar strings and therefore I involved a rather large group of people in the development of the test data to obtain as objective a picture as possible of what can be considered a similar pronunciation. This led to a definition of pronunciation similarity that was somewhat broader then the definitions used in similar works. The results are very diverse and must be interpreted for different use cases to be really meaningful although some general conclusions can be drawn. Algorithms for string comparison are not very well suited for larger data sets but all other algorithms could be useful in different scenarios since they are relatively quick and can be designed so that they either get a high precision or a high recall, as required.

4

5 Innehållsförteckning Inledning... 1 Bakgrund...1 Fonetisk sökning...1 Hur fungerar fonetisk sökning... 1 Begränsningar...2 Svårigheter med fonetisk sökning på svenska namn... 2 Algoritmer för strängjämförelse... 4 Inledning...4 Användbarhet för fonetisk sökning...4 Redigeringsavstånd...4 Hammingavstånd... 4 Levenshtein- och Damerauavstånd... 4 Jaroavstånd... 5 Jaro-Winkleravstånd... 6 N-gram förfaranden...6 Val av N... 7 Utfyllnadstecken... 7 Algoritmer för fonetisk sökning... 8 Inledning...8 Teckenkodande...8 Konsonantkodning... 8 Soundex... 8 Grafemkodande NYSIIS Phonix Metaphone DoubleMetaphone Wåhlinkodning Patent och Registreringsverkets algoritm Datainsammling...13 Namnstatistik Jämförelse av algoritmerna...14 Teori Tidigare arbeten Utvärdering Resultat Inledande undersökningar Precision och Täckning F-värde Antal söksvar Söktid Diskussion...23

6 Strängdistansalgoritmer Fonetiska algoritmer Teckenkodande algoritmer Grafemkodande algoritmer Slutsats...25 Rekommendationer Förbättringsförslag Kombination av olika algoritmer Namnlängd och antal stavelser Använda sig av vokalerna Viktat Levenshteinavstånd Litteraturförteckning...27 Appendix I...29 Detaljerade beskrivningar av algoritmerna som utvärderats Regelnotation AmericanSoundex NYSIIS Metaphone Phonix PhonixSoundex Wåhlin... 34

7 Inledning Bakgrund Att slå upp personnamn i olika typer av informationssystem är en väldigt vanlig operation. Det kan röra sig om databaser över kunder, en telefonkatalog eller en passagerarlista. Att hitta exakt det namn som användaren matar in i sökfältet är enkelt, ofta är dock fallet att namnet som matas in är felstavat av olika anledningar. Antingen har användaren helt enkelt stavat fel men det kan även vara så att det finns flera likvärdiga stavningar för namnet eller att personen som ska söka har hört fel och söker efter ett namn som låter snarlikt till det som han vill hitta. Därför finns det ett behov av att kunna hitta approximativa matchningar till ett namn i en databas. Detta sökförfarande kallas omväxlande luddig, approximativ eller fonetisk sökning i litteraturen. Hädanefter kommer jag hålla mig till fonetisk med få undantag. Syftet med detta examensarbete har varit att undersöka möjligheterna som finns för fonetisk sökning anpassad för svenska namn. Med fonetisk sökning menas här en algoritm som för ett givet namn returnerar de namn i databasen som i någon mening uttalas lika dant. Arbetet har utförts på Sunstone Systems AB. De använder idag sökplattformen Solr i sin verksamhet. Solr erbjuder ett flertal metoder för approximativ eller fonetisk sökning men då programmet ursprungligen är utvecklat med fokus på en engelskspråkig marknad är de flesta av metoderna skräddarsydda för det engelska språket. Fonetisk sökning Med fonetisk sökning menas en sökning som hittar de teckenkedjor som kodar för samma eller liknande uttal som söksträngen för ett givet likhetsmått. Ordet fonetisk syftar på att algoritmen implicit använder sig av fonetisk och/eller fonologisk kunskap vad gäller uttalet av nämnda teckenkedjor. När man vill söka efter ett namn vars uttal är känt men ej den exakta stavningen är fonetisk sökning ett användbart hjälpmedel. Som beskrivet i kapitlet ovan är detta ofta fallet med namn och då speciellt med efternamn. En fonetisk algoritm måste alltså kunna hantera de tvetydigheter som finns i fråga om ords uttal och detta görs vanligtvis genom att utnyttja olika heuristiker gällande kopplingen mellan grafem och fonem. Detta innebär ofta att namnen transformeras enligt givna regler som avlägsnar så många tvetydigheter som möjligt och sedan jämförs de transformerade namnen för att se om de är lika. Detta innebär att en fonetisk sökning kan liknas vid en translitteration från ingångsalfabetet till ett relativt onoggrant fonetiskt alfabet. Hur fungerar fonetisk sökning Algoritmer för fonetisk sökning kan liknas med hashningalgoritmer. En vanlig ansats för en fonetisk sökalgoritm är att generera en eller flera nycklar för varje indatanamn som på något sätt representerar namnets uttal. När en databas används för att lagra efternamnen beräknas oftast dessa nycklar när namnet läggs till i databasen och sedan utförs den fonetiska sökningen mot fältet innehållande den fonetiska nyckeln. De flesta fonetiska algoritmer är korta enkla algoritmer som försöker använda en heuristik med så få regler som möjligt. Detta gör att algoritmerna ofta är enkla att implementera i olika typer av system. Indata är en teckenkedja som svarar mot en ortografisk representation av ett efternamn och utdata är oftast en nyckel bestående av siffror och/eller bokstäver. Siffrorna kodar ofta för fonetiska grupper härledda ur uttalslikheter. Vissa algoritmer försöker modellera tvetydigheter i uttal genom att generera flera nycklar för ett enskilt indata men detta hör till ovanligheterna. Då målet med de flesta fonetiska sökalgoritmer är att mappa ortografier med liknande uttal på samma nyckel går det sällan att ranka de förslag som returneras. Det finns dock två möjliga vägar för att ranka resultaten av en fonetisk sökning. Det ena är att ranka de förslag som 1

8 returneras från en fonetisk sökning med hjälp av andra metoder, exempelvis någon av de algoritmer för strängjämförelse som beskrivs nedan. En annan metod är att konstruera nyckeln som den fonetiska algoritmen returnerar på ett sådant sätt att de blir sorterbara efter likhet. En del sådana försök har gjorts (1) men de har inte visat några bra resultat. En perfekt algoritm för fonetisk sökning vore en algoritm som genererade samma nyckel för ord som uttalades exakt lika, nycklar som bara avvek lite för ord som uttalas snarlikt och helt skilda nycklar för ord som inte har någon uttalslikhet. Det vore även önskvärt om nycklarna vore sorterbara på uttalslikhet då man skulle kunna tillåta att fler resultat returnerades om de mest relevanta garanterat var högst upp i listan. Med tanke på hur långt ifrån målet även de mest sofistikerade algoritmerna är idag talar mycket för att detta är ett ouppnåeligt mål. Ytterligare ett problem uppstår i och med att de flesta språk har olika ortografier och det därför skulle vara nödvändigt med språkigenkänning för att kunna göra jämförelser av namn från olika språkbakgrund. Även om man begränsar sig till svenska finns det gott om tvetydigheter i uttal. Dels varierar språket kraftigt när det gäller olika dialekter men i dagens mångkulturella samhälle så lånas det även in namn från andra kulturer i den svenska namnmängden och uttalet av dessa ord försvenskas sedan medan stavningen i många fall behålls vilket leder till ytterligare undantag från gängse språkregler. Med andra ord är ett rimligare delmål att utveckla en algoritm som fungerar så bra som möjligt för ett språk. En algoritm som fungerar för ett stort antal språkkontexter skulle troligtvis kräva en inte oansenlig forskningsinsats. Begränsningar Jag kommer att begränsa mig till att enbart undersöka algoritmernas prestanda när det gäller sökning efter svenska efternamn. Anledningen till att jag valt bort förnamn är i huvudsak att mängden efternamn är mer statisk och även att det är mer befogat att tala om svenska efternamn än om svenska förnamn. Enligt SCB (2) är topp 100 listan över de vanligaste efternamnen i Sverige i stort sett oförändrad de senaste åren och enbart en handfull namn på listan är namn som inte kommer ur en svensk språktradition. Förnamnen är betydligt mer modebetonade och kommer i betydligt högre utsträckning från andra språkfamiljer. Ytterligare en anledning till att jag valt att fokusera på efternamn är att de erbjuder en betydligt större mängd stavningsvarianter, homonymer, vilket gör dem intressanta att undersöka. Detta är framförallt fallet med vanliga efternamn då människor behåller uttalet men ändrar stavningen särskilja sig. Den situation som då uppstår är precis den som fonetiska sökalgoritmer är konstruerade för att lösa. Då jag valt att fokusera på svenska efternamn har jag valt att begränsa de tecken som indata kan bestå av till följande A, À, Á, Â, Ã, B, C, Ç, D, Ð, Þ, E, É, È, Ê, Ë, F, G, H, I, Ì, Í, Î, Ï, J, K, L, M, N, Ñ, O, Õ, Ó, Ô, Õ, P, Q, R, S, Š, ß, T, U, Ø, Ö,, Ü, V, W, X, Y, Ý, Ÿ, Z, Ž, Å, Ä, Æ, Ö, Ø, Œ samt följande skiljetecken ', -,., :,. En tredje begränsning har varit att fokus har legat på funktionalitet så även om en del av utvärderingen visserligen varit algoritmernas snabbhet så har inget extra arbete lagts på att optimera algoritmerna när de väl varit implementerade. Svårigheter med fonetisk sökning på svenska namn Teckenkodning De flesta fonetiska sökalgoritmer som utvärderats härstammar från engelskspråkiga länder och tar enbart hänsyn till de bokstäver som ingår i det engelska alfabetet (A-Z). Då det i det svenska alfabetet även finns bokstäverna Å, Ä och Ö och jag utöver detta antagit att ett namn kan innehålla även ett stort antal andra tecken så har jag stått inför valet att antingen göra alla algoritmer kapabla att hantera alla ovan nämnda tecken eller normera orden innan de skickas till algoritmen. Jag valde det senare och normerade alla tecken som algoritmen inte specificerade regler för själv. 2

9 Dubbelnamn Ingen av de algoritmer jag stött på behandlar explicit dubbelnamn. Med dubbelnamn menar jag namn som består av två eller flera delar åtskilda av något av följande tecken ', -,., :,. Dessa tecken ignoreras i alla algoritmer. I vissa fall får de algoritmen att krascha och i andra ignoreras de enbart. Om detta blir ett problem eller inte beror på från fall till fall. Några tänkbara frågeställnningar rörande dubbelnamn skulle kunna vara följande. Är det för applikationen viktigt att kunna särskilja Lundberg från Lund-Berg eller anser man att det är samma namn? Vill man att det ska vara möjligt att hitta Lundberg när man söker på Lund eller Berg? Tvärtom? Exakt hur dubbelnamn ska behandlas får bestämmas från implementation till implementation, hur jag valde att hantera dubbelnamn finns beskrivet i kapitlet om korpusen nedan. 3

10 Algoritmer för strängjämförelse Inledning Fonetisk sökning kan anses vara ett underproblem till det mer generella problemet att matcha strängar som har varit ett aktivt forskningsområde minst sedan 50-talet (3). Forskningen har främst fokuserat på självkorrigerande kod och automatisk stavfelsrättning. Att hitta vilka strängar i en databas som relaterar fonetiskt till varandra påminner om att hitta rättstavningsförslag till ett givet ord. De algoritmer som beskrivs nedan skiljer sig alla från algoritmerna i nästkommande kapitel genom att de ej tar hänsyn till några språkliga stavningsregler eller någon fonetisk kunskap. De baseras istället helt och hållet på olika typer av likhetsmått mellan strängar och är applicerbara även på exempelvis binära strängar. Användbarhet för fonetisk sökning Namn som uttalas mer eller mindre lika representeras i ett och samma språk ofta av strängar som är lika varandra. Av denna anledning kan man förmoda att algoritmer för strängjämförelse skulle kunna fungera relativt bra för fonetisk sökning. Skulle det visa sig att algoritmerna presterar bra skulle detta ha den föredelen att strängavståndsalgoritmerna är relativt språkoberoende så en algoritm som fungerar för svenska skulle med stor sannolikhet kunna användas även för andra språk med liknande ortografi. Redigeringsavstånd Hammingavstånd Introducerades av Richard Hamming 1950 (3). Hammingavstånd är den enklaste formen av editeringsavstånd för strängar. Hammingavstånd jämför endast strängar av samma längd och man räknar antalet substitutioner som krävs för att transformera den ena strängen till den andra. Exempel på Hammingavstånd Levenshtein- och Damerauavstånd Avståndsmåtten Levenshteinavstånd och Damerauavstånd är väldigt lika. De beskrevs av Levenshtein 1966 (4) och Damerau 1964 (5). Båda kan, till skillnad mot hammingavstånd, även jämföra strängar av olika längd detta åstadkoms genom att man tillåter två nya operationer på strängen, nämligen insättning och brottagning av en bokstav. Skillnaden mellan Levenshteinavstånd och Damerauavstånd är att man enligt det senare likställer en transposition av två intilliggande bokstäver med operationerna insättning, borttagning och substitution. Två olika implementationer av Levenshteinavstånd och en implementation av Damerauavstånd ingår i undersökningen. Anledningen till detta är att två olika implementationer av Levenshteinavstånd redan fanns i Sunstones system i dagsläget. Implementationerna kräver bägge att man anger ett tal och sedan två strängar, söksträngen s 1 och teststrängen s 2. Den första implementationen returnerar alla strängar s 2 som är på Levenshteinavstånd från söksträngen. Denna implementation har jag valt att kalla ~x nedan efter sättet som algoritmen anropas i Solr idag. 4

11 Den andra implementationen beräknar först Levenshteinavståndet och returnerar sedan alla strängar s 2 där mellan strängarna Jag har val att kalla denna implementation Lx nedan. I båda implementationerna betecknar längden på strängen Damerauavståndet är implementerat på samma sätt som den andra implementationen av Levenshteinavstånd med skillnaden att beräknas istället för. Denna algoritm har jag valt att kalla Dx nedan. Exempel på Levenshtein- och Damerauavstånd Jaroavstånd Introducerades av Matthew A. Jaro 1985 och beskrivs i detalj bl.a. av Winkler 1990 (6). Detta mått utvecklades från början för att beräkna likheten mellan längre texter men arbetar på ordnivå och beräknar avståndet mellan varje ord till motsvarande ord i den andra texten för att på så sätt hitta totala avståndet mellan texterna. Avståndet mellan två strängar definieras som W Där är vikten associerad med i: te strängen är vikten associerad med transpositioner är antalet matchande bokstäver är antalet transpositioner är längden på i: te ordet Definition Två bokstäver från strängarna och anses matcha om deras position inte skiljer sig mer åt än Definition Om två bokstäver från strängarna och matchar men kommer i olika ordning så finns det en halv transposition i strängen Definition Definition Enligt Winkler är det lämpligt om W och i hans arbete har han godtyckligt valt W. Jag valde att behålla detta värde så definitionen för Jaroavståndet i min implementation är 5

12 Tröskelvärdet för vilka strängar som ska returneras är det som har varierats i undersökningen. Om tröskelvärdet satts till x har enbart de strängar med returnerats. Jaroavståndet betecknas nedan med Jx för olika värden på x. Exempel på Jaroavstånd Jaro-Winkleravstånd Introducerades av William E. Winkler 1990 (6). Det är en variant på Jaroavstånd som premierar strängar som har ett identisk startprefix v en viss längd. Jaro-Winkleravståndet definieras enligt Där är Jaroavståndet mellan och. är längden på matchande prefix. är maxlängden för matchande prefix. Winkler har valt a till 4 utan närmare motivering. är en skalfaktor. I Winklers orginalarbete är den satt till 0,1. Jag valde att använda samma numeriska värden som Winkler även om det troligtvis går att optimera. Optimala värden för och beror troligtvis på den genomsnittliga längden hos orden som ska matchas detta är dock inget som jag undersökt. Tröskelvärdet x för Jaro-Winkleravståndet har varierats på samma sätt som för Jaroavståndet och betecknas ned med JWx. Exempel på Jaro-Winkleravstånd Som synes påverkas inte resultatet för två strängar som inte har något gemensamt prefix, Johansson-Andersson, medan två strängar som har ett långt gemensamt prefix får ett högre värde, Johansson-Johanzon. N-gram förfaranden N-gram är att man delar upp ordet i delar besående av n bokstäver och sedan jämför antalet lika delsträngar. För att kunna jämföra två strängar behövs även här ett likhetsmått,. Det enklaste måttet är att helt enkelt räkna antalet N-gram som förekommer i de bägge strängarna. För lite mer avancerade mått kan man antingen använda sig av ett mått beskrivet av Ukkonen 1992 (7). Eller så kan man använda ett mått beskrivet av Pfeifer et al (8). Där är mängden av alla N-gram i sträng. 6

13 Ett problem med alla dessa mått är att de förlorar information om N-gramens position i strängen och de tar inte heller hänsyn till eventuella dubbletter av N-gram inom namnet. Enligt (9) är dock upprepade bi- och trigram väldigt sällsynta. Val av N Du (10) hänvisar till en undersökning av Salton 1988 som tyder på att bi- och trigram skulle vara bäst lämpade för fonetisk sökning. Unigram har enligt den undersökningen för låg precision och N-gram med har för dålig täckning. Mina egna undersökningar med uni-, bi-, tri- och 4-gram pekar åt samma håll. Trots detta har jag valt att inkludera bi-, tri- och 4- gram i utvärderingen för att se om resultaten stämmer även för större datamängder. Utfyllnadstecken Pfeifer et al. (8) föreslår att man i början och/eller slutet av orden sätter utfyllnadstecken innan man beräknar N-gramlikheten för att förbättra sökresultatet. Om utfyllnadstecknen används ökar antalet involverade N-gram vilket troligtvis ökar precisionen utan att inverka särskilt mycket på täckningen. Jag har endast utvärderat med utfyllnadstecken på bägge sidor och har valt att testa alla möjliga värden på. Vid utvärderingen av N-gramanalys har följande parametrar varierats N, k och tröskelvärdet x. Enbart strängar som gett har returnerats. De olika parameteruppsättningarna har nedan namngivits knx. Exempel på N-gramavstånd med avståndmått enligt Pfeifer et al. N(Johansson, Jansson) N(Johansson, Jonasen) N(Johansson, Johanzon) N(Johansson,Andersson) Bigram, k=0 Bigram, k=1 Trigram, k=0 Trigram, k=1 Trigram, k=2 Exempel på N-gramavstånd med avståndmått enligt Ukkonen. Bigram, k=0 Bigram, k=1 Trigram, k=0 Trigram, k=1 Trigram, k=2 N(Johansson, Jansson) N(Johansson, Jonasen) N(Johansson, Johanzon) N(Johansson,Andersson) 7

14 Algoritmer för fonetisk sökning Inledning Både de teckenkodande och de grafemkodande algoritmerna har alla ganska långa listor på ersättningsregler som gör sig dåligt i löpande text. I de fall där jag bedömt att ersättningsreglerna har ett intresse men är för långa för att stå med i texten så har regeluppsättning förpassats till Appendix där en detaljerad beskrivning eller noggranna källor finns att hitta för alla utvärderade algoritmer. Förutom de algoritmer som nämns nedan finns det ett väldigt stort antal fonetiska sökalgoritmer som jag valt att inte ta med. Dessa algoritmer har ej tagits med då de varit anpassade för et tspecifikt språk och då troligtvis lämpar sig sämre för sökning på svenska namn. De engelskspråkiga fonetiska sökalgoritmer jag valt att ta med finns antingen i dagsläget implementerade i Solr (Metaphone, DoubleMetaphone, Soundex) eller har någon form av anspråk på att fungera i en internationell kontext (Phonix, Soundex). Det finns dock flera andra algoritmer som är tänkta för sökning på engelska namn bl.a. ipadist (9), caverphone (11), ONCA (12) och Synoname (13). Även för tyska finns det ett flertal, däribland Kölner Phonetics (14) (15), Daitch-Mokotoff soundex (16), Phonem (17) och Chamer Phonetik (18). Teckenkodande Dessa algoritmer ser enbart till varje enskilt tecken i namnet och bryr sig inte alls om tecknens kontext. De blir av denna anledning tämligen grova men väldigt snabba och enkla att implementera. Konsonantkodning Ser man till skrivet språk så märker man väldigt tydligt att uttalet till stor del styrs av de ingående konsonanterna medan vokalerna är av underordnad betydelse. De flesta algoritmer för fonetisk sökning utgår, som tidigare nämnts, från detta och väljer att helt eller delvis ignorera vokalerna i orden. Soundexalgoritmen nedan är ett väldigt tydligt exempel på detta då den helt ignorerar vokalerna och enbart använder sig av fonetisk kunskap gällande konsonanterna. För att se vilka effekter den fonetiska kodningen fick så implementerade jag även en väldigt naiv konsonantkodning som endast avlägsnade alla vokaler ur namnet. Nedan kallas algoritmen för Kkodning Exempel på Konsonantkodning Johansson Andersson Lindgren Kkodning JHNSSN NDRSSN LNDGRN Soundex Soundex är den äldsta metoden för fonetisk indexering och patenterades redan 1918 av Robert C. Russel (19). Metoden användes i omgångar för folkräkning i USA i lite olika utföranden åtminstone fram till 1950talet (20). Soundex bygger på fonetisk likhet mellan vissa bokstäver, framförallt för engelskt uttal, men grupperna stämmer relativt bra även för svenska. Då den använts för folkbokföring i USA samt är en principiellt enkel algoritm har den fått en enorm spridning jämfört med övriga algoritmer och är idag den mest använda fonetiska sökalgoritmen. 8

15 Algoritmen är som sagt relativt enkel och bygger på att den första bokstaven i ordet blir den första bokstaven i nyckeln. Nyckelns byggs sedan upp genom att de konsonanter som ingår i ordet tilldelas ett siffervärde enligt givna regler och denna siffra förs till nyckeln. Algoritmen är snabb och enkel men har i originalutförande ett par nackdelar. Den är bland annat beroende av den första bokstaven vilket kommer att göra att namn som Jus och Ljus får olika nycklar, J200 och L220 respektive, och de kommer då inte anses lika. Den är även ganska bred och kommer ge väldigt olika namn som Svensson och Zupanic samma nyckel, S152, och de kommer då anses lika. Ett tredje problem med de flesta soundeximplementationer som finns är att de inte klarar av att hantera hela det svenska alfabetet. Detta är dock inget större problem då de flesta implementationer behandlar okända tecken som vokaler och ignorerar dem. Soundexalgoritmen kan varieras på ett flertal sätt. De fonetiska ekvivalensgrupper som används för konsonanterna kan varieras, koden behöver ej trunkeras till fyra tecken, även den bokstav som står först i nyckeln kan kodas eller så kan hänsyn tas till vokalerna. Jag har valt att implementera en del av dessa ändringar i olika kombinationer för att försöka se hur det skulle påverka algoritmen. Här nedan kommer jag presentera de varianter på soundexalgoritmen som jag valt att utvärdera. American Soundex/Miracode Den mest använda grupperingen av bokstäver utvecklades på 1930 talet och går under benämningen American Soundex eller Miracode. Jag valde att implementera denna istället för någon av de tidigare versionerna då det är den senast utvecklade för myndighetsbruk och därför troligtvis mest genomtänkt. Specifikationer tillhandahålls av US National Archives på webben (21) men jag har valt att ha dem även i Appendix. Nedan kallas algoritmen för ASoundex. PhonixSoundex Phonix är en algoritm för fonetisk sökning som kommer beskrivas i mer detalj nedan. Ett steg i algoritmen är dock att koda nyckeln med en soundexliknande algoritm där dock ekvivalensklasserna är något modifierade. Då jag ville undersöka hur mycket ekvivalensklasserna påverkade Soundexalgoritmen och dessa, utvecklades i slutet på 80-talet, var de modernaste jag lyckats hitta valde jag dem för att se om och hur mycket de påverkade originalet. De exakta ekvivalensklasserna finns i appendix. Nedan kallas algoritmen för PSoundex. FösrstaBokstavenKodadSoundex Då det visade sig att olika implementationer av Soundexalgoritmen genomgående gav bäst resultat då ekvivalensklasserna från PhonixSoundex användes har endast dessa implementationer tagits med i den slutgiltiga utvärderingen. Reglerna som använts i denna implementation är samma som i PhonixSoundex med den extra regeln att även den första bokstaven kodas Nedan kallas algoritmen för FSoundex. OändligSoundex Reglerna som använts i denna implementation är samma som i PhonixSoundex men utan begränsningen på en maximalt fyra symboler lång kod Nedan kallas algoritmen för OSoundex. OändligFörstaBokstavenKodadSoundex Reglerna som använts i denna implementation är samma som i OändligSoundex med den extra regeln att även den första bokstaven kodas Nedan kallas algoritmen för OFSoundex. 9

16 OändligVokalSoundex Reglerna som använts i denna implementation är samma som i OändligSoundex men med skillnaden att istället för att ignorera vokaler, H och W så ersätts dessa med symbolen v och med regeln att dubbletter av v ersätts med ett v. Nedan kallas algoritmen för OVSoundex. Exempel på hur nycklarna kan se ut för de olika Soundeximplementationerna ASoundex PSoundex FSoundex OSoundex OFSoundex OVSoundex Johansson J525 J J Jv58v5 Andersson A536 A536 v536 A53685 v53685 A53v68v5 Lindgren L532 L L Lv5326v5 Grafemkodande Dessa algoritmer ser till större delar av ordet och innehåller regler för hur grupper av bokstäver ska hanteras. På så sätt kan de hantera situationer där en viss sammansättning av bokstäver kodar för ett specifikt ljud. Exempel på dessa sammansättningar skulle kunna vara <lj> som uttalas /j/ eller <stj> och <ch> som uttalas /ɧ/. De blir dock på grund av dessa regler betydligt mer spårberoende och även något mer komplicerade att implementera. I många fall blir de även långsammare än de enklare teckenkodande algoritmerna. NYSIIS NYSIISalgoritmen togs fram i USA på 1970 talet då man var missnöjd med de implementationer av Soundex som användes då de hade för dålig precision. Algoritmen beskrivs av (22). Algoritmen transformerar innamnet med hjälp av ett tiotal regler till ett namn med normerad stavning och genererar till skillnad mot Soundex en uttalbar nyckel. I originalutförande trunkeras nyckeln sedan till sex tecken. Algoritmen kallas nedan för NYSIIS TrunkeradNysiis För att se hur mycket trunkeringen påverkade implementerades även en version som alltid returnerade en sex tecken lång nyckel. Kallas nedan för TNYSIIS Exempel på nycklarnas utseende för de olika NYSIIS implementationerna NYSIIS TNYSIIS Johansson JAHANSAN JAHANS Andersson ANDARSAN ANDARS Lindgren LANDGRAN LANDGR Reglerna för alla tre algoritmer finns i Appendix. Phonix Phonix beskrivs översiktligt av Gadd 1988 (23) och i detalj Gadd 1990 (24). Algoritmen är framtagen för att användas i ett bibliotekssystem som ska säljas över hela världen. Phonix är egentligen inte enbart en algoritm utan ett helt system för fonetisk sökning på boktitlar och författarnamn som tillåter att man utökar sökningarna och även rankar resultaten. Den del av Phonix som jag har implementerat och utvärderat är enbart själva indexeringen. Den består första av ett hundratal regler för att transformera indataordet till ett ord med normerad stavning. 10

17 Detta namn kodas sedan med en soundexliknande algoritm. Reglerna är ganska specifika för det engelska språket men i artikeln talar Gadd om användning med andra språk än engelska. Av denna anledning ansåg jag att det var motiverat att implementera Phonix. Algoritmen kallas nedan för Phonix. Exempel på Phonix Johansson Andersson Lindgren Phonix J2585 v5385 L45265 Metaphone Metaphone är en av de algoritmer som idag finns implementerad i det system som Sunstone använder. Det är den algoritm som näst efter Soundex har störst spridning. Algoritmen utvecklades av Lawrence Philips 1990 och koden publicerades i decemberutgåvan av Computer Language Den artikeln går inte att få tag på, men open source-projektet Aspell säger sig ha originalbasic-koden på webben (25). Jag har ej implementerat en egen version utan nöjt mig med att se till att den som finns implementerad i Solr stämmer överens med den kod som anges som originalkoden i källan ovan. Algoritmen använder sig av ett femtiotal regler för att normera stavningen. Algoritmen kallas nedan för Meta. Exempel på Meta Johansson Andersson Lindgren Meta JHNS ANTR LNTK DoubleMetaphone DoubleMetaphone finns i dagsläget implementerad i Solr så jag har därför ej implementerat den själv. Algoritmen utvecklades av Lawrence Philips 2000 och publicerades första gången i juniutgåvan av C/C++ Users Journal samma år. Då jag ej lyckats uppbringa originalkoden har jag enbart jämfört versionen implementerad i Solr med andra implementationer jag funnit på nätet, bland annat den version som finns i Aspell (25), för att se om och hur de skiljer sig åt. Slutsatsen var att skillnaderna var väldigt små och då originalkoden ej gått att finna anser jag att den version som finns i Solr kan anses vara representativ för algoritmen som utvecklades av Lawrence Philips. Denna algoritm är betydligt mer komplicerad än Metaphone och har ett hundratal regler som används. I vissa utföranden genererar algoritmen alternativa nycklar så att ord med tvetydigt uttal ges två nycklar, detta för att öka täckningen. Algoritmen kallas nedan för DMeta. Exempel på DMeta Johansson Andersson Lindgren DMeta JHNSN eller AHNSN ANTRSN LNTKRN 11

18 Wåhlinkodning I en arbetsrapport från 1977 beskriver Staffan Wåhlin en metod för att generera variantstavningar av svenska släktnamn (26). Med hjälp av ca. 30 regler transformeras indata till ett namn med normerad stavning. Det finns en del oklarheter i rapporten gällande exakt hur reglerna ska implementeras så jag har valt att nöja mig med att min implementation genererar samma normerade stavning som Wåhlins implementation på de ca 200 exempel som finns bifogade i arbetsrapporten. Algoritmen kallas nedan för Wåhlin. Exempel på Wåhlinkodning Johansson Andersson Lindgren Wåhlin JOHANSON ANDERSON LINDGREN Patent och Registreringsverkets algoritm Patent och registreringsverket (PRV) måste utföra fonetiska sökningar på namn som personer vill byta till. Sunstone har utvecklat det program som idag används på PRV så jag fick möjlighet att testa även det och på så sätt kunna jämföra de algoritmer jag hittat mot vad som förmodligen är ett av de mest sofistikerade systemen för fonetisk sökning på svenska. PRV:s system bestå av två delar. Först en indexeringsdel som är väldigt lik Wåhlinkodningen och sedan en frågegenereringsdel där det för en given sökfråga genererar uppemot hundra sökfrågor som sedan alla söks efter i databasen. Jag har valt att implementera bägge och indexeringsdelen kallas nedan för PRV. Hela systemet med den utökade sökningen kallas nedan för PRVhel. Exempel på PRV Johansson Andersson Lindgren Wåhlin JOHANSO ANDERSO LINDGRE 12

19 Datainsammling För att göra en korrekt undersökning ansåg jag att det var viktigt att ta fram en så stor databas som möjligt. Den största tänkbara gällande svenska efternamn är SCB:s lista över alla svenska efternamn. Av någon anledning är denna lista inte tillgänglig annat än för företag. Däremot finns det ett flertal hemsidor som erbjuder olika typer av namnstatistik. En av dessa är Svenska namn (27), de har SCB:s lista från 2010 upplagd på sin hemsida och man kan bläddra i den. Tyvärr får man bara se 15 namn åt gången och då listan är namn lång så var det allt för jobbigt att gå igenom listan för hand och kopiera ut relevant information. Ett litet program sattes ihop som sparade ner alla namn tillsammans med antalet gånger de förekommer i Sverige. Av hänsyn till företaget så sattes en paus på några sekunder in efter varje sökning vilket ledde till att det tog närmare åtta timmar att genomföra sökningen men Svenska namns hemsida utsattes inte för onödig belastning. Namnstatistik För att få en uppfattning om hur korpusen såg ut och för att kunna jämföra korpusen med de som använts i andra liknande undersökningar så gjordes en del undersökningar rörande datamängdens beskaffenhet. Som tidigare nämnts så fanns det unika efternamn i Sverige Medelantalet personer som delade på ett efternamn var lite drygt 19 medan medianen var 2. Med andra ord var det en ganska skev fördelning över hur många personer som delade på efternamnen. Ser man till de 100 vanligaste efternamnen så bärs de av 32,6% av befolkningen och hela 54,8% har något av de 1000 vanligaste efternamnen. Utifrån dessa siffror valde jag att välja de namn som skulle ingå i utvärderingsarbetet från de 1000 vanligaste. Detta då människor när de antingen hör ett ovanligt namn eller missuppfattar ett godtyckligt namn med stor sannolikhet söker efter något av dessa 1000 första då dessa troligtvis är namn som de har hört förr och känner igen. Även dubbelnamnen undersöktes närmare. I kapitlet för fonetisk sökning nämns en del av de problem som hör samman med dubbelnamn och för att göra det enkelt för mig själv tänkte jag i stort sett ignorera problematiken med dubbelnamn genom att anse att alla som innehöll ', -,., : och var dubbelnamn. För att se vad detta skulle få för konsekvenser undersöktes dubbelnamnen noggrannare. Det visade sig att 23,4% av namnen var dubbelnamn enligt definitionen ovan men denna definition inkluderar även bl.a. alla adelsnamn innehållande von, de, à osv. Men även son och dotternamn ur andra språkfamiljer som exempelvis arabiska eller keltiska drabbas då dessa namn här betecknas med olika typer av ord exempelvis Al, Bin, Ibn, Nic mm. och dessa namn får då samma struktur som ett dubbelnamn. Adelsnamnen och son/dotternamnen står dock för enbart ca. 2%. Då det med andra ord blir relativt få felaktigt behandlade ord och majoriteten av dessa är ganska ovanliga eller hör till andra språkfamiljer ansåg jag att det var rättfärdigat att behandla dubbelnamnen på detta sätt. För att generera den slutgiltiga korpusen delades alla dubbelnamn upp vid alla skiljetecken och delarna återinfördes sedan i listan över namn. Dubbletter sorterades ut ur listan och detta resulterade i en lista med unika namn. 13

20 Jämförelse av algoritmerna Teori Enligt van Rijsbergen (28) finns det potentiellt sex olika aspekter av ett informationssökningssystem som kan utvärderas. 1. Innehållet, hur mycket relevant data innehåller systemet 2. Söktiden, den genomsnittliga tiden mellan det att sökningen gjordes och svaret presenterades 3. Presentationen, hur presenteras resultaten för användaren 4. Ansträngning, hur svåranvänt är systemet 5. Täckning, hur stor del av det relevanta materialet returneras av en sökning 6. Precision, hur stor del av de returnerade resultaten är relevanta Intressant för detta arbete har varit punkterna 1, 2, 5 och 6. Användbarhetsaspekterna enligt punkt 3 och 4 är av framförallt av intresse först när ett faktiskt system har byggts medan denna rapport enbart syftar till att utvärdera algoritmerna. Innehållet i systemet har varit så komplett som möjligt då alla svenska efternamn har använts. Söktiden är endast av underordnat intresse då algoritmerna ej optimerats så de siffror på söktid som jag fått fram är enbart en fingervisning. Precision och täckning är däremot två relevanta mått på en söknings effektivitet. Med en söknings effektivitet menas systemets förmåga att returnera så många relevanta resultat som möjligt samtidigt som mängden icke relevanta resultat hålls till ett minimum. Precision och täckning illustreras grafiskt i figuren nedan Utifrån figuren ovan kan precision definieras som Täckning definieras som Detta gäller för varje sökning som görs. För att kunna jämföra algoritmernas prestation överlag beräknades medelvärdet av precisionen och täckningen för ett stort antal sökningar enligt Precision och täckning beskriver dock två olika aspekter av en sökalgoritm. För att beskriva dess totala effektivitet har ett flertal mått föreslagits under åren. Ett av de mest använda är F- värde. F-värdet räknas ut utifrån precisionen och täckningen och är konstruerat så att det mäter sökningens effektivitet då användaren lägger β gånger större vikt vid täckning än vid precision (28) 14

21 F 1 -värdet som beskriver den situationen att användaren lägger lika stor vikt vid täckning som vid precision var länge det vanligaste måttet men även F 2 och F 0,5 är vanligt förekommande. Jag har tagit med alla tre i utvärderingen för att se om någon algoritm utmärker sig överlag. Tidigare arbeten Ett flertal olika studier av fonetiska sökalgoritmers effektivitet har genomförts. De flesta studier rör engelska eller tyska efternamn men följande fyra behandlar svenska namn eller svenska ord. Approximate Swedish Name Matching - Survey And Test Of Different Algorithms Erikson 1997 (29) Erikson går igenom en stor mängd algoritmer för både fonetisk sökning och strängjämförelse och gör sedan en jämförelse mellan Soundex, N-gramavstånd och viktat Damerauavstånd. Erikson använder en strikt definition på likhet i sina undersökningar och enbart strängar som kodar för exakt samma uttal anses lika. Databasen som användes för undersökningarna bestod av drygt 5000 namn och de korrekta träffarna identifierades genom att databasen gicks igenom manuellt för varje sökfråga. Fonetisk distansmätning av ord i lexikon Wache 1999 (15) Wache använder en modifierad variant av Levenshteinavstånd för att beräkna likhet mellan svenska ord som är fonetiskt transkriberade till SAMPA-notation (30). Resultaten är endast kvalitativa men hans förslag på algoritm verkar lovande om man skulle kunna generera SAMPA-notationen automatiskt. Approximate Name Matching Du 2005 (10) Du använder sig av en databas med knappt 5000 namn. Namnen är medvetet valda från flera olika språkbakgrunder men svenska namn är en delmängd av de undersökta namnen. Du undersöker ASoundex, FSoundex, N-gramanalys med bi- och trigram samt levenshteinavstånd Likhetsmåttet som används är att strängar som kodar för samma eller snarlikt uttal eller strängar med snarlikt utseende anses lika. Likhetsbedömmningen gjordes av två personer i samråd dock utan att närmare specificera vad som menas med snarlikt. För att finna alla relevanta träffar i databasen gicks den igenom manuellt för varje sökfråga. En större databas med över namn användes också dock enbart för att testa algoritmernas snabbhet. Soundex-algoritmer: Hur bra fungerar de på svenska namn? Hansson 2008 (31) Hansson gör i detta arbete en undersökning av åtta olika grafem och teckenkodande algoritmer och levenshteinavstånd. Databasen som används är en databas över moderna svenska namn och deras historiska stavningsvarianter. Databasen innehöll ca unika efternamn med stavningsvarianter, totalt ca namn. Hansson definierar inget explicit likhetsmått utan en träff anses relevant om den finns med i listan över söksträngens historiska stavningsvarianter. Dessa fyra undersökningar har jobbat med väldigt skiftande likhetsmått och alla har jobbat med relativt små datamängder. Resultaten från dem är väldigt skiftande för de algoritmer som finns med i flera av undersökningarna vilket belyser det faktum att uttalslikhet är någonting väldigt subjektivt och beroende på vad som anses lika av de som genomför undersökningarna så presterar algoritmer väldigt olika. Gemenamt för undersökningar är dock resultatet att ingen algoritm klarar av att leverera både en hög precision och en hög täckning utan det blir alltid en kompromiss. 15

22 Utvärdering För att kunna utvärdera algoritmernas prestanda med avseende på de ovan beskrivna måtten behövdes först ett facit tas fram. För detta valdes först valdes 50 namn slumpmässigt bland de 1000 första. Sedan behövdes definition på likhet. Som beskrivits ovan så har de liknande arbetena haft ganska skilda definitioner på likhet. Då Eriksons arbete (29) är väldigt uttömmande vad gäller strängar med exakt samma uttal valde jag att fokusera på en bredare definition av likhet. Min definition av likhet blev följande Om två ord uttalas såpass lika att människor i allmänhet anser att det finns en risk för sammanblandning kan de anses vara lika. Utifrån denna definition på likhet skulle jag sedan finna alla relevanta objekt i databasen för mina testfrågor. Då det i definition av likhet fanns inbakat människor i allmänhet var jag tvungen att på något sätt få reda på vad denna allmänhet ansåg var lika uttal för att kunna avgöra vilka namn som var relevanta svar för varje given sökfråga och vilka som inte var det. Att, som i tidigare arbeten, låta en eller flera personer gå igenom hela listan med namn för varje sökfråga för att finna alla relevanta namn var inte möjligt på grund av den stora mängden namn. Istället gjordes en sökning mot databasen med alla algoritmer beskrivna i kapitlen ovan för att på så sätt förhoppningsvis få en täckning på 100 % då alla algoritmerna modellerar något olika tvetydigheter i språket. Precisionen på denna sökning blev dock oerhört låg och metoden resulterade i mellan 200 och 4000 potentiellt relevanta namn för varje testfråga. Jag gjorde sedan en väldigt grov sållning och tog bort de ord som uppenbarligen inte var korrekta träffar och lämnade enbart sådant som eventuellt skulle kunna uttals lika dant. Exempel på ordpar som inte sorterades bort är Ekstrand-Eckestav, Lundholm-Landhammar och Peterson-Partazyan. Efter denna sållning fanns 2500 ordpar kvar vilket svara mot cirka 50 potentiella träffar för var och en av sökfrågorna. Uttalslikhet är dock, som tidigare nämnt, någonting väldigt subjektivt så även om jag nu hade en begränsad ängd namn att gå igenom så skulle en ranking av uttalslikhet utförd av enbart mig knappast uppfylla definitionen. Inspirerad av Folkets synonymlexikon (32) skapades en hemsida som lät personer ranka dessa grovsållade ordpar på en fyrgradig skala som sträckte sig från Uttalas inte likadant till Har exakt samma uttal. Länken till hemsidan spreds sedan till släkt och vänner med uppmaningen att sprida den vidare. De som gick in på hemsidan presenterades med ett ordpar och ombads ranka det på nämnda fyrgradiga skala. Det är svårt att uppskatta hur många personer som bidrog till rankandet men strax under 8000 röster har fåtts in och jag tror att ca människor har varit inne och klickat utifrån de kommentarer jag fått från vänner och bekanta. De 2500 ordpar som fanns på hemsidan har alla fått mellan 1 och 10 röster med medel och median på ca 5 så jag anser att detta kan anses vara en allmän uppfattning. Då det visade sig gå väldigt snabbt att få in data för dessa 50 frågor valde jag att utöka mängden sökfrågor med ytterligare 50 till totalt 100. Med samma metod som ovan togs potentiellt relevanta träffar fram även för dessa 50. Det visade sig dock att folks intresse för att ranka uttalslikheter hade falnat betydligt efter de första 50 orden. För att trots detta kunna utöka mängden sökfrågor rankade jag själv alla de första 50 orden för att se hur långt från den allmänna uppfattningen min egen uppfattning var och överensstämmelsen var ca 98 %. För att arbetet skulle kunna fortsätta valde jag då att låta de resterande 50 enbart rankas av mig själv och ytterligare en person och medelvärdet av våra åsikter ansågs sedan tillräckligt likt den allmänna uppfattningen för att vara användbart. När sedan ett facit hade tagits fram beräknades den genomsnittliga precisionen, täckningen, söktiden och de olika F-värdena för alla algoritmer enligt ekvationerna ovan. 16

23 Unika nycklar Antal tecken Resultat Inledande undersökningar Medan det ovan beskrivna facit togs fram genom omröstning på hemsidan gjordes en del inledande undersökningar av algoritmerna för att se om några slutsatser sedan kunde dras utifrån dessa enkla tester. Detta för att se om algoritmer eventuellt skulle kunna förkastas efter dessa enkla tester för att på så sätt undvika att de mer utförliga testerna skulle behöva göras vid framtida undersökningar. De undersökningar som gjordes var att se på de genererade nycklarnas längd och deras antal. Medellängd på de genererade nycklarna Figur 1: Den genomsnittliga längden på de nycklar som genereras av respektive algoritm. Namn är medellängden på namnen i databasen. Antal genererade nycklar Figur 2: Antalet unika nycklar som de fonetiska sökalgoritmerna genererar vid indexeringen. Namn är antalet unika namn i databasen. Precision och Täckning De algoritmer som testats är antingen fonetiska sökalgoritmer eller algoritmer för beräkning av strängavstånd. Algoritmerna för fonetisk sökning har inga parametrar att ställa in utan enbart en 17

24 uppsättning regler. Däremot finns det ett flertal parametrar till var och en av algoritmerna för beräkning av strängavstånd. Ett mycket stort antal parameteruppsättningar för var och en av algoritmerna har undersökts men enbart de parameteruppsättningar som fått högst F -värde för de tre undersökta värdena på finns representerade i resultaten. 1,2 1 0,8 0,6 0,4 0,2 0 Precision och täckning för de fonetiska sökalgoritmerna Precission Täckning Figur 3: Här visas precision och täckning för de tecken- och grafemkodande algoritmerna sorterade på stigande precision. 1,2 1 0,8 0,6 0,4 0,2 0 Precission och täckning för strängdistansalgoritmerna Precission Täckning Figur 4: Precision och täckning för de olika strängdistansalgoritmerna sorterade på stigande precision. F-värde Tre olika F -värden har undersökts. F 1 som innebär att användaren lägger lika stor vikt vid täckning som vid precision, F 2 som innebär att användaren lägger dubbelt så stor vikt vid vid täckning som vid precision samt F 0,5 som innebär att användaren lägger hälften så stor vikt vid vid täckning som vid precision. 18

25 Fonetiska Sökalgoritmer 0,8 0,7 0,6 0,5 0,4 0,3 0,2 0,1 0 F1 F0,5 F2 Figur 5: F 1 -, F 2 - och F 0,5 -värden för de tecken- och grafemkodande algoritmerna sorterat på stigande F 1 -värde. 0,7 0,6 0,5 0,4 0,3 0,2 0,1 0 Strängdistansalgoritmer F1 F0,5 F2 Figur 6: F 1 -, F 2 - och F 0,5 -värden för strängdistansalgoritmerna sorterat på stigande F 1 -värde. Antal söksvar För att kunna analysera algoritmerna något noggrannare undersöktes även antalet resultat som en sökning gav i medeltal och detta jämfördes sedan med antalet varianter som fanns för varje sökfråga. Som jämförelse finns även medelvärdet av antalet korrekta alternativ med. I medeltal fanns det 12 korrekta svar för en sökfråga, antalet varierade dock mellan tre och 35. Dessa grafer visar ganska snabbt att de strängdistansalgoritmer som har högst precision i stort sett är värdelösa då de i medeltal returnerar endast lite drygt ett svar per sökfråga. De returnerar med andra ord enbart söksträngen självt och är av väldigt lite intresse. 19

26 Medelvärde antal söksvar Figur 7: Medelvärdet av antalet söksvar som de tecken- och grafemkodande algoritmerna returnerade för alla sökfrågor. Antalnära är medelvärdet av antalet relevanta träffar söksträngarna hade Medelvärde antal söksvar Figur 8: Medelvärdet av antalet söksvar som strängdistansalgoritmerna returnerade för alla sökfrågor. Antalnära är medelvärdet av antalet relevanta träffar söksträngarna hade. Nedan följer tre grafer, en för var och en av de algoritmer som fick högst F 1 -värde i sin kategori. Graferna visar antalet resultat som returnerades av algoritmen för varje sökfråga. Sökfrågorna är den horisontella axeln och de är sorterade efter stigande antal relevanta poster i databasen. Punkten längst till vänster på den horisontella axeln svarar exempelvis mot Hildingsson som enbart har tre strängar i databasen med snarlikt uttal. Längst till höger återfinns sedan Carlson med som har 35 strängar med liknande uttal i databasen. 20

Æ ÃÌÀ ØÝ ÔÓĐ Ò ¾ ¾ ½ ½¼ ÈÊ Ì¹Ä ĐÓ Ø Ò» ¾½¼ ¼ Ñ ÜØÖ ÙÔÔ Ø ßµ Á ½¼½ ÐÝ Ò Ò Ú ÐÓØ Ä Đ Ë ÆÎÁËÆÁÆ ÊÆ Á Á¹ÍÈÈ Á ÌËÀ Đ Ì Ì Đ ÇÊËÌ Î ÖÙ Ð Ö Ø ÓÒ Î Đ ÖÑ ÒØ Ö Ò ÑÙÐ Ö Ò Ú Ò Ñ Ø Ñ Ø ÑÓ Ðк Ò ØÙÒØ È Ð ÒÒ Ðк ØØ ÐÓØ

Läs mer

Ë Ñ ÙÒ Ø ÆÝ ÍØ Â Ö ØØ ĐÓÖØÖÓ Ò Ø Ú Ñ ÙÒ Ø ÒÝ ØÝÖ Ð ØØ Ú Ö ÓÑ Ö ØĐÓÖ ĐÓÖ Ùع غ ØØ Đ Ö Ò ÒÝ ÔÓ Ø Ó Ò Ø ØĐ ÐÐ Ú Ö ÑĐÓØ Ø ÍÔÔ Ð Ñ ØØ Öº Î ÑÑ ÑĐÓØ ÐĐÓØ ØØ ÔÓ Ø Ò ÓÑ Ö ØĐÓÖ ÙØ Ú ØÝÖ Ð Ò Ó Ò¹ Ò Ú Ö Đ Ö Ò Ú Ö

Läs mer

Alternativ vattenbehandling

Alternativ vattenbehandling Alternativ vattenbehandling Effekter, mekanismer och perspektiv på vattenkvalitet Lasse Johansson Institutet för Ekologisk Teknik Forskningsrapporter 2 Göteborg - 2005 ÐØ ÖÒ Ø Ú Ú ØØ Ò Ò Ð Ò Ø Ö Ñ Ò Ñ

Läs mer

¾ ½½¾ Ø ÐÓ Á ÖÙÒ ÙÖ Ñ Â Ú ¾¼¼¾ ¾¼¼ Ä ÙÖ ½ ÒÒ Ð ÙÖ ÓÑ ØØ Ö ÓÐ ÑÓÑ ÒØ Ö ÑÓÑ ÒØ ¾ ÐÐ Ö ÓÚ º Ì Ñ ÒÒ Ø ÐÐ Ú Ö Ö ÓÚ Ò Ò Ó Ø ÐÐ ØØ Ù Ö Ú ØØ Ò ÖÒ Ò ÐÖ Ö º Ö Ò Ò ÙÐÐ Ô Ö Ò Ø ÐÐ Ù ØØ ØØ Ò Ö ÙÐØ Ø Ö ÒÖ ÔÔÓÖØ Ö Ø

Läs mer

¾ ½½¾ Ø Ó Á ÖÙÒ ÙÖ Ñ Â Ú ¾¼¼¾ ¾¼¼ Ä ÙÖ ¾ ÒÒ ÙÖ ÓÑ ØØ Ö ¾ Ó ÑÓÑ ÒØ Ö ÓÚ º Ò Ö Ö ÓÑ Ó ÒÒ Ö Ú ØØ Ö Ô ÒÒ º Ö Ò Ò Ù Ô Ö Ò Ø Ù ØØ ØØ Ò Ö ÙØ Ø Ö ÒÖ ÔÔÓÖØ Ö Ø Ä Ó Æ ÑÒ ººººººººººººººººººººººººººººººººººººººººººººººººººººº

Läs mer

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

Skrivstöd. Joakim Nivre. Introduktion till språkteknologi. Skrivstöd. Inledning. Orsaker till stavfel. Detektering av icke-ord Joakim Nivre / 30 Varför bry sig om stavning? Stavfel kan skapa missförstånd Stavfel kan dölja innehåll Standardiserad stavning underlättar många uppgifter Slå upp ord i ordbok Identifiera svårlästa ord

Läs mer

Utveckling av metod och prototyp för detektering av lastförskjutning

Utveckling av metod och prototyp för detektering av lastförskjutning 2004:076 CIV EXAMENSARBETE Utveckling av metod och prototyp för detektering av lastförskjutning MIKAEL KARLSSON PER WESTIN CIVILINGENJÖRSPROGRAMMET Institutionen för Systemteknik EISLAB Embedded Internet

Läs mer

Rapport från Praktik på SVOX AG 2008 05 14 till 2008 09 01

Rapport från Praktik på SVOX AG 2008 05 14 till 2008 09 01 Rapport från Praktik på SVOX AG 2008 05 14 till 2008 09 01 Om SVOX AG Jag gjorde min praktik på företaget SVOX AG, ett företag som bygger och sysslar med TTSmotorer. Företaget bildades våren 2000 och har

Läs mer

Coridendro ett verktyg för att grafiskt åskådliggöra incidensen av malignt melanom inom olika släkter

Coridendro ett verktyg för att grafiskt åskådliggöra incidensen av malignt melanom inom olika släkter Datavetenskap Opponenter: Daniel Jansson Mikael Jansson Respondenter: Mats Almgren Erik Hansen Coridendro ett verktyg för att grafiskt åskådliggöra incidensen av malignt melanom inom olika släkter Oppositionsrapport,

Läs mer

Taltaggning. Rapport av Daniel Hasselrot 781105-0157, d98-dha@nada.kth.se 13 oktober 2003

Taltaggning. Rapport av Daniel Hasselrot 781105-0157, d98-dha@nada.kth.se 13 oktober 2003 Taltaggning av Daniel Hasselrot 781105-0157, d98-dha@nada.kth.se 13 oktober 2003 Sammanfattning Denna rapport är skriven i kursen Språkteknologi och behandlar taggning av årtal i en text. Metoden som används

Läs mer

Grafisk visualisering av en spårbarhetslösning

Grafisk visualisering av en spårbarhetslösning Datavetenskap Opponenter Johan Kärnell och Linnea Hjalmarsson Respondenter Agni Rizk och Tobias Eriksson Grafisk visualisering av en spårbarhetslösning Oppositionsrapport, C-nivå Report 2011:06 1. Generell

Läs mer

Studie av gränssnittsprototyp i projektet Webbklustring - användarupplevelsen

Studie av gränssnittsprototyp i projektet Webbklustring - användarupplevelsen LINKÖPINGS UNIVERSITET Institutionen för Datavetenskap Studie av gränssnittsprototyp i projektet Webbklustring - användarupplevelsen Namn E-mail Evelina Rennes evere305@student.liu.se INNEHÅLL INNEHÅLL

Läs mer

Projektarbete 2: Interaktiv prototyp

Projektarbete 2: Interaktiv prototyp Projektarbete 2: Interaktiv prototyp Jonatan Hilmarch (Grupp 13) 880427-5595 hilmarch@skip.chalmers.se Kurs: Människa-Datorinteraktion TIG061 HT 2010 Projekt 1 - en tillbakablick Enligt projektets systemdefinition

Läs mer

Chapter 3: Using Classes and Objects

Chapter 3: Using Classes and Objects Chapter 3: Using Classes and Objects I dessa uppgifter kommer du att lära dig om hur man använder klasser och metoder från java biblioteket. Du kommer inte att förstå allt som händer bakom metod anrop

Läs mer

Matematik ute ett nytt rum för lärande

Matematik ute ett nytt rum för lärande Matematik ute ett nytt rum för lärande Nyfiken på att lära in matematik ute? (F- år 9) Mattelekar - vi hittar matematiken runt oss (förskolan) Workshop vid Inspirationsplats Stockholm vecka 44 2006 Birgitta

Läs mer

Föreläsning 3.1: Datastrukturer, en översikt

Föreläsning 3.1: Datastrukturer, en översikt Föreläsning.: Datastrukturer, en översikt Hittills har vi i kursen lagt mycket fokus på algoritmiskt tänkande. Vi har inte egentligen ägna så mycket uppmärksamhet åt det andra som datorprogram också består,

Läs mer

725G61 - Laboration 7 Implementation av ett API. Johan Falkenjack

725G61 - Laboration 7 Implementation av ett API. Johan Falkenjack 725G61 - Laboration 7 Implementation av ett API Johan Falkenjack December 13, 2013 1 Inledning Hittills i kursen har vi tittat på grundläggande programmering och grundläggande objektorientering. I den

Läs mer

( ) i xy-planet. Vi skapar ( ) med alla x koordinater och en ( ) med alla y koordinater. Sedan plottar vi punkterna med kommandot. , x 2, x 3.

( ) i xy-planet. Vi skapar ( ) med alla x koordinater och en ( ) med alla y koordinater. Sedan plottar vi punkterna med kommandot. , x 2, x 3. Envariabelanalys med Matlab Under denna kurs kommer vi framförallt att använda Matlab som verktyg i Envariabelanalys. Bl.a skall vi se hur man mha Matlab kan vi rita kurvor i xy-planet, rita grafer till

Läs mer

Namn: Eron Teklehaimanot Klass: 9b Datum: 21 maj 2010 Mentor: Mikael (svenskan) Hållbar utveckling med inriktning naturvetenskap Oljud i klassrummen

Namn: Eron Teklehaimanot Klass: 9b Datum: 21 maj 2010 Mentor: Mikael (svenskan) Hållbar utveckling med inriktning naturvetenskap Oljud i klassrummen Namn: Eron Teklehaimanot Klass: 9b Datum: 21 maj 2010 Mentor: Mikael (svenskan) Hållbar utveckling med inriktning naturvetenskap Oljud i klassrummen 1 Innehållsförteckning Inledning.....sidan 3 Bakgrund......sidan

Läs mer

E-identifiering Beskrivning av tjänsten

E-identifiering Beskrivning av tjänsten E-identifiering Beskrivning av tjänsten Innehåll 1.1 Fördelar med e-identifiering... 3 1.2 Allmän beskrivning av e-identifiering... 4 1.3 E-identifieringens funktioner... 4 1.4 Tillämpningsområden och

Läs mer

DRAFT Mottagningswebben Kravspecifikation

DRAFT Mottagningswebben Kravspecifikation DRAFT Mottagningswebben Kravspecifikation Patrik Stenmark 2006-12-17 Contents 1 Introduktion 2 2 Ordlista 2 3 Användarnas mål 2 3.1 Titel.................................................. 2 3.2 Daddor................................................

Läs mer

OM KRITERIER av Emelie Johnson Vegh och Eva Bertilsson, publicerad i Canis 2004

OM KRITERIER av Emelie Johnson Vegh och Eva Bertilsson, publicerad i Canis 2004 OM KRITERIER av Emelie Johnson Vegh och Eva Bertilsson, publicerad i Canis 2004 Ibland dyker det upp ord som är så fantastiskt användbara och bra att man inte kan begripa hur man någonsin klarat sig utan

Läs mer

TENTAMEN: Design och konstruktion av grafiska gränssnitt DAT215

TENTAMEN: Design och konstruktion av grafiska gränssnitt DAT215 TENTAMEN: Design och konstruktion av grafiska gränssnitt DAT215 DAG: 14 mars, 2011 TID: 8.30 12.30 SAL: Hörsalsvägen Ansvarig: Olof Torgersson, tel. 772 54 06. Institutionen för tillämpad informationsteknologi.

Läs mer

The National Institute of Child Health and Human Development (NICHD) Protocol: Intervjuguide

The National Institute of Child Health and Human Development (NICHD) Protocol: Intervjuguide The National Institute of Child Health and Human Development (NICHD) Protocol: Intervjuguide This Swedish version is based on the English version available on the NICHD Protocol website (www.nichdprotocol.com).

Läs mer

Introduktion till integrering av Schenkers e-tjänster. Version 2.0

Introduktion till integrering av Schenkers e-tjänster. Version 2.0 Introduktion till integrering av Schenkers e- Version 2.0 Datum: 2008-06-18 Sida 2 av 8 Revisionshistorik Lägg senaste ändringen först! Datum Version Revision 2008-06-18 2.0 Stora delar av introduktionen

Läs mer

Föreläsning 11. Giriga algoritmer

Föreläsning 11. Giriga algoritmer Föreläsning 11 Giriga algoritmer Föreläsning 11 Giriga algoritmer Användning Växelproblemet Kappsäcksproblemet Schemaläggning Färgläggning Handelsresandeproblemet Uppgifter Giriga algoritmer (Greedy algorithms)

Läs mer

Hösten 2009. IKT-kompetens för bibliotekspersonal. ArtikelSök. Avancerad guide

Hösten 2009. IKT-kompetens för bibliotekspersonal. ArtikelSök. Avancerad guide IKT-kompetens för bibliotekspersonal Hösten 2009 ArtikelSök Avancerad guide ArtikelSök I ArtikelSök indexeras innehållet i cirka 550 svenska tidskrifter och 15 dagstidningar. Referenserna omfattar artiklar

Läs mer

Solowheel. Namn: Jesper Edqvist. Klass: TE14A. Datum: 2015-03-09

Solowheel. Namn: Jesper Edqvist. Klass: TE14A. Datum: 2015-03-09 Solowheel Namn: Jesper Edqvist Klass: TE14A Datum: 2015-03-09 Abstract We got an assignment that we should do an essay about something we wanted to dig deeper into. In my case I dug deeper into what a

Läs mer

Kurslitteratur Taltranskription: Introduktion

Kurslitteratur Taltranskription: Introduktion Kurslitteratur Taltranskription: Introduktion Mattias Heldner KTH Tal, musik och hörsel heldner@kth.se Köp: Lindblad, P. (2005). Taltranskription. Kompendium. Lingvistik, Lunds universitet. Låna: IPA,

Läs mer

Vätebränsle. Namn: Rasmus Rynell. Klass: TE14A. Datum: 2015-03-09

Vätebränsle. Namn: Rasmus Rynell. Klass: TE14A. Datum: 2015-03-09 Vätebränsle Namn: Rasmus Rynell Klass: TE14A Datum: 2015-03-09 Abstract This report is about Hydrogen as the future fuel. I chose this topic because I think that it s really interesting to look in to the

Läs mer

Användarmanual HOIF.org

Användarmanual HOIF.org Användarmanual HOIF.org HOIF.org 2013-05-21 37 sidor Användarmanual för HOIF.org Introduktion Det här är en manual till alla användare på hemsidan HOIF.org Hur får jag ett användarkonto? För att kunna

Läs mer

Lär dig sökmöjligheterna i Disgen 8

Lär dig sökmöjligheterna i Disgen 8 Det har blivit dags att titta på sökmöjligheterna i Disgen. Det finns egentligen två olika sökfunktioner i Disgen, Välj person och Sök personer. Här behandlas dessa båda funktioner. Välj person och Sök

Läs mer

Lägga till olika dokument i en fil

Lägga till olika dokument i en fil Lägga till olika dokument i en fil Om du vill kombinera flera dokument och göra en enda fil kan du kopiera och klistra in innehållet från alla dokumenten i en enda fil. Eller så kan du öppna det första

Läs mer

Taktikanalys i tennis

Taktikanalys i tennis Taktikanalys i tennis - en del av grusspelets karaktär Micaela Hjelm Gymnastik- och idrottshögskolan Tränarprogrammet åk 2 Kurs: Träningslära 2, 7,5 hp HT-2008 Handledare: Mårten Fredriksson Innehållsförteckning

Läs mer

TDDB96 Projekt: Object priming med visuell stimuli

TDDB96 Projekt: Object priming med visuell stimuli TDDB96 Projekt: Object priming med visuell stimuli Daniel Johansson danjo133@student.liu.se Rickard Jonsson ricjo400@student.liu.se 1. Sammanfattning Vad vi ville komma fram till i denna studie var huruvida

Läs mer

MANUAL FÖR WEBSELMA 27 september 2002 Pedagogiska centralen

MANUAL FÖR WEBSELMA 27 september 2002 Pedagogiska centralen SELMA MANUAL FÖR WEBSELMA 27 september 2002 Pedagogiska centralen 4. SÖK I SELMA 4.1 Allmänt om sökningar 4.2 Valfria sökord 4.2.1 Utökad sökning (högertrunkering) 4.2.2 Kombinerad sökning (boolska operatorer)

Läs mer

Word- sense disambiguation

Word- sense disambiguation KTH Word- sense disambiguation Inlämningsuppgift - DD2418 - sprakt12 Mattias Uskali & Emilia Hillert 1/8/2013 Sammanfattning Denna rapport kommer att undersöka två metoder för word- sense disambiguation,

Läs mer

Planeringsspelets mysterier, del 1

Planeringsspelets mysterier, del 1 Peter Lindberg Computer Programmer, Oops AB mailto:peter@oops.se http://oops.se/ 28 februari 2002 Planeringsspelets mysterier, del 1 Om jag ska spela ett sällskapsspel för första gången så vill jag att

Läs mer

Så gör du din kund nöjd och lojal - och får högre lönsamhet. Tobias Thalbäck Om mätbara effekter av kundnöjdhet

Så gör du din kund nöjd och lojal - och får högre lönsamhet. Tobias Thalbäck Om mätbara effekter av kundnöjdhet Så gör du din kund nöjd och lojal - och får högre lönsamhet Tobias Thalbäck Om mätbara effekter av kundnöjdhet Hög kundnöjdhet ger högre avkastning Företag med hög kundnöjdhet genererar högre avkastning

Läs mer

Språkigenkänning. en tillämpning av OCR system och klassificering. Projekt i Bildanalys. Anna Lindholm Eskil Jönsson

Språkigenkänning. en tillämpning av OCR system och klassificering. Projekt i Bildanalys. Anna Lindholm Eskil Jönsson Språkigenkänning en tillämpning av OCR system och klassificering Projekt i Bildanalys Anna Lindholm Introduktion Syftet med projektet är att undersöka möjligheterna att känna igen vilket språk en text

Läs mer

Digital Display VDS / Bus2

Digital Display VDS / Bus2 3-7449 Digital Display & 3-7447 Digital Knappsats (ref.99622) Se hemsida / support för senaste manualerna. http://www.axema.se/ Ver. 1.2 axema Sida 1 Ändra språk till Svenska. Tryck 0 och efter det ange

Läs mer

Artiklar via UB:s sö ktja nst

Artiklar via UB:s sö ktja nst 1 Artiklar via UB:s sö ktja nst UBs startsida har fått ett nytt utseende. I centrum finns nu UBs söktjänst. Istället för tre sökrutor möts du nu som användare av en sökruta där det är meningen att du kan

Läs mer

TIPSLISTAN om trans på lajv

TIPSLISTAN om trans på lajv TIPSLISTAN om trans på lajv På Prolog 2015 samlades 17 stycken lajvare med transerfarenheter på utvecklingsforumet Att lajva utanför könsnormerna. Där skapade vi bland annat den här listan med grundläggande

Läs mer

LäsFlyt Metodhandledning

LäsFlyt Metodhandledning LäsFlyt Metodhandledning Copyright Softogram AB LäsFlyt är skyddat i enlighet med upphovsmannarättslagen och programmet, bilderna, texterna liksom denna manual tillhör Softogram AB. LäsFlyt är ett registrerat

Läs mer

75059 Stort sorteringsset

75059 Stort sorteringsset 75059 Stort sorteringsset Aktivitetsguide Detta set innehåller: 632 st sorteringsföremål 3 st snurror 6 st sorteringsskålar 1 st sorteringsbricka i plast 1 st siffertärning Detta sorteringsset har tagits

Läs mer

TDP002 - Imperativ programmering

TDP002 - Imperativ programmering . TDP002 - Imperativ programmering Strängar och IO Eric Elfving Institutionen för datavetenskap 26 augusti 2015 Översikt 2/18 Inläsning och utskrift Typkonvertering och strängformatering Teckenkodning

Läs mer

Det första steget blir att titta i Svensk MeSH för att se om vi kan hitta några bra engelska termer att ha med oss på sökresan.

Det första steget blir att titta i Svensk MeSH för att se om vi kan hitta några bra engelska termer att ha med oss på sökresan. Sökexempel - Hälsovägledare Hälsovägledning med inriktning mot olika folkhälsoproblem som t ex rökning, tips på hur man går tillväga för att göra en datasökning och hur man även kontrollerar om artiklarna

Läs mer

Lilla PubMed-lathunden

Lilla PubMed-lathunden Lilla PubMed-lathunden Om databasen PubMed PubMed är en databas som produceras av National Center for Biotechnology Information (NCBI) vid National Library of Medicine (NLM) i USA. Det är den största databasen

Läs mer

Självkörande bilar. Alvin Karlsson TE14A 9/3-2015

Självkörande bilar. Alvin Karlsson TE14A 9/3-2015 Självkörande bilar Alvin Karlsson TE14A 9/3-2015 Abstract This report is about driverless cars and if they would make the traffic safer in the future. Google is currently working on their driverless car

Läs mer

Svenska fonetiska tecken med Word och Unicode

Svenska fonetiska tecken med Word och Unicode Svenska fonetiska tecken med Word och Unicode De flesta fonetiska tecken i svenskan skrivs med vanliga bokstäver. I Svenska Akademins Grammatik skrivs för konsonanter "Samma ljudvärden som vid normal stavning

Läs mer

Krypteringsprogrammet Kryptogamen

Krypteringsprogrammet Kryptogamen Kryptogamen Sida 1(5) Krypteringsprogrammet Kryptogamen Om programmet Detta program är avsett som en pedagogisk leksak. Det hindrar inte att det kan användas för att försvåra insyn i exempelvis en mailkommunikation

Läs mer

Algoritm för uppskattning av den maximala effekten i eldistributionsnät med avseende på Nätnyttomodellens sammanlagringsfunktion

Algoritm för uppskattning av den maximala effekten i eldistributionsnät med avseende på Nätnyttomodellens sammanlagringsfunktion Algoritm för uppskattning av den maximala effekten i eldistributionsnät med avseende på Nätnyttomodellens sammanlagringsfunktion Carl Johan Wallnerström December 2005 Kungliga Tekniska Högskolan (KTH),

Läs mer

INFÖR ANSÖKAN OM MUNTLIGT PROV ELLER FÖRLÄNGD PROVTID VID KUNSKAPSPROV HUR UNDERLÄTTAR VI PÅ TRAFIKVERKET FÖR DIG MED LÄSSVÅRIGHETER?

INFÖR ANSÖKAN OM MUNTLIGT PROV ELLER FÖRLÄNGD PROVTID VID KUNSKAPSPROV HUR UNDERLÄTTAR VI PÅ TRAFIKVERKET FÖR DIG MED LÄSSVÅRIGHETER? INFÖR ANSÖKAN OM MUNTLIGT PROV ELLER FÖRLÄNGD PROVTID VID KUNSKAPSPROV RIKTLINJER TILL DIG SOM ÄR INTYGSGIVARE Syftet med intyget är att det ska ge underlag för beslut om en person ska ha rätt till ett

Läs mer

Antagning till högre utbildning höstterminen 2016

Antagning till högre utbildning höstterminen 2016 Avdelningen för analys, främjande och tillträdesfrågor Föredragande Torbjörn Lindquist Utredare 010-4700390 torbjorn.lindquist@uhr.se RAPPORT Datum 2016-04-22 Diarienummer Dnr 1.1.1-382-16 Postadress Box

Läs mer

Effektivare avel för jaktegenskaper hos engelsk setter

Effektivare avel för jaktegenskaper hos engelsk setter Effektivare avel för jaktegenskaper hos engelsk setter av Per Arvelius En hunduppfödare strävar efter att välja de avelsdjur som nedärver önsvärda egenskaper till valparna. Eftersom många egenskaper påverkas

Läs mer

Innehåll. Föreläsning 11. Organisation av Trie. Trie Ytterligare en variant av träd. Vi har tidigare sett: Informell specifikation

Innehåll. Föreläsning 11. Organisation av Trie. Trie Ytterligare en variant av träd. Vi har tidigare sett: Informell specifikation Innehåll Föreläsning 11 Trie Sökträd Trie och Sökträd 356 357 Trie Ytterligare en variant av träd. Vi har tidigare sett: Oordnat träd där barnen till en nod bildar en mängd Ordnat träd där barnen till

Läs mer

Concept Selection Chaper 7

Concept Selection Chaper 7 Akademin för Innovation, Design och Teknik Concept Selection Chaper 7 KPP306 Produkt och processutveckling Grupp 2 Johannes Carlem Daniel Nordin Tommie Olsson 2012 02 28 Handledare: Rolf Lövgren Inledning

Läs mer

En hjälp på vägen. Uppföljning av projektledarutbildning kring socialt företagande - projekt Dubbelt så bra. Elin Törner. Slutversion 2013-12-20

En hjälp på vägen. Uppföljning av projektledarutbildning kring socialt företagande - projekt Dubbelt så bra. Elin Törner. Slutversion 2013-12-20 En hjälp på vägen Uppföljning av projektledarutbildning kring socialt företagande - projekt Dubbelt så bra Slutversion 2013-12-20 Elin Törner 1 1. Inledning I denna PM redovisas en uppföljning av projektledarutbildningen

Läs mer

Objektorienterad programmering

Objektorienterad programmering Objektorienterad programmering Emil Ahlqvist (c10eat@cs.umu.se) Didrik Püschel (dv11dpl@cs.umu.se) Johan Hammarström (c08jhm@cs.umu.se) Hannes Frimmel Moström (c10hml@cs.umu.se) 1 1. Introduktion 1.1 Objektorienterad

Läs mer

Inledning. Metod. Val av maskin. Vanliga funktioner som lätt blir fel

Inledning. Metod. Val av maskin. Vanliga funktioner som lätt blir fel Inledning Studenterna i Id-00 har fått i uppgift att analysera vars en apparat. Vår grupp har valt att analysera en mikrovågsugn, Whirlpool MT 257, som finns på en studentkorridor på Michael Hansens Kollegium

Läs mer

En nybörjarkurs i kritiskt tänkande

En nybörjarkurs i kritiskt tänkande En nybörjarkurs i kritiskt tänkande Jesper Jerkert Andreas Anundi & CJ Åkerberg: Skeptikerskolan. Handbok i kritiskt tänkande. Stockholm: Forum, 2010, 226 s. ISBN 978-91-37-13588-5. Andreas Anundi och

Läs mer

LÄSLANDET - BOKSTÄVER OCH ORD

LÄSLANDET - BOKSTÄVER OCH ORD LÄSLANDET - BOKSTÄVER OCH ORD Programmet består av 21 övningar som övar förmågan att känna igen bokstäver och ord. Här tränas såväl läsning som stavning och bokstavsordning. Du får hela tiden stöd av inspelat

Läs mer

Komma igång med Eventor

Komma igång med Eventor Guide Eventor Komma igång med Eventor Version 2.0, 2013-10-07 Starta med startsidan På Eventors startsida finns en kortare guide över hur du skaffar användarkonto och hur du loggar in. Börja med den för

Läs mer

Tentamen 2016-01-13. Marco Kuhlmann

Tentamen 2016-01-13. Marco Kuhlmann TDDD02 Språkteknologi för informationssökning (2015) Tentamen 2016-01-13 Marco Kuhlmann Denna tentamen består av 10 frågor. Frågorna 8 10 ligger på en högre kunskapsnivå än de övriga och kräver utförliga

Läs mer

http://www.leidenhed.se Senaste revideringen av kapitlet gjordes 2014-05-08, efter att ett fel upptäckts.

http://www.leidenhed.se Senaste revideringen av kapitlet gjordes 2014-05-08, efter att ett fel upptäckts. Dokumentet är från sajtsidan Matematik: som ingår i min sajt: http://www.leidenhed.se/matte.html http://www.leidenhed.se Minst och störst Senaste revideringen av kapitlet gjordes 2014-05-08, efter att

Läs mer

Tentamen i TDP004 Objektorienterad Programmering Praktisk del

Tentamen i TDP004 Objektorienterad Programmering Praktisk del Tentamen i TDP004 Objektorienterad Programmering Praktisk del Datum: 2009-08-24 Tid: 14-18 Plats: SU-salar i B-huset. Jour: Per-Magnus Olsson, tel 285607 Jourhavande kommer att besöka skrivsalarna ungefär

Läs mer

Lathund till PEP. AND: begränsar sökningen, båda sökorden måste förekomma i samma referens, t.ex. infantile AND sexuality

Lathund till PEP. AND: begränsar sökningen, båda sökorden måste förekomma i samma referens, t.ex. infantile AND sexuality Lathund till PEP Databasen PEP (Psychoanalytic Electronic Publishing) innehåller 59 tidskrifter och 96 klassiska böcker inom psykoanalys. Dessutom innehåller PEP fulltext och redaktörskommentarer till

Läs mer

Ett test med en svensk rutgängare

Ett test med en svensk rutgängare Ett test med en svensk rutgängare Jesper Jerkert Inledning VoF:s testkommitté bildades i slutet av år 2006. Syftet med kommittén är att testa föregivet paranormala förmågor. Kommittén uppmanar ingen att

Läs mer

Handbok Artikulate. Andreas Cord-Landwehr Ondrila Gupta Översättare: Stefan Asserhäll

Handbok Artikulate. Andreas Cord-Landwehr Ondrila Gupta Översättare: Stefan Asserhäll Andreas Cord-Landwehr Ondrila Gupta Översättare: Stefan Asserhäll 2 Innehåll 1 Inledning 5 1.1 Inlärningsmetodiken.................................... 5 1.2 De första stegen i Artikulate................................

Läs mer

Objektorienterad programmering D2

Objektorienterad programmering D2 Objektorienterad programmering D2 Laboration nr 2. Syfte Att få förståelse för de grundläggande objektorienterade begreppen. Redovisning Källkoden för uppgifterna skall skickas in via Fire. För senaste

Läs mer

Skapa ett register över din grupp/klass

Skapa ett register över din grupp/klass SYDSOL Handledning CW 2000-02-23 Skapa ett register över din grupp/klass Syfte: Att göra ett register i ClarisWorks och hantera olika informationer om en grupp/klass Pedagogens viktigaste uppgift är att

Läs mer

en av makarna kan ta den andras efternamn som sitt och antingen behålla sitt efternamn som mellannamn eller avstå från det namnet

en av makarna kan ta den andras efternamn som sitt och antingen behålla sitt efternamn som mellannamn eller avstå från det namnet Alla i Sverige ska ha minst ett förnamn och ett efternamn. Vanliga svenska namn är t.ex. Erik Lindberg eller Anna Andersson. Man kan ha flera förnamn (som t.ex. Anna Christina Marie) det eller de namn

Läs mer

Två gränsfall en fallstudie

Två gränsfall en fallstudie 19 november 2014 FYTA11 Datoruppgift 6 Två gränsfall en fallstudie Handledare: Christian Bierlich Email: christian.bierlich@thep.lu.se Redovisning av övningsuppgifter före angiven deadline. 1 Introduktion

Läs mer

BARNS SPRÅKUTVECKLING

BARNS SPRÅKUTVECKLING BARNS SPRÅKUTVECKLING BARNS SPRÅKUTVECKLING Hur lär sig barn sitt språk? Vad skiljer barns språkutveckling från vuxnas språkinlärning? Hur kan vi forska om barns språkutveckling? Vad säger språkutvecklingen

Läs mer

Mönster. Ulf Cederling Växjö University Ulf.Cederling@msi.vxu.se http://www.msi.vxu.se/~ulfce. Slide 1

Mönster. Ulf Cederling Växjö University Ulf.Cederling@msi.vxu.se http://www.msi.vxu.se/~ulfce. Slide 1 Mönster Ulf Cederling Växjö University UlfCederling@msivxuse http://wwwmsivxuse/~ulfce Slide 1 Beskrivningsmall Beskrivningsmallen är inspirerad av den som användes på AG Communication Systems (AGCS) Linda

Läs mer

Historia Årskurs 9 Vårterminen 2014

Historia Årskurs 9 Vårterminen 2014 Historia Årskurs 9 Vårterminen 2014 1 Inledning Utgångspunkten för de nationella proven i historia är kursplanen i historia. Denna har det övergripande målet att utveckla elevers historiemedvetande genom

Läs mer

Sätt att skriva ut binärträd

Sätt att skriva ut binärträd Tilpro Övning 3 På programmet idag: Genomgång av Hemtalet samt rättning Begreppet Stabil sortering Hur man kodar olika sorteringsvilkor Inkapsling av data Länkade listor Användning av stackar och köer

Läs mer

Slutrapport YUNSIT.se Portfolio/blogg

Slutrapport YUNSIT.se Portfolio/blogg Slutrapport YUNSIT.se Portfolio/blogg RICKARD HANSSON 2012-06-04 Abstrakt Rapporten du har i din hand kommer handla om mitt projektarbete som jag genomfört under tio veckor för utbildningen Utvecklare

Läs mer

LATHUND FÖR MALVIN. 1 Registrera ny användare... 2. 2 Logga In... 3. 2.1 Glömt lösenord... 4. 3 Annonsering... 5. 3.1 Skapa annons...

LATHUND FÖR MALVIN. 1 Registrera ny användare... 2. 2 Logga In... 3. 2.1 Glömt lösenord... 4. 3 Annonsering... 5. 3.1 Skapa annons... LATHUND FÖR MALVIN INNEHÅLL 1 Registrera ny användare... 2 2 Logga In... 3 2.1 Glömt lösenord... 4 3 Annonsering... 5 3.1 Skapa annons... 5 3.2 Redigera annons... 8 3.3 Ta bort förmedlad annons... 8 3.4

Läs mer

Metod- PM: Påverkan på Sveriges apotek efter privatiseringen

Metod- PM: Påverkan på Sveriges apotek efter privatiseringen Metod- PM: Påverkan på Sveriges apotek efter privatiseringen Problem Sedan privatiseringen av landets apotek skedde för 3 år sedan är det många som hävdar att apoteken inte har utvecklats till det bättre,

Läs mer

Kvalitetsenkät till Individ- och Familjeomsorgens klienter

Kvalitetsenkät till Individ- och Familjeomsorgens klienter Kvalitetsenkät till Individ- och Familjeomsorgens klienter Kvalitetsrapport 13, 2007 KVALITETSRAPPORT En enkät har delats ut till alla personer som Individ- och familjeomsorgen hade kontakt med under vecka

Läs mer

Manual Nedladdningsbara klienten NLK

Manual Nedladdningsbara klienten NLK Manual Nedladdningsbara klienten NLK www.bildtelefoni.net Direktlänk: www.tolk.sip.nu Copyright 2015 bildtelefoni.net Fokus på tillgänglighet Med Nedladdningsbara klienten, NLK, kan alla som har behov

Läs mer

1. Skriv = eller i den tomma rutan, så att det stämmer. Motivera ditt val av tecken.

1. Skriv = eller i den tomma rutan, så att det stämmer. Motivera ditt val av tecken. Modul: Taluppfattning och tals användning. Del 3: Det didaktiska kontraktet Likhetstecknet Ingrid Olsson, fd lärarutbildare Mitthögskolan Läraraktivitet. 1. Skriv = eller i den tomma rutan, så att det

Läs mer

Introduktion till arv

Introduktion till arv Introduktion till arv 6 INTRODUKTION TILL ARV Arv Generell-Speciell Arv för att utnyttja det vi redan gjort Återanvändning Basklass Härledd klass Varför arv? Inför en subklass för att uttrycka specialisering

Läs mer

Utvärdering av Tilläggsuppdrag Sjukgymnastik/Fysioterapi inom primärvården Landstinget i Uppsala län

Utvärdering av Tilläggsuppdrag Sjukgymnastik/Fysioterapi inom primärvården Landstinget i Uppsala län Utvärdering av Tilläggsuppdrag Sjukgymnastik/Fysioterapi inom primärvården Landstinget i Uppsala län BAKGRUND Riksdagen fattade 2009 beslut om LOV Lag Om Valfrihetssystem (1). Denna lag ger landsting och

Läs mer

Rolladministration i PaletteArena 5.3

Rolladministration i PaletteArena 5.3 SLU Rolladministration i PaletteArena 5.3 Jenny Kjellström 2012-03-16 Beskriver hur man lägger upp och inaktiverar en mottagare, hur man flyttar/styr om fakturor från/till andras inkorgar samt hur man

Läs mer

Manual till Lathunden. En programvara från Genetica

Manual till Lathunden. En programvara från Genetica Manual till Lathunden En programvara från Genetica Innehållsförteckning 1 Lathunden SQL... 4 2 Starta programmet... 4 3 Grundstruktur... 5 4 Tablå... 5 4.1 Vänsta sidan av Tablån - Databasen... 5 4.2 Mitten

Läs mer

Omarbetade funktioner i NyA

Omarbetade funktioner i NyA Omarbetade funktioner i NyA Registrera personuppgifter blir Hantera person Funktionen som hittills har hetat Registrera personuppgifter har bytt namn till Hantera person, och vissa förändringar har gjorts.

Läs mer

Lönediskriminering praxis bland män?

Lönediskriminering praxis bland män? Lönediskriminering praxis bland män? Ni har säkert alla hört påståendet om ett märkbart lönegap mellan könen, eller hur? Ibland hävdas det att kvinnor sägs tjäna svindlande låga 80% av vad män tjänar,

Läs mer

Viking Journal in Chinese

Viking Journal in Chinese Viking Journal in Chinese X X % L o V V V X ò % O - u O : : R _ Q h x _ : ; ; ; 1. u Š V T n "? c c À Ÿ J m y É L i m c À Ü, X ) H Ö ˆ ) H ž P n 1 ž o c ˆ c - j Ý # T } ù = ) C Ø 2 Ä Ü u T, ff Š c À è

Läs mer

2. Registrera en ny medlem

2. Registrera en ny medlem 2. Registrera en ny medlem version 2006-05-10 2.1 2. Registrera en ny medlem Den här dokumentationen beskriver hur man registrerar en ny i SPFs medlemsregister via Internet. Observera att bilderna är exempel

Läs mer

Sammanställning Undersökning av kommunens funktionsbrevlådor 2013

Sammanställning Undersökning av kommunens funktionsbrevlådor 2013 2013-02-21 Sammanställning Undersökning av kommunens funktionsbrevlådor 2013 40 procent av respondenterna instämde i påståendet att de som helhet var nöjda i kontakten med kommunen Det är ingen skillnad

Läs mer

KeyControl Sök person, nyckel eller cylinder

KeyControl Sök person, nyckel eller cylinder 5 Sök person, nyckel eller cylinder 5.1 Sök person Det finns två huvudmetoder att söka person. Metod 1. Genom att bara skriva in t ex namn eller anställningsnummer direkt på tangentbordet. Sökning sker

Läs mer

Matematikundervisning och självförtroende i årskurs 9

Matematikundervisning och självförtroende i årskurs 9 KATARINA KJELLSTRÖM Matematikundervisning och självförtroende i årskurs 9 I förra numret av Nämnaren beskrev vi elevernas kunskaper i och attityder till matematik enligt nationella utvärderingen 2003.

Läs mer

För att använda sifferkrypto använder man en rektangel om 5 gånger 6 bokstäver.

För att använda sifferkrypto använder man en rektangel om 5 gånger 6 bokstäver. Nämnarens kryptoskola 8. Sifferkrypto lärarsida För att använda sifferkrypto använder man en rektangel om 5 gånger 6 bokstäver. Siffror från 0 till 5 ovanför och 5 till 9 till vänster om rektangeln anger

Läs mer

Handledning Miljömanualen på webben

Handledning Miljömanualen på webben Handledning Miljömanualen på webben Välkommen till Miljömanualen på webben. Det här dokumentet beskriver hur man använder Miljömanualen. Inloggning Börja med att logga in i avsedda fält uppe till höger

Läs mer

PATENTFAKTA EN ORIENTERING OM PATENT

PATENTFAKTA EN ORIENTERING OM PATENT WESTPATENT AB PATENTFAKTA EN ORIENTERING OM PATENT Westpatent AB 2014-06-24 1 Innehållsförteckning 1 HUR BÖRJAR MAN OM MAN INTE ÄR VAN VID PATENT, OCH HAR EN UPPFINNING SOM MAN VILL PATENTSKYDDA?. 2 2

Läs mer

SLALOMINGÅNGAR hur svårt kan det vara?

SLALOMINGÅNGAR hur svårt kan det vara? SLALOMINGÅNGAR hur svårt kan det vara? Av Marie Hansson Ju mer man börjar tänka på vad en slalomingång innebär, desto mer komplicerat blir det! Det är inte lite vi begär att hundarna ska lära sig och hålla

Läs mer

Föreläsning 6: Introduktion av listor

Föreläsning 6: Introduktion av listor Föreläsning 6: Introduktion av listor Med hjälp av pekare kan man bygga upp datastrukturer på olika sätt. Bland annat kan man bygga upp listor bestående av någon typ av data. Begreppet lista bör förklaras.

Läs mer

Tentaupplägg denna gång

Tentaupplägg denna gång Några tips på vägen kanske kan vara bra. Tentaupplägg denna gång TIPS 1: Läs igenom ALLA uppgifterna och välj den du känner att det är den lättaste först. Det kan gärna ta 10-20 minuter. Försök skriva

Läs mer