Articulo de referencia

Transductor de estado finito

Un transductor de estados finitos ( FST ) es una máquina de estados finitos con dos cintas de memoria , siguiendo la terminología de las máquinas de Turing : una cinta de entrad...

Un transductor de estados finitos ( FST ) es una máquina de estados finitos con dos cintas de memoria , siguiendo la terminología de las máquinas de Turing : una cinta de entrada y una cinta de salida. Esto contrasta con un autómata de estados finitos ordinario , que tiene una sola cinta. Un FST es un tipo de autómata de estados finitos (FSA) que establece una correspondencia entre dos conjuntos de símbolos. [ 1 ] Un FST es más general que un FSA. Un FSA define un lenguaje formal mediante la definición de un conjunto de cadenas aceptadas, mientras que un FST define una relación entre conjuntos de cadenas.

Un FST lee un conjunto de cadenas en la cinta de entrada y genera un conjunto de relaciones en la cinta de salida. Un FST puede considerarse como un traductor o un generador de relaciones entre las cadenas de un conjunto.

En el análisis morfológico , un ejemplo sería introducir una cadena de letras en el FST, y este generaría como salida una cadena de morfemas .

Descripción general

Se puede decir que un autómata reconoce una cadena si consideramos el contenido de su cinta como entrada. En otras palabras, el autómata calcula una función que asigna cadenas al conjunto {0,1}. Alternativamente, podemos decir que un autómata genera cadenas, lo que significa considerar su cinta como una cinta de salida. Desde esta perspectiva, el autómata genera un lenguaje formal , que es un conjunto de cadenas. Ambas perspectivas de los autómatas son equivalentes: la función que calcula el autómata es precisamente la función indicadora del conjunto de cadenas que genera. La clase de lenguajes generados por autómatas finitos se conoce como la clase de lenguajes regulares .

Las dos cintas de un transductor se suelen considerar como una cinta de entrada y una cinta de salida. Desde esta perspectiva, se dice que un transductor transduce (es decir, traduce) el contenido de su cinta de entrada a su cinta de salida, al aceptar una cadena en la cinta de entrada y generar otra en la cinta de salida. Puede hacerlo de forma no determinista y producir más de una salida para cada cadena de entrada. Un transductor también puede no producir ninguna salida para una cadena de entrada dada, en cuyo caso se dice que rechaza la entrada. En general, un transductor calcula una relación entre dos lenguajes formales.

Cada transductor de estados finitos de cadena a cadena relaciona el alfabeto de entrada Σ con el alfabeto de salida Γ. Las relaciones R en Σ*×Γ* que pueden implementarse como transductores de estados finitos se denominan relaciones racionales . Las relaciones racionales que son funciones parciales , es decir, que relacionan cada cadena de entrada de Σ* con como máximo una Γ*, se denominan funciones racionales .

Los transductores de estados finitos se utilizan a menudo para el análisis fonológico y morfológico en la investigación y las aplicaciones del procesamiento del lenguaje natural . Entre los pioneros en este campo se encuentran Ronald Kaplan , Lauri Karttunen , Martin Kay y Kimmo Koskenniemi . [ 2 ] Una forma común de utilizar transductores es en una denominada "cascada", donde los transductores para diversas operaciones se combinan en un único transductor mediante la aplicación repetida del operador de composición (definido más adelante).

Construcción formal

Formalmente, un transductor finito T es una 6-tupla ( Q , Σ, Γ, I , F , δ ) tal que:

  • Q es un conjunto finito , el conjunto de estados ;
  • Σ es un conjunto finito, llamado alfabeto de entrada ;
  • Γ es un conjunto finito, llamado alfabeto de salida ;
  • I es un subconjunto de Q , el conjunto de estados iniciales ;
  • F es un subconjunto de Q , el conjunto de estados finales ; y
  • δQ×(Σ{ϵ})×(Γ{ϵ})×Q{\displaystyle \delta \subseteq Q\times (\Sigma \cup \{\epsilon \})\times (\Gamma \cup \{\epsilon \})\times Q}(donde ε es la cadena vacía ) es la relación de transición .

