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()) |