CN116324804A - 训练问答对话系统以避免对抗性攻击 - Google Patents

训练问答对话系统以避免对抗性攻击 Download PDF

Info

Publication number
CN116324804A
CN116324804A CN202180071089.9A CN202180071089A CN116324804A CN 116324804 A CN116324804 A CN 116324804A CN 202180071089 A CN202180071089 A CN 202180071089A CN 116324804 A CN116324804 A CN 116324804A
Authority
CN
China
Prior art keywords
answer
question
entity
resistant
statement
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202180071089.9A
Other languages
English (en)
Inventor
S·罗森塔尔
A·希尔
M·A·博尔纳
R·弗洛里安
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN116324804A publication Critical patent/CN116324804A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/335Filtering based on additional data, e.g. user or group profiles
    • G06F16/337Profile generation, learning or modification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9032Query formulation
    • G06F16/90332Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/54Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by adding security routines or objects to programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Bioethics (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Machine Translation (AREA)
  • User Interface Of Digital Computer (AREA)
  • Feedback Control In General (AREA)
  • Electrically Operated Instructional Devices (AREA)

Abstract

方法、计算机程序产品和/或计算机系统保护问答对话系统免受错误地回答问题的对抗性语句的攻击。计算设备访问能够对问答对话系统进行对抗性攻击的多个对抗性语句,该问答对话系统被训练为提供对特定类型的问题的正确回答。计算设备利用多个对抗性语句来训练用于问答对话系统的机器学习模型。计算设备然后通过将识别多种类型的对抗性语句的对抗性策略引导到经训练的机器学习模型上来强化经训练的机器学习模型。计算设备然后利用经训练的和引导的机器学习模型以在对提交给问答对话系统的问题进行响应时避免对抗性攻击。

Description

训练问答对话系统以避免对抗性攻击
背景技术
本发明涉及用于回答问题的问答对话系统的领域。更具体地,本发明涉及保护问答对话系统免受破坏这样的问答对话系统的对抗性攻击的领域。
发明内容
在本发明的一个或多个实施例中,一种方法保护问答对话系统免受错误地回答问题的对抗性语句的攻击。计算设备访问能够对问答对话系统进行对抗性攻击的多个对抗性语句,该问答对话系统被训练为提供对特定类型的问题的正确回答。计算设备利用多个对抗性语句来训练用于问答对话系统的机器学习模型。计算设备然后通过将识别多种类型的对抗性语句的对抗性策略引导到经训练的机器学习模型上来强化经训练的机器学习模型。计算设备然后利用经训练的和引导的机器学习模型以在对提交给问答对话系统的问题进行响应时避免对抗性攻击。
在本发明的一个或多个实施例中,由计算设备对经训练的和引导的机器学习模型进行测试:将用于问答对话系统的问题转换成具有用于回答的占位符的语句;从回答中随机挑选回答实体,并且添加随机挑选的回答实体来代替占位符,以生成对抗性语句;利用对抗性语句生成对经训练的和引导的机器学习模型的攻击;测量来自经训练的和引导的机器学习模型的对所生成的攻击的响应;以及修改经训练的和引导的机器学习模型,以便增加对所生成的攻击的响应的响应水平。
在本发明的一个或多个实施例中,上下文段落包括正确回答,该正确回答包括正确回答实体,特定类型的问题包括特定类型的问题实体,并且该方法还包括计算设备:生成/检索随机回答随机问题RARQ对抗性语句,其中,RARQ对抗性语句包括对正确回答中的正确回答实体进行替换的随机回答实体,并且其中,RARQ对抗性语句包括对正确回答中的正确问题实体进行替换的随机问题实体;生成/检索随机回答原始问题RAOQ对抗性语句,其中,RAOQ对抗性语句包括对正确回答中的正确回答实体进行替换的随机回答实体,并且其中,RAOQ对抗性语句包括来自正确回答的正确问题实体;生成/检索无回答随机问题NARQ对抗性语句,其中,NARQ对抗性语句用无回答来替换正确回答中的正确回答实体,并且其中,NARQ对抗性语句包括对正确回答中的正确问题实体进行替换的随机问题实体;生成/检索无回答原始问题(NAOQ)对抗性语句,其中,NAOQ对抗性语句用无回答来替换正确回答中的正确回答实体,并且其中,NAOQ对抗性语句包括来自正确回答的正确问题实体;以及利用RARQ对抗性语句、RAOQ对抗性语句、NARQ对抗性语句和NAOQ对抗性语句作为输入来进一步训练用于问答对话系统的机器学习模型,以识别对抗性语句。
在本发明的一个或多个实施例中,在问答对话系统中使用的原始问题、在问答对话系统中使用的原始上下文段落和/或为问答对话系统生成的对抗性语句采用一种或多种不同的语言,使得问答对话系统能够处理多种语言的对抗性攻击。
在一个或多个实施例中,通过计算机程序产品和/或计算机系统的执行来执行本文中描述的方法。
附图说明
图1描绘了在各种实施例中实现本发明的示例性系统和网络;
图2示出了根据本发明的一个或多个实施例的当运行在上下文段落中具有对抗性语句的问答(QA)对话/学习系统时使用的示例攻击流水线的高级概要;
图3描绘了在本发明的一个或多个实施例中使用的不同类型的对抗性段落;
图4示出了在本发明的一个或多个实施例中用于生成对抗性语句的示例性步骤流程;
图5示出了根据本发明的一个或多个实施例的用于在问答对话系统中使用经训练的模型来防御对抗性语句/攻击的示例处理;
图6示出了根据本发明的一个或多个实施例的转换器模型系统的递归训练的高级概要;
图7描绘了根据本发明的一个或多个实施例的使用来自转换器的多语言双向编码器表示(例如MBERT)的、图6中所示的转换器模型系统的示例性实施例;
图8示出了在本发明的一个或多个实施例中使用的示例性问答对话系统;
图9描绘了根据本发明的一个或多个实施例的由图8中所示的QA对话系统800所使用的对新问题进行响应的示例性深度神经网络;
图10示出了由根据本发明的一个或多个实施例的方法执行的一个或多个步骤的高级流程图;
图11描绘了根据本发明的一个或多个实施例的云计算环境;以及
图12示出了根据本发明的一个或多个实施例的云计算机环境的抽象模型层。
具体实施方式
在一个或多个实施例中,本发明是处于任何可能的技术细节集成水平的系统、方法和/或计算机程序产品。在一个或多个实施例中,计算机程序产品包括其上具有计算机可读程序指令的计算机可读存储介质(或多个介质),该计算机可读程序指令用于使处理器执行本发明的各方面。
计算机可读存储介质可以是可以保留和存储供指令执行设备使用的指令的有形设备。计算机可读存储介质可以是例如但不限于电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或前述各项的任何合适的组合。计算机可读存储介质的更具体示例的非穷举列表包括以下:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式紧凑盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、其上记录有指令的机械编码设备(诸如打孔卡或凹槽中的凸起结构)、以及前述各项的任何适当的组合。如本文中所使用的计算机可读存储介质不应被解释为瞬态信号本身,诸如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,通过光纤光缆传送的光脉冲)、或通过导线传输的电信号。
本文中描述的计算机可读程序指令可以从计算机可读存储介质下载到相应的计算/处理设备,或者经由网络(例如因特网、局域网、广域网和/或无线网络)下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或网络接口从网络接收计算机可读程序指令,并且转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。
在一个或多个实施例中,用于执行本发明的操作的计算机可读程序指令包括汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设定数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,该编程语言包括面向对象的编程语言(诸如Java、Smalltalk、C++等)以及常规的过程编程语言(诸如“C”编程语言或类似的编程语言)。在一个或多个实施例中,计算机可读程序指令完全在用户的计算机上执行,部分在用户的计算机上执行,作为独立的软件包执行,部分在用户的计算机上并且部分在远程计算机上执行,或者完全在远程计算机或服务器上执行。在后一种情况下以及在一个或多个实施例中,远程计算机通过任何类型的网络(包括局域网(LAN)或广域网(WAN))连接到用户的计算机,或者连接到外部计算机(例如,通过使用因特网服务提供商的因特网)。在一些实施例中,为了执行本发明的各方面,包括例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA)在内的电子电路通过利用计算机可读程序指令的状态信息使电子电路个性化来执行计算机可读程序指令。
本文中参考根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图来描述本发明的各方面。将理解,流程图和/或框图中的每个方框以及流程图和/或框图中的方框的组合可以由计算机可读程序指令来实现。
在一个或多个实施例中,这些计算机可读程序指令被提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现流程图和/或框图的一个或多个方框中指定的功能/动作的装置。在一个或多个实施例中,这些计算机可读程序指令也存储在计算机可读存储介质中,该计算机可读存储介质在一个或多个实施例中引导计算机、可编程数据处理装置和/或其他设备以特定方式工作,使得其中存储有指令的计算机可读存储介质包括制品,该制品包括实现流程图和/或框图的一个或多个方框中指定的功能/动作的各方面的指令。
在一个或多个实施例中,计算机可读程序指令还被加载到计算机、其他可编程数据处理装置或其他设备上,以使得在计算机、其他可编程装置或其他设备上执行一系列操作步骤,以产生计算机实现的处理,使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图的一个或多个方框中指定的功能/动作。
附图中的流程图和框图示出了根据本发明的各种实施例的系统、方法和计算机程序产品的可能实现方式的架构、功能和操作。在这方面,流程图或框图中的每个方框表示指令的模块、段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些替选实现方式中,方框中标注的功能不按附图中标注的次序发生。例如,连续示出的两个方框实际上基本上同时执行,或者这些方框有时以相反的顺序执行,这取决于所涉及的功能。还将注意到,在本发明的一个或多个实施例中,框图和/或流程图中的每个方框以及框图和/或流程图中的方框的组合由执行指定功能或动作或者执行专用硬件和计算机指令的组合的基于专用硬件的系统来实现。
现在参考附图,并且特别参考图1,其中示出了可以由本发明的实现方式使用和/或在本发明的实现方式中使用的示例性系统和网络的框图。注意,为计算机101示出并且在计算机101内的示例性架构(包括所示的硬件和软件两者)中的一些或全部可以被以下各项使用:图1中所示的人工智能124和/或软件部署服务器150和/或文本文档服务器152和/或音频文件服务器154和/或问答对话系统156和/或问题传送系统158和/或视频文件服务器160和/或图6中所示的控制器601、和/或图7中所示的来自转换器的多语言双向编码器表示(例如MBERT)系统724、和/或图9中所示的深度神经网络924中所示的神经元/节点中的一个或多个。
示例性计算机101包括耦合到系统总线106的处理器104。处理器104可以使用一个或多个处理器,每个处理器具有一个或多个处理器核心。驱动/支持显示器110的视频适配器108也耦合到系统总线106。系统总线106经由总线桥112耦合到输入/输出(I/O)总线114。I/O接口116耦合到I/O总线114。I/O接口116提供与各种I/O设备的通信,该I/O设备包括键盘118、鼠标120、介质托盘122(其可以包括诸如CD-ROM驱动器、多媒体接口等存储设备)、人工智能124和外部USB端口126。虽然连接到I/O接口116的端口的格式可以是计算机体系结构领域的技术人员已知的任何格式,但是在一个实施例中,这些端口中的一些或全部是通用串行总线(USB)端口。
如所描绘的,计算机101还能够使用到网络128的网络接口130与人工智能124和/或软件部署服务器150和/或文本文档服务器152和/或音频文件服务器154和/或问答对话系统156和/或问题传送系统158和/或视频文件服务器160进行通信。网络接口130是硬件网络接口,诸如网络接口卡(NIC)等。网络128可以是外部网络(诸如因特网)、或内部网络(诸如以太网或虚拟专用网(VPN))。下面呈现物理设备154的一个或多个示例。
硬盘驱动器接口132也耦合到系统总线106。硬盘驱动器接口132与硬盘驱动器134进行接口连接。在一个实施例中,硬盘驱动器134填充系统存储器136,该系统存储器136也耦合到系统总线106。系统存储器被定义为计算机101中的最低级别的易失性存储器。该易失性存储器包括附加的更高级别的易失性存储器(未示出),包括但不限于高速缓冲存储器、寄存器和缓冲器。填充系统存储器136的数据包括计算机101的操作系统(OS)138和应用程序144。
OS 138包括外壳140,用于提供对诸如应用程序144之类的资源的透明用户访问。通常,外壳140是提供用户和操作系统之间的解释器和接口的程序。更具体地,外壳140执行输入到命令行用户界面中或来自文件的命令。因此,也被称为命令处理器的外壳140通常是操作系统软件层次结构的最高级别,并且用作命令解释器。外壳提供系统提示,解释通过键盘、鼠标或其它用户输入介质输入的命令,并且将经解释的命令发送到操作系统的适当较低级别(例如内核142)以供处理。注意,尽管外壳140是基于文本的面向行的用户界面,但是本发明将同样很好地支持其他用户界面模式,诸如图形、语音、手势等。
如所描绘的,OS 138还包括内核142,内核142包括OS 138的较低级别的功能,包括提供由OS 138的其他部分和应用程序144所需的基本服务,包括存储器管理、进程和任务管理、磁盘管理、以及鼠标和键盘管理。
应用程序144包括以示例性方式被示出为浏览器146的呈现器。浏览器146包括程序模块和指令,使得万维网(WWW)客户端(即,计算机101)能够使用超文本传输协议(HTTP)消息传送来向因特网发送网络消息和从因特网接收网络消息,从而使得能够与软件部署服务器150和其他计算机系统进行通信。
计算机101的系统存储器(以及软件部署服务器150的系统存储器)中的应用程序144还包括问答对话系统保护逻辑(QADSPL)148。QADSPL 148包括用于实现下面描述的处理的代码,包括图2-图10中描述的那些处理,在一个实施例中,计算机101能够从软件部署服务器150中下载QADSPL 148,包括基于按需下载,其中直到需要执行时才下载QADSPL 148中的代码。还注意,在本发明的一个实施例中,软件部署服务器150执行与本发明相关联的所有功能(包括执行QADSPL 148),从而使计算机101不必使用其自己的内部计算资源来执行QADSPL 148。
文本文档服务器152是通过将(由计算机101、AI 124和/或QA问答对话系统156接收到的)特定类型的问题与特定的一组候选回答文本进行匹配来向计算机101、AI 124和/或QA问答对话系统156发送上下文(即,文本段落,诸如图3中所示的那些文本段落)的服务器。
音频文件服务器154是通过将(由计算机101、AI 124和/或QA问答对话系统156接收到的)特定类型的问题与特定的一组候选回答音频文件进行匹配来向计算机101、AI 124和/或QA问答对话系统156发送上下文(即,音频文件)的服务器。即,音频文件服务器154解释所接收到的问题的类型,并且它们返回其主题与该类型的问题相匹配的相关音频文件(例如,如由描述每个音频文件的元数据所标识的)。例如,如果问题是关于特定类型的音乐,则音频文件服务器154将返回具有描述该特定类型的音乐的元标记的音频文件。
QA对话系统156是利用本文中描述的处理/系统、用回答来响应问题(例如,来自问题传送系统158)的系统。
视频文件服务器160是通过将(由计算机101、AI 124和/或QA问答对话系统156接收到的)特定类型的问题与特定的一组候选回答视频文件进行匹配来向计算机101、AI 124和/或QA问答对话系统156发送上下文(即视频文件)的服务器。即,视频文件服务器160解释所接收到的问题的类型,并且它们返回其主题与该类型的问题相匹配的相关视频文件(例如,如由描述每个视频文件的元数据所标识的)。例如,如果问题是关于特定类型的视觉艺术,则视频文件服务器160将返回具有描述该特定类型的视觉艺术的元标记的视频文件。
注意,计算机101中所示的硬件元件不是旨在是穷举性的,而是代表性的,以突出显示由本发明所需的基本组件。例如,计算机101可以包括替选的存储器存储设备,诸如磁带盒、数字多功能盘(DVD)、伯努利盒式磁带等。这些和其它变型都旨在是在本发明的范围内。
问答(QA)系统,也被称为问答对话系统,是由寻求回答的人所使用的重要工具。示例性QA系统接收问题(例如,“什么是巴黎最古老的咖啡馆?”),搜索文本、视频、音频等资源的语料库,并且返回正确回答(例如,“X咖啡馆”)。
这样,优选的是,这样的QA系统是健壮的,以确保它们可以向用户提供正确的回答。即,如果QA系统不能抵御恶意攻击(下面将详细讨论),则该QA系统是薄弱的,并且如果该QA系统可以成功地防御恶意攻击(如在本发明的一个或多个实施例中所描述和要求保护的),则该QA系统是健壮的。
因此,本发明的一个或多个实施例提供了一种健壮的QA系统,该QA系统不仅保护自己免受恶意攻击,而且能够处理多语言恶意攻击。
如本文中所述,本发明的一个或多个实施例利用一种或多种新类型的对抗性语句来暴露多语言问答(MLQA)系统中的弱点。
这些新类型的对抗性语句被用于训练QA模型,从而使得经训练的QA模型在抵抗恶意攻击方面更健壮。
在本发明的一个或多个实施例中,通过引导对抗性策略(例如,描述将针对哪些新类型的对抗性类型进行监控的策略)来强化经训练的QA模型,从而创建用于训练MLQA系统的甚至更有效的QA模型。
因此,在本发明的一个或多个实施例中,一种方法/装置通过以下步骤为MLQA系统生成任何语言的攻击语句:通过使用用于回答的占位符将原始问题转换为通用语句;随机挑选各实体来替换在原始问题中找到的问题实体和/或回答实体,以便创建对抗性语句;将对抗性语句随机添加到上下文中以攻击MLQA系统;利用除了原始数据之外还具有对抗性语句的数据来训练MLQA系统;通过将对抗性策略(即,附加关于如何处理对抗性语句的策略)引导到经训练的MLQA来强化经训练的MLQA模型;然后使用具有经引导的对抗性策略的经训练的MLQA来回答在含义上与强化的经训练的MLQA模型相似的问题。
开放领域问答(QA)系统中的最新进展主要围绕机器阅读理解(MRC)进行,其中任务是阅读和理解给定文本,并且然后基于它来回答问题。在现有技术中用于获得有关英语MRC数据集的最先进技术(SOTA)的许多功劳是由于大型预训练语言模型(LM)的发明。在现有技术中,对多语言问答给予的关注要少得多。
这样,本发明的一个或多个实施例专注于多语言QA(MLQA)系统。更具体地,本发明的一个或多个实施例通过使用新颖的多语言对抗性语句来训练MLQA系统如何通过使用健壮的MLQA模型来识别多语言攻击,从而解决对MLQA数据集(即,由MLQA系统用来回答问题的上下文/段落)的对抗性攻击的问题。
在本发明的一个或多个实施例中,利用使用转换器的来自转换器的多语言双向编码器表示(例如,MBERT)来训练多语言QA模型,如以下在图7中的示例性细节中所述。转换器是这样的逻辑机制,其从段落中读取整个字词序列,而不受从左到右或从右到左进行读取的约束。即,转换器被定义为识别各种字词如何彼此相关的逻辑,如下面在图4中所示的流程图400的步骤1(元素402)和步骤2(元素404)中所述。
如以下在图4中所述,问题被转换成具有用于回答的占位符的相应语句,该语句然后被用来创建对抗性语句,该对抗性语句“看起来”像正确回答(由于在正确回答中找到的类似术语、段落),但事实上不是。在本发明的一个或多个实施例中,这些对抗性语句包括已经被翻译成一种或多种不同语言的对抗性语句的翻译,这些对抗性语句被用来攻击现有的多语言QA模型并且训练新的多语言QA模型。
一旦建立了经训练的多语言QA模型,它就被人工智能系统用来识别和阻止将对抗性攻击(其包含对抗性语句)返回给正在使用QA系统的提问者。
现在参考图2,示出了根据本发明的一个或多个实施例的在训练问答学习系统以在上下文段落中识别对抗性语句时使用的示例攻击流水线的高级概要。
如图2中所示,原始问题和回答原始问题的原始上下文(例如文本段落、视频文件等)被输入到问题/回答(QA)系统(例如图1中所示的QA对话系统156)的保持部,如框202中所示。如果问题和上下文都是文本,则它们在本发明的一个或多个实施例中采用任何语言。
如框204中所示,将一个或多个对抗性语句添加到原始上下文/段落/回答,这一个或多个对抗性语句是与在原始上下文/段落/回答中找到的信息相矛盾的新语句。
在本发明的一个或多个实施例中,这些以原始问题为模式但是与原始上下文/段落/回答中的信息相冲突的对抗性语句采用与原始问题和/或原始上下文/段落/回答中使用的语言不同的语言。
在本发明的一个或多个实施例中,这些对抗性语句采用与原始问题和/或原始上下文/段落/回答的语言相同的语言。
在本发明的一个或多个实施例中,并且如下面详细描述的,这些对抗性语句具有随机回答随机问题(RARQ)对抗性语句、随机回答原始问题(RAOQ)对抗性语句、无回答随机问题(NARQ)对抗性语句和/或无回答原始问题(NAOQ)对抗性语句的形式,如下面在图3和图4中详细描述的。
如图2的框206中所示,然后在人工智能(AI)系统上针对问题/回答(QA)模型来运行具有添加的对抗性语句的原始上下文。即,具有添加的对抗性语句的原始上下文被用作AI系统的输入,该AI系统已经被问题/回答(QA)模型训练以将特定类型的问题(其匹配原始问题的参数、术语、上下文等)与特定类型的上下文/段落/回答(其匹配原始上下文/段落/回答的参数、术语等)进行匹配。
然而,此时,系统尚未被训练成识别在框204中添加的对抗性语句,并且因此在框208中示出的输出回答可能包含由在框204中添加的对抗性语句引起的错误信息。
现在参考图3,描绘了在本发明的一个或多个实施例中使用的不同类型的对抗性段落。
如框301中所示,假设查询的主题是关于文章“巴黎咖啡馆(Paris Cafes)”。进一步假设呈现给QA系统的原始问题304是“在巴黎最老的咖啡馆是什么?(“What is theoldest caféin Paris?”)”。对该原始问题的正确/原始回答是“X咖啡馆(CaféX)”,其是从框303中所示的原始/正确段落/上下文中导出的,并且位于框303中的位置302处。例如,在该示例中,位置302是框303中所示的原始/正确段落/上下文中的第25个字词的位置。
然而,可以使用对抗性语句(诸如在对抗性段落A(框305)、对抗性段落B(框309)、对抗性段落C(框313)和对抗性段落D(框317)中所示的那些对抗性语句)来修改框303中所示的原始/正确段落/上下文。
通过将问题转换成具有用于回答的占位符的语句来创建被添加到对抗性段落的对抗性语句。可以使用如下所述的攻击方法之一来修改语句,如图3中所示。
因此,并且关于图3,框305中所示的对抗性段落A包括随机回答随机问题(RARQ)对抗性语句307,其中随机回答实体(“公司A(Corporation A)”)被包括在对抗性语句中,并且随机问题实体(“北冰洋(Arctic Ocean)”)替换框301/303中所示的对抗性语句中的正确问题实体(“巴黎(Paris)”)。
框309中所示的对抗性段落B包括随机回答原始问题(RAOQ)对抗性语句311,其中,随机回答实体(“阿拉斯加州(Alaskan Statehood)”)被包括在对抗性语句中,并且来自框301/303中所示的正确回答的特定类型的问题实体(“巴黎(Paris)”)保持相同。
框313中所示的对抗性段落C包括无回答随机问题(NARQ)对抗性语句315,其中,没有添加回答实体(被称为“_”,以说明没有字词),并且随机问题实体(“布鲁克林(Brooklyn)”)替换在框301/303所示的正确回答中找到的正确问题实体(“巴黎(Paris)”)。
框317中所示的对抗性段落D包括无回答原始问题(NAOQ)对抗性语句319,其中,没有添加回答实体(被称为“_”,以说明没有字词),并且来自框301/303中所示的正确回答的正确问题实体(“巴黎(Paris)”)保持相同。
如以上在图2中的框204的讨论中所述,在本发明的一个或多个实施例中,对抗性语句采用除了原始问题和/或原始上下文/段落/回答的语言之外的语言。这样的其它语言的对抗性语句是由QA系统检索到的外语段落、或者由QA系统翻译上述对抗性语句之一的结果。在任一实施例中,框321示出了对抗性段落A',其中RARQ对抗性语句307(“公司A是北冰洋最古老的咖啡馆(Corporation A is the oldest caféin the Arctic Ocean)”)被翻译成德语对抗性语句323(“公司A是北冰洋最古老的咖啡馆(Corporation A ist dasalteste Caféin Arktischen Ozea)”),并且被插入到框303中所示的原始/正确段落中。
现在参考图4,呈现了根据本发明的一个或多个实施例的用于生成图3中所示的示例对抗性语句的步骤的示例性流程图400。
如框402中所示,在本发明的一个或多个实施例中,步骤1对问题412(“什么是巴黎最古老的咖啡馆?(What is the oldest caféin Paris?)”)执行语言预处理步骤,这也在图3中的框301中示出。这些示例语言预处理步骤包括:1)通用依赖解析(UDP),以及2)命名实体识别(NER)。使用标记规则和解析,步骤1识别根术语(例如,元素446),该根术语广泛地识别被询问的问题的类型(“什么”)以及所标记的问题实体426(位置,例如巴黎)。即,在问题412中,该分析使用由解析器生成的对应词性(POS)标签(例如,用于诸如“哪里(where)”之类的副词的wrb和用于诸如“是(is)”之类的动词的vb)来识别焦点字词(例如,哪个、什么等)。该分析导致对解析的深度优先搜索,并且将位于相同级别上的所有POS标志或焦点字词的子字词标记为问题规则的一部分。该方法在用作训练集的问答数据集中创建数千个模式,一些模式仅发生一次。一些示例模式包括“什么nn(what nn)”、“什么vb(what vb)”、“谁vb(who vb)”、“多少”和“什么vb vb(what vb vb)”。
此外,并且在本发明的一个或多个实施例中,系统对问题412中的所有实体(例如,字词)进行标记。
在本发明的一个或多个实施例中,优先权被给予由NER标记的实体,该实体不是问题模式的一部分。然而,当没有找到这样的实体时,系统优选地将查看名词,然后查看动词,以确保更好的覆盖范围。
因此,在图4中所示的示例中,“什么vb(what vb)”是在“什么是巴黎最古老的咖啡馆?”中找到的模式。
如框404中所示,在本发明的一个或多个实施例中,步骤2将问题412转换为语句414。
在本发明的一个或多个实施例中,在步骤1中找到的模式被用于基于常见问题字词:{“谁”、“什么”、“何时”、“为什么”、“哪个”、“哪里”、“如何”}以及用于不具有问题字词的任何模式的笼统用语(catchall)(这些通常是由于格式不当的问题或拼写错误所致,诸如“史密斯先生的祖母的名字是?”),从多个规则中进行选择。该规则将问题412(“什么是巴黎最古老的咖啡馆?”)转换成语句414(“<回答>是巴黎最古老的咖啡馆”),该语句414包含所标记的问题实体426(“巴黎”),并且添加占位符424(<回答(ANSWER)>)来代替根术语“什么是(What is)”(元素446)。
如果在模式中找到的第一个问题字词是“什么(what)”,则规则“什么vb(whatvb)”将用<回答(ANSWER)>代替“什么(what)”,诸如“<回答>是巴黎最古老的咖啡馆(<ANSWER>is the oldest cafe in Paris)”,如语句414中所示。有时,将回答添加到语句的末尾。“何时vb vb(when vb vb)”模式将触发用于“何时(when)”的规则,该规则将“摇滚乐队ABC何时发行了他们的第二张专辑?(When did Rock Band ABC release their secondalbum?)”转换为“摇滚乐队ABC在<回答>发行了他们的第二张专辑(Rock Band ABCreleased their second album in<ANSWER>)”。
如框406中所示,在本发明的一个或多个实施例中,步骤3基于不同的策略生成一个或多个对抗性语句。在图4中所示的示例性实施例中,给定问题412和语句414,生成示例性的攻击语句RARQ 407(类似于图3中所示的对抗性语句307)、攻击语句RAOQ411(类似于图3中所示的对抗性语句311)、攻击语句NARQ 415(类似于图3中所示的对抗性语句315)和攻击语句NAOQ 419(类似于图3中所示的对抗性语句319)。
如图4中所示,生成RARQ 407、RAOQ 411、NARQ 415和NAOQ 419,以基于攻击来替换<回答(ANSWER)>和/或问题实体。在本发明的一个或多个实施例中,候选实体是基于其类型从问答数据集训练数据中找到的实体中随机选择的。回答实体的类型是基于系统在非对抗性设定中为开发/测试问题而预测的实体来选择的。
在本发明的一个或多个实施例中,日期和数字实体不是从问答数据集训练数据中选择的,而是仅仅随机生成的。
候选实体被应用,以使用以下从最复杂到最简单的变换来创建对抗性语句。
RARQ 407是随机回答随机问题对抗性/攻击语句,其具有对占位符424(<回答(ANSWER)>)进行替换的随机回答实体428(“公司A(Corporation A)”),并且其问题实体430(“北冰洋(Arctic Ocean)”)从在语句414中找到的所标记的问题实体426(“巴黎(Paris)”)随机地改变。注意,“公司A(Corporation A)”是对问题412的错误回答,这是故意的,因为RARQ 407将用于训练QA系统如何识别RARQ攻击/对抗性语句。
RAOQ 411是随机回答原始问题攻击/对抗性语句,其具有随机回答实体432(“阿拉斯加州(Alaskan Statehood)”),但是其问题实体426(“巴黎(Paris)”)是在语句414中找到的相同问题实体426。注意,RAOQ 411也是错误的语句,其将用于训练QA系统如何识别RARQ攻击/对抗性语句。
NARQ 415是无回答随机问题攻击/对抗性语句,其在部分436中没有回答实体,并且具有随机生成的问题实体438(“布鲁克林(Brooklyn)”)。注意,NARQ 415也是错误语句,其将用于训练QA系统如何识别RARQ攻击/对抗性语句。
NAOQ 419是无回答原始问题攻击/对抗性语句,其在部分440中没有回答实体,但是包括在语句414中找到的问题实体426(“巴黎(Paris)”)。注意,NAOQ 419也是错误语句,其将用于训练QA系统如何识别NAOQ攻击/对抗性语句。
如框408中所示,步骤4将在步骤3中创建的一个或多个攻击/对抗性语句翻译成另一种语言。即,在本发明的一个或多个实施例中,在步骤3中创建的攻击/对抗性语句最初是使用与由问题所使用的语言(例如,英语)相同的语言来生成的。由于QA系统将评估多语言数据集和模型,因此如果当从图1中所示的文本文档服务器152发送时还没有采用另一种语言,则这些攻击/对抗性语句随后被QA系统翻译成多种其他语言。
例如,RARQ 407攻击/对抗性语句被翻译成德语,以便创建RARQ 423(类似于图3中所示的德语对抗性语句323)。
如框410中所示,步骤5然后将在步骤3和/或步骤4中创建的攻击/对抗性语句随机插入到上下文(例如,图3中的框303中所示的原始/正确段落/上下文)中,以创建图3中所示的对抗性段落A、B、C、D和A'。即,所生成的对抗性语句(例如,RARQ 407、RAOQ 411、NARQ415、NAOQ 419、RARQ 423等)被插入到上下文中的随机位置,诸如图3中的框303中所示的原始/正确段落,其在图4中被示为对抗性段落425。这产生了新实例(Qx,Cy,Ay,Sz),其中x,y,z∈L分别是问题、上下文和语句的语言,并且它们不必相同,如图3中的框305、309、313、317和321中所示。
上述攻击/对抗性语句允许QA系统通过强制它不仅采用一种语言而且采用多种语言预测错误回答来探索MLQA数据集和MBERT的脆弱性,使得问题、上下文和对抗性语句都可以采用相同或不同的语言。
因此,并且现在参考图5,示出了根据本发明的一个或多个实施例的用于在问答对话系统中使用经训练的模型来防御对抗性攻击/语句的示例处理。
如框501中所示,该处理通过检索已知问题及其已知正确回答(例如,诸如图3中的框301中所示的问题回答对)的问题/回答(QA)数据集来开始。
如图5中的框503中所示,将多种类型(例如,RARQ、RAOQ、NARQ和/或NAOQ)和/或多种语言的攻击/对抗性语句添加到(问题回答对的)整个训练数据集的上下文/段落,如图4中所述。
如以上在描述图4时所述,通过将问题412转换成语句414,并且然后将问题412与语句414相关联,创建了QA模型。如图5中的框505中所述,然后修改该QA模型以创建多语言QA(MLQA)模型。在本发明的一个或多个实施例中,MLQA模型是通过两个步骤来创建的。
第一步是故意利用多种语言的一个或多个攻击/对抗性语句来污染/填充段落303,如图4中所述,以便创建用于MLQA模型的附加学习数据。
此外,可以使用相同或不同的攻击而多次利用一个或多个对抗性语句来填充段落,以创建新段落作为用于MLQA模型的附加学习数据。
原始问题/回答/段落和图4中创建的新问题/回答/段落被用于重新训练原始MLQA模型,如图5中所述。
第二步是将对抗性策略引导到利用攻击而重新训练的MLQA模型的版本(即,附加关于如何处理不同语言的各种攻击/对抗性语句的策略),以改进重新训练的MLQA模型。如箭头框506中所示,由人工智能(AI)系统使用强化学习来递归地训练该重新训练的MLQA模型。
如框507中所示,在每次迭代期间,通过具有多种语言的重新训练的MLQA来运行具有对抗性攻击的问题/回答/段落,以评估新重新训练的MLQA模型是否健壮,即不受攻击的影响。
在本发明的一个或多个实施例中,图5中所示的框503和/或框505中所示的处理使用人工智能,诸如图1中所示的人工智能124。根据本发明的一个或多个实施例,这样的人工智能124具有各种形式。这样的形式包括但不限于基于变换器的强化学习系统,该系统利用来自变换器的多语言双向编码器表示(MBERT)、深度神经网络(DNN)、递归神经网络(RNN)、卷积神经网络(CNN)等。
因此,并且在本发明的一个或多个实施例中,下面在图7中描述的MBERT系统是要与如图5中所示的强化学习一起使用的基于变换器的系统。即,变换器和强化学习的组合使得系统能够确定在决定以下各项时使用哪些引导的对抗性策略:1)从诸如图3中的框303中所示的示例段落之类的上下文创建图3和图4中描述的RAOQ对抗性语句、NAOQ对抗性语句等;2)将诸如图4中所示的示例问题412之类的问题翻译成另一种语言;3)和/或将诸如图4中所示的示例语句414之类的回答翻译成另一种语言。
即,在本发明的一个或多个实施例中的强化学习设置中,系统(例如,图1中所示的QA对话系统156)经由策略梯度算法(诸如,(下面讨论的)强化算法)找到一个或多个对抗性策略的最佳组合,然后将这些策略应用于用来训练在每次迭代期间可能新创建的系统防御的大量对抗性语句、翻译等。
如本文中所述,在本发明的一个或多个实施例中,评估候选上下文(例如,图3中的框303、305、309、313、317、321中所示的一个或多个上下文/段落),以确定正确回答在这样的上下文/段落内的位置,即使它们可能已被对抗性状态(例如,图3中所示的元素307、311、315、319、323)破坏。
现在参考图6,示出了本发明的一个或多个实施例的高级概要。
类似于图1中所示的AI 124,变换器模型系统624(即,如本文中所述的通过使用变换器来对上下文进行建模的系统)接收问题604(类似于图3中所示的问题304)和候选上下文600(类似于图3中的框303、305、309、313、317、321中所示的上下文中的一些或全部)作为输入。候选上下文600还具有候选回答位置602,该候选回答位置602示出候选上下文600被预测为在候选上下文600内的何处保持对问题604的正确回答。变换器模型系统624使用这些不同的回答位置602来训练变换器模型系统624如何从候选回答位置602中准确地识别正确回答位置。如由框604所示,在本发明的一个或多个实施例中,问题604、候选上下文600和候选回答位置602被组合成单个组。无论问题604、候选上下文600、和候选回答位置602是否被组合成单个组,在本发明的一个或多个实施例中,控制器601(例如,图1中所示的计算机101)向变换器模型系统624发送不同的问题、候选上下文、和/或候选回答位置,以便训练变换器模型系统624和/或评估不同的问题、候选上下文、和/或候选回答位置。
现在参考图7,示出了在本发明的一个或多个实施例中使用的示例性的来自变换器的多语言双向编码器表示(MBERT)系统724。
MBERT系统724(即,使用人工智能来识别上下文/段落(包括已被如图3和图4中所示的对抗性语句破坏的上下文/段落)内的正确回答术语的位置的训练系统)使用图6中描述的候选上下文600、候选回答位置602和问题604作为输入。这些输入被转换成嵌入(向量)。用于候选回答位置602的嵌入Eap(元素702)描述了候选上下文600内的正确回答的候选位置。嵌入Eq1-Eqn(元素703至705)是表示问题604中的术语的不同向量。嵌入Ecc1-Eccm(元素707至709)是表示候选上下文600中的术语的不同向量。
节点711(即,人工智能计算节点)然后使用权重、算法、偏置等(类似于下面在图9中示出的深度神经网络924的框911中描述的那些)来将候选回答位置602评估为候选上下文600中的正确位置,以提供对问题604的正确回答。
节点711输出它们的置信度713水平,即候选上下文600内的开始于开始位置715并且结束于结束位置717的位置是准确的。该置信度713被输出为回答能力预测719(即,特定开始/结束位置包含对问题604的回答的置信度水平),如开始/结束位置预测721中所示。回答能力预测719和开始/结束位置预测721然后被发送到控制器701。
线723示出了控制器701然后使用与要被MBERT系统724训练的候选上下文/问题/回答位置不同的候选上下文/问题/回答位置,如去往框604的线723所指示的。如图6中那样,根据本发明的一个或多个实施例,这些不同的候选回答位置、问题和/或候选上下文可以被共同地和/或单独地输入到MBERT系统724中。
现在参考图8,示出了QA对话系统800,其利用基于变换器的系统以使用来自候选上下文801(例如,图3中所示的一个或多个段落)的正确回答816来回答问题。
在本发明的一个或多个实施例中,变换器(诸如本文中所讨论的由MBERT使用的那些变换器)将标志(token)(例如句子中的字词)与标志在句子中的位置标识符和句子的句子标识符相组合,以创建嵌入。这些嵌入用于回答给定上下文中的问题,其中给定上下文可以具有或者可以不具有对抗性语句。
强化系统(例如,使用诸如蒙特卡罗策略梯度之类的梯度的强化系统)然后允许系统来学习当语句是对抗性攻击时哪些策略在MLQA模型理解中是有效的。
假定存在多个引导的对抗性策略804,其可用于基于变换器的强化学习系统802来理解对抗性语句(例如,以上在图4中示出的示例对抗性语句)。基于变换器的强化系统(例如QA对话系统800)然后使用基于梯度的算法(诸如强化算法),其应用来自引导的对抗性策略804的各种对抗性策略和回答位置302,直到适当的对抗性语句(例如,RARQ对抗性语句806和/或其对应的经翻译的对抗性语句814,其是通过与攻击图1中所示的QA对话系统156的真实世界类型的对抗性语句进行比较而确定的)不再被认为是最优训练语句。例如,如果问题语句“X咖啡馆是巴黎最古老的咖啡馆(CaféX is the oldest caféin Paris)”被转换成对抗性语句(例如,RARQ对抗性语句“公司A是北冰洋最古老的咖啡馆(Corporation A isthe oldest caféin the Arctic Ocean)”)和/或其经翻译的对抗性语句(“公司A是北冰洋最古老的咖啡馆(Corporation A ist das alteste Caféim Arktischen Ozean)”),其中一个或两个被示出为与实际(或被预测为)攻击QA对话系统156的对抗性语句的类型相匹配,则这些对抗性语句和/或经翻译的对抗性语句被发送到控制器(例如,图1中所示的计算机101)来重新训练MLQA模型(图5中的框505),以运行攻击流水线(图5中的框507)。
在本发明的一个或多个实施例中,基于变换器的学习系统(例如,图6中所示的变换器模型系统624)还将正确语句翻译成另一种语言(经翻译的正确语句和/或原始问题),从而使得QA对话系统156能够处理多种语言的问题/语句,以在执行图4中所述的步骤时使用。
在本发明的一个或多个实施例中,人工智能124利用电子神经网络架构,而不是基于变换器的系统(例如,变换器模型系统624),诸如在具有强化学习系统的深度神经网络(DNN)、卷积神经网络(CNN)或递归神经网络(RNN)中找到的电子神经网络架构。
在优选实施例中,深度神经网络(DNN)用于评估来自从图1中所示的文本文档服务器152接收到的文本语料库的文档中的文本/数字数据,而CNN用于评估来自音频或图像语料库(例如,分别来自图1中所示的音频文件服务器154或视频文件服务器160)的图像。
CNN与DNN的相似之处在于两者都利用互连的电子神经元。然而,CNN与DNN的不同之处在于:1)CNN具有神经层,其大小基于滤波器大小、步幅值、填充值等,以及2)CNN利用卷积方案来分析图像数据。CNN基于对像素数据进行滤波和池化(对两个函数的数学运算)以便生成预测输出(获得结果)的卷积(即,对两个函数的数学运算以获得结果)而获得其“卷积”名称。
RNN与DNN的相似之处也在于两者都利用互连的电子神经元。然而,RNN是简单得多的架构,其中子节点使用权重矩阵和非线性(例如三角函数)来馈送到父节点中,该权重矩阵和非线性被调整,直到父节点产生期望的向量。
电子神经网络(DNN或CNN或RNN)内的逻辑单元被称为“神经元”或“节点”。如果电子神经网络完全以软件来实现,则每个神经元/节点是单独的代码段(即,执行某些动作的指令)。如果电子神经网络完全以硬件来实现,则每个神经元/节点是单独的硬件逻辑块(例如,处理器、门阵列等)。如果电子神经网络被实现为硬件和软件的组合,则每个神经元/节点是指令集和/或硬件逻辑块。
如名称所暗示的,神经网络粗略地仿效生物神经网络(例如,人脑)。生物神经网络由一系列相互影响的相互连接的神经元组成。例如,第一神经元可以通过突触经由释放由第二神经元接收到的神经递质(来自第一神经元)而电连接至第二神经元。这些神经递质可以引起第二神经元变得兴奋或抑制。兴奋/抑制的相互连接的神经元的模式最终导致生物结果,包括思维、肌肉运动、记忆检索等。虽然生物神经网络的这种描述被高度简化,但是高级概要是一个或多个生物神经元影响一个或多个其他生物电连接的生物神经元的操作。
电子神经网络类似地由电子神经元组成。然而,与生物神经元不同,电子神经元在技术上从来不是“抑制的”,而是通常仅在不同程度上是“兴奋的”。
在电子神经网络中,神经元被布置在层中,被称为输入层、隐藏层和输出层。输入层包括神经元/节点,这些神经元/节点获取输入数据,并且将其发送到一系列神经元隐藏层,其中来自隐藏层中的一个层的所有神经元与隐藏层中的下一个层中的所有神经元互连。隐藏层中的最后一层然后将计算结果输出到输出层,输出层通常是用于保持向量信息的一个或多个节点。
在本发明的一个或多个实施例中,深度神经网络用于创建用于问答对话系统的MLQA模型。
然后参考图7,示出了根据本发明的一个或多个实施例的在回答问题时使用作为示例性深度神经网络(DNN)的形式的变换器(即,MBERT系统724的一部分)来创建和利用MLQA模型。
为了说明的目的,假设到变换器/DNN中的输入包括原始问题412(例如,“什么是巴黎最古老的咖啡馆?(What is the oldest caféin Paris?)”)和正确回答位置(例如,“X咖啡馆(CaféX)”在一个或多个候选上下文中的位置)。这样的DNN能够通过对齐回答实体(例如,图4中所示的元素446和元素424)和问题实体(例如,图4中所示的元素426)来使用这些输入创建初始QA模型。
如图8中所示,该DNN(被示出为QA对话系统800)还包含:使用引导的对抗性策略(例如,指示如何识别段落中的各种类型的攻击/对抗性语句的策略)的算法、规则等;RARQ对抗性语句806(其示例在图3和图4中描述);RAOQ对抗性语句808(其示例在图3和图4中描述);NARQ对抗性语句810(其示例在图3和图4中描述);NAOQ对抗性语句812(其示例在图3和图4中描述);以及这些对抗性语句的翻译(例如,图4中所示的423),其被示出为输入到上下文801中的经翻译的对手语句814。即,虽然可以理解,RARQ对抗性语句806、RAOQ对抗性语句808、NARQ对抗性语句810、NAOQ对抗性语句812和/或经翻译的对抗性语句814是上下文801的一部分(被结合到其中),但是仅为了清楚起见而将它们示出在图8中的不同框中。
在DNN/QA对话系统800中使用的算法、规则等能够递归地定义和细化经训练的MLQA模型。
图9描绘了示例性的经训练的深度神经网络(DNN)924的高级概要,该DNN可以用于在对新问题901进行响应时提供建议的回答上下文/段落902中的正确回答位置915。
当自动调整时,使用“反向传播”来调整数学函数、输出值、权重和/或偏置,其中“梯度下降”方法确定应当如何调整每个数学函数、输出值、权重和/或偏置,以便提供准确的输出917。也就是说,递归地调整用于示例性节点909的框911中所示的数学函数、输出值、权重和/或偏置值,直到达到经训练的MLQA模型915的期望向量值。
新问题901(例如,“什么是马德里最古老的咖啡馆?(What is the oldest caféinMadrid?)”)以及建议的回答上下文/段落902(例如由诸如上文所述的问题/回答数据库提供)也被输入到输入层903中,输入层在将这样的信息传递到中间层905之前处理这样的信息。即,使用以上在图3-图5中描述的类似处理,新问题901中的一个或多个回答实体和一个或多个问题实体用于从QA数据集中检索回答(类似于由语句414所描述的回答),QA数据集用于从上下文/段落中检索类似类型的回答。DNN 924确定这些上下文/段落中的一个或多个以正确地回答新问题1001,而忽略对抗性语句。
这样,框911中所示的并且在DNN 924中的一个或多个神经元或所有神经元中找到的元素“数学函数、输出值、权重、偏置值”使得输出层907创建输出917,该输出917包括针对新问题901的正确回答(包括在包含针对新问题901的对抗性语句的段落中找到的那些回答)的正确回答位置915。
在本发明的一个或多个实施例中,正确回答位置915随后被返回给提问者。
这样,在本发明的一个或多个实施例中,本发明不是仅仅在上下文/段落中寻找对特定类型问题(“什么是巴黎最古老的咖啡馆?(What is the oldest caféin Paris?)”)的特定已知正确回答(“X咖啡馆(CaféX)”),而是寻找特定类型问题的正确回答的正确回答位置,从而提供了比单纯的字词搜索程序更健壮的系统。
现在参考图10,示出了根据本发明的一个或多个实施例执行的一个或多个步骤的高级流程图。
在启动框1002之后,计算设备(例如,图1中所示的计算机101和/或人工智能124和/或QA问答对话系统156,被实现为图7中所示的MBERT系统724,和/或DNN)访问能够对问答对话系统进行对抗性攻击的多个对抗性语句(例如,图3中所示的元素307、311、315、319),如框1004中所示。图1中所示的问答对话系统(例如人工智能124和/或QA问答对话系统156)是一种QA系统,其被设计/训练为提供对特定类型的问题(诸如“什么是某个城市最古老的咖啡馆?(What is the oldest caféin acertain city?)”)的正确回答。
如框1006中所示,在训练机器学习模型(例如,图9中所示的经训练的MLQA模型915)时使用多个对抗性语句。
如框1008中所示,计算设备通过将识别多种类型的对抗性语句的对抗性策略(例如,图8中所示的引导的对抗性策略804)引导到经训练的机器学习模型上来强化经训练的机器学习模型。
如框1010中所示,计算设备利用经训练的和引导的机器学习模型(例如,经更新的和引导的经训练的MLQA模型)以在对提交给图8中所示的问答对话系统800(例如,图7中所示的MBERT系统724)的问题进行响应时避免对抗性攻击。
如由线1014所示,该处理通过返回到框1004以递归方式操作,直到确定QA对话系统被适当地训练(例如,通过超过用于识别和克服对抗性语句的正确百分比的预定水平)。
流程图在终止框1012处结束。
在本发明的一个或多个实施例中,由计算设备对经训练的和引导的机器学习模型进行测试:将用于问答对话系统的问题转换成具有用于回答的占位符的语句;从回答中随机挑选回答实体,并且添加随机挑选的回答实体来代替占位符,以生成对抗性语句;利用包含对抗性语句的问题和上下文/段落来生成对经训练的和引导的机器学习模型的攻击;测量来自经训练的和引导的机器学习模型的对所生成的攻击的响应;以及修改经训练的和引导的机器学习模型,以便增加对所生成的攻击的响应的响应水平。
即,如图3-图10中所示,计算设备将用于问答对话系统的问题转换成具有用于回答的占位符的语句(例如,参见图4中的步骤1和步骤2)。计算设备然后从回答中随机挑选回答实体,并且添加随机挑选的回答实体来代替占位符,以生成对抗性语句(例如,参见图4中的步骤3)。如本文中所述,该处理将对抗性语句随机输入到段落(例如,上下文/段落)中以创建对抗性段落。计算设备然后利用包含对抗性段落的问题和上下文/段落来生成对经训练的和引导的机器学习模型的攻击(例如,参见图2中的框206和/或图5中的框507),并且(例如,由图9中所示的经训练的DNN 924中的神经元)测量来自经训练的和引导的机器学习模型的对所生成的攻击的响应。计算设备最终修改经训练的和引导的机器学习模型,以便(例如,通过图9中所示的DNN 924中的反向传播)增加对所生成的攻击的响应的响应水平(即,更清楚地指示攻击已到位)。
在本发明的一个或多个实施例中,多个对抗性语句包括采用第一语言的第一对抗性语句和采用不同的第二语言的第二对抗性语句,尽管第一对抗性语句和第二对抗性语句都提供对问题的相同的错误回答。例如,第一对抗性语句(例如,图3中所示的RARQ 307-“公司A是北冰洋最古老的咖啡馆(Corporation A is the oldest caféin the ArcticOcean)”)采用第一语言(英语),而第二对抗性语句(例如,图3中所示的RARQ 323-“公司A是北冰洋最古老的咖啡馆(Corporation A ist das alteste Caféin Arktischen Ozean)”)采用不同的第二语言(德语),尽管两个对抗性语句都提供了对问题“什么是巴黎最古老的咖啡馆?(What is the oldest caféin Paris?)”的相同的错误回答。这样,并且如本文中所述,QA训练系统(例如,DNN 924)能够适应不同语言的对抗性语句。
在本发明的一个或多个实施例中,计算设备生成RARQ对抗性语句、RAOQ对抗性语句、NARQ对抗性语句和/或NAOQ对抗性语句(例如,通过实际生成这些对抗性语句中的一个或多个)。
在本发明的一个或多个实施例中,计算设备(例如,从之前已创建的数据集中)检索RARQ对抗性语句、RAOQ对抗性语句、NARQ对抗性语句和/或NAOQ对抗性语句。
在本发明的一个或多个实施例中,计算设备利用所生成的或检索到的RARQ对抗性语句、RAOQ对抗性语句、NARQ对抗性语句和/或NAOQ对抗性语句作为输入来进一步训练用于问答对话系统的机器学习模型以识别对抗性语句(参见本专利申请的图6)。
在本发明的一个或多个实施例中,一次将多个对抗性语句随机放置到单个上下文/段落中。
在本发明的一个或多个实施例中,单独将多个对抗性语句随机放置到单个上下文/段落中,其中具有新的对抗性语句的每个原始上下文/段落变成新的上下文/段落。
因此,本文中描述了一种新颖的多语言QA系统,其中问题、上下文和对抗性语句可以采用相同或不同的语言。可以采用一种语言生成对抗性/攻击语句,然后将其翻译成其他语言,或者可以采用不同的语言接收它们。无论哪种方式,本文中描述的QA系统利用了可以处理多种语言的单个经训练的MLQA模型,使得QA系统对攻击的防御是有效的,无论该模型是零样本(zero-shot)的(在问题、上下文和对抗性语句采用与测试数据不同的语言的数据上训练)和/或是多语言的(在问题、上下文和对抗性语句采用两种或多种不同的语言的数据上训练)。
在一个或多个实施例中,本发明使用云计算来实现。尽管如此,应当预先理解,尽管本公开包括关于云计算的详细描述,但是本文中记载的教导的实现不限于云计算环境。相反,本发明的实施例能够结合现在已知或以后开发的任何其它类型的计算环境来实现。
云计算是一种服务交付模型,用于实现对可配置计算资源(例如,网络、网络带宽、服务器、处理、存储器、存储、应用、虚拟机和服务)的共享池的方便的按需网络访问,该可配置计算资源可以以最小的管理工作或与服务的提供商的交互来快速供应和释放。该云模型包括至少五个特性、至少三个服务模型和至少四个部署模型。
特征如下:
按需自助服务:云消费者可以单方面地自动地根据需要提供计算能力,诸如服务器时间和网络存储,而不需要与服务的提供商进行人工交互。
广泛的网络访问:能力在网络上可用,并且通过促进由异构的瘦或胖客户端平台(例如,移动电话、膝上型计算机和PDA)使用的标准机制来访问。
资源池化:提供商的计算资源被池化以使用多租户模型为多个消费者服务,其中不同的物理和虚拟资源根据需求被动态地分配和重新分配。存在位置无关的感觉,因为消费者通常对所提供的资源的确切位置没有控制或了解,但是仍然能够在较高抽象级别(例如,国家、州或数据中心)指定位置。
快速弹性:可以快速且弹性地、在一些情况下自动地提供能力,以快速向外扩展并且快速释放以快速向内扩展。对于消费者,可用于提供的能力通常看起来不受限制,并且可以在任何时间以任何数量购买。
测量服务:云系统通过利用在适合于服务类型(例如,存储、处理、带宽和活动用户账户)的某个抽象级别的计量能力来自动地控制和优化资源使用。可以监视、控制和报告资源使用,从而为所利用的服务的提供商和消费者两者提供透明度。
软件即服务(SaaS):提供给消费者的能力是使用在云基础设施上运行的提供商的应用。可以通过诸如网络(web)浏览器(例如,基于网络(web)的电子邮件)之类的瘦客户端接口从各种客户端设备来访问应用。消费者不管理或控制包括网络、服务器、操作系统、存储、或甚至个别应用能力在内的底层云基础设施,可能的例外是有限的特定于用户的应用配置设定。
平台即服务(PaaS):提供给消费者的能力是将消费者创建或获取的应用部署到云基础设施上,该消费者创建或获取的应用是使用由提供商支持的编程语言和工具创建的。消费者不管理或控制包括网络、服务器、操作系统或存储在内的底层云基础设施,但是具有对部署的应用和可能的应用托管环境配置的控制。
基础设施即服务(IaaS):提供给消费者的能力是提供处理、存储、网络和其它基本计算资源,消费者能够在其中部署和运行任意软件,该软件可以包括操作系统和应用。消费者不管理或控制底层云基础设施,但是具有对操作系统、存储、部署的应用的控制,以及可能对选择的联网组件(例如,主机防火墙)的有限控制。
部署模型如下:
私有云:云基础设施仅为组织操作。在一个或多个实施例中,它由组织或第三方管理和/或存在于场所内或场所外。
社区云:云基础设施由若干组织共享,并且支持具有共享关注(例如,任务、安全要求、策略和合规性考虑)的特定社区。在一个或多个实施例中,它由组织或第三方管理和/或存在于场所内或场所外。
公共云:云基础设施可用于一般公众或大型行业群体,并且由销售云服务的组织拥有。
混合云:云基础设施是两个或多个云(私有云、社区云或公共云)的组合,这些云仍然是唯一的实体,但是通过实现数据和应用的可移植性的标准化或私有技术(例如,用于云之间的负载均衡的云爆发)绑定在一起。
云计算环境是面向服务的,其焦点在于无状态、低耦合、模块化和语义互操作性。云计算的核心是包括互连节点的网络的基础设施。
现在参考图11,描绘了说明性的云计算环境50。如图所示,云计算环境50包括一个或多个云计算节点10,由云消费者使用的本地计算设备(诸如,例如个人数字助理(PDA)或蜂窝电话54A、台式计算机54B、膝上型计算机54C和/或汽车计算机系统54N)与这一个或多个云计算节点10彼此通信。此外,节点10彼此通信。在一个实施例中,这些节点被物理地或虚拟地分组(未示出)在一个或多个网络中,诸如上文描述的私有云、社区云、公共云或混合云或其组合。这允许云计算环境50提供基础设施、平台和/或软件作为服务,云消费者不需要为其维护本地计算设备上的资源。应当理解,图11中所示的计算设备54A-54N的类型仅旨在说明,并且计算节点10和云计算环境50可以在任何类型的网络和/或网络可寻址连接上(例如,使用网络浏览器)与任何类型的计算机化设备进行通信。
现在参考图12,示出了由云计算环境50(图11)提供的一组功能抽象层。应当预先理解,图12中所示的组件、层和功能仅旨在说明,并且本发明的实施例不限于此。
如所描绘的,提供了以下层和相应的功能:
硬件和软件层60包括硬件和软件组件。硬件组件的示例包括:大型机61;基于RISC(精简指令集计算机)架构的服务器62;服务器63;刀片服务器64;存储装置65;以及网络和网络组件66。在一些实施例中,软件组件包括网络应用服务器软件67和数据库软件68。
虚拟化层70提供抽象层,从该抽象层,在一个或多个实施例中提供了虚拟实体的以下示例:虚拟服务器71;虚拟存储器72;虚拟网络73,包括虚拟专用网络;虚拟应用和操作系统74;以及虚拟客户端75。
在一个示例中,管理层80提供以下描述的功能。资源供应81提供用于在云计算环境内执行任务的计算资源和其它资源的动态采购。计量和定价82提供当在云计算环境中利用资源时的成本跟踪,以及对于消耗这些资源计费或开发票。在一个示例中,这些资源包括应用软件许可证。安全性为云消费者和任务提供身份验证,以及为数据和其他资源提供保护。用户门户83为消费者和系统管理员提供对云计算环境的访问。服务水平管理84提供云计算资源分配和管理,使得满足所需的服务水平。服务水平协议(SLA)规划和履行85提供对云计算资源的预安排和采购,其中根据SLA来预期未来需求。
工作负载层90提供在一个或多个实施例中利用云计算环境所的功能的示例。从该层提供的工作负载和功能的示例包括:绘图和导航91;软件开发和生命周期管理92;虚拟教室教育传送93;数据分析处理94;事务处理95;以及QA对话系统保护处理96,其执行本文中描述的本发明的一个或多个特征。
本文中所用的术语仅是为了描述特定实施例的目的,而不是旨在限制本发明。如本文中所用,单数形式“一(a)”、“一个(an)”和“该(the)”旨在也包括复数形式,除非上下文另有明确指示。还将理解,术语“包括(comprises)”和/或“包含(comprising)”当在本说明书中使用时,指定所述的特征、整体、步骤、操作、元件和/或组件的存在,但是不排除一个或多个其它特征、整体、步骤、操作、元件、组件和/或其群组的存在或添加。
以下权利要求中的所有装置或步骤加功能元件的对应结构、材料、动作和等同物旨在包括用于与如具体要求保护的其它要求保护的元件相组合地执行功能的任何结构、材料或动作。为了说明和描述的目的,已经给出了本发明的各种实施例的描述,但是不是旨在穷举或将本发明限制为所公开的形式。在不偏离本发明的范围和精神的情况下,许多修改和变型对于本领域的普通技术人员来说将是明显的。选择和描述实施例是为了最好地解释本发明的原理和实际应用,并且使得本领域的其他普通技术人员能够理解本发明的具有各种修改的各种实施例,这些修改适合于所预期的特定用途。
在本发明的一个或多个实施例中,本公开中描述的任何方法都是通过使用VHDL(VHSIC硬件描述语言)程序和VHDL芯片来实现的。VHDL是用于现场可编程门阵列(FPGA)、专用集成电路(ASIC)和其它类似电子设备的示例性设计输入语言。因此,在本发明的一个或多个实施例中,这里描述的任何软件实现的方法由基于硬件的VHDL程序来仿真,然后将其应用到VHDL芯片,例如FPGA。
因此已经详细地并且通过参考其说明性实施例描述了本申请的本发明的实施例,将明显的是,在不偏离所附权利要求中限定的本发明的范围的情况下,修改和变型是可能的。

