基于活动的电子邮件排序的方法和系统的制作方法

文档序号:6567767阅读:191来源:国知局
专利名称:基于活动的电子邮件排序的方法和系统的制作方法
技术领域
所公开的实施例总体上涉及排序电子消息。所公开的实施例尤其 涉及根据关于消息的用户动作来排序电子消息。
背景技术
每天,人们经由计算机网络发送和接收数百万计的电子消息(诸 如电子邮件)以用于商业和休闲目的。实际上,电子邮件(也被写作
"email")已经变为极其流行的交流通道来供人们交换信息。
用于排序电子邮件的通用方式是依据接收的日期和时间。然而, 这种排序方案并不总是适当的,这是因为在这种排序方案下用户所感 兴趣的电子邮件可能被置于不那么突出的位置上。 一些电子邮件客户 端和web邮件服务还使用户能够创建规则,用于标记那些满足确定判 据的电子邮件,诸如在消息的主题行中出现指定的词或短语。然而, 这些规则要求由用户来手工创建。此外,这些规则是静态的;满足规 则的电子邮件就被标记,而不管用户实际上是否对该消息感兴趣。

发明内容
依照本发明的一个方面, 一种用于向消息提供排名值(ranking value)的方法包括把排名值与所接收的消息相关联,所述排名值具有 基于一个或多个排名系数的初始值。根据由用户对于所接收消息执行 的动作来确定与所接收消息相关联的至少一个交互作用量度(metric)。 依照所述至少一个交互作用量度来修改排名值。


为了更好地理解本发明的上述方面及其他方面和实施例,应当结合以下附图参考以下具体实施方式
,其中在整个附图中同样的附图标
记指代相应的部分。
图1是依照本发明一些实施例的示例性网络环境的框图。
图2是依照本发明的一些实施例图示了用于根据会话或与新消息
相似的一组消息的排名值来向所述新消息分配排名值的示例性过程的
流程图。
图3是依照本发明的一些实施例图示了用于根据会话和与新消息 相似的一组消息的排名值来向所述新消息分配排名值的示例性过程的 流程图。
图4A和4B是用于依照本发明的一些实施例图示了用于确定消息 的交互作用量度以及用于确定消息和会话的排名值的示例性过程的流 程图。
图5是依照本发明一些实施例图示了示例性客户端的框图。 图6A是依照本发明一些实施例图示了示例性消息服务器的框图。 图6B-6E是用于依照本发明的一些实施例图示了用于存储消息、 会话和相关联的交互作用量度和排名值的示例性数据结构的框图。
具体实施例方式
用户的电子消息都根据一个或多个交互作用量度而与排名值相关 联。排名值用于代表用户对消息的感兴趣程度。每当接收新消息时, 根据与新消息相关的消息的排名值来估计用户对该新消息的兴趣。相 关消息可以是与新消息相同会话中的消息和/或与新消息相似的消息。 通过估计用户对新消息的兴趣,可以根据所估计的兴趣来排序和/或标 记所述消息。较之被估计为用户只有较低兴趣的新消息,更加突出地 显示被估计为用户具有较高兴趣的新消息。
图1依照本发明一些实施例图示了示例性的网络环境。网络环境 包括一个或多个客户端102和消息服务器104。客户端102包括诸如网 络浏览器或电子消息发送程序之类的客户端应用103。客户端102还可 以包括客户端助理105。客户端助理105可以是客户端应用103或被耦合到所述客户端应用103的不同应用的一部分。例如,客户端助理105
可以是被嵌入到网页中的可执行代码,所述可执行代码然后由在客户
端应用103所提供的环境中的客户端102执行。网络环境还包括用于 互连这些组件的一个或多个通信网络(一个或多个)106。
客户端应用103向客户端102的用户提供了用于与电子消息(或 "消息")相交互的接口。在某些实施例中,电子消息可以包括电子 邮件消息和/或新闻组消息。客户端应用103可以包括网络浏览器或电 子消息发送程序。网络浏览器的例子包括Internet Explorer和Firefox。 电子消息发送程序的例子包括Outlook、 Outlook Express、 Thunderbird 禾口 Eudora。
在一些实施例中,客户端应用103是电子消息发送程序。可以由 消息服务器104在服务器端、或由电子消息发送程序103和/或客户端 助理105在客户端执行对消息的操作。用户通过由电子消息发送程序 103所提供的接口与消息相交互。可选地,在服务器104上存储的消息 被复制到客户端102之后,可以从消息服务器104上删除所述消息。
在一些实施例中,客户端应用103是网络浏览器。消息保持在消 息服务器104上并且由消息服务器104来执行对所述消息的操作。客 户端102的用户使用基于web的接口 (有时被称作"web邮件")与 消息相交互,所述消息针对所述用户并且存储在消息服务器104上, 其中所述用户通过web浏览器103和/或客户端助理105访问所述接口。 为了解释简单,如下所述的客户端应用103是web浏览器,并且从而 下述实施例假定web邮件接口,其中在消息服务器104执行对电子消 息的操作。
图2依照本发明的一些实施例图示了用于根据会话或一组相似消 息的合成排名值来对发给用户的新接收消息(或"新消息")分配排 名值的示例性过程。在一些实施例中,所接收的消息可以是电子邮件消息。当新消息被消息服务器104接收时,为了排序和/或标记目的, 可以对它分配排名值。根据新消息所属会话的排名值或与所述新消息 相似的一组消息的排名值来向所述新消息分配排名值。然而应当理解, 向新消息所分配的此排名值可以由根据用户怎样与新消息相交互而确
定的排名值代替,下面相对于图4描述进一步的细节。
所分配的排名值用作用户对新消息的兴趣的初始估计,使得可以
根据所估计的用户兴趣来排序和/或标记所述新消息。消息服务器104
使用所分配的排名值来确定是否应当相对于其它消息而更突出地显示 该新消息,或被标记为用户可能对其感兴趣的消息。然而,因为用户 尚未与新消息相交互,所以没有(关于新消息的)交互作用量度以形 成用于确定新消息的排名值的基础。从而,向新消息分配该新消息所
属会话的合成排名值或一组相似消息的合成排名值;该给定排名值充 当用户对新消息的兴趣的估计,直到可以根据关于所述消息的用户动 作来确定排名值。在替换实施例中,所分配的新消息的排名值可以是 在属于该新消息所属相同会话的各消息之间和/或在与所述新消息相似 的各消息之间的最低排名值或最高排名值,而不是合成排名值。
消息服务器104接收针对用户发来的新消息(202)。如果新消息 是针对用户的现有会话的一部分(204-是),那么消息服务器104标识 所述新消息所属会话的合成排名值(206)。消息服务器104向新消息 分配所述会话的合成排名值(208)。下面相对于图4进一步详细描述 了会话的合成排名值和用于确定这种排名值的过程。
针对用户的消息可以被分组到会话中。会话包括一个或多个相关 消息(例如,覆盖属于相同思路的共同主题)。从某种意义上,所述 会话是在一个或多个用户之间的一个或多个相关消息的交换。在一些 实施例中,可以通过分析消息的各个部分(诸如主题行)并且确定涉 及哪些消息而把消息分组到会话中。例如,具有主题行"ABC"的第 一消息和具有主题行"Re: ABC"的第二消息可以被分组到相同会话中,其中"Re;"表明所述第二消息是所述第一消息的响应,这是因 为第二消息是第一消息的应答,从而这两个消息相关。
如果新消息并非是针对用户的现有会话的一部分(204-否),消 息服务器104标识针对所述用户的一个或多个现有消息构成的集合, 所述消息与该新消息相似(210)。在一些实施例中,该相似的消息集 合还可以包括预先由用户所发送的消息和与那些消息相关联的会话。 根据该相似消息集内的消息的排名值来确定用于该相似消息集的合成 排名值(218)。向新消息分配该相似消息集的合成排名值(214)。
该相似消息集包括与新消息相似的现有消息。在一些实施例中, 根据两个消息的内容,现有消息可以相似于新消息。在一些实施例中, 根据两个消息具有相同的发送方,现有消息也可以相似于新消息。在 一些实施例中,如果相似性是基于内容的(或至少部分地基于内容的), 那么如果由相似性分数(similarity score)所表示的相似度在预定义的 相似性分数阈值以上,那么现有消息被认为相似于新消息。在分析消 息之后可以根据为新消息和现有消息所标识的一个或多个主题来确定 相似度或相似性分数,所述相似度或相似性分数是至少部分地基于内 容的。本领域普通技术人员知道,可以使用用于标识内容主题的技术 来分析消息。这种技术的例子包括关键字提取和频率分析。然而应当 理解,上述相似性的判据仅仅是示例性的并且可以包括用于相似性的 其它判据。
如果两个消息中的发送方电子邮件地址匹配,那么新消息和现有 消息可以被认为是具有相同的发送方。在一些实施例中,如果两个消 息中发送方的电子邮件地址(即便不同的话)映射到用户联系人列表 中的相同的联系人和相关联的电子邮件地址(例如,地址簿),那么 所述两个消息也可以被认为具有相同的发送方。
此外应当理解,"相似的"消息不一定是相同会话的一部分;会话中的消息可以属于关于共同主题的一个或多个消息的单个交换,而 "相似的"消息可能具有在预定义阈值以上的相似度(其可以是至少 部分地基于内容的)但是不必属于单个交换。如果在214没有发现相
似的消息,那么在214可以向新消息分配默认排名值。
该组相似消息的合成排名值可以是在该组相似消息内的消息的平 均排名值,其中依照一些方式即加权平均来加权所述消息的排名值。 在一些实施例中,在该组相似消息中每个消息的排名值可以是依照同 样的加权。在一些实施例中,可以不同地加权该组内消息的排名值。 例如,较之根据内容与所述新消息相似的消息的排名值,根据相同发 送方与新消息相似的消息的排名值可以依照更高的加权。此外,对于 根据内容与新消息相似的消息来说,可以根据相似度或相似性分数来 使这种消息的排名值标准化。更进一步地,可以根据消息的日期和时 间来加权用于相似消息的排名值,使得可以向更新近的消息给予更多 加权。然而应当理解,上述加权方案仅仅是示例性的并且可以使用替 换方案。
在向新消息分配会话或一组相似消息的合成排名值之后,如果存
在更多新消息(216-是),那么所述新消息被接收(202)并且如上所 述被分配排名值。如果没有更多新消息(216-否),那么可以根据它们 所分配的排名值来排序和/或标记所述新消息。在一些实施例中,可以 通过标记、彩色编码或高亮度显示新消息来标记新消息(和/或所述新 消息所属的会话)。此外在一些实施例中,只标记所分配的排名值在 预定义排名阈值以上的那些新消息。
在一些实施例中,依照与上述不同的次序来执行在图3中所示出 的一些操作。例如,可以在执行图3中所示出的任何处理之前接收多 个消息。类似地,在一些实施例中,可以把现有消息和新消息一起排 序和序化。在一些实施例中,与现有消息分开来排序和序化新消息。 此外,如果新消息属于会话,那么可以根据所述新消息的次序来重新排序所述会话。例如,在会话列表中,具有高排名值的新消息的会话 会比具有低排名值的新消息的会话更加突出地显示或排序。
在一些实施例中,消息的发送方可以设置消息的重要性或优先级。 当新消息被接收、被分配排名值并且被排序/标记时,消息服务器104 可以考虑由发送方所设置的重要性级别或完全忽略这些指示。是考虑 还是忽略重要性级别可以是该接收用户能够选择的选项。例如,如果 要考虑重要性级别,那么重要性级别可以被转换为一个值(例如,高 重要性被转换为值l,正常重要性被转换为0,并且低重要性被转换为 -1),并且该值可被用作关于新消息所分配排名值的正或负系数。
图3依照本发明的一些实施例图示了用于根据针对用户的现有会
话以及针对所述用户的一组消息的合成排名值来向针对用户的新消息 分配排名值的示例性实施例,其中所述新消息属于所述会话,并且所 述一组消息与所述新消息相似。在一些实施例中,如果新消息属于会 话,并且存在与所述新消息相似的消息,那么为了排序和标记目的可 以一起使用所述会话和该相似消息集合的合成排名值来确定要分配给 所述新消息的排名值。
消息服务器104接收针对用户的新消息(302)。标识新消息所属 的会话,如果存在的话(304)。标识新消息所属的会话的合成排名值, 如果存在的话(306)。标识与新消息相似的、针对用户的消息集(308)。 在一些实施例中,该相似消息集还可以包括预先由用户所发送的消息 和与这些消息相关联的会话。如上面相对于图2所描述,根据内容和/ 或共同的发送方,消息可以是"相似的"。根据在该相似消息集内的 消息的排名值来确定用于该相似消息集的合成排名值(310)。应当理 解,步骤306相似于如上所述的图2的步骤206。步骤308和310分别 相似于如上所述的图2的步骤210和212。
在标识会话的合成排名值并且确定该相似消息集的合成排名值之后,根据所述会话和该相似消息集的合成排名值来确定要分配给新消 息的排名值(312)。要分配给新消息的排名值可以是所述会话和该相 似消息集的合成排名值的加权平均。根据两个合成排名值所确定的排
名值被分配给新消息(314)。如果存在更多的新消息(316-是),那 么如上所述它们被接收(302)并分配有排名值。如果没有更多新消息 (316-否),那么可以依照它们所分配的排名值来排序和/或标记所述 新消息(318)。就像上面相对于图2所描述的过程一样,应当理解, 为新消息所分配的排名值可以由根据关于所述新消息的用户操作而确 定排名值来代替,下面相对于图4描述进一步的细节。
在图2和3的过程中,可以根据现有会话的排名值和/或一组相似 消息的排名值来向新消息分配排名值。然而,可能存在并不属于任何 现有会话一部分的、针对用户的新消息,也不存在与新消息相似的(或 者在一些实施例中,足够相似的)现有消息。在这种情况下,在一些 实施例中,为了排序和标记目的,消息服务器104可以向新消息分配 默认排名值。
图4A和4B依照本发明的一些实施例图示了用于确定消息的交互 作用量度以及用于确定消息和会话的排名值的示例性过程。根据一个 或多个交互作用量度来确定消息的排名值。交互作用量度是一种基于 用户对消息所执行的预定义动作的量度。排名值是用户对现有消息兴 趣的量度,这基于用户对消息执行什么动作并且所述用户何时执行所 述动作。在一些实施例中,可以在关于消息的用户操作之后确定或更 新消息的排名值。在一些实施例中,可以定期地或不定期地确定或更 新消息的排名值。在其中定期地执行更新的实施例中,消息服务器104 可以累积关于消息的用户操作记录并且利用所述记录在所调度的时间 或间隔更新所述消息的排名值。另外,可以向其它消息应用排名值的 周期性更新,诸如用户尚需对其采取任何动作的消息。
在图4A中,用户对针对用户的消息执行动作(402)。所述动作可以是一个或多个预定义动作中的任何一个。在图4A中所图示的示例 性过程中,预定义的动作打开消息以读取(或读取所述消息),对所 述消息作出响应,把所述消息转发到其它用户,并且删除所述消息。
如果用户动作是打开消息以便读取(404-读取),那么如果用于 读取的打幵是首次这种动作,那么确定读时间(406)。读时间(read time) 是在接收消息的时刻和用户为了读取而打开所述消息的时刻之间的时 间间隔。换句话说,读时间是在收到消息的时间和打幵所述消息以进 行读取的时间之间的差。对于后续打开相同的消息以便读取来说并不 计算读时间。把读时间存储在数据结构中(408)。
在一些实施例中,在用户实际上并没有打开消息的情况下,用户 界面例如可以在预览窗口中示出所述消息的至少一部分内容。取决于 环境,为了确定读时间和读计数的目的,消息服务器104可以把消息 预览当作或不当作是打开所述消息以便读取。
如果用户动作是删除消息(404-删除),那么确定删除时间(410)。 删除时间是在接收消息时和用户删除所述消息时之间的时间间隔。换 句话说,删除时间是在收到消息的时间和删除所述消息的时间之间的 差。把删除时间存储在数据结构中(412)。
在一些实施例中,删除消息可以是两步骤的过程;消息的第一"删 除"把消息移到不想要的消息的仓库,例如"垃圾站",并且消息的 第二 "删除",即把所述消息从"垃圾站"删除,永久地删除所述消 息。另外,在永久删除之前,可通过把消息从"垃圾站"中移出来恢 复所述消息。从而,消息服务器104可以根据上述两个删除事件中的 一个或另一个来确定删除时间。此外,因为从垃圾站中恢复可以作为 删除是意外事件而并不反映用户对所述消息不感兴趣或者自从第一删 除之后所述用户重新对所述消息感兴趣的指示,所以如果从"垃圾站" 恢复所述消息,那么消息服务器104可以复位删除时间。如果用户动作是把消息转发到其它用户(404-转发),那么如果 所述转发是首次这种动作(414),那么确定转发时间。转发时间是在 用户接收消息时和用户转发所述消息时之间的时间间隔。换句话说, 转发时间是在收到消息的时间和转发所述消息的时间之间的差。在一 些实施例中,对于对相同信息的随后转发来说,并不计算转发时间, 而在其它实施例中当多次转发消息时确定多个转发时间。 一个或多个 转发时间被存储在数据结构中(416)。
如果用户动作对所述消息作出响应,例如通过应答所述消息(404-响应),那么如果所述响应是首次这种动作,那么确定响应时间(418)。 响应时间是在用户接收消息时和用户对所述消息作出响应时之间的时 间间隔。换句话说,响应时间是在收到消息的时间和用于对所述消息 作出响应的时间之间的差。在一些实施例中,对于随后对相同信息的 随后响应来说,并不计算响应时间,而在其它实施例中当用户对消息 进行多次响应时确定多个响应时间。 一个或多个响应时间被存储在数 据结构中(420)。
在一些实施例中,可以把交互作用量度和与所述交互作用量度相 关联的消息一起存储。在一些实施例中,可以把交互作用量度独立于 消息本身而与独立数据结构中消息的标识符一起存储。即便在已经删 除相关联的消息之后,还可以在一定时间维持消息的标识符和相关联 的交互作用量度。
在确定适当的交互作用量度之后,计算消息的排名值(422)。可 以借助各种方法来计算排名值,所述方法利用交互作用量度作为输入, 例如是神经网络、支持向量机、决策树及其它统计学习过程。用于使 用上述交互作用量度来确定排名值的一个示例性方法是线性组合。使 用上述交互作用量度的线性组合的例子可以是"(&*读时间)+ (M删 除时间)+ "*转发时间)+ (d"向应时间)",其中a、 b、 c和d都是预定义的系数(也称作常数)。在此例子中,a、 c和d可以是负常
数而b是正常数。在另一例子中,排名值是交互作用量度的逆的线性
组合"(a/读时间)+ (b/删除时间)+ (c/转发时间)+ (d/响应时间)", 其中a、 b、 c和d是预定义的系数或常数。在此第二例子中,a、 c和d 可以是正常数而b是负常数。 一般地说,可以根据每个交互作用量度 对所述消息的排名值是正作用还是负作用来定义所述常数。还可以根 据向每个交互作用量度给予多少加权来定义所述常数。在一些实施例 中,把较大的排名值与消息中的较高兴趣相关联。
如上所述在一些实施例中,消息的发送方可以设置消息的重要性
级别。当计算消息的排名值时,可以考虑发送方所指定的重要性级别
(下面所示出公式中的"SSIL (sender specified importance level)")。
例如,可以根据预定义方案把重要性级别转换为值,并且像在确定排
名值中任何其它交互作用量度(metrici)那样利用该值,如在以下示例
性方程式中所示
排名值二 Z",.meWc,. + -. M/丄
其中^和P是预定义的系数。当计算消息的排名值时考虑重要性 级别还是完全忽略所述重要性级别可以是用户能够切换的选项(例如, 通过把以上方程式中的y9设置为零或非零值)。
在确定消息的排名值之后,如果所述消息属于现有会话,那么可 以确定或更新所述会话的合成排名值。在一些实施例中,所述会话的 合成排名值可以是属于所述会话的消息的排名值的加权平均,包括刚 确定的消息的排名值。例如,可以根据各自消息的时间来加权所述消 息的排名值。用于基于时间加权的一个示例性方案可以是根据多久以 前接收消息来指数衰减地加权排名值。在候选实施例中,会话的合成 排名值可以是属于所述会话的消息的排名值的简单平均(算术平均)。 即,每个消息排名值具有相等的加权。应当理解,确定会话的合成排名值类似于确定一组相似消息的合 成排名值,如上面相对于图2所描述;它们都涉及使用属于预定义消 息集的排名值来确定组合,其中可以加权所述组合。此外应当理解, 上述加权方案仅仅是示例性的并且可以使用替换的加权方案。
应当理解,在一些实施例中,诸如上面相对于图4A所描述的过程, 在与各自交互作用量度相关联的第一用户动作,某些交互作用量度, 特别是基于时间的量度,只需要确定一次。例如,只需要在用户首次
打开消息以读取时确定读时间。在候选实施例中,消息服务器104可
以确定并存储关于所述消息的相同类型动作的一个以上的交互作用量
度值。例如,消息服务器104可以确定每次打开相同消息的读时间。 在另一例子中,消息服务器104可以确定首次读时间和用户已经读取 相同消息的时间量计数或次数。
图4B图示了其中可以对相同类型的动作计算一个以上交互作用 量度的过程。用户对消息采取动作(432)。如果所述动作是打开消息 以读取(434-读取),那么确定读时间(436),把所述读时间存储在 数据结构中(438),并且使读计数加l (440),其用于跟踪已经打开 所述消息以读取的次数。如果所述动作是删除消息(434-删除),那么 确定删除时间(442)并把它存储在数据结构中(444)。如果所述动 作是转发消息以便转发(434-转发),那么确定转发时间(446),把 所述转发时间存储在数据结构中(448),并且使转发计数加1 (450), 其用于跟踪已经转发所述消息的次数。如果所述动作是对消息作出响 应(434-响应),那么确定响应时间(452),把所述响应时间存储在 数据结构中(454),并且使响应计数加1 (456),其用于跟踪已经对 所述消息作出响应的次数。更新消息和/或会话的排名值(458)。可以 依照类似于上述图4A的步骤422的方式来计算消息的排名值和/或会 话的合成排名值。计数乘以常数可以是上面相对于图4A所描述的线性 组合中的附加项。可以在数学上组合(例如简单平均等)用于特定类 型动作的一个或多个时间值以获取用于输入到上述线性组合中的一个值。在图4B的过程中,对于特定类型的动作或对于多种类型动作(例 如,读取动作和转发动作)中的每个,可能存在一个以上的基于时间 的量度值。应当理解,在一些实施例中,可以对一些动作确定一个时 间量度值并且对其它动作确定多个时间。例如,对于消息来说可能只 存在一个读时间但是存在许多响应时间和转发时间。
上述交互作用量度是基于预定义动作的,所述预定义动作给出了 用户对确定消息的感兴趣级别的指示。换句话说,关于消息的用户动 作充当用户对所述消息的兴趣的指示。例如,很短的读时间,即用户 在收到之后不久就打开消息以读取,可以是用户对所述消息的内容感 兴趣和/或对来自消息发送方的所有消息感兴趣的指示。例如,很短的 删除时间,即用户在递送之后不久便删除消息,可以是用户对该消息 的内容不感兴趣和/或对来自所述消息发送方的所有消息都不感兴趣的 指示。然而应当理解,上述预定义的动作和相关联的交互作用量度仅 仅是示例性的并且可以使用预定义的动作和相关联的交互作用量度的 任何组合。例如,预定义动作的列表可以是从由以下所组成的组中所 选择的一个或多个动作打开消息以读取,转发所述消息,对所述消 息作出响应,删除所述消息,存档所述消息,把消息移动到文件夹, 标记所述消息以及手动地标识所述消息。如果所述动作是打开消息以 读取,那么量度可以包括一个或多个读时间、当打开消息时所经过的 一个或多个时间(可以或可以不根据消息长度来标准化)以及读计数。 如果所述动作是删除消息,那么所述量度可以包括在收到和删除(删 除时间)之间的时间以及在首次打开消息和删除之间的时间。如果所 述动作是对消息作出响应,那么量度可以包括一个或多个响应时间(从 收到消息的时间起测量)、响应计数以及在打开消息以读取和对所述 消息作出响应之间的一个或多个时间。如果所述动作是转发消息,那 么量度可以包括一个或多个转发时间(从收到消息的时间起测量)、 转发计数、已经向其转发所述消息的用户数目以及在打开所述消息和 转发所述消息之间的一个或多个时间。在其它实施例中,这些动作的 量度可以包括以上所标识量度的子集并且还可以包括另外的量度。还可以细化交互作用量度以说明用户一直没有访问其电子消息的 事实。还可以根据在其中所述消息实际上可被用户访问和/或可看见的 时间来改进基于例如读时间、删除时间等时间的交互作用量度。例如, 可以调节读时间以便只计数当用户登录时、当打开电子消息发送程序 时和/或当所述消息在客户端应用103中可见时所经过的时间。调节所 述时间以防止出现在其中消息不可被用户访问和/或可见的时间向消息
的排名值强加"惩罚(penalty)"的情况。
当确定消息的排名值时,因为用户尚未执行特定的动作,所以一 个或多个交互作用量度可能是不可用的。例如,如果消息尚未被删除, 那么所述消息可能不会有删除时间。在这种情况下,消息服务器104 可以使用该量度的默认值。例如,对于基于时间的量度来说,默认值 可以是在收到消息和当前时间之间的时间间隔,即在收到时间和当前 时间之间的差。换句话说,基于时间的量度的值就是自从收到消息以 来所经过的总时间。对于基于计数的量度来说,计数的默认值可以是0。 在一些实施例中,如果用户尚未对消息执行任何动作并且需要所述消 息的排名值来确定会话或一组相似消息的合成排名值,那么消息服务 器104可以使用消息的默认排名值或使用在收到消息时所分配的排名 值来作为替代。
图5依照本发明一些实施例图示了示例性的客户端102。客户端 102包括至少一个数据处理器或中央处理器(CPU) 502;存储器510; 一个或多个网络接口 506,用于经由通信网络106把客户端与图1的网 络环境中的其它客户端和消息服务器耦合及通信;和用于互连这些组 件的至少一个总线504。每个客户端还可以包括诸如监视显示器507和 键盘/鼠标509之类的一个或多个用户接口设备508。在一些实施例中, 系统中的一个或多个客户端包括上述组件的子集和/或超集。
存储器510包括高速随机存取存储器并且可以包括非易失性存储器,诸如一个或多个磁盘存储设备。在一些实施例中,存储器510可
以包括与中央处理器502远程定位的大容量存储器。存储器510存储 操作系统512,所述操作系统512包括用于处理基本系统服务以及执行 硬件相关任务的程序。存储器510还存储用于与图1的网络环境上的 其它客户端和消息服务器通信的网络通信模块或指令514。在此文档中 使用术语"指令"来意指可由诸如CPU 502之类的处理器执行的计算 机程序指令或代码。
存储器510还存储以下数据结构、程序和指令或其子集或超集 ,客户端应用103,用于向用户提供与电子消息相交互的接口;和 ,客户端助理105,用于在执行确定的任务方面向客户端102提供帮助。
图6图示了依照本发明一些实施例的示例性的消息服务器104。消 息服务器104包括至少一个数据处理器或中央处理器(CPU) 602; 存储器610; —个或多个网络接口 606,用于经由通信网络106把消息 服务器与图1的网络环境中的客户端及其它消息服务器耦合及通信; 和用于互连这些组件的至少一个总线604。每个消息服务器还可以包括 诸如监视显示器607和键盘/鼠标609之类的一个或多个用户接口设备 608。在一些实施例中,系统中的一个或多个服务器包括上述组件的子 集和/或超集。
存储器610包括高速随机存取存储器并且可以包括非易失性存储 器,诸如一个或多个磁盘存储设备。在一些实施例中,存储器610可 以包括与中央处理器602远程定位的大容量存储器。存储器610存储 操作系统612,所述操作系统612包括用于处理基本系统服务以及执行 硬件相关任务的程序。存储器610还存储用于与图1的网络环境上的 客户端及其它消息服务器通信的网络通信模块或指令614。
存储器610还存储以下数据结构、程序和指令或其子集或超集'消息储存库616,用于存储消息、会话和相关联的交互作用量度
和排名值;
,排名表618,用于存储消息和/或对话标识符以及相关联的交互 作用量度和排名值;
,消息排名模块(或指令)620,用于标识排名值,并且确定消息、 消息会话和相似消息集的交互作用量度和排名值;和
,新消息处理模块(或指令)622,用于寻找与新消息相似的消息, 排序消息并且标记消息。
消息储存库616存储消息、会话以及相关联的交互作用量度和排 名值。消息、会话、量度和排名值可以被存储在诸如在图6B和6C中 所示出的表之类的数据结构中。在图6B中,表624存储一个或多个会 话625。在每个会话内有会话标识符626、会话合成排名值627、 一 个或多个消息628、与会话中每个各自消息相关联的交互作用量度值 629以及与会话中每个各自消息相关联的排名值630。如下所论述在一 些实施例中,排名值还与每个会话相关联并与之存储。并未被分组到 会话中或并不属于任何会话的消息可以被存储在诸如在图6C中所示出 的表631之类的数据结构中。表631存储一个或多个消息632、与每个 相应消息相关联的交互作用量度值633以及与每个相应消息相关联的 排名值634。
在一些实施例中,消息和会话的交互作用量度值和排名值可以与 所述消息相独立地存储在诸如表635 (在图6D中所示出)和表638 (在 图6E中所示出)之类的数据结构中。表635包括一个或多个会话标识 符636和与每个相应会话标识符相关联的合成排名值637。表638包括 一个或多个消息标识符639、与每个相应消息标识符相关联的交互作用 量度值640以及与每个相应消息标识符相关联的排名值641。
消息排名模块(或指令)620确定消息的交互作用量度值。使用这 些交互作用量度值,消息排名模块620确定消息的排名值,并且使用消息的排名值来确定会话或相似消息集的排名值。消息排名模块620
可以包括一个或多个子模块。例如图6A所示,消息排名模块620可以 包括
*交互作用量度模块642,用于确定与预定义的关于消息的用户动 作相关联的的交互作用量度值;
,排名值模块(或指令)644,用于根据交互作用量度来确定消息 的排名值;
*读取模块(或指令)646,用于确定消息的读时间和读计数。 *响应模块(或指令)648,用于确定消息的响应时间和响应计数; ,删除模块(或指令)650,用于确定消息的删除时间; ,转发模块(或指令)652,用于确定消息的转发时间和转发计数;

,合成排名模块(或指令)654,用于确定会话和相似消息集的排名值。
应当理解,读取模块646、响应模块648、删除模块650和转发模 块652是用于确定与特定的用户动作相关联的交互作用量度值的模块 或指令;它们可以是交互作用量度模块642的子模块。
新消息处理模块或指令622寻找新消息的相似消息,排序消息并 且标记消息。新消息处理模块622可以包括一个或多个子模块。例如, 新消息处理模块622可以包括内容模块或指令656,用于根据内容寻 找与新消息相似的消息;发送方模块或指令658,用于根据相同发送方 来寻找与新消息相似的消息;加权660,用于当计算排名值时保持与消 息的加权有关的数据;消息排序模块或指令662,用于根据排名值来排 序(或序化)消息;和消息标记模块或指令664,用于标记其排名值在 预定义的排名阈值以上的消息。
以上标识的模块或过程中的每个对应于用于执行上述功能的指令 集。这些模块(即,指令集)不必被实现为独立的软件程序、过程或模块,并且从而在各个实施例中可以组合或重新配置这些模块的各个 子集。在一些实施例中,存储器610可以存储上面所标识的模块和数 据结构的子集。此外,存储器610可以存储上面未描述的附加模块和 数据结构。
尽管图6示出了消息服务器104作为若干离散的项,图6更旨在 表达消息服务器104中可以存在的各个特征的功能描述而不是这里所 描述实施例的结构示意。在实践中,并且那些本领域普通技术人员应 当认识到,可以组合所分别示出的项,并且某些项可以被分开。例如, 在图6中所分别示出的一些项可以在单个服务器上实现并且单个项可 以在一个或多个服务器上实现。消息服务器104中服务器的实际数目 和在它们之间怎样分配组件可能因实现方式的不同而有所不同,并且 可以部分地取决于该系统在峰值使用期间以及在平均使用期间所必须 处理的数据通信业务量。
上述实施例假定釆用web邮件接口,其中消息服务器104对消息 执行操作,包括确定消息的交互作用量度、为消息排名并且排序/标记 所述消息。然而在其中客户端应用103是电子消息发送程序并且可以 在客户端对消息执行操作的实施例中,在web邮件实施例中可能会由 消息服务器104执行的一些任务可以由电子消息发送程序103和/或客 户端助理105来执行。例如,交互作用量度可以由电子消息发送程序 103和/或客户端助理105来确定并且被本地存储在客户端102。电子消 息发送程序103和/或客户端助理105可能会确定消息的排名值。电子 消息发送程序103和/或客户端助理105可能会负责按照会话和/或相似 性来分析消息并且分组所述消息。电子消息发送程序103和/或客户端 助理105还可能负责排序和/或标记所述消息。此外,上面相对于图6 所描述的数据结构和/或模块(或指令)的至少一个子集可以位于客户 端102上。
本发明的一些实施例的进一步特征包括重载(override)规则。重载规则可以给出来自特定发送方的消息或关于特定主题具有预定义高 排名值的消息,而不管用户对该消息执行什么动作。重载规则可以由 用户设置或由系统通过随时间推移分析用户动作模式来学习。例如, 所述系统可以知道用户历来喜欢来自特定发送方的消息。作为响应, 系统可以向来自该特定发送方的将来消息给予高排名值,使得始终使
来自该特定发送方的消息更加突出。诸如版本空间(version space)之 类的技术可以用于学习过程。
为了解释目的,已经参考具体实施例描述了以上说明书。然而以 上的说明性论述并不意在把本发明穷举或限制为所公开的精确形式。 考虑到上述教导可以进行许多修改和变化。选择并描述所述实施例使 得更好地解释本发明的原理及其实际应用,以便由此使其它本领域技 术人员能够在适于所预计的特定使用的各种修改的情况下更好地利用 本发明和各个实施例。
权利要求
1.一种用于对消息提供排名值的方法,包括把排名值与接收消息相关联,所述排名值具有基于一个或多个排名系数的初始值;根据关于所述接收消息的用户交互作用来确定与所述接收消息相关联的至少一个交互作用量度;并且依照所述至少一个交互作用量度来修改所述排名值。
2. 如权利要求l所述的方法,其中所接收的消息是电子邮件消息。
3. 如权利要求l所述的方法,其中所述确定至少一个交互作用量 度包括确定在所述接收消息的收到时间与用户对所述接收消息执行预 定义动作的时间之间的时间长度。
4. 如权利要求l所述的方法,其中所述确定至少一个交互作用量度包括确定所述接收消息已经被所述用户读取的次数。
5. 如权利要求l所述的方法,其中一个或多个排名系数中的第一个是基于满足第一情况的一个或多个第一消息的集体排名值的。
6. 如权利要求l所述的方法,其中所述一个或多个排名系数中的 第一个是基于满足第一情况的一个或多个第一消息的各自排名值的。
7. 如权利要求6所述的方法,进一步包括当一个或多个第一消息属于所述接收消息所属的相同会话时,则满足所述第一情况。
8. 如权利要求6所述的方法,进一步包括当所述接收消息对于所述一个或多个第一消息中的每个来说具有大于预定义相似性分数阈 值的各自的消息相似性分数时,满足所述第一情况。
9. 如权利要求6所述的方法,进一步包括当所述一个或多个第 一消息是从相同的发送方接收时,满足所述第一情况。
10. 如权利要求6所述的方法,其中所述一个或多个排名系数中的第二个基于满足第二情况的一个或 多个第二消息的排名值;并且所述初始值是基于至少排名系数的所述第一个和所述第二个的加 权组合。
11. 如权利要求IO所述的方法,进一步包括当所述一个或多个第一消息属于所述接收消息所属的相同会话时 满足所述第一情况;并且当所述接收消息对于所述一个或多个第二消息中的每个来说具有 大于预定义相似性分数阈值的各自的消息相似性分数时满足所述第二 情况。
12. 如权利要求1所述的方法,进一步包括确定满足第一情况的 多个消息的合成排名值。
13. 如权利要求12所述的方法,进一步包括使用修改的所述接收 消息的排名值来修改所述合成排名值。
14. 如权利要求13所述的方法,进一步包括当所述多个消息与 所述接收消息所属的相同会话相关联时,满足所述第一情况。
15. 如权利要求13所述的方法,进一步包括当所述多个消息彼此 具有大于预定义相似性分数阈值的各自的消息相似性分数时满足所述 第一情况。
16. 如权利要求13所述的方法,进一步包括当所述多个消息是 从相同的发送方接收时,满足所述第一情况。
17. 如权利要求13所述的方法,其中所述确定合成排名值包括根据满足第一情况的所述多个消息的至少子集的每个的各自排名值来确 定加权平均排名值。
18. 如权利要求13所述的方法,进一步包括确定所接收的消息满足第一情况,并且其中至少一个排名系数基于所述合成排名值。
19. 如权利要求1所述的方法,进一步包括依照多个消息中每个的各自排名值来排序所述多个消息,所述多个消息包括所述接收消息。
20. 如权利要求1所述的方法,进一步包括当所述排名值超过预 定义的排名阈值时标记所述接收消息。
21. —种用于对消息提供排名值的系统,包括新消息处理模块,用于把排名值与接收消息相关联,所述排名值具有基于一个或多个排名系数的初始值;和消息排名模块,用于根据用户对所述接收消息的交互作用来确定 与所述接收消息相关联的至少一个交互作用量度,并且依照所述至少 一个交互作用量度来修改所述排名值。
22. 如权利要求21所述的系统,其中所述消息排名模块包括指令, 用于确定所述接收消息的收到时间和所述用户对所述接收消息执行预 定义动作的时间之间的时间长度。
23. 如权利要求21所述的系统,其中所述消息排名模块包括指令, 用于确定所述接收消息已经被用户读取的次数。
24. 如权利要求21所述的系统,其中所述一个或多个排名系数中 的第一个基于满足第一情况的一个或多个第一消息的各自排名值。
25. 如权利要求24所述的系统,其中所述一个或多个排名系数中的第二个基于满足第二情况的一个或 多个第二消息的排名值;并且所述初始值基于排名系数的至少所述第一个和所述第二个的加权 组合。
26. 如权利要求21所述的系统,其中所述消息排名模块包括指令, 用于确定满足第一情况的多个消息的合成排名值。
27. 如权利要求26所述的系统,其中所述消息排名模块包括指令, 用于根据满足第一情况的多个消息的至少子集的每个的各自排名值来 确定加权平均排名值。
28. 如权利要求21所述的系统,进一步包括消息排序模块,用于 依照所述多个消息中的每个的各自排名值来排序多个消息,所述多个 消息包括所述接收消息。
29. 如权利要求21所述的系统,进一步包括消息标记模块,用于 当所述排名值超过预定义的排名阈值时标记所述接收消息。
30. —种包含在计算机介质上的计算机程序产品,用于对消息提 供排名值,所述计算机程序产品包括用于执行以下操作的指令把排名值与接收消息相关联,所述排名值具有基于一个或多个排名系数的初始值;根据用户对所述接收消息的交互作用来确定与所述接收消息相关 联的至少一个交互作用量度;并且依照所述至少一个交互作用量度来修改所述排名值。
全文摘要
根据关于消息的用户动作所导出的量度对用户的消息做排名。还可以对消息的分组做排名,诸如会话或被确定为相似的一组消息。当接收新消息时,根据各消息的排名和所述新消息所涉及的消息分组的排名来估计用户对它的兴趣。可以根据所估计的用户兴趣来使新消息更突出或更不突出。
文档编号G06F15/16GK101288061SQ200680020901
公开日2008年10月15日 申请日期2006年4月18日 优先权日2005年4月19日
发明者亨利·罗利, 舒梅特·巴卢哈 申请人:谷歌公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1