-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathNLP_Analysis.tex
124 lines (104 loc) · 9.76 KB
/
NLP_Analysis.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
\documentclass[12pt, letterpaper]{article}
\usepackage[utf8]{inputenc}
\usepackage[spanish]{babel}
\usepackage{hyperref}
\usepackage{multicol}
\usepackage{graphicx}
\usepackage{float}
\graphicspath{{images/}}
\title{Traducción automática}
\author{Mateo Gonzalez Ocampo \and Juan Alejandro Uribe Ramirez}
\date{Junio 2020}
\begin{document}
\maketitle
\begin{multicols}{2}
\section{Introducción}
La traducción automática se refiere al uso de computadores para realizar traducciones de un lenguaje SL (\textit{Source Language})
a un lenguaje TL (\textit{Target Language}). Los origenes de esta area del conocimiento se remontan a los años 30, con los trabajos
de Georges Artsrouni and Petr Trojanskij, en los que patentaron sistemas que podrían ser usados como traductores \cite{HUTCHINS1995431}.
Luego, durante los años 40, con la creación de los primeros computadores, se consideró el uso de estos como traductores, lo cual concluyo
en lo que se conoce hoy como el experimento de Georgetown\cite{Georgetown}, en el que fue posible traducir mas de 60 oraciones del Ruso
al Ingles, lo que genero altas expectativas dentro de la comunidad cientifica y en el gobierno americano, por su posible uso en la guerra
fria.
Hoy en día, el uso de software que usa traducción automatica esta ampliamente extendido en la población no solo cientifica, sino en general.
Un ejemplo claro de este es el traductor de Google.
En el siguiente trabajo se realiza una revisión de algunos de los métodos que se han usado históricamente para resolver el problema de la
traducción automática. Los métodos seleccionados fueron la traducción basada en reglas, basada en ejemplos y basada en redes neuronales.
Para cada método se presenta una pequeña introducción histórica, un análisis de como funciona y aplicaciones destacadas.
\section{Métodos}
\subsection{Reglas}
Los sistemas basados en reglas constituyen los primeros intentos usados para la creación
de traductores automáticos y fueron ampliamente usados entre la decada de las 60 y la
primera parte de los 80. Estos sistemas usan un conjunto de reglas escritas a mano para la
transformación de SL a TL, ademas de un diccionario para la traducción de palabras.
\begin{figure}[H]
\centering
\includegraphics[width=0.4\textwidth]{triangle.png}
\caption[]{Triangulo de Vauquois.}
\label{triangle}
\end{figure}
Se pueden diferenciar los métodos usados en este tipo de sistemas en dos generaciones\cite{HUTCHINS1995431}:
La primera, se caracteriza porque la transformación de SL a TL es directa, es decir, se traduce
cada palabra por separado, usando un diccionario de SL a TL, y al resultado de esta transformación
se le aplican un conjunto de reglas para hacer que la nueva oración sea coherente en TL, lo que
puede involucrar una reorganización de las palabras del texto generado. A este tipo de métodos se
les conoce como métodos de traducción directa.
La segunda generación de métodos, conocidos como de traducción indirecta, transforman inicialmente el texto
en SL a una representación intermedia a partir de la cual se transforma a TL. Existen varios modelos para
la generación de dicha representación, siendo los mas conocidos los métodos de interlingua y de transferencia
\cite{Musatafa}\cite{HUTCHINS1995431}\cite{Mohamed}. En el primero se asume que la representación intermedia es
unica para todos los lenguajes, por lo que solo es necesario definir reglas para transformar a este estado
intermedio y desde este estado intermedio. Esto, basado en las ideas planteadas por Descartes en el siglo XVII
acerca de la existencia de un lenguaje universal. En el segundo método cada lenguaje tiene su propia representación
intermedía, lo que implica que ademas de las reglas relacionadas con la representación intermedia, es necesario un
conjunto de reglas adicional para transformar de una representación a otra. En la figura \ref{triangle} se muestra el
triangulo de Vauquois, el cual sirve para entender los diferentes niveles de análisis entre los métodos mencionados
anteriormente.
\href{https://www.systransoft.com/} {SYSTRAN}, \href{https://www.apertium.org}{APERTIUM} y \href{https://gramtrans.com}{GramTrans}
son algunos ejemplos de aplicaciones que usan sistemas basados en reglas.
\subsection{Ejemplos}
Los sistemas basados en ejemplos surgieron durante la decada de los 80, debido principalmente al trabajo de Nagao\cite{Nagao}, el cual planteaba
una nueva forma de traducción automática basada en la idea de que el ser humano no traduce partiendo de análisis lingüísticos complejos, sino
descomponiendo el texto a traducir en fragmentos los cuales son luego traducidos y reorganizados para formar el nuevo texto. De manera similar
a los sistemas basados en reglas, los sistemas basados en ejemplos hacen uso de un diccionario de SL a TL junto con una base de datos de ejemplos,
la cual se usa para como base para la traducción (En contraste con las reglas usadas en los sistemas basados en reglas). También suele usarse un
Tesauro como parte de la base de datos. Un ejemplo esta constituido por dos textos en dos lenguajes, siendo ambos textos traducciones de si mismos\cite{Haihua}.
Existen tres etapas en el proceso de traducción mediante ejemplos \cite{Nagao}\cite{Sumita2005TranslatingWE}:
\begin{enumerate}
\item Como primer paso, se realiza un análisis del texto, para identificar los fragmentos que mejor se relacionen con los textos de la base de
datos.
\item Luego, usando los fragmentos obtenidos, se extraen de la base de datos los ejemplos que mas se asemejen a los fragmentos. Los ejemplos se
seleccionan con base en alguna métrica que toma ambos textos y asigna un grado de similaridad entre ellos.
\item Finalmente, con base en los ejemplos obtenidos de la base de datos, se genera el texto traducido.
\end{enumerate}
\begin{figure}[H]
\centering
\includegraphics[width=0.4\textwidth]{example.png}
\caption[]{Configuración de un sistema basado en ejemplos Tomado de \cite{Sumita2005TranslatingWE}.}
\label{example}
\end{figure}
Los sistemas basados en ejemplos resuelven algunos de los problemas presentes en los sistemas basados en reglas\cite{Sumita2005TranslatingWE}, principalmente
la dificultad y complejidad de añadir nuevas reglas a un sistema ya establecido, dado que pueden haber conflictos con las reglas previamente establecidas.
\href{http://cunei.sourceforge.net/}{Cunei} y \href{http://www.cs.cmu.edu/~ralf/ebmt/ebmt.html}{CMU-EBMT} son probablemente de los sistemas basados en ejemplos
mas reconocidos.
\subsection{Redes neuronales}
Los sistemas basados en redes neuronales usan metodos de aprendizaje profundo para intentar obtener la traducción de SL a TL. Si bien las bases matematicas de
las redes neuronales se conocen desde finales del siglo XX no fue sino hasta después del año 2013, influenciados principalmente por el trabajo de \textit{Kaichbrenner et al.} \cite{Kalchbrenner},
que estas empezaron a ser ampliamente estudiadas para su use en el campo de la traducción automática.
\begin{figure}[H]
\centering
\includegraphics[width=0.4\textwidth]{encoder_decoder.png}
\caption[]{Arquitectura propuesta simulataneamente por \textit{Cho et al.}\cite{Cho} y \textit{Sutskever et al.}\cite{Sutskever}. Tomada de \cite{Cho}}
\label{enconder_decoder}
\end{figure}
El metodo propuesto por \textit{Kaichbrenner et al.} consiste en el uso de dos redes neuronales, llamadas codificadora y decodificadora, que a partir
de un conjunto de datos de entrenamiento (Similar a la base de datos que se usaba en los sistemas basados en ejemplos) pueden ser usadas para traducir
de SL a TL. La red codificadora se encarga de transformar el texto entrada, en SL, a una representación en un espacio vectorial. Este vector resultanto
es luego alimentado a la red decodificadora, y esta lo transforma a la traducción en TL. En el trabajo de Kaichbrenner la red neuronal codificadora era una
red convolucional y la decodificadora un red recurrente, pero con el paso de los años se han hecho modificaciones al sistema original propuesto por
Kaichbrenner \cite{Cho} \cite{Sutskever} (Ver \ref{enconder_decoder}). Muchas de las grandes compañias de software internacional como Google, Facebook y
Amazon usan este tipo de sistemas dentro de sus productos .
\bibliographystyle{unsrt}
\bibliography{references}
\end{multicols}
\end{document}