“[shujaatalishariati]” commited on
Commit
3da716d
·
1 Parent(s): 41941cd

Added gingerit for grammar correction and updated app.py

Browse files
Files changed (1) hide show
  1. app.py +14 -2
app.py CHANGED
@@ -6,6 +6,7 @@ import subprocess
6
  import nltk
7
  from nltk.corpus import wordnet
8
  from gensim import downloader as api
 
9
 
10
  # Ensure necessary NLTK data is downloaded
11
  nltk.download('wordnet')
@@ -28,6 +29,9 @@ device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
28
  tokenizer_ai = AutoTokenizer.from_pretrained("distilbert-base-uncased-finetuned-sst-2-english")
29
  model_ai = AutoModelForSequenceClassification.from_pretrained("distilbert-base-uncased-finetuned-sst-2-english").to(device)
30
 
 
 
 
31
  # AI detection function using DistilBERT
32
  def detect_ai_generated(text):
33
  inputs = tokenizer_ai(text, return_tensors="pt", truncation=True, max_length=512).to(device)
@@ -96,13 +100,21 @@ def paraphrase_with_spacy_nltk(text):
96
 
97
  return corrected_text
98
 
99
- # Combined function: Paraphrase -> Capitalization
 
 
 
 
 
100
  def paraphrase_and_correct(text):
101
  # Step 1: Paraphrase the text
102
  paraphrased_text = paraphrase_with_spacy_nltk(text)
103
 
104
  # Step 2: Capitalize sentences and proper nouns
105
- final_text = capitalize_sentences_and_nouns(paraphrased_text)
 
 
 
106
 
107
  return final_text
108
 
 
6
  import nltk
7
  from nltk.corpus import wordnet
8
  from gensim import downloader as api
9
+ from gingerit.gingerit import GingerIt
10
 
11
  # Ensure necessary NLTK data is downloaded
12
  nltk.download('wordnet')
 
29
  tokenizer_ai = AutoTokenizer.from_pretrained("distilbert-base-uncased-finetuned-sst-2-english")
30
  model_ai = AutoModelForSequenceClassification.from_pretrained("distilbert-base-uncased-finetuned-sst-2-english").to(device)
31
 
32
+ # Initialize GingerIt parser
33
+ parser = GingerIt()
34
+
35
  # AI detection function using DistilBERT
36
  def detect_ai_generated(text):
37
  inputs = tokenizer_ai(text, return_tensors="pt", truncation=True, max_length=512).to(device)
 
100
 
101
  return corrected_text
102
 
103
+ # Function to correct grammar using GingerIt
104
+ def correct_grammar(text):
105
+ result = parser.parse(text)
106
+ return result['result']
107
+
108
+ # Combined function: Paraphrase -> Capitalization -> Grammar Correction
109
  def paraphrase_and_correct(text):
110
  # Step 1: Paraphrase the text
111
  paraphrased_text = paraphrase_with_spacy_nltk(text)
112
 
113
  # Step 2: Capitalize sentences and proper nouns
114
+ capitalized_text = capitalize_sentences_and_nouns(paraphrased_text)
115
+
116
+ # Step 3: Correct grammar
117
+ final_text = correct_grammar(capitalized_text)
118
 
119
  return final_text
120