flynster's picture
Update app.py
2d0abd1
raw
history blame
1.46 kB
import os
os.system("pip install -U transformers==3.0.0")
os.system("pip install nltk torch docx2txt")
os.system("python -m nltk.downloader punkt")
import gradio as gr
import pandas as pd
from question_generation.pipelines import pipeline
import docx2txt
def process_file(Notes):
nlp = pipeline("question-generation", model="valhalla/t5-small-qg-prepend", qg_format="prepend")
target_word_doc = Notes.name
raw_word_file = docx2txt.process(target_word_doc)
#remove empty lines
preprocessed_sentence_list = [i for i in raw_word_file.splitlines() if i != ""]
#grab content
#processed_sentence_list = []
#content = False
#for i in preprocessed_sentence_list:
# if "Outline" in i:
# content = True
# continue
# if "Summary Learning Points" in i:
# content = False
# continue
# if "Learning Activity" in i:
# content = False
# continue
# if content == True:
# processed_sentence_list.append(i.lstrip())
qa_list = nlp(" ".join(preprocessed_sentence_list))
formatted_questions = "\n".join([str(idx+1) + ". " + i["question"] for idx, i in enumerate(qa_list)])
formatted_answers = "\n".join([str(idx+1) + ". " + i["answer"] for idx, i in enumerate(qa_list)])
return [formatted_questions, formatted_answers]
io = gr.Interface(process_file, "file", outputs=
[gr.Textbox(lines=1, label="Questions"),
gr.Textbox(lines=1, label="Answers")])
io.launch()