PNL | Etiquetador de Unigram de Entrenamiento

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 subclassdevuelva 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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *