Færdig transducer

I teoretisk datalogi inden for lingvistik , især inden for automatteori , er en endelig transducer (også kaldet finite state transducer af en bogstavelig oversættelse fra engelsk finite state transducer ) en endelig automat med output. Det er en udvidelse af endelige automater . De arbejder med ordene på et inputalfabet, og i stedet for blot at acceptere eller afvise ordet omdanner de det på en undertiden ikke-deterministisk måde til et eller flere ord på et outputalfabet. Dette muliggør sprogtransformationer og også forskellige anvendelser, såsom især den syntaktiske analyse af programmeringssprog, og morfologisk analyse eller fonologisk analyse inden for lingvistik .

En af de bemærkelsesværdige egenskaber ved endelige transducere er, at de omdanner rationelle sprog til rationelle sprog og algebraiske sprog til algebraiske sprog.

Formelle definitioner

En endelig transducer er en matematisk maskine, der transformerer ord. En sådan maskine er designet efter modellen af ​​finite automata med for hver overgang en ekstra etiket i form af et ord. Hver overgang har derfor to mærker. Dette er ofte repræsenteret ved skrivningen

Symbolet er inputetiketten , symbolet er outputetiketten for overgangen. På en billedlig måde siges det, at transduceren "læser" symbolet og "skriver" symbolet, mens det går fra stat til stat . Ved at gentage denne handling læser en transducer et ord fra venstre mod højre på inputbåndet og skriver et ord på outputbåndet.

Transducerens finitude betyder endeligheden af ​​antallet af stater. Men som ofte i teoretisk datalogi er maskinerne - i princippet - ikke-deterministiske, det vil sige, at der er flere henrettelser, hvor det samme ord læses, men maskinens tilstande og de skrevne ord kan variere. de forskellige henrettelser.

Endelige transducere har mange teoretiske egenskaber og mange praktiske anvendelser, for eksempel inden for kompilering , talegenkendelse og lingvistik .

Færdig transducer

En endelig transducer er defineret med en 6-uple

, eller:

Egenskaben betyder, at der er en tilstand- til- tilstand-overgang, hvorved symbolet læses på inputbåndet, og symbolet skrives på outputbåndet. Dette er ofte repræsenteret af notationen

Symbolet er inputetiketten , symbolet er outputetiketten for overgangen.

Hvis for alt , siges transduceren T at være funktionel.

Transitiv lukning

Den transitive lukning af er den mindste relation (for inkludering af relationer), der tilfredsstiller:

Med andre ord betyder det, at der er en sti fra tilstand til tilstand, hvis inputetiket er ordet, og outputetiketten er ordet . En sti er vellykket, hvis og .

Rationelt forhold

Analogt med endelige automater , som genkender et sprog, et endeligt transducer genkender en relation, betegnet ved den kartesiske produkt af de to frie monoider. Vi har eller hvis og kun hvis det eksisterer og sådan sådan . Med andre ord vedrører hvis og kun hvis der er en vellykket sti, der læser og skriver .

Variantdefinition

I en variant af definitionen, i stedet for at bede om, at etiketterne til overgangene er bogstaver eller det tomme ord, er ord autoriserede som etiketter på inputalfabetet resp. output-alfabetet.

De forskellige måder at se på en færdig transducer

En færdig transducer kan ses på flere måder, hvilket muliggør helt forskellige anvendelser.

Transducer ses som en automat

I det tilfælde hvor ingen af ​​transducerens etiketter er det tomme ord, kan vi se en transducer som et specielt tilfælde af endelige automater . Derefter kontrolleres automatiske klassiske egenskaber .

Det er tilstrækkeligt at overveje en automat, hvis alfabet er det kartesiske produkt af de to alfabeter .

Transducer ses som et rationelt forhold

At betragte en transducer som et rationelt forhold gør det muligt at etablere en primordial egenskab i undersøgelsen og brugen af ​​disse: lukning ved komposition .

Transducer operationer

Operationer arvet fra PLC'er

Opmærksomhed, skæringspunktet mellem rationelle relationer er ikke nødvendigvis rationelt (skæringspunktet mellem to relationer og er forholdet defineret af )

Sammensætning

Overvej to transducere endelige og sådan, at outputalfabetet falder sammen med inputalfabetet .

