WO2016053130A1 - Method for rendering relevant context-based information - Google Patents

Method for rendering relevant context-based information Download PDF

Info

Publication number
WO2016053130A1
WO2016053130A1 PCT/RU2014/000737 RU2014000737W WO2016053130A1 WO 2016053130 A1 WO2016053130 A1 WO 2016053130A1 RU 2014000737 W RU2014000737 W RU 2014000737W WO 2016053130 A1 WO2016053130 A1 WO 2016053130A1
Authority
WO
WIPO (PCT)
Prior art keywords
content
computing device
user
device user
server
Prior art date
Application number
PCT/RU2014/000737
Other languages
French (fr)
Inventor
Maxim Viktorovich TSYPLIAEV
Nikita Alekseevich VINOKUROV
Original Assignee
Obschestvo S Ogranichennoy Otvetstvennostyu "Slickjump"
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 Obschestvo S Ogranichennoy Otvetstvennostyu "Slickjump" filed Critical Obschestvo S Ogranichennoy Otvetstvennostyu "Slickjump"
Publication of WO2016053130A1 publication Critical patent/WO2016053130A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25866Management of end-user data
    • H04N21/25891Management of end-user data being end-user preferences
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/14Details of searching files based on file metadata
    • G06F16/144Query formulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/14Details of searching files based on file metadata
    • G06F16/148File search processing
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2407Monitoring of transmitted content, e.g. distribution time, number of downloads
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25866Management of end-user data
    • H04N21/25883Management of end-user data being end-user demographical data, e.g. age, family status or address
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • H04N21/4312Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
    • H04N21/4316Generation of visual interfaces for content selection or interaction; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations for displaying supplemental content in a region of the screen, e.g. an advertisement in a separate window

