Spaces:
Sleeping
Sleeping
Update app.py
Browse files
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
|
| 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
|
| 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 |
-
|
|
|
|
|
|
|
|
|
|
| 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:
|