Claims (20)

1.一种方法,包括:
由计算设备访问能够对问答对话系统进行对抗性攻击的多个对抗性语句,其中,所述问答对话系统被训练为提供对特定类型的问题的正确回答;
由所述计算设备利用所述多个对抗性语句来训练用于所述问答对话系统的机器学习模型;
由所述计算设备通过将识别多种类型的对抗性语句的对抗性策略引导到经训练的机器学习模型上来强化经训练的机器学习模型;以及
由所述计算设备利用经训练的和引导的机器学习模型以在对提交给所述问答对话系统的问题进行响应时避免对抗性攻击。
2.根据权利要求1所述的方法,还包括通过以下操作来测试经训练的和引导的机器学习模型:
由所述计算设备将用于所述问答对话系统的问题转换成具有用于回答的占位符的语句;
由所述计算设备从所述回答中随机挑选回答实体,并且添加随机挑选的回答实体来代替所述占位符,以生成对抗性语句;
由所述计算设备利用所述对抗性语句来生成对经训练的和引导的机器学习模型的攻击;
由所述计算设备测量由经训练的和引导的机器学习模型对所生成的攻击的响应;以及
由所述计算机设备修改经训练的和引导的机器学习模型,以便增加对所生成的攻击的所述响应的响应水平。
3.根据权利要求1所述的方法,其中,所述多个对抗性语句包括采用第一语言的第一对抗性语句和采用不同的第二语言的第二对抗性语句,并且其中,所述第一对抗性语句和所述第二对抗性语句都提供对所述问题的相同的错误回答。
4.根据权利要求1所述的方法,其中,所述正确回答包括正确回答实体并且与正确问题实体相关联,并且其中,所述方法还包括:
由所述计算设备生成随机回答随机问题RARQ对抗性语句,其中,所述RARQ是第一类型的攻击语句,其中,所述RARQ对抗性语句包括对所述正确回答中的所述正确回答实体进行替换的随机回答实体,并且其中,所述RARQ对抗性语句包括对所述正确回答中的所述正确问题实体进行替换的随机问题实体;
由所述计算设备生成随机回答原始问题RAOQ对抗性语句,其中,所述RAOQ对抗性语句是第二类型的攻击语句,其中,所述RAOQ对抗性语句包括对所述正确回答中的所述正确回答实体进行替换的随机回答实体,并且其中,所述RAOQ对抗性语句包括来自所述正确回答的所述正确问题实体;
由所述计算设备生成无回答随机问题NARQ对抗性语句,其中,所述NARQ对抗性语句是第三类型的攻击语句,其中,所述NARQ对抗性语句用无回答来替换所述正确回答中的所述正确回答实体,并且其中,所述NARQ对抗性语句包括对所述正确回答中的所述正确问题实体进行替换的随机问题实体;
由所述计算设备生成无回答原始问题NAOQ对抗性语句,其中,所述NAOQ对抗性语句是第四类型的攻击语句,其中,所述NAOQ对抗性语句用无回答来替换所述正确回答中的所述正确回答实体,并且其中,所述NAOQ对抗性语句包括来自所述正确回答的所述正确问题实体;以及
由所述计算设备利用所述RARQ对抗性语句、RAOQ对抗性语句、NARQ对抗性语句和NAOQ对抗性语句作为输入来进一步在上下文段落内训练用于所述问答对话系统的所述机器学习模型,以识别对抗性语句。
5.根据权利要求1所述的方法,其中,所述正确回答包括正确回答实体并且与正确问题实体相关联,并且其中,所述方法还包括:
检索随机回答随机问题RARQ对抗性语句,其中,所述RARQ对抗性语句是第一类型的攻击语句,其中,所述RARQ对抗性语句包括对所述正确回答中的所述正确回答实体进行替换的随机回答实体,并且其中,所述RARQ对抗性语句包括对所述正确回答中的所述正确问题实体进行替换的随机问题实体;
检索随机回答原始问题RAOQ对抗性语句,其中,所述RAOQ是第二类型的攻击语句,其中,所述RAOQ对抗性语句包括对所述正确回答中的所述正确回答实体进行替换的随机回答实体,并且其中,所述RAOQ对抗性语句包括来自所述正确回答的所述正确问题实体;
检索无回答随机问题NARQ对抗性语句,其中,所述NARQ对抗性语句是第三类型的攻击语句,其中,所述NARQ对抗性语句用无回答来替换所述正确回答中的所述正确回答实体,并且其中,所述NARQ对抗性语句包括对所述正确回答中的所述正确问题实体进行替换的随机问题实体;
检索无回答原始问题NAOQ对抗性语句,其中,所述NAOQ对抗性语句是第四类型的攻击语句,其中,所述NAOQ对抗性语句用无回答来替换所述正确回答中的所述正确回答实体,并且其中,所述NAOQ对抗性语句包括来自所述正确回答的所述正确问题实体;以及
由所述计算设备利用所述RARQ对抗性语句、RAOQ对抗性语句、NARQ对抗性语句和NAOQ对抗性语句作为输入来进一步在上下文段落内训练用于所述问答对话系统的所述机器学习模型,以识别和忽略对抗性语句。
6.根据权利要求1所述的方法,其中,所述正确回答包括正确回答实体和正确问题实体,并且其中,所述方法还包括:
检索随机回答原始问题RAOQ对抗性语句,其中,所述RAOQ对抗性语句包括对所述正确回答中的所述正确回答实体进行替换的随机回答实体,并且其中,所述RAOQ对抗性语句包括来自所述正确回答的所述正确问题实体;以及
由所述计算设备利用所述RAOQ对抗性语句作为输入来进一步训练用于所述问答对话系统的所述机器学习模型,以识别和忽略对抗性语句。
7.根据权利要求1所述的方法,其中,所述正确回答包括正确回答实体和正确问题实体,并且其中,所述方法还包括:
检索无回答随机问题NARQ对抗性语句,其中,所述NARQ对抗性语句用无回答来替换所述正确回答中的所述正确回答实体,并且其中,所述NARQ对抗性语句包括对所述正确回答中的所述正确问题实体进行替换的随机问题实体;以及
由所述计算设备利用所述NARQ对抗性语句作为输入来进一步训练用于所述问答对话系统的所述机器学习模型,以识别和忽略对抗性语句。
8.根据权利要求1所述的方法,其中,所述正确回答包括正确回答实体和正确问题实体,并且其中,所述方法还包括:
检索无回答原始问题NAOQ对抗性语句,其中,所述NAOQ对抗性语句用无回答来替换所述正确回答中的所述正确回答实体,并且其中,所述NAOQ对抗性语句包括来自所述正确回答的所述正确问题实体;以及
由所述计算设备利用所述NAOQ对抗性语句作为输入来进一步训练用于所述问答对话系统的所述机器学习模型,以识别和忽略对抗性语句。
9.一种计算机程序产品,包括具有体现在其中的程序代码的计算机可读存储介质,其中,所述计算机可读存储介质本身不是瞬态信号本身,其中,所述程序代码是由处理器可读和可执行的,以执行避免对问答对话系统的对抗性攻击的方法,并且其中,所述方法包括:
访问能够对问答对话系统进行对抗性攻击的多个对抗性语句,其中,所述问答对话系统被训练为提供对特定类型的问题的正确回答;
利用所述多个对抗性语句来训练用于所述问答对话系统的机器学习模型;
通过将识别多种类型的对抗性语句的对抗性策略引导到经训练的机器学习模型上来强化经训练的机器学习模型;以及
利用经训练的和引导的机器学习模型以在对提交给所述问答对话系统的问题进行响应时避免对抗性攻击。
10.根据权利要求9所述的计算机程序产品,其中,所述方法还包括通过以下操作来测试经训练的和引导的机器学习模型:
将用于所述问答对话系统的问题转换成具有用于回答的占位符的语句;
从所述回答中随机挑选回答实体,并且添加随机挑选的回答实体来代替所述占位符,以生成对抗性语句;
将所述对抗性语句随机输入到段落中以创建对抗性段落;
利用所述对抗性段落来生成对经训练的和引导的机器学习模型的攻击;
测量由经训练的和引导的机器学习模型对所生成的攻击的响应;以及
由所述计算机设备修改经训练的和引导的机器学习模型,以便增加对所生成的攻击的所述响应的响应水平。
11.根据权利要求9所述的计算机程序产品,其中,所述多个对抗性语句包括采用第一语言的第一对抗性语句和采用不同的第二语言的第二对抗性语句,并且其中,所述第一对抗性语句和所述第二对抗性语句都提供对所述问题的相同的错误回答。
12.根据权利要求9所述的计算机程序产品,其中,所述正确回答包括正确回答实体并且与正确问题实体相关联,并且其中,所述方法还包括:
生成随机回答随机问题RARQ对抗性语句,其中,所述RARQ对抗性语句是第一类型的攻击语句,其中,所述RARQ对抗性语句包括对所述正确回答中的所述正确回答实体进行替换的随机回答实体,并且其中,所述RARQ对抗性语句包括对所述正确回答中的所述正确问题实体进行替换的随机问题实体;
生成随机回答原始问题RAOQ对抗性语句,其中,所述RAOQ对抗性语句是第二类型的攻击语句,其中,所述RAOQ对抗性语句包括对所述正确回答中的所述正确回答实体进行替换的随机回答实体,并且其中,所述RAOQ对抗性语句包括来自所述正确回答的所述正确问题实体;
生成无回答随机问题NARQ对抗性语句,其中,所述NARQ对抗性语句是第三类型的攻击语句,其中,所述NARQ对抗性语句用无回答来替换所述正确回答中的所述正确回答实体,并且其中,所述NARQ对抗性语句包括对所述正确回答中的所述正确问题实体进行替换的随机问题实体;
生成无回答原始问题NAOQ对抗性语句,其中,所述NAOQ对抗性语句是第四类型的攻击语句,其中,所述NAOQ对抗性语句用无回答来替换所述正确回答中的所述正确回答实体,并且其中,所述NAOQ对抗性语句包括来自所述正确回答的所述正确问题实体;以及
由所述计算设备利用所述RARQ对抗性语句、RAOQ对抗性语句、NARQ对抗性语句和NAOQ对抗性语句作为输入来进一步在上下文段落内训练用于所述问答对话系统的所述机器学习模型,以识别和忽略对抗性语句。
13.根据权利要求9所述的计算机程序产品,其中,所述正确回答包括正确回答实体并且与正确问题实体相关联,并且其中,所述方法还包括:
检索随机回答随机问题RARQ对抗性语句,其中,所述RARQ对抗性语句是第一类型的攻击语句,其中,所述RARQ对抗性语句包括对所述正确回答中的所述正确回答实体进行替换的随机回答实体,并且其中,所述RARQ对抗性语句包括对所述正确回答中的所述正确问题实体进行替换的随机问题实体;
检索随机回答原始问题RAOQ对抗性语句,其中,所述RAOQ是第二类型的攻击语句,其中,所述RAOQ对抗性语句包括对所述正确回答中的所述正确回答实体进行替换的随机回答实体,并且其中,所述RAOQ对抗性语句包括来自所述正确回答的所述正确问题实体;
检索无回答随机问题NARQ对抗性语句,其中,所述NARQ对抗性语句是第三类型的攻击语句,其中,所述NARQ对抗性语句用无回答来替换所述正确回答中的所述正确回答实体,并且其中,所述NARQ对抗性语句包括对所述正确回答中的所述正确问题实体进行替换的随机问题实体;
检索无回答原始问题NAOQ对抗性语句,其中,所述NAOQ对抗性语句是第四类型的攻击语句,其中,所述NAOQ对抗性语句用无回答来替换所述正确回答中的所述正确回答实体,并且其中,所述NAOQ对抗性语句包括来自所述正确回答的所述正确问题实体;以及
由所述计算设备利用所述RARQ对抗性语句、RAOQ对抗性语句、NARQ对抗性语句和NAOQ对抗性语句作为输入来进一步在上下文段落内训练用于所述问答对话系统的所述机器学习模型,以识别和忽略对抗性语句。
14.根据权利要求9所述的计算机程序产品,其中,所述正确回答包括正确回答实体和正确问题实体,并且其中,所述方法还包括:
检索随机回答原始问题RAOQ对抗性语句,其中,所述RAOQ对抗性语句包括对所述正确回答中的所述正确回答实体进行替换的随机回答实体,并且其中,所述RAOQ对抗性语句包括来自所述正确回答的所述正确问题实体;以及
利用所述RAOQ对抗性语句作为输入来进一步训练用于所述问答对话系统的所述机器学习模型,以识别和忽略对抗性语句。
15.根据权利要求9所述的计算机程序产品,其中,所述正确回答包括正确回答实体和正确问题实体,并且其中,所述方法还包括:
检索无回答随机问题NARQ对抗性语句,其中,所述NARQ对抗性语句用无回答来替换所述正确回答中的所述正确回答实体,并且其中,所述NARQ对抗性语句包括对所述正确回答中的所述正确问题实体进行替换的随机问题实体;以及
利用所述NARQ对抗性语句作为输入来进一步训练用于所述问答对话系统的所述机器学习模型,以识别和忽略对抗性语句。
16.根据权利要求9所述的计算机程序产品,其中,所述正确回答包括正确回答实体和正确问题实体,并且其中,所述方法还包括:
检索无回答原始问题NAOQ对抗性语句,其中,所述NAOQ对抗性语句用无回答来替换所述正确回答中的所述正确回答实体,并且其中,所述NAOQ对抗性语句包括来自所述正确回答的所述正确问题实体;以及
利用所述NAOQ对抗性语句作为输入来进一步训练用于所述问答对话系统的所述机器学习模型,以识别和忽略对抗性语句。
17.根据权利要求9所述的计算机程序产品,其中,所述程序代码被提供为云环境中的服务。
18.一种计算机系统,包括一个或多个处理器、一个或多个计算机可读存储器、一个或多个计算机可读非暂态存储介质、以及存储在所述一个或多个计算机可读非暂态存储介质中的至少一个上的程序指令,所述程序指令用于由所述一个或多个处理器中的至少一个处理器经由所述一个或多个计算机可读存储器中的至少一个计算机可读存储器来执行,所存储的程序指令被执行以执行一种方法,所述方法包括:
访问能够对问答对话系统进行对抗性攻击的多个对抗性语句,其中,所述问答对话系统被训练为提供对特定类型的问题的正确回答;
利用所述多个对抗性语句来训练用于所述问答对话系统的机器学习模型;
通过将识别多种类型的对抗性语句的对抗性策略引导到经训练的机器学习模型上来强化经训练的机器学习模型;以及
利用经训练的和引导的机器学习模型以在对提交给所述问答对话系统的问题进行响应时避免对抗性攻击。
19.根据权利要求18所述的计算机系统,其中,所述正确回答包括正确回答实体并且与正确问题实体相关联,并且其中,所述方法还包括:
检索随机回答随机问题RARQ对抗性语句,其中,所述RARQ对抗性语句是第一类型的攻击语句,其中,所述RARQ对抗性语句包括对所述正确回答中的所述正确回答实体进行替换的随机回答实体,并且其中,所述RARQ对抗性语句包括对所述正确回答中的所述正确问题实体进行替换的随机问题实体;
检索随机回答原始问题RAOQ对抗性语句,其中,所述RAOQ是第二类型的攻击语句,其中,所述RAOQ对抗性语句包括对所述正确回答中的所述正确回答实体进行替换的随机回答实体,并且其中,所述RAOQ对抗性语句包括来自所述正确回答的所述正确问题实体;
检索无回答随机问题NARQ对抗性语句,其中,所述NARQ对抗性语句是第三类型的攻击语句,其中,所述NARQ对抗性语句用无回答来替换所述正确回答中的所述正确回答实体,并且其中,所述NARQ对抗性语句包括对所述正确回答中的所述正确问题实体进行替换的随机问题实体;
检索无回答原始问题NAOQ对抗性语句,其中,所述NAOQ对抗性语句是第四类型的攻击语句,其中,所述NAOQ对抗性语句用无回答来替换所述正确回答中的所述正确回答实体,并且其中,所述NAOQ对抗性语句包括来自所述正确回答的所述正确问题实体;以及
由所述计算设备利用所述RARQ对抗性语句、RAOQ对抗性语句、NARQ对抗性语句和NAOQ对抗性语句作为输入来进一步在上下文段落内训练用于所述问答对话系统的所述机器学习模型,以识别和忽略对抗性语句。
20.根据权利要求18所述的计算机系统,其中,所存储的程序指令被提供为云环境中的服务。
CN202180071089.9A 2020-10-21 2021-08-30 训练问答对话系统以避免对抗性攻击 Pending CN116324804A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/076,031 US11520829B2 (en) 2020-10-21 2020-10-21 Training a question-answer dialog sytem to avoid adversarial attacks
US17/076,031 2020-10-21
PCT/CN2021/115391 WO2022083291A1 (en) 2020-10-21 2021-08-30 Training question-answer dialog system to avoid adversarial attacks

