Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -145,6 +145,14 @@ def correct_spelling(text):
|
|
145 |
return ' '.join(corrected_words)
|
146 |
|
147 |
# Function to replace a word with its synonym
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
148 |
def replace_with_synonyms(text):
|
149 |
doc = nlp(text)
|
150 |
replaced_words = []
|
@@ -152,23 +160,21 @@ def replace_with_synonyms(text):
|
|
152 |
for index, token in enumerate(doc):
|
153 |
# Replace every 2nd and 4th word
|
154 |
if (index + 1) % 2 == 0 or (index + 1) % 4 == 0:
|
155 |
-
#
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
-
|
160 |
-
|
161 |
-
|
162 |
-
replaced_words.append(synonym)
|
163 |
-
else:
|
164 |
-
replaced_words.append(token.text) # No relevant synonym found
|
165 |
else:
|
166 |
-
replaced_words.append(token.text) # No
|
167 |
else:
|
168 |
replaced_words.append(token.text) # Non-replaceable tokens
|
169 |
|
170 |
return ' '.join(replaced_words)
|
171 |
|
|
|
172 |
# Main function for paraphrasing and grammar correction
|
173 |
def paraphrase_and_correct(text):
|
174 |
# Add synonym replacement here
|
|
|
145 |
return ' '.join(corrected_words)
|
146 |
|
147 |
# Function to replace a word with its synonym
|
148 |
+
def get_wordnet_synonyms(word):
|
149 |
+
"""Get synonyms from WordNet for a given word."""
|
150 |
+
synonyms = set()
|
151 |
+
for syn in wn.synsets(word):
|
152 |
+
for lemma in syn.lemmas():
|
153 |
+
synonyms.add(lemma.name()) # Add synonym to set
|
154 |
+
return list(synonyms)
|
155 |
+
|
156 |
def replace_with_synonyms(text):
|
157 |
doc = nlp(text)
|
158 |
replaced_words = []
|
|
|
160 |
for index, token in enumerate(doc):
|
161 |
# Replace every 2nd and 4th word
|
162 |
if (index + 1) % 2 == 0 or (index + 1) % 4 == 0:
|
163 |
+
# Get synonyms from WordNet
|
164 |
+
relevant_synonyms = get_wordnet_synonyms(token.text)
|
165 |
+
if relevant_synonyms:
|
166 |
+
# Randomly choose a synonym from the available options
|
167 |
+
synonym = random.choice(relevant_synonyms)
|
168 |
+
# Add the synonym instead of the original word
|
169 |
+
replaced_words.append(synonym.replace('_', ' ')) # Replace underscores with spaces
|
|
|
|
|
|
|
170 |
else:
|
171 |
+
replaced_words.append(token.text) # No relevant synonym found
|
172 |
else:
|
173 |
replaced_words.append(token.text) # Non-replaceable tokens
|
174 |
|
175 |
return ' '.join(replaced_words)
|
176 |
|
177 |
+
|
178 |
# Main function for paraphrasing and grammar correction
|
179 |
def paraphrase_and_correct(text):
|
180 |
# Add synonym replacement here
|