生成模板的方法和装置、电子设备、计算机可读介质与流程

文档序号:18267502发布日期:2019-07-27 09:18阅读:120来源:国知局
生成模板的方法和装置、电子设备、计算机可读介质与流程

本公开实施例涉及文本生成技术领域,特别涉及生成模板的方法和装置、电子设备、计算机可读介质。



背景技术:

文本生成(textgeneration)是利用已有信息(先验信息)生成通顺且具有相关性的文本(如标题、句子、段落等)的技术。一种文本生成方式是利用模板生成:模板包括固定内容(固定的文本)和槽位(slot),每个槽位有一定类型,在文本生成时,槽位被填入与其类型对应的词库中的关键词,从而生成由固定内容和关键词组成的文本。

现有模板要通过人工方式生成:人工总结已有文本的规律,将有共性的文本提取出来,将其中可替换的词变为相应类型的槽位,得到模板,并为每种类型的类型设置对应词库。

但人工生成模板的效率低、耗时长、成本高,限制了模板的数量和多样性;而且,模板的质量十分依赖于执行人员的水平和已有文本的质量,另外也容易因人的失误而产生错误,降低模板质量。



技术实现要素:

本公开实施例提供一种生成模板的方法和装置、电子设备、计算机可读介质。

第一方面,本公开实施例提供一种生成模板的方法,所述模板为用于文本生成的模板,所述方法包括:

确定多种类型的槽位以及每种类型的槽位对应的词库,每种类型的槽位对应的所述词库包括至少一个关键词;

模板扩展步骤:在预设的训练文本库中查找包括至少一个所述关键词的候选文本,用至少部分所述候选文本生成所述模板,其中,所述候选文本中除关键词外的内容在由其生成的所述模板中转变为固定内容,所述候选文本中对应所述关键词的位置在由其生成的所述模板中转变为该关键词所在的所述词库对应的类型的槽位;

关键词扩展步骤:在所述训练文本库中查找与所述模板具有匹配的固定内容的匹配文本,将所述匹配文本中对应所述模板中的所述槽位的词作为该类型的槽位的候选词,将至少部分所述候选词作为关键词加入该类型的槽位对应的词库中。

在一些实施例中,在所述关键词扩展步骤后,还包括:

判断是否满足预设的第一条件,若否,则返回所述模板扩展步骤。

在一些实施例中,所述第一条件包括:

在之前预定次的所述模板扩展步骤中,生成的新的所述模板的数量小于或等于第一阈值;

在之前预定次的所述关键词扩展步骤中,被作为新的关键词的候选词的数量小于或等于第二阈值。

在一些实施例中,所述用至少部分所述候选文本生成所述模板包括;判断任意候选文本生成的所述模板是否满足预设的第二条件,若是,则用该候选文本生成模板;所述第二条件包括:

用该候选文本生成的模板中所包括的槽位的类型数大于或等于第三阈值。

在一些实施例中,所述用至少部分所述候选文本生成所述模板包括;判断任意候选文本生成的所述模板是否满足预设的第二条件,若是,则用该候选文本生成模板;所述第二条件包括:

在所述训练文本库中,与用该候选文本生成的具有匹配的固定内容的文本数大于或等于第四阈值。

在一些实施例中,所述将至少部分所述候选词作为关键词加入该类型的槽位对应的词库中包括:判断任意候选词是否满足第三条件,若是,则将该候选词作为关键词加入该类型的槽位对应的词库中;所述第三条件包括:

该候选词被作为该类型的槽位的候选词的次数大于或等于第五阈值。

在一些实施例中,在所述模板扩展步骤后,还包括:

根据各所述模板中的所述槽位,对各所述模板进行分类。

在一些实施例中,在所述关键词扩展步骤后,还包括:

向所述模板中的各类型的所述槽位分别填入对应的所述词库中的所述关键词得到中间文本,所述中间文本中,每个所述关键词和与其相连的文本构成一个描述组合;

在所述训练文本库中检索各所述描述组合,以检索结果数大于或等于第六阈值的描述组合为常用描述组合;

将所包括的所有描述组合均为所述常用描述的中间文本作为由所述模板生成的文本。

第二方面,本公开实施例提供一种生成模板的装置,其包括:

设定模块,用于确定多种类型的槽位以及每种类型的槽位对应的词库,每种类型的槽位对应的所述词库包括至少一个关键词;

模板扩展模块,用于在预设的训练文本库中查找包括至少一个所述关键词的候选文本,用至少部分所述候选文本生成所述模板,其中,所述候选文本中除关键词外的内容在由其生成的所述模板中转变为固定内容,所述候选文本中对应所述关键词的位置在由其生成的所述模板中转变为该关键词所在的所述词库对应的类型的槽位;

关键词扩展模块,用于在所述训练文本库中查找与所述模板具有匹配的固定内容的匹配文本,将所述匹配文本中对应所述模板中的所述槽位的词作为该类型的槽位的候选词,将至少部分所述候选词作为关键词加入该类型的槽位对应的词库中。

在一些实施例中,所述装置还包括:

判断模块,用于判断是否满足预设的第一条件,若否,则控制所述模板扩展模块开始工作。

在一些实施例中,所述第一条件包括:

在之前预定次的所述模板扩展模块的工作中,生成的新的所述模板的数量小于或等于第一阈值;

在之前预定次的所述关键词扩展模块的工作中,被作为新的关键词的候选词的数量小于或等于第二阈值。

在一些实施例中,所述模板扩展模块用于判断任意候选文本生成的所述模板是否满足预设的第二条件,若是,则用该候选文本生成模板;所述第二条件包括:

用该候选文本生成的模板中所包括的槽位的类型数大于或等于第三阈值。

在一些实施例中,所述模板扩展模块用于判断任意候选文本生成的所述模板是否满足预设的第二条件,若是,则用该候选文本生成模板;所述第二条件包括:

在所述训练文本库中,与用该候选文本生成的具有匹配的固定内容的文本数大于或等于第四阈值。

在一些实施例中,所述关键词扩展模块用于判断任意候选词是否满足第三条件,若是,则将该候选词作为关键词加入该类型的槽位对应的词库中;所述第三条件包括:

该候选词被作为该类型的槽位的候选词的次数大于或等于第五阈值。

在一些实施例中,所述装置还包括:

分类模块,用于根据各所述模板中的所述槽位,对各所述模板进行分类。

在一些实施例中,所述装置还包括生成模块,其用于:

向所述模板中的各类型的所述槽位分别填入对应的所述词库中的所述关键词得到中间文本,所述中间文本中,每个所述关键词和与其相连的文本构成一个描述组合;

在所述训练文本库中检索各所述描述组合,以检索结果数大于或等于第六阈值的描述组合为常用描述组合;

将所包括的所有描述组合均为所述常用描述的中间文本作为由所述模板生成的文本。

第三方面,本公开实施例提供一种电子设备,其包括:

一个或多个处理器;

存储装置,其上存储有一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述任意一种生成模板的方法。

第四方面,本公开实施例提供一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现上述任意一种生成模板的方法。

本公开实施例的方法可自行生成模板(和关键词),而不需要人工干预,从而其生成模板的效率高、成本低,且生成模板的质量不依赖于操作人员的水平,对训练文本库的质量要求也较低,且不存在人为失误,故所得模板的质量好,用其生成的文本的质量也好。

进一步的,通过在生成模板和关键词的过程中设置一些条件,则还可保证所生成的模板和关键词是比较常用的表达方式,故得到的模板更符合人们一般的表达习惯,具有更高的质量,可生成更高质量的文本。

附图说明

附图用来提供对本公开实施例的进一步理解,并且构成说明书的一部分,与本公开的实施例一起用于解释本公开,并不构成对本公开的限制。通过参考附图对详细示例实施例进行描述,以上和其它特征和优点对本领域技术人员将变得更加显而易见,在附图中:

图1为本公开实施例提供的一种生成模板的方法的流程图;

图2为本公开实施例提供的另一种生成模板的方法的流程图;

图3为本公开实施例提供的一种生成模板的方法的原理示意图;

图4为本公开实施例提供的另一种生成模板的方法中部分步骤的流程图;

图5为本公开实施例提供的另一种生成模板的方法中部分步骤的流程图;

图6为本公开实施例提供的一种生成模板的装置的组成框图;

图7为本公开实施例提供的另一种生成模板的装置的组成框图。

具体实施方式

为使本领域的技术人员更好地理解本公开的技术方案,下面结合附图对本公开提供的生成模板的方法和装置、电子设备、计算机可读介质进行详细描述。

在下文中将参考附图更充分地描述示例实施例,但是所述示例实施例可以以不同形式来体现且不应当被解释为限于本公开阐述的实施例。反之,提供这些实施例的目的在于使本公开透彻和完整,并将使本领域技术人员充分理解本公开的范围。

如本公开所使用的,术语“和/或”包括一个或多个相关列举条目的任何和所有组合。

本公开所使用的术语仅用于描述特定实施例,且不意欲限制本公开。如本公开所使用的,单数形式“一个”和“该”也意欲包括复数形式,除非上下文另外清楚指出。

当本公开中使用术语“包括”和/或“由……制成”时,指定存在所述特征、整体、步骤、操作、元件和/或组件,但不排除存在或添加一个或多个其它特征、整体、步骤、操作、元件、组件和/或其群组。

本公开所述实施例可借助本公开的理想示意图而参考平面图和/或截面图进行描述。因此,可根据制造技术和/或容限来修改示例图示。

本公开的实施例不限于附图中所示的实施例,而是包括基于制造工艺而形成的配置的修改。因此,附图中例示的区具有示意性属性,并且图中所示区的形状例示了元件的区的具体形状,但并不旨在是限制性的。

除非另外限定,否则本公开所用的所有术语(包括技术和科学术语)的含义与本领域普通技术人员通常理解的含义相同。还将理解,诸如那些在常用字典中限定的那些术语应当被解释为具有与其在相关技术以及本公开的背景下的含义一致的含义,且将不解释为具有理想化或过度形式上的含义,除非本公开明确如此限定。

名词解释

本公开实施例中,如无特别说明,则以下技术术语应按照以下方式理解:

文本,其是指由文字和符号构成的能表示一定意义的信息,例如为短语(如标题)、句子、段落等。

词,其是指文本中可表示独立且确定的含义的单元,其具体可为单字、单词、词组等。

文本生成,其是指利用已有信息生成通顺且具有相关性的文本的技术;其中,所生成的文本可为短语(如标题)、句子、段落等;其中,所生成的文本可以无特定要求的文本,也可以是针对特定内容、属于特定领域、具有特定形式的文本。

模板/槽位/槽位的类型/词库/关键词,其中,模板其是指用于文本生成的模型;每个模板包括固定内容(固定的文本)和槽位(slot);每个槽位有一定的类型,表示该槽位中应填入相应类型的词;而每个类型的槽位对应有一个词库,该词库中具有多个能填入该槽位中的关键词;在文本生成时,槽位被填入与其类型对应的词库中的关键词,从而生成由固定内容和关键词组成的文本。

文本与模板具有匹配的固定内容,其是指文本符合一个模板的形式(或者说与一个模板匹配),即文本中具有与模板的固定内容的相同的文字,且文本在对应模板的槽位的位置存在不属于固定内容的词,即存在对应槽位的词。

图1为本公开实施例的一种生成模板的方法的流程图。

第一方面,本公开实施例提供一种生成模板的方法。

其中,本公开实施例的方法生成的模板用于文本生成,即其生成的每个模板中,包括固定内容(固定的文本)和槽位(slot),每个槽位有一定的类型,在文本生成时,槽位被填入其类型对应的词库中的关键词,从而得到由固定内容和关键词组成的文本。

参照图1,本公开实施例提供的生成模板的方法包括:

s101、确定多种类型的槽位以及每种类型的槽位对应的词库,每种类型的槽位对应的词库包括至少一个关键词。

