发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本申请实施例提供了一种文案生成方法、装置、电子设备及存储介质。
第一方面,本申请实施例提供了一种文案生成方法,包括:
获取目标对象的属性信息;
通过文案生成模型确定所述属性信息对应的主题结构,其中,所述主题结构包括至少一个主题,从素材库中选择所述主题对应的素材,基于所述主题结构及所述素材生成候选文案;
根据所述候选文案确定所述目标对象对应的目标文案;
其中,所述素材库通过以下步骤得到:
获取历史对象对应的历史文案;
通过文档主题模型学习所述历史文案对应的主题结构以及所述历史文案中的历史素材与主题的对应关系;
基于所述历史素材与主题的对应关系以及所述历史文案对应的主题结构得到所述素材库。
可选的,当基于所述主题结构及所述素材生成至少两个候选文案时,所述根据所述候选文案确定所述目标对象对应的目标文案包括:
将符合第一预设条件的所述候选文案作为目标对象对应的目标文案。
可选的,所述方法还包括:
获取样本对象属性信息,将所述历史素材作为样本素材;
对所述样本对象属性信息进行独热编码得到样本属性矩阵,对所述样本素材进行独热编码得到样本素材矩阵;
将所述样本属性矩阵转换为预设维度的样本属性向量,将所述样本素材矩阵转换为预设维度的样本素材向量;
通过所述样本属性向量和样本素材向量对预设深度神经网络模型进行训练,得到所述文案生成模型。
可选的,所述文案生成模型包括编码模块和解码模块;
所述编码模块包括至少一层第一长短期记忆网络,用于将可变长度的输入向量转换为预设长度的语义向量;
所述解码模块包括至少一层第二长短期记忆网络,用于将所述编码模块输出的所述语义向量转换为可变长度的输出向量。
可选的,所述通过文案生成模型确定所述属性信息对应的主题结构,其中,所述主题结构包括至少一个主题,从素材库中选择所述主题对应的素材,基于所述主题结构及所述素材生成至少一个候选文案,包括:
对所述属性信息进行独热编码,得到所述属性信息对应的属性矩阵;
将所述属性矩阵转换为所述预设维度的属性向量;
将所述属性向量输入所述编码模块,通过所述编码模块将所述属性向量编码为语义向量;
将所述语义向量输入所述解码模块,通过所述解码模块将所述语义向量转换为所述属性信息对应的所述候选文案。
可选的,所述将符合第一预设条件的所述候选文案作为所述目标对象对应的目标文案,包括:
根据所述候选文案与参考文案共现的n元词数量以及所述参考文案的n元词数量,计算所述候选文案与所述参考文案的重叠率;
将所述重叠率符合所述第一预设条件的所述候选文案作为所述目标文案;
所述重叠率符合所述第一预设条件包括以下至少一项:
所述重叠率大于或等于预设阈值;
将所述候选文案按照所述重叠率由大到小排序,排序在前的预设个数的候选文案。
可选的,所述方法还包括:
获取预设时间段内所述目标文案和/或所述目标对象对应的操作数据;
根据符合第二预设条件的操作数据对应的目标文案更新所述素材库;
根据更新后的素材库对所述预设深度神经网络模型进行训练,得到更新后的文案生成模型。
第二方面,本申请实施例提供了一种文案生成装置,包括:
第一获取模块,用于获取目标对象的属性信息;
第一生成模块,用于通过文案生成模型确定所述属性信息对应的主题结构,其中,所述主题结构包括至少一个主题,从素材库中选择所述主题对应的素材,基于所述主题结构及所述素材生成候选文案;
确定模块,用于根据所述候选文案确定所述目标对象对应的目标文案;
所述装置还包括:
第二获取模块,用于获取历史对象对应的历史文案;
学习模块,用于通过文档主题模型学习所述历史文案对应的主题结构以及所述历史文案中的历史素材与主题的对应关系;
第二生成模块,用于基于所述历史素材与主题的对应关系以及所述历史文案对应的主题结构得到所述素材库。
第三方面,本申请实施例提供了一种电子设备,包括:处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行计算机程序时,实现上述方法步骤。
第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述方法步骤。
本申请实施例提供的上述技术方案与现有技术相比具有如下优点:
基于深度神经网络模型根据产品属性直接到的产品对应的文案,无需人工编写,用户仅需输入产品属性信息即可得到文案,就可得到符合产品特点的运营文案,不仅节约了大量人力成本,提高文案生成效率,也提高了文案质量。另外,对于新产品,即便素材库中没有相同或同类产品对应的文案素材,也可基于相同主题的素材生成新产品对应的合理文案。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
基于上述技术问题,本申请实施例文案自动生成技术可以结束人工大量编写文案的过程,快速生成产品对应的优质文案。
基于对历史文案的学习,得到包含文案主题结构及文案中素材与主题关系的素材库。使用该素材库对深度神经网络模型进行训练,学习产品属性与文案之间的关系,得到文案生成模型。在后续自动生成文案过程中,基于该文案生成模型就可根据用户输入的产品属性自动生成相应的文案。
下面首先对本发明实施例所提供的一种文案生成方法进行介绍。
图1为本申请实施例提供的一种文案生成方法的流程图。如图1所示,该方法包括以下步骤:
步骤S11,获取目标对象的属性信息。
目标对象包括需要生成文案的产品,该产品可以为实体产品或虚拟产品。
属性信息包括:目标对象的名称、类型、特征等等。例如,当产品为虚拟的金融理财产品时,其属性信息包括:产品名称、所属公司、收益率、期限、起购金额、风险、管理人等等;当产品为实际物体,如衣服时,其属性信息包括:品牌、所属公司、类型、材料、尺寸、上市时间、颜色、花型等等。
属性信息可以由用户输入,或者可以从历史属性信息、常用属性信息等等中搜索得到。
步骤S12,通过文案生成模型确定属性信息对应的主题结构,其中,主题结构包括至少一个主题,从素材库中选择主题对应的素材,基于主题结构及素材生成候选文案。
其中,主题结构即为文案内容的组成架构。文案由多部分内容组成,每部分内容均对应一个主题。每个文案包含的所有主题组成该文案的主题结构。
通过目标对象的属性信息可以获得所要生成文案的主题结构。属性信息可以有多项,每项属性信息均对应一个主题,这些主题组合得到文案的主题结构。
例如,属性信息包括:xxx经理人、从业10年、风险等级2、收益率9%、XX基金。
通过属性信息可以确定该基金产品对应的主题结构包括以下5个主题:管理人、信用、产品风险、收益、产品名称。
产品名称可以直接采用用户输入的“XX基金”。从素材库中选择其他每个主题对应的素材,如管理人对应的素材为“此产品由____经理人管理”,信用对应的素材为“经理人从业___年,经验丰富”,产品风险对应的素材为“产品风险较低,适合风险承受能力较低的用户购买”,收益对应的素材为“收益稳定推荐长期持有”。
综上,得到的其中一个候选文案为“此XX基金产品由从业10年经验丰富的xxx经理人管理,产品风险较低,收益稳定推荐长期持有,适合风险承受能力较低的用户购买”。
步骤S13,根据候选文案确定目标对象对应的目标文案。
其中,上述步骤S12中的素材库通过以下步骤得到:
步骤S14,获取历史对象对应的历史文案。
步骤S15,通过文档主题模型学习历史文案对应的主题结构以及历史文案中的历史素材所对应的主题。
步骤S16,基于历史素材所对应的主题以及历史文案对应的主题结构得到素材库。
其中,步骤S14中的历史对象为已生成过文案的历史产品,历史产品对应的文案即为历史文案。步骤S15中的文档主题模型可以为隐含狄利克雷分布(LatentDirichletAllocation,LDA)模型。LDA模型为一个三层贝叶斯概率模型,包含词汇、主题和文档三层结构。LDA的目的就是要识别主题,即把文档-词汇矩阵变成文档-主题矩阵和主题-词汇矩阵。
通过LDA模型对历史文案进行学习,利用文本中的词(term)的共性特征来发现文本中隐含的主题(Topic)结构。每个历史文案代表了一些主题组合构成的概率分布,每个主题代表了多个素材的概率分布。
本实施例中,基于深度神经网络模型根据产品属性直接得到的产品对应的文案,无需人工编写,用户仅需输入产品属性信息即可得到文案,就可得到符合产品特点的运营文案,不仅节约了大量人力成本,提高文案生成效率,也提高了文案质量。另外,对于新产品,即便素材库中没有相同或同类产品对应的文案素材,也可基于相同主题的素材生成新产品对应的合理文案。
再者,通过对历史文案进行深度学习,从文案中发现其隐含的主题结构以及每个素材与主题之间的关系,这样,基于学习得到的素材库进行后续自动生成文案,可以更加准确地确定用户输入的产品属性所对应的主题结构,并且为每个主题准确地选择素材,从而提高自动生成文案的质量,使得文案更加符合用户需求。
下面对通过LDA模型学习得到素材库的过程进行具体介绍。
本实施例中,文案则相当于文档,组成历史文案的素材即为词汇。基于历史文案集合D和Topic集合T训练LDA模型,D中每个历史文案ds看作一个素材序列(w1,w2,L wn),wi表示第i个素材,设ds有n个素材。
D中涉及的所有不同素材组成一个大集合VOCABULARY(简称VOC),LDA模型以历史文案集合D作为输入,VOC中包括m个素材,对应k个Topic。
对每个历史文案ds,对应到不同Topic的概率θd,θd包括集合其中,表示ds对应T中第j个Topic的概率,j=1,2,……k,/>其中/>表示d中第j个topic对应的素材数目,n是d中所有素材总数。
集合T中每个Topic生成不同素材的概率包括集合/>其中,表示Topic_t生成VOC中第i个单词的概率,/>其中,/>表示对应到Topic_t的VOC中第i个单词的数目,N表示所有对应到Topic_t的单词总数。
LDA的核心公式为:
p(w|d)=p(w|t)p(t|d)。
其中,利用θd可计算得到p(t|d),利用可计算得到p(w|t),因此,基于θd和/>可以计算得到文案中的一个素材对应任意一个Topic时的p(w|d)。
针对历史文案ds中第i个素材wi,若该素材对应的主题为tj,则pj(wi│ds)=p(wi│tj)p(tj│ds)。枚举T中的所有Topic,得到所有pj(wi│ds)。然后可以根据这些概率值结果为ds中的第i个素材wi选择一个Topic,如取令pj(wi│ds)最大的tj。
如果ds中的第i个素材wi在这里选择了一个与原先不同的Topic,就会对θd和有影响。对θd和/>的影响又会反过来影响对p(w|d)的计算。对D中所有的ds中的所有wi进行一次p(w|d)的计算并重新选择Topic看作一次迭代。进行n次循环迭代之后,就会收敛到LDA所需要的结果。
LDA模型对历史文案进行上述学习后,得到文案-主题概率分布以及主题-素材概率分布分布。
例如,现在有4个产品A、B、C、D,每个产品都包含名称和其他5个素材,共同构成了产品文案,如下表1所示,
表1
产品名称 |
素材1 |
素材2 |
素材3 |
素材4 |
素材5 |
A |
灵活申赎 |
中低风险 |
注重安全 |
四个奖项认证 |
关注信用 |
B |
灵活申赎 |
中低风险 |
优质经理掌舵 |
走势连创新高 |
成立16年 |
C |
360天 |
产品期限 |
稳健热销 |
历史正收益 |
1000起购 |
D |
31天 |
产品期限 |
1000元起购 |
稳健精选 |
民生银行托管 |
产品文案中,主题(产品名称、产品风险、产品期限等)和主题结构为隐藏变量。LDA通过学习4个产品的文案来得到主题并且返回每个素材属于各个主题的概率和每个文案的主题结构。
通过对4个产品文案的学习,得到产品对应的主题结构如下表2所示,
表2
每个主题下对应的素材如下表3所示,
表3
基于上述表2可以计算出文案-主题概率分布如下表4所示,
表4
基于上述表3可以计算出主题-素材概率分布如下表5所示,
表5
最终得到的素材库中包括文案-主题概率分布以及主题-素材概率分布情况。
本实施例中,通过对历史文案进行深度学习,从文案中发现其隐含的主题结构以及每个素材与主题之间的关系,这样,基于学习得到的素材库进行后续自动生成文案,可以更加准确地确定用户输入的产品属性所对应的主题结构,并且为每个主题准确地选择素材,从而提高自动生成文案的质量,使得文案更加符合用户需求。
本实施例中,基于上述学习得到的素材库可以对预设深度神经网络模型进行训练,得到文案生成模型。图2为本申请另一实施例提供的一种文案生成方法的流程图。如图2所示,该方法还包括以下步骤:
步骤S31,获取样本对象属性信息,将历史素材作为样本素材。
其中,可以从历史素材中选择作为模型训练集合的样本素材以及作为测试集合的测试素材。
步骤S32,对样本对象属性信息进行独热(one-hot)编码得到样本属性矩阵,对样本素材进行one-hot编码得到样本素材矩阵。
one-hot编码,即使用N位状态寄存器来对N个状态进行编码,每个状态都有它独立的寄存器位,并且在任意时候,其中只有一位有效。这样,得到的样本属性矩阵和样本素材矩阵维度较大且均为稀疏矩阵。
步骤S33,将样本属性矩阵转换为预设维度的样本属性向量,将样本素材矩阵转换为预设维度的样本素材向量。
由于样本属性矩阵和样本素材矩阵维度较大且均为稀疏矩阵,对资源占用较大,因此,可以对样本属性矩阵和样本素材矩阵进行降维处理。该步骤中,对样本属性矩阵和样本素材矩阵进行嵌入(Embedding)处理,将其转换为预设维度的向量,该预设维度可以小于样本属性矩阵和样本素材矩阵的维度。将样本属性矩阵和样本素材矩阵分别与预设权值矩阵相乘,从而得到预设维度的样本属性向量和样本素材向量。
例如,样本属性矩阵和样本素材矩阵为10000×100000的矩阵,预设维度为10000×100,则预设权值矩阵为100000×100,将10000×100000的矩阵与100000×100的矩阵相乘后,最终得到的样本属性向量和样本素材向量为10000×100。
步骤S34,通过样本属性向量和样本素材向量对预设深度神经网络模型进行训练,得到文案生成模型。
其中,文案生成模型可以为Sequence to Sequence(简称Seq2Seq)模型,包括编码模块(Encoder)和解码模块(Decoder)。Encoder包括至少一层第一长短期记忆(LongShort-Term Memory,LSTM)网络,用于将可变长度的输入向量转换为预设长度的语义向量c。Decoder包括至少一层第二LSTM网络,用于将Encoder输出的状态向量c转换为可变长度的输出向量。
本实施例中,对素材库中所有素材都进行上述步骤S22、S23的处理,经one-hot编码及Embedding降维处理后得到素材向量。后续在使用文案生成模型时,需要对对象属性信息也进行同样的one-hot编码及Embedding降维处理,再输入文案生成模型。
下面对通过文案生成模型确定属性信息对应的主题结构的过程进行具体介绍。
图3为本申请另一实施例提供的一种文案生成方法的流程图。如图3所示,上述步骤S12包括:
步骤S41,对属性信息进行独热编码,得到属性信息对应的属性矩阵;
步骤S42,将属性矩阵转换为预设维度的属性向量;
步骤S43,将属性向量输入编码模块,通过编码模块将属性向量编码为语义向量;
步骤S44,将语义向量输入解码模块,通过解码模块将语义向量转换为属性信息对应的候选文案。
本实施例中,文案生成模型将输入的属性信息序列,映射为候选文案序列。例如,属性向量A1-A5与属性信息对应关系为:A1-xxx经理人,A2-从业10年,A3-风险等级2,A4-收益率9%,A5-XX基金。
属性向量A1-A5对应的隐藏向量(主题)分别为h1-h5,编码模块基于隐藏向量h1-h5变换得到语义向量c。解码模块对语义向量C进行转换,得到其对应的输出序列B1-B5,即由每个主题对应的素材所组成的候选文案。
在另一个可选实施例中,当基于所述主题结构及所述素材生成至少两个候选文案时,步骤S13包括:将符合第一预设条件的候选文案作为目标对象对应的目标文案。
对于步骤S12中生成的候选文案,可以采用以下至少一种自动评估模型对其进行评价,得到评估指标:
基于召回率替补的摘要评估(Recall-Oriented Understudy forGistingEvaluation,Rouge)模型(Rouge-N、Rouge-L、Rouge-S)、双语评估替补(BilingualEvaluation Understudy,BLEU)模型、METEOR模型、基于一致性的图像描述评价(Consensus-based Image DescriptionEvaluation,CIDEr)模型等等。
在步骤S13中,不仅可以基于其中一个评估指标对候选文件进行筛选,也可将两个或两个以上的评估指标进行加权,得到每个候选文档的综合评估指标,基于该综合评估指标筛选目标文案。
本实施例中,进一步对文案生成模型生成的文案进行评价筛选,选择评价值较高的候选文案作为产品最终的目标文案,从而进一步提高生成文案的准确度和召回度。
图4为本申请另一实施例提供的一种文案生成方法的流程图。如图4所示,上述步骤S13包括:
步骤S51,根据候选文案与参考文案共现的n元词(n-gram)数量以及参考文案的n-gram数量,计算候选文案与参考文案的重叠率。
其中,将候选文案与参考文案的重叠率作为对候选文案的评估指标,与参考文件重叠率越高,则生成的候选文案质量越高。
其中,该重叠率可以通过Rouge、BLEU、METEOR、CIDEr等等中至少一个模型计算得到。当使用多个模型计算得到重叠率时,可以将多个重叠率进行加权,基于最终结果选择目标文案。
步骤S52,将重叠率符合第一预设条件的候选文案作为目标文案。
其中,重叠率符合第一预设条件包括以下至少一项:
重叠率大于或等于预设阈值;
将候选文案按照重叠率由大到小排序,排序在前的预设个数的候选文案。
本实施例中,对文案生成模型生成的文案进行评价筛选,选择评价值较高的候选文案作为产品最终的目标文案,从而进一步提高生成文案的准确度和召回度。
可选的,文案生成质量好坏,最终还要以用户对其反馈为准。例如,某个基金产品的文案被用户点击率、阅读率、收藏率较高,且基金产品的购买率较高,则可认为该文案质量较高。因此,该方法还可以基于用户反馈来对文案生成模型进一步训练。
图5为本申请另一实施例提供的一种文案生成方法的流程图。如图5所示,该方法还包括以下步骤:
步骤S61,获取预设时间段内目标文案和/或目标对象对应的操作数据。
目标文案对应的操作数据可以包括以下至少一项:点击率、阅读率、收藏率等等。目标对象对应的操作数据可以包括以下至少一项:点击率、查看率、购买率等等。
这些操作数据可以体现用户对于目标文案的反馈,基于操作数据可以判断目标文案是否符合用户需求,体现出目标文案的实际质量。
步骤S62,根据符合第二预设条件的操作数据对应的目标文案更新素材库。
例如,可以将阅读率较高的目标文案加入到素材库,以及目标对象查看率较高的目标文件加入到素材库;或者,可以选择阅读率和收藏率均超过一定阈值的目标文案更新素材库;等等。
步骤S63,根据更新后的素材库对预设深度神经网络模型进行训练,得到更新后的文案生成模型。
本实施例中,使用用户反馈较好的目标文案更新素材库,再对预设深度神经网络模型进行重新训练,深度学习新素材库,得到新的文案生成模型,提高文案生成模型自动生成文案的质量,使其更加准确地符合用户需求。
下述为本申请装置实施例,可以用于执行本申请方法实施例。
图6为本申请实施例提供的一种文案生成装置的框图,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。如图6所示,该文案生成装置包括:
第一获取模块71,用于获取目标对象的属性信息;
第一生成模块72,用于通过文案生成模型确定属性信息对应的主题结构,其中,主题结构包括至少一个主题,从素材库中选择主题对应的素材,基于主题结构及素材生成候选文案;
确定模块73,用于根据候选文案确定目标对象对应的目标文案;
装置还包括:
第二获取模块74,用于获取历史对象对应的历史文案;
学习模块75,用于通过文档主题模型学习历史文案对应的主题结构以及历史文案中的历史素材与主题的对应关系;
第二生成模块76,用于基于历史素材与主题的对应关系以及历史文案对应的主题结构得到素材库。
本申请实施例还提供一种电子设备,如图7所示,电子设备可以包括:处理器1501、通信接口1502、存储器1503和通信总线1504,其中,处理器1501,通信接口1502,存储器1503通过通信总线1504完成相互间的通信。
存储器1503,用于存放计算机程序;
处理器1501,用于执行存储器1503上所存放的计算机程序时,实现以下上述方法实施例的步骤。
上述电子设备提到的通信总线可以是外设部件互连标准(PeripheralComponentInterconnect,P C I)总线或扩展工业标准结构(Extended IndustryStandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(DigitalSignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本申请还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以下上述方法实施例的步骤。
需要说明的是,对于上述装置、电子设备及计算机可读存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
进一步需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。