Limpeza do texto

Modelagem

Para o nosso primeiro modelo, iremos considerar apenas as informações relacionado ao pedido e a primeira resposta que órgão forneceu.

Representação do Texto usando TF-IDF

Considerando que a modelagem matemática só consegue ter um entendimento em relação a números fica inviável passar a ‘string’ com as palavras na forma que entendemos, portanto, para a representação dos textos presente no problema iremos utilizar a técnica TF-IDF:

O valor tf–idf (abreviação do inglês term frequency–inverse document frequency, que significa frequência do termo–inverso da frequência nos documentos), é uma medida estatística que tem o intuito de indicar a importância de uma palavra de um documento em relação a uma coleção de documentos ou em um corpus linguístico.

O valor tf–idf de uma palavra aumenta proporcionalmente à medida que aumenta o número de ocorrências dela em um documento, no entanto, esse valor é equilibrado pela frequência da palavra no corpus. Isso auxilia a distinguir o fato da ocorrência de algumas palavras serem geralmente mais comuns que outras.

Modelo inicial

Para essa etapa iremos utilizar um modelo SVM:

Uma máquina de vetores de suporte (SVM, do inglês: support vector machine) é um conceito na ciência da computação para um conjunto de métodos de aprendizado supervisionado que analisam os dados e reconhecem padrões, usado para classificação e análise de regressão. O SVM padrão toma como entrada um conjunto de dados e prediz, para cada entrada dada, qual de duas possíveis classes a entrada faz parte, o que faz do SVM um classificador linear binário não probabilístico. Dados um conjunto de exemplos de treinamento, cada um marcado como pertencente a uma de duas categorias, um algoritmo de treinamento do SVM constrói um modelo que atribui novos exemplos a uma categoria ou outra.

Aplicamos a definição do pipline de treinamento do modelo, que consiste em uma instaciação do modelo SVM com os paramentros : {C = 100 , gamma=0.001 , kernel='rbf'}

Para aplicar o treinamento do modelo iremos realizar a filtragem nos dados, para considerar apenas o pedido, resposta e sua respectiva classe.

Após esse processo iremos dividir nosso conjunto em 80% de Treino e 20% de teste para podermos avaliar nosso modelo, portanto temos:

Esse processo também conta com a transformação das variavel algo em encondes de acordo com os cénarios:

  1. Atendido = 1 e Não Atendido = 0
  2. Atendido = 1 e (Não e Parcialmente Atendido) = 0

Esse processo é pra ajudar o modelo no melhor entendimento sobre os dados.

Métricas de Avaliação

No nosso contexto, dado que a variável de interesse é o atendimento do pedido, temos:

Falso Positivo (FP): O modelo previu que o pedido foi atendido, entretanto, não foi.

Falso Negativo (FN): O modelo previu que o pedido não foi atendido, entretanto, ele foi.

Verdadeiro Negativo (VN): O modelo previu que o pedido não foi atendido, e de fato ele não foi.

Verdadeiro Positivo (VP): O modelo previu que o pedido foi atendido, e de fato ele foi.

Para ajudar na compreensão do comportamento do modelo, iremos utilizar as seguintes técnicas de avaliação:

  1. Acurácia

    VP + VN / (VP + FP + VN + FN)

  2. F1-Score

    recall = VP / (VP + FN)

    precision = VP / (VP + FP)

    F1 = 2 (precision recall) / (precision + recall)

  3. MCC

    MCC = VPVN - FPFN/ $\sqrt{(VP+FP)(VP+FN)(VN+FP)(VN+FN)}$

Para o nosso problema considerando o balanceamento das classes e problema binário, a métrica MCC serve como boa referência porque ela avalia todos os cenários possíveis para a classificação e possui um valor ajustado de fácil entendimento, em que: -1: quanto mais próximo de -1 sua MCC, pior está o seu classificador.

Portanto, temos:

Definição de cenários

Para esse processo iremos considerar o nosso melhor modelo atualmente o SVM em dois diferentes cenários:

  1. Atendido vs Não Atendido (Excluindo os parcialmente Atendidos)
  2. Atendido vs Não Atendido (Adicionando os parcialmente Atendidos em não Atendidos)

O objetivo dessa atividade é mensurar o comportamento do modelo nas diferentes classes e consequentemente expandir os dados além do que se vinha modelando.

Resultados

Observamos bom resultado para esse modelo considerando que ele só utiliza duas informações que é pedido e resposta, um ponto importante é que o MCC para ambos os casos estão tendendo a 1 isso nos mostra que está no caminho coerente.

Considerando o cenário Atendido vs (Não e Parcialmente Atendido) podemos imaginar que os Parcialmente pode estar indo para às duas classes nas considerações do modelo, as próximas etapas são considerar um cenário com às três categorias e comparar o resultado.