US20180052855A1 - Method for learning a latent interest taxonomy from multimedia metadata - Google Patents
Method for learning a latent interest taxonomy from multimedia metadata Download PDFInfo
- Publication number
- US20180052855A1 US20180052855A1 US15/798,700 US201715798700A US2018052855A1 US 20180052855 A1 US20180052855 A1 US 20180052855A1 US 201715798700 A US201715798700 A US 201715798700A US 2018052855 A1 US2018052855 A1 US 2018052855A1
- Authority
- US
- United States
- Prior art keywords
- attributes
- concepts
- metadata
- digital multimedia
- knowledge graph
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
- 238000000034 method Methods 0.000 title claims abstract description 42
- 238000013507 mapping Methods 0.000 claims description 7
- 238000011156 evaluation Methods 0.000 claims description 4
- 239000011159 matrix material Substances 0.000 description 19
- 238000010801 machine learning Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 239000000284 extract Substances 0.000 description 8
- 230000008901 benefit Effects 0.000 description 6
- 238000004590 computer program Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000002776 aggregation Effects 0.000 description 5
- 238000004220 aggregation Methods 0.000 description 5
- 238000000605 extraction Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 230000000875 corresponding effect Effects 0.000 description 4
- 239000008186 active pharmaceutical agent Substances 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 239000011435 rock Substances 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000012706 support-vector machine Methods 0.000 description 2
- 241000566613 Cardinalis Species 0.000 description 1
- 244000309464 bull Species 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000012517 data analytics Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000004880 explosion Methods 0.000 description 1
- 230000010006 flight Effects 0.000 description 1
- 238000007477 logistic regression Methods 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0251—Targeted advertisements
- G06Q30/0269—Targeted advertisements based on user profile or attribute
-
- G06F17/3053—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2379—Updates performed during online database operations; commit processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
- G06F16/24578—Query processing with adaptation to user needs using ranking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/285—Clustering or classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/40—Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
- G06F16/48—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/58—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/583—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9024—Graphs; Linked lists
-
- G06F17/30247—
-
- G06F17/30377—
-
- G06F17/30598—
-
- G06F17/30958—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/51—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/53—Querying
- G06F16/532—Query formulation, e.g. graphical querying
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/58—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
- G06F16/583—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
- G06F16/5838—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using colour
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/9038—Presentation of query results
-
- G06F17/30038—
-
- G06F17/30256—
-
- G06F17/30277—
-
- G06F17/3028—
-
- G06F17/30991—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
- G06N5/048—Fuzzy inferencing
Definitions
- Embodiments of the present disclosure generally relate to data analytics. More specifically, embodiments presented herein relate to learning latent interests based on image or video metadata.
- the images can represent mementos of various times and places experienced in an individual's life.
- mobile devices e.g., smart phones, tablets, etc.
- mobile devices allow individuals to easily capture both digital images as well as record video.
- cameras in mobile devices have steadily improved in quality and are can capture high-resolution images.
- mobile devices now commonly have a storage capacity that can store thousands of images. And because individuals carry smart phones around with them, they can capture images and videos virtually anywhere.
- One embodiment presented herein describes a method for identifying latent relationships between interests based on metadata of a plurality of digital multimedia objects.
- the method generally includes evaluating metadata associated with each digital multimedia object against a knowledge graph, where the knowledge graph is built from data including information external to each of the digital multimedia objects and where the knowledge graph provides a plurality of attributes.
- the method also includes associating, based on the evaluation, one or more of the plurality of attributes with each of the digital multimedia objects, the one or more attributes correlating with a time and a location described in the metadata of that object.
- the method further includes identifying one or more concepts from attributes associated to each of the objects, and mapping each of the plurality of attributes to the one or more concepts.
- inventions include, without limitation, a computer-readable medium that includes instructions that enable a processing unit to implement one or more aspects of the disclosed methods as well as a system having a processor, memory, and application programs configured to implement one or more aspects of the disclosed methods.
- FIG. 1 illustrates an example computing environment, according to one embodiment.
- FIG. 2 further illustrates the mobile application described relative to FIG. 1 , according to one embodiment.
- FIG. 3 further illustrates the analysis tool described relative to FIG. 1 , according to one embodiment.
- FIG. 4 illustrates an example user interest taxonomy, according to one embodiment.
- FIG. 5 illustrates a method for determining a set of concepts based on image metadata, according to one embodiment.
- FIG. 6 illustrates a method for generating a user interest taxonomy based on image metadata, according to one embodiment.
- FIG. 7 illustrates an example application server computing system, according to one embodiment.
- FIG. 8 illustrates an example concept-attribute matrix, according to one embodiment.
- Embodiments presented herein describe techniques for inferring user interests from metadata associated with digital multimedia (e.g., images and video).
- Digital multimedia provides a wealth of information which can be evaluated to determine a variety of valuable insights about individuals taking images (e.g., advertisers, marketers, and the like). For example, assume an individual takes pictures at a golf course using a mobile device (e.g., a smart phone, tablet, etc.). Further, assume that the pictures are the only indication the individual was at the golf course (e.g., because the individual made only cash purchases and signed no registers). Metadata associated with this image can place the individual at the golf course at a specific time. Further, event data could be used to correlate whether there was going on at that time (e.g., a specific tournament). Such information may be useful to third parties, e.g., for targeted advertising and recommendations.
- a mobile device e.g., a smart phone, tablet, etc.
- Metadata associated with this image can place the individual at the golf course at a specific time. Further
- an advertiser might not be able to identify an effective audience for targeting a given product or service based on such information alone. Even if image metadata places an individual at a golf course at a particular point of time, the advertiser might draw inaccurate inferences about the individual. For example, the advertiser might assume that because the metadata places the individual at a high-end golf course, the individual is interested in high-end golf equipment. The advertiser might then recommend other high-end equipment or other golf courses to that individual. If the individual rarely plays golf or does not usually spend money at high-end locations. Such recommendations may lead to low conversion rates for the advertiser. Historically, advertisers have been generally forced to accept low conversation rates, as techniques for identifying individuals likely to be receptive to or interested in a given product or service are often ineffective.
- Embodiments presented herein provide techniques to infer interests over a userbase based on metadata of digital multimedia. Specifically, embodiments describe techniques for learning latent concepts from metadata attributes of digital multimedia (e.g., images and video).
- a multimedia service platform provides a software development kit (SDK) that may third parties (e.g., retailers, marketers, etc.) may use to build mobile applications that extracts metadata from digital multimedia captured and stored on a mobile device.
- SDK software development kit
- the mobile application can use APIs included in the SDK to upload images and videos to the platform from a mobile device.
- the multimedia service platform may identify patterns from metadata extracted from images and videos of many users.
- the metadata may describe where and when a given image was taken.
- embodiments presented herein can identify latent relationships between different categories, topics, or subjects (referred to generally as interests or user interests) from multimedia collections of multiple users. For example, if many users take pictures at golf courses also take pictures at an unrelated event (e.g., take pictures of a traveling museum exhibit) then the system can discover a relationship between these otherwise unrelated interests. Thereafter, advertising related to golfing products and services could be targeted to individuals who publish pictures of the travelling museum exhibit, regardless of any other known interest in golf.
- an unrelated event e.g., take pictures of a traveling museum exhibit
- the multimedia service platform evaluates metadata corresponding to each image or video submitted to the platform against a knowledge graph.
- the knowledge graph provides a variety of information about events, places, dates, times, etc. that may be compared with the metadata of a given image.
- the knowledge graph may include weather data, location data, event data, and online encyclopedia data.
- attributes associated with an event may include a name, location, start time, end time, price range, etc.
- the multimedia service platform correlates spatiotemporal metadata from a digital image with a specific event in the knowledge graph. That is, the knowledge graph is used to impute attributes related to events, places, dates, times, etc., to a given digital multimedia file based on the metadata provided with that file.
- the analysis tool represents attributes imputed to digital multimedia in a user-attribute matrix, where each row of the matrix represents a distinct user and each column represents an attribute from the knowledge graph that can be imputed to a digital multimedia file.
- the analysis tool may add columns to the user-attribute matrix as additional attributes are identified.
- the cells of a given row indicate how many times a given attribute has been imputed to a digital multimedia file published by a user corresponding to that row. Accordingly, when the analysis tool imputes an attribute to a digital multimedia file (based on the file metadata), a value for that attribute is incremented in the user-attribute matrix. Doing so allows the multimedia service platform to identify useful information about that user.
- the analysis tool may identify that a user often attends sporting events, movies, participates in a particular recreational event (e.g., skiing or golf), etc.
- the analysis tool may identify information about events that the user attends, such as whether the events are related to a given sports team, whether the events are related to flights from an airport, a range specifying how much the event may cost, etc.
- the multimedia service platform learns concepts from the attribute distribution.
- a concept is a collection of one or more identified attributes.
- the multimedia service platform may perform machine learning techniques to learn concepts from the attributes of the user-attribute matrix. Such techniques may group attributes by co-occurrences. For instance, “travel,” “winter,” “Park City,” and “skiing” may frequently co-occur. As a result, the machine learning techniques may group these co-occurring attributes into a concept (e.g., a “skiing” concept). Further, the multimedia service platform may score an attribute to each respective concept.
- the multimedia service platform may associate attributes that satisfy specified criteria (e.g., the top five scores per concept, attributes exceeding a specified threshold, etc.) to a given concept.
- an interest taxonomy is a hierarchical representation of user interests.
- the interest taxonomy can identify general groups (e.g., sports, music, and travel) and sub-groups (e.g., basketball, rock music, and discount airlines) of interest identified from the concepts.
- the multimedia service platform may use the interest taxonomy to discover latent relationships between concepts. For example, the multimedia service platform may build a predictive learning model using the interest taxonomy.
- an analysis tool may extract metadata particular to a type of the multimedia, e.g., the length of a video, which can be used relative to the techniques described herein.
- FIG. 1 illustrates an example computing environment 100 , according to one embodiment.
- the computing environment 100 includes mobile devices 105 , an extract, transform, and load (ETL) server 110 , an application server 115 , and a third party system 120 , connected to a network 125 (e.g., the Internet).
- ETL extract, transform, and load
- the mobile devices 105 include a mobile application 106 which allows users to interact with a multimedia service platform (represented by the ETL server 110 and the application server 115 ).
- the mobile application 106 is developed by a third-party enterprise (e.g., a retailer, social network provider, fitness tracker developer, etc.).
- the mobile application 106 may send images 108 and associated metadata to the multimedia service platform.
- the mobile application 106 may access APIs exposed by a software development kit (SDK) distinct to the platform.
- SDK software development kit
- the mobile application 106 may access a social media service (application service 116 ) provided by the service platform.
- the social media service allows users to capture, share, and comment on images 108 as a part of existing social networks (or in conjunction) with those social networks. For example, a user may publish images 108 captured using a camera on mobile device 105 to a specified social network.
- the application 106 retrieves metadata and images 108 and metadata to the multimedia service platform.
- the multimedia service platform uses the metadata to infer latent interests of the userbase as well as latent relationships between the interests.
- the mobile application 106 extracts Exchangeable Image Format (EXIF) metadata from each image 108 .
- the mobile application 106 can also extract other metadata (e.g., PHAsset metadata in Apple iOS devices) describing additional information, such as GPS data.
- the mobile application 106 may perform extract, transform, and load (ETL) operations on the metadata to format the metadata for use by components of the multimedia service platform. For example, the mobile application 106 may determine additional information based on the metadata, such as whether a given image was taken during daytime or nighttime, whether the image was taken indoors or outdoors, whether the image is a “selfie,” etc. Further, the mobile application 106 also retrieves metadata describing application use.
- Such metadata includes activity by the user on the mobile application 106 , such as image views, tagging, etc. Further, as described below, the mobile application 106 provides functionality that allows a user to search through a collection of images by the additional metadata, e.g., searching a collection of images that are “selfies” and taken in the morning.
- the ETL server 110 includes an ETL application 112 .
- the ETL application 112 receives streams of image metadata 114 (e.g., the EXIF metadata, PHAsset metadata, and additional metadata) from mobile devices 105 . Further, the ETL application 112 cleans, stores, and indexes the image metadata 114 for use by the application server 115 . Once processed, the ETL application 112 may store the image metadata 114 in a data store (e.g., such as in a database or a Hadoop-based storage infrastructure such as Hive) for access by the application server 115 .
- a data store e.g., such as in a database or a Hadoop-based storage infrastructure such as Hive
- the application service 116 communicates with the mobile application 106 .
- the application server 115 may be a physical computing system or a virtual machine instance in a computing cloud. Although depicted as a single server, the application server 115 may comprise multiple servers configured as a cluster (e.g., via the Apache Spark framework, via a Hadoop-based storage infrastructure, etc.).
- a clustered architecture allows the application servers 115 to process large amounts of images and image metadata sent from mobile applications 106 .
- the application server 115 includes an analysis tool 117 , a knowledge graph 118 , and a user interest taxonomy 119 .
- the user interest taxonomy 119 represents interests inferred from image attributes identified from the knowledge graph 118 based on the image metadata 114 from image collections of multiple users.
- the knowledge graph 118 includes a collection of attributes which may be imputed to an image.
- Example attributes include time and location information, event information, genres, price ranges, weather, subject matter, and the like.
- the analysis tool 117 builds the knowledge graph 118 using weather data, location data, events data, encyclopedia data, and the like from a variety of data sources.
- the analysis tool 117 imputes attributes from the knowledge graph 118 to an image 108 based on the metadata 114 . That is, the analysis tool 117 may correlate time and location information in image metadata 114 to attributes in the knowledge graph 118 . For example, assume that a user captures an image 108 of a baseball game. Metadata 114 for that image 108 may include a GPS, a date, and a time when the image 108 was captured. The analysis tool 117 can correlate this information to attributes such as weather conditions at that time and location (e.g., “sunny”), an event name (e.g., “Dodgers Game”), teams playing at that game (e.g., “Dodgers” and “Cardinals”), etc.
- weather conditions at that time and location e.g., “sunny”
- an event name e.g., “Dodgers Game”
- teams playing at that game e.g., “Dodgers” and “Cardinals”
- the analysis tool 117 associates the imputed attributes with the user who took the image. As noted, e.g., a row in a user attribute matrix may be updated to reflect the imputed attributes of each new image taken by that user. Further, the analysis tool 117 may perform machine learning techniques, such as Latent Dirichlet Analysis (LDA), to decompose the user-attribute matrix into sub-matrices. Doing so allows the analysis tool 117 to identify concepts, i.e., clusters of attributes. The analysis tool 117 may use the user interest taxonomy 119 to generate product recommendations. The analysis tool 117 may also use the interest taxonomy 119 identify one or more users that may be interested in a product or service.
- LDA Latent Dirichlet Analysis
- the analysis tool 117 may extract information from a product feed 121 of a third party system 120 .
- the product feed 121 is a listing of products or services of a third party, such as a retailer.
- the analysis tool 117 may identify, from the product feed 121 , one or more attributes describing each product.
- a product of a shoe retailer may have attributes such as “shoe,” “running,” “menswear,” and so on.
- the analysis tool 117 can map the attributes of the product feed 121 with the interest taxonomy 119 . Doing so allows the analysis tool 117 to identify products and services from the feed 121 that align with interests in the interest taxonomy.
- third parties can target users who may be interested in the identified products and services.
- FIG. 2 illustrates mobile application 106 , according to one embodiment.
- mobile application 106 includes a SDK component 200 with APIs configured to send image and metadata information to the multimedia service platform.
- the SDK component 200 further includes an extraction component 205 , a search and similarity component 210 , and a log component 215 .
- the extraction component 205 extracts metadata (e.g., EXIF metadata, PHAsset metadata, and the like) from images captured using a mobile device 105 .
- the metadata may describe various aspects specific the image, such as whether the image is in color or black and white, whether the image is a “selfie,” and the like.
- the extraction component 205 may perform ETL preprocessing operations on the metadata.
- the extraction component 205 may format the metadata for the search and similarity component 210 and the log component 215 .
- the search and similarity component 210 infers additional metadata from an image based on the metadata (e.g., spatiotemporal metadata) retrieved by the extraction component 205 .
- additional metadata include whether a given image was captured at daytime or nighttime, whether the image was captured indoors or outdoors, whether the image was edited, weather conditions when the image was captured, etc.
- the search and similarity component 210 generates a two-dimensional image feature map from a collection of images captured on a given mobile device 105 , where each row represents an image and columns represent metadata attributes. Cells of the map indicate whether an image has a particular attribute.
- the image feature map allows the search and similarity component 210 to provide search features to a user.
- the mobile application 106 may search for images on a mobile device which have a given attribute, such as images taken during daytime or taken from a particular location.
- the search and similarity component 210 may evaluate the image map to identify images (or other multimedia) having the particular attribute.
- the log component 215 evaluates the image metadata. For example, the log component 215 records metadata sent to the ETL server 110 . Once received, the application 112 performs ETL operations, e.g., loading the metadata into a data store (such as a database). The metadata is accessible by the analysis tool 117 .
- FIG. 3 further illustrates the analysis tool 117 , according to one embodiment.
- the analysis tool 117 includes an aggregation component 305 , a knowledge graph component 310 , a user interest taxonomy generation component 320 , and a user interest inference component 325 .
- the aggregation component 305 receives streams of image metadata corresponding to images captured by users of application 106 by users from the ETL server 110 . Once received, the aggregation component 305 organizes images and metadata by user.
- the metadata may include both raw image metadata (e.g., time and GPS information) and inferred metadata (e.g., daytime or nighttime image, indoor or outdoor image, “selfie” image, etc.).
- the aggregation component 305 evaluates log data from the ETL server 110 to identify image metadata from different devices (and presumably different users) and metadata type (e.g., whether the metadata corresponds to image metadata or application usage data).
- the knowledge graph component 310 builds (and later maintains) the knowledge graph 118 using any suitable data source, such as local news and media websites, online event schedules for performance venues, calendars published by schools, government, or private enterprises, online schedules and ticket sales.
- the knowledge graph component 310 determines attributes related to each event to store in the knowledge graph 118 .
- the correlation component 315 evaluates time and location metadata of the image against the knowledge graph 118 .
- the correlation component 315 determines whether the image metadata matches a location and/or event in the knowledge graph.
- the information may be matched using a specified spatiotemporal range, e.g., within a time period of the event, within a set of GPS coordinate range, etc.
- the component 315 may further match the information based on a similarity of metadata of other user photos that have been matched to that event.
- the taxonomy component 320 evaluates the user-attribute matrix to determine concepts associated with a given user. As stated, a concept is a cluster of related attributes.
- the interest taxonomy generation component 320 may perform machine learning techniques, such as latent Dirichlet analysis (LDA), non-negative matrix factorization (NNMF), deep learning, and the like, to decompose the user-attribute matrix into sub-matrices.
- LDA latent Dirichlet analysis
- NNMF non-negative matrix factorization
- the taxonomy component 320 evaluates the sub-matrices to identify latent concepts from co-occurring attributes.
- the taxonomy component 320 may determine a membership score distribution for each attribute over each concept.
- a membership score indicates a measure of strength that a given attribute correlates with a concept.
- the interest taxonomy generation component 320 may populate a concept-attribute matrix, where the rows represent concepts and columns represent attributes. Each cell value is the membership score of the respective attribute to the respective concept.
- the generation component 320 may perform further machine learning techniques (e.g., LDA, NNMF, deep learning, etc.) to identify relationships and hierarchies between each concepts. An example of the concept-attribute matrix is discussed relative to FIG. 8 .
- the interest inference component 325 builds a learning model based on the identified concepts and the users. To do so, the interest inference component 325 may train classifiers for predicting interest scores, e.g., through logistic regression models, boosting, or support vector machine (SVM) classifiers for each concept to determine user association in one or more concepts. Doing so results in each user in the platform being assigned an interest score per concept.
- classifiers for predicting interest scores e.g., through logistic regression models, boosting, or support vector machine (SVM) classifiers for each concept to determine user association in one or more concepts. Doing so results in each user in the platform being assigned an interest score per concept.
- the interest inference component 325 may predict user interests using the learning model. As the multimedia service platform receives image metadata from new users, the interest inference component 325 can assign the new users with scores for each concept based on the metadata and the learning model. A user having a high membership score in a given concept may indicate a high degree of interest for that concept.
- FIG. 4 illustrates an example user interest taxonomy 400 , according to one embodiment.
- the taxonomy 400 is a hierarchical representation of user interests identified from image metadata, such as metadata describing time and location information of a given image.
- Each node in the taxonomy 400 represents a concept identified from one or more attributes.
- the interest taxonomy generation component 320 may perform machine learning (e.g., LDA) to identify hierarchies and relationships between concepts. The hierarchies and relationships may further be determined manually (e.g., by a subject matter expert).
- machine learning e.g., LDA
- the taxonomy 400 includes groups 410 and sub-groups 415 .
- the concepts depicted in groups 410 include generally broader concepts, such as sports, music, and travel.
- the sub-groups 415 include more specific concepts related to the groups 410 , such as basketball, rock, and airlines.
- each sub-group 415 may have its own subgroup.
- the baseball node may include sub-group nodes depicting team names.
- FIG. 4 depicts a relatively small amount of concept nodes in the taxonomy 400 .
- the taxonomy 400 may include a greater amount of nodes (e.g., 1,000 concept nodes).
- the analysis tool 117 may associate each user in the multimedia service platform with one or more concepts in the interest taxonomy 400 .
- the inference component 325 may determine a distribution of membership scores to each identified concept.
- the membership score may correlate to a degree of interest that the user has for a given concept. For example, a high membership score in the football concept may indicate that a user has a high interest in football. Such information may be useful to third party advertisers for targeted recommendations.
- FIG. 5 illustrates a method 500 for determining a set of concepts based on image metadata, according to one embodiment.
- Method 500 begins at step 505 , where the aggregation component 305 segments images by users. Doing so allows the analysis tool 107 to evaluate collections of image metadata for each user individually.
- the knowledge graph component 310 imputes attributes from the knowledge graph 118 onto the images based on the image metadata. That is, the knowledge graph component 310 compares time and location metadata to information in the knowledge graph 118 . The graph component 310 correlates time and location metadata of a given image to information provided in the knowledge graph, such as events, that coincide with the time and location metadata (with a degree of allowance). The graph component 310 may then identify attributes based on the correlated information (e.g., “ballpark,” “United Center,” “Bulls,” “Cavaliers,” “Chicago,” “winter,” etc.). As a result, each image is associated with a set of attributes.
- the knowledge graph component 310 compares time and location metadata to information in the knowledge graph 118 .
- the graph component 310 correlates time and location metadata of a given image to information provided in the knowledge graph, such as events, that coincide with the time and location metadata (with a degree of allowance).
- the graph component 310 may then identify attributes based on the correlated information
- the knowledge graph component 310 builds a user-attribute matrix based on the imputed attributes to the images.
- the knowledge graph component 310 further imputes attributes associated with each image to the respective user.
- Each cell in the user-attribute matrix is an incremental value that represents a count of images in which the corresponding attribute is present.
- the interest taxonomy generation component 320 decomposes the user-attribute matrix to identify concepts from the attributes.
- a concept may include one or more attributes.
- the interest taxonomy generation component 320 may evaluate the attributes using machine learning techniques to identify the concepts.
- FIG. 6 illustrates a method 600 for generating a user interest taxonomy based on image metadata, according to one embodiment.
- the interest taxonomy generation component 320 has identified a set of concepts from the attributes.
- the interest taxonomy generation component 320 determines a distribution of membership scores of attributes to each identified concept. Each score indicates the likelihood that an attribute is associated with the concept.
- the interest taxonomy generation component 320 maps each attribute to one or more concepts based on the distribution. To do so, the interest taxonomy generation component 320 may, for each concept, rank each attribute by membership score and determine that a specified top amount of attributes are associated with a given concept (e.g., top three, top five, etc.). Alternatively, the interest taxonomy generation component 320 may determine that attributes exceeding a threshold score are associated with the concept.
- the interest taxonomy generation component 320 optionally identifies hierarchical relationships between the concepts.
- the interest taxonomy generation component 320 may identify the relationships through machine learning, such as LDA. In addition, the relationships may be manually assigned.
- FIG. 7 illustrates an application server computing system 700 , according to one embodiment.
- the computing system 700 includes, without limitation, a central processing unit (CPU) 705 , a network interface 715 , a memory 720 , and storage 730 , each connected to a bus 717 .
- the computing system 700 may also include an I/O device interface 710 connecting I/O devices 712 (e.g., keyboard, mouse, and display devices) to the computing system 700 .
- I/O device interface 710 connecting I/O devices 712 (e.g., keyboard, mouse, and display devices) to the computing system 700 .
- the computing elements shown in computing system 700 may correspond to a physical computing system (e.g., a system in a data center) or may be a virtual computing instance executing within a computing cloud.
- the CPU 705 retrieves and executes programming instructions stored in the memory 720 as well as stores and retrieves application data residing in the memory 720 .
- the interconnect 717 is used to transmit programming instructions and application data between the CPU 705 , I/O devices interface 710 , storage 730 , network interface 715 , and memory 720 .
- CPU 705 is included to be representative of a single CPU, multiple CPUs, a single CPU having multiple processing cores, and the like.
- the memory 720 is generally included to be representative of a random access memory.
- the storage 730 may be a disk drive storage device. Although shown as a single unit, the storage 730 may be a combination of fixed and/or removable storage devices, such as fixed disc drives, removable memory cards, or optical storage, network attached storage (NAS), or a storage area-network (SAN).
- NAS network attached storage
- SAN storage area-network
- the memory 720 includes an application service 722 and an analysis tool 724 .
- the storage 730 includes a knowledge graph 734 , and one or more user interest taxonomies 736 .
- the application service 722 provides access to various services of an multimedia service platform to mobile devices.
- the analysis tool 724 generates a user interest taxonomy 736 based on metadata of images taken by users.
- the analysis tool 724 builds the knowledge graph 734 from external data sources. To do so, the analysis tool 724 performs NLP techniques on the raw text obtained from the data sources to identify relevant terms related to events, moments, weather, etc. Further, the analysis tool 724 may impute information from the knowledge graph 734 images submitted to the multimedia service platform. In addition, the analysis tool 724 generates a user interest taxonomy 736 of concepts inferred from the attributes. To do so, the analysis tool 724 may perform machine learning techniques to identify concepts based on co-occurring attributes. In addition, the analysis tool 724 may determine a membership score for each attribute to each identified concept. The analysis tool 724 may associate attributes to a given concept based on the membership score. Further, the analysis tool 724 may identify hierarchical relationships between the concepts through machine learning.
- FIG. 8 illustrates an example attribute-concept matrix, according to one embodiment.
- rows 805 of the matrix represent concepts (i.e., c1, c2, c3, and so on) and columns 810 of the matrix represent attributes (i.e., a1, a2, a3, and so on).
- Values in each cell 815 represents a membership score of a given attribute to a concept.
- a membership score indicates a measure of strength of an attribute to a given concept.
- the analysis tool 117 may cluster attributes having scores exceeding a specified threshold to a given concept. For example, assume that the threshold is 0.65. In such a case, the analysis tool 117 would associate a2 (having a score of 0.87) and a6 (having a score of 0.74) with concept c1.
- embodiments may be embodied as a system, method or computer program product. Accordingly, embodiments may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.” Furthermore, embodiments may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied thereon.
- the computer readable medium may be a computer readable signal medium or a computer readable storage medium.
- a computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing.
- a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus or device.
- each block in the flowchart or block diagrams may represent a module, segment or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s).
- the functions noted in the block may occur out of the order noted in the figures.
- two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved.
- Each block of the block diagrams and/or flowchart illustrations, and combinations of blocks in the block diagrams and/or flowchart illustrations can be implemented by special-purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
- embodiments may be embodied as a system, method or computer program product. Accordingly, embodiments may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.” Furthermore, embodiments may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied thereon.
- the computer readable medium may be a computer readable signal medium or a computer readable storage medium.
- a computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing.
- a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus or device.
- each block in the flowchart or block diagrams may represent a module, segment or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s).
- the functions noted in the block may occur out of the order noted in the figures.
- two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved.
- Each block of the block diagrams and/or flowchart illustrations, and combinations of blocks in the block diagrams and/or flowchart illustrations can be implemented by special-purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Software Systems (AREA)
- Library & Information Science (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Game Theory and Decision Science (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- Multimedia (AREA)
- Automation & Control Theory (AREA)
- Fuzzy Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Techniques are disclosed herein for learning latent interests based on metadata of one or more images. An analysis tool evaluates metadata associated with each digital multimedia object against a knowledge graph, where the knowledge graph is built from data including information external to each of the digital multimedia objects and where the knowledge graph provides a plurality of attributes. The analysis tool associates one or more of the plurality of attributes with each of the digital multimedia objects. Each of the attributes correlates with a time and a location described in the metadata of that object. The analysis tool identifies one or more concepts from attributes associated to each of the objects and maps each of the plurality of attributes to the one or more concepts.
Description
- This application is a continuation of U.S. patent application Ser. No. 14/618,859, filed Feb. 10, 2015, which claims priority to U.S. Provisional Application No. 62/093,372, filed Dec. 17, 2014. The content of the aforementioned application is incorporated by reference in its entirety.
- Embodiments of the present disclosure generally relate to data analytics. More specifically, embodiments presented herein relate to learning latent interests based on image or video metadata.
- Individuals take images to capture personal experiences and events. The images can represent mementos of various times and places experienced in an individual's life.
- In addition, mobile devices (e.g., smart phones, tablets, etc.) allow individuals to easily capture both digital images as well as record video. For instance, cameras in mobile devices have steadily improved in quality and are can capture high-resolution images. Further, mobile devices now commonly have a storage capacity that can store thousands of images. And because individuals carry smart phones around with them, they can capture images and videos virtually anywhere.
- This has resulted in an explosion of multimedia content, as virtually anyone can capture and share digital images and videos via text message, image services, social media, video services, and the like. This volume of digital multimedia, now readily available, provides a variety of information.
- One embodiment presented herein describes a method for identifying latent relationships between interests based on metadata of a plurality of digital multimedia objects. The method generally includes evaluating metadata associated with each digital multimedia object against a knowledge graph, where the knowledge graph is built from data including information external to each of the digital multimedia objects and where the knowledge graph provides a plurality of attributes. The method also includes associating, based on the evaluation, one or more of the plurality of attributes with each of the digital multimedia objects, the one or more attributes correlating with a time and a location described in the metadata of that object. The method further includes identifying one or more concepts from attributes associated to each of the objects, and mapping each of the plurality of attributes to the one or more concepts.
- Other embodiments include, without limitation, a computer-readable medium that includes instructions that enable a processing unit to implement one or more aspects of the disclosed methods as well as a system having a processor, memory, and application programs configured to implement one or more aspects of the disclosed methods.
- So that the manner in which the above recited features of the present disclosure can be understood in detail, a more particular description of the disclosure, briefly summarized above, may be had by reference to embodiments, some of which are illustrated in the appended drawings. It is to be noted, however, that the appended drawings illustrate only exemplary embodiments and are therefore not to be considered limiting of its scope, may admit to other equally effective embodiments.
-
FIG. 1 illustrates an example computing environment, according to one embodiment. -
FIG. 2 further illustrates the mobile application described relative toFIG. 1 , according to one embodiment. -
FIG. 3 further illustrates the analysis tool described relative toFIG. 1 , according to one embodiment. -
FIG. 4 illustrates an example user interest taxonomy, according to one embodiment. -
FIG. 5 illustrates a method for determining a set of concepts based on image metadata, according to one embodiment. -
FIG. 6 illustrates a method for generating a user interest taxonomy based on image metadata, according to one embodiment. -
FIG. 7 illustrates an example application server computing system, according to one embodiment. -
FIG. 8 illustrates an example concept-attribute matrix, according to one embodiment. - To facilitate understanding, identical reference numerals have been used, where possible, to designate identical elements that are common to the figures. It is contemplated that elements and features of one embodiment may be beneficially incorporated in other embodiments without further recitation.
- Embodiments presented herein describe techniques for inferring user interests from metadata associated with digital multimedia (e.g., images and video). Digital multimedia provides a wealth of information which can be evaluated to determine a variety of valuable insights about individuals taking images (e.g., advertisers, marketers, and the like). For example, assume an individual takes pictures at a golf course using a mobile device (e.g., a smart phone, tablet, etc.). Further, assume that the pictures are the only indication the individual was at the golf course (e.g., because the individual made only cash purchases and signed no registers). Metadata associated with this image can place the individual at the golf course at a specific time. Further, event data could be used to correlate whether there was going on at that time (e.g., a specific tournament). Such information may be useful to third parties, e.g., for targeted advertising and recommendations.
- However, an advertiser might not be able to identify an effective audience for targeting a given product or service based on such information alone. Even if image metadata places an individual at a golf course at a particular point of time, the advertiser might draw inaccurate inferences about the individual. For example, the advertiser might assume that because the metadata places the individual at a high-end golf course, the individual is interested in high-end golf equipment. The advertiser might then recommend other high-end equipment or other golf courses to that individual. If the individual rarely plays golf or does not usually spend money at high-end locations. Such recommendations may lead to low conversion rates for the advertiser. Historically, advertisers have been generally forced to accept low conversation rates, as techniques for identifying individuals likely to be receptive to or interested in a given product or service are often ineffective. Embodiments presented herein provide techniques to infer interests over a userbase based on metadata of digital multimedia. Specifically, embodiments describe techniques for learning latent concepts from metadata attributes of digital multimedia (e.g., images and video). In one embodiment, a multimedia service platform provides a software development kit (SDK) that may third parties (e.g., retailers, marketers, etc.) may use to build mobile applications that extracts metadata from digital multimedia captured and stored on a mobile device. The mobile application can use APIs included in the SDK to upload images and videos to the platform from a mobile device. Further, the multimedia service platform may identify patterns from metadata extracted from images and videos of many users. The metadata may describe where and when a given image was taken. Further, in many cases, embodiments presented herein can identify latent relationships between different categories, topics, or subjects (referred to generally as interests or user interests) from multimedia collections of multiple users. For example, if many users take pictures at golf courses also take pictures at an unrelated event (e.g., take pictures of a traveling museum exhibit) then the system can discover a relationship between these otherwise unrelated interests. Thereafter, advertising related to golfing products and services could be targeted to individuals who publish pictures of the travelling museum exhibit, regardless of any other known interest in golf.
- In one embodiment, the multimedia service platform evaluates metadata corresponding to each image or video submitted to the platform against a knowledge graph. The knowledge graph provides a variety of information about events, places, dates, times, etc. that may be compared with the metadata of a given image. For example, the knowledge graph may include weather data, location data, event data, and online encyclopedia data. For instance, attributes associated with an event may include a name, location, start time, end time, price range, etc. The multimedia service platform correlates spatiotemporal metadata from a digital image with a specific event in the knowledge graph. That is, the knowledge graph is used to impute attributes related to events, places, dates, times, etc., to a given digital multimedia file based on the metadata provided with that file.
- In one embodiment, the analysis tool represents attributes imputed to digital multimedia in a user-attribute matrix, where each row of the matrix represents a distinct user and each column represents an attribute from the knowledge graph that can be imputed to a digital multimedia file. The analysis tool may add columns to the user-attribute matrix as additional attributes are identified. The cells of a given row indicate how many times a given attribute has been imputed to a digital multimedia file published by a user corresponding to that row. Accordingly, when the analysis tool imputes an attribute to a digital multimedia file (based on the file metadata), a value for that attribute is incremented in the user-attribute matrix. Doing so allows the multimedia service platform to identify useful information about that user. For instance, the analysis tool may identify that a user often attends sporting events, movies, participates in a particular recreational event (e.g., skiing or golf), etc. In addition, the analysis tool may identify information about events that the user attends, such as whether the events are related to a given sports team, whether the events are related to flights from an airport, a range specifying how much the event may cost, etc.
- In one embodiment, the multimedia service platform learns concepts from the attribute distribution. A concept is a collection of one or more identified attributes. The multimedia service platform may perform machine learning techniques to learn concepts from the attributes of the user-attribute matrix. Such techniques may group attributes by co-occurrences. For instance, “travel,” “winter,” “Park City,” and “skiing” may frequently co-occur. As a result, the machine learning techniques may group these co-occurring attributes into a concept (e.g., a “skiing” concept). Further, the multimedia service platform may score an attribute to each respective concept. The multimedia service platform may associate attributes that satisfy specified criteria (e.g., the top five scores per concept, attributes exceeding a specified threshold, etc.) to a given concept.
- Further, the analysis tool may generate an interest taxonomy based on the learned concepts. In one embodiment, an interest taxonomy is a hierarchical representation of user interests. For example, the interest taxonomy can identify general groups (e.g., sports, music, and travel) and sub-groups (e.g., basketball, rock music, and discount airlines) of interest identified from the concepts. The multimedia service platform may use the interest taxonomy to discover latent relationships between concepts. For example, the multimedia service platform may build a predictive learning model using the interest taxonomy.
- Note, the following description relies on digital images captured by a user and metadata as a reference example of learning latent interests based on the metadata. However, one of skill in the art will recognize that the embodiments presented herein may be adapted to other digital multimedia that include time and location metadata, such as digital videos captured on a mobile device. Further, an analysis tool may extract metadata particular to a type of the multimedia, e.g., the length of a video, which can be used relative to the techniques described herein.
-
FIG. 1 illustrates anexample computing environment 100, according to one embodiment. As shown, thecomputing environment 100 includesmobile devices 105, an extract, transform, and load (ETL)server 110, anapplication server 115, and athird party system 120, connected to a network 125 (e.g., the Internet). - In one embodiment, the
mobile devices 105 include amobile application 106 which allows users to interact with a multimedia service platform (represented by theETL server 110 and the application server 115). In one embodiment, themobile application 106 is developed by a third-party enterprise (e.g., a retailer, social network provider, fitness tracker developer, etc.). Themobile application 106 may sendimages 108 and associated metadata to the multimedia service platform. In one embodiment, themobile application 106 may access APIs exposed by a software development kit (SDK) distinct to the platform. - In another embodiment, the
mobile application 106 may access a social media service (application service 116) provided by the service platform. The social media service allows users to capture, share, and comment onimages 108 as a part of existing social networks (or in conjunction) with those social networks. For example, a user may publishimages 108 captured using a camera onmobile device 105 to a specified social network. In turn, theapplication 106 retrieves metadata andimages 108 and metadata to the multimedia service platform. The multimedia service platform uses the metadata to infer latent interests of the userbase as well as latent relationships between the interests. - The
mobile application 106 extracts Exchangeable Image Format (EXIF) metadata from eachimage 108. Themobile application 106 can also extract other metadata (e.g., PHAsset metadata in Apple iOS devices) describing additional information, such as GPS data. In addition, themobile application 106 may perform extract, transform, and load (ETL) operations on the metadata to format the metadata for use by components of the multimedia service platform. For example, themobile application 106 may determine additional information based on the metadata, such as whether a given image was taken during daytime or nighttime, whether the image was taken indoors or outdoors, whether the image is a “selfie,” etc. Further, themobile application 106 also retrieves metadata describing application use. Such metadata includes activity by the user on themobile application 106, such as image views, tagging, etc. Further, as described below, themobile application 106 provides functionality that allows a user to search through a collection of images by the additional metadata, e.g., searching a collection of images that are “selfies” and taken in the morning. - In one embodiment, the
ETL server 110 includes anETL application 112. TheETL application 112 receives streams of image metadata 114 (e.g., the EXIF metadata, PHAsset metadata, and additional metadata) frommobile devices 105. Further, theETL application 112 cleans, stores, and indexes theimage metadata 114 for use by theapplication server 115. Once processed, theETL application 112 may store theimage metadata 114 in a data store (e.g., such as in a database or a Hadoop-based storage infrastructure such as Hive) for access by theapplication server 115. - In one embodiment, the
application service 116 communicates with themobile application 106. Theapplication server 115 may be a physical computing system or a virtual machine instance in a computing cloud. Although depicted as a single server, theapplication server 115 may comprise multiple servers configured as a cluster (e.g., via the Apache Spark framework, via a Hadoop-based storage infrastructure, etc.). A clustered architecture allows theapplication servers 115 to process large amounts of images and image metadata sent frommobile applications 106. - As shown, the
application server 115 includes ananalysis tool 117, aknowledge graph 118, and a user interest taxonomy 119. As described below, the user interest taxonomy 119 represents interests inferred from image attributes identified from theknowledge graph 118 based on theimage metadata 114 from image collections of multiple users. - In one embodiment, the
knowledge graph 118 includes a collection of attributes which may be imputed to an image. Example attributes include time and location information, event information, genres, price ranges, weather, subject matter, and the like. Theanalysis tool 117 builds theknowledge graph 118 using weather data, location data, events data, encyclopedia data, and the like from a variety of data sources. - In one embodiment, the
analysis tool 117 imputes attributes from theknowledge graph 118 to animage 108 based on themetadata 114. That is, theanalysis tool 117 may correlate time and location information inimage metadata 114 to attributes in theknowledge graph 118. For example, assume that a user captures animage 108 of a baseball game.Metadata 114 for thatimage 108 may include a GPS, a date, and a time when theimage 108 was captured. Theanalysis tool 117 can correlate this information to attributes such as weather conditions at that time and location (e.g., “sunny”), an event name (e.g., “Dodgers Game”), teams playing at that game (e.g., “Dodgers” and “Cardinals”), etc. Theanalysis tool 117 associates the imputed attributes with the user who took the image. As noted, e.g., a row in a user attribute matrix may be updated to reflect the imputed attributes of each new image taken by that user. Further, theanalysis tool 117 may perform machine learning techniques, such as Latent Dirichlet Analysis (LDA), to decompose the user-attribute matrix into sub-matrices. Doing so allows theanalysis tool 117 to identify concepts, i.e., clusters of attributes. Theanalysis tool 117 may use the user interest taxonomy 119 to generate product recommendations. Theanalysis tool 117 may also use the interest taxonomy 119 identify one or more users that may be interested in a product or service. For example, theanalysis tool 117 may extract information from aproduct feed 121 of athird party system 120. In one embodiment, theproduct feed 121 is a listing of products or services of a third party, such as a retailer. Theanalysis tool 117 may identify, from theproduct feed 121, one or more attributes describing each product. For example, a product of a shoe retailer may have attributes such as “shoe,” “running,” “menswear,” and so on. Theanalysis tool 117 can map the attributes of theproduct feed 121 with the interest taxonomy 119. Doing so allows theanalysis tool 117 to identify products and services from thefeed 121 that align with interests in the interest taxonomy. In turn, third parties can target users who may be interested in the identified products and services. -
FIG. 2 illustratesmobile application 106, according to one embodiment. As shown,mobile application 106 includes aSDK component 200 with APIs configured to send image and metadata information to the multimedia service platform. TheSDK component 200 further includes anextraction component 205, a search andsimilarity component 210, and alog component 215. In one embodiment, theextraction component 205 extracts metadata (e.g., EXIF metadata, PHAsset metadata, and the like) from images captured using amobile device 105. The metadata may describe various aspects specific the image, such as whether the image is in color or black and white, whether the image is a “selfie,” and the like. Further, theextraction component 205 may perform ETL preprocessing operations on the metadata. For example, theextraction component 205 may format the metadata for the search andsimilarity component 210 and thelog component 215. - In one embodiment, the search and
similarity component 210 infers additional metadata from an image based on the metadata (e.g., spatiotemporal metadata) retrieved by theextraction component 205. Examples of additional metadata include whether a given image was captured at daytime or nighttime, whether the image was captured indoors or outdoors, whether the image was edited, weather conditions when the image was captured, etc. Further, the search andsimilarity component 210 generates a two-dimensional image feature map from a collection of images captured on a givenmobile device 105, where each row represents an image and columns represent metadata attributes. Cells of the map indicate whether an image has a particular attribute. The image feature map allows the search andsimilarity component 210 to provide search features to a user. For example, themobile application 106 may search for images on a mobile device which have a given attribute, such as images taken during daytime or taken from a particular location. In turn, the search andsimilarity component 210 may evaluate the image map to identify images (or other multimedia) having the particular attribute. - In one embodiment, the
log component 215 evaluates the image metadata. For example, thelog component 215 records metadata sent to theETL server 110. Once received, theapplication 112 performs ETL operations, e.g., loading the metadata into a data store (such as a database). The metadata is accessible by theanalysis tool 117. -
FIG. 3 further illustrates theanalysis tool 117, according to one embodiment. As shown, theanalysis tool 117 includes anaggregation component 305, aknowledge graph component 310, a user interesttaxonomy generation component 320, and a userinterest inference component 325. - In one embodiment, the
aggregation component 305 receives streams of image metadata corresponding to images captured by users ofapplication 106 by users from theETL server 110. Once received, theaggregation component 305 organizes images and metadata by user. The metadata may include both raw image metadata (e.g., time and GPS information) and inferred metadata (e.g., daytime or nighttime image, indoor or outdoor image, “selfie” image, etc.). To organize metadata by user, theaggregation component 305 evaluates log data from theETL server 110 to identify image metadata from different devices (and presumably different users) and metadata type (e.g., whether the metadata corresponds to image metadata or application usage data). - In one embodiment, the
knowledge graph component 310 builds (and later maintains) theknowledge graph 118 using any suitable data source, such as local news and media websites, online event schedules for performance venues, calendars published by schools, government, or private enterprises, online schedules and ticket sales. Theknowledge graph component 310 determines attributes related to each event to store in theknowledge graph 118. - In one embodiment, to impute attributes from the
knowledge graph 118 to a given image, the correlation component 315 evaluates time and location metadata of the image against theknowledge graph 118. The correlation component 315 determines whether the image metadata matches a location and/or event in the knowledge graph. The information may be matched using a specified spatiotemporal range, e.g., within a time period of the event, within a set of GPS coordinate range, etc. In one embodiment, the component 315 may further match the information based on a similarity of metadata of other user photos that have been matched to that event. - In one embodiment, the
taxonomy component 320 evaluates the user-attribute matrix to determine concepts associated with a given user. As stated, a concept is a cluster of related attributes. The interesttaxonomy generation component 320 may perform machine learning techniques, such as latent Dirichlet analysis (LDA), non-negative matrix factorization (NNMF), deep learning, and the like, to decompose the user-attribute matrix into sub-matrices. Thetaxonomy component 320 evaluates the sub-matrices to identify latent concepts from co-occurring attributes. - Further, the
taxonomy component 320 may determine a membership score distribution for each attribute over each concept. A membership score indicates a measure of strength that a given attribute correlates with a concept. The interesttaxonomy generation component 320 may populate a concept-attribute matrix, where the rows represent concepts and columns represent attributes. Each cell value is the membership score of the respective attribute to the respective concept. Thegeneration component 320 may perform further machine learning techniques (e.g., LDA, NNMF, deep learning, etc.) to identify relationships and hierarchies between each concepts. An example of the concept-attribute matrix is discussed relative toFIG. 8 . - In one embodiment, the
interest inference component 325 builds a learning model based on the identified concepts and the users. To do so, theinterest inference component 325 may train classifiers for predicting interest scores, e.g., through logistic regression models, boosting, or support vector machine (SVM) classifiers for each concept to determine user association in one or more concepts. Doing so results in each user in the platform being assigned an interest score per concept. - Once trained, the
interest inference component 325 may predict user interests using the learning model. As the multimedia service platform receives image metadata from new users, theinterest inference component 325 can assign the new users with scores for each concept based on the metadata and the learning model. A user having a high membership score in a given concept may indicate a high degree of interest for that concept. -
FIG. 4 illustrates an exampleuser interest taxonomy 400, according to one embodiment. As shown, thetaxonomy 400 is a hierarchical representation of user interests identified from image metadata, such as metadata describing time and location information of a given image. Each node in thetaxonomy 400 represents a concept identified from one or more attributes. As stated, the interesttaxonomy generation component 320 may perform machine learning (e.g., LDA) to identify hierarchies and relationships between concepts. The hierarchies and relationships may further be determined manually (e.g., by a subject matter expert). - The
taxonomy 400 includesgroups 410 andsub-groups 415. Illustratively, the concepts depicted ingroups 410 include generally broader concepts, such as sports, music, and travel. Thesub-groups 415 include more specific concepts related to thegroups 410, such as basketball, rock, and airlines. Further, each sub-group 415 may have its own subgroup. For example, the baseball node may include sub-group nodes depicting team names. Note,FIG. 4 depicts a relatively small amount of concept nodes in thetaxonomy 400. In practice, thetaxonomy 400 may include a greater amount of nodes (e.g., 1,000 concept nodes). - The
analysis tool 117 may associate each user in the multimedia service platform with one or more concepts in theinterest taxonomy 400. For a given user, theinference component 325 may determine a distribution of membership scores to each identified concept. The membership score may correlate to a degree of interest that the user has for a given concept. For example, a high membership score in the football concept may indicate that a user has a high interest in football. Such information may be useful to third party advertisers for targeted recommendations. -
FIG. 5 illustrates amethod 500 for determining a set of concepts based on image metadata, according to one embodiment.Method 500 begins atstep 505, where theaggregation component 305 segments images by users. Doing so allows the analysis tool 107 to evaluate collections of image metadata for each user individually. - At
step 510, theknowledge graph component 310 imputes attributes from theknowledge graph 118 onto the images based on the image metadata. That is, theknowledge graph component 310 compares time and location metadata to information in theknowledge graph 118. Thegraph component 310 correlates time and location metadata of a given image to information provided in the knowledge graph, such as events, that coincide with the time and location metadata (with a degree of allowance). Thegraph component 310 may then identify attributes based on the correlated information (e.g., “ballpark,” “United Center,” “Bulls,” “Cavaliers,” “Chicago,” “winter,” etc.). As a result, each image is associated with a set of attributes. - At
step 515, theknowledge graph component 310 builds a user-attribute matrix based on the imputed attributes to the images. Theknowledge graph component 310 further imputes attributes associated with each image to the respective user. Each cell in the user-attribute matrix is an incremental value that represents a count of images in which the corresponding attribute is present. - At
step 520, the interesttaxonomy generation component 320 decomposes the user-attribute matrix to identify concepts from the attributes. As stated, a concept may include one or more attributes. The interesttaxonomy generation component 320 may evaluate the attributes using machine learning techniques to identify the concepts. -
FIG. 6 illustrates amethod 600 for generating a user interest taxonomy based on image metadata, according to one embodiment. Assume that the interesttaxonomy generation component 320 has identified a set of concepts from the attributes. Atstep 605, the interesttaxonomy generation component 320 determines a distribution of membership scores of attributes to each identified concept. Each score indicates the likelihood that an attribute is associated with the concept. - At
step 610, the interesttaxonomy generation component 320 maps each attribute to one or more concepts based on the distribution. To do so, the interesttaxonomy generation component 320 may, for each concept, rank each attribute by membership score and determine that a specified top amount of attributes are associated with a given concept (e.g., top three, top five, etc.). Alternatively, the interesttaxonomy generation component 320 may determine that attributes exceeding a threshold score are associated with the concept. - At
step 615, the interesttaxonomy generation component 320 optionally identifies hierarchical relationships between the concepts. The interesttaxonomy generation component 320 may identify the relationships through machine learning, such as LDA. In addition, the relationships may be manually assigned. -
FIG. 7 illustrates an applicationserver computing system 700, according to one embodiment. As shown, thecomputing system 700 includes, without limitation, a central processing unit (CPU) 705, anetwork interface 715, amemory 720, andstorage 730, each connected to abus 717. Thecomputing system 700 may also include an I/O device interface 710 connecting I/O devices 712 (e.g., keyboard, mouse, and display devices) to thecomputing system 700. Further, in context of this disclosure, the computing elements shown incomputing system 700 may correspond to a physical computing system (e.g., a system in a data center) or may be a virtual computing instance executing within a computing cloud. - The
CPU 705 retrieves and executes programming instructions stored in thememory 720 as well as stores and retrieves application data residing in thememory 720. Theinterconnect 717 is used to transmit programming instructions and application data between theCPU 705, I/O devices interface 710,storage 730,network interface 715, andmemory 720. Note,CPU 705 is included to be representative of a single CPU, multiple CPUs, a single CPU having multiple processing cores, and the like. And thememory 720 is generally included to be representative of a random access memory. Thestorage 730 may be a disk drive storage device. Although shown as a single unit, thestorage 730 may be a combination of fixed and/or removable storage devices, such as fixed disc drives, removable memory cards, or optical storage, network attached storage (NAS), or a storage area-network (SAN). - Illustratively, the
memory 720 includes anapplication service 722 and ananalysis tool 724. Thestorage 730 includes aknowledge graph 734, and one or moreuser interest taxonomies 736. Theapplication service 722 provides access to various services of an multimedia service platform to mobile devices. Theanalysis tool 724 generates auser interest taxonomy 736 based on metadata of images taken by users. - Further, the
analysis tool 724 builds theknowledge graph 734 from external data sources. To do so, theanalysis tool 724 performs NLP techniques on the raw text obtained from the data sources to identify relevant terms related to events, moments, weather, etc. Further, theanalysis tool 724 may impute information from theknowledge graph 734 images submitted to the multimedia service platform. In addition, theanalysis tool 724 generates auser interest taxonomy 736 of concepts inferred from the attributes. To do so, theanalysis tool 724 may perform machine learning techniques to identify concepts based on co-occurring attributes. In addition, theanalysis tool 724 may determine a membership score for each attribute to each identified concept. Theanalysis tool 724 may associate attributes to a given concept based on the membership score. Further, theanalysis tool 724 may identify hierarchical relationships between the concepts through machine learning. -
FIG. 8 illustrates an example attribute-concept matrix, according to one embodiment. Illustratively,rows 805 of the matrix represent concepts (i.e., c1, c2, c3, and so on) andcolumns 810 of the matrix represent attributes (i.e., a1, a2, a3, and so on). Values in eachcell 815 represents a membership score of a given attribute to a concept. As stated, a membership score indicates a measure of strength of an attribute to a given concept. Theanalysis tool 117 may cluster attributes having scores exceeding a specified threshold to a given concept. For example, assume that the threshold is 0.65. In such a case, theanalysis tool 117 would associate a2 (having a score of 0.87) and a6 (having a score of 0.74) with concept c1. - The preceding discussion presents a variety of embodiments. However, the present disclosure is not limited to the specifically described embodiments. Instead, any combination of the following features and elements, whether related to different embodiments or not, is contemplated to implement and practice the techniques described herein. Furthermore, although embodiments of the present disclosure may achieve advantages over other possible solutions and/or over the prior art, whether or not a particular advantage is achieved by a given embodiment is not limiting of the present disclosure. Thus, the following aspects, features, embodiments and advantages are merely illustrative and are not considered elements or limitations of the appended claims except where explicitly recited in a claim(s).
- Aspects may be embodied as a system, method or computer program product. Accordingly, embodiments may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.” Furthermore, embodiments may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied thereon.
- Any combination of one or more computer readable medium(s) may be utilized. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus or device.
- The flowchart and block diagrams in the figures illustrate the architecture, functionality and operation of possible implementations of systems, methods and computer program products according to various embodiments presented herein. In this regard, each block in the flowchart or block diagrams may represent a module, segment or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). In some alternative implementations the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. Each block of the block diagrams and/or flowchart illustrations, and combinations of blocks in the block diagrams and/or flowchart illustrations can be implemented by special-purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
- The following discussion presents a variety of embodiments. However, the present disclosure is not limited to the specifically described embodiments. Instead, any combination of the following features and elements, whether related to different embodiments or not, is contemplated to implement and practice the techniques described herein. Furthermore, although embodiments of the present disclosure may achieve advantages over other possible solutions and/or over the prior art, whether or not a particular advantage is achieved by a given embodiment is not limiting of the present disclosure. Thus, the following aspects, features, embodiments and advantages are merely illustrative and are not considered elements or limitations of the appended claims except where explicitly recited in a claim(s).
- Aspects may be embodied as a system, method or computer program product. Accordingly, embodiments may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module” or “system.” Furthermore, embodiments may take the form of a computer program product embodied in one or more computer readable medium(s) having computer readable program code embodied thereon.
- Any combination of one or more computer readable medium(s) may be utilized. The computer readable medium may be a computer readable signal medium or a computer readable storage medium. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the context of this document, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus or device.
- The flowchart and block diagrams in the figures illustrate the architecture, functionality and operation of possible implementations of systems, methods and computer program products according to various embodiments presented herein. In this regard, each block in the flowchart or block diagrams may represent a module, segment or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). In some alternative implementations the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. Each block of the block diagrams and/or flowchart illustrations, and combinations of blocks in the block diagrams and/or flowchart illustrations can be implemented by special-purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
- While the foregoing is directed to embodiments of the present disclosure, other and further embodiments of the disclosure may be devised without departing from the basic scope thereof, and the scope thereof is determined by the claims that follow.
Claims (20)
1. A method for identifying latent relationships between interests based on metadata of a plurality of digital multimedia objects, the method comprising:
evaluating metadata associated with each digital multimedia object against a knowledge graph, wherein the knowledge graph is built from data comprising information external to each of the digital multimedia objects and wherein the knowledge graph provides a plurality of attributes;
associating, based on the evaluation, one or more of the plurality of attributes with each of the digital multimedia objects, the one or more attributes correlating with a time and a location described in the metadata of that object;
identifying one or more concepts from attributes associated to each of the objects; and
mapping each of the plurality of attributes to the one or more concepts.
2. The method of claim 1 , wherein mapping each of the plurality of attributes to the one or more concepts comprises:
determining a membership score of each of the one or more attributes to each of the one or more concepts, wherein the membership score is a measure indicating a strength of correlation of a given attribute to a given concept.
3. The method of claim 2 , wherein each of the attributes is associated with at least one of the one or more concepts based on the membership score.
4. The method of claim 1 , further comprising:
determining, from the one or more concepts, a hierarchical relationship between a first concept and at least a second concept.
5. The method of claim 1 , wherein each of the one or more concepts includes at least a first attribute that co-occurs with a second attribute.
6. The method of claim 1 , wherein the attributes are imputed to each of the one or more digital multimedia objects from the knowledge graph, wherein the attributes further describe a plurality of events scheduled to occur at one or more of the plurality of locations.
7. The method of claim 1 , wherein each of the digital multimedia objects is one of an image or a video.
8. A non-transitory computer-readable storage medium storing instructions, which, when executed on a processor, perform an operation for identifying latent relationships between interests based on metadata of a plurality of digital multimedia objects, the operation comprising:
evaluating metadata associated with each digital multimedia object against a knowledge graph, wherein the knowledge graph is built from data comprising information external to each of the digital multimedia objects and wherein the knowledge graph provides a plurality of attributes;
associating, based on the evaluation, one or more of the plurality of attributes with each of the digital multimedia objects, the one or more attributes correlating with a time and a location described in the metadata of that object;
identifying one or more concepts from attributes associated to each of the objects; and
mapping each of the plurality of attributes to the one or more concepts.
9. The computer-readable storage medium of claim 8 , wherein mapping each of the plurality of attributes to the one or more concepts comprises:
determining a membership score of each of the one or more attributes to each of the one or more concepts, wherein the membership score is a measure indicating a strength of correlation of a given attribute to a given concept.
10. The computer-readable storage medium of claim 9 , wherein each of the attributes is associated with at least one of the one or more concepts based on the membership score.
11. The computer-readable storage medium of claim 8 , wherein the operation further comprises:
determining, from the one or more concepts, a hierarchical relationship between a first concept and at least a second concept.
12. The computer-readable storage medium of claim 8 , wherein each of the one or more concepts includes at least a first attribute that co-occurs with a second attribute.
13. The computer-readable storage medium of claim 8 , wherein the attributes are imputed to each of the one or more digital multimedia objects from the knowledge graph, wherein the attributes further describe a plurality of events scheduled to occur at one or more of the plurality of locations.
14. The computer-readable storage medium of claim 8 , wherein each of the digital multimedia objects is one of an image or a video.
15. A system, comprising:
a processor; and
a memory storing one or more application programs configured to perform an operation for identifying latent relationships between interests based on metadata of a plurality of digital multimedia objects, the operation comprising:
evaluating metadata associated with each digital multimedia object against a knowledge graph, wherein the knowledge graph is built from data comprising information external to each of the digital multimedia objects and wherein the knowledge graph provides a plurality of attributes;
associating, based on the evaluation, one or more of the plurality of attributes with each of the digital multimedia objects, the one or more attributes correlating with a time and a location described in the metadata of that object;
identifying one or more concepts from attributes associated to each of the objects; and
mapping each of the plurality of attributes to the one or more concepts.
16. The system of claim 15 , wherein mapping each of the plurality of attributes to the one or more concepts comprises:
determining a membership score of each of the one or more attributes to each of the one or more concepts, wherein the membership score is a measure indicating a strength of correlation of a given attribute to a given concept.
17. The system of claim 16 , wherein each of the attributes is associated with at least one of the one or more concepts based on the membership score.
18. The system of claim 15 , wherein the operation further comprises:
determining, from the one or more concepts, a hierarchical relationship between a first concept and at least a second concept.
19. The system of claim 15 , wherein each of the one or more concepts includes at least a first attribute that co-occurs with a second attribute.
20. The system of claim 15 , wherein the attributes are imputed to each of the one or more digital multimedia objects from the knowledge graph, wherein the attributes further describe a plurality of events scheduled to occur at one or more of the plurality of locations.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/798,700 US20180052855A1 (en) | 2014-12-17 | 2017-10-31 | Method for learning a latent interest taxonomy from multimedia metadata |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201462093372P | 2014-12-17 | 2014-12-17 | |
US14/618,859 US9805098B2 (en) | 2014-12-17 | 2015-02-10 | Method for learning a latent interest taxonomy from multimedia metadata |
US15/798,700 US20180052855A1 (en) | 2014-12-17 | 2017-10-31 | Method for learning a latent interest taxonomy from multimedia metadata |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/618,859 Continuation US9805098B2 (en) | 2014-12-17 | 2015-02-10 | Method for learning a latent interest taxonomy from multimedia metadata |
Publications (1)
Publication Number | Publication Date |
---|---|
US20180052855A1 true US20180052855A1 (en) | 2018-02-22 |
Family
ID=56129838
Family Applications (6)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/616,197 Abandoned US20160203137A1 (en) | 2014-12-17 | 2015-02-06 | Imputing knowledge graph attributes to digital multimedia based on image and video metadata |
US14/618,859 Active 2036-02-28 US9805098B2 (en) | 2014-12-17 | 2015-02-10 | Method for learning a latent interest taxonomy from multimedia metadata |
US14/627,064 Active 2036-03-18 US9798980B2 (en) | 2014-12-17 | 2015-02-20 | Method for inferring latent user interests based on image metadata |
US14/627,264 Abandoned US20160180402A1 (en) | 2014-12-17 | 2015-02-20 | Method for recommending products based on a user profile derived from metadata of multimedia content |
US15/792,308 Abandoned US20180082200A1 (en) | 2014-12-17 | 2017-10-24 | Method for inferring latent user interests based on image metadata |
US15/798,700 Abandoned US20180052855A1 (en) | 2014-12-17 | 2017-10-31 | Method for learning a latent interest taxonomy from multimedia metadata |
Family Applications Before (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/616,197 Abandoned US20160203137A1 (en) | 2014-12-17 | 2015-02-06 | Imputing knowledge graph attributes to digital multimedia based on image and video metadata |
US14/618,859 Active 2036-02-28 US9805098B2 (en) | 2014-12-17 | 2015-02-10 | Method for learning a latent interest taxonomy from multimedia metadata |
US14/627,064 Active 2036-03-18 US9798980B2 (en) | 2014-12-17 | 2015-02-20 | Method for inferring latent user interests based on image metadata |
US14/627,264 Abandoned US20160180402A1 (en) | 2014-12-17 | 2015-02-20 | Method for recommending products based on a user profile derived from metadata of multimedia content |
US15/792,308 Abandoned US20180082200A1 (en) | 2014-12-17 | 2017-10-24 | Method for inferring latent user interests based on image metadata |
Country Status (1)
Country | Link |
---|---|
US (6) | US20160203137A1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109840268A (en) * | 2018-12-23 | 2019-06-04 | 国网浙江省电力有限公司 | A kind of universe data map construction method based on enterprise information model |
WO2020182434A1 (en) | 2019-03-08 | 2020-09-17 | International Business Machines Corporation | Linking and processing different knowledge graphs |
CN111931069A (en) * | 2020-09-25 | 2020-11-13 | 浙江口碑网络技术有限公司 | User interest determination method and device and computer equipment |
Families Citing this family (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10331733B2 (en) * | 2013-04-25 | 2019-06-25 | Google Llc | System and method for presenting condition-specific geographic imagery |
US20160203137A1 (en) * | 2014-12-17 | 2016-07-14 | InSnap, Inc. | Imputing knowledge graph attributes to digital multimedia based on image and video metadata |
US10891653B1 (en) * | 2015-03-13 | 2021-01-12 | A9.Com, Inc. | Approaches for retrieval of electronic advertisements |
US10255628B2 (en) * | 2015-11-06 | 2019-04-09 | Adobe Inc. | Item recommendations via deep collaborative filtering |
US20170255987A1 (en) * | 2016-03-04 | 2017-09-07 | Michelle Harrison Bacharach | Methods, systems, and media for providing information based on grouping information |
CN106227820B (en) * | 2016-07-22 | 2019-08-06 | 北京科技大学 | A method for constructing a knowledge database of basic theories of traditional Chinese medicine |
US20180032882A1 (en) * | 2016-07-27 | 2018-02-01 | Fuji Xerox Co., Ltd. | Method and system for generating recommendations based on visual data and associated tags |
US10083162B2 (en) | 2016-11-28 | 2018-09-25 | Microsoft Technology Licensing, Llc | Constructing a narrative based on a collection of images |
CN106597439A (en) * | 2016-12-12 | 2017-04-26 | 电子科技大学 | Synthetic aperture radar target identification method based on incremental learning |
CN106934032B (en) * | 2017-03-14 | 2019-10-18 | 北京软通智城科技有限公司 | A method and device for constructing an urban knowledge map |
CN109558018B (en) * | 2017-09-27 | 2022-05-17 | 腾讯科技(深圳)有限公司 | Content display method and device and storage medium |
US20190138943A1 (en) * | 2017-11-08 | 2019-05-09 | International Business Machines Corporation | Cognitive visual conversation |
US10762153B2 (en) * | 2017-11-27 | 2020-09-01 | Adobe Inc. | Collaborative-filtered content recommendations with justification in real-time |
US10884769B2 (en) * | 2018-02-17 | 2021-01-05 | Adobe Inc. | Photo-editing application recommendations |
US11036811B2 (en) | 2018-03-16 | 2021-06-15 | Adobe Inc. | Categorical data transformation and clustering for machine learning using data repository systems |
US20190311416A1 (en) * | 2018-04-10 | 2019-10-10 | International Business Machines Corporation | Trend identification and modification recommendations based on influencer media content analysis |
US20210174367A1 (en) * | 2018-05-02 | 2021-06-10 | Visa International Service Association | System and method including accurate scoring and response |
US20190340529A1 (en) * | 2018-05-07 | 2019-11-07 | Apple Inc. | Automatic Digital Asset Sharing Suggestions |
US10897442B2 (en) * | 2018-05-18 | 2021-01-19 | International Business Machines Corporation | Social media integration for events |
US10902573B2 (en) | 2018-05-31 | 2021-01-26 | International Business Machines Corporation | Cognitive validation of date/time information corresponding to a photo based on weather information |
WO2020033354A2 (en) | 2018-08-06 | 2020-02-13 | Olive Seed Industries, Llc | Methods and systems for personalizing visitor experience at a venue |
US10339420B1 (en) * | 2018-08-30 | 2019-07-02 | Accenture Global Solutions Limited | Entity recognition using multiple data streams to supplement missing information associated with an entity |
US11341207B2 (en) | 2018-12-10 | 2022-05-24 | Ebay Inc. | Generating app or web pages via extracting interest from images |
US11373231B2 (en) | 2019-01-31 | 2022-06-28 | Walmart Apollo, Llc | System and method for determining substitutes for a requested product and the order to provide the substitutes |
US11373228B2 (en) | 2019-01-31 | 2022-06-28 | Walmart Apollo, Llc | System and method for determining substitutes for a requested product |
JP7098579B2 (en) * | 2019-06-28 | 2022-07-11 | 富士フイルム株式会社 | Information processing equipment and methods and programs |
US11281734B2 (en) | 2019-07-03 | 2022-03-22 | International Business Machines Corporation | Personalized recommender with limited data availability |
JP7129383B2 (en) * | 2019-07-03 | 2022-09-01 | 富士フイルム株式会社 | Image processing device, image processing method, image processing program, and recording medium storing the program |
JP2023511518A (en) * | 2020-01-22 | 2023-03-20 | ソシエテ・デ・プロデュイ・ネスレ・エス・アー | social media influencer platform |
US11645403B2 (en) * | 2020-09-22 | 2023-05-09 | AVAST Software s.r.o. | Data sharing and storage control system and method |
CN113656589B (en) * | 2021-04-19 | 2023-07-04 | 腾讯科技(深圳)有限公司 | Object attribute determining method, device, computer equipment and storage medium |
CN113297392B (en) * | 2021-06-02 | 2022-02-18 | 江苏数兑科技有限公司 | An intelligent data service method based on knowledge graph |
US20240378465A1 (en) * | 2021-08-27 | 2024-11-14 | Siemens Aktiengesellschaft | Knowledge Graph Generation Method and Apparatus and Computer Readable Medium |
KR102774098B1 (en) * | 2022-11-15 | 2025-02-26 | 주식회사 카카오뱅크 | A method and an apparatus for predicting a financial activity of a user |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040177319A1 (en) * | 2002-07-16 | 2004-09-09 | Horn Bruce L. | Computer system for automatic organization, indexing and viewing of information from multiple sources |
US20140046914A1 (en) * | 2008-11-19 | 2014-02-13 | Intellectual Ventures Fund 83 Llc | Method for event-based semantic classification |
US20150039616A1 (en) * | 2013-08-02 | 2015-02-05 | Shoto, Inc. | Discovery and sharing of photos between devices |
US20150169638A1 (en) * | 2013-12-12 | 2015-06-18 | Nant Vision, Inc. | Image Recognition Verification |
US20160117574A1 (en) * | 2014-10-23 | 2016-04-28 | Microsoft Corporation | Tagging Personal Photos with Deep Networks |
US9984293B2 (en) * | 2014-07-23 | 2018-05-29 | Gopro, Inc. | Video scene classification by activity |
Family Cites Families (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6411724B1 (en) * | 1999-07-02 | 2002-06-25 | Koninklijke Philips Electronics N.V. | Using meta-descriptors to represent multimedia information |
US7548929B2 (en) * | 2005-07-29 | 2009-06-16 | Yahoo! Inc. | System and method for determining semantically related terms |
US7822746B2 (en) * | 2005-11-18 | 2010-10-26 | Qurio Holdings, Inc. | System and method for tagging images based on positional information |
US8145677B2 (en) * | 2007-03-27 | 2012-03-27 | Faleh Jassem Al-Shameri | Automated generation of metadata for mining image and text data |
US8055708B2 (en) * | 2007-06-01 | 2011-11-08 | Microsoft Corporation | Multimedia spaces |
US8458115B2 (en) * | 2010-06-08 | 2013-06-04 | Microsoft Corporation | Mining topic-related aspects from user generated content |
US8832080B2 (en) * | 2011-05-25 | 2014-09-09 | Hewlett-Packard Development Company, L.P. | System and method for determining dynamic relations from images |
WO2012176317A1 (en) * | 2011-06-23 | 2012-12-27 | サイバーアイ・エンタテインメント株式会社 | Image recognition system-equipped interest graph collection system using relationship search |
US20130085858A1 (en) * | 2011-10-04 | 2013-04-04 | Richard Bill Sim | Targeting advertisements based on user interactions |
US8886925B2 (en) * | 2011-10-11 | 2014-11-11 | Citrix Systems, Inc. | Protecting enterprise data through policy-based encryption of message attachments |
WO2014024043A2 (en) * | 2012-08-06 | 2014-02-13 | See-Out Pty. Ltd. | System and method for determining graph relationships using images |
US9454530B2 (en) * | 2012-10-04 | 2016-09-27 | Netflix, Inc. | Relationship-based search and recommendations |
US9218439B2 (en) * | 2013-06-04 | 2015-12-22 | Battelle Memorial Institute | Search systems and computer-implemented search methods |
US20140372102A1 (en) * | 2013-06-18 | 2014-12-18 | Xerox Corporation | Combining temporal processing and textual entailment to detect temporally anchored events |
US20150095303A1 (en) * | 2013-09-27 | 2015-04-02 | Futurewei Technologies, Inc. | Knowledge Graph Generator Enabled by Diagonal Search |
US10289637B2 (en) * | 2014-06-13 | 2019-05-14 | Excalibur Ip, Llc | Entity generation using queries |
US10474949B2 (en) * | 2014-08-19 | 2019-11-12 | Qualcomm Incorporated | Knowledge-graph biased classification for data |
US9652685B2 (en) * | 2014-09-30 | 2017-05-16 | Disney Enterprises, Inc. | Generating story graphs with large collections of online images |
US9280565B1 (en) * | 2014-10-03 | 2016-03-08 | EyeEm Mobile GmbH. | Systems, methods, and computer program products for displaying images |
US20160203137A1 (en) * | 2014-12-17 | 2016-07-14 | InSnap, Inc. | Imputing knowledge graph attributes to digital multimedia based on image and video metadata |
US9501466B1 (en) * | 2015-06-03 | 2016-11-22 | Workday, Inc. | Address parsing system |
-
2015
- 2015-02-06 US US14/616,197 patent/US20160203137A1/en not_active Abandoned
- 2015-02-10 US US14/618,859 patent/US9805098B2/en active Active
- 2015-02-20 US US14/627,064 patent/US9798980B2/en active Active
- 2015-02-20 US US14/627,264 patent/US20160180402A1/en not_active Abandoned
-
2017
- 2017-10-24 US US15/792,308 patent/US20180082200A1/en not_active Abandoned
- 2017-10-31 US US15/798,700 patent/US20180052855A1/en not_active Abandoned
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040177319A1 (en) * | 2002-07-16 | 2004-09-09 | Horn Bruce L. | Computer system for automatic organization, indexing and viewing of information from multiple sources |
US20140046914A1 (en) * | 2008-11-19 | 2014-02-13 | Intellectual Ventures Fund 83 Llc | Method for event-based semantic classification |
US20150039616A1 (en) * | 2013-08-02 | 2015-02-05 | Shoto, Inc. | Discovery and sharing of photos between devices |
US20150169638A1 (en) * | 2013-12-12 | 2015-06-18 | Nant Vision, Inc. | Image Recognition Verification |
US9984293B2 (en) * | 2014-07-23 | 2018-05-29 | Gopro, Inc. | Video scene classification by activity |
US20160117574A1 (en) * | 2014-10-23 | 2016-04-28 | Microsoft Corporation | Tagging Personal Photos with Deep Networks |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109840268A (en) * | 2018-12-23 | 2019-06-04 | 国网浙江省电力有限公司 | A kind of universe data map construction method based on enterprise information model |
WO2020182434A1 (en) | 2019-03-08 | 2020-09-17 | International Business Machines Corporation | Linking and processing different knowledge graphs |
US11403328B2 (en) | 2019-03-08 | 2022-08-02 | International Business Machines Corporation | Linking and processing different knowledge graphs |
CN111931069A (en) * | 2020-09-25 | 2020-11-13 | 浙江口碑网络技术有限公司 | User interest determination method and device and computer equipment |
Also Published As
Publication number | Publication date |
---|---|
US20160203137A1 (en) | 2016-07-14 |
US9798980B2 (en) | 2017-10-24 |
US20160180235A1 (en) | 2016-06-23 |
US20160203141A1 (en) | 2016-07-14 |
US20180082200A1 (en) | 2018-03-22 |
US20160180402A1 (en) | 2016-06-23 |
US9805098B2 (en) | 2017-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9805098B2 (en) | Method for learning a latent interest taxonomy from multimedia metadata | |
TWI702844B (en) | Method, device, apparatus, and storage medium of generating features of user | |
US11461392B2 (en) | Providing relevant cover frame in response to a video search query | |
CN112989209B (en) | Content recommendation method, device and storage medium | |
US9471936B2 (en) | Web identity to social media identity correlation | |
US12067050B1 (en) | Dynamically altering shared content | |
KR101816113B1 (en) | Estimating and displaying social interest in time-based media | |
US10635952B2 (en) | Cognitive analysis and classification of apparel images | |
US11973819B1 (en) | Image recommendations for thumbnails for online media items based on user activity | |
US10579675B2 (en) | Content-based video recommendation | |
CN107667389B (en) | System, method and apparatus for identifying targeted advertisements | |
WO2017181612A1 (en) | Personalized video recommendation method and device | |
CN109511015B (en) | Multimedia resource recommendation method, device, storage medium and equipment | |
US20140358630A1 (en) | Apparatus and process for conducting social media analytics | |
US10210429B2 (en) | Image based prediction of user demographics | |
US9152709B2 (en) | Cross-domain topic space | |
US11544339B2 (en) | Automated sentiment analysis and/or geotagging of social network posts | |
CN113761253A (en) | Video tag determination method, device, equipment and storage medium | |
US20190050890A1 (en) | Video dotting placement analysis system, analysis method and storage medium | |
CN114782092B (en) | Advertisement putting method, device, equipment, storage medium and computer program | |
CN108959323A (en) | Video classification methods and device | |
JP2019091487A (en) | Method of benchmarking media content based on viewer behavior | |
CN108476336B (en) | Identifying viewing characteristics of an audience of a content channel | |
CN113312514B (en) | Grouping method, device, equipment and medium combining Deepwalk and community discovery technology | |
TWM551710U (en) | User data gathering system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: THE HONEST COMPANY, INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:SABAH, MOHAMMAD;SADREDDIN, MOHAMMAD IMAN;ABDULLAH, SHAFAQ;REEL/FRAME:043991/0126 Effective date: 20150209 |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |