Commit 4c653c2e87ba5fb2735ccbbf04d78a4d56c60dd1
1 parent
647ef3f2
Exists in
devel
Corrige tratamento de palavras compostas
Showing
1 changed file
with
7 additions
and
3 deletions
Show diff stats
src/AplicaSinonimos.py
@@ -7,6 +7,7 @@ | @@ -7,6 +7,7 @@ | ||
7 | #LAViD - Laboratório de Aplicações de Vídeo Digital | 7 | #LAViD - Laboratório de Aplicações de Vídeo Digital |
8 | 8 | ||
9 | import os | 9 | import os |
10 | +import re | ||
10 | import csv | 11 | import csv |
11 | import sys | 12 | import sys |
12 | from nltk.tree import Tree | 13 | from nltk.tree import Tree |
@@ -58,12 +59,15 @@ class AplicaSinonimos(object): | @@ -58,12 +59,15 @@ class AplicaSinonimos(object): | ||
58 | sentenca_corrigida = "_".join(lista).upper() | 59 | sentenca_corrigida = "_".join(lista).upper() |
59 | except: | 60 | except: |
60 | sentenca_corrigida = "_".join([str(x[0]) for x in lista]).upper() | 61 | sentenca_corrigida = "_".join([str(x[0]) for x in lista]).upper() |
61 | - | ||
62 | for p in palavras_compostas: | 62 | for p in palavras_compostas: |
63 | - if p in sentenca_corrigida: | ||
64 | - sentenca_corrigida = sentenca_corrigida.replace(p, p.replace("_", "#*#")) | 63 | + for m in re.finditer(p, sentenca_corrigida): |
64 | + first = "_" if m.start() == 0 else sentenca_corrigida[m.start()-1] | ||
65 | + last = "_" if m.end() == len(sentenca_corrigida)-1 else sentenca_corrigida[m.end()] | ||
66 | + if first == "_" and last == "_": | ||
67 | + sentenca_corrigida = sentenca_corrigida.replace(p, p.replace("_", "#*#")) | ||
65 | return sentenca_corrigida.replace("_", " ").replace("#*#", "_") | 68 | return sentenca_corrigida.replace("_", " ").replace("#*#", "_") |
66 | 69 | ||
70 | + | ||
67 | def carregar_palavras_compostas(self): | 71 | def carregar_palavras_compostas(self): |
68 | path = self.localizar_arquivo_palavras_compostas() | 72 | path = self.localizar_arquivo_palavras_compostas() |
69 | return set(open(path).read().decode('utf-8').split()) | 73 | return set(open(path).read().decode('utf-8').split()) |