CN109416691B - 消息归组和相关性 - Google Patents

消息归组和相关性 Download PDF

Info

Publication number
CN109416691B
CN109416691B CN201780041020.5A CN201780041020A CN109416691B CN 109416691 B CN109416691 B CN 109416691B CN 201780041020 A CN201780041020 A CN 201780041020A CN 109416691 B CN109416691 B CN 109416691B
Authority
CN
China
Prior art keywords
message
groups
utility
user
group
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201780041020.5A
Other languages
English (en)
Other versions
CN109416691A (zh
Inventor
B·海斯
I·马苏德
C·关
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN109416691A publication Critical patent/CN109416691A/zh
Application granted granted Critical
Publication of CN109416691B publication Critical patent/CN109416691B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/02User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail using automatic reactions or user delegation, e.g. automatic replies or chatbot-generated messages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/335Filtering based on additional data, e.g. user or group profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/222Monitoring or handling of messages using geographical location information, e.g. messages transmitted or received in proximity of a certain spot or area
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/226Delivery according to priorities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/52User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail for supporting social networking services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/306User profiles

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

用于提供感兴趣的归组数据的***、方法和计算机可读介质。在一些配置中,计算设备可以包括具有一个或多个组的用户界面,该一个或多个组被配置为接收消息。这些组可以是计算机定义的组,诸如由计算设备或其它***定义,或者是用户定义的组。本文所描述的技术和技艺在该一个或多个组中接收消息,并且基于该消息的内容和/或上下文(例如,一天中的时间、发送者、接收者的地理位置、消息紧急性等)来确定消息相关性(例如,效用)。在一些配置中,消息相关性可以至少部分地基于该消息所关联的特定组或组群集。

Description

消息归组和相关性
技术领域
本申请涉及用于消息归组和相关性的方法和装置。
背景技术
跨多个源共享大量数据。数据可以是新闻、社交状态更新、对话、电子邮件、文本消息等形式。尽管可以从多个源容易地获得数据,但是用户通常必须访问特定站点以访问数据。例如,为了访问关于篮球的博客,用户必须花时间访问博客源以便访问数据。对于具有多种兴趣的用户,该过程可能是麻烦的、耗时的和艰巨的。
发明内容
本公开描述了用于提供数据组织和显示的***、方法和计算机可读介质。在一些示例中,计算设备可以包括具有一个或多个组的用户界面,该一个或多个组被配置为接收数据(例如,电子消息、对话中的消息、社交媒体更新、新闻文章、文本消息等),本文中称为消息。用户界面可以向用户提供单个访问视点以察看来自多个源的信息,从而减少用户需要访问以接收信息的单独的网站和/或消息***的数量。用户界面的组可以包括来自各种源的相关基于web的内容的聚合。用户界面的组可以是计算机定义的组,例如由计算设备或其它***定义,或者是用户定义的组。本文所描述的技术和技艺在一个或多个组中接收消息,并且基于该消息的内容和/或上下文(例如,一天中的时间、发送者、接收者的地理位置、消息紧急性等)来确定消息相关性(例如,效用)。在一些示例中,消息相关性可以至少部分地基于与该消息所关联的特定组或组群集(a cluster of groups)。组群集可以是相关组的聚合。组群集可以是计算机定义的和/或用户定义的。
本文所描述的示例技术可以应用机器学习来训练一个或多个效用函数以便为用户提供准确的消息相关性。本文所描述的示例技术可以关于机器学习模型中的消息应用用户选择输入。
应当理解,上述主题内容还可以实现为计算机控制的装置,计算机过程、计算***、或者诸如计算机可读介质之类的制品。通过阅读以下具体实施方式和对相关附图的回顾,这些和各种其它特征将是显而易见的。
提供本发明内容是为了以简化的形式介绍精选的概念,这些概念在下面的具体实施方式中进一步描述。本发明内容不旨在标识所要求保护的主题内容的关键或必要特征,也不旨在用于帮助确定所要求保护的主题内容的范围。例如,术语“技术”可以指如上文和贯穿文档描述的上下文所允许的***、方法、计算机可读指令、模块、算法、硬件逻辑和/或操作。此外,所要求保护的主题内容不限于解决在本公开的任何部分中提到的任何或所有缺点的实施方式。另外,术语“消息”或“传入消息”可以用于表示在计算设备处接收和/或经由计算设备查看的许多不同类型的消息,诸如电子邮件(电邮),文本消息、对话消息、博客消息、社交媒体消息、即时消息、发布等。术语“相关性”或“效用”可以用于表示消息对特定用户的主观重要性。
附图说明
参考附图阐述了具体实施方式。在附图中,参考标记的最左边的数字标识首次出现参考标记的附图。在不同附图中使用相同的附图标记指示相似或相同的项。
图1是描绘其中消息归组和相关性***的示例可以操作的示例环境的框图。
图2是描绘被配置为参与消息归组和相关性***的示例计算设备的框图。
图3是描绘消息相关性框架可以执行以确定消息的相关性及其显示的过程的示例架构的数据流程图。
图4是示出消息归组和相关性***的示例过程流程的流程图。
图5是示出训练消息归组和相关性***的效用函数的示例过程流程的流程图。
图6是示出在消息归组和相关性***中至少部分地基于消息的上下文来计算消息效用的示例过程流程的流程图。
图7是示出在消息归组和相关性***中基于两个或更多个消息之间的关系对消息进行归组的示例过程流程的流程图。
图8是示出在消息归组和相关性***中基于用户定义的参数来生成效用函数的示例过程流程的流程图。
图9示出了在与前面的附图一致的消息归组和相关性***中使用的示例消息传递(messaging)用户界面。
图10示出了与前述附图一致的消息归组和相关性***中使用的示例编辑界面。
具体实施方式
本文描述的技术提供了用于改进消息组织和显示的技术和构造。在各种示例中,计算***可以基于消息内容和/或上下文(例如,一天中的时间、发送者、接收者的地理位置、消息紧急性等)来计算消息相关性(例如,效用)。可以通过使用一个或多个效用函数来计算消息相关性。可以基于关于先前接收到的消息的用户偏好、***设置和/或用户动作来确定一个或多个效用函数。
在各种示例中,可以基于消息所关联的组来确定用于计算消息相关性的效用函数。组可以基于参与者、项目、用户兴趣等,并且可以包括来自各种源的相关的基于web的内容的聚合。在一些示例中,组可以由计算***生成,诸如通过使用与组和/或组的贡献者相关联的一个或多个关键字和/或主题。在一些示例中,组可以由用户生成。例如,用户可以为特定工作项目生成组,包括参与者列表。计算***可以识别该参与者列表中的消息的发送者,和/或与特定工作项目相关的消息的上下文。因此,计算***可以至少部分地基于与特定工作项目相关的组来计算消息的效用。
在一些示例中,可以基于消息所关联的组群集来确定用于计算消息相关性的效用函数。组群集可以是相关组的聚合。与上述单独的组类似,组群集可以由计算***生成,诸如通过使用与群集中的每个组相关联的一个或多个关键字和/或主题。在一些示例中,组群集可以由用户生成,诸如通过将多个组彼此相关联。例如,计算***可以通过将对多个体育兴趣博客和/或网站的用户选择接收到群集中来生成组群集。在这样的示例中,群集可以包括网球博客组、四轮驱动(4WD)发烧友组、骑自行车组等。举另一个示例,计算***可以通过接收用户正在活跃地工作的多个工作项目的标识并在群集中将该多个工作项目相关联来生成组的工作群集。
在各种示例中,计算***可以在组和/或组群集中显示相关消息的提醒(alert)。提醒可以是通知、消息图标、相关未读消息的数量等形式。在一些示例中,可以基于用户偏好(例如,针对特定发送者、特定组、特定组群集、一天中的时间等的提醒)来确定提醒。例如,用户可能偏好于接收在特定对话中接收到的新消息的通知。举另一个示例,用户可能偏好于接收在工作时间期间在工作组中接收到的新消息的通知。
另外,计算***可以应用机器学习来训练一个或多个效用函数以便为用户提供准确的消息相关性。计算***可以接收来自用户的关于消息的选择输入,并且可以基于该选择输入来更新效用函数。例如,计算***可以识别在工作时间期间没有延迟地选择来自特定发送者的消息。基于该识别,学习模块可以训练效用函数以增加在工作时间期间来自特定发送者的消息的效用。
关于组和组群集的消息相关性的效用计算可以增加消息传递用户界面的信噪比。通过浮现(例如,显示)与查看者相关的消息来增加信噪比。因此,使用效用计算的消息传递***可以比先前的消息传递***更有效。
另外,通过聚集消息的组,消息归组和相关性***可以减少用户必须访问以察看所有必要和/或期望的信息的单独的网站和/或消息传递***的数量。因此,消息归组和相关性***可以具有增加可用的整体网络带宽的技术优势,因为用户不需要访问每个单独的站点来察看经更新的消息。相反,用户可以获得组群集的快照视图,并且快速分辨出哪些组具有相关的新消息供用户查看。
消息归组和相关性***还可以减少用户在计算设备上为确保用户保持使用最新信息所需的时间。因此,通过允许更多计算能力可用于处理其它程序,***可以导致计算设备的功能的改进,因为用户将不需要花费同样多的时间来访问每个单独的网站或消息传递***以确定是否其中发布了感兴趣的消息。此外,组群集可以减少文件夹和/或消息的正常多屏幕分层(tier),并且将其展平为单级或双级用户界面。用户界面的展平可以导致更多的计算能力可用于处理其它程序,因为用户将不需要访问与多屏幕分层***中一样多的屏幕。
说明性环境
下面描述的环境仅构成一个示例,并不旨在将权利要求限制于任何一个特定的操作环境。在不脱离所要求保护的主题内容的精神和范围的情况下,可以使用其它环境。
图1示出了其中消息归组和相关性***的示例可以操作的示例环境100。在一些示例中,环境100的各种设备和/或组件包括分布式计算资源102,分布式计算资源102可以经由一个或多个网络104彼此通信以及与外部设备通信。
例如,网络104可以包括诸如互联网之类的公共网络、诸如机构和/或个人内联网之类的私有网络、或者私有和公共网络的某种组合。网络104还可以包括任何类型的有线和/或无线网络,包括但不限于局域网(LAN)、广域网(WAN)、卫星网络、电缆网络、Wi-Fi网络、WiMax网络、移动通信网络(例如,3G\4G等)或其任何组合。网络104可以使用通信协议,包括基于归组的和/或基于数据报的协议,诸如互联网协议(IP)、传输控制协议(TCP)、用户数据报协议(UDP)或其它类型的协议。此外,网络104还可以包括便于网络通信和/或形成网络的硬件基础的多个设备,诸如交换机、路由器、网关、接入点、防火墙、基站、中继器、骨干设备等等。
在一些示例中,网络104还可以包括实现至无线网络的连接的设备,诸如无线接入点(WAP)。示例性实施例支持通过在各种电磁频率(例如,射频)上发送和接收数据的WAP的连接,包括支持电气和电子工程师协会(IEEE)802.11标准(例如,802.11、802.11n等等)和其它标准的WAP。
在各种示例中,分布式计算资源102包括设备106(1)-106(N)。实施例支持其中设备106可以包括在群集或其它归组的配置中(诸如在云平台中)操作的一个或多个计算设备的场景。在这样的实施例中,设备106可以被配置为共享资源、平衡负载、提高性能、提供故障转移支持或冗余、或用于其它目的。设备106可以属于各种种类或类别的设备,诸如传统的服务器类型设备、台式计算机类型设备、移动设备和/或专用类型设备。因此,虽然示出为台式计算机和膝上型计算机,但是设备106可以包括各种各样的设备类型,并且不限于特定类型的设备。设备106可以表示但不限于台式计算机、服务器计算机、web服务器计算机、个人计算机、移动计算机、膝上型计算机、平板计算机、电信设备、终端、个人数据助理(PDA)、游戏控制台、游戏设备、工作站、媒体播放器、机顶盒、包含在计算设备中的集成组件、电器(appliance)或任何其它种类的计算设备。
设备106可以包括任何类型的计算设备,该任何类型的计算设备具有一个或多个处理单元108,处理单元108可操作地连接到计算机可读介质(CRM)110,诸如经由总线112,总线112在一些情况下可以包括***总线、数据总线、地址总线、PCI总线、Mini-PCI总线以及各种本地、***设备和/或独立总线中的一个或多个。
本文描述的CRM(例如,CRM 110)包括计算机存储介质和/或通信介质。计算机存储介质包括有形存储单元,诸如易失性存储器、非易失性存储器和/或其它持久和/或辅助计算机存储介质、用任何方法或技术实现的可移动和不可移动计算机存储介质,以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据之类的信息。计算机存储介质包括作为设备的一部分或设备外部的设备或硬件组件中所包括的有形或物理形式的介质,包括但不限于RAM、静态RAM(SRAM)、动态RAM(DRAM)、相变存储器(PRAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、闪存、压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、光卡或其它光存储介质、磁带盒、磁带、磁盘存储、磁卡或其它磁存储设备或介质、固态存储器设备、存储阵列、网络附加存储、存储区域网络、托管的计算机存储或存储器、存储、设备和/或存储介质,其可用于存储和维护信息以供设备106或消费者计算设备128访问。
与计算机存储介质相比,通信介质可以用调制数据信号(诸如载波)或其它传输机制来体现计算机可读指令、数据结构、程序模块或其它数据。如本文所定义的,计算机存储介质不包括通信介质。
存储在CRM 110上的可执行指令可以包括例如操作***114、消息相关性框架116、消息效用模块118、消息显示模块120、训练模块122、以及可由处理单元108加载和执行的其它模块、程序、或者应用。另外地或替代地,本文描述的功能可以至少部分地由诸如加速器之类的一个或多个硬件逻辑组件来执行。例如并且不限制,可以使用的说明性类型的硬件逻辑组件包括现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上***(SOC)、复杂可编程逻辑器件(CPLD)等。例如,加速器可以表示混合设备,诸如来自XILINX或ALTERA的包括嵌入在FPGA架构中的CPU的混合设备。
设备106还可以包括一个或多个输入/输出(I/O)接口124,以允许设备106与输入/输出设备通信,诸如包括***输入设备(例如,键盘、鼠标、笔、游戏控制器、语音输入设备、触摸输入设备、手势输入设备等)的用户输入设备和/或包括***输出设备(例如,显示器、打印机、音频扬声器、触觉输出等)的输出设备。为简单起见,从所示设备106中省略了其它组件。
设备106还可以包括一个或多个网络接口126,以实现设备106与其它联网设备之间的通信,其它联网设备诸如是消费者可以通过其发送和接收消息的消费者计算设备128。这样的网络接口126可以包括一个或多个网络接口控制器(NIC)或其它类型的收发机设备,以通过网络发送和接收通信。
消息归组和相关性***中涉及的其它设备可以包括消费者计算设备128(1)-128(K)。消费者计算设备128可以属于各种种类或类别的设备,诸如传统的消费者类型设备、台式计算机类型设备、移动设备、专用类型设备、嵌入式类型设备和/或可穿戴设备。消费者计算设备128可以包括但不限于台式计算机(例如,128(1))、膝上型计算机、瘦客户端、终端或其它移动计算机、个人数据助理(PDA)、诸如智能手表或生物识别或医疗传感器之类的可穿戴计算机(例如,128(2),以图形方式表示为智能手表))、植入的计算设备(诸如生物识别或医疗传感器)、计算机导航消费者计算设备、基于卫星的导航***设备(包括全球定位***(GPS)设备和其它基于卫星的导航***设备)、平板计算机或平板混合计算机(例如,128(3))、智能电话、移动电话、移动电话-平板混合设备或其它电信设备(例如,128(4))、诸如网络电视机、机顶盒、媒体播放器、照相机或个人视频录像机(PVR)之类的便携式或基于控制台的游戏设备或其它娱乐设备(例如,128(5),以图形方式表示为游戏手柄),诸如车辆控制***、车辆安全***或用于车辆的电子钥匙之类的汽车用计算机(例如,128(K),以图形方式表示为汽车)、或包含在计算设备、电器或其它计算设备中的被配置为参与或执行本文描述的消息归组和相关性***的集成组件。
消费者计算设备128可以表示任何类型的计算设备,该任何类型的计算设备具有一个或多个处理单元130,处理单元130可操作地连接到计算机可读介质(CRM)132,诸如经由总线134,总线134在一些情况下可以包括***总线、数据总线、地址总线、PCI总线、Mini-PCI总线以及各种本地、***设备和/或独立总线中的一个或多个。
存储在CRM 132上的可执行指令可以包括操作***136、消息相关性框架138、以及可由处理单元130加载和执行的其它模块、程序或应用。在各种示例中,消息相关性框架138可以包括用于显示、选择、编辑和草拟消息的界面。在一些示例中,消息相关性框架138可以执行上述消息相关性框架116的功能中的一个或多个。另外地或替代地,本文描述的功能可以至少部分地由诸如加速器之类的一个或多个硬件逻辑组件来执行。例如并且不限制,可以使用的说明性类型的硬件逻辑组件包括现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上***(SOC)、复杂可编程逻辑器件(CPLD)等。
消费者计算设备128还可以包括一个或多个I/O接口,其包括一个或多个网络接口140以通过网络104实现消费者计算设备128与其它联网设备(诸如其它消费者计算设备128或设备106)之间的通信。这样的网络接口140可以包括一个或多个网络接口控制器(NIC)或其它类型的收发机设备,以通过网络发送和接收通信。
消费者计算设备128还可以包括I/O接口142,以使设备128能够接收用户输入和对输入的响应。示例支持I/O接口142接收来自用户的输入,例如,消息的选择。另外地或替代地,I/O接口142可以提供消息、组和/或组群集的显示。组可以包括来自各种源的相关的基于web的内容(例如,消息)的聚合,并且组群集可以包括相关组的聚合。
图2是描绘被配置为参与消息归组和相关性***的示例计算设备200的框图。在一些示例中,计算设备200可以是分布式计算资源的一个计算设备,诸如图1的设备106。在一些示例中,计算设备200可以是消费者计算设备,诸如图1的消费者计算设备128。在设备200中,处理单元202可以包括处理单元108,并且可以表示例如CPU类型处理单元、GPU类型处理单元、现场可编程门阵列(FPGA)、另一类别的数字信号处理器(DSP)、或在某些情况下可由CPU驱动的其它硬件逻辑组件。例如并且不限制,可以使用的说明性类型的硬件逻辑组件包括专用集成电路(ASIC)、专用标准产品(ASSP)、片上***(SOC)、复杂可编程逻辑器件(CPLD)等。
在一些示例中,CRM 204可以表示CRM 110并且可以存储可由处理单元202执行的指令,如上所述,处理单元202可以表示并入设备200中的处理单元。CRM 204还可以存储可由外部处理单元(诸如外部CPU类型处理单元206、外部GPU类型处理单元208)执行和/或可由外部加速器210(诸如FPGA类型加速器210(1)、DSP类型加速器210(2)或任何其它加速器210(N))执行的指令。在各种示例中,至少一个CPU类型处理单元206、GPU类型处理单元208和/或加速器210并入设备200中,而在一些示例中,CPU类型处理单元206、GPU类型处理单元208和/或加速器210中的一个或多个在设备200外部。
在所示示例中,CRM 204还包括数据存储212。在一些示例中,数据存储212包括诸如数据库、数据仓库或其它类型的结构化或非结构化数据存储之类的数据存储。在一些示例中,数据存储212包括具有一个或多个表、索引、存储过程等的语料库(corpus)和/或关系数据库以实现数据访问,诸如web表,其例如包括超文本标记语言(HTML)表、资源描述框架(RDF)表、web本体语言(OWL)表和/或可扩展标记语言(XML)表。数据存储212可以存储用于被存储在CRM 204中和/或由处理单元202执行的过程、应用、组件和/或模块的操作的数据和/或指令。替代地,一些或所有上面提及的数据和/或指令可以存储在一个或多个处理单元202板载的单独存储器214上,诸如CPU类型处理器、GPU类型处理器、FPGA类型加速器、DSP类型加速器和/或其它加速器板载的存储器。
设备200还可以包括一个或多个输入/输出(I/O)接口216(其可以是I/O接口124/142)以允许设备200与诸如包括***输入设备的用户输入设备(例如,键盘、鼠标、笔、游戏控制器、语音输入设备、触摸输入设备、手势输入设备等)和/或包括***输出设备的输出设备(例如,显示器、打印机、音频扬声器、触觉输出等)之类的输入/输出设备通信。另外,在设备200中,网络接口218(其可以是网络接口126/140)可以表示例如网络接口控制器(NIC)或其它类型的收发机设备以通过网络发送和接收通信。
在各种示例中,网络接口218、I/O接口216、CRM 204和处理单元202中的一个或多个可以经由总线220来操作地连接,总线220可以是总线112/134。在一些示例中,总线220可以包括***总线、数据总线、地址总线、PCI总线、Mini-PCI总线以及各种本地、***和/或独立总线中的一个或多个。
在所示示例中,CRM 204还包括操作***222,操作***222可以是操作***114/136。CRM 204还包括消息相关性框架224,消息相关性框架224可以是消息相关性框架116/138。消息相关性框架224可以包括一个或多个模块和/或API,其被示出为框226、228、230、232、234、236、238和240,但是这仅是示例并且数量可以变得更高或者更低。消息相关性框架224的一个或多个模块和/或API可以用于确定消息的组织和/或显示(例如,消息的归组、消息组的聚集、消息的相关性、消息的提醒等)。
与框226、228、230、232、234、236和238相关联描述的功能可以进行组合以由较少数量的模块和/或API执行,或者可以进行分割并由更多数量的模块和/或API执行。例如,框226可以表示用户偏好模块,其具有对设备200的处理单元202进行编程以将一个或多个用户偏好传送给消息相关性框架224进行处理的逻辑。用户偏好可以与当前区域、当前位置、预期位置、一天中的时间、一周或一月中的一天、发送者、消息所关联的组、消息的紧急性、和/或其它优先级偏好相关。
例如,用户可以存储对用户所在的区域中的对话的偏好。因此,如果用户行进到新区域,则新区域中的对话可以优先于旧区域中的对话。举另一个示例,用户可以存储对与预期的行进位置(诸如聚会)相关的消息的偏好。用户可以将预期位置输入到导航***中,例如在车辆中或在移动设备上,并且可以优先考虑与该预期位置相关的消息。为了进一步说明,在去聚会的途中,用户可能会从女主人收到要求更多薯条的消息。计算***可以识别来自预期位置和/或与其相关联的人的消息,并且可以浮现消息以提醒用户接收该消息。
在各种示例中,用户偏好可以与组群集(例如,相关组的聚合)相关。在这样的示例中,计算***可以跨多个组应用用户偏好,例如用于批量编辑和/或配置。可以跨一个或多个组群集应用用户偏好。例如,用户可以选择跨所有群集的批量编辑,以对具有关键字“紧急”的任何消息给予优先处理。举另一个示例,具有与工作相关的组群集的用户可以存储对在工作时间期间提醒工作相关的对话的偏好。因此,工作群集中的每个组将基于该群集来配置有偏好。
在一些示例中,用户偏好可以与组和/或组群集中的相关消息的提醒相关(例如,针对特定发送者、特定组、特定组群集、一天中的时间等的提醒)。提醒可以是消息通知、消息图标、相关未读消息的数量等形式。例如,用户可能偏好接收在特定对话中接收到的新消息的通知。举另一个示例,用户可能偏好在工作时间期间接收在工作组中接收到的新消息的通知。
框228可以表示***设置模块,其具有对设备200的处理单元202进行编程以将一个或多个***设置传送到消息相关性框架224进行处理的逻辑。一个或多个***设置可以与上述用户偏好结合或分开应用。在各种示例中,***设置可以存储在数据存储212中。在一些示例中,***设置可以存储在外部数据存储中。在这样的示例中,可以经由网络接口218来访问外部数据存储。
在各种示例中,***设置可以是应用于生成组和/或组群集的基线规则集合。在这样的示例中,可以使用现有对话、电邮帐户、联系人、源、关键字、描述、用户标记的内容和其它信息来生成组和/或组群集。例如,计算设备可以自动生成包括来自各种新闻源的文章的新闻源组。举另一个示例,计算设备可以生成具有带有相同域名(诸如@mywork.com)的联系人的工作组。
另外地或替代地,***设置可以是用于为各个组和/或组群集生成消息效用的基线规则集合。在各种示例中,消息效用可以基于消息的类型、消息的紧急性、消息中的内容、一天中的时间、一周中的一天、用户标记的内容、与消息相关联的事件等。例如,计算***可以为电子邮件生成比博客帖子更高的消息效用。举另一个示例,计算***可以为包含事件的邀请的消息生成比没有邀请的消息更高的消息效用。
框230可以表示归组模块,其具有对处理单元202进行编程以生成组和/或组群集的逻辑。如上所述,组可以包括来自各种源的相关的基于web的内容(例如,消息)的聚合,并且组群集可以包括相关组的聚合。在各种示例中,归组模块可以经由用户偏好模块和/或***设置模块接收输入。在一些示例中,归组模块可以经由消息传递界面接收输入以创建组和/或组群集。输入可以包括组的成员、与组相关联的关键字、被选择以聚集的组、组的名称等。在一些示例中,输入可以包括与在组中聚合的基于web的内容的相关源相关联的用户名称和密码信息。基于输入,归组模块可以生成组和/或组群集以用于对消息进行归组。
作为说明性示例,归组模块可以生成工作组,该工作组具有来自共享共同域名(诸如@mywork.com)的同事的消息。用户可能期望将该组缩小到与该用户在共同项目上工作的同事。归组模块可以接收相关同事的输入,并生成共同项目组。举另一个示例,归组模块可以将工作相关的消息组在工作群集中关联在一起。因此,用户可以享受对与工作相关的消息的容易访问,而无需访问多个源,诸如电邮、各种对话源、互联网活动等。
框232可以表示效用函数模块,其具有对处理单元202进行编程以将一个或多个效用函数应用于输入消息进而确定消息效用(例如,消息对于接收者的价值)的逻辑。一个或多个效用函数可以基于输入消息所关联的组和/或组群集。
在各种示例中,一个或多个效用函数可以是包括一个或多个参数的方程。在一些示例中,一个或多个参数可以基于来自设置模块和/或用户偏好模块的输入。在这样的示例中,计算***可以接收用户偏好和/或***设置,并且至少部分地基于接收到的偏好和/或设置来确定效用函数方程的一个或多个参数。例如,效用函数的参数可以是基于用户偏好中指定的特定发送者来增加消息效用的因素。举另一个示例,效用函数的参数可以是基于***设置中强调的关键字(例如“紧急”)来增加消息效用的因素。
在各种示例中,效用函数模块可以基于来自机器学习模块的输入来调整效用函数的参数和/或消息的效用。在这样的示例中,可以基于来自一个或多个I/O接口的关于各个消息的输入来调整消息的效用。例如,效用函数模块可以基于来自机器学习模块的输入来更新效用函数的参数,该输入指示用户在其它消息之前始终从特定发送者选择消息。因此,与更新前的效用相比,将增加来自特定发送者的消息的所得效用。
框234可以表示消息关系模块,其具有对处理单元202进行编程以关联两个或更多个消息的逻辑。消息关系模块可以基于主题、关键字、对话、组、发送者等来关联消息。在各种示例中,消息关系模块可以基于与其它消息的关系来调整消息的效用。例如,如果消息关系模块确定两个消息是相关的,诸如两个消息在同一对话中,则消息关系模块可以基于该关系来增加消息的效用。
框236可以表示排序模块,其具有对设备200的处理单元202进行编程以基于总体效用(例如,针对关系调整的效用)对消息进行排序的逻辑。在各种示例中,排序模块可以对传入消息进行排序。在一些示例中,排序模块可以对具有高于阈值效用的效用的消息进行排序。在这样的示例中,排序模块可以对被确定为具有与用户的阈值相关性的消息进行排序。排序可以基于消息所关联的组和/或组群集。在一些示例中,排序模块可以排序预定数量的消息,诸如,举例来说,前5或前10的消息。在这样的示例中,预定数量的消息可以针对组和/或针对组群集。
在各种示例中,排序模块可以将经排序的消息发送到显示模块以呈现在用户设备的显示器上。例如,排序模块可以排序组群集中的每个组中的前3的消息,并且可以将信息发送到显示模块,以呈现要在显示器上呈现的前3的消息的指示。举另一个示例,排序模块可以排序组群集中的前10的消息,并且可以将信息发送到显示模块,以呈现要在显示器上呈现的前10的消息的指示。虽然这里呈现了值3和10作为用于显示的经排序的消息的数量的示例,但是在任何特定实施方式中要显示的经排序的消息的数量可以是任何数量,这取决于设计参数、用户偏好或其它因素。
框238可以表示显示模块,其具有对设备200的处理单元202进行编程以显示消息传递界面的逻辑。消息传递界面可以包括组、组群集、消息和/或消息的指示(例如,提醒、通知、未读消息的数量的符号等)。在各种示例中,消息传递界面还可以提供一种通过其可以编辑和/或更新组和/或组群集(例如,更新用户偏好、改变布局、调整组中的成员和/或群集中的组)的手段。在一些示例中,消息传递界面还可以提供一种通过其可以草拟新消息的手段。
框240可以表示机器学习模块,其具有对设备200的处理单元202进行编程以提取与消息、消息组和/或组群集相关的输入数据的逻辑。输入数据可以表示消息的选择、消息保持未读取的时间长度、消息的忽略、消息的分类、消息的跟进、接收后消息优先顺序等等。可以经由设备200的一个或多个I/O接口216接收输入数据。在一些示例中,输入数据可以存储在计算设备200上,诸如,举例来说,存储在数据存储212中。
在各种示例中,机器学习模块可以周期性地训练***,诸如,举例来说,每天在指定的时间。在一些示例中,周期性间隔可以由程序管理者确定(例如,每月、每周、每天)。在一些示例中,机器学习模块可以在由程序管理者手动指示时获得或访问数据。在各种示例中,机器学习模块可以连续地训练***。在这样的示例中,机器学习模块可以利用对输入数据的基本连续的收集来连续地训练效用函数。
替代地,一些或所有上述数据可以存储在单独的存储器242上,诸如CPU类型处理单元206板载的存储器242(1)、GPU类型处理单元208板载的存储器242(2)、FPGA型加速器210(1)板载的存储器242(3)上、DSP类型加速器210(2)板载的存储器242(4)和/或另一个加速器210(N)板载的存储器242(M)上。
图3是描绘消息相关性框架116/224可以执行以确定消息的组织和/或显示(例如,消息组、组群集、消息的相关性、消息的提醒等)的过程的示例架构300的数据流程图。消息可以是电子邮件(电邮)、文本消息、对话消息、博客消息、社交媒体消息、即时消息、发布等的形式。
如图3所示,消息归组和相关性***过程可以开始于消息归组302。消息归组302可以表示创建和/或更新消息组和/或组群集。在一些示例中,组的组和/或组可以经由用户界面生成,下面参考图9进一步详细描述。在各种示例中,可以通过使用用户偏好304和/或***设置306来生成消息归组302中的组和/或组群集。
在各种示例中,计算***可以在消息归组302中接收一个或多个用户偏好304,并且可以生成组和/或组群集。生成组和/或组群集的用户偏好可以与源、位置、关键字、描述、主题(例如,用户兴趣、项目等)等相关。例如,计算***可以接收用户偏好以根据作为在特定工作项目上的同事的发送者的选择而生成消息组。举另一个示例,计算***可以接收用户偏好以生成组群集,该组群集包括用户是其一部分的多个项目的工作组。
另外地或替代地,计算***可以在消息归组302中接收一个或多个***设置306,并且可以基于***设置306来生成组和/或组群集。在各种示例中,***设置306可以基于关键字、与消息相关的域名、现有对话、用户标记的内容、用户联系人、频繁访问的社交媒体站点等来生成组和/或组群集。例如,***设置306可以自动地将来自特定域(诸如@mywork.com)的发送者归组在一起,并基于该域来生成工作组。
在一些示例中,***设置306可以基于一个或多个关键字、识别的用户兴趣、用户偏好304等建议要添加到组的成员和/或要添加到群集的组。例如,***设置306可以识别由用户生成的新组包括特定关键字。***设置306可以辨识共享特定关键字的两个另外的组,并且可以建议在群集中添加其它相关组。
在一些示例中,可以经由学习机制来更新消息归组302中的组和/或组群集,该学习机制使用机器学习技术来识别对用户重要的消息的特性(例如,在阈值时间内响应、来自频繁访问的联系人),以及对用户不重要的消息的特性(例如,在没有阅读的情况下删除等)。术语“机器学习”可以指响应于其接收到的数据而学习(例如,适应处理)的一个或多个程序。例如,学习机制308可以构建、修改或以其它方式利用从输入数据310创建的模型,并且可以使用该模型进行预测或决策。输入数据310可以表示消息的选择、消息保持未读取的时间长度、消息的忽略、消息的分类、消息的跟进、接收后消息优先顺序等等。当计算***处于在线和/或离线模式时,输入数据310可以经由一个或多个I/O接口(诸如I/O接口144/216)由学习机制308处理。
在各种示例中,学习机制308可以用于处理输入数据310,以便通过基于输入数据310调整组和/或组群集的效用函数来改进消息组和/或组群集。可以使用监督和/或无监督学习来训练学习机制308。例如,在时间上,随着学习机制308接收到更多输入数据310,计算***可以基于输入数据310调整特定组和/或组群集的消息效用计算。
在一些示例中,学习机制308可以周期性地训练***,诸如,举例来说,在每天的指定时间。在一些示例中,周期性间隔可以由程序管理器配置(例如,每月、每周、每天)。在一些示例中,学习机制308可以在由程序管理者手动指示时获得或访问数据。在各种示例中,学习机制308可以训练效用函数的一个或多个参数(例如,消息归组或消息聚类算法),以便更新组和/或组群集。
在一些示例中,学习机制308可以利用对输入数据310的基本连续的收集来周期性地或连续地训练效用函数计算器312。效用函数计算器312可以生成用于计算消息的效用的一个或多个效用函数。在一些示例中,效用函数计算器312可以为组群集中的每个组生成效用函数。在一些示例中,效用函数计算器312可以为组群集生成效用函数。在这样的示例中,相同的效用函数可以应用于组群集中的每个组,从而提供一种通过其可以全体地编辑群集中的组的手段。
在各种示例中,一个或多个效用函数可以是参数化方程。在一些示例中,可以从用户偏好304生成和/或导出由效用函数计算器312生成的一个或多个效用函数的参数。用户偏好304可以与当前区域、当前位置、预期目的地、一天中的时间、一周和/或一个月中的一天、发送者、消息所关联的组、消息的紧急性、和/或其它优先顺序偏好相关。
在一些示例中,用户偏好304可以包括要应用于效用函数的特定于组的参数。在这样的示例中,可以针对每个组单独指定基于用户偏好304的参数。例如,用户可以存储对用户所在的区域(例如,由位于消费者设备中的位置检测设备(诸如全球定位***)检测到)中的对话的偏好。因此,如果用户行进到新区域,则新区域中的对话可以优先于先前区域中的对话。举另一个示例,用户可以存储对与预期的行进位置相关的消息的偏好。用户可以将预期位置输入到导航***中,例如在车辆(例如,图1的128(K))中或在移动设备(例如,图1中的128(4))上,并且可以优先考虑与预期目的地相关的消息。为了进一步说明,在前往特定旅游目的地的途中,用户可以从新闻源接收指示旅游目的地处的活动的消息。计算***可以识别该消息具有与旅游目的地相关联的关键字或主题,并且可以浮现该消息以提醒用户接收该消息。
在一些示例中,用户偏好304可以包括要应用于特定于组群集的效用函数的参数。在这样的示例中,可以跨群集中的所有组应用由用户偏好304生成的参数。例如,用户偏好可以包括在星期一到星期五的正常工作时间期间对工作组中的新消息进行优先考虑的参数。举另一个示例,用户偏好可以包括在周末对社交兴趣组中的新消息进行优先考虑的参数。
在各种示例中,可以从***设置306生成和/或导出由效用函数计算器312生成的一个或多个效用函数的参数。在这样的示例中,***设置306可以与消息的类型、消息的紧急性、优先级的指示、消息中的内容、一天中的时间、一周中的一天、用户标记的内容、与消息相关联的事件等相关。例如,***设置306可以包括要应用于效用函数计算器312的参数,该参数自动导致电子邮件消息获得比博客帖子消息更高效用。举另一个示例,***设置306可以包括要应用于效用函数计算器312的参数,该参数为包含对事件的邀请的消息关联较高效用。
如图3所示,效用函数计算器312可以接收输入消息314。可以将输入消息分配到组和/或组群集。在一些示例中,基于组和/或组群集分配,可以通过效用函数计算器312处理输入消息314。
在各种示例中,输入消息可以由效用函数计算器312分析以确定要应用于一个或多个效用函数(例如,参数化方程)的值。效用函数计算器312可以针对内容、上下文、发送者信息和一个或多个效用函数的其它相关参数来分析输入消息314。然后,效用函数计算器312可以将适当的值应用于效用函数并计算消息效用316。消息效用316可以表示对用户的主观相关性。
在各种示例中,可以基于消息关系318来更新消息效用316。消息关系318可以表示组和/或组群集中的两个或更多个消息的关系。可以基于共同主题、关键字、对话发送者等来关联两个或更多个消息。响应于确定两个或更多个消息之间的关联性,消息关系318可以增加消息的效用,以增加用户将被提醒接收该消息的可能性。例如,如果消息关系模块确定两个消息是相关的,诸如同一对话中的两个消息,则消息关系模块可以基于该关系来增加消息的效用。
在各种示例中,计算***可以在消息排序320中相对于其它消息对输入消息314进行排序。消息排序320可以基于消息效用316和/或与一个或多个其它消息的消息关系318。在一些示例中,消息排序320可以对具有高于阈值效用的总体效用(例如,针对关系调整的消息效用)的消息进行排序。在这样的示例中,可以将排序的消息确定为具有与用户的阈值相关性。阈值效用可以基于用户偏好304和/或***设置306。
在一些示例中,消息排序320可以排序组中的预定数量的消息。例如,消息排序320可以排序每个组中的前3的消息。在一些示例中,消息排序320可以排序组群集中的预定数量的消息。例如,消息排序320可以排序组群集中的前10的消息,其中所有10个消息在同一个组中。预定数量的消息可以基于用户偏好304和/或***设置306。
在各种示例中,可以将经排序的消息发送到消息显示322以呈现在用户设备的显示器上。在一些示例中,消息显示322可以是消息传递界面,消息传递界面包括组、组群集、消息和/或消息的指示(例如,提醒、通知,未读消息的数量的符号等)。在一些示例中,消息显示322可以是具有组群集的消息接口。在这样的示例中,组的群集可以指示存储在每个群集中的多个相关消息。
在各种示例中,消息显示322可以提供一种通过其可以编辑和/或更新组和/或组群集(例如,更新用户偏好、改变布局、调整组中的成员和/或群集中的组)的手段。在一些示例中,消息显示322可以进一步提供一种通过其可以创建新消息的手段。
在各种示例中,消息显示322可以呈现消息的指示。消息的指示可以是提醒、通知、未读消息的数量的符号等。在一些示例中,消息的指示可以包括消息的内容的至少一部分。在各种示例中,可以基于用户偏好304和/或***设置306来确定消息的指示。例如,用户偏好304可以包括期望接收对来自特定发送者的消息的通知。基于确定输入消息314是来自特定发送者,消息显示322可以呈现新消息的通知,诸如指示接收的弹出(pop-up)通知。
另外,消息显示322可以包括用于接收和处理来自用户的输入数据310的消息传递界面。输入数据310可以表示消息的选择、消息保持未读取的时间长度、消息的忽略、消息的分类、消息的跟进、接收后消息优先顺序等等。如上所述,输入数据310可以由学习机制308处理,以用于训练消息归组302和/或效用函数计算器312。
说明性过程
图4-图8是描绘用于消息归组和相关性***的示例过程的流程图。在各个框中示出并参考这些框概述示例过程的操作。这些过程被示为框的逻辑流程,其中每个框可以表示可以用硬件、软件或其组合实现的一个或多个操作。在软件的上下文中,操作表示存储在一个或多个计算机可读介质上的计算机可执行指令,所述计算机可执行指令在由一个或多个处理器执行时使得一个或多个处理器执行所记载的操作。通常,计算机可执行指令包括执行特定功能或实现特定抽象数据类型的例程、程序、对象、模块、组件、数据结构等。描述操作的顺序不旨在被解释为限制,并且任何数量的所描述的操作可以以任何顺序执行、以任何顺序组合、细分为多个子操作和/或并行执行以实现所描述的过程。
图4是示出消息归组和相关性***的示例过程流程400的流程图。
在框402处,计算***可以生成组群集。在各种示例中,可以通过应用用户偏好和/或***设置来生成组和/或组群集。在一些示例中,可以经由用户界面生成组和/或组群集。在这样的示例中,用户界面可以接收一个或多个输入,该一个或多个输入选择关于组和/或组群集的特定偏好。一个或多个输入可以与源、位置、关键字、描述、主题(例如,用户兴趣、项目等)等相关。例如,用户界面可以接收输入以根据作为特定工作项目上的同事的发送者的选择而生成消息组。在这样的示例中,用户界面可以接收与工作项目相关联的特定人员的输入、以及工作项目的关键字或标题。举另一个示例,用户界面可以接收用户偏好以生成组群集,该组群集包括用户是其一部分的多个项目的工作组。在这样的示例中,用户界面可以接收输入以生成每个组,以及每个组之间的关系。
另外地或替代地,可以通过应用***设置来生成组和/或组群集。在各种示例中,***设置可以基于关键字、与消息相关的域名、现有对话、用户标记的内容、用户联系人、频繁访问的社交媒体站点等生成组和/或组群集。例如,***设置可以自动地将来自特定域(诸如@mywork.com)的发送者归组在一起,并根据该域来生成工作组。
在框404处,计算***可以生成效用函数。可以将效用函数应用于组和/或跨群集中的组应用效用函数。在各种示例中,效用函数可以是参数化方程。在一些示例中,可以从用户偏好生成和/或导出效用函数的参数。用户偏好可以与当前区域、当前位置,预期目的地、一天中的时间、一周和/或一月中的一天、发送者、消息所关联的组、消息的紧急性、和/或其它优先顺序偏好相关。
在各种示例中,可以从***设置生成和/或导出效用函数的参数。在这样的示例中,***设置可以与消息的类型、消息的紧急性、优先级的指示、消息中的内容、一天中的时间、一周中的一天、用户标记的内容、与消息相关联的事件等相关。例如,***设置可以包括自动导致电子邮件消息获得比博客帖子消息更高效用的参数。举另一个示例,***设置可以包括为包含对事件的邀请的消息比不包含邀请的消息分配更高效用的参数。
在框406处,计算***可以接收消息。消息可以是电子邮件(电邮)、文本消息、对话消息、博客消息、社交媒体消息、即时消息、发布或其它类型的消息的形式。可以将消息接收到组和/或组群集中(例如,与组和/或组群集相关联、分配到组和/或组群集等)。
在框408处,计算***可以计算消息的效用。消息的效用可以表示特定消息对计算***的用户的相关性。可以通过将在404处生成的效用函数应用于消息来计算消息的效用。在一些示例中,可以评估消息以确定与效用函数相关的参数的存在。可以将参数的值应用于效用函数以在408处产生消息的效用的结果。
在框410处,计算***可以使得消息的指示被显示在计算设备上。在一些示例中,可以将消息显示在消息传递界面中,例如图9中描绘的消息传递用户界面。消息的指示可以是提醒、通知、未读消息的数量的符号等。在一些示例中,消息的指示可以包括消息的内容的至少一部分。
图5是示出训练消息归组和相关性***的效用函数的示例过程流程500的流程图。
在框502处,计算***可以生成效用函数。可以将效用函数应用于组和/或跨群集中的组应用效用函数。在各种示例中,效用函数可以是参数化方程。在一些示例中,可以从用户偏好生成和/或导出效用函数的参数。用户偏好可以与当前区域、当前位置、预期目的地、一天中的时间、一周和/或一月中的时间、发送者、消息所关联的组、消息的紧急性、和/或其它优先顺序偏好。
在各种示例中,可以从***设置生成和/或导出效用函数的参数。在这样的示例中,***设置可以与消息的类型、消息的紧急性、优先级的指示、消息中的内容、一天中的时间、一周中的一天、用户标记的内容、与消息相关联的事件等相关。例如,***设置可以包括自动导致电子邮件消息获得比博客帖子消息更高效用的参数。举另一个示例,***设置可以包括为包含对事件的邀请的消息关联较高效用的参数。
在框504处,计算***可以接收消息。消息可以是电子邮件(电邮)、文本消息、对话消息、博客消息、社交媒体消息、即时消息、发布或其它类型的消息的形式。可以将消息接收到组和/或组群集中(例如,与组和/或组群集相关联、分配到组和/或组群集等)。
在框506处,计算***可以计算消息的效用。消息的效用可以表示特定消息对计算***的用户的相关性。可以通过将在502处生成的效用函数应用于消息来计算消息的效用。在一些示例中,可以评估消息以确定与效用函数相关的参数的存在。可以将参数的值应用于效用函数以在506处产生消息的效用的结果。
在框508处,计算***可以使得消息的指示被显示在计算设备上。在一些示例中,可以将消息显示在消息传递界面中。消息的指示可以是提醒、通知、未读消息的数量的符号等。在一些示例中,消息的指示可以包括消息的内容的至少一部分。
在框510处,计算***可以监视关于消息的用户动作。用户动作可以包括消息的选择、消息保持未读取的时间长度、消息的忽略、消息的分类、消息的跟进、接收后消息优先顺序等等。可以经由一个或多个I/O接口接收用户动作。
在框512处,计算***可以基于用户动作来更新效用函数。在各种示例中,计算***可以应用机器学习来更新和/或训练在502处生成的效用函数。在这样的示例中,计算***可以基于关于消息的用户动作来调整效用函数的参数。例如,计算***可以基于检测到用户在其它消息之前始终选择来自特定发送者的消息来更新效用函数的参数。响应于对用户偏好的这种检测,可以添加和/或调整效用函数的参数以增加来自特定发送者的消息的效用。
图6是示出在消息归组和相关性***中至少部分地基于消息的上下文来计算消息效用的示例过程流程600的流程图。
在框602处,计算***可以接收消息。消息可以是电子邮件(电邮)、文本消息、对话消息、博客消息、社交媒体消息、即时消息、发布或其它类型的消息的形式。可以将消息接收到组和/或组群集中(例如,与组和/或组群集相关联、分配到组和/或组群集等)。
在框604处,计算***可以确定消息上下文。消息上下文可以是接收消息的一天中的时间、发送者、接收者的地理位置、发送者的地理位置、消息紧急性等。在一些示例中,计算***可以通过评估消息来确定消息上下文。
在框606处,计算***可以通过将消息应用于一个或多个效用函数来确定消息的效用。一个或多个效用函数可以是参数化方程。在各种示例中,一个或多个效用函数可以包括与消息的上下文相关的参数。在这样的示例中,消息的效用可以至少部分地基于在604处确定的消息上下文。在一些示例中,一个或多个效用函数的参数可以基于用户偏好和/或***设置。
在框608处,计算***可以使得显示消息的指示。在各种示例中,计算***可以使得消息的指示被显示在计算设备的显示器上。在一些示例中,可以将消息显示在消息传递界面中。消息的指示可以是提醒、通知、未读消息的数量的符号等。在一些示例中,消息的指示可以包括消息的内容的至少一部分。
在各种示例中,消息的指示可以至少部分地基于消息的效用。在一些示例中,如果消息的效用高于阈值效用,则可以显示消息的指示。在一些示例中,可以基于确定效用是在排序最高的消息集合之中来显示消息的指示。
图7是示出了在消息归组和相关性***中基于两个或更多个消息之间的关系对消息进行归组的示例过程流程700的流程图。
在框702处,计算***可以接收多个消息。消息可以是电子邮件(电邮)、文本消息、对话消息、博客消息、社交媒体消息、即时消息、发布或其它类型的消息中的一个或多个的形式。可以将消息接收到组和/或组群集中(例如,与组和/或组群集相关联、分配到组和/或组群集等)。
在框704处,计算***可以为各个消息确定效用。在各种示例中,可以基于一个或多个效用函数来为各个消息确定效用。一个或多个效用函数可以与关联于消息的组和/或组群集相关联。在各种示例中,一个或多个效用函数可以是参数化方程。在一些示例中,可以从用户偏好生成和/或导出一个或多个效用函数的参数。用户偏好可以与当前区域、当前位置、预期目的地、一天中的时间、一周和/或一月中的一天、发送者、消息所关联的组、消息的紧急性、和/或其它优先顺序偏好相关。
在各种示例中,可以从***设置生成和/或导出一个或多个效用函数的参数。在这样的示例中,***设置可以与消息的类型、消息的紧急性、优先级的指示、消息中的内容、一天中的时间、一周中的一天、用户标记的内容、与消息相关联的事件等相关。例如,***设置可以包括自动导致电子邮件消息获得比博客帖子消息更高效用的参数。举另一个示例,***设置可以包括为包含对事件的邀请的消息关联较高效用的参数。
在框706处,计算***可以识别两个或更多个相关消息。可以基于共同主题、关键字、对话、发送者等来关联两个或更多个消息。在各种示例中,响应于确定两个或更多个消息之间的关联性,可以增加相关消息的效用,以增加用户将被提醒接收消息的可能性。例如,如果计算***确定两个消息是相关的,诸如同一对话中的两个消息,则计算***可以基于该关系来增加消息的效用。
在框708处,计算***可以使得显示两个或更多个相关消息的指示。在一些示例中,可以在消息传递界面中显示两个或更多个消息。消息的指示可以是提醒、通知、未读消息的数量的符号等。在一些示例中,消息的指示可以包括一个或多个消息的内容的至少一部分。在一些示例中,消息的指示可以包括与两个或更多个相关消息相关联的关键字。
在各种示例中,消息的指示可以至少部分地基于消息的效用。在一些示例中,如果消息的效用高于阈值效用,则可以显示消息的指示。在一些示例中,可以基于确定相应的效用是在排序最高的消息集合之中来显示消息的指示。
图8是示出了在消息归组和相关性***中基于用户定义的参数来生成效用函数的示例过程流程800的流程图。
在框802处,计算***可以生成组群集。在各种示例中,可以通过应用用户偏好和/或***设置来生成组和/或组群集。在一些示例中,可以经由用户界面生成组和/或组群集。在这样的示例中,用户界面可以接收一个或多个输入,该一个或多个输入选择关于组和/或组群集的特定偏好。一个或多个输入可以与源、位置、关键字、描述、主题(例如,用户兴趣、项目等)等相关。例如,用户界面可以接收输入以根据作为特定工作项目上的同事的发送者的选择而生成消息组。在这样的示例中,用户界面可以接收与工作项目相关联的特定人员的输入、以及工作项目的关键字或标题。举另一个示例,用户界面可以接收用户偏好以生成组群集,该组群集包括用户是其一部分的多个项目的工作组。在这样的示例中,用户界面可以接收输入以生成每个组,以及每个组之间的关系。
另外地或替代地,可以通过应用***设置来生成组和/或组群集。在各种示例中,***设置可以基于关键字、与消息相关的域名、现有对话、用户标记的内容、用户联系人、频繁访问的社交媒体站点等生成组和/或组群集。例如,***设置可以自动地将来自特定域(诸如@mywork.com)的发送者归组在一起,并根据该域生成工作组。
在框804处,计算***可以接收与组群集相关的参数。在各种示例中,可以从用户偏好生成和/或导出参数。用户偏好可以与当前区域、当前位置、预期目的地、一天中的时间、一周和/或一月中的一天、发送者、消息所关联的组、消息的紧急性、和/或其它优先顺序偏好相关。在一些示例中,可以从***设置生成和/或导出参数。在这样的示例中,***设置可以与消息的类型、消息的紧急性、优先级的指示、消息中的内容、一天中的时间、一周中的一天、用户标记的内容、与消息相关联的事件等相关。例如,***设置可以包括自动导致电子邮件消息获得比博客帖子消息更高效用的参数。举另一个示例,***设置可以包括为包含对事件的邀请的消息关联更高效用的参数。
在框806处,计算***可以生成效用函数。可以将效用函数应用于组中和/或跨群集中的组应用效用函数。在各种示例中,效用函数可以是参数化方程,至少部分地基于在804处接收的参数。
在框808处,计算***可以接收消息。消息可以是电子邮件(电邮)、文本消息、对话消息、博客消息、社交媒体消息、即时消息、发布或其它类型的消息的形式。可以将消息接收到组和/或组群集中(例如,与组和/或组群集相关联、分配到组和/或组群集等)。
在框810处,计算***可以计算消息的效用。消息的效用可以表示特定消息对计算***的用户的相关性。可以通过将在806处生成的效用函数应用于消息来计算消息的效用。在一些示例中,可以评估消息以确定与效用函数相关的参数的存在。可以将参数的值应用于效用函数以在810处产生消息的效用的结果。
在框812处,计算***可以使得消息的指示被显示在计算设备上。在一些示例中,可以在消息传递界面中显示消息。消息的指示可以是提醒、通知、未读消息的数量的符号等。在一些示例中,消息的指示可以包括消息的内容的至少一部分。
示例界面
图9示出了在与前面的附图一致的消息归组和相关性***中使用的示例消息传递用户界面900。在一些示例中,消息传递用户界面900可以提供一种通过其消息归组和相关性***可以接收输入数据(例如,消息的选择、消息保持未读取的时间长度、消息的忽略、消息的分类、消息的跟进、接收后消息优先顺序等等)的手段,诸如用于训练一个或多个效用函数、组和/或组群集。
在各种示例中,消息传递用户界面900可以包括组群集902。如下面关于图9进一步详细所描述的,可以经由用户界面生成组和/或组群集。组群集902可以包括用户感兴趣的一个或多个组。组群集902中的组可以基于***设置(例如,关键字、与消息相关的域名、现有对话、用户标记的内容、用户联系人、频繁访问的社交媒体站点等)和/或用户偏好(例如,源、位置、关键字、描述、主题)彼此相关。在说明性示例中,组群集902包括与用户感兴趣的课外活动相关的群组。
在各种示例中,消息传递用户界面900可以打开特定群集的视图。在一些示例中,特定群集可以基于用户偏好。例如,在工作时间期间,消息传递用户界面900可以打开至工作群集。举另一个示例,在周末,消息传递用户界面900可以打开至与爱好相关的群集。在一些示例中,消息传递用户界面900可以打开至由用户访问的上一次群集。
在一些示例中,消息传递用户界面900可以包括组群集902的标题904。在各种示例中,标题904可以由消息传递用户界面生成,诸如基于与群集中的组相关联的关键字或主题。在一些示例中,用户可以定义标题904,例如这里示出为“玩乐”。
在各种示例中,消息传递用户界面900可以包括针对群集的提醒906,该提醒是群集中可获得的一个或多个消息的指示。在说明性示例中,消息传递用户界面900可以包括针对群集中的每个组的提醒906,该提醒是一个或多个消息的指示。提醒906可以是消息通知(例如,906(6))、消息图标(例如,906(3))、相关未读消息的数量(例如,906(1))、优先级图标(例如,906(2))等。
在各种示例中,提醒906可以包括消息通知,诸如弹出消息通知。在各种示例中,弹出消息通知可以包括消息的上下文和/或内容的至少一部分。在说明性示例中,提醒906(6)包括消息所关联的组、消息的发送者和消息的第一部分。在其它示例中,提醒906(6)可以包括更多或更少的信息。
消息传递用户界面900的提醒906可以向用户提供单个访问视点以察看所有必要和/或期望的信息,从而减少用户需要访问的单独的网站和/或消息传递***的数量。例如,用户在快速视图中可以查看提醒906(4)并且看到4WD兴趣组没有新消息。因此,用户可能不需要访问特定网站以确定是否已发布任何新消息。由于用户不需要访问网站,因此消息归组和相关性***可以具有增加可用的整体网络带宽的技术优势,因为用户不需要访问每个单独的站点以确定经更新的消息的存在。此外,消息归组和相关性***还可以减少用户在计算设备上为确保用户与信息保持最新所需的时间。因此,通过允许更多计算能力可用于处理其它程序,***可以导致计算设备的功能的改进。因此,消息归组和相关性***提高了计算机和网络两者的技术效率,因为***提供一种通过其用户可以快速地从界面收集(glean)信息的手段,这原本需要单独地访问多个不同的网站,从而与现有技术相比需要更少的带宽和更少的计算能力。
在各种示例中,消息传递用户界面900可以包括导航栏908。导航栏908可以包括用于导航消息传递用户界面900的菜单项910。在说明性示例中,导航栏908包括用于消息创建(例如,910(1))、用于导航到所有群集的视图(例如,910(2))、用于搜索(例如,910(3))))和用于编辑设置(例如,910(4))的菜单项910,参考图9进一步详细描述。在其它示例中,导航栏908可以包括更多或更少数量的菜单项910。
如图9所示,导航栏908可以包括消息创建菜单项910(1)。消息创建菜单项910(1)可以提供一种通过其用户可以创建与群集中的至少一个组相关的新消息的手段。在一些示例中,消息创建菜单项910(1)可以提供一种通过其用户可以向群集的每个组中的所有成员发送消息的手段。在这样的示例中,可以跨群集的组广播消息。
在一些示例中,导航栏908可以包括用于导航到所有群集910(2)的视图的菜单项。在这样的示例中,用于导航到所有群集910(2)的视图的菜单项可以提供一种通过其用户可以访问所有组群集的视图的手段。所有组群集的视图可以包括每个组的提醒,诸如指示群集中新消息的总数的提醒。
在各种示例中,导航栏908可以包括搜索菜单项910(3)。在一些示例中,搜索菜单项910(3)可以提供一种通过其用户可以针对消息搜索群集的手段,诸如通过关键词。在一些示例中,搜索菜单项910(3)可以提供一种通过其用户可以在诸如互联网搜索引擎之类的搜索引擎上执行搜索的手段。在这样的示例中,用户可以搜索与消息相关的发布的文章、故事等。另外,在这样的示例中,用户可以搜索要添加到组群集的其它相关组。例如,用户可以搜索要添加到“玩乐”组群集902的潜水兴趣组,诸如经由编辑设置菜单项910(4)。编辑设置菜单项910(4)可以提供一种通过其用户可以编辑一个或多个组群集和/或与其相关联的组的手段。编辑设置菜单项910(4)在下面参考图10进一步详细描述。
图10示出了在与前面的附图一致的消息归组和相关性***中使用的示例编辑界面1000。在各种示例中,可以在选择编辑设置菜单项(诸如编辑设置菜单项910(4))时浮现编辑界面1000。
如图10所示,编辑界面1000可以提供一种通过其用户可以编辑组群集和/或与其相关联的组的手段。另外,编辑界面1000可以提供一种通过其用户可以编辑多个组群集的手段,例如在群集的批量编辑中。在一些示例中,可以通过选择名称1002来编辑组群集的名称1002。在各种示例中,可以通过选择群集中的一个或多个组1004来编辑组和/或组群集。
在各种示例中,编辑界面1000可以包括编辑栏1006。编辑栏1006可以包括用于编辑组和/或组群集的菜单项1008。在说明性示例中,编辑栏1006包括用于添加组(例如,1008(1))、用于删除组(例如,1008(2))、用于克隆组(例如,1008(3))、用于编辑组的细节(例如,1008(4))以及组的批量编辑(例如,1008(5))的菜单项1008。在其它示例中,编辑栏1006可以包括更多或更少数量的菜单项1008。
如图10所示,编辑界面1000可以包括添加组菜单项1008(1)和删除组菜单项1008(2)。添加组菜单项1008(1)可以包括可以一种通过其可以将附加组添加到组群集的手段。在各种示例中,添加组菜单项1008(1)可以包括一种通过其用户可以针对要添加到群集的相关组(例如,关键字、现有对话、用户标记的内容、用户联系人、频繁访问的社交媒体站点、源、位置、描述、主题)进行搜索的手段。删除组菜单项1008(2)可以包括一种通过其可以从组群集中移除组的手段。
在各种示例中,编辑界面1000可以包括克隆菜单项1008(3)。克隆菜单项1008(3)可以提供一种通过其可以克隆一个或多个组的手段。例如,用户可能希望克隆滑雪兴趣组,并编辑组以反映不同的滑雪山。因此,用户可能能够快速访问与用户此刻感兴趣的滑雪山相关的对话。
在一些示例中,编辑界面1000可以包括编辑菜单项1008(4)。编辑菜单项1008(4)可以包括一种通过其用户可以编辑关于组的特定特征的手段。特征可以包括与组关联的成员、图标、名称,提醒信息以及其它用户偏好。
在各种示例中,编辑界面1000可以包括批量编辑菜单项1008(5)。批量编辑菜单项1008(5)可以包括一种通过其用户可以编辑组群集的特征的手段。群集的特征可以包括与组群集相关联的名称1002、图标、提醒信息以及其它用户偏好。
示例条款
A:一种***,包括:处理器;以及计算机可读介质,所述计算机可读介质存储用于消息相关性框架的指令以供由所述处理器激活,所述消息相关性框架包括:归组模块,所述归组模块包括用于配置所述处理器以生成组群集的指令;用户偏好模块,所述用户偏好模块包括用于配置所述处理器以接收与所述组群集相关的参数的指令;效用函数模块,所述效用函数模块包括用于配置所述处理器以进行以下操作的指令:至少部分地基于参数,生成用于所述组群集的效用函数;接收消息;以及至少部分地基于所述效用函数,计算所述消息的效用;显示模块,所述显示模块包括用于配置所述处理器以进行以下操作的指令:至少部分地基于所述效用,使得在消费者设备的显示器上呈现所述消息的指示。
B:如段落A所述的***,其中,所述参数包括位置数据,并且所述消息模块还被配置为在接收到所述消息时确定所述消费者设备的位置,其中,所述消息的效用还基于所述消息者设备的位置。
C:如段落A或B中任一个所述的***,其中,所述参数包括定时数据,并且所述消息模块还被配置为确定接收消息的一天中的时间,其中,所述消息的效用还基于接收到所述消息的所述一天中的时间。
D:如段落A-C中任一个所述的***,还包括消息关系模块,所述消息关系模块包括用于配置所述处理器配置以进行以下操作的指令:确定第一消息与第二消息之间的关系;以及至少部分地基于第一消息与第二消息之间的关系,调整第一消息的第一效用和第二消息的第二效用。
E:如段落A-D中任一个所述的***,还包括排序模块,所述排序模块包括用于配置所述处理器以进行以下操作的指令:至少部分地基于所述组群集中的多个消息中的每个消息的相应的效用,对所述多个消息进行排序;至少部分地基于相应的效用高于阈值效用,选择消息集合;以及将所述消息集合发送到所述显示模块以在呈现在所述显示器上。
F:如段落A-E中任一个所述的***,还包括机器学习模块,所述机器学习模块包括用于将处理器配置为进行以下操作的指令:监视关于所述消息的用户动作;以及至少部分地基于所述用户动作,更新相应的效用函数。
G:如段落A-F中任一个所述的***,其中,在所述显示器上呈现的所述消息的指示的大小或位置中的一个或多个至少部分地基于所述效用。
H:如段落A-G中任一个所述的***,其中,所述消息的指示包括以下中的一个或多个:所述消息的听觉通知;信息的视觉通知;或标识未读消息的数量的符号。
I:一种方法,包括:生成组群集;生成用于所述组群集中的各个组的效用函数,其中,所述效用函数包括参数化方程;在所述组群集的组中接收消息;至少部分地基于所述组的相应的效用函数,计算所述消息的效用;以及至少部分地基于所述效用,使得所述消息的指示被呈现在消费者设备的显示器上。
J:如段落I所述的方法,还包括:监视关于所述消息的用户动作;以及至少部分地基于所述用户动作,更新相应的效用函数。
K:如段落I或J中任一个所述的方法,还包括:经由消费者设备上的用户界面接收与所述组群集中的特定组相关的参数,其中,所述特定组的效用函数至少部分地基于所述参数。
L:如段落K所述的方法,其中,所述参数包括以下中的一个或多个:消费者设备的地理位置;所述消息的发送者的地理位置;接收到所述消息的一天中的时间;接收到所述消息的一周中的一天;所述消息的内容中的关键字;或与所述消息相关联的事件。
M:如段落I-L中任一个所述的方法,还包括:经由消费者设备上的用户界面接收与所述组群集相关的参数,其中,用于各个组的效用函数至少部分地基于所述参数。
N:如段落I-M中任一个所述的方法,还包括:经由消费者设备上的用户界面接收与所述组群集中的特定组相关的参数,其中,所述参数包括关于所述特定组中的消息的用户偏好。
O:如段落I-N中任一个所述的方法,其中,生成所述组群集集是基于***设置或用户偏好中的至少一个的。
P:一种其上具有计算机可执行指令的计算机可读介质,所述计算机可执行指令响应于执行而配置计算机以执行如段落I-O中任一个所述的方法。
Q:一种设备或***,包括:处理器;以及耦合到所述处理器的计算机可读介质,所述计算机可读介质包括用于配置一个或多个设备以执行如段落I-O中任一个所述的方法的指令。
R:一种设备,包括:处理器;以及其上具有计算机可执行指令的计算机可读介质,所述计算机可执行指令响应于被处理器执行而配置所述设备以执行包括以下各项的操作:生成组群集;生成用于所述组群集中的各个组的效用函数;在所述组群集的组中接收消息;至少部分地基于所述组的相应的效用函数,计算所述消息的效用;以及至少部分地基于所述效用,使得所述消息的指示被呈现在消费者设备的显示器上。
S:如段落R所述的设备,其中,所述组群集至少部分地基于用户偏好来生成。
T:如段落R或S中任一个所述的设备,其中,所述组群集至少部分地基于***设置来生成。
U:如段落R-T中任一个所述的设备,其中,所述组群集至少部分地基于所述组群集中包括类似主题的各个组来生成。
V:如段落R-T中任一个所述的设备,所述操作还包括:监视关于所述消息的用户动作;以及至少部分地基于所述用户动作,更新相应的效用函数。
X:一种其上具有计算机可执行指令的计算机可读介质,所述计算机可执行指令响应于执行而配置设备以执行包括以下各项的操作:生成组群集;生成用于所述组群集中的各个组的效用函数;在所述组群集中的组中接收消息;至少部分地基于所述组的相应的效用函数,计算所述消息的效用;以及至少部分地基于所述效用,使得所述消息的指示被呈现在消费者设备的显示器上。
Y:如段落X所述的计算机可读介质,所述操作还包括:监视关于所述消息的用户动作;以及至少部分地基于所述用户动作,更新相应的效用函数。
Z:如段落X或Y中任一个所述的计算机可读介质,其中,所述组群集至少部分地基于用户偏好来生成。
AA:如段落X-Z中任一个所述的计算机可读介质,其中,所述组群集至少部分地基于***设置来生成。
AB:如段落X-AA中任一个所述的计算机可读介质,其中,所述组群集至少部分地基于所述组群集中包括类似主题的各个组来生成。
结论
尽管用特定于结构特征和/或方法动作的语言描述了本主题内容,但是应理解,所附权利要求中限定的主题内容不必限于所描述的具体特征或动作。相反,这些具体特征和动作被公开为实现这些权利要求的说明性形式。
在各个框中示出并参考这些框概述示例过程的操作。这些过程被示为框的逻辑流程,其中每个框可以表示可以用硬件、软件或其组合实现的一个或多个操作。在软件的上下文中,操作表示存储在一个或多个计算机可读介质上的计算机可执行指令,所述计算机可执行指令在由一个或多个处理器执行时使得一个或多个处理器执行所记载的操作。通常,计算机可执行指令包括执行特定功能或实现特定抽象数据类型的例程、程序、对象、模块、组件、数据结构等。描述操作的顺序不旨在被解释为限制,并且任何数量的所描述的操作可以以任何顺序执行、以任何顺序组合、细分为多个子操作和/或并行执行以实现所描述的过程。所描述的过程可以由与一个或多个计算设备106、128或200(诸如一个或多个内部或外部CPU或GPU)和/或一个或多个硬件逻辑(诸如FPGA、DSP、或上述其它类型)相关联的资源来执行。
上述所有方法和过程可以通过由一个或多个通用计算机或处理器执行的软件代码模块来体现并且完全自动化。代码模块可以存储在任何类型的计算机可读存储介质或其它计算机存储设备中。一些或所有方法可以体现在专用计算机硬件中。
除非另有说明,否则诸如“可以”、“可”、“可能”或“会”之类的条件语言在上下文中被理解为通常用于表示某些示例包括某些特征,元素和/或步骤,而其它示例不包括某些特征、元素和/或步骤。因此,这样的条件语言通常不旨在暗示一个或多个示例以任何方式需要特征、元素和/或步骤,或者一个或多个示例必须包括用于在具有或没有用户输入或提示的情况下决定这些特征、元素和/或步骤是否包括在任何特定示例中或是否将在任何特定示例中执行的逻辑。
除非另外特别说明,否则诸如短语“X、Y或Z中的至少一个”的析取(conjunctive)语言应当被理解为表示项目、项等可以是X、Y或Z,或者其组合。
本文描述和/或附图中描绘的流程图中的任何例程描述、元素或框应当被理解为潜在地表示包括用于实现例程中的特定逻辑功能或元素的一个或多个可执行指令的模块、片段或代码部分。替代的示例包括在本文描述的示例的范围内,其中元素或功能可以被删除,或者以与示出或讨论的顺序不同的顺序执行,包括基本上同步或相反的顺序,这取决于如本领域技术人员将理解的涉及的功能。
应该强调的是,可以对上述示例进行许多变化和修改,其中的元素应应被理解为是其它可接受的示例。所有这些修改和变化旨在包括在本公开的范围内并且由所附权利要求保护。

