Commit c5584b10fabe8fde724ff929714566943092158e

Authored by Erickson Silva
1 parent a7e823d4
Exists in master and in 1 other branch devel

Adiciona novo dicionario de sinonimos

data/portuguesGlosa.csv
@@ -922,7 +922,7 @@ CONCLUDENTE;ORIGINAL;;X @@ -922,7 +922,7 @@ CONCLUDENTE;ORIGINAL;;X
922 GENUÍNO;ORIGINAL;;X 922 GENUÍNO;ORIGINAL;;X
923 LEGÍTIMO;ORIGINAL;;X 923 LEGÍTIMO;ORIGINAL;;X
924 OFICIAL;ORIGINAL;;X 924 OFICIAL;ORIGINAL;;X
925 -1;ORIGINAL;;X 925 +VERDADEIRO;ORIGINAL;;X
926 ESCUTAR;OUVIR;;X 926 ESCUTAR;OUVIR;;X
927 AUDIÇÃO;OUVIR;;X 927 AUDIÇÃO;OUVIR;;X
928 OUVINTE;OUVIR;;X 928 OUVINTE;OUVIR;;X
@@ -1243,8 +1243,8 @@ ARREDORES;VIZINHO;;X @@ -1243,8 +1243,8 @@ ARREDORES;VIZINHO;;X
1243 VILA;VIZINHO;;X 1243 VILA;VIZINHO;;X
1244 VOLTA;VOLTAR;;X 1244 VOLTA;VOLTAR;;X
1245 REGRESSAR;VOLTAR;;X 1245 REGRESSAR;VOLTAR;;X
1246 -FALSIDADE;0;;X  
1247 -VERDADE;1;;X 1246 +FALSIDADE;FALSO;;X
  1247 +VERDADE;VERDADEIRO;;X
1248 DUZIA;1 2;; 1248 DUZIA;1 2;;
1249 ANANÁS;ABACAXI;; 1249 ANANÁS;ABACAXI;;
1250 ABSTER;ABANDONAR;; 1250 ABSTER;ABANDONAR;;
@@ -3960,5 +3960,5 @@ PRAGUEJAR;XINGAR;; @@ -3960,5 +3960,5 @@ PRAGUEJAR;XINGAR;;
3960 CAÇOAR;ZOMBAR;; 3960 CAÇOAR;ZOMBAR;;
3961 ZOMBETEAR;ZOMBAR;; 3961 ZOMBETEAR;ZOMBAR;;
3962 ZOO;ZOOLÓGICO;; 3962 ZOO;ZOOLÓGICO;;
3963 -HIPÓCRITA;0;; 3963 +HIPÓCRITA;FALSO;;
3964 TRANSPORTAR;;; 3964 TRANSPORTAR;;;
src/new/AplicaRegras.py
@@ -17,7 +17,7 @@ class AplicaRegras(object): @@ -17,7 +17,7 @@ class AplicaRegras(object):
17 self.__dicionarios = LeitorDicionarios() 17 self.__dicionarios = LeitorDicionarios()
18 18
19 # retira artigos e preposicoes; passa verbos para infinitivo e verificar se há sinonimos 19 # retira artigos e preposicoes; passa verbos para infinitivo e verificar se há sinonimos
20 - def simplificar(self, texto): 20 + def inicializar(self, texto):
21 it = Iterator() 21 it = Iterator()
22 it.load(texto) 22 it.load(texto)
23 self.__ts = [] 23 self.__ts = []
@@ -29,8 +29,21 @@ class AplicaRegras(object): @@ -29,8 +29,21 @@ class AplicaRegras(object):
29 token = it.getAtualW() 29 token = it.getAtualW()
30 tag = it.getAtualT() 30 tag = it.getAtualT()
31 self.__b = False 31 self.__b = False
  32 +
32 if self.__dicionarios.hasPalavraIgnorada(tag) == False: # verifica se nao eh artigo/preposicao 33 if self.__dicionarios.hasPalavraIgnorada(tag) == False: # verifica se nao eh artigo/preposicao
33 34
  35 + #VERIFICA SE É SUBTANTIVO COMUM DOS 2 GENEROS
  36 + if self.__dicionarios.hasSubst2Genero(token):
  37 + #del self.__ts[-1]
  38 + lenTicket = len(it.getAntT())
  39 + if ((self.__dicionarios.hasPalavraIgnorada(it.getAntT())) and (it.getAntT()[lenTicket-1:] == "F") or (it.getAntT()[lenTicket-3:] == "F-P")):
  40 + self.__ts.append(["MULHER ", "2GEN"])
  41 + self.__ts.append([token,tag])
  42 + else:
  43 + self.__ts.append(["HOMEM ", "2GEN"])
  44 + self.__ts.append([token,tag])
  45 + self.__b = True
  46 +