人为设定多种在模板中可能存在的槽位的类型,如[形容词槽位]、[动词槽位]等(以下用“[]”符号表示槽位)。

例如,假设槽位的类型共有n种,则所有类型的槽位组成一个集合s,s={s1,s2,s3……sn},其中si为第i个类型的槽位(i≤n)。

同时,人为给每个类型的槽位的词库设定一些关键词(初始关键词),如设定对应[形容词槽位]的词库包括关键词“伟大”。

s102、模板扩展步骤:在预设的训练文本库中查找包括至少一个关键词的候选文本,用至少部分候选文本生成模板,其中,候选文本中除关键词外的内容在由其生成的模板中转变为固定内容,候选文本中对应关键词的位置在由其生成的模板中转变为该关键词所在的词库对应的类型的槽位。

训练文本库包括大量预先设置的、用于生成模板的文本。训练文本库的具体内容可根据需要生成的模板确定,例如,当要生成用于某特定领域的模板时(如用于生成法律文书的模板、用于生成评论的模板等),则训练文本库包括的也应是相应领域的文本(如包括法律文书、评论文章等)。

本步骤中,利用关键词发现模板,即利用当前词库中的关键词(可能初始关键词,也可能包括初始关键词和后续增加的关键词)去训练文本库中找到可能的模板。

具体的,本步骤包括在训练文本库中检索关键词,若检索到一个文本(如一句话)中包括至少一个关键词,则以该文本为候选文本;之后,用至少部分检索到的候选文本生成的模板,即将候选文本中对应关键词的位置的内容(即文本中的关键词)替换为该关键词的类型的槽位,而将候选文本的其它部分作为固定内容,从而得到由固定内容和槽位组成的模板。

显然,当有新的关键词时,也就有可能找到新的候选文本并生成新的模板,故本步骤可通过新的关键词实现模板的扩展。

本步骤中,生成的每个模板中包括的槽位的类型构成集合t,t={sa1,sa2……},其中sai为模板中包括的第i个类型的槽位。应当理解,集合t必然是集合s的子集,即t∈s。

示例性的,假设训练文本库中有文本:“伟大的科学家顿爱因斯坦发表了狭义相对论,为物理学的发展做出了重大贡献”。若当前[形容词槽]位对应的词库中有关键词“伟大”,[人名槽位]对应的词库中有关键词“爱因斯坦”,[科学理论槽位]对应的词库中有关键词“狭义相对论”。则以上文本可被选出作为候选文本,且能被转变为模板1:

“[形容词槽位]的科学家[人名槽位]发表了[科学理论槽位],为物理学的发展做出了重大贡献”。

应当理解,当关键词的数量增多时,则找到的包括关键词的候选文本也就更多,进而转换得到的模板和模板中的槽位数量也就越多。

例如,若还有[学科槽位],其对应的词库中有关键词“物理学”,而[形容词槽位]对应的词库中有关键词“重大”,则以上候选文本会被转变为模板2:

“[形容词槽位]的科学家[人名槽位]发表了[科学理论槽位],为[学科槽位]的发展做出了[形容词槽位]贡献”;

应当理解,以上模板1与模板2虽然源自同一候选文本,但二者是两个不同的模板。

应当理解,根据具体运算方式的不同,每次执行本步骤时实际得到的模板数量也是不同的:例如,可用所有关键词查找候选文本,则这样生成的模板中可能包括现有模板,之后再对相同的模板做合并处理;或者,也可仅用包括至少一个新的关键词的文本为候选文本,以保证生成的模板都是新的。

在一些实施例中,用至少部分候选文本生成模板包括;判断任意候选文本生成的模板是否满足预设的第二条件,若是,则用该候选文本生成模板;其中,第二条件包括:

用该候选文本生成的模板中所包括的槽位的类型数大于或等于第三阈值;

和/或,

在训练文本库中,与用该候选文本生成的具有匹配的固定内容的文本数大于或等于第四阈值。