Claims (9)

1.一种用于消息归组的***,包括:
处理器;以及
计算机可读介质,所述计算机可读介质存储用于消息相关性框架的指令以供由所述处理器激活,所述消息相关性框架包括:
归组模块,所述归组模块包括用于配置所述处理器以基于用户偏好和***设置生成组群集的指令,其中,所述用户偏好指示适用于所述组群集中的相应组的用户定义的偏好参数;
用户偏好模块,所述用户偏好模块包括用于配置所述处理器以接收与所述组群集相关的偏好参数的指令;
效用函数模块,所述效用函数模块包括用于配置所述处理器以进行以下操作的指令:
生成用于所述组群集中的各个组的效用函数,其中,所述效用函数包括基于所述用户偏好和所述***设置的参数化方程;
接收消息;以及
至少部分地基于所述效用函数,计算所述消息的效用;以及
显示模块,所述显示模块包括用于配置所述处理器以进行以下操作的指令:
至少部分地基于所述效用,使得在消费者设备的显示器上呈现所述消息的指示。
2.根据权利要求1所述的***,还包括消息关系模块,所述消息关系模块包括用于配置所述处理器以进行以下操作的指令:
确定第一消息与第二消息之间的关系;以及
至少部分地基于所述第一消息与所述第二消息之间的所述关系,调整所述第一消息的第一效用和所述第二消息的第二效用。
3.根据权利要求1或2所述的***,还包括排序模块,所述排序模块包括用于配置所述处理器以进行以下操作的指令:
至少部分地基于所述组群集中的多个消息中的每个消息的相应的效用,对所述多个消息进行排序;
至少部分地基于所述相应的效用高于阈值效用,选择消息集合;以及
将所述消息集合发送到所述显示模块以呈现在所述显示器上。
4.根据权利要求1所述的***,还包括机器学习模块,所述机器学习模块包括用于配置所述处理器以进行以下操作的指令:
监视关于所述消息的用户动作;以及
至少部分地基于所述用户动作,更新相应的效用函数。
5.一种用于消息归组的方法,包括:
基于用户偏好和***设置生成组群集,其中,所述用户偏好指示适用于所述组群集中的相应组的用户定义的偏好参数;
生成用于所述组群集中的各个组的效用函数,其中,所述效用函数包括基于所述用户偏好和所述***设置的参数化方程;
在所述组群集中的组中接收消息;
至少部分地基于所述组的相应的效用函数,计算所述消息的效用;以及
至少部分地基于所述效用,使得所述消息的指示被呈现在消费者设备的显示器上。
6.根据权利要求5所述的方法,还包括经由消费者设备上的用户界面接收与所述组群集中的特定组相关的参数,其中,用于所述特定组的效用函数至少部分地基于所述参数,并且其中,所述参数包括以下中的一个或多个:
所述消费者设备的地理位置;
所述消息的发送者的地理位置;
接收到所述消息的一天中的时间;
接收所述消息的一周中的一天;
所述消息的内容中的关键词;或
与所述消息相关联的事件。
7.根据权利要求5或6中任一项所述的方法,还包括经由消费者设备上的用户界面接收与所述组群集相关的参数,其中,用于各个组的所述效用函数至少部分地基于所述参数。
8.一种用于消息归组的设备,包括:
处理器;以及
其上具有计算机可执行指令的计算机可读介质,所述计算机可执行指令响应于被所述处理器执行而配置所述设备以执行包括以下各项的操作:
基于用户偏好和***设置生成组群集,其中,所述用户偏好指示适用于所述组群集中的相应组的用户定义的偏好参数;
生成用于所述组群集中的各个组的效用函数,其中,所述效用函数包括基于所述用户偏好和所述***设置的参数化方程;
在所述组群集的组中接收消息;
至少部分地基于所述组的相应的效用函数,计算所述消息的效用;以及
至少部分地基于所述效用,使得所述消息的指示被呈现在消费者设备的显示器上。
9.根据权利要求8所述的设备,其中,所述组群集至少部分地基于所述组群集中的各个组包括相似主题来生成。
CN201780041020.5A 2016-06-30 2017-06-23 消息归组和相关性 Active CN109416691B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/199,028 US10616145B2 (en) 2016-06-30 2016-06-30 Message grouping and relevance
US15/199,028 2016-06-30
PCT/US2017/038906 WO2018005264A1 (en) 2016-06-30 2017-06-23 Message grouping and relevance

