File size: 1,798 Bytes
65d7807 9f4ba8d 8af7545 b60c78b 3f3b7d6 b60c78b 36aa3f5 65d7807 de25c83 65d7807 de25c83 65d7807 a796eab 267ab6e 3f3b7d6 65d7807 9263dfd 2402e03 9263dfd 65d7807 9263dfd 65d7807 |
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 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 |
import gradio as gr
from huggingface_hub import from_pretrained_keras
from huggingface_hub import KerasModelHubMixin
import transformers
from transformers import AutoTokenizer
import numpy as np
m = from_pretrained_keras('sgonzalezsilot/FakeNews-Detection-Twitter-Thesis')
# model = from_pretrained_keras("keras-io/cct")
MODEL = "digitalepidemiologylab/covid-twitter-bert-v2"
tokenizer = AutoTokenizer.from_pretrained(MODEL)
def bert_encode(tokenizer,data,maximum_length) :
input_ids = []
attention_masks = []
for i in range(len(data)):
encoded = tokenizer.encode_plus(
data[i],
add_special_tokens=True,
max_length=maximum_length,
pad_to_max_length=True,
truncation = True,
return_attention_mask=True,
)
input_ids.append(encoded['input_ids'])
attention_masks.append(encoded['attention_mask'])
return np.array(input_ids),np.array(attention_masks)
# train_encodings = tokenizer(train_texts, truncation=True, padding=True)
# test_encodings = tokenizer(test_texts, truncation=True, padding=True)
def get_news(input_text):
sentence_length = 110
train_input_ids,train_attention_masks = bert_encode(tokenizer,[input_text],sentence_length)
pred = m.predict([train_input_ids,train_attention_masks])
pred = np.round(pred)
pred = pred.flatten()
if pred == 1:
result = "Fake News"
else:
result = "True News"
return result
tweet_input = gr.Textbox(label = "Enter the tweet")
output = gr.Textbox(label="Result")
iface = gr.Interface(fn = get_news,
inputs = tweet_input,
outputs = output,
title = 'Fake News',
description="")
iface.launch(inline = False) |