由于包括关键词的候选文本数量通常很大,其中大部分并不适于生成模板,故可仅用满足特定的第二条件的候选文本生成模板。

具体的,第二条件可包括“用该候选文本生成的模板中所包括的槽位的类型数大于或等于第三阈值”。也就是说,当候选文本转变转变为模板后,若某一模板中涵盖的槽位的类型超过预定值(如所有槽位的类型数的一半)时,才实际用该候选文本生成模板;这样可以保证最终得到的每个模板中,可填入的内容都很多,可生成很多不同的文本。

具体的,第二条件可包括“在训练文本库中,与用该候选文本生成的具有匹配的固定内容的文本数大于或等于第四阈值”。也就是说,若某候选文本转变转变为模板后,可在训练文本库中找到较多的与该模板具有匹配的固定内容的文本,才实际用该候选文本生成模板;这样可以保证所得的模板是比较常用的表达方式。

当然,应当理解,第二条件可只包括满足以上两条要求中的一者,也可以同时包括两者。

s103、关键词扩展步骤:在训练文本库中查找与模板具有匹配的固定内容的匹配文本,将匹配文本中对应模板中的槽位的词作为该类型的槽位的候选词,将至少部分候选词作为关键词加入该类型的槽位对应的词库中。

在得到一些模板后,继续在训练文本库中寻找与这些模板的固定内容匹配的文本(匹配文本),匹配文本的固定内容与模板相同,且其中对应模板中的槽位的位置必然有一定的词(候选词),而该候选词很可能是该类型的槽位的词库所应有的关键词,故可将至少部分候选词作为的关键词键入相应词库中。

显然,当有新的模板时,也就有可能找到新关键词,故本步骤可通过新的模板实现关键词的扩展。

其中,为避免词库过大,还可根据训练文本库的规模,为每个词库中关键词的数量(或所有词库中关键词的总数)设定一个上限值。

示例性的,在得到以上模板“[形容词槽位]的科学家[人名槽位]发表了[科学理论槽位],为物理学的发展做出了重大贡献”后,若训练文本库包括文本“著名的科学家牛顿发表了牛顿三定律,为物理学的发展做出了重大贡献”,则该文本会被匹配为匹配文本,且其中的词“著名”可被选为与[形容词槽位]对应的关键词,而“牛顿”可被选为与[人名槽位]对应的关键词。

也就是说,原本[形容词槽位]对应的词库中新增了关键词“著名”,而[人名槽位]对应的词库中新增了关键词“牛顿”,从而实现了词库的扩展。

当然,已有模板的数量越多,则能匹配到的匹配文本数量也就越多,进而能找到的关键词数量也就越多。

例如,若训练文本库包括文本“著名的科学家牛顿发表了牛顿三定律,为力学的发展做出了重要贡献”,则其与以上“[形容词槽位]的科学家[人名槽位]发表了[科学理论槽位],为物理学的发展做出了重大贡献”的模板并不匹配;但若此时还有模板“[形容词槽位]的科学家[人名槽位]发表了[科学理论槽位],为[学科槽位]的发展做出了[形容词槽位]贡献”,则该文本会与其匹配,进而得到对应[学科槽位]的关键词“力学”,和对应[形容词槽位]的关键词“重要”。

应当理解,根据具体运算方式的不同,每次执行本步骤时实际得到的关键词数量也是不同的:例如,可用所有模板进行匹配,则这样找到的关键词可能与现有关键词重复,之后再对重复的关键词做合并处理;或者,也可仅用新的模板进行匹配,以使找到的关键词中多数都是新的。

在一些实施例中,将至少部分候选词作为关键词加入该类型的槽位对应的词库中包括:判断任意候选词是否满足预设的第三条件,若是,则将该候选词作为关键词加入该类型的槽位对应的词库中;第三条件包括:该候选词被作为该类型的槽位的候选词的次数大于或等于第五阈值。

被选为候选词的词不一定都适于作为关键词,故可仅将其中满足第三条件的候选词作为关键词。

