File size: 2,428 Bytes
d223794
d07b7c0
 
 
 
a21f136
d07b7c0
 
a21f136
224fd21
d223794
a21f136
529efb9
 
a21f136
d07b7c0
ad1a297
d07b7c0
7471d8e
 
 
d07b7c0
 
 
 
 
 
 
 
 
 
 
 
 
 
 
a21f136
d07b7c0
 
 
a21f136
d07b7c0
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# Bibliotecas
import streamlit as st
import spacy
from spacy import displacy

# Título:
st.title("Web APP LeNER-Br")

# Descrição:
st.write("Este Web App foi criado para proporcionar a comparação dos modelos spaCy [sm](https://huggingface.co/flaviaggp/pt_pipeline) e [lg](https://huggingface.co/flaviaggp/pt_lg_pipeline), voltados para a tarefa de NER com o dataset LeNER-Br.")

# Legenda dos modelos:
st.write("*sm: pipeline mais rápido e menor, mas menos preciso.*")
st.write("*lg: pipeline maior e mais lento, mas mais preciso.*")

#Texto:
input_text = st.text_input('Insira o texto a ser analisado:')

#Texto:
input_text = st.text_input('Insira o texto a ser analisado:', 'Que causaram evidente transtorno e evidencia a má prestação de serviço, com violação ao princípio da transparência, da confiaça e da boa-fé objetiva insertos nos artigos 4º e 6º do CDC. Por todo o acima exposto, na forma do artigo 269, I do Código de Processo Civil, conhecido e apelação não promovida. (Apelação Cível 2009 01 1 075609-5 APC Relator Desembargador JAIR SOARE.) Em relação ao CONTRATO BANCÁRIO INVERSÃO DO ÔNUS DA PROVA CDC Possibilidade da inversão do ônus da prova com base no artigo 6º, VIII, do CDC Reconhecido que o cliente tem direito de postular a exibição de documentos - Possibilidade de determinação pelo juiz incidentalmente.')

# Função que carrega os modelos:
def load_models():
    sm_model = spacy.load("modelo_lener_sm")
    lg_model = spacy.load("modelo_lener_lg")
    models = {"sm": sm_model, "lg": lg_model}
    return models

models = load_models()
selected_type = st.sidebar.selectbox("Selecione o tipo do modelo", options=["sm", "lg"]) # caixa de seleção do modelo
selected_model = models[selected_type]
doc= selected_model(input_text) # função doc que processa o texto de acordo com a opção escolhida acima

# Cabeçalho
st.header("Visualizador de entidades")

# Cores:
colors = {"LEGISLACAO": "linear-gradient(90deg, #aa9cfc, #fc9ce7)", 'JURISPRUDENCIA': "#ccfbf1", 'LOCAL': "#ffedd5", 'ORGANIZACAO': "#fae8ff", 'PESSOA': "#e0f2fe", 'TEMPO': "#fefde0", }
options = {"ents": ["LEGISLACAO", "JURISPRUDENCIA", "LOCAL", "ORGANIZACAO", "PESSOA", "TEMPO",], "colors": colors}

# Html:
ent_html = displacy.render(doc, style="ent", options=options, jupyter=False) # https://spacy.io/usage/visualizers

st.markdown(ent_html, unsafe_allow_html=True)

# streamlit run render.py