首页> 中国专利> 一种用于管理移动设备及其计算机程序产品中的事件通知的装置和方法

一种用于管理移动设备及其计算机程序产品中的事件通知的装置和方法

摘要

本发明大体涉及数据处理领域,尤其涉及用于基于人工智能管理移动设备中的事件通知的技术。所述提议的装置和方法允许提高在移动设备上显示事件通知之前过滤所述事件通知的效率。为此,在获取目的在于向用户显示并与所述移动设备中发生的新事件有关的事件通知之后,首先针对所述事件通知,确定与所述移动设备的所述用户和/或所述移动设备本身相关联的通知上下文。之后,通过使用学习算法,基于所述事件通知和所述通知上下文,预测所述事件通知的关联程度,所述学习算法考虑到过去事件通知、相关联的过去通知上下文以及使用所述移动设备的用户对所述过去事件通知的反应。最终,基于所述预测的关联程度决定是否向使用所述移动设备的所述用户显示所述事件通知。

著录项

  • 公开/公告号CN112534410A

    专利类型发明专利

  • 公开/公告日2021-03-19

    原文格式PDF

  • 申请/专利权人 华为技术有限公司;

    申请/专利号CN201880096083.5

  • 申请日2018-09-11

  • 分类号G06F9/54(20060101);H04M1/724(20210101);H04M1/72448(20210101);H04M1/72454(20210101);

  • 代理机构

  • 代理人

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

  • 入库时间 2023-06-19 10:18:07

说明书

技术领域

本发明大体涉及数据处理领域,尤其涉及用于基于人工智能管理移动设备中的事件通知的技术。

背景技术

各种移动应用目前是几乎所有现代移动设备(例如,移动电话、蜂窝电话、智能手机等)所固有的。某些所述移动应用,例如Twitter、Facebook、WhatsApp、Viber和电子邮件客户端,允许移动设备的用户接收有关各种事件的通知,例如来电/未接来电、消息接收、来自不同社交网络的其它用户的添加好友申请、所述社交网络中可用好友的账户配置文件变化等。通常,所述移动设备会在通知列表中显示此类通知,以便所述用户能够立即或稍后查看所有通知。

然而,当所述移动设备上安装的某些所述移动应用对同一事件做出反应时(例如,内置和附加安装的天气应用通知相同的环境温度变化),就会出现一个常见问题,从而产生有关事件的多个通知。因此,移动终端的通知列表中填充有相同通知。

当所述用户是所述移动设备的“重度用户”(即使用大量移动应用的用户)时,就会出现另一个常见问题。例如,此类重度用户可以拥有若干电子邮件账户(工作账户、私人账户、爱好相关账户、其它活动相关账户),每个电子邮件账户都可以被配置为发送有关每条接收到的电子邮件消息的通知。在繁忙的一天中,此类通知的数量可能足够大,因此这些通知将完全淹没所述移动设备的所述通知列表。此外,在所述移动设备的所述通知列表中指示的通知中,某些通知可能不太重要,其它通知可能较为紧急,而另一些通知在所述用户接收或查看所述通知列表或所述用户有时间检查所述通知列表时已过期。

上述问题以及所述移动设备中相对较小的显示屏致使所述通知列表由多页(屏幕)所述通知组成。这种情况可能会使所述用户感到沮丧和烦恼,因为他们更愿意只看到那些需要采取行动的通知,或那些可能很重要的通知,或者那些可能与近况、位置、事件或人、爱好相关的通知(例如,基于标准,如日时间)。

因此,仍然需要一种新的方案,以便减轻或甚至消除现有技术特有的上述缺点。

发明内容

提供本发明内容是为了以简化的形式引入概念的选择,这些概念将在以下具体实施方式中进行进一步的描述。本发明内容的目的不在于识别权利要求书保护的主题的关键特征或必要特征,也不在于限制权利要求书保护的主题的范围。

本发明的目的在于提供一种提高在移动设备中显示事件通知之前过滤所述事件通知的效率的技术方案。

上述目的通过所附权利要求中的独立权利要求的特征来实现。进一步的实施例和示例在从属权利要求、具体实施方式和附图中显而易见。

根据第一方面,提供了一种用于管理移动设备中的事件通知的方法。首先,获取目的在于向用户显示并与所述移动设备中发生的新事件有关的事件通知,接着针对所述事件通知,确定与所述移动设备的所述用户和/或所述移动设备本身相关联的通知上下文。接下来,通过使用学习算法,基于所述事件通知和所述通知上下文,预测所述事件通知的关联程度,所述学习算法考虑到过去事件通知、相关联的过去通知上下文以及使用所述移动设备的用户对所述过去事件通知的反应。之后,基于所述预测的关联程度决定是否向使用所述移动设备的所述用户显示所述事件通知。这样,首先向所述移动设备的所述用户显示此时最相关的事件通知,由此提供所述事件通知的所述提高的过滤,从而节省用户时间并促进针对所述事件通知采取更快的用户操作。

在所述第一方面的一实现方式中,所述通知上下文包括关于用户活动、用户内容、来自所述移动设备的至少一个传感器的传感器信息、应用信息和/或区域标识符的信息,所述区域标识符指示所述移动设备所在的地理区域。这允许通过考虑伴随接收所述事件通知的所有上述因素来提高所述过滤效率。

在所述第一方面的另一实现方式中,所述地理区域基于从所述移动设备中使用的位置传感器接收的卫星定位系统坐标进行定义。这允许更精确地确定所述移动设备的所述位置,从而促进以更准确的方式预测所述关联程度。

在所述第一方面的另一实现方式中,所述学习算法是一种无监督机器学习算法。这使得所述预测所述关联程度的步骤更加自动化,从而最大限度地降低用户参与度。

在所述第一方面的另一实现方式中,所述学习算法通过使用神经网络、决策树或随机索引实现。这提供了使用灵活性,因为根据所述第一方面所述的方法可以通过使用不同的学习方法来实现。

在所述第一方面的另一实现方式中,所述决策包括:当所述预测的关联程度超出预先确定的阈值时,决定向所述用户显示所述事件通知;当所述预测的关联程度未超出所述预先确定的阈值时,防止向所述用户显示所述事件通知。这样,所述用户可以只看到最相关的事件通知,从而可以在更大程度上节省所述用户时间。

在所述第一方面的另一实现方式中,每个过去事件通知的所述过去通知上下文被预先编码为稀疏向量表示,所述预测包括:将所述事件通知的所述通知上下文编码为所述稀疏向量表示;使用向量距离度量,比较所述事件通知的所述稀疏向量表示与每个过去事件通知的所述稀疏向量表示;基于上述比较的结果,显示最接近所述事件通知的所述过去事件通知;通过考虑所述用户对所述显示的过去事件通知的反应,获取所述事件通知的所述预测的关联程度。这允许最大限度地减小存储所述过去事件通知和所述过去通知上下文所需的内存大小,并简化和同时改进所述预测所述关联程度。

在所述第一方面的另一实现方式中,所述比较使用随机索引算法进行。这样,可以在更大程度上提高所述关联程度的所述预测的准确性。

在所述第一方面的另一实现方式中,所述新事件是接收以下各项中的一项:社交网络中的消息、电子邮件消息、SMS消息、应用消息、来电、闹钟信号和日历事件。附加地,这提供了所述使用灵活性,因为根据所述第一个方面所述的方法能够考虑到不同事件。

根据第二方面,提供了一种用于管理移动设备中的事件通知的装置,所述装置包括至少一个处理器和存储器,所述存储器耦合至所述至少一个处理器,用于存储处理器可执行指令。所述处理器可执行指令在由所述至少一个处理器执行时,使得所述至少一个处理器执行如下操作:获取事件通知,所述事件通知的目的在于向用户显示并与所述移动设备中发生的新事件有关;针对所述事件通知,确定与所述移动设备的所述用户和/或所述移动设备本身相关联的通知上下文;通过使用学习算法,基于所述事件通知和所述通知上下文,预测所述事件通知的关联程度,所述学习算法考虑到过去事件通知、相关联的过去通知上下文以及使用所述移动设备的用户对所述过去事件通知的反应;基于所述预测的关联程度决定是否向使用所述移动设备的所述用户显示所述事件通知。这样,首先向所述移动设备的所述用户显示此时最相关的事件通知,由此提供所述事件通知的所述提高的过滤,从而节省用户时间并促进针对所述事件通知采取更快的用户操作。

在所述第二方面的一实现方式中,所述通知上下文包括关于用户活动、用户内容、来自所述移动设备的至少一个传感器的传感器信息、应用信息和/或区域标识符的信息,所述区域标识符指示所述移动设备所在的地理区域。这允许通过考虑伴随接收所述事件通知的所有上述因素来提高所述过滤效率。

在所述第二方面的另一实现方式中,所述地理区域基于从所述移动设备中使用的位置传感器接收的卫星定位系统坐标进行定义。这允许更精确地确定所述移动设备的所述位置,从而促进以更准确的方式预测所述关联程度。

在所述第二方面的另一实现方式中,所述学习算法是一种无监督机器学习算法。这使得所述预测所述关联程度的操作更加自动化,从而最大限度地降低用户参与度。

在所述第二方面的另一实现方式中,所述至少一个处理器用于通过使用神经网络、决策树或随机索引实现所述学习算法。这提供了使用灵活性,因为根据所述第二方面所述的装置可以通过使用不同的学习方法来实现。

在所述第二方面的另一实现方式中,所述处理器可执行指令还使得所述至少一个处理器执行如下操作:当所述预测的关联程度超出预先确定的阈值时,决定向所述用户显示所述事件通知;当所述预测的关联程度未超出所述预先确定的阈值时,防止向所述用户显示所述事件通知。这样,所述用户可以只看到最相关的事件通知,从而可以在更大程度上节省所述用户时间。

在所述第二方面的另一实现方式中,每个过去事件通知的过去通知上下文被预先编码为稀疏向量表示,所述处理器可执行指令还使得所述至少一个处理器通过以下方法预测所述关联程度:将所述事件通知的所述通知上下文编码为所述稀疏向量表示;使用向量距离度量,比较所述事件通知的所述稀疏向量表示与每个过去事件通知的所述稀疏向量表示;基于上述比较的结果,显示最接近所述事件通知的所述过去事件通知;通过考虑所述用户对所述显示的过去事件通知的反应,获取所述事件通知的所述预测的关联程度。这允许最大限度地减小存储所述过去事件通知和所述过去通知上下文所需的内存大小,并简化和同时改进所述预测所述关联程度。

在所述第二方面的另一实现方式中,所述处理器可执行指令还使得所述至少一个处理器通过使用随机索引算法进行所述比较。这样,可以在更大程度上提高所述关联程度的所述预测的准确性。

根据第三方面,提供了一种计算机程序产品,包括在存储计算机程序的计算机可读存储介质。所述计算机程序在由至少一个处理器执行时,使得所述至少一个处理器执行根据所述第一方面所述的方法。因此,根据所述第一方面所述的方法可以计算机程序的形式体现,从而附加地提供其使用灵活性。

本发明的其它特征和优点在阅读以下具体实施方式并查看附图时将显而易见。

附图说明

以下将结合附图说明本发明的实质,其中:

图1A至图1B示出了一种可能会使用户感到烦恼的示例性情况;

图1C示出了另一种可能会使用户感到烦恼的示例性情况;

图2示出了本发明提供的一种用于管理移动设备中的事件通知的装置的框图;

