Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
@@ -5,7 +5,7 @@ import spacy
|
|
5 |
import subprocess
|
6 |
import nltk
|
7 |
from nltk.corpus import wordnet
|
8 |
-
import
|
9 |
|
10 |
from gensim import downloader as api
|
11 |
|
@@ -30,8 +30,11 @@ device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
|
|
30 |
tokenizer = AutoTokenizer.from_pretrained("distilbert-base-uncased-finetuned-sst-2-english")
|
31 |
model = AutoModelForSequenceClassification.from_pretrained("distilbert-base-uncased-finetuned-sst-2-english").to(device)
|
32 |
|
33 |
-
# Initialize
|
34 |
-
|
|
|
|
|
|
|
35 |
|
36 |
# AI detection function using DistilBERT
|
37 |
def detect_ai_generated(text):
|
@@ -50,7 +53,7 @@ def get_synonyms_nltk(word, pos):
|
|
50 |
return [lemma.name() for lemma in lemmas]
|
51 |
return []
|
52 |
|
53 |
-
# Paraphrasing function using spaCy and NLTK
|
54 |
def paraphrase_with_spacy_nltk(text):
|
55 |
doc = nlp(text)
|
56 |
paraphrased_words = []
|
@@ -78,8 +81,8 @@ def paraphrase_with_spacy_nltk(text):
|
|
78 |
# Join the words back into a sentence
|
79 |
paraphrased_sentence = ' '.join(paraphrased_words)
|
80 |
|
81 |
-
# Correct the grammar of the paraphrased sentence
|
82 |
-
corrected_sentence =
|
83 |
|
84 |
return corrected_sentence
|
85 |
|
|
|
5 |
import subprocess
|
6 |
import nltk
|
7 |
from nltk.corpus import wordnet
|
8 |
+
from gingerit.gingerit import GingerIt
|
9 |
|
10 |
from gensim import downloader as api
|
11 |
|
|
|
30 |
tokenizer = AutoTokenizer.from_pretrained("distilbert-base-uncased-finetuned-sst-2-english")
|
31 |
model = AutoModelForSequenceClassification.from_pretrained("distilbert-base-uncased-finetuned-sst-2-english").to(device)
|
32 |
|
33 |
+
# Initialize Gingerit for grammar correction
|
34 |
+
def correct_grammar_with_gingerit(text):
|
35 |
+
parser = GingerIt()
|
36 |
+
result = parser.parse(text)
|
37 |
+
return result['result']
|
38 |
|
39 |
# AI detection function using DistilBERT
|
40 |
def detect_ai_generated(text):
|
|
|
53 |
return [lemma.name() for lemma in lemmas]
|
54 |
return []
|
55 |
|
56 |
+
# Paraphrasing function using spaCy and NLTK with Gingerit grammar correction
|
57 |
def paraphrase_with_spacy_nltk(text):
|
58 |
doc = nlp(text)
|
59 |
paraphrased_words = []
|
|
|
81 |
# Join the words back into a sentence
|
82 |
paraphrased_sentence = ' '.join(paraphrased_words)
|
83 |
|
84 |
+
# Correct the grammar of the paraphrased sentence using Gingerit
|
85 |
+
corrected_sentence = correct_grammar_with_gingerit(paraphrased_sentence)
|
86 |
|
87 |
return corrected_sentence
|
88 |
|