NLP问答系统:使用 Deepset SQUAD 和 SQuAD v2 度量评估

2024-04-13 08:20

本文主要是介绍NLP问答系统:使用 Deepset SQUAD 和 SQuAD v2 度量评估,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

一、说明

二、Deepset SQUAD是个啥?

三、问答系统(QA系统),QA系统在各行业的应用及基本原理

3.1 医疗

3.2 金融

3.3 顾客服务

3.4 教育

3.5 制造业

3.6 法律

3.7 媒体

3.8 政府

四、在不同行业使用QA系统的基本原理

五、关于 Deepset deepset/minilm-uncased-squad2 模型

5.1 以下是如何使用 deepset/minilm-uncased-squad2 的一些示例:

5.2 以下是对 deepset/minilm-uncased-squad2 的一些见解:

5.3 以下是使用 deepset/minilm-uncased-squad2 的一些优点:

5.4 以下是使用 deepset/minilm-uncased-squad2 的一些缺点:

六、关于 SQuAD v2 指标

6.1 以下是有关 SQuAD v2 指标的一些关键见解:

6.2 以下是如何使用 SQuAD v2 指标的一些示例:

七、使用 Deepset minilm-uncased-squad2 模型和 SQuAD v2 指标评估进行问答

7.1 第 1 步 — 安装

7.2  第 2 步 — 构建问答管道

7.3 第 3 步 — 打印问答模型的详细信息

7.4 第 4 步 — 设置问答的上下文

7.5 第 5 步 — 使用问答管道检查 QA

7.6 第 6 步 — 使用 SQuAD v2 指标进行评估


一、说明

        在本文中,我们将研究使用 Deepset 的 SQUAD2 模型进行问答以及使用 SQuAD v2 指标评估模型,我们将使用 model — deepset/minilm-uncased-squad2。

我们将按以下顺序讨论这些主题:

1. 问答系统(QA系统),QA系统在各行业的应用及基本原理

2. 关于 Deepset minilm-uncased-squad2 模型

3. 关于 SQuAD v2 指标

4. 使用 Deepset minilm-uncased-squad2 模型和 SQuAD v2 指标评估进行问答 [应用人工智能]

二、Deepset SQUAD是个啥?

        Deepset SQUAD是一个基于深度学习的阅读理解任务,旨在回答关于给定段落的问题。该任务基于斯坦福大学发布的SQuAD(Stanford Question Answering Dataset)数据集,该数据集包含一系列问题和与之对应的答案,以及相关的段落文本。

        Deepset SQUAD通常指的是使用深度学习方法(如Transformer模型)在SQuAD数据集上进行训练和评估,以实现阅读理解任务。通过给定一个问题和一个相关的段落文本,模型需要预测出最可能的答案。

        在训练过程中,模型会学习理解文本语境、定位关键信息以及生成准确的答案。这种模型可以在各种领域和应用中发挥作用,例如智能客服、搜索引擎优化、信息检索等。

        Deepset SQUAD任务的成功取决于模型的能力去理解和推理文本信息,因此需要大规模的数据集和强大的深度学习模型来取得良好的性能。近年来,随着Transformer模型(如BERT、RoBERTa、BERT-large等)的发展,Deepset SQUAD任务在自然语言处理领域取得了显著的进展。

三、问答系统(QA系统),QA系统在各行业的应用及基本原理

        问答系统(QA 系统)是自然语言处理 (NLP) 系统,经过训练可以以全面和信息丰富的方式回答问题。QA系统用于各种行业,包括:

3.1 医疗

        QA 系统可用于为患者提供有关其病情、治疗方案和药物的信息。QA系统还可用于帮助医疗保健专业人员诊断疾病并制定治疗计划。

        例如,患者可以向 QA 系统询问特定疾病的症状、不同治疗方案的风险和益处或特定药物的副作用。医疗保健专业人员可以向 QA 系统询问有关特定疾病的最新研究或针对特定患者的最有效治疗计划的信息。

3.2 金融

        QA 系统可用于为投资者提供有关股票、债券和其他金融产品的信息。QA系统还可用于帮助金融分析师做出投资决策和开发财务模型。

        例如,投资者可以向 QA 系统询问特定公司的财务业绩、投资特定资产类别的风险和回报,或分配投资组合的最佳方式。金融分析师可以向 QA 系统询问有关最新经济趋势、特定事件对股票市场的影响或对特定金融产品进行建模的最佳方式的信息。

3.3 顾客服务

        QA系统可用于回答客户有关产品和服务的问题。QA 系统还可用于帮助客户服务代表解决客户问题并提供更好的客户支持。

        例如,客户可以向 QA 系统询问特定产品的功能和优势、如何使用特定产品或特定产品的退货政策。客户服务代表可以向 QA 系统询问有关客户帐户、客户订单状态或解决客户问题的最佳方法的信息。

3.4 教育

        QA 系统可用于为学生提供有关其课程作业的信息,回答他们有关课程材料的问题,并帮助他们准备考试。QA 系统还可用于帮助教师创建和提供教育内容。

        例如,学生可以向 QA 系统询问教科书中特定章节中的关键概念、解决特定数学问题所涉及的步骤或为即将到来的考试学习的最佳方式。教师可以向 QA 系统询问有关特定主题的信息、帮助创建课程计划或对其教材的反馈。

3.5 制造业

        QA 系统可用于为员工提供有关制造过程、产品规格和质量控制程序的信息。

3.6 法律

        QA 系统可用于为律师提供有关判例法、法规和法规的信息。

3.7 媒体

        QA系统可用于为记者提供有关时事、新闻报道和感兴趣主题的背景信息。

3.8 政府

        QA 系统可用于为公民提供有关政府服务、计划和政策的信息。

四、在不同行业使用QA系统的基本原理

        QA 系统用于各种行业,因为它们提供了许多好处,包括:

  • 便利性:QA系统可用于快速轻松地回答问题,而无需搜索多个信息来源。
  • 准确性:QA 系统在大型文本和代码数据集上进行训练,这使它们能够为问题提供准确且信息丰富的答案。
  • 个性化:QA系统可以根据用户的需求进行个性化设置,以便他们能够提供相关且有用的答案。
  • 可扩展性:QA 系统可以扩展以处理大量问题,使其成为客户支持或客户服务是关键组成部分的行业的理想选择。

总体而言,QA 系统是一种强大的工具,可用于提高各行各业的效率、生产力和客户满意度。

随着 QA 系统的不断改进,我们可以期待在未来看到它们以更具创新性和令人兴奋的方式使用。

        现在我们已经对 QA 系统及其在各个行业的应用有了相当的了解,让我们深入了解 Deepset SQUAD 问答模型。

五、关于 Deepset deepset/minilm-uncased-squad2 模型

        deepset/minilm-uncased-squad2 是 Deepset 的问答 (QA) 模型,它基于 Microsoft 的 MiniLM-L12-H384-uncased 语言模型。它是在 SQuAD 2.0 数据集上训练的,该数据集是一个大规模的数据集,其中包含有关维基百科文章的人工生成的问题和答案。

        deepset/minilm-uncased-squad2 在 SQuAD 2.0 开发集上获得了 76.19% 的精确匹配 (EM) 分数和 79.49% 的 F1 分数。这些结果与该数据集上最先进的 QA 模型相当。

        deepset/minilm-uncased-squad2 是 QA 任务的不错选择,因为它是:

  • 准确:它在 SQuAD 2.0 数据集上取得了最先进的结果。
  • 高效:它基于高效的 MiniLM-L12-H384 无大小写语言模型。
  • 易于使用:它可作为预训练模型使用,可以轻松加载并在各种编程语言中使用。

        deepset/minilm-uncased-squad2 可用于各种 QA 任务,例如:

  • 回答有关维基百科条目的问题。
  • 回答有关客户支持文章的问题。
  • 回答有关产品文档的问题。
  • 回答有关新闻文章的问题。
  • 回答有关任何其他类型的文本内容的问题。

5.1 以下是如何使用 deepset/minilm-uncased-squad2 的一些示例:

  • 客户支持代表可以使用 deepset/minilm-uncased-squad2 来回答客户有关产品或服务的问题。
  • 记者可以使用 deepset/minilm-uncased-squad2 来研究新闻文章的主题。
  • 学生可以使用 deepset/minilm-uncased-squad2 来学习考试或学习新主题。
  • 研究人员可以使用 deepset/minilm-uncased-squad2 为研究项目收集信息。

5.2 以下是对 deepset/minilm-uncased-squad2 的一些见解:

  • 它是 QA 任务的不错选择,因为它准确、高效且易于使用。
  • 它可用于各种 QA 任务,例如回答有关维基百科文章、客户支持文章、产品文档和新闻文章的问题。
  • 它可用于提高各种行业的效率、生产力和客户满意度,例如医疗保健、金融、客户服务、教育和制造。

