Spaces:
Sleeping
Sleeping
Commit
·
f6f98af
1
Parent(s):
088c542
test
Browse files
app.py
CHANGED
|
@@ -7,10 +7,7 @@ from langdetect import detect
|
|
| 7 |
# Load a summarization model
|
| 8 |
summarizer = pipeline("summarization")
|
| 9 |
|
| 10 |
-
|
| 11 |
-
text_generator = pipeline("text-generation", model="gpt2")
|
| 12 |
-
|
| 13 |
-
def text_analysis(text):
|
| 14 |
# Analyze text: word count, character count, language detection, and readability
|
| 15 |
words = re.findall(r'\w+', text.lower())
|
| 16 |
sentences = re.split(r'[.!?]+', text)
|
|
@@ -20,40 +17,24 @@ def text_analysis(text):
|
|
| 20 |
reading_ease = textstat.flesch_reading_ease(text)
|
| 21 |
language = detect(text)
|
| 22 |
|
|
|
|
|
|
|
|
|
|
| 23 |
# Format the results
|
| 24 |
return {
|
| 25 |
"Language": language,
|
| 26 |
"Sentences": num_sentences,
|
| 27 |
"Words": num_words,
|
| 28 |
"Characters": num_chars,
|
| 29 |
-
"Readability (Flesch Reading Ease)": reading_ease
|
|
|
|
| 30 |
}
|
| 31 |
|
| 32 |
-
|
| 33 |
-
|
| 34 |
-
|
| 35 |
-
|
| 36 |
-
|
| 37 |
-
def generate_text(prompt):
|
| 38 |
-
# Generate text using the loaded Hugging Face model
|
| 39 |
-
generated_text = text_generator(prompt, max_length=50, num_return_sequences=1)[0]['generated_text']
|
| 40 |
-
return generated_text
|
| 41 |
-
|
| 42 |
-
# Define interfaces for text analysis, text summarization, and text generation
|
| 43 |
-
text_analysis_interface = gr.Interface(fn=text_analysis,
|
| 44 |
-
inputs=gr.Textbox(lines=4, placeholder="Type something here..."),
|
| 45 |
-
outputs=gr.JSON(label="Text Analysis"))
|
| 46 |
-
|
| 47 |
-
text_summarization_interface = gr.Interface(fn=text_summarization,
|
| 48 |
-
inputs=gr.Textbox(lines=4, placeholder="Type something here..."),
|
| 49 |
-
outputs="text")
|
| 50 |
-
|
| 51 |
-
text_generation_interface = gr.Interface(fn=generate_text,
|
| 52 |
-
inputs=gr.Textbox(lines=4, placeholder="Type a prompt..."),
|
| 53 |
-
outputs="text")
|
| 54 |
|
| 55 |
-
# Launch the
|
| 56 |
if __name__ == "__main__":
|
| 57 |
-
|
| 58 |
-
text_summarization_interface.launch()
|
| 59 |
-
text_generation_interface.launch()
|
|
|
|
| 7 |
# Load a summarization model
|
| 8 |
summarizer = pipeline("summarization")
|
| 9 |
|
| 10 |
+
def text_analysis_and_summarization(text):
|
|
|
|
|
|
|
|
|
|
| 11 |
# Analyze text: word count, character count, language detection, and readability
|
| 12 |
words = re.findall(r'\w+', text.lower())
|
| 13 |
sentences = re.split(r'[.!?]+', text)
|
|
|
|
| 17 |
reading_ease = textstat.flesch_reading_ease(text)
|
| 18 |
language = detect(text)
|
| 19 |
|
| 20 |
+
# Summarize text using the transformer model
|
| 21 |
+
summary = summarizer(text, max_length=130, min_length=30, do_sample=False)[0]['summary_text']
|
| 22 |
+
|
| 23 |
# Format the results
|
| 24 |
return {
|
| 25 |
"Language": language,
|
| 26 |
"Sentences": num_sentences,
|
| 27 |
"Words": num_words,
|
| 28 |
"Characters": num_chars,
|
| 29 |
+
"Readability (Flesch Reading Ease)": reading_ease,
|
| 30 |
+
"Summary": summary
|
| 31 |
}
|
| 32 |
|
| 33 |
+
# Define an interface for text analysis and summarization
|
| 34 |
+
text_analysis_and_summarization_interface = gr.Interface(fn=text_analysis_and_summarization,
|
| 35 |
+
inputs=gr.Textbox(lines=4, placeholder="Type something here..."),
|
| 36 |
+
outputs=gr.JSON(label="Text Analysis and Summarization"))
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 37 |
|
| 38 |
+
# Launch the interface
|
| 39 |
if __name__ == "__main__":
|
| 40 |
+
text_analysis_and_summarization_interface.launch()
|
|
|
|
|
|