materias:pln:2019:practico1
Diferencias
Muestra las diferencias entre dos versiones de la página.
| Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa | ||
| materias:pln:2019:practico1 [2019/03/14 14:46] – [Ejercicio 5: Evaluación de Modelos de Lenguaje] francolq | materias:pln:2019:practico1 [2025/11/15 13:47] (actual) – editor externo 127.0.0.1 | ||
|---|---|---|---|
| Línea 7: | Línea 7: | ||
| * Repositorio: | * Repositorio: | ||
| - | * Fecha de entrega: 28/3 a las 23:59. | + | * Fecha de entrega: |
| Línea 34: | Línea 34: | ||
| * Revisar a ojo la tokenización y segmentado en oraciones. Si es muy mala, probar otras formas de tokenización/ | * Revisar a ojo la tokenización y segmentado en oraciones. Si es muy mala, probar otras formas de tokenización/ | ||
| * Modificar el script '' | * Modificar el script '' | ||
| + | |||
| + | |||
| + | Interfaz de '' | ||
| + | |||
| + | < | ||
| + | $ python languagemodeling/ | ||
| + | Train an n-gram model. | ||
| + | |||
| + | Usage: | ||
| + | train.py [-m < | ||
| + | train.py -h | --help | ||
| + | |||
| + | Options: | ||
| + | -n < | ||
| + | -m < | ||
| + | ngram: Unsmoothed n-grams. | ||
| + | addone: N-grams with add-one smoothing. | ||
| + | inter: N-grams with interpolation smoothing. | ||
| + | -o < | ||
| + | -h --help | ||
| + | </ | ||
| + | |||
| Documentación: | Documentación: | ||
| * [[https:// | * [[https:// | ||
| + | * [[https:// | ||
| * [[http:// | * [[http:// | ||
| * [[https:// | * [[https:// | ||
| Línea 181: | Línea 204: | ||
| * Separar el corpus en entrenamiento y test (90% y 10% resp.). | * Separar el corpus en entrenamiento y test (90% y 10% resp.). | ||
| + | * Implementar el cálculo de log-probability, | ||
| + | * Programar un script '' | ||
| * Usar el script '' | * Usar el script '' | ||
| * Usar el script '' | * Usar el script '' | ||
| Línea 198: | Línea 223: | ||
| -h --help | -h --help | ||
| </ | </ | ||
| + | |||
| + | Documentación: | ||
| + | |||
| + | * {{ : | ||
| + | * Mails: | ||
| + | * [[https:// | ||
| Línea 237: | Línea 268: | ||
| (Course notes for NLP by Michael Collins, Columbia University)]] | (Course notes for NLP by Michael Collins, Columbia University)]] | ||
| * **Especialmente** [[https:// | * **Especialmente** [[https:// | ||
| - | * [[https:// | + | * {{ : |
| * [[https:// | * [[https:// | ||
| * [[http:// | * [[http:// | ||
| Línea 246: | Línea 277: | ||
| - | ===== Ejercicio 7 (punto bonus): Reordenamiento de Palabras ó Atribución de Autoría ===== | + | ===== Ejercicio 7: Suavizado por Back-Off con Discounting ===== |
| + | |||
| + | * Implementar el suavizado por back-off con discounting en '' | ||
| + | * Usar add-one para el nivel más bajo (unigramas). | ||
| + | * Usar datos held-out (un 10% de train) y barrido para elegir valor para beta. | ||
| + | * Agregar al script de entrenamiento (train.py) una opción de línea de comandos que permita utilizar este modelo. | ||
| + | * Calcular y reportar perplejidad para varios valores de '' | ||
| + | |||
| + | Interfaz de la clase '' | ||
| + | |||
| + | <code python> | ||
| + | class BackOffNGram: | ||
| + | |||
| + | def __init__(self, | ||
| + | """ | ||
| + | Back-off NGram model with discounting as described by Michael Collins. | ||
| + | |||
| + | n -- order of the model. | ||
| + | sents -- list of sentences, each one being a list of tokens. | ||
| + | beta -- discounting hyper-parameter (if not given, estimate using | ||
| + | held-out data). | ||
| + | addone -- whether to use addone smoothing (default: True). | ||
| + | """ | ||
| + | |||
| + | """ | ||
| + | Todos los métodos de NGram. | ||
| + | """ | ||
| + | |||
| + | def A(self, tokens): | ||
| + | """ | ||
| + | |||
| + | tokens -- the k-gram tuple. | ||
| + | """ | ||
| + | |||
| + | def alpha(self, tokens): | ||
| + | """ | ||
| + | |||
| + | tokens -- the k-gram tuple. | ||
| + | """ | ||
| + | |||
| + | def denom(self, tokens): | ||
| + | """ | ||
| + | |||
| + | tokens -- the k-gram tuple. | ||
| + | """ | ||
| + | </ | ||
| + | |||
| + | Tests: | ||
| + | |||
| + | $ nosetests languagemodeling/ | ||
| + | |||
| + | Documentación: | ||
| + | |||
| + | * [[http:// | ||
| + | (Course notes for NLP by Michael Collins, Columbia University)]] | ||
| + | * {{ : | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | |||
| + | |||
| + | ===== Ejercicio 8 (punto bonus): Reordenamiento de Palabras ó Atribución de Autoría ===== | ||
| * Elegir y resolver uno de los dos ejercicios siguientes de Jurafsky & Martin (2008): | * Elegir y resolver uno de los dos ejercicios siguientes de Jurafsky & Martin (2008): | ||
materias/pln/2019/practico1.1552585587.txt.gz · Última modificación: (editor externo)
