KI inleiding taalkunde februari 2019
Chapter 1: the study of language
- Grammatica/regels: (hoe mensen (vaak onbewust) talige structuren vormen). Grammaticale
woorden = woorden die voldoen aan de regels. Dit kan ook een niet bestaande taal zijn.
- Signifier = specifieke vorm van een bepaald teken, bijv. de gesproken en geschreven vorm.
- Paralinguïstisch: als gebaren onafhankelijk van taal functioneren (bijv. je kijkt op je horloge en
bedoelt niet dat het saai is, maar wilt gewoon de tijd weten).
- Spraak is primair en schrift secundair: bijna alle talen worden gesproken en een paar geschreven.
- Morfologie = woordbouw
- De manier waarop mensen met elkaar praten, hangt af van sociale en linguïstische context
(pragmatics). Sociaal: je houd rekening met leeftijd, status, beroep etc. van je gesprekspartner.
Linguïstisch: Je bekijkt het geheel van de tekst, het begin, midden en eind.
- Coherence = samenhang tekst heeft betekenis.
- Alle visies op taal hebben een ideologische basis. Dus geheel objectief kunnen linguïsten niet zijn.
- Natural gender: he, her, it etc. verwijzen naar een gender dat er ook daadwerkelijk is.
- Grammatical gender: mailman is een mannelijk woord, maar kan ook naar een vrouw verwijzen.
- Er zijn verschillende linguïstische theorieën:
1. competence-based: taal is vooral eigendom van de geest (Noam Chomsky)
2. performance-based: focus op taal in sociale context: hoe gebruiken we onze kennis van taal?
3. competence- én performance-based (Michael Halliday)
Noam Chomsky’s theorie van generatieve grammatica
- Taalvermogen is aangeboren. Kinderen kunnen zonder ervaring bepaalde taal produceren.
- Universele grammatica: elk individu heeft onafhankelijk van de taal die hij spreekt principes.
- Zijn theorie houdt in: er is een eindige set van regels binnen de competentie van een spreker
waarmee een oneindige hoeveelheid zinnen gegenereerd kunnen worden creativiteit.
- Focust op competence en ontwikkelde een notatie voor welke kennis een spreker heeft.
- Met een eindig aantal regels kunnen we oneindig veel zinnen maken.
Michael Halliday’s theorie van functionele grammatica
- Taal is een middel om de communicatieve behoeften van zijn gebruikers te bevredigen.
- Taal structureert de interne en externe realiteiten van de spreker. Bijv. de spreker koppelt het
ene fragment van ervaring aan het andere.
HC 5 feb: introductie
- Taalkunde = de wetenschappelijke studie van natuurlijke taal (dus gesproken) van mensen.
- Mensentaal wordt gekenmerkt door productiviteit (oneindige combinatiemogelijkheden),
conventionaliteit (betekenis staat los van de vorm), displacement (we kunnen spreken over niet
actuele zaken) en compositionaliteit (betekenis hangt af van de delen en van de structuur).
- Morfeem = kleinste betekenisvolle eenheid (in tafeltje: tafel = stam/morfeem, tje = affix).
- Onomatopeeën: woorden waarvan de betekenis wél samenhangt met de vorm: oehoe, hikken…
- Prototalen = oorspronkelijke talen die (nog) niet geëvolueerd zijn, bijv. kindertaal en pidgin
- Performance: hoe gebruiken we onze kennis van taal? (voorkeuren, cognitieve obstakels etc.)
- Acquisitie: hoe verwerven we kennis van taal?
,- Taken voor KI: kennis van taal simuleren (je wilt dat je chatbot voornamelijk grammaticale zinnen
produceert) en performance simuleren (je wilt dat Siri je ook begrijpt als je eet terwijl je praat).
- Zinnen: syntaxis (‘Jan slaapt’ heeft dezelfde vorm als ‘Jan Piet’) = woordvolgorde + zinsstructuur.
- Betekenis: semantiek (‘Jan slaat Piet’ heeft dezelfde semantische waarde als ‘Piet slaat Jan’)
Speech and language processing – J&M: Hoofdstuk 2 reguliere expressies en automaten
2.1
- Reguliere expressie (RE) = notatie voor een bepaalde specifieke symboolvolgorde (een
string=rijtje). Voorbeeld: je zoekt in een document tegelijkertijd ‘woodchuck’ en ‘woodchucks’ in
plaats van dat je die na elkaar moet opzoeken. Ook kun je een taal definiëren met reguliere
expressies.
- Voorbeeld: je geeft de reguliere expressie /Buttercup/ en die matcht elke string met dat woord
erin, bijvoorbeeld het patroon ‘I’m called little Buttercup’.
- Reguliere expressies zijn hoofdlettergevoelig, dus als je woodchuck en Woodchuck beide wil
vinden, moet je als reguliere expressie invoeren: /[wW] oodchuck/. Als je alle a, b en c wil vinden
in een tekst voer je in: /[abc]/. Vierkante haakjes geven dus een disjunctie aan, maar je moet het
ook gebruiken bij:
Als je alle hoofdletters van het alfabet wil vinden, voer je in: /[A-Z]/
^ is een negatie. Bijvoorbeeld je wil alle tekens vinden, behalve a: /[^a]/
Let op: [e^] heeft niets te maken met een negatie. Het zoekt de tekens ‘e’ of ‘^’.
- Als je wilt vinden waar ‘aardvark’ minstens twee keer voorkomt, voer je in: /aardvark.*aardvark/.
- Anchor = teken dat aangeeft dat iets op een bepaalde plek in een string moet voorkomen.
Voorbeeld: /end$/ matcht alleen ‘end’ aan het eind van een zin.
- Een caret (^) kan dus in drie functies voorkomen: om de start van een zin aan te geven, als
negatie binnen vierkante haakjes of gewoon om het teken ‘dakje’ aan te geven.
- Het gebruik van een backslash: /^The dog\.$/ matcht een zin die alleen ‘The dog’ bevat. De
backslash geeft aan dat de punt niet een wildcard is, maar gewoon een punt als eind van een zin.
- De hiërarchie van alle operators, van hoogste voorrang naar laagste: haakjes, * + ?, disjunctie |
- Soms match je iets met je expressie wat je niet wil matchen. En soms iets niet wat je wel wil.
- Advanced operators: gebruik je om minder lang te hoeven typen:
{x} is ‘precies x verschijningen van het voorafgaande’. Voorbeeld: /a\.{24}z/ matcht a
gevolgd door precies vierentwintig punten gevolgd door een z.
{2,5} betekent ‘2 tot 5 verschijningen van het voorafgaande’
{2, } betekent ‘minstens 2 verschijningen van het voorafgaande’
2.2
- FSA = finite-state automaton = theoretische machine met input, inhoud, output. Je kunt het zien
als een uitvoering van een RE.
Een pijl geeft aan wat er binnenkomt en uitgaat, dus wat gelezen en geschreven wordt.
Een cirkel is een toestand waarin de automaat verkeert.
Een dubbele cirkel is de eindtoestand/acceptatietoestand.
Je kunt een automaat ook in een tabel opschrijven:
, Als de automaat een a als input krijgt in q0, dan gebeurt er niks.
- Natuurlijke taal = taal die mensen spreken
- Formele taal = taal die in theorie bestaat, bijv. babytaal (bagagoe).
- Reguliere taal = formele taal die beschreven kan worden d.m.v. een RE of een FSA.
Alle eindige talen zijn sowieso regulier.
- Index = het begin van de inputtape
- Alfabet = alle symbolen waaruit een taal bestaat. Bij schapentaal is dit: ∑ = {a,b,!}
- Generatieve grammatica = de grammatica van een formele taal.
- Figuur 2.10 is een deterministische automaat, die weet altijd wat het moet doen bij elke input.
Hij hoeft geen keuze te maken tussen vervolgopties. Non-deterministische automaten moeten
dat wel. Hieronder: moet hij bij het lezen van a in toestand 2 naar de volgende toestand of niet?
- Hieronder mag je als je in toestand 3 bent naar toestand 2 zonder te kijken naar de input.
- Het probleem met NFSA’s: misschien kiezen we de verkeerde optie. Drie oplossingen:
1. Backup: als blijkt dat je het verkeerde pad in bent geslagen, ga je terug en kies je een ander.
2. Look-ahead: kijk vooruit in de input en kies welk pad het juiste is.
3. Parallellisme: als je bij een keuzepunt komt, kijk je naar elk mogelijk pad.
2.3
- Unie/disjunctie: L1 ∪ L2 = de verzameling rijtjes die in taal 1 of in taal 2 voorkomen.
- Intersectie: L1 ∩ L2 = de verzameling van rijtjes die zowel in taal 1 als in taal 2 voorkomen.
- Difference: L1 − L2 = de verzameling rijtjes die wel in taal 1 zitten, maar niet in taal 2.
- Deel van: A ⊂ B = A is deel van B
HC 12 feb: morfologie en reguliere expressies
- Affixen:
Voorbeeld: ‘geverfde’
Prefix: onnatuurlijk
verf = stam
Suffix: onnatuurlijk
ge- -d = circumfix
Infix: unfuckinbelievable
-e = suffix
Circumfix: geklaagd (=prefix en suffix die samenwerken)
- Morfologische typologie: soorten talen: