Herramientas de usuario

Herramientas del sitio


materias:pln:2019:practico3

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
materias:pln:2019:practico3 [2019/05/15 21:00] francolqmaterias:pln:2019:practico3 [2019/06/13 21:21] (actual) francolq
Línea 7: Línea 7:
  
   * Repositorio: https://github.com/PLN-FaMAF/PLN-2019.   * Repositorio: https://github.com/PLN-FaMAF/PLN-2019.
-  * Fecha de entrega: 23/5 a las 23:59.+  * Fecha de entrega: <del>23/5</del> 6/6 a las 23:59.
  
  
Línea 276: Línea 276:
 ===== Ejercicio 6: Clasificador "three words" ===== ===== Ejercicio 6: Clasificador "three words" =====
  
-  * Implementar un tagger que utilice un clasificador para etiquetar cada palabra en base a la información disponible en una ventana alrededor de la palabra.+  * Implementar en ''classifier.py'' un tagger que utilice un clasificador para etiquetar cada palabra en base a la información disponible en una ventana alrededor de la palabra.
   * Definir el vectorizador con los siguientes features:   * Definir el vectorizador con los siguientes features:
     * la palabra actual en minúsculas.     * la palabra actual en minúsculas.
Línea 294: Línea 294:
     * Clasificador de máxima entropía (''sklearn.linear_model.LogisticRegression'').     * Clasificador de máxima entropía (''sklearn.linear_model.LogisticRegression'').
 */ */
 +
 +Interfaz de ''ClassifierTagger'' en ''classifier.py'':
 +
 +<code python>
 +class ClassifierTagger:
 +    """Simple and fast classifier based tagger.
 +    """
 +
 +    def __init__(self, tagged_sents, clf='lr'):
 +        """
 +        clf -- classifying model, one of 'svm', 'lr' (default: 'lr').
 +        """
 +
 +    def fit(self, tagged_sents):
 +        """
 +        Train.
 +        tagged_sents -- list of sentences, each one being a list of pairs.
 +        """
 +
 +    def tag_sents(self, sents):
 +        """Tag sentences.
 +        sent -- the sentences.
 +        """
 +
 +    def tag(self, sent):
 +        """Tag a sentence.
 +        sent -- the sentence.
 +        """
 +
 +    def unknown(self, w):
 +        """Check if a word is unknown for the model.
 +        w -- the word.
 +        """
 +</code>
 +
 +Tests:
 +
 +  $ nosetests tagging/tests/test_classifier.py 
 +
 +
  
 ===== Ejercicio 7: Clasificador con Word Embeddings fastText ===== ===== Ejercicio 7: Clasificador con Word Embeddings fastText =====
  
   * Agregar word embeddings fastText a los features clasificador del ejercicio anterior.   * Agregar word embeddings fastText a los features clasificador del ejercicio anterior.
-    * Usar los vectorizadores +    * Usar el vectorizador provisto en ''fasttext.py''.
   * Usar los modelos pre-entrenados para el idioma castellano ofrecidos por fastText.   * Usar los modelos pre-entrenados para el idioma castellano ofrecidos por fastText.
   * Entrenar, evaluar y reportar resultados y tiempos en el README.   * Entrenar, evaluar y reportar resultados y tiempos en el README.
Línea 326: Línea 366:
   * https://allennlp.org/tutorials   * https://allennlp.org/tutorials
   * https://pytorch.org/tutorials/beginner/nlp/sequence_models_tutorial.html#example-an-lstm-for-part-of-speech-tagging   * https://pytorch.org/tutorials/beginner/nlp/sequence_models_tutorial.html#example-an-lstm-for-part-of-speech-tagging
 +
 +https://nlpforhackers.io/lstm-pos-tagger-keras/
  
   * Probe LSTM cells: recuerda consistencia de comillas?|   * Probe LSTM cells: recuerda consistencia de comillas?|
 */ */
  
materias/pln/2019/practico3.1557954034.txt.gz · Última modificación: 2019/05/15 21:00 por francolq