The present disclosure is generally related to electronic data files and more particularly is related to contextual feature selection within an electronic data file.
The increasing prevalence of portable electronic devices, such as smart phones, tablets, and compact computers has effected a significant increase in the development of media and content for users to enjoy on his or her devices. This media and content is stored as digitized data often on user-accessible servers, e.g., the Cloud, where it can be accessed and downloaded by users. One type of media or content is the electronic book, or eBook, which is widely used to read novels, magazines, and other written works on an electronic device. The eBook is growing in popularity and rapidly becoming a preferred form of books by many readers.
There are known, commercially available techniques for embedding advertisements in electronic text in some applications. For example, advertising banners are often provided on webpages. Tithe webpage receives significant traffic, such advertising banners can be an effective form of advertising. Further, revenues can be generated for the webpage owner by charging the advertiser for hosting the advertisement on the webpage. However, the use of advertising in electronic texts has shortcomings, namely, the difficultly in pairing suitable advertisements to the appropriate user. When advertisements for a particular product or service are directed to a reader who has little interest in that product or service, the successfulness of the embedded advertisement is significantly low. In turn, this problem lessens an advertiser's interest in investing in embedded advertisements.
Thus, a heretofore unaddressed need exists in the industry to address the aforementioned deficiencies and inadequacies.
Embodiments of the present disclosure provide a system and method for feature selection within an electronic data file. In this regard, one embodiment of such a method, among others, can be broadly summarized by the following steps: identifying a plurality of features from a first electronic data file using textual data from the first electronic data file; identifying a relevancy of each of the plurality of features of the first electronic data file, wherein the relevancy is expressed numerically; selecting at least one of the plurality of features meeting a predetermined relevancy numeric, thereby creating a summary file for the at least one of the plurality of features of the first electronic data file; isolating the at least one feature of the first electronic data file with features identified from other electronic data files using textual data within the other electronic data files; creating a feature matrix for each electronic data file to correlate the plurality of features to each electronic data file; and identifying at least one connection between one of the plurality of features within the feature matrix with a searched string based on a relevancy of the plurality of features to the electronic data file.
Embodiments of the present disclosure provide a computerized system of feature selection within an electronic data file. Briefly described, in architecture, one embodiment of the system, among others, can be implemented as follows. The computerized system has a processor capable of performing the steps of identifying a plurality of features from a first electronic data file using textual data from the first electronic data file; identifying a relevancy of each of the plurality of features of the first electronic data file, wherein the relevancy is expressed numerically; selecting at least one of the plurality of features meeting a predetermined relevancy numeric, thereby creating a summary file for the at least one of the plurality of features of the first electronic data file; isolating the at least one feature of the first electronic data file with features identified from other electronic data files using textual data within the other electronic data files; creating a feature matrix for each electronic data file to correlate the plurality of features to each electronic data file; and identifying at least one connection between one of the plurality of features within the feature matrix with a searched string based on a relevancy of the plurality of features to the electronic data file.
The present disclosure can also be implemented as a method of contextual feature selection within a computerized eBook text file. In this regard, one embodiment of such a method, among others, can he broadly summarized by the following steps: identifying a plurality of features from a plurality of eBook text files, respectively, using textual data from each of the plurality of eBook text files, wherein the plurality of features are one of: an entity, a keyword, a concept, a relation, and a taxonomy term; calculating a numerical relevancy score for each of the plurality of features of each of the plurality of eBook text files relative to a discrete portion each of the plurality of eBook text files, respectively; creating a summary file each of the plurality of eBook text files and for each of the plurality of features having a numerical relevancy score greater than a predetermined relevancy numeric; isolating at least one of the plurality of features of one of the plurality of eBook text files; correlating the at least one isolated feature of the one eBook with other isolated features of other eBooks based on a data type of the isolated features to thereby create a feature matrix for each of the plurality of eBook text files; and identifying at least one connection between one of the isolated features within the feature matrix with a searched string based on a relevancy of the isolated feature to the discrete portion of the eBook text file.
Other systems, methods, features, and advantages of the present disclosure will be or become apparent to one with skill in the art upon examination of the following drawings and detailed description. It is intended that all such additional systems, methods, features, and advantages be included within this description, be within the scope of the present disclosure, and be protected by the accompanying claims.
Many aspects of the disclosure can be better understood with reference to the following drawings. The components in the drawings are not necessarily to scale, emphasis instead being placed upon clearly illustrating the principles of the present disclosure. Moreover, in the drawings, like reference numerals designate corresponding parts throughout the several views.
FIG.7 is an image of code expressions for mining a specific data entry from the list of information used in the method of feature selection within the electronic data file of
The subject disclosure is directed to a system and method for feature selection and classification within electronic data files, commonly, an electronic book (eBook) or similar data file. The eBook file may include any type of file format, commonly the EPUB format due to its popularity and prevalence. Other formats may include Broadband eBooks (BBeB), .doc or .docx files, eReader files (.pdb), FictionBook (.fb2), Founder Electronics (.xeb, .ceb), as well as other text data files not explicitly identified herein.
Taking the eBook as the exemplary data file (hereinafter, referred to as “eBook”, “eBook text file”, or “book”), as a general overview, the subject disclosure may allow for the identification of features within a body of text of that eBook. Once identified, those features may be processed and organized into a usable matrix which can be used to identify features within other eBooks that may be similar in terms of concepts, plots, characters, etc. This data can be used to determine audience type for a particular eBook, such as to leverage the context of the eBook to create a profile of the user through their use of that eBook and others. This correlation between the user type and the eBook can be beneficial in a number of ways. For example, knowing the audience type of a particular eBook enables the possibility of making a suggestion to that user on other, similar eBooks, or making a suggestion to other users who might have similar interests. Further, being able to identify audience types based on interests can be beneficial in the advertising field where advertisements directed to specific user types can he made with greater success than conventional means.
Referring back to FIG, 1, at block 30, the chapters of the eBook text file are processed using Alchemy API software or similar software, which analyzes the text within the eBook text file to gather or select features of the eBook, as indicated at block 35. The features, for example, may include any type of trait, characteristic, or identifying aspect of the eBook. For example, the features may be entities of the eBook, which may include characters, people, settings, objects, or other entities identified with a proper noun. Other features may include keywords, concepts, relations, and taxonomy terms relevant to a portion of the text being analyzed. Other features may include other aspects of the eBook not explicitly identified here, but considered within the scope of the present disclosure. The features that are gathered may offer varying levels of specificity on their relevance to the eBook. For example, entities and keywords of the eBook, as well as brand names used in the eBook, may be some of the most specific pieces of data that the Alchemy API software gathers, due to the fact that these features arc indicative of specific data themselves, e.g., a character name is indicative of that character. Other features, such as concepts and taxonomy terms may be more general due to the possibility of interpretations in analyzing those terms. The Alchemy API software may output data lines, as shown in
In addition to the identification of the feature within the eBook or a chapter thereof, the output of the Alchemy API software may provide an identification of a relation and relevancy of each feature of the text. For example, a ‘Sentiscore’ (‘Sentiment’) or relation score may be extracted based on the piece of data's positive or negative relation to text around it. For example, based on the text surrounding a keyword, the keyword may receive a score between −1 and +1, with +1 being the most positive relationship to the surrounding text and −1 being the most negative relationship to the surrounding text. The keyword (or feature of the text, or other piece of data) may then be filter with the Sentiscore by setting a threshold. For example, a user may specify that −0.3 is the least positive relation that the user will accept. Data with a Sentiscore that falls below this threshold can be excluded from the rest of the process. This thresholding of data using the Sentiscore can help narrow down large quantities of data, such that the most relevant data can be extracted.
The relevancy of the feature may also be used to narrow down the field of identified features to those that are most central to the text. The relation or relevancy may be expressed numerically, such as with a relation score or relevancy score, or with other data. In the data line examples of
The occurrence of each feature within the text may be organized relative to other features using the relevancy numeric. Once each of the features have been identified and organized according to a relevancy numeric, it is possible to segregate each feature into broader classes of relevancy. One method is to use a threshold or cutoff number that can be used to parse out relevancies which fall below a predetermined level, or it is possible to sort the features by relevancy and limit the number received. For example, with features identified as entities, keeping the first 15 entities may generally parse out those entities with relevancies that are below 30-40%.
A Python program can be used to retrieve data from Alchemy API software. This Python program iterates through all of the chapter files that are in the library, making calls to the Alchemy API software for each individual chapter. For each chapter, a call to the system for each data type must then be made. Once it has been established that the data type exists for the chapter, the returned data may be formatted.
Accordingly, once an initial list has been created for each data type within a chapter, it may then be appended together into a new, larger, multidimensional list. This multidimensional list may allow for all information about the data in a specific chapter to be easily accessed at once. The large list for each chapter may then be appended to the summary file for the book that it originated from.
Because the eBook text files are separated into chapters to enhance the processing through the Alchemy API software, measures should he taken to create overall data that can be used in making assignments for eBooks holistically. In order to do this, new functions can be used that could read in all of the features that arc included in a book's summary file, and choose the most relevant features for each data type. Once the program delves into a particular eBook's summary file, it may then be split into entries. This is done by putting each list inside the program into a single entry. Each type of data is then accessed for every chapter's entry. Because the amount of data returned for each type is different, the number of most relevant entries retrieved for each is different. The distribution is as follows: 10 entities, 20 keywords, and six concepts. All relations and taxonomy terms may be included, since there are relatively few of them. Taxonomy terms may he reserved for chapters, as they vary greatly. FIG.7 is an image of code expressions for mining a specific data entry from the list of information used in the method of feature selection within the electronic data file of
Because the order that the calls were made in the previous functions is known, the entity list within the entry can be accessed with ease. After the desired list has been located, it then must be split into the lists, which correspond to each entity. Within these first ten lists, the first entry may be extracted. It is then possible to confidently assume that the first ten lists will be the most relevant to the content in the eBook text file because the Alchemy API software returns data in order of their relevancy scores. For each data type, this information is saved into a new list. After all types of data have been accessed, the new data for the overall book can be appended to that eBook's summary file. For readability in the summary file, descriptions may be added of what the data in the following line would be.
Referring back to
A more complicated task than ascertaining whether an eBook text file contains clear profanity is determining whether there is graphically violent or sexually explicit content in the eBook text file without needing a human being to read each text file individually. Many advertisers may wish not to incorporate their advertisements in chapters or books that contain explicit or violent material. And, it is not practical for human beings to carefully read through every book in the library as the company grows and make a determination as to whether the book contains graphic or violent material. However, it is possible to implement machine learning as a solution for this task.
In creating the feature matrix for all chapters, discussed later, including the graphic ones that were added for training purposes, it may be necessary to use both syntactic and lexical features. Syntactic features may be extracted by first being run through a speech tagger within a natural language tool kit. Then, it is possible to save the ratio of nouns to verbs, nouns to adjectives, verbs to adverbs, and overall sentence length and verb counts for each chapter.
To initiate the machine learning process, it may first be necessary to identify chapters or passages from other books that contained trustworthy examples of graphic content. For example, using a small sample of books in the library, it may he possible to identify negative results for graphic content in this sample of books. The select chapters of these books may be gathered and downloaded. Depending on one's familiarity with the small sample of books currently in the system, it may be predicted that the initial training dataset is likely to be primarily positive or negative. A plurality of algorithms may be employed in order to determine which algorithm would best fit the selected sample of data. The algorithms may include Logistic Regression, Gaussian Naïve Bayes, and Multinomial Naïve Bayes.
Once the machine learning is complete, it may be useful to save the output in an array to be used in later functions. This may make it possible to access the result for each chapter at the array that it occurs in the library, and then perform tasks on that specific chapter depending upon its result.
It may be possible to implement all of the tokens in the chapters. This may show if there are unknown correlations between other tokens and whether or not a chapter contained graphic content. One way to do this is to create a list of all tokens in all chapters. Then, upon accessing each chapter's text, loops may be used to get a count for how many times each word from the overall list occurs in each chapter.
Once the information is gathered and processed through the profanity and graphic content filter at block 40, the Alchemy API software at block 30 and the feature selection module at block 35 may be used to create a summary file for each eBook, as shown at block 45. The summary file for each eBook may then be used to leverage the context of the eBook, as identified through the feature selection, to create a profile of the reader of that eBook.
The summary files are first processed to isolate features within each of the summary files, as shown at block 50. Isolating features from the summary files facilitates the ability to compare each type of data that has been gathered for each eBook or each chapter of the eBook against the same type of features for other eBooks and other eBook chapters. The process of isolating features includes gathering all of the data found for all chapters of the eBooks and dividing it into data types. Once split by data type, the data can be further examined to find correlations between the various eBook chapters. As an example, dividing the summary files by data types may include separating out each type of feature selected in block 35 (
From block 50, the method can follow two different paths: one path that uses search terms (block 55) to generate target matrices (block 60), or a second path that creates feature matrices (block 65). In the first path, the use of search terms at block 55 refers to identifying all possible taxonomy terms that have been matched to the eBooks or the eBook chapters and then creating a list without any repeated terms. Taxonomy terms may be the broadest type of feature that the text file has, so more specific features present in the text files may be required to find correlations between features and taxonomy terms, and to link these features and taxonomy terms with the text files of additional eBooks. Accordingly, the search terms become the list of terms that can be matched to the chapters of an eBook using all other features that have been identified and isolated. The use of search terms at block 55 is effectively an extension of the data that can be achieved from simply processing the data returned from Alchemy API at block 30 (
After block 55, the method may use target matrices in block 60 to list expected outcomes of connections. These target matrices may be used to evaluate the performance of the machine learning algorithms that are utilized later in the method to determine relevancy of the text in eBooks or chapters. In general terms, the target matrices may be used as a model for the machine learning algorithms. For example, if the searched term from block 55 is present in the data of a given eBook chapter, it would be considered a positive match to train the machine learning algorithm. In turn, the machine learning algorithm could then make predictions about relevancy using this model and the features extracted.
In the second path, the isolated features from block 50 are organized to create feature matrices at block 65 which can be used to determine how features differ between various chapters of eBooks or between different eBooks. The feature matrices may correlate a plurality of features to a plurality of eBooks or eBook chapters. Creating feature matrices docs not use search terms from block 55, but rather, it performs similar actions to those occurring in the search term block 55 for every single taxonomy term extracted from the text of the eBooks or the chapters thereof in the Alchemy API software of block 30 (
Referring back to
The machine learning algorithm may be run on any type of computerized device having a processor and a non-transitory memory. In one example, a machine learning library for a particular programming language, such as Sci-kit learn, may be used to perform the processing of the machine learning algorithm. The machine learning algorithm may include a variety of distinct or combined processes having any number of models, classifiers, and sub-algorithms. For example, the machine learning algorithm may include application of a Logistic Regression algorithm to the feature matrix of block 65 and/or may include the use of classifiers such as several types of Naïve Bayes classifiers. Many other algorithms may also be utilized, including any that are known within the field of machine learning.
When the machine learning algorithm is employed, it is possible to draw conclusions from the contextual connections made between the features and the various eBooks or chapters. For example, using the machine learning algorithm, it becomes possible to take a single search string or taxonomy term and use the feature matrix to find connections that lead the term to appear relevant to each eBook or chapter of the eBook. When the method is applied to many eBooks, each having many features, it is possible to determine relevancy of terms between eBooks, which can be used as an identifier of audience type. As an elementary example, if a number of eBooks are found to have the proper name ‘George Washington’ as being highly relevant to the context of the eBooks, it may be possible to identify a reader of those eBooks as someone interested in American history. In turn, similar eBooks on American history topics can be suggested to that person or advertising that is believed to be of high interest to them, e.g., historic collectables, can be directed to that person.
Once the terms determined to be relevant to each book and chapter arc known, it is possible to perform searches by terms and keywords within the results returned. If a term is searched that is not already saved, a first version of the machine learning algorithm may take effect and add that term to the information, making the system more robust. Accordingly, with each iteration of the machine learning algorithm, it is possible to increase its accuracy and output.
At block 75, the output of the machine learning algorithm may be processed through a context retrieval module to help ensure the safety of brands. Here, the method disambiguates the differentsenses of a particular search term to make sure that it occurs in the intended way and in a positive way. As an example, the context retrieval processing may allow for selection of particular terms when used as a noun as opposed to their use as a verb.
Once all processing is complete, the method may output the results to a database at block 80, or any other setting for storage, further processing, or other use. In one example, the database may be accessible by a system or users of the system to allow them to access the data. For example, the database may be made accessible to advertisers who can use the data to direct their advertisements to particular eBook readers. All other uses of the data produced by the method described herein n are also considered the scope of the present 1 closure.
It is further rioted that the met include features to analyze the audience of the eBooks outside eBooks themselves. For example, in block 85, audience target matrices may be created to analyze audience type to match the content of an eBook to a specific at demographic. This process is not unlike the creation of target matrices i block 60, but will include data that is characteristic of the audience. The audience demographics may include any type of demographic, such as age, sex, race, location, etc. The audience target matrices may be analyzed at block 90 by an audience machine learning algorithm using the feature matrices created at block 65 to find correlations between the semantic features of eBooks and audience
The result of this thither processing is a list of eBooks that are deemed to be relevant to each audience type that the audience machine learning algorithm is run on. This data then be sent to the database at block 80 or to any other setting for storage,further processing, or other use.
While
Prior to the initial use of the processing described herein, it is necessary to populate the initial database. The database must be initially populated with at least a first set of matches between the various data input into the system or retrieved from eBook text files. For example, the initial population may include creating a first set of matches between advertising types, eBooks, and the chapters within the eBooks. These matches are what may be returned when an advertiser is querying the system for the most relevant, brand-safe locations to place their advertisement.
The first step may be to prompt users of the methodology employed herein for their desired specifications.
One of the most significant features is that of the score. The score may allow a user to determine how positive or negative a feature of an eBook or chapter should be regarded in context to be included in the match. For example, if the user were to specify a score of 0.75, any features that appear in the text, but have a score that is lower than 0.75 will not be included in the machine learning algorithm's assignment.
Once the user specifications have been set, it may then be necessary to filter out any graphic or profane matches, if the user does not want them. To filter out eBooks with profanity summary files for each book may be opened and checked for the profanity warning on the last line. Because summary files and the eBook text files are saved in the same order in their respective folders, the indexes of the books that contained a warning may be saved.
The strategy for excluding graphic content may be similar to that of excluding profanity.
Once all user-specifications are completed, the majority of the process can take place. Due to the fact that the processing occurs based upon both books and the chapters within the books, the algorithm needs to be run on each, as their features differ. It may be beneficial to focus upon individual chapters, as there is naturally a much larger number of them. The initial necessity may be to isolate features (block 50,
When data is pulled from each chapter, it may still be in the format of the AlchemyAPI software output. This means that the SentiScore, type, subject, etc. may still be in the list with each item. Because the items themselves could be used as features, a master list function for each data type may be created. This function may tokenize each group of data types.
In order to use the data present in each chapter's entry, it may be necessary to format it so that it can be easily compared to the master list. As with the previous functions, each item may be isolated from the extra information that is present with it. Here, the numerical score following the item is isolated and converted to a float. It may then be compared to the user set score. If it is equal to or greater than the score, that feature will show as present for the chapter. Once a chapter has been evaluated, its list is added to an overall list of chapter's results.
Finally, in order to use this master list in the final feature matrix, each chapter should be examined to see if it contains each item in the list. If the item is found, a ‘one’ designation is appended to the list. If not, a ‘zero’ designation is appended. The resulting list of ones and zeros may be used in the feature matrix (block 65 in
The process described in
Under this example, the completion of the five initial two-dimensional matrices may lead to the need for a single matrix containing all information for a particular chapter within a single row in the matrix. This single matrix may he achieved by first looping through a range equivalent to the number of chapters in the library. Within each iteration of the loop, the list at the index of the iteration may be pulled from each matrix. These lists may then be combined and appended to the final matrix. At the end of the process, the result may be one matrix with the same number of rows as chapters in the library. Each row may contain all of the information for each data type in a given chapter.
Once the feature matrix (block 65,
Next, synonyms may be gathered through NLTK's Word Net interface.
Inside each iteration of the list of words to be assigned to their relevant chapters, the function to create a target matrix may also be called upon.
This may result in a list of ones and zeros, which has one row and is the length of the total number of chapters. This format may prove to be a simple way to evaluate whether or not a chapter is relevant, as variables such as presence of a synonym or similar topic could lead to a false negative. For this reason, additional scrutiny may be used in determining the initial success of the machine learning models.
Now that the feature matrix (block 65,
The use of a specific model or algorithm may be selectable based on the desired specifics of the outcome of the processing. To initially determine which of the models may be preferable, all three algorithms (Logical Regression, Multinomial Naïve Bayes, and Gaussian Naïve Bayes) can be run with three different term searches. This may he done in order to evaluate the performance of the models. As an example of evaluating performance of the models,
To ensure that the machine learning algorithms are as accurate as possible, context retrieval (block 75,
It is cautioned that not all uses of a particular word may, be uses of the same sense of that word. For this reason, word sense disambiguation may be employed. For example, a Lesk algorithm may be used effectively to find the correct sense of a word. Using the Lesk algorithm, the noun sense of the word may first be used, as a vast majority of the taxonomy terms are nouns. If no noun senses are returned, the verb sense of the word may be used. This information may be saved alongside each sentence with a match. Once all sentences containing matches and the word sense of each match has been saved, a process may be used to determine which sense of the word is most likely to be correct.
The machine learning models may account for at least four different scenarios. These include chapter matches, overall book matching, database initializing with all current data, and single term searching. The difference between chapter and overall book searching may be negligible, as they may both be approached in the same manner. There are simply fewer entries for overall books than individual chapters. It may be beneficial to separate the database population methods from the single search methods in order to keep run time down on the single search method, as users will he primarily interested in the single search function and it may be best to avoid unnecessary lags by repopulating the database every time something is searched for.
The system and method described herein may be initially populated with terms and eBook text files. Over time and over a period of use, processing of the initially populated terms stored in the database may be improved through the machine learning algorithms employed. However, when a user searches for a term or terms which are not already populated in the database, it is necessary for that term or terms to be added to the database, such that matches between the newly added term or terms and the eBook text tiles can be created. If a new term is presented, where the new term is not in the database, a single search term version of the processing may be employed. This single search term version (also called ‘second portion’ of the system) may be faster than the original populating process of terms in the database. This is due to the fact that it may only run the machine learning algorithms for a single term, as opposed to the previously described processing which runs for every single term in the current database.
As an example of this processing,
It may also be beneficial to incorporate potential audience types into the methodology used to better direct specific advertisements to the correct audience type. It may be possible to incorporate audience type by creating different types of target matrices for each eBook in its entirety. Initially, it is necessary to identify and assign potential audience types. A list of approximately 40 terms was derived, although additional or different terms could also be used. The terms could be used in a similar manner to the search terms previously described.
With these terms, target matrices can be made for all of the eBooks currently located in the library. In these matrices, a ‘1’ may represent the eBook in question being relevant to a particular audience type, and a ‘0’ being irrelevant to that audience type. For example, of an initial set of approximately 35 books, approximately 30 of them may be reserved for training. In order to perform training on the 30 books that are held aside, a similar feature matrix to that previously described may be used. This includes the most relevant entities, keywords, concepts, relations, and taxonomy terms to each book that are gathered through Alchemy API software. A reason to use the same or a substantially similar feature matrix may be to identify if the features would have any correlation to potential audience types. If so, it could act as a novel way to make suggestions on audience type.
Once the feature matrix and target matrices have been established, machine learning may be run on every audience type. Machine learning will train on the entire feature matrix of the training set and the target matrices of the eBooks being tested to find correlations there between. It may then make predictions for the books being tested on and assign them a ‘1’ if they are relevant to the term and a ‘0’ if they are not. The results of this process for the first few audience terms are shown in
As is shown by block 202, a plurality of features is gathered from a first electronic data file. A relevancy of each of the plurality of features of the first electronic data file is identified, wherein the relevancy is expressed numerically (block 204). One of the plurality of features meeting a predetermined relevancy numeric is selected, thereby creating a summary file for one feature of the first electronic data file (block 206). The one feature of the first electronic data file is isolated with features of other electronic data files (block 208). A feature matrix is created for each electronic data file, the feature matrix having the plurality of features for each electronic data file (block 210). At least one connection is identified between one of the plurality of features within the feature matrix with a taxonomy term based on a relevancy of the plurality of features to the electronic data file (block 212). Additionally, the method may include any of the steps, processes, or functions described relative to any other figure of this disclosure.
It should be emphasized that the above-described embodiments of the present disclosure, particularly, any “preferred” embodiments, are merely possible examples of implementations, merely set forth for a clear understanding of the principles of the disclosure. Many variations and modifications may he made to the above-described embodiment(s) of the disclosure without departing substantially from the spirit and principles of the disclosure. All such modifications and variations arc intended to be included herein within the scope of this disclosure and the present disclosure and protected by the following claims.
This application claims benefit of U.S. Provisional Application Ser. No. 62/243,324 entitled, “Story Driven Advertising” and filed Oct. 19, 2015 and U.S. Provisional Application Ser. No. 62/325,501 entitled, “System and Method for Feature Selection and Classification in an Electronic Data File” and filed Apr. 21, 2016, the entire disclosures of which are incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
62243324 | Oct 2015 | US | |
62325501 | Apr 2016 | US |