The present application relates generally to data processing systems and, in one specific example, to techniques for suggesting content to promote via a stream.
Many social network services such as LinkedIn and Facebook include “feeds” or “streams” that display various content in reverse chronological order, with newer or more recent content appearing higher in the feed. Such feeds or streams are also commonly referred to as news feeds, activity feeds, network update feeds, status feeds, data feeds, news streams, activity streams, network update streams, status streams, data streams, and so on.
Some embodiments are illustrated by way of example and not limitation in the figures of the accompanying drawings in which:
Example methods and systems for techniques for suggesting content to promote via a feed are described. In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of example embodiments. It will be evident, however, to one skilled in the art that the present invention may be practiced without these specific details.
According to various exemplary embodiments described herein, a system identifies trending content on a network (e.g., the Internet) such as articles, publications, blog posts, etc., and prompts an organization to promote this content in a content feed of a social network service. For example,
A social network service such as LinkedIn® also allows a member to access content associated with various interests by following a particular company, an organization, an educational institution (e.g., school or university), a particular influencer (e.g., a very important or influential member of the social network service), a particular group, and so on. For example, when a member follows a company, an educational institution, an influencer, a group, and so on, information regarding each of these interests will be included in the content feed displayed to the member. For example, suppose the member viewing the content feed 100 in
Accordingly, the content items included in a conventional content feed viewable by a given member are usually only sourced from other members that the given member is already connected to (e.g., status updates from other member connections), or from interests the given member is already following (e.g., news or posts from groups, companies, influencers, educational institutions, etc.). Thus, it may be difficult for a particular member to become exposed to content that is not sourced from the member's connections or the groups, educational institutions, companies, and influencers that the member is already following.
Accordingly, in various exemplary embodiments described herein, a system allows an organization to include sponsored updates in the content feeds of members of a social network service. Sponsored updates may appear similar to other updates in the content feed (e.g., updates from companies that the user is already following), and may be marked as “Sponsored” to indicate that they represent content that is being promoted in the content feed by a paying organization. Accordingly, members may be exposed to content items that they likely would not have seen otherwise. Thus, sponsored updates enable organizations to build relationships by delivering their content into the homepage feed of members beyond those who are already following their organization.
According to various exemplary embodiments, a system identifies trending content such as articles, publications, blog posts, etc., and prompts an organization to promote this content in a content feed of a social network service. For example, the system may prompt the organization to pay a fee in order to insert a sponsored update describing the content item into a content feed of a social network service. Accordingly, viewers of the sponsored update may associate the content item with the organization that promoted the content item, helping to increase publicity, brand awareness, and brand recognition for the organization. In some embodiments, the sponsored content item in the content feed may include a link allowing the viewer to follow the organization promoting the sponsored update. Thus, the system allows organizations to leverage the popularity of trending and viral articles in order to increase a number of members that follow the organization.
While various embodiments herein refer to an organization, it is understood that the aspects described herein are applicable to any company, business, institution, enterprise, entity, university, school, person, individual, etc., seeking to display content items to other users.
As shown in
Once registered, a member may invite other members, or be invited by other members, to connect via the social network service. A “connection” may require a bi-lateral agreement by the members, such that both members acknowledge the establishment of the connection. Similarly, with some embodiments, a member may elect to “follow” another member. In contrast to establishing a connection, the concept of “following” another member typically is a unilateral operation, and at least with some embodiments, does not require acknowledgement or approval by the member that is being followed. When one member follows another, the member who is following may receive status updates or other messages published by the member being followed, or relating to various activities undertaken by the member being followed. Similarly, when a member follows an organization, the member becomes eligible to receive messages or status updates published on behalf of the organization. For instance, messages or status updates published on behalf of an organization that a member is following will appear in the member's personalized data feed or content stream. In any case, the various associations and relationships that the members establish with other members, or with other entities and objects, are stored and maintained within the social graph, shown in
The social network service may provide a broad range of other applications and services that allow members the opportunity to share and receive information, often customized to the interests of the member. For example, with some embodiments, the social network service may include a photo sharing application that allows members to upload and share photos with other members. With some embodiments, members may be able to self-organize into groups, or interest groups, organized around a subject matter or topic of interest. With some embodiments, the social network service may host various job listings providing details of job openings with various organizations.
As members interact with the various applications, services and content made available via the social network service, the members' behavior (e.g., content viewed, links or member-interest buttons selected, etc.) may be monitored and information concerning the member's activities and behavior may be stored, for example, as indicated in
With some embodiments, the social network system 20 includes what is generally referred to herein as a content promotion system 300. The content promotion system 300 is described in more detail below in conjunction with
Although not shown, with some embodiments, the social network system 20 provides an application programming interface (API) module via which third-party applications can access various services and data provided by the social network service. For example, using an API, a third-party application may provide a user interface and logic that enables an authorized representative of an organization to publish messages from a third-party application to a content hosting platform of the social network service that enables facilitates presentation of activity or content streams maintained and presented by the social network service. Such third-party applications may be browser-based applications, or may be operating system-specific. In particular, some third-party applications may reside and execute on one or more mobile devices (e.g., phone, or tablet computing devices) having a mobile operating system.
Turning now to
As described in more detail below, the identification module 302 of the content promotion system 300 is configured to access social activity information associated with a plurality of candidate content items posted on an online social network service. The social activity information may describe social activity signals associated with each of the candidate content items. The promotion module 304 is then configured to identify a specific content item from among the plurality of candidate content items, based on the social activity signals associated with the specific content item.
As described herein, social activity signals may include views, likes, comments, shares, follows, views of comments, likes of comments, shares of comments, and so on. The content items referred to herein may be any type of content item, including online content items displayed in, or accessible by, a webpage or a user interface of a mobile application. Non-limiting examples of content items include advertisements, news items, blog posts, articles, publications, presentations, slideshows, documents, reviews, pictures, videos, multimedia, webpages, audio files, coupons, promotions, brochures, items posted in a content stream or content feed, notifications, emails, text or instant messages, message boards, bulletin boards, forums, profile pages (e.g., profile pages on a social network service such as LinkedIn®, such as member profile pages, influencer profile pages, company profile pages, group profile pages, etc.), and so on.
After the identification module 302 of the content promotion system 300 identifies a specific content item, the promotion module 304 is configured to prompt an organization to promote the specific content item on an online social network service. If the organization responds with a request to promote the specific content item, then the promotion module 304 will promote the specific content item by inserting a sponsored update describing the specific content item into a content feed of the online social network service. Alternatively, the promotion module 304 may automatically promote the specific content item (e.g., by inserting a sponsored update describing the content item into a content feed of the online social network service), with or without notifying the organization or receiving instructions from the organization to do so. The operation of each of the aforementioned modules of the content promotion system 300 will now be described in greater detail in conjunction with
Referring back to the method 400 in
Referring back to the method 400 in
Referring back to the method 400 in
For example,
In various exemplary embodiments described above, if a content item is hosted by a social network service itself, then the social network service may maintain social activity information associated with the content item in a database. Alternatively, in some embodiments, the promotion module 304 may access social activity information from content items that are not necessarily posted on a social network service. For example, the identification module 302 may crawl a network (e.g., the Internet) for content items such as articles, publications, news items, blog posts, responses posted on forums, billboards, question and answer services, and so on. In some embodiments, the promotion module 304 may identify the content items by crawling a set known third party sources or websites that are known for hosting content items, such as websites associated with news organizations, companies, important individuals, forums, billboards, question-and-answer services, blogs and bloggers, journals, clubs, and so on. In some embodiments, the identification module 302 may also access content items from other social network services.
If the content item is hosted by a third party, then the identification module 302 may crawl the information included in the content item in order to extract the aforementioned social activity information. For example, the identification module 302 may store a list of social activity keyword such as “view(s)”, “like(s)”, “share(s)”, “comment(s)”, and if the identification module 302 detects these words and adjacent numbers in a content item, the identification module 302 may infer that this information represents social activity information that indicates a number of views, likes, shares, comments, etc. the content item has received. Similarly, by crawling webpages associated with content items, the identification module 302 may identify one or more comments posted in response to the content item (e.g., such comments are typically displayed at a lower portion of the content item below the words “comments”). Accordingly, the identification module 302 may generate social activity information describing social activity signals associated with a particular content item hosted a third party website. The identification module 302 may store such social activity information (e.g. see
In some embodiments, the promotion module 304 may proceed to automatically promote a content item on behalf of an organization, without prompting the organization to promote the content item and/or without receiving an explicit request from the organization to promote the content item. For example, the promotion module 304 may display a user interface configured to receive a command from an organization (or an agent thereof) that content items may be identified and promoted automatically on behalf of the organization. Accordingly, the promotion module 304 may automatically promote the content item after transmitting a message to the organization indicating that the promotion module 304 is going to promote the specific content item on behalf of the organization. Alternatively, the promotion module 304 may promote a content item on behalf of the organization without transmitting any message or notification to the organization. For example,
In some embodiments, the identification module 302 may identify content items that are trending generally across the memberbase of a social network service. According to other exemplary embodiments, the identification module 302 is also configured to identify content items that are trending among particular member segments, member groups, members having common attributes, target audiences, and so on. For example, in some embodiments, the identification module 302 is configured to display the user interface 1000 illustrated in
In some embodiments, the identification module 302 may identify whether content items are trending among the target audience by analyzing social activity information associated with content items, where the social activity information may indicate users that publicly submitted various social activity signals. For example, if the article 500 in
For example, since one of the comments to the article 500 was received from the user Jane Doe, the identification module 302 may access member profile data associated with a member profile of the user Jane Doe, to determine if the user Jane Doe is part of a target audience. For example,
Accordingly, based on the member profile data of the members that have generated social activity signals associated with the article 500, the identification module 302 may identify what type of people have viewed the article, liked the article, shared the article, commented on the article, and so on. Based on this information, the identification module 302 may determine that the article is trending, popular, or viral with specific types of users. For example, the promotion module 304 may determine that the article 500 has at least a predetermined number of views, likes, shares, clicks, comments, and/or other social activity signals from users in a target audience, or that the article 500 has received at least a predetermined number of social activity signals during a predetermined time interval (e.g., the last hour, the last eight hours, the last 24 hours, the last two days, etc.) from users in the target audience, and so on. Thereafter, the promotion module 304 may prompt and organization to promote this content on the social network service, since it is a content item that is trending among the target audience of the organization.
In some embodiments, a target audience of an organization may be inferred based on advertisement targeting information previously received from the organization in connection with an advertising account or advertising campaign. For example, when organization seeks to purchase and display online advertisements on webpages, such organizations typically provide the content of the advertisements to a website and specify advertisement targeting criteria identifying the intended target audience of the advertisements. Thus, the promotion module 304 may infer the target audience of the organization based on this advertisement targeting criteria information which may have been previously received from the organization in connection with an advertising campaign.
In some embodiments, the identification module 302 may identify trending content items among employees of an organization. For example, the identification module 302 may identify employees of an organization by identifying members of a social network service that have the organization listed as their current employer in their member profile data. The identification module 302 may then analyze social activity information associated with trending content items, to determine if the trending content items are actually trending among the employees of the organization. Thereafter, the promotion module 304 may prompt the organization to promote this content on the social network service, since it is a content item that is trending among the employees of the organization. For example,
According to other exemplary embodiments, the identification module 302 is also configured to identify trending content items that satisfy particular attributes specified by an organization. For example, in some embodiments, the identification module 302 is configured to display the user interface 1400 illustrated in
In some embodiments, instead of displaying the user interface 1400 in order to receive a user specification of target content item attributes, the identification module 302 may automatically infer content item attributes for an organization. For example, the identification module 302 may infer that, for a given organization to promote the content item, that content item should not be posted by a competitor of the organization or a key employee of the a competitor of the organization, that it should be relatively new (e.g., one or two days old), that it should be related to the industry of the organization, that it should not include the name of that organization in connection with negative sentiment, and so on.
According to various exemplary embodiments, the identification module 302 may analyze the comments in trending articles, in order to determine if the comments suggest currently trending topics, issues, events, discussions, debates, news, etc. For example, perhaps an influencer posted by an influential person such as a politician includes a discussion of a civil rights court case, but a substantial majority of the comments to this article refer to a separate topic regarding gun rights. Accordingly, the identification module 302 may identify gun rights as a trending topic, and can recommend that an organization promotes content items related to this topic of gun rights.
In some embodiments, the these techniques may be applied to analyze comments in articles that have been previously posted or promoted by a particular organization or a similar organization, or articles related to an industry associated with the organization, and to analyze comments posted by a target audience or employees of the organization. For example, perhaps the Acme Corporation has promoted or posted an article describing a new online social media platform, but comments to this article posted by a target audience of the Acme Corporation refer to a separate topic regarding Internet censorship. Accordingly, the identification module 302 may identify the topic of Internet censorship as a trending topic among the target audience of the organization, and can recommend that the organization promotes content items related to this topic of Internet censorship.
For example,
According to various exemplary embodiments, the identification module 302 may keep track of the content items being promoted by various organizations, in order to ensure that different organizations (e.g., competitors) do not promote the same content item. In some embodiments, the content promotion system 300 may utilize a bidding system where organizations can bid to promote a particular content item, and the organization that bids the most is the only organization permitted to promote the content item. In other embodiments, the content promotion system 300 may utilize a fixed fee system, where the first organization to agree to pay the fixed fee to promote the content item is the only organization permitted to promote the content item.
In some embodiments, the content promotion system 300 may display a user interface to display pricing information and/or receive user bidding information associated with the promotion of various content items. For example, the content promotion system 300 may display the user interface 1700 illustrated in
Certain embodiments are described herein as including logic or a number of components, modules, or mechanisms. Modules may constitute either software modules (e.g., code embodied (1) on a non-transitory machine-readable medium or (2) in a transmission signal) or hardware-implemented modules. A hardware-implemented module is tangible unit capable of performing certain operations and may be configured or arranged in a certain manner. In example embodiments, one or more computer systems (e.g., a standalone, client or server computer system) or one or more processors may be configured by software (e.g., an application or application portion) as a hardware-implemented module that operates to perform certain operations as described herein.
In various embodiments, a hardware-implemented module may be implemented mechanically or electronically. For example, a hardware-implemented module may comprise dedicated circuitry or logic that is permanently configured (e.g., as a special-purpose processor, such as a field programmable gate array (FPGA) or an application-specific integrated circuit (ASIC)) to perform certain operations. A hardware-implemented module may also comprise programmable logic or circuitry (e.g., as encompassed within a general-purpose processor or other programmable processor) that is temporarily configured by software to perform certain operations. It will be appreciated that the decision to implement a hardware-implemented module mechanically, in dedicated and permanently configured circuitry, or in temporarily configured circuitry (e.g., configured by software) may be driven by cost and time considerations.
Accordingly, the term “hardware-implemented module” should be understood to encompass a tangible entity, be that an entity that is physically constructed, permanently configured (e.g., hardwired) or temporarily or transitorily configured (e.g., programmed) to operate in a certain manner and/or to perform certain operations described herein. Considering embodiments in which hardware-implemented modules are temporarily configured (e.g., programmed), each of the hardware-implemented modules need not be configured or instantiated at any one instance in time. For example, where the hardware-implemented modules comprise a general-purpose processor configured using software, the general-purpose processor may be configured as respective different hardware-implemented modules at different times. Software may accordingly configure a processor, for example, to constitute a particular hardware-implemented module at one instance of time and to constitute a different hardware-implemented module at a different instance of time.
Hardware-implemented modules can provide information to, and receive information from, other hardware-implemented modules. Accordingly, the described hardware-implemented modules may be regarded as being communicatively coupled. Where multiple of such hardware-implemented modules exist contemporaneously, communications may be achieved through signal transmission (e.g., over appropriate circuits and buses) that connect the hardware-implemented modules. In embodiments in which multiple hardware-implemented modules are configured or instantiated at different times, communications between such hardware-implemented modules may be achieved, for example, through the storage and retrieval of information in memory structures to which the multiple hardware-implemented modules have access. For example, one hardware-implemented module may perform an operation, and store the output of that operation in a memory device to which it is communicatively coupled. A further hardware-implemented module may then, at a later time, access the memory device to retrieve and process the stored output. Hardware-implemented modules may also initiate communications with input or output devices, and can operate on a resource (e.g., a collection of information).
The various operations of example methods described herein may be performed, at least partially, by one or more processors that are temporarily configured (e.g., by software) or permanently configured to perform the relevant operations. Whether temporarily or permanently configured, such processors may constitute processor-implemented modules that operate to perform one or more operations or functions. The modules referred to herein may, in some example embodiments, comprise processor-implemented modules.
Similarly, the methods described herein may be at least partially processor-implemented. For example, at least some of the operations of a method may be performed by one or processors or processor-implemented modules. The performance of certain of the operations may be distributed among the one or more processors, not only residing within a single machine, but deployed across a number of machines. In some example embodiments, the processor or processors may be located in a single location (e.g., within a home environment, an office environment or as a server farm), while in other embodiments the processors may be distributed across a number of locations.
The one or more processors may also operate to support performance of the relevant operations in a “cloud computing” environment or as a “software as a service” (SaaS). For example, at least some of the operations may be performed by a group of computers (as examples of machines including processors), these operations being accessible via a network (e.g., the Internet) and via one or more appropriate interfaces (e.g., Application Program Interfaces (APIs).)
Example embodiments may be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations of them. Example embodiments may be implemented using a computer program product, e.g., a computer program tangibly embodied in an information carrier, e.g., in a machine-readable medium for execution by, or to control the operation of, data processing apparatus, e.g., a programmable processor, a computer, or multiple computers.
A computer program can be written in any form of programming language, including compiled or interpreted languages, and it can be deployed in any form, including as a stand-alone program or as a module, subroutine, or other unit suitable for use in a computing environment. A computer program can be deployed to be executed on one computer or on multiple computers at one site or distributed across multiple sites and interconnected by a communication network.
In example embodiments, operations may be performed by one or more programmable processors executing a computer program to perform functions by operating on input data and generating output. Method operations can also be performed by, and apparatus of example embodiments may be implemented as, special purpose logic circuitry, e.g., a field programmable gate array (FPGA) or an application-specific integrated circuit (ASIC).
The computing system can include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other. In embodiments deploying a programmable computing system, it will be appreciated that that both hardware and software architectures require consideration. Specifically, it will be appreciated that the choice of whether to implement certain functionality in permanently configured hardware (e.g., an ASIC), in temporarily configured hardware (e.g., a combination of software and a programmable processor), or a combination of permanently and temporarily configured hardware may be a design choice. Below are set out hardware (e.g., machine) and software architectures that may be deployed, in various example embodiments.
The example computer system 1800 includes a processor 1802 (e.g., a central processing unit (CPU), a graphics processing unit (GPU) or both), a main memory 1804 and a static memory 1806, which communicate with each other via a bus 1808. The computer system 1800 may further include a video display unit 1810 (e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)). The computer system 1800 also includes an alphanumeric input device 1812 (e.g., a keyboard or a touch-sensitive display screen), a user interface (UI) navigation device 1814 (e.g., a mouse), a disk drive unit 1816, a signal generation device 1818 (e.g., a speaker) and a network interface device 1820.
The disk drive unit 1816 includes a machine-readable medium 1822 on which is stored one or more sets of instructions and data structures (e.g., software) 1824 embodying or utilized by any one or more of the methodologies or functions described herein. The instructions 1824 may also reside, completely or at least partially, within the main memory 1804 and/or within the processor 1802 during execution thereof by the computer system 1800, the main memory 1804 and the processor 1802 also constituting machine-readable media.
While the machine-readable medium 1822 is shown in an example embodiment to be a single medium, the term “machine-readable medium” may include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more instructions or data structures. The term “machine-readable medium” shall also be taken to include any tangible medium that is capable of storing, encoding or carrying instructions for execution by the machine and that cause the machine to perform any one or more of the methodologies of the present invention, or that is capable of storing, encoding or carrying data structures utilized by or associated with such instructions. The term “machine-readable medium” shall accordingly be taken to include, but not be limited to, solid-state memories, and optical and magnetic media. Specific examples of machine-readable media include non-volatile memory, including by way of example semiconductor memory devices, e.g., Erasable Programmable Read-Only Memory (EPROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks.
The instructions 1824 may further be transmitted or received over a communications network 1826 using a transmission medium. The instructions 1824 may be transmitted using the network interface device 1820 and any one of a number of well-known transfer protocols (e.g., HTTP). Examples of communication networks include a local area network (“LAN”), a wide area network (“WAN”), the Internet, mobile telephone networks, Plain Old Telephone (POTS) networks, and wireless data networks (e.g., WiFi, LTE, and WiMax WiMAX networks). The term “transmission medium” shall be taken to include any intangible medium that is capable of storing, encoding or carrying instructions for execution by the machine, and includes digital or analog communications signals or other intangible media to facilitate communication of such software.
Although an embodiment has been described with reference to specific example embodiments, it will be evident that various modifications and changes may be made to these embodiments without departing from the broader spirit and scope of the invention. Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense. The accompanying drawings that form a part hereof, show by way of illustration, and not of limitation, specific embodiments in which the subject matter may be practiced. The embodiments illustrated are described in sufficient detail to enable those skilled in the art to practice the teachings disclosed herein. Other embodiments may be utilized and derived therefrom, such that structural and logical substitutions and changes may be made without departing from the scope of this disclosure. This Detailed Description, therefore, is not to be taken in a limiting sense, and the scope of various embodiments is defined only by the appended claims, along with the full range of equivalents to which such claims are entitled.
Such embodiments of the inventive subject matter may be referred to herein, individually and/or collectively, by the term “invention” merely for convenience and without intending to voluntarily limit the scope of this application to any single invention or inventive concept if more than one is in fact disclosed. Thus, although specific embodiments have been illustrated and described herein, it should be appreciated that any arrangement calculated to achieve the same purpose may be substituted for the specific embodiments shown. This disclosure is intended to cover any and all adaptations or variations of various embodiments. Combinations of the above embodiments, and other embodiments not specifically described herein, will be apparent to those of skill in the art upon reviewing the above description.
This patent application claims the benefit of priority to U.S. Provisional Patent Application Ser. No. 61/872,528, filed on Aug. 30, 2013, which is incorporated herein by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
61872528 | Aug 2013 | US |