示例#1
0
    def analisar_sentimento_documento(self, texto):
        # Instancia um documento com o texto recebido por parametro
        documento = Documento(texto, None, self._CORPUS, "nome")

        # Processa o documento, antes de analisar o sentimento deste
        documento = self.processar_documento(documento)

        # Abre classificador
        classificador = ClassificadorUtil().abrir_classificador_treinado(self._CLASSIFICADOR_PATH)

        # Abre o arquivo com as palavras frequentes do corpus
        palavras_frequentes = self._CORPUS.abrir_arquivo_palavras_frequentes(self._PATH_PALAVRAS_FREQUENTES_CORPUS)
        # palavras_frequentes = None

        # Analisa o sentimento do texto do documento e o retorna
        sentimento = classificador.classify(Documento.get_features(documento, palavras_frequentes))

        documento.categoria = sentimento

        return documento
示例#2
0
    def analisar_sentimento_documento(self, texto):
        # Instancia um documento com o texto recebido por parametro
        documento = Documento(texto, None, self._CORPUS, "nome")

        # Processa o documento, antes de analisar o sentimento deste
        documento = self.processar_documento(documento)

        # Abre classificador
        classificador = ClassificadorUtil().abrir_classificador_treinado(
            self._CLASSIFICADOR_PATH)

        # Abre o arquivo com as palavras frequentes do corpus
        palavras_frequentes = self._CORPUS.abrir_arquivo_palavras_frequentes(
            self._PATH_PALAVRAS_FREQUENTES_CORPUS)
        # palavras_frequentes = None

        # Analisa o sentimento do texto do documento e o retorna
        sentimento = classificador.classify(
            Documento.get_features(documento, palavras_frequentes))

        documento.categoria = sentimento

        return documento
示例#3
0
    nomes = os.listdir(documentos_path)
    shuffle(nomes)

    documentos = []
    for nome_documento in nomes:
        if nome_documento.endswith('.txt'):
            # Lê todos os novos documentos coletados e monta uma
            # lista com o conteúdo de todos estes documentos.
            with codecs.open(documentos_path + '/' + nome_documento, 'r',
                             'utf-8') as f:
                texto = f.read()
                documentos.append(
                    Documento(texto, None, corpus, nome_documento))

    classificador = ClassificadorUtil().abrir_classificador_treinado(
        classificador_path)

    qtde_pos = 0
    qtde_neg = 0
    for documento in documentos:
        # print documento.texto
        documento = nova_fachada.processar_documento(documento)
        sentimento = nova_fachada.analisar_sentimento_documento(
            documento, classificador)
        if sentimento == 'pos':
            qtde_pos += 1
            print documento.nome
            break
        elif sentimento == 'neg':
            qtde_neg += 1
示例#4
0
#!/usr/bin/python
# -*- coding: utf-8 -*-
"""
Created on Mon Aug 24 22:34:21 2015

@author: lucas
"""

from controle.fachada import Fachada
from util.classificador_util import ClassificadorUtil

CORPUS_RAIZ = "/home/lucas/Documents/mineracao_opiniao/corpus_resenhas_livros_processadas_c"

DIRETORIO_DESTINO = "/home/lucas/Documents/mineracao_opiniao/classificadores_treinados"

nova_fachada = Fachada()
classificador = nova_fachada.treinar_classificador(CORPUS_RAIZ)

resultado = ClassificadorUtil().salvar_classificador_treinado(
    classificador, "3860_resenhas_negacao", DIRETORIO_DESTINO)

if resultado:
    print "-- Classificador salvo com sucesso."
示例#5
0
# -*- coding: utf-8 -*-

from util.classificador_util import ClassificadorUtil

if __name__ == '__main__':
    classificador_path = "/home/lucas/Documents/mineracao_opiniao/classificadores_treinados/" \
                         "naive_bayes_3860_resenhas_2015-09-25.00.52.23.944959.pickle"

    classificador = ClassificadorUtil().abrir_classificador_treinado(
        classificador_path)

    print classificador.show_most_informative_features(15)
# -*- coding: utf-8 -*-

from util.classificador_util import ClassificadorUtil

if __name__ == '__main__':
    classificador_path = "/home/lucas/Documents/mineracao_opiniao/classificadores_treinados/" \
                         "naive_bayes_3860_resenhas_2015-09-25.00.52.23.944959.pickle"

    classificador = ClassificadorUtil().abrir_classificador_treinado(classificador_path)

    print classificador.show_most_informative_features(15)