首页> 中国专利> 文本标注方法和神经网络模型的构建方法

文本标注方法和神经网络模型的构建方法

摘要

本公开提供了一种文本标注方法和神经网络模型的构建方法。文本标注方法包括:获取待标注文本,该待标注文本包括由多个字符组成的字符序列;根据预定转换规则转换字符序列,得到针对字符序列的第一输入向量;根据预定词典,确定能够表征字符序列的上下文信息的第二输入向量;以第一输入向量和第二输入向量作为双向长短期记忆网络模型的输入,输出得到字符序列的特征向量;以及根据特征向量,采用条件随机场模型确定针对字符序列中每个字符的标注信息。

著录项

  • 公开/公告号CN112329459A

    专利类型发明专利

  • 公开/公告日2021-02-05

    原文格式PDF

  • 申请/专利号CN202010526476.4

  • 发明设计人 仇璐;刘颖;

    申请日2020-06-09

  • 分类号G06F40/289(20200101);G06F40/242(20200101);G06F40/151(20200101);G06N3/04(20060101);

  • 代理机构11021 中科专利商标代理有限责任公司;

  • 代理人吕朝蕙

  • 地址 100176 北京市大兴区北京经济技术开发区科创十一街18号院2号楼4层A402室

  • 入库时间 2023-06-19 09:47:53

说明书

技术领域

本公开涉及电子技术领域,更具体地,涉及一种文本标注方法和神经网络模型的构建方法。

背景技术

随着物联网的发展,人们利用机器的方式趋向智能化。智能家居、智能车辆等技术领域越来越被重视。NLP(神经语言程序学,Neuro-Linguistic Programming)技术是该些智能技术领域发展的重要支撑。其中,绝大多数的NLP问题都可以转换为文本标注问题。因为深度学习、机器学习等相对传统的方法具有较高的准确率、较强的可塑性和普适性,因此已成为文本标注中所采用的主流技术。

相关技术中,虽然采用卷积神经网络模型进行文本标注时可以利用到文本上下文的相关性。但在标注类别较多、类别之间不好区分,且数据量少时,该卷积神经网络模型的泛化能力较差。从而会在一定程度上影响文本标注的准确性。

发明内容

有鉴于此,本公开提供了一种能够提高文本标注的准确性的文本标注方法及能够执行文本标注的神经网络模型的构建方法。

本公开的一个方面提供了一种文本标注方法,该方法包括:获取待标注文本,该待标注文本包括由多个字符组成的字符序列;根据预定转换规则转换字符序列,得到针对字符序列的第一输入向量;根据预定词典,确定能够表征字符序列的上下文信息的第二输入向量;以第一输入向量和第二输入向量作为双向长短期记忆网络模型的输入,输出得到字符序列的特征向量;以及根据特征向量,采用条件随机场模型确定针对字符序列中每个字符的标注信息。

根据本公开的实施例,预定词典包括多个词组,该多个词组分别针对多个类别,针对每个字符的标注信息能够表征多个类别中的一个类别。上述根据预定词典,确定能够表征待标注文本的上下文信息的第二输入向量包括:根据字符序列中的每个字符及字符序列中与每个字符相邻的字符,确定针对每个字符的词集合;根据针对每个字符的词集合包括的各个词是否属于多个词组,确定针对每个字符的第二词向量;以及根据多个字符在字符序列中的分布顺序,合并针对多个字符的多个第二词向量,以得到针对字符序列的第二输入向量。

根据本公开的实施例,上述确定针对每个字符的词集合包括:获取在字符序列中位于每个字符前边的n个第一字符和位于每个字符后边的n个第二字符;以及根据n个第一字符、n个第二字符及每个字符,确定表征每个字符的上下文信息的至少一个词,以得到针对每个字符的词集合。其中,至少一个词中的每个词包括至少两个字符,该至少两个字符在字符序列中的位置相邻。其中,n为正整数。

根据本公开的实施例,上述多个词组中的每个词组具有预分配的标识码;上述确定针对每个字符的第二词向量包括:确定针对每个字符的词集合包括的各个词中属于多个词组的目标词;根据多个词组中目标词所属的词组的标识码,向目标词分配特征值;向针对每个字符的词集合包括的除目标词外的其他词分配预定的特征值;以及根据向针对每个字符的词集合包括的各个词分配的特征值,确定针对每个字符的第二词向量。

根据本公开的实施例,上述根据特征向量,采用条件随机场模型确定针对字符序列中每个字符的标注信息包括:采用自注意力机制确定特征向量的注意力向量;确定注意力向量点乘特征向量得到的向量,以作为优化后特征向量;以及根据优化后特征向量,采用条件随机场模型确定针对字符序列中每个字符的标注信息。

根据本公开的实施例,以第一输入向量和第二输入向量作为双向长短期记忆网络模型的输入,输出得到字符序列的特征向量包括:以第一输入向量作为第一双向长短期记忆网络模型的输入,输出得到第一特征向量;以第二输入向量作为第二双向长短期记忆网络模型的输入,输出得到第二特征向量;以及合并第一特征向量和第二特征向量,得到字符序列的特征向量。

根据本公开的实施例,上述根据预定转换规则转换字符序列,得到针对字符序列的第一输入向量包括:根据预定转换规则转换字符序列中的每个字符,确定针对每个字符的第一词向量;根据多个字符在字符序列中的分布顺序,合并针对多个字符的第一词向量,以得到针对字符序列的第一输入向量。

本公开的另一方面提供了一种神经网络模型的构建方法,该方法包括:构建嵌入层,该嵌入层用于根据预定转换规则转换字符序列,得到针对字符序列的第一输入向量;构建预处理层,该预处理层用于根据预定词典,确定能够表征字符序列的上下文信息的第二输入向量;构建处理层,该处理层用于以第一输入向量和第二输入向量作为双向长短期记忆网络模型的输入,输出得到字符序列的特征向量;以及构建输出层,该输出层用于根据特征向量,采用条件随机场模型确定针对字符序列中每个字符的标注信息。

根据本公开的实施例,上述神经网络模型的构建方法还包括:构建优化层,该优化层位于处理层与输出层之间,该优化层包括第一全连接层、激活层、逻辑回归层;优化层用于采用自注意力机制确定特征向量的注意力向量;输出层包括计算层、第二全连接层和条件随机场解码层。其中,计算层用于确定注意力向量点乘特征向量得到的向量,以作为优化后特征向量;第二全连接层和条件随机场解码层用于根据优化后特征向量,采用条件随机场模型确定针对字符序列中每个字符的标注信息。

根据本公开的实施例,上述处理层包括第一双向长短期记忆网络层和第二双向长短期记忆网络层。第一双向长短期记忆网络层用于以第一输入向量作为输入,输出得到第一特征向量;第二双向长短期记忆网络层用于以第二输入向量作为输入,输出得到第二特征向量。其中,字符序列的特征向量由第一特征向量和第二特征向量合并得到。

本公开另一方面提供了一种计算机系统,包括:一个或多个处理器;以及存储装置,用于存储一个或多个程序,其中,当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器执行上述的文本标注方法和/或神经网络模型的构建方法。

本公开的另一方面提供了一种计算机可读存储介质,存储有计算机可执行指令,所述指令在被处理器执行时用于执行如上所述的文本标注方法和/或神经网络模型的构建方法。

本公开的另一方面提供了一种计算机程序,所述计算机程序包括计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。

根据本公开的实施例,可以至少部分地解决相关技术中文本标注的准确性较低的技术问题。本公开实施例通过在文本标注时,根据预定词典来得到表征字符序列的上下文信息的第二输入向量,可以对字符序列中的词特征进行有效提取。从而在采用双向长短期记忆网络模型及条件随机场模型得到标注信息时,可以输入更全面的特征信息,从而提高得到的标注信息的准确性,进而提高标注准确性。

附图说明

通过以下参照附图对本公开实施例的描述,本公开的上述内容以及其他目的、特征和优点将更为清楚,在附图中:

图1示意性示出了根据本公开实施例的文本标注方法和神经网络构建方法的应用场景;

图2示意性示出了根据本公开实施例的文本标注方法的流程图;

图3示意性示出了根据本公开实施例的确定能够表征待标注文本的上下文信息的第二输入向量的流程图;

图4示意性示出了根据本公开实施例的输出得到字符序列的特征向量的流程图;

图5示意性示出了根据本公开实施例的采用条件随机场模型确定针对字符序列中每个字符的标注信息的流程图;

图6示意性示出了根据本公开实施例的神经网络模型的构建方法构建得到的神经网络模型的结构示意图;

图7示意性示出了根据本公开另一实施例的神经网络模型的构建方法构建得到的神经网络模型的结构示意图;以及

图8示意性示出了根据本公开实施例的适于实现文本标注方法和/或神经网络模型的构建方法的计算机系统的方框图。

具体实施方式

以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。

在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。

在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。

在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。

本公开的实施例提供了一种文本标注方法。先获取待标注文本,该待标注文本包括由多个字符组成的字符序列。然后根据预定转换规则转换字符序列,得到针对字符序列的第一输入向量;根据预定词典,确定能够表征字符序列的上下文信息的第二输入向量。随后以第一输入向量和第二输入向量作为双向长短期记忆网络模型的输入,输出得到字符序列的特征向量。最后根据特征向量,采用条件随机场模型确定针对字符序列中每个字符的标注信息。

图1示意性示出了根据本公开实施例的文本标注方法和神经网络构建方法的应用场景的应用场景。需要注意的是,图1所示仅为可以应用本公开实施例的应用场景的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。

如图1所示,根据该实施例的应用场景100可以包括终端设备101、102、103。

该终端设备101、102、103上例如可以安装有各种通讯客户端应用,例如智能家居的控制应用、网页浏览器应用、搜索类应用等(仅为示例)。

根据本公开的实施例,该终端设备101、102、103例如可以用于采集用户的语音信息,并将语音信息转换为文本。通过对该文本进行序列标注来达到识别用户的语音信息得到识别结果的目的,并响应于该识别结果对用户的语音信息进行响应。

根据本公开的实施例,该终端设备101、102、103例如还可以响应于用户的交互操作,构建神经网络模型,并对该模型进行训练。以根据该训练好的神经网络模型对文本进行序列标注。

根据本公开的实施例,如图1所示,该应用场景100例如还可以包括网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路等等。

其中,用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103所执行的文本标注提供支持的后台管理服务器(仅为示例)。

在一实施例中,后台管理服务器可以响应于接收到的获取请求等,向终端设备反馈文本标注中所需的模型。该模型例如可以为神经网络模型,该神经网络模型例如可以是由服务器105预先构建并训练得到的。

在一实施例中,后台管理服务器例如可以响应于接收到终端设备101、102、103发送的待标注文本,根据神经网络模型对该待标注文本进行标注等。

需要说明的是,本公开实施例所提供的文本标注方法一般可以由终端设备101、102、103或服务器105执行。本公开实施例所提供的神经网络模型的构建方法一般可以由终端设备101、102、103或服务器105执行。

应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。

以下将结合图2~图5对本公开实施例的文本标注方法进行详细描述。

图2示意性示出了根据本公开实施例的文本标注方法的流程图。

如图2所示,该实施例的文本标注方法可以包括操作S210~操作S250。

在操作S210,获取待标注文本,该待标注文本包括由多个字符组成的字符序列。

该待标注文本例如可以是根据用户输入的语音信息转换得到的文本信息。该待标注文本包括多个字符,该多个字符组成字符序列。

在操作S220,根据预定转换规则转换字符序列,得到针对字符序列的第一输入向量。

根据本公开的实施例,该操作S220例如可以先根据预定转换规则转换字符序列中的每个字符,确定针对每个字符的第一词向量。然后根据多个字符在所述字符序列中的分布顺序,合并针对多个字符的第一词向量,以得到针对字符序列的第一输入向量。

其中,根据预定转换规则确定针对每个字符的第一词向量可以先根据语料库,将该每个字符转换成对应的数字id,从而得到由多个数字id组成的数字序列。例如,若字符序列中的某个字符为语料库中的第3个字符,则该某个字符对应的数字id可以为3。然后将该数字id作为嵌入(embedding)层的输入,经由该嵌入层将该数字id升维至m维的向量,并将该m维的向量作为针对该每个字符第一词向量。该m的取值例如可以为语料库中包括的字符个数。在得到针对每个字符的第一词向量之后,将针对字符序列中的第一个字符的第一词向量作为第一输入向量的第一行数据,将针对第二个字符的第一词向量作为第一输入向量的第二行数据,以此类推得到针对字符序列的第一输入向量。该第一输入向量的行数为字符序列中包括的字符的个数。

根据本公开的实施例,该操作S220例如也可以先根据预料库,将字符序列中的所有字符转换成对应的数字id,得到数据id序列。然后将该数字id序列作为图6~图7描述的神经网络模型中嵌入层的输入,通过该嵌入层处理后得到第一输入向量。

在操作S230,根据预定词典,确定能够表征字符序列的上下文信息的第二输入向量。

根据本公开的实施例,该预定词典例如可以是通过提取大量语料中的词,并对提取的大量词进行分组得到。通过对大量词的分组处理,该预定词典例如可以包括多个词组。在一实施例中,可以根据预定的标注信息来对大量词进行分组。例如,若该标注信息可以用于表征实体的类别,且实体的类别有n个类别,则该预定词典可以包括n个词组。其中,预定词典中的n个词组分别针对该n个类别,即n个词组与n个类别一一对应,且n个词组中某个词组包括的词均属于与该某个词组对应的类别。因此,在对待标注文本中每个字符进行标注时,采用的标注信息能够表征n个类别中的一个类别。其中,考虑到待标注文本中可能存在不能用于表征实体的字符,因此n个类别中例如可以包括不属于实体的类别,相应地,预定词典中的n个词组中的某个词组包括的词不能用于表征实体。

根据本公开的实施例,该操作S230例如可以包括:先对字符序列进行分词处理,得到该字符序列中所有字符可以组合形成的所有词,每个词可以包括至少两个字符;然后确定该所有词在预定词典的多个词组中的分布情况;最后根据该分布情况得到第二输入向量。其中,由于每个词是由至少两个字符形成的。在多个词组包括所有词中的某个词时,可以得知该词所属的类别,因此根据该所有词的分布情况得到的第二输入向量可以在一定程度上反映字符序列的上下文信息。

在一实施例中,该操作S230例如可以直接将字符序列作为图6~图7中的预处理层的输入,通过该预处理层处理后得到第二输入向量。该操作S230例如可以通过后续图3描述的流程来实现,在此不作详述。

在操作S240,以第一输入向量和第二输入向量作为双向长短期记忆网络模型的输入,输出得到字符序列的特征向量。

根据本公开的实施例,该操作S240例如可以包括:依次将第一输入向量和第二输入向量输入预训练得到的双向长短期记忆网络模型(Bi-LSTM,Bi-directional LongShort-Term Memory)。以依次得到自第一输入向量中提取的特征向量和自第二输入向量中提取的特征向量。然后将依次得到的两个特征向量拼接得到字符序列的特征向量。

根据本公开的实施例,该操作S240也可以先将第一输入向量和第二输入向量合并形成一个输入向量,然后再将该一个输入向量输入双向长短期记忆网络模型,输出得到字符序列的特征向量。

在一实施例中,该操作S240例如可以采用图7描述的神经网络模型中的第一双向长短期记忆网络层和第二双向长短期记忆网络层,通过后续图4描述的流程来实现,在此不做详述。

在操作S250,根据特征向量,采用条件随机场模型确定针对字符序列中每个字符的标注信息。

根据本公开的实施例,条件随机场(conditional Random Fields)模型例如可以为后续图7中神经网络模型中的条件随机场解码层所采用的处理模型。其中,为了便于通过该条件随机场模型来确定标注信息,在得到特征向量之后,还可以对特征向量所表征的向量进行抽象化,以将特征向量映射到标注信息构成的空间。然后将特征向量映射后得到的向量作为CRF模型的输入变量,由CRF模型输出得到标注序列。该标注序列中包括针对每个字符的标注信息的id序号。最后根据该id序号与标注信息-id序号映射表,可以得到针对每个字符的标注信息。其中,标注信息-id序号映射表例如可以预先构建得到。

在一实施例中,前述操作S210~操作S250描述的标注方法例如可以用于对待标注文本中的实体类别进行标注。其中,标注信息例如可以采用BI标注方式或BME方式来进行。其中,在采用BI标注方式时,若待标注文本中包括实体词“电影”,则针对该实体词“电影”中字符“电”的标注信息为“B-VIDEO_TYPE”,用于表征该字符“电”是实体类别中媒体类别的起始字符。针对该实体词“电影”中字符“电”的标注信息为“I-VIDEO_TYPE”,用于表征该字符“影”是实体类别中媒体类别的后续字符。对于待标注文本中不能用于表征实体的词,例如“的”、“了”等词,所针对的标注信息例如可以为“O”。

在一实施例中,操作S250例如可以通过图6和图7描述的神经网络中输出层来实现。在此不做详述。

综上可知,本公开实施例的文本标注方法,在采用双向长短期记忆网络模型和条件随机场模型确定字符的标注信息时,通过融入根据预定词典得到的能够表征上下文信息的第二输入向量,可以将已知词所属标注类别的信息也引入神经网络,从而可以有效提高标注信息的准确性。

图3示意性示出了根据本公开实施例的确定能够表征待标注文本的上下文信息的第二输入向量的流程图。

如图3所示,确定能够表征待标注文本的上下文信息的第二输入向量例如可以包括操作S331~操作S333。

在操作S331,根据字符序列中的每个字符及字符序列中与每个字符相邻的字符,确定针对每个字符的词集合。

根据本公开的实施例,该操作S331例如可以先针对每个字符,先确定字符序列中位于该每个字符前边的n个第一字符和位于该每个字符后边的n个第二字符,n为正整数。然后根据n个第一字符、n个第二字符及每个字符,确定表征每个字符的上下文信息的至少一个词,以得到针对每个字符的词集合。其中,至少一个词中的每个词包括至少两个字符,所述至少两个字符在所述字符序列中的位置相邻。

在一实施例中,n例如可以取2,待标注文本可以为“打开有关泰迪的视频”。相应地,字符序列为[打开有关泰迪的视频],针对字符序列中的字符“泰”,获取的第一字符包括“关”和“有”,获取的第二字符包括“迪”和“的”。根据该第一字符和第二字符,得到的针对字符“泰”的词集合包括以下词:“关泰”、“有关泰”、“泰迪”、“泰迪的”。

根据本公开的实施例,在确定针对字符序列中第一个字符的词集合时,考虑到不存在位于该第一个字符前边的字符,因此,获取的第一字符为空集。相应地,在针对该第一个字符的词集合时,仅包括由该第一个字符与第二字符组成的词。

在操作S332,根据针对每个字符的词集合包括的各个词是否属于多个词组,确定针对每个字符的第二词向量。

根据本公开的实施例,该第二词向量中的每个元素例如可以用于表征针对每个字符的词集合中的某个词是否属于预定词典中的多个词组。为了进一步使得该元素可以表征某个词属于多个词组中的哪个词组,该实施例还可以为多个词组中的每个词组预分配标识码。该预分配的标识码例如为自1开始、以1为间隔递增。

该操作S332例如可以先挑选出针对每个字符的词集合中属于预定词典的词。具体确定针对每个字符的词集合包括的各个词中属于多个词组的目标词。然后根据多个词组中目标词所属的词组的标识码,向目标词分配特征值,例如,若某个目标词属于预定词典中标识码为2的词组,则向该某个目标词分配的特征值为2。其中,考虑到针对每个字符的词集合中某些词不属于预定词典,因此,可以向针对每个字符的词集合包括的除目标词外的其他词分配预定的特征值,该预定的特征值例如可以为0,用于表示该其他词不属于预定词典。最后根据向针对每个字符的词集合包括的各个词分配的特征值,确定针对每个字符的第二词向量。

在一实施例中,若实体类别包括演员类别、媒体类别、作家类别和动物类别。相应地,多个词组包括五个词组,该五个词组中的四个词组包括的词分别对应前述四个实体类别,另一个词组包括的词不能表征实体。此种情况下,为对应四个实体类别的四个词组分配的标识码例如可以分别为1(对应演员类别的词组的标识码)、2(对应媒体类别的词组的标识码)、3(对应作家类别的词组的标识码)、4(对应植物类别的词组的标识码)。其中,考虑到不属于实体的词为标注信息的准确性不会带来实质效果,因此可以不为包括的词不能表征实体的词组分配标识码。因此针对字符“泰”的词集合包括以下词:“有关泰”、“关泰”、“泰迪”、“泰迪的”的情况下,确定的目标词例如仅包括“泰迪”,由于“泰迪”是表征动物的词,因此分配的特征值为4,为其他三个词“关泰”、“有关泰”、“泰迪的”分配的特征值为0。最终得到的针对字符“泰”的第二词向量为[0,0,4,0]。

根据本公开的实施例,针对每个字符的词集合中,各个词的分布顺序例如可以根据组成各个词的字符在字符序列中出现的顺序来排列。由位于字符序列中较前位置的字符组成的词,分布于词集合中靠前的位置。相应地,该第二词向量中各个元素的分布位置与词集合中各个词的分布位置相一致。

在操作S333,根据所述多个字符在字符序列中的分布顺序,合并针对多个字符的多个第二词向量,以得到针对字符序列的第二输入向量。

根据本公开的实施例,该操作S333可以包括:将针对字符序列中第一字符的第二词向量作为第一行的元素,将针对字符序列中第二字符的第二词向量作为第二行的元素,以此类推,合并针对多个字符的多个第二词向量,得到针对字符序列的第二输入向量。

综上可知,本公开实施例根据预定词典得到第二输入向量的方法,可以有效地将已知的词语知识融入到文本标注方法中,从而为文本标注方法提供更全面的上下文信息,便于对待标注文本中不同类别的标注进行有效区分,可以在一定程度上提高标注准确性,提高标注方法的普适性。

根据本公开的实施例,考虑到第一输入向量和第二输入向量的获取方式不相同,为了提高提取特征的准确性,可以预先训练有两个不同的双向长短期记忆网络模型来根据两个输入向量进行特征提取。

图4示意性示出了根据本公开实施例的输出得到字符序列的特征向量的流程图。

如图4所示,输出得到字符序列的特征向量的操作例如可以包括操作S441~操作S443。

在操作S441,以第一输入向量作为第一双向长短期记忆网络模型的输入,输出得到第一特征向量。

根据本公开的实施例,该第一长短期记忆网络模型例如可以是:以大量已标注文本的字符序列通过操作S220描述的方法转换得到的大量第一输入向量作为样本数据训练得到的。该第一长短期记忆网络模型的初始参数可以根据实际需求进行设定,本公开对此不作限定。在一实施例中,该操作S441例如可以将第一输入向量作为图7中的第一双向长短期记忆网络层的输入,经由该第一双向长短期记忆网络层处理后输出得到第一特征向量。

在操作S442,以第二输入向量作为第二双向长短期记忆网络模型的输入,输出得到第二特征向量。

根据本公开的实施例,该第一长短期记忆网络模型例如可以是:以大量已标注文本的字符序列通过操作S230描述的方法转换得到的大量第二输入向量作为样本数据训练得到的。该第二长短期记忆网络模型的初始参数可以根据实际需求进行设定,本公开对此不作限定。其中,该第二长短期记忆网络模型的初始参数可以与第一长短期记忆网络模型的初始参数相同,也可以不同,本公开对此不作限定。

根据本公开的实施例,为了便于后续合并两个特征向量,该第一长短期记忆网络模型中最后一层的核数例如可以与第二长短期记忆网络模型中最后一层的核数相等。从而使得第一特征向量和第二特征向量的列数相等。

在一实施例中,该操作S442例如可以将第二输入向量作为图7中的第二双向长短期记忆网络层的输入,经由该第二双向长短期记忆网络层处理后输出得到第二特征向量。

在操作S443,合并第一特征向量和第二特征向量,得到字符序列的特征向量。操作S443例如可以将第二特征向量拼接在第一特征向量的最后一行的下一行,拼接得到字符序列的特征向量。

根据本公开的实施例,取得到的特征向量包括的多个特征中不同特征对于确定标注信息的重要程度有所不同。为了突出该重要程度的不同,可以向特征向量中的各个元素分配权重,以使得在采用条件随机场模型确定每个字符的标注信息时,更加关注权重大的元素的贡献,从而使得最终得到的标注信息更为准确。其中,为各个元素分配的权重例如可以通过自注意力机制来确定得到。

图5示意性示出了根据本公开实施例的采用条件随机场模型确定针对字符序列中每个字符的标注信息的流程图。

如图5所示,采用条件随机场模型确定针对字符序列中每个字符的标注信息的操作例如可以包括操作S551~操作S553。

在操作S551,采用自注意力机制确定特征向量的注意力向量。

根据本公开的实施例,该操作S551例如可以将特征向量作为图7中的第一全连接层的输入,并将该第一全连接层的输出作为激活层的输入,将激活层的输出作为逻辑回归层的输入,经由该第一全连接层、激活层和逻辑回归层的处理后,得到注意力向量。其中,激活层采用的激活函数例如可以包括tanh激活函数、sigmoid激活函数等。逻辑回归层例如可以用于使得注意力向量中每个元素的取值归一化到区间[0,1]。其中,得到的注意力向量中某个元素的取值用于表示特征向量中与该某个元素位于相同位置的元素的权重。该注意力向量的维度与特征向量的维度相等。

在操作S552,确定注意力向量点乘特征向量得到的向量,以作为优化后特征向量。根据本公开的实施例,该操作S552例如可以通过图7中输出层包括的计算层来执行。

在操作S553,根据优化后特征向量,采用条件随机场模型确定针对字符序列中每个字符的标注信息。

在得到优化后特征向量后,先将该优化后特征向量作为图中第二全连接层的输入,以对该优化后特征向量进行抽象化。然后再将抽象化后得到的向量作为条件随机场解码层的输入变量,通过该条件随机场解码层处理后可以得到标注序列。该标注序列中包括针对每个字符的标注信息的id序号。最后根据该id序号与标注信息-id序号映射表,可以得到针对每个字符的标注信息。

根据本公开的实施例,为了提高标注效率,本公开例如还可以预先构建用于执行文本标注的神经网络模型。图2~图5中描述的文本标注方法可以借由该神经网络模型来执行。

图6示意性示出了根据本公开实施例的神经网络模型的构建方法构建的神经网络模型的结构示意图。

根据本公开实施例,该构建方法例如可以包括分别构建以下层:嵌入层、预处理层、处理层和输出层。构建得到的神经网络模型600如图6所示。

嵌入层610用于根据预定转换规则转换所述字符序列,得到针对字符序列的第一输入向量。该嵌入层610例如可以以操作S210得到的待标注文本的字符序列转换后的数字序列作为嵌入层610的输入,处理后输出得到第一输入向量。该嵌入层610可以用于执行图2描述的操作S220,在此不再赘述。

预处理层620用于根据预定词典,确定能够表征字符序列的上下文信息的第二输入向量。该预处理层620例如可以用于执行图2描述的操作S230,在此不再赘述。

处理层630用于以第一输入向量和第二输入向量作为双向长短期记忆网络模型的输入,输出得到字符序列的特征向量。该处理层630例如可以用于执行图2描述的操作S240。在此不再赘述。

输出层640用于根据特征向量,采用条件随机场模型确定针对字符序列中每个字符的标注信息。该输出层640例如可以用于执行图2描述的操作S250,在此不再赘述。

图7示意性示出了根据本公开另一实施例的神经网络模型的构建方法构建得到的神经网络模型的结构示意图。

根据本公开的实施例,该构建方法例如还可以包括构建如图7所示的优化层750,从而得到如图7所示的神经网络模型700。该优化层750位于处理层630和输出层640之间。具体地,该优化层750例如可以包括全连接层751、激活层752和逻辑回归层753。其中,该优化层750用于采用自注意力机制确定特征向量的注意力向量。其中,全连接层751用于对特征向量进行维度转换,激活层752例如可以采用tanh或sigmoid等激活函数对维度转换后的特征向量进行处理,以增加神经网络模型的非线性,以提升神经网络模型的表达能力,使得处理后的向量能够更为准确的表征特征向量中各个元素的重要性。逻辑回归层可以用于使得处理后的向量中每个元素的取值归一化到区间[0,1],从而得到注意力向量。

如图7所示,输出层640例如可以包括计算层641、第二全连接层642和条件随机场解码层643。计算层641用于确定注意力向量点乘特征向量得到的向量,以作为优化后特征向量。第二全连接层642和条件随机场解码层643用于根据优化后特征向量,采用条件随机场模型确定针对字符序列中每个字符的标注信息。其中,计算层641例如可以用于执行图5描述的操作S552。第二全连接层642和条件随机场解码层643用于执行图5描述的操作S553。

如图7所示,在一实施例中,处理层630例如可以包括第一双向长短期记忆网络层631和第二双向长短期记忆网络层632。其中,第一双向长短期记忆网络层631用于以第一输入向量作为输入,输出得到第一特征向量。第二双向长短期记忆网络层632用于以第二输入向量作为输入,输出得到第二特征向量。字符序列的特征向量由第一特征向量和所述第二特征向量合并得到。其中,第一双向长短期记忆网络层631用于执行图4描述的操作S441,第二双向长短期记忆网络层632用于执行图4描述的操作S442。

综上可知,本公开实施例通过构建神经网络模型,可以直接将待标注文本的字符序列作为该神经网络模型的输入,输出得到字符序列中各个字符的标注信息。该模型相对于现有技术中的模型,通过增加与第一双向长短期记忆网络层631并行的第二双向长短期记忆网络层632。可以在确定标注信息时利用已知的词语知识,从而可以提高确定的标注信息的准确性。再者,该神经网络模型通过设置优化层,可以实现对特征向量中特征的再次提取,从而突出对标注信息贡献度大的特征,进一步提高确定的标注信息的准确性。

图8示意性示出了根据本公开实施例的适于实现文本标注方法和/或神经网络模型的构建方法的计算机系统的方框图。图8示出的计算机系统仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。

如图8所示,根据本公开实施例的计算机系统800包括处理器801,其可以根据存储在只读存储器(ROM)802中的程序或者从存储部分808加载到随机访问存储器(RAM)803中的程序而执行各种适当的动作和处理。处理器801例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器801还可以包括用于缓存用途的板载存储器。处理器801可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。

在RAM 803中,存储有系统800操作所需的各种程序和数据。处理器801、ROM 802以及RAM 803通过总线804彼此相连。处理器801通过执行ROM 802和/或RAM 803中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,所述程序也可以存储在除ROM 802和RAM 803以外的一个或多个存储器中。处理器801也可以通过执行存储在所述一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。

根据本公开的实施例,系统800还可以包括输入/输出(I/O)接口805,输入/输出(I/O)接口805也连接至总线804。系统800还可以包括连接至I/O接口805的以下部件中的一项或多项:包括键盘、鼠标等的输入部分806;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分807;包括硬盘等的存储部分808;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器810也根据需要连接至I/O接口805。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装入存储部分808。

根据本公开的实施例,根据本公开实施例的方法流程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。在该计算机程序被处理器801执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。

本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的方法。

根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 802和/或RAM 803和/或ROM 802和RAM 803以外的一个或多个存储器。

附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合或/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。

以上对本公开的实施例进行了描述。但是,这些实施例仅仅是为了说明的目的,而并非为了限制本公开的范围。尽管在以上分别描述了各实施例,但是这并不意味着各个实施例中的措施不能有利地结合使用。本公开的范围由所附权利要求及其等同物限定。不脱离本公开的范围,本领域技术人员可以做出多种替代和修改,这些替代和修改都应落在本公开的范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号