No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Entrenando un HMM en Python

8/26
Recursos

Aportes 10

Preguntas 3

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

Para las personas que el transitionDict les da vac铆o, hay que hacer una peque帽a correcci贸n:

El profe define prevtag = None despu茅s de los dos ciclos for.
Por lo tanto cada vez que itero el valro de prevtag vuelve aser None y siempre se repite la primera iteraci贸n para el TransitionDict.

Para corregirlo hay que definir prevtag = None antes de los dos ciclos for.

Saludos.

para hacer un sort sobre estos diccionarios basados en los valores de las probabilidades encontradas.

# transition sorted
sorted_transitionprobs = sorted(transitionProbDict.items(), key = lambda x: x[1], reverse=True)
sorted_transitionprobs


# Emission sorted
sorted_emissionprobs = sorted(emissionProbDict.items(), key = lambda x: x[1], reverse=True)
sorted_emissionprobs

Creo que en el c谩lculo de emissionProbDict la condicion del if deb铆o ser:

if tagCountDict[tag]>0:

La ecuacion de Probabilidades de Emisi贸n tiene un peque帽o error, el numerador de la ecuacion debe ser el siguiente

C(word,tag) 

en lugar de

C(word|tag)

Genial esta clase!

Viendo la calidad de la clase, la importancia del tema y los pocos comentarios, entiende uno por que no se sigue con este nivel de profundidad, parece que en general no son las clases con mayor acogida 馃槮.

Muy muy buena clase

C贸digo corregido

<
tag_count_dict = {}
emission_dict = {}
transition_dict = {}

tagtype = 'upos'
data_file = open('UD_Spanish-AnCora/es_ancora-ud-dev.conllu', 'r', encoding='utf-8')

prevtag = None
for tokenlist in parse_incr(data_file):
    for token in tokenlist:
        
        #C(tag)
        tag = token[tagtype]
        if tag in tag_count_dict.keys():
            tag_count_dict[tag] += 1
        else:
            tag_count_dict[tag] = 1
            
        #C(word|tag) -> probabilidades de emision
        word_tag = token['form'].lower() + '|' +token[tagtype]
        if word_tag in emission_dict.keys():
            emission_dict[word_tag] += 1
        else:
            emission_dict[word_tag] = 1
            
        # C(tag|tag_previo) -> probabilidades de transici贸n
        if prevtag is None:
            prevtag = tag
            continue
        transitiontags = tag + '|' + prevtag
        if transitiontags in transition_dict.keys():
            transition_dict[transitiontags] = transition_dict[transitiontags] + 1
        else:
            transition_dict[transitiontags] = 1
        prevtag = tag
> 

Para quienes no entiendan el concepto de 鈥淓l corpus鈥, es un conjunto de textos suficientemente grande de muestras reales de una lengua determinada.

que bien

jejejj y asi es como un modelo equivale a dos diccionarios 馃槂 muy bueno