首页> 中国专利> 一种上下文分布式推理方法和装置

一种上下文分布式推理方法和装置

摘要

本发明实施例公开了一种上下文分布式推理方法和装置,该方法包括:从多个计算节点获取大量的且多种类的上下文数据,并对获取的上下文数据进行建模处理,得到被推理上下文集合,其中,所述被推理上下文集合中各种上下文的表示形式统一,所述大量是指上下文数据的规模达到特定数据量;获取用于对所述被推理上下文集合进行分布式推理的推理规则;对所述推理规则进行解析,生成所述推理规则的推理计划;根据所述推理计划和预先配置的用于所述推理规则的上下文推理算法对所述被推理上下文集合进行分布式推理,生成所述推理计划的推理结果。本发明实施例可以提高上下文的推理效率。

著录项

  • 公开/公告号CN105808568A

    专利类型发明专利

  • 公开/公告日2016-07-27

    原文格式PDF

  • 申请/专利权人 华为技术有限公司;北京邮电大学;

    申请/专利号CN201410844207.7

  • 发明设计人 孟祥武;李珂;张玉洁;王凡;

    申请日2014-12-30

  • 分类号

  • 代理机构广州三环专利代理有限公司;

  • 代理人郝传鑫

  • 地址 518129 广东省深圳市龙岗区坂田华为总部办公楼

  • 入库时间 2023-06-19 00:12:25

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-02-14

    授权

    授权

  • 2016-08-24

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20141230

    实质审查的生效

  • 2016-07-27

    公开

    公开

说明书

技术领域

本发明涉及通信领域,尤其涉及一种上下文分布式推理方法和装置。

背景技术

目前在通信领域中,企业通信、协作工具和通信系统每天产生大量上下文数据,如邮件、即时通信、短信、通话记录和社交媒体数据等。如何通过采集企业用户上下文、通信上下文、会议上下文等进行分析推理,实现在恰当的时间地点,以恰当的设备和方式提供通信服务是目前研究热点。其中,企业用户上下文可以包括:用户基本信息(例如:性别、职业、年龄、文化程度、专业知识等信息)、用户生活信息(例如:偏好信息),通信上下文可以包括:用户行为信息(例如:用户电话、短信通信记录等信息),会议上下文可以包括:会议开始时间和结束时间等信息。

目前的上下文推理方式都是采用集中式推理,其中集中式推理都是在单机环境下进行上下文推理的。这样当上下文数据量很大时,存在推理效率低的问题。

发明内容

本发明提供了一种上下文分布式推理方法和装置,可以提高上下文的推理效率。

第一方面,本发明提供一种上下文分布式推理方法,包括:

从多个计算节点获取大量的且多种类的上下文数据,并对获取的上下文数据进行建模处理,得到被推理上下文集合,其中,所述被推理上下文集合中各种上下文的表示形式统一,所述大量是指上下文数据的规模达到特定数据量;

获取用于对所述被推理上下文集合进行分布式推理的推理规则;

对所述推理规则进行解析,生成所述推理规则的推理计划;

根据所述推理计划和预先配置的用于所述推理规则的上下文推理算法对所述被推理上下文集合进行分布式推理,生成所述推理计划的推理结果。

在第一方面的第一种可能的实现方式中,所述对获取的上下文数据进行建模处理,得到被推理上下文集合,包括:

对获取的上下文数据进行建模处理,得到包括标志、属性内容和发生时间的被推理上下文集合。

结合第一方面或者在第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述被推理上下文集合包括用户上下文和会议上下文:

所述方法还包括:

获取用于对所述被推理上下文集合进行条件推理的第一推理模型,所述第一推理模型包括两个推理条件;

所述根据所述推理计划和预先配置的用于所述推理规则的上下文推理算法对所对所述被推理上下文集合进行分布式推理,生成所述推理计划的推理结果,包括:

使用所述第一推理模型对所述被推理上下文集合进行条件分布式推理,得到满足所述第一推理模型包括的推理条件的上下文信息,其中,所述上下文信息用于表示参与会议的用户;

根据所述推理计划和预先配置的用于所述推理规则的上下文推理算法对所述参与会议的用户对应的被推理上下文集合进行分布式推理,生成符合所述推理规则的用户的会议状态信息。

结合第一方面或者在第一方面的第一种可能的实现方式,在第一方面的第三种可能的实现方式中,所述被推理上下文集合包括用户上下文和通信上下文;

所述方法还包括:

获取用于对所述被推理上下文集合进行重要性推理的第二推理模型;

所述根据所述推理计划和预先配置的用于所述推理规则的上下文推理算法对所述被推理上下文集合进行分布式推理,生成所述推理计划的推理结果,包括:

使用所述第二推理模型对通信上下文进行通信重要性分布式推理,得到通信上下文中两用户之间的通信重要性信息;

使用所述第二推理模型对用户上下文进行职位重要性分布式推理,得到所述用户上下文中的用户之间的职位重要性信息;

根据所述推理计划和预先配置的用于所述推理规则的上下文推理算法对所述得到的通信重要性信息和职位重要性信息进行分布式推理,生成通信重要性和职位重要性满足所述推理规则的用户对的重要关系信息,所述用户对的重要关系信息用于表示该用户对中两个用户存在重要关系。

结合第一方面或者在第一方面的第一种可能的实现方式,在第一方面的第四种可能的实现方式中,所述方法还包括:

获取用户会议状态信息和用户对的重要关系信息,其中,所述用户对的重要关系信息用于表示该用户对中两个用户存在重要关系;

所述根据所述推理计划和预先配置的用于所述推理规则的上下文推理算法对所述被推理上下文集合进行分布式推理,生成所述推理计划的推理结果,包括:

根据所述用户会议状态信息和用户对的重要关系信息,根据所述推理计划和预先配置的用于所述推理规则的上下文推理算法对被推理上下文集合进行分布式推理,输出各被推理上下文中用户的存在重要关系且正在开会的用户;和/或

根据所述用户会议状态信息和用户对的重要关系信息,根据所述推理计划和预先配置的用于所述推理规则的上下文推理算法对被推理上下文集合进行分布式推理,输出被推理上下文集合中用户参与会议的会议室信息;和/或

根据所述用户会议状态信息和用户对的重要关系信息,根据所述推理计划和预先配置的用于所述推理规则的上下文推理算法对被推理上下文集合进行分布式推理,得到正在开会的用户的来电用户是否为该正在开会的用户的重要用户,若是,输出用于表示所述来电用户为所述正在开会的用户的重要用户的提示信息。

第二方面,本发明提供一种上下文分布式推理装置,包括:建模单元、第一获取单元、解析单元和推理单元,其中:

所述建模单元,用于从多个计算节点获取大量的且多种类的上下文数据,并对获取的上下文数据进行建模处理,得到被推理上下文集合,其中,所述被推理上下文集合中各种上下文的表示形式统一,所述大量是指上下文数据的规模达到特定数据量;

所述第一获取单元,用于获取用于对所述被推理上下文集合进行分布式推理的推理规则;

所述解析单元,用于对所述推理规则进行解析,生成所述推理规则的推理计划;

所述推理单元,用于根据所述推理计划和预先配置的用于所述推理规则的上下文推理算法对所述被推理上下文集合进行分布式推理,生成所述推理计划的推理结果。

在第二方面的第一种可能的实现方式中,所述建模单元用于对获取的上下文数据进行建模处理,得到包括标志、属性内容和发生时间的被推理上下文集合。

结合第二方面或者第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述被推理上下文集合包括用户上下文和会议上下文:

所述装置还包括:

第二获取单元,用于获取用于对所述被推理上下文集合进行条件分布式推理的第一推理模型,所述第一推理模型包括两个推理条件;

所述推理单元包括:

第一推理子单元,用于使用所述第一推理模型对所述被推理上下文集合进行条件分布式推理,得到满足所述第一推理模型包括的推理条件的上下文信息,其中,所述上下文信息用于表示参与会议的用户;

第二推理子单元,用于根据所述推理计划和预先配置的用于所述推理规则的上下文推理算法对所述参与会议的用户对应的被推理上下文集合进行推理,生成符合所述推理规则的用户的会议状态信息。

结合第二方面或者第二方面的第一种可能的实现方式,在第二方面的第三种可能的实现方式中,所述被推理上下文集合包括用户上下文和通信上下文;

所述装置还包括:

第三获取单元,用于获取用于对所述被推理上下文集合进行重要性推理的第二推理模型;

所述推理单元包括:

第三推理子单元,用于使用所述第二推理模型对通信上下文进行通信重要性分布式推理,得到通信上下文中两用户之间的通信重要性信息;

第四推理子单元,用于使用所述第二推理模型对用户上下文进行职位重要性分布式推理,得到所述用户上下文中的用户之间的职位重要性信息;

第五推理子单元,用于根据所述推理计划和预先配置的用于所述推理规则的上下文推理算法对得到的通信重要性信息和职位重要性信息进行分布式推理,生成通信重要性和职位重要性满足所述推理规则的用户对的重要关系信息,所述用户对的重要关系信息用于表示该用户对中两个用户存在重要关系。

结合第二方面或者第二方面的第一种可能的实现方式,在第二方面的第四种可能的实现方式中,所述装置还包括:

