Maskinöversättning och språkgranskning

Relevanta dokument
MÖSG ht 2005 Maskinöversättningssystemet MATS

Språkgranskningsverktyg, vt 2008

Djupstruktur och ytstruktur

Språkgranskningsverktyg. Grammatikkontroll med Scarrie

Grundläggande textanalys. Joakim Nivre

Anna Sågvall Hein, Institutionen för lingvistik, Uppsala universitet Rosenbad/ Automatisk översättning och översättningshjälpmedel

Kursplaneöversättaren. Lina Stadell

Lingvistik I Delmoment: Datorlingvistik

Utveckling av ett gränssnitt för uppdatering av lexikondatabasen MatsLex

Lingvistik I Delmoment: Datorlingvistik

Språkliga basresurser i

Maskinöversättning idag

Maskinöversättning och språkgranskning. F6: Grammatikkontroll

Maskinöversättning möjligheter och gränser

Lingvistik I Delmoment: Datorlingvistik


Maskinöversättning 2008

Pre-editering och maskinöversättning. Convertus AB

Machine Translation MÖSG F Anna Sågvall Hein

Språkgranskningsverktyg, vt 2009

Maskinöversättning handlar om att. Datorn behöver statistik och grammatik MASKINÖVERSÄTTNING ANNA SÅGVALL HEIN

Lösningsförslag till tentamen i Språkteknologi 2D1418,

Cristina Eriksson oktober 2001

Tekniker för storskalig parsning

Linköpings universitet Artificiell Intelligens II 729G11 HT Maskinöversättning. med hjälp av statistik. Erik Karlsson

Fil: /home/lah/undervisning/sprakteknologi/ohbilder/oh1_kv.odp. Tjänster

Maskinöversättning. F Anna Sågvall Hein

Särdrag, lexikon och syntax. Ordklasser. Ordklasskriterier II. Ordklasskriterier. Öppna klasser. Slutna klasser

Ordklasstaggning med funktionsordslexikon. Språklig ytanalys med regler. Jabberwocky (Källgren, 1992) Mer Jabberwocky (Lewis Carrol)

Obesvarade frågor från F1

Ordklasser. Särdrag, lexikon och syntax. Ordklasskriterier II. Ordklasskriterier. Öppna klasser. Slutna klasser

Utveckling av ett svensk-engelskt lexikon inom tåg- och transportdomänen

Användarhandledning Kursplaneöversättaren

Syntaktisk parsning (Jurafsky & Martin kapitel 13)

Föreläsning 5: Modellering av frasstruktur. 729G09 Språkvetenskaplig databehandling Lars Ahrenberg

Grammatik för språkteknologer

Språkliga basresurser i

Statistisk maskinöversättning

Partiell parsning Parsning som sökning

Tekniker för storskalig parsning

Varför är morfologi viktigt? Morfologisk analys och generering. Vad är ett ord (idag vs. i dag) Kan man inte lägga alla ord i en lexikonfil?

ETAP: Etablering och annotering av parallellkorpus för igenkänning av översättningsekvivalenter

Två-nivåmodellen, TWOL. 2D1418 Språkteknologi, Nada KTH Höstterminen 2004 Lisa Lagerkvist, Me-01

Johan Karlsson Johka490. Statistical machine translation JOHAN KARLSSON

Använda Convertus Kursplaneöversättaren

Statistisk Maskinöversättning eller:

LINKÖPINGS UNIVERSITET 729G11, Artificiell Intelligens II, HT10 SMT. En fördjupning i statistiska maskinöversättningssystem

Tekniker för storskalig parsning: Grundbegrepp

Morfologi, särdrag, lexikon och syntax. När är det bra med morfologi? Vad är ett ord? Morfem. Stam och affix

Lingvistiskt uppmärkt text

Korpusbaserad Maskinöversättning

Grammatisk teori II Attributvärdesgrammatik

Språkteknologi och Open Source

Parsningens olika nivåer

Grundläggande textanalys, VT2013

Travel Phrase Guide. Instruktionshäfte

Vägar till bättre översättningsprogram

Korpusannotering. Beáta Megyesi. Uppsala universitet Institutionen för lingvistik och filologi Korpusannotering 1(31)

