#!/usr/bin/python # -*- coding: utf-8 -*- #Autor: Erickson Silva #Email: #LAViD - Laboratório de Aplicações de Vídeo Digital import alexp from AplicaSinonimos import * from AplicaRegras import * import logging import traceback class TraduzSentencas(object): def __init__(self): self.aplic_sinonimos = AplicaSinonimos() self.aplic_regras = AplicaRegras() logging.basicConfig(filename='translate.log', format='%(asctime)s - %(levelname)s:\n\n%(message)s\n\n\n##############################################\n\n', level=logging.ERROR) def iniciar_traducao(self, sentenca): try: analise_sintatica = alexp.run(sentenca) except Exception as ex: self.salvar_log(str(traceback.format_exc())) analise_sintatica = None analise_morfologica = alexp.getAnaliseMorfologica() if (isinstance(analise_sintatica,type(None))): #print "# ANÁLISE MORFOLÓGICA" regras_aplicadas = self.aplic_regras.aplicar_regras_morfo(analise_morfologica) else: #print "# ANÁLISE SINTÁTICA" regras_aplicadas = self.aplic_regras.aplicar_regras_sint(analise_morfologica, analise_sintatica) sentenca_corrigida = self.aplic_regras.simplificar_sentenca(regras_aplicadas) sinonimos_aplicados = self.aplic_sinonimos.aplicar_sinonimos(sentenca_corrigida) if sinonimos_aplicados: return sinonimos_aplicados.upper().encode('utf-8') return "HOUVE UM ERRO. TENTE NOVAMENTE" def salvar_log(self, erro): logging.error(erro)