SlideShare una empresa de Scribd logo
1 de 19
SEGUNDA ENTREGA.
Proyecto: Natural Language Processing.
 RESUMEN
  DEL PROYECTO:

 Nuestro proyecto consiste en un pequeño
  traductor (Machine translation) que permita
  traducir pequeñas frases de un idioma a otro
  (inglés – español).


Cambios:
 El traductor lo crearemos para que funcione en
  una página web.
 AVANCES:
 Lo primero fue aprender python porque no todos en el equipo
  estamos familiarizados con ese lenguaje y conocer algunas
  funciones de NTLK como
  Tokenization, Stopwords, Stemming, Lemmatizing entre otras
  que nos ayudaron a comprender mejor la Lingüística
  Computacional.
 Conocer el framework web Django para crear el traductor en
  una página web. Además de conocer algunas técnicas que se
  utilizan en los traductores como :
 Word-Based Models.
 Phrase-Based Models.
 Decoding.
 Hemos agregado a los recursos un libro y tutoriales acerca de
  Machine Translation con los que hemos podido conocer mejor
  el funcionamiento de un traductor.


 Además de un pequeño libro acerca de Django un framework
  que nos permitirá crear el traductor en una pagina web ya que
  Django esta diseñado principalmente para hacer más fácil el
  desarrollo de una aplicación web utilizando el patrón de
  Modelo Vista Controlador (MVC).
 Todavía nos falta conocer algunas técnicas mas que utilizan los
  traductores como Language Models, Evaluation Discriminative
  Training, Integrating Linguistic Information, Tree-Based Models
  entre otras que son importantes para poder empezar a
  programar y traducir pequeñas frases.


 Hasta ahora nuestro principal problema a sido la falta de
  información, no hemos podido encontrar información en
  Español de Machine Translate, pero pudimos encontrar
  información en ingles de un libro y tutoriales que nos dieron
  mas información de como se construye un traductor.
Nombre de la      Porcentaje    Duración     Comienzo         Fin
tarea realizada:   de trabajo:

   Aprender           70%         6 días    lun 27/08/12   lun 02/09/12
    python



 Investigación        80%         11 días   lun 03/09/12   Vie 14/09/12
    de como
  funciona un
    traductor

  Diseño del          15%         ? días    Jue 13/09/12      ------
  traductor



   Aprender           15%         8 días    Jue 13/09/12   Vie 21/09/12
Django(framew
   ork web)


Aprender a usar       25%        20 días    Mie 05/09/12   Mar 25/09/12
    NLTK.
ALGUNAS INVESTIGACIONES:

Basado en modelos de Palabras
•   Traducción Textual
En este tipo de traducciones, es la que se da cuando se traduce
literalmente una palabra, esto se puede comparar con la búsqueda
de palabras en un Diccionario, en donde uno busca una palabra en el
diccionario y este nos muestra una serie de significados para dicha
palabra.
Por ejemplo: Cuando buscamos el la traducción de la palabra
“House” este nos puede dar una serie de traducciones.
•   House casa
•   Domicilio
•   hospedaje
• Reordenación
Así como tenemos lo que es la Alineación, en donde cada palabra
es traducida directamente desde el idioma original al deseado,
tenemos lo que es la Reorganización.
Este proceso consiste en tomar la frase original y en vez de darle
una traducción de palabra a palabra, acomodándoles en su orden
original, en esta ocasión las palabras son cambiadas de posición
para dar una traducción aceptable para dicha frase.
• Insertar Palabras
Entro otros métodos tenemos a lo que se puede llamar, Insertar
Palabras, en este método tenemos nuestra frase original la cual a
la hora de ser traducida tenemos como resultado una frase con
una mayor cantidad de palabras que la original.

• Modelo basado en frases
Ventajas:
1. Se pueden manejar frases no composicionales
2. Usa el contexto local en la traducción
3. Las frases más largas se pueden aprender
• Frases lingüísticas
El modelo no se limita a frases lingüísticas( frases verbales,
preposiciones, etc.)
El sustantivo ayuda con la traducción de la preposición


• El aprendizaje de una tabla de traducción de frases:
Su tarea es aprender el modelo en tres etapas
1. Alineación de palabras
2. Extracción de pares de frases
3. Anotar pares de frases
• Aprender Reordenamiento lexicalizado
Recopilar información de orientación durante la extracción de
frases parejas:
1. Si el punto de alineación palabra a la parte superior izquierda
   existe = >monótono
2. Si un punto de alineación palabra a la parte superior derecha
   existe => intercambiar