Ordklasser. Särdrag, lexikon och syntax. Öppna klasser. Slutna klasser. Vilka ord i lexikon? Vad skall man med en grammatik till?

ENGA01: Engelska grundkurs, 30 högskolepoäng Studiebeskrivning

ENGA01: Engelska grundkurs, 30 högskolepoäng Studiebeskrivning

Parsningens olika nivåer

Datorlingvistisk grammatik

Convertus - kursplaneöversättning

TDDD02 Föreläsning 2 HT Reguljära uttryck och reguljära språk Lars Ahrenberg

Lexikon. versättning. Maskinövers. Flerspråklig nyhetsbevakning, maskinöversättning Termexpansion, Frågeexpansion, Fuzzy Matching, Lexikon

språkgranskning, ht 2007

Översättningsuniversalier i svenska översatta texter

Parsning. TDP007 Konstruktion av datorspråk Föreläsning 6. Peter Dalenius Institutionen för datavetenskap

ÖU2100, Översättarutbildning 1. Magisterutbildning, 60 högskolepoäng

1 INTRODUKTION SUPERLÄNKAR SCOTS TEXTER ÖVERSÄTTNING RESURSER FÖR ÖVERSÄTTNINGSSYSTEMET

Språkets struktur och funktion, 7,5 hp

Meningssegmentering i SUC och Talbanken

Automatisk generering av grammatikövningar utifrån grammatiskt analyserad text

Verbvalenser i teknisk text

Grammatik för språkteknologer

TDDA94 LINGVISTIK, 3 poäng tisdag 19 december 2000

Språkgranskningsverktyg. Grammatikkontroll i Word

729G09 Språkvetenskaplig databehandling (2018) Kursintroduktion. Marco Kuhlmann Institutionen för datavetenskap

Språkpsykologi/psykolingvistik

STRÄNGAR DATATYPEN. Om du vill baka in variabler eller escape-tecken måste du använda dubbla citattecken. strängar

Grammatisk teori III - Seminarium

Tekniker för storskalig parsning

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

Pilotstudie om maskinöversättning inom ramen för Projekt Kursdatabas - Utveckling av språkliga resurser för ett vetenskapsområde samt utvärdering

Grundläggande datalogi - Övning 9

Konstruktion av datorspråk

Grammatik för språkteknologer

Lingvistiska grundbegrepp

Bilaga 5: Nytt språk svenska. Wikispeech. en användargenererad talsyntes på Wikipedia

Utveckling av lexikala resurser för ett språkgranskningssystem för svenska

Fraser, huvuden och bestämningar

Modellering med kontextfri grammatik Kontextfri grammatik - definition En enkel kontextfri grammatik Klasser av formella språk

Översättningsminnen laboration

Morfologi och automatisk morfologisk analys och generering. Varför är morfologi viktigt? Vad är ett ord (idag vs. i dag)

Grammatik för språkteknologer

729G09 Språkvetenskaplig databehandling

Språkteknologi. Språkteknologi

Föreläsning 7: Syntaxanalys

Maskinöversättning 2008

Transkript:

Maskinöversättning och språkgranskning Föreläsning 7 Regelbaserad maskinöversättning Eva Pettersson Institutionen för lingvistik och filologi Uppsala universitet e-post: evapet@stp.lingfil.uu.se

Föreläsningsöversikt Regelbaserad maskinöversättning i allmänhet MatsLex Den lexikala databasen MATS-systemet så funkar det Transfer och generering i MATS-systemet Labben

Regelbaserad maskinöversättning interlingua-översättning transferbaserad översättning Källtext direktöversättning Måltext

MATS-systemet, bakgrund MATS = Methodology and Application of a Machine Translation System Samarbetsprojekt mellan Institutionen för lingvistik vid Uppsala universitet och Scania CV AB Bygger på MULTRA = Multilingual Support for Translation and Writing Nuvarande vidareutveckling sker i Convertus-systemet

MATS-projektets syfte Uppskalning av MULTRA för att skapa ett fullfjädrat, kommersiellt användbart maskinöversättningssystem för kvalitetsöversättningar av svensk, teknisk text o design och implementation av MATS-systemet o nytt lexikon i form av en lexikal databas o uppskalning av grammatik och lexikon

