指令生成方法、系统、设备和介质与流程

文档序号:20166029发布日期:2020-03-24 21:31阅读:112来源:国知局
指令生成方法、系统、设备和介质与流程

本发明涉及自然语言处理和人工智能技术领域,特别涉及指令生成方法、系统、设备和介质。



背景技术:

现有的指令生成系统在文字表征阶段,使用一组静态的“字到向量”的映射关系,将输入信息中的字转化为表征向量。该组映射关系是通过随机初始化的或由无监督训练所得到的词嵌入(wordembedding)模型而得到的。在通过由无监督训练所得到的词嵌入模型而得到的映射关系中,语义相近的字会被映射到相近的表征向量。

现有方案中所使用的映射关系,即使是通过由无监督训练所得到的词嵌入模型而得到的映射关系,也只能表达字的语义,而不能表达字在输入信息中的上下文信息。也就是说,无论在什么样的输入信息中,相同的字总是被映射到相同的表征向量。这会带来以下两个问题:

第一,不同上下文中相同的字可能表达不同的信息,例如对于“手”这个字,其可能表达的是医疗操作,诸如“手术”,也可能表达的是部位,诸如“手部”,如果对这些字使用相同的表征则会造成混淆。因此,在不同的上下文中将相同的字映射到相同的表征向量,会使得后续模型难以区分这些词汇,从而影响模型性能。

第二,模型的训练需要大量样本,样本量较少的场景可能使得模型的性能不足。由于静态的映射关系对输入信息所建立的表征失去了上下文信息,因此这就在一定程度上要求后续模型来学习对上下文进行建模,而这样的建模需要大量的样本,从而使得在训练样本较少的场景中,模型性能会受到较大的影响。



技术实现要素:

本发明的目的在于提供指令生成方法、系统、设备和介质,根据输入信息中的字的上下文信息将字转化为表征向量,并且将表征向量转化为词槽标签和意图。与静态的“字到向量”的映射关系相比,相同的字根据该字的上下文信息可以被转化为不同的表征向量,从而提供更加丰富的信息,并且可以再将该表征向量转化为更为准确的词槽标签和意图,从而提高指令生成系统整体的性能。

本发明的实施方式公开了一种指令生成方法,包括:

根据输入信息中的字的上下文信息将所述字转化为表征向量;

将所述表征向量转化为词槽标签和意图;

基于所述词槽标签和所述意图,生成指令。

可选地,通过预训练语言模型来根据所述输入信息中的所述字的所述上下文信息将所述字转化为所述表征向量。

可选地,所述预训练语言模型包括以下中的一个:elmo模型、bert模型、xlnet模型和gpt模型。

可选地,所述预训练语言模型的训练样本为未标注的训练样本。

可选地,通过语言理解模型来将所述表征向量转化为所述词槽标签和所述意图。

本发明的实施方式公开了一种指令生成系统,包括:

第一转化单元,用于根据输入信息中的字的上下文信息将所述字转化为表征向量;

第二转化单元,用于将所述表征向量转化为词槽标签和意图;

生成单元,用于基于所述词槽标签和所述意图,生成指令。

可选地,所述第一转化单元包括预训练语言模型。

可选地,所述预训练语言模型包括以下中的一个:elmo模型、bert模型、xlnet模型和gpt模型。

本发明的实施方式公开了一种指令生成设备,所述设备包括存储有计算机可执行指令的存储器和处理器,所述处理器被配置为执行所述指令以实施指令生成方法,包括:

根据输入信息中的字的上下文信息将所述字转化为表征向量;

将所述表征向量转化为词槽标签和意图;

基于所述词槽标签和所述意图,生成指令。

本发明的实施方式公开了一种使用计算机程序编码的计算机存储介质,所述计算机程序包括指令,所述指令被一个以上的计算机执行以实施指令生成方法,包括:

根据输入信息中的字的上下文信息将所述字转化为表征向量;

