CN117076148A - 生成和呈现特定于消息传递线程且基于内容的效果 - Google Patents

生成和呈现特定于消息传递线程且基于内容的效果 Download PDF

Info

Publication number
CN117076148A
CN117076148A CN202310553861.1A CN202310553861A CN117076148A CN 117076148 A CN117076148 A CN 117076148A CN 202310553861 A CN202310553861 A CN 202310553861A CN 117076148 A CN117076148 A CN 117076148A
Authority
CN
China
Prior art keywords
messaging
user
text
graphical
messaging thread
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.)
Pending
Application number
CN202310553861.1A
Other languages
English (en)
Inventor
马尼克·辛格
路易·贝努瓦·菲利普·博瓦尔
爱丽丝·庄·乐博
塞伊特·伊尔马兹
伊万·费尔南多·索里亚诺·奥索尼奥
萨蒂什·库马尔·斯里尼瓦桑
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.)
Meta Platforms Inc
Original Assignee
Meta Platforms Inc
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 Meta Platforms Inc filed Critical Meta Platforms Inc
Publication of CN117076148A publication Critical patent/CN117076148A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • 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/216Handling conversation history, e.g. grouping of messages in sessions or threads
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • 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/07User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail characterised by the inclusion of specific contents
    • H04L51/10Multimedia information
    • 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/04Real-time or near real-time messaging, e.g. instant messaging [IM]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本公开涉及系统、非暂态计算机可读介质和方法,这些系统、非暂态计算机可读介质和方法用于生成消息传递线程的图形元素和文本之间的关联,并基于向消息传递线程提供包括该文本的该消息,来提供包括该图形元素的覆盖。具体地,在一个或多个实施例中,所公开的系统接收用户对文本和图形元素的选择,并向与消息传递线程相关联的各客户端设备提供该文本和该图形元素之间的关联。因此,所公开的系统为与消息传递线程相关联的每个客户端设备提供指令,以生成并提供该消息传递线程的覆盖。

Description

