|
|
|
"""ml-app.ipynb |
|
|
|
Automatically generated by Colab. |
|
|
|
Original file is located at |
|
https://colab.research.google.com/drive/1d6MSh5DMmENGXOTWdwsTlwgIqzphq4Pu |
|
""" |
|
|
|
!pip install gradio |
|
|
|
import gradio as gr |
|
from transformers import pipeline |
|
import re |
|
import nltk |
|
nltk.download('punkt') |
|
|
|
!pip install unidecode |
|
|
|
from unidecode import unidecode |
|
|
|
|
|
def preprocess_text(text): |
|
text = text.lower() |
|
text = unidecode(text) |
|
text = re.sub(r'\W+', ' ', text) |
|
tokens = nltk.word_tokenize(text) |
|
return ' '.join(tokens) |
|
|
|
|
|
qa_model = pipeline("question-answering", model="deepset/xlm-roberta-large-squad2") |
|
|
|
|
|
def answer_question(question, context): |
|
try: |
|
preprocessed_context = preprocess_text(context) |
|
result = qa_model(question=question, context=preprocessed_context) |
|
return result['answer'] |
|
except Exception as e: |
|
return f"Error: {str(e)}" |
|
|
|
|
|
def qa_app(text_file, question): |
|
try: |
|
with open(text_file.name, 'r') as file: |
|
context = file.read() |
|
return answer_question(question, context) |
|
except Exception as e: |
|
return f"Error reading file: {str(e)}" |
|
|
|
|
|
iface = gr.Interface( |
|
fn=qa_app, |
|
inputs=[gr.File(label="Upload your text file"), gr.Textbox(label="Enter your question")], |
|
outputs="text", |
|
title="Multilingual Question Answering", |
|
description="Upload a text file and ask a question based on its content." |
|
) |
|
|
|
|
|
iface.launch() |
|
|
|
|