第四获取单元,用于获取用户会议状态信息和用户对的重要关系信息,其中,所述用户对的重要关系信息用于表示该用户对中两个用户存在重要关系;

所述推理单元用于根据所述用户会议状态信息和用户对的重要关系信息,根据所述推理计划和预先配置的用于所述推理规则的上下文推理算法对被推理上下文集合进行分布式推理,输出各被推理上下文中用户的存在重要关系且正在开会的用户;和/或

所述推理单元用于根据所述用户会议状态信息和用户对的重要关系信息,根据所述推理计划和预先配置的用于所述推理规则的上下文推理算法对被推理上下文集合进行分布式推理,输出被推理上下文集合中用户参与会议的会议室信息;和/或

所述推理单元用于根据所述用户会议状态信息和用户对的重要关系信息,根据所述推理计划和预先配置的用于所述推理规则的上下文推理算法对被推理上下文集合进行分布式推理,得到正在开会的用户的来电用户是否为该正在开会的用户的重要用户,若是,输出用于表示所述来电用户为所述正在开会的用户的重要用户的提示信息。

上述技术方案中,从多个计算节点获取大量的且多种类的上下文数据,并对获取的上下文数据进行建模处理,得到被推理上下文集合,其中,所述被推理上下文集合中各种上下文的表示形式统一,其中,所述大量是指上下文数据的规模达到特定数据量;获取用于对所述被推理上下文集合进行分布式推理的推理规则;对所述推理规则进行解析,生成所述推理规则的推理计划;根据所述推理计划和预先配置的用于所述推理规则的上下文推理算法对所述被推理上下文集合进行分布式推理,生成所述推理计划的推理结果。这样可以实现对多个计算节点的大量上下文数据进行分布式推理,相比现有技术的单机环境下进行上下文推理。本发明可以提高上下文推理效率。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供一种上下文分布式推理方法的流程示意图;

图2是本发明实施例提供另一种上下文分布式推理方法的流程示意图;

图3是本发明实施例提供一种上下文分布式推理装置的结构示意图;

图4是本发明实施例提供另一种上下文分布式推理装置的结构示意图;

图5是本发明实施例提供另一种上下文分布式推理装置的结构示意图;

图6是本发明实施例提供另一种上下文分布式推理装置的结构示意图;

图7是本发明实施例提供另一种上下文分布式推理装置的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参阅图1图,图1是本发明实施例提供一种上下文分布式推理方法的流程示意图,如图1所示,包括以下步骤:

101、从多个计算节点获取大量的且多种类的上下文数据,并对获取的上下文数据进行建模处理,得到被推理上下文集合,其中,所述推理上下文集合中各种上下文的表示形式统一,所述大量是指上下文数据的规模达到特定数据量。

上述计算节点可以任意存储有上下文数据的设备或者装置。例如:计算节点上存储用户数据集,或者计算节点上存储有会议数据集,其中,用户数据集可以包括用户数据,例如:用户基本信息(例如:性别、职业、年龄、文化程度、专业知识等信息)、用户生活信息(例如:偏好信息)或者用户行为信息(例如:用户电话、短信通信记录等信息)等;会议数据集可以包括会议室标识、会议开始时间和结束时间等信息。

另外,上述获取的可以是多种上下文数据,例如:可以从不同的计算节点上获取不同的上下文数据。上述建模处理可以是将获取的上下文数据整理成统一规则或者表示形式的元数组。上述大量可以是指上下文数据的规模为TB级数量,其中,1024B=1KB,1024KB=1MB,1024MB=1GB,1024GB=1TB。

102、获取用于对所述被推理上下文集合进行分布式推理的推理规则。

上述推理规则可以接收用户输入的推理规则,或者设备自动生成的推理规则。

103、对所述推理规则进行解析,生成所述推理规则的推理计划。

上述对推理规则进行解析可以理解为对该推理规则进行分析,以获取该推理规则的推理内容。另外,上述推理计划可以理解为上述推理规则进行推理时推理目的。

104、根据所述推理计划和预先配置的用于所述推理规则的上下文推理算法对所述被推理上下文集合进行分布式推理,生成所述推理计划的推理结果。

上述根据所述推理计划和预先配置的用于所述推理规则的上下文推理算法对所述被推理上下文集合进行分布式推理可以是在上述被推理上下文集合中推理满足该推理规则的用户信息,例如:推理出参与会议的用户的状态信息,或者推理出用户与用户之间的重要关系信息等。另外,上述上下文推理算法可以用于不同的推理规则,当然,针对不同的推理规则该推理算法执行的步骤是不同的。该推理算法是对被推理上下文集合进行分布式推理,以得到满足上述推理计划的推理结果。

可选的,上述方法可以是基于分布式文件系统实现的,即上述方法可以于包括分布式文件系统的任意设备,其中,上述分布式文件系统可以是Hadoop分布式文件系统(HadoopDistributeFileSystem,HDFS)。

本实施例中,从多个计算节点获取大量的且多种类的上下文数据,并对获取的上下文数据进行建模处理,得到包括被推理上下文集合,其中,所述被推理上下文集合中各种上下文的表示形式统一,所述大量是指上下文数据的规模达到特定数据量;获取用于对所述被推理上下文集合进行分布式推理的推理规则;对所述推理规则进行解析,生成所述推理规则的推理计划;根据所述推理计划和预先配置的用于所述推理规则的上下文推理算法对所述被推理上下文集合进行分布式推理,生成所述推理计划的推理结果。这样可以实现对多个计算节点的大量上下文数据进行分布式推理,相比现有技术的单机环境下进行上下文推理本实施例可以提高上下文推理效率。

请参阅图2,图2是本发明实施例提供另一种上下文分布式推理方法的流程示意图,如图2所示,包括以下步骤:

201、从多个计算节点获取大量的且多种类的上下文数据,并对获取的上下文数据进行建模处理,得到包括被推理上下文集合,其中,所述被推理上下文集合中每个被推理上下文都包括标志、属性内容和发生时间。

可选的,上述被推理上下文可以用于如下三元组表示:

context(={cid;body;time}

其中,context表示被推理上下文,cid为被推理上下文的标识(例如:id),该标志是唯一的,可以识别不同的上下文,body为被推理上下文本身所包含的属性内容,time为被推理上下文的发生时间。

可选的,用户上下文可以采用格式进行描述:

用户上下文contextU={userid;{username,phone,position,location};time}

userid为用户id,body={username,phone,position,location},其中,username、phone、position和location分别为用户姓名、电话、职位以及所处位置,time为该用户处在该位置时的开始时间。

例如:下面一条用户上下文实例:

user0user_name017958143769fellowoutdoor2014-05-1315:09:13

分别对应于上述用户上下文的各个字段,其中,fellow表示研究员,outdoor表示在室外。

可选的,会议上下文可以采用格式进行描述:

会议上下文contextM={meetingid;{endtime,place};startime}

meetingidwei为会议id,body={endtime,place},startime、endtime和place分别为会议开始时间、结束时间和开会地点。

例如:下面一条会议上下文实例:

meeting12014-05-1310:00:002014-05-1311:00:00meetingRoom1

meetingi对应于meetingid,2014-05-1310:00:00对应于strtime,2014-05-1311:00:00对应于body部分的endtime,meetingRoom1对应于body部分的place字段。

可选的,通信上下文可以采用格式进行描述:

通信上下文contextC={cid;{phonei,contact,description,duration};time}

cid为通信记录id,body={phonei,contact,description,duration},phonei、contact、description、time和duration分别为phonei和contact的电话的联系时间以及电话的持续时长,或者phonei、contact、description、time和duration分别为phonei和contact的短信的联系时间,其中,短信持续时长为空。Phonei可以表示电话号码i,contact表示与电话号码i联系的电话号码。

例如:下面两条通信上下文实例:

1:15747699284146922588702014-02-5000:22:44短信NULL

2:15147692225146922558472014-01-3721:43:21通话236

记录1中的第一个字段对应于cid,为通信上下文的id,15747699284和14692258870分别对应于body部分的phonei和contact,2014-02-5000:22:44对应于time,短信对应于description,null对应于duration,短信的通信时长为空,如果为电话,其description内容为通话,同样的,记录2中的字段236为通话时长。

可选的,邮件上下文可以采用格式进行描述:

contextE={eid;{email,contact,title,content};time}

其中eid邮件通信记录id,body={email,contact,title,content},email,contact、title和content分别为邮件发送人email和接收者contact、邮件主题title,邮件内容,time为邮件发送时间。

202、获取用于对所述被推理上下文集合进行分布式推理的推理规则。

203、对所述推理规则进行解析,生成所述推理规则的推理计划。

204、根据所述推理计划和预先配置的用于所述推理规则的上下文推理算法对所述被推理上下文集合进行分布式推理,生成所述推理计划的推理结果。

作为一种可选的实施方式,上述被推理上下文可以包括用户上下文和会议上下文。上述方法还可以包括如下步骤:

获取用于对所述被推理上下文集合进行条件推理的第一推理模型,所述第一推理模型包括两个推理条件;

步骤204可以包括:

使用所述第一推理模型对所述被推理上下文集合进行条件分布式推理,得到满足所述第一推理模型包括的推理条件的上下文信息,其中,所述上下文信息用于表示参与会议的用户;

根据所述推理计划和预先配置的用于所述推理规则的上下文推理算法对所述参与会议的用户对应的被推理上下文集合进行分布式推理,生成符合所述推理规则的用户的会议状态信息。

其中,上述参与会议的用户可以是当前正在开会的用户,或者在某一时间正在开会的用户。

可选的,上述第一推理模型可以包括如下一项或者多项:

早到的开会用户、准时到达的开会用户和迟到的开会用户。

例如:上述第一推理模型可以通过如下公式描述:

其中,上述contextU.location=contextM.place表示用户上下文U的用户所处的位置为会议上下文中会议室;

其中,条件1为contextM.strtime-contextU.time∈[0,60),contextM.strtime表示全文上下文M的开会时间,contextU.time表示用户上下文的进入会议室的时间,即上述contextM.strtime-contextU.time∈[0,60)可以表示早到会议室60分钟以内的用户;

其中,条件2为contextM.endtime-contextU.time∈(0,会议持续时间],contextM.endtime表示全文上下文M的会议结束时间,contextM.endtime-contextU.time∈(0,会议持续时间]表示迟到用户和按时进入会议室的用户;

条件3为contextM.strtime-contextU.time∈[0,60)&&contextM.endtime-contextU.time∈(0,会议持续时间),表示上述条件1和条件2的并集。

这样上述模型就可以以用户上下文、会议上下文为输入,对上下文进行分布式处理,输出同时满足contextU.location=contextM.place表和条件1(或2或3)的上下文信息。

例如,针对上述第一模型输入:

用户上下文:

user2user_name214036921444fellowoffice2014-05-1309:37:07

user3user_name314625881103fellowmeeting_room82014-05-1310:50:42

user9user_name915147692225fellowmeeting_room132014-05-1309:45:21

user10user_name1018706699281fellowoffice2014-05-1310:08:56

user11user_name1118069981103fellowmeeting_room202014-05-1310:06:00

user12user_name1216814476992leadermeeting_room272014-05-1309:14:15

user13user_name1313581147739leaderoffice2014-05-1310:15:50

输入会议上下文:

meeting82014-05-1310:00:002014-05-1311:00:00meetingRoom8

meeting132014-05-1310:00:002014-05-1311:00:00meetingRoom13

meeting202014-05-1309:00:002014-05-1310:00:00meetingRoom20

meeting272014-05-1309:00:002014-05-1311:00:00meetingRoom27

则由第一模型一对用户上下文和会以上下文进行处理后,得到的推理上下文信息为:

user3isinmeeting8

user9isinmeeting13

user12isinmeeting27

其中,user3isinmeeting8表示用户3在会议室8开会,user9isinmeeting13表示用户9在会议室13开会,user12isinmeeting27表示用户12在会议室27开会。

推理上下文信息的分析可以如下:

user3进入meetingroom8的时间在meeting8的开始时间和结束之间之内,是开会用户。

user9进入meetingroom13的时间在meeting13的开始时间之前,如果当前时间为2014-05-1310:10:00,则可得出user9提前15分钟进入会议室开会,是用户。

user11进入meetingroom20的时间比会议结束时间还晚,当前未见该会议室有会议,因此该用户不属于开会用户。

user12进入meetingroom27的时间在meeting27的开始时间和结束时间之内,属于开会用户。

但上述用户是迟到用户、早到用户还是准时开会用户,以及早到多少时间之内进入会议室、迟到多久进入会议室之内,需要根据推理规则确定。

另外,上述推理规则可以包括如下任意一项:

1、strtime-time,a,其中,a为整型变量,取值范围为[0,60),strtime-time表示会议上下文的会议开始时间减去用户上下文中用户进入会议室的时间;

2、endtime-time,b,其中,b为整型变量,取值范围为(0,120],endtime-time表示会议上下文的会议结束时间减去用户上下文中用户进入会议室的时间。因为会议持续时间有的是60分钟,有的是120分钟,所以如果b取(0,60],会得到两种会议的用户,b取值越小,推理得到的正在开会的用户越多。如果b取值在(60,120],则只能得到参加会议时间为120分钟的会议用户。

3、strtime-time,a,endtime-time,b,其中,变量a,b的取值范围同上,即推理规则3为上述推理规则1和推理规则2的并集。

该实施方式中,上述不同的推理规则的推理计划也是不同的,例如:若是上述推理规则1,则推理计划为推理得到早到的用户,即用户进入会议室的时间比会议开始时间早。另外,a取值越大,得到的正在开会的用户越多。

若是上述推理规则2,则推理计划为推理得到迟到的开会用户和按时进入会议室的开会用户,即用户进入会议室的时间比开始时间晚或者相同,但比会议结束时间早。

若是上述推理规则3,则推理计划为推理得到早到、迟到和按照进入会议室的正在开会的用户,即上述两种情况的并集,在和前两种规则取相同参数的情况下。

该实施方式可以实现以用户上下文、会议上下文和推理规则作为输入,其中,用户上下文、会议上下文是上述第一推理模型的输入,第一推理模型是两个条件的组合,其条件的描述和表示和上下文数据中信息有关,使用所述推理规则对所述参与会议的用户对应的被推理上下文进行推理是对输入数据进行处理,该推理的输出为某一时刻正在开会的用户。

例如:该实施方式中,根据所述推理计划和预先配置的用于所述推理规则的上下文推理算法对所述参与会议的用户对应的被推理上下文集合进行分布式推理可以包括:

步骤1)、将所述参与会议的用户对应的用户上下文中的location字段和会议上下文中的place字段为对应,将两表进行连接。

步骤2)、对步骤1)的输出,计算time,strtime,endtime三个字段的差值(strtime-time,endtime-time,endtime-strtime)并将其结果添加至步骤1)的输出中。

步骤3)、获取上述推理规则的解析结果,生成符合所述推理规则的用户的会议状态信息。

例如:若步骤202获取的推理规则为单条,并且规则头部内容为strtime-time,输入参数a∈[0,60),若会议开始时间和用户进入会议室的时间差值∈[0,a),则可以输出userid+meetingid(准时和比会议开始时间早a分钟之内进入会议室的正在开会用户)。

若步骤202获取的推理规则为单条,并且规则头部内容为endtime-time,输入参数b∈(0,会议持续时间),若会议结束时间和用户进入会议室的时间差值∈(b,会议持续时间),则可以输出userid+meetingid(迟到用户,即用户进入会议室时间比会议开始时间要晚)。

若步骤202获取的推理规则为两条(规则无顺序要求),并且规则1头部内容为strtime-endtime,输入参数a∈[0,60),并且规则2头部内容为endtime-time,输入参数b∈(0,会议持续时间),若会议开始时间和用户进入会议室的时间差值∈[0,a)或会议开始时间和用户进入会议室的时间差值小于0并且会议结束时间和用户进入会议室的时间差值∈(b,会议持续时间),则可以输出userid+meetingid(准时开会用户、早到用户和迟到用户)

例如;输入用户上下文:

user17user_name1716814477062fellowoffice2014-05-1309:55:54

user18user_name1816847700325fellowmeeting_room292014-05-1309:10:37

user19user_name1910281103325fellowmeeting_room202014-05-1309:33:24

user20user_name2010958870392fellowmeeting_room12014-05-1309:18:48

user21user_name2117925477092fellowmeeting_room112014-05-1309:02:43

会议上下文:

meeting12014-05-1310:00:002014-05-1311:00:00meetingRoom1

meeting112014-05-1310:00:002014-05-1312:00:00meetingRoom11

meeting202014-05-1309:00:002014-05-1310:00:00meetingRoom20

meeting292014-05-1310:00:002014-05-1311:00:00meetingRoom29

使用所述第一推理模型对上述用户上下文和会议上下文进行条件推理

user18isinmeeting29

user19isinmeeting20

user20isinmeeting1

user21isinmeeting11

若上述推理规则为:strtime-time,59

使用所述推理规则对所述参与会议的用户对应的被推理上下文进行推理,生成符合所述推理规则的用户的会议状态信息如下:

user18isinmeeting29

user20isinmeeting1

user21isinmeeting11

从而可以使用上述strtime-time,59的推理规则,输出结果为早到59分钟以内的开会用户。

若上述推理规则为:strtime-time,45

使用所述推理规则对所述参与会议的用户对应的被推理上下文进行推理,生成符合所述推理规则的用户的会议状态信息如下:

user20isinmeeting1

从而可以使用上述strtime-time,45的推理规则,输出结果为早到45分钟以内的开会用户。

若上述推理规则为:endtime-time,60

使用所述推理规则对所述参与会议的用户对应的被推理上下文进行推理,生成符合所述推理规则的用户的会议状态信息如下:

user19isinmeeting20

从而可以使用上述endtime-time,60的推理规则,输出结果为迟到的开会用户。

若上述推理规则为:strtime-time,59,endtime-time,10

使用所述推理规则对所述参与会议的用户对应的被推理上下文进行推理,生成符合所述推理规则的用户的会议状态信息如下:

user18isinmeeting29

user19isinmeeting20

user20isinmeeting1

user21isinmeeting11

该实施方式中:以用户上下文、会议上下文、推理规则为输入,根据第一推理模型和推理规则进行分布式推理,输出某一时刻用户的状态。推理规则有3种,推理规则不同时,输出的结果也不同;对应于同一条推理结果,参数不同时,得到的推理结果也不同。

作为一种可选的实施方式,上述被推理上下文集合可以包括用户上下文和通信上下文。上述方法还可以包括如下步骤:

获取用于对所述被推理上下文集合进行重要性推理的第二推理模型;

步骤204可以包括:

使用所述第二推理模型对通信上下文进行通信重要性推理,得到通信上下文中两用户之间的通信重要性信息;

使用所述第二推理模型对用户上下文进行职位重要性推理,得到所述用户上下文中的用户之间的职位重要性信息;

根据所述推理计划和预先配置的用于所述推理规则的上下文推理算法对所述得到的通信重要性信息和职位重要性信息进行分布式推理,生成通信重要性和职位重要性满足所述推理规则的用户对的重要关系信息,所述用户对的重要关系信息用于表示该用户对中两个用户存在重要关系。

需要说明的是,上述用户对的重要关系信息可以理解为,该用户对中一个用户是另一个用户的重要用户,但彼此并不互为重要用户,例如:用户对包括用户i和用户j,当上述用户对的重要关系信息可以表示用户i是用户j的重要用户,但用户j并不一定是用户i的重要用户。

可选的,上述第二推理模型可以通过如下公式描述:

其中,上述phonei表示用户i,phonej表示用户j,通过上述第二推理模型就可以得到通信用户之间的重要性,以及用户职位重要性。

其中,上述用户通信重要性connimportance(phonei,phonej)在分布式推理通信重要性的时候,提出一种对不同的上下文赋予不同的权重参数以及采用边际效用理论对上下文取值结果进行映射的方法,该方法包含在上述第二推理模型中的用户通信重要性connimportance(phonei,phonej)中。

上下文赋予不同的权重参数方法可以包括如下三个步骤:

1、设置不同权重参数。

通信上下文又可分为电话上下文和短信上下文,即

contextC={cid;{phonei,contact,tel,duration};time}

contextC={cid;{phonei,contact,sm,0};time}

例如:下面两条电话上下文和短信上下文实例:

2518069981103175811477692014-03-3812:59:27短信NULL

2616141417406162487003252013-12-3816:08:15通话509

同样地,记录25中的第一个字段”25”对应于cid,为通信上下文的id,18069981103和17581147769分别对应于body部分的phonei,contact,2014-03-3812:59:27对应于time,短信对应于sm,如果为电话,其内容为tel,null对应于duration,短信的通信时长为0,即null,同样的,记录26中的字段509(分钟)为通话时长。

推理用户之间通信重要性时,本发明主要考虑phonei和phonej的电话通信时长totalphonei,phonej、电话通信次数telnumphonei,phonej、短信通信次数smnumphonei,phonej,根据电话和短信对用户之间通信重要性的影响不同,所以对他们赋予不同的权重参数。其中,电话通信时长totalphonei,phonej可以为电话通信总时长。

2、采用边际效用理论,利用对数函数对电话通信时长、电话通信次数、短信通信次数的结果进行映射。

phonei和phonej之间的通信时长、电话通信次数、短信次数的实际数值可能存在很大或者很小,而不是有规律的分布在一定区间内,如果不采取一些方法对它们进行映射,使其分布在一定范围内,这给进行用户之间重要性度量带来了一定的困难。

考虑到电话通信时长、电话通信次数以及短信次数对用户之间重要性的影响在整体上呈对数分布,即用户之间的重要性不是随着他们之间电话通信次数、电话通信时长和短信次数的增加而线性增加的,而是增大到一定程度之后就趋于缓慢了,这和对数函数的变化类似,

因此参考边际效应理论,我们采用对数函数来对phonei和phonej之间的电话通信时长、电话通信次数、短信次数进行映射,使其实际数值在一定区间内,从而有效提高了推理结果的准确性。

例如:phonei和phonej之间的电话通信次数totalphonei,phonej为2056分钟,电话通信次数telnumphonei,phonej为64,短信通信次数smnumphonei,phonej为128,如果不对他们进行映射,则根据其权重参数进行计算时,因为totalphonei,phonej的值很大,对应的结果也大,使得电话通信次数和短信通信次数的影响降低甚至忽略不计,这和实际情况是不符合的。若用以2为底的对数函数在计算前对其映射后,则telnumphonei,phonej,smnumphonei,phonej分别为20,6,7。

这样有效降低了电话通信时长数值极大时对用户之间通信重要性的影响。毕竟实际生活中用户之间通话时长很大,但电话通信次数和短信次数都很少的话,用户之间的关系并不一定亲密,也有可能是广告推销等,他们不一定是用户的电话重要联系人。

3、计算。

计算公式如下:

>important(phonei,phonej)=a×log2(1+telnumphonei,phonejtelnumphonej)+βlog2(1+smnumphonei,phonejtsmnumphonej)+γlog2(1+totalphonei,phonejttotalphonej)>

a,β,γ分别表示权重参数,并且取值区间都为[0,1],a+β+γ=1。

权重参数取值可以有以下两种原则:

不同上下文同等对待,权重参数相同。因为不同上下文对用户之间通信重要性的影响不同,因此,这种方法不科学。

不同上下文赋予不同的权重参数。考虑到电话通信次数对用户之间通信重要性的影响比短信通信次数和电话通信时长的影响小些,在这里我们分别设则telnumphonei,phonej,totalphonei,phonej,smnumphonei,phonej的权重参数值为0.3,0.4,0.3。

结果分析:通过对电话通信时长、电话次数、短信次数的权重参数相等和权重参数不等两种情况,在数据集上的实验证明,权重参数不同时得到的用户组之间通信重要性数值比相同时大,而且telnumphonei,phonej,totalphonei,phonej,smnumphonei,phonej分别为0.3,0.4,0.3时取得最大值。

例如:输入通信上下文

014692258870146258811032013-02-2818:34:31短信NULL

115747699284146922588702014-02-5000:22:44短信NULL

215147692225146922558472014-01-3721:43:21通话236

则由第二推理模型的条件用户通信重要性connImportance(phonei,phonej)中提出的对不同上下文赋予不同权重和采用对数函数对上下文结果进行映射的方法和计算公式,计算结果为:

14692258870146258811030.35

15747699284146922588700.35

15147692225146922558470.65

其中最后一个字段的数值即为用户之间的通信重要性。但上述来电用户是否为电话重要联系人,还需要由用户输入的推理规则中的参数来确定。具体可见电话重要联系人分布式推理算法。

该实施方式可以通过对不同上下文赋予不同权重参数以及采用边际效用理论用对数函数将其数值进行映射,实验证明当其分为为0.3,0.4,0.3时得到的通信重要性数值最大,这样在相同通信重要性阈值时,得到重要用户会越多,使一些原本可能会重要性阈值过滤到的重要用户也会出现。在一定程度上提到了推理结果的准确性。

其中,上述职位重要性positionImportance(phonei,phonej)的条件如下:

if(phonei.position==leader)

positionImportance(phonei,phonej)=yes

即如果来电用户phonei的职位为leader,则其为phonej的电话重要联系人。需要说明的是,职位重要性是相对的,而不是彼此的,例如:positionImportance(phonei,phonej)=yes表示,用户phonei为用户phonej的电话重要联系人,但不表示用户phonej为用户phonei的电话重要联系人。

例如:用户上下文如下:

user94user_name9415747699284fellowmeeting_room5012014-05-1310:15:26

user9user_name915147692225leaderoffice2014-05-1309:55:23

user97user_name9714692258870fellowoffice2014-05-1308:58:31

则上述第二推理模型的职位重要性positionImportance(phonei,phonej)对用户职位重要性进行分布式推理,结果为:

1514769222514692255847yes

即由用户上下文中用户职位可以得出,当15147692225给任何其他用户来电时,都是他们的电话重要联系人。

针对该实施方式例出的被推理上下文通过上述第二推理模型可以得到如下信息:

14692258870146258811030.35

15747699284146922588700.35

15147692225146922558470.65

15747699284191700336280.3

15147692225phonejyes

对上述第二推理模型以用户上下文和通信上下文为输入进行分布式推理,输出满足其两个条件的并集,其中推理用户之间通信重要性时提出一个对不同上下文赋予不同权重以及利用边际效用理论对上下文原始数值进行映射的方法,该方法在一定程度上提高了推理结果的准确性。

该实施方式中,上述推理规则也可以包括如下任意一项:

1、conn,a,其中,a的取值范围根据通信重要性的取值区间确定,暂定为(0,1]

2、position,b,其中,b为字符串型常量,取值范围为2个,yes/no。

3、conn,a,position,b,其中,a和b取值范围同上。

其中,上述conn表示通信,positiom表示职位。

该实施方式中,上述不同的推理规则的推理计划也是不同的,例如:若是上述推理规则1,则推理计划为推理得到通信重要性用户。

若是上述推理规则2,则推理计划为推理得到职位重要性用户。其中,输入规则是position,yes的时候,输出的结果是根据职位重要性判断得出的重要用户。输入规则是position,no的时候,输出的结果为根据职位重要性判断得到的非重要用户。一般来说,推理职位重要性更有意义。

若是上述推理规则3,则推理计划为推理得到通信重要性用户和职位重要性(非重要)用户,理论上得到的结果为上述两种规则的并集,在输入参数相同的情况下。

