Commit 1bf3fe850db87d5824b2bad9a676f3295c574665
1 parent
1b580bd0
Exists in
master
and in
1 other branch
Remove PortGlosa e adiciona as funcionalidades no TraduzSentencas
Showing
3 changed files
with
168 additions
and
117 deletions
Show diff stats
src/new/AplicaRegras.py
@@ -41,11 +41,7 @@ class AplicaRegras(object): | @@ -41,11 +41,7 @@ class AplicaRegras(object): | ||
41 | it = Iterator() | 41 | it = Iterator() |
42 | it.load(self.lista) | 42 | it.load(self.lista) |
43 | 43 | ||
44 | - while(it.has_next()): | ||
45 | - #if self.quantidade_iter_pular > 0: | ||
46 | - # self.quantidade_iter_pular-=1 | ||
47 | - # continue | ||
48 | - | 44 | + while(it.has_next()): |
49 | for morpho in self.__root.findall('morphological'): | 45 | for morpho in self.__root.findall('morphological'): |
50 | self.has_rule = False | 46 | self.has_rule = False |
51 | for rule in morpho.findall('rule'): # procura a tag rule | 47 | for rule in morpho.findall('rule'): # procura a tag rule |
@@ -58,7 +54,6 @@ class AplicaRegras(object): | @@ -58,7 +54,6 @@ class AplicaRegras(object): | ||
58 | try: | 54 | try: |
59 | self.lista_iteracoes = it.get_interval(count) | 55 | self.lista_iteracoes = it.get_interval(count) |
60 | it.skip(count-1) | 56 | it.skip(count-1) |
61 | - #self.quantidade_iter_pular = count-1 | ||
62 | except: | 57 | except: |
63 | continue | 58 | continue |
64 | 59 | ||
@@ -89,7 +84,14 @@ class AplicaRegras(object): | @@ -89,7 +84,14 @@ class AplicaRegras(object): | ||
89 | self.quantidade_iter_pular = 0 | 84 | self.quantidade_iter_pular = 0 |
90 | break | 85 | break |
91 | 86 | ||
92 | - if newprop is not None: | 87 | + if newprop is not None and newtoken is not None: |
88 | + if newtokenpos is not None and newtokenpos.text == "0": | ||
89 | + self.lista_iteracao_regra[self.count_iteracao_regra] = (newtoken.text + "_" + self.specific, newprop.text) | ||
90 | + else: | ||
91 | + self.lista_iteracao_regra[self.count_iteracao_regra] = (self.specific + "_" + newtoken.text, newprop.text) | ||
92 | + continue | ||
93 | + | ||
94 | + elif newprop is not None: | ||
93 | self.lista_iteracao_regra.append([self.specific,newprop.text]) | 95 | self.lista_iteracao_regra.append([self.specific,newprop.text]) |
94 | 96 | ||
95 | if newtoken is not None and newpos is not None: | 97 | if newtoken is not None and newpos is not None: |
@@ -97,10 +99,10 @@ class AplicaRegras(object): | @@ -97,10 +99,10 @@ class AplicaRegras(object): | ||
97 | lista_merge = count * [None] | 99 | lista_merge = count * [None] |
98 | lista_merge[int(newpos.text)] = tupla[0] | 100 | lista_merge[int(newpos.text)] = tupla[0] |
99 | lista_merge[int(newtokenpos.text)] = newtoken.text | 101 | lista_merge[int(newtokenpos.text)] = newtoken.text |
100 | - merge_tokens = " ".join(lista_merge) | 102 | + merge_tokens = "_".join(lista_merge) |
101 | self.lista_iteracao_regra.append([merge_tokens, title.text]) | 103 | self.lista_iteracao_regra.append([merge_tokens, title.text]) |
102 | else: | 104 | else: |
103 | - self.lista_iteracao_regra.append([tupla[0] + " " + newtoken.text, title.text]) | 105 | + self.lista_iteracao_regra.append([tupla[0] + "_" + newtoken.text, title.text]) |
104 | 106 | ||
105 | elif newpos is not None: | 107 | elif newpos is not None: |
106 | if newpos.text == "-1": | 108 | if newpos.text == "-1": |
@@ -110,17 +112,15 @@ class AplicaRegras(object): | @@ -110,17 +112,15 @@ class AplicaRegras(object): | ||
110 | self.lista_iteracao_regra[int(newpos.text)] = tupla | 112 | self.lista_iteracao_regra[int(newpos.text)] = tupla |
111 | 113 | ||
112 | elif newtoken is not None: | 114 | elif newtoken is not None: |
113 | - tokenAnterior = self.lista_iteracao_regra[self.count_iteracao_regra][0] | ||
114 | - ticketAnterior = self.lista_iteracao_regra[self.count_iteracao_regra][1] | 115 | + token_anterior = self.lista_iteracao_regra[self.count_iteracao_regra][0] |
116 | + ticket_anterior = self.lista_iteracao_regra[self.count_iteracao_regra][1] | ||
115 | if newtokenpos is not None and newtokenpos.text == "0": | 117 | if newtokenpos is not None and newtokenpos.text == "0": |
116 | - self.lista_iteracao_regra[self.count_iteracao_regra] = [newtoken.text + " " + tokenAnterior, ticketAnterior] | 118 | + self.lista_iteracao_regra[self.count_iteracao_regra] = [newtoken.text + "_" + token_anterior, ticket_anterior] |
117 | else: | 119 | else: |
118 | - self.lista_iteracao_regra[self.count_iteracao_regra] = [tokenAnterior + " " + newtoken.text, ticketAnterior] | 120 | + self.lista_iteracao_regra[self.count_iteracao_regra] = [token_anterior + "_" + newtoken.text, ticket_anterior] |
119 | 121 | ||
120 | - #self.lista_corrigida.append(filter(None, self.lista_iteracao_regra)[0]) | ||
121 | - #se ele acho uma regra, então quebra o laço e vai para o token seguinte | ||
122 | if self.has_rule: | 122 | if self.has_rule: |
123 | - self.lista_corrigida.append(self.lista_iteracao_regra) | 123 | + self.lista_corrigida.append(filter(None, self.lista_iteracao_regra)[0]) |
124 | break | 124 | break |
125 | 125 | ||
126 | if (self.has_rule == False): | 126 | if (self.has_rule == False): |
@@ -137,65 +137,92 @@ class AplicaRegras(object): | @@ -137,65 +137,92 @@ class AplicaRegras(object): | ||
137 | for rule in morpho.findall('rule'): # procura a tag rule | 137 | for rule in morpho.findall('rule'): # procura a tag rule |
138 | nome_regra = self.corrigir_anotacao(rule.get('name')) | 138 | nome_regra = self.corrigir_anotacao(rule.get('name')) |
139 | regra = self.separar_regra(nome_regra) | 139 | regra = self.separar_regra(nome_regra) |
140 | - node = tgrep_nodes(p_arvore, regra[0], search_leaves=False) | ||
141 | - if node: | ||
142 | - print "REGRA SINTÁTICA: " + rule.get('name') | ||
143 | - node_esq = tgrep_nodes(node[0], regra[1], search_leaves=False) | ||
144 | - node_esq_pos = tgrep_positions(node[0], regra[1], search_leaves=False) | ||
145 | - node_dir = tgrep_nodes(node[0], regra[2], search_leaves=False) | ||
146 | - node_dir_pos = tgrep_positions(node[0], regra[2], search_leaves=False) | ||
147 | - p_arvore.remove(p_arvore[node_esq_pos]) | ||
148 | - if node_esq and node_dir: | ||
149 | - subnodes = node_esq + node_dir | ||
150 | - for subnode in subnodes: | ||
151 | - self.alteracoes_nao_implementadas = [] | ||
152 | - # modelo: [['node_esq', ['token', 'ticket']],['node_dir', ['token', 'ticket']]] | ||
153 | - for classe in rule.iter('class'): | ||
154 | - title = classe.find('title') | ||
155 | - if subnode.label() == title.text: | ||
156 | - newpos = classe.find('newpos') | ||
157 | - newprop = classe.find('newprop') | ||
158 | - newtoken = classe.find('newtoken') | ||
159 | - newtokenpos = classe.find('newtokenpos') | 140 | + node_pai = tgrep_nodes(p_arvore, regra[0], search_leaves=False) |
141 | + if node_pai: | ||
142 | + node_regra = tgrep_nodes(node_pai[0], regra[1].replace('$', '>'), search_leaves=False) | ||
143 | + if node_regra: | ||
144 | + node_esq = tgrep_nodes(node_pai[0], regra[1], search_leaves=False) | ||
145 | + node_esq_pos = tgrep_positions(node_pai[0], regra[1], search_leaves=False) | ||
146 | + node_dir = tgrep_nodes(node_pai[0], regra[2], search_leaves=False) | ||
147 | + node_dir_pos = tgrep_positions(node_pai[0], regra[2], search_leaves=False) | ||
148 | + if node_esq and node_dir: | ||
149 | + print "REGRA SINTÁTICA: " + rule.get('name') | ||
150 | + subnodes = node_esq + node_dir | ||
151 | + for subnode in subnodes: | ||
152 | + self.has_rule = True | ||
153 | + self.alteracoes_nao_implementadas = [None,None] | ||
154 | + self.count_iteracao_regra = -1 | ||
155 | + self.specific = None | ||
156 | + | ||
157 | + for classe in rule.findall('class'): | ||
160 | self.specific = classe.find('specific') | 158 | self.specific = classe.find('specific') |
161 | - | ||
162 | - lista_alter_temp_node = [] | ||
163 | - | ||
164 | if self.specific is not None: | 159 | if self.specific is not None: |
165 | self.specific = self.__especificos[self.specific.text](subnode.leaves()[0]) | 160 | self.specific = self.__especificos[self.specific.text](subnode.leaves()[0]) |
166 | if self.specific is False: | 161 | if self.specific is False: |
167 | self.has_rule = False | 162 | self.has_rule = False |
168 | break | 163 | break |
169 | 164 | ||
170 | - if newprop is not None: | ||
171 | - self.lista_alter_temp_node.append([self.specific,newprop.text]) | ||
172 | - ''' | ||
173 | - if newtoken is not None and newpos is not None: | ||
174 | - if newtokenpos is not None: | ||
175 | - lista_merge = count * [None] | ||
176 | - lista_merge[int(newpos.text)] = tupla[0] | ||
177 | - lista_merge[int(newtokenpos.text)] = newtoken.text | ||
178 | - merge_tokens = " ".join(lista_merge) | ||
179 | - self.lista_iteracao_regra.append([merge_tokens, title.text]) | ||
180 | - else: | ||
181 | - self.lista_iteracao_regra.append([tupla[0] + " " + newtoken.text, title.text]) | ||
182 | - | ||
183 | - elif newpos is not None: | ||
184 | - if newpos.text == "-1": | ||
185 | - self.lista_corrigida.append(None) | 165 | + # modelo: [['node_esq', ['token', 'ticket']],['node_dir', ['token', 'ticket']]] |
166 | + for classe in rule.iter('class'): | ||
167 | + title = classe.find('title') | ||
168 | + if subnode.label() == title.text: | ||
169 | + newpos = classe.find('newpos') | ||
170 | + newprop = classe.find('newprop') | ||
171 | + newtoken = classe.find('newtoken') | ||
172 | + newtokenpos = classe.find('newtokenpos') | ||
173 | + | ||
174 | + | ||
175 | + self.count_iteracao_regra += 1 | ||
176 | + | ||
177 | + if self.specific is not None: | ||
178 | + self.specific = self.__especificos[self.specific.text](subnode.leaves()[0]) | ||
179 | + if self.specific is False: | ||
180 | + self.has_rule = False | ||
181 | + break | ||
182 | + | ||
183 | + if newprop is not None and newtoken is not None: | ||
184 | + if newtokenpos is not None and newtokenpos.text == "0": | ||
185 | + self.alteracoes_nao_implementadas[self.count_iteracao_regra].append([newtoken.text + "_" + self.specific, newprop.text]) | ||
186 | + else: | ||
187 | + self.alteracoes_nao_implementadas[self.count_iteracao_regra].append([self.specific + "_" + newtoken.text, newprop.text]) | ||
186 | continue | 188 | continue |
187 | - else: | ||
188 | - self.lista_iteracao_regra[int(newpos.text)] = tupla | ||
189 | - | ||
190 | - elif newtoken is not None: | ||
191 | - tokenAnterior = self.lista_iteracao_regra[self.count_iteracao_regra][0] | ||
192 | - ticketAnterior = self.lista_iteracao_regra[self.count_iteracao_regra][1] | ||
193 | - if newtokenpos is not None and newtokenpos.text == "0": | ||
194 | - self.lista_iteracao_regra[self.count_iteracao_regra] = [newtoken.text + " " + tokenAnterior, ticketAnterior] | ||
195 | - else: | ||
196 | - self.lista_iteracao_regra[self.count_iteracao_regra] = [tokenAnterior + " " + newtoken.text, ticketAnterior] | ||
197 | - ''' | ||
198 | - return p_arvore | 189 | + |
190 | + elif newprop is not None: | ||
191 | + self.alteracoes_nao_implementadas[self.count_iteracao_regra].append([self.specific,newprop.text]) | ||
192 | + | ||
193 | + if newtoken is not None and newpos is not None: | ||
194 | + if newtokenpos is not None: | ||
195 | + lista_merge = count * [None] | ||
196 | + lista_merge[int(newpos.text)] = subnode.leaves()[0] | ||
197 | + lista_merge[int(newtokenpos.text)] = newtoken.text | ||
198 | + merge_tokens = "_".join(lista_merge) | ||
199 | + self.alteracoes_nao_implementadas[self.count_iteracao_regra].append([merge_tokens, title.text]) | ||
200 | + else: | ||
201 | + self.alteracoes_nao_implementadas[self.count_iteracao_regra].append([subnode.leaves()[0] + "_" + newtoken.text, title.text]) | ||
202 | + | ||
203 | + elif newpos is not None: | ||
204 | + if newpos.text == "-1": | ||
205 | + alteracoes_nao_implementadas[self.count_iteracao_regra].append(None) | ||
206 | + continue | ||
207 | + else: | ||
208 | + #TODO | ||
209 | + if int(newpos.text) == 0: | ||
210 | + self.alteracoes_nao_implementadas[int(newpos.text)] = subnode | ||
211 | + | ||
212 | + elif newtoken is not None: | ||
213 | + token_anterior = self.lista_iteracao_regra[self.count_iteracao_regra][0] | ||
214 | + ticket_anterior = self.lista_iteracao_regra[self.count_iteracao_regra][1] | ||
215 | + if newtokenpos is not None and newtokenpos.text == "0": | ||
216 | + self.lista_iteracao_regra[self.count_iteracao_regra] = [newtoken.text + " " + token_anterior, ticket_anterior] | ||
217 | + else: | ||
218 | + self.lista_iteracao_regra[self.count_iteracao_regra] = [token_anterior + " " + newtoken.text, ticket_anterior] | ||
219 | + | ||
220 | + if self.has_rule: | ||
221 | + print self.alteracoes_nao_implementadas[0] | ||
222 | + self.lista_corrigida.append(filter(None, self.lista_iteracao_regra)[0]) | ||
223 | + break | ||
224 | + | ||
225 | + return self.converter_arv_para_lista(p_arvore) | ||
199 | 226 | ||
200 | def adaptar_regras_morfo_arvore(self, lista, arvore): | 227 | def adaptar_regras_morfo_arvore(self, lista, arvore): |
201 | lista_pos_arv = [] | 228 | lista_pos_arv = [] |
@@ -207,20 +234,59 @@ class AplicaRegras(object): | @@ -207,20 +234,59 @@ class AplicaRegras(object): | ||
207 | lista_pos_arv.append(node[0]) | 234 | lista_pos_arv.append(node[0]) |
208 | morfo = self.aplicar_regras_morfo(lista, sint=True) | 235 | morfo = self.aplicar_regras_morfo(lista, sint=True) |
209 | for i in range(0, len(morfo)): | 236 | for i in range(0, len(morfo)): |
237 | + arv_ticket = arvore[lista_pos_arv[i]].label() | ||
238 | + arv_token = arvore[lista_pos_arv[i]][0] | ||
210 | if morfo[i] is None: | 239 | if morfo[i] is None: |
211 | arvore[lista_pos_arv[i][:-1]] = None | 240 | arvore[lista_pos_arv[i][:-1]] = None |
212 | - else: | 241 | + elif arv_token != morfo[i][0] and arv_ticket != morfo[i][1]: |
242 | + arvore[lista_pos_arv[i]][0] = morfo[i][0] | ||
213 | arvore[lista_pos_arv[i]].set_label(self.corrigir_anotacao(morfo[i][1])) | 243 | arvore[lista_pos_arv[i]].set_label(self.corrigir_anotacao(morfo[i][1])) |
244 | + elif arv_token != morfo[i][0]: | ||
214 | arvore[lista_pos_arv[i]][0] = morfo[i][0] | 245 | arvore[lista_pos_arv[i]][0] = morfo[i][0] |
246 | + elif arv_ticket != morfo[i][1]: | ||
247 | + arvore[lista_pos_arv[i]].set_label(self.corrigir_anotacao(morfo[i][1])) | ||
248 | + else: | ||
249 | + continue | ||
250 | + | ||
215 | nodes_none = tgrep_positions(arvore, 'None') | 251 | nodes_none = tgrep_positions(arvore, 'None') |
216 | for node in nodes_none: | 252 | for node in nodes_none: |
217 | arvore[node[:-1]].remove(None) | 253 | arvore[node[:-1]].remove(None) |
218 | 254 | ||
255 | + def converter_arv_para_lista(self, arvore): | ||
256 | + folhas = arvore.leaves() | ||
257 | + lista_nodes = [] | ||
258 | + for folha in folhas: | ||
259 | + pos = tgrep_positions(arvore, folha) | ||
260 | + node = arvore[pos[0][:-1]] | ||
261 | + #decode node[0] | ||
262 | + lista_nodes.append([node[0], self.corrigir_anotacao(node.label())]) | ||
263 | + return lista_nodes | ||
264 | + | ||
265 | + | ||
266 | + def criar_ptree(self, s): | ||
267 | + all_ptrees = [] | ||
268 | + ptree = ParentedTree.convert(Tree.fromstring(s)) | ||
269 | + all_ptrees.extend(t for t in ptree.subtrees() | ||
270 | + if isinstance(t, Tree)) | ||
271 | + return ptree | ||
272 | + | ||
273 | + def separar_new_tokens(self, lista): | ||
274 | + for index, tupla in enumerate(lista): | ||
275 | + if '_' in tupla[0]: | ||
276 | + if 'VB' in tupla[1]: | ||
277 | + token_split = tupla[0].split('_') | ||
278 | + tupla[0] = token_split[0] | ||
279 | + lista.append([token_split[1],'NTK']) | ||
280 | + else: | ||
281 | + token_split = tupla[0].split('_') | ||
282 | + tupla[0] = token_split[0] | ||
283 | + lista.insert(index+1, [token_split[1],'NTK']) | ||
284 | + | ||
219 | def corrigir_anotacao(self, anotacao): | 285 | def corrigir_anotacao(self, anotacao): |
220 | split = anotacao.split('_') | 286 | split = anotacao.split('_') |
221 | for i in range(0, len(split)): | 287 | for i in range(0, len(split)): |
222 | split[i] = split[i].replace('-','_') | 288 | split[i] = split[i].replace('-','_') |
223 | - return "-".join(split) | 289 | + return "-".join(split).encode('utf-8') |
224 | 290 | ||
225 | def separar_regra(self, regra): | 291 | def separar_regra(self, regra): |
226 | split = regra.split("(") | 292 | split = regra.split("(") |
@@ -283,9 +349,7 @@ class AplicaRegras(object): | @@ -283,9 +349,7 @@ class AplicaRegras(object): | ||
283 | 349 | ||
284 | if tag[-2:] == "-P": | 350 | if tag[-2:] == "-P": |
285 | singular = self.analisar_plural(token) | 351 | singular = self.analisar_plural(token) |
286 | - nova_lista.append([singular,tag]) | ||
287 | - else: | ||
288 | - nova_lista.append(it.get_token()) | 352 | + lista[it.get_count()][0] = singular |
289 | 353 | ||
290 | if num: return self.converter_extenso(nova_lista) | 354 | if num: return self.converter_extenso(nova_lista) |
291 | return nova_lista | 355 | return nova_lista |
@@ -340,4 +404,4 @@ class AplicaRegras(object): | @@ -340,4 +404,4 @@ class AplicaRegras(object): | ||
340 | lista[i[0]] = [ext, "NUM"] | 404 | lista[i[0]] = [ext, "NUM"] |
341 | 405 | ||
342 | deque((list.pop(lista, i) for i in sorted(index_deleted, reverse=True)), maxlen=0) | 406 | deque((list.pop(lista, i) for i in sorted(index_deleted, reverse=True)), maxlen=0) |
343 | - return lista | 407 | - return lista |
408 | + return lista | ||
344 | \ No newline at end of file | 409 | \ No newline at end of file |
src/new/PortGlosa.py
@@ -1,28 +0,0 @@ | @@ -1,28 +0,0 @@ | ||
1 | -#!/usr/bin/python | ||
2 | -# -*- coding: utf-8 -*- | ||
3 | - | ||
4 | -#Autor: Erickson Silva | ||
5 | -#Email: <erickson.silva@lavid.ufpb.br> <ericksonsilva@live.com> | ||
6 | - | ||
7 | -#LAViD - Laboratório de Aplicações de Vídeo Digital | ||
8 | - | ||
9 | - | ||
10 | - | ||
11 | -from TraduzSentencas import * | ||
12 | - | ||
13 | - | ||
14 | -def traduz(texto): | ||
15 | - try: | ||
16 | - texto_codificado = texto.decode("UTF-8") | ||
17 | - except: | ||
18 | - texto_codificado = texto.decode("ISO-8859-1") | ||
19 | - | ||
20 | - glosa = iniciar_traducao(texto_codificado) | ||
21 | - if glosa == "": | ||
22 | - return "selecione um texto" | ||
23 | - return glosa.encode("utf-8") | ||
24 | - | ||
25 | - | ||
26 | -def help(): | ||
27 | - #TODO: Adicionar um pequeno tuto aqui | ||
28 | - print "Help" |
src/new/TraduzSentencas.py
@@ -10,32 +10,47 @@ import alexp | @@ -10,32 +10,47 @@ import alexp | ||
10 | from AplicaSinonimos import * | 10 | from AplicaSinonimos import * |
11 | from AplicaRegras import * | 11 | from AplicaRegras import * |
12 | 12 | ||
13 | +aplic_sinonimos = AplicaSinonimos() | ||
14 | +aplic_regras = AplicaRegras() | ||
13 | 15 | ||
16 | + | ||
17 | +def traduz(texto): | ||
18 | + try: | ||
19 | + texto_codificado = texto.decode("utf-8") | ||
20 | + except: | ||
21 | + texto_codificado = texto.decode("iso-8859-1") | ||
22 | + glosa = iniciar_traducao(texto_codificado) | ||
23 | + if glosa: return glosa | ||
24 | + return "selecione um texto" | ||
25 | + | ||
14 | def iniciar_traducao(texto): | 26 | def iniciar_traducao(texto): |
15 | - texto_quebrado = texto.split(".") | 27 | + texto_quebrado = texto.lower().split(".") |
16 | texto_traduzido = [] | 28 | texto_traduzido = [] |
17 | for sentenca in texto_quebrado: | 29 | for sentenca in texto_quebrado: |
18 | if len(sentenca) > 0 and sentenca != " ": | 30 | if len(sentenca) > 0 and sentenca != " ": |
19 | - texto_traduzido.append(gerar_analise(sentenca)) | 31 | + analise = gerar_analise(sentenca) |
32 | + texto_traduzido.append(analise) | ||
20 | try: | 33 | try: |
21 | return " ".join(texto_traduzido) | 34 | return " ".join(texto_traduzido) |
22 | except: | 35 | except: |
23 | return "" | 36 | return "" |
24 | 37 | ||
25 | def gerar_analise(sentenca): | 38 | def gerar_analise(sentenca): |
26 | - aplic_sinonimos = AplicaSinonimos() | ||
27 | - aplic_regras = AplicaRegras() | ||
28 | - | ||
29 | - analise = None | ||
30 | try: | 39 | try: |
31 | - analise = alexp.run(sentenca) | ||
32 | - except ValueError: | ||
33 | - # TODO: Permitir acentos na sentença | ||
34 | - analise = None | ||
35 | - | ||
36 | - morfologica = alexp.getAnaliseMorfologica() | ||
37 | - if (isinstance(analise,type(None))): | ||
38 | - analise = aplic_regras.aplicar_regras_morfo(morfologica) | 40 | + analise_sintatica = alexp.run(sentenca) |
41 | + except: | ||
42 | + analise_sintatica = None | ||
43 | + | ||
44 | + analise_morfologica = alexp.getAnaliseMorfologica() | ||
45 | + if (isinstance(analise_sintatica,type(None))): | ||
46 | + regras_aplicadas = aplic_regras.aplicar_regras_morfo(analise_morfologica) | ||
39 | else: | 47 | else: |
40 | - analise = aplic_regras.aplicar_regras_sint(morfologica, analise) | ||
41 | - return aplic_sinonimos.aplicar_sinonimos(analise) | ||
42 | \ No newline at end of file | 48 | \ No newline at end of file |
49 | + regras_aplicadas = aplic_regras.aplicar_regras_sint(analise_morfologica, analise_sintatica) | ||
50 | + | ||
51 | + aplic_regras.separar_new_tokens(regras_aplicadas) | ||
52 | + sinonimos_aplicados = aplic_sinonimos.aplicar_sinonimos(regras_aplicadas) | ||
53 | + return sinonimos_aplicados.encode('utf-8') | ||
54 | + | ||
55 | +def help(): | ||
56 | + #TODO: Adicionar um pequeno tuto aqui | ||
57 | + print "Help" | ||
43 | \ No newline at end of file | 58 | \ No newline at end of file |