private List <string> ReturnNewMemoryes(SqlCommand cmd, List <string> tokens, List <int> qtdTokens,
                                                byte sentimento)
        {
            List <string> tokensCopy  = new PLN.Formatacao().CopyList(tokens);
            int           tokensNovos = 0;

            //para verificar se a memoria já existe, se sim, atualiza e remove
            // da lista de novas memorias:
            for (int i = 0; i < tokens.Count; i++)
            {
                SqlDataReader reader = cmd.ExecuteReader();
                while (reader.Read())
                {
                    if (tokens[i] == reader["token"].ToString())
                    {
                        int readerQtdSentimento = (int)reader[sentimentoList[sentimento]];
                        reader.Dispose();
                        UpdateMemoryes(cmd.Connection, tokens[i], qtdTokens[i], readerQtdSentimento, sentimento);
                        tokensCopy.Remove(tokens[i]);
                        goto proximoToken;
                    }
                }
                tokensNovos++;
proximoToken:
                reader.Dispose();
            }
            return(tokensCopy);
        }
예제 #2
0
        public string MinerarEmocoes(string texto)
        {
            string document = texto.Trim();

            PLN.Formatacao formatac   = new PLN.Formatacao();
            PLN.Stemming   stemm      = new PLN.Stemming();
            PLN.DataMining dataMining = new PLN.DataMining();

            List <string> tokens = formatac.Formatacao_completa(document);

            tokens = stemm.StemmizarListaDeTokens(tokens);
            List <int> qtdRepeticoesToken = dataMining.Calcular_frequencia_tokens(tokens);

            tokens = formatac.Retirar_itens_repetidos(tokens);

            return(DetectarEmocao(tokens, qtdRepeticoesToken));
        }