该实施方式中可以实现以通信上下文、用户上下文、推理规则作为输入,其中,通信上下文、用户上下文是上述第二推理模型的输入,上述第二推理模型是两个条件的组合,两者满足其一即可。条件1中提出了对不同的上下文赋予不同的权重参数以及采用边际效用理论对上下文结果进行映射的方法来度量通信用户之间的重要性。条件2中描述了用户职位重要性的设定。用户分布式推理算法根据模型二对输入数据进行处理。该推理的输出为用户之间的重要性。

例如:根据所述推理计划和预先配置的用于所述推理规则的上下文推理算法对所述得到的通信重要性信息和职位重要性信息进行分布式推理,生成通信重要性和职位重要性满足所述推理规则的用户对的重要关系信息的步骤可以包括如下步骤:

1、计算通信上下文中phonei,phonej的电话通信次数telnumphonei,phonej、电话通信时长totalphonei,phonej、短信通信次数smphonei,phonej。

2、计算通信上下文中phonej的电话通信次数telnumphonej、电话通信时长totalphonej、短信通信时长smphonej。

3、以上述步骤1中输出的phonej字段和上述步骤2中输出的phonej字段为对应,将两表连接起来。

4、对电话次数、通信时长、短信次数通过如下公式赋予不同的权重参数:

>important(phonei,phonej)=a×log2(1+telnumphonei,phonejtelnumphonej)+βlog2(1+smnumphonei,phonejtsmnumphonej)+γlog2(1+totalphonei,phonejttotalphonej)>

其中,telnumphonei,phonej,smnumphonei,phonej,totalphonei,phonej分别代表phonei和phonej的电话次数、短信次数和电话时长;telnumphonei,phonej,smnumphonei,phonej,totalphonei,phonej分别代表分别表示phonej的电话次数,短信次数,电话时长。a,β,γ分别表示权重参数,并且取值区间都为[0,1],a+β+γ=1。若important(phonei,phonej)>阈值则phonei为phonej的通信重要联系人。可由用户设定,即为推理规则中输入的参数a。

5、以用户上下文的phonei字段和通信上下文的phonei字段为对应,将两表连接。

6、对上述步骤5的输出中,若phonei的position为leader,则phonei为phonej的职位重要联系人。否则为非重要联系人。

7、以上述步骤4和步骤6的输出中phonei和phonej为对应,将两表连接。

8、获取上述推理规则的解析结果,生成通信重要性和职位重要性满足所述推理规则的用户对的重要关系信息。

例如:若上述推理规则为单条,并且规则头部内容为conn,输入参数a∈(0,0.1),若phonei对phonej的重要性w>=a,则可以输出phoneiphonejconnyes(通信重要性用户)

若上述推理规则为单条,并且规则头部内容为position,参数b取值为yes/no,若根据上述第二推理模型输出结果的中最后一个字段的内容和输入规则中的参数相同,则可以输出phoneiphonejpositionyes/no(职位重要/非重要性用户)

若上述推理规则为两条(规则无顺序要求),并且规则1头部内容为conn,输入参数a∈(0,0.1),且规则2头部内容为endtime-time,输入参数b为yes/no,若phonei对phonej的重要性w>=a,则可以输出phoneiphonejconnyes(通信重要性用户);根据上述第二推理模型输出结果的最后一个字段的内容和输入规则中的参数相同,可以输出phoneiphonejpositionyes/no(职位重要/非重要性用户)。

例如:用户上下文:

user94user_name9415747699284fellowmeeting_room5012014-05-1310:15:26

user9user_name915147692225leaderoffice2014-05-1309:55:23

user97user_name9714692258870fellowoffice2014-05-13

通信上下文:

014692258870146258811032013-02-2818:34:31短信NULL

115747699284146922588702014-02-5000:22:44短信NULL

215147692225146922558472014-01-3721:43:21通话236

根据第二推理模型得到用户之间通信重要性信息和职位重要性信息:

14692258870146258811030.35

15747699284146922588700.35

15147692225146922558470.65

1514769222514692255847yes

若上述推理规则为conn,0.7,使用所述推理规则所述得到的通信重要性信息和职位重要性信息进行推理,则可以生成如下通信重要性和职位重要性满足所述推理规则的用户对的重要关系信息:

1514769222514692255847yes

其中0.7即为参数a的具体取值,它对于通信重要性阈值a的取值不同,对应的结果也不同。

虽然15147692225和14692255847之间的通信重要性为0.65<0.7,但15147692225是14692255847的职位重要性用户。因此15147692225是14692255847的电话重要联系人。

若上述推理规则为conn,0.3,使用所述推理规则所述得到的通信重要性信息和职位重要性信息进行推理,则可以生成如下通信重要性和职位重要性满足所述推理规则的用户对的重要关系信息:

1469225887014625881103yes

1574769928414692258870yes

1514769222514692255847yes

若上述推理规则为:position,yes,使用所述推理规则所述得到的通信重要性信息和职位重要性信息进行推理,则可以生成如下通信重要性和职位重要性满足所述推理规则的用户对的重要关系信息:

1514769222514692255847yes

15147692225的职位为leader,符合上述第二推理模型的职位重要性positionImportance(phonei,phonej)条件的要求。

若上述推理规则为:conn,0.3,position,yes;使用所述推理规则所述得到的通信重要性信息和职位重要性信息进行推理,则可以生成如下通信重要性和职位重要性满足所述推理规则的用户对的重要关系信息:

1469225887014625881103yes

1574769928414692258870yes

1514769222514692255847yes

该实施方式中,以用户上下文、通信上下文、推理规则为输入,根据第二推理模型和推理规则进行分布式推理,输出电话重要联系人。推理规则有3种,推理规则不同,输出的结果也不同,对应于同一条推理规则,参数不同,得到的推理结果也不同。

作为一种可选的实施方式,所述方法还可以包括如下步骤:

获取用户会议状态信息和用户对的重要关系信息,其中,所述用户对的重要关系信息用于表示该用户对中两个用户存在重要关系。

步骤204可以,包括:

根据所述用户会议状态信息和用户对的重要关系信息,根据所述推理计划和预先配置的用于所述推理规则的上下文推理算法对被推理上下文集合进行分布式推理,输出被推理上下文集合中用户的存在重要关系且正在开会的用户;和/或

根据所述用户会议状态信息和用户对的重要关系信息,根据所述推理计划和预先配置的用于所述推理规则的上下文推理算法对被推理上下文集合进行分布式推理,输出各被推理上下文中用户参与会议的会议室信息;和/或

根据所述用户会议状态信息和用户对的重要关系信息,根据所述推理计划和预先配置的用于所述推理规则的上下文推理算法对被推理上下文集合进行分布式推理,得到正在开会的用户的来电用户是否为该正在开会的用户的重要用户,若是,输出用于表示所述来电用户为所述正在开会的用户的重要用户的提示信息。

其中,上述和/或表示步骤204可以包括上述三个步骤中的任意一个或者多个步骤,另外,对于不同的推理结果使用的推理规则也是不同,其中,推理输出被推理上下文集合中用户的存在重要关系且正在开会的用户时,使用的可以是第一推理规则;推理输出被推理上下文集合中用户参与会议的会议室信息时,使用的可以是第二推理规则;推理得到正在开会的用户的来电用户是否为该正在开会的用户的重要用户时,使用的可以是第三推理规则。

即步骤204中的推理规则可以包括如下任意一项或者多项:

第一推理规则、第二推理规则和第三推理规则。

其中,上述用户会议状态信息和用户对的重要关系信息可以通过上面介绍的两种实施方式获取得到,即上述方法还包括如下步骤:

获取用于对所述被推理上下文集合进行条件推理的第一推理模型,所述第一推理模型包括两个推理条件;

使用所述第一推理模型对所述被推理上下文集合进行条件分布式推理,得到满足所述第一推理模型包括的推理条件的上下文信息,其中,所述上下文信息用于表示参与会议的用户;

根据所述推理计划和预先配置的用于所述推理规则的上下文推理算法对所述参与会议的用户对应的上下文信息进行分布式推理,生成符合所述推理规则的用户的会议状态信息。

以及还可以包括:

获取用于对所述被推理上下文集合进行重要性推理的第二推理模型;

使用所述第二推理模型对通信上下文进行通信重要性分布式推理,得到通信上下文中两用户之间的通信重要性信息;

使用所述第二推理模型对用户上下文进行职位重要性分布式推理,得到所述用户上下文中的用户之间的职位重要性信息;

根据所述推理计划和预先配置的用于所述推理规则的上下文推理算法对所述得到的通信重要性信息和职位重要性信息进行分布式推理,生成通信重要性和职位重要性满足所述推理规则的用户对的重要关系信息,所述用户对的重要关系信息用于表示该用户对中两个用户存在重要关系。

可选的,对于上述第一推理规则,上述输出各被推理上下文中用户的存在重要关系且正在开会的用户可以理解为,输出重要用户包括第一推理规则中的目标用户,且为正在开会的用户。例如:第一推理规则中的用户为用户i,且用户i为用户j、用户t和用户w的重要用户,这样当进行推理时,用户j正在开会,这样通过该第一推理规则就可以推理出用户j,虽然,用户i也为用户t和用户w的重要用户,但这两个用户当前没有开会。