将所述表征向量转化为词槽标签和意图;

基于所述词槽标签和所述意图,生成指令。

本发明实施方式与现有技术相比,主要区别及其效果在于:

本发明根据输入信息中的字的上下文信息将字转化为表征向量,并且将表征向量转化为词槽标签和意图。与静态的“字到向量”的映射关系相比,相同的字根据该字的上下文信息可以被转化为不同的表征向量,从而提供更加丰富的信息,并且可以再将该表征向量转化为更为准确的词槽标签和意图,从而提高指令生成系统整体的性能。

附图说明

图1示出根据本发明的计算设备的结构示意图;

图2示出根据本发明的第一实施方式的指令生成方法的流程图;

图3示出根据本发明的第二实施方式的指令生成系统的结构图。

具体实施方式

为使本发明实施例的目的和技术方案更加清楚,下面将结合本发明实施例的附图,对本发明实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于所描述的本发明的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

根据本发明实施方式,提供了一种指令生成方法的实施方式,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

本申请方式所提供的方法实施方式可以在计算设备中执行。图1是根据本发明的计算设备的结构示意图。如图1所示,计算设备100可以包括一个或多个(图中仅示出一个)处理器101(处理器101可以包括但不限于中央处理器cpu、图像处理器gpu、数字信号处理器dsp、微处理器mcu或可编程逻辑器件fpga等的处理装置)、总线102、用于存储数据的存储器103、以及用于通信功能的通信接口104。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算设备100还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。

存储器103可用于存储数据库、队列、应用软件的软件程序以及模块,如本发明实施方式中的指令生成方法对应的程序指令/模块,处理器101通过运行存储在存储器103内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的指令生成方法。存储器103可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器103可进一步包括相对于处理器101远程设置的存储器,这些远程存储器可以通过网络连接至计算设备100。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

通信接口104用于经由网络接收或者发送数据,网络可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。上述的网络具体实例可包括计算设备400的通信供应商提供的互联网。

在上述运行环境下,本发明提供了如图2所示的指令生成方法。该方法可以应用于上述计算设备100中,由计算设备100中的处理器101执行。计算设备100中安装有至少一个应用程序,本发明实施方式并不限定应用程序的种类,可以为系统类应用程序,也可以为软件类应用程序。

本发明的第一实施方式涉及一种指令生成方法。图2示出根据本发明的第一实施方式的指令生成方法的流程图。

如图2所示,方法200包括:

步骤202,根据输入信息中的字的上下文信息将字转化为表征向量;

步骤204,将表征向量转化为词槽标签和意图;

步骤206,基于词槽标签和意图,生成指令。

其中,输入信息包括由用户所输入的指令信息,诸如是语音指令信息和/或文字指令信息。对于语音指令信息,可以先将语音指令信息转化为文字指令信息,再进行步骤202的处理。对于文字指令信息,可以直接进行步骤202的处理。

其中,输入信息中的每个字出现的概率通常与该字前面的一个或多个字以及后面的一个或多个字相关,即每个字与该字在输入信息中的上下文信息相关。本发明根据输入信息中的每个字的上下文信息,将字转化为表征向量,并且将每个表征向量转化为词槽标签和意图。与静态的“字到向量”的映射关系相比,相同的字根据该字的上下文信息可以被转化为不同的表征向量,从而提供更加丰富的信息,并且可以再将该表征向量转化为更为准确的词槽标签和意图,从而提高指令生成系统整体的性能。

可选地,通过预训练语言模型来根据输入信息中的字的上下文信息将字转化为表征向量。

其中,预训练语言模型可以根据输入信息中的每个字的上下文信息,将字转化为表征向量。与静态的“字到向量”的映射关系相比,通过使用预训练语言模型,相同的字根据该字的上下文信息可以被转化为不同的表征向量,从而提供更加丰富的信息。

