|
from generateDistractors.senseToVec import S2V |
|
from keyExtractor.rake import KeyExtractor |
|
from questionGeneration.questionGeneration import QuestionGeneration |
|
from summarizer.summarizer import Summarizer |
|
import gradio as gr |
|
|
|
sense2Vec = S2V() |
|
Key = KeyExtractor() |
|
Question = QuestionGeneration() |
|
Summary = Summarizer() |
|
|
|
def run(text): |
|
result = [] |
|
summarized_text = Summary.summarizer(text) |
|
print("summarized_text done") |
|
|
|
imp_keywords = Key.get_keywords(text) |
|
print("keywords done: ", imp_keywords) |
|
|
|
for answer in imp_keywords: |
|
ques = Question.get_question(summarized_text,answer) |
|
print("question done") |
|
|
|
distractors = sense2Vec.execute(answer) |
|
print("distractors done") |
|
|
|
result.append({ |
|
"question": ques, |
|
"answer": answer.capitalize(), |
|
"distractors": distractors |
|
}) |
|
return result |
|
|
|
if __name__ == '__main__': |
|
demo = gr.Interface(fn=run, inputs="text", outputs="json") |
|
demo.launch() |