3. Si no un punto de alineación palabra a la parte superior
   izquierda ni a la derecha superior existe
4. Ni monótono ni intercambio => discontinuo
 RECURSOS Y HERRAMIENTAS:
• Tutoriales:
PROCESAMIENTO DEL LENGUAJE NATURAL
http://www.esp.uem.es/jmgomez/pln/index.html
http://cseweb.ucsd.edu/~dkauchak/mt-tutor
http://www.hutchinsweb.me.uk/IntroMT-TOC.htm


• Documentación:
http://www.python.org/
Libros:
1. How to Think Like a Computer Scientist by Allen
   Downey, Jeffrey Elkner and Chris Meyers.
2. Dive into Python by Mark Pilgrim.
3. Code Like a Pythonista: Idiomatic Python by David Goodger.
4. The Python Programming Wikibook.
5. Learn python the hardway by Zed A. Shaw
   http://learnpythonthehardway.org/book/
6. Natural Language Processing with Python by Steven
   Bird, Ewan Klein, Edward Loper.
   https://sites.google.com/site/naturallanguagetoolkit/book
7. Statistical Machine Translation.
Autor: Philipp Koehn.
Editorial: Publisher: Cambridge University Press.
http://www.statmt.org/book/


8. The Django Book.
Autores: Jacob Kaplan-Moss y Adrian Holovaty.
http://www.djangobook.com/
• Videos:
https://www.coursera.org/course/nlp
• Lecture-notes acerca de Natural Lenguage Processing:
http://ocw.mit.edu/courses/electrical-engineering-and-computer-
science/6-864-advanced-natural-language-
processing-fall-2005/lecture-notes/
http://ocw.mit.edu/courses/electrical-engineering-and-computer-
science/6-863j-natural-language-and-the-
computer-representation-of-knowledge-spring-2003/lecture-notes/
 De los recursos en donde buscamos información nos han sido
  de utilidad principalmente los libros del lenguaje Python, el
  libro de Django para poder tener un mejor diseño de la pagina
  ,el libro de la librería de python NLTK, los tutoriales y libros de
  Static Machine Translation, en los libros y notas de NLP se
  habla acerca de este tema pero solo un poco de Machine
  Translation ya que es una rama de este campo.
 DESARROLLO DEL PROGRAMA UTILIZANDO
  EL PATRÓN MVC USANDO DJANGO:
 Clase models.py: corresponde al modelo, esta parte que
  conforma la lógica del traductor incluye la traducción,
  normalización de los datos, análisis sintatico, decodificador
  entre otras cosas.
 Clase views.py: corresponde a la vista este presenta el
  modelo en un formato adecuado para interactuar, usualmente
  la interfaz de usuario, la pagina Web del traductor.
 Clase urls.py: corresponde al controlador la información que
  se envía atreves de la vista en este caso son el texto que se
  desea traducir este las envía a la siguiente capa que es el
  modelo para su procesamiento.
 DISEÑO DEL TRADUCTOR.

Más contenido relacionado

Similar a Traducción de frases inglés-español con Machine Learning

Actividad 9 Los traductores en lìnea
Actividad 9  Los traductores en lìneaActividad 9  Los traductores en lìnea
Actividad 9 Los traductores en lìneaEdverd AC
 
Seminario eMadrid sobre "Cloud Computing". Cloud computing en entornos Start-...
Seminario eMadrid sobre "Cloud Computing". Cloud computing en entornos Start-...Seminario eMadrid sobre "Cloud Computing". Cloud computing en entornos Start-...
Seminario eMadrid sobre "Cloud Computing". Cloud computing en entornos Start-...eMadrid network
 
Instrucciones foro 2 nivel 1
Instrucciones foro 2 nivel 1Instrucciones foro 2 nivel 1
Instrucciones foro 2 nivel 1Catalina Luján G
 
Tutorial de prolog
Tutorial de prologTutorial de prolog
Tutorial de prologPedro Vera
 
Tutorial basico prolog
Tutorial basico prologTutorial basico prolog
Tutorial basico prologAnderipe Pinto
 
Conceptos básicos y aplicaciones prácticas de programación para SEO
Conceptos básicos y aplicaciones prácticas de programación para SEOConceptos básicos y aplicaciones prácticas de programación para SEO
Conceptos básicos y aplicaciones prácticas de programación para SEOnacho mascort
 
Lenguajes de programación i
Lenguajes de programación   iLenguajes de programación   i
Lenguajes de programación iOmar Robles
 
