Введение

Генерация вопросов — это задача автоматического создания вопросов из текстового абзаца.

В этом уроке вы узнаете, как использовать Библиотеку Huggingface и Модель трансформеров Сураджа Патила для реализации ваших собственных приложений для генерации вопросов.

Установить зависимости

pip install transformers==3.0.0
pip install nltk
python -m nltk.downloader punkt

Затем клонируйте репозиторий от Suraj Patil и перейдите в него.

git clone https://github.com/patil-suraj/question_generation.git
cd question_generation

Давайте код

Создайте новый файл Python в папке question_generation и скопируйте следующий код.

from pipelines import pipeline
nlp = pipeline("e2e-qg")
text = "Python is an interpreted, high-level, general-purpose programming language. Created by Guido van Rossum \
and first released in 1991, Python's design philosophy emphasizes code \
readability with its notable use of significant whitespace."
response = nlp(text)
print("Input Text ==>", text)
print("Generated Questions ==>", response)

Этих нескольких строк кода будет достаточно, чтобы начать генерировать вопросы. Вот сгенерированные вопросы, которые вы должны получить, используя тот же входной текст:

Сгенерированные вопросы ➡️ [«Кто создал Python?», «Когда был впервые выпущен Python?», «Какова философия дизайна Python?»]

Теперь, используя gradio, мы создадим удобный веб-интерфейс для демонстрации этой модели машинного обучения.

Обязательно установите пакет gradio: pip install gradio

Затем с помощью следующего кода мы создадим небольшое веб-приложение.

from pipelines import pipeline
import gradio as gr
nlp = pipeline("e2e-qg")
def generate(input):
  questions = nlp(input)
  return questions
iface = gr.Interface(
  fn=generate, 
  inputs=gr.inputs.Textbox(lines=2, placeholder="Input Text Here..."), 
  outputs="text")
iface.launch()

После запуска этой программы веб-приложение будет работать по локальному URL-адресу: http://127.0.0.1:7860/. Откройте его и протестируйте с любым текстовым абзацем.

Заключение

В этом уроке мы увидели, как использовать библиотеку Huggingface и модель трансформера Сураджа Патила для создания крошечного веб-приложения, способного генерировать вопросы из текстового абзаца. Дайте мне знать в комментариях, понравился ли вам урок, и если у вас есть какие-либо вопросы или пожелания.