File size: 1,284 Bytes
182b923
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
import numpy as np
import gradio as gr
import tensorflow as tf

from sentence_transformers import SentenceTransformer, util

emb_model = SentenceTransformer('distiluse-base-multilingual-cased-v2')
EMB_DIM = 512

feedback_class_model = tf.keras.models.load_model('models/feedback_class.keras')
area_class_model = tf.keras.models.load_model('models/area_class.keras')

def process(text_1, text_2):
    '''
    process(str, str) -> Union[List[torch.Tensor], numpy.ndarray, torch.Tensor]
    Function encodes texts from to embeddings.
    '''
    tokenized_text = emb_model.encode([text_1])
    tokenized_org = emb_model.encode([text_2])
    return tokenized_text, tokenized_org


def feedback_classification(input_text, input_org):
    train_text, train_org = process(input_text, input_org)

    X_text = tf.reshape(train_text, [-1, 1, EMB_DIM])
    X_org = tf.reshape(train_org, [-1, 1, EMB_DIM])

    feedback_scores = feedback_class_model.predict([X_text, X_org])
    #area_scores = area_class_model.predict([X_text, X_org])

    print(feedback_scores[0][0])

feedback_classification('Хотіли би подякувати усім співробітникам Gdynia Community Center!!!',
              'Community Center Gdynia | Danish Refugee Council (DRC) | Stowarzyszenie OVUM')