34 #VERIFICA SE É ADVERBIO E CONTA A QUANTIDADE 47 #VERIFICA SE É ADVERBIO E CONTA A QUANTIDADE
35 if tag[:3] == "ADV": 48 if tag[:3] == "ADV":
36 self.__adv = True 49 self.__adv = True
@@ -47,24 +60,8 @@ class AplicaRegras(object): @@ -47,24 +60,8 @@ class AplicaRegras(object):
47 #VERIFICA SE É VERBO DE TEMPO E CONTA A QUANTIDADE 60 #VERIFICA SE É VERBO DE TEMPO E CONTA A QUANTIDADE
48 if tag == "VB-P" or tag == "VB-D" or tag == "VB-R": 61 if tag == "VB-P" or tag == "VB-D" or tag == "VB-R":
49 self.__verb = True 62 self.__verb = True
50 - self.__countVerb += 1  
51 -  
52 -  
53 - #VERIFICA SE É SUBTANTIVO COMUM DOS 2 GENEROS  
54 - if self.__dicionarios.hasSubst2Genero(token):  
55 - #del self.__ts[-1]  
56 - lenTicket = len(it.getAntT())  
57 - if ((self.__dicionarios.hasPalavraIgnorada(it.getAntT())) and (it.getAntT()[lenTicket-1:] == "F") or (it.getAntT()[lenTicket-3:] == "F-P")):  
58 - self.__ts.append(["MULHER ", "2GEN"])  
59 - self.__ts.append([token,tag])  
60 - else:  
61 - self.__ts.append(["HOMEM ", "2GEN"])  
62 - self.__ts.append([token,tag])  
63 - self.__b = True  
64 -  
65 - #VERIFICA SE É PLURAL  
66 - #if tag[-2:] == "-P":  
67 - # token = self.pluralAnalysis(token) 63 + self.__countVerb += 1
  64 +
68 65
69 #SE NÃO HOUVE NENHUM ALTERAÇÃO, OU SEJA, NÃO APLICOU NENHUMA REGRA, ADICIONA O TOKEN ORIGINAL 66 #SE NÃO HOUVE NENHUM ALTERAÇÃO, OU SEJA, NÃO APLICOU NENHUMA REGRA, ADICIONA O TOKEN ORIGINAL
70 if self.__b == False: # verifica se nao encontrou nem verbo infinito ou sinonimo 67 if self.__b == False: # verifica se nao encontrou nem verbo infinito ou sinonimo
@@ -72,9 +69,10 @@ class AplicaRegras(object): @@ -72,9 +69,10 @@ class AplicaRegras(object):
72 69
73 #SE ENCONTROU VERBO, ENTÃO ANALISA a SENTENCA NOVAMENTE (again?) 70 #SE ENCONTROU VERBO, ENTÃO ANALISA a SENTENCA NOVAMENTE (again?)
74 if self.__verb == True: 71 if self.__verb == True:
75 - return self.verbalAnalysis(self.__ts) 72 + self.__ts = self.verbalAnalysis(self.__ts)
76 73
77 - return self.__ts 74 + #VERIFICA SE É PLURAL
  75 + return self.hasPlural(self.__ts)
78 76
79 77
80 # converte romano para numero 78 # converte romano para numero
@@ -136,7 +134,17 @@ class AplicaRegras(object): @@ -136,7 +134,17 @@ class AplicaRegras(object):
136 return lv 134 return lv
137 135
138 136
139 - def pluralAnalysis(self, word): 137 + def hasPlural(self, lista):
  138 +
  139 + tmp = lista
  140 + for e in tmp:
  141 + if e[1][-2:] == "-P":
  142 + e[0] = analisarPlural(e[0])
  143 +
  144 + return tmp
  145 +
  146 +
  147 + def analisarPlural(self, word):
140 148
141 if(word[-3:] == "OES" or word[-2:] == "AES" or word[-2:] == "AOS"): 149 if(word[-3:] == "OES" or word[-2:] == "AES" or word[-2:] == "AOS"):
142 return word[0:-3]+"AO" 150 return word[0:-3]+"AO"
src/new/LeitorDicionarios.py
@@ -6,7 +6,8 @@ @@ -6,7 +6,8 @@
6 6
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, csv, sys 9 +from os.path import expanduser
  10 +import csv
10 11
11 class LeitorDicionarios(object): 12 class LeitorDicionarios(object):
12 #_iInstance = None 13 #_iInstance = None
@@ -29,7 +30,7 @@ class LeitorDicionarios(object): @@ -29,7 +30,7 @@ class LeitorDicionarios(object):
29 30
30 # Define e inicializa os atributos 31 # Define e inicializa os atributos
31 def __init__(self): 32 def __init__(self):
32 - self.__path = "/home/erickson/vlibras-translate/data/" 33 + self.__path = expanduser("~") + "/vlibras-translate/data/"
33 self.__dicInf = {} 34 self.__dicInf = {}
34 self.__dicSin = {} 35 self.__dicSin = {}
35 self.__dicWords = {} 36 self.__dicWords = {}
src/new/Tradutor.py
@@ -10,8 +10,8 @@ import alexp @@ -10,8 +10,8 @@ import alexp
10 from AplicaSinonimos import * 10 from AplicaSinonimos import *
11 from AplicaRegras import * 11 from AplicaRegras import *
12 12
13 -sin = AplicaSinonimos()  
14 -reg = AplicaRegras() 13 +aplicSinonimos = AplicaSinonimos()
  14 +aplicRegras = AplicaRegras()
15 15
16 16
17 def iniciarTraducao(texto): 17 def iniciarTraducao(texto):
@@ -36,10 +36,10 @@ def gerarAnalise(sentenca): @@ -36,10 +36,10 @@ def gerarAnalise(sentenca):
36 36
37 37
38 def analiseMorfologica(sentenca): 38 def analiseMorfologica(sentenca):
39 - proc = reg.simplificar(sentenca)  
40 - return sin.sinonimosMorfologico(proc) 39 + proc = aplicRegras.inicializar(sentenca)
  40 + return aplicSinonimos.sinonimosMorfologico(proc)
41 41
42 42
43 def analiseSintatica(sentenca): 43 def analiseSintatica(sentenca):
44 - analise = sin.sinonimosSintatico(sentenca) 44 + analise = aplicSinonimos.sinonimosSintatico(sentenca)
45 return analise 45 return analise
46 \ No newline at end of file 46 \ No newline at end of file