具体的,第三条件可包括“该候选词被作为该类型的槽位的候选词的次数大于或等于第五阈值”。也就是说,若某个词在多处不同匹配文本中多次被确定为对应同一类型的槽位的候选词,则表明该词是该类型的槽位中比较常用的表达方式,适于作为该类型的槽位的关键词而被加入相应词库。

可见,本公开实施例的方法可自行生成模板(和关键词),而不需要人工干预,从而其生成模板的效率高、成本低,且生成模板的质量不依赖于操作人员的水平,对训练文本库的质量要求也较低,且不存在人为失误,故所得模板的质量好,用其生成的文本的质量也好。

显然,人的语言表达有一定规律性,对相同的问题,往往会采用几种固定的表达方式(包括采用相同的句式,或相同的词),例如在为文章起标题时一般会采用总结性表达方式,而在评论某个问题时,对否定和肯定倾向的意见,也各有几种常用的表达方式。

显然,常用的表达方式会在文本中反复出现;且对于一种表达方式中,往往有一部分内容相同(相当于模板中的固定部分),另外有一部分是根据具体情况在多种具体表述中进行选择(相当于模板中的槽位)。因此,通过在生成模板和关键词的过程中设置一些条件(如以上第二条件、第三条件),则可保证所生成的模板和关键词符合比较常用的表达方式,故得到的模板更符合人们一般的表达习惯,具有更高的质量,可生成更高质量的文本。

图2为本公开实施例的另一种生成模板的方法的流程图。

在一些实施例中,参照图2,在以上关键词扩展步骤(s103)后,还包括:

s104、判断是否满足预设的第一条件,若否,则返回模板扩展步骤(s102步骤)。

也就是说,在进行过模板扩展步骤和关键词扩展步骤,从而得到新的模板和关键词后,可判断当前是否满足预设的条件:

若否,则代表模板生成过程未完成,故需要返回以上s102步骤,进行s102步骤时,可根据前一次s103步骤中新找到的关键词生成更多新的模板,进而当再次进行s103步骤时,可根据这些新模板得到更多的新关键词。

若是,则表明模板生成过程已经完成,可结束。

可见,在s102步骤中,可生成一定量的新模板,根据这些新模板又可在s103步骤中得到一些新关键词;当再次返回s102步骤时,由于关键词数量增加(在前一次s103步骤中新增了部分关键词),故此时根据s102步骤又可得到一些新的模板;进而,当再次进行s103步骤时,由于模板的数量增加(在前一次s102步骤中新增了部分模板),故可继续得到新的关键词。

由此,参照图3,根据本公开实施例的方法,只要利用预先设定的槽位的类型和少量的初始关键词,即可实现s102步骤和s103步骤的“冷启动”,而之后,通过循环进行s102步骤和s103步骤,则可实现“模板扩展-关键词扩展”的循环,通过迭代的方式实现模板和关键词数量的轮流增长;直到得到足够的模板和关键词后,模板生成过程完成时,循环结束。

在一些实施例中,以上第一条件包括:

在之前预定次的模板扩展步骤中,生成的新的模板的数量小于或等于第一阈值;

在之前预定次的关键词扩展步骤中,被作为新的关键词的候选词的数量小于或等于第二阈值。

当在之前预定次循环(一次或多次)中,模板和关键词的增长数量小于阈值时(也可理解为模板和关键词的增长速率小于阈值),则可认为系统已经趋于稳定,模板生成已基本完成,从而可结束以上循环。

其中,以上预定次数和阈值可根据需要具体设定,例如可以设定在一次循环中模板和关键词均不再增长(即阈值为0)就满足第一条件,或者也可以设定在多次循环中,模板和关键词的增长数量小于一个非零的值,就满足第一条件。

当然,以上具体的第一条件只是示例性的,也可通过其它的参数判断是否继续进行循环。例如,第一条件也可为“已找到的模板数量和关键词数量达到预定值”,或者“模板扩展步骤和关键词扩展步骤的进行次数达到预定值”等,在此不再详细描述。

图4为本公开实施例的另一种生成模板的方法的流程图。