5.3 以下是使用 deepset/minilm-uncased-squad2 的一些优点:

  • 它是一个预训练的模型,因此您不需要从头开始训练它。这可以为您节省大量时间和资源。
  • 它可以通过 Hugging Face Transformers 库获得,该库是一个流行且支持良好的开源库,用于自然语言处理 (NLP) 任务。
  • 它易于使用,即使您不是 NLP 专家。

5.4 以下是使用 deepset/minilm-uncased-squad2 的一些缺点:

  • 它是一个大型模型,因此运行速度可能很慢且占用大量内存。
  • 它是在文本和代码数据集上训练的,因此它可能不太擅长回答有关其他类型数据(例如图像或视频)的问题。
  • 它不是免费使用的。

总体而言,deepset/minilm-uncased-squad2 是一个功能强大且用途广泛的 QA 模型,可用于各种任务。对于需要可靠和准确的 QA 模型的企业和组织来说,这是一个不错的选择。

六、关于 SQuAD v2 指标

SQuAD v2 指标是自然语言处理 (NLP) 任务(如问答和文本摘要)广泛使用的评估指标。它基于斯坦福问答数据集 (SQuAD),这是一个关于维基百科文章的人类生成的问题和答案的大规模数据集。

SQuAD v2 指标衡量两件事:

· 完全匹配 (EM):模型的答案与人工生成的答案完全匹配的问题百分比。

· F1 分数:精确度和召回率的加权平均值,其中精确度是模型正确答案的百分比,召回率是模型找到的人工生成答案的百分比。

为了计算 SQuAD v2 指标使用逐字匹配算法将模型的答案与人工生成的答案进行比较。如果模型的答案与人工生成的答案完全匹配,则该问题将计为完全匹配。否则,将使用 F1 评分算法对模型的答案进行评分。

        SQuAD v2 指标是衡量 NLP 模型在问答和文本摘要任务上的整体性能的良好指标。 但是,需要注意的是,SQuAD v2 指标只是性能的一种衡量标准,不应孤立地用于评估 NLP 模型

6.1 以下是有关 SQuAD v2 指标的一些关键见解:

        ·SQuAD v2 指标是一个具有挑战性的指标,因为它要求模型生成既符合事实又符合语言流利的答案。

        ·SQuAD v2 指标广泛用于评估 NLP 模型,因此它是比较不同模型性能的好方法。

        ·SQuAD v2 指标并不完美,因为它可能会被生成事实正确但语言不流利的答案的模型所愚弄。

        总体而言,SQuAD v2 指标是评估 NLP 模型在问答和文本摘要任务中性能的宝贵工具。但是,将 SQuAD v2 指标与其他指标(例如人工评估)结合使用非常重要,以全面了解 NLP 模型的性能。

6.2 以下是如何使用 SQuAD v2 指标的一些示例:

        ·正在开发新问答系统的公司可以使用 SQuAD v2 指标来评估其系统在标准数据集上的性能。

        ·正在开发新的文本摘要算法的研究人员可以使用 SQuAD v2 指标将其算法的性能与其他最先进的算法进行比较。

        ·正在学习机器学习课程的学生可以使用 SQuAD v2 指标来评估其问答模型在家庭作业中的性能。

现在我们已经了解了 QA 系统、QA 系统在各个行业的应用、Deepset SQUAD 模型和用于评估的 SQuAd 指标

        现在让我们深入了解使用 SQUAD 模型进行问答,使用 SQuAd V2 指标评估 SQUAD 模型

七、使用 Deepset minilm-uncased-squad2 模型和 SQuAD v2 指标评估进行问答

7.1 第 1 步 — 安装

        pip 安装以下软件包和系统依赖项:

  • 库:transformers、evaluate
!pip install transformers
!pip install evaluate

7.2  第 2 步 — 构建问答管道

        我们将使用模型“deepset/minilm-uncased-squad2”

import transformers#Set to avoid warning messages.
transformers.logging.set_verbosity_error()from transformers import pipelinequestion_answer = pipeline("question-answering",model="deepset/minilm-uncased-squad2")

7.3 第 3 步 — 打印问答模型的详细信息

        此步骤用于深入了解模型配置的每个细节,包括网络、其层、编码器、解码器、注意力头、激活函数、超参数、QA 参数、转换器版本等,