Podemos ver ( Q , δ ) como un grafo dirigido etiquetado , conocido como el grafo de transición de T : el conjunto de vértices es Q , y (q,a,b,r)δ{\displaystyle (q,a,b,r)\in \delta }Esto significa que hay una arista etiquetada que va del vértice q al vértice r . También decimos que a es la etiqueta de entrada y b la etiqueta de salida de esa arista.

NOTA: Esta definición de transductor finito también se denomina transductor de letras (Roche y Schabes 1997); son posibles definiciones alternativas, pero todas pueden convertirse en transductores siguiendo esta definición.

Defina la relación de transición extendidaδ{\displaystyle \delta ^{*}}como el conjunto más pequeño tal que:

  • δδ{\displaystyle \delta \subseteq \delta ^{*}};
  • (q,ϵ,ϵ,q)δ{\displaystyle (q,\epsilon ,\epsilon ,q)\in \delta ^{*}}a pesar deqQ{\displaystyle q\in Q}; y
  • cuando sea(q,incógnita,y,r)δ{\displaystyle (q,x,y,r)\in \delta ^{*}}y(r,a,b,s)δ{\displaystyle (r,a,b,s)\in \delta }entonces(q,incógnitaa,yb,s)δ{\displaystyle (q,xa,yb,s)\in \delta ^{*}}.

La relación de transición extendida es esencialmente el cierre transitivo reflexivo del grafo de transición que se ha aumentado para tener en cuenta las etiquetas de los bordes. Los elementos deδ{\displaystyle \delta ^{*}}se conocen como caminos . Las etiquetas de los bordes de un camino se obtienen concatenando las etiquetas de los bordes de sus transiciones constituyentes en orden.

El comportamiento del transductor T es la relación racional [ T ] definida de la siguiente manera:incógnita[T]y{\displaystyle x[T]y}si y solo si existeiI{\displaystyle i\in I}yFF{\displaystyle f\in F}de tal manera que(i,incógnita,y,F)δ{\displaystyle (i,x,y,f)\in \delta ^{*}}Esto quiere decir que T transduce una cadenaincógnitaΣ{\displaystyle x\in \Sigma ^{*}}en una cuerdayΓ{\displaystyle y\in \Gamma ^{*}}Si existe un camino desde un estado inicial a un estado final cuya etiqueta de entrada es x y cuya etiqueta de salida es y .

Autómatas ponderados

Los transductores de estado finito pueden ponderarse, donde cada transición se etiqueta con un peso además de las etiquetas de entrada y salida. Un transductor de estado finito ponderado (WFST) sobre un conjunto K de pesos se puede definir de manera similar a uno no ponderado como una 8-tupla T = ( Q , Σ, Γ, I , F , E , λ , ρ ) , donde:

  • Q , Σ, Γ, I , F se definen como se indicó anteriormente;
  • miQ×(Σ{ϵ})×(Γ{ϵ})×Q×K{\displaystyle E\subseteq Q\times (\Sigma \cup \{\epsilon \})\times (\Gamma \cup \{\epsilon \})\times Q\times K}(donde ε es la cadena vacía ) es el conjunto finito de transiciones;
  • λ:IK{\displaystyle \lambda :I\rightarrow K}asigna estados iniciales a pesos;
  • ρ:FK{\displaystyle \rho :F\rightarrow K}asigna estados finales a pesos.

Para que ciertas operaciones en WFST estén bien definidas, es conveniente requerir que el conjunto de pesos forme un semianillo . [ 3 ] Dos semianillos típicos utilizados en la práctica son el semianillo logarítmico y el semianillo tropical : los autómatas no deterministas pueden considerarse con pesos en el semianillo booleano . [ 4 ]

Se pueden componer dos FST ponderados. [ 5 ]

Operaciones con transductores de estado finito