可选地,预训练语言模型包括以下中的一个:elmo(embeddingsfromlanguagemodels)模型、bert(bidirectionalencoderrepresentationsfromtransformers)模型、xlnet模型和gpt(generativepre-training)模型。

可以理解的是,预训练语言模型还可以包括其他模型,以根据输入信息中的字的上下文信息将字转化为表征向量,在此不受限制。

可选地,通过语言理解模型来将表征向量转化为词槽标签和意图。

其中,语言理解模型可以包括词槽标签分类器和意图分类器,可以分别将表征向量转化为词槽标签和意图。

例如,输入信息为由用户所输入的语音指令信息,该语音指令信息已经被转化为文字指令信息“你好我想挂呼吸科”。首先,通过预训练语言模型来根据输入信息中的字的上下文信息将字转化为表征向量。其次,通过语言理解模型来将表征向量转化为词槽标签和意图;其中,词槽和意图根据输入信息来确定,在上述的医院问询的场景中,词槽可以包括“科室”和“医生”等,并且意图可以包括“挂号”和“查询坐诊时间”等;可以使用iob(in/out/begin)形式来表示词槽标签,即可以将多个表征向量转化为词槽标签的序列“o,o,o,o,o,b-科室,i-科室,i-科室”,其中o代表该字不属于任何词槽,b代表该字属于该词槽且是该词槽的第一个字,i代表该字属于该词槽且不是该词槽的第一个字,并且可以将多个表征向量转化为意图“挂号”。最后,基于词槽标签和意图,生成指令;其中,基于上述的词槽标签和意图,确定由输入信息所生成的指令是“挂号”,并且对应的科室是“呼吸科”,因此可以向医院的挂号系统发送该指令以进行“挂号呼吸科”的操作。

本发明将预训练语言模型和语言理解模型相结合,在指令生成系统的文字表征阶段,预训练语言模型代替了静态的“字到向量”的映射关系,可以基于输入信息中的字的上下文信息,对每个字的语义进行建模,从而生成表征向量,给语言理解模型提供更加丰富的信息,并且语言理解模型可以再将每个表征向量转化为更为准确的词槽标签和意图,从而提高指令生成系统整体的性能。

可选地,预训练语言模型的训练样本为未标注的训练样本。

其中,在训练中,预训练语言模型可以根据无标注的训练样本中的每个字前面的一个或多个字来预测该字,和/或根据无标注的训练样本中的每个字后面的一个或多个字来估计该字。可以理解的是,还可以以其他方式使用无标注的训练样本来训练预训练语言模型,在此不受限制。通过训练,预训练语言模型可以根据输入信息中的字的上下文信息将字转化为更适合的表征向量。

本发明的预训练语言模型并不需要使用标注的训练样本来训练,通常可以以无监督的方式来训练,这使得在预训练语言模型的训练中可以使用大量的易得的无标注的训练样本。预训练语言模型能够从大量的训练样本中学习到语言理解过程中的一般性的泛化性强的规律,并且将使用这些规律的能力迁移到语言理解模型中,使得整体的指令生成系统具有更强的泛化性,提升模型在训练样本较少的场景中的性能。

例如,在传统指令生成系统的情况下,假设“张医生”和“王医生”出现在语言理解模型的训练样本中,则语言理解模型后续再遇到这两个词就可以正确识别,但是由于“李医生”没有出现在训练样本中,因此语言理解模型就难以正确识别。由此可见,模型的识别能力非常依赖于训练样本,也因此在训练样本较少的场景中,模型性能较差。然而,由于预训练语言模型使用无标注的训练样本来训练,相对于训练语言理解模型所需的标注的训练样本,无标注的训练样本容易获得,数量更多,因此包含更丰富的语料,预训练语言模型有机会遇到多种姓氏和职位的组合,并且学习到这些组合的理解方式。因此,在加入了预训练语言模型之后,语言理解模型也获得了这样的理解能力,能够对训练样本以外的词汇进行正确的建模和推理,也就是说,语言理解模型的泛化能力通过预训练语言模型得到了提升。

本发明的第二实施方式涉及一种指令生成系统。图3示出根据本发明的第二实施方式的指令生成系统的结构图。

如图3所示,系统300包括:

第一转化单元302,用于根据输入信息中的字的上下文信息将字转化为表征向量;

第二转化单元304,用于将表征向量转化为词槽标签和意图;

生成单元306,用于基于词槽标签和意图,生成指令。

可选地,第一转化单元包括预训练语言模型。本实施例中,通过预训练语言模型来根据输入信息中的字的上下文信息将字转化为表征向量,对于预训练语言模型而言,其不需要使用标注的训练样本来训练,可以以无监督的方式来训练,使得在预训练语言模型的训练中可以使用大量的易得的无标注的训练样本,因此,预训练语言模型能够从大量的训练样本中学习到语言理解过程中的一般性的泛化性强的规律,并且可以将这些规律的能力迁移到第二转化单元,使得本实施例的指令生成系统具有更强的泛化性,进而提高指令生成系统的性能。

可选地,预训练语言模型包括以下中的一个:elmo模型、bert模型、xlnet模型和gpt模型。

可选地,预训练语言模型的训练样本为未标注的训练样本。

可选地,第二转化单元包括语言理解模型。

第一实施方式是与本实施方式相对应的方法实施方式,本实施方式可与第一实施方式互相配合实施。第一实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一实施方式中。

本发明的第三实施方式涉及一种指令生成设备,设备包括存储有计算机可执行指令的存储器和处理器,处理器被配置为执行指令以实施指令生成方法,包括:

根据输入信息中的字的上下文信息将字转化为表征向量;

将表征向量转化为词槽标签和意图;

基于词槽标签和意图,生成指令。

第一实施方式是与本实施方式相对应的方法实施方式,本实施方式可与第一实施方式互相配合实施。第一实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一实施方式中。

本发明的第四实施方式涉及一种使用计算机程序编码的计算机存储介质,计算机程序包括指令,指令被一个以上的计算机执行以实施指令生成方法,包括:

根据输入信息中的字的上下文信息将字转化为表征向量;

将表征向量转化为词槽标签和意图;

基于词槽标签和意图,生成指令。

第一实施方式是与本实施方式相对应的方法实施方式,本实施方式可与第一实施方式互相配合实施。第一实施方式中提到的相关技术细节在本实施方式中依然有效,为了减少重复,这里不再赘述。相应地,本实施方式中提到的相关技术细节也可应用在第一实施方式中。

需要说明的是,本发明的各方法实施方式均可以以软件、硬件、固件等方式实现。不管本发明是以软件、硬件、还是固件方式实现,指令代码都可以存储在任何类型的计算机可访问的存储器中(例如永久的或者可修改的,易失性的或者非易失性的,固态的或者非固态的,固定的或者可更换的介质等等)。同样,存储器可以例如是可编程阵列逻辑(programmablearraylogic,简称“pal”)、随机存取存储器(randomaccessmemory,简称“ram”)、可编程只读存储器(programmablereadonlymemory,简称“prom”)、只读存储器(read-onlymemory,简称“rom”)、电可擦除可编程只读存储器(electricallyerasableprogrammablerom,简称“eeprom”)、磁盘、光盘、数字通用光盘(digitalversatiledisc,简称“dvd”)等等。

需要说明的是,本发明各设备实施方式中提到的各单元/模块都是逻辑单元/模块,在物理上,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现,这些逻辑单元本身的物理实现方式并不是最重要的,这些逻辑单元所实现的功能的组合才是解决本发明所提出的技术问题的关键。此外,为了突出本发明的创新部分,本发明上述各设备实施方式并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,这并不表明上述设备实施方式并不存在其它的单元。

需要说明的是,在本专利的权利要求和说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

虽然通过参照本发明的某些优选实施方式,已经对本发明进行了图示和描述,但本领域的普通技术人员应该明白,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1