图3示出了本发明提供的移动设备的某些硬件和软件组件与图2中的装置的示例性交互环境;

图4示出了本发明提供的图2中的装置的操作的工作流程图;

图5示出了本发明提供的由随机指数引擎执行的推送操作;

图6示出了本发明提供的通过使用随机索引算法执行的预测操作;

图7示出了本发明提供的在通知类型排序算法中使用组合方案的示例;

图8示出了本发明提供的事件通知的基于通知上下文的关联程度预测的示例性操作周期。

具体实施方式

以下结合附图进行描述,所述附图是描述的一部分,并通过图解说明的方式示出可以实施本发明的具体方面、实施例和示例。可以理解的是,在不脱离本发明范围的情况下,可以利用其它方面,并可以做出结构上或逻辑上的改变。因此,以下详细的描述并不当作限定,本发明的范围由所附权利要求书界定。此外,本发明可以许多其它形式来体现,不应解释为限于以下描述中公开的任何特定结构或功能。

根据详细描述,本领域技术人员将显而易见的是,本发明的范围涵盖本文中所公开的本发明的任何实施例,而不论该实施例是独立实现还是与本发明的任何其它实施例协同实现。例如,在实践中,本文中所公开的装置和方法可以使用本文中所提供的任意数量的实施例来实现。此外,应当理解的是,本发明的任何实施例可以使用所附权利要求中提出的一个或多个元素来实现。

如本文所使用的,术语“移动设备”,也称为“移动终端”,是指便携式计算设备,例如移动电话、蜂窝电话、智能手机、媒体播放器、平板电脑等。虽然本发明的所述方面和实施例结合所述移动电话或蜂窝电话进行了进一步描述,但不应解释为对本发明的任何限制,诸如上文讨论的那些移动设备的其它类型移动设备可以类似方式使用,具体取决于特定应用。对本领域技术人员来说,也应当显而易见的是,可以为所述移动设备提供互联网连接功能,在这种情况下,可以在所述移动设备上安装相应的移动应用,例如提供对诸如Facebook、Twitter、Instagram等社交网络的访问权限。

如本文所使用的,术语“通知”或“事件通知”指的是一组字母、数字或字母数字字符,指示所述移动设备中发生的事件。优选地,此类字符集写为一行或多行,所述一行或多行形成所述移动设备屏幕上显示的通知列表中的条目。所述事件本身可能与所述移动设备以及所述移动设备上安装的移动应用的操作中出现或发生的某种情况有关,例如包括但不限于:社交网络中的消息、电子邮件消息、SMS消息、应用消息、来电、闹钟信号和日历事件。

本文中使用的术语“关联程度”也指所述移动设备的所述用户在当前情况下可能有兴趣读取给定事件通知的程度。所述当前情况在本文中称为“通知上下文”,将在下文进行更详细论述。给定事件通知的所述关联程度越高,预测所述用户对读取所述事件通知的兴趣越高。

参考图1A至图1B,现将描述一种示例性情况,在所述示例性情况下,移动设备的用户可以看到有关同一事件的两个或多个通知。特别地,图1A至图1B中的每一个都表示示出两个不同时刻的手机屏幕(也称为屏幕截图)的内容的图像。在这种情况下,所述移动设备以移动电话或蜂窝电话或智能手机为例。首先,如图1A所示,占据所述手机屏幕大部分空间的通知列表为空(参见“无通知”),这意味着所述手机中没有发生新事件。当所述手机在长时间中断后刚刚接通且当前正在连接蜂窝网络或移动网络和各种应用以检查在所述手机关机期间是否发生任何新事件时,图1A中示出的屏幕截图也是可能的。在图1B中,这意味着所述用户在所述手机关机期间错过了电话呼叫,其中所述电话呼叫来自电话簿中未存储的电话号码。如果所述手机上安装了特殊的电话号码所有者查找应用,则该查找应用将自动搜索所述电话号码所有者的联系人详细信息的在线目录,并向所述通知列表提供有关所述搜索结果的通知。如图1B所示,所述查找应用也无法识别所述电话号码所有者。因此,所述手机屏幕示出所述通知列表,所述通知列表包括有关同一事件的两个通知,即来自移动网络运营商和所述查找应用的未接来电,从而不合理地占用了重要屏幕部分。

图1C示出了另一种可能会使用户感到烦恼的示例性情况。这里,这意味着所述通知列表被来自适用于Windows Phone的Twitter客户端的通知淹没,其中所述WindowsPhone用作所述手机中的移动操作系统。每个通知对应于一个不同事件,例如所述用户关注的人的新推文或转发推文以及关于未读推文提及等。同样,如果所述手机在长时间关机后开机,则来自所述Twitter客户端的所述通知将在短时间内逐个出现,从而形成难以查看和读取的多页通知列表(即用户将被迫滚动所述通知列表以查找最相关的通知)。

此外,所述事件通知(来自所述Twitter客户端或其它移动应用)在长时间内收到时,会消耗更多的系统资源,特别是电池电源,可能会使得所述手机重复且有时同时发出通知提示音和振铃音,使所述手机听起来别扭,同时伴随连续铃声来响应所述新通知。由于存在大量来电或挂起通知,因此所述手机可能会减慢速度甚至冻结,在需要激活具有更高优先级的任务(例如,处理来电的过程)时尤其如此。另一个让人讨厌的地方是:当所述用户开机并且例如开始键入文档或电子邮件消息或者准备通过使用“投影我的屏幕”特性向观众显示演示时,连续提示音和通知弹出窗口会使所述用户在执行所述输入或显示时分心,可能会在很大程度上使所述用户感到烦恼。

本发明考虑到现有技术特有的上述缺点,旨在提高过滤所述事件通知的效率,从而不会使所述用户对被视为对所述用户不重要的事件通知感到烦恼,同时允许所述用户在空闲时间查看所述事件通知。