Las siguientes operaciones definidas en autómatas finitos también se aplican a transductores finitos:

  • Unión . Dados los transductores T y S , existe un transductorTS{\displaystyle T\cup S}de tal manera queincógnita[TS]y{\displaystyle x[T\cup S]y}si y solo siincógnita[T]y{\displaystyle x[T]y}oincógnita[S]y{\displaystyle x[S]y}.
  • Concatenación . Dados los transductores T y S , existe un transductorTS{\displaystyle T\cdot S}de tal manera queincógnita[TS]y{\displaystyle x[T\cdot S]y}si y solo si existenincógnita1,incógnita2,y1,y2{\ Displaystyle x_ {1}, x_ {2}, y_ {1}, y_ {2}}conincógnita=incógnita1incógnita2,y=y1y2,incógnita1[T]y1{\displaystyle x=x_{1}x_{2},y=y_{1}y_{2},x_{1}[T]y_{1}}yincógnita2[S]y2.{\displaystyle x_{2}[S]y_{2}.}
  • Cierre de Kleene . Dado un transductor T , podría existir un transductorT{\displaystyle T^{*}}con las siguientes propiedades: [ 6 ]
yincógnita[T]y{\displaystyle x[T^{*}]y}no se sostiene a menos que lo exija ( k1 ) o ( k2 ).
  • Composición . Dado un transductor T sobre los alfabetos Σ y Γ y un transductor S sobre los alfabetos Γ y Δ, existe un transductorTS{\displaystyle T\circ S}en Σ y Δ de tal manera queincógnita[TS]z{\displaystyle x[T\circ S]z}si y solo si existe una cadenayΓ{\displaystyle y\in \Gamma ^{*}}de tal manera queincógnita[T]y{\displaystyle x[T]y}yy[S]z{\displaystyle y[S]z}Esta operación se extiende al caso ponderado. [ 7 ]
Esta definición utiliza la misma notación que se usa en matemáticas para la composición de relaciones . Sin embargo, la lectura convencional para la composición de relaciones es al revés: dadas dos relaciones T y S ,(incógnita,z)TS{\displaystyle (x,z)\in T\circ S}cuando existe algún y tal que(incógnita,y)S{\displaystyle (x,y)\in S}y(y,z)T.{\displaystyle (y,z)\in T.}
  • Proyección a un autómata. Existen dos funciones de proyección:π1{\displaystyle \pi _{1}}conserva la cinta de entrada yπ2{\displaystyle \pi _{2}}conserva la cinta de salida. La primera proyección,π1{\displaystyle \pi _{1}}se define de la siguiente manera:
Dado un transductor T , existe un autómata finitoπ1T{\displaystyle \pi _{1}T}de tal manera queπ1T{\displaystyle \pi _{1}T}acepta x si y solo si existe una cadena y para la cualincógnita[T]y.{\displaystyle x[T]y.}
:La segunda proyección,π2{\displaystyle \pi _{2}}se define de manera similar.

Propiedades adicionales de los transductores de estado finito

  • Es decidible si la relación [ T ] de un transductor T es vacía.
  • Es decidible si existe una cadena y tal que x [ T ] y para una cadena x dada .
  • Es indecidible si dos transductores son equivalentes. [ 13 ] Sin embargo, la equivalencia es decidible en el caso especial en que la relación [ T ] de un transductor T es una función (parcial).

Aplicaciones

Los FST se utilizan en la fase de análisis léxico de los compiladores para asociar un valor semántico con los tokens descubiertos. [ 14 ]

Las reglas de reescritura sensibles al contexto de la forma ab / c _ d , utilizadas en lingüística para modelar reglas fonológicas y cambios de sonido , son computacionalmente equivalentes a transductores de estados finitos, siempre que su aplicación no sea recursiva, es decir, que la regla no pueda reescribir la misma subcadena dos veces. [ 15 ]

Los FST ponderados encontraron aplicaciones en el procesamiento del lenguaje natural , [ 16 ] incluyendo traducción automática , [ 17 ] reconocimiento de voz , [ 18 ] [ 19 ] síntesis de voz , [ 20 ] y reconocimiento óptico de caracteres . [ 21 ] También en compresión de imágenes , [ 22 ] y aprendizaje automático en general. [ 23 ] Una implementación para el etiquetado de partes de la oración se puede encontrar como un componente de la biblioteca OpenGrm .

Véase también