Grundläggande egenskaper Transferbaserat Prolog i botten Siktar mot fullständig analys av källspråket Möjliggör hög översättningskvalitet inom begränsade domäner Designprinciper: o genomskinlighet och spårbarhet o modularitet (varje delsteg sköts av separat modul)

MatsLex Den lexikala databasen Källspråket o lemma, teknisk stam, mönsterord, ordklass (verbvalens, semantisk information) o mönsterordsdefinitioner: mönsterord, morfosyntaktisk kod, suffix Målspråket o lemma, stam, mönsterord, ordklass o mönsterordsdefinitioner: mönsterord, morfosyntaktisk kod, suffix Översättningsrelationer o lemma och lexemnummer för källspråks- resp. målspråksingång

Exempel på källspråksingång i MatsLex Källspråkslemma: ägare.nn ägar KYPARE NOUN Mönsterordsdefinition: KYPARE e NNUXIB KYPARE es NNUXIG KYPARE en NNUSDB KYPARE ens NNUSDG KYPARE na NNUPDB KYPARE nas NNUPDG

Exempel på målspråksingång i MatsLex Målspråkslemma: owner.nn owner DOG NOUN Mönsterordsdefinition: DOG NNSB DOG s NNPG DOG 's NNSG DOG s' NNPG

Exempel på översättningsrelation i MatsLex Översättningsrelation: ägare.nn 1 owner.nn 1

Fraser i lexikonet Kontinuerliga fraser kan läggas in i lexikonet och ges ett mönsterord som talar om hur det ska böjas i alla fall New York Diskontinuerliga fraser kan inte läggas in i lexikonet, utan måste tas av transferregler slå på turn on

MATS-moduler 1) Textextraktion 2) Teckenomvandling 3) Tokenisering 4) Lexikonuppslagning 5) Parsning 7) Generering 8) Kodkomposition 9) Lexikonuppslagning 10) Fonotaktisk bearbetning 11) Finish 6) Transfer

1. Textextraktion Indata i XML-format Texten som ska översättas separeras från taggar Indata är meningssegmenterat Varje segment har ett id-nummer: <doc name= exempel > <s id= id1 >första meningen</s> <s id= id2 >andra meningen</s> </doc>

2. Teckenomvandling segmenten kodas om till latin1 så att de blir kompatibla med lexikonet sgml-entiteter görs om till motsvarande tecken vår vår

3. Tokenisering Varje segment delas upp i tokens (löpord) I de flesta fall hittas orden med ledning av whitespace Whitespace läggs in före/efter skiljetecken studenten sover. studenten sover.

4. Lexikonuppslagning (1) Uppslagning av: o enordsenheter: dag o flerordsenheter: i dag, på grund av o mönstermatchning: 2007 Okända ord o antas i MATS-systemet vara substantiv o senare versioner (Convertus-systemet) utnyttjar taggare

Lexikonuppslagning (2) De uppslagna orden tilldelas o morfosyntaktisk information o default-översättning Samspel mellan lexikonet och kodfilen matscodes

Lexikonuppslagning (3) Indatasträng: ägaren Lexikonuppslagning: ägare.nn NNUSDB Matscodes: :NOUN gender numb def case ########################################### NNUSDB utr sing def basic!np_noun

5. Parsning UCP3 (Light) Strävan efter komplett syntaktisk analys Hantering av meningar utan komplett analys Preferensmetod: rankning av likvärdiga analyser

6. Transfer (1) Indata: Analysstruktur för källspråket (från parsningsmodulen) o särdragsstruktur o källspråksspecifika attribut o default-översättningar från lexikonet Utdata: Motsvarande analysstruktur för målspråket o särdragsstruktur o målspråksspecifika attribut o översättningar anpassade till kontexten

Transfer (2) Källsida Målsida Transfermodulen översätter särdragsstrukturen I varje nod kan enskilda särdrag o kopieras över från källsidan till målsidan o läggas till på målsidan (t. ex. person från svenska till engelska) o tas bort på målsidan (t. ex. genus från svenska till engelska) o byta värde (t. ex. förvalda överssättningar)

Kopiera värden från källspråk till målspråk LABEL number SOURCE <* numb> =?x TARGET <* numb> =?x TRANSFER

