File size: 1,687 Bytes
12ba4ff
52f43c9
0dc3afb
52f43c9
 
 
805f6fe
 
 
 
 
 
bb86df1
 
 
 
17ebaff
 
46cd5e7
b93d861
46cd5e7
d9d80a0
bedfda3
bb86df1
 
17ebaff
bb86df1
f526817
 
 
 
 
 
 
 
17ebaff
52f43c9
 
 
 
17ebaff
bb86df1
17ebaff
 
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
from transformers import AutoTokenizer, AutoModelForSequenceClassification, pipeline
import torch
import pickle
import streamlit as st
device = torch.device("cuda") if torch.cuda.is_available() else torch.device("cpu")

# model_name = "MoritzLaurer/mDeBERTa-v3-base-mnli-xnli"
# tokenizer = AutoTokenizer.from_pretrained(model_name)
# model = AutoModelForSequenceClassification.from_pretrained(model_name)

classifier = pipeline("zero-shot-classification", model="MoritzLaurer/mDeBERTa-v3-base-mnli-xnli")

# with open('chapter_titles.pkl', 'rb') as file:
#     titles_astiko = pickle.load(file)
labels1 = ["κληρονομικό", "εμπορικό", "διαζύγιο"]
labels2 = ["αποδοχή κληρονομιάς", "κληρονόμοι", "ιδιόγραφη διαθήκη"]
labels3 = ["ερώτηση", "απαιτούμενα έγγραφα"]


# titles_astiko = ["γάμος", "αλλοδαπός", "φορολογία", "κληρονομικά", "στέγη", "οικογενειακό", "εμπορικό","κλοπή","απάτη"]


def classify(text):
    output = classifier(text, labels1, multi_label=False)
    output2 = classifier(text, labels2, multi_label=False)
    output3 = classifier(text, labels3, multi_label=False)
    
    
    # for i in range(len(scores)):
    #     if scores[i] > 0.99:
    #         return_labels.append(labels[i])
    #     else:
    #         break
    # # output = output[0:10]
    # return return_labels
    return output, output2, output3


text = st.text_input('Enter some text:')  # Input field for new text
if text:
    output1, output2, output3 = classify(text)
    st.text(output1)
    st.text(output2)
    st.text(output3)