图2示出了本发明一方面提供的一种用于管理移动设备中的事件通知的装置200的示例性框图。如图2所示,所述装置200包括至少一个存储器202和耦合至所述存储器202的至少一个处理器204。所述存储器202存储处理器可执行指令206,所述处理器可执行指令206将由所述处理器204执行以便以正确方式过滤所述事件通知。为此,所述装置200可以是所述移动设备的一部分,或者实现为远程设备,例如远程服务器,所述移动设备一旦开机即连接到所述远程设备。

所述存储器202可以实现为现代电子计算机中使用的易失性或非易失性存储器。例如,所述非易失性存储器可以包括只读存储器(Read-Only Memory,简称ROM)、铁电式随机存取存储器(Random-Access Memory,简称RAM)、可编程ROM(Programmable ROM,简称PROM)、电可擦PROM(Electrically Erasable PROM,简称EEPROM)、固态磁盘(solid statedrive,简称SSD)、闪存、磁盘存储器(例如,硬盘驱动器和磁带)、光盘存储器(例如,CD、DVD和蓝光)等。关于所述易失性存储器,其示例包括动态RAM、同步DRAM(Synchronous DRAM,简称SDRAM)、双倍数据速率SDRAM(Double Data Rate SDRAM,简称DDR SDRAM)、静态RAM等。

相对于所述处理器204,它可以实现为中央处理器(central processing unit,简称CPU)、通用处理器、专用处理器、微控制器、微处理器、专用集成电路(applicationspecific integrated circuit,简称ASIC)、现场可编程门阵列(field programmablegate array,简称FPGA)、数字信号处理器(digital signal processor,简称DSP)、复杂可编程逻辑器件等。值得注意的是,所述处理器204可以实现为前述的任意组合。例如,所述处理器204可以是两个或多个微处理器的组合。

存储在所述存储器202中的所述处理器可执行指令206可以被配置为计算机可执行代码,所述计算机可执行代码使得所述处理器204执行本发明的所述方面。用于针对本发明的所述方面执行操作或步骤的所述计算机可执行代码可以采用一种或多种编程语言(例如,Java、C++或类似编程语言)的任意组合编写。在一些示例中,所述计算机可执行代码可以采用高级语言的形式或预编译的形式,可以由解释器(也预先存储在所述存储器202中)即时生成。

由于所述处理器可执行指令206的原因,所述处理器204首先获取目的在于向用户显示并与所述移动设备中发生的新事件有关的事件通知。之后,针对所述事件通知,所述处理器204确定与所述移动设备的所述用户和/或所述移动设备本身相关联的通知上下文。此外,所述处理器204通过使用学习算法,基于所述事件通知和所述通知上下文,按指示预测所述事件通知的关联程度,所述学习算法考虑到过去事件通知、相关联的过去通知上下文以及使用所述移动设备的用户对所述过去事件通知的反应。所述学习算法还可以考虑所述事件通知的接收时间和/或用户对所述过去事件通知的反应的时间。最后,所述处理器204基于所述预测的关联程度决定是否向使用所述移动设备的所述用户显示所述事件通知。

图3示出了所述移动设备的某些硬件和软件组件与所述装置200(为清楚起见,称为通知管理器)的示例性交互环境300,所述装置200实现为所述移动设备或所述远程设备的一部分,如上所述。如图所示,所述交互中涉及的所述硬件组件包括任务管理器302、存储器304、系统时钟306、位置传感器308、活动传感器310、通知用户界面(user interface,简称UI)312、主题预过滤器314和人预过滤器316。关于所述软件组件,它们由所述移动设备上安装的诸如Facebook、Messenger、Skype、Twitter、微信等的移动应用322a至322n表示。对于本领域技术人员来说,显而易见的是:图3中示出的组件排列和编号是说明性的,可以根据需要以任何正确的方式进行修改。具有一个箭头和两个箭头的箭头演示了硬件和软件组件与所述装置200之间的所述交互。该交互如下所述予以执行。

假设所述移动应用322a至322n中的至少一个产生事件通知,例如,作为通过Facebook接收的新消息,所述装置200在接收到所述事件通知时开始确定所述事件通知的所述通知上下文。在一个实施例中,所述通知上下文可以包括关于用户活动、用户内容、用户操作、来自所述移动设备的至少一个传感器的传感器信息、应用信息或其任意组合的信息。所述用户活动可以通过使用所述活动传感器310来确定,可以包括以下活动:行走、站立、坐立、奔跑、睡觉等。特别地,所述用户的睡眠状态也可以通过使用所述系统时钟304来确定,即,例如如果是夜间,最有可能的是所述用户正在试图入睡或已经入睡。用户内容318表示存储在所述移动设备的所述存储器304中的不同用户数据,例如重要和/或最喜爱的文本、消息、音频和视频记录等。用户操作320由所述任务管理器302确定,所述任务管理器302允许所述装置200被告知当前在所述移动设备上运行的所有进程,可以包括:键入新消息;重新编码新的音频或视频文件;通过使用“投影我的屏幕”特性向观众显示演示等。所述传感器信息本身可以包括所述用户活动,附加地,还包括所述移动设备中安装的诸如所述位置传感器308的其它传感器的输出数据,所述位置传感器308在一个示例中实现为卫星定位系统传感器。在图3中示出的交互环境中,所述传感器信息包括来自所述位置传感器308的位置数据。所述应用信息可以包括关于所述移动应用322a至322n的不同信息,例如每个移动应用的使用率、每个移动应用的优先级、通过每个移动应用与其它人讨论的一个或多个主题等。为了更有效地收集所述应用信息,结合使用所述主题预过滤器314和所述人预过滤器316与所述装置200。所述主题预过滤器314和所述人预过滤器316可以实现为所述装置200的一部分,或者可以实现为单个处理器,例如微处理器等。

在一个实施例中,所述装置200还可用于将来自所述位置传感器308的所述位置数据转换为区域标识符(identifier,简称ID),其中每个区域标识符指示所述移动设备在所述接收所述事件通知期间所在的地理区域。所述区域ID是世界各地的粗略表示,这是更合理、更可取的使用方法,因为如果将具有十进制精度的所有坐标都存储在所述移动设备的所述存储器304中,所述装置200将会溢出位置事件。相反,将所述位置量化为区域,例如直径为100米的圆形,或者围绕所述区域的中心坐标的其它形状,例如六边形。因此,所述装置200例如采用GPS坐标并计算所述当前GPS坐标所属的所述区域ID。在另一实施例中,存在产生所述分区的不同方式,在于将地球呈现为网格并计算所述移动设备的所述当前位置所属的网格单元。另一实施例通过跟踪大多数访问的区域并收集一定时间内对每个区域的访问次数来提供所述分区,从而形成热图,允许计算每个新区域的中心,随后用于生成相关联的区域ID。例如,所述区域ID可以具有以下格式:“zone://zonenumber”,其中“zonenumber”是唯一标识符或哈希数或递增数。

在一个实施例中,所述装置200还可用于将所述事件通知的所述通知上下文编码为词袋,描述例如所述传感器信息、所述用户操作、所述位置数据、当前时间等的组合。然后,所述装置200可以将所述词袋转换为稀疏向量表示。所述稀疏向量表示由多个稀疏向量组成,每个稀疏向量表示构成所述词袋的所述词中的一个。如本领域所熟知的,每个稀疏向量是元素的一个一维数组,主要由零值组成。特别地,每个词可以用由10000个元素组成的单个稀疏向量来表示,其中随机选择的20个元素被占用,其余为零值。在这20个元素中,半数是负数,即“-1”,另外半数是正数,即“+1”。根据随机索引理论,由10000个元素表示的空间中的全部20个随机选取索引的碰撞可能性极小,因此这些随机生成的向量可以在不会产生不良影响的情况下相加,以节省存储器资源。缩短后的稀疏向量(与具有10000个元素的稀疏向量相比)的一个示例如下:“0000000000000110000000011000000000000000010100000001001”,其与另一稀疏向量相加可以写为:

0000000000000110000000011000000000000000010100000001001

+

0100000000000000000000001000000000000000010100000010001

0100000000000110000000012000000000000000020200000011002

每个所得的和向量可以不包含零值的数据结构的形式存储在所述装置200的所述存储器202中(即结合上述示例,为“1111222112”)。在一个实施例中,将此类数据结构组合成矩阵。之后,可以在每个和向量的值与其在所述数据结构中的索引之间进行映射,例如,与在C++中的操作方法类似。

因此,所述装置200可以将每个事件通知的所述通知上下文编码为上述和向量,通过为其指定特定索引将所述和向量存储在所述存储器中。稍后,如果新事件通知伴随与先前存储的相同的通知上下文,则所述装置200可以访问所述存储器202以从中检索相应的和向量。如果存储在所述存储器202中的所述数据结构中不存在所述通知上下文的所述和向量,则应将其作为新的和向量包括在所述数据结构中。

一旦以上述方式确定和处理所述通知上下文,所述装置200就会继续预测所述事件通知的关联程度。特别地,可以通过使用机器学习算法基于所述事件通知本身及其通知上下文执行所述预测。所述机器学习算法可以通过使用神经网络、脉冲神经网络、决策树、随机索引等实现。此外,在一些实施例中,所述机器学习算法可以是无监督机器学习算法或监督机器学习算法。前一种情况更为优选,因为它允许最大限度地减少甚至排除用户参与所述机器学习算法的操作。如上所述,所述机器学习算法可以考虑过去事件通知、相关联的过去通知上下文以及使用所述移动设备的用户对所述过去事件通知的反应。所有这些过去数据可以预先存储在所述移动设备的所述存储器304中,或者存储在所述装置200的所述存储器202中,具体取决于特定应用。由所述装置200预测的所述关联程度可以百分比表示,并以任何其它数值表示。在一个实施例中,所述装置200可以基于对上述过去数据的分析,为所述关联程度指定阈值。这样,所述装置200可以用于:如果与事件通知相关联的所述关联程度超出所述阈值,则决定通过所述通知UI 312向所述用户显示所述事件通知;或者,如果所述关联程度未超出所述阈值,则决定防止向所述用户显示所述事件通知。

在一个实施例中,目的在于采用所述装置200将每个过去事件通知的所述过去通知上下文预先编码为上述稀疏向量表示。在这种情况下,所述装置200用于通过使用向量距离度量,例如余弦距离或相似度,比较所述当前事件通知的所述稀疏向量表示与每个过去事件通知的所述稀疏向量表示来预测所述当前事件通知的所述关联程度。然后,所述装置200用于:基于上述比较的结果,显示最接近所述事件通知的所述过去事件通知,通过考虑所述用户对所述显示的过去事件通知的反应,获取所述当前事件通知的所述关联程度。

在一个实施例中,如上所述,在确定是否向使用所述移动设备的所述用户显示新事件通知时,可以考虑用户对与过去通知上下文相关联的过去事件通知的反应。更具体地,所述用户反应的时间,例如打开或丢弃过去事件通知,可以用作确定某个事物在当时而不是所述事件通知的到达时间是否重要的关键。

上述实施例示为图4中的工作流程图,其中功能单元400、404至412可以实现为构成所述装置200的所述处理器204的单个微处理器,功能单元402(即通知队列管理器)可以实现为所述移动设备的一个硬件或软件组件。当然,在其它实施例中,所述功能单元400、404至412可以全部集成到所述处理器204的单个微处理器或任何其它示例性实现方式中,如上文结合图2所述。

如图4所示,所述工作流程图从通知智能400向所述移动设备的所述通知队列管理器402发送416可用事件通知列表请求开始。作为对所述请求的响应,所述移动设备的所述通知队列管理器402向所述通知智能400提供418所述事件通知的所述列表。之后,所述通知智能400通过向所述通知UI 312发送420通知统计数据请求开始确定每个事件通知的所述通知上下文。例如,所述通知统计数据可以包括所述用户关于每个事件通知执行点击的次数。所述通知统计数据可以进一步指示所述用户在接收不同类型的事件通知时如何对所述不同类型的事件通知做出反应:忽略、丢弃、打开与所述事件通知相关的移动应用等。收集此类或类似通知统计数据并将其存储在所述通知UI 312中。一旦所述通知统计数据准备就绪,所述通知UI 312就会向所述通知智能400提供422所述通知统计数据。

接下来,所述通知智能400通过在接收所述事件通知时获取所述移动设备的所述位置的所述区域ID,继续确定每个事件通知的所述通知上下文。这涉及采用所述通知智能400向区域管理器410发送424所述区域ID请求,所述区域管理器410用于接收所述位置传感器308的所述位置数据,例如GPS坐标,并将其转换为所述相应的区域ID,如上所述。一旦从所述区域管理器410接收到426所述区域ID,所述通知智能400就会进一步请求428时间管理器412提交时间词,所述时间词是上述词袋中包括的词中的一个。所述时间管理器412从所述移动设备的所述系统时钟306接收时间数据,将所述时间数据转换为所述时间词,向所述通知智能400发送430所述时间词。之后,在该实施例中,目的在于所述通知智能400完成确定所述通知列表中的每个事件通知的所述通知上下文,即所述词袋。然而,在一些实施例中,所述通知智能400可以继续收集适于被视为所述通知上下文的任何其它信息,使得上述区域ID、时间词和通知统计数据不应被解释为对本发明的任何限制。例如,可以仅将所述区域ID和时间词包括在所述词袋中,或者可替代地,可以将所述词袋表示为所述区域ID+所述时间词+所述活动词的组合(例如,指示行走、站立等。所述词袋还可以包含从所述用户内容(例如,用户聊天消息)中提取的普通词。所述词袋的上述示例是可选的,不一定需要用于预测所述事件通知的所述关联程度,但它们有助于提高所述预测的准确性。

简单地考虑一个示例,在该示例中,假设所述用户正与朋友闲聊SpaceX BFR(一大型猎鹰火箭)发射事宜。在这种情况下,所述装置200的所述处理器204(例如,所述通知智能400)可以从所述讨论中提取“SpaceX”、“BFR”和“火箭”等词作为关键词。现在,进一步假设所述通知智能400获取关于Facebook事件并等待在所述通知UI 312上显示的新事件通知,并提取所述新事件通知的内容,例如所述关键词。如果某些所述事件通知的所述提取的关键词与所述讨论中的关键词相匹配,则所述通知智能400能够不仅基于所述通知类型而且基于所述用户内容过滤所述新事件通知。换言之,所述词袋也可以包括所述用户内容。

再次参考图4,所述通知智能400向稀疏矢量编码器406发送432采用所述词袋形式的每个事件通知的所述通知上下文。所述稀疏向量编码器406用于将所述词袋编码为所述稀疏向量表示,意味着将所述词袋中的每个词编码为所述单个稀疏向量。如上所述,每个事件通知的所述词袋可以包括描述所述位置、时间、用户内容、用户活动等的不同词。例如,所述工作流程图包括分别从所述通知智能400向所述稀疏矢量编码器406发送432、436两个不同的词袋1、2,以及作为响应,从所述稀疏矢量编码406接收434、438两个相应的稀疏矢量表示。然而,对于本领域技术人员来说,显而易见的是,此类词袋的数量及其内容可能有所不同,具体取决于特定应用。所述通知智能400接所述收事件通知的所述稀疏向量表示,将它们转换为上述和向量(即通过计算每个稀疏向量表示中的所有稀疏向量的总和),将所述和向量存储在所述装置200的所述存储器202中,例如,作为不包含零值的矩阵数据结构。

当向所述通知队列添加新事件通知时,可以再次重复涉及收集所述通知上下文的上述操作,以生成所述新事件通知的所述和向量。之后,所述通知智能400检查所述新事件通知的所述和向量是否已包含在所述矩阵数据结构中。如果情况并非如此,则所述通知智能400随后使得随机指数引擎404将该和向量推送或添加440到所述矩阵数据结构,同时为其指定矩阵指数。同时,所述通知智能400可以通过使得所述随机指数引擎404使用向量距离度量(例如,余弦距离或相似度)比较所述新事件通知的所述和向量与每个过去事件通知的所述和向量,预测442所述新事件通知的所述关联程度。为了进行比较,所述随机指数引擎404使用所述随机索引算法,所述随机索引算法由M.Sahlgren在于2005年8月16日在丹麦哥本哈根召开的第七届国际术语和知识工程会议的语义索引方法和应用研讨会上发表的论文“随机索引简介”中进行了详细说明。然后,向所述通知智能400提供444上述比较的结果,即最接近所述新事件通知的所述过去事件通知和所述用户对其的反应(其本身从所述相应的词袋中检索而来)。接下来,所述通知智能400通过考虑所述用户对所述显示的过去事件通知的反应来获取所述新事件通知的所述关联程度。最后,所述通知智能基于所述关联程度决定446是否向所述用户显示所述新通知。应当注意的是,如果所述通知智能400作出不显示的决定,这并不意味着删除或丢弃所述事件通知;例如,此类事件通知可以隐藏在所述通知列表中(即所述用户应该例如按下“查看更多”按钮进行查看),或者稍后在所述用户空闲时向所述用户显示。

如果所述稀疏向量表示需要回译成词(转而描述所述通知类型),则可能需要稀疏向量解码器408。例如,假设稀疏向量如下:

000000110000000000000000000000001000000000000010000000000001000000000000001000001110000000000000000000000000001

该示例中的所述通知类型为“notificationType://facebook”。

所述稀疏向量解码器408可以两种方式工作。它可以与词的向量表示的精确匹配进行比较(通过简单地比较从所述零值中分配的索引),或与词的向量表示(具有余弦相似度或相似距离度量)的近似匹配进行比较。

图5更详细地示出了一个示例性实施例提供的由所述随机指数引擎404执行的所述推送操作440。特别地,目的在于所述随机指数引擎404接收诸如上述事件通知的给定事件通知的所述词袋。之后,所述随机指数引擎404请求502所述稀疏向量编码器406将所述词袋中的每个词转换为所述稀疏向量。该请求可以由所述通知智能400发起,通过所述随机指数引擎404发送到所述稀疏矢量编码器406。所述稀疏矢量编码器406获取所述词袋中的每个词的所述稀疏矢量,接着所述稀疏矢量编码器406检查存储在所述装置200的所述存储器202中的所述矩阵数据结构中是否已包含相同或相似稀疏矢量,所述矩阵数据结构在图5中作为随机指数矩阵500示出。如果不是这种情况,则将当前针对所述词袋中的所述词获取的所述稀疏向量发送504到所述随机指数引擎404。针对所述词袋中的其它词重复所述相同的操作。所述稀疏向量是单词的存储表示(转而描述通知类型)。所述相同词的表示可以通过存储稀疏向量来重新调用,使得所述相同词始终具有所述相同表示。这也可以通过使用哈希算法完成,而无需所述存储,所述哈希算法生成所述稀疏向量而不将其字符串表示存储到表或类似的数据结构。最终,所述随机指数引擎404获取所述词袋的所述和向量,将其添加506到所述随机指数矩阵500。

图6更详细地示出了一个示例性实施例提供的通过使用所述随机索引算法执行的所述预测操作442。如图6所示,所述随机指数引擎404将新事件通知的所述词袋发送602到所述稀疏向量编码器406,所述稀疏向量编码器406将所述词袋转换为所述稀疏向量表示,如上所述。之后,所述稀疏向量编码器406检查所述随机指数矩阵500中是否存在相同的稀疏向量表示。如果不是这种情况,所述稀疏向量编码器406将所述词袋的所述稀疏向量表示发送604到所述随机指数引擎404。接下来,例如,所述随机指数引擎404通过使用余弦距离或相似度,找到608所述随机指数矩阵500中的一个或多个所述过去事件通知的最接近或相似稀疏向量表示(或者,换言之,最接近或相似词袋),检索610按相关性顺序排列的相似词的列表。通过使用所述相似词列表,所述随机指数引擎404确定612所述新事件通知的通知策略,即决定是否向所述用户显示所述新事件通知。

图7示出了本发明提供的在通知类型排序算法中使用组合方案的示例。应当注意的是,所述随机指数引擎404单独使用的所述随机索引算法仅用于所述基于空间上下文的关联程度预测。这意味着所述位置、时间等受所述通知类型的约束。在许多情况下,用户行为无法基于所述空间上下文进行完全预测。相反,它是部分随机的。要预测此类随机发生的事件,最适合使用基于频率的算法。因此,希望按以下方式预测所述事件通知的所述关联程度(参考图7):

1)检测到基于所述空间上下文700的预测可能是随机的。通过检查表示所述通知类型的所述稀疏向量的饱和度,可以注意到这一点。所述饱和度意味着所述稀疏向量变得密集。所述稀疏向量在非零值之间具有零值。所述稀疏向量饱和时不再稀疏,这意味着非零值之间不存在零值。饱和稀疏向量的一个示例可以是11111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111(可以是任何非零值,但在该示例中,为简单起见,使用1)。当所述稀疏向量饱和时,噪声上升,并且所述稀疏表示不再可微。当所述稀疏向量非常饱和时,预测所述通知类型(即其关联程度)的最佳方法是其使用频率。所述使用频率可以根据频率指数预测指标704获取,所述频率指数预测指标704例如通过访问通知队列714计算每种通知类型的所述使用频率。

