File size: 1,278 Bytes
acf0ee9
9c7a582
30f532a
 
 
 
 
6b02e3d
30f532a
 
6b02e3d
30f532a
 
 
4c9ba47
30f532a
 
 
 
06e6e99
 
 
30f532a
 
4c9ba47
30f532a
 
be8daf6
30f532a
 
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
import streamlit as st
from transformers import AutoTokenizer, AutoModel
import torch

# carregar o modelo e o tokenizer
model = AutoModel.from_pretrained("neuralmind/bert-large-portuguese-cased")
tokenizer = AutoTokenizer.from_pretrained("neuralmind/bert-large-portuguese-cased")

st.title("Comparador de Similaridade de Textos em Português")
st.write("Este aplicativo usa o modelo BERT-large treinado para o português para calcular a similaridade entre dois textos.")

# definir as caixas de entrada para as duas frases
frase1 = st.text_input("Insira a primeira frase:")
frase2 = st.text_input("Insira a segunda frase:")

# verificar se as frases foram inseridas e calcular a similaridade se sim
if frase1 and frase2:
    # tokenizar as frases e obter os embeddings
    input_ids = tokenizer.encode_plus(frase1, frase2, padding='max_length', truncation=True, return_tensors='pt')

    print(input_ids.tolist())
    
    with torch.no_grad():
        embeddings = model(input_ids['input_ids'], attention_mask=input_ids['attention_mask'])[0]

    # calcular a similaridade entre os embeddings
    cos_sim = torch.nn.functional.cosine_similarity(embeddings[0], embeddings[1], dim=0)

    # imprimir o resultado
    st.write("A similaridade entre as frases é:", cos_sim.item())