A hardware and software facility for classifying media content units using keywords from a structured vocabulary. metadata associated with each media content unit is segmented into a series of descriptive phrases. The descriptive phrases are mapped to keywords in a structured vocabulary, and the identified keywords associated with the media content units. Descriptive phrases that are not found in the structured vocabulary are tracked as candidate phrases for later addition to the structured vocabulary. A keyword index to the media content units may be constructed. The index is used to identify specific media content units that are responsive to search queries in a reliable and accurate fashion.
|
43. A non-transitory computer-readable storage medium containing instructions for controlling a computer processor in a computer system to classify media content units using terms contained in a structured vocabulary by:
receiving over a communication network a media content unit with associated metadata, wherein the media content unit is visual content and the metadata comprises an author of the media content unit, a title of the media content unit, or a description of the media content unit;
automatically filtering the received metadata to remove a first portion of the metadata while retaining a second portion of the metadata based on the type of media content unit that is received, the first portion comprising a subset of words, numbers, characters, or other symbols of the received metadata;
maintaining a structured vocabulary of terms that include terms for search media content units, wherein each term in the structured vocabulary bears a parent, child, or sibling relationship with another term in the structured vocabulary;
programmatically segmenting the second portion of the metadata into one or more descriptive phrases based on an application-specific dictionary for classifying media content units, wherein the application-specific dictionary is a subset of the structured vocabulary of terms;
comparing the one or more descriptive phrases with the structured vocabulary of terms in order to identify one or more terms in the structured vocabulary that are related to the one or more descriptive phrases; and
creating an association between the identified one or more terms and the media content unit so that the media content unit is classified by the one or more terms.
1. A method performed by a computing device of processing metadata associated with pieces of visual content in order to classify the pieces of visual content using terms contained in a structured vocabulary, the method comprising:
receiving over a communication network visual content having associated metadata, wherein the metadata comprises an author of the visual content, a title of the visual content, or a description of the visual content;
automatically filtering by the computing device the received metadata to remove some elements of the metadata while retaining other elements of the metadata, wherein the elements are removed based on the type of visual content that is received, the elements that are removed comprising a subset of words, numbers, characters, or other symbols of the received metadata;
maintaining a structured vocabulary of terms that includes terms for searching visual content, wherein each term in the structured vocabulary bears a parent, child, or sibling relationship with another term in the structured vocabulary;
programmatically segmenting by the computing device the remaining elements of metadata into one or more descriptive phrases based on an application-specific dictionary for classifying visual content, wherein the application-specific dictionary is a subset of the maintained structured vocabulary of terms;
comparing by the computing device the one or more descriptive phrases with the structured vocabulary of terms in order to identify one or more terms in the structured vocabulary that are related to the one or more descriptive phrases; and
creating by the computing device an association between the identified one or more terms and the visual content so that the visual content is characterized by the one or more terms.
29. A method performed by a computing device of processing descriptive text associated with visual content in order to classify the visual content using terms contained in a structured vocabulary, the method comprising:
receiving, over a communication network, visual content having associated descriptive text, wherein the descriptive text comprises an author of the visual content, a title of the visual content, or a description of the visual content;
automatically filtering by the computing device the received descriptive text to remove a first portion of the descriptive text while retaining a second portion of the descriptive text based on the type of visual content that is received, the first portion of the descriptive text comprising a subset of words, numbers, characters, or other symbols of the received descriptive text;
maintaining a structured vocabulary of terms that includes terms for searching visual content, wherein each term in the structured vocabulary bears a parent, child, or sibling relationship with another term in the structured vocabulary;
programmatically segmenting by the computing device the second portion of descriptive text into one or more descriptive phrases based on an application-specific dictionary for classifying visual content, wherein the application-specific dictionary is a subset of the structured vocabulary of terms;
comparing by the computing device the identified one or more descriptive phrases with the structured vocabulary of terms in order to identify one or more terms in the structured vocabulary that are related to the one or more descriptive phrases; and
creating by the computing device an association between the identified one or more terms and the image so that the visual content is classified by the one or more terms.
15. A system for processing metadata associated with pieces of visual content in order to classify the pieces of visual content using terms contained in a structured vocabulary, the system comprising:
a processor and a memory;
a structured vocabulary component for maintaining terms for searching visual content, wherein each term in the structured vocabulary bears a parent, child, or sibling relationship with another term in the structured vocabulary;
a segmentation component for:
receiving over a communication network pieces of visual content having associated metadata, wherein the metadata comprises an author of the visual content, a title of the visual content, or a description of the visual content;
automatically filtering the received metadata to remove some elements of the metadata while retaining other elements of the metadata based on the type of visual content that is received, the elements that are removed comprising a subset of words, numbers, characters, or other symbols of the received metadata; and
segmenting the other elements of metadata into one or more descriptive phrases characterizing the pieces of visual content based on an application-specific dictionary for classifying visual content, wherein the application-specific dictionary is a subset of the structured vocabulary of terms;
a matching component for comparing the one or more descriptive phrases generated by the segmentation component with the structured vocabulary of terms in order to identify one or more terms in the structured vocabulary that are correlated with the one or more descriptive phrases for the pieces of visual content; and
a mapping component that, for the pieces of visual content, provides a relationship between each piece of visual content and the one or more terms in the structured vocabulary that were identified by the matching component.
46. A method performed by a computing device of segmenting metadata associated with a plurality of media content units and classifying the media content using terms contained in a structure keyword vocabulary, the method comprising:
(a) receiving metadata for association with a plurality of media content units, the plurality of media content units comprising visual content, the metadata comprising authors of the media content units, titles of the media content units, or descriptions of the media content units;
(b) filtering the received metadata to remove some elements of the metadata and retain other elements of the metadata, wherein the elements that are removed comprise a subset of words, numbers, characters, or other symbols of the received metadata, and wherein the elements are removed based on the type of media content unit that is received;
(c) maintaining a structured keyword vocabulary that is used to search the plurality of media content units, wherein each term in the structured vocabulary bears a parent, child, or sibling relationship with another term in the structured vocabulary;
(d) programmatically segmenting by the computing device the received metadata to generate one or more descriptive phrases associated with the plurality of media content units utilizing an application-specific dictionary for classifying media content units, wherein the application-specific dictionary is a subset of the structured keyword vocabulary;
(e) comparing the one or more descriptive phrases with the structured keyword vocabulary of terms in order to identify one or more terms in the structured keyword vocabulary that are associated with one or more descriptive phrases for each media content unit; and
(f) creating a relationship between the identified one or more terms and each media content unit so that each media content unit is characterized by the identified one or more terms.
44. A system for segmenting metadata associated with a plurality of media content units and classifying the media content units using terms contained in a structured keyword vocabulary, the system comprising:
a processor and a memory;
a structured keyword vocabulary used to classify media content units, wherein the media content units are visual content, and wherein each term in the structured keyword vocabulary bears a parent, child, or sibling relationship with another term in the structured keyword vocabulary;
a segmentation component for:
receiving metadata for association with a plurality of media content units, wherein the metadata comprises authors of the media content units, titles of the media content units, or descriptions of the media content units;
filtering the received metadata to remove some elements of the metadata while retaining other elements of the metadata based on the type of media content unit that is received, the elements that are removed comprising a subset of words, numbers, characters, or other symbols of the received metadata; and
segmenting the metadata to generate one or more descriptive phrases characterizing the plurality of media content units, wherein the segmentation component utilizes an application-specific dictionary for classifying media content units that is a subset of the structured keyword vocabulary that includes terms for searching media content units to segment the received metadata;
a matching component for comparing the one or more descriptive phrases generated by the segmentation component with the structured keyword vocabulary of terms in order to identify one or more terms in the structured keyword vocabulary that are correlated with the one or more descriptive phrases for each media content unit; and
a mapping component that, for the media content units, provides a relationship between each media content unit and the one or more terms in the structured keyword vocabulary that were identified by the matching component.
2. The computer-implemented method of
4. The computer-implemented method of
5. The computer-implemented method of
6. The computer-implemented method of
9. The computer-implemented method of
10. The computer-implemented method of
11. The computer-implemented method of
12. The computer-implemented method of
13. The computer-implemented method of
14. The computer-implemented method of
16. The system of
18. The system of
19. The system of
20. The system of
23. The system of
24. The system of
25. The system of
26. The system of
27. The system of
28. The system of
30. The computer-implemented method of
32. The computer-implemented method of
33. The computer-implemented method of
34. The computer-implemented method of
35. The computer-implemented method of
36. The computer-implemented method of
39. The computer-implemented method of
40. The computer-implemented method of
41. The computer-implemented method of
42. The computer-implemented method of
45. The system of
47. The computer-implemented method of
|
This application claims priority to, and incorporates by reference in its entirety, U.S. Provisional Application No. 60/688,055 filed on Jun. 7, 2005.
The present invention relates to classifying media content using a structured vocabulary.
The amount of information available in the World Wide Web and other document corpora continues to expand at a significant pace. Users with a connection to the Internet or other networks are able to search for and identify a large volume of content that would previously have very been difficult or even impossible to find. Unfortunately, the ease of locating certain content varies significantly by the format of the content that is sought. While users seeking textual content on the World Wide Web have a number of good search services such as google.com to identify results responsive to a search query, the performance of tools to search for other types of content have lagged far behind. In particular, many types of media, including but not limited to, audio, video and images, are difficult to classify and locate for retrieval in an automated fashion (an instance of any type of media will hereinafter be referred to as a media content unit).
Media content units are particularly challenging to accurately search because there are few reliable algorithms that can programmatically analyze the content in a media content unit and store the media content unit in a manner that allows it to be efficiently located. For example, a human user looking at a picture of a sailboat will very quickly be able to determine not only that the image is a sailboat, but also extract other pieces of information about the image such as the number of people on the sailboat, the color of the sailboat sails, and the condition of the surrounding seas. While image evaluation systems have been developed that use various techniques to describe and classify images, detecting the colors, shapes, and textures of an image to derive the subject matter of the image is an incredibly challenging and complex problem. As a result, automated image evaluation systems have fallen short of the performance necessary to become commercially successful. The same limitations and problems extend to other media content, such as audio or video, as well.
Because of the performance limitations of automated media content recognition systems, some systems have relied upon a file name or on metadata associated with a media content unit to predict the contents of the media content unit. Unfortunately, however, using the file name or metadata provided by a large body of users may not provide optimum results since different users often use vastly different naming conventions to describe the same content. For example, an image of a sailboat under sail may be characterized by one user as “hard tack to port” whereas another user may characterize it as “enjoying a gusty day on the seas.” Search engines that rely upon vocabulary selected by a large body of users to characterize media may therefore return inherently unreliable results.
A different approach is taken by U.S. Pat. No. 6,735,583 to Bjarnestam et al. entitled “Method and System for Classifying and Locating Media Content,” and assigned to the applicants of the present case. Bjarnestam et al. disclose a structured vocabulary system that may be used in a media classification and search system to provide a better index to media content. Such a system solves many of the problems identified above, but does so with a manually intensive process. While the system disclosed in Bjarnestam et al. provides superior performance to other existing technologies, it would be beneficial to further automate the classification of media content units in order to make available for searching a greater number of media content units.
A hardware and software facility is disclosed for analyzing metadata associated with media content units and classifying the media content units using keywords in a structured vocabulary. A media content unit is a media resource that can be electronically stored and that contains images or sound, either separately (e.g. photos, slideshows, silent films or audio recordings), combined (e.g., videos or animation), or in conjunction with other content (e.g., presentations with text, multimedia presentations). The analysis of the metadata and the classification of the associated media content units using the structured vocabulary is preferably done in an automated fashion. The metadata associated with each media content unit is segmented into a series of descriptive phrases, where a descriptive phrase is one or more words, numbers, characters, or other symbols. The facility matches the descriptive phrases to keywords in a structured vocabulary, and associates the identified keywords with the media content units. Descriptive phrases that were not found in the structured vocabulary are tracked as candidate phrases for later addition to the structured vocabulary. A keyword index to the media content units may be constructed. The index is used to identify specific media content units that are responsive to search queries in a reliable and accurate fashion. Alternatively, the keywords may be used in a browse hierarchy to allow users to navigate to desired media content units. The keywords may also be displayed in conjunction with media content units to further characterize the media content units.
The facility includes a segmentation tool that applies a rule set to extract certain descriptive phrases from the metadata. Pre-processing may be performed on the metadata to remove words, numbers, characters, and other symbols that are not useful in the classification process. Segmentation of the remaining metadata into descriptive phrases is performed in an automated fashion without human intervention, thereby enabling the efficient classification of a significant number of media content units. In an embodiment of the facility, the segmentation tool relies on an application-specific dictionary to aid in the segmentation process. To improve segmentation efficiency, the application-specific dictionary is a subset of all of the keywords contained in the structured vocabulary. Accurate segmentation significantly increases the number of media content units classified by the facility, and ultimately results in a more accurate matching of media content units to associated keywords. Post-processing of the descriptive phrases may be performed to weight the descriptive phrases according to the relative importance of the descriptive phrase to the media content unit.
The facility enables descriptive phrases that are tracked as candidate phrases to be added as keywords to the structured vocabulary. The determination of whether to add a descriptive phrase to the structured vocabulary may be based in part on the type of descriptive phrase. The determination of whether to add a descriptive phrase to the structured vocabulary may also be based in part on the frequency with which the descriptive phrase occurs in the metadata. The descriptive phrase may be automatically added as a keyword to the structured vocabulary, or may be added by an operator.
Various embodiments of the invention will now be described. The following description provides specific details for a thorough understanding and enabling description of these embodiments. One skilled in the art will understand, however, that the invention may be practiced without many of these details. Additionally, some well-known structures or functions may not be shown or described in detail, so as to avoid unnecessarily obscuring the relevant description of the various embodiments. The terminology used in the description presented below is intended to be interpreted in its broadest reasonable manner, even though it is being used in conjunction with a detailed description of certain specific embodiments of the invention.
Those skilled in the art will appreciate that the actual implementation of the data storage area 175 may take a variety of forms, including storage in a computer-readable medium, and the term “database” is used in the generic sense to refer to any data structure that allows data to be stored and accessed, such as tables, linked lists, arrays, etc.
When a search is to be performed to locate a particular media content unit or category of media content units, a search service 180 receives the search query or search request and applies the search terms contained in the query against index 170. The search query may include both a text query and other information that further defines the parameters of the search. The index 170 is used to identify media content units in the database 160 that are responsive to the search query. Those skilled in the art will appreciate that standard search techniques may be used to pre-process the search query, as well as to post-process and prioritize the resulting search results that are responsive to the query. Those skilled in the art will also appreciate that some or all of the keywords may be used in a browse hierarchy to allow users to navigate to desired media content units. In some applications, the keywords may also displayed in conjunction with media content units to further characterize the media content units. The use of a structured keyword vocabulary greatly increases the speed and likelihood that users submitting search queries or browsing will be able to identify one or more media content units that are responsive to their search. Once the user identifies one or more media content units, the displayed keywords may provide an improved context in which the user may utilize the media content units.
The media content unit 210 and associated metadata 220 is received by a flow manager 230 which manages the processing of the metadata through a variety of steps to be described in greater detail below. Flow manager 230 is connected to a segmentation tool 240, a mapping tool 250, a vocabulary management tool 260, and a translation tool 270. The segmentation tool 240 parses the metadata 220 associated with the media content unit, and separates the metadata into one or more descriptive phrases for further processing. Descriptive phrases may be comprised of one or more words, numbers, characters, or other symbols that are compared to keywords in the structured vocabulary in order to classify the media content unit. Further details about the segmentation tool are described with respect to
The mapping tool 250 receives as input the descriptive phrases identified by the segmentation tool. The mapping tool 250 is connected to a database 140 that contains the structured keyword vocabulary. For each descriptive phrase associated with a media content unit, the mapping tool performs a lookup in the structured keyword vocabulary and attempts to match the descriptive phrase with a keyword contained in the vocabulary. Information about the structured keyword vocabulary, including how it is constructed and modified, may be found in U.S. Pat. No. 6,735,583 entitled “Method and System for Classifying and Locating Media Content,” which is herein incorporated by this reference in its entirety. Keywords that are identified from the vocabulary database as matching the descriptive phrases are stored in association with the media content units as is described in additional detail below. Descriptive phrases that are not mapped to keywords in the vocabulary database 140 are stored as a list of candidate phrases that may be added to the structured vocabulary in the future. Further details about the mapping tool are described with respect to
The vocabulary management tool 260 is a tool used to manage the composition and structure of the vocabulary database. It is primarily a tool used by operators to maintain the integrity and value of the structured vocabulary database. One function of the vocabulary management tool is to receive descriptive phrases that were not contained in the structured keyword vocabulary. Descriptive phrases are added to the vocabulary database if the descriptive phrase represents a valuable concept that is missing in the vocabulary database. Descriptive phrases are not added if the phrase is perceived to add little or no value to the structured vocabulary.
The translation tool 270 may be used to translate descriptive phrases, and particularly descriptive phrases that are candidate phrases, into other languages that are supported by the facility. The translation tool may be beneficial when a candidate phrase is not contained in the structured keyword vocabulary in the received language. By translating the candidate phrase into each of the supported languages, the candidate term may be searched or browsed in different languages without manual translation. The translation tool also be beneficial when a candidate phrase is not contained in the structured keyword vocabulary in the received language, but it is contained in the structured keyword vocabulary in a different language. By translating the candidate phrase into a language where the translated form already exists as a keyword in the structured vocabulary, the facility may leverage all pre-existing relationships that the keyword may have or information about the keyword in order to better characterize the candidate phrase.
The flow manager 230 is also connected to the media content unit database 160. When a media content unit 210 and associated metadata 220 is received by the flow manager, the media content unit 210 or a pointer to the media content unit 210 is stored in the media content unit database 160 for subsequent access. The flow manager ensures the orderly classification of media content units by the facility, making calls to the various tools and receiving results from each of the tools when processing is complete.
At a block 420, the facility extracts descriptive phrases from the metadata that remains after the pre-processing step (if performed) or from all of the metadata (if no pre-processing). Descriptive phrases are any words, numbers, characters, or other symbols that are useful to classify the media content unit in a manner that allows the media content unit to be easily identified though search or navigation. Those skilled in the art will recognize that there are many different technologies that may be used to extract descriptive phrases from text, including statistical processing and linguistic processing (including morphological, lexical, syntactic, and semantic processing). In an embodiment of the facility, an application that is used to extract descriptive phrases is Linguistic DNA software provided by Nstein Technologies of Montreal, Canada (nstein.com). The Linguistic DNA software relies on a proprietary set of linguistic rules and a proprietary dictionary to extract content from documents. The Linguistic DNA dictionary may also be supplemented with an application-specific dictionary of terms. When applied to the example metadata 220 depicted in
In an embodiment of the system, the facility provides a portion of the keywords from the keyword vocabulary database 140 as an application-specific dictionary to supplement the Linguistic DNA dictionary. The application-specific dictionary provided to the segmentation tool is less than the entire vocabulary that is contained in the vocabulary database 140. The structured vocabulary will typically contain additional vocabulary that is helpful for searching or editorial purposes, but which doesn't serve a beneficial purpose when classifying media content units. A representative example of a keyword that is helpful for searching or editorial purpose is the term “between” when used in conjunction with photographic images. When used in the context of search, “between” is useful to specify the location of one or more objects in the photographic image. When “between” is found in metadata, however, it rarely is used in a manner to connote the relative position of objects in the image. As a result, in most cases the association of the keyword “between” to an image is one that is best done manually by an editor. For that reason, although the keyword “between” will appear in the vocabulary database 140, it will not be included in the reduced vocabulary set that is used to automatically extract descriptive phrases from metadata.
At a block 430, optional post-processing is performed on the one or more descriptive phrases that were identified in block 420. Post-processing may involve formatting, spelling correction, or other manipulations of the descriptive phrase list. Post-processing may also involve assigning weights to the identified descriptive phrases. The assigned weights are values that represent the relative importance of a descriptive phrase as applied to the associated media content unit. Using the example described above, the image may be primarily directed to the concept identified by the descriptive phrase “Lance Armstrong,” with the other identified descriptive phrases being applicable to the image to a lesser extent (e.g., “finish line”). In such cases, the descriptive phrase or phrases associated with the primary concept of the media content unit would receive higher weights, while the descriptive phrase or phrases associated with other concepts would receive a lower weight. Weights may be determined in a variety of ways, including but not limited to: (i) assigning a weight depending on the location of the descriptive phrase in the metadata (e.g., descriptive phrases located at the beginning of the metadata would receive a higher weight than descriptive phrases located that the end of metadata); (ii) assigning a weight based on a subjective human analysis of the media content unit; (iii) assigning a weight based on whether the descriptive phrase is contained in structured or unstructured metadata; and (iv) assigning a weight based on a linguistic analysis of the descriptive phrases. Those skilled in the art will appreciate that other methods are equally applicable for assigning weights to the descriptive phrases. At a block 440, the facility outputs the list of identified descriptive phrases. The phrases may be returned in an object list or other form to allow for subsequent manipulation.
Returning to
If the descriptive phrase is not in the vocabulary, at a decision block 520 the facility checks to see if the descriptive phrase is on a list of candidate phrases that are to be considered for addition to the structured vocabulary. In order to allow the structured vocabulary to expand over time to include new concepts, the facility maintains a list of all descriptive phrases that were identified in media content unit metadata, but which aren't currently in the structured vocabulary. The list of descriptive phrases is composed of the descriptive phase, a candidate ID number (an identifier that uniquely identifies the descriptive phrase), and a count of the number of times that the descriptive phrase has been found in metadata from all media content units processed by the facility. Items in the list of descriptive phrases are referred to as “candidate phrases” since they are maintained on the list until promoted to the structured vocabulary or deleted from the list for consideration. If the facility finds the descriptive phrase on the list of candidate phrases at decision block 520, processing proceeds to block 535 where the count associated with the candidate phrase is incremented by one to indicate another occurrence of the phrase. At a block 530, the candidate ID number is associated with the media content unit from which the descriptive phrase was derived. Assigning a candidate ID number to the media content unit allows the descriptive phrase to be associated with the media content unit in the event that the descriptive phrase is promoted to be in the keyword vocabulary in the future. Assigning a candidate ID number to the media content unit also allows the media content to be located when a user searches on the particular descriptive phrase, even if that descriptive phrase hasn't yet been added to the structured vocabulary. If the facility finds that the descriptive phrase is not on the list of candidate phrases, at a block 525 the descriptive phrase is added to the list of candidate phrases and a new candidate ID number is assigned to the descriptive phrase. The facility then proceeds to block 530 where the candidate ID number is associated with the media content unit from which the descriptive phrase was derived. Following block 530, the facility proceeds to decision block 560 where a test is made to determine if any additional descriptive phrases remain to be processed by the facility. If additional descriptive phrases remain, processing continues at a block 505. Otherwise, the mapping process 500 is complete and processing returns to control of the flow manager 230.
In an embodiment of the facility, immediately or on a periodic basis the list of candidate phrases is reviewed and a decision is made on whether to remove a descriptive phrase from the list or add it as a new keyword in the structured vocabulary. The determination of whether to add the descriptive phrase is aided by the type of descriptive phrase. For example, descriptive phrases that correspond to names of famous people (e.g., celebrities, politicians, athletes), names of locations (e.g., city names, venue names, geographic feature names), and nouns (e.g., bicycle, tree) may be more likely to be added to the structured vocabulary than descriptive phrases that correspond to adjectives or descriptive phrases that correspond to similes. The determination of whether to add the descriptive phrase to the structured vocabulary is also aided by the count that is maintained of the number of occurrences of the descriptive phrase in all metadata that has been analyzed. A high count for a particular phrase may indicate that the phrase is either very topical or has been adopted by the public for general use. In such a case, the descriptive phase may be more readily added to the structured vocabulary. A low count for a particular phrase may indicate that the phrase is rarely used. In such a case, the descriptive phrase may be removed from the list of candidate phrases and added to an exclusion list. The exclusion list contains those descriptive phrases that are specifically excluded from being added to the structured vocabulary in the future. The review of the list of candidate phrases may be done on a periodic basis by an operator, with the review occurring more frequently if one or more of the candidate phrases have high counts. For example, an alarm may be associated with a count crossing a threshold, thereby triggering a review to occur. Alternatively, the review and promotion may take place automatically, such as a process whereby descriptive phrases are automatically promoted to the keyword vocabulary when the count of a particular descriptive phrase reaches a threshold number that suggests widespread adoption of the descriptive phrase.
Returning to decision block 515, if the descriptive phrase is in the structured vocabulary, the facility proceeds to a decision block 540. At decision block 540 the facility checks to see if the descriptive phrase is ambiguous. A descriptive phrase is ambiguous if there are multiple possible keyword concepts that map to the same descriptive phrase. For example, the phrase “Henry Ford” gives no indication of which Henry Ford is the appropriate one to associate with the media content unit, as there are numerous Henry Fords (e.g., the founder of the Ford Motor Company, the illustrator, the early New Orleans jazz string base player, or the British ecological geneticist, among others). Ambiguous keywords may be marked in the structured vocabulary as ambiguous, or may be identified in the structured vocabulary as being ambiguous by the fact that two or more keywords in the structured vocabulary match or closely match the descriptive phrase. If a match or close match exists between the descriptive phrase and a keyword that is considered ambiguous, at a block 545 the descriptive phrase is queued for disambiguation by an operator or by another process. The disambiguation process resolves the ambiguity of the descriptive phrase by selecting the appropriate keyword that should be associated with the media content unit. Until the descriptive phrase has been disambiguated, the descriptive phrase is not searchable by the facility using keywords from the structured vocabulary. After queuing for disambiguation, the facility continues to decision block 560 where a loop is implemented to process remaining descriptive phrases.
Returning to decision block 540, if the descriptive phrase is not ambiguous, processing continues at a block 550. At block 550, the facility assigns a keyword ID number to the media content unit. The keyword ID number is a number that uniquely identifies a keyword in the structured vocabulary. If optional post-processing had been performed on the list of descriptive phrases to weight the descriptive phrases, the weighting assigned to the descriptive phrase may also be assigned to the keyword as well. After assigning a keyword ID, the facility continues to decision block 560 where a loop is implemented to process any remaining descriptive phrases.
At decision block 560, a test is made by the facility to determine if any additional descriptive phrases remain to be processed. If phrases remain, processing continues at block 505. Otherwise, the mapping process 500 is complete and processing returns to control of the flow manager 230. At this point in the processing, each media content unit may be associated with one or more keywords in the structured vocabulary database, with one or more candidate phrases, or may have no associations based on the descriptive phrases that were identified in the media content unit's metadata.
Returning to
Returning to
After a media content unit has been classified by the classification service 130, the index 170 may be updated to allow the media content unit to be quickly identified. Additional information about the indexing and searching of media content units may be found in U.S. Pat. No. 6,735,583. If the optional weighting of keywords has been performed by the facility, enhanced search functionality may be provided as the weighting can be used to order or refine the search results. Those media content units having responsive keywords with greater weighting may be promoted in the search results, and those media content units having responsive keywords with lesser weighting may be demoted in the search results The keywords may also be used in a browse hierarchy to allow users to easily navigate to desired media content units, or may be displayed next to media content units to better characterize the media content units. As previously discussed, using the structured vocabulary greatly increases the likelihood of a user finding a media content unit or group of media content units in which they are interested. The automated segmentation and mapping that is managed by the flow manager 230 also ensures that a large volume of media content units can be quickly classified. As a result, search facility and navigation performance will be further improved by making the media content units capable of being located on a timely basis.
While various embodiments are described in terms of the environment described above, those skilled in the art will appreciate that various modifications may be made to the facility without impacting the overall functionality. For example, while it is contemplated that the media content unit and the metadata are stored as separate data structures, in certain formats the media content unit and the metadata may be merged into a single data structure or may be split between multiple data structures. In such an event, the facility may first separate the received media content unit and metadata into two portions that may then be manipulated in accordance with the processes described herein.
Moreover, in an alternate embodiment, when the metadata is first received by the facility it may not already be associated with media content units. For example, the received metadata may describe a type of media content unit that will be received or identified in the future. The delay in having media content units to associate with keywords does not impact processing of the metadata. The metadata is processed as described herein, with keywords identified from descriptive phrases segmented from the metadata. The keywords identified from the metadata are then stored and assigned to one or more media content units as they are identified or received in the future. In this fashion, a “bucket” of media contents units may be defined and keywords for the bucket identified in advance. As media content units are received into the bucket, they are automatically correlated with the keywords. Similarly, keywords for a single media content unit may be defined in advance and the keywords assigned to the media content unit when it is identified or received in the future.
It will also be appreciated that the facility may be implemented in a variety of environments including a single, monolithic computer system, a distributed system, as well as various other combinations of computer systems or similar devices connected in a variety of ways. The facility may utilize third-party services and data to implement all or portions of the aforementioned functionality. Moreover, as used herein, the term “database” should be interpreted to include any data structure that allows data to be stored and accessed, such as tables, linked lists, arrays, etc. Those skilled in the art will also appreciate that the steps shown in
From the foregoing, it will be appreciated that specific embodiments of the invention have been described herein for purposes of illustration, but that various modifications may be made without deviating from the spirit and scope of the invention. Accordingly, the invention is not limited except as by the appended claims.
O'Leary, Thomas M., Bjarnestam, Anna, Heck, Steven F., Forster, Mary, Gandert, Nate, Huang, Ziji, MacGuffie, Monika, Nance, Alvin
Patent | Priority | Assignee | Title |
11544338, | Jun 01 2016 | Meta Platforms, Inc | Grouping content based on geographic data |
Patent | Priority | Assignee | Title |
5745602, | May 01 1995 | Xerox Corporation | Automatic method of selecting multi-word key phrases from a document |
5893101, | Jun 08 1994 | Systems Research & Applications Corporation | Protection of an electronically stored image in a first color space by the alteration of digital component in a second color space |
5963205, | May 26 1995 | Iconovex Corporation | Automatic index creation for a word processor |
6192360, | Jun 23 1998 | Microsoft Technology Licensing, LLC | Methods and apparatus for classifying text and for building a text classifier |
6405162, | Sep 23 1999 | Xerox Corporation | Type-based selection of rules for semantically disambiguating words |
6735583, | Nov 01 2000 | GETTY IMAGES LIMITED | Method and system for classifying and locating media content |
6941294, | Aug 28 2000 | BEN GROUP, INC | Method and apparatus for digital media management, retrieval, and collaboration |
6944611, | Aug 28 2000 | BEN GROUP, INC | Method and apparatus for digital media management, retrieval, and collaboration |
7320000, | Dec 04 2002 | International Business Machines Corporation | Method and apparatus for populating a predefined concept hierarchy or other hierarchical set of classified data items by minimizing system entrophy |
7546288, | Sep 04 2003 | Microsoft Technology Licensing, LLC | Matching media file metadata to standardized metadata |
7603349, | Jul 29 2004 | R2 SOLUTIONS LLC | User interfaces for search systems using in-line contextual queries |
20020042923, | |||
20040249859, | |||
20050097628, | |||
20050114141, | |||
20050283357, | |||
20060069733, | |||
20060112067, | |||
20060117040, | |||
20060149781, | |||
20060265503, | |||
20070005581, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Jun 07 2006 | Getty Images, Inc. | (assignment on the face of the patent) | / | |||
Nov 18 2006 | BJARNESTAM, ANNA | GETTY IMAGES, INC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 018845 | /0549 | |
Nov 22 2006 | FORSTER, MARY | GETTY IMAGES, INC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 018845 | /0549 | |
Dec 01 2006 | HECK, STEVEN F | GETTY IMAGES, INC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 018845 | /0549 | |
Dec 01 2006 | GANDERT, NATE | GETTY IMAGES, INC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 018845 | /0549 | |
Dec 06 2006 | NANCE, ALVIN | GETTY IMAGES, INC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 018845 | /0549 | |
Dec 06 2006 | MACGUFFIE, MONIKA | GETTY IMAGES, INC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 018845 | /0549 | |
Dec 06 2006 | HUANG, ZIJI | GETTY IMAGES, INC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 018845 | /0549 | |
Dec 21 2006 | O LEARY, THOMAS M | GETTY IMAGES, INC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 018845 | /0549 | |
Jul 02 2008 | GETTY IMAGES, INC | General Electric Capital Corporation | SECURITY AGREEMENT | 021204 | /0871 | |
Nov 05 2010 | GETTY IMAGES INC | GENERAL ELECTRIC CAPITAL CORPORATION, AS COLLATERAL AGENT | SECURITY AGREEMENT | 025412 | /0499 | |
Nov 05 2010 | GENERAL ELECTRIC CAPITAL CORPORATION, AS COLLATERAL AGENT | GETTY IMAGES US INC | RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS | 025389 | /0825 | |
Nov 05 2010 | GENERAL ELECTRIC CAPITAL CORPORATION, AS COLLATERAL AGENT | GETTY IMAGES INC | RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS | 025389 | /0825 | |
Oct 18 2012 | GETTY IMAGES, INC | BARCLAYS BANK PLC | NOTICE AND CONFIRMATION OF GRANT OF SECURITY INTEREST IN PATENTS | 029190 | /0917 | |
Oct 18 2012 | General Electric Capital Corporation | GETTY IMAGES, INC | TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS | 029155 | /0882 | |
Dec 10 2015 | GETTY IMAGES, INC | WILMINGTON TRUST, NATIONAL ASSOCIATION | NOTICE AND CONFIRMATION OF GRANT OF SECURITY INTEREST IN PATENTS | 037289 | /0736 | |
Mar 22 2018 | BARCLAYS BANK PLC, AS PRIOR AGENT | JPMORGAN CHASE BANK, N A , AS SUCCESSOR AGENT | NOTICE OF SUCCESSION OF AGENCY | 045680 | /0532 | |
Feb 19 2019 | JPMORGAN CHASE BANK, N A | GETTY IMAGES, INC | RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS | 048384 | /0341 | |
Feb 19 2019 | JPMORGAN CHASE BANK, N A | GETTY IMAGES US , INC | RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS | 048384 | /0341 | |
Feb 19 2019 | JPMORGAN CHASE BANK, N A | GETTY IMAGES SEATTLE , INC | RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS | 048384 | /0341 | |
Feb 19 2019 | WILMINGTON TRUST, NATIONAL ASSOCIATION | GETTY IMAGES, INC | RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS | 048384 | /0420 | |
Feb 19 2019 | WILMINGTON TRUST, NATIONAL ASSOCIATION | GETTY IMAGES US , INC | RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS | 048384 | /0420 | |
Feb 19 2019 | WILMINGTON TRUST, NATIONAL ASSOCIATION | GETTY IMAGES SEATTLE , INC | RELEASE BY SECURED PARTY SEE DOCUMENT FOR DETAILS | 048384 | /0420 | |
Feb 19 2019 | GETTY IMAGES, INC | JPMORGAN CHASE BANK, N A | SECURITY AGREEMENT | 048390 | /0709 | |
Feb 19 2019 | GETTY IMAGES US , INC | JPMORGAN CHASE BANK, N A | SECURITY AGREEMENT | 048390 | /0709 |
Date | Maintenance Fee Events |
Mar 29 2023 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Date | Maintenance Schedule |
Oct 15 2022 | 4 years fee payment window open |
Apr 15 2023 | 6 months grace period start (w surcharge) |
Oct 15 2023 | patent expiry (for year 4) |
Oct 15 2025 | 2 years to revive unintentionally abandoned end. (for year 4) |
Oct 15 2026 | 8 years fee payment window open |
Apr 15 2027 | 6 months grace period start (w surcharge) |
Oct 15 2027 | patent expiry (for year 8) |
Oct 15 2029 | 2 years to revive unintentionally abandoned end. (for year 8) |
Oct 15 2030 | 12 years fee payment window open |
Apr 15 2031 | 6 months grace period start (w surcharge) |
Oct 15 2031 | patent expiry (for year 12) |
Oct 15 2033 | 2 years to revive unintentionally abandoned end. (for year 12) |