Notas

  1. Jurafsky, Daniel (2009). Procesamiento del habla y del lenguaje . Pearson. ISBN 9789332518414.
  2. Koskenniemi 1983
  3. Berstel, Jean; Reutenauer, Christophe (2011). Series racionales no conmutativas con aplicaciones . Enciclopedia de Matemáticas y sus Aplicaciones. Vol. 137. Cambridge: Cambridge University Press . pág. 16. ISBN   978-0-521-19022-0. Zbl 1250.68007 . 
  4. ^ Lotario, M. (2005). Combinatoria aplicada a las palabras . Enciclopedia de Matemáticas y sus aplicaciones. vol. 105. Una obra colectiva de Jean Berstel, Dominique Perrin, Maxime Crochemore, Eric Laporte, Mehryar Mohri, Nadia Pisanti, Marie-France Sagot, Gesine Reinert , Sophie Schbath , Michael Waterman, Philippe Jacquet, Wojciech Szpankowski , Dominique Poulalhon, Gilles Schaeffer, Roman Kolpakov, Gregory Koucherov, Jean-Paul Allouche y Valérie Berthé . Cambridge: Prensa de la Universidad de Cambridge . pag. 211 . ISBN   0-521-84802-4. Zbl 1133.68067 . 
  5. Pereira, Fernando; Riley, Michael; Sproat, Richard (8 de marzo de 1994). «Transducciones racionales ponderadas y su aplicación al procesamiento del lenguaje humano» . Actas del taller sobre Tecnología del Lenguaje Humano . HLT '94. EE. UU.: Asociación de Lingüística Computacional: 262–267 . doi : 10.3115/1075812.1075870 . ISBN 978-1-55860-357-8.
  6. Boigelot, Bernard; Legay, Axel; Wolper, Pierre (2003). "Iteración de transductores a gran escala". Verificación asistida por ordenador . Notas de clase en informática. Vol. 2725. Springer Berlin Heidelberg. pp. 223–235 . doi : 10.1007/978-3-540-45069-6_24 . eISSN 1611-3349 . ISBN    978-3-540-40524-5ISSN 0302-9743 
  7. Mohri 2004 , págs. 3–5 
  8. "Determinación de transductores" .
  9. Mohri 2004 , págs. 5–6 
  10. Allauzen y Mohri 2003
  11. Mohri 2004 , págs. 7–9 
  12. Mohri 2004 , págs. 9–11 
  13. Griffiths 1968
  14. Charles N. Fischer; Ron K. Cytron; Richard J. LeBlanc, Jr. (2010). «Scanning - Theory and Practice». Crafting a Compiler . Addison-Wesley. ISBN 978-0-13-606705-4.
  15. "Modelos regulares de sistemas de reglas fonológicas" (PDF) . Archivado del original (PDF) el 11 de octubre de 2010.
  16. Knight, Kevin; May, Jonathan (2009), "Aplicaciones de autómatas ponderados en el procesamiento del lenguaje natural" , en Droste, Manfred; Kuich, Werner; Vogler, Heiko (eds.), Manual de autómatas ponderados , Berlín, Heidelberg: Springer, pp. 571–596 , doi : 10.1007/978-3-642-01492-5_14 , ISBN  978-3-642-01492-5, consultado el 24 de mayo de 2025
  17. Casacuberta, Francisco; Vidal, Enrique (2007-01-01). "Aprendizaje de modelos de estados finitos para la traducción automática" . Machine Learning . 66 (1): 69– 91. doi : 10.1007/s10994-006-9612-9 . ISSN 1573-0565 . 
  18. Mohri, Mehryar; Pereira, Fernando; Riley, Michael (2008), "Reconocimiento del habla con transductores de estado finito ponderados" , en Benesty, Jacob; Sondhi, M. Mohan; Huang, Yiteng Arden (eds.), Springer Handbook of Speech Processing , Berlín, Heidelberg: Springer, pp. 559–584 , doi : 10.1007/978-3-540-49127-9_28 , ISBN  978-3-540-49127-9, consultado el 24 de mayo de 2025
  19. Mohri, Mehryar; Pereira, Fernando; Riley, Michael (2002-01-01). "Transductores ponderados de estados finitos en el reconocimiento de voz" . Computer Speech & Language . 16 (1): 69– 88. doi : 10.1006/csla.2001.0184 . ISSN 0885-2308 . 
  20. Mohri, Mehryar (1997-06-01). "Transductores de estados finitos en el procesamiento del lenguaje y el habla" . Comput. Linguist . 23 (2): 269– 311. ISSN 0891-2017 . 
  21. Breuel, Thomas M. (27-01-2008). Yanikoglu, Berrin A.; Berkner, Kathrin (eds.). "El sistema OCRopus de código abierto" : 68150F–68150F–15. doi : 10.1117/12.783598 .{{cite journal}}: Para citar una revista se requiere |journal=( ayuda )
  22. Alberto, Jürgen; Kari, Jarkko (2009), "Compresión de imágenes digitales" , en Droste, Manfred; Kuich, Werner; Vogler, Heiko (eds.), Handbook of Weighted Automata , Berlín, Heidelberg: Springer, págs. 453–479 , doi : 10.1007/978-3-642-01492-5_11 , ISBN  978-3-642-01492-5, consultado el 24 de mayo de 2025
  23. Cortes Corinna; Mohri Mehryar (2009), Aprendizaje con transductores ponderados , Fronteras en inteligencia artificial y aplicaciones, IOS Press, doi : 10.3233/978-1-58603-975-2-14