Ta bort särdrag på målspråkssidan LABEL gender SOURCE <* gender> = ANY TARGET <*> = <*> TRANSFER

Byte av värde LABEL byta.mot-exchange.for SOURCE <* verb> =?verb1 <* verb head lex sym>=byta.vb.1 <* obj.prep phr.cat> = pp <* obj.prep prep word.cat> = PREP <* obj.prep prep lex sym> = mot.pp.1 <* obj.prep rect> =?rect1 TARGET <* verb> =?verb2 <* obj.prep phr.cat> = pp <* obj.prep prep word.cat> = PREP <* obj.prep prep lex> = for.pp.1 <* pred obj.prep rect> =?rect2 TRANSFER?verb1<=>?verb2?rect1<=>?rect2

7. Generering Genereringens uppgift: att utifrån målspråkets särdragsstruktur ordna de ingående leden i rätt ordföljd Indata: särdragsstruktur från transfermodulen Utdata: målspråkssärdrag ordnade i rätt ordföljd Grammatik för målspråket Unifiering och konkatenering Baserat på PATR-II (Stuart M. Shieber)

Generering (2) Typad unifiering Undviker övergenerering av regler För strukturer som innehåller typade särdrag måste alla de typade särdragen finnas uppräknade i regeln för att regeln ska vara tillämpbar Alla typade särdrag i regeln måste finnas med i särdragsstrukturen för att regeln ska vara tillämpbar

8. Kodkomposition Särdragsstrukturen från genereringsmodulen mappas mot motsvarande morfosyntaktiska koder för de ingående ordformerna, ex: Indata: Utdata: ([numb:plur, case:basic, word.cat:noun, lex:student.nn.1]) (NNPB [* [lem [sym student.nn]]])

9. Lexikonuppslagning Indata: Målspråkslemman med tillhörande morfosyntaktiska koder Utdata: Målspråksordformer student.nn NNPB students

10. Fonotaktisk bearbetning Ytsträngen skrivs om i enlighet med fonotaktiska regler, t.ex: a engine an engine

11. Finish Finputsning av de översatta segmenten, t.ex: o gör om första bokstaven i varje mening till versal o ta bort överflödiga mellanslag Den översatta texten läggs in i en likadan XML-struktur som källtexten

Upphämtningsstrategier Översättningsprocessen kan misslyckas i ett eller flera delsteg Upphämtningsstrategier (fallback-strategier) för att hantera: o okända ord: externa lexikon, ordklassgissare o ofullständig parsning: klistra ihop delanalyser o ofullständig transfer: kopiera över okända strukturer o ofullständig generering: alternativ strategi o ofullständigt målspråkslexikon: försök generera form

Översättning med partiella analyser Vissa meningar okänsliga för segmentering: [en bil] [,] [en buss och ett tåg] [a car] [,] [a bus and a train] Problem när beroende bryts (boundary friction): [för studerande som underkänts] [vid det ordinarie provtillfället] [anordnas] [två extra provtillfällen] [for students who have failed] [at the regular examination] [is organised] [two additional examinations]

Fallbackgenerering Målspråksgrammatiken täcker inte alltid hela strukturen Om så är fallet följer man källspråkets ordföljd även i målspråket Fungerar bra i många fall: studenten är glad the student is happy Fungerar mindre bra i andra fall: för studerande som underkänts vid det ordinarie provtillfället anordnas två extra provtillfällen for students who have failed at the regular examination is organised two additional examinations

Fallbackgenerering med språkmodell (1) Ordföljd (jag tänker,) därför finns jag o 56 800: therefore I exist o 912: I exist therefore o 301: I therefore exist o 59: therefore exist I

Fallbackgenerering med språkmodell (2) Ordval/böjning Jag är törstig o 92 300: I am thirsty o 3 210: I are thirsty o 658: I is thirsty

Fallbackgenerering med språkmodell (3) Samma idé som inom statistik maskinöversättning: o för varje ord/fras i meningen, samla ihop alla dess översättningsalternativ o sök efter den kombination av översättningsalternativ som både maximerar sannolikheten för ordvalet och sannolikheten för ordföljden o språkmodellen bygger optimalt på en korpus för den domän som maskinöversättningssystemet är tränat för att översätta o om ingen domänspecifik korpus finns, kan man använda Internet som språkmodell, t. ex. via Google

