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


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

查看所有标签

猜你喜欢:

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

UNIX编程艺术

UNIX编程艺术

Eric S. Raymond / 姜宏、何源、蔡晓俊 / 电子工业出版社 / 2006-2 / 59.00元

本书主要介绍了Unix系统领域中的设计和开发哲学、思想文化体系、原则与经验,由公认的Unix编程大师、开源运动领袖人物之一Eric S. Raymond倾力多年写作而成。包括Unix设计者在内的多位领域专家也为本书贡献了宝贵的内容。本书内容涉及社群文化、软件开发设计与实现,覆盖面广、内容深邃,完全展现了作者极其深厚的经验积累和领域智慧。一起来看看 《UNIX编程艺术》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具