Simple and fast Question Answering system using HuggingFace DistilBERT — single & batch inf...

栏目: IT技术 · 发布时间: 4年前

Simple and fast Question Answering system using HuggingFace DistilBERT — single & batch inf...

Simple and fast Question Answering system using HuggingFace DistilBERT — single & batch inference examples provided.

Image from Pixabay and Stylized by AiArtist Chrome Plugin (Built by me)

Question Answering systems have many use cases like automatically responding to a customer’s query by reading through the company’s documents and finding a perfect answer.

In this blog post, we will see how we can implement a state-of-the-art, super-fast, and lightweight question answering system using DistilBERT from Huggingface transformers library.

Input

The input will be a short paragraph what we call context, and a question –

Context :
The US has passed the peak on new coronavirus cases, President Donald Trump said and predicted that some states would reopen this month.The US has over 637,000 confirmed Covid-19 cases and over 30,826 deaths, the highest for any country in the world.
Question:
What was President Donald Trump's prediction?

Output

The output from our question-answering system will be an answer from the context paragraph as shown below —

Answer: 
some states would reopen this month.

Let’s get started :

First, let’s see how we can answer a single question as shown above. Then we will see how we can leverage batch processing to answer multiple questions at once from the context.

Single Inference :

Here is the code to do single inference with DistilBERT :

The output will be :

Question What was President Donald Trump's prediction?Answer Tokens:
['some', 'states', 'would', 're', '##open', 'this', 'month']
Answer : some states would reopen this month

Batch Inference :

Now let’s try to do the same with batch inference where we try to pass three questions and get answers for them as a batch

Three questions are –

1. What was President Donald Trump's prediction?
2. How many deaths have been reported from the virus?
3. How many cases have been reported in the United States?

Here is the code to do batch inference with DistilBERT :

The output will be —

Context : The US has passed the peak on new coronavirus cases, President Donald Trump said and predicted that some states would reopen this month.The US has over 637,000 confirmed Covid-19 cases and over 30,826 deaths, the highest for any country in the world.Question: What was President Donald Trump's prediction?
Answer: some states would reopen this month
Question: How many deaths have been reported from the virus?
Answer: 30 , 826
Question: How many cases have been reported in the United States?
Answer: over 637 , 000

If you are interested in automatic question generation from context rather than question answering , you can check out my various algorithms and open-sourced code in the links below –

  1. True or False Question Generation
  2. Multiple Choice Question Generation
  3. Generate pronoun questions for English language learning
  4. Grammar MCQ generation

Happy coding! If you have any questions or just wanted to say hi, you can reach out to me on ramsrigouthamg@gmail.com


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Microsoft.NET框架程序设计

Microsoft.NET框架程序设计

Jeffrey Richter / 李建忠 / 清华大学出版社 / 2003-11 / 68.00元

《Microsoft.NET框架程序设计》(修订版)是《微软.NET程序员系列》丛书之一,主要介绍如何开发面向Microsoft.NET框架的各种应用程序。Microsoft.NET框架是微软公司推出的新平台,包含通用语言运行时(CLR)和.NET框架类库(FCL)。《Microsoft.NET框架程序设计》(修订版)将深入解释CLR的工作机制及其提供的各种构造,同时还将讨论FCL中一些重要的类型......一起来看看 《Microsoft.NET框架程序设计》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具