#Print Details of the Question Answering Model
print("Checkpoint used: ", question_answer.model.config)

7.4 第 4 步 — 设置问答的上下文

<span style="background-color:#f9f9f9"><span style="color:#242424"><span style="color:#007400">#Set Up Context for Question Answering Model to Answer Questions</span>
context=<span style="color:#c41a16">"""In a recent survey conducted by the government,
public sector employees were asked to rate their level
of satisfaction with the department they work at.
The results revealed that NASA was the most popular
department with a satisfaction rating of 95%.One NASA employee, John Smith, commented on the findings,
stating, "I'm not surprised that NASA came out on top.
It's a great place to work with amazing people and
incredible opportunities. I'm proud to be a part of
such an innovative organization.The results were also welcomed by NASA's management team,
with Director Tom Johnson stating, "We are thrilled to
hear that our employees are satisfied with their work at NASA.
We have a talented and dedicated team who work tirelessly
to achieve our goals, and it's fantastic to see that their
hard work is paying off.The survey also revealed that the
Social Security Administration had the lowest satisfaction
rating, with only 45% of employees indicating they were
satisfied with their job. The government has pledged to
address the concerns raised by employees in the survey and
work towards improving job satisfaction across all departments.
"""</span></span></span>

7.5 第 5 步 — 使用问答管道检查 QA

#Question Answering Check 1
print("\n Question 1:")
answer=question_answer( question="Which department had the highest level of Satisfaction Rating?",context=context)
print(answer)

输出为

问题 1: {'score': 0.7639074921607971, 'start': 179, 'end': 183, 'answer': 'NASA'}

答案是正确的,让我们根据提供的上下文检查更多问题。

问答 - 检查 2

#Question Answering Check 2
print("\n Question 2:")
answer=question_answer( question="Which department had the lowest level of Satisfaction Rating?",context=context)
print(answer)

输出为

问题 2: {'score': 0.6433295011520386, 'start': 855, 'end': 885, 'answer': '社会保障局'}

答案是正确的..

让我们再检查一个问题

问答 — 勾选 3

#Question Answering Check 3
print("\n Question 3:")
answer=question_answer( question="What did Tom Johnson state on the findings?",context=context)
print(answer)

输出为

问题 3: {'score': 0.07185160368680954, 'start': 596, 'end': 676, 'answer': '我们很高兴听到我们的员工对他们在 NASA 的工作感到满意'}

我们可以尝试根据提供的上下文来试验问题。

7.6 第 6 步 — 使用 SQuAD v2 指标进行评估

在此步骤中,我们将使用 SQuAD v2 指标评估模型

精确匹配 (EM)

F1 分数

根据提供的上下文,对于问题

社会保障局的满意度是多少?

假设预期的人类反应将是

“社保局满意度为45%”

模型预测答案为

“社会保障局的满意度为50%”,“
社会保障局的满意度为30%”,“
提供的上下文不提供问题的答案”

而模型对问题的回答是 45%,如前所述

让我们使用 SQuAD v2 指标评估问答模型

精确匹配,F1 分数

#Evaluate Model using SQuAD V2 Metrics
from evaluate import load
squad_metric = load("squad_v2")correct_answer="The satisfaction rating of Social Security Administration is 45%"predicted_answers=["45%","The satisfaction rating of Social Security Administration is 50%","The satisfaction rating of Social Security Administration is 30%","Context provided does not provide the answer for the question"]cum_predictions=[]
cum_references=[]
for i in range(len(predicted_answers)):#Use the input format for predictionspredictions = [{'prediction_text':predicted_answers[i],'id': str(i),'no_answer_probability': 0.}]cum_predictions.append(predictions[0])#Use the input format for naswersreferences = [{'answers': {'answer_start': [1],'text': [correct_answer]},'id': str(i)}]cum_references.append(references[0])results = squad_metric.compute(predictions=predictions,references=references)print("F1 is", results.get('f1')," for answer :", predicted_answers[i])#Compute for cumulative Results
cum_results=squad_metric.compute(predictions=cum_predictions,references=cum_references)
print("\n Cumulative Results : \n",cum_results)

输出为

这篇关于NLP问答系统:使用 Deepset SQUAD 和 SQuAD v2 度量评估的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/899619

相关文章

不懂推荐算法也能设计推荐系统

