Commit ebe1e165a2eb9a5269baedf04abc1433db73d899

Authored by Erickson Silva
1 parent ba9507ef
Exists in master and in 1 other branch devel

Remove todos caracteres especiais, com exceção de % e $

src/AplicaRegras.py
... ... @@ -410,8 +410,7 @@ class AplicaRegras(object):
410 410 lista_simplificada = self.converter_extenso(lista_simplificada)
411 411 except:
412 412 pass
413   -
414   - #return " ".join([x[0] for x in lista_simplificada])
  413 +
415 414 return lista_simplificada
416 415  
417 416  
... ...
src/TraduzSentencas.py
... ... @@ -10,6 +10,7 @@ import alexp
10 10 from AplicaRegras import *
11 11 import logging
12 12 import traceback
  13 +import re, string
13 14  
14 15 class TraduzSentencas(object):
15 16 '''Realiza a tradução do texto em português para glosa
... ... @@ -35,7 +36,7 @@ class TraduzSentencas(object):
35 36 has_sintatica = False
36 37  
37 38 analise_morfologica = alexp.getAnaliseMorfologica()
38   -
  39 +
39 40 if (isinstance(analise_sintatica,type(None))):
40 41 regras_aplicadas = self.aplic_regras.aplicar_regras_morfo(analise_morfologica)
41 42 else:
... ... @@ -46,14 +47,14 @@ class TraduzSentencas(object):
46 47  
47 48 sentenca_corrigida = self.aplic_regras.simplificar_sentenca(regras_aplicadas)
48 49 glosa = " ".join([x[0] for x in sentenca_corrigida])
49   - glosa_sem_acentos = self.aplic_regras.remover_acento(glosa).upper().encode('utf-8')
50 50  
51   - if glosa_sem_acentos:
  51 + if glosa:
52 52 if taxa:
53 53 taxa_qualidade = self.gerar_metrica_qualidade(sentenca_corrigida)
54 54 return {'glosa':glosa_sem_acentos, 'taxa':taxa_qualidade, 'sintatica':has_sintatica}
55   - return glosa_sem_acentos
56   - return "TEXTO ERRADO ESCOLHER OUTRO"
  55 + return glosa.upper().encode('utf-8')
  56 + return "TEXTO ERRADO ESCOLHER OUTRO"
  57 +
57 58  
58 59 def salvar_log(self, erro):
59 60 '''Salva traceback de uma excessão do analisador sintático
... ...
src/alexp.py
... ... @@ -34,7 +34,6 @@ from Aelius.Extras import carrega
34 34 from Aelius import AnotaCorpus
35 35 from unicodedata import normalize
36 36  
37   -
38 37 sentenca_anotada=""
39 38 sleep_times=[0.1,0.2]
40 39  
... ... @@ -46,7 +45,6 @@ def toqueniza(s):
46 45  
47 46 def getAnaliseMorfologica():
48 47 return sentenca_anotada
49   - #return [list(x) for x in sentenca_anotada]
50 48  
51 49 def etiquetaSentenca(s):
52 50 """Aplica um dos etiquetadores do Aelius na etiquetagem da sentença dada como lista de tokens.
... ... @@ -56,10 +54,14 @@ def etiquetaSentenca(s):
56 54 while (anotada[0][1] is None):
57 55 time.sleep(random.choice(sleep_times))
58 56 anotada = AnotaCorpus.anota_sentencas([s],etiquetador,"hunpos")[0]
59   - #anotada[0] = (anotada[0][0].lower(), anotada[0][1])
60   - #return anotada
  57 + regex = re.compile('[%s]' % re.escape('!"#&\'()*+,-./:;<=>?@[\\]^_`{|}~'))
61 58 tag_punctuation = [".",",","QT","("]
62   - return [[x[0].lower(),x[1]] for x in anotada if x[1] not in tag_punctuation]
  59 + anotada_corrigida = []
  60 + for x in anotada:
  61 + if x[1] not in tag_punctuation:
  62 + tupla = [regex.sub('',x[0]).lower(),x[1]]
  63 + if tupla[0] != "": anotada_corrigida.append(tupla)
  64 + return anotada_corrigida
63 65  
64 66 def geraEntradasLexicais(lista):
65 67 """Gera entradas lexicais no formato CFG do NLTK a partir de lista de pares constituídos de tokens e suas etiquetas.
... ...