Publications (2)

Publication Number Publication Date
CN109416691A CN109416691A (zh) 2019-03-01
CN109416691B true CN109416691B (zh) 2022-04-01

Family

ID=59295335

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780041020.5A Active CN109416691B (zh) 2016-06-30 2017-06-23 消息归组和相关性

Country Status (4)

Country Link
US (1) US10616145B2 (zh)
EP (1) EP3479254A1 (zh)
CN (1) CN109416691B (zh)
WO (1) WO2018005264A1 (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3504619B1 (en) * 2016-09-19 2021-07-07 Samsung Electronics Co., Ltd. Apparatus and method for managing notification
US10268489B2 (en) * 2016-09-20 2019-04-23 International Business Machines Corporation Adaptive successive warning message handling
US10911389B2 (en) * 2017-02-10 2021-02-02 Microsoft Technology Licensing, Llc Rich preview of bundled content
US10909156B2 (en) 2017-02-10 2021-02-02 Microsoft Technology Licensing, Llc Search and filtering of message content
US10498684B2 (en) 2017-02-10 2019-12-03 Microsoft Technology Licensing, Llc Automated bundling of content
US10931617B2 (en) 2017-02-10 2021-02-23 Microsoft Technology Licensing, Llc Sharing of bundled content
US10509531B2 (en) * 2017-02-20 2019-12-17 Google Llc Grouping and summarization of messages based on topics
CN111124573B (zh) * 2019-12-16 2022-04-22 维沃移动通信有限公司 消息通知方法及电子设备
CN111191033B (zh) * 2019-12-25 2023-04-25 华南理工大学 一种基于分类效用的开集分类方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7698335B1 (en) * 2005-06-27 2010-04-13 Microsoft Corporation Cluster organization of electronically-stored items
CN103648084A (zh) * 2013-12-05 2014-03-19 百度在线网络技术(北京)有限公司 消息通知栏中显示消息的方法和***
CN104506715A (zh) * 2014-12-05 2015-04-08 小米科技有限责任公司 通知消息显示方法及装置
CN104572942A (zh) * 2014-12-30 2015-04-29 小米科技有限责任公司 推送消息显示方法及装置
CN104793938A (zh) * 2015-04-23 2015-07-22 广州视源电子科技股份有限公司 通知栏消息显示方法和***

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6119014A (en) 1998-04-01 2000-09-12 Ericsson Inc. System and method for displaying short messages depending upon location, priority, and user-defined indicators
GB2353679A (en) 1999-08-25 2001-02-28 Ibm Prioritized display of messages
US20020087649A1 (en) 2000-03-16 2002-07-04 Horvitz Eric J. Bounded-deferral policies for reducing the disruptiveness of notifications
US6845374B1 (en) * 2000-11-27 2005-01-18 Mailfrontier, Inc System and method for adaptive text recommendation
US20030020749A1 (en) * 2001-07-10 2003-01-30 Suhayya Abu-Hakima Concept-based message/document viewer for electronic communications and internet searching
US7716593B2 (en) 2003-07-01 2010-05-11 Microsoft Corporation Conversation grouping of electronic mail records
US7941491B2 (en) 2004-06-04 2011-05-10 Messagemind, Inc. System and method for dynamic adaptive user-based prioritization and display of electronic messages
US8065369B2 (en) 2005-02-01 2011-11-22 Microsoft Corporation People-centric view of email
US7860933B2 (en) * 2005-10-04 2010-12-28 International Business Machines Corporation Method and system to determine a user specific relevance score of a message within a messaging system
CN100420268C (zh) * 2006-07-07 2008-09-17 天栢宽带网络科技(上海)有限公司 可替代传统字幕技术的消息通知方法及***
US20080028031A1 (en) 2006-07-25 2008-01-31 Byron Lewis Bailey Method and apparatus for managing instant messaging
US9665850B2 (en) 2008-06-20 2017-05-30 Microsoft Technology Licensing, Llc Synchronized conversation-centric message list and message reading pane
US8364765B2 (en) 2008-11-13 2013-01-29 International Business Machines Corporation Prioritizing electronic messages based upon geographical location of the recipient
US8140540B2 (en) * 2009-03-16 2012-03-20 International Business Machines Corporation Classification of electronic messages based on content
US8793319B2 (en) 2009-07-13 2014-07-29 Microsoft Corporation Electronic message organization via social groups
KR20110025065A (ko) * 2009-09-01 2011-03-09 이기오 커뮤니티 클러스터간의 공통 관심 메시지 공유 시스템 및 그 운영 방법
US8312096B2 (en) 2010-12-08 2012-11-13 Google Inc. Priority inbox notifications and synchronization for mobile messaging application
US9501531B2 (en) * 2011-05-18 2016-11-22 Microsoft Technology Licensing, Llc Contextual relevance engine for activity feeds
US8463795B2 (en) 2011-10-18 2013-06-11 Filpboard, Inc. Relevance-based aggregated social feeds
US20130145280A1 (en) * 2011-12-06 2013-06-06 Jeffry Keith Green Relationship Centric Mobile Interface
US8996530B2 (en) 2012-04-27 2015-03-31 Yahoo! Inc. User modeling for personalized generalized content recommendations
US9122681B2 (en) * 2013-03-15 2015-09-01 Gordon Villy Cormack Systems and methods for classifying electronic information using advanced active learning techniques
US9152307B2 (en) 2013-12-31 2015-10-06 Google Inc. Systems and methods for simultaneously displaying clustered, in-line electronic messages in one display
US20150254572A1 (en) 2014-03-07 2015-09-10 Microsoft Corporation Relevance-ordering of messages
US20150339373A1 (en) * 2014-05-20 2015-11-26 Matthew Christian Carlson Graphical interface for relevance-based rendering of electronic messages from multiple accounts
US20160226811A1 (en) * 2015-01-30 2016-08-04 Groove Labs Inc. System and method for priority email management

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7698335B1 (en) * 2005-06-27 2010-04-13 Microsoft Corporation Cluster organization of electronically-stored items
CN103648084A (zh) * 2013-12-05 2014-03-19 百度在线网络技术(北京)有限公司 消息通知栏中显示消息的方法和***
CN104506715A (zh) * 2014-12-05 2015-04-08 小米科技有限责任公司 通知消息显示方法及装置
CN104572942A (zh) * 2014-12-30 2015-04-29 小米科技有限责任公司 推送消息显示方法及装置
CN104793938A (zh) * 2015-04-23 2015-07-22 广州视源电子科技股份有限公司 通知栏消息显示方法和***

Also Published As

Publication number Publication date
EP3479254A1 (en) 2019-05-08
US10616145B2 (en) 2020-04-07
CN109416691A (zh) 2019-03-01
WO2018005264A1 (en) 2018-01-04
US20180006973A1 (en) 2018-01-04

Similar Documents

Publication Publication Date Title
CN109416691B (zh) 消息归组和相关性
US10949429B1 (en) Scoring authors of posts
US10511652B2 (en) Recommending posts to non-subscribing users
US10671680B2 (en) Content generation and targeting using machine learning
AU2011253646B2 (en) Determining message prominence
US10223465B2 (en) Customizable, real time intelligence channel
US20180350009A1 (en) Using Metadata to Summarize Social Media Content
US9299059B1 (en) Generating a summary of social media content
US8924493B1 (en) Prioritized notifications in a social network
US10216808B1 (en) Multi sender and source recommendation aggregation and prompting system
US8972402B1 (en) Ranking users and posts in social networking services
US9762521B2 (en) Semantic analysis and delivery of alternative content
CN113360792B (zh) 信息推荐方法、装置、电子设备以及存储介质
US11556231B1 (en) Selecting an action member in response to input that indicates an action class
AU2014241300A1 (en) Contextual socially aware local search
US20170269798A1 (en) Computerized Content Recommendation Based on Container Interactions
KR20240003370A (ko) 마케팅 메시지를 혜택 정보로 제공하기 위한 방법, 컴퓨터 장치, 및 컴퓨터 프로그램

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant