Commit e17c816402b6f91559a3b031426c4f012d6e9449
1 parent
ec2e6194
Exists in
master
and in
1 other branch
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()) | ... | ... |