Madras1 commited on
Commit
7f2212f
·
verified ·
1 Parent(s): 724841f

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +7 -4
app.py CHANGED
@@ -1,7 +1,7 @@
1
  # ==============================================================================
2
  # داشبورد_3d_magic_streamlit.py (VERSÃO PARA HUGGING FACE SPACES)
3
  # Arquivo: app.py
4
- # Versão com Cache Corrigido, Limitação de Exibição, Painel Quantitativo e Análise de Duplicidade
5
  # ==============================================================================
6
  import streamlit as st
7
  import numpy as np
@@ -32,7 +32,7 @@ DEFAULT_MODEL = 'all-MiniLM-L6-v2'
32
  BATCH_SIZE = 256
33
  UMAP_N_NEIGHBORS = 30
34
  HDBSCAN_MIN_SIZE = 50
35
- MAX_DUPLICATES_TO_SHOW = 50 # <<< NOSSA SALVAGUARDA CONTRA TRAVAMENTOS
36
  STOP_WORDS_PT = ['de', 'a', 'o', 'que', 'e', 'do', 'da', 'em', 'um', 'para', 'é', 'com', 'não', 'uma', 'os', 'no', 'se', 'na', 'por', 'mais', 'as', 'dos', 'como', 'mas', 'foi', 'ao', 'ele', 'das', 'tem', 'à', 'seu', 'sua', 'ou', 'ser', 'quando', 'muito', 'há', 'nos', 'já', 'está', 'eu', 'também', 'só', 'pelo', 'pela', 'até', 'isso', 'ela', 'entre', 'era', 'depois', 'sem', 'mesmo', 'aos', 'ter', 'seus', 'quem', 'nas', 'me', 'esse', 'eles', 'estão', 'você', 'tinha', 'foram', 'essa', 'num', 'nem', 'suas', 'meu', 'às', 'minha', 'numa', 'pelos', 'elas', 'havia', 'seja', 'qual', 'será', 'nós', 'tenho', 'lhe', 'deles', 'essas', 'esses', 'pelas', 'este', 'fosse', 'dele', 'tu', 'te', 'vocês', 'vos', 'lhes', 'meus', 'minhas', 'teu', 'tua', 'teus', 'tuas', 'nosso', 'nossa', 'nossos', 'nossas', 'dela', 'delas', 'esta', 'estes', 'estas', 'aquele', 'aquela', 'aqueles', 'aquelas', 'isto', 'aquilo', 'estou', 'está', 'estamos', 'estão', 'estive', 'esteve', 'estivemos', 'estiveram', 'estava', 'estávamos', 'estavam', 'estivera', 'estivéramos', 'esteja', 'estejamos', 'estejam', 'estivesse', 'estivéssemos', 'estivessem', 'estiver', 'estivermos', 'estiverem', 'hei', 'há', 'havemos', 'hão', 'houve', 'houvemos', 'houveram', 'houvera', 'houvéramos', 'haja', 'hajamos', 'hajam', 'houvesse', 'houvéssemos', 'houvessem', 'houver', 'houvermos', 'houverem', 'houverei', 'houverá', 'houveremos', 'houverão', 'houveria', 'houveríamos', 'houveriam', 'sou', 'somos', 'são', 'era', 'éramos', 'eram', 'fui', 'foi', 'fomos', 'foram', 'fora', 'fôramos', 'seja', 'sejamos', 'sejam', 'fosse', 'fôssemos', 'fossem', 'for', 'formos', 'forem', 'serei', 'será', 'seremos', 'serão', 'seria', 'seríamos', 'seriam', 'tenho', 'tem', 'temos', 'tém', 'tinha', 'tínhamos', 'tinham', 'tive', 'teve', 'tivemos', 'tiveram', 'tivera', 'tivéramos', 'tenha', 'tenhamos', 'tenham', 'tivesse', 'tivéssemos', 'tivessem', 'tiver', 'tivermos', 'tiverem', 'terei', 'terá', 'teremos', 'terão', 'teria', 'teríamos', 'teriam', 'dá', 'pergunta', 'resposta']
37
 
38
  # ================================
@@ -97,9 +97,13 @@ def encontrar_duplicados(_df, _embeddings, similaridade_minima=0.98):
97
  st.info("Iniciando a caça aos duplicados...")
98
  duplicados_exatos_mask = _df['full_text'].duplicated(keep=False)
99
  df_duplicados_exatos = _df[duplicados_exatos_mask].copy()
100
- grupos_exatos = []
 
 
 
101
  if not df_duplicados_exatos.empty:
102
  grupos_exatos = df_duplicados_exatos.groupby('full_text').groups
 
103
  pares_semanticos = []
104
  limite_semantico = 5000
105
  if len(_embeddings) < limite_semantico:
@@ -138,7 +142,6 @@ if process_button:
138
  if df is not None:
139
  st.session_state.df, st.session_state.embeddings = df, embeddings
