AniseF commited on
Commit
9e20ab3
·
verified ·
1 Parent(s): 289a285

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +15 -16
app.py CHANGED
@@ -236,37 +236,36 @@ def analisar_texto(texto):
236
  morph_info = str(token.morph).replace("Case=", "").replace("Gender=", "").replace("Number=", "").replace("VerbForm=", "").replace("Person=", "").replace("Tense=", "").replace("Mood=", "").replace("Voice=", "")
237
  if not morph_info: morph_info = "-"
238
 
239
- # --- E. HIERARQUIA DE DECISÃO (Ajustada para não apagar a morfologia) ---
 
 
240
  tem_no_ddgp = l_norm in INDEX_LEMAS
241
  lemas_nominais = ('ος', 'ις', 'ας', 'ης', 'ον')
242
 
243
- # 1. Primeiro, definimos as bases (o que a IA disse)
244
- pos_final = pos_pt
245
  l_final = l_orig
 
246
  morph_final = morph_info
247
 
248
- # 2. Interceptação de Lema para as exceções -σαις (Corrigimos apenas Lema e Classe)
 
 
249
  if analise_sais and "Lema Nominal" in analise_sais:
250
- pos_final = "Substantivo/Adj"
251
  l_final = analise_sais.split(": ")[1]
252
- # Aqui NÃO mexemos no morph_final ainda, deixamos a IA ou Paradigma falarem
 
253
 
254
- # 3. Refinamento da Morfologia pelo Paradigma (Alpheios)
255
- # Se o Alpheios tiver uma análise, ela SEMPRE ganha da IA
256
  if correcao_paradigma:
257
  pos_final = "Substantivo"
258
  morph_final = correcao_paradigma
259
-
260
- # 4. Regra Cirúrgica DDGP (Se a IA insistir em Verbo para um substantivo óbvio)
261
  elif pos_pt == "Verbo" and tem_no_ddgp and l_norm.endswith(lemas_nominais):
262
  pos_final = "Substantivo"
263
- morph_final = f"Morfologia nominal: {morph_info} (confirmar no DDGP)"
264
-
265
- # Ajuste especial: Se for uma das nossas exceções e a morfologia ainda estiver vazia
266
- if analise_sais and morph_final == "-":
267
- morph_final = "Análise nominal (ver Alpheios)"
268
 
269
- # C. Alimentar Lista de Dados e Dicionário
270
  if token.pos_ not in ['PUNCT', 'SYM', 'SPACE']:
271
  dados.append({
272
  'Palavra': token.text,
 
236
  morph_info = str(token.morph).replace("Case=", "").replace("Gender=", "").replace("Number=", "").replace("VerbForm=", "").replace("Person=", "").replace("Tense=", "").replace("Mood=", "").replace("Voice=", "")
237
  if not morph_info: morph_info = "-"
238
 
239
+ # --- E. HIERARQUIA DE DECISÃO (SEGURA) ---
240
+ analise_sais = lematizar_sais(token.text)
241
+ correcao_paradigma = validar_substantivo_2a(token.text, l_orig)
242
  tem_no_ddgp = l_norm in INDEX_LEMAS
243
  lemas_nominais = ('ος', 'ις', 'ας', 'ης', 'ον')
244
 
245
+ # 1. Definimos o padrão (IA)
 
246
  l_final = l_orig
247
+ pos_final = pos_pt
248
  morph_final = morph_info
249
 
250
+ # 2. Aplicamos as correções por ordem de importância
251
+
252
+ # Se for uma exceção de -sais, corrigimos o LEMA e a CLASSE
253
  if analise_sais and "Lema Nominal" in analise_sais:
 
254
  l_final = analise_sais.split(": ")[1]
255
+ pos_final = "Substantivo/Adj"
256
+ # Mantemos o morph_final da IA ou Alpheios para ver se é Dativo ou Particípio
257
 
258
+ # Se o Alpheios (Paradigma) encontrou algo, ele define a Morfologia
 
259
  if correcao_paradigma:
260
  pos_final = "Substantivo"
261
  morph_final = correcao_paradigma
262
+
263
+ # Regra do DDGP (Se a IA confundir substantivo com verbo)
264
  elif pos_pt == "Verbo" and tem_no_ddgp and l_norm.endswith(lemas_nominais):
265
  pos_final = "Substantivo"
266
+ morph_final = f"Morfologia nominal (IA: {morph_info})"
 
 
 
 
267
 
268
+ # --- F. ALIMENTAR A TABELA (Este bloco PRECISA estar aqui) ---
269
  if token.pos_ not in ['PUNCT', 'SYM', 'SPACE']:
270
  dados.append({
271
  'Palavra': token.text,