Commit e17c816402b6f91559a3b031426c4f012d6e9449

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

Corrige verificação se palavras compostas

Showing 1 changed file with 14 additions and 18 deletions   Show diff stats
src/AplicaSinonimos.py
... ... @@ -27,26 +27,10 @@ class AplicaSinonimos(object):
27 27 '''Percorre a lista fazendo a substituição pelos sinonimos.
28 28 '''
29 29 lista_corrigida = []
30   - palavras_compostas = self.carregar_palavras_compostas()
31 30 for tupla in lista_anotada:
32 31 sinonimo = self.verificar_sinonimo(tupla[0])
33   - try:
34   - token_composto_2 = lista_corrigida[-1] + "_" + sinonimo
35   - token_composto_3 = lista_corrigida[-2] + "_" + lista_corrigida[-1] + "_" + sinonimo
36   - if token_composto_2.upper() in palavras_compostas:
37   - lista_corrigida[-1] = token_composto_2
38   - elif token_composto_3.upper() in palavras_compostas:
39   - lista_corrigida.pop()
40   - lista_corrigida[-1] = token_composto_3
41   - else:
42   - lista_corrigida.append(sinonimo)
43   - except IndexError:
44   - lista_corrigida.append(sinonimo)
45   -
46   - try:
47   - return " ".join(lista_corrigida)
48   - except:
49   - return " ".join([str(x[0]) for x in lista_anotada])
  32 + lista_corrigida.append(sinonimo)
  33 + return self.verificar_palavra_composta(lista_corrigida)
50 34  
51 35 # Verifica se há sinonimo do token
52 36 def verificar_sinonimo(self, token):
... ... @@ -56,6 +40,18 @@ class AplicaSinonimos(object):
56 40 return self.dicionarios.get_sinonimo(token)
57 41 return token
58 42  
  43 + def verificar_palavra_composta(self, lista):
  44 + palavras_compostas = self.carregar_palavras_compostas()
  45 + try:
  46 + sentenca_corrigida = "_".join(lista).upper()
  47 + except:
  48 + sentenca_corrigida = "_".join([str(x[0]) for x in lista]).upper()
  49 +
  50 + for p in palavras_compostas:
  51 + if p in sentenca_corrigida:
  52 + sentenca_corrigida = sentenca_corrigida.replace(p, p.replace("_", "#*#"))
  53 + return sentenca_corrigida.replace("_", " ").replace("#*#", "_")
  54 +
59 55 def carregar_palavras_compostas(self):
60 56 path = self.localizar_arquivo_palavras_compostas()
61 57 return set(open(path).read().decode('utf-8').split())
... ...