AplicaSinonimos.py
1.06 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#!/usr/bin/python
# -*- coding: utf-8 -*-
#Autor: Erickson Silva
#Email: <erickson.silva@lavid.ufpb.br> <ericksonsilva@live.com>
#LAViD - Laboratório de Aplicações de Vídeo Digital
import os
import csv
import sys
from nltk.tree import Tree
from LerDicionarios import *
class AplicaSinonimos(object):
'''Aplica sinonimos após aplicação de regras morfológicas/sintáticas.
'''
def __init__(self):
self.dicionarios = LerDicionarios()
# Itera sobre os tokens obtendo os sinonimos
def aplicar_sinonimos(self, lista_anotada):
'''Percorre a lista fazendo a substituição pelos sinonimos.
'''
lista_corrigida = []
for tupla in lista_anotada:
sinonimo = self.verificar_sinonimo(tupla[0])
lista_corrigida.append(sinonimo)
try:
return " ".join(lista_corrigida)
except:
return " ".join([str(x[0]) for x in lista_anotada])
# Verifica se há sinonimo do token
def verificar_sinonimo(self, token):
'''Verifica se há sinonimo do token.
'''
if self.dicionarios.has_sinonimo(token):
return self.dicionarios.get_sinonimo(token)
return token