Publications (1)

Publication Number Publication Date
CN116324804A true CN116324804A (zh) 2023-06-23

Family

ID=81186490

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180071089.9A Pending CN116324804A (zh) 2020-10-21 2021-08-30 训练问答对话系统以避免对抗性攻击

Country Status (6)

Country Link
US (2) US11520829B2 (zh)
JP (1) JP2023545994A (zh)
CN (1) CN116324804A (zh)
DE (1) DE112021004694T5 (zh)
GB (1) GB2615666A (zh)
WO (1) WO2022083291A1 (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220391595A1 (en) * 2021-06-02 2022-12-08 Oracle International Corporation User discussion environment interaction and curation via system-generated responses
CN114648032B (zh) * 2022-05-23 2022-08-19 腾讯科技(深圳)有限公司 语义理解模型的训练方法、装置和计算机设备
CN115938530B (zh) * 2023-01-09 2023-07-07 人工智能与数字经济广东省实验室(广州) 抗后门攻击的智能医疗影像诊断意见自动生成方法
CN117131945A (zh) * 2023-10-26 2023-11-28 北京睿企信息科技有限公司 一种用于llm模型的数据训练方法及存储介质

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9684876B2 (en) 2015-03-30 2017-06-20 International Business Machines Corporation Question answering system-based generation of distractors using machine learning
US9996533B2 (en) 2015-09-30 2018-06-12 International Business Machines Corporation Question answering system using multilingual information sources
US11250332B2 (en) 2016-05-11 2022-02-15 International Business Machines Corporation Automated distractor generation by performing disambiguation operations
CN108509463B (zh) * 2017-02-28 2022-03-29 华为技术有限公司 一种问题的应答方法及装置
US11373632B2 (en) * 2017-05-10 2022-06-28 Oracle International Corporation Using communicative discourse trees to create a virtual persuasive dialogue
CN107423437B (zh) 2017-08-04 2020-09-01 逸途(北京)科技有限公司 一种基于对抗网络强化学习的问答模型优化方法
CN108595629B (zh) 2018-04-24 2021-08-06 北京慧闻科技发展有限公司 用于答案选择系统的数据处理方法及应用
US11481416B2 (en) * 2018-07-12 2022-10-25 International Business Machines Corporation Question Answering using trained generative adversarial network based modeling of text
US11275841B2 (en) 2018-09-12 2022-03-15 Adversa Ai Ltd Combination of protection measures for artificial intelligence applications against artificial intelligence attacks
US11836256B2 (en) 2019-01-24 2023-12-05 International Business Machines Corporation Testing adversarial robustness of systems with limited access
CN111078892B (zh) 2019-11-25 2023-05-23 百度在线网络技术(北京)有限公司 对抗样本生成方法、装置、电子设备及存储介质
CN111444346B (zh) 2020-03-31 2023-04-18 广州大学 一种用于文本分类的词向量对抗样本生成方法及装置

Also Published As

Publication number Publication date
JP2023545994A (ja) 2023-11-01
US20230009893A1 (en) 2023-01-12
GB2615666A (en) 2023-08-16
GB202305817D0 (en) 2023-06-07
US11755657B2 (en) 2023-09-12
WO2022083291A1 (en) 2022-04-28
DE112021004694T5 (de) 2023-07-06
US20220121710A1 (en) 2022-04-21
US11520829B2 (en) 2022-12-06

Similar Documents

Publication Publication Date Title
US11645470B2 (en) Automated testing of dialog systems
US11030416B2 (en) Latent ambiguity handling in natural language processing
US11755657B2 (en) Training a question-answer dialog system to avoid adversarial attacks
WO2019224629A1 (en) Training data expansion for natural language classification
US11507828B2 (en) Unsupervised hypernym induction machine learning
US10565314B2 (en) Disambiguating concepts in natural language
US11669680B2 (en) Automated graph based information extraction
US20210406669A1 (en) Learning neuro-symbolic multi-hop reasoning rules over text
CN116324929A (zh) 回答跨度校正
US11995111B2 (en) Efficient and compact text matching system for sentence pairs
US20220067051A1 (en) Word embedding quality assessment through asymmetry
US20210406294A1 (en) Relevance approximation of passage evidence
US11520783B2 (en) Automated validity evaluation for dynamic amendment
US11138383B2 (en) Extracting meaning representation from text
US20220300799A1 (en) Neuro-Symbolic Approach for Entity Linking
US11501070B2 (en) Taxonomy generation to insert out of vocabulary terms and hypernym-hyponym pair induction
US11763082B2 (en) Accelerating inference of transformer-based models
US20220269858A1 (en) Learning Rules and Dictionaries with Neuro-Symbolic Artificial Intelligence
US20220188362A1 (en) Decentralized online multi-agent visual question answering
CN116529577A (zh) 基于自训练的用于文本中的说话者识别的提取方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination