Spaces:
Sleeping
Sleeping
| from simpletransformers.classification import ClassificationModel | |
| import gradio as gr | |
| import pandas as pd | |
| import numpy as np | |
| import nltk | |
| from nltk.corpus import stopwords | |
| import re | |
| import string | |
| # NLTK kütüphanesini kullanarak türkçe dilindeki etkisiz kelimeleri (stopwords) indiriyoruz. | |
| nltk.download('stopwords') | |
| # İndirilen etkisiz kelimeleri "stop_words_list" değişkenine atıyoruz. | |
| stop_words_list = stopwords.words('turkish') | |
| # Veri setindeki "text" sütunu altındaki hatalı alanları temizlemek için bir dizi oluşturduk. | |
| false_text = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z'] | |
| def preprocess_text(text): | |
| # Küçük harflere çevirme | |
| text = text.lower() | |
| # Satır sonu karakterlerini kaldırma | |
| import re | |
| text = re.sub(r'\n', ' ', text) | |
| # Rakamları kaldırma | |
| text = re.sub(r'\d', '', text) | |
| # Noktalama işaretlerini kaldırma | |
| import string | |
| text = text.translate(str.maketrans("", "", string.punctuation)) | |
| # Stop-words'leri kaldırma | |
| words = text.split() | |
| words = [word for word in words if not word in stop_words_list] | |
| # Veri setindeki hatalı verilerin kaldırılması | |
| words = [word for word in words if not word in false_text] | |
| # Tekrarlanan karakterlerin kaldırılması | |
| words = [re.sub(r'(.)\1{1,}', r'\1\1', word) for word in words] | |
| # Tekrarlanan boşlukların kaldırılması | |
| words = [word.strip() for word in words if len(word.strip()) > 1] | |
| text = " ".join(words) | |
| return text | |
| def predict(text): | |
| model_path = "bert_model" | |
| model = ClassificationModel('bert', model_path, use_cuda=False) | |
| prediction, _ = model.predict([text]) | |
| return result_predict(prediction[0]) | |
| def result_predict(num): | |
| if num == 4: | |
| return 'OTHER' | |
| elif num == 1: | |
| return 'RACIST' | |
| elif num == 0: | |
| return 'INSULT' | |
| elif num == 3: | |
| return 'PROFANITY' | |
| elif num == 2: | |
| return 'SEXIST' | |
| # Gradio arayüzünü oluştur | |
| iface = gr.Interface( | |
| fn=predict, # Kullanıcıdan alınan metni modelinize ileten fonksiyon | |
| inputs=gr.Textbox(), # Kullanıcıdan metin girişi alın | |
| outputs=gr.Textbox(), # Model çıktısını görüntülemek için metin kutusu | |
| live=True, | |
| title='Yorum Tespiti', | |
| css='''span{text-transform: uppercase} p{text-align: center}''' | |
| ) | |
| # Gradio arayüzünü başlat | |
| iface.launch() | |