文案生成方法、装置、电子设备及存储介质转让专利

申请号 : CN202011547023.6

文献号 : CN112287685B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王小东刘洪江赵小诣程序陈昱任

申请人 : 成都新希望金融信息有限公司

摘要 :

本申请提供一种文案生成方法、装置、电子设备及存储介质,涉及语言处理技术领域。所述方法包括:获取实体指标的阈值,所述阈值用于限定所述实体指标,以在文案生成逻辑时限制修饰词;将所述实体指标和所述阈值转换为可供计算的事件条件;基于事件信息和所述事件条件生成事件,所述事件为句子或一个节点的多个句子组合;基于所述事件生成文案。上述方法通过实体指标、阈值和事件、事件条件的配合,将文案生成过程抽象成事件生成、事件关系和文案生成等模块,从而使文案生成能够适用于更广泛的场景,满足准确性、决策逻辑复杂的文案生成要求。

权利要求 :

1.一种文案生成方法,其特征在于,所述方法包括:获取实体指标的阈值,所述阈值用于限定所述实体指标,以在文案生成逻辑时限制修饰词;

将所述实体指标和所述阈值转换为可供计算的事件条件;

基于维度关系表数据获取所述实体指标的层级关系;

基于所述层级关系生成分析树;

针对所述分析树的每个节点配置对应的事件模板;

基于所述事件信息和所述事件条件,从已配置所述事件模板对应的分析树的根节点进行递归遍历计算,以生成事件,所述事件为句子或一个节点的多个句子组合;

基于所述事件生成文案。

2.根据权利要求1所述的文案生成方法,其特征在于,所述基于所述事件信息和所述实体指标,从已配置所述事件模板的分析树的根节点进行递归遍历计算,以生成所述事件,包括:

从所述事件信息读取所述分析树的每一层维度的节点下的所有事件;

基于所述所有事件组成事件表;

基于所述事件条件确定每个事件的对应实体指标,所述对应实体指标包括所述对应实体指标的变量名称和所述对应实体指标的实体指标值;

按照第一预设顺序依次计算每个事件的条件值,所述条件值表示事件的实体指标值是否满足对应实体指标的事件条件;

基于所述条件值生成每个实体指标对应的条件字段;

基于每个事件中的实体指标的实体指标值和条件字段,以及修饰词和实体的关系,进行实体和修饰词的替换,以生成所述事件。

3.根据权利要求2所述的文案生成方法,其特征在于,所述按照第一预设顺序依次计算每个事件的条件值,包括:

基于多范式编程语言的领域专用语言自定义计算公式,按照所述第一预设顺序依次计算每个事件的所述条件值。

4.根据权利要求3所述的文案生成方法,其特征在于,所述基于多范式编程语言的领域专用语言自定义计算公式,按照预设顺序依次计算每个事件的所述条件值,包括:确定当前计算的事件中存在所述实体指标的变量名称;

编译所述领域专用语言自定义计算公式,传入编译后的领域专用语言自定义计算公式和所述对应实体指标以获得计算结果;

将所述当前计算的事件的所述条件值设置为所述计算结果对应的条件值。

5.根据权利要求4所述的文案生成方法,其特征在于,所述基于所述事件信息和所述事件条件,从已配置所述事件模板的分析树的根节点进行递归遍历计算,以生成所述事件,包括:

基于正则表达式获取所述事件信息中的事件的每个实体指标;

从已配置所述事件模板的分析树的根节点,基于第二预设顺序识别所述每个实体指标;

基于所述每个实体指标的条件值以及修饰关系对所述每个实体与下一个实体之间的修饰词进行替换。

6.根据权利要求5所述的文案生成方法,其特征在于,所述基于所述事件生成文案,包括:

基于所述事件以及事件关系生成所述文案,所述事件关系包括段落关系、因果关系、递进关系和时序关系中的至少一种。

7.一种文案生成装置,其特征在于,所述装置包括:实体获取模块,用于获取实体指标的阈值,所述阈值用于限定所述实体指标,以在文案生成逻辑时限制修饰词;

条件生成模块,用于将所述实体指标和所述阈值转换为可供计算的事件条件;

事件生成模块,用于基于维度关系表数据获取所述实体指标的层级关系;基于所述层级关系生成分析树;针对所述分析树的每个节点配置对应的事件模板;基于所述事件信息和所述事件条件,从已配置所述事件模板对应的分析树的根节点进行递归遍历计算,以生成事件,所述事件为句子或一个节点的多个句子组合;

文案生成模块,用于基于所述事件生成文案。

8.一种电子设备,其特征在于,所述电子设备包括存储器和处理器,所述存储器中存储有程序指令,所述处理器运行所述程序指令时,执行权利要求1‑6中任一项所述方法中的步骤。

9.一种可读取存储介质,其特征在于,所述可读取存储介质中存储有计算机程序指令,所述计算机程序指令被一处理器运行时,执行权利要求1‑6任一项所述方法中的步骤。

说明书 :

文案生成方法、装置、电子设备及存储介质

技术领域

[0001] 本申请涉及语言处理技术领域,具体而言,涉及一种文案生成方法、装置、电子设备及存储介质。

背景技术

[0002] 当前适合通过机器或算法进行的新闻写作,一般是以各种数据、图表的引用和分析为基础的硬新闻,具有明显的数据处理色彩,主要用于财经、体育、气象地质和健康等领
域。
[0003] 机器新闻写作的核心在于自然语言生成(Natural Language Generation,NLG)技术。自然语言生成中一个典型技术就是使用恰当而流畅的文案来描述结构化的数据,即数
据到文案生成(Data‑to‑Text Generation;Data‑to‑Document Generation)。数据到文案
生成可以归结为两大任务:说什么和怎么说。说什么是从输入的数据中选择合适的子集用
于表达,也叫做内容选择(Content Selection);怎么说就是用自然语言描述这个子集,也
叫做表层实现(Surface Realization)。数据到文案的生成目前存在很多问题,对于逻辑复
杂的文案,语句嵌套的生成存在词句编排顺序以及逻辑准确性较差的问题。

发明内容

[0004] 有鉴于此,本申请实施例的目的在于提供一种文案生成方法、装置、电子设备及存储介质,以改善现有技术中存在的语句嵌套的生成存在词句编排顺序以及逻辑准确性较差
的问题。
[0005] 本申请实施例提供了一种文案生成方法,所述方法包括:获取实体指标的阈值,所述阈值用于限定所述实体指标,以在文案生成逻辑时限制修饰词;将所述实体指标和所述
阈值转换为可供计算的事件条件;基于事件信息和所述事件条件生成事件,所述事件为句
子或一个节点的多个句子组合;基于所述事件生成文案。
[0006] 在上述实现方式中,通过实体指标、阈值和事件、事件条件的配合,将文案生成过程抽象成事件生成、事件关系和文案生成等模块,从而使文案生成能够适用于更广泛的场
景,满足准确性、决策逻辑复杂的文案生成要求,针对任意场景的文案生成可以通过简单配
置事件以及事件条件等高效率地实现。
[0007] 可选地,所述基于事件信息和所述事件条件生成事件,包括:基于维度关系表数据获取所述实体指标的层级关系;基于所述层级关系生成分析树;针对所述分析树的每个节
点配置对应的事件模板;基于所述事件信息和所述事件条件,从已配置所述事件模板对应
的分析树的根节点进行递归遍历计算,以生成所述事件。
[0008] 在上述实现方式中,基于维度关系表数据对实体的关系进行分析,并通过分析树和树节点的事件关系可以自动递归分析链路树,快速、准确地实现事件的组装。
[0009] 可选地,所述基于所述事件信息和所述实体指标,从已配置所述事件模板的分析树的根节点进行递归遍历计算,以生成所述事件,包括:从所述事件信息读取所述分析树的
每一层维度的节点下的所有事件;基于所述所有事件组成事件表;基于所述事件条件确定
每个事件的对应实体指标,所述对应实体指标包括所述对应实体指标的变量名称和所述对
应实体指标的实体指标值;按照第一预设顺序依次计算每个事件的条件值,所述条件值表
示事件的实体指标值是否满足对应实体指标的事件条件;基于所述条件值生成每个实体指
标对应的条件字段;基于每个事件中的实体指标的实体指标值和条件字段,以及修饰词和
实体的关系,进行实体和修饰词的替换,以生成所述事件。
[0010] 在上述实现方式中,基于事件条件确定事件是否参与文案组装,事件是否需要被替换为值,同时根据实体‑修饰词关系就近关系,将修饰词的修饰关系限定成离其最近的实
体上,提高了生成文案的准确性。
[0011] 可选地,所述按照第一预设顺序依次计算每个事件的条件值,包括:基于多范式编程语言的领域专用语言自定义计算公式,按照所述第一预设顺序依次计算每个事件的所述
条件值。
[0012] 在上述实现方式中,条件的计算使用基于多范式编程语言的领域专用语言自定义计算公式的计算能力,支持随便改变规则都可以立即生效计算,提高了条件计算的灵活性
和适用性。
[0013] 可选地,所述基于多范式编程语言的领域专用语言自定义计算公式,按照预设顺序依次计算每个事件的所述条件值,包括:确定当前计算的事件中存在所述实体指标的变
量名称;编译所述领域专用语言自定义计算公式,传入编译后的领域专用语言自定义计算
公式和所述对应实体指标以获得计算结果;将所述当前计算的事件的所述条件值设置为所
述计算结果对应的条件值。
[0014] 在上述实现方式中,基于领域专用语言自定义计算公式实现方案,根据实体所对应的修饰词个数决定事件条件的条件最大数,每一个修饰词对应一个条件,条件的结果从0
到最大修饰词个数‑1,每一个条件都是可配置的,可随时修改,既满足了项目前期需求多变
的情况,又可以随时改变事件的生成条件。
[0015] 可选地,所述基于所述事件信息和所述事件条件,从已配置所述事件模板的分析树的根节点进行递归遍历计算,以生成所述事件,包括:基于正则表达式获取所述事件信息
中的事件的每个实体指标;从已配置所述事件模板的分析树的根节点,基于第二预设顺序
识别所述每个实体指标;基于所述每个实体指标的条件值以及修饰关系对所述每个实体与
下一个实体之间的修饰词进行替换。
[0016] 在上述实现方式中,根据实体值的不同条件,修饰词有不同的取值,修饰词只限定离其最近的实体,要不是左边的实体,要不是右边的实体,实体的条件满足了就会生成相应
的修饰,提高了生成文本的准确性。
[0017] 可选地,所述基于所述事件生成文案,包括:基于所述事件以及事件关系生成所述文案,所述事件关系包括段落关系、因果关系、递进关系和时序关系中的至少一种。
[0018] 在上述实现方式中,事件和事件之间的关系复杂多变,其之间的关系可以是因果关系、顺序关系、平行关系等,通过配置的方式实现了事件之间的关系依赖,提高了文案的
准确性。
[0019] 本申请实施例还提供了一种文案生成装置,所述装置包括:实体获取模块,用于获取实体指标的阈值,所述阈值用于限定所述实体指标,以在文案生成逻辑时限制修饰词;条
件生成模块,用于将所述实体指标和所述阈值转换为可供计算的事件条件;事件生成模块,
用于基于事件信息和所述事件条件生成事件,所述事件为句子或一个节点的多个句子组
合;文案生成模块,用于基于所述事件生成文案。
[0020] 在上述实现方式中,通过实体指标、阈值和事件、事件条件的配合,将文案生成过程抽象成事件生成、事件关系和文案生成等模块,从而使文案生成能够适用于更广泛的场
景,满足准确性、决策逻辑复杂的文案生成要求,针对任意场景的文案生成可以通过简单配
置事件以及事件条件等高效率地实现。
[0021] 可选地,所述事件生成模块具体用于:基于维度关系表数据获取所述实体指标的层级关系;基于所述层级关系生成分析树;针对所述分析树的每个节点配置对应的事件模
板;基于所述事件信息和所述事件条件,从已配置所述事件模板对应的分析树的根节点进
行递归遍历计算,以生成所述事件。
[0022] 在上述实现方式中,基于维度关系表数据对实体的关系进行分析,并通过分析树和树节点的事件关系可以自动递归分析链路树,快速、准确地实现事件的组装。
[0023] 可选地,所述事件生成模块具体用于:从所述事件信息读取所述分析树的每一层维度的节点下的所有事件;基于所述所有事件组成事件表;基于所述事件条件确定每个事
件的对应实体指标,所述对应实体指标包括所述对应实体指标的变量名称和所述对应实体
指标的实体指标值;按照第一预设顺序依次计算每个事件的条件值,所述条件值表示事件
的实体指标值是否满足对应实体指标的事件条件;基于所述条件值生成每个实体指标对应
的条件字段;基于每个事件中的实体指标的实体指标值和条件字段,以及修饰词和实体的
关系,进行实体和修饰词的替换,以生成所述事件。
[0024] 在上述实现方式中,基于事件条件确定事件是否参与文案组装,事件是否需要被替换为值,同时根据实体‑修饰词关系就近关系,将修饰词的修饰关系限定成离其最近的实
体上,提高了生成文案的准确性。
[0025] 可选地,所述事件生成模块具体用于:基于多范式编程语言的领域专用语言自定义计算公式,按照所述第一预设顺序依次计算每个事件的所述条件值。
[0026] 在上述实现方式中,条件的计算使用基于多范式编程语言的领域专用语言自定义计算公式的计算能力,支持随便改变规则都可以立即生效计算,提高了条件计算的灵活性
和适用性。
[0027] 可选地,所述事件生成模块具体用于:确定当前计算的事件中存在所述实体指标的变量名称;编译所述领域专用语言自定义计算公式,传入编译后的领域专用语言自定义
计算公式和所述对应实体指标以获得计算结果;将所述当前计算的事件的所述条件值设置
为所述计算结果对应的条件值。
[0028] 在上述实现方式中,基于领域专用语言自定义计算公式实现方案,根据实体所对应的修饰词个数决定事件条件的条件最大数,每一个修饰词对应一个条件,条件的结果从0
到最大修饰词个数‑1,每一个条件都是可配置的,可随时修改,既满足了项目前期需求多变
的情况,又可以随时改变事件的生成条件。
[0029] 可选地,所述事件生成模块具体用于:基于正则表达式获取所述事件信息中的事件的每个实体指标;从已配置所述事件模板的分析树的根节点,基于第二预设顺序识别所
述每个实体指标;基于所述每个实体指标的条件值以及修饰关系对所述每个实体与下一个
实体之间的修饰词进行替换。
[0030] 在上述实现方式中,根据实体值的不同条件,修饰词有不同的取值,修饰词只限定离其最近的实体,要不是左边的实体,要不是右边的实体,实体的条件满足了就会生成相应
的修饰,提高了生成文本的准确性。
[0031] 可选地,所述文案生成模块具体用于:基于所述事件以及事件关系生成所述文案,所述事件关系包括段落关系、因果关系、递进关系和时序关系中的至少一种。
[0032] 在上述实现方式中,事件和事件之间的关系复杂多变,其之间的关系可以是因果关系、顺序关系、平行关系等,通过配置的方式实现了事件之间的关系依赖,提高了文案的
准确性。
[0033] 本申请实施例还提供了一种电子设备,所述电子设备包括存储器和处理器,所述存储器中存储有程序指令,所述处理器读取并运行所述程序指令时,执行上述任一实现方
式中的步骤。
[0034] 本申请实施例还提供了一种可读取存储介质,所述可读取存储介质中存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行上述任一实现方式中的
步骤。
[0035] 本申请实施例的有益效果为:通过实体指标、阈值和事件、事件条件的配合,将文案生成过程抽象成事件生成、事件关系和文案生成等模块,从而使文案生成能够适用于更
广泛的场景,满足准确性、决策逻辑复杂的文案生成要求,针对任意场景的文案生成可以通
过简单配置事件以及事件条件等高效率地实现。

附图说明

[0036] 为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看
作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以
根据这些附图获得其他相关的附图。
[0037] 图1为本申请实施例提供的一种文案生成方法的流程示意图。
[0038] 图2为本申请实施例提供的一种事件生成步骤的流程示意图。
[0039] 图3为本申请实施例提供的一种分析树的结构示意图。
[0040] 图4为本申请实施例提供的一种事件生成子步骤的流程示意图。
[0041] 图5为本申请实施例提供的一种替换步骤的流程示意图。
[0042] 图6为本申请实施例提供的一种文案生成装置的模块示意图。
[0043] 图标:20‑文案生成装置;21‑实体获取模块;22‑条件生成模块;23‑事件生成模块;24‑文案生成模块。

具体实施方式

[0044] 下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行描述。
[0045] 经本申请人研究发现,在金融、电商、社交、医疗和客服等众多领域,需要对数据进行解读,形成一段文字的描述,目前都是基于人肉的方式进行文案生成,人为去数据库查数
据,去页面查数据,然后基于数据,大脑构思一种固定模板写出文案解读,在写文案过程中
得基于数据和决策分析动态来进行逻辑生成,不但重复劳动,还效率低下、容易出错,不够
及时和准确,无法实时发现问题。
[0046] 因此需要一种实时性的数据机器人进行盯盘,分析决策,形成文案。但是目前国内外根据数据自动生成文案的技术存在一些问题,如复杂逻辑的文案无法生成;生成的内容
易读性很差;无法自动根据数据快速自动生成文案。
[0047] 为了解决上述问题,本申请实施例提供了一种根据数据自动生成各种文案的文案生成方法,请参考图1,图1为本申请实施例提供的一种文案生成方法的流程示意图。该文案
生成方法的具体步骤可以如下:
[0048] 步骤S11:获取实体指标的阈值。
[0049] 该阈值用于限定实体指标(也可以简称为实体),以在文案生成逻辑时限制修饰词。
[0050] 应当理解的是,在确定获取实体指标的阈值之前,基于数据生成文本技术,需要对一些实体指标值进行实时获取,以及一些附属指标进行获取。获取的实体指标值可以替换
事件中的实体变量,实时数据的读取可以是API(Application Programming Interface,应
用程序接)、HTTP(HyperText Transfer Protocol,超文本传输协议),REST(表述性状态传
递,Representational State Transfer,)请求的方式。如:接通率是实体指标,类目影响量
是附属指标。
[0051] 可选地,本实施例中实体指标的阈值可以是针对播报的条件范围输入,该阈值用来参与事件的播报生成逻辑,阈值用来参与文本生成逻辑计算,用于限制修饰词。例如:安
全线接通率,其阈值可以是0.92‑0.95。
[0052] 具体地,阈值的输入可以具有规则等级、规则模板、操作符和具体数值等参数。
[0053] 进一步地,本实施例中的阈值输入可以是针对播报事件的条件范围输入。
[0054] 造成现有技术的复杂逻辑文案生成困难,内容可读性差的原因之一是条件的生成,以客服领域的电话接通率为例,不像新闻,球赛那种文案,只陈述事实,而是带有一定的
逻辑分析在里面,比如大盘里面的内容是必须生成的,各银行的话,只有接通率低于合理区
间才会生成,比如上海农商行的正常区间是0.92%‑0.95%,如果目前接通率是0.8349%,就得
生成上海农商行接通率83.49%,低于合理区间。接下来渠道也是,只有业务线接通率不在合
理区间内,才看渠道接通率是否在合理区间内,在的话才生成对应内容,预测偏差率、部署
偏差率、承接达成率等也是,要看渠道接通率是否在合理区间内才生成。每一段内容是否生
成都是有条件判断的,不是只阐述事实,列举数据,而且条件之间的嵌套关系复杂,公式复
杂。所以采用目前的自言语言生成((Natural Language Understanding,NLG)技术是达不
到要求的。因此本实施例中通过步骤S12的步骤生成事件条件。
[0055] 步骤S12:将实体指标和阈值转换为可供计算的事件条件。
[0056] 应当理解的是,由于有的阈值是需要用户在页面配置的,比如接通率阈值,有的需要用户在后台配置,比如承接达成率目标弹性。每个事件的内容不同,事件里的实体指标也
不同,有的实体指标需要参与比较,则自动生成node_rule_upperLimit(表示修饰词的最高
度)条件和node_rule_lowLimit(表示修饰词的最低度)条件,有的不需要参与比较,则需要
提前将默认值配置到规则node_rule_upperLimit和node_rule_lowLimit中。因此基于输入
的数据和阈值,需要对事件的实体指标和阈值进行组装,组装成可供计算的形式。
[0057] 例如针对如下类目事件:
[0058] {
[0059]   “node_name”:“人员偏差”,
[0060]   “desc”:“PersonnelDeviation”,
[0061]   “formulas”:“排班人力‑实际到岗”,
[0062]   “node_rule_upperLimit”:“”,
[0063]   “node_rule_middle_upperLimit”:“”,
[0064]   “node_rule_equals”:“”,
[0065]   “node_rule_middle_lowLimit”:“”,
[0066]   “node_rule_middle_lowLimit”:“”,
[0067]   “node_rule_lowLimit”:“((接通率<接通率,下限) or (接通率>接通率,上限) ) and ((接通率<接通率,下限) and (承接达成率<承接达成率目标弹性上限) or 
(承接达成率<1) and (人员偏差>1)”,
[0068]   “node_broadcast_flag”:“1”,
[0069]   “node_broadcast_replace”:“0”,
[0070]   “node_subsidiary_indicator”:“”,
[0071]   “node_relation”:“”,
[0072] }
[0073] 其中,“node_rule_lowLimit”:“((接通率<接通率,下限) or (接通率>接通率,上限) ) and ((接通率<接通率,下限) and (承接达成率<承接达成率目标弹性上限) 
or (承接达成率<1) and (人员偏差>1)”即为组装后的事件条件。
[0074] 字段中带有rule字段的都表示实体的修饰词,该度量个数可配置,本实施例中以其为5个度量为例,“node_broadcast_flag”为是否播报的标志,“node_broadcast_
replace”为实体指标是否被替换的标志,“node_subsidiary_indicator”为附属指标,
“node_relation”表示其依赖事件。
[0075] 具体地,node_rule_lowLimit表示默认需要参与计算的条件,如果为空则表示需要从用户配置生成条件,其它同理。
[0076] 另外,如上示例所示,有的实体指标值是基于已有数据查询得来,有的需要进行实体指标的二次加工,例如:人员偏差指标值是基于"formulas":"排班人力‑实际到岗"计算
得来的实体指标值。
[0077] 步骤S13:基于事件信息和事件条件生成事件。
[0078] 具体地,请参考图2,图2为本申请实施例提供的一种事件生成步骤的流程示意图,步骤S13可以包括如下子步骤:
[0079] 步骤S131:基于维度关系表数据获取实体指标的层级关系。
[0080] 维度关系表数据可以看成是用户用来分析一个事实的窗口,它里面的数据应该是对事实的各个方面描述,比如时间维度表,它里面的数据就是一些日、周、月、季、年和日期
等数据,维度关系表数据只能是事实表的一个分析角度。
[0081] 从维度关系表数据中获取实体指标的ID(身份标识即变量名称)和子ID之间的关系,该关系即为层级关系。
[0082] 步骤S132:基于层级关系生成分析树。
[0083] 本实施例中的分析树可以根据上述层级关系动态递归生成。请参考图3,图3为本申请实施例提供的一种分析树的结构示意图。
[0084] 步骤S133:针对分析树的每个节点配置对应的事件模板。
[0085] 对分析树的每一个节点,可选择已有的事件模板,也可以基于已有的事件模板进行修改,也可以生产新的事件模板,事件模板的生成可以包括模板名、模板内容(例如接通
率为$)、实体名(变量名称,例如$接通率)、是否播报、是否显示值、实体描述、实体表达式、
修饰词、修饰词名称、修饰词表达式、对应顺序、附属指标等内容。
[0086] 在每一个事件模板上可以编辑实体、自定义实体、点击实体、可操作实体的值是否显示以及是否播报等,也可以对实体的修饰词定义公式,配置每一个修饰词的计算公式。
[0087] 可选地,上述修饰词的配置可以包括修饰词名称和每个修饰词名称对应的表达式等内容。
[0088] 可选地,上述修饰词的计算公式配置可以包括可使用变量、逻辑运算符、链接符、添加关系表达式等内容。
[0089] 步骤S134:基于事件信息和事件条件,从已配置事件模板对应的分析树的根节点进行递归遍历计算,以生成事件。
[0090] 具体地,请参考图4,图4为本申请实施例提供的一种事件生成子步骤的流程示意图。该事件生成步骤具体可以如下:
[0091] 步骤S1341:从事件信息读取分析树的每一层维度的节点下的所有事件。
[0092] 可选地,本实施例可以通过Json结构表示每一个节点事件之间的关系,事件的条件,事件是否参与文案组装,事件是否需要被替换为值,以及事件的实体修饰词条件,该
Json可动态扩展。例如下表1所示:
[0093] 节点名 节点含义"node_name" 节点维度或者实体名称
"desc" 实体描述
"formulas" 实体指标二次计算公式
"node_templatecontent" 节点事件列表
"node_rule_upperLimit" 实体修饰词度量规则
"node_rule_middle_upperLimit" 实体修饰词度量规则
"node_rule_equals" 实体修饰词度量规则
"node_rule_middle_lowLimit" 实体修饰词度量规则
"node_rule_lowLimit" 实体修饰词度量规则
"node_broadcast_flag" 事件是否播报标志
"node_broadcast_replace" 实体播报内容值是否被替换
"node_subsidiary_indicator" 实体依赖的指标
"node_relation" 事件关系
[0094] 表1
[0095] 本实施例中默认一个维度下的所有事件条件用到的实体或者变量或者阈值都不会跨维度,仅在该维度下就可以获取到。
[0096] 步骤S1342:基于所有事件组成事件表。
[0097] 步骤S1343:基于事件条件确定每个事件的对应实体指标。
[0098] 具体地,可以遍历每个实体或者阈值,如果实体的formulas非空,则先计算其值。不管是数据解释模块获取的原始数据还是经过formulas计算的,都获取其值和变量名称,
组装成字符串,其中每个变量和值之间以逗号隔离,每个实体值之间用分号分割,如:异常
影响量,0;接通率,0.8984;接通率_下限,0.930;接通率_上限,1.797。
[0099] 步骤S1344:按照第一预设顺序依次计算每个事件的条件值。
[0100] 可选地,上述第一预设顺序可以是针对一个事件,按照树结构从左到右依次计算事件实体的值和每一个条件。
[0101] 具体地,本实施例中可以选用基于多范式编程语言的领域专用语言自定义计算公式,按照第一预设顺序依次计算每个事件的条件值。
[0102] 编程范式是指编程时的指导思想。放在编程语言里,则代表了这个语言的设计方向,即语言是为了便于遵循某种,或某些思想编程而设计的。多范式编程语言中的多范式,
是指这个语言支持使用者采用多种不同的编程范式来撰写程序。可选地,本实施例中的多
范式编程语言可以是Scala。
[0103] 领域专用语言(Domain‑Specific Language,DSL)是一种旨在特定领域下的上下文的语言。这里的领域是指某种商业上的(例如银行业、保险业等)上下文,也可以指某种应
用程序的(例如Web应用、数据库等)上下文。DSL并不具备很强的普适性,它是仅为某个适用
的领域而设计的,但它也足以用于表示这个领域中的问题以及构建对应的解决方案。
[0104] 同时,DSL还具有自定义逻辑功能,基于自定义逻辑能够进行自定义公式编辑,本实施例中的条件的计算使用基于DSL的自定义公式计算能力。
[0105] 由于计算规则和计算条件变化较多,所以采用硬编码的方式是满足不了的需求的,其生成逻辑和生成指标都较为简单,因此,本实施例使用了基于Scala的DSL自定义公式
计算能力,支持随便改变规则都可以立即生效计算。条件的多少可根据修饰词的个数定义,
例如本实施例最多用到了5个条件,这5个条件定义了实体不同的维度。一个实体的所有条
件最多只会有一个满足,条件之间是互斥的,条件可以任意复杂,都支持计算,其中名称含
有rule的都是条件。
[0106] 在计算条件时,需查看事件中的变量在步骤S12中实体的变量名称的字符串中是否存在,如果不存在则不计算,进入下一个循环。如果存在,则编译公式,传入编译后的公式
和步骤S12中的变量,调用基于Scala写的自定义公式,进行计算,如果返回为true,则将相
应的条件置成相应的值。如"node_rule_upperLimit":"(接通率<接通率.下限)and(承接达
成率<承接达成率目标弹性.上限)and(承接达成率<1)",如果这个条件满足,则其条件值为
2。如果所有的条件都不满足,则实体的条件值为‑(空)。
[0107] 步骤S1345:基于条件值生成每个实体指标对应的条件字段。
[0108] 在条件值计算完成后,返回每一个实体以及其对应的条件值、事件是否播报的标志、实体值是否被替换的标志,以及事件和其依赖的事件的ID。
[0109] 对现有的文本生成方式来说,定语修饰关系多变导致文本准确率低,顺序杂乱、可读性差,也是难点,上升或者下降这类定语是要根据其修饰词的值和各种复杂条件判断之
后才产生的,仅依靠阈值远远不够,例如:${类目名称}类目今天咨询量为${类目咨询量},
同比上周上升/下降${类目咨询量周同比}。这里的上升/下降修饰的是${类目咨询量同
比},只有流入量周同比>流入量周同比.上限或者流入量周同比<流入量周同比.下限,才会
去替换上升/下降,有时候上升和下降修饰的是${类目咨询量};目前的修饰词有:偏低/偏
高,上升/下降,增长/减少,承接较足/承接不足/承接冗余/承接弹性不足/业务线已发挥最
大承接弹性,话务流入超过承接能力,高于合理区间/在合理区间内/低于合理区间。修饰词
可以多种多样。因此本实施例通过实体指标值和条件字段,以及修饰词和实体的关系,进行
实体和修饰词的替换,保证修饰词的准确使用。
[0110] 步骤S1346:基于每个事件中的实体指标的实体指标值和条件字段,以及修饰词和实体的关系,进行实体和修饰词的替换,以生成事件。
[0111] 请参考图5,图5为本申请实施例提供的一种替换步骤的流程示意图,该步骤S1346具体可以包括如下子步骤:
[0112] 步骤S13461:基于正则表达式获取事件信息中的事件的每个实体指标。
[0113] 本实施例中可以是对每个事件中的实体进行循环遍历。
[0114] 步骤S13462:从已配置事件模板的分析树的根节点,基于第二预设顺序识别每个实体指标。
[0115] 上述第二预设顺序可以是根据树结构从左到右进行识别。
[0116] 步骤S13463:基于每个实体指标的条件值以及修饰关系对每个实体与下一个实体之间的修饰词进行替换。
[0117] 具体地,从左到右识别出每一个实体,以及当前实体和下一个实体之间是否存在修饰词,存在的话则根据实体的条件值不同进行不同的替换,返回替换后的事件结果。
[0118] 以承接事件为例:事件为承接达成率为${承接达成率},承接较足/承接不足/承接冗余/承接弹性不足/业务线已发挥最大承接弹性,话务流入超过承接能力。${承接达成率}
是实体,如果经过本步骤计算出来的值为:1.097,0,1,0,5,1,其中索引0表示的1.097代表
实体值,索引1表示的0代表条件计算结果的度,索引2表示的1代表该事件是条件播报,索引
3表示的0代表该实体的值要被替换,索引4表示的5代表该事件依赖的事件是5,索引5表示
的1是表示因果关系。经过事件生成,其生成的事件是承接达成率为109.70%,承接较足。
[0119] 步骤S14:基于事件生成文案。
[0120] 每个文案事件发生了,但总体的文案需要基于事件进行文案规划,而现有技术难以对最终文案生成进行拼接动态变化,因此本实施例中文案生成可以是基于事件以及事件
关系生成文案,事件关系包括段落关系、因果关系、递进关系和时序关系中的至少一种。
[0121] 段落关系通过对结点的拖拉拽,设置段落标题和结点关系实现,因果关系通过文案规则中各事件的高于/低于属性实现,递进关系通过在句子之间设置先后顺序实现,时序
关系通过句子发生的先后关系实现。
[0122] 应当理解的是,在文案生成后,为了防止文案存在错误的播报逻辑,有一步人工确认环节,经确认后可同步到指定通信群等,也可以设置不用人工确认,直接自动推送。
[0123] 为了配合本实施例提供的上述文案生成方法,本实施例还提供了一种文案生成装置20,请参考图6,图6为本申请实施例提供的一种文案生成装置的模块示意图。
[0124] 文案生成装置20包括:
[0125] 实体获取模块21,用于获取实体指标的阈值,阈值用于限定实体指标,以在文案生成逻辑时限制修饰词;
[0126] 条件生成模块22,用于将实体指标和阈值转换为可供计算的事件条件;
[0127] 事件生成模块23,用于基于事件信息和事件条件生成事件,事件为句子或一个节点的多个句子组合;
[0128] 文案生成模块24,用于基于事件生成文案。
[0129] 可选地,事件生成模块23具体用于:基于维度关系表数据获取实体指标的层级关系;基于层级关系生成分析树;针对分析树的每个节点配置对应的事件模板;基于事件信息
和事件条件,从已配置事件模板对应的分析树的根节点进行递归遍历计算,以生成事件。
[0130] 可选地,事件生成模块23具体用于:从事件信息读取分析树的每一层维度的节点下的所有事件;基于所有事件组成事件表;基于事件条件确定每个事件的对应实体指标,对
应实体指标包括对应实体指标的变量名称和对应实体指标的实体指标值;按照第一预设顺
序依次计算每个事件的条件值,条件值表示事件的实体指标值是否满足对应实体指标的事
件条件;基于条件值生成每个实体指标对应的条件字段;基于每个事件中的实体指标的实
体指标值和条件字段,以及修饰词和实体的关系,进行实体和修饰词的替换,以生成事件。
[0131] 可选地,事件生成模块23具体用于:基于多范式编程语言的领域专用语言自定义计算公式,按照第一预设顺序依次计算每个事件的条件值。
[0132] 可选地,事件生成模块23具体用于:确定当前计算的事件中存在实体指标的变量名称;编译领域专用语言自定义计算公式,传入编译后的领域专用语言自定义计算公式和
对应实体指标以获得计算结果;将当前计算的事件的条件值设置为计算结果对应的条件
值。
[0133] 可选地,事件生成模块23具体用于:基于正则表达式获取事件信息中的事件的每个实体指标;从已配置事件模板的分析树的根节点,基于第二预设顺序识别每个实体指标;
基于每个实体指标的条件值以及修饰关系对每个实体与下一个实体之间的修饰词进行替
换。
[0134] 可选地,文案生成模块24具体用于:基于事件以及事件关系生成文案,事件关系包括段落关系、因果关系、递进关系和时序关系中的至少一种。
[0135] 本申请实施例还提供了一种电子设备,该电子设备包括存储器和处理器,所述存储器中存储有程序指令,所述处理器读取并运行所述程序指令时,执行本实施例提供的文
案生成方法中任一项所述方法中的步骤。
[0136] 应当理解是,该电子设备可以是个人电脑(Personal Computer,PC)、平板电脑、智能手机、个人数字助理(Personal Digital Assistant,PDA)等具有逻辑计算功能的电子设
备。
[0137] 本申请实施例还提供了一种可读取存储介质,所述可读取存储介质中存储有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行文案生成方法中的步骤。
[0138] 综上所述,本申请实施例提供了一种文案生成方法、装置、电子设备及存储介质,所述方法包括:获取实体指标的阈值,所述阈值用于限定所述实体指标,以在文案生成逻辑
时限制修饰词;将所述实体指标和所述阈值转换为可供计算的事件条件;基于事件信息和
所述事件条件生成事件,所述事件为句子或一个节点的多个句子组合;基于所述事件生成
文案。
[0139] 在上述实现方式中,通过实体指标、阈值和事件、事件条件的配合,将文案生成过程抽象成事件生成、事件关系和文案生成等模块,从而使文案生成能够适用于更广泛的场
景,满足准确性、决策逻辑复杂的文案生成要求,针对任意场景的文案生成可以通过简单配
置事件以及事件条件等高效率地实现。
[0140] 在本申请所提供的几个实施例中,应该理解到,所揭露的设备,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的框图显示了根据本申
请的多个实施例的设备的可能实现的体系架构、功能和操作。在这点上,框图中的每个方框
可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或
多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,
方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实
际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也
要注意的是,框图中的每个方框、以及框图的组合,可以用执行规定的功能或动作的专用的
基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0141] 另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
[0142] 所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。因此本实施例还提供了一种可读取存储介质中存储
有计算机程序指令,所述计算机程序指令被一处理器读取并运行时,执行区块数据存储方
法中任一项所述方法中的步骤。基于这样的理解,本申请的技术方案本质上或者说对现有
技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软
件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算
机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述
的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read‑Only Memory)、随机存取存储器
(RAM,RanDom Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0143] 以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的
任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和
字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图
中不需要对其进行进一步定义和解释。
[0144] 以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵
盖在本申请的保护范围之内。
[0145] 需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存
在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖
非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要
素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备
所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括
所述要素的过程、方法、物品或者设备中还存在另外的相同要素。