Un solo token se conoce como Unigram , por ejemplo: hola; película; codificación. Este artículo se centra en el etiquetador unigram .
Unigram Tagger: para determinar la etiqueta de parte del discurso, solo usa una sola palabra. UnigramTagger
hereda de NgramTagger, que es una subclase de ContextTagger
, que hereda de SequentialBackoffTagger
. Por lo tanto, UnigramTagger
es un etiquetador basado en el contexto de una sola palabra.
Código #1: Entrenamiento UnigramTagger.
# Loading Libraries from nltk.tag import UnigramTagger from nltk.corpus import treebank
Código #2: Entrenamiento usando las primeras 1000 oraciones etiquetadas del corpus del banco de árboles como datos.
# Using data train_sents = treebank.tagged_sents()[:1000] # Initializing tagger = UnigramTagger(train_sents) # Lets see the first sentence # (of the treebank corpus) as list treebank.sents()[0]
Producción :
['Pierre', 'Vinken', ', ', '61', 'years', 'old', ', ', 'will', 'join', 'the', 'board', 'as', 'a', 'nonexecutive', 'director', 'Nov.', '29', '.']
Código #3: Encontrar los resultados etiquetados después del entrenamiento.
tagger.tag(treebank.sents()[0])
Producción :
[('Pierre', 'NNP'), ('Vinken', 'NNP'), (', ', ', '), ('61', 'CD'), ('years', 'NNS'), ('old', 'JJ'), (', ', ', '), ('will', 'MD'), ('join', 'VB'), ('the', 'DT'), ('board', 'NN'), ('as', 'IN'), ('a', 'DT'), ('nonexecutive', 'JJ'), ('director', 'NN'), ('Nov.', 'NNP'), ('29', 'CD'), ('.', '.')]
¿Cómo funciona el código? UnigramTagger
construye un modelo de contexto a partir de la lista de oraciones etiquetadas. Debido a que UnigramTagger hereda de ContextTagger
, en lugar de proporcionar un choose_tag()
método, debe implementar un context()
método, que toma los mismos tres argumentos a choose_tag()
. El token de contexto se usa para crear el modelo y también para buscar la mejor etiqueta una vez que se crea el modelo. Esto también se explica gráficamente en el diagrama anterior.
Anulación del modelo de contexto:
todos los etiquetadores, heredados de ContextTagger
en lugar de entrenar su propio modelo, pueden tomar un modelo prediseñado. Este modelo es simplemente un diccionario de Python que asigna una clave de contexto a una etiqueta. Las claves de contexto (palabras individuales en el caso de UnigramTagger) dependerán de lo que ContextTagger subclass
devuelva su context()
método.
Código #4: Anulando el modelo de contexto
tagger = UnigramTagger(model ={'Pierre': 'NN'}) tagger.tag(treebank.sents()[0])
Producción :
[('Pierre', 'NN'), ('Vinken', None), (', ', None), ('61', None), ('years', None), ('old', None), (', ', None), ('will', None), ('join', None), ('the', None), ('board', None), ('as', None), ('a', None), ('nonexecutive', None), ('director', None), ('Nov.', None), ('29', None), ('.', None)]
Publicación traducida automáticamente
Artículo escrito por Mohit Gupta_OMG 🙂 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA