一种文本标注方法及装置与流程

文档序号:17991508发布日期:2019-06-22 00:50阅读:169来源:国知局
一种文本标注方法及装置与流程
本申请涉及人工智能
技术领域
,尤其涉及一种文本标注方法及装置。
背景技术
:随着语音相关技术的飞速进步、人工智能领域的快速崛起,用于支持人机对话的语义理解技术越来越受到关注。目前的语义理解技术,包括基于规则的文本处理方案、基于深度学习的统计模型方案等,但这些方案均需要大量的人工标注数据,有些情况下,人工标注的数据很难将所有的场景和真实的用户说法完全覆盖,导致语义理解系统不能很好的进行用户请求的理解,体验较差。在由人工标注数据时,一般是由人工标注文本中每个词条的标签,在一种标签标注方法中,是对文本中每个词条所属的语义槽进行标注,其中,语义槽是指具有语义信息的文本片段,如音乐领域的语义槽列表包括歌曲名、歌手名、专辑名等语义槽。但通过人工对文本进行语义槽标注,比如由特定领域内的专家进行标注,人工成本较高,并且,在标注人员较多的情况下,标注的一致性也会存在问题。技术实现要素:本申请实施例的主要目的在于提供一种文本标注方法及装置,不但能够降低标注成本,还能提高标注结果的一致性。本申请实施例提供了一种文本标注方法,包括:获取待标注的目标文本;确定所述目标文本所属的特定领域;利用所述特定领域内的结构化数据,对所述目标文本中的各个词条进行语义槽标注。可选的,所述利用所述特定领域内的结构化数据,对所述目标文本中的各个词条进行语义槽标注,包括:在所述特定领域内的结构化数据中检索各个字段下的各个值,得到与所述目标文本相匹配的各个值,作为各个检索值;将所述目标文本进行片段分割,得到各个文本片段;根据各个检索值与各个文本片段之间的匹配结果,对所述目标文本中的各个词条进行语义槽标注。可选的,所述在所述特定领域内的结构化数据中检索各个字段下的各个值,得到与所述目标文本相匹配的各个值,包括:在所述特定领域内的结构化数据中检索各个字段下的各个值,得到出现在所述目标文本中的各个值;和/或,将所述目标文本按照预设表现形式进行转换,得到转换文本,在转换数据中检索各个字段下的各个值,得到出现在所述转换文本中的各个值,所述转换数据是将所述特定领域内的结构化数据按照所述预设表现形式进行转换的结果;按照所述结构化数据的原始表现形式,将检索到的各个值在所述结构化数据的各条数据下进行去重合并。可选的,所述各个文本片段中包括至少一种类型的文本片段,不同类型的文本片段具有不同的文本单元个数。可选的,所述根据各个检索值与各个文本片段之间的匹配结果,对所述目标文本中的各个词条进行语义槽标注,包括:根据各个检索值与各个文本片段之间的匹配结果,生成所述目标文本中的每一文本单元在各个预设标签上的统计信息;根据所述目标文本中的每一文本单元在各个预设标签上的统计信息,对所述目标文本中的各个词条进行语义槽标注。可选的,所述文本片段对应于所述文本片段中的一个文本单元;所述生成所述目标文本中的每一文本单元在各个预设标签上的统计信息,包括:在生成所述文本单元对应的统计信息时,对于各个检索值,若所述检索值包含所述文本单元对应的文本片段,则确定出所述检索值在所述结构化数据中所属的字段,并确定出所述文本单元在所述检索值中的位置;将确定的字段和位置对应的预设标签上的统计值加1。可选的,所述根据所述目标文本中的每一文本单元在各个预设标签上的统计信息,对所述目标文本中的各个词条进行语义槽标注,包括:根据所述目标文本中的每一文本单元在各个预设标签上的统计信息,以及各个预设标签之间的跳转概率,对所述目标文本中的各个词条进行语义槽标注。可选的,所述对所述目标文本中的各个词条进行语义槽标注,包括:采用维特比算法,对所述目标文本中的各个词条进行语义槽标注。可选的,所述对所述目标文本中的各个词条进行语义槽标注之前,包括:过滤掉所述目标文本中的冗余词汇,所述冗余词汇包括属于所述特定领域的常见句式中的词汇。本申请实施例还提供了一种文本标注装置,包括:目标文本获取单元,用于获取待标注的目标文本;特定领域确定单元,用于确定所述目标文本所属的特定领域;语义槽标注单元,用于利用所述特定领域内的结构化数据,对所述目标文本中的各个词条进行语义槽标注。可选的,所述语义槽标注单元包括:检索值获取子单元,用于在所述特定领域内的结构化数据中检索各个字段下的各个值,得到与所述目标文本相匹配的各个值,作为各个检索值;文本片段获得子单元,用于将所述目标文本进行片段分割,得到各个文本片段;语义槽标注子单元,用于根据各个检索值与各个文本片段之间的匹配结果,对所述目标文本中的各个词条进行语义槽标注。可选的,所述检索值获取子单元包括:目标值获得子单元,用于在所述特定领域内的结构化数据中检索各个字段下的各个值,得到出现在所述目标文本中的各个值;和/或,将所述目标文本按照预设表现形式进行转换,得到转换文本,在转换数据中检索各个字段下的各个值,得到出现在所述转换文本中的各个值,所述转换数据是将所述特定领域内的结构化数据按照所述预设表现形式进行转换的结果;目标值处理子单元,按照所述结构化数据的原始表现形式,将检索到的各个值在所述结构化数据的各条数据下进行去重合并。可选的,所述各个文本片段中包括至少一种类型的文本片段,不同类型的文本片段具有不同的文本单元个数。可选的,所述语义槽标注子单元包括:统计信息生成子单元,用于根据各个检索值与各个文本片段之间的匹配结果,生成所述目标文本中的每一文本单元在各个预设标签上的统计信息;第一语义槽标注子单元,用于根据所述目标文本中的每一文本单元在各个预设标签上的统计信息,对所述目标文本中的各个词条进行语义槽标注。可选的,所述文本片段对应于所述文本片段中的一个文本单元;所述统计信息生成子单元包括:位置确定子单元,用于在生成所述文本单元对应的统计信息时,对于各个检索值,若所述检索值包含所述文本单元对应的文本片段,则确定出所述检索值在所述结构化数据中所属的字段,并确定出所述文本单元在所述检索值中的位置;统计值确定子单元,用于将确定的字段和位置对应的预设标签上的统计值加1。可选的,所述第一语义槽标注子单元具体用于:根据所述目标文本中的每一文本单元在各个预设标签上的统计信息,以及各个预设标签之间的跳转概率,对所述目标文本中的各个词条进行语义槽标注。可选的,所述语义槽标注单元具体用于:采用维特比算法,对所述目标文本中的各个词条进行语义槽标注。可选的,所述装置还包括:冗余词汇过滤单元,用于过滤掉所述目标文本中的冗余词汇,所述冗余词汇包括属于所述特定领域的常见句式中的词汇。本申请实施例还提供了一种文本标注设备,包括:处理器、存储器、系统总线;所述处理器以及所述存储器通过所述系统总线相连;所述存储器用于存储一个或多个程序,所述一个或多个程序包括指令,所述指令当被所述处理器执行时使所述处理器执行上述文本标注方法中的任意一种实现方式。本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行上述文本标注方法中的任意一种实现方式。本申请实施例还提供了一种计算机程序产品,所述计算机程序产品在终端设备上运行时,使得所述终端设备执行上述文本标注方法中的任意一种实现方式。本申请实施例提供的一种文本标注方法及装置,在获取到待标注的目标文本后,可以先确定出目标文本所属的特定领域,然后,利用该特定领域内的结构化数据,对目标文本中的各个词条进行语义槽标注。可见,本实施例采用的标注依据是目标文本所属的特定领域的结构化数据,由于该结构化数据包含了各个字段以及每一字段下的值,且每个字段通常代表该特定领域内的语义槽,故而,可以利用该结构化数据对目标文本中的各个词条进行语义槽标注,而无需人工标注,从而降低了人工标注成本;此外,由于结构化数据的字段与字段值之间的对应关系是固定的,这使得基于该结构化数据进行语义槽标注,能够保证标注结果的一致性。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本申请实施例提供的一种文本标注方法的流程示意图;图2为本申请实施例提供的利用特定领域内的结构化数据对目标文本中的各个词条进行语义槽标注的流程示意图;图3为本申请实施例提供的根据各个检索值与各个文本片段之间的匹配结果对目标文本中的各个词条进行语义槽标注的流程示意图;图4为本申请实施例提供的目标文本中的每一文本单元在各个预设标签上的统计信息的示意图;图5为本申请实施例提供的影视领域下的跳转概率表的示意图;图6为本申请实施例提供的目标文本中的每一文本单元在各个预设标签上的概率的示意图;图7为本申请实施例提供的一种文本标注装置的组成示意图。具体实施方式为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。第一实施例参见图1,为本实施例提供的一种文本标注方法的流程示意图,该方法包括以下步骤:s101:获取待标注的目标文本。在本实施例中,将需要进行语义槽标注的文本定义为目标文本。需要说明的是,本实施例不限制目标文本的语种类型,比如,目标文本可以是中文文本、或英文文本等;并且,本实施例也不限制目标文本的长度,比如,目标文本可以是句子文本、也可以是篇章级文本。s102:确定目标文本所属的特定领域。在本实施例中,通过步骤s101获取到待标注的目标文本后,可以对目标文本进行语义分析,确定出目标文本所属的特定领域,例如,该特定领域可以是影视领域、音乐领域、医学领域等。举例说明:假设目标文本中包含有歌曲名称或歌手名字等,则表明该目标文本所属的特定领域为音乐领域;或者,假设目标文本中包含有电影名称或导演名字等,则表明该目标文本所属的特定领域为影视领域,等等。s103:利用该特定领域内的结构化数据,对目标文本中的各个词条进行语义槽标注。在本实施例中,当通过步骤s102确定出目标文本所属的特定领域后,可以利用该特定领域内的结构化数据,对目标文本中的各个词条进行语义槽标注。其中,词条可以是字或词、或由字和词组成,词条作为一个专有名词,用来表示各领域的专业知识信息以及历史文化等,比如,一个具体的歌手名字、一个具体的电影名称,均是一个词条;语义槽指的是不同特定领域内具有语义信息的文本片段,例如,音乐领域的语义槽列表包括歌曲名、歌手名、专辑名等语义槽,比如,歌手名字“张三”对应的语义槽为“歌手名”。而特定领域内的结构化数据指的是能够反映特定领域的知识信息的数据。举例说明:影视领域内的结构化数据指的是结构化影视数据库中的数据,这些数据反映了影视领域的影视信息,常见的影视领域内的结构化数据的示例如表1所示:表1其中,id表示结构化数据中每一条数据的唯一标识,可取为1、2、3……,表1中示例性的示出了3条数据。且每一条数据包含了电影名称、导演名字、演员名字、角色名字、标签等表示结构化信息的字段,且每一字段下均有对应的值。需要说明的是,影视领域的语义槽列表可以包括电影名称、导演名字、演员名字、角色名字、标签等语义槽(即影视领域的结构化数据中的各个字段名称)。基于表1进行举例说明:如表2所示,当id为1时,该id值“1”表示表1中第一条数据的唯一标识、当id为2时,该id值“2”表示表1中第二条数据的唯一标识;其中,表1中字段“电影名称”下的值“电影1”可以为“大话西游值月光宝盒”、“电影2”可以为“西游记”;字段“导演名字”下的值包括“刘三”、“杨四”等;字段“演员名字”下的值包括“张一”、“王二”和“赵三”等;字段“角色名字”下的值“角色3”可以为“白骨精”、“角色5”可以为“至尊宝”、“角色6”可以为“白龙马”等;字段“标签”下的值可以包括“爱情”、“电影”、“古装”、“冒险”、“奇幻”、“电视剧”等。表2需要说明的是,在本实施例中,在利用特定领域内的结构化数据,对目标文本中的各个词条进行语义槽标注之前,为了提高语义槽标注的效率,一种可选的实现方式是,可以先过滤掉目标文本中的冗余词汇,其中,冗余词汇包括属于特定领域的常见句式中的词汇。在本实现方式中,当获取到待标注的目标文本后,为了减少对其进行语义槽标注的计算量,提高标注结果的准确度,可以先对该目标文本进行预处理操作,以过滤掉目标文本中包含的其所属特定领域中的一些常见句式中的词汇。具体来讲,首先可以根据目标文本所属的特定领域内的结构化数据的格式,对目标文本进行规整,以保证目标文本的数据格式与该特定领域内结构化数据的格式一致。例如,假设目标文本所属的特定领域内的结构化数据均不含标点、英文字母均为大写、文字均为简体字、数字均利用阿拉伯数字来表示,则根据这些格式信息,可以将目标文本中的标点去掉、将包含的大小写字母均统一为大写、将所有文字规整为简体字、将所有数字均利用阿拉伯数字来表示。可以预先将该特定领域内一些常见句式中的常见词设置为冗余词汇,进而,可以将目标文本与这些冗余词汇进行匹配,当匹配出目标文本中包含冗余词汇时,即可在对目标文本中各个词条进行语义槽标注之前,将匹配出的这些冗余词汇过滤掉,以防止这些冗余词汇干扰标注结果,提升标注结果的准确度。举例说明:假设目标文本为“播放那个至尊宝和白骨精的西游记电影”,则可以确定出该目标文本所属的特定领域为影视领域,又假设预先已将影视领域中的常见句式“播放……”中的常见词“播放”设置为了冗余词汇,则在对该目标文本进行语义槽标注之前,即可先对该目标文本进行预处理,即,将其包含的冗余词汇“播放”过滤掉,得到文本“那个至尊宝和白骨精的西游记电影”,作为处理后的、待标注的目标文本。需要说明的是,本实施例除了进行词汇过滤以外,还可以将与语义槽填充无关的字进行过滤,比如,过滤掉“的”、“啊”等字。进一步的,在过滤掉目标文本中的冗余数据,得到处理后的、待标注的目标文本后,可以利用目标文本所属特定领域内的结构化数据,对该目标文本中的各个词条进行语义槽标注。具体来讲,可以利用目标文本所属特定领域内的结构化数据中包含的所有字段下的值,与目标文本进行匹配,根据匹配结果确定目标文本中的各个词条以及各个词条对应的语义槽,具体实现过程将在第二实施例中进行介绍。综上,本实施例在获取到待标注的目标文本后,可以先确定出目标文本所属的特定领域,如音乐领域、影视领域等,然后,可以利用该特定领域内的结构化数据,对目标文本中的各个词条进行语义槽标注。可见,本实施例采用的标注依据是目标文本所属的特定领域的结构化数据,由于该结构化数据包含了各个字段以及每一字段下的值,且每个字段通常代表该特定领域内的语义槽,故而,可以利用该结构化数据对目标文本中的各个词条进行语义槽标注,而无需人工标注,从而降低了人工标注成本;此外,由于结构化数据的字段与字段值之间的对应关系是固定的,这使得基于该结构化数据进行语义槽标注,能够保证标注结果的一致性。第二实施例本实施例将对第一实施例中步骤s103“利用该特定领域内的结构化数据,对目标文本中的各个词条进行语义槽标注”的具体实现过程进行介绍。参见图2,其示出了本实施例提供的利用特定领域内的结构化数据对目标文本中的各个词条进行语义槽标注的流程示意图,该流程包括以下步骤:s201:在特定领域内的结构化数据中检索各个字段下的各个值,得到与目标文本相匹配的各个值,作为各个检索值。在本实施例中,可以利用检索方法,对该特定领域的结构化数据中各个字段下的各个值进行匹配检索,具体可以采用文字匹配或拼音匹配的方式,从该结构化数据中检索得到与目标文本相匹配的各个值,这里,将相匹配的每个值定义为检索值。需要说明的是,由于结构化数据中各条数据中可能存在相同的值,因此,各个检索值中可能包括相同的检索值、但这些相同检索值隶属于结构化数据中的不同数据条目。例如:假设目标文本中包含词语“白骨精”,从表2中匹配得到的各个检索值中包括id值“1”和“2”的两条数据中的“白骨精”,即,匹配出的各个检索值中包括两个“白骨精”。在本实施例中,一种可选的实现方式是,本步骤s201的实现过程具体可以包括下述步骤a1-a3:步骤a1:在特定领域内的结构化数据中检索各个字段下的各个值,得到出现在目标文本中的各个值。在本实现方式中,在对特定领域内的结构化数据中的各个字段下的值进行检索之前,首先可以通过倒排表等方式,按照该结构化数据包含的各个字段建立文本索引,使得每一字段下的值均各自对应一个文本索引,然后,可以基于每一字段下的值各自对应的文本索引,通过全文检索的方法,从该结构化数据中检索到出现在目标文本中的各个值。需要说明的是,本实现方式中的“文本索引”可以采用任意表现形式,比如数字形式、或拼音形式、或二者结合的形式,等等。例如:假设目标文本为“那个至尊宝和白骨精的西游记电影”,且该目标文本所属的特定领域的结构化数据如上述表2所示,在对表2中包含的各个字段下的值建立文本索引后,可以通过全文检索的方法,根据表2中每一字段值各自对应的文本索引,检索到第1条数据和第2条数据中的字段值“白骨精”出现在了目标文本中、第1条数据中的字段值“至尊宝”、“电影”出现在了目标文本中、第2条数据中的字段值“西游记”也出现在了目标文本中。步骤a2:将目标文本按照预设表现形式进行转换,得到转换文本,在转换数据中检索各个字段下的各个值,得到出现在该转换文本中的各个值,其中,转换数据是将特定领域内的结构化数据按照预设表现形式进行转换的结果。在本实现方式中,可以预先将目标文本按照预设表现形式进行转换,比如,将目标文本由文字形式转换为拼音形式,得到拼音形式的目标文本,这里将其定义为转换文本;同理,将特定领域内的结构化数据按照同样的预设表现形式进行转换,比如,在将目标文本由文字形式转换为拼音形式的同时,将特定领域内的结构化数据同样由文字形式转换为拼音形式,得到拼音形式的结构化数据,这里将其定义为转换数据。需要说明的是,可以将结构化数据进行提前转换、或将结构化数据与目标文本进行同步转换。然后,可以通过倒排表等方式,按照该转换数据包含的各个字段建立预设表现形式的索引,比如拼音索引,使得每一字段下的值均各自对应一个拼音索引。接着,可以基于每一字段下的值各自对应的拼音索引,通过全文检索的方法,从该转换数据中检索到出现在转换文本中的各个值。需要说明的是,本实现方式中的“拼音索引”可以采用任意表现形式,比如数字形式、或拼音形式、或二者结合的形式,等等。例如,将目标文本“那个至尊宝和白骨精的西游记电影”转换为拼音形式,得到转换文本为“nagezhizunbaohebaigujingdexiyoujidianying”,同时,将表2中包含的各个字段下的值转换为拼音形式,得到转换数据,如下表3所示,然后,在对该转换数据中包含的各个字段下的值建立拼音索引后,可以通过全文检索的方法,根据转换数据中每一字段值各自对应的拼音索引,检索到转换数据中第1条数据和第2条数据中字段值“baigujing”出现在了转换文本中、第1条数据中的字段值“zhizunbao”、“dianying”出现在了转换文本中,第2条数据中的字段值“xiyouji”也出现在了转换文本中。其中,各个出现在转换文本中的值,如下表3中加注下划线的拼音所示:表3又例如:假设表2中还包含id为3的第3条数据,且其包含的字段“电影名称”下对应的值“电影3”为“戏游记”,则对应的表3中包含id为3的第3条数据包括字段“dianyingmingcheng”下的值为“xiyouji”,则通过将目标文本“那个至尊宝和白骨精的西游记电影”转换为拼音形式,得到转换文本为“nagezhizunbaohebaigujingdexiyoujidianying”后,不仅可以检索出上述举例中第1条数据和第2条数据中的字段值,还可以检索到id为3的第3条数据中的“xiyouji”这个值,其也出现在了转换文本中。需要说明的是,本实现方式可以包括步骤a1、或步骤a2、或步骤a1和a2。步骤a3:按照结构化数据的原始表现形式,将检索到的各个值在结构化数据的各条数据下进行去重合并。在本实现方式中,通过步骤a1检索到结构化数据的原始表现形式下的各个值、以及通过步骤a2检索到结构化数据的转换表现形式(比如拼音)下的各个值后,可以将检索到的各个值,在结构化数据的原始表现形式下,针对每条数据进行去重合并,从而得到从结构化数据中检索到的各个检索值。例如,基于上述步骤a1中的举例,当通过步骤a1检索到第1条数据中的字段“角色名字”下的值“白骨精”、当通过步骤a2检索到第1条数据中的字段“juesemingzi”下的值“baigujing”后,由于二者在结构化数据中属于相同条目、相同字段下的值,所以,将二者按照结构化数据的原始表现形式,合并为“白骨精”,作为一个检索值。又例如,基于上述步骤a2中的举例,当通过步骤a2检索到第3条数据中的字段“dianyingmingcheng”下的值“xiyouji”、但通过步骤a1并未检索到第3条数据中的字段“电影名称”下的值“戏游记”,则按照结构化数据的原始表现形式,直接将“戏游记”作为一个检索值。s202:将目标文本进行片段分割,得到各个文本片段。在本实施例中,可以利用文本片段分割方法,对目标文本进行片段分割,以得到目标文本中各个文本单元对应的文本片段,比如,可以利用语言模型中常见的分割方法——ngram统计语言模型,对目标文本进行片段分割,可以得到目标文本中的各个文本片段,其中,n表示的是进行片段分割处理后得到的各个文本片段中包含的文本单元的个数。其中,文本单元可以是构成目标文本的基本组成单位。比如,若目标文本为中文文本,则其包含的文本单元可以为字和词;若目标文本为英文文本,则其包含的文本单元可以为单词,等等。在本实施例的一种实现方式中,利用ngram统计语言模型,对目标文本进行片段分割后,得到的各个文本片段中可以包括至少一种类型的文本片段,其中,不同类型的文本片段具有不同的文本单元个数。在本实现方式中,可以将n取为一种或多种不同的数值,再利用对应的ngram统计语言模型,对目标文本进行片段分割,以得到一种或多种类型的文本片段,其中,n的不同取值对应于不同的片段类型。举例说明:假设目标文本为中文文本“那个至尊宝和白骨精的西游记电影”,且取n=2,则可以利用对应的2gram统计语言模型,对该目标文本“那个至尊宝和白骨精的西游记电影”进行片段分割,得到目标文本中各个字对应的文本片段,片段分割的结果如下表4所示:表4其中,si(i=1、2……13)表示目标文本“那个至尊宝和白骨精的西游记电影”中包含的第i个文本片段的内容。且每个文本片段中包含有2个字,例如,s2表示的是目标文本“那个至尊宝和白骨精的西游记电影”中第二个字“个”对应的文本片段为“那个”。类似的,还可以取n=1和n=3,然后,可以分别利用1gram统计语言模型和3gram统计语言模型,对目标文本“那个至尊宝和白骨精的西游记电影”进行片段分割,以得到目标文本中各个字对应的文本片段。其中,当n=1时,各个字对应的文本片段包含的字数为1,例如,n=1时,第二个字“个”对应的文本片段s2为“个”;当n=3时,各个字对应的文本片段包含的字数为3,例如,n=3时,第二个字“个”对应的文本片段s2为“<b>那个”。需要说明的是,本实施例不限制s201和s202的执行顺序,可以先执行s201后执行s202、或先执行s202后执行s201、或同时执行s201和s202。s203:根据各个检索值与各个文本片段之间的匹配结果,对目标文本中的各个词条进行语义槽标注。在本实施例中,通过步骤s201得到结构化数据中的各个检索值,以及通过步骤s202得到目标文本中的各个文本片段后,可将各个文本片段与各个检索值进行匹配,然后,再根据匹配结果,对目标文本中的各个词条进行语义槽标注。接下来,本实施例将通过下述步骤s301-s302,对本步骤s203的具体实现过程进行介绍。参见图3,其示出了本实施例提供的根据各个检索值与各个文本片段之间的匹配结果对目标文本中的各个词条进行语义槽标注的流程示意图,该流程包括以下步骤:s301:根据各个检索值与各个文本片段之间的匹配结果,生成目标文本中的每一文本单元在各个预设标签上的统计信息。在本实施例中,可以将目标文本所属的特定领域的结构化数据包含的每一字段定义为一个标签,并赋予相应的标签标识,比如,这些标签标识可以利用不同的字母来表示。举例说明:以表1所示的结构化数据为例,可以为该结构化数据所包含的电影名称、导演名字、演员名字、角色名字、标签这5个字段分别定义一个标签标识,比如,可以分别利用大写字母n、d、a、r、t来表示这5个标签标识;进一步,可以将这5个字段以外的内容定义为“其他”,并赋予相应的标签标识,比如,其标签标识可以是“o”。进一步的,本实施例还可以采用序列标注任务中常见的“bie”前缀方式,表示每一字段的字段值中的各个字在对应字段值中的位置信息,其中,b代表字段值的开始位置、i代表字段值的中间位置、e代表字段值的结束位置,这样,可以使得每个字段对应的标签标识由1个拆分为3个。举例说明:以表1所示的字段“电影名称”为例,可以用字母n表示该字段对应的标签标识,再对该标签标识进行拆分,可以得到字段“电影名称”对应的三个标签标识,分别为“bn”、“in”、“en”。同理,可以得到字段“导演名字”对应的三个标签标识“bd”、“id”、“ed”、字段“演员名字”对应三个标签标识“ba”、“ia”、“ea”、字段“角色名字”对应的三个标签标识“br”、“ir”、“er”、字段“标签”对应的三个标签标识“bt”、“it、“et”。这样,可以将上述拆分后得到的这15个标签标识以及标签标识“o”共16个标签标识,作为影视领域包含的各个预设标签。特殊的,当某字段的字段值为单个字(即单字成词),则可以用“s”表示该字在对应字段值中的位置信息,即“s”同时表示字段值的开始位置、中间位置和结束位置。例如,将上述表示字段的标签标识n、d、a、r、t与“s”进行组合,可以进一步得到5个标签标识,分别为sn、sd、sr、sa、st,如图4所示,这样,可以将上述16个标签标识以及这5个标签标识共21个标签标识,作为影视领域包含的各个预设标签,如图4中的第一行所示内容。接下来,在确定出目标文本所属特定领域包含的各个预设标签后,可以根据属于结构化数据中的各个检索值与属于目标文本的各个文本片段之间的匹配结果,生成目标文本中的每一文本单元在各个预设标签上的统计信息。具体来讲,在本实施例中,本步骤s301的实现过程具体可以包括下述步骤b1-b2:步骤b1:在生成目标文本的每一文本单元对应的统计信息时,对于各个检索值,若某一检索值包含该文本单元对应的文本片段,则确定出该检索值在结构化数据中所属的字段,并确定出该文本单元在检索值中的位置。在本实现方式中,当通过上述步骤s202将目标文本进行片段分割得到各个文本片段后,每一文本片段对应于该文本片段中的一个文本单元。具体来讲,在步骤s202中,利用ngram统计语言模型,对目标文本进行片段分割后,可以得到目标文本中各个文本单元对应的文本片段,例如,如表4所示,当n=2时,目标文本“那个至尊宝和白骨精的西游记电影”中的第二个字“个”对应的文本片段为“那个”,需要说明的是,采用几种n的取值对目标文本进行片段分割,目标文本中的每一字将对应几个文本片段。基于此,本实施例将以目标文本中包含的某一文本单元为准来介绍如何生成该文本单元对应的统计信息,而其它文本单元的处理方式与之类似,不再一一赘述。具体来讲,在生成该文本单元对应的统计信息时,首先是将该文本单元对应的文本片段(一个或多个)与各个检索值进行匹配,比如,可以基于文本字符串进行匹配、或者采用融合了音素层面的模糊匹配方案进行匹配。在匹配过程中,若能够检索出某一检索值包含了该文本单元对应的文本字段,则需要确定出该检索值在其所属结构化数据中对应的字段,并确定出该文本单元在该检索值中的位置,即,确定出该文本单元在检索值的开头位置、中间位置或结束位置。步骤b2:将确定的字段和位置对应的预设标签上的统计值加1。通过步骤b1确定出该检索值在结构化数据中的字段,以及该文本单元在该检索值中的位置后,可以将表示该字段和该位置的预设标签的统计值加1。具体来讲,在匹配过程中,若确定出该文本单元对应的文本片段包含在该检索值中、且该文本单元处于该检索值的开始位置,则可以将该检索值所属字段和该检索值的开始位置对应的预设标签上的统计值加1;若确定出该文本单元对应的文本片段包含在该检索值中、且该文本单元处于该检索值的中间位置,则可以将该检索值所属字段和该检索值的中间位置对应的预设标签上的统计值加1;若确定出该文本单元对应的文本片段包含在该检索值中、且该文本单元处于该检索值的结束位置,则可以将该检索值所属字段和该检索值的结束位置对应的预设标签上的统计值加1;若确定出该文本单元与该检索值相同,即二者为单个字,则可以将该检索值所属字段和该检索值的全部位置对应的预设标签(比如上述预设标签sn、sd、sr、sa、st)上的统计值加1;若确定出该文本单元对应的文本片段并未包含在该检索值中,则可以将代表“其他”的预设标签上的统计值加1。举例说明:参见图4,假设目标文本仍为“那个至尊宝和白骨精的西游记电影”,则其所属特定领域为影视领域,该领域包含的预设标签如图4第一行所示内容,从左至右依次为从“bn”至“o”的共21个预设标签。在利用2gram统计语言模型,对该目标文本进行片段分割后,可以得到目标文本中第二个字“个”对应的文本片段为“那个”、第四个字“尊”对应的文本片段为“至尊”。则进一步的,在将该文本片段“那个”与检索值“白骨精”进行匹配时,可以看出二者并不匹配,即,文本片段“那个”并不包含在检索值“白骨精”的任何位置,进而可以将该文本片段“那个”在检索值“白骨精”所属字段“角色名字”和该检索值的开始位置、中间位置以及结束位置分别对应的三个预设标签“br”、“ir”、“er”上的统计值均不加1。在将该文本片段“至尊”与检索值“至尊宝”进行匹配时,可以看出“至尊”包含在“至尊宝”中、且“尊”处于该检索值“至尊宝”的中间位置,则将“角色名字”和“中间位置”对应的预设标签“ir”上的统计值加1。这样,通过上述方式,可以得到目标文本中每一文本单元(比如每一字)在每一预设标签上的累加值,用于作为每一文本单元在各个预设标签上的统计信息,例如图4所示。s302:根据目标文本中的每一文本单元在各个预设标签上的统计信息,对目标文本中的各个词条进行语义槽标注。在本实施例中,通过步骤s301生成目标文本中的每一文本单元在各个预设标签上的统计信息后,可以根据这些统计信息之间的联系和差异,对目标文本中的各个词条进行语义槽标注。具体来讲,在本实施例中,一种可选的实现方式是,可以根据目标文本中的每一文本单元在各个预设标签上的统计信息,以及各个预设标签之间的跳转概率,对目标文本中的各个词条进行语义槽标注。在本实现方式中,当确定出目标文本所属特定领域包含的所有预设标签后,可通过以下两种方式中任意一种(第一种是冷启动方式、第二种是热启动方式),获取到各个预设标签之间的跳转概率,即,对于每一预设标签来说,可以获取到该预设标签跳转到其他任意预设标签的概率,该概率的大小代表跳转的可能性大小。其中,在第一种冷启动方式中,当没有足够的文本数据作为依据,来进行标签之间跳转概率的分析时,只能依据人工经验对各个预设标签之间的跳转概率进行设定。举例说明:仍以影视领域为例,基于上述步骤s301中的举例,可以得到该领域包含的21个预设标签,其中,可以理解的是,依据人工经验来看,一般o标签可以跳转到任何带有b(开头)、i(中间)、e(结束)的标签,故可以依据该人工经验将二者之间的跳转概率设定为较高概率值,比如1.0;而一般带有i(中间)的标签不能直接跳转到o标签或者带有b(开头)的标签,故可以依据该人工经验将二者之间的跳转概率设定为较低的概率值,比如0.05,由此,类似的,可以依据人工经验对各个预设标签之间的跳转概率进行设定,并可以利用这些设定好的概率值构成影视领域下的状态跳转表,比如图5所示。在第二种热启动方式中,可以预先收集足够多的文本数据,然后对每一文本数据中的每一文本单元(比如中文文本中的每一字)按照上述各个预设标签进行标签标注,这样,该文本数据中的每一文本单元均对应一个预设标签,且每相邻两个文本单元均对应一种标签跳转关系(即从一个预设标签跳转到另一预设标签),之后,在这些文本数据中,统计相同标签跳转关系的个数,并将该个数与所有标签跳转关系的总个数之和相除,从而得到该相同标签跳转关系对应的跳转概率。举例说明:仍以影视领域为例,基于上述步骤s301中的举例,可以得到该领域包含的21个预设标签,从而可以对已有的这些文本数据中的每一文本单元均标注上对应的预设标签,进而可以统计得到从一个预设标签跳转到另一个预设标签的次数,以及所有标签跳转的总次数。以预设标签“bn”为例,假设根据标签标注结果,可以得到从该预设标签“bn”跳转到预设标签“in”的次数为96次,且从该预设标签bn跳转到所有标签的总次数为200次,则从该预设标签“bn”跳转到预设标签“in”的跳转概率为0.48,即,96/200=0.48。同理,利用相同的计算方式,可以得到其他预设标签之间的跳转概率,用以构成影视领域下的状态跳转表。接下来,将对如何“根据目标文本中的每一文本单元在各个预设标签上的统计信息,以及各个预设标签之间的跳转概率,对目标文本中的各个词条进行语义槽标注”的实现方式进行具体介绍。在本实施例的一种可选的实现方式中,可以采用维特比算法,对目标文本中的各个词条进行语义槽标注。在本实现方式中,当生成目标文本中的每一文本单元在各个预设标签上的统计信息(比如生成图4所示的统计信息)、以及获取到各个预设标签之间的跳转概率(比如获取到图5所示的跳转概率表中的概率)后,可以生成状态转移矩阵trans和发射矩阵y,进而可以基于这两个矩阵,采用维特比算法,进行最优的路径计算,从而实现对目标文本中的各个词条的语义槽标注。其中,维特比算法是一种现有的有效寻找观测时间序列中最优的状态转移路径的方法。其中,状态转移矩阵trans即为由各个预设标签之间的跳转概率组成的矩阵,它描述了一个预设标签跳转到另一预设标签的概率分布情况。其中,发射矩阵y按照下述方式生成。具体来讲,首先可以根据目标文本中的每一文本单元在各个预设标签上的统计信息,生成对应的概率表,该概率表中的每一概率值包括目标文本中的每一文本单元在各个预设标签上的概率。需要说明的是,由于预设标签“o”是表示“其他”的一种特殊标签,与结构化数据没有直接的关系,因此,在生成目标文本中的每一文本单元在各个预设标签上的统计信息时,无法直接计算出每一文本单元在预设标签“o”上的统计信息,也就是说,在上述步骤s301中,得到的目标文本中的每一文本单元在预设标签“o”上的统计信息均为0,比如图4中最后一列所示的内容。故而,在生成概率表之前,需要生成目标文本中的每一文本单元在预设标签“o”上的统计信息,具体实现时,可以采用下述计算公式(1),计算出每一文本单元在预设标签“o”上的统计信息:其中,c(o)表示目标文本中的某文本单元t在预设标签“o”上的统计值;z为基数,z的具体取值与上述检索值的个数有关,一般情况下可以取为10;k表示目标文本所属特定领域包含的预设标签的总个数,可将预设标签“o”设置为第k个预设标签(比如,基于图4所示的影视领域包含的21个预设标签,可以将影视领域中表示预设标签的总个数k取为21,并将预设标签“o”设置为第21个预设标签);ci表示该文本单元t在第i个预设标签上的统计值。可见,公式(1)中的的取值可能为正数,也可能为负数。当的取值为负数时,c(o)的取值为0,进而表明文本单元t在预设标签“o”上的统计值与文本单元t在其他预设标签上的统计值之间的大小差异较大;当的取值为正数时,c(o)的取值为进而表明文本单元t在预设标签“o”上的统计值与文本单元t在其他预设标签上的统计值之间的大小差异较小。接着,在通过上述公式(1)计算出目标文本中每一文本单元在预设标签“o”上的统计信息后,结合上述步骤s301得到的目标文本中每一文本单元在其他预设标签上的统计信息,可以生成目标文本中的每一文本单元在各个预设标签(包括预设标签“o”)上的概率,具体计算公式如下:其中,ci表示文本单元t在第i个预设标签上的统计值;cj表示文本单元t在第j个预设标签上的统计值;k表示目标文本所属特定领域包含的预设标签的总个数;p(l)表示文本单元t在第j个预设标签上的概率。举例说明:假设目标文本仍为“那个至尊宝和白骨精的西游记电影”,且该目标文本中每一文本单元在各个预设标签上的统计信息如图4所示,进而利用上述计算方法,结合公式(1)和(2),可以生成该目标文本中每一个字在21个预设标签上的概率值,如图6所示。通过上述方式,即可计算得到目标文本中的每一文本单元在各个预设标签上的概率值,这些概率值即可组成发射矩阵y。进一步的,可以基于上述状态转移矩阵trans和发射矩阵y,采用维特比算法,计算出一条最优的标签标注路径,从而可以根据该路径,对目标文本中的每个词条进行语义槽标注。其中,维特比算法的计算过程与现有方式相同,在此不再赘述。举例说明:假设目标文本仍为“那个至尊宝和白骨精的西游记电影”,且该目标文本所属影视领域中各个预设标签之间的跳转概率如图5所示,以及该目标文本中的每一文本单元在各个预设标签上的概率如图6所示,则利用维特比算法计算出的最优签标注路径为:oobninenobrirerobninenbtit那个至尊宝和白骨精的西游记电影由此,根据该路径,可以得到目标文本中各个词条的语义槽标注结果如下:词条“至尊宝”对应的语义槽标注结果为“影视名称”;词条“白骨精”对应的语义槽标注结果为“角色名称”;词条“西游记”对应的语义槽标注结果为“影视名称”;词条“电影”对应的语义槽标注结果为“标签”。综上,本实施例通过将目标文本所属特定领域内的结构化数据中包含的所有字段对应的值,与目标文本进行匹配,以检索出结构化数据中与目标文本相匹配的各个字段值,再根据这些匹配出的字段值与目标文本中各个文本片段之间的匹配结果,对目标文本中的各个词条进行语义槽的准确标注,不仅可以减少人工成本,还能够提高语义槽标注结果的一致性。第三实施例本实施例将对一种文本标注装置进行介绍,相关内容请参见上述方法实施例。参见图7,为本实施例提供的一种文本标注装置的组成示意图,该装置700包括:目标文本获取单元701,用于获取待标注的目标文本;特定领域确定单元702,用于确定所述目标文本所属的特定领域;语义槽标注单元703,用于利用所述特定领域内的结构化数据,对所述目标文本中的各个词条进行语义槽标注。在本实施例的一种实现方式中,所述语义槽标注单元703包括:检索值获取子单元,用于在所述特定领域内的结构化数据中检索各个字段下的各个值,得到与所述目标文本相匹配的各个值,作为各个检索值;文本片段获得子单元,用于将所述目标文本进行片段分割,得到各个文本片段;语义槽标注子单元,用于根据各个检索值与各个文本片段之间的匹配结果,对所述目标文本中的各个词条进行语义槽标注。在本实施例的一种实现方式中,所述检索值获取子单元包括:目标值获得子单元,用于在所述特定领域内的结构化数据中检索各个字段下的各个值,得到出现在所述目标文本中的各个值;和/或,将所述目标文本按照预设表现形式进行转换,得到转换文本,在转换数据中检索各个字段下的各个值,得到出现在所述转换文本中的各个值,所述转换数据是将所述特定领域内的结构化数据按照所述预设表现形式进行转换的结果;目标值处理子单元,按照所述结构化数据的原始表现形式,将检索到的各个值在所述结构化数据的各条数据下进行去重合并。在本实施例的一种实现方式中,所述各个文本片段中包括至少一种类型的文本片段,不同类型的文本片段具有不同的文本单元个数。在本实施例的一种实现方式中,所述语义槽标注子单元包括:统计信息生成子单元,用于根据各个检索值与各个文本片段之间的匹配结果,生成所述目标文本中的每一文本单元在各个预设标签上的统计信息;第一语义槽标注子单元,用于根据所述目标文本中的每一文本单元在各个预设标签上的统计信息,对所述目标文本中的各个词条进行语义槽标注。在本实施例的一种实现方式中,所述文本片段对应于所述文本片段中的一个文本单元;所述统计信息生成子单元包括:位置确定子单元,用于在生成所述文本单元对应的统计信息时,对于各个检索值,若所述检索值包含所述文本单元对应的文本片段,则确定出所述检索值在所述结构化数据中所属的字段,并确定出所述文本单元在所述检索值中的位置;统计值确定子单元,用于将确定的字段和位置对应的预设标签上的统计值加1。在本实施例的一种实现方式中,所述第一语义槽标注子单元具体用于:根据所述目标文本中的每一文本单元在各个预设标签上的统计信息,以及各个预设标签之间的跳转概率,对所述目标文本中的各个词条进行语义槽标注。在本实施例的一种实现方式中,所述语义槽标注单元703具体用于:采用维特比算法,对所述目标文本中的各个词条进行语义槽标注。在本实施例的一种实现方式中,所述装置还包括:冗余词汇过滤单元,用于过滤掉所述目标文本中的冗余词汇,所述冗余词汇包括属于所述特定领域的常见句式中的词汇。进一步地,本申请实施例还提供了一种文本标注设备,包括:处理器、存储器、系统总线;所述处理器以及所述存储器通过所述系统总线相连;所述存储器用于存储一个或多个程序,所述一个或多个程序包括指令,所述指令当被所述处理器执行时使所述处理器执行上述文本标注方法的任一种实现方法。进一步地,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行上述文本标注方法的任一种实现方法。进一步地,本申请实施例还提供了一种计算机程序产品,所述计算机程序产品在终端设备上运行时,使得所述终端设备执行上述文本标注方法的任一种实现方法。通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到上述实施例方法中的全部或部分步骤可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者诸如媒体网关等网络通信设备,等等)执行本申请各个实施例或者实施例的某些部分所述的方法。需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1