140
  st.session_state.processed = True
141
- # <<< LIMPEZA DE MESA: Garante que as análises antigas sejam apagadas >>>
142
  for key in ['metricas', 'duplicados_calculados', 'grupos_exatos', 'pares_semanticos']:
143
  if key in st.session_state: del st.session_state[key]
144
  else:
 
1
  # ==============================================================================
2
  # داشبورد_3d_magic_streamlit.py (VERSÃO PARA HUGGING FACE SPACES)
3
  # Arquivo: app.py
4
+ # Versão com correção de tipo no retorno de duplicados
5
  # ==============================================================================
6
  import streamlit as st
7
  import numpy as np
 
32
  BATCH_SIZE = 256
33
  UMAP_N_NEIGHBORS = 30
34
  HDBSCAN_MIN_SIZE = 50
35
+ MAX_DUPLICATES_TO_SHOW = 50
36
  STOP_WORDS_PT = ['de', 'a', 'o', 'que', 'e', 'do', 'da', 'em', 'um', 'para', 'é', 'com', 'não', 'uma', 'os', 'no', 'se', 'na', 'por', 'mais', 'as', 'dos', 'como', 'mas', 'foi', 'ao', 'ele', 'das', 'tem', 'à', 'seu', 'sua', 'ou', 'ser', 'quando', 'muito', 'há', 'nos', 'já', 'está', 'eu', 'também', 'só', 'pelo', 'pela', 'até', 'isso', 'ela', 'entre', 'era', 'depois', 'sem', 'mesmo', 'aos', 'ter', 'seus', 'quem', 'nas', 'me', 'esse', 'eles', 'estão', 'você', 'tinha', 'foram', 'essa', 'num', 'nem', 'suas', 'meu', 'às', 'minha', 'numa', 'pelos', 'elas', 'havia', 'seja', 'qual', 'será', 'nós', 'tenho', 'lhe', 'deles', 'essas', 'esses', 'pelas', 'este', 'fosse', 'dele', 'tu', 'te', 'vocês', 'vos', 'lhes', 'meus', 'minhas', 'teu', 'tua', 'teus', 'tuas', 'nosso', 'nossa', 'nossos', 'nossas', 'dela', 'delas', 'esta', 'estes', 'estas', 'aquele', 'aquela', 'aqueles', 'aquelas', 'isto', 'aquilo', 'estou', 'está', 'estamos', 'estão', 'estive', 'esteve', 'estivemos', 'estiveram', 'estava', 'estávamos', 'estavam', 'estivera', 'estivéramos', 'esteja', 'estejamos', 'estejam', 'estivesse', 'estivéssemos', 'estivessem', 'estiver', 'estivermos', 'estiverem', 'hei', 'há', 'havemos', 'hão', 'houve', 'houvemos', 'houveram', 'houvera', 'houvéramos', 'haja', 'hajamos', 'hajam', 'houvesse', 'houvéssemos', 'houvessem', 'houver', 'houvermos', 'houverem', 'houverei', 'houverá', 'houveremos', 'houverão', 'houveria', 'houveríamos', 'houveriam', 'sou', 'somos', 'são', 'era', 'éramos', 'eram', 'fui', 'foi', 'fomos', 'foram', 'fora', 'fôramos', 'seja', 'sejamos', 'sejam', 'fosse', 'fôssemos', 'fossem', 'for', 'formos', 'forem', 'serei', 'será', 'seremos', 'serão', 'seria', 'seríamos', 'seriam', 'tenho', 'tem', 'temos', 'tém', 'tinha', 'tínhamos', 'tinham', 'tive', 'teve', 'tivemos', 'tiveram', 'tivera', 'tivéramos', 'tenha', 'tenhamos', 'tenham', 'tivesse', 'tivéssemos', 'tivessem', 'tiver', 'tivermos', 'tiverem', 'terei', 'terá', 'teremos', 'terão', 'teria', 'teríamos', 'teriam', 'dá', 'pergunta', 'resposta']
37
 
38
  # ================================
 
97
  st.info("Iniciando a caça aos duplicados...")
98
  duplicados_exatos_mask = _df['full_text'].duplicated(keep=False)
99
  df_duplicados_exatos = _df[duplicados_exatos_mask].copy()
100
+
101
+ # <<< CORREÇÃO DE TIPO >>>
102
+ grupos_exatos = {}
103
+
104
  if not df_duplicados_exatos.empty:
105
  grupos_exatos = df_duplicados_exatos.groupby('full_text').groups
106
+
107
  pares_semanticos = []
108
  limite_semantico = 5000
109
  if len(_embeddings) < limite_semantico:
 
142
  if df is not None:
143
  st.session_state.df, st.session_state.embeddings = df, embeddings
144
  st.session_state.processed = True
 
145
  for key in ['metricas', 'duplicados_calculados', 'grupos_exatos', 'pares_semanticos']:
146
  if key in st.session_state: del st.session_state[key]
147
  else: