Språkteknologi (Lars Ahrenberg) Språkteknologi (Lars Ahrenberg)09-01-22 09-01-22
Lexikon och lexikonorganisation
Reguljära språk, ändliga automater och transduktorer
Lexikonorganisation fullformslexikon
minilexikon (= morfembaserade lexikon) tvånivåsystem
Representation av lexikon som automater och transduktorer
Redigeringsavstånd
Språkteknologi (Lars Ahrenberg) Språkteknologi (Lars Ahrenberg)09-01-22 09-01-22
Lexikal information
Ett lexikon för textanalys associerar teckensträngar som repre- senterar tokens (och ofta kan matchas direkt mot texten) med strängar eller listor som representerar information.
Enkla strängar
bilarna: NN
Morfemsträng eller kombination av morfem och egenskaper
bilarna: bil+ar+na, bil_NN+Pl+Def
Egenskapslistor:
bilarna: (Cat NN Num PL Spec DEF …)
etc.
Språkteknologi (Lars Ahrenberg) Språkteknologi (Lars Ahrenberg)09-01-22 09-01-22
Grundbegrepp i formell språkteori
Alfabet (Lexikon)
En ändlig mängd av symboler Sträng
En ändlig sekvens av symboler Märk: den tomma strängen Strängmängd (Formellt språk)
En mängd av strängar från ett givet alfabet
Språkteknologi (Lars Ahrenberg) Språkteknologi (Lars Ahrenberg)09-01-22 09-01-22
Olika sätt att definiera strängmängder
Uppräkning: { ba, baa, baaa, … } Reguljära uttryck
Exempel: ba+
Mängddefinitioner och -operationer B = {b}, A = {a},
S = BA+
Reguljära uttryck
! !
" # ! !
$
I tabellen står r och s för godtyckliga reguljära uttryck.
Reguljära uttryck i implementeringar
Positionsangivare (anchors)
^ anger första position
$ anger sista position Minnesangivare
(), \(\), ... sparar vad som matchas
\1, \2 eller $1, $2, ... hämtar matchade strängar Intervall
[a-zåäö], [0-9]
Mängdangivare och specialtecken:
\w, \d, \b, ...
Språkteknologi (Lars Ahrenberg) Språkteknologi (Lars Ahrenberg)09-01-22 09-01-22
Flera sätt att definiera strängmängder
Omskrivningsregler
S -> bA A -> a A -> aA
Automater
b
a a
Språkteknologi (Lars Ahrenberg) Språkteknologi (Lars Ahrenberg)09-01-22 09-01-22
Ändliga automater
En ändlig automat (FSA) definieras av ett alfabet
en uppsättning tillstånd, varav ett eller flera utgör starttillstånd och sluttillstånd
en uppsättning tillståndsövergångar som var och en är associerad med en symbol ur alfabetet (ev.
nollsymbolen)
Språkteknologi (Lars Ahrenberg) Språkteknologi (Lars Ahrenberg)09-01-22 09-01-22
Igenkänning och generering
En sträng kan kännas igen (eller läsas) av en automat om man, med början i ett starttillstånd, kan nå ett sluttillstånd genom att matcha en symbol i taget mot en tillståndsövergång.
Omvänt, kan en automat generera en sträng genom att den traverseras från ett starttillstånd till ett sluttillstånd och skriver ut en symbol för varje tillståndsövergång som görs.
Språkteknologi (Lars Ahrenberg) Språkteknologi (Lars Ahrenberg)09-01-22 09-01-22
En FSA för en ordlista (ett bokstavsträd)
b i l d
a c
a
c k
Determinism
En ändlig automat är deterministisk om det för varje par av tillstånd och symbol finns högst en övergång till ett annat tillstånd.
Motsatsen kallas icke-deterministisk
Deterministisk automat i matrisform
1 2 3 1 0 b 0 2 0 0 a 3 0 0 a
L = { ba, baa, baaa, ... }
Språkteknologi (Lars Ahrenberg) Språkteknologi (Lars Ahrenberg)09-01-22 09-01-22
En icke-deterministisk automat
2 4
1 a 3 a
a a b
b
L = { a, aa, aba, abaa, ababba, ... } 5 a
Språkteknologi (Lars Ahrenberg) Språkteknologi (Lars Ahrenberg)09-01-22 09-01-22
Reguljära språk
Ett språk som kan definieras av ett reguljärt uttryck kan också definieras av en ändlig automat, och omvänt.
Dessa språk kallas reguljära språk.
Utmärkande för reguljära språk är att de inte tillåter icke- lokala beroenden mellan olika delar av en sträng.
Exempel: språket ancbn är icke-reguljärt.
Språkteknologi (Lars Ahrenberg) Språkteknologi (Lars Ahrenberg)09-01-22 09-01-22
Naturliga språk som strängmängder
Teckensträngar
n-a-t-u-r-l-i-g-a s-p-r-å-k
Ord som strängar av morfem
natur-lig-a, sträng-mängd-er
Stavelse- och fonemsträngar
na – tur – li - ga /n//a/, /t//u://r/, /l//i/, /g/a/
Meningar som ordsträngar, etc.
Språkteknologi (Lars Ahrenberg) Språkteknologi (Lars Ahrenberg)09-01-22 09-01-22
Fullformslexikon
…
back NN Sg Indef
backa VB Inf
...
bi NN Sg Indef
bil NN Sg Indef
bilar NN Pl Indef bilarna NN Pl Def
bild NN Sg Indef
bilder NN Pl Indef bilderna NN Pl Def ...
Problem med fullformslexikon
Duplicering av morfem och information Ingen systematisk analys av morfologisk struktur Hanterar inte lexikonets dynamik
böjning, avledningar, sammansättningar
Minilexikon
Stammar
Ändelser-1
Ändelser-2
Ändelser-N
Ändelser-a
Ändelser-b
STOP
Språkteknologi (Lars Ahrenberg) Språkteknologi (Lars Ahrenberg)09-01-22 09-01-22
En FSA för en klass av substantiv
Stam Plural
Best.Sing. Genitiv
Genitiv
Stam: stol, bil, häst, … Plural: ar Best.Sing: en Best.Plur: na Genitiv: s
Best.Plur
Språkteknologi (Lars Ahrenberg) Språkteknologi (Lars Ahrenberg)09-01-22 09-01-22
Minilexikon med fortsättningsinformation
stol stol SUFF1 katt katt SUFF2 ros ros SUFF3 ...
ar Pl SUFF5
en Sg Def SUFF7
Sg Indef SUFF7 er Pl SUFF5
en Sg Def SUFF7
Sg Indef SUFF7
or Pl SUFF5
en Sg Def SUFF7
Sg Indef SUFF7
na Def SUFF7,
Indef SUFF7 s Gen STOP,
STOP SUFF1
SUFF2
SUFF3
SUFF5
SUFF7
stolarnas: stol Pl Def Gen
Språkteknologi (Lars Ahrenberg) Språkteknologi (Lars Ahrenberg)09-01-22 09-01-22
Ändlig transduktor
En (ändlig) transduktor är en automat vars alfabet är definierat som par av symboler a/b, där a är hämtat från ett alfabet och b är hämtat från ett annat alfabet.
En transduktor kan användas för att relatera strängar från två formella språk (i godtycklig riktning) dvs känna igen ett språk och samtidigt generera ett annat.
Språkteknologi (Lars Ahrenberg) Språkteknologi (Lars Ahrenberg)09-01-22 09-01-22
Ändlig transduktor – exempel
y/y t/t a/o /r
Ändlig transduktor - exempel
P/p e/e
2 3 5
/<name>
r/r
1 4 6
/</name>
En transduktor för pluralböjning
+N/ +Pl/ar
3
ar-dekl +Def/na
1 4
er-dekl +N/ 7
+Pl/er
5 {bil, stol, häst, ... }
{katt, film, rad, ... } 2
6
Språkteknologi (Lars Ahrenberg) Språkteknologi (Lars Ahrenberg)09-01-22 09-01-22
Formvariation
Fonologiskt betingad
Exempel: fågel, fåglar; ilsken, ilskna; …
Ortografiskt betingad
Exempel: glöm, glömmer; dum, dumma; …
Morfologiskt betingad
omljud: man, män; bok, böcker; … avljud: vinna, vann, vunnit; ...
Språkteknologi (Lars Ahrenberg) Språkteknologi (Lars Ahrenberg)09-01-22 09-01-22
Hantering av formvariation 1
”Tekniska” stammar
fåg (l, el)
ilsk (en, et, na)
glöm (0, de, mer)
Stamdubblering
bok (0, en) / böck (er)
vinn (0, er) / vann (0, s) / vunn (it, en, et)
Språkteknologi (Lars Ahrenberg) Språkteknologi (Lars Ahrenberg)09-01-22 09-01-22
Hantering av formvariation 2
Två nivåer (alfabeten)
ortografisk nivå de vanliga bokstavstecknen lexikal nivå
bokstavstecken gränstecken
abstrakta tecken (som representerar variationen) regler
Språkteknologi (Lars Ahrenberg) Språkteknologi (Lars Ahrenberg)09-01-22 09-01-22
Tvånivåregel –
exemplet ”flyktig e-vokal” i svenska
Abstrakta tecken: E, ^
Teckenmängder: C = konsonant, V = vokal, L = {l, r, n}
Regel: E : 0 / VC+_L^V
E : e / _ L[^C | #]
Ortografisk sträng: f å g 0 l 0 a r Lexikalisk sträng: f å g E l ^ a r
Ortografisk sträng: f å g e l 0 n f å g e l 0 ö Lexikalisk sträng: f å g E l ^ n f å g E l # ö
Stamlexikon i tvånivåsystem
…
bomM NN (AR EN)
by NN (AR N)
fågEl NN (AR N)
stol NN (AR EN)
uttEr NN (AR N)
...
Kombination av transduktorer
Regel- transduktor
Regel- transduktor
Regel- transduktor
… Lexikon- transduktor
Ortografiska strängar: f å g l a r n a Lexikala strängar: f å g E l ^ a r ^ n a Morfemsträngar: f å g E l +N +PL +DEF
Språkteknologi (Lars Ahrenberg) Språkteknologi (Lars Ahrenberg)09-01-22 09-01-22
Tvånivåregel - transduktor
V:V
C:C, V:V C:C
E:0
E:e C:C C:C
L:L ^:0
V:V
^:0
fågeln / fåglar / fågelö
L:L
#:0
C:C, V:V
Språkteknologi (Lars Ahrenberg) Språkteknologi (Lars Ahrenberg)09-01-22 09-01-22
Edit distance
Matchning av sökord mot ett index kan göras med en ordlista i form av en (deterministisk) automat.
Om ett sökord saknas i ordlistan kan man använda en teknik baserad på minsta redigeringsavstånd (eng.
minimal edit distance) för att hitta ord som kan vara avsedda.
Vanliga redigeringsoperationer:
lägga till tecken (ex. altid alltid) ta bort tecken (ex. alldrig aldrig) substituera tecken (ex. båll boll)
Språkteknologi (Lars Ahrenberg) Språkteknologi (Lars Ahrenberg)09-01-22 09-01-22
Edit distance
Levenshtein-avstånd innebär att varje operation ger avståndet 1. Vanligt är också att man räknar tillägg och borttag för 1, men substitution av olika tecken för 2.
Exempel:
skrek ~ skräck (3) Linköping ~ Norrköping (5) politiker ~ spolingar (8)
Språkteknologi (Lars Ahrenberg) Språkteknologi (Lars Ahrenberg)09-01-22 09-01-22
Beräkning via dynamisk programmering
Det minsta avståndet, dist(w1, w2) mellan två ord w1 och w2, kan beräknas med hjälp av en ordmatris där varje element kan bestämmas utifrån sina närmaste grannar:
wij
wi-1,j-1 wi-1,j wi,j-1
Uppdatering av distansmått
dist[i, j] =
dist[i-1, j] + tilläggskostnad(måltecken) min dist[i-1, j-1] + substitutionskostnad(källtecken, måltecken) dist[i, j-1] + borttagskostnad(källtecken)
OBS! Substitutionskostnaden är antingen 0 (om käll- och måltecken är lika), annars 2. Tilläggs- och borttagskostnad är alltid 1 om det finns ett tecken.
Exempel
p 4 r 3 o 2 k 1
0 1 2 3 4 5 6 s k a r p a korp ~skarpa
Språkteknologi (Lars Ahrenberg) Språkteknologi (Lars Ahrenberg)09-01-22 09-01-22
Lexikonfri ordanalys (”stemming”)
Stemming innebär att normalisera ordformer till en stamliknande form med hjälp av enkla substitutioner.
Exempel:
s/ (\w+)arnas / $1 /; (bilarnas bil, buskarnas busk) s/ (\w+)ering / $1era /; (navigering navigera, legering legera)
Används för informationssökning och ”ordpåsesemantik”
Exempel (för engelska): Porter stemmer