Ladda ner presentationen
Presentation laddar. Vänta.
1
Ett rimlexikon över det svenska språket
Rasmus Bååth och Staffan Åberg.
2
Vilka ord rimmar? Två ord rimmar om de är lika från och med den sista betonade vokalen. ex. Dokumenterar – Filosoferar Kan vara enstaviga, tvåstaviga, trestaviga... Gris – Paris, enstavigt Österrikare- Trösterikare, femstavigt Allt för ofta används nödrim Hemköp – Julgröt, Panna – Mamma Extra vanligt i juletid
3
Hur bygga ett rimlexikon?
Matcha hur ord stavas... Blir uttömmande, stora ordlistor finns på nätet Blir internationellt, samma motor kan utnyttjas till många språk Är lätt, går att implementera på en eftermiddag ...är en dålig ide Ord uttalas inte alltid som de stavas Man tar inte hänsyn till betoning
4
Rim är likhet i uttal, inte i stavning
Samma stavning kan ha olika uttal Blåst – Låst rimmar inte, olika vokalljud. Mansgris – Aktris rimmar inte, olika betoning. Fleece – Gris rimmar, låneord är speciellt svåra Här behövs ett fonetiskt lexikon!
5
Bygga rimlexikon = bygga fonetiskt lexikon
Hur bygga? Fonetiska regler Kan arbeta på redan befintliga ordlistor Lätt att lägga till nya ord Svårt att implementera Blir långt ifrån perfekt Färdigt fonetiskt lexikon Blir perfekt Svårt att utöka Finns inte gratis på nätet
6
Lexin: lexikon för invandrare
Lexin är: Ett lexikon utvecklat av myndigheten för skolutveckling Fritt tillgängligt på nätet i XML-format Lexin innehåller ord med tillhörande böjningar sammansatta ord, betydelse och... Uttal!
7
Lexins fonetik Bokstäver Specialtecken
Alla bokstäver, förutom 'q','x' och 'z', finns med och står för sitt vanliga uttal. Undantag: 'c' noterar ch-ljud Specialtecken noterar ng-ljud, '$' noterar ch-ljud och sch-ljud ':' , markerar långt uttal, '+', markerar ljud som smälter ihop Versal markerar betoning '2' markerar grav accent Några tecken är inte viktiga ur rimsynpunkt '2', ':' efter konsonant och i viss utsträckning '+'
8
Lexins XMLstruktur <lemma-entry> <form>lingon</form>
<inflection>lingonet lingon lingonen</inflection> <pos>subst.</pos> <lexeme> <definition>(bär av) växten Vaccinium vitis idÏa</definition> <definition_comm>bild 23:46</definition_comm> <example>köttbullar med lingon</example> <idiom>(inte värd) ett ruttet lingon ("värdelös")</idiom> </lexeme> </lemma-entry> <form>lingvist</form> <inflection>lingvisten lingvister</inflection> <definition>språkforskare</definition> <compound>lingvistik</compound> <form>linjal</form> <pronunciation>linjA:l</pronunciation> <inflection>linjalen linjaler</inflection> <definition>...
9
Lexin: lexikon för invandrare
Lexin är inte: Uppdaterat sedan 1992 Rättstavat Välformat Särskilt uttömmande, innehåller t.ex. inga egennamn Komplett, bara grundorden har uttalsbeskrivning.
10
Lexins XMLstruktur? <lemma-entry>
<form>felaktig</form> <pronunciation>2fE:lak:tig </pronunciation> <inflection> -t -a -t(!)</inflection> <pos>adj.</pos> <lexeme> <definition>oriktig, tokig, galen</definition> <example>ett felaktigt svar</example> </lexeme> </lemma-entry> <form>ger med sig</form> <pronunciation>je:rmE:(d)sej</pronunciation> <inflection>gav gett (el. givit) ge(!)</inflection> <pos>verb</pos> <definition>acceptera något (efter påtryckning), foga sig</definition> <valency>A &</valency> <form>majl el. mail</form>
11
Handlingsplan Perl Xml -> Flatfile Flatfile -> MySQL
Smidigt med reguljära uttryck Funkar bra på nätet Xml -> Flatfile Lättare att jobba med, lättare att läsa Flatfile -> MySQL Behöver inte implementera sökfunktioner Snabba sökningar
12
Utöka Lexin 20 000 ord räcker inte Måste utöka lexikonet
Lägga till uttal för böjningar Lägga till uttal för sammansatta ord Läsa in nya ord
13
Lägga till uttal för böjningar
Böjningar är på formen: Ananas :: 2An:anas :: [ananasen ananas ananasen] En metod för att generera uttal för böjningar... Lista alla ändelser, det som skiljer en böjnig från dess ord. Katt :: [katten] ger 'en' Bestäm uttal för alla ändelser: 'r'=>'r', 'ade'=>'A:de', 'og'=>'o:g'... Plocka ut gemensamma uttal för ett ord och dess böjning: blir::bli:r::[blivit] ger 'bli:' Lägg till ändelsens uttal till det gemensamma uttalet: 'bli:' + 'vit' = 'bli:vit' ...som genererar vissa fel Tar inte hänsyn till ändrad stavning av stammen. gror :: grodde Tar inte hänsyn till betoning Går dock i det flesta fall att rätta till med några få enkla regler
14
Lägga till uttal för sammansatta ord
Sammansatta ord är på formerna: 'kupong' :: 'rabattkupong' och 2. 'bok' :: 'bok~café' Metod för att generera uttal för den första formen Insikt: Det är slutet som räknas, hela ordets uttal måste inte finnas med Låt alltså 'rabattkupong' ha uttalet där § markerar att ordets inledande uttal är okänd. Metod för att generera uttal för den andra formen Insikt: Det är slutet som räknas, uttalet i slutet är viktigare än uttalet i början. Att ge 'bok~café' uttalet 'bo:k§' hjälper oss inte mycket. Insikt: Att lägga till uttal för sammansatta ord på den andra formen är detsamma som att lägga till uttal för okända ord.
15
Lägga till uttal för nya ord
Man kan skilja på helt okända ord och delvis kända sammansatta ord. Uttal för okända ord kan fås på två sätt Fonetiska regler. +Går att automatisera -uttal blir dock inte perfekt och det är svårt att implementera Den hårda vägen. +Uttalet blir rätt -Den är hård Uttal för delvis kända sammansatta ord kan fås på ett tredje sätt Det är slutet som räknas, det kan redan finnas i databasen Matcha stavningen av det sammansatta ordet från slutet mot orden i databasen. Sätt uttalet till uttalet för det längsta ord som matchar. Ex. 'Joggingrunda' matchar 'runda' och får uttalet '§rUnda' Metoden funkar men genererar ofta fel, speciellt gällande betoning Metoden kan kanske i viss mån användas på icke sammansatta ord. ex. 'rationalisering' matchar slutet av 'sekularisering' och får då uttalet '§sE:ring'
16
Från fonetik till julklappsrim
För att kunna söka i databasen krävs: En sökalgoritm Sökningens exakthet ska kunna varieras Sökordets stavning ska räcka Sökordet ska inte behöva finnas med i databasen Sökalgoritmen ska kunna kompensera för ett bristfälligt lexikon Ett användargränssnitt Enkelt, webbaserat, ingen vill ju lära sig Perl Sökresultatet ska presenteras på ett överskådligt sätt En wiki-funktion, det är ju inne nu för tiden.
17
En flexibel sökalgoritm
En algoritm som gör det bästa av situationen Först måste vi ha uttalet av det inmatade sökordet. Om sökordet finns i databasen, är detta lätt. Om så inte är fallet så hitta det ord vars stavning, från slutet, matchar bäst med sökordet. Om flera ord matchar välj det ord vars längd bäst stämmer sökordets. Plocka bort allt från det matchade ordets uttal förutom de stavelser på slutet som sökordet matchade. Ex. 'Hästtransport' matchar 'transport' :: 'transpÅr+t' med två stavelser. Det som blir kvar av uttalet är '§anspÅr+t'.' Plocka ut alla ord vars uttal slutar på stavelserna som matchade. Och matcha sedan allt utom stavelserna som matchade med hur sökordet stavas. Ex 'Hästtransport' matchar 'Prästtransport'. Funkar för alla sökord. Ger bra resultat om sökordet finns i databasen. Ger något resultat om sökordet inte finns i databasen. Kan dock vara bättre att, om sökordet inte finns i databasen, endast matcha på stavning...
18
En flexibel sökalgoritm
Man kan söka olika strikt Om man vill söka efter s.k. orena rim, rim där inte betoningen spelar någon roll, jämställer algoritmen stor och liten bokstav. Om man vill söka efter rim där vokallängd inte spelar någon roll, jämställer algoritmen [vokal]: med [vokal] Om man vill söka ännu mindre strikt kan man jämställa vissa konsonanter. t.ex 'c' = '$' eller 'p' = 't' Man kan specificera antalet matchande stavelser Man kan specificera om man vill söka i det lilla, men säkra, ursprungliga Lexin eller i den utökade, med osäkra, databasen. Sortering av sökresultatet Först efter antal matchade stavelser Sedan efter antal stavelser Sist i bokstavsordning
19
Problem Databasen innehåller fel Databasen innehåller för få ord
Inga egennamn! Betoning Sammanfattningsvis: Vi är inte riktigt klara. Man rimmar mest inte förrän den 23 december ändå!
20
Tack för oss Och god jul
Liknande presentationer
© 2024 SlidePlayer.se Inc.
All rights reserved.