Tema 3 BúSquedas En Internet
Tema 3 BúSquedas En InternetTema 3 BúSquedas En Internet
Tema 3 BúSquedas En Internetsalgonsan
 
Actividad integradora de info b3 neuer x2
Actividad integradora de info b3 neuer x2Actividad integradora de info b3 neuer x2
Actividad integradora de info b3 neuer x2robertoeuancambranis
 
Actividad integradora de info b3
Actividad integradora de info b3 Actividad integradora de info b3
Actividad integradora de info b3 CarlosAlejandro47
 
Aprende a pensar como programador con python
Aprende a pensar como programador con pythonAprende a pensar como programador con python
Aprende a pensar como programador con pythonArnoldo Lovegood Fuentes
 
Taller 4 noviembre 16 2018
Taller 4 noviembre 16 2018Taller 4 noviembre 16 2018
Taller 4 noviembre 16 2018Marisabel Neuman
 
Reconocimiento individual grupo_90008_48_edwin_alexis_hoyos
Reconocimiento individual grupo_90008_48_edwin_alexis_hoyosReconocimiento individual grupo_90008_48_edwin_alexis_hoyos
Reconocimiento individual grupo_90008_48_edwin_alexis_hoyosedwin_alexis_hoyos
 
Reporte p1 - Computación para Ingenieros
Reporte p1 - Computación para IngenierosReporte p1 - Computación para Ingenieros
Reporte p1 - Computación para Ingenieroskrash2406
 
La Importancia De Estudiar Ingles
La Importancia De Estudiar InglesLa Importancia De Estudiar Ingles
La Importancia De Estudiar Inglesguest8e4188c
 
Introduccion a la Programacion Orientada a Objetos
Introduccion a la Programacion Orientada a ObjetosIntroduccion a la Programacion Orientada a Objetos
Introduccion a la Programacion Orientada a Objetosliberaunlibroupeg
 
Introduccion a la programacion orientada a objetos
Introduccion a la programacion orientada a objetosIntroduccion a la programacion orientada a objetos
Introduccion a la programacion orientada a objetosYulyana López
 

Similar a Traducción de frases inglés-español con Machine Learning (20)

Actividad 9 Los traductores en lìnea
Actividad 9  Los traductores en lìneaActividad 9  Los traductores en lìnea
Actividad 9 Los traductores en lìnea
 
NLP
NLPNLP
NLP
 
Seminario eMadrid sobre "Cloud Computing". Cloud computing en entornos Start-...
Seminario eMadrid sobre "Cloud Computing". Cloud computing en entornos Start-...Seminario eMadrid sobre "Cloud Computing". Cloud computing en entornos Start-...
Seminario eMadrid sobre "Cloud Computing". Cloud computing en entornos Start-...
 
Instrucciones foro 2 nivel 1
Instrucciones foro 2 nivel 1Instrucciones foro 2 nivel 1
Instrucciones foro 2 nivel 1
 
Natural language processing
Natural language processingNatural language processing
Natural language processing
 
Tutorial de prolog
Tutorial de prologTutorial de prolog
Tutorial de prolog
 
Tutorial basico prolog
Tutorial basico prologTutorial basico prolog
Tutorial basico prolog
 
Conceptos básicos y aplicaciones prácticas de programación para SEO
Conceptos básicos y aplicaciones prácticas de programación para SEOConceptos básicos y aplicaciones prácticas de programación para SEO
Conceptos básicos y aplicaciones prácticas de programación para SEO
 
Lenguajes de programación i
Lenguajes de programación   iLenguajes de programación   i
Lenguajes de programación i
 
Tema 3 BúSquedas En Internet
Tema 3 BúSquedas En InternetTema 3 BúSquedas En Internet
Tema 3 BúSquedas En Internet
 
Actividad integradora de info b3 neuer x2
Actividad integradora de info b3 neuer x2Actividad integradora de info b3 neuer x2
Actividad integradora de info b3 neuer x2
 
Actividad integradora de info b3
Actividad integradora de info b3 Actividad integradora de info b3
Actividad integradora de info b3
 
Aprende a pensar como programador con python
Aprende a pensar como programador con pythonAprende a pensar como programador con python
Aprende a pensar como programador con python
 
Taller 4 noviembre 16 2018
Taller 4 noviembre 16 2018Taller 4 noviembre 16 2018
Taller 4 noviembre 16 2018
 
pseudocodigo
pseudocodigopseudocodigo
pseudocodigo
 