本文以商业化应用推荐为例,告诉我们不懂推荐算法的产品,也能从产品侧出发, 设计出一款不错的推荐系统。 相信很多新手产品,看到算法二字,多是懵圈的。 什么排序算法、最短路径等都是相对传统的算法(注:传统是指科班出身的产品都会接触过)。但对于推荐算法,多数产品对着网上搜到的资源,都会无从下手。特别当某些推荐算法 和 “AI”扯上关系后,更是加大了理解的难度。 但,不了解推荐算法,就无法做推荐系

中文分词jieba库的使用与实景应用(一)

知识星球:https://articles.zsxq.com/id_fxvgc803qmr2.html 目录 一.定义: 精确模式(默认模式): 全模式: 搜索引擎模式: paddle 模式(基于深度学习的分词模式): 二 自定义词典 三.文本解析   调整词出现的频率 四. 关键词提取 A. 基于TF-IDF算法的关键词提取 B. 基于TextRank算法的关键词提取

基于人工智能的图像分类系统

目录 引言项目背景环境准备 硬件要求软件安装与配置系统设计 系统架构关键技术代码示例 数据预处理模型训练模型预测应用场景结论 1. 引言 图像分类是计算机视觉中的一个重要任务,目标是自动识别图像中的对象类别。通过卷积神经网络(CNN)等深度学习技术,我们可以构建高效的图像分类系统,广泛应用于自动驾驶、医疗影像诊断、监控分析等领域。本文将介绍如何构建一个基于人工智能的图像分类系统,包括环境

水位雨量在线监测系统概述及应用介绍

在当今社会,随着科技的飞速发展,各种智能监测系统已成为保障公共安全、促进资源管理和环境保护的重要工具。其中,水位雨量在线监测系统作为自然灾害预警、水资源管理及水利工程运行的关键技术,其重要性不言而喻。 一、水位雨量在线监测系统的基本原理 水位雨量在线监测系统主要由数据采集单元、数据传输网络、数据处理中心及用户终端四大部分构成,形成了一个完整的闭环系统。 数据采集单元:这是系统的“眼睛”,

使用SecondaryNameNode恢复NameNode的数据

1)需求: NameNode进程挂了并且存储的数据也丢失了,如何恢复NameNode 此种方式恢复的数据可能存在小部分数据的丢失。 2)故障模拟 (1)kill -9 NameNode进程 [lytfly@hadoop102 current]$ kill -9 19886 (2)删除NameNode存储的数据(/opt/module/hadoop-3.1.4/data/tmp/dfs/na

Hadoop数据压缩使用介绍

一、压缩原则 (1)运算密集型的Job,少用压缩 (2)IO密集型的Job,多用压缩 二、压缩算法比较 三、压缩位置选择 四、压缩参数配置 1)为了支持多种压缩/解压缩算法,Hadoop引入了编码/解码器 2)要在Hadoop中启用压缩,可以配置如下参数

Makefile简明使用教程

文章目录 规则makefile文件的基本语法:加在命令前的特殊符号:.PHONY伪目标: Makefilev1 直观写法v2 加上中间过程v3 伪目标v4 变量 make 选项-f-n-C Make 是一种流行的构建工具,常用于将源代码转换成可执行文件或者其他形式的输出文件(如库文件、文档等)。Make 可以自动化地执行编译、链接等一系列操作。 规则 makefile文件

使用opencv优化图片(画面变清晰)

文章目录 需求影响照片清晰度的因素 实现降噪测试代码 锐化空间锐化Unsharp Masking频率域锐化对比测试 对比度增强常用算法对比测试 需求 对图像进行优化,使其看起来更清晰,同时保持尺寸不变,通常涉及到图像处理技术如锐化、降噪、对比度增强等 影响照片清晰度的因素 影响照片清晰度的因素有很多,主要可以从以下几个方面来分析 1. 拍摄设备 相机传感器:相机传

嵌入式QT开发:构建高效智能的嵌入式系统

摘要: 本文深入探讨了嵌入式 QT 相关的各个方面。从 QT 框架的基础架构和核心概念出发,详细阐述了其在嵌入式环境中的优势与特点。文中分析了嵌入式 QT 的开发环境搭建过程,包括交叉编译工具链的配置等关键步骤。进一步探讨了嵌入式 QT 的界面设计与开发,涵盖了从基本控件的使用到复杂界面布局的构建。同时也深入研究了信号与槽机制在嵌入式系统中的应用,以及嵌入式 QT 与硬件设备的交互,包括输入输出设

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟&nbsp;开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚&nbsp;第一站:海量资源,应有尽有 走进“智听