Referencias

  • Allauzen, Cyril; Mohri, Mehryar (2003). "Algoritmos eficientes para probar la propiedad de los gemelos" (PDF) . Journal of Automata, Languages ​​and Combinatorics . 8 (2): 117– 144.
  • Koskenniemi, Kimmo (1983). "Morfología de dos niveles: un modelo computacional general de reconocimiento y producción de formas de palabras" (PDF) . Departamento de Lingüística General, Universidad de Helsinki . Archivado del original (PDF) el 21 de diciembre de 2018. Consultado el 10 de enero de 2010 .
  • Mohri, Mehryar (2004). «Algoritmos de transductores de estados finitos ponderados. Una visión general» (PDF) . Lenguajes formales y aplicaciones . Estudios en lógica difusa y computación blanda. Vol.  148. pp. 551–564 . doi : 10.1007/978-3-540-39886-8_29 . ISBN  978-3-642-53554-3.
  • Griffiths, TV (1968). "La irresolubilidad del problema de equivalencia para máquinas generalizadas no deterministas libres de Λ". Journal of the ACM . 15 (3). ACM: 409– 413. doi : 10.1145/321466.321473 .

Lecturas adicionales

  • Jurafsky, Daniel ; James H. Martin (2000). Procesamiento del habla y del lenguaje . Prentice Hall. págs. 71-83 . ISBN  0-13-095069-6.
  • Kornai, András (1999). Modelos de lenguaje de estados finitos extendidos . Prensa de la Universidad de Cambridge. ISBN 0-521-63198-X.
  • Roche, Emmanuel; Yves Schábes (1997). Procesamiento del lenguaje de estados finitos . Prensa del MIT. págs. 1 –65. ISBN  0-262-18182-7.
  • Beesley, Kenneth R.; Lauri Karttunen (2003). Morfología de estados finitos . Centro para el Estudio del Lenguaje y la Información. ISBN 1-57586-434-7.
  • Roark, Brian; Richard Sproat (2007). Enfoques computacionales de la morfología y la sintaxis . Oxford University Press. ISBN 978-0-19-927478-9.
  • Berstel, Jean (1979). Transducciones y lenguajes libres de contexto . Teubner Verlag.Versión PDF gratuita
  • OpenFst , una biblioteca de código abierto para operaciones FST.
  • La implementación de código abierto de Helsinki y la extensión del Xerox fst
  • FOMA , una implementación de código abierto de la mayoría de las capacidades de la implementación Xerox XFST/LEXC.
  • Stuttgart Finite State Transducer Tools , otro conjunto de herramientas FST de código abierto.
  • Java FST Framework , un framework Java FST de código abierto capaz de manejar el formato de texto OpenFst.