2)此外,当前使用的移动应用(“当前尖端应用”706)也是很好的预测指标,即与该应用相关的事件通知需要优先考虑。

3)在最近的应用列表718中组合的最近使用的应用708也是良好的指标,即因为与该应用相关的事件通知最近处于关注中心,因此需要优先考虑。

4)因此,所述得到的预测通知类型成为来自所述正随机指数引擎702、所述频率指数预测指标704、所述当前通知上下文706和所述最近通知上下文708的组合。图7示出了通知类型排序算法716从这些块中接收输入并执行排序流程以计算所述得到的预测通知类型。在一个实施例中,在通过使用所述通知类型排序算法716计算所述得到的预测通知类型时,所述当前706通知上下文和最近708通知上下文具有最高权重,所述频率指数预测指标704和所述正随机指数预测指标702将具有较低权重。所述通知类型排序算法716可以基于其接收的所述输入基于任何适当算法或确定过程来实现,此处示出的权重示例仅是一种可能的实现方式。

5)所述通知类型排序算法716可以通过使用预先训练的深度神经网络712进行进一步改进。该预先训练的神经网络712可以使用大量用户数据进行训练,以便从所述词中分类可能的通知类型。这是适用于普通用户的模型,可能不像所述随机指数引擎404那样准确。然而,所述随机指数引擎404在获取良好预测之前需要使用几天的时间,所述预先训练的分类在一开始就可以使用,当整个系统从用户习惯中获知时,所述权重逐渐转换为所述随机指数和频率。