在一些实施例中,参照图4,在以上模板扩展步骤(s102)后,还包括:

s105、根据各模板中的槽位,对各模板进行分类。

对于以上得到的模板,可根据其中槽位的情况,对模板进行聚类,从而得到多类的模板,每类模板为对同一问题的多种不同表达方式,从而在生成文本时,可根据需要选用合适种类的模板,以得到更符合要求的高质量的文本。

根据槽位对模板尽兴分类的具体方式是多样的,例如可根据槽位的类型进行分类。为方便表示,按以下方式为不同类型的槽位设定对应的编号:

[形容词槽位]:1

[人名槽位]:2

[科学理论槽位]:3

[学科槽位]:4。

由此,以上“[形容词槽位]的科学家[人名槽位]发表了[科学理论槽位],为物理学的发展做出了重大贡献”的模板中的槽位的分布规律可概括为1-2-3;而以上“[形容词槽位]的科学家[人名槽位]发表了[科学理论槽位],为[学科槽位]的发展做出了[形容词槽位]贡献”的模板中的槽位的分布规律可概括为1-2-4-3-1;可见,这两个模板中的槽位的类型具有相似的分布规律,故可将它们分为一类。

当然,根据槽位进行分类的具体方式也可有不同。例如,也可以是将具有某个特定类型的槽位的模板分为一类;或者是将槽位数量相同的模板分为一类等,在此不再详细描述。

当然,也可通过人工的方式对同样类型的槽位进行再分类,例如对[形容词槽位],有些模板中该槽位原本对应的词(即在生成该模板的候选文本中的词)是形容科学家的,而在另外一些模板中该槽位原本对应的词是形容政治家的;由此,可根据该槽位原本对应的词的类型的不同,将具有该槽位的模板也分为不同类。

当然,以上根据槽位原本对应的词将模板的分类的过程,也可通过将槽位的类型和初始关键词设定的更为详细实现。例如,可直接设置[科学家形容词槽位]和[政治家形容词槽位],并为二者的词库分别设置通常用于形容科学家的初始关键词和通常用于形容政治家的初始关键词。

图5为本公开实施例的另一种生成模板的方法的流程图。

在一些实施例中,参照图5,在以上关键词扩展步骤(s103)后,还包括:

s1061、向模板中的各类型的槽位分别填入对应的词库中的关键词得到中间文本,中间文本中,每个关键词和与其相连的文本构成一个描述组合。

在得到一些模板和关键词后,即可向模板的各槽位中填入相应关键词得到中间文本,其中,每个关键词与其临近的文本(可为固定内容,也可为其它关键词)可形成一个描述组合。

s1062、在训练文本库中检索各描述组合,以检索结果数大于或等于第六阈值的描述组合为常用描述组合。

显然,即使对同样类型的关键词(对应同一类型的槽位的词库的关键词),也可能存在其中一些能与某个其它内容组合,而另一些不能与该其它内容组合的情况。例如,“伟大”、“重大”都是对应[形容词槽位]的关键词,而“伟大的科学家顿爱因斯”是合理的,但“重大的科学家爱因斯坦”就是不合理的。

因此,可在填入关键词获得各种描述组合后,在训练文本库中检索各描述组合,只有检索结果达到预定数量的描述组合才是正确的(常用描述组合);若检索结果达不到预定数量,则表明相应的描述组合是错误的。

s1063、将所包括的所有描述组合均为常用描述的中间文本作由模板生成的文本。

在部分中间文本中,可能有部分或全部描述组合不正确,故这类中间文本也是不正确的,不应作为文本生成的最终结果;因此,可仅将所具有的描述组合都正确的中间文本作为文本生成的结果。

也就是说,在用本公开实施例的方法得到的模板进行文本生成时,可通过对得到的描述组合进行检索,去掉其中不正确的结果,从而提高文本生成的质量。

具体的,从便于实施的角度考虑,可在用户实际要求进行文本生成之前,即进行以上s1061至s1063步骤,遍历所有可能的描述组合,并将全部正确的结果都缓存起来;从而当后续用户要求进行文本生成时,只要直接从缓存中选取所需文本并输出即可,大大缩短用户感觉到的文本生成时间,提高效率。

当然,如果是在每次用户要进行文本生成时,再根据以上s1061至s1063步骤临时生成所需文本,也是可行的。

图6为本公开实施例的一种生成模板的装置的组成框图。

第二方面,本公开实施例提供一种生成模板的装置,参照图6,其包括:

设定模块,用于确定多种类型的槽位以及每种类型的槽位对应的词库,每种类型的槽位对应的词库包括至少一个关键词;

模板扩展模块,用于在预设的训练文本库中查找包括至少一个关键词的候选文本,用至少部分候选文本生成模板,其中,候选文本中除关键词外的内容在由其生成的模板中转变为固定内容,候选文本中对应关键词的位置在由其生成的模板中转变为该关键词所在的词库对应的类型的槽位;

关键词扩展模块,用于在训练文本库中查找与模板具有匹配的固定内容的匹配文本,将匹配文本中对应模板中的槽位的词作为该类型的槽位的候选词,将至少部分候选词作为关键词加入该类型的槽位对应的词库中。

在一些实施例中,参照图7,装置还包括:

判断模块,用于判断是否满足预设的第一条件,若否,则控制模板扩展模块开始工作。

在一些实施例中,第一条件包括:

在之前预定次的模板扩展模块的工作中,生成的新的模板的数量小于或等于第一阈值;

在之前预定次的关键词扩展模块的工作中,被作为新的关键词的候选词的数量小于或等于第二阈值。

在一些实施例中,模板扩展模块用于判断任意候选文本生成的模板是否满足预设的第二条件,若是,则用该候选文本生成模板;第二条件包括:

用该候选文本生成的模板中所包括的槽位的类型数大于或等于第三阈值。

在一些实施例中,模板扩展模块用于判断任意候选文本生成的模板是否满足预设的第二条件,若是,则用该候选文本生成模板;第二条件包括:

在训练文本库中,与用该候选文本生成的具有匹配的固定内容的文本数大于或等于第四阈值。

在一些实施例中,关键词扩展模块用于判断任意候选词是否满足第三条件,若是,则将该候选词作为关键词加入该类型的槽位对应的词库中;第三条件包括:

该候选词被作为该类型的槽位的候选词的次数大于或等于第五阈值。

在一些实施例中,参照图7,装置还包括:

分类模块,用于根据各模板中的槽位,对各模板进行分类。

在一些实施例中,参照图7,装置还包括生成模块,其用于:

向模板中的各类型的槽位分别填入对应的词库中的关键词得到中间文本,中间文本中,每个关键词和与其相连的文本构成一个描述组合;

在训练文本库中检索各描述组合,以检索结果数大于或等于第六阈值的描述组合为常用描述组合;

将所包括的所有描述组合均为常用描述的中间文本作为由模板生成的文本。

第三方面,本公开实施例提供一种电子设备,其包括:

一个或多个处理器;

存储装置,其上存储有一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现上述任意一种生成模板的方法。

第四方面,本公开实施例提供一种计算机可读介质,其上存储有计算机程序,程序被处理器执行时实现上述任意一种生成模板的方法。

本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其它数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于ram、rom、eeprom、闪存或其它存储器技术、cd-rom、数字多功能盘(dvd)或其它光盘存储、磁盒、磁带、磁盘存储或其它磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其它的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其它传输机制之类的调制数据信号中的其它数据,并且可包括任何信息递送介质。

本公开已经公开了示例实施例,并且虽然采用了具体术语,但它们仅用于并仅应当被解释为一般说明性含义,并且不用于限制的目的。在一些实例中,对本领域技术人员显而易见的是,除非另外明确指出,否则可单独使用与特定实施例相结合描述的特征、特性和/或元素,或可与其它实施例相结合描述的特征、特性和/或元件组合使用。因此,本领域技术人员将理解,在不脱离由所附的权利要求阐明的本公开的范围的情况下,可进行各种形式和细节上的改变。

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