Transfer och generering i MATS studenten litar på läraren the student trusts the teacher prepositionsobjekt direkt objekt

Lexikonuppslagning ((NNUSDB [* [lem [sym student.nn], [lex [sym student.nn.1]], [trglex [sym student.nn.1]]]]) (VBAPM [* [lem [sym lita.vb], [lex [sym lita.vb.1]], [trglex [sym trust.vb.1]]]]) (PP [* [lem [sym på.pp], [lex [sym på.pp.1]], [trglex [sym on.pp.1]]]]) (NNUSDB [* [lem [sym lärare.nn], [lex [sym lärare.nn.1]], [trglex [sym teacher.nn.1]]]])

1-process([[* =['phr.cat'=cl, type=main, (mode)=decl, subj=['phr.cat'=np, numb=sing, gender=utr, case=basic, def=def, head=[lem=[sym='student.nn', lex=[sym='student.nn.1'], trglex=[sym=path(* :subj:head:lem:lex:sym)]], 'word.cat'='noun']], verb=[lem=[sym='lita.vb', lex=[sym='lita.vb.1'], trglex=[sym='trust.vb.1']], tense=pres, 'verb.type'=path(* :type), inff=fin, diat=act, 'word.cat'='verb'], 'obj.prep'=['phr.cat'=pp, prep=[lem=[sym='på.pp', lex=[sym='på.pp.1'], trglex=[sym='on.pp.1']], 'word.cat'='prep'], rect=['phr.cat'=path(* :subj:'phr.cat'), numb=path(* :subj:numb), gender=path(* :subj:gender), case=path(* :subj:case), def=path(* :subj:def), head=[lem=[sym='lärare.nn', lex=[sym='lärare.nn.1'], trglex=[sym='teacher.nn.1']], 'word.cat'=path(* :subj:head:'word.cat')]]]]]]

Transferregel LABEL lita.på-trust SOURCE <* verb> =?v1 <* verb lem lex sym> = lita.vb.1 <* obj.prep phr.cat> = pp <* obj.prep prep> =?x <* obj.prep prep lem lex sym> = på.pp.1 <* obj.prep rect> =?rect TARGET <* verb> =?v2 <* obj.dir> =?objdir TRANSFER?v1 <=>?v2?rect <=>?objdir

Särdragsstruktur efter transfer [phr.cat:cl, type:main, mode:decl, verb:[tense:pres, verb.type:main, inff:fin, diat:act, word.cat:verb, lex:trust.vb.1, person:3], obj.dir:[phr.cat:np, numb:sing, case:basic, def:def, head:[word.cat:noun, lex:teacher.nn.1]], subj:[head:[word.cat:noun, lex:student.nn.1], phr.cat:np, numb:sing, case:basic, def:def]]

Genereringsregler LABEL cl.subj-verb-obj.dir x1 ---> x2 x3 x4: <x1 phr.cat> = cl <x1 type> = main <x1 mode> = decl <x1 subj> = <x2> <x1 verb> = <x3> <x3 inff> = <x1 inff> <x3 tense> = <x1 tense> <x3 numb> = <x2 numb> <x3 person> = <x2 person> <x1 obj.dir> = <x4> LABEL np.indef.art-noun x1 ---> x2 x3: <x1 phr.cat> = np <x1 def> = indef <x1 art> = <x2> <x1 head> = <x3> <x3 numb> = <x1 numb> <x3 case> = <x1 case>

Kodkomposition ((ALD [* [lem [sym the.al]]]) (NNSB [* [lem [sym student.nn]]]) (VBPM3S [* [lem [sym trust.vb]]]) (ALD [* [lem [sym the.al]]]) (NNSB [* [lem [sym teacher.nn]]]))

Lexikonuppslagning the student trusts the teacher

Färgkodningar Färgkoder talar om vilka problem systemet har haft...

Labben Undersök MatsLex Provkör MATS-systemet Skriv lingvistiskt motiverade transfer- och genereringsregler för ett antal meningar Inlämning: Fredag 26 oktober