Definitions

  • the present invention is related to computer and mobile devices, and more particularly, to rendering relevant data and advertisements on computer devices based on a context and a relevant portion of a content selected by a user.
  • Mobile device users typically run special thin applications instead of heavy-footprint conventional browsers that take up a lot of system resources. Thus, mobile users do not use conventional searches nearly as often as PC users. Accordingly, the most popular means of monetization on computer devices are relevant information blocks (such as advertisement, banners, advertisement blocks, links to web pages, text messages, web pages, etc.) and applications integrated into web resources.
  • relevant information blocks such as advertisement, banners, advertisement blocks, links to web pages, text messages, web pages, etc.
  • the relevant information blocks are small ads that take up portions of a mobile device screen, which is typically quite small. Because the relevant information blocks are also very small, they contain very basic advertisement data (i.e., a short text). These basic ads mostly irritate the users and do not attract attention or spark user interest.
  • the most commonly used method for mobile advertising is using the ads, along with free carrier applications that carry ads - i.e., the ads are essentially forced upon users, who download a free application or a game. These ads do generate some small profits due to growth of the mobile device market, but in general are also ineffective.
  • a method and system for displaying context-based ads/information to mobile device users is provided.
  • the ads used on the small screen do not require any additional "shelf space," because they are displayed within the existing GUI controls of the mobile device screen or in a separate Ul overlay panel.
  • a system can display one or more relevant information blocks linked to a particular context portion of the displayed data for any textual or graphic data displayed to the user.
  • the relevant information blocks can be displayed based on targeting parameters, such as user geo location, user internet browsing history, media site statistics, web site portion content, page metadata, user's open social profile data (age, gender, position, interests, friendship), tags associated with the current user provided by third-party services (DMP, DSP), etc.
  • a list of relevant information blocks is generated automatically based on either web page content or based on a selected portion of the text and its content.
  • a web page text is preliminary scanned and an API call with the pre-set parameters is added for each element of the content structure (i.e. a paragraph, a sentence, an embedded image or a video block).
  • the API functions analyze a given portion of the content and activates control elements which, in turn, can initiate display of a relevant information block(s).
  • the exemplary embodiment advantageously, uses a narrow content's context explicitly selected by the user.
  • the relevant information block is displayed based on user interests indicated by a portion of the content - i.e., a text, a paragraph, a word, an image or a portion of an image, a video, a hyperlink and its content and context.
  • a relevant surrounding area of a portion of the content selected by the user is referred to as a context.
  • the selected content can be a word or a combination of words (an expression), an area of an image or a video block and the context can include a sentence, paragraph or the entire text (in case of a small text), geometrically close images or video blocks.
  • FIG. 1 illustrates displaying of relevant information blocks on computer device, in accordance with the exemplary embodiment
  • FIG. 2 illustrates a system architecture, in accordance with the exemplary embodiment
  • FIG. 3 illustrates a flow chart of a method for precise ad selection, in accordance with the exemplary embodiment
  • FIG. 4 illustrates a flow chart of a method for precise selection of the advertisements, in accordance with the exemplary embodiment
  • FIGs. 5, 6, 7, 8 illustrates displaying ads and organic results on the computer device screen
  • FIG. 9 illustrates processing the content on a computer device using a list of actions for predefined user requests
  • FIG. 10 illustrates a flow chart of a method for precise selection of advertisements, in accordance with the exemplary embodiment
  • FIG. 11 illustrates computer device screens, in accordance with the exemplary embodiment
  • FIG. 12 illustrates precise selection of advertisements and graphical presentation of targeted ads to the user
  • FIGs. 13, 14 illustrates flow charts for a PageToCD algorithms
  • a method and system for displaying context-based additional information blocks or ads to mobile/computer device users is provided.
  • the ads used on the small screen do not require any additional "shelf space," because they are displayed within the existing GUI controls or overlay GUI panel of the computer device screen.
  • the device library has pre-defined templates that are rendered to the users.
  • a system can display one or more relevant information block related to a particular context and fuzzy selected elements of the displayed data for any textual or graphic data displayed to the user as shown in FIG. 1.
  • the relevant information blocks can be displayed based on user geo location, user Internet browsing history, media site statistics, web site portion content, page metadata, user's open social profile data (i.e., age, gender, position, interests, friendship), tags associated with the current user provided by third-party services (DMP, DSP), etc.
  • relevant information block can be in a form of additional information in different formats, which can be relevant to a user.
  • image relevant information blocks can be text blocks, (such as ads, ad banners, advertisement relevant information blocks, links to web pages), media data, web pages, etc.
  • the relevant information blocks are referred to as ads.
  • any relevant information can be rendered to a user.
  • a list of relevant information blocks is generated automatically based on either web page content or a selected portion of the content (text, image, portion of the text, part of image, media and etc.) and its context. Additionally any combination of targeting parameters can be taken into account for generation of relevant information blocks.
  • a web page context is scanned and an API function calculates content attributes with pre-set parameters that are added for each element of the content structure. Note that the content attributes can be pre-calculated.
  • the API function makes explicit (or implicit) associations of elements with their attributes. The API analyses a given portion of the text and activates control elements that initiate a switch to a relevant information block-(s).
  • the exemplary embodiment advantageously, uses a narrow content's context explicitly selected by the user.
  • the relevant information blocks are displayed based on user interests indicated by a portion of the text or part of content (or a hyperlink and its content) and targeting parameters.
  • a relevant surrounding area of a portion of the text selected by the user is referred to as a context.
  • the selected content can be a word or a combination of words (an expression) and the context can include a sentence, paragraph or the entire text (in case of a small text).
  • the users can notify the system about their interest in a particular part of the content using, for example, an infrared camera, an infrared sensor or a video camera, where the sensor register (Kinect-type integrated or external device) replaces a physical "touch screen" and recognizes user gestures and associates them with the context in the display.
  • the text can be selected by a mouse.
  • the user can select a portion of the context (i.e., a portion of a text or an image) and use a right click on the selected context and select "display of relevant data block" from a menu.
  • the mouse moves and clicks can be implemented using keyboards.
  • a special button of the key board can be used for rendering relevant data blocks.
  • the users can use a microphone - e.g., Siri-like model (i.e., a sensor with background voice-recognition module, which can be integrated, external or server-based).
  • Siri-like model i.e., a sensor with background voice-recognition module, which can be integrated, external or server-based.
  • the user indicates a portion of the context and his desire by a voice comment, a kinesthetic detector (i.e., a user uses a joystick), a mouse or wearable sensors (i.e., special gloves), a detector of eye movement (a user can use a device such as Google-glasses or a special camera) that can recognize the portion of the context the user is looking at by the position of the user eyes and the command (e.g., a double-blink) to "activate" this solution.
  • a kinesthetic detector i.e., a user uses a joystick
  • a mouse or wearable sensors i.e., special gloves
  • a detector of eye movement a user can use a device such as Google-glasses or a special camera
  • the command e.g., a double-blink
  • the expression can contain a term, a named entity, or a phrase, which, when augmented with an entire page/paragraph topic, can be used for a narrowed selection.
  • An additional advantage of such an explicit “activation” is that it determines a user who is in "exploration,” “curiosity” or “demand” state. Unlike the hyperlinks, any text portion is clickable (i.e., selectable).
  • the click, touch, eye, kinetic or other action performed on the element of the page leads to a list of relevant information blocks (pages, links to pages, links to page elements) that fit the content, the context, the particular selection and the user profile and targeting parameters. Thus, the user is shown the most relevant information block.
  • some elements can be excluded from a preview or they can be replaced by generic images (or icons).
  • Use of icons instead of some less relevant page elements reduces network traffic and load on mobile device. It also improves a speed of rendering the web pages. Almost any activatable (clickable, touch-able, etc.) text, takes into the account a nearby context, and leads not to one page, but to a list of relevant information blocks/pages, suitable for the content, context, particular selection and user profile.
  • an on-demand content-based dynamic advertising is implemented.
  • Any type of a content e.g., video, audio, text, etc.
  • a direct correlation between the content and some desires invoked by the content exists. According to the exemplary embodiment, this correlation is used for targeted advertising.
  • Any portion of the content (and the corresponding context) that creates certain desires and associations can be used for targeting an ad (relevant information blocks) to a user.
  • the main problem is that the elements in the chain Text -> Desire -> Satisfaction described in terms of word- vectors are not close to each other geometrically. It means that the page or the product descriptions that satisfy a particular desire may not contain words of the original Text and never name or explicitly refer to the desire itself. Thus, some analysis of Text-Desire-Satisfaction associations is needed. Excluding obvious cases, associations between the Text and Satisfaction can be made statistically based on user transactions.
  • an advertisement when an advertisement is relevant in terms of user desires and expectations, it is no longer viewed as an advertisement by the user. Instead, the user accepts the targeted advertisement as useful information.
  • a user is given an opportunity to explicitly indicate a portion of the content (e.g., a paragraph within the text or a name of a product) which sparks some interest (or desire).
  • a set of user goals/wishes (elements of content which denote potential user interest) is implemented as a set of attributes of content element (attributes of information block) that is auto-generated for this content. The system determines the most appropriate attributes of content element for a particular user.
  • the attributes of the content element describes possible user intents with respect to topics disclosed in the content and/or related topics.
  • the attributes of content element can be implemented in a form of a ranked list of keywords, bigrams, topic descriptors, etc. extracted from the context and expanded with synonym and statistically related descriptors.
  • the descriptors are simple text labels that extend a set of known words. For example, the process can be described as following:
  • the list goes to the categorization.
  • category detection labeling
  • the list is extended based on category vocabularies with the following labels:
  • an algorithm can detect (from statistics) that a search with keyword "svd" on a computer-science topic is not transactionable (i.e., does not lead to buying or registration, or anything commercially meaningful). Thus, possible demands associated with these categories (and the context) are limited to "Learn more.” So a new label is added to the context descriptors:
  • the entire content is analyzed.
  • the attributes of the content element reflecting this portion is generated and used for targeting the user with the appropriate advertisement.
  • the system recognizes parts of the sentences, parts of speech, meaning of the words, etc., using NLP (Natural Language Processing) techniques or semantic analysis of the content and its context.
  • NLP Natural Language Processing
  • the delays can affect usability of the system.
  • the attributes of the content element of the content can be pre-generated and cached, and hashed for subsequent use.
  • a user is shown highly relevant ads on-demand, where the ads are provided in response to a direct request from a customer (as opposed to a compulsory mode) and the ads are presented as useful recommendations, rather than as direct ads. These ads are more effective than randomly displayed static ads or blinking relevant information blocks.
  • the user points to a particular portion of the content and explicitly indicates what he wants to see.
  • NLP technology provides for automated analysis of portions of the text selected by a user and for determining the content of the text.
  • the NLP also detects main objects such as an association, a person, a geographical object, amount/volume, money/currency, percentage, company data, etc.
  • the list of objects can be extended by attributes of the content element and targeting data (e.g., time, geo location data, personal preferences, user associations, social network registrations and memberships, gender, language, etc.).
  • the NPL helps the user when the user has difficulties with remembering and typing a search text or with selecting, copying and pasting the desired text, or with selecting the text and starting the search.
  • the system uses the NLP and "guesses" the parts of the text that can be of interest to the user based on an approximate location within the text.
  • NER algorithms Named Entities Recognition
  • POS part of speech
  • the unusual words i.e., the words that spark the user interest in a particular portion of the content
  • the unusual words can be grouped by user interests.
  • the unusual words are used as "zest" - points of interests that the system can suggest to the user.
  • content and associated attributes of the content element can be used instead of a search request based on the explicit user selection.
  • the attributes of the content element is a set of formalized properties derived from a meaning of the content.
  • the attributes of the content element (metadata) are presented in a form of a machine readable language which includes key words, bigrams, n-grams, detected named entities, expected categories, as well as user-defined categories and tags based on frequency distributions. In other words, all possible data that can be used for determining a relevancy of the advertising is employed.
  • a two component-based targeting (or two-level representation of the request) of advertising is used.
  • the advertisement is targeted to a user based on a combination of the contextual attributes of the content element and selection or explicit indication of words.
  • on-demand targeted ads are advantageous for computer devices having a small screen size.
  • the constantly hanging relevant information blocks (ads) take up screen space and require modification of the original content.
  • the context i.e., an object, such as a sentence or a portion of a sentence, a portion of an image, a paragraph of an article, a video fragment, an image, a 3D model, etc.
  • non-relevant ads are eliminated entirely.
  • the ads are displayed on-demand, instead of the relevant information blocks that take up the screen space.
  • the ads are displayed according to a portion of the content explicitly selected by a user.
  • the ads display only relevant information based on the portion of the content as opposed to some generic ads based on the entire content.
  • the ads can be generated and displayed. For example, hotel - booking, reviews; restaurant - menu, reserving a table; product - purchase, reviews, etc.
  • a list of key objects and their categories are auto-generated using Natural Language Processing technology.
  • the system uses pre-defined association model, which defines a list of possible actions for each type of objects.
  • the association model evolves based on a user feedback (i.e., user actions).
  • the association model can be adjusted based on collected statistics and a market research.
  • the ad rendering process is performed in two steps.
  • the system specifies the user wishes.
  • the ad is generated based on the data from the first step and rendered to the user.
  • the user is given a list (words and pictograms) of possible goals. The user is asked what is of the most interest to him at the moment. Then, the user selects one or more goals. This data is used in the second step, and the ads relevant to the selected user goals are rendered to the user.
  • an entire computer device screen (or its portion) can be transformed into one active hyperlink instead of a large number of hyperlinks (most of which are not used).
  • This allows for avoiding constantly displayed ads and relevant information blocks that occupy a small screen of a computer device.
  • a user can see an unlimited number of ads, because the relevant information blocks are shown upon request and do not occupy the screen space for a long time.
  • any textual content can be used for targeted advertisements.
  • the system can render to the users several relevant information blocks based on an associated context.
  • a screen interface of the exemplary embodiment can use controls (panels, edit boxes, buttons, check boxes, etc.) for additional operations.
  • the user can re-define a request by using a list of options. For example, the system can provide a button "I am disappointed” or “Not what I am looking for,” which means that the customer is not happy with the ad offered.
  • the system can provide a way to select the ad which is close (or closest) to the customer's need, but does not quite satisfy him. This provides an option for a customer to evaluate the ads directly in-site with the help of buttons "like,” “dislike,” etc. Then, this information can be used as feedback for advertisers, for ad targeting and customer's rewards. It also provides a "gamification" effect for the customers - e.g., increases customers' engagement with the ads and involve intrinsic motivators, like a sense of autonomy and control. An active control with relevant information blocks is depicted in FIG. 1. According to the exemplary embodiment, on-demand targeted ads are visible only temporarily, as opposed to the compulsive persistent relevant information blocks.
  • the ads advantageously, do not require a "shelf space" and do not destroy the original content.
  • a larger number of ads can be rendered to the user increasing the effects of the advertisement.
  • the ads do not annoy the user (or, at least, annoy the user less than the usual advertisements), because they are generated based on the user preferences.
  • the ads are targeted towards the particular user based on semantic context analysis, optionally without tracking of the user activities. The feedback from the content users is provided.
  • the users can click on the portion of the content that somehow stimulates their feelings - this provides additional feedback about the quality of the content.
  • Customers can tell the media resource directly "this is interesting” and “this is not interesting.”
  • the history of clicks and the analysis of the "clicked" parts of the content allow for recognition of the patterns, which can help in making the content more attractive to a user.
  • the ad, which receives more than a certain number of negative user feedbacks during a period of time T is automatically excluded from the presentation process, and the advertiser is notified.
  • the feedback is stored on the server in a form of relations: ⁇ ad, timestamp, feedbacks Only the server owner has the direct access to entire data for subsequent analysis.
  • the feedback data is accessible by users in an aggregated form (i.e., a sum, an average, etc.)
  • Each button is associated with a relevant information block ID (web-page ID), which is transferred to the feedback server.
  • Each feedback is logged/saved into a database in a form of a record containing:
  • a type of feedback e.g., like/dislike, not useful, does not match the topic, expensive, complaint, etc.
  • the user signature is a hash of user's browser data, which does not contain any personal information.
  • the relevant information block ID is an identifier of an ad message.
  • the timestamp is a current time with accuracy in milliseconds.
  • each user has access only to:
  • the association list can include find a dealer, arrange for a test drive, find a new car loan, etc.
  • the ad offering these services is generated and rendered to the user.
  • System architecture is illustrated in FIG. 2.
  • the system includes an ad-server 240.
  • the ad-server 240 processes the content, stores and selects ads.
  • Special ads libraries 230 and 250 integrate the ad- server 240 with media resources and applications installed on the computer device.
  • the ads libraries 230 and 250 render the ads and process user reactions to the ads. For example, a user can click to the relevant information block, ignore it, request re-targeting or express his disappointing with the ads.
  • the ads libraries 230 and 250 are designed to work with computer devices 260 and media sites 210 (sites - a set of web-pages (with scripts, files, links, and etc.) displayed to user by means of web-browser).
  • the content is stored on a remote media server (third- party server which hosts media source for apps or sites consumed by user) 220 and is provided to the media applications on computer devices 260 or to the media sites 210.
  • a media server is a third-party server, which hosts media sources for applications or sites consumed by a user.
  • a publisher is a person who owns the media source.
  • the system integration with the media server 220 is implemented by the ads libraries 230 and 250. Content analysis is performed on the media server 220, so the computational load on the clients 210 and 260 is minimal.
  • the ads are stored on the ad server 240.
  • the ad server 240 is accessed via universal management portals 270 accessible by the computer devices 260 and by the media sites 210.
  • the NLP module determines objects within the text, classifies the objects and defines the relations between the objects.
  • user wishes (desires) are associated with sentences and paragraphs of the text.
  • up to 80% of the words are used as connecting elements that do not reflect user wishes.
  • objects that actually trigger the user wishes are rather small in number.
  • association matrix defines relations between objects and user wishes or desires triggered by these objects.
  • the association matrix also defines boundaries of these relations. In other words, the relations between an object-desire and application constraints for this pair are defined. For example, a gender, a time of a year, public events, etc. are important constraints for people's behavior and desires.
  • association matrix inherits some of the principles from the "interest graph" concept, and extends them with implementing several new options.
  • Amy Jo Kim's classification of game players behaviors can be used to recognize the words in the content, that are associated with each type of behavior (e.g., words "design, create, build” are related with "express” mood) and associate the mood of a user with the services and activities that are suitable for such a mood.
  • a Maslow pyramid can be used for prioritizing the desires for presentation.
  • relationships among services/products ad categories, which are based on statistic distribution (popularity) of classifications in the resources like Pinterest
  • Extrinsic motivators status, access, power, stuff
  • intrinsic motivators competence, autonomy, relatedness classification
  • the association model is formed based on sociological and statistical data.
  • the association model gets constantly updated (taught) in the process of system deployment. Since the content defines and stimulates users' wishes (desires), the content can be analyzed by the NLP only once. Then, a universal model of user wishes can be created by applying the NLP to the association matrix.
  • the ads can be classified according to their relationship to the user's desires, rather than to the classification of the product/services.
  • each object in the content can be associated with several possible activities, which can be performed with the object, i.e., “buy”, “booking”, “order”, “listen”, “watch,” etc.
  • each object can be associated with some kind of a desire, e.g., “safety,” “hunger,” “thirst,” “curiosity,” “love,” etc.
  • key engagement words in the content e.g. “build,” “win,” “like,” “collect,” etc. This can assist in defining the current state of the customer for better targeting of the ads.
  • FIG. 3 illustrates a flow chart of a method for precise ad selection, in accordance with the exemplary embodiment.
  • a publisher add new content to a media source.
  • the content and a web-page metadata i.e. web-page parameters displayed to a viewer. HTML tags defining the page metadata are referred to as meta-tags
  • the content is analyzed in order to determine user goals (wishes) (to generate attributes of content element, CDs).
  • the user selects a portion of the content in step 340, and the portion of the content and an associated goals (i.e., user goals, attributes of content element) are identified in step 350 and the process move on to step 360.
  • step 360 If in step 360 more than one potential user goal is identified, all potential goals are displayed in step 365 so the user can select one of them. Then, the process goes to step 370, where the goal is selected by the user and the process moves to step 375, where the ads matching the goal and targeting parameters are selected. Then, the process goes to step 380, where a free (organic content) is selected. Then, the process moves to step 390, where location on the computer device screen of the paid content and/or organic content is determined. The relevant information block(s) and/or the organic content are rendered in step 395 and the process ends in step 398.
  • a minimal target area is a sentence. If the finger touch affects more than one sentence, the system automatically includes an entire paragraph. If the finger touch occurs between the paragraphs, both neighboring sentences are used for NLP analysis. In case of computer devices with larger screens, a position within a sentence can be used for analysis.
  • the paragraphs for example, in HTML format are geometrical objects with known borders. This allows for determining the paragraph within the text indicated by the computer device user.
  • the geometrical borders of sentences or other parts of a text can be calculated as well in order to determine a particular portion of the text selected by the user.
  • the text is:
  • the "zest” words are: "Xiaopeng” (probably, named entity), “Indian market,” “fostering ecosystem” and "UC Browser.”
  • the media resources are used for precise targeting of the advertisements.
  • the exemplary embodiment uses resource catalog which indicates the content and user history on the resource. For example, certain catalogs used for targeted advertising attract particular audience - e.g., "financial markets,” “banking news,” “travel,” “technical news,” “business schools,” “small business,” “development,” “gardening,” “real estate,” “cars,” etc. each have their own audience.
  • the user history collected on the ad server can be used for extending/specifying in more detail a user profile. However, the user history only serves as additional (optional) information.
  • FIG. 4 illustrates a flow chart of a method for precise selection of the advertisements, in accordance with the exemplary embodiment.
  • step 410 a portion of the content selected by the user is recognized.
  • a metadata (goals) associated with the selected portion of the content is determined in step 420.
  • the overall content metadata is applied in step 430.
  • This metadata is a metadata of the context of the content, in other words, a metadata is an additional data, which describes the content (keywords, categories, titles, etc, references).
  • step 440 the additional restrictions (gender, site, device type, geo location, language, age, gender, etc.) are applied. If more than one potential user goals are detected in step 450, the possible goals are displayed to the user for selection of one in step 460, and the process moves to step 470. Otherwise, the association model (matrix) is applied to the goal in step 470. Subsequently, the restrictions (geo location data, gender, time zone, user device type, website, etc.) are applied to the user goal in step 480. Then, the most relevant ad(s) is found in step 490.
  • the restrictions geo location data, gender, time zone, user device type, website, etc.
  • the algorithm has to select between "meal” and "music,” and after the customer selects "meal" category and it turns out that the restaurant has a different geographic location than the user (for example, the user is in the US and the restaurant is in France), there is no need to offer that person a booking of a table in that restaurant, but rather it would make more sense to offer him a local restaurant with the same type of cuisine.
  • the content can be related to cars, but the context can include "buying,” “repairs,” 'trade,” and “sale” categories.
  • the system takes into consideration a user history of visited sites, computer device OS type, computer device model, user financial status, user preferences.
  • the system also takes into consideration the metadata of a current page or metadata of the visited pages, the user search requests, mail messages and social network messages and comments.
  • the relevant ads can be selected based on key words and a place on the page currently viewed by the user.
  • the context is a hierarchy of a group of words or topics relevant to the content (text) located around the selected word, sentence, paragraph or portion of text.
  • the context is analyzed and the relevant ad(s) is shown based on the weight of the text and the metadata including additional information for the targeting of the ads. Note that the entire text is used a meta-link.
  • the ads are formed on the ad server and displayed without changes in the original structure of the pages. The area selected by the user is highlighted as a hyperlink.
  • the ads that are no longer paid for are not shown.
  • the tracking of the paid ads is performed on the ad server, which sends the notifications.
  • the paid content is stored as a set of records that have data on:
  • the advertiser accounts are incremented and compared against the limits and the relevant information block is marked inactive and is no longer displayed, if the limit is reached. If the account balance is increased, the relevant information block is displayed again.
  • the content is a meta-link.
  • the user can get to the linked page by touch, gesture, eye movement, voice, etc. A click is performed as a special gesture: swipe left or right on paragraph for shifting between the paragraphs.
  • the link is dynamically built based on results of semantic analysis.
  • the context of a given textual expression (which can consists of one word) in a given text document is a textual element that includes the expression and surrounding text.
  • the range of surrounding is defined by the context level that can take a value from a sentence part, a sentence, a paragraph, an article, a domain set, etc.
  • the Meanings Mapping is an approximation of a function, defined on the domain of Content structure, and having its range in a limited set of sets of reader's reactions or intents (curiosity, learn more, willing to have, etc).
  • the Meanings Mapping shows potential reader's interest, which can be triggered by encountering certain parts of the text.
  • the context level is defined for a particular-level textual expression. Proposition: to distinguish the next expression levels, from small elements to a biggest one: Word, Group of words, Sentence component, (sequence of words between commas, etc.), Sentence, Group of sentences, Paragraph.
  • the next context levels for Word Group of words, Sentence component, Sentence, Group of sentences, Paragraph, Group of paragraphs, Article, Group of articles, Theme section, Domain.
  • Sentence component Sentence, Group of sentences, Paragraph etc.
  • An algorithm for extracting keywords can be used in this implementation of the invention as follows:
  • CD_type a simple CD
  • CD value a normalized (stemmed, lemmed, "lowercased") word or bigram.
  • stop-words are the words of the language which are considered low-informative, garbage or noisy such as articles, propositions, etc.
  • Multiset of meaningful elements S ⁇ 5.
  • Semantics analysis is performed when content is being published in real time or when crawling. No additional software for the user is required (everything works in a browser like regular links). All computations are performing on a server-side.
  • the server side consists of the following services:
  • ContentSemanticServer responsible for pre-processing units of the Content and storing them in a computer-readable format
  • AdFeatureServer responsible for pre-processing resulting texts and storing them in a computer- readable format
  • TargetingServer responsible for analyzing reader's queries on the content and performing search of matching results, most relevant with respect to reader's intent.
  • the results types can be used in the exemplary embodiment: Promoted Result, Got from Advertisers, Is pushed, Always actual, the organic Content is displayed when there is no relevant marketed content.
  • the exemplary organic Results are: Object Reviews, Opinions from Forums (trusted adviser mechanisms), Geographical Points, Price and Selling Info, Similar items. Depending on detected categories organic results can be processed from GOOGLE, WIKIPEDIA, ETSY, etc.
  • the organic or Promoted Results can be stratified by user's intent they aim to serve with respect to the content part: Learn more about, Curious what it is, What's new on this, What people say on this, Where can I get it, How much does it cost, Want to buy it. Note that the organic and Promoted Results are shown at the same time.
  • FIGs. 5, 6, 7, 8 illustrates displaying ads and organic results on the computer device screen.
  • a size of an each item and a number of items on the screen can vary depending on the type of a computer device screen and on configuration of the mobile application for rendering the items. If several items are present, the items can be rolled up and down as a cycle depicted in FIGs. 5 -8. Note that the user can select an action for each item (e.g., open, like/dislike, send to a friend, etc.)
  • FIG. 9 illustrates processing the content on a computer device using a list of action for pre-defined user requests. A user can move (up, down, left and right) portions of the content over the boarders of the computer device screen using a special gesture.
  • buttons can be shown.
  • the words (goals) from the selected context can be also shown - e.g., guz-guzzlers, vehicles, etc.
  • the user can select one or several words (goals) and/or actions (from buttons or lists) in order to specify the information he needs for feedback or for opening relevant informational data blocks.
  • the most relevant ads are shown to the user.
  • one or several words/goals can include a number of links to different ads or organic (natural) items that can be shown on the computer device screen (see FIG. 9).
  • the selected content can be turned over by animation means in such a way that the ads and organic content items and word lists are shown from the behind of the content.
  • the mobile device screen can have a special element which allows for moving portions of the content of the web page in order to display goals.
  • the system turns the entire content into an active link.
  • the system employs an association model describing possible wishes and actions of the user that can be taken based on the object content.
  • the system presents the user with actions if the object is of interest to the user. For example, an association for a "hotel” object can be "booking the rooms,” for a "restaurant” - “reserving a table,” etc.
  • the relevant data is determined for a user based on available data (geo location data, personal data, time zone, type of a computer device, etc.).
  • available data geo location data, personal data, time zone, type of a computer device, etc.
  • FIG. 10 illustrates a flow chart of a method for precise selection of advertisements, in accordance with the exemplary embodiment.
  • An advertiser can create a new relevant information block or a target group or a campaign in step 710 (i.e. create a new add) and manually define the key words, and also he can manually define the targeting parameters.
  • the targeting parameters - a list of attributes of Ad which describe the audience this Ad should be displayed to, including user age, gender, geo location, user viewing history, media site statistics, web site content, page metadata, etc. any social info about the user available globally, its browsing history or search queries. If the key words are defined in step 720, the key words are converted into CDS in step 740, and the process goes to step 750.
  • steps 720 and 725 are independent and can be executed in parallel or sequentially. If the targeting parameters are defined in step 725, then CDs are created based on the on the targeting parameters in step 727, and the process goes to step 750. The advertiser can also specify the URLs of his products or services. Otherwise, the key words are created automatically by PageToCDS algorithm in step 730. An ad category can be automatically determined for each relevant information block in step 750 using the following algorithm :
  • a target group category is determined as a set of relevant information block categories of the target group ordered in the descending order of occurrence frequency;
  • a CDS and a category are derived from the context.
  • a heuristic algorithm for finding the key words specific for the page and for the entire category is applied.
  • the parts of speech analysis of the text is performed.
  • the CDS sets are created and the categories are determined by voting.
  • a relevant ad for a context is determined as an ad, which has a category that corresponds to the category of the context. Sorting of ads can be implemented by voting algorithm: CDSs of the context vote for relevant information block CDSs. A number of CDS votes are calculated for each relevant information block and the relevant information blocks are sorted in descending order of votes.
  • CDS is an entity which has a context object (i.e., keywords, bigram) and a weight assigned to the object. The higher the weight, the higher the importance of the object.
  • a voting algorithm is implemented as follows. The candidate objects and voter objects have their properties and weights. Initially, the votes for each candidate equal to zero. Then, for each candidate and for each property the weight of the property is added to the candidates that have this property. The winning candidates are the objects that collected the most votes.
  • step 760 If the excluded categories are added by the advertiser, then set of major ad categories are updated in step 760:
  • CDS context descriptors
  • a set of search phrases for a category is created
  • a set of search phrases for a category is created
  • a page URLs that are considered basic for a given category is derived using a search system API. An arbitrary number of URLs can be derived.
  • Each page is processed by an algorithm PageToCDS, which converts the page content into a set of CDSs.
  • the CDSs are used as coordinates in the space of context to measure similarity or relevance between them.
  • a cosine matrix is used for calculation of the CBSs.
  • a set of CDSs ordered in a descending order based on occurrence frequency defines a category.
  • the most frequent CDS describe a category better than the less frequent ones.
  • An algorithm for deriving CDSs can be manually modified in order to filter results of PageToCDS algorithm.
  • step 770 The process stores the set of CDs onto a server.
  • step 775 a user select a content (or portion of the content).
  • the process finds the key words in the selected content in step 780.
  • step 782 categories from the key words are determined, and in step 784 the system determine addition items based on the targeting parameters.
  • the process selects ads by matching categories from the server in step 785.
  • the selected ads are rendered to a user in step 790.
  • the PageToCDS algorithm is used.
  • the page metadata is selected and the stop words are deleted.
  • the page headers are selected and the stop words are deleted from them.
  • the paragraphs with the content that is close to metadata/headers and the stop words are deleted.
  • the most frequently used keywords/big rams are selected from the aggregated text.
  • the keywords/bigrams are converted into CDSs.
  • the weights are assigned based on the location of the keywords/bigrams - the paragraph is assigned a higher weight and the header is assigned a lower weight.
  • FIG. 11 illustrates mobile device screens.
  • the relevant data is displayed according to user goals/wishes selected based on the context of the content.
  • the relevant data block display element is activated the goals/wishes-related data is displayed. For example, a portion of the text can be turned over, thus the goals are displayed and the user can select one of the goals. Once the goal is selected, the relevant data blocks are displayed.
  • FIG. 12 illustrates precise selection of advertisements and graphical presentation of targeted ads to the user.
  • the user can select a portion of the content 910.
  • An item 940 is displayed over the content or in the browser menu or in a fold down menu.
  • the user can open an additional window 960 (e.g. a new window in the browser or a window in the current browser).
  • the ad or organic content 985 and 990 can be rendered in the window 960 in a designated area 970 along with items 980 (search, text, YouTube, etc.) reflecting user intents.
  • the displayed ad or organic content 985 and 990 is selected based on: content analysis, content category, language, selected area of the content and user intents. Note that the user intent is explicitly displayed along with the free organic content.
  • FIG. 13 illustrates a flow chart for an exemplary of PageToCD algorithm using a search for relevant pages.
  • metadata M is collected across the URLs (keywords, content). Note that the metadata may not be available.
  • the metadata is provided by the publisher (e.g., in tags ⁇ meta> auto sales ⁇ /meta>).
  • the metadata is cleared from stop words.
  • the data from the headers e.g., ⁇ head>
  • the selected words is collected and cleared from the stop words in step 1020.
  • step 1025 the data from paragraphs is collected and cleared from tags in step 1030.
  • step 1041 the set of paragraphs P' (or portion of content, for example two or more paragraphs, recognized information in the selected portion of the image, video, or audio) is divided into chunk of text Ti, and the process goes to step 1045.
  • step 1045 the process checks if any text (content: part of image, part of text and etc.) Ti is left. If the text exists, the next text Ti is acquired in step 1046.
  • step 1048 the text element Ti is applied to basic vectorizer V, which produces a vector of coordinates and the process checks if a sum of vector coordinates divided by a size of the vector is larger than a, where a is a level above which the paragraph is taken. The a is determined empirically and typically is within a range 0.14 -0.16.
  • step 1048 If, in step 1048, the condition is not met, the paragraph is not included into array of possible paragraphs to be displayed and the process returns to step 1045. Otherwise, current Ti is added to R and a number i of the text element is added to I in step 1049. If, in step 1057, a number of a current paragraph differs from previously recorded by more than one, the process takes one of unchecked skipped paragraphs in step 1058. Otherwise, the process returns to step 1045.
  • step 1059 the process checks if a sum of vector coordinates divided by a size of the vector is larger than a/2, where a is a level above which the paragraph is taken. If the condition is not met, the process returns to step 1045. Otherwise, if the condition is met the process moves to step 1060, where the skipped paragraph is added to R and its number is added to I. Then, in step 1061, the process checks if all skipped paragraphs are checked, if not all the skipped paragraphs have been checked, the process returns to step 1058. Otherwise, the process goes to step 1045.
  • step 1045 If, in step 1045 no Ti is left, the process goes to step 1050, where the M' and H' are added to resulting paragraphs in step 1050. Otherwise the process goes to step 1071.
  • the VR is sorted by frequency of occurence in step 1053.
  • step 1054 the features are selected (or chosen) by quantile.
  • the selected data is rendered to a user in step 1055.
  • FIG. 14 illustrates a flow chart for an exemplary of PageToCD algorithm.
  • metadata M is collected across the URLs (keywords, content). Note that the metadata may not be available.
  • the metadata is provided by the publisher (e.g., in tags ⁇ meta> auto sales ⁇ /meta>).
  • the metadata is cleared from stop words.
  • the data from the headers e.g., ⁇ head>
  • the selected words is collected and cleared from the stop words in step 1020.
  • step 1025 the data from paragraphs is collected and cleared from tags in step 1030.
  • step 1041 the set of paragraphs P' (or portion of content, for example two or more paragraphs, recognized information in the selected portion of the image, video, or audio) is divided into chunk of text Ti, and the process goes to step 1045.
  • step 1045 the process checks if any text Ti is left. If the text exists, the next text Ti is acquired in step 1046.
  • step 1048 the text element Ti is applied to basic vectorizer V, which produces a vector of coordinates and the process checks if a sum of vector coordinates divided by a size of the vector is larger than a, where a is a level above which the paragraph is taken. The a is determined empirically and typically is within a range 0,14 -0,16. If, in step 1048, the condition is not met, the paragraph is not included into array of possible paragraphs to be displayed and the process returns to step 1045. Otherwise, current Ti is added to R and a number i of the text element is added to I in step 1049, and the process goes back to step 1045.
  • step 1045 the process takes a number of a first paragraph Plin step 1065.
  • step 1067 the process takes a number of the next paragraph stored in I. Note that process of checking the paragraphs can be started from a last paragraph or from any written paragraph if the paragraphs are selected randomly.
  • step 1069 the process checks if a number of a current paragraph differs from a previously recorded paragraph by more than 1.
  • step 1070 the process takes one of unchecked skipped paragraphs in step 1070. Otherwise, the process moves to step 1071, where a number of the next paragraph from step 1067 becomes a current number and the process returns to step 1067.
  • step 1072 the process checks if a sum of skipped vector coordinates divided by a size of the skipped vector is larger than a/2. If this condition is not met, the process returns to step 1071.
  • step 1073 the skipped paragraph is added to R and its number is added to I.
  • step 1074 the process checks if all skipped paragraphs between the two paragraphs are checked. If not all paragraphs have been checked, the process returns to step 1070. Otherwise, the process checks, in step 1075, if it is the last the paragraph number. If the paragraph number is the last one, the M' and H' are added to resulting paragraphs in step 1050. Otherwise the process goes to step 1071, where a number of the next paragraph becomes current. Then, the process returns to step 1067.
  • the VR is sorted by frequency of occurence in step 1053.
  • step 1054 the features are selected (or chosen) by quantile.
  • the selected data is rendered to a user in step 1055.
  • PageToCD is an exemplary implementation of a ContentToCD algorithm:
  • ToCD ⁇ ImageToCD, usicToCD, VideoToCD, PartOflmageToCD ... ⁇ of some non-textual content descriptors.
  • the speech is selected and recorded onto CD.
  • the algorithm recognizes the images, describes them and stores them to CD.
  • For video content the algorithm divides the content into audio stream and images and processes them separately.
  • the algorithm determines the extractor of base elements E - the algorithm can derive a metadata and a header. The extractor takes into consideration the page geometry and the current view and determines relevancy quintile q.
  • the algorithm performs the following steps:
  • a set of relevant R is made empty; For each a from A:

Abstract

A method and system for rendering template-based additional relevant information blocks to a computing device user. A method for rendering additional relevant information is based on a context and a fuzzy content portion selected by a user. A system can display one or more relevant information blocks linked to a particular context of the displayed data for any textual or graphic data displayed to the user. The relevant information blocks can be displayed based on targeting parameters, such as user geo location, user internet browsing history, media site statistics, web site portion content, page metadata, user social profile data and tags associated with the current user.

Description

METHOD FOR RENDERING RELEVANT CONTEXT-BASED INFORMATION
The present invention is related to computer and mobile devices, and more particularly, to rendering relevant data and advertisements on computer devices based on a context and a relevant portion of a content selected by a user.
The existing market for advertisements on computer and mobile devices has been basically formed by application of the technologies and principles of advertising used on PCs and notebooks, to mobile platforms. However, the effectiveness of advertising on mobile devices is significantly lower compared to advertising on PCs.
Mobile device users typically run special thin applications instead of heavy-footprint conventional browsers that take up a lot of system resources. Thus, mobile users do not use conventional searches nearly as often as PC users. Accordingly, the most popular means of monetization on computer devices are relevant information blocks (such as advertisement, banners, advertisement blocks, links to web pages, text messages, web pages, etc.) and applications integrated into web resources.
The relevant information blocks (relevant data blocks) are small ads that take up portions of a mobile device screen, which is typically quite small. Because the relevant information blocks are also very small, they contain very basic advertisement data (i.e., a short text). These basic ads mostly irritate the users and do not attract attention or spark user interest.
The most commonly used method for mobile advertising is using the ads, along with free carrier applications that carry ads - i.e., the ads are essentially forced upon users, who download a free application or a game. These ads do generate some small profits due to growth of the mobile device market, but in general are also ineffective.
The traditional way of advertising makes each ad different from the other even if the two ads advertise the same type of action, for example a "sale." This advertising approach can be effective for static situations when a customer has plenty of time and is in appropriate mind set to view the ads. However, computer device customers are in on-the-go mode. These customers are not willing to spend a lot of time and energy to recognize that a core meaning of the two different ads is the same - "sale" of different brands of product.
In the "on the go" situations of the mobile device users, it is much more important to display the most relevant ads to them in a simple and easy to understand manner in order to achieve the positive advertising results. Accordingly, it is desired to display one or more relevant information blocks or banners linked to a particular context of the displayed data for any textual or graphic data displayed to the computer device user. It is also desired to have relevant information blocks displayed based on user gender, geo location, user viewing history, media site statistics, web site content, page metadata, etc. However, existing mobile advertisement systems do not utilize the context-based relevant information blocks (or advertising), due to inability to extract the context itself, except for the browser ads on web-search sites.
According to an exemplary embodiment, a method and system for displaying context-based ads/information to mobile device users is provided. The ads used on the small screen do not require any additional "shelf space," because they are displayed within the existing GUI controls of the mobile device screen or in a separate Ul overlay panel.
According to the exemplary embodiment, a system can display one or more relevant information blocks linked to a particular context portion of the displayed data for any textual or graphic data displayed to the user. The relevant information blocks can be displayed based on targeting parameters, such as user geo location, user internet browsing history, media site statistics, web site portion content, page metadata, user's open social profile data (age, gender, position, interests, friendship), tags associated with the current user provided by third-party services (DMP, DSP), etc.
A list of relevant information blocks is generated automatically based on either web page content or based on a selected portion of the text and its content. A web page text is preliminary scanned and an API call with the pre-set parameters is added for each element of the content structure (i.e. a paragraph, a sentence, an embedded image or a video block). The API functions analyze a given portion of the content and activates control elements which, in turn, can initiate display of a relevant information block(s).
The exemplary embodiment, advantageously, uses a narrow content's context explicitly selected by the user. The relevant information block is displayed based on user interests indicated by a portion of the content - i.e., a text, a paragraph, a word, an image or a portion of an image, a video, a hyperlink and its content and context. In the exemplary embodiment, a relevant surrounding area of a portion of the content selected by the user is referred to as a context. The selected content can be a word or a combination of words (an expression), an area of an image or a video block and the context can include a sentence, paragraph or the entire text (in case of a small text), geometrically close images or video blocks.
In the drawings:
FIG. 1 illustrates displaying of relevant information blocks on computer device, in accordance with the exemplary embodiment;
FIG. 2 illustrates a system architecture, in accordance with the exemplary embodiment;
FIG. 3 illustrates a flow chart of a method for precise ad selection, in accordance with the exemplary embodiment; FIG. 4 illustrates a flow chart of a method for precise selection of the advertisements, in accordance with the exemplary embodiment;
FIGs. 5, 6, 7, 8 illustrates displaying ads and organic results on the computer device screen;
FIG. 9 illustrates processing the content on a computer device using a list of actions for predefined user requests;
FIG. 10 illustrates a flow chart of a method for precise selection of advertisements, in accordance with the exemplary embodiment;
FIG. 11 illustrates computer device screens, in accordance with the exemplary embodiment;
FIG. 12 illustrates precise selection of advertisements and graphical presentation of targeted ads to the user;
FIGs. 13, 14 illustrates flow charts for a PageToCD algorithms;
According to the exemplary embodiment, a method and system for displaying context-based additional information blocks or ads to mobile/computer device users is provided. The ads used on the small screen do not require any additional "shelf space," because they are displayed within the existing GUI controls or overlay GUI panel of the computer device screen. Unlike the conventional ads that involve a lot of data traffic, the device library has pre-defined templates that are rendered to the users.
According to the exemplary embodiment, a system can display one or more relevant information block related to a particular context and fuzzy selected elements of the displayed data for any textual or graphic data displayed to the user as shown in FIG. 1. The relevant information blocks can be displayed based on user geo location, user Internet browsing history, media site statistics, web site portion content, page metadata, user's open social profile data (i.e., age, gender, position, interests, friendship), tags associated with the current user provided by third-party services (DMP, DSP), etc.
Note, that relevant information block can be in a form of additional information in different formats, which can be relevant to a user. For example, image relevant information blocks, can be text blocks, (such as ads, ad banners, advertisement relevant information blocks, links to web pages), media data, web pages, etc. The relevant information blocks are referred to as ads. However, any relevant information can be rendered to a user.
A list of relevant information blocks is generated automatically based on either web page content or a selected portion of the content (text, image, portion of the text, part of image, media and etc.) and its context. Additionally any combination of targeting parameters can be taken into account for generation of relevant information blocks. A web page context is scanned and an API function calculates content attributes with pre-set parameters that are added for each element of the content structure. Note that the content attributes can be pre-calculated. The API function makes explicit (or implicit) associations of elements with their attributes. The API analyses a given portion of the text and activates control elements that initiate a switch to a relevant information block-(s).
The exemplary embodiment, advantageously, uses a narrow content's context explicitly selected by the user. The relevant information blocks are displayed based on user interests indicated by a portion of the text or part of content (or a hyperlink and its content) and targeting parameters. In the exemplary embodiment, a relevant surrounding area of a portion of the text selected by the user is referred to as a context. The selected content can be a word or a combination of words (an expression) and the context can include a sentence, paragraph or the entire text (in case of a small text).
According to the exemplary embodiment, the users can notify the system about their interest in a particular part of the content using, for example, an infrared camera, an infrared sensor or a video camera, where the sensor register (Kinect-type integrated or external device) replaces a physical "touch screen" and recognizes user gestures and associates them with the context in the display. Alternatively, the text can be selected by a mouse. In case of using the mouse, the user can select a portion of the context (i.e., a portion of a text or an image) and use a right click on the selected context and select "display of relevant data block" from a menu. The mouse moves and clicks can be implemented using keyboards. Alternatively, a special button of the key board can be used for rendering relevant data blocks. Additionally, the users can use a microphone - e.g., Siri-like model (i.e., a sensor with background voice-recognition module, which can be integrated, external or server-based).
The user indicates a portion of the context and his desire by a voice comment, a kinesthetic detector (i.e., a user uses a joystick), a mouse or wearable sensors (i.e., special gloves), a detector of eye movement (a user can use a device such as Google-glasses or a special camera) that can recognize the portion of the context the user is looking at by the position of the user eyes and the command (e.g., a double-blink) to "activate" this solution. Note that the exemplary embodiment uses only a portion of a text, which is considered as an expression of user interest.
The expression can contain a term, a named entity, or a phrase, which, when augmented with an entire page/paragraph topic, can be used for a narrowed selection. An additional advantage of such an explicit "activation" is that it determines a user who is in "exploration," "curiosity" or "demand" state. Unlike the hyperlinks, any text portion is clickable (i.e., selectable). The click, touch, eye, kinetic or other action performed on the element of the page (i.e., a text, an image, a media content, a portion of the text, portion of an audio/video file) leads to a list of relevant information blocks (pages, links to pages, links to page elements) that fit the content, the context, the particular selection and the user profile and targeting parameters. Thus, the user is shown the most relevant information block.
According to the exemplary embodiment, some elements can be excluded from a preview or they can be replaced by generic images (or icons). Use of icons instead of some less relevant page elements reduces network traffic and load on mobile device. It also improves a speed of rendering the web pages. Almost any activatable (clickable, touch-able, etc.) text, takes into the account a nearby context, and leads not to one page, but to a list of relevant information blocks/pages, suitable for the content, context, particular selection and user profile.
According to another exemplary embodiment, an on-demand content-based dynamic advertising is implemented. Any type of a content (e.g., video, audio, text, etc.) has a tendency to invoke or increase desires of people viewing (or listening to) the content. A direct correlation between the content and some desires invoked by the content exists. According to the exemplary embodiment, this correlation is used for targeted advertising.
Any portion of the content (and the corresponding context) that creates certain desires and associations can be used for targeting an ad (relevant information blocks) to a user. However, the main problem is that the elements in the chain Text -> Desire -> Satisfaction described in terms of word- vectors are not close to each other geometrically. It means that the page or the product descriptions that satisfy a particular desire may not contain words of the original Text and never name or explicitly refer to the desire itself. Thus, some analysis of Text-Desire-Satisfaction associations is needed. Excluding obvious cases, associations between the Text and Satisfaction can be made statistically based on user transactions.
Note that when an advertisement is relevant in terms of user desires and expectations, it is no longer viewed as an advertisement by the user. Instead, the user accepts the targeted advertisement as useful information. According to the exemplary embodiment, a user is given an opportunity to explicitly indicate a portion of the content (e.g., a paragraph within the text or a name of a product) which sparks some interest (or desire). A set of user goals/wishes (elements of content which denote potential user interest) is implemented as a set of attributes of content element (attributes of information block) that is auto-generated for this content. The system determines the most appropriate attributes of content element for a particular user.
According to the exemplary embodiment, the attributes of the content element describes possible user intents with respect to topics disclosed in the content and/or related topics. The attributes of content element can be implemented in a form of a ranked list of keywords, bigrams, topic descriptors, etc. extracted from the context and expanded with synonym and statistically related descriptors. The descriptors are simple text labels that extend a set of known words. For example, the process can be described as following:
the text "SVD - Singular Value Decomposition - is a linear algebra algorithm" after tokenization and stemming is labeled with the following initial list of descriptors:
[kw | svd, kw I singular, kw l value, kw | decomposit, kw | lin, kw | algebra, kw | algorithm, bg | singlar+value, bg | value+decomposit, bg| lin+algebra, bg | algebra+algorithm].
Then, the list goes to the categorization. After category detection (labeling), the list is extended based on category vocabularies with the following labels:
[cat | computer+science, cat | computers+gadgets, cat | education].
After getting particular user-indicated part of the sentence, f.e. 'svd', an algorithm can detect (from statistics) that a search with keyword "svd" on a computer-science topic is not transactionable (i.e., does not lead to buying or registration, or anything commercially meaningful). Thus, possible demands associated with these categories (and the context) are limited to "Learn more." So a new label is added to the context descriptors:
[int | learn+more]. Here, kw | , bg | , cat | and int | prefixes denote keyword, bigram, category and intent, correspondingly.
The entire content is analyzed. When the user selects a small portion of the content by clicking on it, the attributes of the content element reflecting this portion is generated and used for targeting the user with the appropriate advertisement. To do this, the system recognizes parts of the sentences, parts of speech, meaning of the words, etc., using NLP (Natural Language Processing) techniques or semantic analysis of the content and its context.
Given that the NLP processing can take significant time depending on a size of the content, the delays can affect usability of the system. The attributes of the content element of the content can be pre-generated and cached, and hashed for subsequent use. Thus, a user is shown highly relevant ads on-demand, where the ads are provided in response to a direct request from a customer (as opposed to a compulsory mode) and the ads are presented as useful recommendations, rather than as direct ads. These ads are more effective than randomly displayed static ads or blinking relevant information blocks. In other words, the user points to a particular portion of the content and explicitly indicates what he wants to see.
This has advantages over conventional Google™ ads that require for a user to switch to Google™ search and enter a search string. This is particularly critical on computer devices (cellphones, laptops, desktops, game consoles, TV-sets, Internet tablets, tablet computers, Ultra-mobile PC, Mobile Internet Devices, E-books, smartphones, etc.), because the search (using Google™ or other facilities) is strongly bound to typing abilities that are quite limited with respect to computer devices. On a desktop the case "Read -> Select -> Search Selection" is much simpler than that on computer devices. The exemplary embodiment provides the users with the shortcut: "Read -> Indicate -> Search."
Note that NLP technology provides for automated analysis of portions of the text selected by a user and for determining the content of the text. The NLP also detects main objects such as an association, a person, a geographical object, amount/volume, money/currency, percentage, company data, etc. The list of objects can be extended by attributes of the content element and targeting data (e.g., time, geo location data, personal preferences, user associations, social network registrations and memberships, gender, language, etc.). According to the exemplary embodiment, the NPL helps the user when the user has difficulties with remembering and typing a search text or with selecting, copying and pasting the desired text, or with selecting the text and starting the search.
According to the exemplary embodiment, the system uses the NLP and "guesses" the parts of the text that can be of interest to the user based on an approximate location within the text. The known techniques of Named Entities Recognition (NER algorithms) can be used along with the statistical analysis of degree of unusualness of words in a part of speech (POS) for a particular paragraph, the text and its category. The unusual words (i.e., the words that spark the user interest in a particular portion of the content) can be grouped by user interests. The unusual words are used as "zest" - points of interests that the system can suggest to the user.
According to one exemplary embodiment, content and associated attributes of the content element can be used instead of a search request based on the explicit user selection. The attributes of the content element is a set of formalized properties derived from a meaning of the content. The attributes of the content element (metadata) are presented in a form of a machine readable language which includes key words, bigrams, n-grams, detected named entities, expected categories, as well as user-defined categories and tags based on frequency distributions. In other words, all possible data that can be used for determining a relevancy of the advertising is employed.
According to the exemplary embodiment, a two component-based targeting (or two-level representation of the request) of advertising is used. The advertisement is targeted to a user based on a combination of the contextual attributes of the content element and selection or explicit indication of words. This novel approach provides advantages over search-based or relevant information block-based advertisements that use either a common topic of the page or an explicit search request.
Those skilled in the art will appreciate that on-demand targeted ads are advantageous for computer devices having a small screen size. The constantly hanging relevant information blocks (ads) take up screen space and require modification of the original content. According to the exemplary embodiment, the context (i.e., an object, such as a sentence or a portion of a sentence, a portion of an image, a paragraph of an article, a video fragment, an image, a 3D model, etc.) indicated by the user is used for advertising instead of a single search term taken out of the context. Thus, according to the exemplary embodiment, non-relevant ads are eliminated entirely. The ads are displayed on-demand, instead of the relevant information blocks that take up the screen space. The ads are displayed according to a portion of the content explicitly selected by a user. Thus, the ads display only relevant information based on the portion of the content as opposed to some generic ads based on the entire content.
Knowing a set of "wished content" invokes, the ads can be generated and displayed. For example, hotel - booking, reviews; restaurant - menu, reserving a table; product - purchase, reviews, etc. According to the exemplary embodiment, a list of key objects and their categories are auto-generated using Natural Language Processing technology.
For example, if an article discusses a ski resort and a user has clicked on a portion describing one of the resort hotels, there is a high probability that the user wants to know more about this hotel, book a room there or buy lift tickets, etc. However, if the user clicks on new skis, he most likely wants to see some reviews and find out where he can buy or rent them. In order to implement this scenario, the system uses pre-defined association model, which defines a list of possible actions for each type of objects. The association model evolves based on a user feedback (i.e., user actions). The association model can be adjusted based on collected statistics and a market research.
In case when a user-selected portion of the content is complex and contains a multiple potential goals and wishes, the ad rendering process is performed in two steps. In the first step, the system specifies the user wishes. In the second step, the ad is generated based on the data from the first step and rendered to the user. In the first step, the user is given a list (words and pictograms) of possible goals. The user is asked what is of the most interest to him at the moment. Then, the user selects one or more goals. This data is used in the second step, and the ads relevant to the selected user goals are rendered to the user.
According to one exemplary embodiment, an entire computer device screen (or its portion) can be transformed into one active hyperlink instead of a large number of hyperlinks (most of which are not used). This allows for avoiding constantly displayed ads and relevant information blocks that occupy a small screen of a computer device. Furthermore, a user can see an unlimited number of ads, because the relevant information blocks are shown upon request and do not occupy the screen space for a long time.
According to the exemplary embodiment, any textual content can be used for targeted advertisements. The system can render to the users several relevant information blocks based on an associated context. A screen interface of the exemplary embodiment can use controls (panels, edit boxes, buttons, check boxes, etc.) for additional operations. The user can re-define a request by using a list of options. For example, the system can provide a button "I am disappointed" or "Not what I am looking for," which means that the customer is not happy with the ad offered.
Also, the system can provide a way to select the ad which is close (or closest) to the customer's need, but does not quite satisfy him. This provides an option for a customer to evaluate the ads directly in-site with the help of buttons "like," "dislike," etc. Then, this information can be used as feedback for advertisers, for ad targeting and customer's rewards. It also provides a "gamification" effect for the customers - e.g., increases customers' engagement with the ads and involve intrinsic motivators, like a sense of autonomy and control. An active control with relevant information blocks is depicted in FIG. 1. According to the exemplary embodiment, on-demand targeted ads are visible only temporarily, as opposed to the compulsive persistent relevant information blocks. Thus, the ads, advantageously, do not require a "shelf space" and do not destroy the original content. A larger number of ads can be rendered to the user increasing the effects of the advertisement. The ads do not annoy the user (or, at least, annoy the user less than the usual advertisements), because they are generated based on the user preferences. The ads are targeted towards the particular user based on semantic context analysis, optionally without tracking of the user activities. The feedback from the content users is provided.
The users (customers) can click on the portion of the content that somehow stimulates their feelings - this provides additional feedback about the quality of the content. Customers can tell the media resource directly "this is interesting" and "this is not interesting." The history of clicks and the analysis of the "clicked" parts of the content allow for recognition of the patterns, which can help in making the content more attractive to a user. The ad, which receives more than a certain number of negative user feedbacks during a period of time T is automatically excluded from the presentation process, and the advertiser is notified.
According to the exemplary embodiment, several quality-notification thresholds with pre-defined actions for negative and positive feedback are used. The feedback is stored on the server in a form of relations: <ad, timestamp, feedbacks Only the server owner has the direct access to entire data for subsequent analysis. The feedback data is accessible by users in an aggregated form (i.e., a sum, an average, etc.)
The user initiates the feedback process by clicking/tapping on a feedback button. Each button is associated with a relevant information block ID (web-page ID), which is transferred to the feedback server. Each feedback is logged/saved into a database in a form of a record containing:
- a relevant information block ID;
- a user signature;
- a timestamp; and
- a type of feedback (e.g., like/dislike, not useful, does not match the topic, expensive, complaint, etc.).
The user signature is a hash of user's browser data, which does not contain any personal information. The relevant information block ID is an identifier of an ad message. The timestamp is a current time with accuracy in milliseconds.
According to the exemplary embodiment, each user has access only to:
- aggregated records filtered by the user signature and aggregated by the relevant information block ID;
- aggregated records not filtered by the relevant information block ID.
Thus, no personal data contained in the feedback of other users is accessible by the user.
For example, if an object is a new car, the association list can include find a dealer, arrange for a test drive, find a new car loan, etc. Thus, the ad offering these services is generated and rendered to the user. System architecture is illustrated in FIG. 2. The system includes an ad-server 240. The ad-server 240 processes the content, stores and selects ads. Special ads libraries 230 and 250 integrate the ad- server 240 with media resources and applications installed on the computer device.
The ads libraries 230 and 250 render the ads and process user reactions to the ads. For example, a user can click to the relevant information block, ignore it, request re-targeting or express his disappointing with the ads. The ads libraries 230 and 250 are designed to work with computer devices 260 and media sites 210 (sites - a set of web-pages (with scripts, files, links, and etc.) displayed to user by means of web-browser).
According to the exemplary embodiment, the content is stored on a remote media server (third- party server which hosts media source for apps or sites consumed by user) 220 and is provided to the media applications on computer devices 260 or to the media sites 210. A media server is a third-party server, which hosts media sources for applications or sites consumed by a user. A publisher is a person who owns the media source.
The system integration with the media server 220 is implemented by the ads libraries 230 and 250. Content analysis is performed on the media server 220, so the computational load on the clients 210 and 260 is minimal.
According to the exemplary embodiment, the ads are stored on the ad server 240. The ad server 240 is accessed via universal management portals 270 accessible by the computer devices 260 and by the media sites 210. After a user clicks on a portion of the content, the NLP module determines objects within the text, classifies the objects and defines the relations between the objects. As a result, user wishes (desires) are associated with sentences and paragraphs of the text. According to the statistics, up to 80% of the words are used as connecting elements that do not reflect user wishes. Thus, objects that actually trigger the user wishes are rather small in number.
Then, an association model with a matrix is created. The association matrix defines relations between objects and user wishes or desires triggered by these objects. The association matrix also defines boundaries of these relations. In other words, the relations between an object-desire and application constraints for this pair are defined. For example, a gender, a time of a year, public events, etc. are important constraints for people's behavior and desires.
Note that the associations are based on a variety of factors and mainly on a type of the object. For example, a hotel object has one set of associations, a restaurant object has another set of association, and a car object has yet another association set and so on. The association matrix inherits some of the principles from the "interest graph" concept, and extends them with implementing several new options.
For example, Amy Jo Kim's classification of game players behaviors (compete, explore, collaborate, express) can be used to recognize the words in the content, that are associated with each type of behavior (e.g., words "design, create, build" are related with "express" mood) and associate the mood of a user with the services and activities that are suitable for such a mood. A Maslow pyramid can be used for prioritizing the desires for presentation. Also, relationships among services/products ad categories, which are based on statistic distribution (popularity) of classifications in the resources (like Pinterest) can be used. Extrinsic motivators (status, access, power, stuff) and intrinsic motivators (competence, autonomy, relatedness) classification can also be applied to the content and ads classification. As a result of association, a list of advertisement goals is produced. The association model is formed based on sociological and statistical data. The association model gets constantly updated (taught) in the process of system deployment. Since the content defines and stimulates users' wishes (desires), the content can be analyzed by the NLP only once. Then, a universal model of user wishes can be created by applying the NLP to the association matrix. The ads can be classified according to their relationship to the user's desires, rather than to the classification of the product/services.
In addition to the key words (e.g., brand or product or service name), each object in the content can be associated with several possible activities, which can be performed with the object, i.e., "buy", "booking", "order", "listen", "watch," etc. Also, each object can be associated with some kind of a desire, e.g., "safety," "hunger," "thirst," "curiosity," "love," etc. There can also be key engagement words in the content, e.g. "build," "win," "like," "collect," etc. This can assist in defining the current state of the customer for better targeting of the ads.
FIG. 3 illustrates a flow chart of a method for precise ad selection, in accordance with the exemplary embodiment. In step 310 a publisher add new content to a media source. In step 320, the content and a web-page metadata (i.e. web-page parameters displayed to a viewer. HTML tags defining the page metadata are referred to as meta-tags) are loaded from media source to the ad server. In step 330 the content is analyzed in order to determine user goals (wishes) (to generate attributes of content element, CDs). Then, the user selects a portion of the content in step 340, and the portion of the content and an associated goals (i.e., user goals, attributes of content element) are identified in step 350 and the process move on to step 360.
If in step 360 more than one potential user goal is identified, all potential goals are displayed in step 365 so the user can select one of them. Then, the process goes to step 370, where the goal is selected by the user and the process moves to step 375, where the ads matching the goal and targeting parameters are selected. Then, the process goes to step 380, where a free (organic content) is selected. Then, the process moves to step 390, where location on the computer device screen of the paid content and/or organic content is determined. The relevant information block(s) and/or the organic content are rendered in step 395 and the process ends in step 398.
Note that at the initial stage of the process, a portion of the content selected by the user is determined. The system processes user errors caused by an incorrect user finger position on a computer device screen by approximation of the point of touch with several "guessed" points using a random shift [0-X]. According to the exemplary embodiment, a minimal target area is a sentence. If the finger touch affects more than one sentence, the system automatically includes an entire paragraph. If the finger touch occurs between the paragraphs, both neighboring sentences are used for NLP analysis. In case of computer devices with larger screens, a position within a sentence can be used for analysis.
The paragraphs, for example, in HTML format are geometrical objects with known borders. This allows for determining the paragraph within the text indicated by the computer device user. The geometrical borders of sentences or other parts of a text can be calculated as well in order to determine a particular portion of the text selected by the user. For example the text is:
"UCWeb named India as its second headquarters in April. At that time, co-founder and president Xiaopeng He said the company will seek partnerships across domains and verticals in order ti build a thriving ecosystem in the Indian market, where IC Browser first launched in 2011. Having Ma on its board will be helpful as UCWeb works on entering different sectors." A user interested in knowing more about "UC Browser" can tap on the point near this phrase, but not exactly on it. The application displaying this phrase treats the tap event as bound to the word "where" (before "UC Browser"). The exemplary algorithm helps to find the most probable point of interest. For the exemplary sentence, the "zest" words are: "Xiaopeng" (probably, named entity), "Indian market," "thriving ecosystem" and "UC Browser." Thus, the user can refine his search with "UC Browser" easily only by selection of the term from the list of suggestions.
According to the exemplary embodiment, the media resources are used for precise targeting of the advertisements. The exemplary embodiment uses resource catalog which indicates the content and user history on the resource. For example, certain catalogs used for targeted advertising attract particular audience - e.g., "financial markets," "banking news," "travel," "technical news," "business schools," "small business," "development," "gardening," "real estate," "cars," etc. each have their own audience. The user history collected on the ad server can be used for extending/specifying in more detail a user profile. However, the user history only serves as additional (optional) information.
FIG. 4 illustrates a flow chart of a method for precise selection of the advertisements, in accordance with the exemplary embodiment. In step 410, a portion of the content selected by the user is recognized. A metadata (goals) associated with the selected portion of the content is determined in step 420. Then, the overall content metadata is applied in step 430. This metadata is a metadata of the context of the content, in other words, a metadata is an additional data, which describes the content (keywords, categories, titles, etc, references).
In step 440, the additional restrictions (gender, site, device type, geo location, language, age, gender, etc.) are applied. If more than one potential user goals are detected in step 450, the possible goals are displayed to the user for selection of one in step 460, and the process moves to step 470. Otherwise, the association model (matrix) is applied to the goal in step 470. Subsequently, the restrictions (geo location data, gender, time zone, user device type, website, etc.) are applied to the user goal in step 480. Then, the most relevant ad(s) is found in step 490.
For example, when a person has clicked on a sentence with a description of a restaurant and a music group that is playing in that restaurant that night, in the first step the algorithm has to select between "meal" and "music," and after the customer selects "meal" category and it turns out that the restaurant has a different geographic location than the user (for example, the user is in the US and the restaurant is in France), there is no need to offer that person a booking of a table in that restaurant, but rather it would make more sense to offer him a local restaurant with the same type of cuisine.
For example, the content can be related to cars, but the context can include "buying," "repairs," 'trade," and "sale" categories. The system takes into consideration a user history of visited sites, computer device OS type, computer device model, user financial status, user preferences. The system also takes into consideration the metadata of a current page or metadata of the visited pages, the user search requests, mail messages and social network messages and comments.
According to one exemplary embodiment, the relevant ads can be selected based on key words and a place on the page currently viewed by the user. The context is a hierarchy of a group of words or topics relevant to the content (text) located around the selected word, sentence, paragraph or portion of text. In the exemplary embodiment, the context is analyzed and the relevant ad(s) is shown based on the weight of the text and the metadata including additional information for the targeting of the ads. Note that the entire text is used a meta-link. The ads are formed on the ad server and displayed without changes in the original structure of the pages. The area selected by the user is highlighted as a hyperlink.
According to the exemplary embodiment, the ads that are no longer paid for are not shown. The tracking of the paid ads is performed on the ad server, which sends the notifications. The paid content is stored as a set of records that have data on:
- displays (over a campaign, month, day);
- user visits after clicking on the relevant information block (over a campaign, month, day);
- transactions (sale, call, SMS, etc.);
- calculated price of the ad display, switch to the site, transaction (over a campaign, month, day);
- maximum and minimum numbers of the ad display, switch to the site, transaction (over a campaign, month, day);
- maximum and minimum prices of the ad display, switch to the site, transaction (over a campaign, month, day);
- aggregated price limit;
- aggregated time limit.
According to the exemplary embodiment, the advertiser accounts are incremented and compared against the limits and the relevant information block is marked inactive and is no longer displayed, if the limit is reached. If the account balance is increased, the relevant information block is displayed again. According to the exemplary embodiment, the content is a meta-link. The user can get to the linked page by touch, gesture, eye movement, voice, etc. A click is performed as a special gesture: swipe left or right on paragraph for shifting between the paragraphs. The link is dynamically built based on results of semantic analysis.
The context of a given textual expression (which can consists of one word) in a given text document is a textual element that includes the expression and surrounding text. The range of surrounding is defined by the context level that can take a value from a sentence part, a sentence, a paragraph, an article, a domain set, etc. A certain-level element of the content C is considered meaningful if the set of its meanings A, produced by a function M: A = M(C) is not empty, where M is a Meanings Mapping. The Meanings Mapping is an approximation of a function, defined on the domain of Content structure, and having its range in a limited set of sets of reader's reactions or intents (curiosity, learn more, willing to have, etc).
The Meanings Mapping shows potential reader's interest, which can be triggered by encountering certain parts of the text. The context level is defined for a particular-level textual expression. Proposition: to distinguish the next expression levels, from small elements to a biggest one: Word, Group of words, Sentence component, (sequence of words between commas, etc.), Sentence, Group of sentences, Paragraph. The next context levels for Word: Group of words, Sentence component, Sentence, Group of sentences, Paragraph, Group of paragraphs, Article, Group of articles, Theme section, Domain. For Group of words: Sentence component, Sentence, Group of sentences, Paragraph etc. An algorithm for extracting keywords can be used in this implementation of the invention as follows:
Input: textual element E, quantile q
Output: S - list of keywords/bigrams in CD (Context Descriptor) form
A special form is used to describe keywords as CDs. A simple CD is a pair: (CD_type, CD value), where CD type takes value from {keyword, bigram,...} and CD_value is a normalized (stemmed, lemmed, "lowercased") word or bigram.
1. Extract all textual expressions that satisfies the next patterns:
<arcticle>[adjective]{noun/number}[verb]
[adjective]{noun/number}[verb]
Denotations:
o - exactly one element
{.} - one or more elements
[.] - zero or more elements
Append all these expressions into R multi-set.
2. Remove stop-words (if they are part of the pattern) from expressions. The stop-words are the words of the language which are considered low-informative, garbage or noisy such as articles, propositions, etc.
3. Calculate frequency of words and bigrams included into expressions.
4. Construct a distribution. Sort words and bigrams by this distribution. Choose words and bigrams with maximal frequency, using given quantile q.
Add these words and bigrams into returned set S. Only Meaningful Content is analyzed. An usefulness algorithm can be used as follows:
Input: Web-page P, quantiles ql, q2
Output: Set of meaningful elements M
1. Consider given web-page as a set of HTML headers + HTML elements, P = {hi, hN, el, eM} and Meta information (Meta description + meta content) M = {ml, mK}.
2. Remove elements with low value of text length and elements with large value of relative links concentration from P.
3. Make stemming of words in P and M, delete stop-words.
4. Multiset of meaningful elements S = {} 5. Make text vectorizer based on meta information ml, mK', V[ml, mK'](x) - vector- function. It shows how many words from {ml, mK'} are contained in textual element x.
6. Add into S such elements e from P that satisfies condition sum(V[ml, mK'](e))/len(V[ml, mK']) >= ql, where sum(V[ml, mK'](e)) is a sum of vector elements, len(V[ml, mK']) - length of a vector (that is an equivalent for "a number of function arguments").
7. Find such headers hi,.., hL that:
h: Sum(V[h](x))-> max x from P, where max is the vector of the maximal length. Call it base headers. Make vectorizer V[hl, hL](x)
8. Append to S such elements e from P: sum(V[hl, hL](e))/len(V[hl, hL]) >= q2.
9. Append to S elements that satisfies some geometrical conditions. For example, if base headers set is {hi}, add to S elements that are situated below this header to the next header on the web page.
10. Meaningful elements set M = Unique elements of S.
Semantics analysis is performed when content is being published in real time or when crawling. No additional software for the user is required (everything works in a browser like regular links). All computations are performing on a server-side. The server side consists of the following services:
ContentSemanticServer - responsible for pre-processing units of the Content and storing them in a computer-readable format;
AdFeatureServer - responsible for pre-processing resulting texts and storing them in a computer- readable format;
TargetingServer - responsible for analyzing reader's queries on the content and performing search of matching results, most relevant with respect to reader's intent.
The results types can be used in the exemplary embodiment: Promoted Result, Got from Advertisers, Is pushed, Always actual, the organic Content is displayed when there is no relevant marketed content.
The exemplary organic Results are: Object Reviews, Opinions from Forums (trusted adviser mechanisms), Geographical Points, Price and Selling Info, Similar items. Depending on detected categories organic results can be processed from GOOGLE, WIKIPEDIA, ETSY, etc. The organic or Promoted Results can be stratified by user's intent they aim to serve with respect to the content part: Learn more about, Curious what it is, What's new on this, What people say on this, Where can I get it, How much does it cost, Want to buy it. Note that the organic and Promoted Results are shown at the same time.
FIGs. 5, 6, 7, 8 illustrates displaying ads and organic results on the computer device screen. A size of an each item and a number of items on the screen can vary depending on the type of a computer device screen and on configuration of the mobile application for rendering the items. If several items are present, the items can be rolled up and down as a cycle depicted in FIGs. 5 -8. Note that the user can select an action for each item (e.g., open, like/dislike, send to a friend, etc.) FIG. 9 illustrates processing the content on a computer device using a list of action for pre-defined user requests. A user can move (up, down, left and right) portions of the content over the boarders of the computer device screen using a special gesture. In place of the removed content an action buttons can be shown. The words (goals) from the selected context can be also shown - e.g., guz-guzzlers, vehicles, etc. The user can select one or several words (goals) and/or actions (from buttons or lists) in order to specify the information he needs for feedback or for opening relevant informational data blocks. Thus, the most relevant ads are shown to the user. Note that one or several words/goals can include a number of links to different ads or organic (natural) items that can be shown on the computer device screen (see FIG. 9). Note that the selected content can be turned over by animation means in such a way that the ads and organic content items and word lists are shown from the behind of the content. The mobile device screen can have a special element which allows for moving portions of the content of the web page in order to display goals.
According to the exemplary embodiment, the system turns the entire content into an active link. The system employs an association model describing possible wishes and actions of the user that can be taken based on the object content. In other words, the system presents the user with actions if the object is of interest to the user. For example, an association for a "hotel" object can be "booking the rooms," for a "restaurant" - "reserving a table," etc.
According to the exemplary embodiment, the relevant data is determined for a user based on available data (geo location data, personal data, time zone, type of a computer device, etc.). Thus, after the model is created for one user, it can be used for other similar users. This saves a large amount of advertising resources. A user can determine his advertisement choice at any moment, which reduces a negative effect of regular ads.
FIG. 10 illustrates a flow chart of a method for precise selection of advertisements, in accordance with the exemplary embodiment. An advertiser can create a new relevant information block or a target group or a campaign in step 710 (i.e. create a new add) and manually define the key words, and also he can manually define the targeting parameters. The targeting parameters - a list of attributes of Ad which describe the audience this Ad should be displayed to, including user age, gender, geo location, user viewing history, media site statistics, web site content, page metadata, etc. any social info about the user available globally, its browsing history or search queries. If the key words are defined in step 720, the key words are converted into CDS in step 740, and the process goes to step 750. Note that steps 720 and 725 are independent and can be executed in parallel or sequentially. If the targeting parameters are defined in step 725, then CDs are created based on the on the targeting parameters in step 727, and the process goes to step 750. The advertiser can also specify the URLs of his products or services. Otherwise, the key words are created automatically by PageToCDS algorithm in step 730. An ad category can be automatically determined for each relevant information block in step 750 using the following algorithm :
Derive relevant information block CDSs using key words;
Determine a leading category or categories for the relevant information block based on a voting algorithm;
A target group category is determined as a set of relevant information block categories of the target group ordered in the descending order of occurrence frequency; A CDS and a category are derived from the context. A heuristic algorithm for finding the key words specific for the page and for the entire category is applied. The parts of speech analysis of the text is performed. The CDS sets are created and the categories are determined by voting.
A relevant ad for a context is determined as an ad, which has a category that corresponds to the category of the context. Sorting of ads can be implemented by voting algorithm: CDSs of the context vote for relevant information block CDSs. A number of CDS votes are calculated for each relevant information block and the relevant information blocks are sorted in descending order of votes.
CDS is an entity which has a context object (i.e., keywords, bigram) and a weight assigned to the object. The higher the weight, the higher the importance of the object. A voting algorithm is implemented as follows. The candidate objects and voter objects have their properties and weights. Initially, the votes for each candidate equal to zero. Then, for each candidate and for each property the weight of the property is added to the candidates that have this property. The winning candidates are the objects that collected the most votes.
Then, the process goes to step 755. If the excluded categories are added by the advertiser, then set of major ad categories are updated in step 760:
adult, automotive, business, finance money, entertainment news and gossip, food and drink, games, health and fitness, movies tv, music, news and weather, shopping, social networking, society - latino, society - men's lifestyle, society - women's lifestyle, sports, style and fashion, technology, travel, utilities, etc.
Then, for each of the categories, a set of context descriptors (CDS) entities containing text features (keywords, bigrams) is created in step 765. The CDS describe page data as follows:
- A set of search phrases for a category is created;
- A set of search phrases for a category is created;
- A page URLs that are considered basic for a given category is derived using a search system API. An arbitrary number of URLs can be derived.
- Each page is processed by an algorithm PageToCDS, which converts the page content into a set of CDSs. The CDSs are used as coordinates in the space of context to measure similarity or relevance between them. A cosine matrix is used for calculation of the CBSs.
A set of CDSs ordered in a descending order based on occurrence frequency defines a category. The most frequent CDS describe a category better than the less frequent ones. An algorithm for deriving CDSs can be manually modified in order to filter results of PageToCDS algorithm.
Then, the process moves to step 770. The process stores the set of CDs onto a server. In step 775 a user select a content (or portion of the content). The process finds the key words in the selected content in step 780. Then the process goes to step 782, where categories from the key words are determined, and in step 784 the system determine addition items based on the targeting parameters. The process selects ads by matching categories from the server in step 785. The selected ads are rendered to a user in step 790.
According to the exemplary embodiment, the PageToCDS algorithm is used. The page metadata is selected and the stop words are deleted. The page headers are selected and the stop words are deleted from them. The paragraphs with the content that is close to metadata/headers and the stop words are deleted. The most frequently used keywords/big rams are selected from the aggregated text. The keywords/bigrams are converted into CDSs. The weights are assigned based on the location of the keywords/bigrams - the paragraph is assigned a higher weight and the header is assigned a lower weight.
FIG. 11 illustrates mobile device screens. The relevant data is displayed according to user goals/wishes selected based on the context of the content. Once the relevant data block display element is activated the goals/wishes-related data is displayed. For example, a portion of the text can be turned over, thus the goals are displayed and the user can select one of the goals. Once the goal is selected, the relevant data blocks are displayed.
FIG. 12 illustrates precise selection of advertisements and graphical presentation of targeted ads to the user. The user can select a portion of the content 910. An item 940 is displayed over the content or in the browser menu or in a fold down menu. The user can open an additional window 960 (e.g. a new window in the browser or a window in the current browser). The ad or organic content 985 and 990 can be rendered in the window 960 in a designated area 970 along with items 980 (search, text, YouTube, etc.) reflecting user intents. The displayed ad or organic content 985 and 990 is selected based on: content analysis, content category, language, selected area of the content and user intents. Note that the user intent is explicitly displayed along with the free organic content.
FIG. 13 illustrates a flow chart for an exemplary of PageToCD algorithm using a search for relevant pages. In step 1005 metadata (M) is collected across the URLs (keywords, content). Note that the metadata may not be available. The metadata is provided by the publisher (e.g., in tags <meta> auto sales </meta>). In step 1010, the metadata is cleared from stop words. In step 1015, the data from the headers (e.g., <head>) and from the selected words is collected and cleared from the stop words in step 1020. In step 1025, the data from paragraphs is collected and cleared from tags in step 1030.
In step 1035, the cleared metadata from step 1010 and header data plus selected words from step 1020 is vectorized: V=vectorize(M'+H'). In step 1040, the process checks if V > 0. If V>0, the process moves to step 1041. If V<=0 (i.e., a set of metadata and headers is empty), the process moves to step 1077 where a set of all textual elements (paragraphs, parts of sentences, parts of text, words, parts of words, etc.) is made to equal to R. Then, the process moves to step 1050.
In step 1041, the set of paragraphs P' (or portion of content, for example two or more paragraphs, recognized information in the selected portion of the image, video, or audio) is divided into chunk of text Ti, and the process goes to step 1045.
In step 1045, the process checks if any text (content: part of image, part of text and etc.) Ti is left. If the text exists, the next text Ti is acquired in step 1046. In step 1047, the element Pi is vectorized: VTi=V(Ti), where VTi is a product of vectorization. In step 1048, the text element Ti is applied to basic vectorizer V, which produces a vector of coordinates and the process checks if a sum of vector coordinates divided by a size of the vector is larger than a, where a is a level above which the paragraph is taken. The a is determined empirically and typically is within a range 0.14 -0.16. If, in step 1048, the condition is not met, the paragraph is not included into array of possible paragraphs to be displayed and the process returns to step 1045. Otherwise, current Ti is added to R and a number i of the text element is added to I in step 1049. If, in step 1057, a number of a current paragraph differs from previously recorded by more than one, the process takes one of unchecked skipped paragraphs in step 1058. Otherwise, the process returns to step 1045.
In step 1059, the process checks if a sum of vector coordinates divided by a size of the vector is larger than a/2, where a is a level above which the paragraph is taken. If the condition is not met, the process returns to step 1045. Otherwise, if the condition is met the process moves to step 1060, where the skipped paragraph is added to R and its number is added to I. Then, in step 1061, the process checks if all skipped paragraphs are checked, if not all the skipped paragraphs have been checked, the process returns to step 1058. Otherwise, the process goes to step 1045.
If, in step 1045 no Ti is left, the process goes to step 1050, where the M' and H' are added to resulting paragraphs in step 1050. Otherwise the process goes to step 1071.
Then, in step 1052, the element is vectorized: VR=V(R), where VR is a product of vectorization. The VR is sorted by frequency of occurence in step 1053. In step 1054, the features are selected (or chosen) by quantile. The selected data is rendered to a user in step 1055.
FIG. 14 illustrates a flow chart for an exemplary of PageToCD algorithm. In step 1005 metadata (M) is collected across the URLs (keywords, content). Note that the metadata may not be available. The metadata is provided by the publisher (e.g., in tags <meta> auto sales </meta>). In step 1010, the metadata is cleared from stop words. In step 1015, the data from the headers (e.g., <head>) and from the selected words is collected and cleared from the stop words in step 1020. In step 1025, the data from paragraphs is collected and cleared from tags in step 1030.
In step 1035, the cleared metadata from step 1010 and header data plus selected words from step 1020 is vectorized: V=vectorize(M'+H'). In step 1040, the process checks if V > 0. If V>0, the process moves to step 1041. If V<=0 (i.e., a set of metadata and headers is empty), the process moves to step 1077 where a set of all textual elements (paragraphs, parts of sentences, parts of text, words, parts of words, etc.) is made to equal to R. Then, the process moves to step 1050.
In step 1041, the set of paragraphs P' (or portion of content, for example two or more paragraphs, recognized information in the selected portion of the image, video, or audio) is divided into chunk of text Ti, and the process goes to step 1045.
In step 1045, the process checks if any text Ti is left. If the text exists, the next text Ti is acquired in step 1046. In step 1047, the element Pi is vectorized: VTi=V(Ti), where VTi is a product of vectorization. In step 1048, the text element Ti is applied to basic vectorizer V, which produces a vector of coordinates and the process checks if a sum of vector coordinates divided by a size of the vector is larger than a, where a is a level above which the paragraph is taken. The a is determined empirically and typically is within a range 0,14 -0,16. If, in step 1048, the condition is not met, the paragraph is not included into array of possible paragraphs to be displayed and the process returns to step 1045. Otherwise, current Ti is added to R and a number i of the text element is added to I in step 1049, and the process goes back to step 1045.
If, in step 1045 no Ti is left, the process takes a number of a first paragraph Plin step 1065. In step 1067, the process takes a number of the next paragraph stored in I. Note that process of checking the paragraphs can be started from a last paragraph or from any written paragraph if the paragraphs are selected randomly. In step 1069, the process checks if a number of a current paragraph differs from a previously recorded paragraph by more than 1.
If this condition is met, the process takes one of unchecked skipped paragraphs in step 1070. Otherwise, the process moves to step 1071, where a number of the next paragraph from step 1067 becomes a current number and the process returns to step 1067. In step 1072, the process checks if a sum of skipped vector coordinates divided by a size of the skipped vector is larger than a/2. If this condition is not met, the process returns to step 1071.
Otherwise, the process moves to step 1073, where the skipped paragraph is added to R and its number is added to I. Then, in step 1074, the process checks if all skipped paragraphs between the two paragraphs are checked. If not all paragraphs have been checked, the process returns to step 1070. Otherwise, the process checks, in step 1075, if it is the last the paragraph number. If the paragraph number is the last one, the M' and H' are added to resulting paragraphs in step 1050. Otherwise the process goes to step 1071, where a number of the next paragraph becomes current. Then, the process returns to step 1067.
Then, in step 1052, the element is vectorized: VR=V(R), where VR is a product of vectorization. The VR is sorted by frequency of occurence in step 1053. In step 1054, the features are selected (or chosen) by quantile. The selected data is rendered to a user in step 1055.
The above algorithm for analyzing text elements of web pages PageToCD is an exemplary implementation of a ContentToCD algorithm:
The transformation parameters ToCD are defines as ToCD = {ImageToCD, usicToCD, VideoToCD, PartOflmageToCD ...} of some non-textual content descriptors. In case of music, the speech is selected and recorded onto CD. For images, the algorithm recognizes the images, describes them and stores them to CD. For video content, the algorithm divides the content into audio stream and images and processes them separately. The algorithm determines the extractor of base elements E - the algorithm can derive a metadata and a header. The extractor takes into consideration the page geometry and the current view and determines relevancy quintile q.
The algorithm performs the following steps:
1.. Define textual content T and none-textual content P;
2. For P apply transformation:
Make a set of transformed element P' empty;
For each p from P:
Determine type y = Type (p)
Apply transformation ToCD (y, p) for a given type and receive descriptors and add descriptors as a separate set into P';
3. For T, derive a set of transformed elements T' and store t from T onto CD;
4. Derive T' U P'. Determine base elements B = E (Τ' U P'). Other elements are A = (Γ U P') \ B; 5. Aggregate all CD elements from B into one set V of unique elements. Determine the order and generate vector-function of vector argument CV, which calculates a number of intersections of element form V with an arbitrary set . Additionally, a weight vector can be created by applying B to V. Then, CV multiplies a number of intersections by weight.
6. A set of relevant R is made empty; For each a from A:
If sum(CV(a))/len(CV) >= q, add a to R;
Check the skipped elements, if found, decrease the quintile in half and add a to R;
7. Select CD for elements RUB by the quintile;
8. Release resulting CDs.

Claims

Claims:
1. A method for rendering content-based relevant information on a computing device, the method comprising:
generating relevant data blocks based on categories, content portion and targeting parameters; receiving a content from a media source on the computing device;
displaying the content to a computing device user;
loading the content to an ad server;
establishing a connection to the ad server from the computing device;
analyzing the content by the ad server; generating attributes associated with content elements based on the content analysis;
recognizing a portion of the content selected by the computing device user;
deleting stop words from the content;
determining the attributes associated with content elements associated with the content and a selected portion of the content;
defining potential computing device user goals based on the attributes associated with the portion of the content;
displaying the potential user goals to the computing device user; determining the goal selected by the computing device user; applying an association matrix to the selected computing device user goal;
selecting at least one relevant data block corresponding to a computing device user goal;
loading a relevant data block to the computing device from the ad server; and
displaying the relevant data block on the computing device screen.
2. The method of claim 1, further comprising displaying a relevant organic content to the computing device user, if a relevant ad is not found.
3. The method of claim 1, further comprising defining the potential computing device user goals based on the attributes associated with content elements associated with the portion of the content and attributes associated with the whole content.
4. The method of claim 1, further comprising converting the key words and context of a portion of content into Context Descriptors (CDs); generating a set of key words from the content selected by the computing device user by PageToCDs algorithm; and determining a category of the relevant data block to be displayed based on advertiser-defined key words, targeting parameters, categories and displaying the ad, if the content is related to defined key words.
5. The method of claim 4, further comprising determining data block categories by voting.
6. The method of claim 1, further comprising generating a set of key words from a context of the content portion selected by the computing device user and further comprising performing parts of speech analysis of the content in order to detect key words.
7. The method of claim 1, further comprising converting an element or a set of elements of a page into an active link(s).
8. The method of claim 3, further comprising determining attributes associated with the portion of the content, key words, metadata of web pages, tags, metadata associated with a header of a web page associated with portion of the content selected by the computing device user; and selecting the relevant data block based on the attributes associated with the portion of the content, the content attributes and the context of the portion of the content attributes.
9. The method of claim 1, further comprising applying heuristic algorithm for finding key words in the content.
10. The method of claim 1, further comprising applying restrictions to the relevant data blocks based of the targeting parameters, wherein the restrictions are any of: a computing device user geo location;
a language of the computing device user;
an age of the computing device user;
documents viewing history;
computing device user internet browsing history;
media site statistics;
web site portion content; page metadata;
computing device user social profile data;
tags associated with the current computing device user provided by third-party services (DMP, DSP); and a type of the computing device; and a type of an operating system of the computing device.
11. The method of claim 1, further comprising receiving a computing device user feedback to the displayed relevant data block and sending the computing device user feedback to the ad server.
12. The method of claim 1, further comprising determining a location of the data block on a computing device, determining a number of displayed relevant data blocks and ordering ads based on relevance of data blocks.
13. The method of claim 1, further comprising emulation of unlimited scrolling of the relevant data blocks, and comprising cycling of the relevant data blocks.
14. The method of claim 1, further comprising making areas of the data blocks active for performing computing device user actions, where computing device user actions are any of: displaying detailed data;
displaying image;
displaying 3-D model;
playing audio and video; and
displaying additional text.
15. A system for rendering content-based advertisements on a computing device, the system comprising:
an ad server configure to process content, store and select ads;
ad libraries connected to the ad server, the ad libraries configured to integrate the ad server with the computing device; and a media server configured to store the content and provide the content to the computing device; wherein:
the media server is configured to analyze the content;
the system is configured to receive a computing device user feedback to the displayed relevant data block and to send the user feedback to the ad server; the ad libraries are configured to:
determine the metadata associated with a content selected by a computing device user;
define potential computing device user goals based on metadata associated with the selected content;
display potential computing device user goals to the computing device user;
provide organic content to the computing device;
detect the content selected by the computing device user and the context of the portion of the content for analyzing content metadata;
determine a goal selected by the computing device user; and
select at least one ad relevant to the selected computing device user goal and to load the ad to the computing device from the ad server.
PCT/RU2014/000737 2014-10-01 2014-10-01 Method for rendering relevant context-based information WO2016053130A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
RU2014139782A RU2683482C2 (en) 2014-10-01 2014-10-01 Method of displaying relevant contextual information
RU2014139782 2014-10-01

Publications (1)

Publication Number Publication Date
WO2016053130A1 true WO2016053130A1 (en) 2016-04-07

Family

ID=55631032

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/RU2014/000737 WO2016053130A1 (en) 2014-10-01 2014-10-01 Method for rendering relevant context-based information

Country Status (2)

Country Link
RU (1) RU2683482C2 (en)
WO (1) WO2016053130A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018070563A1 (en) * 2016-10-12 2018-04-19 엘지전자 주식회사 Display device and method for operating same
CN109522426A (en) * 2018-12-05 2019-03-26 北京达佳互联信息技术有限公司 Multi-medium data recommended method, device, equipment and computer readable storage medium
CN110519250A (en) * 2019-08-20 2019-11-29 上海掌门科技有限公司 It is a kind of that the method and apparatus of information flow is provided
CN110795544A (en) * 2019-09-10 2020-02-14 腾讯科技(深圳)有限公司 Content search method, device, equipment and storage medium

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110941949B (en) * 2019-11-21 2020-12-11 望海康信(北京)科技股份公司 Data table rendering control method and device, computer equipment and storage medium

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110191315A1 (en) * 2010-02-04 2011-08-04 Yahoo! Inc. Method for reducing north ad impact in search advertising
US20130024507A1 (en) * 2011-07-18 2013-01-24 Yahoo!, Inc. Analyzing Content Demand Using Social Signals
US20130340095A1 (en) * 2011-06-22 2013-12-19 Skyhook Wireless, Inc. Method of and Systems for Privacy Preserving Mobile Demographic Measurement of Individuals, Groups and Locations Over Time and Space
US20140067542A1 (en) * 2012-08-30 2014-03-06 Luminate, Inc. Image-Based Advertisement and Content Analysis and Display Systems
US20140149922A1 (en) * 2012-11-29 2014-05-29 Jasper Reid Hauser Infinite Bi-Directional Scrolling
US20140244580A1 (en) * 2013-02-25 2014-08-28 Amazon Technologies, Inc. Predictive storage service

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100977118B1 (en) * 2006-05-16 2010-08-23 주식회사 케이티 Context related advertisement/information exposure method and their recommendation service system to enhance relativity
EP2164247A3 (en) * 2008-09-12 2011-08-24 Axel Springer Digital TV Guide GmbH Method for distributing second multi-media content items in a list of first multi-media content items
US20110015996A1 (en) * 2009-07-14 2011-01-20 Anna Kassoway Systems and Methods For Providing Keyword Related Search Results in Augmented Content for Text on a Web Page
KR20120068822A (en) * 2010-01-25 2012-06-27 훕즈 플라넷 인포 프라이베이트 리미티드 An advertising system
US20130246184A1 (en) * 2012-03-13 2013-09-19 PowerLinks Media Limited Method and system for displaying a contextual advertisement on a webpage

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110191315A1 (en) * 2010-02-04 2011-08-04 Yahoo! Inc. Method for reducing north ad impact in search advertising
US20130340095A1 (en) * 2011-06-22 2013-12-19 Skyhook Wireless, Inc. Method of and Systems for Privacy Preserving Mobile Demographic Measurement of Individuals, Groups and Locations Over Time and Space
US20130024507A1 (en) * 2011-07-18 2013-01-24 Yahoo!, Inc. Analyzing Content Demand Using Social Signals
US20140067542A1 (en) * 2012-08-30 2014-03-06 Luminate, Inc. Image-Based Advertisement and Content Analysis and Display Systems
US20140149922A1 (en) * 2012-11-29 2014-05-29 Jasper Reid Hauser Infinite Bi-Directional Scrolling
US20140244580A1 (en) * 2013-02-25 2014-08-28 Amazon Technologies, Inc. Predictive storage service

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018070563A1 (en) * 2016-10-12 2018-04-19 엘지전자 주식회사 Display device and method for operating same
US11010037B2 (en) 2016-10-12 2021-05-18 Lg Electronics Inc. Display device and operating method thereof
CN109522426A (en) * 2018-12-05 2019-03-26 北京达佳互联信息技术有限公司 Multi-medium data recommended method, device, equipment and computer readable storage medium
CN110519250A (en) * 2019-08-20 2019-11-29 上海掌门科技有限公司 It is a kind of that the method and apparatus of information flow is provided
CN110519250B (en) * 2019-08-20 2022-04-15 南京尚网网络科技有限公司 Method and equipment for providing information flow
CN110795544A (en) * 2019-09-10 2020-02-14 腾讯科技(深圳)有限公司 Content search method, device, equipment and storage medium
CN110795544B (en) * 2019-09-10 2023-07-21 腾讯科技(深圳)有限公司 Content searching method, device, equipment and storage medium

Also Published As

Publication number Publication date
RU2014139782A (en) 2016-04-20
RU2683482C2 (en) 2019-03-28

Similar Documents

Publication Publication Date Title
US10810357B1 (en) System and method for selection of meaningful page elements with imprecise coordinate selection for relevant information identification and browsing
Fan et al. Sentiment-oriented contextual advertising
US9552424B2 (en) Peer-to-peer access of personalized profiles using content intermediary
US9009152B2 (en) Smart widgets
US9189562B2 (en) Apparatus, method and program product for classifying web browsing purposes
KR101506380B1 (en) Infinite browse
US9262766B2 (en) Systems and methods for contextualizing services for inline mobile banner advertising
US8311997B1 (en) Generating targeted paid search campaigns
US20110213655A1 (en) Hybrid contextual advertising and related content analysis and display techniques
CN107784092A (en) A kind of method, server and computer-readable medium for recommending hot word
US20130241952A1 (en) Systems and methods for delivery techniques of contextualized services on mobile devices
US20130054672A1 (en) Systems and methods for contextualizing a toolbar
US20130054356A1 (en) Systems and methods for contextualizing services for images
US20190303413A1 (en) Embedding media content items in text of electronic documents
WO2011008771A1 (en) Systems and methods for providing keyword related search results in augmented content for text on a web page
US10909196B1 (en) Indexing and presentation of new digital content
US11113722B2 (en) Providing content related to sentiment of product feature
RU2683482C2 (en) Method of displaying relevant contextual information
KR100671284B1 (en) Method and system for providing web site advertisement using content-based classification
EP2513852A2 (en) Method and system for automatically identifying related content to an electronic text
JP4859893B2 (en) Advertisement distribution apparatus, advertisement distribution method, and advertisement distribution control program
Malhotra et al. A comprehensive review from hyperlink to intelligent technologies based personalized search systems
US8195458B2 (en) Open class noun classification
JP5844887B2 (en) Support for video content search through communication network
Wen Development of personalized online systems for web search, recommendations, and e-commerce

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 14903405

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 14903405

Country of ref document: EP

Kind code of ref document: A1