Reconocimiento individual grupo_90008_48_edwin_alexis_hoyos
Reconocimiento individual grupo_90008_48_edwin_alexis_hoyosReconocimiento individual grupo_90008_48_edwin_alexis_hoyos
Reconocimiento individual grupo_90008_48_edwin_alexis_hoyos
 
Reporte p1 - Computación para Ingenieros
Reporte p1 - Computación para IngenierosReporte p1 - Computación para Ingenieros
Reporte p1 - Computación para Ingenieros
 
La Importancia De Estudiar Ingles
La Importancia De Estudiar InglesLa Importancia De Estudiar Ingles
La Importancia De Estudiar Ingles
 
Introduccion a la Programacion Orientada a Objetos
Introduccion a la Programacion Orientada a ObjetosIntroduccion a la Programacion Orientada a Objetos
Introduccion a la Programacion Orientada a Objetos
 
Introduccion a la programacion orientada a objetos
Introduccion a la programacion orientada a objetosIntroduccion a la programacion orientada a objetos
Introduccion a la programacion orientada a objetos
 

Más de Giancarlo Cisneros (7)

Proyecto Integreado
Proyecto IntegreadoProyecto Integreado
Proyecto Integreado
 
Medio curso equipo2
Medio curso equipo2Medio curso equipo2
Medio curso equipo2
 
Avance3 equipo2
Avance3 equipo2Avance3 equipo2
Avance3 equipo2
 
Proyecto integrador 1
Proyecto integrador 1Proyecto integrador 1
Proyecto integrador 1
 
Segunda Entrega
Segunda EntregaSegunda Entrega
Segunda Entrega
 
Proyecto
ProyectoProyecto
Proyecto
 
Criterios de sustentabilidad
Criterios de sustentabilidadCriterios de sustentabilidad
Criterios de sustentabilidad
 

Traducción de frases inglés-español con Machine Learning

  • 1. SEGUNDA ENTREGA. Proyecto: Natural Language Processing.
  • 2.  RESUMEN DEL PROYECTO:  Nuestro proyecto consiste en un pequeño traductor (Machine translation) que permita traducir pequeñas frases de un idioma a otro (inglés – español). Cambios:  El traductor lo crearemos para que funcione en una página web.
  • 3.  AVANCES:  Lo primero fue aprender python porque no todos en el equipo estamos familiarizados con ese lenguaje y conocer algunas funciones de NTLK como Tokenization, Stopwords, Stemming, Lemmatizing entre otras que nos ayudaron a comprender mejor la Lingüística Computacional.  Conocer el framework web Django para crear el traductor en una página web. Además de conocer algunas técnicas que se utilizan en los traductores como :  Word-Based Models.  Phrase-Based Models.  Decoding.
  • 4.  Hemos agregado a los recursos un libro y tutoriales acerca de Machine Translation con los que hemos podido conocer mejor el funcionamiento de un traductor.  Además de un pequeño libro acerca de Django un framework que nos permitirá crear el traductor en una pagina web ya que Django esta diseñado principalmente para hacer más fácil el desarrollo de una aplicación web utilizando el patrón de Modelo Vista Controlador (MVC).
  • 5.  Todavía nos falta conocer algunas técnicas mas que utilizan los traductores como Language Models, Evaluation Discriminative Training, Integrating Linguistic Information, Tree-Based Models entre otras que son importantes para poder empezar a programar y traducir pequeñas frases.  Hasta ahora nuestro principal problema a sido la falta de información, no hemos podido encontrar información en Español de Machine Translate, pero pudimos encontrar información en ingles de un libro y tutoriales que nos dieron mas información de como se construye un traductor.
  • 6. Nombre de la Porcentaje Duración Comienzo Fin tarea realizada: de trabajo: Aprender 70% 6 días lun 27/08/12 lun 02/09/12 python Investigación 80% 11 días lun 03/09/12 Vie 14/09/12 de como funciona un traductor Diseño del 15% ? días Jue 13/09/12 ------ traductor Aprender 15% 8 días Jue 13/09/12 Vie 21/09/12 Django(framew ork web) Aprender a usar 25% 20 días Mie 05/09/12 Mar 25/09/12 NLTK.
  • 7. ALGUNAS INVESTIGACIONES: Basado en modelos de Palabras • Traducción Textual En este tipo de traducciones, es la que se da cuando se traduce literalmente una palabra, esto se puede comparar con la búsqueda de palabras en un Diccionario, en donde uno busca una palabra en el diccionario y este nos muestra una serie de significados para dicha palabra. Por ejemplo: Cuando buscamos el la traducción de la palabra “House” este nos puede dar una serie de traducciones. • House casa • Domicilio • hospedaje
  • 8. • Reordenación Así como tenemos lo que es la Alineación, en donde cada palabra es traducida directamente desde el idioma original al deseado, tenemos lo que es la Reorganización. Este proceso consiste en tomar la frase original y en vez de darle una traducción de palabra a palabra, acomodándoles en su orden original, en esta ocasión las palabras son cambiadas de posición para dar una traducción aceptable para dicha frase.
  • 9. • Insertar Palabras Entro otros métodos tenemos a lo que se puede llamar, Insertar Palabras, en este método tenemos nuestra frase original la cual a la hora de ser traducida tenemos como resultado una frase con una mayor cantidad de palabras que la original. • Modelo basado en frases Ventajas: 1. Se pueden manejar frases no composicionales 2. Usa el contexto local en la traducción 3. Las frases más largas se pueden aprender
  • 10. • Frases lingüísticas El modelo no se limita a frases lingüísticas( frases verbales, preposiciones, etc.) El sustantivo ayuda con la traducción de la preposición • El aprendizaje de una tabla de traducción de frases: Su tarea es aprender el modelo en tres etapas 1. Alineación de palabras 2. Extracción de pares de frases 3. Anotar pares de frases
  • 11. • Aprender Reordenamiento lexicalizado Recopilar información de orientación durante la extracción de frases parejas: 1. Si el punto de alineación palabra a la parte superior izquierda existe = >monótono 2. Si un punto de alineación palabra a la parte superior derecha existe => intercambiar 3. Si no un punto de alineación palabra a la parte superior izquierda ni a la derecha superior existe 4. Ni monótono ni intercambio => discontinuo
  • 12.  RECURSOS Y HERRAMIENTAS: • Tutoriales: PROCESAMIENTO DEL LENGUAJE NATURAL http://www.esp.uem.es/jmgomez/pln/index.html http://cseweb.ucsd.edu/~dkauchak/mt-tutor http://www.hutchinsweb.me.uk/IntroMT-TOC.htm • Documentación: http://www.python.org/
  • 13. Libros: 1. How to Think Like a Computer Scientist by Allen Downey, Jeffrey Elkner and Chris Meyers. 2. Dive into Python by Mark Pilgrim. 3. Code Like a Pythonista: Idiomatic Python by David Goodger. 4. The Python Programming Wikibook. 5. Learn python the hardway by Zed A. Shaw http://learnpythonthehardway.org/book/ 6. Natural Language Processing with Python by Steven Bird, Ewan Klein, Edward Loper. https://sites.google.com/site/naturallanguagetoolkit/book
  • 14. 7. Statistical Machine Translation. Autor: Philipp Koehn. Editorial: Publisher: Cambridge University Press. http://www.statmt.org/book/ 8. The Django Book. Autores: Jacob Kaplan-Moss y Adrian Holovaty. http://www.djangobook.com/
  • 15. • Videos: https://www.coursera.org/course/nlp • Lecture-notes acerca de Natural Lenguage Processing: http://ocw.mit.edu/courses/electrical-engineering-and-computer- science/6-864-advanced-natural-language- processing-fall-2005/lecture-notes/ http://ocw.mit.edu/courses/electrical-engineering-and-computer- science/6-863j-natural-language-and-the- computer-representation-of-knowledge-spring-2003/lecture-notes/
  • 16.  De los recursos en donde buscamos información nos han sido de utilidad principalmente los libros del lenguaje Python, el libro de Django para poder tener un mejor diseño de la pagina ,el libro de la librería de python NLTK, los tutoriales y libros de Static Machine Translation, en los libros y notas de NLP se habla acerca de este tema pero solo un poco de Machine Translation ya que es una rama de este campo.
  • 17.  DESARROLLO DEL PROGRAMA UTILIZANDO EL PATRÓN MVC USANDO DJANGO:  Clase models.py: corresponde al modelo, esta parte que conforma la lógica del traductor incluye la traducción, normalización de los datos, análisis sintatico, decodificador entre otras cosas.  Clase views.py: corresponde a la vista este presenta el modelo en un formato adecuado para interactuar, usualmente la interfaz de usuario, la pagina Web del traductor.  Clase urls.py: corresponde al controlador la información que se envía atreves de la vista en este caso son el texto que se desea traducir este las envía a la siguiente capa que es el modelo para su procesamiento.
  • 18.
  • 19.  DISEÑO DEL TRADUCTOR.