发明内容
本发明要解决的技术问题是提供一种构建用户模型的方法和装置、以及设备控制方法和装置,用以解决现有智能家电环境无法为用户提供用户所偏好的服务的问题。
为解决上述技术问题,本发明是通过以下技术方案来解决的。
本发明提供了一种构建用户模型的方法,包括:获取设备的历史工作数据;根据所述设备的历史工作数据,解析出用户偏好数据;将所述用户偏好数据添加到预先建立的用户本体模型中,形成用户模型。
其中,根据所述设备的历史工作数据,解析出用户偏好数据,包括:在所述设备的历史工作数据中,查找出多次在同一时间段内被调用的记录;获取每次在所述时间段内调用所述设备时的用户环境影响数据;计算出现相同所述用户环境影响数据的频率;如果所述频率大于预设的频率阈值,则将所述用户环境影响数据作为用户偏好数据。
其中,所述用户偏好数据包括:设备调用时间段、设备状态、以及调用设备获得的物理环境参数。
本发明还提供了一种设备控制方法,包括:获取当前的用户环境数据;在预先构建的用户模型中,查找与所述用户环境数据对应的用户偏好数据;调用影响所述用户环境数据的设备,以便在所述设备工作过程中,使所述用户环境数据变化到与所述用户偏好数据相同。
其中,所述用户环境数据包括:数据获取时刻、当前用户环境中的设备状态、以及当前用户环境中的物理环境参数;所述用户偏好数据包括:设备调用时间段、设备状态、以及调用设备获得的物理环境参数。
其中,与所述用户环境数据对应的用户偏好数据为:所述用户环境数据的数据获取时刻处于所述用户偏好数据中设备调用时间段中;其中:包含所述数据获取时刻等于所述设备调用时间段的端值的情况。
其中,调用影响所述用户环境数据的设备,以便在所述设备工作过程中,使所述用户环境数据变化为与所述用户偏好数据相同,包括:比较所述用户环境数据中的设备状态和所述用户偏好数据中的设备状态是否相同;如果不同,则调用影响所述设备状态的设备,使所述设备当前的设备状态与所述用户偏好数据中的设备状态相同;比较所述用户环境数据中的物理环境参数和所述用户偏好数据中的物理环境参数是否相同;如果不同,则调用影响所述物理环境参数的设备,使当前的物理环境参数变化为与所述用户偏好数据中的物理环境参数相同。
本发明又提供了一种构建用户模型的装置,包括:第一获取模块,用于获取设备的历史工作数据;解析模块,用于根据所述设备的历史工作数据,解析出用户偏好数据;形成模块,用于将所述用户偏好数据添加到预先建立的用户本体模型中,形成用户模型。
其中,所述解析模块用于:在所述设备的历史工作数据中,查找出多次在同一时间段内被调用的记录;获取每次在所述时间段内调用所述设备时的用户环境影响数据;计算出现相同所述用户环境影响数据的频率;如果所述频率大于预设的频率阈值,则将所述用户环境影响数据作为用户偏好数据。
其中,所述用户偏好数据包括:设备调用时间段、设备状态、以及调用设备获得的物理环境参数。
本发明再提供一种设备控制装置,包括:第二获取模块,用于获取当前的用户环境数据;查找模块,用于在预先构建的用户模型中,查找与所述用户环境数据对应的用户偏好数据;调用模块,用于调用影响所述用户环境数据的设备,以便在所述设备工作过程中,使所述用户环境数据变化到与所述用户偏好数据相同。
其中,所述用户环境数据包括:数据获取时刻、当前用户环境中的设备状态、以及当前用户环境中的物理环境参数;所述用户偏好数据包括:设备调用时间段、设备状态、以及调用设备获得的物理环境参数。
其中,所述查询模块,用于查询的与所述用户环境数据对应的用户偏好数据为:所述用户环境数据的数据获取时刻处于所述用户偏好数据中设备调用时间段中;其中:包含所述数据获取时刻等于所述设备调用时间段的端值的情况。
其中,所述调用模块用于:比较所述用户环境数据中的设备状态和所述用户偏好数据中的设备状态是否相同;如果不同,则调用影响所述设备状态的设备,使所述设备当前的设备状态与所述用户偏好数据中的设备状态相同;比较所述用户环境数据中的物理环境参数和所述用户偏好数据中的物理环境参数是否相同;如果不同,则调用影响所述物理环境参数的设备,使当前的物理环境参数变化为与所述用户偏好数据中的物理环境参数相同。
本发明有益效果如下:
本发明预先构建包含有用户偏好数据的用户模型,待用户需要服务时,可以在用户模型中查询到用户偏好数据,根据该用户偏好数据,控制用户环境中的设备,使用户环境中的设备状态、物理环境参数符合用户偏好。通过本发明可以由控制端控制各个设备,来完成用户所希望达到的效果,避免了用户对设备的一系列操作,提升了用户体验效果。
具体实施方式
本发明的主要思想在于,控制端如语义服务器,预先收集用户对设备的使用情况,分析出用户在使用设备时的偏好,将用户偏好数据存储在语义服务器;语义服务器采集用户环境数据,如当前的设备状态、当前的物理环境参数等,根据同时段的用户偏好数据,确定需要调用的的设备,并且在设备工作过程中,使用户环境数据符合用户偏好。本发明可以由控制各个设备,来完成用户所希望达到的效果,避免了用户对设备的一系列操作,提升了用户体验效果。
本发明的设备支持语义技术。语义服务器能够提供语义引擎功能。语义引擎包括:本体模型、语义推理、语义混聚。
本体模型是一种标准化数据框架,包括用户本体模型和设备本体模型。用户本体模型用于存放用户偏好数据。设备本体模型用于存放设备的功能、状态、运行产生的数据、以及设备之间相关联的关系等。本体模型在实例化后才被赋予设备或用户的实际的数据,代表一个真实的设备或者一个真实的用户,用户本体模型实例化后得到用户对应的用户模型,设备本体模型实例化后得到设备对应的设备模型。
语义推理,主要根据本体模型进行智能化的推理。例如:当用户向终端输入语音消息“太热了”。那么根据语音消息,将该语音消息转换为具体的指令。将“太热了”这个用户输入解析为“降低温度”,并推理出家中有哪些设备具有制冷功能,找到相应设备后,向这些设备发出的降温指令。
语义混聚,将多个抽象设备组成一个新的虚拟设备。例如:家中有3个空调,分别位于卧室和客厅,用户如果要求把家中的温度降低到25℃,那么任意一个空调无法单独能够完成这个功能,因此需要将3个空调设备组成一个新的虚拟设备,该虚拟设备的功能就是控制室内的平均温度至25℃。
以下结合附图以及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不限定本发明。
本发明提供了一种构建用户模型的方法,如图1所示,为根据本发明一实施例的构建用户模型的方法的流程图。本实施例在控制端执行,控制端例如是位于云平台的语义服务器。
步骤S110,获取设备的历史工作数据。
用户环境包括:用户所处的生活环境、办公环境等。用户环境中包括一个或多个设备。
设备包括:智能家电,传感器等。智能家电例如:电视机、冰箱、空调。传感器包括:光线传感器、温度传感器、PM2.5传感器、门禁传感器等。
设备的历史工作数据包括:设备信息、设备工作的时间段(设备被调用的时间段)、设备被调用时的设备状态、设备工作后用户环境的物理环境参数。其中,设备信息例如:设备名称、设备类型;设备状态例如:开启冰箱制冷功能、关闭空调暖风;物理环境参数例如:用户家中的温度、湿度、光线强度,可以通过设备自带传感器获得,也可以通过单独的传感器获得。
具体而言,用户每次使用设备之前,先通过设备对应的客户端将用户信息发送到语义服务器,进行用户登录,再通语义服务器对设备功能进行调用。语义服务器将使用同一个用户信息的设备作为同一用户环境中的设备;并且,语义服务器在对设备进行控制的过程中就可以收集到设备的当前工作数据。随着时间的推移,设备的当前工作数据将作为该设备的历史工作数据被存储在语义服务器中。
步骤S120,根据所述设备的历史工作数据,解析出用户偏好数据。
用户偏好数据用于体现用户对设备使用的偏好。用户偏好数据包括:设备调用时间段、设备状态、以及调用设备获得的物理环境参数。
用户在使用设备之后,会希望设备本身的状态、物理环境达到一定的效果,而这种效果可能会体现出用户的偏好,即这种效果出现的频率较高。根据设备在一段时间内的历史工作数据,做数据分析,可以分析出用户喜欢在哪个时间段、对哪些设备的哪些功能进行操作,最终达到哪种用户预期的效果。
例如:对多个设备连续20天的历史工作数据进行数据分析,得到分析结果为:A事件:每天下午17:30,用户打开家门;B事件:每天下午17:35,用户打开电视机、播放CCTV1;C事件:每天下午17:36,启动空调、温度调节到25℃;D事件:在20天中的其中一天,用户启动了空气净化器,使PM2.5浓度值维持在50。这样可以知道,A-C事件为用户偏好,D事件偶尔发送,不是用户偏好。
步骤S130,将所述用户偏好数据添加到预先建立的用户本体模型中,形成用户模型。
用户本体模型为标准化的数据模型框架,在实例化之前,用户本体模型不具有实际意义。
用户模型用于记录用户对其所述用户环境中各个设备的使用偏好。用户模型中记录的用户偏好数据都针对同一个用户、同一个用户环境。
具体而言,在构建用户模型时,根据每个设备的历史工作数据,分析出用户对该设备的用户偏好数据;根据用户偏好数据对用户本体模型进行实例化处理,包括:将用户的用户信息、用户偏好数据记录在用户本体模型中,包含真实用户信息以及用户偏好数据的用户本体模型即为用户模型。
针对步骤S120具体而言,
如图2所示,为根据本发明一实施例的解析用户偏好数据的步骤的流程图。
步骤S210,在设备的历史工作数据中,查找出多次在同一时间段内被调用的记录。
在用户对设备使用的历史工作数据中,确定设备是否在多天的同一时间段内都会被调用。例如:该用户每天下午17:30~21:30,空调都会被用户使用。
步骤S220,获取每次在所述时间段内调用所述设备时的用户环境影响数据。
用户环境影响数据是调用设备后,最终得到的结果数据。用户环境影响数据包括:设备调用的时间段、设备状态、以及调用设备获得的物理环境参数。
例如:调用的设备为电视机、空调、空气净化器,那么调用设备获得的用户环境影响数据分别是:播放新闻联播(电视机的设备状态),室内温度维持在28℃(空调开启后的物理环境参数),PM2.5浓度维持在50(空气净化器开启后的物理环境参数)。
设备的用户环境影响数据可以是自身设置的参数,如:室内温度维持在28℃为空调的参数。设备的用户环境影响数据还可以是其他设备对该调用设备产生影响的测量结果,如:PM2.5浓度维持在50为空气净化器开启后通过测量设备的测量获得。
设备调用的时间段,可以通过对设备功能调用添加时间戳的方式来实现。
针对在多天的同一时间段都会被调用的设备,有可能为用户的偏好,可以根据该设备在该时间段被调用后,最终获得的用户环境影响数据,来判断是否为真正的用户偏好。
步骤S230,计算出现相同所述用户环境影响数据的频率。
也即是说,在多个用户环境影响数据中,计算设备调用时间段、设备状态、以及调用设备获得的物理环境参数都相同的用户环境影响数据出现的频率。
例如:对设备连续20天的历史工作数据进行分析,发现设备在其中18天中每天下午17:30~21:30(设备调用时间段),使用空调制冷功能(设备状态)、使室温降低到25℃(物理环境参数),那么出现相同结果数据的频率为90%。
步骤S240,判断所述频率是否大于预设的频率阈值。如果是,则执行步骤S250;如果否,则执行步骤S260。
频率阈值用于衡量用户环境影响数据是否为用户偏好产生的。例如:频率阈值为60%,则相同用户、相同时间段出现相同用户环境影响数据的频率大于60%,则可以说明该用户环境影响数据因用户偏好产生的,反之,则说明该用户环境影响数据可能是因用户的无心之举产生的。
步骤S250,将所述用户环境影响数据作为用户偏好数据。
也即是说,用户偏好数据与用户环境影响数据相同,也包括:设备调用时间段、设备状态、以及调用设备获得的物理环境参数。
例如:用户偏好数据为每天下午17:30~21:30(设备调用时间段),使用空调制冷功能(设备状态)、使室温降低到25℃(物理环境参数)。
步骤S260,所述用户环境影响数据不作为用户偏好数据。
本发明还提供了一种设备控制方法,如图3所示,为根据本发明一实施例的设备控制方法的流程图。本实施例在控制端执行,控制端例如是位于云平台的语义服务器。
步骤S310,获取当前的用户环境数据。
用户环境数据用于反映当前用户环境中设备的设备状态和物理环境参数。用户环境数据包括:数据获取时刻、当前用户环境中的设备状态、以及当前用户环境中的物理环境参数。
具体而言,用户需要先登录语义服务器,语义服务器检测到用户处于登录状态,才会获取用户环境数据。该用户环境数据可以是当前存储的设备的当前工作数据,也可以是根据当前发起的获取命令,控制用户环境中的设备采集到的数据,如:控制温度传感器采集当前用户环境中的温度,还可以是设备在被调用之后主动向语义服务器上报的数据。
步骤S320,在预先构建的用户模型中,查找与所述用户环境数据对应的用户偏好数据。
具体而言,语义服务器根据用户登录时使用的用户信息,查找用户对应的用户模型,并且获取该用户模型对应的用户环境的当前用户环境数据。根据用户环境数据中的数据获取时刻,在用户模型中,查找与用户环境数据对应的用户偏好数据。与用户环境数据对应的用户偏好数据是指:用户环境数据的数据采集时刻处于用户偏好数据中设备调用时间段中,包含数据获取时刻等于设备调用时间段的端值的情况。
在查找用户对应的用户模型时,如果存在多个与用户对应的用户模型,如家庭环境用户模型和办公环境用户模型,则根据当前时刻,确定本次应当使用的用户模型,如当前时刻处于家庭环境用户模型中一用户偏好数据的设备调用时间段内,则本次使用家庭环境用户模型。
步骤S330,调用影响所述用户环境数据的设备,以便在所述设备工作过程中,使所述用户环境数据变化到与所述用户偏好数据相同。
调用影响用户环境数据的设备,控制该设备调整用户环境数据和用户偏好数据之间差异,使差异逐渐缩小,直至消除。
比较用户环境数据中的设备状态和用户偏好数据中的设备状态是否相同;如果不同,则调用影响设备状态的设备,使设备当前的设备状态与用户偏好数据中的设备状态相同;如果相同,则无需调用影响设备状态的设备。
比较用户环境数据中的物理环境参数和用户偏好数据中的物理环境参数是否相同;如果不同,则调用影响物理环境参数的设备,使当前的物理环境参数变化为与用户偏好数据中的物理环境参数相同;如果相同,则无需调用影响物理环境参数的设备。
调用影响用户环境数据的设备,控制该设备调整用户环境数据和用户偏好数据之间差异,使差异逐渐缩小,直至消除。
影响所述用户环境数据的设备可以根据语义标注来确定,具体而言:
设备在第一次上电后,且被用户使用之前,需要接入语义网,在语义服务器上完成设备注册,在注册过程中,基于设备类型所对应的设备本体模型,对设备进行实例化处理,得到该设备对应的设备模型,该设备模型中存储有设备的真实数据,例如:设备功能描述、设备当前工作数据、历史工作数据等。
在用户模型中还包括与设备功能描述对应的一个或多个语义标注。语义标注用于辅助描述设备功能。例如:冰箱具有冷藏功能、冷藏功能对应语义标注为冰箱冷藏食物;烤箱具有烧烤功能,烧烤功能对应的语义标注为烤箱烤肉;空调具有制冷功能和制热功能,制冷功能对应的语义标注为空调降温,制热功能对应的语义标注为空调升温。
语义服务器具有语义推理功能,根据用户环境数据和用户偏好数据之间的差异,也即是设备状态之间的差异、以及物理环境参数之间的差异,可以推理出语义标注,进而可以找到该语义标注对应的设备及设备功能,该设备即是影响用户环境数据的设备。
例如:用户偏好数据包括:下午17:30~21:30(设备调用时间段),使用空调的制冷功能(设备状态),使室温降低到25℃(物理环境参数);用户环境数据包括:下午17:30(数据采集时刻),空调未被启动、电视机未被开启(设备状态),室温为30℃(物理环境参数);那么可以确定用户环境数据与用户偏好数据之间的差异在于,空调未开启冷风,室温比用户偏好高5℃,开启电视机不是用户偏好不予处理;语义服务器根据该差异可以推理出语义标注为空调降温,调用空调降温对应的设备,即空调的冷风功能,使室温降低5℃。
下面例举一个具体的应用实例,来进一步地说明本发明。如图4所示,为根据本发明一实施例的用户模型构建和设备控制方法的时序图。
1、家电注册。用户环境中的智能家电在接入语义网后,在语义服务器进行注册,语义服务器通过该智能家电的类型查找对应的设备本体模型,并基于设备本体模型对该智能家电进行实例化处理,得到智能家电的设备模型。其中,语义网中的智能家电包括大家电,如:电视机、冰箱、空调等,以及用于感应物理环境的传感器,如:光线传感器、温度传感器、PM2.5传感器、门禁传感器等。
2、用户调用家电服务。用户回到家中,通过手机中安装的用于设备控制的客户端登录语义服务器,并通过客户端连续调用家里的多种家电服务(功能),语义服务器对这些服务的使用都添加时间戳。
3、语义服务器控制用户调用的家电服务。客户端向语义服务器发送用户需要调用的家电服务信息,语义服务器识别后,将相应的控制命令向家电发送。
4、家电向语义服务器反馈用户环境数据。
5、用户偏好数据初步判断。在连续多天后,语义服务器通过读取时间戳,确认用户对智能家电的调用是否都在同一时间段,若是,则根据这些服务完成后获得的结果(用户环境影响数据),创建Result组;若否,则不进行任何处理。Result组表示执行家电服务后,物理环境参数变化以及设备状态变化的结果。例如:用户回家后连续打开电视,打开空调,打开空气净化器,家电的当前设备状态、对环境参数的影响都可以创建Result组,Result组中的参数如:播放新闻联播(设备状态),室内温度维持在28℃(物理环境参数),PM2.5浓度维持在50(物理环境参数)。
6、用户偏好数据进一步判断。对Result组进行分析,当相同的Result组出现到一定频率后,如相同Result组的频率大于频率阈值。将Result组中的参数分别添加到用户本体模型的用户偏好数据属性中,形成用户模型,该用户模型可以作为后续对家电进行自动化控制的依据。
7、用户登录语义服务器。当用户再次回家后,通过手机客户端进行登录,语义服务器检测用户信息,根据用户信息可以找到用户对应的用户模型。
8、确定用户环境数据和用户偏好数据之间的差异。将当前的用户环境数据与用户模型中的Result组中参数进行对比,通过语义推理,确定需要修改的无理环境参数及设备状态以及修改值,并查询可以完成这些修改的设备,创建Result-Action组。例如:Result组中的参数为:播放新闻联播,室内温度维持在28℃,PM2.5浓度维持在50;当前用户环境数据中的参数为:新闻联播节目没有播放,室内温度维持在35℃,PM2.5浓度维持在150,与用户偏好数据比较之后,可以得出需要修改的设备状态为播放新闻联播,需要修改的物理环境参数为温度降低7℃,PM2.5浓度降低100,语义服务器通过语义推理,查询相关语义标注,可以得到“播放新闻联播”可以由电视机完成,“温度降低7度”可以依靠空调完成,“PM2.5浓度降低100”可以由空气净化器完成,那么将创建Result-Action组中的参数为:打开电视机且频道切换到新闻联播、打开空调降温直到温度维持在28℃、打开空气净化器直到PM2.5浓度维持在50。
9、根据差异控制相应的家电服务。针对Result-Action组中每个参数,向相应的设备发送服务请求,实现相应的功能效果。
如果能够实现某一功能效果的设备为多个,可以由用户选择或随机选择的方式来确定最终由那个设备来完成。例如:播放新闻联播可以有电脑来完成也可以由电视机来完成,则可以根据用户的选择,来确定由电脑播放新闻联播还是由电视机来播放新闻联播。
本发明还提供了一种构建用户模型的装置,如图5所示,为根据本发明一实施例的构建用户模型的装置的结构图。本实施例所述的装置可以应用在语义服务中,所述语义服务器基于该装置构建用户模型。
该装置包括:
第一获取模块510,用于获取设备的历史工作数据。
解析模块520,用于根据所述设备的历史工作数据,解析出用户偏好数据。所述用户偏好数据包括:设备调用时间段、设备状态、以及调用设备获得的物理环境参数。
形成模块530,用于将所述用户偏好数据添加到预先建立的用户本体模型中,形成用户模型。
在一个实施例中,解析模块520用于:在所述设备的历史工作数据中,查找出多次在同一时间段内被调用的记录;获取每次在所述时间段内调用所述设备时的用户环境影响数据;计算出现相同所述用户环境影响数据的频率;如果所述频率大于预设的频率阈值,则将所述用户环境影响数据作为用户偏好数据。
本实施例所述的装置的功能已经在图1和图2所示的方法实施例中进行了描述,故本实施例的描述中未详尽之处,可以参见前述实施例中的相关说明,在此不做赘述。
本发明还提供了一种设备控制装置,如图6所示,为根据本发明一实施例的设备控制装置的结构图。本实施例所述的装置可以应用在语义服务器中,语义服务器根据该装置对用户环境中的设备进行控制,以便使用户环境中的设备状态、物理环境更加符合用户偏好。
所述装置包括:
第二获取模块610,用于获取当前的用户环境数据。所述用户环境数据包括:数据获取时刻、当前用户环境中的设备状态、以及当前用户环境中的物理环境参数。
查找模块620,用于在预先构建的用户模型中,查找与所述用户环境数据对应的用户偏好数据。用户偏好数据包括:设备调用时间段、设备状态、以及调用设备获得的物理环境参数。查询模块620用于查询的与所述用户环境数据对应的用户偏好数据为:所述用户环境数据的数据获取时刻处于所述用户偏好数据中设备调用时间段中;其中:包含所述数据获取时刻等于所述设备调用时间段的端值的情况。
调用模块630,用于调用影响所述用户环境数据的设备,以便在所述设备工作过程中,使所述用户环境数据变化到与所述用户偏好数据相同。
在一个实施例中,调用模块630用于:比较所述用户环境数据中的设备状态和所述用户偏好数据中的设备状态是否相同;如果不同,则调用影响所述设备状态的设备,使所述设备当前的设备状态与所述用户偏好数据中的设备状态相同;比较所述用户环境数据中的物理环境参数和所述用户偏好数据中的物理环境参数是否相同;如果不同,则调用影响所述物理环境参数的设备,使当前的物理环境参数变化为与所述用户偏好数据中的物理环境参数相同。
本实施例所述的装置的功能已经在图3所示的方法实施例中进行了描述,故本实施例的描述中未详尽之处,可以参见前述实施例中的相关说明,在此不做赘述。
尽管为示例目的,已经公开了本发明的优选实施例,本领域的技术人员将意识到各种改进、增加和取代也是可能的,因此,本发明的范围应当不限于上述实施例。