ClassifierBasedPOSTagger clase :
- Es una subclase de ClassifierBasedTagger que utiliza la técnica de clasificación para etiquetar partes del discurso.
- De las palabras, se extraen las características y luego se pasan a un clasificador interno.
- Clasifica las características y devuelve una etiqueta, es decir, una etiqueta de parte del discurso.
- El detector de características encuentra sufijos de varias longitudes, hace algunas coincidencias de expresiones regulares y analiza el historial de unigramas, bigramas y trigramas para producir un conjunto bastante completo de características para cada palabra.
Código n.º 1: Uso de ClassifierBasedPOSTagger
from nltk.tag.sequential import ClassifierBasedPOSTagger from nltk.corpus import treebank # initializing training and testing set train_data = treebank.tagged_sents()[:3000] test_data = treebank.tagged_sents()[3000:] tagging = ClassifierBasedPOSTagger(train = train_data) a = tagging.evaluate(test_data) print ("Accuracy : ", a)
Producción :
Accuracy : 0.9309734513274336
La clase ClassifierBasedPOSTagger hereda de ClassifierBasedTagger y solo implementa un método feature_detector(). Todo el entrenamiento y etiquetado se realiza en ClassifierBasedTagger.
Código #2: Uso de MaxentClassifier
from nltk.classify import MaxentClassifier from nltk.corpus import treebank # initializing training and testing set train_data = treebank.tagged_sents()[:3000] test_data = treebank.tagged_sents()[3000:] tagger = ClassifierBasedPOSTagger( train = train_sents, classifier_builder = MaxentClassifier.train) a = tagger.evaluate(test_data) print ("Accuracy : ", a)
Producción :
Accuracy : 0.9258363911072739
función personalizada detector detección de funciones
Hay dos formas de hacerlo:
- Subclase ClassifierBasedTagger e implemente un método feature_detector().
- Pase una función como argumento de la palabra clave feature_detector a ClassifierBasedTagger en la inicialización.
Código n.º 3: detector de características personalizadas
from nltk.tag.sequential import ClassifierBasedTagger from tag_util import unigram_feature_detector from nltk.corpus import treebank # initializing training and testing set train_data = treebank.tagged_sents()[:3000] test_data = treebank.tagged_sents()[3000:] tag = ClassifierBasedTagger( train = train_data, feature_detector = unigram_feature_detector) a = tagger.evaluate(test_data) print ("Accuracy : ", a)
Producción :
Accuracy : 0.8733865745737104
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