生成和呈现特定于消息传递线程且基于内容的效果
技术领域
本申请涉及用于生成和呈现特定于消息传递线程且基于内容的效果的系统、非暂态计算机可读介质和方法。
背景技术
近年来,为人们提供相互联系和通信的方式的系统已经有了显著的发展。例如,各种电子通信系统提供了发送和接收电子消息的各种方法。例如,计算设备可以允许用户使用文本消息传递、即时消息传递、社交网络帖子和其他形式的电子通信,来与其他用户通信。此外,电子通信可以包括各种内容,这些内容包括文本、图像、视频、和/或其他数据。总的来说,电子通信已经成为人们相互联系和通信的最流行的方式之一。
由于人们可使用电子通信系统进行通信的方式多种多样、且电子通信具有便利性和移动性,用户经常面临每天接收和发送大量的电子消息的问题。许多传统的电子通信系统允许用户将作为快捷通信形式的符号(例如,表情符号)包括在电子消息中。此外,一些传统的电子通信系统允许用户包括作为快捷通信形式的动画(例如,图形交换格式(GIF))。符号或动画可以表示一种快捷的通信形式,这是因为与使用传统文本传递相同的消息相比,将符号包括在电子通信中可能需要较少的用户输入(例如,打字较少)。
尽管使用符号可以提高发送和接收电子消息的效率,但是关于在电子通信中对符号和动画的传统使用存在几个缺点。例如,用户通常希望由传统符号或动画表达的消息、情绪或想法具有更精细度。然而,大多数传统符号都被刻意地设计来表示一个单一的信息、情绪或想法。因此,当符号与用户想要的信息不完全匹配时,用户被迫花费额外的时间来输入几个单词或句子,或者发送不能充分表达用户想要的信息的符号。
为了解决传统符号和动画缺乏消息精细度的问题,一些传统的电子通信系统包括这样的库:该库包括大量符号以试图向用户提供更接近地匹配用户想要的消息的符号。然而,该符号库可能导致用户滚动浏览或搜索大量的符号来定位最合适的符号。可惜的是,用户在符号库中定位符号所花费的过多的用户交互和时间通常大于用户起初简单键入消息所花费的用户交互的量和/或时间量。
此外,许多传统的电子通信系统在管理数字动画时需要计算资源。传统电子通信系统的这种低效率由于传统动画所表达的消息、情绪或想法缺乏精细度而更加严重。举例来说,大量的传统动画通常需要传统的电子通信系统来存储和传输极其大量的动画,从而进一步增加了计算时间和资源的过度使用。
因此,在改进电子通信方面时应进行多方面考虑。
发明内容
本公开的实施例使用如下系统、非暂态计算机可读介质和方法,来提供了多种益处和/或解决本领域中的前述或其他问题中的一个或多个问题:所述系统、非暂态计算机可读介质和方法用于将消息传递线程的文本与图形元素相关联,并基于检测到添加到消息传递线程的包括文本的消息,来提供该消息传递线程的包括图形元素的覆盖。更具体地,在一个或多个实施例中,所公开的系统接收用户对文本和图形元素的选择,并生成该消息传递线程的文本和图形元素之间的关联。此外,在一些实施例中,所公开的系统向与该消息传递线程相关联的客户端设备提供该关联。因此,在一个或多个实施例中,所公开的系统使得与消息传递线程相关联的客户端设备,响应于检测到消息传递线程中的文本,在消息传递线程上提供包括图形元素的覆盖。
在随后的描述中概述了本公开一个或多个实施例的附加特征和优势,并且这些附加特征和优势将部分地从该描述中显而易见,或者可以通过对这些示例实施例进行实践而获知。
附图说明
具体实施方式通过使用如下面简要描述的附图,提供了具有附加特性和细节的一个或多个实施例。
图1示出了根据一个或多个实施例的消息传递系统可在其中运行的环境的示意图。
图2示出了根据一个或多个实施例的为图形元素分配内容和消息传递线程的过程的概述。
图3A至图3E示出了根据一个或多个实施例的这样的示例图形用户界面(graphical user interface,GUI):所述示例图形用户界面供在将图形元素与内容和消息传递线程相关联时使用。
图4A和图4B示出了根据一个或多个实施例的这样的示例消息传递线程图形用户界面:所述示例消息传递线程图形用户界面响应于相关联的文本正被输入到消息传递线程中而呈现图形元素。
图5A和图5B示出了根据一个或多个实施例的这样的示例消息传递线程图形用户界面:所述示例消息传递线程图形用户界面用于将主题与一个或多个预定内容相关联、以及将图形元素关联与消息传递线程相关联。
图6示出了根据一个或多个实施例的具有应用了相关联的消息传递主题的示例消息传递线程图形用户界面。
图7示出了根据一个或多个实施方式的利用推荐引擎来确定推荐的内容/图形元素关联推荐的消息传递系统。
图8示出了根据一个或多个实施例的消息传递系统的示意图。
图9示出了根据一个或多个实施例的用于将图形元素与内容和消息传递线程相关联的一系列动作的流程图。
图10示出了用于实现本公开的一个或多个实施例的示例计算设备的框图。
图11示出了根据一个或多个实施例的社交网络系统的网络环境。
图12示出了根据一个或多个实施例的社交网络系统的示例社交图。
具体实施方式
本公开描述了这种消息传递系统的一个或多个实施例:该消息传递系统基于图形元素和内容之间的关联,在消息传递线程中实时生成和提供图形效果。更具体地,在一个或多个实施例中,该消息传递系统接收在特定消息传递线程的图形元素和内容之间建立关联的用户选择。在一些实施例中,消息传递系统向与消息传递线程相关联的每个计算设备提供用于生成包括图形元素的图形效果的指令。在一个或多个实施例中,消息传递系统促进客户端系统基于检测到添加到消息传递线程的、包括与该消息传递线程的图形元素相对应的内容的消息,提供包括该图形元素的图形效果。
在一个或多个实施例中,消息传递系统通过与消息传递线程相关联的图形用户界面,接收对与内容(例如,文本)相关联的图形元素的用户选择。举例说明,在一个或多个实施例中,消息传递系统生成并提供图形元素和内容之间的推荐关联,以供用户选择。此外或可替代地,消息传递系统接收图形元素和内容之间的自定义关联。例如,消息传递系统可以接收键入文本的用户输入,以与从菜单中选择或查询到的图形元素相关联。
此外,在一个或多个实施例中,消息传递系统生成消息传递线程的文本和图形元素之间的关联。举例说明,消息传递系统存储和管理各种消息传递线程的关联。此外,消息传递系统可以存储和管理彼此独立的不同消息传递线程的关联。
附加地或替代地,在一些实施例中,消息传递系统接收选择消息传递主题的用户输入,该消息传递主题包括内容和图形元素之间的一个或多个预定关联。在应用该消息传递主题时,消息传递系统可以将一个或多个视觉或听觉改变应用于与消息传递线程相关联的一个或多个图形用户界面。此外,在一个或多个实施例中,消息传递系统基于对消息传递主题的用户选择,生成用于消息传递线程的、包括在该消息传递主题中的关联。
在一些实施例中,消息传递系统还基于来自与消息传递线程相关联的各客户端设备的用户输入,来管理、生成消息并向消息传递线程提供该消息。在一个或多个实施例中,消息传递系统监测消息传递线程中与图形元素相关联的内容。因此,在一些实施例中,消息传递系统检测添加到消息传递线程的、包括与图形元素相关联的内容的消息。
此外,在一个或多个实施例中,消息传递系统响应于检测到包括与图形元素相关联的内容的消息,在消息传递线程中提供包括该图形元素的图形效果。举例说明,在一些实施例中,消息传递系统向与消息传递线程相关联的每个客户端设备提供用于生成图形效果的指令。此外,在一个或多个实施例中,客户端设备生成包括该图形元素的多个实例的图形效果。此外,在一些实施例中,客户端设备生成临时图形效果,并且在图形用户界面上应用这些临时图形效果达预定的持续时间。
此外,在一些实施例中,客户端设备生成包括图形元素的各种实例的运动的图形效果。例如,在一些实施例中,消息传递系统可以向客户端设备提供用于生成图形元素的动画路径的指令。此外或可替代地,在一个或多个实施例中,客户端设备生成包括图形元素的动画的图形效果。举例说明,在一些实施例中,消息传递系统向客户端设备提供用于生成一个或多个动画帧的指令,该一个或多个动画帧显示了图形元素随时间的各种变化和/或运动。
如前述论述所示,本公开利用各种术语来描述消息传递系统的特征和优势。现在提供关于这些术语含义的附加细节。例如,如在本文中所使用的,术语“消息传递线程”是指在网络应用程序的多个账户之间交换的一组数字通信(例如,具有消息传递应用程序的客户端设备登录到网络应用程序的账户)。具体地,消息传递线程可以包括用户界面内的数字通信的可视交换。消息传递线程的示例可以包括在网络应用程序的多个账户之间交换的即时消息、数字媒体项目、图形元素等中的一者或多者。
此外,如在本文中所使用的,术语“内容”是指添加到消息传递线程的一个或多个元素。具体地,术语“内容”可以包括被选择用于与图形元素相关联的文本,例如单词或短语(一个或多个单词的组合)。在一个或多个实施例中,消息传递系统可以以规定的顺序或不以规定的顺序将文本与图形元素相关联。举例说明,文本可以包括“芝加哥(Chicago)”、“爱(love)”、“快乐(happy)”或“微笑(smile)”中的一者或两者、“我想你(I miss you)”、以及各种单词的各种其他组合。
此外,如本文所使用的,术语“图形元素”是指数字可视媒体。具体地,术语“图形元素”可以包括与消息传递线程的文本相关联的一段数字可视媒体。举例说明,图形元素可以包括表情符号、GIF、照片、图画和其他可视媒体。
此外,如本文所使用的,术语“消息”是指数字通信。具体地,术语“消息”可以包括通过消息传递线程传递的数字通信(例如,即时消息或短讯服务(SMS)消息)。消息可以包括这样的数字通信:所述数字通信包含各种数字内容,例如数字文本、数字图像或数字视频(或它们的组合)。因此,消息可以包括与消息传递线程的一个或多个图形元素相关联的数字文本。
此外,如本文所使用的,术语“图形效果”是指包括图形元素的效果。例如,图形效果可以包括提供图形元素作为覆盖。术语“覆盖”是指在图形用户界面中通过消息传递线程提供的一段可视媒体。具体地,术语“覆盖”可以包括在消息传递线程图形用户界面中提供的一段可视媒体。举例说明,覆盖可以包括一个或多个图形元素的运动、包括一个或多个图形元素的动画、和/或在图形用户界面上提供的或作为图形用户界面的一部分的各种可视媒体。
此外,如本文所使用的,术语“动画”是指在按顺序显示时会产生运动错觉的一系列视频帧。具体来说,术语“动画”可以包括如下的一系列视频帧:该一系列视频帧显示了一个或多个图形元素的运动和/或对一个或多个图形元素的改变。举例说明,动画可以包括图形元素的运动、对图形元素的大小的改变、对图形元素的位置或形状的改变、以及对图形元素的其他改变。
同样如本文所使用的,术语“消息传递主题”是指对消息传递线程的一组相关联的改变。具体地,术语“消息传递主题”可以包括一组触觉、视觉和音频改变,消息传递系统可以将该一组触觉、视觉和音频改变应用到消息传递线程。例如,消息传递主题可以包括指定的触觉反馈、振动、配色方案、背景图像、音乐、通知声音、和/或文本和图形元素之间的一个或多个关联。
消息传递系统提供了许多优于传统电子通信系统和方法的优势和好处。例如,消息传递系统通过提供包括图形元素的覆盖作为附加的意图表达,来提高传达用户想要的消息的准确性。举例说明,用户可以有效地生成文本和图形元素之间的关联,使得每当文本出现在消息传递线程的消息中时,将包括图形元素的覆盖提供给消息传递线程。这利用图形元素提供了对用户意图的更准确表达,并提高了可能的通信的规模和范围。
此外,相对于传统的电子通信系统,消息传递系统通过基于文本和图形元素之间的关联提供图形元素,来提高效率和准确性。具体而言,消息传递系统可以基于先前用户输入生成关联,来重复地并且响应于来自各计算设备的消息而向消息传递线程提供覆盖,而不是需要用户每次重复搜索与其意图相关的图形元素。这减少或消除了传统系统使用图形元素所需的过多用户交互。此外,消息传递系统在生成关联期间提供对表情符号的文本搜索,从而通过减少生成关联所需的用户交互来提高效率。
此外,消息传递系统通过向与消息传递线程相关联的每个客户端设备提供生成图形效果的指令,来提高效率和灵活性。举例说明,消息传递系统通过利用客户端设备生成和提供消息传递线程的覆盖,节省了传统系统在存储和管理数字动画时所使用的过多的计算时间和资源。因此,消息传递系统可以快速地向消息传递线程提供各种各样的可定制的覆盖(包括各种运动和/或动画),而无需过度使用计算资源。
现在将提供与描绘了数字通信系统的示例实施例和实施方式的说明性附图相关的附加细节。例如,图1示出了根据一个或多个实施例的用于实现数字通信系统的计算系统环境(或“系统”)100。如图1所示,系统100包括一个或多个服务器102、一个或多个用户客户端设备(也称为客户端设备)108以及网络110,该一个或多个服务器102包括社交网络系统104和消息传递系统106。系统100的各部件中的每个部件可以通过网络110进行通信,并且网络110可以是计算设备可通过其进行通信的任何合适的网络。下面将关于图10更详细地论述示例网络。
如图1所示,系统100包括一个或多个服务器102。在一个或多个实施例中,该一个或多个服务器102可以将消息传递系统106实现为社交网络系统104的一部分。该一个或多个服务器102可以执行、生成、存储、接收和发送电子数据,该电子数据例如为用于生成和/或提供消息传递线程的覆盖的可执行指令。此外,该一个或多个服务器102可以促进通过消息传递线程来交换消息。在一个或多个实施例中,该一个或多个服务器102维护与各用户帐户相对应的数据。在一些实施例中,该一个或多个服务器102包括分布式服务器,其中该一个或多个服务器102包括分布在网络110上且位于不同物理位置的多个服务器设备。该一个或多个服务器102可以包括内容服务器、应用服务器、通信服务器、网络托管服务器、和/或机器学习服务器。
同样如图1所示,系统100包括一个或多个用户客户端设备108。系统100可以包括任何数量的用户客户端设备108。该一个或多个用户客户端设备108均可以是各种计算设备中的一种,这些计算设备包括智能手机、平板电脑、智能手表、智能电视、台式计算机、膝上型计算机、虚拟现实设备、增强现实设备、或关于图10所描述的其他计算设备。该一个或多个用户客户端设备108均可以实现由消息传递系统106支持的消息传递应用程序112。
在一个或多个实施例中,该一个或多个用户客户端设备108与一个或多个用户帐户(例如,存储在该一个或多个服务器102处的用户帐户)相对应。例如,该一个或多个客户端设备108中的一个客户端设备的用户可以建立具有登录凭证的用户帐户。该一个或多个服务器102可以通过消息传递应用程序112、利用与对应的用户账户相关联的许可和其他数据,在一个或多个用户客户端设备108之间传递消息。因此,用户可以利用具有合适权限的多个设备(例如,多个发送客户端设备或多个接收客户端设备),这些权限与对应的用户账户相关联。本公开利用客户端设备来指代与这些用户账户相关联的设备。因此,本公开和权利要求书在提到客户端设备时不被限制为与特定设备的通信,而是与利用消息传递应用程序112的消息传递系统106相关联的特定用户账户相对应的任何设备的通信。
此外,该一个或多个服务器102可以通过网络110与该一个或多个用户客户端设备108通信。例如,该一个或多个用户客户端设备108可以通过网络110以及该一个或多个服务器102发送或接收消息。此外,该一个或多个用户客户端设备108和/或该一个或多个服务器102可以通过网络110发送用于生成和提供消息传递线程的图形效果的指令。
如上所论述的,消息传递系统106可以提供消息传递线程的具有与文本相关联的图形元素的消息。例如,图2示出了用于生成和提供包括图形元素的一个或多个实例的图形效果的过程的概述。图2示出了第一客户端设备202、一个或多个服务器204以及第二客户端设备206,该一个或多个服务器包括消息传递系统106。第一客户端设备202和第二客户端设备206中的每一个客户端设备都执行消息传递应用程序112。应当理解的是,第一客户端设备202和第二客户端设备206是作为示例给出的,消息传递系统106可以促进任意数量的客户端设备之间的消息传递线程。
如图2所示,第一客户端设备202执行动作208:检测对文本和图形元素的选择。更具体地,在一个或多个实施例中,第一客户端设备202检测从包括各种图形元素的菜单中对图形元素的选择。此外,在一些实施例中,第一客户端设备202接收对相应文本的用户选择,其包括通过键盘或数字键盘对相应文本的用户选择。
此外,如图2所示,第一客户端设备202可以向一个或多个服务器204提供对文本和图形元素的选择。此外,该一个或多个服务器204可以执行动作209:向与消息传递线程相关联的每个客户端设备提供该选择。在一个或多个实施例中,该一个或多个服务器204整理将文本与图形元素相关联的数据。此外,在一些实施例中,消息传递系统106基于接收到用户选择,生成用于生成覆盖的指令,该覆盖包括相应图形元素。如图2所示,该一个或多个服务器204向第一客户端设备202和第二客户端设备206提供该选择。在一个或多个实施例中,该一个或多个服务器204还向第一客户端设备202和第二客户端设备206提供用于生成覆盖的指令。具体地,一旦该一个或多个服务器204提供了内容和图形元素之间的关联(或关联列表),则该一个或多个服务器204在工作流中是被动的(即,它们仅用于在客户端设备之间传递信息)。以这种方式,消息可以被加密,并且客户端设备仍然可以提供图形效果。
在一个或多个实施例中,响应于接收到该选择,如图2所示,第一客户端设备202执行将消息传递线程的文本与图形元素关联的动作210a,第二客户端设备206执行将该消息线程的文本与图形元素关联的动作210b。更具体地,在一个或多个实施例中,第一客户端设备202和第二客户端设备206接收指示文本、图形元素和相应的消息传递线程的数据。在一些实施例中,第一客户端设备202和第二客户端设备206存储该关联,该关联包括在与该消息传递线程相对应的元数据中。例如,第一客户端设备202和第二客户端设备206在匹配表中存储该关联,该匹配表具有与该消息传递线程相关联的其他关联。
此外,如图2所示,第一客户端设备202执行在消息传递线程中发送包括该文本的消息的可选动作212a,并且第二客户端设备206执行在消息传递线程中发送包括该文本的消息的可选动作212b。在一个或多个实施例中,第一客户端设备202和第二客户端设备206中的任一者或两者可以在消息生成期间接收包括对文本的选择的用户输入。如图2所示,第一客户端设备202和/或第二客户端设备206向一个或多个服务器204提供该消息。
在一个或多个实施方式中,包括文本的消息被输入到的客户端设备执行匹配以确定已输入该文本,如下所述。响应于确定已经输入了这样的文本:该文本映射到客户端设备上的匹配表中所存储的文本/图形元素关联,该客户端设备发送包括该文本的消息、指示匹配已被找到的元数据、以及已被匹配的字符串的指示(例如,具有5个至13个字符的指示)。然后,接收设备查找该匹配,并在将消息输入消息传递线程时呈现图形效果。
同样如图2所示,一个或多个服务器204执行通过消息传递线程提供该消息的动作213。在一个或多个实施例中,第一客户端设备202和第二客户端设备206通过消息传递线程呈现消息。此外,如图2所示,第一客户端设备202执行基于包括文本的消息、提供具有包括图形元素的覆盖的消息的动作214a,第二客户端设备206执行基于包括文本的消息、提供具有包括图形元素的覆盖的消息的动作214b。
更具体地,在一个或多个实施例中,第一客户端设备202和第二客户端设备206检测到在消息传递线程中呈现的消息包括文本。在一些实施例中,第一客户端设备202和第二客户端设备206基于该检测并基于所存储的图形元素和文本之间的关联,生成包括该图形元素的覆盖。在一个或多个实施例中,第一客户端设备202和第二客户端设备206利用一个或多个服务器204提供的用于生成覆盖的指令。
在一些实施例中,第一客户端设备202和第二客户端设备206通过生成图形元素的一个或多个实例、以及该图形元素的实例的一个或多个运动路径,来生成覆盖。此外或可替代地,第一客户端设备202和第二客户端设备206通过生成包括图形元素的运动和/或对图形元素的改变的多个帧,来生成动画。在一些实施例中,第一客户端设备202和第二客户端设备206在图形用户界面上呈现覆盖,该图形用户界面包括消息传递线程的消息。
图3A至图3E示出了用于生成消息传递线程的图形元素和文本之间的关联的示例图形用户界面。更具体地,图3A至图3E示出了客户端设备302在生成图形元素和文本之间的关联的过程中呈现了各种图形用户界面。图3A示出了客户端设备302呈现消息传递线程选项图形用户界面304。消息传递线程选项图形用户界面304包括如下信息:对应的消息传递线程和该消息传递线程的各种选项。
更具体地,消息传递线程选项图形用户界面304包括消息传递线程中与用户相对应的线程名称“图书俱乐部”以及图标或照片。消息传递线程选项图形用户界面304还包括与消息传递线程相对应的各种可选选项。在一个或多个实施例中,客户端设备302响应于检测到与消息传递线程选项图形用户界面304中的可选选项的用户交互,呈现与该选项相对应的图形用户界面。
例如,如图3A所示,消息传递线程选项图形用户界面304包括单词效果选项308。如图3A所示,单词效果选项308包括魔术棒图标和文本“单词效果”。在一个或多个实施例中,客户端设备302响应于在单词效果选项308处接收到用户交互,呈现关联生成图形用户界面,以用于制作和修改该消息传递线程的文本和图形元素之间的关联。
此外,如图3A所示,消息传递线程选项图形用户界面304包括消息传递主题选项309。如图3A所示,消息传递主题选项309包括指示当前消息传递主题的小圆点和文本“主题”。在一些实施例中,客户端设备302响应于在消息传递主题选项309处接收到用户交互,呈现消息传递主题图形用户界面,以用于选择消息传递线程的消息传递主题。
图3B示出了客户端设备302显示关联生成图形用户界面311。如图3B所示,关联生成图形用户界面311包括关联解释314。更具体地,关联解释314包括文本“向您的聊天添加效果。将具有特殊含义的单词与有趣的效果配对。每当使用这些单词时,每个人都将会看到一个动画。”关联解释314还包括“了解更多”的可选选项。然而,应当理解的是,消息传递系统106可以以各种方式生成关联解释,关联解释包括用于各种实施方式的各种文本。
关联生成图形用户界面311还包括推荐关联的列表316。推荐关联的列表316是与快速实现的预定图形元素和文本相对应的可选选项。举例说明,在图3B中,推荐关联的列表316包括茶杯图形元素和文本“爆料(spill the tea)”、100图形元素和文本“事实”、山羊图形元素和文本“史上最佳(goat)”、皇冠图形元素和文本“女王(queen)”、以及烟花图形元素和文本“非常好(fancy)”。
然而,应当理解的是,消息传递系统106可以生成包括各种文本和图形元素的推荐关联的列表316。举例说明,在一个或多个实施例中,消息传递系统106通过分析消息传递线程并识别来自该消息传递线程的与该消息传递线程中使用的图形元素相关联的文本,来生成文本和图形元素之间的推荐关联的列表。此外或可替代地,消息传递系统106可以基于管理员输入来生成推荐关联。在替代地实施例中,消息传递系统106可以使用历史信息或机器学习模型来生成推荐关联,如以下关于图7所描述的。
在一个或多个实施例中,客户端设备响应于检测到推荐关联的列表316中的一个推荐关联的用户输入,生成所选图形元素和所选文本之间的关联。此外,如上关于图2所论述的,客户端设备302向消息传递系统106和/或与消息传递线程相关联的每个客户端设备提供该关联。因此,与消息传递线程相关联的每个客户端设备根据推荐关联的列表316处的用户选择进行相同的关联。
除了生成预定的关联之外,消息传递系统106和客户端设备302可以生成图形元素和文本之间的自定义关联。同样如图3B所示,关联生成图形用户界面311包括图形元素选择按钮310和文本栏312。在一个或多个实施例中,客户端设备302可以生成通过图形元素选择按钮310选择的图形元素和通过文本栏312检测到的对应文本之间的关联。
举例说明,如图3C所示,客户端设备302响应于检测到与文本栏312的用户交互,提供文本输入图形用户界面318。该文本输入图形用户界面包括图形元素选择按钮310和文本栏312。该文本输入图形用户界面还包括用于生成文本的虚拟键盘。然而,在一个或多个实施例中,客户端设备302可以接收各种输入类型的如下用户输入:该用户输入指示与图形元素相关联的文本。例如,在个人计算机实施方式中,客户端设备302可以通过物理键盘接收用户输入。
如图3C所示,图形元素选择按钮310包括描绘城市的图形元素,并且文本栏312包括文本“芝加哥”。在一个或多个实施例中,客户端设备302基于对图形元素和文本的用户选择,呈现包括描绘城市的图形元素的图形元素选择按钮310和包括文本“芝加哥”的文本栏312。在一个或多个实施例中,客户端设备302基于接收到该用户输入,生成文本“芝加哥”和描绘该文本的图形元素之间的关联。此外,如上所提及的,客户端设备302可以向消息传递系统106和/或与消息传递线程相关联的每个客户端设备提供该关联。
在一个或多个实施例中,消息传递系统106利用各种规则将单词或短语与图形元素相关联。例如,消息传递系统106可以利用这样的规则:该规则使得客户端设备在整个消息与相关联的文本相匹配时,提供覆盖。此外,在一些实施例中,消息传递系统106利用这样的规则:该规则使得客户端设备在消息包括相关联的文本时,在不考虑该消息中所包括的任何其他文本的情况下提供覆盖。此外,在一个或多个实施例中,消息传递系统106利用这样的规则:该规则使得客户端设备在一组单词中的一个或多个单词包括在消息传递线程中的消息中时,提供覆盖。此外,消息传递系统106可以利用各种算法和/或规则来利用文本和图形元素之间的关联,以确定客户端设备是否在图形用户界面上呈现覆盖、以及如何在图形用户界面上呈现覆盖。
此外,在一些实施例中,客户端设备302可以响应于接收到对关联的用户选择,在消息传递线程内呈现如下消息:该消息指示对消息传递主题的选择。此外,在一个或多个实施例中,客户端设备502(例如通过消息传递系统106)向与消息传递线程相关联的每个其他客户端设备提供该消息。因此,与消息传递线程相关联的每个客户端设备可以呈现指示消息传递线程的文本和图形元素之间的新关联的消息。
在一个或多个实施例中,客户端设备302响应于接收到对图形元素选择按钮310的用户选择,提供图形元素选择图形用户界面。举例说明,如图3D所示,客户端设备302呈现图形元素选择图形用户界面317。如图3D所示,图形元素选择图形用户界面317包括图形元素搜索栏319和图形元素显示区域321。用户可以滚动浏览图形元素显示区域321以找到想要的图形元素,或者可以输入搜索词来帮助找到想要的图形元素。
转到图3E,客户端设备302还可以呈现文本和图形元素之间的现有关联的信息。如图3E所示,客户端设备302可以呈现现有关联图形用户界面320。同样如图3E所示,现有关联图形用户界面320包括现有关联322。现有关联322包括描绘城市的图形元素和文本“芝加哥”。
举例说明,如图3C所示,客户端设备302接收选择描绘城市的图形元素和文本“芝加哥”的用户输入以用于关联。因此,客户端设备302生成了描绘城市的图形元素和文本“芝加哥”之间的关联。此外,如图3E所示,客户端设备302将包括现有关联322的现有关联图形用户界面320呈现为对文本和图形元素之间的关联的指示。在一个或多个实施例中,客户端设备302可以响应于在现有关联322处接收到用户输入,呈现用于删除和/或修改现有关联的图形用户界面。
例如,在一个或多个实施例中,消息传递系统106接收更新与图形元素相关联的文本的用户输入。因此,消息传递系统106可以基于更新后的文本,响应于在相应的消息传递线程中检测到包括更新后的文本的消息,提供包括相关联的图形元素的覆盖。在另一示例中,在一些实施例中,消息传递系统106接收修改与文本相关联的图形元素的用户输入。因此,消息传递系统106可以基于更新后的图形元素,响应于在相应的消息传递线程中检测到包括文本的消息,提供包括更新后的图形元素的覆盖。
如上所提及的,消息传递系统106可以响应于输入到消息传递线程中的内容,在消息传递线程上提供图形效果。更具体地,客户端设备302可以响应于检测到添加到消息传递线程的包括相关联的文本的消息,呈现包括图形元素的覆盖。图4A和图4B示出了客户端设备402呈现消息传递线程图形用户界面404、并在消息传递线程图形用户界面404上提供这种覆盖。
图4A示出了客户端设备呈现消息传递线程图形用户界面404。如图4A所示,消息传递线程图形用户界面404包括消息栏406。消息栏406包括文本“芝加哥”。另外,在一个或多个实施例中,消息传递线程图形用户界面404包括消息传递线程的各种消息。如上所论述的,这些消息可以包括文本、可视媒体、音频媒体、和各种多媒体。
图4B示出了当消息408被输入到消息传递线程时的消息传递线程图形用户界面404。消息408包括文本“芝加哥”。客户端设备402响应于接收到在消息传递线程中发送消息408的用户输入,在消息传递线程图形用户界面404中显示消息408。此外,客户端设备402检测到消息408包括文本“芝加哥”,并确定文本“芝加哥”与该消息传递线程的图形元素相关联。
在一个或多个实施例中,消息传递系统106的消息传递应用程序112在文本被键入时检测该文本,以确定该文本是否包括与图形元素相关联的内容。更具体地,在一些实施例中,消息传递系统106利用基于字典树的算法(trie-based algorithm)来确定匹配。
在一个或多个实施例中,客户端设备402将文本和图形元素之间的关联存储在客户端设备402上的匹配表中。客户端设备402响应于向消息传递线程发送消息,来检查匹配表。在一些实施例中,消息传递系统106基于识别到消息中的文本匹配到匹配表中的条目,发送具有如下元数据的消息:该元数据指示匹配被找到且单词字符串被匹配。因此,任何接收客户端设备可以有效地检测文本和相关联的图形元素,并相应地提供覆盖。
在一些实施例中,消息传递系统106利用带有语法高亮显示的正则表达式测试器预先计算单词边界索引。在一个或多个实施例中,消息传递系统106整理与树中的每个图形元素相关联的单词集,其中各种搜索词被整理在图形元素下。一经通过消息栏406接收到指示一个或多个文本字符的用户输入,消息传递系统106就逐个字符地扫描搜索文本。在一个或多个实施例中,消息传递系统106识别与消息栏406中的现有字符的部分匹配。在一个或多个实施例中,消息传递系统106通过跟随搜索树迭代地确定在输入每个跟随字符时该跟随字符是否被包括在内。
举例说明,对于每个部分匹配,一经通过消息栏406接收到附加字符,消息传递系统106就检查附加字符的所有现有匹配。消息传递系统106可以将不继续匹配附加字符的部分匹配视为偏离的,并且可以相应地放弃通过搜索树的这些路径。
消息传递系统106还可以检查成功推进的部分匹配是否指向搜索树的终端节点。此外,在一个或多个实施例中,消息传递系统106检查成功推进的部分匹配是否是完全匹配。对于完全匹配,消息传递系统106还可以删除搜索路径以提高效率并节省计算资源。此外,消息传递系统106可以继续提供其他部分匹配。例如,词语“快乐”可以在其搜索节点中返回与词语“快乐”完全匹配的笑脸图形元素,以及在其节点中返回与词语“生日快乐”部分匹配的派对烟花图形元素。在该示例中,消息传递系统106可以响应于通过消息栏406接收到“快乐”,而提供笑脸图形元素和派对烟花图形元素。
因此,当消息传递系统106接收到字符时,该消息传递系统106可以通过利用搜索树,来搜索所包括的字符。因此,每当消息传递系统106接收到一个字符时,消息传递系统106不需要重新计算每个关联。此外或者可替代地,在一个或多个实施例中,消息传递系统106可以响应于用户发送或完成文本输入来运行搜索树。
除了逐个字符地利用搜索树之外,消息传递系统106还可以响应于一次输入的多个字符来利用搜索树。例如,消息传递系统106可以响应于单词的自动完成,从最近的搜索树状态运行该搜索树。此外,在对文本进行自动校正之后,消息传递系统106可以从最近的相关查询运行该搜索树。此外,消息传递系统106可以在手动校正(例如,删除和重新键入)之后从最近的相关文本运行该搜索树,以便节省计算资源。
在一个或多个实施例中,为了确定最近的相关文本,消息传递系统106执行倒回(rewinding)以确定搜索树的与更新后的文本相对应的最近的先前状态。例如,如果词语“flowed(流动的)”被校正为搜索词语“flowers(花)”,则消息传递系统106可以将搜索树倒回其运行搜索项“flowe(流动)”时的状态,并运行“flowers(花)”而不是“flowed(流动的)”。为了倒回该先前状态,消息传递系统106可以用编辑过的范围重新开始单词索引。对于该示例,消息传递系统106将范围修改为包括前五个字符,而不是字符一到字符六。因此,消息传递系统106将搜索树返回到其搜索前五个字符时的状态。
此外,在一个或多个实施例中,消息传递系统106可以扫描更新后的文本以确定该词语的更新后的边界。对于更新后的词语是“Flowers(花)”的示例,消息传递系统106识别七个字符,并相应地确定七个字符的词语边界。因此,消息传递系统106可以用更新后的词语和更新后的词语边界来运行搜索树。在一个或多个实施例中,消息传递系统106通过放弃任何完全匹配来重新开始搜索。
此外,重新搜索过程可以包括跟踪并略过不同的部分匹配。举例说明,消息传递系统106立即放弃不同的部分匹配。然而,在一个或多个实施例中,消息传递系统106可以基于对搜索文本的后续更新来重新发现这些部分匹配中的一个或多个部分匹配。因此,消息传递系统106持续跟踪不同的部分匹配,但是在每次字符迭代时略过它们。这可以识别出先前的不同的部分匹配。
基于这一确定以及关于图3A至图3E所描述的文本“芝加哥”和描绘城市的图形元素之间的关联,客户端设备402生成包括描绘城市的图形元素的覆盖410。如图4B所示,覆盖410包括描绘在消息传递线程图形用户界面404上运动的城市的图形元素的多个实例。如图4B所示,客户端设备402可以在消息传递线程图形用户界面404的一个或多个部分之上和/或之下提供覆盖410。例如,客户端设备402在消息408之下但在线程中的其他消息之上提供覆盖410。此外,客户端设备402可以确定是否在各种图形用户界面元素之上或之下提供覆盖。
此外,在一个或多个实施例中,客户端设备402可以无限期地或暂时地提供覆盖。例如,客户端设备402可以提供覆盖达预定时间段。此外或可替代地,客户端设备402提供覆盖,直到客户端设备402检测到用户输入。
此外,消息传递系统106向与消息传递线程相关联的每个其他客户端设备提供用于生成和提供覆盖410的指令。此外,消息传递系统106可以生成并提供用于各种类型的覆盖的指令。举例说明,消息传递系统106可以生成并提供用于显示图形元素的动画的覆盖的指令。例如,在一个或多个实施例中,消息传递系统106生成并提供用于生成修改了图形元素的大小或形状的动画的指令。在另一示例中,消息传递系统106生成并提供用于生成显示了图形元素的面部表情的变化的动画的指令。
此外,在一个或多个实施例中,消息传递系统106可以确定一消息包括多个文本片段,每个文本片段与不同的图形元素相关联。消息传递系统106还可以确定单个文本片段与多个图形元素相关联。在任一情况下,消息传递系统106可以向客户端设备提供用于生成包括多个图形元素的覆盖的指令。例如,客户端设备可以通过如下方式来生成覆盖:生成图形元素的动画路径,并沿着动画路径的一半放置第一图形元素以及沿着动画路径的另一半放置第二图形元素。类似地,客户端设备可以通过进一步划分动画路径来生成具有附加图形元素的覆盖。
此外,因为客户端设备402生成并呈现覆盖,所以即使对于具有端到端加密的消息传递线程,消息传递系统106也可以促进消息传递线程利用这些覆盖。举例说明,与消息传递系统106相关联的服务器不需要存储任何用户数据。取而代之的是,服务器可以保持端到端加密,并将数据(包括用于生成和呈现覆盖的关联和指令)从设备提供到设备。
如上所提及的,在一个或多个实施例中,消息传递系统106可以将消息传递主题应用于消息传递线程。更具体地,在一个或多个实施例中,消息传递系统106接收并实现消息传递主题中所包括的文本和图形元素之间的关联。图5A和图5B示出了客户端设备502检测对消息传递主题的用户选择、以及文本和图形元素之间的对应关联。
例如,如图5A所示,客户端设备502呈现消息传递主题图形用户界面504。消息传递主题图形用户界面504包括消息传递主题的各种选项。如所提及的,消息传递主题可以包括文本和图形元素之间的关联,以促进生成该消息传递主题的覆盖。此外,在一个或多个实施例中,消息传递系统106向客户端设备502提供包括对消息传递线程的视觉和/或音频改变的消息传递主题。
举例说明,消息传递主题可以包括在消息传递线程中呈现为消息的背景的图像。此外或者可替代地,在一些实施例中,消息传递主题包括对消息传递线程的配色方案的改变,该配色方案包括所发送或所接收到的消息的颜色、可选选项的颜色等。在一个或多个实施例中,消息传递主题还可以包括供客户端设备在消息传递线程打开时播放的相关联的背景音乐。此外,在一些实施例中,消息传递主题包括对与消息传递主题相关联的通知声音和/或振动的修改。在一个或多个实施例中,消息传递主题包括指定的触觉反馈。除了这些改变之外,消息传递主题还可以包括各种其他的触觉、视觉和/或音频修改。
如图5A所示,消息传递主题图形用户界面504包括消息传递主题菜单506。消息传递主题菜单506包括文本“自定义您的聊天”和各种消息传递主题选项。举例说明,消息传递主题菜单506包括在消息传递主题菜单506中由文本“农历新年”和老虎图标表示的消息传递主题508。
此外,消息传递主题菜单506包括消息传递主题选项,例如“高保真”、“天空”、“庆祝!”、“寒冷(Chill)”和“奇人异事(Stranger Things)”。然而,应当理解的是,客户端设备502可以呈现包括各种消息传递主题的消息传递主题菜单506。举例说明,客户端设备502可以呈现从消息传递系统106接收到的消息传递主题。在一些实施例中,消息传递系统106基于管理员输入提供消息传递主题。
在一个或多个实施例中,客户端设备502响应于接收到具有消息传递主题菜单506中的一个或多个消息传递主题的用户输入,将消息传递主题中所包括的任何指定的修改应用于消息传递线程。例如,客户端设备502基于在消息传递主题508处接收到用户交互,将指定的修改应用于消息传递线程。
举例说明,图5B示出了客户端设备502呈现现有关联图形用户界面510。现有关联图形用户界面510包括消息传递主题关联512和现有关联514。如图5B所示,客户端设备502响应于接收到对消息传递主题508的用户选择,生成消息传递主题关联512。消息传递主题关联512包括文本“老虎”与描绘老虎的图形元素相关联、文本“好运”与描绘同心圆和星形的图形元素相关联,以及文本“新年快乐”与烟花相关联。
然而,将理解的是,消息传递主题关联可以包括各种文本和图形元素。更具体地,客户端设备502基于检测到对消息传递主题的用户选择,检索与消息传递主题相关联的指定的修改。在一个或多个实施例中,客户端设备502利用检索到的修改来将每个修改应用于消息传递线程。因此,文本和图形元素之间的消息传递主题关联可以包括基于与消息传递主题相关联的数据的各种文本和图形元素。
此外,在一些实施例中,客户端设备502向与消息传递线程相关联的每个其他客户端设备发送修改的通知。因此,相关联的客户端设备可以各自将消息传递主题应用于消息传递线程。因此,在一个或多个实施例中,与消息传递线程相关联的每个其他客户端设备利用接收到的通知,来生成文本和图形元素之间的指定关联。
此外,类似于以上关于图3C的论述,客户端设备502可以响应于接收到对消息传递主题的用户选择,在消息传递线程内呈现指示对消息传递主题的选择的消息。类似地,客户端设备502可以(例如通过消息传递系统106)向与消息传递线程相关联的每个其他客户端设备提供消息。因此,与消息传递线程相关联的每个客户端设备可以呈现指示对消息传递主题的选择的消息。此外,如上所论述的,客户端设备502和与消息传递线程相关联的其他客户端设备可以基于文本和图形元素之间的消息传递主题关联,来生成和提供覆盖。
图6示出了客户端设备602呈现消息传递线程图形用户界面606,其中应用了消息传递主题。举例说明,客户端设备602基于对“农历新年”主题的用户选择,呈现包括与农历新年相关的背景图像的消息传递线程图形用户界面606。此外,如上所提及的,消息传递主题可以包括进一步的修改,例如对消息传递线程的主题音乐或颜色的改变。
图6示出了客户端设备602在消息传递线程中呈现包括与图形元素相关联的文本的消息608。更具体地,消息传递主题包括文本“好运”和描绘同心圆和星形的图形元素之间的关联。因此,如图6所示,客户端设备602基于检测到消息608中包含文本“好运”,生成包括描绘同心圆和星形的图形元素的覆盖并在消息传递线程上提供该覆盖。
如图6所示,客户端设备602利用消息传递主题中所包括的、文本“好运”和描绘同心圆和星形的图形元素之间的关联,来生成覆盖。如以上关于图4B更详细论述的,客户端设备602通过以下方式来生成覆盖:生成运动路径并沿着运动路径放置描绘同心圆和星形的图形元素。然而,同样如以上参考图4B所论述的,客户端设备602可以生成包括动画的覆盖,该动画包括多个图形元素等。
如上所提及的,在一个或多个实施例中,消息传递系统106利用推荐引擎来确定待推荐的相关内容和图形元素关联。例如,图7示出了消息传递系统106利用推荐引擎。具体而言,图7示出了消息传递系统106利用推荐引擎来识别内容-图形元素关联推荐,并且随后提供内容-图形元素关联推荐以供显示,如以上关于图3B所示。
如图7所示,消息传递系统106识别消息传递线程数据702和用户数据703(例如,参与给定消息传递线程的用户的用户数据)。如图7所示,消息传递系统106利用消息传递线程数据702和用户数据703以及推荐引擎706来确定内容-图形元素关联推荐710。实际上,如图7所示,消息传递系统106利用推荐引擎706(基于历史选择数据和/或机器学习模型)来确定与消息传递线程和与该消息传递线程交互的用户相关的内容-图形元素关联推荐710,该推荐引擎706利用图形元素库(也称为化身图像资产存储库)704和社交图谱708、以及消息传递线程数据702和用户数据703。
如本文所使用的,术语“机器学习模型”是指这样的基于计算机的模型:该基于计算机的模型可以基于模拟未知函数的输入和对应的输出来训练(例如,调整或学习)。作为示例,机器学习模型可以包括但不限于神经网络(例如,卷积神经网络、循环神经网络或深度学习模型)、决策树(例如,梯度增强决策树、随机森林决策树)、生成对抗神经网络和/或回归模型。
在一些实施例中,消息传递系统106使用推荐引擎(例如,推荐引擎706)来识别和利用消息传递线程数据(例如,消息传递线程数据702)。如图7所示,消息传递线程数据702可以包括但不限于以下数据的各种组合:交换的消息、主题、用户数量、和/或线程偏好/设置。
例如,消息传递线程数据可以包括表示消息传递线程的类别或目的的数据,例如但不限于消息传递线程主题。例如,消息传递线程主题可以指示消息传递线程是否具有特定目的(例如,私人、公共、社交、商业、休闲、游戏、教育、工作相关、约会、体育娱乐、音乐娱乐、电影娱乐)。
在某些情况下,消息传递线程数据包括但不限于描述符(例如,描述消息传递线程的元数据或描述符),该描述符例如为线程的标题或所选择的主题名称。在一个或多个实施方式中,消息传递线程数据包括在线程中交换的过去的消息,该过去的消息包括先前使用的图形元素的列表。在一个或多个实施例中,消息传递线程数据包括消息传递线程的偏好/设置(例如,由与消息传递线程相对应的开发者计算设备或管理员设备来配置)。
此外,在一个或多个实施例中,消息传递系统106使用推荐引擎(例如,推荐引擎706)来识别和利用用户数据(例如,用户数据703)。在某些情况下,消息传递系统106在消息传递线程中从用户的社交网络系统104上的用户账户资料中识别用户数据。例如,如图7所示,用户数据703可以包括但不限于以下数据的各种组合:人口统计数据、地理数据、社会关系、和/或用户活动数据。
作为示例,用户数据可以包括例如但不限于以下数据:人口统计数据(例如,性别、年龄、就业、种族、收入)、地理数据(例如,当前位置、住所、就业位置)、社交关系(例如,联系人、社交网络朋友、社交网络家庭成员、被阻止的用户、关系状态)、和/或用户活动(例如,历史用户活动)。在一些实施方式中,用户数据还可以包括但不限于以下数据:用户归属关系(例如,社交网络群组、玩的游戏、购买的东西)、用户偏好(例如,隐私偏好、通信偏好、化身表示偏好)、和/或用户状态(例如,在社交网络属性中选定的情绪、在社交网络属性内的状态)。
如图7进一步所示,消息传递系统106使用推荐引擎706来利用消息传递线程数据702和用户数据703。例如,向推荐引擎706提供消息传递线程数据702和用户数据703,并且推荐引擎706利用输入数据以及图形元素库704来识别内容-图形元素关联推荐710。内容-图形元素关联推荐710包括基于消息传递线程数据702和用户数据703而选择的文本和图形元素。
如图7进一步所示,在某些情况下,消息传递系统106利用具有历史选择数据的推荐引擎706。具体地,消息传递系统106可以利用与其他消息传递线程相关的内容/图形元素选择的历史趋势。例如,消息传递系统106可以基于其他线程中用户选择的内容/图形元素关联的图形元素的历史用户选择,对来自图形元素库704的图形元素进行排名。
在一些实例中,消息传递系统106还利用社交图谱708来识别其他线程中用户选择的内容/图形元素关联的历史选择趋势或对这些历史选择趋势进行排名。例如,消息传递系统106可以利用来自一个或多个用户的历史趋势将权重应用于经排名的内容/图形元素关联,该一个或多个用户类似于与来自社交图谱708的用户数据703相对应的用户。例如,消息传递系统106可以识别与对用户数据的高亲和性(例如,具有满足预先配置的亲和性阈值的亲和性系数)相对应的一个或多个用户。然后,消息传递系统106可以利用来自高亲和性用户(来自社交图谱708)的其他线程中的用户选择的内容/图形元素关联的用户趋势数据,来修改其他线程中的经排名的内容/图形元素关联。例如,消息传递系统106可以利用如下所述的社交图谱(例如,关于图11和图12)。
在一些实例中,消息传递系统106利用用户的历史选择数据来确定内容-图形元素关联推荐。例如,消息传递系统106可以识别用户在其他线程中选择的内容/图形元素关联,并且利用先前选择的内容/图形元素关联,来选择当前消息传递线程中推荐的内容/图形元素关联。
此外,在一些实例中,消息传递系统106可以识别作为历史选择数据的一部分的、用户数据和一个或多个用户选择的内容/图形元素关联之间的亲和性。具体地,消息传递系统106可以利用社交图谱来确定用户和来自该社交图谱的一个或多个人或对象之间的亲和性。然后,消息传递系统106可以利用相关的一个或多个人或对象,来识别用户选择的与社交图谱中的一个或多个人或对象具有亲和性的内容/图形元素关联。
在某些实施方式中,消息传递系统106可以基于流行度对用户选择的内容/图形元素关联进行排名。例如,消息传递系统106可以利用历史社交网络数据来按照流行度对其他线程中的用户选择的内容/图形元素关联进行排名。
同样如图7所示,消息传递系统106可以利用具有机器学习模型的推荐引擎706。在一个或多个实施例中,消息传递系统106可以利用机器学习模型来接收输入消息传递线程数据、用户数据和/或社交图谱数据的各种组合,以确定(或选择)相关图形元素(这些图形元素与消息传递线程数据和用户数据匹配)。在某些情况下,消息传递系统106可以利用机器学习模型来确定图形元素在被呈现时被用户选择的概率。然后,消息传递系统106可以使用概率(例如,在概率满足预先配置的阈值概率时)来选择图形元素。
在一个或多个实施例中,消息传递系统106利用机器学习模型来接收输入消息传递线程数据、用户数据和/或社交图谱数据的各种组合,以便输出内容/图形元素关联。具体地,消息传递系统106可以利用如下机器学习模型:该机器学习模型输出文本或短语的、指示该文本或短语与用户(和/或在消息传递线程内)相关的可能性的概率。然后,在一个或多个实施例中,消息传递系统106基于与文本或短语相对应的概率(例如,利用预先配置的阈值概率)来选择一个或多个文本或短语。随后,消息传递系统106可以利用所确定的一个或多个文本或短语,来选择与内容-图形元素推荐的文本或短语相匹配的图形元素。
在一些实施例中,消息传递系统106训练机器学习模型来选择或确定图形元素(或文本或短语)。例如,消息传递系统106识别(或生成)具有如下数据的训练数据集:用户数据、消息传递线程数据和/或社交图谱数据、以及作为地面真实数据的对内容-图形元素推荐的相应选择。实际上,消息传递系统106可以从历史数据和/或用户生成的训练数据中识别该训练数据集。
然后,消息传递系统106可以向机器学习模型提供来自训练数据集的输入数据,以生成预测的或确定的内容-图形元素推荐。在一个或多个实施例中,消息传递系统106将预测与地面真实数据进行比较。此外,消息传递系统106可以确定指示机器学习模型预测的准确度或错误率的损失值。
在某些情况下,消息传递系统106可以利用所确定的损失值,来(例如,通过反向传播)学习机器学习模型的参数。例如,消息传递系统106可以迭代地利用具有训练数据集的机器学习模型,来确定预测的内容-图形元素推荐,并将该预测与地面真实选择进行比较,以确定损失值。此外,消息传递系统106可以利用迭代损失值来迭代地学习机器学习模型的参数(例如,作为反馈回路),直到达到期望的准确度水平(例如,通过小于或等于误差阈值来满足误差阈值)。在一个或多个实施例中,消息传递系统106利用各种损失函数(或损失值)。例如,消息传递系统106可以利用损失函数(或损失值),例如但不限于均方误差、平方损失、L2损失、平方误差损失和/或绝对误差损失。
在一个或多个实施例中,消息传递系统106利用机器学习模型和历史选择数据的组合,来确定内容-图形元素关联推荐。例如,在某些情况下,消息传递系统106利用机器学习模型(使用消息传递线程数据和用户数据)来确定预测的图形元素和相关联的文本/短语。然后,根据本文的一个或多个实施方式,消息传递系统106可以使用历史选择数据(例如,历史趋势、历史活动或历史选择)来进一步对预测的内容-图形元素推荐进行排名和/或加权。
转到图8,现在将提供关于消息传递系统106的各种部件和能力的附加细节。具体地,图8示出了根据一个或多个实施例的实现消息传递系统106的计算设备800的示例示意图。还示出的是,消息传递系统106可以包括消息传递线程管理器802、消息传递图形管理器804、主题管理器806和数据存储器808。
如图8所示,消息传递系统106包括消息传递线程管理器802。在一个或多个实施例中,消息传递线程管理器802接收来自一个或多个客户端设备(例如,计算设备800)的用户输入,并基于所接收到的用户输入生成消息传递线程的消息。此外,消息传递线程管理器802通过各客户端设备在消息传递线程图形用户界面中提供消息。另外,在一个或多个实施例中,消息传递线程管理器802跟踪与消息传递线程相关联的用户账户和客户端设备。
此外,如图8所示,消息传递系统106包括消息传递图形管理器804。在一个或多个实施例中,消息传递图形管理器804管理消息传递线程的图形元素、以及图形元素和文本之间的关联。此外,在一些实施例中,消息传递图形管理器804生成图形元素的动画和/或动画路径。此外,在一个或多个实施例中,消息传递图形管理器804通过相关联的客户端设备的相关联的消息传递线程来提供图形元素动画。
此外,如图8所示,消息传递系统106包括主题管理器806。在一个或多个实施例中,主题管理器806跟踪和管理消息传递线程的消息传递主题。例如,在一些实施例中,主题管理器806管理与消息传递主题相关联的音频和/或视觉元素。此外,在一个或多个实施例中,主题管理器806与消息传递图形管理器804通信,以管理消息传递主题中所包括的文本和图形元素之间的关联。
同样,如图8所示,消息传递系统106包括数据存储器808。数据存储器808可以(例如,通过一个或多个存储设备)维护执行社交网络系统104的功能所需的任何类型、大小或种类的数据。例如,如图8所示,数据存储器808可以存储消息810、图形812和消息传递主题814。
消息传递系统106的部件802至808中的每个部件可以包括软件、硬件、或软件和硬件两者。例如,部件802至808可以包括存储在计算机可读存储介质上并可由一个或多个计算设备(例如,客户端设备或服务器设备)的处理器执行的一个或多个指令。消息传递系统106的计算机可执行指令在被一个或多个处理器执行时,可以使得一个或多个计算设备执行本文所描述的方法。替代地,部件802至808可以包括硬件,例如执行特定功能或功能组的专用处理设备。替代地,消息传递系统106的部件802至808可以包括计算机可执行指令和硬件的组合。
此外,消息传递系统106的部件802至808可以例如被实现为一个或多个操作系统、被实现为一个或多个独立应用程序、被实现为应用程序的一个或多个模块、被实现为一个或多个插件、被实现为一个或多个库函数或可被其他应用调用的函数、和/或被实现为云计算模型。因此,部件802至808可以被实现为独立的应用程序,例如桌面或移动应用程序。此外,部件802至808可以被实现为在远程服务器上托管的一个或多个基于网页(web-based)的应用程序。部件802至808还可以在一套移动设备应用程序或“apps”中实现。
图1至图8、相应的文本和示例提供了消息传递系统106的多种不同的方法、系统、设备和非暂态计算机可读介质。除了前述内容之外,一个或多个实施例也可以按照包括用于实现特定结果的动作的流程图来描述,如图9所示。图9可以使用更多或更少的动作来执行。此外,可以以不同的顺序执行这些动作。此外,本文所描述的动作可以彼此并行地重复或执行,或者与相同或相似动作的不同实例并行地重复或执行。
如上所提及的,图9示出了根据一个或多个实施例的、用于基于图形和文本之间的关联向消息传递线程提供覆盖的一系列动作900的流程图。尽管图9示出了根据一个实施例的动作,但是可替代地实施例可以省略、添加、重新排序和/或修改图9所示的任何动作。图9的动作可以作为方法的一部分来执行。替代地,非暂态计算机可读介质可以包括多个指令,这些指令在被一个或多个处理器执行时,使得计算设备执行图9中的动作。在一些实施例中,一系统可以执行图9的动作。
如图9所示,该系列动作900包括用于接收对文本和图形的用户选择的动作902。具体地,动作902可以包括:通过与消息传递线程相对应的图形用户界面接收包括文本和图形元素的用户选择。具体地,动作902可以包括:生成文本和图形元素之间的推荐关联的列表,以及通过该推荐关联的列表接收与文本和图形元素相对应的用户选择。
此外,该系列动作900包括用于将文本与图形关联的动作904。具体地,动作904可以包括:基于接收到用户选择,生成消息传递线程的文本和图形元素之间的关联。具体地,动作904可以包括:接收对与附加文本和附加图形元素之间的一个或多个附加关联相对应的消息传递主题的附加用户选择,以及基于接收到该附加用户选择,将该一个或多个附加关联应用于消息传递主题。
此外,该系列动作900包括用于提供包括该文本的消息的动作906。具体地,动作906可以包括:检测添加到消息传递线程的包括该文本的消息。具体地,动作906可以包括:响应于接收到对消息传递主题的附加用户选择,对消息传递线程进行一个或多个视觉或听觉改变。
该系列动作900还包括用于基于该关联提供包括图形元素的覆盖的动作908。具体地,动作908可以包括:响应于检测到消息并且基于文本和图形元素之间的关联,在消息传递线程上提供包括图形元素的一个或多个实例的覆盖。具体地,动作908可以包括:生成覆盖,该覆盖包括图形元素的一个或多个实例在消息传递线程上的运动;以及通过使该图形元素的一个或多个实例的运动运行达一临时性持续时间,来提供该覆盖。
此外,在一个或多个实施例中,动作908包括:生成覆盖,该覆盖包括图形元素的一个或多个实例在消息传递线程上的动画。动作908可以包括:通过运行该图形元素的一个或多个实例的动画,来提供覆盖。在一些实施例中,动作908还包括:接收包括与图形元素相关联的更新后的文本的用户输入;检测添加到消息传递线程的包括更新后的文本的附加消息;以及响应于检测到该附加消息并且基于该更新后的文本和图形元素之间的关联,在消息传递线程上提供包括图形元素的一个或多个实例的覆盖。此外,在一个或多个实施例中,动作908包括:响应于生成消息传递线程的文本和图形元素之间的关联,向与该消息传递线程相关联的一个或多个客户端设备发送用于生成消息传递线程的文本和图形元素之间的关联的指令。
本公开的实施例可以包括或利用包括计算机硬件(例如,一个或多个处理器和系统存储器)的专用或通用计算机,如下面更详细论述的。本公开范围内的实施例还包括用于承载或存储计算机可执行指令和/或数据结构的物理和其他计算机可读介质。具体地,本文所描述的多个过程中的一个或多个过程可以至少部分地实现为体现在非暂态计算机可读介质中且可被一个或多个计算设备(例如,本文所描述的媒体内容访问设备中的任何)执行的指令。总体来说,处理器(例如,微处理器)接收来自非暂态计算机可读介质(例如,存储器)的多个指令,并执行这些指令,从而执行一个或多个过程,该一个或多个过程包括本文描述的多个过程中的一个或多个过程。
计算机可读介质可以是能够被通用或专用计算机系统访问的任何可用介质。存储计算机可执行指令的计算机可读介质是非暂态计算机可读存储介质(设备)。承载计算机可执行指令的计算机可读介质是传输介质。因此,作为示例而非限制,本公开的实施例可以包括至少两种种类截然不同的计算机可读介质:非暂态计算机可读存储介质(设备)和传输介质。
非暂态计算机可读存储介质(设备)包括随机存取存储器(Random-AccessMemory,RAM)、只读存储器(Read-Only Memory,ROM)、电子可擦除可编程只读存储器(EEPROM)、只读光盘驱动器(CD-ROM)、固态驱动器(solid state drives,SSD)(例如,基于RAM)、闪存、相变存储器(phase-change memory,PCM)、其他类型的存储器、其他光盘存储器、磁盘存储器或其他磁存储设备,或可用于存储计算机可执行指令或数据结构形式的期望的程序代码工具、且可由通用或专用计算机访问的任何其他介质。
“网络”被定义为能够在计算机系统和/或模块和/或其他电子设备之间传输电子数据的一条或多条数据链路。当通过网络或另一通信连接(要么硬连线、无线,要么硬连线或无线的组合)向计算机传送或提供信息时,该计算机适当地将该连接视为传输介质。传输介质可以包括网络和/或数据链路,该网络和/或数据链路可以用于承载计算机可执行指令或数据结构形式的期望的程序代码工具,并且可以由通用或专用计算机访问。上述的各种组合也应该包括在计算机可读介质的范围内。
此外,计算机可执行指令或数据结构形式的程序代码工具可以在到达各种计算机系统部件时,自动从传输介质传送到非暂态计算机可读存储介质(设备)(或反之亦然)。例如,通过网络或数据链路接收的计算机可执行指令或数据结构可以被缓冲在网络接口模块(例如,网络接口控制器(network interface controller,NIC))内的RAM中,并且然后最终被传送到计算机系统RAM和/或计算机系统处的易失性低的计算机存储介质(设备)。因此,应该理解的是,非暂态计算机可读存储介质(设备)可以被包括在同样(或者甚至主要)利用传输介质的计算机系统部件中。
计算机可执行指令例如包括多个指令和数据,这些指令和数据在被处理器执行时,使通用计算机、专用计算机或专用处理设备执行某种功能或某一组功能。在一些实施例中,计算机可执行指令由通用计算机执行,以将通用计算机转变为实现本公开的要素的专用计算机。计算机可执行指令例如可以是二进制文件、诸如汇编语言的中间格式指令,或者甚至是源代码。尽管已经用针对结构特征和/或方法动作的语言描述了本主题,但是应当理解的是,所附权利要求中所限定的主题不必限于上面所描述的特征或动作。而是,所描述的特征和动作是作为实现权利要求的示例形式而公开的。
本领域技术人员将理解,本公开可以在具有许多类型的计算机系统配置的网络计算环境中实践,这些网络计算环境包括个人计算机、台式计算机、膝上型计算机、消息处理器、手持式设备、多处理器系统、基于微处理器或可编程的消费电子产品、网络个人计算机(PC)、小型计算机、大型计算机、移动电话、个人数字助理(Personal Digital Assistant,PDA)、平板电脑、寻呼机、路由器、和交换机等。本公开还可以在分布式系统环境中实践,在该分布式系统环境中,通过网络而链接(通过硬连线数据链路、无线数据链路或者硬连线和无线数据链路的组合)的本地和远程计算机系统都执行任务。在分布式系统环境中,程序模块可以位于本地存储器存储设备和远程存储器存储设备中。
本公开的实施例还可以在云计算环境中实现。如本文所使用的,术语“云计算”是指用于实现对可配置计算资源的共享池进行按需网络访问的模型。例如,可以在市场环境中采用云计算,来提供对可配置计算资源的共享池的普遍存在且方便的按需访问。可配置计算资源的共享池可以通过虚拟化快速地提供,并通过较少的管理工作或服务提供商交互来释放,然后进行相应的扩展。
云计算模型可以由各种特征组成,这些特征例如为按需自助服务、广泛的网络接入、资源池、快速弹性、和测量服务等。云计算模型还可以展示各种服务模型,例如软件即服务(Software as a Service,SaaS)、平台即服务(Platform as a Service,PaaS)和基础设施即服务(Infrastructure as a Service,IaaS)。云计算模型也可以使用不同的部署模型进行部署,这些部署模型例如为私有云、社区云、公共云、和混合云等。此外,如本文所使用的,术语“云计算环境”是指采用云计算的环境。
图10示出了示例计算设备1000的框图,该示例计算设备可以被配置为执行上述多个过程的一个或多个过程。应当理解,一个或多个计算设备(例如,计算设备1000)可以代表上述计算设备(例如,一个或多个服务器102和/或客户端设备108)。在一个或多个实施例中,计算设备1000可以是移动设备(例如,移动电话、智能手机、PDA、平板电脑、膝上型电脑、摄像头、跟踪器、手表、可穿戴设备、头戴式显示器等)。在一些实施例中,计算设备1000可以是非移动设备(例如,台式计算机或另一种类型的客户端设备)。此外,计算设备1000可以是包括基于云的处理和存储能力的服务器设备。
如图10所示,计算设备1000可以包括一个或多个处理器1002、存储器1004、存储设备1006、输入/输出接口1008(或“I/O接口1008”)和通信接口1010,上述这些部件可以通过通信基础设施(例如,总线1012)通信耦接。尽管图10中示出了计算设备1000,但是图10中示出的部件不旨在进行限制。在其他实施例中,可以使用附加的或替代的部件。此外,在某些实施例中,计算设备1000包括比图10所示的那些部件更少的部件。现在将更详细地描述图10所示的计算设备1000的多个部件。
在一个或多个实施例中,一个或多个处理器1002包括用于执行多个指令的硬件,这些指令例如为构成计算机程序的那些指令。作为示例而非限制,为了执行多个指令,一个或多个处理器1002可以从内部寄存器、内部高速缓冲存储器、存储器1004或存储设备1006中检索(或获取)这些指令,并对这些指令进行解码和执行。
计算设备1000包括耦接到一个或多个处理器1002的存储器1004。存储器1004可以用于存储数据、元数据和供一个或多个处理器执行的程序。存储器1004可以包括易失性和非易失性存储器中的一者或多者,例如随机存取存储器(RAM)、只读存储器(ROM)、固态磁盘(SSD)、闪存、相变存储器(PCM)或其他类型的数据存储器。存储器1004可以是内部存储器或分布式存储器。
计算设备1000包括存储设备1006,该存储设备1006包括用于存储数据或指令的存储器。作为示例而非限制,存储设备1006可以包括上述非暂态存储介质。存储设备1006可以包括硬盘驱动器(hard disk drive,HDD)、闪存、通用串行总线(Universal Serial Bus,USB)驱动器、或这些或其他存储设备的组合。
如图所示,计算设备1000包括一个或多个I/O接口1008,该一个或多个I/O接口1008被提供以允许用户向计算设备1000提供输入(例如,用户轻触)、接收来自计算设备1000的输出、以及以其他方式向计算设备1000传送数据和传送来自计算设备1000的数据。这些I/O接口1008可以包括鼠标、小键盘或键盘、触摸屏、摄像头、光学扫描仪、网络接口、调制解调器、其他已知的I/O设备或这些I/O接口1008的组合。触摸屏可以使用手写笔或手指来激活。
I/O接口1008可以包括用于向用户呈现输出的一个或多个设备,这些设备包括但不限于图形引擎、显示器(例如,显示屏)、一个或多个输出驱动器(例如,显示驱动器)、一个或多个音频扬声器、以及一个或多个音频驱动器。在某些实施例中,I/O接口1008被配置为向显示器提供图形数据,以用于呈现给用户。图形数据可以表示一个或多个图形用户界面、和/或可服务于特定实施方式的任何其他图形内容。
计算设备1000还可以包括通信接口1010。通信接口1010可以包括硬件、软件、或硬件和软件这两者。通信接口1010为计算设备和一个或多个其他计算设备或一个或多个网络之间的通信(例如,基于数据包的通信)提供一个或多个接口。作为示例而非限制,通信接口1010可以包括用于与以太网或其他基于有线的网络通信的网络接口控制器(NIC)或网络适配器,或者用于与无线网络(例如,WI-FI)通信的无线NIC(wireless NIC,WNIC)或无线适配器。计算设备1000还可以包括总线1012。总线1012可以包括将计算设备1000的多个部件相互连接的硬件、软件、或硬件和软件这两者。作为一示例,总线1012可以包括一种或多种类型的总线。
本发明的实施例可以包括人工现实系统(artificial reality system),或结合人工现实系统来实现。人工现实是在呈现给用户之前已经以某种方式进行了调整的现实形式,该人工现实例如可以包括虚拟现实(virtual reality,VR)、增强现实(augmentedreality,AR)、混合现实(mixed reality,MR)、混合现实(hybrid reality),或它们的某种组合和/或衍生物。人工现实内容可以包括完全生成的内容或与采集到的内容(例如,真实世界的照片)相结合的生成的内容。人工现实内容可以包括视频、音频、触觉反馈或它们的某种组合,并且以上中的任何一种都可以在单通道或多通道中呈现(例如,给观看者带来三维效果的立体视频)。此外,在一些示例中,人工现实还可以与应用、产品、附件、服务或它们的某些组合相关联,该应用、产品、附件、服务或它们的某种组合例如用于在人工现实中创建内容,和/或用于人工现实中(例如,在人工现实中执行活动)。提供人工现实内容的人工现实系统可以在各种平台上实现,这些平台包括连接到主计算机系统的头戴式显示器(head-mounted display,HMD)、独立HMD、移动设备或计算系统、或能够向一位或多位观看者提供人工现实内容的任何其他硬件平台。
如上所提及的,通信系统可以包括在社交网络系统中。社交网络系统可以使其用户(例如,个人或组织)能够与该系统交互并且彼此交互。社交网络系统可以利用来自用户的输入,在社交网络系统中创建和存储与用户相关联的用户资料。如上所述,用户资料可以包括人口统计信息、通信信道信息和关于用户个人兴趣的信息。
更详细地,用户资料信息例如可以包括生物信息、人口统计信息、行为信息、社会信息、或其他类型的描述性信息(例如,工作经历、教育历史、爱好或偏好、兴趣、姻亲关系、或位置)。兴趣信息可以包括与一个或多个类别相关的兴趣,该一个或多个类别可以是通用的或特定的。作为一示例,如果用户“喜欢”关于一鞋的品牌的物品,则该类别可以是该品牌。
社交网络系统还可以利用来自用户的输入,来创建和存储该用户与社交网络系统中的其他用户的关系的记录,并提供促进用户之间或之中的社交互动的服务(例如,涂鸦墙(wall post)、照片共享、在线日历和活动组织、消息传递、游戏、或广告)。此外,取决于用户配置的隐私设置,社交网络系统可以允许用户将照片和其他多媒体内容项目发布到用户的资料页面(通常称为“涂鸦墙”或“时间轴帖子(timeline post)”)或相册中,以上的两者对社交网络系统的其他用户而言都是可访问的。在本文中,术语“朋友”可以指社交网络系统中、用户已经通过社交网络系统与之形成联系、关联或关系的任何其他用户。
图11示出了社交网络系统的示例网络环境1100。网络环境1100包括通过网络1104彼此连接的客户端设备1106、网络系统1102(例如,社交网络系统和/或电子消息传递系统)和第三方系统1108。尽管图11示出了客户端设备1106、网络系统1102、第三方系统1108和网络1104的特定布置,但是本公开考虑了客户端设备1106、网络系统1102、第三方系统1108和网络1104的任何合适的布置。作为示例而非限制,客户端设备1106、网络系统1102和第三方系统1108中的两者或更多者可以绕过网络1104而直接连接到彼此。作为另一示例,客户端设备1106、网络系统1102和第三方系统1108中的两者或更多者可以彼此在物理上或逻辑上整体或部分地位于同一位置。此外,尽管图11示出了特定数量的客户端设备1106、网络系统1102、第三方系统1108和网络1104,但是本公开考虑了任何合适数量的客户端设备1106、网络系统1102、第三方系统1108和网络1104。作为示例而非限制,网络环境1100可以包括多个客户端设备1106、多个网络系统1102、多个第三方系统1108和多个网络1104。
本公开考虑了任何合适的网络1104。作为示例而非限制,网络1104的一个或多个部分可以包括自组网、内联网、外联网、虚拟专用网络(virtual private network,VPN)、局域网(local area network,LAN)、无线LAN(wireless LAN,WLAN)、广域网(wide areanetwork,WAN)、无线WAN(wireless WAN,WWAN)、城域网(metropolitan area network,MAN)、互联网的一部分、公共交换电话网(Public Switched Telephone Network,PSTN)的一部分、蜂窝电话网、或这些网络中的两者或更多者的组合。网络1104可以包括一个或多个网络1104。
多条链路可以将客户端设备1106、网络系统1102和第三方系统1108连接到通信网络1104或使客户端设备1106、网络系统1102和第三方系统1108彼此连接。本公开考虑了任何合适的链路。在一个或多个实施例中,一条或多条链路包括一条或多条有线链路(例如,数字用户线路(Digital Subscriber Line,DSL)或电缆数据服务接口规范(Data OverCable Service Interface Specification,DOCSIS))、一条或多条无线链路(例如,Wi-Fi或全球微波接入互操作性(Worldwide Interoperability for Microwave Access,WiMAX))、或一条或多条光学链路(例如,同步光纤网络(Synchronous Optical Network,SONET)链路或同步数字体系(Synchronous Digital Hierarchy,SDH)链路)。在一个或多个实施例中,一条或多条链路均包括自组网、内联网、外联网、VPN、LAN、WLAN、WAN、WWAN、MAN、互联网的一部分、PSTN的一部分、基于蜂窝技术的网络、基于卫星通信技术的网络、另一链路、或者两条或更多条这些链路的组合。在整个网络环境1100中,链路不必都是相同的。在一个或多个方面,一条或多条第一链路可以不同于一条或多条第二链路。
在一个或多个实施例中,客户端设备1106可以是如下电子设备:该电子设备包括硬件、软件、或嵌入式逻辑部件、或两个或更多这种部件的组合,并且能够执行由客户端设备1106实现或支持的合适功能。作为示例而非限制,客户端设备1106可以包括计算机系统,该计算机系统例如为增强现实显示设备、台式计算机、笔记本或膝上型计算机、上网本、平板计算机、电子书阅读器、GPS设备、摄像头、个人数字助理(PDA)、手持式电子设备、蜂窝电话、智能手机、其他合适的电子设备、或以上设备的任何合适的组合。本公开考虑了任何合适的客户端设备1106。客户端设备1106可以使客户端设备1106处的网络用户能够接入网络1104。客户端设备1106可以使其用户能够与其他客户端设备1106处的其他用户通信。
在一个或多个实施例中,客户端设备1106可以包括网页(web)浏览器,并且可以具有一个或多个附加组件、插件或其他扩展件。客户端设备1106处的用户可以输入统一资源定位符(Uniform Resource Locator,URL)或将网页浏览器引导到特定服务器(例如,服务器或与第三方系统1108相关联的服务器)其他地址,并且网页浏览器可以生成超文本传输协议(Hyper Text Transfer Protocol,HTTP)请求,并将HTTP请求传送到服务器。服务器可以接受该HTTP请求,并响应于该HTTP请求向客户端设备1106传送一个或多个超文本标记语言(Hyper Text Markup Language,HTML)文件。客户端设备1106可以基于来自服务器的HTML文件来渲染网页,以用于呈现给用户。本公开考虑了任何合适的网页文件。作为示例而非限制,根据特定需要,网页可以是根据HTML文件、可扩展超文本标记语言(ExtensibleHyper Text Markup Language,XHTML)文件或可扩展标记语言(Extensible MarkupLanguage,XML)文件来渲染的。这些页面还可以执行脚本,这些脚本例如但不限于用JAVASCRIPT、JAVA、MICROSOFT SILVERLIGHT、标记语言和脚本(例如,AJAX(异步JAVASCRIPT和XML)的组合等编写的那些脚本)。在本文中,在适当的情况下,对网页的引用包括一个或多个对应的网页文件(浏览器可以使用这些网页文件来渲染网页),反之亦然。
在一个或多个实施例中,网络系统1102可以是可托管在线社交网络的网络可寻址计算系统。网络系统1102可以生成、存储、接收和发送社交网络数据,例如用户资料数据、概念资料数据、社交图谱信息、或与在线社交网络相关的其他合适的数据。网络系统1102可以由网络环境1100的其他部件直接访问或通过网络1104访问。在一个或多个实施例中,网络系统1102可以包括一个或多个服务器。每个服务器可以是单一服务器、或跨越多台计算机或多个数据中心的分布式服务器。服务器可以是各种类型的,例如但不限于,网页服务器、新闻服务器、邮件服务器、消息服务器、广告服务器、文件服务器、应用服务器、交换服务器、数据库服务器、代理服务器、适于执行本文所描述的功能或过程的另一服务器,或者以上服务器的任意组合。在一个或多个实施例中,每个服务器可以包括用于执行由服务器实现或支持的合适功能的硬件、软件、或嵌入式逻辑组件、或者两个或更多个这种部件的组合。在一个或多个实施例中,网络系统1102可以包括一个或多个数据存储库。数据存储库可以用于存储各种类型的信息。在一个或多个实施例中,可以根据特定的数据结构来组织存储在数据存储库中的信息。在一个或多个实施例中,每个数据存储库可以是关系型(relational)数据库、列式(columnar)数据库、关联(correlation)数据库、或其他合适的数据库。尽管本公开描述或示出了特定类型的数据库,但是本公开考虑了任何合适类型的数据库。一个或多个实施例可以提供多个接口,这些接口使客户端设备1106、网络系统1102或第三方系统1108能够对存储在数据存储库中的信息进行管理、检索、修改、添加或删除。
在一个或多个实施例中,网络系统1102可以将一个或多个社交图谱存储在一个或多个数据存储库中。在一个或多个实施例中,社交图谱可以包括多个节点——这些节点可以包括多个用户节点(每个用户节点对应于一特定用户)或多个概念节点(每个概念节点对应于一特定概念)——以及连接这些节点的多条边。网络系统1102可以向在线社交网络的用户提供与其他用户通信和交互的能力。在一个或多个实施例中,用户可以通过网络系统1102加入在线社交网络,然后向网络系统1102中他们想要联系的多个其他用户添加联系(例如,关系)。本文中,术语“朋友”可以指网络系统1102中的一用户已经通过网络系统1102与之形成了联系、关联或关系的任何其他用户。
在一个或多个实施例中,网络系统1102可以向用户提供对由网络系统1102支持的各种类型的项目或对象采取行动的能力。作为示例而非限制,这些项目和对象可以包括网络系统1102的用户可能所属的群组或社交网络、用户可能感兴趣的事件或日程表条目、用户可使用的基于计算机的应用程序、允许用户通过服务购买或出售项目的交易、用户可执行的与广告的交互、或其他合适的项目或对象。用户可以与能够在网络系统1102中或由第三方系统1108的外部系统表示的任何事物进行交互,第三方系统1108与网络系统1102分开并通过网络1104耦接到网络系统1102。
在一个或多个实施例中,网络系统1102可能能够链接各种实体。作为示例而非限制,网络系统1102可以使多个用户能够彼此交互以及接收来自第三方系统1108或其他实体的内容,或者允许用户通过应用编程接口(application programming interface,API)或其他通信信道与这些实体交互。
在一个或多个实施例中,第三方系统1108可以包括一种或多种类型的服务器、一个或多个数据存储库、一个或多个接口(包括但不限于API)、一个或多个网页服务、一个或多个内容源、一个或多个网络、或任何其他合适的部件(例如,服务器可以与这些部件通信)。可以由不同于网络系统1102的实体来操作第三方系统1108。然而,在一个或多个实施例中,网络系统1102和第三方系统1108可以协同运行,以向网络系统1102或第三方系统1108的用户提供社交网络服务。在这个意义上,网络系统1102可以提供平台或主干网(backbone),其他系统(例如,第三方系统1108)可以使用该平台或主干网来通过互联网向用户提供社交网络服务和功能。
在一个或多个实施例中,第三方系统1108可以包括第三方内容对象提供商。第三方内容对象提供商可以包括一个或多个内容对象源,该一个或多个内容对象源可以被传递到客户端设备1106。作为示例而非限制,内容对象可以包括关于用户感兴趣的事物或活动的信息,例如电影放映时间、电影评论、餐馆评论、餐馆菜单、产品信息和评论、或其他合适的信息。作为另一示例而非限制,内容对象可以包括激励内容对象,例如优惠券、折扣券、礼品券、或其他合适的激励内容对象。
在一个或多个实施例中,网络系统1102还包括用户生成的内容对象,用户生成的内容对象可以增强用户与网络系统1102的交互。用户生成的内容对象可以包括用户可向网络系统1102添加、上传、发送或“发布”的任何内容。作为示例而非限制,用户将帖子从客户端设备1106传送到网络系统1102。帖子可以包括如下数据:例如状态更新或其他文本数据、位置信息、照片、视频、链接、音乐、或其他类似数据或媒体。也可由第三方系统1108通过“通信信道”(例如,新闻推送或流)将内容添加到网络系统1102。
在一个或多个实施例中,网络系统1102可以包括各种服务器、子系统、程序、模块、日志、和数据存储库。在一个或多个实施例中,网络系统1102可以包括以下中的一者或多者:网页服务器、操作日志记录器(action logger)、API请求服务器、相关性和排名引擎(relevance-and-rank engine)、内容对象分类器、通知控制器、操作日志、第三方内容对象公布日志(third-party-content-object-exposure log)、推理模块、授权/隐私服务器、搜索模块、广告定向模块(advertisement-targeting module)、用户界面模块、用户资料存储库、联系存储库、第三方内容存储库、或位置存储库。网络系统1102还可以包括合适的部件,例如网络接口、安全机制、负载平衡器(load balancer)、故障切换(failover)服务器、管理和网络操作控制台、其他合适的部件、或以上部件的任何合适的组合。在一个或多个实施例中,网络系统1102可以包括用于存储用户资料的一个或多个用户资料存储库。用户资料例如可以包括生物信息、人口统计信息、行为信息、社会信息、或其他类型的描述性信息(例如,工作经历、教育历史、爱好或偏好、兴趣、姻亲关系、或位置)。兴趣信息可以包括与一个或多个类别相关的兴趣。类别可以是通用的或特定的。作为示例而非限制,如果用户“喜欢”关于一鞋子的品牌的物品,则该类别可以是该品牌,或者可以是“鞋子”或“服装”的通用类别。联系存储库可用于存储关于用户的联系信息。联系信息可以指示具有相似或共同的工作经历、群组成员资格、爱好、教育历史、或者以任何方式相关或共享共同属性的用户。联系信息还可以包括不同用户和内容(内部和外部两者)之间的用户定义的联系。网页服务器可以用于通过网络1104将网络系统1102链接到一个或多个客户端设备1106或一个或多个第三方系统1108。网页服务器可以包括邮件服务器或用于在网络系统1102和一个或多个客户端设备1106之间接收和发送消息的其他消息传递功能。API请求服务器可以允许第三方系统1108通过调用一个或多个API来访问来自网络系统1102的信息。操作日志记录器可以用于接收来自网页服务器的、关于用户打开或关闭网络系统1102的动作的通信。结合操作日志,可以维护用户暴露于第三方内容对象的第三方内容对象日志。通知控制器可以向客户端设备1106提供关于内容对象的信息。可以将信息作为通知推送到客户端设备1106,或者可以响应于接收到来自客户端设备1106的请求而从客户端设备1106提取信息。
授权服务器可以用于对网络系统1102执行一个或多个用户隐私设置。用户隐私设置决定了可以如何共享与用户相关联的特定信息。授权服务器可以允许用户例如通过设置适当的隐私设置,来选择让或选择不让网络系统1102记录它们的动作或与其他系统(例如,第三方系统1108)共享它们的动作。第三方内容对象存储库可以用于存储接收到的来自第三方(例如,第三方系统1108)的内容对象。位置存储库可以用于存储接收到的来自与用户相关联的客户端设备1106的位置信息。广告定价模块(Advertisement-pricing module)可以结合社交信息、当前时间、位置信息或其他合适的信息,来以通知的形式向用户提供相关广告。
图12示出了示例社交图谱1200。在一个或多个实施例中,网络系统1102可以将一个或多个社交图谱1200存储在在一个或多个数据存储库中。在一个或多个实施例中,社交图谱1200可以包括多个节点——这些节点可以包括多个用户节点1202或多个概念节点1204——以及连接这些节点的多条边1206。出于教导目的,以二维可视化图谱表示形式示出了图12所示的示例社交图谱1200。在一个或多个实施例中,网络系统1102、客户端设备1106或第三方系统1108可以访问社交图谱1200和相关社交图谱信息,以用户合适的应用程序。社交图谱1200的节点和边例如可以作为数据对象存储在数据存储库(例如,社交图谱数据库)中。这种数据存储库可以包括社交图谱1200的节点或边的一个或多个可搜索或可查询的索引。
在一个或多个实施例中,用户节点1202可以对应于网络系统1102的用户。作为示例而非限制,用户可以是与网络系统1102交互或通信、或者通过网络系统1102交互或通信的个体(人类用户)、实体(例如,企业、商业或第三方应用程序)或群组(例如,个体群组或实体群组)。在一个或多个实施例中,当用户使用网络系统1102注册账户时,网络系统1102可以创建与该用户相对应的用户节点1202,并将用户节点1202存储在一个或多个数据存储库中。在适当的情况下,本文所描述的用户和用户节点1202可以指注册用户和与注册用户相关联的用户节点1202。此外或者作为替代,在适当的情况下,本文所描述的用户和用户节点1202可以指尚未使用网络系统1102进行注册的用户。在一个或多个实施例中,用户节点1202可以与由用户提供的信息或由各种系统(其包括网络系统1102)采集的信息相关联。作为示例而非限制,用户可以提供他或她的姓名、资料图片、联系信息(contactinformation)、出生日期、性别、婚姻状况、家庭状况、职业、教育背景、偏好、兴趣、或其他人口统计信息。在一个或多个实施例中,用户节点1202可以与一个或多个数据对象相关联,该一个或多个数据对象对应于与用户相关联的信息。在一个或多个实施例中,用户节点1202可以对应于一个或多个网页。
在一个或多个实施例中,概念节点1204可以对应于概念。作为示例而非限制,概念可以对应于地点(例如,电影院、餐厅、地标、或城市);网站(例如,与网络系统1102相关联的网站、或与网页应用服务器相关联的第三方网站);实体(例如,个体、企业、群组、运动队、或名人);可位于网络系统1102内或外部服务器(例如,网页应用服务器)上的资源(例如,音频文件、视频文件、数码照片、文本文件、结构化文档、或应用程序);不动产或知识产权(例如,雕塑、绘画、电影、游戏、歌曲、创意、照片、或书面作品);游戏;活动;想法或理论;另一合适的概念;或者两个或更多个这种概念。概念节点1204可以与由用户提供的概念的信息或由各种系统(其包括网络系统1102)采集的信息相关联。作为示例而非限制,概念的信息可以包括名称或标题;一幅或多幅图像(例如,书籍的封面图像);位置(例如,地址或地理位置);网站(其可以与URL相关联);联系信息(例如,电话号码或电子邮件地址);其他合适的概念信息;或者这些信息的任何合适的组合。在一个或多个实施例中,概念节点1204可以与一个或多个数据对象相关联,该一个或多个数据对象对应于与概念节点1204相关联的信息。在一个或多个实施例中,概念节点1204可以对应于一个或多个网页。
在一个或多个实施例中,社交图谱1200中的节点可以表示网页(该网页可以被称为“资料页面”)或由该网页表示。资料页面可以由网络系统1102托管或访问。资料页面还可以被托管在与第三方系统1108相关联的第三方网站上。作为示例而非限制,对应于特定外部网页的资料页面可以是特定的外部网页,并且该资料页面可以对应于特定概念节点1204。资料页面可以被其他用户的所有子集或所选定的子集查看。作为示例而非限制,用户节点1202可以具有对应的用户资料页面,在该用户资料页面中,对应的用户可以添加内容、做出声明、或以其他方式表达他或她自己。作为另一示例而非限制,概念节点1204可以具有对应的概念资料页面,在该概念资料页面中,一个或多个用户可以添加内容、做出声明、或表达他们自己,特别是在对应于概念节点1204的概念方面。
在一个或多个实施例中,概念节点1204可以表示由第三方系统1108托管的第三方网页或资源。除了其他元素之外,第三方网页或资源可以包括代表动作或活动的内容、可选图标或其他图标、或其他可交互的对象(其例如可以用JavaScript、AJAX或PHP代码实现)。作为示例而非限制,第三方网页可以包括可选图标,例如“喜欢”、“签到”、“吃”、“推荐”、或其他合适的动作或活动。查看第三方网页的用户可以通过选择这些图标中的一个图标(例如,“吃”)来执行动作,从而使得客户端设备1106向网络系统1102发送指示用户动作的消息。响应于该消息,网络系统1102可以在对应于用户的用户节点1202和对应于第三方网页或资源的概念节点1204之间创建边(例如,“吃”边),并将边1206存储在一个或多个数据存储库中。
在一个或多个实施例中,社交图谱1200中的一对节点可以通过一条或多条边1206彼此连接。连接一对节点的边1206可以表示这对节点之间的关系。在一个或多个实施例中,边1206可以包括或表示与一对节点之间的关系相对应的一个或多个数据对象或属性。作为示例而非限制,第一用户可以指示第二用户是第一用户的“朋友”。响应于该指示,网络系统1102可以向第二用户发送“朋友请求”。如果第二用户确认了该“朋友请求”,则网络系统1102可以在社交图谱1200中创建将第一用户的用户节点1202连接到第二用户的用户节点1202的边1206,并将边1206作为社交图谱信息存储在一个或多个数据存储库中。在图12的示例中,社交图谱1200包括指示用户“A”和用户“B”的用户节点1202之间的朋友关系的边1206、以及指示用户“C”和用户“B”的用户节点1202之间的朋友关系的边。尽管本公开描述或示出了具有连接特定用户节点1202的特定属性的特定边1206,但是本公开考虑了具有连接用户节点1202的任何合适属性的任何合适的边1206。作为示例而非限制,边1206可以表示朋友关系、家庭关系、商业或雇佣关系、粉丝关系、随从关系、访客关系、订户关系、上级/下级关系、互惠关系、非互惠关系、另一种合适类型的关系、或两种或更多种这种关系。此外,尽管本公开总体上将节点描述为正被连接,但是本公开也将用户或概念描述为正被连接。在本文中,在适当的情况下,对正被连接的用户或概念的引用可以指与社交图谱1200中通过一条或多条边1206连接的那些用户或概念相对应的节点。
在一个或多个实施例中,用户节点1202和概念节点1204之间的边1206可以表示由与用户节点1202相关联的用户针对与概念节点1204相关联的概念而执行的特定动作或活动。作为示例而非限制,如图12所示,用户可以“喜欢”、“定期去”、“播放”、“收听”、“烹饪”、“工作在”或“观看”概念,上述动作或活动中的每一个动作或活动可以对应于边类型或边子类型。对应于概念节点1204的概念资料页面例如可以包括可选的“签到”图标(例如,可点击的“签到”图标)或可选的“添加到收藏夹”图标。类似地,在用户点击这些图标之后,网络系统1102可以响应于与相应动作相对应的用户动作,来创建“收藏”边或“签到”边。作为另一个示例而非限制,用户(用户“C”)可以使用特定的应用程序(MUSIC(音乐),其为在线音乐应用程序)来收听特定的歌曲(“继续漫步(Ramble On)”)。在这种情况下,网络系统1102可以在对应于用户的用户节点1202和对应于歌曲和应用程序的概念节点1204之间创建“收听”边1206和“使用”边(如图12所示),以指示用户收听了该歌曲并使用了该应用程序。此外,网络系统1102可以在对应于歌曲和应用程序的两个概念节点1204之间创建“播放”边1206(如图12所示),以指示特定应用程序播放了特定歌曲。在这种情况下,“播放”边1206对应于外部应用程序(MUSIC)对外部音频文件(歌曲“想象(Imagine)”)执行的动作。尽管本公开描述了具有连接用户节点1202和概念节点1204的特定属性的特定边1206,但是本公开考虑了具有连接用户节点1202和概念节点1204的任何合适属性的任何合适的边1206。此外,尽管本公开描述了在用户节点1202和概念节点1204之间表示单个关系的边,但是本公开考虑了在用户节点1202和概念节点1204之间表示一个或多个关系的边。作为示例而非限制,边1206可以表示用户喜欢特定概念和用户已经在特定概念处使用这两者。替代地,另一条边1206可以表示用户节点1202和概念节点1204之间(如图12所示,用户“E”的用户节点1202和“MUSIC”的概念节点1204之间)的每种类型的关系(或多个单独的关系)。
在一个或多个实施例中,网络系统1102可以在社交图谱1200中的用户节点1202和概念节点1204之间创建边1206。作为示例而非限制,查看概念资料页面(例如,通过使用由用户的客户端设备1106托管的网页浏览器或专用应用程序)的用户可以通过点击或选择“喜欢”图标,来指示他或她喜欢由概念节点1204表示的概念,这可以使得用户的客户端设备1106向网络系统1102发送指示用户喜欢与概念资料页面相关联的概念的消息。响应于该消息,网络系统1102可以在与用户相关联的用户节点1202和概念节点1204之间创建边1206,如用户节点1202和概念节点1204之间的“喜欢”边1206所示。在一个或多个实施例中,网络系统1102可以将边1206存储在一个或多个数据存储库中。在一个或多个实施例中,可以由网络系统1102响应于特定的用户动作而自动地形成边1206。作为示例而非限制,如果第一用户上传了图片、观看了电影或收听了歌曲,则可以在对应于第一用户的用户节点1202和对应于那些概念的概念节点1204之间形成边1206。尽管本公开描述了以特定的方式形成特定的边1206,但是本公开考虑了以任何合适的方式形成任何合适的边1206。
在一个或多个实施例中,广告可以是文本(其可以是由HTML链接的)、一幅或多幅图像(其可以是由HTML链接的)、一个或多个视频、音频、一个或多个动画制作(ADOBEFLASH)文件、这些的合适组合,或者在一个或多个网页上、在一封或多封电子邮件中、或者结合用户请求的搜索结果而呈现的任何合适数字格式的任何其他合适的广告。另外或者作为替代,广告可以是一个或多个赞助商内容(sponsored story)(例如,网络系统1102上的新闻推送或滚动条项目)。赞助商内容可以是由用户进行的社交行为(例如“喜欢”页面、对页面上的帖子的“喜欢”或评论、对与页面相关联的事件作出回应(RSVP)、对页面上所发布的问题进行投票、在一位置签到、使用应用程序或玩游戏、或者“喜欢”或共享网站),广告商例如通过以下方式来推广该社交行为:使该社交行为在用户的资料页面或其他页面的预定区域内呈现,使该社交行为与该广告商相关联的附加信息一起呈现,使该社交行为在其他用户的新闻推送或滚动条内突出或以其他方式突出显示,或者以其他方式来推广该社交行为。广告商可以付费来推广该社交行为。作为示例而非限制,广告可以被包括在搜索结果页面的搜索结果中,其中赞助商内容优先于非赞助商内容进行推广。
在一个或多个实施例中,可以请求在社交网络系统网页、第三方网页或其他页面中显示广告。广告可以显示在页面的专用部分中,例如在页面顶部的横幅广告区域中、在页面侧边的栏中、在页面的GUI中、在弹出窗口中、在下拉菜单中、在页面的输入信息栏中、在页面内容的顶部之上、或相对于页面的其他地方。此外或者作为替代,广告可以在应用程序内显示。广告可以显示在专用页面中,从而在用户访问页面或使用应用程序之前,要求用户与该广告交互或观看该广告。例如,用户可以通过网页浏览器观看广告。
用户可以以任何合适的方式与广告交互。用户可以点击或以其他方式选择广告。通过选择广告,用户可以被引导到与广告相关联的页面(或者用户正在使用的浏览器或其他应用程序)。用户可以在与广告相关联的页面采取附加动作,例如购买与该广告相关联的产品或服务,接收与该广告相关联的信息,或者订阅与该广告相关联的新闻通讯。可以通过选择广告的组件(如“播放按钮”)来播放带有音频或视频的广告。替代地,通过选择广告,网络系统1102可以执行或修改用户的特定动作。
广告还可以包括用户可以与之交互的社交网络系统功能。作为示例而非限制,广告可以使用户能够通过选择与签发(endorsement)相关联的图标或链接来“喜欢”或以其他方式签发该广告。作为另一示例而非限制,广告可以使用户能够搜索(例如,通过执行查询来搜索)与广告商相关的内容。类似地,用户可以(例如通过网络系统1102)与另一用户共享广告、或者(例如通过网络系统1102)对与广告相关联的事件进行回应(RSVP)。另外或者作为替代,广告可以包括针对用户的社交网络系统环境。作为示例而非限制,广告可以显示关于网络系统1102内的用户的朋友的信息,该用户的朋友已经采取了与广告的主题相关联的动作。
在一个或多个实施例中,网络系统1102可以确定各种社交图谱实体彼此间的社交图谱亲和性(在本文中可以称为“亲和性(affinity)”)。亲和性可以表示与在线社交网络相关联的特定对象之间的关系强度或感兴趣程度,这些特定对象例如是用户、概念、内容、动作、广告、与在线社交网络相关联的其他对象、或以上对象的任何合适的组合。还可以针对与第三方系统1108或其他合适的系统相关联的对象确定亲和性。可以为每个用户、主题或内容类型建立社交图谱实体的总体亲和性。该总体亲和性可以基于对与社交图实体相关联的动作或关系的持续监控而改变。尽管本公开描述了以特定方式确定特定的亲和性,但是本公开考虑了以任何合适的方式确定任何合适的亲和性。
在一个或多个实施例中,网络系统1102可以使用亲和性系数(在本文中可以称为“系数”)来测量或量化社交图谱亲和性。该系数可以表示或量化与在线社交网络相关联的特定对象之间的关系强度。该系数还可以表示这种概率或函数:该概率或函数基于用户对特定动作的兴趣来测量用户将执行该动作的预测概率。以这种方式,可以基于用户的先前动作来预测用户的未来动作,其中,可以至少部分地基于用户动作的历史来计算该系数。可以使用系数来预测任意数量的动作,这些动作可以在在线社交网络的内部或外部。作为示例而非限制,这些动作可以包括:各种类型的通信(例如,发送消息、发布内容或评论内容);各种类型的观察动作(例如,访问或查看资料页面、媒体或其他合适的内容);关于两个或更多个社交图谱实体的各种类型的一致性信息(例如,在同一群组中、在同一照片中被标记、在同一位置处签到、或定期去同一事件);或其它合适的动作。尽管本公开描述了以特定方式测量亲和性,但是本公开考虑了以任何合适的方式测量亲和性。
在一个或多个实施例中,网络系统1102可以使用各种因素来计算系数。这些因素例如可以包括用户动作、对象之间的关系类型、位置信息、其他合适的因素、或以上因素的任意组合。在一个或多个实施例中,当计算系数时,可以对不同的因素施加不同的权重。每个因素的权重可以是静态的,或者这些权重可以例如根据用户、关系类型、动作类型、用户的位置等改变。可以根据这些因素的权重对这些因素的等级进行组合,以确定用户的总体系数。作为示例而非限制,可以为特定用户动作分配等级和权重这两者,同时为与特定用户动作相关联的关系分配等级和相关权重(例如,使得权重总计为100%)。为了计算用户对于特定对象的系数,分配给用户动作的等级例如可以包括总体系数的60%,而分配给用户和对象之间的关系的等级可以包括总体系数的40%。在一个或多个实施例中,当确定用于计算系数的各种因素的权重时,网络系统1102可以考虑各种变量,这些变量例如为,信息被访问以来的时间、衰减因子、访问频率、与信息的关系或与对象(对于该对象,信息被访问)的关系、与连接到对象的社交图谱实体的关系、用户动作的短期平均值或长期平均值、用户反馈、其他合适的变量、或以上变量的任意组合。作为示例而非限制,系数可以包括如下衰减因子:该衰减因子使得由特定动作提供的信号强度随时间衰减,使得在计算系数时,越早的动作越相关。可以基于对该系数所基于的动作的持续跟踪,来持续更新等级和权重。可以采用任何类型的过程或算法,来对每个因素的等级、以及分配给这些因素的权重进行分配、组合、平均等。在一个或多个实施例中,网络系统1102可以使用机器学习算法来确定系数,该机器学习算法基于历史动作和过去的用户响应、或通过将用户暴露于各种选项并测量响应而从用户获得的数据来训练。尽管本公开描述了以特定方式计算系数,但是本公开考虑了以任何合适的方式计算系数。
在一个或多个实施例中,网络系统1102可以基于用户的动作来计算系数。网络系统1102可以监控在线社交网络上、第三方系统1108上、其他合适的系统上或它们的任意组合上的这些动作。可以跟踪或监控任何合适类型的用户动作。典型的用户动作包括查看资料页面、创建或发布内容、与内容交互、加入群组、列出和确认事件出席、在位置处签到、喜欢特定页面、创建页面以及执行促进社交动作的其他任务。在一个或多个实施例中,网络系统1102可以基于用户对特定类型的内容的动作来计算系数。该内容可以与在线社交网络、第三方系统1108或另一合适的系统相关联。该内容可以包括用户、资料页面、帖子、新闻内容、头条、即时消息、聊天室对话、电子邮件、广告、图片、视频、音乐、其他合适的对象、或以上内容的任意组合。网络系统1102可以分析用户的动作以确定多个动作中的一个或多个动作是否指示对主题、内容、其他用户等的亲和性。作为示例而非限制,如果用户可能频繁发布与“咖啡”或其变型相关的内容,则网络系统1102可以确定该用户相对于概念“咖啡”具有较高的系数。可以为特定动作或特定类型的动作分配比其他动作更高的权重和/或等级,这可能影响所计算的总体系数。作为示例而非限制,如果第一用户向第二用户发送电子邮件,则该动作的权重或等级可能高于在第一用户仅查看第二用户的用户资料页面的情况下的权重或等级。
在一个或多个实施例中,网络系统1102可以基于特定对象之间的关系类型来计算系数。参考社交图谱1200,网络系统1102可以在计算系数时,对连接特定用户节点1202和概念节点1204的边1206的数量和/或类型进行分析。作为示例而非限制,与通过朋友型边连接的用户节点1202相比,通过配偶型边(表示两个用户已结婚)连接的用户节点1202可以被分配更高的系数。换句话说,取决于分配给特定用户的动作和关系的权重,可以确定关于用户配偶的内容的总体亲和性高于关于用户朋友的内容的总体亲和性。在一个或多个实施例中,用户与另一对象的关系可以影响用户动作关于计算该对象的系数的权重和/或等级。作为示例而非限制,如果用户在第一照片中被标记,但是该用户仅喜欢第二照片,则网络系统1102可以确定该用户相对于第一照片的系数高于用户相对于第二照片的系数,因为与内容具有标记类型关系可以被分配比与内容具有喜欢类型关系更高的权重和/或等级。在一个或多个实施例中,网络系统1102可以基于一个或多个第二用户与特定对象的关系,来计算第一用户的系数。换句话说,其他用户与对象的联系和系数可能影响第一用户与该对象的系数。作为示例而非限制,如果第一用户连接到一个或多个第二用户、或者对于一个或多个第二用户具有高系数,并且这些第二用户连接到特定对象、或者对于特定对象具有高系数,则网络系统1102可以确定第一用户对于该特定对象也应该具有相对高的系数。在一个或多个实施例中,系数可以基于特定对象之间的分离程度。较低的系数可以表示如下可能性降低:第一用户将分享对用户(该用户在社交图谱1200中间接连接到第一用户)的内容对象的兴趣度。作为示例而非限制,社交图谱1200中较近的社交图谱实体(即,分离度较小)可以比社交图谱1200中较远的实体具有更高的系数。
在一个或多个实施例中,网络系统1102可以基于位置信息来计算系数。与在地理上更远的对象相比,在地理上彼此更接近的对象可以被认为彼此更相关或对彼此更感兴趣。在一个或多个实施例中,用户对特定对象的系数可以基于该对象的位置和与用户相关联的当前位置(或用户的客户端设备1106的位置)的接近度。第一用户可能对更接近第一用户的其他用户或概念更感兴趣。作为示例而非限制,如果用户距离机场一英里并且距离加油站两英里,则网络系统1102可以基于机场与用户的接近度,来确定用户对于机场比加油站具有更高的系数。
在一个或多个实施例中,网络系统1102可以基于系数信息执行关于用户的特定动作。系数可以用于基于用户对动作的兴趣,来预测用户是否将执行该特定动作。当生成或向用户呈现任何类型的对象(例如,广告、搜索结果、新闻内容、媒体、消息、通知、或其他合适的对象)时,可以使用系数。在适当的情况下,该系数也可以用于对这些对象进行排名和排序。以这种方式,网络系统1102可以提供与用户的兴趣和当前环境相关的信息,从而增加他们将找到这种感兴趣的信息的可能性。在一个或多个实施例中,网络系统1102可以基于系数信息生成内容。可以基于特定于用户的系数来提供或选择内容对象。作为示例而非限制,系数可以用于生成针对用户的媒体,其中,可以向用户呈现该用户相对于媒体对象具有较高的总体系数的媒体。作为另一示例而非限制,该系数可以用于生成针对用户的广告,其中可以向用户呈现用户相对于广告对象具有较高的总体系数的广告。在一个或多个实施例中,网络系统1102可以基于系数信息生成搜索结果。可以基于与关于查询用户的搜索结果相关联的系数,来对特定用户的搜索结果进行评分或排名。作为示例而非限制,在搜索结果页面上,与具有较高系数的对象相对应的搜索结果的排名可以高于与具有较低系数的对象相对应的搜索结果的排名。
在一个或多个实施例中,网络系统1102可以响应于对来自特定系统或过程的系数的请求来计算系数。为了预测用户在给定情况下可能采取的可能动作(或者可能是该动作的主题),任何过程都可以请求针对用户所计算的系数。该请求还可以包括用于计算系数的各种因素所使用的一组权重。该请求可以来自在线社交网络上运行的过程、来自第三方系统1108(例如,通过API或其他通信信道)、或者来自另一合适的系统。响应于该请求,网络系统1102可以计算系数(或者如果该系数信息先前已经被计算和存储,则访问该系数信息)。在一个或多个实施例中,网络系统1102可以测量关于特定过程的亲和性。不同的过程(在线社交网络的内部和外部的过程这两者)可以请求特定对象或一组对象的系数。网络系统1102可以提供与请求亲合性测量的特定过程相关的亲合性测量结果。以这种方式,每个过程接收针对不同背景定制的亲和性测量结果,在该背景下,过程将使用该亲和性测量结果。
关于社交图谱亲和性以及亲和性系数,一个或多个实施例可以利用在以下中公开的一个或多个系统、部件、元件、功能、方法、动作或步骤:于2006年8月11日提交的第11/503093号美国专利申请、于2010年12月22日提交的第12/9711027号美国专利申请、于2010年12月23日提交的第12/978265号美国专利申请、以及于2012年10月1日提交的第13/632869号美国专利申请,以上专利申请中的每个专利申请通过引用被结合。
在一个或多个实施例中,在线社交网络的多个内容对象中的一个或多个内容对象可以与隐私设置相关联。可以以任何合适的方式存储对象的隐私设置(或“访问设置”),这些方式例如为与该对象相关联、以授权服务器上的索引的方式、以另一合适的方式、或以上方式的任意组合。对象的隐私设置可以指定可以如何使用在线社交网络来访问(例如,查看或共享)该对象(或与该对象相关联的特定信息)。在对象的隐私设置允许特定用户访问该对象的情况下,该对象可以被描述为相对于该用户是“可见的”。作为示例而非限制,在线社交网络的用户可以为用户资料页面指定隐私设置,以标识可以访问用户资料页面上的工作经验信息的一组用户,从而拒绝其他用户访问该信息。在一个或多个实施例中,隐私设置可以指定不应被允许访问与对象相关联的某些信息的用户的“黑名单”。换句话说,黑名单可以指定一个或多个用户或实体,对于这些用户或实体,对象是不可见的。作为示例而非限制,用户可以指定不可以访问与该用户相关联的相册的一组用户,从而拒绝这些用户访问相册(同时也可能允许不在该组用户内的某些用户访问该相册)。在一个或多个实施例中,隐私设置可以与特定社交图谱元素相关联。社交图谱元素(例如,节点或边)的隐私设置可以指定可以如何使用在线社交网络来访问这些社交图谱元素、与这些社交图谱元素相关联的信息、或与这些社交图谱元素相关联的内容对象。作为示例而非限制,与特定照片相对应的特定概念节点1204可以具有如下隐私设置:该隐私设置指定了该照片仅可被照片中标记的用户及其朋友访问。在一个或多个实施例中,隐私设置可以允许用户选择让或选择不让网络系统1102记录它们的动作或与其他系统(例如,第三方系统1108)共享它们的动作。在一个或多个实施例中,与对象相关联的隐私设置可以指定允许访问或拒绝访问的任何合适的粒度。作为示例而非限制,可以为以下用户指定访问或拒绝访问:特定用户(例如,只有我、我的室友和我的领导)、特定分离度内的用户(例如,朋友、或朋友的朋友)、用户群组(例如,游戏俱乐部、我的家庭)、用户网络(例如,特定雇主的雇员、特定大学的学生或校友)、所有用户(“公共”)、无用户(“私人”)、第三方系统1108的用户、特定应用程序(例如,第三方应用程序、外部网站)、其他合适的用户或实体、或以上用户或实体的任意组合。尽管本公开描述了以特定的方式使用特定的隐私设置,但是本公开考虑了以任何合适的方式使用任何合适的隐私设置。
在一个或多个实施例中,一个或多个服务器可以是用于实施隐私设置的授权/隐私服务器。响应于来自用户(或其他实体)的、对存储在数据存储中的特定对象的请求,网络系统1102可以向数据存储库发送对该对象的请求。该请求可以识别与该请求相关联的用户,并且如果授权服务器基于与该对象相关联的隐私设置确定该用户被授权访问该对象,则该请求可以仅被发送给该用户(或用户的客户端设备1106)。如果请求用户未被授权访问该对象,则授权服务器可以阻止从数据存储库中检索所请求的对象,或者可以阻止将所请求的对象发送给用户。在搜索查询上下文中,如果查询用户被授权访问该对象,则该对象仅可作为搜索结果生成。换句话说,该对象必须具有对查询用户可见的可见性。如果该对象具有对用户不可见的可见性,则可以从搜索结果中排除该对象。尽管本公开描述了以特定方式实施隐私设置,但是本公开考虑了以任何合适的方式实施隐私设置。
参照前述说明书中的特定示例性实施例对前述说明书进行了描述。参考本文所论述的细节描述了本公开的各种实施例和方面,并且各附图示出了各种实施例。以上描述和附图均是说明性的,且不应被解释为限制性。描述了许多具体细节以提供对各种实施例的透彻理解。
在不脱离附加实施例或替代实施例的精神或基本特征的情况下,可以以其他特定形式实施这些附加实施例或替代实施例。所描述的实施例在所有方面都仅被认为是说明性的而非限制性的。因此,本发明的范围由所附权利要求书而不是前述描述来指示。落入权利要求书的等同物的含义和范围内的所有变化都被包含在权利要求书的范围内。

Claims (20)

1.一种非暂态计算机可读介质,所述非暂态计算机可读介质存储有指令,所述指令在被至少一个处理器执行时,使所述至少一个处理器:
通过与消息传递线程相对应的图形用户界面接收用户选择,所述用户选择包括文本和图形元素;
基于接收到所述用户选择,生成所述消息传递线程的所述文本和所述图形元素之间的关联;
检测添加到所述消息传递线程的包括所述文本的消息;以及
响应于检测到所述消息,并基于所述文本和所述图形元素之间的所述关联,在所述消息传递线程上提供包括所述图形元素的一个或多个实例的覆盖。
2.根据权利要求1所述的非暂态计算机可读介质,还包括在被所述至少一个处理器执行时使所述至少一个处理器执行以下操作的指令:
生成所述覆盖,所述覆盖包括所述图形元素的所述一个或多个实例在所述消息传递线程上的运动;以及
通过使所述图形元素的所述一个或多个实例的所述运动运行达一临时性持续时间,来提供所述覆盖。
3.根据权利要求1所述的非暂态计算机可读介质,还包括在被所述至少一个处理器执行时使所述至少一个处理器执行以下操作的指令:
生成所述覆盖,所述覆盖包括所述图形元素的所述一个或多个实例在所述消息传递线程上的动画;以及
通过运行所述图形元素的所述一个或多个实例的所述动画,来提供所述覆盖。
4.根据权利要求1所述的非暂态计算机可读介质,还包括在被所述至少一个处理器执行时使所述至少一个处理器执行以下操作的指令:
接收对一消息传递主题的附加用户选择,所述消息传递主题与附加文本和附加图形元素之间的一个或多个附加关联相对应;以及
基于接收到所述附加用户选择,将所述一个或多个附加关联应用于所述消息传递线程。
5.根据权利要求4所述的非暂态计算机可读介质,还包括在被所述至少一个处理器执行时使所述至少一个处理器执行以下操作的指令:响应于接收到对所述消息传递主题的所述附加用户选择,对所述消息传递线程进行一个或多个视觉或音频改变。
6.根据权利要求1所述的非暂态计算机可读介质,还包括在被所述至少一个处理器执行时使所述至少一个处理器执行以下操作的指令:
生成文本和图形元素之间的推荐关联的列表;以及
通过所述推荐关联的列表,接收与所述文本和所述图形元素相对应的所述用户选择。
7.根据权利要求1所述的非暂态计算机可读介质,还包括在被所述至少一个处理器执行时使所述至少一个处理器执行以下操作的指令:
接收用户输入,所述用户输入包括与所述图形元素相关联的更新后的文本;
检测添加到所述消息传递线程的包括所述更新后的文本的附加消息;以及
响应于检测到所述附加消息,并基于所述更新后的文本和所述图形元素之间的关联,在所述消息传递线程上提供包括所述图形元素的所述一个或多个实例的所述覆盖。
8.根据权利要求1所述的非暂态计算机可读介质,还包括在被所述至少一个处理器执行时使所述至少一个处理器执行以下操作的指令:响应于生成所述消息传递线程的所述文本和所述图形元素之间的所述关联,向与所述消息传递线程相关联的一个或多个客户端设备发送用于生成所述消息传递线程的所述文本和所述图形元素之间的所述关联的指令。
9.一种系统,包括:
存储设备;以及
至少一个处理器,所述至少一个处理器被配置为使所述系统:
通过与消息传递线程相对应的图形用户界面接收用户选择,所述用户选择包括文本和图形元素;
基于接收到所述用户选择,生成所述消息传递线程的所述文本和所述图形元素之间的关联;
检测添加到所述消息传递线程的包括所述文本的消息;以及
响应于检测所述消息,并基于所述文本和所述图形元素之间的所述关联,在所述消息传递线程上提供包括所述图形元素的一个或多个实例的覆盖。
10.根据权利要求9所述的系统,其中,所述至少一个处理器还被配置为使所述系统:
生成所述覆盖,所述覆盖包括所述图形元素的所述一个或多个实例在所述消息传递线程上的运动;以及
通过使所述图形元素的所述一个或多个实例的所述运动运行达一临时性持续时间,来提供所述覆盖。
11.根据权利要求9所述的系统,其中,所述至少一个处理器还被配置为使所述系统:
生成所述覆盖,所述覆盖包括所述图形元素的所述一个或多个实例在所述消息传递线程上的动画;以及
通过运行所述图形元素的所述一个或多个实例的所述动画,来提供所述覆盖。
12.根据权利要求9所述的系统,其中,所述至少一个处理器还被配置为使所述系统:
接收对一消息传递主题的附加用户选择,所述消息传递主题与附加文本和附加图形元素之间的一个或多个附加关联相对应;以及
基于接收到所述附加用户选择,将所述一个或多个附加关联应用于所述消息传递线程。
13.根据权利要求12所述的系统,其中,所述至少一个处理器还被配置为使所述系统:响应于接收到对所述消息传递主题的所述附加用户选择,对所述消息传递线程进行一个或多个视觉或音频改变。
14.根据权利要求9所述的系统,其中,所述至少一个处理器还被配置为使所述系统:
生成文本和图形元素之间的推荐关联的列表;以及
通过所述推荐关联的列表,接收与所述文本和所述图形元素相对应的所述用户选择。
15.根据权利要求9所述的系统,其中,所述至少一个处理器还被配置为使所述系统:
接收用户输入,所述用户输入包括与所述图形元素相关联的更新后的文本;
检测添加到所述消息传递线程的包括所述更新后的文本的附加消息;以及
响应于检测所述附加消息,并基于所述更新后的文本和所述图形元素之间的关联,在所述消息传递线程上提供包括所述图形元素的所述一个或多个实例的所述覆盖。
16.根据权利要求9所述的系统,其中,所述至少一个处理器还被配置为使所述系统:响应于生成所述消息传递线程的所述文本和所述图形元素之间的所述关联,向与所述消息传递线程相关联的一个或多个客户端设备发送用于生成所述消息传递线程的所述文本和所述图形元素之间的所述关联的指令。
17.一种计算机实现的方法,包括:
通过与消息传递线程相对应的图形用户界面接收用户选择,所述用户选择包括文本和图形元素;
基于接收到所述用户选择,生成所述消息传递线程的所述文本和所述图形元素之间的关联;
检测添加到所述消息传递线程的包括所述文本的消息;以及
响应于检测到所述消息,并基于所述文本和所述图形元素之间的所述关联,在所述消息传递线程上提供包括所述图形元素的一个或多个实例的覆盖。
18.根据权利要求17所述的计算机实现的方法,还包括:
生成所述覆盖,所述覆盖包括所述图形元素的所述一个或多个实例在所述消息传递线程上的运动;以及
通过使所述图形元素的所述一个或多个实例的所述运动运行达一临时性持续时间,来提供所述覆盖。
19.根据权利要求17所述的计算机实现的方法,还包括:
接收对一消息传递主题的附加用户选择,所述消息传递主题与附加文本和附加图形元素之间的一个或多个附加关联相对应;
基于接收到所述附加用户选择,将所述一个或多个附加关联应用于所述消息传递线程;以及
响应于接收到对所述消息传递主题的所述附加用户选择,对所述消息传递线程进行一个或多个视觉或音频改变。
20.根据权利要求17所述的计算机实现的方法,还包括:
生成文本和图形元素之间的推荐关联的列表;以及
通过所述推荐关联的列表,接收与所述文本和所述图形元素相对应的所述用户选择。
CN202310553861.1A 2022-05-16 2023-05-16 生成和呈现特定于消息传递线程且基于内容的效果 Pending CN117076148A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/663,591 2022-05-16
US17/663,591 US20230370408A1 (en) 2022-05-16 2022-05-16 Generating and surfacing messaging thread specific and content-based effects

Publications (1)

Publication Number Publication Date
CN117076148A true CN117076148A (zh) 2023-11-17

Family

ID=88698545

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310553861.1A Pending CN117076148A (zh) 2022-05-16 2023-05-16 生成和呈现特定于消息传递线程且基于内容的效果

Country Status (2)

Country Link
US (1) US20230370408A1 (zh)
CN (1) CN117076148A (zh)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060041848A1 (en) * 2004-08-23 2006-02-23 Luigi Lira Overlaid display of messages in the user interface of instant messaging and other digital communication services
KR102338357B1 (ko) * 2016-05-18 2021-12-13 애플 인크. 그래픽 메시징 사용자 인터페이스 내의 확인응답 옵션들의 적용
US11108721B1 (en) * 2020-04-21 2021-08-31 David Roberts Systems and methods for media content communication

Also Published As

Publication number Publication date
US20230370408A1 (en) 2023-11-16

Similar Documents

Publication Publication Date Title
US11233762B2 (en) Providing augmented message elements in electronic communication threads
US10664526B2 (en) Suggested keywords for searching content on online social networks
US10467282B2 (en) Suggesting tags on online social networks
US11012753B2 (en) Computerized system and method for determining media based on selected motion video inputs
US10831847B2 (en) Multimedia search using reshare text on online social networks
US10841404B2 (en) Events discovery context
US9183282B2 (en) Methods and systems for inferring user attributes in a social networking system
US10509832B2 (en) Generating snippet modules on online social networks
US20180121550A1 (en) Ranking Search Results Based on Lookalike Users on Online Social Networks
CN113597629A (zh) 基于网络分发历史从数字媒体的储存库生成对应于预测的分发类别的数字媒体群集
US20180158100A1 (en) Identifying and customizing discovery of offers based on social networking system information
US20160373397A1 (en) Live social modules on online social networks
US10467238B2 (en) Search perceived performance
US10721514B2 (en) Customizing a video trailer based on user-selected characteristics
US20180013818A1 (en) Events Discovery Interface
US11557093B1 (en) Using social connections to define graphical representations of users in an artificial reality setting
US20230281940A1 (en) Providing context-aware avatar editing within an extended-reality environment
US9450992B2 (en) Node properties in a social-networking system
US20170351678A1 (en) Profile Suggestions
WO2023196210A1 (en) Facilitating collaboration on video media items
US10567235B1 (en) Utilizing multi-point optimization to improve digital content distribution
US10339125B2 (en) Indexing user-defined minutiae
US20170199897A1 (en) Inferring qualities of a place
US20230370408A1 (en) Generating and surfacing messaging thread specific and content-based effects
EP3101845B1 (en) Providing augmented message elements in electronic communication threads

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