可选的,上述输出各被推理上下文中用户参与会议的会议室信息可以理解为,输出正在开会的用户的会议室标识。

该实施方式中,可选的,还可以包括如下步骤:

当正在开会的用户接收来电用户的呼叫时,判断所述来电用户是否为该正在开会的用户的重要用户,若是,则向该正在开会的用户发送消息提醒,以提醒来电用户正在呼叫该来电用户。

若判断所述来电用户不是该正在开会的用户的重要用户时,可以向所述来电用户发送该正在开会的用户当前正在开会;或者若判断所述来电用户不是该正在开会的用户的重要用户时,禁止所述来电用户呼叫该正在开会的用户。

这样可以实现当某来电用户呼叫正在开会的用户时,只有该来电用户为该正在开会的用户的重要用户,才向该正在开会的用户的进行提醒,否则,不提醒。

该实施方式,上述第一推理规则可以包括:

calling,useri/phonei

其中,useri/phonei分别为用户useri的用户标识(userid)和电话标识(phone),两者只需输入一种,其取值范围为用户数据集中的userid和其对应的phonei,上述calling为电话。

上述第二推理规则可以包括:

meeting,userj/phonj

其中,userj/phonej分别为用户userj的id和phone,两者只需输入一种,其取值范围为用户数据集中的userid和其对应的phonej,上述meeting为会议。

上述第三推理规则可以包括:

calling,useri/phonei

meeting,userj/phonej

其中,useri/phonei和userj/phonej的取值范围同上。

若为推理规则为上述第一推理规则,则推理计划可以为推理得到以useri为重要电话联系人的正在开会的用户,若无,则返回无信息(例如:noinformation)的提示。

若为推理规则为上述第二推理规则,则推理计划可以为推理得到用户userj是否在开会,若是则返回其开会的会议id,若否,则返回无信息(例如:noinformation)的提示。

若为推理规则为上述第三推理规则,则推理计划可以为推理得到来电用户useri是否为正在开会用户userj的重要电话联系人,若是,则可以返用户i是用户j的重要联系人(例如:useriisuserjimportantcontact),若否,则返回无信息(例如:noinformation)的提示。

该实施方式中,以用户上下文、通信上下文、会议上下文和推理规则作为输入,输出相应的用户提醒。

例如:在步骤204可以包括如下步骤:

1、以用户上下文中的phone字段和电话重要联系人分布式推理算法的输出中的phonei字段为对应,将两者进行连接;

2、以该步骤1中输出的phonej字段和用户上下文中的phone字段为对应,将两表进行连接。

3、以步骤2中的输出的userj字段和推理规则中的userid字段为对应,将两表进行连接。

4、获取上述推理规则的解析结果,生成所述推理计划的推理结果。

例如:若上述推理规则为单条,且规则头部内容为calling,输入参数useri(phonei)和reduce3函数的输出中的第一个字段(第二个字段)相同,则可以输出useri+phonei+phonej+conn+position+userj。

若上述推理规则为单条,并且规则头部内容为meeting,输入参数useri(phonei)和reduce3函数的输出中的第3个字段(第6个字段)相同,则可以输出phonej+userj+meetingid。

若上述推理规则为两条(规则无顺序要求),并且规则1头部内容为calling,输入参数useri(phonei)和reduce3函数的输出中的第一个字段(第二个字段)相同。

并且规则2头部内容为meeting,输入参数useri(phonei)和reduce3函数的输出中的第3个字段(第6个字段)相同,则可以输出用户i是用户j的重要联系人(useriisuserjimportantcantact),或者用户i是用户j的重要联系人(useriisnotuserjimportantcantact)。

例如:获取的用户会议状态信息如下:

user19isinmeeting20

user21isinmeeting11

获取的用户对的重要关系信息如下:

1028114473610281103325yes

1758114776917925477092yes

用户上下文如下:

user33user_name3310281144736leaderoffice2014-05-1310:20:55

user34user_name3417581147769fellowoffice2014-05-1312:19:31

user19user_name1910281103325leadermeeting_room202014-05-1309:07:56

user21user_name2117925477092fellowmeeting_room112014-05-1313:44:58

若推理规则如下:

user33,calling

user19,meeting

这样步骤204得到的可以如下:

来电用户33是用户19的重要联系人(callinguser3310281144736isuser1910281103325importantcontact)

这样可以对正在开会用户user19短信提醒,例如:输出重要联系人用户33正在呼叫,请回答(Importantcontactuser33iscalling,pleaseanswerthephone)!

若推理规则如下:

user78,calling

user19,meeting

这样步骤204得到的可以如下:

