AplicaSinonimos.py
1.13 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
42
43
44
45
46
47
48
#!/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