US20230186407A1 - Generating personalized content - Google Patents

Generating personalized content Download PDF

Info

Publication number
US20230186407A1
US20230186407A1 US18/163,700 US202318163700A US2023186407A1 US 20230186407 A1 US20230186407 A1 US 20230186407A1 US 202318163700 A US202318163700 A US 202318163700A US 2023186407 A1 US2023186407 A1 US 2023186407A1
Authority
US
United States
Prior art keywords
user
content
topic
message
item
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
US18/163,700
Inventor
Farid Hosseini
Salil Shah
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.)
Pinterest Inc
Original Assignee
Pinterest 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 Pinterest Inc filed Critical Pinterest Inc
Priority to US18/163,700 priority Critical patent/US20230186407A1/en
Assigned to Pinterest, Inc. reassignment Pinterest, Inc. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: SHAH, SALIL, HOSSEINI, FARID
Publication of US20230186407A1 publication Critical patent/US20230186407A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0255Targeted advertisements based on user history
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0241Advertisements
    • G06Q30/0251Targeted advertisements
    • G06Q30/0269Targeted advertisements based on user profile or attribute
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking

Definitions

  • Social networking services often look to improve their customer/user experiences through personalization, i.e., customizing the information presented to a user according to a set of user preferences of that user.
  • user preferences are maintained for multiple users/subscribers by a social networking service. These user preferences may be established according to explicitly provided information from the user (e.g., the user tells the service what is liked or not), or implicitly derived information about the user based on user behavior with the social networking service (e.g., inferring preferences and dislikes according to the user's behavior).
  • each social networking service provides a distinct set of services to the user than those of other social networking services. Since each social networking service provides a distinct set of services, it follows that each social networking service develops a distinct set of user preferences or user information, especially in regard to implicitly derived information based on user behaviors. Social networking services, however, typically do not share personal information of any given user, especially with other social networking services. Of course, one reason for not sharing user preferences may be privacy concerns. Indeed, what a social networking service may learn about a subscriber is often considered sensitive information. On the other hand, another reason for not sharing user preferences data is competition: each social networking service is in competition with one another for a finite amount of a user's attention.
  • one social networking service may have a particular set of information regarding a user's preference that other services may not possess or know.
  • one social networking service may have substantial user preference information in regard to a user's preference for travel, while another service may hold information regarding that same user's preference to hobbies.
  • FIG. 1 is a block diagram illustrating an exemplary network environment suitable for implementing aspects of the disclosed subject matter
  • FIG. 2 is a flow diagram illustrating an exemplary routine for generating additional content for a user in the user's content space based on discovered information from the user's email account, according to aspects of the disclosed subject matter;
  • FIGS. 3 A- 3 C are pictorial diagrams illustrating exemplary content in a user's content space, and updated with additional content based on discovered information from the user's email account, according to various aspects of the disclosed subject matter;
  • FIG. 4 is a flow diagram illustrating an exemplary portion of the routine of FIG. 2 , particularly in regard to identifying an item of purchase and presenting the item and related content to the user;
  • FIG. 5 is a block diagram illustrating an exemplary computer readable medium encoded with instructions for generating additional content in a user's content space according to aspects of the disclosed subject matter
  • FIG. 6 is a block diagram illustrating an exemplary computing device suitable for implementing aspects of the disclosed subject matter.
  • novel methods and systems are presented herein for obtaining user information (that may include or lead to the inference of user preferences) and utilizing that newly-discovered user information to auto-generate content for the user.
  • user information that may include or lead to the inference of user preferences
  • newly-discovered user information to auto-generate content for the user.
  • a social networking service detects action in an area of interest to one of its users, the service will often send an email notification to that user telling him/her of the action and that he/she may be interested.
  • an electronic receipt is typically sent to that person's email account. This purchase, of course, may be the source of deriving an implicit user preference of the user.
  • the user's email account typically includes a wealth of information about the user that, if accessed and analyzed, can lead to improved understanding of the user as well as the generation of content for the user.
  • the term “exemplary,” as used in this document, should be interpreted as serving as an illustration or example of something, and it should not be interpreted as an ideal or leading illustration of that thing.
  • the term “user(s)” should be interpreted as one or more users.
  • the use of the combination “and/or” with regard to multiple items should be viewed as meaning either or both items.
  • a social networking service (also referred to as a social networking site) is an online platform (i.e., network accessible platform or service) to build or establish social networks and/or social relations among computer users. These social networks and/or relationships are often, though not exclusively, based on subscribers/users who share similar interests, activities, backgrounds or real-life connections.
  • a social networking service typically creates an online representation for each user/subscriber, allows its users to establish their social links and networks (relationships with others), and also allows its users to post content to an online content space corresponding to the user or that of other users.
  • posted content in a user's online content space may be viewed by others, including those within the user's social network, though a posting user is often able to control who, if anyone, is able to view the posted content.
  • this online content space is often organized according to one or more collections of related content.
  • the various embodiments of this collection of content may be referred to as boards, pages, threads, collections, and the like.
  • FIG. 3 A illustrating a user's 101 content space 302 that includes content collections 310 and 320 corresponding to fancy cars and travel, respectively.
  • content collections are presented to a user in such a way as to be distinct from each other.
  • content collections are related to a topic or set of related topics.
  • FIG. 2 is a flow diagram illustrating an exemplary routine 200 for generating additional content for a user in that user's content space based on discovered information from the user's email account, according to aspects of the disclosed subject matter.
  • FIGS. 3 A- 3 C referenced for illustration and exemplary purposes, are pictorial diagrams illustrating exemplary content in a user's content space 302 hosted by a social networking service 112 , and updated with additional content items according to aspects of the disclosed subject matter.
  • a social networking service 112 is shown as providing an online content space 302 for user/subscriber 101 .
  • the user's online content space 302 includes two content collections, collections 310 and 320 .
  • content collection 310 includes content relating to fancy cars and includes two content items 312 and 314 regarding this particular collection topic/theme.
  • Content collection 320 includes content relating to travel locations and includes three content items 322 , 324 and 326 regarding this collection topic.
  • a typical first step is to obtain user authorization to access the user's email account.
  • this authorization comes in response to a request from the social networking service to gain access to the user's email account.
  • the user authorization typically includes at least the email address of the user as well as access information.
  • the access information may include information regarding a service that is authorized to provide the email items of the user to the service.
  • a token or passkey indicative of user authorization may be included in the access information for validating and/or authorizing the routine's access of the user's email items to the providing service.
  • Utilizing a third-party service may result in greater security to the user by surfacing only those API (application programming interface) calls that respond with the requested information (email items), rather than the actual items themselves.
  • the user may maintain a “gmail” or “outlook” email address such that the social networking service would need to reach out to the corresponding email address provider, typically via an API, to gain access to the various email items.
  • this user authorization is obtained through clear notice and with full consent of the user. According to various embodiments of the disclosed subject matter, the user is fully informed and provides clear consent for accessing the user's email items.
  • the access information may include the password or other unlocking key for accessing the email account directly.
  • Additional information such as domain, access port, server, email type (e.g., IMAP, POP3, Exchange), and the like may also be obtained from the user.
  • email type e.g., IMAP, POP3, Exchange
  • custom information in addition to information obtained from the user, standard or default information corresponding to the particular email account may be used, and custom information also may be obtained from the email's domain/provider itself.
  • the email account of the user is accessed. More particularly and according to aspects of the disclosed subject matter, email items from the inbox (a collection of email items that have been sent to the user) and outbox (a collection of email items that have been sent from the user) are accessed. Moreover, any subfolders or other containers (including subfolders within the inbox and/or outbox) that contain email items are typically accessed. Further still, in addition to email items, items corresponding to tasks, calendar and scheduling, notes, and the like may also be accessed and evaluated. Accordingly, while this document generally refers to email items, it should be understood that this general reference may include these other forms of content. Moreover, in addition to content items (both received and sent items) that may be accessed, SMS/MMS (short message service/multimedia message service) content, chatbot content, and other sources of communications that are sent and/or received by the user may also be accessed.
  • SMS/MMS short message service/multimedia message service
  • an iteration loop is begun. As those skilled in the art will appreciate, this iteration loop iterates through each of the email items of the email account, processing each one of the email items according to the processing steps set forth herein.
  • the currently iterated email item (the email item that is currently being processed in the course of iterating through the email items) will be referred to as the “email item” or as the “currently iterated email item.”
  • a “topic” of an email item typically corresponds to an entity (e.g., person or organization), a concept, a theme, sentiment or prevailing notion within the email.
  • a user preference and/or sentiment may be identified. For example, an analysis of an email item may result in the identification of a “fancy car” topic, and further indicate that the user has a negative preference/dislike for 1970's era cars.
  • Sentiment refers to the user's feeling or sense of a particular item.
  • a sentiment may be a positive or negative sentiment towards a particular topic (leading to a positive or negative preference.) However, a sentiment may be further nuanced beyond simply reflecting a positive or negative feeling toward a particular object.
  • a sentiment may include a sense of aspiration, interest, distaste, and the like. For example, an analysis or review of an email item may identify a topic as well as a desire to achieve or purchase an item of that topic.
  • each email item there may be one or more topics (or preferences) identified within each email item, though it may be common to identify only a single topic for any given email item. Of course, in some instances it may be that there is no identifiable topic or user preference in which case the email item may be ignored and/or not processed.
  • the identification of the one or more topics of the currently iterated email item may be made according to a lexical analysis of the email item.
  • the application of heuristics and algorithms, in the course of the lexical analysis may be made to identify document frequency of terms and phrases, inverse document frequency of terms and phrases, key terms of any subject line, or terms and/or phrases of areas indicating emphasis.
  • the analysis may be, alternatively or additionally, made according to template information, with templates determined according to an originating domain of the email item.
  • a template identifies a form or structure of an email, along with context for interpreting the subject matter within key or important fields/areas of the email.
  • Utilizing domain-specific templates may improve the identification of key terms and phrases from other content in an email item.
  • an email item (in an inbox) originating from a known travel service may trigger the use of a template for efficiently looking into the subject matter/content of the email item to identify key terms such as location, dates, etc.
  • the templates themselves, may be indictors of a topic or theme of the email item.
  • Lexical analyses and domain-specific templates may be used in conjunction with each other to identify topics of an email item.
  • a machine learning model may be used to evaluate the email item to identify one or more topics with corresponding likelihoods of accuracy.
  • Structured data includes certain data arrangements (tables, columns, tabbed, etc.), tagged data (e.g., XML and/or HTML tags), quoted content, emphasized content (e.g., bold, underline, strikeout, size, capitalization, etc.), and the like.
  • tagged data e.g., XML and/or HTML tags
  • quoted content e.g., emphasized content
  • emphasized content e.g., bold, underline, strikeout, size, capitalization, etc.
  • emphasized content e.g., bold, underline, strikeout, size, capitalization, etc.
  • information regarding structured data and data source may be used in identifying one or more topics (and/or user preferences) from an email item.
  • topics and/or user preferences
  • the social networking service can begin to understand what items the user has in his/her closet, understand the user's tastes with regard to fashion, and can correspondingly make decisions on adding content to an existing content collection (or create a new content collection) for the user, as well as updating preferences regarding the user.
  • existing content collections may be rearranged based on learned user preferences from the processed email items, and preferences (positive and/or negative) for various items, topics, etc.
  • a determination of additional factors or criteria may also be made.
  • factors and/or criteria include a strength of a given topic to the user as well as a sentiment of the user with regard to the topic.
  • this refers to how strongly this topic relates to or is applicable to the user (irrespective of whether it is a positive or negative evocation of emotion/reaction).
  • an email item may strongly indicate a particular topic (e.g., gardening) but the user may actually dislike gardening.
  • a topic does not strongly relate to a user is important in determining whether to automatically generate content for the user in regard to topics of interest. Determinations as to strength may be derived from how much the user seems to be involved with a given topic, the predominance of the topic in the email item, words and phrases that indicate emphasis, emotion, exclamation and the like.
  • While the content/subject matter of the email item is analyzed to identify topics, preferences, and/or sentiments, many email items include references to other content (i.e., hyperlinks, etc.) that may provide key information in processing the email to identify any topics.
  • a currently processed email item may include a link (e.g., a hyperlink, URI, and/or URL) to additional content.
  • a review and analysis of the additional content, in conjunction with the currently iterated email item may provide context, meaning, and/or additional information that may be critical to understanding topics and sentiments, as well as the user's own strength of relationship to that particular topic. Accordingly, in various embodiments of the disclosed subject matter, references to content external to the email item are explored and analyzed in conjunction with the currently iterated email item to help identify any topic or preference, or user sentiment, of the email item.
  • one email item may be part of a thread or chain of email items, or reference another email item of the user that, in conjunction with the currently iterated email item, provide context and information regarding one or more topics, preferences, and sentiments, as well as the strength of these topics, preferences, and sentiments to the user.
  • simple iteration of email items may be altered such that an email item which belongs to a thread or chain of email items may be analyzed in view of the entire thread or chain of email items.
  • email items that are not part of any given thread or chain, but referenced within a currently iterated email item may also be explored and evaluated in conjunction with the currently iterated email item.
  • a sentiment value may also be determined.
  • This sentiment value is an estimation of whether the user favors or disfavors the particular topic.
  • determinations of whether to auto-generate content for the user in the user's online content space are made.
  • the sentiment value is made according to an analysis of the email item and relevant terms and phrases, the structure of the email item with regard to the relevant terms and phrases (viewed as being positive or negative), the brevity or verbosity of the content, existing user preferences, whether the user originated or received the message, and the like.
  • the one or more identified topics, along with any strength or sentiment criteria with regard to the one or more topics, are used to update, or potentially update, the user's preferences as maintained by the social networking service.
  • a topic of an email item, in view of the strength and sentiment of the topic to the user should be interpreted as a user preference.
  • the information regarding the one or more topics is provided to a preference manager (often implemented as an executing machine learning model) that makes determinations about the subject matter to potentially infer new preferences of the user, update existing preferences, or simply record the information as user data as the basis of making further enhancements or revisions to the user's preferences maintained by the social networking service.
  • scores may be associated with each of the one or more topics, adjusted according to corresponding other criteria (e.g., strength and sentiment), such that each topic of the currently iterated email item is assigned an aggregate score. If the aggregate score for any given topic meets or exceeds a threshold amount, the determination is made to add system-identified content,
  • routine 200 proceeds to block 226 , where the routine either selects a next email item to process or terminates the iteration loop.
  • routine 200 proceeds to block 214 .
  • an item of content related to at least one of the one or more topics is identified.
  • a determination is made as to whether to add the identified item of content to an existing content collection of the user, or whether to add the identified item of content to a to-be-created content collection.
  • this determination may be made according to a topic or theme of existing content collections in view of the topics/themes of the user's content collections such that if there is a match or near-match, the item of content is added to an existing content collection.
  • visual processing may be employed to identify similarities and differences between existing content and any newly identified content for addition to the user's content collections. More particularly, visual processing can be used to understand the taste or preference of a particular user.
  • a visual processing and analysis of such content may lead the system to identify these attributes of those couches (gray, mid-century, etc.) as being of interest to the user, and the basis for identifying other content with similar features, as well as preferences, topics, sentiments, and the like.
  • the identified item of content is added to a new content collection.
  • routine 200 proceeds to block 222 where an existing content collection is selected according to the one or more topics, user preferences, strength of topic to the user, and sentiment of the user.
  • an existing content collection is selected according to the one or more topics, user preferences, strength of topic to the user, and sentiment of the user.
  • the identified item of content is added to the existing content collection.
  • the determination was to add the system-identified content 316 (a fancy truck) to the existing content collection 310 (relating to fancy cars).
  • the effort to match may have been considered a “near-match” and, based on one or more user preference's, the determination may have led to an expanded interpretation of the theme of the collection, in this case to suggest that a preference for fancy cars includes fancy pick-up trucks.
  • a new content with a theme/topic is added, such as content collection 330 of FIG. 3 C .
  • the identified content item (or content items in the event that multiple items have been identified) is added to the newly created content collection for the user.
  • the newly created content collection 330 includes newly added content items 332 , 334 and 336 , relating to a topic/theme of airplanes throughout history.
  • yet another option may be to rearrange one or more content collections based on information learned about the user. For example, in processing the user's email items it may be learned that the user has a particular affinity and preference to German-made vehicles, including both cars and motorcycles.
  • elements of existing content collections may be re-arranged according to user preferences, as well as including one or more additional items of content for the collection.
  • routine 200 continues the iteration by returning to block 206 where a next email item is selected as the currently iterated email item. Alternatively, if all of the email items of the email account have been processed, the routine 200 terminates.
  • routine 200 illustrates that this determination is made in conjunction with processing the email items of the email account, in fact this is illustrative of just one embodiment.
  • the determination to add content items to a content collection of the user may be made after all email items of the email account have been processed.
  • the user's preferences may have been fully updated according to the insight and information learned through processing the email items, and the user's preferences may then be leveraged to determine if any items of content should be added to the user's content space, what items of content should be added (assuming it is determined that content items should be add items), and whether to create new content collections or add content to existing content collections.
  • the system may be further utilized to discover items/articles that the user possesses, items/articles that the user aspires to possess, and items/articles that the user does not wish to possess.
  • One example of this is in discovering what is in the user's wardrobe through email item evaluation.
  • email item evaluation For example and by way of illustration and not limitation, in evaluating an email item it may be determined that at least one topic of the email item is in regard to the purchase of various items, such as blazer, suit, or new pair of shoes.
  • the system may be able to identify that the user now owns a camel hair blazer, or pair of high-heeled shoes.
  • This knowledge/information about the user may be used in identifying additional content that may be presented to the user, such as a pair of slacks that would coordinate well with the purchased blazer. Indeed, discovering at least some of the items in the user's wardrobe may lead to presenting the user with information that would complement those items, or in understanding a particular style or preference of the user. As the system determines whether or not to add items of content to a content collection for the user, consideration may be given to what is in the user's wardrobe, what would combine well with those items, and create a content collection that contains both items that the user already possesses as well as items that would coordinate well with those items.
  • the identification of related items may be achieved through visual processing of representative images of items that are known to be in the user's wardrobe. Additionally or alternatively, manually curated collections of wardrobe items may be referenced to identify what is viewed as being complementary with a given item owned/possessed by the user. Vendors may also be consulted for suggestions regarding complimentary, coordinating items. Further still, curated content collections of a large corpus of users that include one or more wardrobe items owned by the user may be consulted to identify what is popular and/or stylish with that corpus of user. Visual processing and/or recognition may be used to automatically distill information from content collections, including a curated content collection of one large bodies of users, regarding complimentary and/or coordinative relationships between items. The result of one or more of these, as well as other analyses, may be used to identify additional content for presentation to the user.
  • routine 200 may be applied in many circumstances, for illustration purposes one particular application of the routine is in regard to assisting a user with regard to identifying items that correspond to the user's own items, particularly the user's wardrobe.
  • Box 207 of FIG. 4 illustrates a particular section of routine 200 that is applied to this particular scenario.
  • one or more topics of that email item are identified. As already suggested, at least one of these topics may correspond to an item that the user has purchased, particularly a wardrobe item of the user, such as (for illustration purposes) a pair of slacks.
  • the user's preferences are updated according to the one or more topics identified of the currently iterated email item.
  • the determination is made as to whether to add system-identified content to a content collection in the user's online content space, or to create a new content collection for the user.
  • an item of content related to at least one of the one or more topics is identified.
  • the identified item of content is one that coordinates with and/or is complimentary to the identified item (e.g., the user's pair of slacks).
  • a content collection is created or identified for additions.
  • the identified item of content is added (e.g., an image of the identified item) along with the purchased item of content.
  • routine 200 may be applied to other scenarios for providing the user with useful, new information. These scenarios include, by way of illustration and not limitation, presenting the user with items in which he has indicated is a hobby, has a professional interest, or has a social or religious interest, and the like.
  • routine 200 As well as other routines and/or processes described or suggested throughout this document, while these routines and/or processes are expressed in regard to discrete steps, these steps should be viewed as being logical in nature and may or may not correspond to any specific, actual and/or discrete execution steps of a given implementation. Also, as already indicated above, the order in which these steps are presented in the various routines and processes, unless otherwise indicated, should not be construed as the only order that they can be executed, or even the best order in which the steps may be carried out. Moreover, in some instances, some of these steps may be combined and/or omitted. Those skilled in the art will recognize that the logical presentation of steps is sufficiently instructive to carry out aspects of the claimed subject matter irrespective of any particular development or coding language in which the logical instructions/steps are encoded.
  • routines and/or processes include various novel features of the disclosed subject matter, other steps or processing features may also be included and carried out in the execution of the subject matter set forth in these routines. Those skilled in the art will appreciate that the logical steps of these routines may be combined together or be comprised of multiple steps. Steps of the above-described routines may be carried out in parallel or in series. Often, but not exclusively, the functionality of the various routines is embodied in software (e.g., applications, system services, libraries, and the like) that is executed on one or more processors of computing devices or computing systems, such as the computing system described in regard to FIG. 6 below. Additionally, in various embodiments all or some of the various routines and/or processes may also be embodied in executable hardware modules including, but not limited to, systems on chips (SoC's), codecs, specially designed processors and or logic circuits, and the like.
  • SoC's systems on chips
  • codecs specially designed processors and or logic circuits, and the like.
  • routines and/or processes are typically embodied within executable code blocks and/or modules comprising routines, functions, looping structures, selectors and switches, such as if-then and if-then-else statements, assignments, arithmetic computations, and the like.
  • execution the execution of the various elements configures a computing device or system to operate in accordance with the routines/processes disclosed herein.
  • the exact implementation in executable statements of each of the routines is based on various implementation configurations and decisions, including programming languages, compilers, target processors, operating environments, and the linking or binding operation.
  • Those skilled in the art will readily appreciate that the logical steps identified in these routines may be implemented in any number of ways and that the logical descriptions set forth above are sufficiently enabling to achieve similar results.
  • While many novel aspects of the disclosed subject matter are expressed in routines or processes embodied within applications (also referred to as computer programs), apps (small, generally single or narrow purposed applications), services and/or methods, these aspects may also be embodied as computer executable instructions stored by computer-readable media, also referred to as computer-readable storage media, which are articles of manufacture.
  • computer-readable media can host, store and/or reproduce computer-executable instructions and data for later retrieval and/or execution.
  • Examples of computer-readable media include, but are not limited to: optical storage media such as Blu-ray discs, digital video discs (DVDs), compact discs (CDs), optical disc cartridges, and the like; magnetic storage media including hard disk drives, floppy disks, magnetic tape, and the like; memory storage devices such as random-access memory (RAM), read-only memory (ROM), memory cards, thumb drives, and the like; cloud storage (i.e., an online storage service); and the like.
  • optical storage media such as Blu-ray discs, digital video discs (DVDs), compact discs (CDs), optical disc cartridges, and the like
  • magnetic storage media including hard disk drives, floppy disks, magnetic tape, and the like
  • memory storage devices such as random-access memory (RAM), read-only memory (ROM), memory cards, thumb drives, and the like
  • cloud storage i.e., an online storage service
  • While computer-readable media may reproduce and/or cause to deliver the computer-executable instructions and data to a computing device or computing system for execution by one or more processors via various transmission means and mediums, including carrier waves and/or propagated signals, for purposes of this disclosure computer-readable media expressly excludes carrier waves and/or propagated signals.
  • FIG. 5 is a block diagram illustrating an exemplary computer-readable medium encoded with instructions for generating content in a user's online content space, as described in regard to routine 200 of FIG. 2 .
  • the implementation 500 comprises a computer-readable medium 508 (e.g., a CD-R, DVD-R or a platter of a hard disk drive), on which is encoded computer-readable data 506 .
  • This computer-readable data 506 in turn comprises a set of computer instructions 504 configured to operate according to one or more of the principles set forth herein.
  • the processor-executable instructions 404 may be configured to perform a method, such as at least some of exemplary routine 200 , for example.
  • processor-executable instructions 504 may be configured to implement a system on a computing device, such as at least some of the exemplary, executable components of computing system 500 of FIG. 5 , as described below.
  • a computing device such as at least some of the exemplary, executable components of computing system 500 of FIG. 5 , as described below.
  • Many such computer-readable media may be devised, by those of ordinary skill in the art, which are configured to operate in accordance with the techniques presented herein.
  • FIG. 6 is a block diagram illustrating an exemplary computing system 600 suitable for implementing aspects of the disclosed subject matter, particularly in regard to a social networking service 112 auto-generating content in a user's online content space according to information from examining the user's email account.
  • the computing system 600 typically includes one or more processors (or processing units), such as processor 602 , and further includes at least one memory 604 .
  • the processor 602 and memory 604 are interconnected by way of a system bus 610 .
  • the processor 602 executes instructions retrieved from the memory 604 , from computer-readable media, such as computer-readable media 500 of FIG. 5 , and/or other executable components in carrying out the various functions of a social networking service 112 particularly configured to auto-generate content in a user's online content space.
  • the processor 602 may be comprised of any of a number of available processors such as single-processor, multi-processor, single-core units, and multi-core units, which are well known in the art.
  • the memory 604 typically (but not always) comprises both volatile memory 606 and non-volatile memory 608 .
  • Volatile memory 606 retains or stores information so long as the memory is supplied with power.
  • non-volatile memory 508 is capable of storing (or persisting) information even when a power supply is not available.
  • RAM and CPU cache memory are examples of volatile memory 606
  • ROM, solid-state memory devices, memory storage devices, and/or memory cards are examples of non-volatile memory 608 .
  • the illustrated computing system 600 typically also includes a network communication interface 612 for interconnecting this computing system with other devices, computers and/or services over a computer network, such as network 108 of FIG. 1 .
  • the network communication interface 612 sometimes referred to as a network interface card or NIC, communicates over a network using one or more communication protocols via a physical/tangible (e.g., wired, optical fiber, etc.) connection, a wireless connection such as WiFi or Bluetooth communication protocols, NFC, or a combination thereof.
  • a network communication interface such as network communication component 612
  • network communication component 612 is typically comprised of hardware and/or firmware components (and may also include or comprise executable software components) that transmit and receive digital and/or analog signals over a transmission medium (i.e., the network.)
  • the exemplary computing system 600 includes one or more components that, in execution on the computing system, provide an online social networking service, such as social networking service 112 of FIG. 1 .
  • These one or more components include but are not limited to, an email analysis component 620 , a preference manager component 622 , and a content generator 624 .
  • the email analysis component 620 Upon obtaining permission to access an email account of a user/subscriber of the social networking service and account information, and in execution on the computing system 600 , the email analysis component 620 accesses and processes the email items of the user's email account. As described above in regard to blocks 206 and 208 of FIG. 2 , the email analysis component 620 iterates through the items of the email account and, for each of the items, conducts an analysis of the email item to identify one or more topics of the email item.
  • additional email item information may be also determined, including an indication of the strength of each of the one or more topics to the user, and an indication of sentiment (e.g., a positive sentiment, a negative sentiment, or a neutral sentiment) of the user in regard to the particular topic.
  • sentiment e.g., a positive sentiment, a negative sentiment, or a neutral sentiment
  • the social networking service 112 updates (or potentially updates) that user's preferences by way of a preference manager 622 .
  • the user's preferences may be updated based on the frequency in which a particular topic is referenced by the user, including the number of email items that touch on the subject. Additionally, a user's preferences may be updated, modified or expanded based on previously established user preferences, the preferences of other users, user behaviors, and the like.
  • the preference manager 622 may utilize a machine learning model that, based on the input gained from the analysis of the various email items, determines a likelihood of a variety of preference modifications or additions for the user and, for those likelihoods that meet or exceed a predetermined threshold, updates or adds to the user's preferences.
  • a content generator 624 in execution, is used to determine whether to add content to a content collection in the user's online content space based on the information obtained from the email items by the email analysis component 620 and preferences maintained (or updated) by the preference manager 622 . As described above in regard to blocks 212 - 224 , the content generator 624 makes a determination as to whether to add content to a content collection in the user's content space (as maintained in a user content store 626 ), identifies an item content from a content store 626 , as well as determines whether to add the item of content to an existing content collection or to create a new content collection for the user.
  • components may be implemented as executable software modules stored in the memory of the computing device, as executable hardware modules and/or components (including SoCs—systems on a chip), or a combination thereof.
  • components may be implemented according to various executable embodiments including executable software modules that carry out one or more logical elements of the processes described in this document, or as hardware and/or firmware components that include executable logic to carry out the one or more logical elements of the processes described in this document.
  • Examples of these executable hardware components include, by way of illustration and not limitation, ROM (read-only memory) devices, programmable logic array (PLA) devices, PROM (programmable read-only memory) devices, EPROM (erasable PROM) devices, and the like, each of which may be encoded with instructions and/or logic which, in execution, carry out the functions and features described herein.
  • ROM read-only memory
  • PLA programmable logic array
  • PROM programmable read-only memory
  • EPROM erasable PROM

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Strategic Management (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Finance (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Theoretical Computer Science (AREA)
  • General Business, Economics & Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Game Theory and Decision Science (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Primary Health Care (AREA)
  • Tourism & Hospitality (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

Systems and methods are presented for adding system-identified content to a user's content space based on information identified from the user's email account. In operation, after obtaining user authorization to access email items of an email account, the email items are iteratively processed. In processing each of the email items, one or more topics of a currently processed email item are identified. Based on the identified topics and user preferences, one or more content items may be identified for addition to the user's online content space. Additionally, the information identified from processing the one or more email items is used to update the user's preferences.

Description

    CROSS-REFERENCE TO PRIOR APPLICATIONS
  • This application is a continuation application of and claims benefit to U.S. patent application Ser. No. 15/835,158, filed on Dec. 7, 2017, and entitled “Generating Personalized Content,” which is hereby incorporated by reference herein in its entirety.
  • BACKGROUND
  • There are numerous social networking services, each offering a particular set of services. Many people are subscribers of multiple social networking services chosen according to the particular set of services that they wish to access and enjoy, as well as those of friends and associates.
  • Social networking services often look to improve their customer/user experiences through personalization, i.e., customizing the information presented to a user according to a set of user preferences of that user. In this regard, user preferences are maintained for multiple users/subscribers by a social networking service. These user preferences may be established according to explicitly provided information from the user (e.g., the user tells the service what is liked or not), or implicitly derived information about the user based on user behavior with the social networking service (e.g., inferring preferences and dislikes according to the user's behavior).
  • As mentioned above, each social networking service provides a distinct set of services to the user than those of other social networking services. Since each social networking service provides a distinct set of services, it follows that each social networking service develops a distinct set of user preferences or user information, especially in regard to implicitly derived information based on user behaviors. Social networking services, however, typically do not share personal information of any given user, especially with other social networking services. Of course, one reason for not sharing user preferences may be privacy concerns. Indeed, what a social networking service may learn about a subscriber is often considered sensitive information. On the other hand, another reason for not sharing user preferences data is competition: each social networking service is in competition with one another for a finite amount of a user's attention. The result is that one social networking service may have a particular set of information regarding a user's preference that other services may not possess or know. For example, one social networking service may have substantial user preference information in regard to a user's preference for travel, while another service may hold information regarding that same user's preference to hobbies.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • The foregoing aspects and many of the attendant advantages of the disclosed subject matter will become more readily appreciated as they are better understood by reference to the following description when taken in conjunction with the following drawings, wherein:
  • FIG. 1 is a block diagram illustrating an exemplary network environment suitable for implementing aspects of the disclosed subject matter;
  • FIG. 2 is a flow diagram illustrating an exemplary routine for generating additional content for a user in the user's content space based on discovered information from the user's email account, according to aspects of the disclosed subject matter;
  • FIGS. 3A-3C are pictorial diagrams illustrating exemplary content in a user's content space, and updated with additional content based on discovered information from the user's email account, according to various aspects of the disclosed subject matter;
  • FIG. 4 is a flow diagram illustrating an exemplary portion of the routine of FIG. 2 , particularly in regard to identifying an item of purchase and presenting the item and related content to the user;
  • FIG. 5 is a block diagram illustrating an exemplary computer readable medium encoded with instructions for generating additional content in a user's content space according to aspects of the disclosed subject matter; and
  • FIG. 6 is a block diagram illustrating an exemplary computing device suitable for implementing aspects of the disclosed subject matter.
  • DETAILED DESCRIPTION
  • According to aspects of the disclosed subject matter, as user preferences of one social networking service are not available or accessible to another social networking service, novel methods and systems are presented herein for obtaining user information (that may include or lead to the inference of user preferences) and utilizing that newly-discovered user information to auto-generate content for the user. Indeed, while social networking services would like for all users to spend all of their time engaged solely with their site, the reality is users do not typically limit themselves in this manner. To reach out to their users when they are not engaged with their service, social networking services often communicate with users through the user's email account. For example, when a social networking service detects action in an area of interest to one of its users, the service will often send an email notification to that user telling him/her of the action and that he/she may be interested. Alternatively, when a person makes a purchase from an online service, an electronic receipt is typically sent to that person's email account. This purchase, of course, may be the source of deriving an implicit user preference of the user. Indeed, the user's email account typically includes a wealth of information about the user that, if accessed and analyzed, can lead to improved understanding of the user as well as the generation of content for the user.
  • For purposes of clarity and by way of definition, the term “exemplary,” as used in this document, should be interpreted as serving as an illustration or example of something, and it should not be interpreted as an ideal or leading illustration of that thing. Stylistically, when a word or term is followed by “(s)”, the meaning should be interpreted as indicating the singular or the plural form of the word or term, depending on whether there is one instance of the term/item or whether there is one or multiple instances of the term/item. For example, the term “user(s)” should be interpreted as one or more users. Moreover, the use of the combination “and/or” with regard to multiple items should be viewed as meaning either or both items.
  • By way of definition and description, a social networking service (also referred to as a social networking site) is an online platform (i.e., network accessible platform or service) to build or establish social networks and/or social relations among computer users. These social networks and/or relationships are often, though not exclusively, based on subscribers/users who share similar interests, activities, backgrounds or real-life connections. A social networking service typically creates an online representation for each user/subscriber, allows its users to establish their social links and networks (relationships with others), and also allows its users to post content to an online content space corresponding to the user or that of other users. Typically, though not exclusively, posted content in a user's online content space may be viewed by others, including those within the user's social network, though a posting user is often able to control who, if anyone, is able to view the posted content.
  • Regarding the user's online content space and according to aspects of the disclosed subject matter, this online content space is often organized according to one or more collections of related content. By way of illustration and not limitation, the various embodiments of this collection of content may be referred to as boards, pages, threads, collections, and the like. While described in further detail below, reference is made to FIG. 3A, illustrating a user's 101 content space 302 that includes content collections 310 and 320 corresponding to fancy cars and travel, respectively. Typically, though not exclusively, content collections are presented to a user in such a way as to be distinct from each other. Often, but not exclusively, content collections are related to a topic or set of related topics.
  • Turning to FIG. 2 and FIGS. 3A-3C, FIG. 2 is a flow diagram illustrating an exemplary routine 200 for generating additional content for a user in that user's content space based on discovered information from the user's email account, according to aspects of the disclosed subject matter. FIGS. 3A-3C, referenced for illustration and exemplary purposes, are pictorial diagrams illustrating exemplary content in a user's content space 302 hosted by a social networking service 112, and updated with additional content items according to aspects of the disclosed subject matter.
  • For purposes of the example set forth in FIGS. 3A-3C, a social networking service 112 is shown as providing an online content space 302 for user/subscriber 101. At the beginning of routine 200 (i.e., before the analysis of the user's email account), the user's online content space 302 includes two content collections, collections 310 and 320. In this example, content collection 310 includes content relating to fancy cars and includes two content items 312 and 314 regarding this particular collection topic/theme. Content collection 320 includes content relating to travel locations and includes three content items 322, 324 and 326 regarding this collection topic.
  • In regard to routine 200, beginning at block 202, a typical first step is to obtain user authorization to access the user's email account. In one embodiment, this authorization comes in response to a request from the social networking service to gain access to the user's email account. The user authorization typically includes at least the email address of the user as well as access information. According to various embodiments, the access information may include information regarding a service that is authorized to provide the email items of the user to the service. A token or passkey indicative of user authorization may be included in the access information for validating and/or authorizing the routine's access of the user's email items to the providing service. Utilizing a third-party service (i.e., third-party to the routine processing the email) may result in greater security to the user by surfacing only those API (application programming interface) calls that respond with the requested information (email items), rather than the actual items themselves. By way of illustration, the user may maintain a “gmail” or “outlook” email address such that the social networking service would need to reach out to the corresponding email address provider, typically via an API, to gain access to the various email items.
  • Regarding the notion of obtaining user authorization, it should be appreciated that this user authorization is obtained through clear notice and with full consent of the user. According to various embodiments of the disclosed subject matter, the user is fully informed and provides clear consent for accessing the user's email items.
  • Of course, in an alternative embodiment, the access information may include the password or other unlocking key for accessing the email account directly. Additional information, such as domain, access port, server, email type (e.g., IMAP, POP3, Exchange), and the like may also be obtained from the user. In regard to this additional access information, in addition to information obtained from the user, standard or default information corresponding to the particular email account may be used, and custom information also may be obtained from the email's domain/provider itself.
  • After obtaining email access information, at block 204, the email account of the user is accessed. More particularly and according to aspects of the disclosed subject matter, email items from the inbox (a collection of email items that have been sent to the user) and outbox (a collection of email items that have been sent from the user) are accessed. Moreover, any subfolders or other containers (including subfolders within the inbox and/or outbox) that contain email items are typically accessed. Further still, in addition to email items, items corresponding to tasks, calendar and scheduling, notes, and the like may also be accessed and evaluated. Accordingly, while this document generally refers to email items, it should be understood that this general reference may include these other forms of content. Moreover, in addition to content items (both received and sent items) that may be accessed, SMS/MMS (short message service/multimedia message service) content, chatbot content, and other sources of communications that are sent and/or received by the user may also be accessed.
  • With the email items of the email account now available, at block 206 an iteration loop is begun. As those skilled in the art will appreciate, this iteration loop iterates through each of the email items of the email account, processing each one of the email items according to the processing steps set forth herein. For purposes of clarity, the currently iterated email item (the email item that is currently being processed in the course of iterating through the email items) will be referred to as the “email item” or as the “currently iterated email item.”
  • At block 208, and in regard to the currently iterated email item, one or more topics of that email item are identified. By way of definition, a “topic” of an email item typically corresponds to an entity (e.g., person or organization), a concept, a theme, sentiment or prevailing notion within the email. In some embodiments, in addition to or as an alternative to a topic, a user preference and/or sentiment may be identified. For example, an analysis of an email item may result in the identification of a “fancy car” topic, and further indicate that the user has a negative preference/dislike for 1970's era cars. Having both a topic (which may, of itself, infer a user preference) as well as a clear user preference to the topic will lead to more accurately personalizing the user experience, including adding content to an existing content collection of the user. Sentiment refers to the user's feeling or sense of a particular item. A sentiment may be a positive or negative sentiment towards a particular topic (leading to a positive or negative preference.) However, a sentiment may be further nuanced beyond simply reflecting a positive or negative feeling toward a particular object. A sentiment may include a sense of aspiration, interest, distaste, and the like. For example, an analysis or review of an email item may identify a topic as well as a desire to achieve or purchase an item of that topic.
  • As suggested above and according to aspects of the disclosed subject matter, there may be one or more topics (or preferences) identified within each email item, though it may be common to identify only a single topic for any given email item. Of course, in some instances it may be that there is no identifiable topic or user preference in which case the email item may be ignored and/or not processed.
  • According to aspects of the disclosed subject matter, the identification of the one or more topics of the currently iterated email item may be made according to a lexical analysis of the email item. The application of heuristics and algorithms, in the course of the lexical analysis, may be made to identify document frequency of terms and phrases, inverse document frequency of terms and phrases, key terms of any subject line, or terms and/or phrases of areas indicating emphasis. The analysis may be, alternatively or additionally, made according to template information, with templates determined according to an originating domain of the email item. In some instances, a template identifies a form or structure of an email, along with context for interpreting the subject matter within key or important fields/areas of the email. Utilizing domain-specific templates may improve the identification of key terms and phrases from other content in an email item. For example, an email item (in an inbox) originating from a known travel service may trigger the use of a template for efficiently looking into the subject matter/content of the email item to identify key terms such as location, dates, etc. The templates, themselves, may be indictors of a topic or theme of the email item. Lexical analyses and domain-specific templates may be used in conjunction with each other to identify topics of an email item. In yet another alternative or additional processing mode, a machine learning model may be used to evaluate the email item to identify one or more topics with corresponding likelihoods of accuracy.
  • Closely related to templates is the utilization of structured data. Structured data includes certain data arrangements (tables, columns, tabbed, etc.), tagged data (e.g., XML and/or HTML tags), quoted content, emphasized content (e.g., bold, underline, strikeout, size, capitalization, etc.), and the like. Often, just as with templates, detecting the source/originator of the structured content can lead to better understanding the structured data. For example, knowing that an email item is a confirmation receipt regarding a purchase from a known seller, information such as the purchased item, the cost of the purchased item, color of the purchased item, and the like may be identified among the structured data. Accordingly, information regarding structured data and data source may be used in identifying one or more topics (and/or user preferences) from an email item. Of course, even understanding that some item has been purchased can lead to a user preference. Indeed and by way of illustrative example, through an analysis of the user's email items, the social networking service can begin to understand what items the user has in his/her closet, understand the user's tastes with regard to fashion, and can correspondingly make decisions on adding content to an existing content collection (or create a new content collection) for the user, as well as updating preferences regarding the user. Indeed, even existing content collections may be rearranged based on learned user preferences from the processed email items, and preferences (positive and/or negative) for various items, topics, etc.
  • In addition to identifying one or more topics, through the various analyses conducted on the currently iterated email item to identify one or more topics, a determination of additional factors or criteria may also be made. These factors and/or criteria include a strength of a given topic to the user as well as a sentiment of the user with regard to the topic. In regard to the strength of the topic to the user, this refers to how strongly this topic relates to or is applicable to the user (irrespective of whether it is a positive or negative evocation of emotion/reaction). With regard to the strength of the topic, an email item may strongly indicate a particular topic (e.g., gardening) but the user may actually dislike gardening. Knowing that a topic does not strongly relate to a user is important in determining whether to automatically generate content for the user in regard to topics of interest. Determinations as to strength may be derived from how much the user seems to be involved with a given topic, the predominance of the topic in the email item, words and phrases that indicate emphasis, emotion, exclamation and the like.
  • While the content/subject matter of the email item is analyzed to identify topics, preferences, and/or sentiments, many email items include references to other content (i.e., hyperlinks, etc.) that may provide key information in processing the email to identify any topics. By way of illustration and not limitation, a currently processed email item may include a link (e.g., a hyperlink, URI, and/or URL) to additional content. A review and analysis of the additional content, in conjunction with the currently iterated email item, may provide context, meaning, and/or additional information that may be critical to understanding topics and sentiments, as well as the user's own strength of relationship to that particular topic. Accordingly, in various embodiments of the disclosed subject matter, references to content external to the email item are explored and analyzed in conjunction with the currently iterated email item to help identify any topic or preference, or user sentiment, of the email item.
  • In a similar manner to external content links, one email item may be part of a thread or chain of email items, or reference another email item of the user that, in conjunction with the currently iterated email item, provide context and information regarding one or more topics, preferences, and sentiments, as well as the strength of these topics, preferences, and sentiments to the user. According to aspects of the disclosed subject matter, simple iteration of email items may be altered such that an email item which belongs to a thread or chain of email items may be analyzed in view of the entire thread or chain of email items. Moreover, email items that are not part of any given thread or chain, but referenced within a currently iterated email item, may also be explored and evaluated in conjunction with the currently iterated email item.
  • In addition to determining a likely relationship strength of an email topic, as suggested above a sentiment value may also be determined. This sentiment value is an estimation of whether the user favors or disfavors the particular topic. In conjunction with the strength of the topic, determinations of whether to auto-generate content for the user in the user's online content space are made. The sentiment value is made according to an analysis of the email item and relevant terms and phrases, the structure of the email item with regard to the relevant terms and phrases (viewed as being positive or negative), the brevity or verbosity of the content, existing user preferences, whether the user originated or received the message, and the like.
  • At block 210, the one or more identified topics, along with any strength or sentiment criteria with regard to the one or more topics, are used to update, or potentially update, the user's preferences as maintained by the social networking service. As suggested above, it may be that a topic of an email item, in view of the strength and sentiment of the topic to the user, should be interpreted as a user preference. In one embodiment, the information regarding the one or more topics is provided to a preference manager (often implemented as an executing machine learning model) that makes determinations about the subject matter to potentially infer new preferences of the user, update existing preferences, or simply record the information as user data as the basis of making further enhancements or revisions to the user's preferences maintained by the social networking service.
  • At block 212, a determination is made as to whether to add system-identified content to a content collection in the user's online content space. This determination is made according to an evaluation based on the identified topic, the strength and sentiment of the user to the topic (as available), as well as user preferences regarding the topic. According to one or more embodiments and by way of illustration and not limitation, scores may be associated with each of the one or more topics, adjusted according to corresponding other criteria (e.g., strength and sentiment), such that each topic of the currently iterated email item is assigned an aggregate score. If the aggregate score for any given topic meets or exceeds a threshold amount, the determination is made to add system-identified content, corresponding to that topic, to the user's online content space.
  • If the determination is made to not add content to the user's online content space, the routine 200 proceeds to block 226, where the routine either selects a next email item to process or terminates the iteration loop. Alternatively, if the determination is to add content to the user's online content space, the routine 200 proceeds to block 214. At block 214, an item of content related to at least one of the one or more topics is identified. At block 216, a determination is made as to whether to add the identified item of content to an existing content collection of the user, or whether to add the identified item of content to a to-be-created content collection. In one embodiment and according to aspects of the disclosed subject matter, this determination may be made according to a topic or theme of existing content collections in view of the topics/themes of the user's content collections such that if there is a match or near-match, the item of content is added to an existing content collection. Additionally, in the event that all or some of the content items of a content collection are visual in nature, e.g., images and/or video, visual processing may be employed to identify similarities and differences between existing content and any newly identified content for addition to the user's content collections. More particularly, visual processing can be used to understand the taste or preference of a particular user. For example and by way of illustration and not limitation, in the event that a user receives one or more email items that include visual images of gray, mid-century modern couches, a visual processing and analysis of such content may lead the system to identify these attributes of those couches (gray, mid-century, etc.) as being of interest to the user, and the basis for identifying other content with similar features, as well as preferences, topics, sentiments, and the like. In contrast, if there is no match or near-match, the identified item of content is added to a new content collection.
  • If the determination is to add the content item to an existing content collection, the routine 200 proceeds to block 222 where an existing content collection is selected according to the one or more topics, user preferences, strength of topic to the user, and sentiment of the user. At block 224, the identified item of content is added to the existing content collection.
  • With regard to FIG. 3B, in this example it is assumed that the determination was to add the system-identified content 316 (a fancy truck) to the existing content collection 310 (relating to fancy cars). In this example, the effort to match may have been considered a “near-match” and, based on one or more user preference's, the determination may have led to an expanded interpretation of the theme of the collection, in this case to suggest that a preference for fancy cars includes fancy pick-up trucks.
  • Alternatively, if the determination is to add a new content collection to the user's online content space 302, at block 218 a new content with a theme/topic is added, such as content collection 330 of FIG. 3C. At block 220, the identified content item (or content items in the event that multiple items have been identified) is added to the newly created content collection for the user. With regard to FIG. 3C, the newly created content collection 330 includes newly added content items 332, 334 and 336, relating to a topic/theme of airplanes throughout history. After posting the new item (or new items) of content to the newly created content collection, the routine 200 proceeds to block 226.
  • In addition to adding to an existing content collection or creating a new content collection, yet another option may be to rearrange one or more content collections based on information learned about the user. For example, in processing the user's email items it may be learned that the user has a particular affinity and preference to German-made vehicles, including both cars and motorcycles. Thus, at block 216, in addition to or as an alternative to creating or adding to a content collection, elements of existing content collections may be re-arranged according to user preferences, as well as including one or more additional items of content for the collection.
  • At block 226, if there are additional email items to process, the routine 200 continues the iteration by returning to block 206 where a next email item is selected as the currently iterated email item. Alternatively, if all of the email items of the email account have been processed, the routine 200 terminates.
  • Regarding the determination to add content items to a content collection (either existing or new content collections), while routine 200 illustrates that this determination is made in conjunction with processing the email items of the email account, in fact this is illustrative of just one embodiment. In an alternative embodiment, the determination to add content items to a content collection of the user may be made after all email items of the email account have been processed. In this manner, the user's preferences may have been fully updated according to the insight and information learned through processing the email items, and the user's preferences may then be leveraged to determine if any items of content should be added to the user's content space, what items of content should be added (assuming it is determined that content items should be add items), and whether to create new content collections or add content to existing content collections.
  • In addition to identifying user preferences from email items, advantageously the system may be further utilized to discover items/articles that the user possesses, items/articles that the user aspires to possess, and items/articles that the user does not wish to possess. One example of this is in discovering what is in the user's wardrobe through email item evaluation. For example and by way of illustration and not limitation, in evaluating an email item it may be determined that at least one topic of the email item is in regard to the purchase of various items, such as blazer, suit, or new pair of shoes. Through analysis of the email item as well as cross-referencing with content that may be known about the various items, the system may be able to identify that the user now owns a camel hair blazer, or pair of high-heeled shoes. This knowledge/information about the user, including information that may be contained in the user's wardrobe, may be used in identifying additional content that may be presented to the user, such as a pair of slacks that would coordinate well with the purchased blazer. Indeed, discovering at least some of the items in the user's wardrobe may lead to presenting the user with information that would complement those items, or in understanding a particular style or preference of the user. As the system determines whether or not to add items of content to a content collection for the user, consideration may be given to what is in the user's wardrobe, what would combine well with those items, and create a content collection that contains both items that the user already possesses as well as items that would coordinate well with those items. The identification of related items may be achieved through visual processing of representative images of items that are known to be in the user's wardrobe. Additionally or alternatively, manually curated collections of wardrobe items may be referenced to identify what is viewed as being complementary with a given item owned/possessed by the user. Vendors may also be consulted for suggestions regarding complimentary, coordinating items. Further still, curated content collections of a large corpus of users that include one or more wardrobe items owned by the user may be consulted to identify what is popular and/or stylish with that corpus of user. Visual processing and/or recognition may be used to automatically distill information from content collections, including a curated content collection of one large bodies of users, regarding complimentary and/or coordinative relationships between items. The result of one or more of these, as well as other analyses, may be used to identify additional content for presentation to the user.
  • While routine 200 may be applied in many circumstances, for illustration purposes one particular application of the routine is in regard to assisting a user with regard to identifying items that correspond to the user's own items, particularly the user's wardrobe. Box 207 of FIG. 4 illustrates a particular section of routine 200 that is applied to this particular scenario. As discussed above in regard to FIG. 2 , at block 208, one or more topics of that email item are identified. As already suggested, at least one of these topics may correspond to an item that the user has purchased, particularly a wardrobe item of the user, such as (for illustration purposes) a pair of slacks. At block 210, the user's preferences are updated according to the one or more topics identified of the currently iterated email item.
  • While not shown in FIG. 2 , in this further detailed description, at block 211 a determination is made as to whether an identified topic corresponds to a purchased item of the user, e.g., the exemplary pair of slacks mentioned above. At block 212, the determination is made as to whether to add system-identified content to a content collection in the user's online content space, or to create a new content collection for the user. After making the determination, at block 214′, an item of content related to at least one of the one or more topics is identified. In this example, the identified item of content is one that coordinates with and/or is complimentary to the identified item (e.g., the user's pair of slacks).
  • At block 216 and based on the determination of block 212, a content collection is created or identified for additions. In both cases, as shown in blocks 220 and 224′, the identified item of content is added (e.g., an image of the identified item) along with the purchased item of content.
  • While this particular application of the elements (as illustrated in block 207) from routine 200 is directed to presenting the user with the purchased wardrobe item and a complimentary/coordinating item that the user may wish also to purchase or simply see as a potential complimentary/coordinating item, the exemplary routine 200 may be applied to other scenarios for providing the user with useful, new information. These scenarios include, by way of illustration and not limitation, presenting the user with items in which he has indicated is a hobby, has a professional interest, or has a social or religious interest, and the like.
  • In regard to routine 200 described above, as well as other routines and/or processes described or suggested throughout this document, while these routines and/or processes are expressed in regard to discrete steps, these steps should be viewed as being logical in nature and may or may not correspond to any specific, actual and/or discrete execution steps of a given implementation. Also, as already indicated above, the order in which these steps are presented in the various routines and processes, unless otherwise indicated, should not be construed as the only order that they can be executed, or even the best order in which the steps may be carried out. Moreover, in some instances, some of these steps may be combined and/or omitted. Those skilled in the art will recognize that the logical presentation of steps is sufficiently instructive to carry out aspects of the claimed subject matter irrespective of any particular development or coding language in which the logical instructions/steps are encoded.
  • Of course, while the described routines and/or processes include various novel features of the disclosed subject matter, other steps or processing features may also be included and carried out in the execution of the subject matter set forth in these routines. Those skilled in the art will appreciate that the logical steps of these routines may be combined together or be comprised of multiple steps. Steps of the above-described routines may be carried out in parallel or in series. Often, but not exclusively, the functionality of the various routines is embodied in software (e.g., applications, system services, libraries, and the like) that is executed on one or more processors of computing devices or computing systems, such as the computing system described in regard to FIG. 6 below. Additionally, in various embodiments all or some of the various routines and/or processes may also be embodied in executable hardware modules including, but not limited to, systems on chips (SoC's), codecs, specially designed processors and or logic circuits, and the like.
  • As suggested above, these routines and/or processes are typically embodied within executable code blocks and/or modules comprising routines, functions, looping structures, selectors and switches, such as if-then and if-then-else statements, assignments, arithmetic computations, and the like. In execution, the execution of the various elements configures a computing device or system to operate in accordance with the routines/processes disclosed herein. However, the exact implementation in executable statements of each of the routines is based on various implementation configurations and decisions, including programming languages, compilers, target processors, operating environments, and the linking or binding operation. Those skilled in the art will readily appreciate that the logical steps identified in these routines may be implemented in any number of ways and that the logical descriptions set forth above are sufficiently enabling to achieve similar results.
  • While many novel aspects of the disclosed subject matter are expressed in routines or processes embodied within applications (also referred to as computer programs), apps (small, generally single or narrow purposed applications), services and/or methods, these aspects may also be embodied as computer executable instructions stored by computer-readable media, also referred to as computer-readable storage media, which are articles of manufacture. As those skilled in the art will recognize, computer-readable media can host, store and/or reproduce computer-executable instructions and data for later retrieval and/or execution. When the computer-executable instructions that are hosted or stored on the computer-readable storage devices are executed by a processor of a computing device or system, the execution thereof causes, configures and/or adapts the executing computing device to carry out various steps, methods and/or functionality, including those steps, methods, and routines described above in regard to the various illustrated routines and/or processes. Examples of computer-readable media include, but are not limited to: optical storage media such as Blu-ray discs, digital video discs (DVDs), compact discs (CDs), optical disc cartridges, and the like; magnetic storage media including hard disk drives, floppy disks, magnetic tape, and the like; memory storage devices such as random-access memory (RAM), read-only memory (ROM), memory cards, thumb drives, and the like; cloud storage (i.e., an online storage service); and the like. While computer-readable media may reproduce and/or cause to deliver the computer-executable instructions and data to a computing device or computing system for execution by one or more processors via various transmission means and mediums, including carrier waves and/or propagated signals, for purposes of this disclosure computer-readable media expressly excludes carrier waves and/or propagated signals.
  • Regarding computer-readable media, FIG. 5 is a block diagram illustrating an exemplary computer-readable medium encoded with instructions for generating content in a user's online content space, as described in regard to routine 200 of FIG. 2 . More particularly, the implementation 500 comprises a computer-readable medium 508 (e.g., a CD-R, DVD-R or a platter of a hard disk drive), on which is encoded computer-readable data 506. This computer-readable data 506 in turn comprises a set of computer instructions 504 configured to operate according to one or more of the principles set forth herein. In one such embodiment 502, the processor-executable instructions 404 may be configured to perform a method, such as at least some of exemplary routine 200, for example. In another such embodiment, the processor-executable instructions 504 may be configured to implement a system on a computing device, such as at least some of the exemplary, executable components of computing system 500 of FIG. 5 , as described below. Many such computer-readable media may be devised, by those of ordinary skill in the art, which are configured to operate in accordance with the techniques presented herein.
  • Turning to FIG. 6 , FIG. 6 is a block diagram illustrating an exemplary computing system 600 suitable for implementing aspects of the disclosed subject matter, particularly in regard to a social networking service 112 auto-generating content in a user's online content space according to information from examining the user's email account. The computing system 600 typically includes one or more processors (or processing units), such as processor 602, and further includes at least one memory 604. The processor 602 and memory 604, as well as other components of the computing system, are interconnected by way of a system bus 610.
  • As will be appreciated by those skilled in the art, the processor 602 executes instructions retrieved from the memory 604, from computer-readable media, such as computer-readable media 500 of FIG. 5 , and/or other executable components in carrying out the various functions of a social networking service 112 particularly configured to auto-generate content in a user's online content space. The processor 602 may be comprised of any of a number of available processors such as single-processor, multi-processor, single-core units, and multi-core units, which are well known in the art.
  • As will be further appreciated by those skilled in the art, the memory 604 typically (but not always) comprises both volatile memory 606 and non-volatile memory 608. Volatile memory 606 retains or stores information so long as the memory is supplied with power. In contrast, non-volatile memory 508 is capable of storing (or persisting) information even when a power supply is not available. Generally speaking, RAM and CPU cache memory are examples of volatile memory 606 whereas ROM, solid-state memory devices, memory storage devices, and/or memory cards are examples of non-volatile memory 608.
  • Further still, the illustrated computing system 600 typically also includes a network communication interface 612 for interconnecting this computing system with other devices, computers and/or services over a computer network, such as network 108 of FIG. 1 . The network communication interface 612, sometimes referred to as a network interface card or NIC, communicates over a network using one or more communication protocols via a physical/tangible (e.g., wired, optical fiber, etc.) connection, a wireless connection such as WiFi or Bluetooth communication protocols, NFC, or a combination thereof. As will be readily appreciated by those skilled in the art, a network communication interface, such as network communication component 612, is typically comprised of hardware and/or firmware components (and may also include or comprise executable software components) that transmit and receive digital and/or analog signals over a transmission medium (i.e., the network.)
  • The exemplary computing system 600 includes one or more components that, in execution on the computing system, provide an online social networking service, such as social networking service 112 of FIG. 1 . These one or more components, as outlined by box 518, include but are not limited to, an email analysis component 620, a preference manager component 622, and a content generator 624.
  • Upon obtaining permission to access an email account of a user/subscriber of the social networking service and account information, and in execution on the computing system 600, the email analysis component 620 accesses and processes the email items of the user's email account. As described above in regard to blocks 206 and 208 of FIG. 2 , the email analysis component 620 iterates through the items of the email account and, for each of the items, conducts an analysis of the email item to identify one or more topics of the email item. In addition to identifying the one or more topics, additional email item information may be also determined, including an indication of the strength of each of the one or more topics to the user, and an indication of sentiment (e.g., a positive sentiment, a negative sentiment, or a neutral sentiment) of the user in regard to the particular topic.
  • Based on the information from the email analysis component 620, the social networking service 112 updates (or potentially updates) that user's preferences by way of a preference manager 622. According to aspects of the disclosed subject matter, the user's preferences may be updated based on the frequency in which a particular topic is referenced by the user, including the number of email items that touch on the subject. Additionally, a user's preferences may be updated, modified or expanded based on previously established user preferences, the preferences of other users, user behaviors, and the like. According to aspects of the disclosed subject matter, the preference manager 622 may utilize a machine learning model that, based on the input gained from the analysis of the various email items, determines a likelihood of a variety of preference modifications or additions for the user and, for those likelihoods that meet or exceed a predetermined threshold, updates or adds to the user's preferences.
  • A content generator 624, in execution, is used to determine whether to add content to a content collection in the user's online content space based on the information obtained from the email items by the email analysis component 620 and preferences maintained (or updated) by the preference manager 622. As described above in regard to blocks 212-224, the content generator 624 makes a determination as to whether to add content to a content collection in the user's content space (as maintained in a user content store 626), identifies an item content from a content store 626, as well as determines whether to add the item of content to an existing content collection or to create a new content collection for the user.
  • Regarding these various components of the illustrated computing system 600, those skilled in the art will appreciate that many of these components may be implemented as executable software modules stored in the memory of the computing device, as executable hardware modules and/or components (including SoCs—systems on a chip), or a combination thereof. Indeed, components may be implemented according to various executable embodiments including executable software modules that carry out one or more logical elements of the processes described in this document, or as hardware and/or firmware components that include executable logic to carry out the one or more logical elements of the processes described in this document. Examples of these executable hardware components include, by way of illustration and not limitation, ROM (read-only memory) devices, programmable logic array (PLA) devices, PROM (programmable read-only memory) devices, EPROM (erasable PROM) devices, and the like, each of which may be encoded with instructions and/or logic which, in execution, carry out the functions and features described herein.
  • While various novel aspects of the disclosed subject matter have been described, it should be appreciated that these aspects are exemplary and should not be construed as limiting. Variations and alterations to the various aspects may be made without departing from the scope of the disclosed subject matter.

Claims (20)

What is claimed:
1. A computing system, comprising:
one or more processors; and
a memory storing program instructions that, when executed by the one or more processors, cause the one or more processors to at least:
obtain user authorization for accessing a plurality of items associated with a user of a social networking service;
access, via a plurality of calls to an application programming interface (API), the plurality of items, wherein the API provides information associated with the plurality of items over a computer network to the social networking service in response to the plurality of calls to the API without providing the plurality of items to the social networking service;
process the information associated with the plurality of items to:
determine a topic of a first item of the plurality of items;
determine, using a user preference manager and based at least in part on the topic, a new user preference or a user preference update, wherein the user preference manager includes a trained machine learning model trained to determine at least one of user preferences or updates to user preferences based at least in part on input data that includes user information; and
determine, based at least in part on the topic and the new user preference or the user preference update, a content item in connection with the user.
2. The computing system of claim 1, wherein the program instructions, when executed by the one or more processors, further cause the one or more processors to:
determine a strength value associated with the topic;
determine a sentiment value associated with the topic;
determine, based at least in part on the strength value and the sentiment value, a topic score;
determine that the topic score exceeds a first threshold value; and
determine, in response to the determination that the topic score exceeds the first threshold value, that the content item is to be added to a content space associated with the user.
3. The computing system of claim 2, wherein the program instructions, when executed by the one or more processors, further cause the one or more processors to:
determine a similarity between the content item and a first content collection of the content space associated with the user, wherein the similarity is determined based on at least one of:
a first comparison of the topic with a collection topic associated with the first content collection; or
a second comparison of the content item with a plurality of content items associated with the first content collection;
determine that the similarity exceeds a second threshold value; and
in response to the determination that the similarity exceeds the second threshold value, add the content item to the first content collection of the content space associated with the user.
4. The computing system of claim 2, wherein the program instructions, when executed by the one or more processors, further cause the one or more processors to:
determine a similarity between the content item and a first content collection of the content space associated with the user, wherein the similarity is determined based on at least one of:
a first comparison of the topic with a collection topic associated with the first content collection; or
a second comparison of the content item with a plurality of content items associated with the first content collection;
determine that the similarity does not exceed a second threshold value; and
in response to the determination that the similarity does not exceed the second threshold value:
create a second content collection in the content space associated with the user; and
add the content item to the second content collection of the content space associated with the user.
5. The computing system of claim 1, wherein the plurality of items includes at least one of:
an email message;
a task item;
a calendar item;
a note item;
a short messenger service message (SMS) item; or
a multimedia message service (MMS) message item.
6. A computing-implemented method, comprising:
obtaining user authorization for accessing a plurality of messages associated with a user of a social networking service;
accessing, via a call to an application programming interface (API), a first message of the plurality of messages, wherein the API provides information associated with the first message over a computer network to the social networking service in response to the call to the API without providing the first message to the social networking service;
determining a topic of the first message;
determining, using a user preference engine and based at least in part on the topic, a new user preference of the user or a user preference update of the user; and
determining, based at least in part on the topic and the new user preference or the user preference update, a content item in connection with the user.
7. The computer implemented method of claim 6, wherein determining the topic of the first message includes at least one of:
performing a lexical analysis of the first message to identify key terms of the first message to determine the topic of the first message; or
processing, using a trained machine learning model trained to identify one or more message topics based at least in part on input data that includes a message, the first message to determine the topic of the first message.
8. The computer-implemented method of claim 6, wherein determining the topic of the first message includes:
determining at least one of a template or a data structure associated with data included in the first message; and
performing an analysis of the data included in the first message based at least in part on the template or the data structure to determine the topic of the first message.
9. The computer-implemented method of claim 6, wherein determining the topic of the first message includes:
identifying, in the first message, a reference to additional content;
processing the additional content to determine the topic of the first message.
10. The computer-implemented method of claim 9, wherein the additional content includes at least one of:
a uniform resource indicator;
a uniform resource locator;
a message thread associated with the first message; or
a second message of the plurality of messages.
11. The computer-implemented method of claim 6, further comprising:
determining a strength value associated with the topic;
determining a sentiment value associated with the topic;
determining, based at least in part on the strength value and the sentiment value, a topic score;
determining that the topic score exceeds a first threshold value; and
determining, in response to the determination that the topic score exceeds the first threshold value, that the content item is to be added to a content space associated with the user.
12. The computer-implemented method of claim 11, further comprising:
determining, a similarity between the content item and a first content collection of the content space associated with the user, wherein the similarity is determined based on at least one of:
a first comparison of the topic with a collection topic associated with the first content collection; or
a second comparison of the content item with a plurality of content items associated with the first content collection;
determining that the similarity exceeds a second threshold value; and
in response to the determination that the similarity exceeds the second threshold value, adding the content item to the first content collection of the content space associated with the user.
13. The computer-implemented method of claim 11, further comprising:
determining, a similarity between the content item and a first content collection of the content space associated with the user, wherein the similarity is determined based on at least one of:
a first comparison of the topic with a collection topic associated with the first content collection; or
a second comparison of the content item with a plurality of content items associated with the first content collection;
determining that the similarity does not exceed a second threshold value; and
in response to the determination that the similarity does not exceed the second threshold value:
creating a second content collection to the content space associated with the user; and
adding the content item to the second content collection of the content space associated with the user.
14. The computer-implemented method of claim 6, wherein:
determining the topic of the first message includes identifying an item purchased by the user; and
determining the content item includes determining that the content item is complementary to the item purchased by the user.
15. The computer-implemented method of claim 14, wherein:
determining the topic of the first message includes identifying a plurality of items purchased by the user;
determining the content item includes determining a plurality of content items that are complementary to the plurality of items purchased by the user; and
the method further comprises:
creating a new content collection including the plurality of items purchased by the user and the plurality of content items.
16. A computing system, comprising:
one or more processors; and
a memory storing program instructions that, when executed by the one or more processors, cause the one or more processors to at least:
obtain user authorization for accessing a plurality of messages associated with a user of a social networking service;
access, via a plurality of calls to an application programming interface (API), the plurality of messages, wherein the API provides information associated with the plurality of messages over a computer network to the social networking service in response to the plurality of calls to the API without providing the plurality of messages to the social networking service;
process the information associated with the plurality of messages to:
determine a topic of a first message of the plurality of messages; and
determine, using a user preference manager and based at least in part on the topic, a new user preference or a user preference update, wherein the user preference manager includes a trained machine learning model trained to determine at least one of user preferences or updates to user preferences based at least in part on input data that includes user information.
17. The computing system of claim 16, wherein the program instructions, when executed by the one or more processors, further cause the one or more processors to:
determine, based at least in part on at least one of the topic, the new user preference, or the user preference update, a content item to be added to a content space associated with the user.
18. The computing system of claim 17, wherein the program instructions, when executed by the one or more processors, further cause the one or more processors to:
based at least in part on a comparison of a plurality of content collections of the content space associated with the user to at least one of the topic or the content item, at least one of:
add the content item to a first content collection of the plurality of content collections; or
create a new content collection in the content space associated with the user and add the content item to a new content collection.
19. The computing system of claim 16, wherein determination of the topic of the first message includes:
determining at least one of a template or a data structure associated with data included in the first message; and
performing an analysis of the data included in the first message based at least in part on the template or the data structure to determine the topic of the first message.
20. The computing system of claim 16, wherein determination of the topic of the first message includes:
determining a strength value associated with the topic; and
determining a sentiment value associated with the topic.
US18/163,700 2017-12-07 2023-02-02 Generating personalized content Pending US20230186407A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US18/163,700 US20230186407A1 (en) 2017-12-07 2023-02-02 Generating personalized content

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/835,158 US11574371B1 (en) 2017-12-07 2017-12-07 Generating personalized content
US18/163,700 US20230186407A1 (en) 2017-12-07 2023-02-02 Generating personalized content

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US15/835,158 Continuation US11574371B1 (en) 2017-12-07 2017-12-07 Generating personalized content

Publications (1)

Publication Number Publication Date
US20230186407A1 true US20230186407A1 (en) 2023-06-15

Family

ID=85156679

Family Applications (2)

Application Number Title Priority Date Filing Date
US15/835,158 Active 2038-07-10 US11574371B1 (en) 2017-12-07 2017-12-07 Generating personalized content
US18/163,700 Pending US20230186407A1 (en) 2017-12-07 2023-02-02 Generating personalized content

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US15/835,158 Active 2038-07-10 US11574371B1 (en) 2017-12-07 2017-12-07 Generating personalized content

Country Status (1)

Country Link
US (2) US11574371B1 (en)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6317722B1 (en) * 1998-09-18 2001-11-13 Amazon.Com, Inc. Use of electronic shopping carts to generate personal recommendations
US8239460B2 (en) * 2007-06-29 2012-08-07 Microsoft Corporation Content-based tagging of RSS feeds and E-mail
US9836722B2 (en) * 2007-09-25 2017-12-05 Excalibur Ip, Llc Mail monetization—revenue sharing model
US7860885B2 (en) * 2007-12-05 2010-12-28 Palo Alto Research Center Incorporated Inbound content filtering via automated inference detection
US8645430B2 (en) * 2008-10-20 2014-02-04 Cisco Technology, Inc. Self-adjusting email subject and email subject history
US8996530B2 (en) * 2012-04-27 2015-03-31 Yahoo! Inc. User modeling for personalized generalized content recommendations
US20190028509A1 (en) * 2017-07-20 2019-01-24 Barracuda Networks, Inc. System and method for ai-based real-time communication fraud detection and prevention

Also Published As

Publication number Publication date
US11574371B1 (en) 2023-02-07

Similar Documents

Publication Publication Date Title
US11303590B2 (en) Suggested responses based on message stickers
JP6480993B2 (en) Assessing claims in social networking systems
KR101667220B1 (en) Methods and systems for generation of flexible sentences in a social networking system
US10937060B2 (en) Intelligent location based notification
CN105247566B (en) Method, apparatus, and medium for selectively disclosing information based on context
TWI494881B (en) Adaptive audiences for accessibility and privacy control setting claims in a social networking system
US20190205328A1 (en) Process to provide audio/video/literature files and/or events/activities, based upon an emoji or icon associated to a personal feeling
US9064212B2 (en) Automatic event categorization for event ticket network systems
KR20170129932A (en) Technologies for social messaging and customization
US10970471B2 (en) Phased collaborative editing
US10410304B2 (en) Provisioning in digital asset management
US20090299932A1 (en) System and method for providing a virtual persona
US20190057297A1 (en) Leveraging knowledge base of groups in mining organizational data
US10171472B2 (en) Role-specific service customization
US20170097827A1 (en) Role-specific device behavior
US9092784B2 (en) Contacts affinity used to prioritize display of content item reviews in online store
US20200210475A1 (en) Audio and visual asset matching platform
US20230177621A1 (en) Generation and delivery of interest-based communications
US20230186407A1 (en) Generating personalized content
Trček Trust and reputation management systems: An e-business perspective
US20200380561A1 (en) Prompting item interactions
CN107111633A (en) The deduction of save location based on background
US20170308949A1 (en) Emphasizing communication based on past interaction related to promoted items
US20210319386A1 (en) Determination of same-group connectivity
US11538071B1 (en) Optimizing lead generation in an online system environment

Legal Events

Date Code Title Description
AS Assignment

Owner name: PINTEREST, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:HOSSEINI, FARID;SHAH, SALIL;SIGNING DATES FROM 20180102 TO 20180110;REEL/FRAME:062577/0963

STPP Information on status: patent application and granting procedure in general

Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION

STPP Information on status: patent application and granting procedure in general

Free format text: NON FINAL ACTION MAILED

STPP Information on status: patent application and granting procedure in general

Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER

STPP Information on status: patent application and granting procedure in general

Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS