AplicaSinonimos.py 1.13 KB
#!/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, csv, sys
from nltk.tree import *
from LeitorDicionarios import *

class AplicaSinonimos(object):

	 # Define e inicializa os atributos
	def __init__(self):
		self.__dicionarios = LeitorDicionarios()

	def sinonimosMorfologico(self, texto):
		lista = texto
		for i, elem in enumerate(lista):
			token = self.verificaPalavra(elem[0])
			listmp = list(elem)
			listmp[0] = token 
			lista[i] = listmp
		return lista


	def dicionarioSinonimoFolhas(self, folhas):
		dic = {}
		for f in folhas:
			token = self.verificaPalavra(f)
			dic[f] = token
		return dic

	def sinonimosSintatico(self, texto):
		folhas = Tree.leaves(texto)
		dic = self.dicionarioSinonimoFolhas(folhas)
		stringTree = str(texto)
		for t in folhas:
			stringTree.replace(t, dic[t])
		tree = Tree.fromstring(stringTree, brackets='()')
		return tree

	def verificaPalavra(self, token):
		if self.__dicionarios.hasSinonimo(token):
			return self.__dicionarios.getSinonimo(token)
		return token