1
resposta

Similaridade de produtos

Olá,

Estou tentando trabalhar com a similaridade de produtos, classificados em 67 grupos. estou seguindo o trabalho deste link https://www.datageeks.com.br/processamento-de-linguagem-natural/

Na parte abaixo, não entendi de onde foi tirado "disaster" e "irrelevant", uma vez que a classificação dele, os labels são diferentes.

# Método para plotar as featrues mais importantes para cada variável alvo.
def plot_important_words(top_scores, top_words, bottom_scores, bottom_words, name):
    y_pos = np.arange(len(top_words))
    top_pairs = [(a,b) for a,b in zip(top_words, top_scores)]
    top_pairs = sorted(top_pairs, key=lambda x: x[1])
    
    bottom_pairs = [(a,b) for a,b in zip(bottom_words, bottom_scores)]
    bottom_pairs = sorted(bottom_pairs, key=lambda x: x[1], reverse=True)
    
    top_words = [a[0] for a in top_pairs]
    top_scores = [a[1] for a in top_pairs]
    
    bottom_words = [a[0] for a in bottom_pairs]
    bottom_scores = [a[1] for a in bottom_pairs]
    
    fig = plt.figure(figsize=(10, 10))  
    plt.subplot(121)
    plt.barh(y_pos,bottom_scores, align='center', alpha=0.5)
    plt.title('Irrelevant', fontsize=20)
    plt.yticks(y_pos, bottom_words, fontsize=14)
    plt.suptitle('Key words', fontsize=16)
    plt.xlabel('Importance', fontsize=20)
    
    plt.subplot(122)
    plt.barh(y_pos,top_scores, align='center', alpha=0.5)
    plt.title('Disaster', fontsize=20)
    plt.yticks(y_pos, top_words, fontsize=14)
    plt.suptitle(name, fontsize=16)
    plt.xlabel('Importance', fontsize=20)
    
    plt.subplots_adjust(wspace=0.8)
    plt.show()
top_scores = [a[0] for a in importance[1]['tops']]
top_words = [a[1] for a in importance[1]['tops']]
bottom_scores = [a[0] for a in importance[1]['bottom']]
bottom_words = [a[1] for a in importance[1]['bottom']]
plot_important_words(top_scores, top_words, bottom_scores, bottom_words, "Most important words for relevance")
1 resposta

Oii, Fernanda! Tudo jóia?

Como é um conteúdo externo ao curso, consigo te dar um embasamento levando em consideração o contexto que você me trouxe, certo.

Dito isso, as palavras Disaster e Irrelevant, são títulos que provavelmente estão ligados ao contexto específico da aplicação. Podemos ver que a função foi criada para avaliar a importância das palavras em um sistema de classificação simples, onde as categorias são "Desastre" e "Irrelevante".

Por exemplificar, imagine que o sistema classifica artigos de notícias sobre saúde com as categorias "Importante" e "Irrelevante". Se o modelo estiver avaliando artigos para saber se são relevantes para questões de saúde, a categoria "Importante" seria atribuída aos artigos que abordam informações relacionadas à saúde, enquanto a categoria "Irrelevante" seria vinculada aos artigos que não têm relevância para esse tema.

Espero que tenha esclarecido sua dúvida, lembrando que é baseado no contexto que você nos trouxe, mas acredito que com essa base podemos ter uma visão melhor como um todo.

Continue se dedicando aos estudos e interagindo aqui no fórum, compartilhando suas dúvidas, projetos e feedbacks.

Bons estudos, Fernanda!