Den forbindelse er defineret ved relationen  :

såsom og .

Det er vigtigt at bemærke, at sammensætningen af to færdige transducere stadig er en færdig transducer. Således gør sammensætningen det let at forberede transducere, der har en kompleks funktion fra simple transducere.

Fremskrivninger

Andre egenskaber ved færdige transducere

Anvendelse til grammatisk analyse

I dette afsnit giver vi to eksempler på transducere. Givet en sætning er målet at generere en sekvens, der giver hvert ords grammatiske karakter i sætningen. For eksempel, hvis sætningen er "Alex kan lide fries", er målet at generere sekvensen NAVN VERB ARTIKELNAVN. Til dette er to transducere defineret.

Den første transducer, betegnet (for Lexicon), omdanner en række bogstaver efterfulgt af et mellemrum til et ord, hvis ordet er en del af leksikonet.

En anden transducer, bemærket (for ordbog), omdanner et ord til dets grammatiske karakter (eller muligvis flere, hvis ordet har flere grammatiske karakterer).

Så overvej bare sammensatte transducere . Da sammensætningen bevarer transducerernes funktion, tager denne nye transducer som input en sekvens af bogstaver og skriver som output en sekvens af grammatiske natur svarende til sætningens ord.

Modeludvidelse: vægtet færdig transducer

Som med finite automata kan endelige transducere forbedres ved at veje dem. Metoden er også identisk med den, der anvendes til vægtet endelig automat.

En sådan optimering kan f.eks. Bruges i stavekontrol . Til det er det tilstrækkeligt at definere en afstand mellem ordene som d ( u , v ) = antal ændringer, der er nødvendige for at omdanne u til v . Det er derefter tilstrækkeligt at definere en transducer, der udfører elementære transformationer (bogstavændring, tilføjelse af et bogstav, sletning af et bogstav) ved korrekt vægtning af disse transformationer.

Så når et ord ikke findes i ordbogen, vil en sammenligning af dette ord med andre gennem den vægtede transducer afgøre, hvilket korrekt ord der er tættest.

Modelbegrænsninger

Afhængig af de betingelser, der pålægges transduceren, opnår den mere begrænsede forhold eller funktioner. Når transduceren er deterministisk ved indgangen, siges transduktionerne at være sekventielle; disse er funktioner, der kaldes sekventielle funktioner. Når input- og outputetiketterne for overgangene desuden er bogstaver, bevarer de udførte funktioner længderne; automatene er Mealys automater .

Relaterede artikler

Referencer

  1. Vi bemærker som sædvanlig de gratis monoide ord på alfabetet .
  2. MP Schützenberger. Om rationelle relationer , Automata Theory and Formal Languages, 2nd GI Conference , Lecture Notes in Computer Science , bind 33, s. 209-213, 1975.
  3. (i) Griffiths, T. Uopløseligheden af ​​ækvivalensproblemet for generaliseret Λ-fri ikke-deterministisk maskine , Journal of the Association for Computing Machinery 15, 1968 s. 409-413
  4. (in) Eitan Mr. Gurari, Ækvivalensproblemet for deterministiske tovejs sekventielle transducere kan afgøres . SIAM J. Comput. , 11 (3): 448-452, 1982.
  5. (in) Tero Harju Juhani Karhumäki, Ækvivalensproblemet med multitap finite automata , Theoretical Computer Science vol. 78, 1991, s. 347-355
  6. Samuel Eilenberg. Automata, sprog og maskiner , bind A. Academic Press, 1974.
  7. Jean-Eric Pin, kap.  I / 9 “Algoritmik og programmering. Finite automates , i Jacky Akoka og Isabelle Comyn-Wattiau (redaktører), Encyclopedia of computing and information systems , Paris, Vuibert, 2006( ISBN  978-2711748464 , HAL  hal-00143940 / dokument ) , s.  966-976
  8. Jean-Éric Pin, "  Kort kursus om sekventielle funktioner  " , Sainte-Marie de Ré , LIAFA, CNRS og Université Denis Diderot,maj 2013(adgang til 3. august 2017 )

Yderligere bibliografi


<img src="https://fr.wikipedia.org/wiki/Special:CentralAutoLogin/start?type=1x1" alt="" title="" width="1" height="1" style="border: none; position: absolute;">