6)提高准确性的另一种方法是负随机指数预测指标710。例如,这可以按以下方式使用所述随机索引来完成:

a、所述用户永远不会选择的通知(需要较长时间的疏忽)将被作为不相关类型予以学习;对于用户绝对不会感兴趣的通知类型,所述不相关类型将得以加强;

c、当所述用户选择这些事件通知时,所述事件通知的不相关性将降低,直至从所述负随机指数预测指标710中去除;

d、所述负随机指数预测指标710与所述正常随机指数引擎404类似,但它用于预测最不可能的候选对象,而不是预测某种事物;

e、当所述用户始终按某种通知类型删除或丢弃所述事件通知时,所述事件通知可能会被添加到所述负随机指数710中。然后,所述负随机指数预测指标708将开始针对这些事件通知进行预测。

7)此外,所述负随机指数预测指标708可以与所述随机指数引擎404组合。

为了举例说明所述通知类型排序算法716,将权重W1、W2、W3、W4、W5和W6作为不同排序算法的相应权重。例如,可以选择如下所示权重:

W1=0.20

W2=0.20

W3=0.25

W4=0.25

W5=-0.25

W6=0.1

所述权重不一定是固定的,但它们可以有条件地变化。一个此类权重变化事件可以是所述装置200的使用的开始,其中所述随机指数和频率算法并未从实际用户数据中获知足够的事件,并且预先训练的分类器具有更高权重,直至所述随机指数和频率算法获知所述用户习惯。该变化可以按产品进行调整,但一种可能性是保留一段时间,例如,一个星期作为“训练期”,以获知所述用户习惯。所述预先训练的分类器的权重在此期间可能逐渐减小,所述随机指数和频率算法则随着数据可用而有所改进。

以使用案例为例。所述正随机指数引擎702预测以下权重:Facebookmessenger0.9、Facebook groups/Savannah cat lover 0.8、Facebook groups/Servalcat lover 0.6和Google groups 0.6。所述频率指数预测指标702预测以下权重:Facebookmessenger 0.9、Facebook groups/Savannah cat lover 0.4和Facebook groups/Servalcat lover 0.5。所述当前尖端应用:Facebook messenger。所述最近应用:Facebookmessenger、Calculator和Browser。所述负随机指数预测指标708提供以下应用:Googlegroups。

例如,现在要考虑的问题可能是:“所述Facebook messenger通知是否应显示在所述移动设备的所述通知列表上”?在下文中,权重0.20用于所述正随机指数702,权重0.20用于所述频率指数704,权重0.25用于所述当前尖端应用706,权重0.25用于所述最近应用708,权重-0.25用于所述负随机指数710,权重0.10用于所述预先训练的神经网络712。通过应用所述权重,给出以下内容:

0.20*0.9=0.18(正随机指数702)

0.20*0.9=0.18(频率指数704)

0.25*1.0=0.25(所述当前尖端应用706=相同=1.0)

0.25*1.0=0.25(所述当前应用包含Messenger应用=1.0)

-0.25*0.0=0.0(负随机指数未针对Messenger进行预测)

0.1*0.2=0.02(预先训练的神经网络712)

因此,最终结果为0.18+0.18+0.25+0.28+0+0.02=0.91。这意味着将所述Messenger应用添加到通知策略中,所述通知策略将被进一步发送到将利用所述通知策略来排列其视图的所述通知UI 312。

图8示出了所述事件通知的基于所述通知上下文的关联程度预测的示例性操作周期800。所述周期800可以由所述装置200执行,从收集802所述通知上下文开始。这可以按上述内容完成;所述通知上下文可以包括所述移动设备的所述位置、所述事件通知的接收时间、所述传感器信息等。之后,将所述通知上下文编码804为所述词袋,然后将其转换806为所述稀疏向量表示。使用至少一个通知预测指标812(例如,结合图7讨论的正随机指数702、频率指数714等)的信息、通知队列810中包含的通知和最近应用808,所述通知排序算法716能够输出所述得到的预测通知类型。基于所述通知排序算法716的结果得出以下结论:如果与事件通知相关联的所述关联程度超出所述阈值,则决定通过所述通知UI 312向所述用户显示所述事件通知;或者,如果所述关联程度未超出所述阈值,则决定防止向所述用户显示所述事件通知。再次将关于实际反应的通知814的知识用作所述通知预测指标812处的输入。

本领域技术人员应当理解,每个步骤或操作或上述步骤或操作的任意组合都可以通过诸如硬件、固件和/或软件之类的各种方式实现。例如,上述一个或多个步骤或操作可以通过计算机或处理器可执行指令、数据结构、程序模块和其它合适的数据表示来体现。此外,体现上述步骤或操作的所述计算机可执行指令可以存储在相应的数据载体上,并由至少一个处理器(例如,所述装置200中包括的所述处理器204)执行。该数据载体可以实现为被配置为所述至少一个处理器可读的任何计算机可读存储介质,以执行所述计算机可执行指令。此类计算机可读存储介质可以包括易失性和非易失性介质以及可移动和不可移动介质。作为示例而非限制,所述计算机可读介质包括以适于存储信息的任何方法或技术实现的介质。更详细地,所述计算机可读介质的实际示例包括但不限于信息传递介质、RAM、ROM、EEPROM、闪存或其它存储技术、CD-ROM、数字多功能光盘(digital versatile disc,简称DVD)、全息介质或其它光盘存储器、磁带、磁盒、磁盘存储器和其它磁存储设备。

尽管本文中公开了本发明的示例性实施例,但应当注意的是,在不脱离所附权利要求所界定的法律保护范围的情况下,可以对本发明的实施例进行任何各种改变和修改。在所附权利要求中,如果没有另外明确说明,以单数形式提及的元素并不排除存在多个此类元素。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号