一种事件推理方法及装置与流程

文档序号:21836330发布日期:2020-08-14 16:02阅读:167来源:国知局
一种事件推理方法及装置与流程
本发明属于计算机
技术领域
,尤其涉及一种事件推理方法及装置。
背景技术
:资本市场需要服务于实体经济,以股票、债券为代表的大部分投资标的,与实体经济的实时动态紧密连接。连接处的任何风吹草动都可能导致投资标的估值产生新的变化。因此敏锐的投资人不会放过它们,监管机构也会对连接处的信息披露强度和规范程度做出有法律效力的刚性规定。这就造就了基本面分析研究这样一个行当。现实中进行基本面分析研究涉及到行业中产品、企业、工艺、市场、从业人元等诸多要素,各要素之间相互作用、相互影响,错综复杂,在信息化、网络化空前发达的当代则更加瞬息万变。这给单纯使用人脑来研究基本面的分析师带来了困惑和压力。以金融类事件为例,在金融事件的产生到消亡的全周期中,其影响生成——传递——反复影响、反复传递——消亡的过程属于典型的蝴蝶效应。因此,需要一种事件推理方法在事件产生的初期或事件影响力释放之前进行模拟推演,得到相关结论。技术实现要素:本发明实施例提供一种事件推理方法,旨在解决现有技术中事件产生后,人们对于事件涉及到的各要素之间相互作用、相互影响,错综复杂的基本面分析存在困惑和压力的问题。本发明实施例是这样实现的,一种事件推理方法,所述方法包括如下步骤:步骤一,获取刺激关键词;步骤二,根据所述刺激关键词查找与入口推理逻辑相匹配的推理模型;步骤三,根据匹配的推理模型进行推理并输出推理结论至结论栈;步骤四,判断所述结论栈中是否有新增的推理结论;步骤五,当判断所述结论栈中有新增的推理结论时,根据所述推理结论的结论关键词查找与所述因果推理逻辑相匹配的推理模型并执行步骤三。本发明实施例还提供一种事件推理装置,所述装置包括:获取单元,用于获取刺激关键词;入口推理模型匹配单元,用于根据所述刺激关键词查找与入口推理逻辑相匹配的推理模型;推理执行单元,用于根据匹配的推理模型进行推理并输出推理结论至结论栈;推理结论判断单元,用于判断所述结论栈中是否有新增的推理结论;因果推理模型匹配单元,用于当判断所述结论栈中有新增的推理结论时,根据所述推理结论的结论关键词查找与所述因果推理逻辑相匹配的推理模型并触发推理执行单元根据匹配的推理模型进行推理并输出推理结论至结论栈。综上所述,通过本发明提供的事件推理方法,根据新闻事件中的刺激关键词所产生的影响进行逻辑建模、推理和反复推理,分析事件是否导致相关行业、产品指标数据产生变化,以及变化具体形式和变化范围等,从而辅助分析师进行基本面分析。附图说明图1是本发明实施例提供的一种事件推理方法的流程图;图2是本发明实施例提供的一种事件推理方法的网状因果图谱;图3是本发明实施例提供的又一种事件推理方法的流程图;图4是本发明实施例提供的又一种事件推理方法的流程图;图5是本发明实施例提供的又一种事件推理方法的流程图;图6是本发明实施例提供的一种事件推理装置的结构框图;图7是本发明实施例提供的又一种事件推理装置的结构框图;图8是本发明实施例提供的又一种事件推理装置的结构框图;图9是本发明实施例提供的又一种事件推理装置的结构框图。具体实施方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。图1示出了本发明实施例提供的一种事件推理方法,所述方法包括如下步骤:步骤s101,获取刺激关键词。在本发明实施例中,所述刺激关键词可以是用户输入的,也可以是通过其他途径自动获取的,例如通过爬虫实时采集。以新闻事件为例,当网络中出现了某新闻事件消息,且包含某刺激关键词,本发明方法通过爬虫实时采集相关信息,经过自然语言处理(nlp)进行机器语义识别后抽取成标准刺激关键词。例如,推理由“2018年8月3日沈阳确诊国内首例非洲猪瘟”新闻事件激发。新闻经过自然语言处理(nlp),提取刺激关键词如下:实体变化因子变化动作生猪*爆发猪瘟步骤s102,根据所述刺激关键词查找与入口推理逻辑相匹配的推理模型。推理模型是推理逻辑的载体,所述推理模型包括但不限于进行入口推理逻辑的入口推理逻辑模型。推理模型匹配是指推理过程中负责在客户程序传入事件刺激关键词或主动获取到刺激关键词后进行推理模型的查找和定位。例如,刺激关键词可以按照“实体名称”——“变化属性”——“变化动作”三元组的标准格式传入或获取,其中实体名称对应着一种产品的名称;变化属性定义了产品内部某个可能产生变化的因子,如价格、产量、库存等;变化动作代表产品属性的变化方向(上涨、下跌、增加、减少)。推理模型匹配可以设置成通过自动匹配和非自动匹配两种方式来进行模型定位。自动匹配是指根据传入事件刺激关键词的某些预设值来查找符合条件的推理模型,例如刺激关键词中“实体名称——变化属性——变化动作”三元组的值。非自动匹配是指在每一个推理模型入口中编写匹配逻辑脚本来判断推理模型是否匹配,此时用于匹配的信息则不局限于某些单独设置值,如“实体名称——变化属性——变化动作”三元组,还可以包括:事件发生地址、时间、属性变化值等。本发明所述的推理过程由推理引擎实现,所述推理引擎提供推理逻辑的运行环境,将对事件“产生——影响——传递——进一步影响”的蝴蝶效应链式传导过程进行模拟分析并输出推理结论。所述推理引擎还可以包括核心引擎所述核心引擎可以用于模型匹配和解析解析、推理线程管理、结论栈等优选的,本发明实施例还可以包括推理仿真,所述推理仿真可以对已经建成的推理模型进行仿真执行,验证所述推理模型配置的正确性。所述推理仿真与正常执行推理不同的是,仿真执行允许推理逻辑输出更多的调试跟踪信息以辅助建模人员完成纠错,从而更加优化所述推理模型。步骤s103,根据匹配的推理模型进行推理并输出推理结论至结论栈。在本发明实施例中,所述推理模型匹配完成后,需要将已匹配的所述推理模型的配置信息转换成引起可以执行的脚本代码,所述配置信息包括但不局限于指标配置、参数配置、结论模板配置等,所述脚本代码为python,ruby,groovy脚本三者中之一,作为本领域技术人员可知的是,其他能实现本发明方案功能的脚本代码形式也是可以的。然后再运行所述脚本代码得出推理结论,同时将所述推理结论输出并存储至结论栈。结论栈是逻辑推理中按推理每个推理实例分隔的一块共享信息区,其中保存了标准格式的推理结论信息。优选的,所述推理结论输出可分为两种:一种是输出给希望查看到最终推理结论的用户,通常为文本信息,无格式限制;另一种以给定的标准格式存储在推理过程的结论栈中。标准结论格式的定义如下表:推理运行过程中需要对许多指标数据进行读取、分析、计算,例如行业内的许多经济指标数据(如某产品的产量、价格、同比、环比等)。这些数据是推理逻辑得以运行的基础。行业指标数据库通常由用户预先建立,本发明实施例可以假定行业指标数据库建立完备并且数据质量可靠,不再对行业指标数据库建立和运维方法的进行说明。步骤s104,判断所述结论栈中是否有新增的推理结论。在本发明实施例中,需要对结论栈中的结论进行判断,看所述结论栈中是否有新增的推理结论,如果有新增的推理结论,则执行步骤s105,如果没有,则结束。步骤s105,当判断所述结论栈中有新增的推理结论时,根据所述推理结论的结论关键词查找与所述因果推理逻辑相匹配的推理模型并执行步骤s103。在本发明实施例中,不仅对获取的刺激关键词进行推理,还对结论栈中的推理结论的结论关键词进行推理,如此传递。当判断所述结论栈中有新增的推理结论时,则根据所述推理结论的结论关键词查找与所述因果推理逻辑相匹配的推理模型,再根据查找到的匹配的推理模型进行推理并输出推理结论至结论栈,如果没有匹配到合适的推理模型则结束。在本发明实施例中,逻辑推理至少包括因果推理逻辑和入口推理逻辑。不同来源的关键词需要进行不同的推理逻辑推理,刺激关键词进行入口推理逻辑推理,而结论栈中的结论关键词则进行因果推理逻辑推理。以金融新闻事件为例,金融新闻事件对基本面的影响一般情况下要落到实体经济中的具体的产品上来。入口推理逻辑负责接收新闻事件的刺激关键词,定位入口产品,分析事件对入口产品的影响,输出第一条推理结论,再将影响传递出去。因果推理逻辑是实体经济中产品之间、产品属性之间的影响逻辑的汇总,在系统中被配置成了网状的因果图谱,如附图2所示。因果图谱由节点和连线组成,节点对应实体经济行业中的产品,连线对应着产品之间的一种影响关系,可以是价格拉动、产量拉动等等。第一条刺激关键词的推理逻辑结论输出后,后续的推理逻辑分析由因果关系中的因果推理逻辑接管,继续分析影响并继续传递,直至所有影响都被分析完成。入口推理逻辑将在结论栈中产生第一条结论,如果入口不产生结论则推理立即结束,结论栈中无结论关键词,不执行后续的因果推理逻辑。结论栈中推理结论的结论关键词将激发因果关系中定义的因果推理逻辑继续执行,将推理进程向前递进,因果逻辑又会产生更多的结论到结论栈,激发更多的因果推理逻辑执行。因此,结论栈中结论刺激关键词是因果推理逻辑被激发和执行的前置条件,也是推理沿因果图谱链式递进的驱动信息。优选的,本发明实施例还可以包括对外服务接口,所述对外服务接口包括但不限于推理api和订阅。所述推理api为通过提供推理api(微服务方式或其他)给用户程序调用来完成与推理逻辑的交互,发出推理请求;所述订阅为用户通过订阅(可以是消息服务或其他)获得推理所产生的结论。优选的,所述步骤s103之前还包括:步骤s201,配置入口推理逻辑的参数。在本发明实施例中,在进行推理之前需要对推理模型的参数进行配置,包括但不限于入口推理逻辑参数和因果推理逻辑的参数。在本发明实施例中,推理逻辑在获取到所述刺激关键词和结论关键词后,需要对下一步的推理逻辑进行选择,所述推理逻辑包括但不限于入口推理逻辑和因果推理逻辑,对于刺激关键词进行入口逻辑定位,所述入口逻辑定位是指找到刺激关键词所指的时间影响的第一个节点;再接下来是其他的推理逻辑,如:调取相关指标进行计算、分析数据等;最后是根据分析情况输出结论。优选的,为了便于对推理逻辑进行配置,还包括提供可视化的工具配置推理逻辑。步骤s202,配置因果推理逻辑的参数。在本发明实施例中,对于结论栈中的结论关键词需要进行因果逻辑推理,因此需要对所述因果逻辑推理的参数进行配置,当获取到结论栈中的结论关键词后直接匹配因果推理逻辑模型进行因果逻辑推理。所述因果推理逻辑参数的配置包括因果关系图谱,所述因果关系图谱是在对实体行业经济各种关联产品之间(或产品内部不同属性之间)的影响关系进行提取后在系统建模生成的,是用计算机模拟蝴蝶效应推演的递进路线图。蝴蝶效应是指在一个动力系统中,初始条件下微小的变化能带动整个系统的长期的巨大的连锁反应。本发明方案对蝴蝶效应进行模拟推演的方法建立在抽取实体经济中各种产品之间的相互影响关系后建立计算机推理模型的基础上来进行的。在本发明实施例中,入口推理逻辑将在结论栈中产生第一条结论,如果入口不产生结论则推理立即结束,结论栈中无刺激关键词,不执行后续的因果推理逻辑。结论栈中结论的刺激关键词将激发因果关系中定义的因果推理逻辑继续执行,将推理进程向前递进,因果逻辑又会产生更多的结论到结论栈,激发更多的因果推理逻辑执行。因此,入口推理逻辑参数和因果推理逻辑的参数的配置是入口推理逻辑和因果推理逻辑被激发和执行的前置条件,也是推理沿因果图谱链式递进的驱动信息。例如,同上述“猪瘟案例”,当获取到刺激关键词时,进入推理逻辑,首先将入口产品定位为“生猪”,根据推理得出如下结论:“猪瘟影响如果扩大,扑杀是阻断疫情的唯一手段,这将导致大量存栏生猪被扑杀,生猪存栏量可能快速下降”。结论栈中输出如下结论:当判断结论栈中新增了推理结论时,新增的所述推理结论的结论关键词在结论栈中由入口推理逻辑产生第一条结论后,会链式触发其他因果关系,将推理不断递进,如“生猪—生猪存栏量影响猪肉价格—猪肉”,“生猪”节点是因果关系中的“因节点”,“猪肉”是因果关系中的“果节点”;二者之间的影响关系是“生猪存栏量”对“猪肉价格”的影响。将该因果关系用结构化数据来表示则可得到下表:通过上表的表述方式已经可以清楚地说明生猪存栏量对猪肉价格的影响,但如何得到精确的影响分析则需要运行更为精确的推理逻辑来得到。综上所述,通过本发明提供的事件推理方法,根据新闻事件中的刺激关键词所产生的影响进行逻辑建模、推理和反复推理,分析事件是否导致相关行业、产品指标数据产生变化,以及变化具体形式和变化范围等,从而辅助分析师进行基本面分析。图3示出了适用于本发明实施例提供的又一种事件推理方法流程图,与图1相比所述步骤s103具体包括:步骤s1031,将已匹配的所述推理模型的配置信息转换成可以执行的推理逻辑脚本代码。在本发明实施例中,为了保证推理过程继续进行,推理模型匹配完成后,需要将已匹配的所述推理模型的配置信息转换成可以执行的推理逻辑脚本代码,所述配置信息包括但不局限于指标配置、参数配置、结论模板配置等,所述脚本代码为python,ruby,groovy脚本三者中之一,作为本领域技术人员可知的是,其他能实现本发明方案功能的脚本代码形式也是可以的。步骤s1032,执行所述推理逻辑脚本代码。步骤s1033,输出推理结论至结论栈。在本发明实施例中,所述推理逻辑脚本代码执行完后会得出相应的推理结论,同时将所述推理结论输出并存储至结论栈,所述结论栈是逻辑推理中按推理每个推理实例分隔的一块共享信息区,其中保存了标准格式的推理结论信息,作为本领及技术人员可知,其他其他格式也是可以的。图4示出了适用于本发明实施例提供的又一种事件推理方法流程图,与图1相比所述步骤s101之前还包括:步骤s301,获取历史事件信息。在本发明实施例中,推理模型是推理逻辑的载体,是通过用户预先设置或建立的。当获取到所述历史事件信息后,所述历史事件信息可以是用户输入,也可以是自动获取的,将所述历史事件信息汇总并建立历史事件库。步骤s302,根据所述历史事件信息分析提取推理逻辑。在本发明实施例中,通过对上述历史事件对与其关联行业或其他方面的影响进行分析,并将所述影响的关联关系进行总结和提取,得出相应的推理逻辑。步骤s303,将所述推理逻辑建成推理模型并用伪代码表述。在本发明实施例中,根据上述推理逻辑建成推理模型,并用伪代码表述,当然也可以用其他代码。在事件推理方法中,推理模型是对实体经济行业中的产品、属性、事件、影响形态进行分析、归类后提取,再进行计算机建模得到的预设在事件推理方法中的推理逻辑。步骤s304,将所述伪代码转化为推理逻辑脚本代码。在本发明实施例中,为了便于后续推理模型的执行,需要将所述伪代码转化成便于执行的推理逻辑脚本代码并存储在模型库中,所述脚本代码为python,ruby,groovy脚本三者中之一,作为本领域技术人员可知的是,其他能实现本发明方案功能的脚本代码形式也是可以的。优选的,在本发明实施例中,所述推理模型建立所使用的方法包括但不限于归纳法和数学建模法。所述归纳法为将同类事件归类,分析其固有的影响形态,提取推理逻辑。所述数学建模法为采用数学建模法(主要但不局限于线性回归分析法)建立行业产品之间、产品属性之间的关联关系,生成计算影响量值的数学公式,定义在推理逻辑中。目前,推理建模的主要工作由分析师人工完成,如果未来机器学习算法足够发达,可以将建模过程交由计算机来自动完成。图5示出了适用于本发明实施例提供的又一种事件推理方法流程图,与图3相比所述步骤s1032具体包括:步骤s401,生成与所述推理逻辑脚本代码对应的推理请求。在本发明实施例中,当检测到刺激关键词或结论关键词并完成推理模型匹配后需要执行所述推理模型,执行所述推理模型前先根据所述推理模型生成与所述推理模型的推理逻辑脚本对应的推理请求。通过对所述推理请求进行管理和调用,即可实现对所述推理逻辑脚本代码执行的管理和调用。当需要执行的推理逻辑脚本数量较大时更便于管理,优化执行速度。步骤s402,根据所述推理请求生成相应的推理任务并放置在统一的队列里。在本发明实施例中,根据所述已生成的推理请求生成对应的推理任务,将所述推理任务放置在统一的队列里进行统一管理和调用。可以按照先进先出的原则依次等待被推理线程来执行,也可以按照其他规则,所述规则可以由用户自行设置。步骤s403,按预设的规则安排推理线程执行所述队列里的推理任务。在本发明实施例中,当所述推理任务被放置在所述队列后,即可按照用户预先设置的规则对所述推理任务进行调用和执行,运行推理脚本,可以根据生成时间依次执行,也可以根据重要级别执行,所述规则可由用户预先设置。优选的,所述预设的规则可以是采用调度线程通过调用空闲推理线程来实现对新的推理任务的执行。例如,调度线程实时对推理任务队列进行监控,一旦发现队列里有待执行的新任务则即刻从线程池申请空闲推理线程来执行任务队列。推理线程启动后,调度线程继续调取队列里的下一个推理任务继续分配给线程池里的空闲线程。推理任务执行结束后,线程资源再由调度线程回收。通过上述方法可有效提高推理逻辑的执行效率,支持多用户并发,保证了大量用户同时发出推理请求时良好的系统可用性。图6示出了本发明实施例提供的一种事件推理装置的结构框图,所述装置包括:获取单元501,用于获取刺激关键词。在本发明实施例中,所述刺激关键词可以是用户输入的,也可以是通过其他途径自动获取的,例如通过爬虫实时采集。以新闻事件为例,当网络中出现了某新闻事件消息,且包含某刺激关键词,本发明方法通过爬虫实时采集相关信息,经过自然语言处理(nlp)进行机器语义识别后抽取成标准刺激关键词。例如,推理由“2018年8月3日沈阳确诊国内首例非洲猪瘟”新闻事件激发。新闻经过自然语言处理(nlp),提取刺激关键词如下:实体变化因子变化动作生猪*爆发猪瘟入口推理模型匹配单元502,用于根据所述刺激关键词查找与入口推理逻辑相匹配的推理模型。推理模型是推理逻辑的载体,所述推理模型包括但不限于进行入口推理逻辑的入口推理逻辑模型。推理模型匹配是指推理引过程中负责在客户程序传入事件刺激关键词或主动获取到刺激关键词后进行推理模型的查找和定位。例如,刺激关键词可以按照“实体名称”——“变化属性”——“变化动作”三元组的标准格式传入或获取,其中实体名称对应着一种产品的名称;变化属性定义了产品内部某个可能产生变化的因子,如价格、产量、库存等;变化动作代表产品属性的变化方向(上涨、下跌、增加、减少)。推理模型匹配可以设置成通过自动匹配和非自动匹配两种方式来进行模型定位。自动匹配是指根据传入事件刺激关键词的某些预设值来查找符合条件的推理模型,例如刺激关键词中“实体名称——变化属性——变化动作”三元组的值。非自动匹配是指在每一个推理模型入口中编写匹配逻辑脚本来判断推理模型是否匹配,此时用于匹配的信息则不局限于某些单独设置值,如“实体名称——变化属性——变化动作”三元组,还可以包括:事件发生地址、时间、属性变化值等。本发明所述的推理过程由推理引擎实现,所述推理引擎提供推理逻辑的运行环境,将对事件“产生——影响——传递——进一步影响”的蝴蝶效应链式传导过程进行模拟分析并输出推理结论。所述推理引擎还可以包括核心引擎所述核心引擎可以用于模型匹配和解析解析、推理线程管理、结论栈等优选的,本发明实施例还可以包括推理仿真,所述推理仿真可以对已经建成的推理模型进行仿真执行,验证所述推理模型配置的正确性。所述推理仿真与正常执行推理不同的是,仿真执行允许推理逻辑输出更多的调试跟踪信息以辅助建模人员完成纠错,从而更加优化所述推理模型。推理执行单元503,用于根据匹配的推理模型进行推理并输出推理结论至结论栈。在本发明实施例中,所述推理模型匹配完成后,需要将已匹配的所述推理模型的配置信息转换成引起可以执行的脚本代码,所述配置信息包括但不局限于指标配置、参数配置、结论模板配置等,所述脚本代码为python,ruby,groovy脚本三者中之一,作为本领域技术人员可知的是,其他能实现本发明方案功能的脚本代码形式也是可以的。然后再运行所述脚本代码得出推理结论,同时将所述推理结论输出并存储至结论栈。结论栈是逻辑推理中按推理每个推理实例分隔的一块共享信息区,其中保存了标准格式的推理结论信息。优选的,所述推理结论输出可分为两种:一种是输出给希望查看到最终推理结论的用户,通常为文本信息,无格式限制;另一种以给定的标准格式存储在推理过程的结论栈中。标准结论格式的定义如下表:推理运行过程中需要对许多指标数据进行读取、分析、计算,例如行业内的许多经济指标数据(如某产品的产量、价格、同比、环比等)。这些数据是推理逻辑得以运行的基础。行业指标数据库通常由用户预先建立,本发明实施例可以假定行业指标数据库建立完备并且数据质量可靠,不再对行业指标数据库建立和运维方法的进行说明。推理结论判断单元504,用于判断所述结论栈中是否有新增的推理结论。在本发明实施例中,需要对结论栈中的结论进行判断,看所述结论栈中是否有新增的推理结论,如果有新增的推理结论,则执行步骤s105,如果没有,则结束。因果推理模型匹配单元505,用于当判断所述结论栈中有新增的推理结论时,根据所述推理结论的结论关键词查找与所述因果推理逻辑相匹配的推理模型并触发推理执行单元根据匹配的推理模型进行推理并输出推理结论至结论栈。在本发明实施例中,不仅对获取的刺激关键词进行推理,还对结论栈中的推理结论的结论关键词进行推理,如此传递。当判断所述结论栈中有新增的推理结论时,则根据所述推理结论的结论关键词查找与所述因果推理逻辑相匹配的推理模型,再根据查找到的匹配的推理模型进行推理并输出推理结论至结论栈,如果没有匹配到合适的推理模型则结束。在本发明实施例中,逻辑推理至少包括因果推理逻辑和入口推理逻辑。不同来源的关键词需要进行不同的推理逻辑推理,刺激关键词进行入口推理逻辑推理,而结论栈中的结论关键词则进行因果推理逻辑推理。以金融新闻事件为例,金融新闻事件对基本面的影响一般情况下要落到实体经济中的具体的产品上来。入口推理逻辑负责接收新闻事件的刺激关键词,定位入口产品,分析事件对入口产品的影响,输出第一条推理结论,再将影响传递出去。因果推理逻辑是实体经济中产品之间、产品属性之间的影响逻辑的汇总,在系统中被配置成了网状的因果图谱,如附图2所示。因果图谱由节点和连线组成,节点对应实体经济行业中的产品,连线对应着产品之间的一种影响关系,可以是价格拉动、产量拉动等等。第一条刺激关键词的推理逻辑结论输出后,后续的推理逻辑分析由因果关系中的因果推理逻辑接管,继续分析影响并继续传递,直至所有影响都被分析完成。入口推理逻辑将在结论栈中产生第一条结论,如果入口不产生结论则推理立即结束,结论栈中无结论关键词,不执行后续的因果推理逻辑。结论栈中推理结论的结论关键词将激发因果关系中定义的因果推理逻辑继续执行,将推理进程向前递进,因果逻辑又会产生更多的结论到结论栈,激发更多的因果推理逻辑执行。因此,结论栈中结论刺激关键词是因果推理逻辑被激发和执行的前置条件,也是推理沿因果图谱链式递进的驱动信息。优选的,本发明实施例还可以包括对外服务接口,所述对外服务接口包括但不限于推理api和订阅。所述推理api为通过提供推理api(微服务方式或其他)给用户程序调用来完成与推理逻辑的交互,发出推理请求;所述订阅为用户通过订阅(可以是消息服务或其他)获得推理所产生的结论。优选的,所述推理执行单元503,还包括:入口推理逻辑参数配置单元601,用于配置入口推理逻辑的参数。在本发明实施例中,在进行推理之前需要对推理模型的参数进行配置,包括但不限于入口推理逻辑参数和因果推理逻辑的参数。在本发明实施例中,推理逻辑在获取到所述刺激关键词和结论关键词后,需要对下一步的推理逻辑进行选择,所述推理逻辑包括但不限于入口推理逻辑和因果推理逻辑,对于刺激关键词进行入口逻辑定位,所述入口逻辑定位是指找到刺激关键词所指的时间影响的第一个节点;再接下来是其他的推理逻辑,如:调取相关指标进行计算、分析数据等;最后是根据分析情况输出结论。优选的,为了便于对推理逻辑进行配置,还包括提供可视化的工具配置推理逻辑。因果推理逻辑参数配置单元602,用于配置因果推理逻辑的参数。在本发明实施例中,对于结论栈中的结论关键词需要进行因果逻辑推理,因此需要对所述因果逻辑推理的参数进行配置,当获取到结论栈中的结论关键词后直接匹配因果推理逻辑模型进行因果逻辑推理。所述因果推理逻辑参数的配置包括因果关系图谱,所述因果关系图谱是在对实体行业经济各种关联产品之间(或产品内部不同属性之间)的影响关系进行提取后在系统建模生成的,是用计算机模拟蝴蝶效应推演的递进路线图。蝴蝶效应是指在一个动力系统中,初始条件下微小的变化能带动整个系统的长期的巨大的连锁反应。本发明方案对蝴蝶效应进行模拟推演的方法建立在抽取实体经济中各种产品之间的相互影响关系后建立计算机推理模型的基础上来进行的。在本发明实施例中,入口推理逻辑将在结论栈中产生第一条结论,如果入口不产生结论则推理立即结束,结论栈中无刺激关键词,不执行后续的因果推理逻辑。结论栈中结论的刺激关键词将激发因果关系中定义的因果推理逻辑继续执行,将推理进程向前递进,因果逻辑又会产生更多的结论到结论栈,激发更多的因果推理逻辑执行。因此,入口推理逻辑参数和因果推理逻辑的参数的配置是入口推理逻辑和因果推理逻辑被激发和执行的前置条件,也是推理沿因果图谱链式递进的驱动信息。例如,同上述“猪瘟案例”,当获取到刺激关键词时,进入推理逻辑,首先将入口产品定位为“生猪”,根据推理得出如下结论:“猪瘟影响如果扩大,扑杀是阻断疫情的唯一手段,这将导致大量存栏生猪被扑杀,生猪存栏量可能快速下降”。结论栈中输出如下结论:当判断结论栈中新增了推理结论时,新增的所述推理结论的结论关键词在结论栈中由入口推理逻辑产生第一条结论后,会链式触发其他因果关系,将推理不断递进,如“生猪—生猪存栏量影响猪肉价格—猪肉”,“生猪”节点是因果关系中的“因节点”,“猪肉”是因果关系中的“果节点”;二者之间的影响关系是“生猪存栏量”对“猪肉价格”的影响。将该因果关系用结构化数据来表示则可得到下表:通过上表的表述方式已经可以清楚地说明生猪存栏量对猪肉价格的影响,但如何得到精确的影响分析则需要运行更为精确的推理逻辑来得到。综上所述,通过本发明提供的事件推理方法,根据新闻事件中的刺激关键词所产生的影响进行逻辑建模、推理和反复推理,分析事件是否导致相关行业、产品指标数据产生变化,以及变化具体形式和变化范围等,从而辅助分析师进行基本面分析。图7示出了适用于本发明实施例提供的又一种事件推理装置的结构框图,与图6相比所述推理执行单元503具体包括:脚本代码转换模块5031,用于将已匹配的所述推理模型的配置信息转换成可以执行的推理逻辑脚本代码。在本发明实施例中,为了保证推理过程继续进行,推理模型匹配完成后,需要将已匹配的所述推理模型的配置信息转换成可以执行的推理逻辑脚本代码,所述配置信息包括但不局限于指标配置、参数配置、结论模板配置等,所述脚本代码为python,ruby,groovy脚本三者中之一,作为本领域技术人员可知的是,其他能实现本发明方案功能的脚本代码形式也是可以的。脚本代码执行模块5032,用于执行所述推理逻辑脚本代码。结论输出单元5033,用于输出推理结论至结论栈。在本发明实施例中,所述推理逻辑脚本代码执行完后会得出相应的推理结论,同时将所述推理结论输出并存储至结论栈,所述结论栈是逻辑推理中按推理每个推理实例分隔的一块共享信息区,其中保存了标准格式的推理结论信息,作为本领及技术人员可知,其他其他格式也是可以的。图8示出了适用于本发明实施例提供的又一种事件推理装置的结构框图,与图6相比所述装置还包括:历史事件获取单元701,用于获取历史事件信息。在本发明实施例中,推理模型是推理逻辑的载体,是通过用户预先设置或建立的。当获取到所述历史事件信息后,所述历史事件信息可以是用户输入,也可以是自动获取的,将所述历史事件信息汇总并建立历史事件库。推理逻辑提取单元702,用于根据所述历史事件信息分析提取推理逻辑。在本发明实施例中,通过对上述历史事件对与其关联行业或其他方面的影响进行分析,并将所述影响的关联关系进行总结和提取,得出相应的推理逻辑。推理模型建立单元703,用于将所述推理逻辑建成推理模型并用伪代码表述。在本发明实施例中,根据上述推理逻辑建成推理模型,并用伪代码表述,当然也可以用其他代码。在事件推理方法中,推理模型是对实体经济行业中的产品、属性、事件、影响形态进行分析、归类后提取,再进行计算机建模得到的预设在事件推理方法中的推理逻辑。伪代码转换单元704,用于将所述伪代码转化为推理逻辑脚本代码。在本发明实施例中,为了便于后续推理模型的执行,需要将所述伪代码转化成便于执行的推理逻辑脚本代码并存储在模型库中,所述脚本代码为python,ruby,groovy脚本三者中之一,作为本领域技术人员可知的是,其他能实现本发明方案功能的脚本代码形式也是可以的。优选的,在本发明实施例中,所述推理模型建立所使用的方法包括但不限于归纳法和数学建模法。所述归纳法为将同类事件归类,分析其固有的影响形态,提取推理逻辑。所述数学建模法为采用数学建模法(主要但不局限于线性回归分析法)建立行业产品之间、产品属性之间的关联关系,生成计算影响量值的数学公式,定义在推理逻辑中。目前,推理建模的主要工作由分析师人工完成,如果未来机器学习算法足够发达,可以将建模过程交由计算机来自动完成。图9示出了适用于本发明实施例提供的又一种事件推理装置的结构框图,与图7相比所述脚本代码执行模块5032具体包括:推理请求生成模块801,用于生成与所述推理逻辑脚本代码对应的推理请求。在本发明实施例中,当检测到刺激关键词或结论关键词并完成推理模型匹配后需要执行所述推理模型,执行所述推理模型前先根据所述推理模型生成与所述推理模型的推理逻辑脚本对应的推理请求。通过对所述推理请求进行管理和调用,即可实现对所述推理逻辑脚本代码执行的管理和调用。当需要执行的推理逻辑脚本数量较大时更便于管理,优化执行速度。推理任务生成模块802,用于根据所述推理请求生成相应的推理任务并放置在统一的队列里。在本发明实施例中,根据所述已生成的推理请求生成对应的推理任务,将所述推理任务放置在统一的队列里进行统一管理和调用。可以按照先进先出的原则依次等待被推理线程来执行,也可以按照其他规则,所述规则可以由用户自行设置。推理任务执行模块803,用于按预设的规则安排推理线程执行所述队列里的推理任务。在本发明实施例中,当所述推理任务被放置在所述队列后,即可按照用户预先设置的规则对所述推理任务进行调用和执行,运行推理脚本,可以根据生成时间依次执行,也可以根据重要级别执行,所述规则可由用户预先设置。优选的,所述预设的规则可以是采用调度线程通过调用空闲推理线程来实现对新的推理任务的执行。例如,调度线程实时对推理任务队列进行监控,一旦发现队列里有待执行的新任务则即刻从线程池申请空闲推理线程来执行任务队列。推理线程启动后,调度线程继续调取队列里的下一个推理任务继续分配给线程池里的空闲线程。推理任务执行结束后,线程资源再由调度线程回收。通过上述方法可有效提高推理逻辑的执行效率,支持多用户并发,保证了大量用户同时发出推理请求时良好的系统可用性。在一个实施例中,提出了一种计算机设备,所述计算机设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本发明任一项方法的步骤。应该理解的是,虽然本发明各实施例的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,各实施例中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1