正在开会,请等下呼叫(I'minthemeeting,pleasecallmelater)

因为来电用户user78不是正在开会用户user19的电话重要联系人,因此输出上述结果。

若推理规则如下:

user33,calling

这样步骤204得到的可以如下:

用户19正在会议室20开会(user19isinmeeting20)

即得到的结果是以来电用户为重要电话联系人的正在开会用户。

若推理规则如下:

user19,meeting

这样步骤204得到的可以如下:

用户33的信息(例如:user33user_name3310281144736)

即得到的结果是正在开会且为user19的重要联系人的用户信息。

该实施方式中,以用户上下文、会议上下文、通信上下文为输入,根据推理规则、用户会议状态信息和用户对的重要关系信息进行分布式推理,输出对应的结果。推理规则有3种,推理规则不同,推理到的结果也不同,对应于同一条规则,参数不同,得到结果也不同。

需要说明的是,本发明实施例可以提高了企业通信与协作领域大量上下文数据推理效率,节省了推理时间。实验数据如下:

对20000用户,100条会议记录,五百万条通信记录为输入时,在4个节点(一个主机,三个子机)的Hadoop集群中运行时间为678464毫秒,在3个节点的Hadoop集群(一个主机,2个子机)中运行时间为783020毫秒,推理时间明显减少,推理效率显著提高。

对100用户,30条会议数据,15000条通信记录为输入,在3个节点的Hadoop集群(一个主机,2个子机)运行时间比10000用户,100条会议记录,五百万条通信记录为输入时在3个节点的Hadoop集群(一个主机,2个子机)运行时间少。

另外,本发明实施例还可以提高企业通信与协作领域上下文分布式推理的准确率。实验数据如下:

对10000用户,100条会议记录,五百万条通信记录为输入时,在3个节点(一个主机,两个子机)的Hadoop集群中运行。

推理通信重要性时,首先对电话通信次数、电话通信时长、短信通信次数同等对待:

important(phonei,phonej)=telnumphonei,phonej+smnumphonei,phonej+totalphonei,phonej

通过上述实施方式介绍的方法,对电话通信次数、电话通信时长、短信通信次数设置不同的权重参数进行处理。实验证明,后者准确率比前者高5%-10%。

另外,本发明实施例还可以减少企业通信与协作领域大量上下文数据推理时内存占用率。实验数据如下:

100用户,30条会议数据,15000条通信记录为输入,在3个节点(一个主机,两个子机)的Hadoop集群中运行,CPU占用率变化在0-50%范围内,这是因为虽然输入数据量少,但Hadoop集群启动和运行时也要占用一定的资源。

100用户,30条会议数据,15000条通信记录为输入,在4个节点(一个主机,三个子机)的Hadoop集群中运行,CPU占用率和实验(1)相比要少,理由同上。

对10000用户,100条会议记录,五百万条通信记录为输入时,在3个节点(一个主机,两个子机)的Hadoop集群中运行,CPU占用率变化和实验(1)相比要高,因为输入数据量变大,Hadoop集群在启动和处理数据时占用的资源也较多。

10000用户,100条会议记录,五百万条通信记录为输入时,在4个节点(一个主机,两个子机)的Hadoop集群中运行,CPU占用率变化和实验⑶相比要低一些,以为数据量相同的时候,计算节点增加了。

需要说明的是,上述仅以会议场景进行举例说明。另外,本实施例还可应用的领域包括但不限会会议场景,例如:还可以应用于个人业务智能助理场景。例如:该场景中userj在办公,赶时间处理一些紧急工作,不想受到非重要用户电话打扰,useri此时来电,个人业务智能助理启动判断useri是否为userj的电话重要联系人,若是,则对userj输出信息:“Importantcontactuseriiscalling,pleaseanswerthephone!”,若否则自动挂断电话,并对useri发送短信输出:“I'minthemeeting,pleasecallmelater”。或者当userj错过了useri的电话,可以根据useri的重要性给其发送信息提醒:”missingImportant/Unimportantcontactusericalls,pleaseanswer”。

调用本发明的电话重要联系人分布式推理模块,可以将得到的中间结果作为个人智能业务助理进行推理的依据,并对用户提供服务。

本实施例中,在图1所示的实施例的基础上增加了多种可选的实施方式,且都可以实现提高上下文推理的效率。

下面为本发明装置实施例,本发明装置实施例用于执行本发明方法实施例一至二实现的方法,为了便于说明,仅示出了与本发明实施例相关的部分,具体技术细节未揭示的,请参照本发明实施例一和实施例二。

请参阅图3,图3是本发明实施例提供一种上下文分布式推理装置的结构示意图,如图3所示,包括:建模单元31、第一获取单元32、解析单元33和推理单元34,其中:

建模单元31,用于从多个计算节点获取大量的且多种类的上下文数据,并对获取的上下文数据进行建模处理,得到被推理上下文集合,其中,所述推理上下文集合中各种上下文的表示形式统一,所述大量是指上下文数据的规模达到特定数据量。

第一获取单元32,用于获取用于对所述被推理上下文集合进行分布式推理的推理规则。

解析单元33,用于对所述推理规则进行解析,生成所述推理规则的推理计划.

推理单元34,用于根据所述推理计划和预先配置的用于所述推理规则的上下文推理算法对所述被推理上下文集合进行分布式推理,生成所述推理计划的推理结果。

可选的,上述装置可以是基于分布式文件系统实现的,即上述装置可以于包括分布式文件系统的任意设备,其中,上述分布式文件系统可以是Hadoop分布式文件系统(HadoopDistributeFileSystem,HDFS)。

本实施例中,从多个计算节点获取大量的且多种类的上下文数据,并对获取的上下文数据进行建模处理,得到被推理上下文集合,其中,所述被推理上下文集合中各种上下文的表示形式统一,所述大量是指上下文数据的规模达到特定数据量;获取用于对所述被推理上下文集合进行分布式推理的推理规则;对所述推理规则进行解析,生成所述推理规则的推理计划;根据所述推理计划和预先配置的用于所述推理规则的上下文推理算法对所述被推理上下文集合进行分布式推理,生成所述推理计划的推理结果。这样可以实现对多个计算节点的大量上下文数据分布式进行推理,相比现有技术的单机环境下进行上下文推理。本实施例可以提高上下文推理效率。

请参阅图4,图4是本发明实施例提供另一种上下文分布式推理装置的结构示意图,如图4示,包括:建模单元41、第一获取单元42、解析单元43和推理单元44,其中:

建模单元41,用于从多个计算节点获取大量的且多种类的上下文数据,并对获取的上下文数据进行建模处理,得到被推理上下文集合,其中,所述被推理上下文集合中每个被推理上下文都包括标志、属性内容和发生时间。

可选的,上述被推理上下文可以用于如下三元组表示:

context={cid;body;time}

其中,context表示被推理上下文,cid为被推理上下文的标识(例如:id),该标志是唯一的,可以识别不同的上下文,body为被推理上下文本身所包含的属性内容,time为被推理上下文的发生时间。

第一获取单元42,用于获取用于对所述被推理上下文集合进行分布式推理的推理规则。

解析单元43,用于对所述推理规则进行解析,生成所述推理规则的推理计划。

推理单元44,用于根据所述推理计划和预先配置的用于所述推理规则的上下文推理算法对所述被推理上下文集合进行分布式推理,生成所述推理计划的推理结果。

可选的,所述被推理上下文集合可以包括用户上下文和会议上下文:

所述装置还可以包括:

第二获取单元45,用于获取用于对所述被推理上下文集合进行条件推理的第一推理模型,所述第一推理模型包括两个推理条件;

所述推理单元44可以包括:

第一推理子单元441,用于使用所述第一推理模型对所述被推理上下文集合进行条件分布式推理,得到满足所述第一推理模型包括的推理条件的上下文信息,其中,所述上下文信息用于表示参与会议的用户;

第二推理子单元442,用于根据所述推理计划和预先配置的用于所述推理规则的上下文推理算法对所述参与会议的用户对应的上下文进行分布式推理,生成符合所述推理规则的用户的会议状态信息。

可选的,上述第一推理模型可以包括如下一项或者多项:

早到的开会用户、准时到达的开会用户和迟到的开会用户。

例如:上述第一推理模型可以通过如下公式描述:

其中,上述contextU.location=contextM.place表示用户上下文U的用户所处的位置为会议上下文中会议室;

其中,条件1为contextM.strtime-contextU.time∈[0,60),contextM.strtime表示全文上下文M的开会时间,contextU.time表示用户上下文的进入会议室的时间,即上述contextM.strtime-contextU.time∈[0,60)可以表示早到会议室60分钟以内的用户;

其中,条件2为contextM.endtime-contextU.time∈(0,会议持续时间],contextM.endtime表示全文上下文M的会议结束时间,contextM.endtime-contextU.time∈(0,会议持续时间]表示迟到用户和按时进入会议室的用户;

条件3为contextM.strtime-contextU.time∈[0,60)&&contextM.endtime-contextU.time∈(0,会议持续时间),表示上述条件1和条件2的并集。

这样上述模型就可以以用户上下文、会议上下文为输入,对上下文进行分布式处理,输出同时满足contextU.location=contextM.place表和条件1(或2或3)的上下文信息。

另外,上述推理规则可以包括如下任意一项:

1、strtime-time,a,其中,a为整型变量,取值范围为[0,60),strtime-time表示会议上下文的会议开始时间减去用户上下文中用户进入会议室的时间;

2、endtime-time,b,其中,b为整型变量,取值范围为(0,120],endtime-time表示会议上下文的会议结束时间减去用户上下文中用户进入会议室的时间。因为会议持续时间有的是60分钟,有的是120分钟,所以如果b取(0,60],会得到两种会议的用户,b取值越小,推理得到的正在开会的用户越多。如果b取值在(60,120],则只能得到参加会议时间为120分钟的会议用户。

3、strtime-time,a,endtime-time,b,其中,变量a,b的取值范围同上,即推理规则3为上述推理规则1和推理规则2的并集。

该实施方式中,上述不同的推理规则的推理计划也是不同的,例如:若是上述推理规则1,则推理计划为推理得到早到的用户,即用户进入会议室的时间比会议开始时间早。另外,a取值越大,得到的正在开会的用户越多。

若是上述推理规则2,则推理计划为推理得到迟到的开会用户和按时进入会议室的开会用户,即用户进入会议室的时间比开始时间晚或者相同,但比会议结束时间早。

若是上述推理规则3,则推理计划为推理得到早到、迟到和按照进入会议室的正在开会的用户,即上述两种情况的并集,在和前两种规则取相同参数的情况下。

该实施方式可以实现以用户上下文、会议上下文和推理规则作为输入,其中,用户上下文、会议上下文是上述第一推理模型的输入,第一推理模型是两个条件的组合,其条件的描述和表示和上下文数据中信息有关,使用所述推理规则对所述参与会议的用户对应的被推理上下文进行推理是对输入数据进行处理,该推理的输出为某一时刻正在开会的用户。

该实施方式中,以用户上下文、会议上下文、推理规则为输入,根据第一推理模型和推理规则进行分布式推理,输出某一时刻用户的状态。推理规则有3种,推理规则不同时,输出的结果也不同;对应于同一条推理结果,参数不同时,得到的推理结果也不同。

作为一种可选的实施方式,上述被推理上下文集合可以包括用户上下文和通信上下文。如图5所示,上述装置还可以包括:

第三获取单元46,用于获取用于对所述被推理上下文集合进行重要性推理的第二推理模型;

所述推理单元44包括:

第三推理子单元443,用于使用所述第二推理模型对通信上下文进行通信重要性分布式推理,得到通信上下文中两用户之间的通信重要性信息;

第四推理子单元444,用于使用所述第二推理模型对用户上下文进行职位重要性分布式推理,得到所述用户上下文中的用户之间的职位重要性信息;

第五推理子单元445,用于根据所述推理计划和预先配置的用于所述推理规则的上下文推理算法对所述得到的通信重要性信息和职位重要性信息进行分布式推理,生成通信重要性和职位重要性满足所述推理规则的用户对的重要关系信息,所述用户对的重要关系信息用于表示该用户对中两个用户存在重要关系。

可选的,上述第二推理模型可以通过如下公式描述:

其中,上述phonei表示用户useri,phonej表示用户userj,通过上述第二推理模型就可以得到通信用户之间的重要性,以及用户职位重要性。

其中,上述用户通信重要性connimportance(phonei,phonej)在分布式推理的时候,提出一种对不同的上下文赋予不同的权重参数以及采用边际效用理论对上下文取值结果进行映射的方法,该方法包含在上述第二推理模型中的用户通信重要性connimportance(phonei,phonej)中。

其中,上述职位重要性positionImportance(phonei,phonej)的条件如下:

if(phonei.position==leader)

positionImportance(phonei,phonej)=yes

即如果来电用户phonei的职位为leader,则其为phonej的电话重要联系人。需要说明的是,职位重要性是相对的,而不是彼此的,例如:positionImportance(phonei,phonej)=yes表示,用户phonei为用户phonej的电话重要联系人,但不表示用户phonej为用户phonei的电话重要联系人。

该实施方式中,上述推理规则也可以包括如下任意一项:

1、conn,a,其中,a的取值范围根据通信重要性的取值区间确定,暂定为(0,1]

2、position,b,其中,b为字符串型常量,取值范围为2个,yes/no。

3、conn,a,position,b,其中,a和b取值范围同上。

其中,上述conn表示通信,positiom表示职位。

该实施方式中,上述不同的推理规则的推理计划也是不同的,例如:若是上述推理规则1,则推理计划为推理得到通信重要性用户。

若是上述推理规则2,则推理计划为推理得到职位重要性用户。其中,输入规则是position,yes的时候,输出的结果是根据职位重要性判断得出的重要用户。输入规则是position,no的时候,输出的结果为根据职位重要性判断得到的非重要用户。一般来说,推理职位重要性更有意义。

若是上述推理规则3,则推理计划为推理得到通信重要性用户和职位重要性(非重要)用户,理论上得到的结果为上述两种规则的并集,在输入参数相同的情况下。

该实施方式中,以用户上下文、通信上下文、推理规则为输入,根据第二推理模型和推理规则进行分布式推理,输出电话重要联系人。推理规则有3种,推理规则不同,输出的结果也不同,对应于同一条推理规则,参数不同,得到的推理结果也不同。

作为一种可选的实施方式,如图6所示,上述装置还可以包括:

第四获取单元47,用于获取用户会议状态信息和用户对的重要关系信息,其中,所述用户对的重要关系信息用于表示该用户对中两个用户存在重要关系;

所述推理单元44用于根据所述用户会议状态信息和用户对的重要关系信息,根据所述推理计划和预先配置的用于所述推理规则的上下文推理算法对被推理上下文集合进行分布式推理,输出各被推理上下文中用户的存在重要关系且正在开会的用户;和/或

所述推理单元44用于根据所述用户会议状态信息和用户对的重要关系信息,根据所述推理计划和预先配置的用于所述推理规则的上下文推理算法对被推理上下文集合进行分布式推理,输出各被推理上下文中用户参与会议的会议室信息;和/或

所述推理单元44用于根据所述用户会议状态信息和用户对的重要关系信息,根据所述推理计划和预先配置的用于所述推理规则的上下文推理算法对被推理上下文集合进行分布式推理,得到正在开会的用户的来电用户是否为该正在开会的用户的重要用户,若是,输出用于表示所述来电用户为所述正在开会的用户的重要用户的提示信息。

可选的,对于不同的推理结果使用的推理规则也是不同,其中,推理输出各被推理上下文中用户的存在重要关系且正在开会的用户时,使用的可以是第一推理规则;推理输出各被推理上下文中用户参与会议的会议室信息时,使用的可以是第二推理规则;推理得到正在开会的用户的来电用户是否为该正在开会的用户的重要用户时,使用的可以是第三推理规则。上述推理规则可以包括如下任意一项或者多项:

第一推理规则、第二推理规则和第三推理规则。

该实施方式中,可选的,所述装置还可以用于当正在开会的用户接收来电用户的呼叫时,判断所述来电用户是否为该正在开会的用户的重要用户,若是,则向该正在开会的用户发送消息提醒,以提醒来电用户正在呼叫该来电用户。

若判断所述来电用户不是该正在开会的用户的重要用户时,可以向所述来电用户发送该正在开会的用户当前正在开会;或者若判断所述来电用户不是该正在开会的用户的重要用户时,禁止所述来电用户呼叫该正在开会的用户。

这样可以实现当某来电用户呼叫正在开会的用户时,只有该来电用户为该正在开会的用户的重要用户,才向该正在开会的用户的输出来电信息。

该实施方式,上述第一推理规则可以包括:

calling,useri/phonei

其中,useri/phonei分别为用户useri的用户标识(userid)和电话标识(phone),两者只需输入一种,其取值范围为用户数据表中的userid和其对应的phonei,上述calling为电话。

上述第二推理规则可以包括:

meeting,userj/phonj

其中,userj/phonej分别为用户j的id和phone,两者只需输入一种,其取值范围为用户数据集中的userid和其对应的phonej,上述meeting为会议。

上述第三推理规则可以包括:

calling,useri/phonei

meeting,userj/phonej

其中,useri/phonei和userj/phonej的取值范围同上。

若为推理规则为上述第一推理规则,则推理计划可以为推理得到以useri为重要电话联系人的正在开会的用户,若无,则返回无信息(例如:noinformation)的提示。

若为推理规则为上述第二推理规则,则推理计划可以为推理得到用户userj是否在开会,若是则返回其开会的会议id,若否,则返回无信息(例如:noinformation)的提示。

若为推理规则为上述第三推理规则,则推理计划可以为推理得到来电用户useri是否为正在开会用户userj的重要电话联系人,若是,则可以返用户i是用户j的重要联系人(例如:useriisuserjimportantcontact),若否,则返回无信息(例如:noinformation)的提示。

该实施方式中,以用户上下文、通信上下文、会议上下文和推理规则作为输入,输出相应的用户提醒。

本实施例中,在图3所示的实施例的基础上增加了多种可选的实施方式,且都可以实现提高上下文推理的效率。

请参阅图7,图7是本发明实施例提供的另一种上下文分布式推理装置的结构示意图,如图7所示,包括:存储器71和处理器72,其中,存储器71用于存储一组程序代码,处理器72用于调用存储器71存储的代码执行如下操作:

从多个计算节点获取大量的且多种类的上下文数据,并对获取的上下文数据进行建模处理,得到被推理上下文集合,其中,所述被推理上下文集合中各种上下文的表示形式统一,所述大量是指上下文数据的规模达到特定数据量;

获取用于对所述被推理上下文集合进行分布式推理的推理规则;

对所述推理规则进行解析,生成所述推理规则的推理计划;

根据所述推理计划和预先配置的用于所述推理规则的上下文推理算法对所述被推理上下文集合进行分布式推理,生成所述推理计划的推理结果。

可选的,处理器72执行对获取的上下文数据进行建模处理,得到被推理上下文集合的操作,可以包括:

对获取的上下文数据进行建模处理,得到包括标志、属性内容和发生时间的被推理上下文集合。

可选的,所述被推理上下文集合包括用户上下文和会议上下文:处理器72执行还可以包括:

获取用于对所述被推理上下文集合进行条件推理的第一推理模型,所述第一推理模型包括两个推理条件;

可选的,处理器72执行的根据所述推理计划和预先配置的用于所述推理规则的上下文推理算法对所对所述被推理上下文集合进行分布式推理,生成所述推理计划的推理结果的操作,可以包括:

使用所述第一推理模型对所述被推理上下文集合进行条件分布式推理,得到满足所述第一推理模型包括的推理条件的上下文信息,其中,所述上下文信息用于表示参与会议的用户;

根据所述推理计划和预先配置的用于所述推理规则的上下文推理算法对所述参与会议的用户对应的上下文信息进行推理,生成符合所述推理规则的用户的会议状态信息。

可选的,所述被推理上下文集合包括用户上下文和通信上下文;处理器71执行操作还可以包括:

获取用于对所述被推理上下文集合进行重要性推理的第二推理模型;

处理器71执行的根据所述推理计划和预先配置的用于所述推理规则的上下文推理算法对所对所述被推理上下文集合进行分布式推理,生成所述推理计划的推理结果的操作,可以包括:

使用所述第二推理模型对通信上下文进行通信重要性分布式推理,得到通信上下文中两用户之间的通信重要性信息;

使用所述第二推理模型对用户上下文进行职位重要性分布式推理,得到用户之间的职位重要性信息;

根据所述推理计划和预先配置的用于所述推理规则的上下文推理算法对所述得到的通信重要性信息和职位重要性信息进行分布式推理,生成通信重要性和职位重要性满足所述推理规则的用户对的重要关系信息,所述用户对的重要关系信息用于表示该用户对中两个用户存在重要关系。

可选的,处理器72执行的操作还可以包括:

获取用户会议状态信息和用户对的重要关系信息,其中,所述用户对的重要关系信息用于表示该用户对中两个用户存在重要关系;

处理器72执行的根据所述推理计划和预先配置的用于所述推理规则的上下文推理算法对所述被推理上下文集合进行分布式推理,生成所述推理计划的推理结果的操作,可以包括:

根据所述用户会议状态信息和用户对的重要关系信息,根据所述推理计划和预先配置的用于所述推理规则的上下文推理算法对被推理上下文集合进行分布式推理,输出各被推理上下文中用户的存在重要关系且正在开会的用户;和/或

根据所述用户会议状态信息和用户对的重要关系信息,根据所述推理计划和预先配置的用于所述推理规则的上下文推理算法对被推理上下文集合进行分布式推理,输出各被推理上下文中用户参与会议的会议室信息;和/或

根据所述用户会议状态信息和用户对的重要关系信息,根据所述推理计划和预先配置的用于所述推理规则的上下文推理算法对被推理上下文集合进行分布式推理,得到正在开会的用户的来电用户是否为该正在开会的用户的重要用户,若是,输出用于表示所述来电用户为所述正在开会的用户的重要用户的提示信息。

可选的,上述装置可以是基于分布式文件系统实现的,即上述装置可以于包括分布式文件系统的任意设备,其中,上述分布式文件系统可以是Hadoop分布式文件系统(HadoopDistributeFileSystem,HDFS)。

本实施例中,从多个计算节点获取大量的且多种类的上下文数据,并对获取的上下文数据进行建模处理,得到被推理上下文集合,其中,所述被推理上下文集合中各种上下文的表示形式统一,所述大量是指上下文数据的规模达到特定数据量;获取用于对所述被推理上下文集合进行分布式推理的推理规则;对所述推理规则进行解析,生成所述推理规则的推理计划;根据所述推理计划和预先配置的用于所述推理规则的上下文推理算法对所述被推理上下文集合进行分布式推理,生成所述推理计划的推理结果。这样可以实现对多个计算节点的大量上下文数据进行分布式推理,相比现有技术的单机环境下进行上下文推理。本实施例可以提高上下文推理效率。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)或随机存取存储器(RandomAccessMemory,简称RAM)等。

以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号