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,26 +27,10 @@ class AplicaSinonimos(object): | ||
27 | '''Percorre a lista fazendo a substituição pelos sinonimos. | 27 | '''Percorre a lista fazendo a substituição pelos sinonimos. |
28 | ''' | 28 | ''' |
29 | lista_corrigida = [] | 29 | lista_corrigida = [] |
30 | - palavras_compostas = self.carregar_palavras_compostas() | ||
31 | for tupla in lista_anotada: | 30 | for tupla in lista_anotada: |
32 | sinonimo = self.verificar_sinonimo(tupla[0]) | 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 | # Verifica se há sinonimo do token | 35 | # Verifica se há sinonimo do token |
52 | def verificar_sinonimo(self, token): | 36 | def verificar_sinonimo(self, token): |
@@ -56,6 +40,18 @@ class AplicaSinonimos(object): | @@ -56,6 +40,18 @@ class AplicaSinonimos(object): | ||
56 | return self.dicionarios.get_sinonimo(token) | 40 | return self.dicionarios.get_sinonimo(token) |
57 | return token | 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 | def carregar_palavras_compostas(self): | 55 | def carregar_palavras_compostas(self): |
60 | path = self.localizar_arquivo_palavras_compostas() | 56 | path = self.localizar_arquivo_palavras_compostas() |
61 | return set(open(path).read().decode('utf-8').split()) | 57 | return set(open(path).read().decode('utf-8').split()) |