Spaces:
Runtime error
Runtime error
Download model.py from ptbg/hatespeechdectection: direct link, hf CLI and curl.
- Browser
- Download file 2.36 kB
-
https://huggingface.co/spaces/ptbg/hatespeechdectection/resolve/main/model.py
- Command line
-
hf download hf://spaces/ptbg/hatespeechdectection/model.py
-
curl -L -o model.py https://huggingface.co/spaces/ptbg/hatespeechdectection/resolve/main/model.py
2.36 kB
| import numpy as np | |
| import pandas as pd | |
| from sklearn.feature_extraction.text import CountVectorizer | |
| from sklearn.model_selection import train_test_split | |
| from sklearn.linear_model import LogisticRegression | |
| # Speech to Text | |
| api_key = '9283c8042f454c4d8638fca0484512ab' | |
| endpoint = 'https://centralindia.api.cognitive.microsoft.com/sts/v1.0/issuetoken' | |
| import azure.cognitiveservices.speech as speechsdk | |
| # To ignore Warnings | |
| import warnings | |
| data = pd.read_csv('hate_speech_detection.csv') | |
| X = data['raw_data'] | |
| y = data['class'] | |
| cv = CountVectorizer() | |
| X_ = cv.fit_transform(X) | |
| X_ = X_.toarray() | |
| X_train, X_test, y_train, y_test = train_test_split(X_, y, test_size=0.4, random_state=True) | |
| model = LogisticRegression(max_iter=1000) | |
| model.fit(X_train,y_train) | |
| y_pred = model.predict(X_test) | |
| def detect_hate_speech(sample): | |
| vect = cv.transform(sample).toarray() | |
| pred_prob = np.max(model.predict_proba(vect)) | |
| pred = model.predict(vect) | |
| return pred, pred_prob | |
| def detect(sample): | |
| hatespeech = detect_hate_speech(sample) | |
| mp = "Try again" | |
| if hatespeech[0] == 0: | |
| mp = "Hate Speech Detected" | |
| elif hatespeech[0] == 1: | |
| mp = "Offensive Language Detected" | |
| elif hatespeech[0] == 2: | |
| mp = "NO Hate Speech Detected" | |
| return mp, hatespeech[1], hatespeech[0] | |
| def voice_file(file): | |
| speech_config = speechsdk.SpeechConfig(subscription=api_key, endpoint=endpoint) | |
| speech_config.speech_recognition_language = "en-US" | |
| speech_config.set_profanity(speechsdk.ProfanityOption.Raw) | |
| audio_config = speechsdk.audio.AudioConfig(filename=file) | |
| speech_recognizer = speechsdk.SpeechRecognizer(speech_config=speech_config, audio_config=audio_config) | |
| speech_recognition_result = speech_recognizer.recognize_once_async().get() | |
| if speech_recognition_result.reason == speechsdk.ResultReason.RecognizedSpeech: | |
| print(speech_recognition_result.text) | |
| return speech_recognition_result.text | |
| elif speech_recognition_result.text == "": | |
| return "$empty$" | |
| elif speech_recognition_result.reason == speechsdk.ResultReason.NoMatch: | |
| return speech_recognition_result.no_match_details | |
| elif speech_recognition_result.reason == speechsdk.ResultReason.Canceled: | |
| cancellation_details = speech_recognition_result.cancellation_details | |
| return cancellation_details.reason | |