AplicaSinonimos.py
1003 Bytes
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
#!/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):
"""Classe para aplicar sinonimos após a 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, analise):
lista_anotada = analise
lista_corrigida = []
if type(analise) is not list:
lista_anotada = Tree.leaves(analise)
for tupla in lista_anotada:
sinonimo = self.verificar_sinonimo(tupla[0])
lista_corrigida.append(sinonimo)
return " ".join(lista_corrigida)
# Verifica se há sinonimo do token
def verificar_sinonimo(self, token):
if self.dicionarios.has_sinonimo(token):
return self.dicionarios.get_sinonimo(token)
return token