US20220156643A1 - Using Machine Learning to Predict Outcomes for Documents - Google Patents
Using Machine Learning to Predict Outcomes for Documents Download PDFInfo
- Publication number
- US20220156643A1 US20220156643A1 US17/587,270 US202217587270A US2022156643A1 US 20220156643 A1 US20220156643 A1 US 20220156643A1 US 202217587270 A US202217587270 A US 202217587270A US 2022156643 A1 US2022156643 A1 US 2022156643A1
- Authority
- US
- United States
- Prior art keywords
- document
- electronic document
- features
- outcome
- content
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000010801 machine learning Methods 0.000 title 1
- 230000004044 response Effects 0.000 claims abstract description 36
- 238000012549 training Methods 0.000 claims description 44
- 238000000034 method Methods 0.000 claims description 33
- 238000004590 computer program Methods 0.000 claims description 8
- 238000011156 evaluation Methods 0.000 abstract description 88
- 239000000284 extract Substances 0.000 abstract description 9
- 238000000605 extraction Methods 0.000 description 27
- 238000012795 verification Methods 0.000 description 15
- 230000000875 corresponding effect Effects 0.000 description 14
- 230000008569 process Effects 0.000 description 13
- 238000007726 management method Methods 0.000 description 11
- 238000013500 data storage Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000007935 neutral effect Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 2
- 230000002596 correlated effect Effects 0.000 description 2
- 230000001939 inductive effect Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000009193 crawling Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000003814 drug Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012797 qualification Methods 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/31—Indexing; Data structures therefor; Storage structures
- G06F16/313—Selection or weighting of terms for indexing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/253—Grammatical analysis; Style critique
-
- H04L51/32—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/52—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail for supporting social networking services
Definitions
- the present invention generally relates to analyzing documents, and more specifically to ways of analyzing documents to predict outcomes for documents posted on a computer network.
- a recruiting document is written with the objective of inducing qualified applicants to fill a job vacancy.
- the outcomes of a document are characteristics of reader responses to the document and are indicative of whether the document will achieve its objective.
- outcomes of the recruiting document may include the number of applicants or the proportion of qualified applicants, both of which are indicative of whether the document will achieve its objective of filing a job vacancy with a qualified applicant. Therefore, it is advantageous to tailor and optimize the document before posting the document to induce desired outcomes that will help the document achieve its objective.
- An embodiment of the method comprises receiving the electronic document from a client device via a computer network.
- the electronic document has content directed toward achieving an objective.
- the method comprises extracting a set of features from the content of the electronic document.
- the method also comprises evaluating the features in the set using one or more machine-learned models that indicate directions and degrees of correlation between the features extracted from the content of the electronic document and the objective to which the content of the document is directed to predict an outcome of the electronic document with respect to the objective.
- the method further comprises providing the predicted outcome to the client device.
- An embodiment of the medium includes a non-transitory computer-readable medium storing executable computer program instructions for evaluating an electronic document with respect to an objective.
- the computer program instructions comprise receiving the electronic document from a client device via a computer network.
- the electronic document has content directed toward achieving an objective.
- the instructions comprise extracting a set of features from the content of the electronic document.
- the instructions also comprise evaluating the features in the set using one or more machine-learned models that indicate directions and degrees of correlation between the features extracted from the content of the electronic document and the objective to which the content of the document is directed to predict an outcome of the electronic document with respect to the objective.
- the instructions further comprise providing the predicted outcome to the client device.
- An embodiment of the analysis server comprises a non-transitory computer-readable storage medium storing executable computer program instructions and a processor for executing the instructions.
- the computer program instructions comprise receiving the electronic document from a client device via a computer network.
- the electronic document has content directed toward achieving an objective.
- the instructions comprise extracting a set of features from the content of the electronic document.
- the instructions also comprise evaluating the features in the set using one or more machine-learned models that indicate directions and degrees of correlation between the features extracted from the content of the electronic document and the objective to which the content of the document is directed to predict an outcome of the electronic document with respect to the objective.
- the instructions further comprise providing the predicted outcome to the client device.
- FIG. 1 is a high-level block diagram illustrating an embodiment of an environment for optimizing a document to achieve its desired objectives, according to one embodiment.
- FIG. 2 is a high-level block diagram illustrating an example computer for implementing the client device, the analysis server, and/or the posting server of FIG. 1 .
- FIG. 3 is a high-level block diagram illustrating a detailed view of the document analysis module of the analysis server, according to one embodiment.
- FIG. 4 is an example user interface for an input document displaying evaluation results and phrase highlights for the input document.
- FIG. 5 is a flowchart illustrating a process of generating an evaluation for a document, according to one embodiment.
- FIG. 6 is a flowchart illustrating a process of generating trained models used to generate an evaluation for a document, according to one embodiment.
- FIG. 1 is a high-level block diagram illustrating an embodiment of an environment 100 for optimizing a document to achieve its desired objectives, according to one embodiment.
- the environment includes a client device 110 connected by a network 122 to an analysis server 126 and a posting server 134 .
- client device 110 connected by a network 122 to an analysis server 126 and a posting server 134 .
- client device 110 connected by a network 122 to an analysis server 126 and a posting server 134 .
- one analysis server 126 one analysis server 126
- posting server 134 there may be multiple instances of each of these entities.
- the network 122 provides a communication infrastructure between the client devices 110 , the analysis server 126 , and the posting server 134 .
- the network 122 is typically the Internet, but may be any network, including but not limited to a Local Area Network (LAN), a Metropolitan Area Network (MAN), a Wide Area Network (WAN), a mobile wired or wireless network, a private network, or a virtual private network.
- LAN Local Area Network
- MAN Metropolitan Area Network
- WAN Wide Area Network
- mobile wired or wireless network a private network
- private network or a virtual private network.
- the client device 110 is a computing device such as a smartphone with an operating system such as ANDROID® or APPLE® IOS®, a tablet computer, a laptop computer, a desktop computer, or any other type of network-enabled device.
- a typical client device 110 includes the hardware and software needed to connect to the network 122 (e.g., via Wifi and/or 4 G or other wireless telecommunication standards).
- the client device 110 includes a document input module 114 that allows the user of the client device 110 to interact with the analysis server 126 and the posting server 134 .
- the document input module 114 allows the user to input a document as formatted text, and forwards the document to the analysis server 126 for evaluation or to the posting server 134 for posting to the computer network 122 .
- the document input module 114 also presents any feedback data from the analysis server 126 or the posting server 134 back to the user of the client device 110 .
- a client device 110 may also be used by a reader of a posted document to respond to the posting.
- the document input module 114 includes a browser that allows a user of the client device 110 to interact with the analysis server 126 and the posting server 134 using standard Internet protocols.
- the document input module 114 includes a dedicated application specifically designed (e.g., by the organization responsible for the analysis server 126 or the posting server 134 ) to enable interactions among the client device 110 and the servers.
- the document input module 114 includes a user interface 118 that allows the user of the client device 110 to edit and format the document and also presents feedback data about the document from the analysis server 126 or the posting server 134 to the client device 110 .
- the content of the document includes text written and formatted by an author directed towards achieving one or more desired objectives when presented to readers.
- a document may be classified into different types depending on its primary objective. For example, a document may be classified as a recruiting document when the primary objective of the document is to gather candidates to fill a vacant job position at a business organization. As another example, the document may be classified as a campaign speech when the primary objective of the document is to relay a political message of a candidate running for government office to gather a high number of votes for an election.
- the analysis server 126 includes a document analysis module 130 that extracts a set of features from an input document, analyzes the features, and outputs evaluations of the document that indicate likelihoods of whether the document will achieve a defined set of objectives, including its primary objective.
- Each evaluation may be associated with a specific objective of the document. For example, one evaluation may be a favorability score that indicates the likelihood a recruiting document will achieve its objective of filling a vacant job position with a qualified applicant. As another example, an evaluation may be a likelihood that the recruiting document will achieve its objective of receiving gender neutral responses, indicating no gender bias.
- Each evaluation may be based on one or more predicted outcomes of the document, which are predicted characteristics of reader responses to the document.
- the set of objectives for an input document are defined based on the type of the input document and indicate common goals that authors for the type of document are interested in achieving, and may include objectives relating to demographic information of people responding to the document.
- the set of objectives may differ across different types of documents due to different desired outcomes. For example, an author of a campaign speech may be interested in the objective of collecting a high number of voters for the political candidate, but may also be interested in additional demographic objectives such as gathering votes from a certain location, or gathering votes from people with a certain socio-economic background.
- an author of a recruiting document may be interested in the objective of collecting a high number of applicants for a vacant job opening, but may also be interested in additional recruiting objectives such as hiring a candidate with an engineering background, which may not be of interest to the author of the campaign speech document.
- an administrator of the analysis server 126 specifies the set of objectives for an input document depending on its type.
- the analysis server 126 may specify a large set of potential objectives for the input document to the user of the client device 110 , and the user may select a subset of the potential objectives for which the document analysis module 130 would perform the evaluations.
- the results of the evaluations are provided back to the client device 110 and the document may be automatically or manually optimized based on the evaluations to improve its likelihood of achieving its desired objectives.
- Each evaluation may be presented in various forms, such as a numerical score, a scale, or a plot, but is not limited thereto.
- the posting server 134 includes a document posting module 138 that posts the optimized document and receives outcome data on the optimized document.
- the document posting module 138 may post a recruiting document optimized based on the evaluations received by the document analysis module 130 .
- the document posting module 138 may receive applications for the posted position, as well as outcome data describing characteristics of people who responded to the document.
- the collected outcome data may be provided to the document analysis module 130 in order to refine evaluations on other documents, and also may be provided back to the client device 110 .
- the environment 100 shown in FIG. 1 optimizes a document to achieve its desired objectives by providing evaluations of the document and tailoring the document based on the evaluations.
- the environment 100 also posts the document and collects outcome data for the document that can be used to refine evaluations on other documents.
- FIG. 2 is a high-level block diagram illustrating an example computer 200 for implementing the client device 110 , the analysis server 126 , and/or the posting server 134 of FIG. 1 .
- the computer 200 includes at least one processor 202 coupled to a chipset 204 .
- the chipset 204 includes a memory controller hub 220 and an input/output (I/O) controller hub 222 .
- a memory 206 and a graphics adapter 212 are coupled to the memory controller hub 220 , and a display 218 is coupled to the graphics adapter 212 .
- a storage device 208 , an input device 214 , and network adapter 216 are coupled to the I/O controller hub 222 .
- Other embodiments of the computer 200 have different architectures.
- the storage device 208 is a non-transitory computer-readable storage medium such as a hard drive, compact disk read-only memory (CD-ROM), DVD, or a solid-state memory device.
- the memory 206 holds instructions and data used by the processor 202 .
- the input interface 214 is a touch-screen interface, a mouse, track ball, or other type of pointing device, a keyboard, or some combination thereof, and is used to input data into the computer 200 .
- the graphics adapter 212 displays images and other information on the display 218 .
- the network adapter 216 couples the computer 200 to one or more computer networks.
- the computer 200 is adapted to execute computer program modules for providing functionality described herein.
- module refers to computer program logic used to provide the specified functionality.
- a module can be implemented in hardware, firmware, and/or software.
- program modules are stored on the storage device 208 , loaded into the memory 206 , and executed by the processor 202 .
- the types of computers 200 used by the entities of FIG. 1 can vary depending upon the embodiment and the processing power required by the entity.
- the computers 200 can lack some of the components described above, such as graphics adapters 212 , and displays 218 .
- the analysis server 126 can be formed of multiple blade servers communicating through a network such as in a server farm.
- FIG. 3 is a high-level block diagram illustrating a detailed view of the document analysis module 130 of the analysis server 126 , according to one embodiment.
- the document analysis module 130 is comprised of modules including a data storage module 350 , a corpus management module 306 , a factor extraction module 310 , a phrase extraction module 314 , a training module 318 , a weighting module 322 , an evaluation module 326 , a display module 330 , and a response verification module 334 .
- Some embodiments of the document analysis module 130 have different modules than those described here. Similarly, the functions can be distributed among the modules in a different manner than is described here.
- the data storage module 350 stores data used by the document analysis module 130 .
- the data include a training corpus 354 , metadata and factors 358 , phrase-related features 362 , and weights 366 .
- the training corpus 354 is a collection of documents that are presented to readers and are associated with a set of known outcomes.
- the corpus management module 306 generates, maintains, and updates the training corpus 354 .
- the corpus management module 306 may collect documents in the training corpus 354 , as well as their outcomes, from various sources. In one instance, the corpus management module 306 collects documents that were previously posted and presented to readers, and have a set of known outcomes. These documents may include documents posted, and corresponding outcome data received, by the posting server 134 .
- the corpus management module 306 may also collect documents by crawling websites on the network, or may be provided with such documents by entities such as business organizations. In another instance, the corpus management module 306 automatically collects outcome data on currently posted documents through techniques such as user telemetry. In one embodiment, the corpus management module 306 continuously and automatically updates the training corpus 354 as new documents with a set of known outcomes are received from various sources or the posting server 134 .
- the set of outcomes associated with documents include characteristics of reader responses to the document.
- the characteristics may describe the number of responses, types of responses, timeliness of responses, and demographic information about the responders.
- the demographic information relates to any specific characteristics of the responders, and may relate to, for example, the gender, ethnicity, qualification levels, titles, and personality traits (e.g., introverted or extroverted) of the responders.
- possible outcomes for a recruiting document may include the number of applicants, time required to fill the vacant position described in the document, proportion of qualified applicants, proportion of male versus female applicants, current job titles of the applicants, and proportion of applicants under a certain age, but is not limited thereto.
- the set of outcomes are indicative of whether the document will achieve its desired objectives in the future.
- the number of applicants or the proportion of qualified applicants may be highly indicative of whether the document will achieve its objective of hiring a qualified candidate for a vacant position.
- the proportion of female versus male applicants is highly indicative of whether the document will achieve its objective of acquiring gender neutral responses.
- achieving desired outcomes for a document are directly related to achieving the desired objectives for the document.
- the values of the set of outcomes for documents in the training corpus 354 are already known, as the documents have previously been posted on a computer network.
- the factor extraction module 310 and the phrase extraction module 314 each extract sets of features from documents.
- the sets of features uniquely characterize a document and are features of a document that are expected to correlate with outcomes of the document.
- the sets of features include metadata, linguistic factors, and phrase-related features of a document.
- the identified features may be different for each document type as the relevant outcomes and objectives are different between each type of document.
- the factor extraction module 310 extracts metadata and linguistic factors from documents.
- the metadata includes information about the document other than the content of the document. This may include, for example, the title of the document, geographical locations associated with the document, or any other data that may correlate with the outcomes of the document.
- the factor extraction module 310 may extract the job location for a recruiting document, as well as the industry and field of the job in the recruiting document.
- the linguistic factors include syntactic, structural, and semantic factors extracted from the content of the documents.
- Syntactic factors relate to the set of rules, principles, and processes that govern the structure of sentences in the documents.
- syntactic factors include the proportion and frequency of verbs, the average length of phrases, clauses, sentences, n-grams and how they are assembled together, sentence complexity, and speech density, but is not limited thereto.
- Structural factors relate to the structure and layout of the document content.
- structural factors may include word counts, sentence counts, character counts, the proportion of text in italic font, and the proportion of content in bulleted lists, but is not limited thereto.
- Semantic factors relate to the meaning of words, phrases, and sentences in the documents based on their ordering. For example, whether a company's recruiting document contains an equal opportunity statement is a semantic factor.
- the factor extraction module 310 generates semantic factor models for determining the presence and strength of semantic factors in documents given a set of predetermined syntactic and structural factors of the documents. For example, the factor extraction module 310 may generate a model that determines the presence and strength of an equal opportunity statement in a document given certain n-grams or significant phrases (e.g., “equal,” “opportunity,” “male,” “female”) of the document.
- the presence of a semantic factor is a feature indicating whether a semantic factor is present in documents, and is represented by a binary value (e.g., 0 or 1, “existing equal opportunity statement” or “no equal opportunity statement”) to indicate the presence.
- the strength of a semantic factor is a feature indicating the degree of presence of the semantic factor, and may be represented by discrete values (e.g., “very strong equal opportunity statement,” “strong equal opportunity statement,” “weak equal opportunity statement”) or may be represented by continuous numerical values (e.g., number on a scale from 0 to 100 or confidence levels).
- the model may be determined by analyzing labeled documents in the training corpus 354 which are labeled with known values for the presence and strength of semantic factors in the documents.
- the factor extraction module 310 extracts metadata and linguistic factors from documents in the training corpus 354 and stores them as metadata and factors 358 in the data storage module 350 , along with the semantic factor models.
- the phrase extraction module 314 extracts phrase-related features from documents.
- the phrase-related features indicate the presence of distinctive phrases associated with a category and their level of association to the category. For example, the set of distinctive phrases “the Apple, Big Apple, upstate, Empire State, Broadway,” may be associated with the category “phrases related to New York City.” As another example, the set of distinctive phrases “core competency, move the needle, corporate values, think outside the box, leverage, drill down,” may be associated with the category “phrases related to corporate jargon.”
- the phrase extraction module 314 identifies associations between distinctive phrases and corresponding categories by analyzing documents. In one embodiment, the phrase extraction module 314 determines the associations between distinctive phrases and corresponding categories by extracting phrases that correlate with certain outcomes or metadata across documents in the training corpus 354 . The categories associated with distinctive phrases may be assigned based on the outcomes or metadata of the documents.
- the phrase extraction module 314 may identify distinctive phrases that occur most frequently in recruiting documents with the outcome of a high proportion of female applicants and may assign the category “phrases likely to attract female candidates,” to the identified phrases.
- the phrase extraction module 314 may identify distinctive phrases that occur most frequently in recruiting documents in the pharmaceutical industry and may assign the category “phrases related to pharmaceuticals,” to the identified phrases.
- the phrase extraction module 314 may identify distinctive phrases that occur frequently in recruiting documents with the outcome of a small number of applicants and may assign the category “negative phrases,” to the identified phrases.
- the extracted set of negative phrases may further be divided and each assigned to separate categories of “obscene phrases,” “corporate jargon,” and “offensive language.”
- the phrase extraction module 314 extracts phrase-related features from documents including the presence of distinctive phrases associated with a category and their level of association with the category.
- the presence of distinctive phrases associated with a category is a feature indicating whether a document contains any phrases that are associated with a certain category, and may be represented by a binary value. For example, for a given document, the presence of “phrases related to corporate jargon” may have a binary value of 0 or 1 depending on whether the document contains any one of the phrases “core competency, move the needle, corporate values, think outside the box, leverage, drill down.”
- the level of association between distinctive phrases and their category is a feature indicating how strong of an association the distinctive phrases in a document have with their corresponding category, and may be represented by discrete or numerical values. For example, for a given document having one or more distinctive phrases associated with the category “obscene phrases,” the level of association with the category may be represented by discrete levels of “not obscene,” “somewhat obscene,” “obscene,” and “very obscene,” or may be represented by continuous numerical values (e.g., number on a scale from 0 to 100 or confidence levels). In one embodiment, the level of association may also be determined based on the analysis performed by the phrase extraction module 314 on the training corpus 354 .
- the phrase extraction module 314 For each document in the training corpus 354 , the phrase extraction module 314 identifies phrase-related features that include the presence of any distinctive phrases in corresponding categories and the phrases' levels of association to the categories, and stores them as phrase-related features 362 in the data storage module 350 . The identified associations between distinctive phrases and their corresponding categories are also stored as phrase-related features 362 in the data storage module 350 .
- the training module 318 generates one or more machine-learned models that predict outcomes for documents given the set of features extracted from the documents.
- the set of features includes the metadata, linguistic factors, and the phrase-related features identified through the factor extraction module 310 and the phrase extraction module 314 .
- the models are generated based on the features extracted from documents in the training corpus 354 and the known outcomes of the documents in the training corpus 354 .
- the training module 318 may generate the models by correlating the set of features for each document in the training corpus 354 (stored as metadata and factors 358 and phase-related features 362 ) with the corresponding known outcomes for each document. Given a set of features, the training module 318 may train individual models that predict a single outcome, or may train models that predict multiple outcomes or a combination of outcomes.
- the training module 318 may generate a model that predicts the number of applicants for a document upon receiving a set of extracted features for the document.
- example features may be the presence of an equal opportunity statement, location of the job, and presence of “phrases related to corporate jargon.”
- the training module 318 may train a different model that predicts the proportion of male applicants given the same set of extracted features for the document.
- the training module 318 may train a single model that predicts both outcomes at once given the same set of extracted features for the document.
- the generated models indicate a direction and degree of correlation between the features and outcomes of documents through coefficients generated for each of the features.
- the machine-learned models may indicate directions and degrees of correlation between the presence and strength of distinctive phrases in recruiting documents and demographic information of people who respond to the recruiting documents.
- the sign of the coefficient indicates the direction of the correlation
- the absolute value of the coefficient indicates the degree of correlation.
- a trained model relating the set of features to the number of applicants for a document may indicate that the presence of “obscene phrases” is negatively correlated with high degree of significance through a negative coefficient having a large absolute value.
- the same model may indicate that the presence of a strong equal opportunity statement is positively correlated with high degree of significance through a positive coefficient having a large absolute value.
- the proportion of bullet point content may have a significant correlation with the outcome of the number of applicants, but may have an insignificant correlation with the proportion of veteran applicants.
- the training module 318 continuously and automatically updates the trained models as the training corpus 354 is updated with new documents. By updating the models, the training module 318 is able to identify new correlations between the set of features and outcomes of a document, as well as modify or delete existing correlations to capture any changing patterns over time.
- the weighting module 322 assigns a weight to each feature in the set of features for an outcome based on the trained models generated by the training module 318 for that outcome.
- a weight assigned to a feature may indicate the predictive power of the feature for the outcome.
- the weight assigned for each feature may include the direction and degree of correlation between the features and an outcome, and may be represented by a positive number or a negative number.
- the weights may be assigned based on the coefficients identified through the trained models, but are not required to be identical to the coefficients for that outcome.
- the weights assigned to a set of features indicating predictive power for the outcome of the proportion of female applicants may be a constant factor or a translation of the coefficients identified through a corresponding trained model relating the set of features to the outcome.
- multiple features may be assigned the same numerical weight for a certain outcome if the corresponding coefficients identified through the trained model for the outcome are above or below a predetermined threshold.
- the weighting module 322 may automatically update the weights as the trained models are updated by the training module 318 .
- the weights are saved as weights 366 in the data storage module 350 .
- the evaluation module 326 Responsive to receiving an input document from the client device 110 , the evaluation module 326 extracts the set of features identified by the factor extraction module 310 and the phrase extraction module 314 from the input document, and outputs evaluations of the input document that are likelihoods of whether the document will achieve its set of defined objectives.
- the defined objectives for the document may be determined based on the type of document and/or may be specified by the user that provided the document.
- Each evaluation is associated with an objective of a document, and is based on predictive characteristics of one or more outcomes of the input document. The predictive characteristics are identified through the trained models generated by the training module 318 .
- the evaluations may come in the form of a numerical score or a visual scale indicating the degree of bias, but is not limited thereto.
- the evaluation module 326 may generate the evaluations by applying the trained models to the set of extracted features of the input document to generate predicted values for the one or more outcomes of the input document.
- the evaluation module 326 may combine the predicted outcomes to generate the evaluations. For example, an evaluation indicating the likelihood a recruiting document will achieve its objective of filling a vacant job position may be generated by extracting the set of features from the input document, applying the trained models for predicting the number of applicants and the proportion of qualified applicants, and combining the predicted values for the outcomes into a normalized score.
- the evaluation module 326 may generate the evaluations by summing the weights of the features in the input document for the one or more outcomes. As discussed above in conjunction with the weighting module 322 , the weights associated with the set of features for an outcome are assigned based on the predictive power of the features for that outcome, and are identified through the trained models for that outcome. For example, for an evaluation based on the outcome of the number of applicants, the evaluation module 326 may identify the presence of “obscene phrases,” having a weight of ⁇ 5 for the outcome, the presence of “phrases related to corporate jargon,” having a weight of ⁇ 6 for the outcome, and the presence of an equal opportunity statement, having a weight of +3 for the outcome, in the input document. The evaluation module 326 may then generate the evaluation by scaling the sum of the weights, ⁇ 8, to a normalized score.
- the evaluation module 326 may identify the presence of an equal opportunity statement, having a weight of +10 for the outcome, the presence of “phrases likely to attract females,” having a weight of ⁇ 6 for the outcome, and the presence of “phrases related to Seattle,” having a weight of +1 for the outcome, in the input document. The evaluation module 326 may then output the sum of the weights, +5, to indicate the likelihood.
- the evaluation module 326 evaluates the set of features in the input document using one or more machine-learned models that indicate directions and degrees of correlation between the features extracted from the input document and the objective to which the document is directed to predict an outcome of the input document with respect to its objective.
- the evaluation module 326 may rank the set of features in the input document according to their weights for the one or more outcomes of an evaluation. In one instance, the evaluation module 326 may rank the set of features according to the absolute value of their corresponding weights, as a higher absolute value translates to a higher contribution to the outcome, and thus, a higher contribution to the evaluation.
- the evaluation module 326 may filter out a subset of the features in the input document based on the rankings.
- the filtered features may be determined by ordering the set of features according to their absolute value of weights and selecting a predetermined number or proportion of features that are ranked the highest.
- the filtered features may be determined by ordering the set of features within each group of positive and negative weights, and selecting a predetermined number or proportion of features that are ranked the highest within each group.
- the filtered features may later be presented to the user of the client device 110 through the display module 330 to indicate which features contribute significantly to an evaluation.
- the input document may be optimized based on the filtered features to increase its likelihood of achieving its objectives.
- the evaluation module 326 provides the evaluation results including the evaluations and the filtered features to the display module 330 for presentation to the user of the client device 110 .
- the display module 330 presents the evaluation results of the input document, as well as phrase highlights in the input document to the user of the client device 110 through the user interface 118 . Specifically, the display module 330 receives evaluation results generated by the evaluation module 326 for the input document and graphically presents the results in the context of the input document through the user interface 118 . This includes displaying the evaluations performed on the input document and the filtered features for any of the presented evaluations.
- the display module 330 also identifies distinctive phrases in the content of the input document, and, for each identified distinctive phrase, indicates the influence of the distinctive phrase on the predicted outcomes used to evaluate the input document with respect to its objectives. In one embodiment, the display module 330 identifies and highlights any distinctive phrases in the input document that have a corresponding phrase-category association as identified in phrase-related features 362 in the user interface 118 . In another embodiment, the evaluation module 326 identifies distinctive phrases in the input document, and provides this information to the display module 330 such that the corresponding phrases can be highlighted in the user interface 118 . The categories of the distinctive phrases are also displayed in the user interface 118 .
- the display module 330 enables the input document to be edited and revised through the user interface 118 to improve its likelihood of achieving its set of objectives.
- the input document may be optimized based on the evaluation results presented by the display module 330 .
- a recruiting document having an undesirable evaluation may be presented with a filtered feature indicating the presence of “obscene phrases” in the input document.
- the input document may be revised to eliminate all “obscene phrases” to improve its evaluation and to improve its likelihood of achieving its desired outcomes.
- the revised input document is again provided to the evaluation module 326 , and updated evaluation results are displayed to the user of the client device 110 by the display module 330 as the input document is being revised.
- the evaluation results for an input document may automatically be updated such that the input document is optimized to target desired outcomes before being posted to a computer network.
- FIG. 4 is an example user interface 118 for an input document displaying evaluation results and phrase highlights for the input document.
- the user interface 118 is generated by the display module 330 and provided to the client device 110 for display thereon.
- the display module 330 generates a phrase highlight 410 on the phrase “crazy” based on its associated category 414 “Masculine” in one outlined pattern. As another example, the display module 330 generates a phrase highlight on the phrase “buy-in” based on its associated category of
- a favorability score 418 of “72” indicating the likelihood the recruiting document will achieve its objective of filling the vacant position is generated by the evaluation module 326 and is presented on the user interface 118 by the display module 330 .
- a set of filtered features 422 and 426 are also identified and presented for the favorability score evaluation.
- the set of filtered features contain features with positive weight 422 that contributed to increasing the favorability score. These include, for example, features relating to the use of positive language and the length of the document.
- the set of filtered features also contain features with negative weight 426 that contributed to decreasing the favorability score. These include, for example, features relating to using corporate jargon and a missing equal opportunity statement in the document.
- the evaluation 430 indicating the likelihood of gender neutral responses is displayed in the form of a scale.
- the left-most side corresponds to a low likelihood of achieving gender neutral responses due to a high prediction of male responses
- the right-most side corresponds to a low likelihood of achieving gender neutral responses due to a high prediction of female responses.
- the filtered features for this particular evaluation may include, for example, features relating to the presence and strength of “female” phrases, the presence and strength of “male” phrases, and the presence and strength of an equal opportunity statement.
- the document input module 114 may provide the optimized input document to the document posting module 138 in the posting server 134 .
- the document posting module 138 posts optimized documents to a computer network and collects outcome data for the posted documents, and provides this information back to the response verification module 334 for further analysis.
- the response verification module 334 verifies whether the evaluations generated by the document analysis module 130 are reliable based on the outcome data received from the document posting module 138 on documents that have already been evaluated, optimized, and posted.
- the response verification module 334 provides the optimized documents and outcome data to other modules of the document analysis module 130 for improving evaluations on other documents.
- the response verification module 334 compares the actual outcomes for the optimized documents to their corresponding evaluations to determine whether the document analysis module 130 is generating reliable evaluations with respect to the given objectives.
- the response verification module 334 uses predetermined thresholds to evaluate whether an evaluation is considered “reliable.” For example, if the evaluation indicates a high likelihood that the document will attract gender-neutral responses (e.g., an equal proportion of male and female responders), the response verification module 334 may apply a predetermined threshold to the actual gender outcome for the document to determine whether the evaluation was reliable.
- the threshold may indicate that the responses were not gender-neutral, and hence the evaluation was not reliable, if the more than, e.g., 65% of responders have the same gender.
- the response verification module 334 periodically provides the verification information to the other modules of the document analysis module 130 when new optimized documents and their outcome data are received from the document posting module 138 .
- the response verification module 334 automatically provides this information when the verification performed by the response verification module 334 indicates that the document analysis module 130 is increasingly generating unreliable evaluations. For example, this may occur when the response verification module 334 determines that a proportion of optimized documents above a specified threshold are generating unreliable evaluations with respect to some or all outcomes.
- the response verification module 334 provides the optimized documents and the outcome data to the corpus management module 306 such that the corpus management module 306 may improve the content of the training corpus 354 .
- the corpus management module 306 may add the optimized documents and corresponding outcome data to the training corpus 354 .
- An updated set of features, models, and weights may be generated based on the updated training corpus 354 , such that new trends or patterns are extracted by the various modules of the document analysis module 130 .
- the corpus management module 306 may delete documents in the training corpus 354 and replace them with the optimized document and outcome data received from the document posting module 138 .
- the response verification module 334 provides the optimized documents and the outcome data to the factor extraction module 310 and/or the phrase extraction module 314 such that the modules may improve the set of features.
- the phrase extraction module 314 may identify the presence of the phrase “Artificial Intelligence” as frequently occurring in documents with high evaluations and high desired outcomes, and may update the set of features to include this feature.
- the factor extraction module 310 and the phrase extraction module 314 may identify features that are contributing to unreliable evaluations and may delete these features from the set of features.
- input documents may go through an automated cycle of being evaluated, optimized, posted, and re-evaluated for improving evaluations on other documents.
- an input document is provided to the document analysis module 130 , evaluated based on its set of defined objectives and optimized based on the generated evaluations.
- the optimized document is posted to a computer network through the document posting module 138 , and actual outcome data on the optimized document is collected and provided back to the document analysis module 130 to improve the evaluations of other documents.
- FIG. 5 is a flowchart illustrating a process of generating an evaluation for a document, according to one embodiment.
- the process of FIG. 5 is performed by the analysis server 126 .
- Other entities may perform some or all of the steps of the process in other embodiments.
- embodiments may include different and/or additional steps, or perform the steps in different orders.
- a client document is received 502 from a client device.
- the client document includes content directed towards achieving an objective.
- a set of features is extracted 504 from the content of the client document.
- the features in the set of features are evaluated 506 using one or more machine-learned models that indicate directions and degrees of correlation between the features extracted from the content of the client document and the objective to which the content of the document is directed to predict an outcome of the client document with respect to its objective.
- the predicted outcome is provided 508 to the client device.
- the evaluated client document is sent 510 to a posting server 134 such that the client document can be posted on the computer network by the posting server. Readers may respond to the posted document.
- the outcome data describing responses to the posting of the client document with respect to the objective are received 512 from the posting server 134 .
- the machine-learned models are selectively revised 514 based on the received outcome data.
- FIG. 6 is a flowchart illustrating a process of generating machine-learned models used to generate an evaluation for a document, according to one embodiment.
- the process of FIG. 6 is performed by the analysis server 126 .
- Other entities may perform some or all of the steps of the process in other embodiments.
- embodiments may include different and/or additional steps, or perform the steps in different orders.
- a training corpus of documents is generated 602 by gathering electronic documents and associated known outcome data describing known outcomes resulting from postings of the electronic documents on the network.
- the set of features is extracted 604 from contents of each of the documents in the training corpus.
- One or more machine-learned models are generated 606 by correlating the extracted sets of features extracted from the contents of the documents with the associated known outcome data.
- weights are assigned 608 to the set of features based on the one or more machine-learned models.
- any reference to “one embodiment” or “an embodiment” means that a particular element, feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment.
- the appearances of the phrase “in one embodiment” in various places in the specification are not necessarily all referring to the same embodiment.
- Coupled and “connected” along with their derivatives. It should be understood that these terms are not intended as synonyms for each other. For example, some embodiments may be described using the term “connected” to indicate that two or more elements are in direct physical or electrical contact with each other. In another example, some embodiments may be described using the term “coupled” to indicate that two or more elements are in direct physical or electrical contact. The term “coupled,” however, may also mean that two or more elements are not in direct contact with each other, but yet still co-operate or interact with each other. The embodiments are not limited in this context.
- the terms “comprises,” “comprising,” “includes,” “including,” “has,” “having” or any other variation thereof, are intended to cover a non-exclusive inclusion.
- a process, method, article, or apparatus that comprises a list of elements is not necessarily limited to only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus.
- “or” refers to an inclusive or and not to an exclusive or. For example, a condition A or B is satisfied by any one of the following: A is true (or present) and B is false (or not present), A is false (or not present) and B is true (or present), and both A and B are true (or present).
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Evolutionary Computation (AREA)
- Audiology, Speech & Language Pathology (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
Description
- This application is a continuation application of U.S. patent application Ser. No. 16/794,532, filed on Feb. 19, 2020, which is a continuation application of U.S. patent application Ser. No. 15/161,151, filed on May 20, 2016, which claims the benefit of U.S. Provisional Application No. 62/166,598, filed on May 26, 2015, each of which is incorporated by reference in its entirety.
- The present invention generally relates to analyzing documents, and more specifically to ways of analyzing documents to predict outcomes for documents posted on a computer network.
- Many documents are posted on a computer network with the desired objective of inducing responses to the document from certain types of readers. For example, a recruiting document is written with the objective of inducing qualified applicants to fill a job vacancy. The outcomes of a document are characteristics of reader responses to the document and are indicative of whether the document will achieve its objective. For example, outcomes of the recruiting document may include the number of applicants or the proportion of qualified applicants, both of which are indicative of whether the document will achieve its objective of filing a job vacancy with a qualified applicant. Therefore, it is advantageous to tailor and optimize the document before posting the document to induce desired outcomes that will help the document achieve its objective. However, it is difficult for a document author to know which types of outcomes the document will produce before it is posted on the network.
- The above and other issues are addressed by a method, computer-readable medium, and analysis server for evaluating an electronic document with respect to an objective. An embodiment of the method comprises receiving the electronic document from a client device via a computer network. The electronic document has content directed toward achieving an objective. The method comprises extracting a set of features from the content of the electronic document. The method also comprises evaluating the features in the set using one or more machine-learned models that indicate directions and degrees of correlation between the features extracted from the content of the electronic document and the objective to which the content of the document is directed to predict an outcome of the electronic document with respect to the objective. The method further comprises providing the predicted outcome to the client device.
- An embodiment of the medium includes a non-transitory computer-readable medium storing executable computer program instructions for evaluating an electronic document with respect to an objective. The computer program instructions comprise receiving the electronic document from a client device via a computer network. The electronic document has content directed toward achieving an objective. The instructions comprise extracting a set of features from the content of the electronic document. The instructions also comprise evaluating the features in the set using one or more machine-learned models that indicate directions and degrees of correlation between the features extracted from the content of the electronic document and the objective to which the content of the document is directed to predict an outcome of the electronic document with respect to the objective. The instructions further comprise providing the predicted outcome to the client device.
- An embodiment of the analysis server comprises a non-transitory computer-readable storage medium storing executable computer program instructions and a processor for executing the instructions. The computer program instructions comprise receiving the electronic document from a client device via a computer network. The electronic document has content directed toward achieving an objective. The instructions comprise extracting a set of features from the content of the electronic document. The instructions also comprise evaluating the features in the set using one or more machine-learned models that indicate directions and degrees of correlation between the features extracted from the content of the electronic document and the objective to which the content of the document is directed to predict an outcome of the electronic document with respect to the objective. The instructions further comprise providing the predicted outcome to the client device.
-
FIG. 1 is a high-level block diagram illustrating an embodiment of an environment for optimizing a document to achieve its desired objectives, according to one embodiment. -
FIG. 2 is a high-level block diagram illustrating an example computer for implementing the client device, the analysis server, and/or the posting server ofFIG. 1 . -
FIG. 3 is a high-level block diagram illustrating a detailed view of the document analysis module of the analysis server, according to one embodiment. -
FIG. 4 is an example user interface for an input document displaying evaluation results and phrase highlights for the input document. -
FIG. 5 is a flowchart illustrating a process of generating an evaluation for a document, according to one embodiment. -
FIG. 6 is a flowchart illustrating a process of generating trained models used to generate an evaluation for a document, according to one embodiment. - The Figures (FIGS.) and the following description describe certain embodiments by way of illustration only. One skilled in the art will readily recognize from the following description that alternative embodiments of the structures and methods illustrated herein may be employed without departing from the principles described herein. Reference will now be made in detail to several embodiments, examples of which are illustrated in the accompanying figures. It is noted that wherever practicable similar or like reference numbers may be used in the figures and may indicate similar or like functionality.
-
FIG. 1 is a high-level block diagram illustrating an embodiment of anenvironment 100 for optimizing a document to achieve its desired objectives, according to one embodiment. The environment includes aclient device 110 connected by anetwork 122 to ananalysis server 126 and aposting server 134. Here only oneclient device 110, oneanalysis server 126, and oneposting server 134 are illustrated but there may be multiple instances of each of these entities. For example, there may be thousands or millions ofclient devices 110 in communication with one ormore analysis servers 126 or postingservers 134. - The
network 122 provides a communication infrastructure between theclient devices 110, theanalysis server 126, and theposting server 134. Thenetwork 122 is typically the Internet, but may be any network, including but not limited to a Local Area Network (LAN), a Metropolitan Area Network (MAN), a Wide Area Network (WAN), a mobile wired or wireless network, a private network, or a virtual private network. - The
client device 110 is a computing device such as a smartphone with an operating system such as ANDROID® or APPLE® IOS®, a tablet computer, a laptop computer, a desktop computer, or any other type of network-enabled device. Atypical client device 110 includes the hardware and software needed to connect to the network 122 (e.g., via Wifi and/or 4G or other wireless telecommunication standards). - The
client device 110 includes adocument input module 114 that allows the user of theclient device 110 to interact with theanalysis server 126 and theposting server 134. Thedocument input module 114 allows the user to input a document as formatted text, and forwards the document to theanalysis server 126 for evaluation or to theposting server 134 for posting to thecomputer network 122. Thedocument input module 114 also presents any feedback data from theanalysis server 126 or theposting server 134 back to the user of theclient device 110. Aclient device 110 may also be used by a reader of a posted document to respond to the posting. - In one embodiment, the
document input module 114 includes a browser that allows a user of theclient device 110 to interact with theanalysis server 126 and theposting server 134 using standard Internet protocols. In another embodiment, thedocument input module 114 includes a dedicated application specifically designed (e.g., by the organization responsible for theanalysis server 126 or the posting server 134) to enable interactions among theclient device 110 and the servers. In one embodiment, thedocument input module 114 includes auser interface 118 that allows the user of theclient device 110 to edit and format the document and also presents feedback data about the document from theanalysis server 126 or theposting server 134 to theclient device 110. - Generally, the content of the document includes text written and formatted by an author directed towards achieving one or more desired objectives when presented to readers. A document may be classified into different types depending on its primary objective. For example, a document may be classified as a recruiting document when the primary objective of the document is to gather candidates to fill a vacant job position at a business organization. As another example, the document may be classified as a campaign speech when the primary objective of the document is to relay a political message of a candidate running for government office to gather a high number of votes for an election.
- The
analysis server 126 includes adocument analysis module 130 that extracts a set of features from an input document, analyzes the features, and outputs evaluations of the document that indicate likelihoods of whether the document will achieve a defined set of objectives, including its primary objective. Each evaluation may be associated with a specific objective of the document. For example, one evaluation may be a favorability score that indicates the likelihood a recruiting document will achieve its objective of filling a vacant job position with a qualified applicant. As another example, an evaluation may be a likelihood that the recruiting document will achieve its objective of receiving gender neutral responses, indicating no gender bias. Each evaluation may be based on one or more predicted outcomes of the document, which are predicted characteristics of reader responses to the document. - The set of objectives for an input document are defined based on the type of the input document and indicate common goals that authors for the type of document are interested in achieving, and may include objectives relating to demographic information of people responding to the document. The set of objectives may differ across different types of documents due to different desired outcomes. For example, an author of a campaign speech may be interested in the objective of collecting a high number of voters for the political candidate, but may also be interested in additional demographic objectives such as gathering votes from a certain location, or gathering votes from people with a certain socio-economic background. As another example, an author of a recruiting document may be interested in the objective of collecting a high number of applicants for a vacant job opening, but may also be interested in additional recruiting objectives such as hiring a candidate with an engineering background, which may not be of interest to the author of the campaign speech document.
- In one embodiment, an administrator of the
analysis server 126 specifies the set of objectives for an input document depending on its type. In another embodiment, theanalysis server 126 may specify a large set of potential objectives for the input document to the user of theclient device 110, and the user may select a subset of the potential objectives for which thedocument analysis module 130 would perform the evaluations. - The results of the evaluations are provided back to the
client device 110 and the document may be automatically or manually optimized based on the evaluations to improve its likelihood of achieving its desired objectives. Each evaluation may be presented in various forms, such as a numerical score, a scale, or a plot, but is not limited thereto. - The posting
server 134 includes adocument posting module 138 that posts the optimized document and receives outcome data on the optimized document. For example, thedocument posting module 138 may post a recruiting document optimized based on the evaluations received by thedocument analysis module 130. After the document has been posted, thedocument posting module 138 may receive applications for the posted position, as well as outcome data describing characteristics of people who responded to the document. The collected outcome data may be provided to thedocument analysis module 130 in order to refine evaluations on other documents, and also may be provided back to theclient device 110. - Thus, the
environment 100 shown inFIG. 1 optimizes a document to achieve its desired objectives by providing evaluations of the document and tailoring the document based on the evaluations. Theenvironment 100 also posts the document and collects outcome data for the document that can be used to refine evaluations on other documents. -
FIG. 2 is a high-level block diagram illustrating anexample computer 200 for implementing theclient device 110, theanalysis server 126, and/or the postingserver 134 ofFIG. 1 . Thecomputer 200 includes at least oneprocessor 202 coupled to achipset 204. Thechipset 204 includes amemory controller hub 220 and an input/output (I/O)controller hub 222. Amemory 206 and agraphics adapter 212 are coupled to thememory controller hub 220, and adisplay 218 is coupled to thegraphics adapter 212. Astorage device 208, aninput device 214, andnetwork adapter 216 are coupled to the I/O controller hub 222. Other embodiments of thecomputer 200 have different architectures. - The
storage device 208 is a non-transitory computer-readable storage medium such as a hard drive, compact disk read-only memory (CD-ROM), DVD, or a solid-state memory device. Thememory 206 holds instructions and data used by theprocessor 202. Theinput interface 214 is a touch-screen interface, a mouse, track ball, or other type of pointing device, a keyboard, or some combination thereof, and is used to input data into thecomputer 200. Thegraphics adapter 212 displays images and other information on thedisplay 218. Thenetwork adapter 216 couples thecomputer 200 to one or more computer networks. - The
computer 200 is adapted to execute computer program modules for providing functionality described herein. As used herein, the term “module” refers to computer program logic used to provide the specified functionality. Thus, a module can be implemented in hardware, firmware, and/or software. In one embodiment, program modules are stored on thestorage device 208, loaded into thememory 206, and executed by theprocessor 202. - The types of
computers 200 used by the entities ofFIG. 1 can vary depending upon the embodiment and the processing power required by the entity. Thecomputers 200 can lack some of the components described above, such asgraphics adapters 212, and displays 218. For example, theanalysis server 126 can be formed of multiple blade servers communicating through a network such as in a server farm. -
FIG. 3 is a high-level block diagram illustrating a detailed view of thedocument analysis module 130 of theanalysis server 126, according to one embodiment. Thedocument analysis module 130 is comprised of modules including adata storage module 350, a corpus management module 306, afactor extraction module 310, aphrase extraction module 314, atraining module 318, aweighting module 322, anevaluation module 326, adisplay module 330, and aresponse verification module 334. Some embodiments of thedocument analysis module 130 have different modules than those described here. Similarly, the functions can be distributed among the modules in a different manner than is described here. - The
data storage module 350 stores data used by thedocument analysis module 130. The data include a training corpus 354, metadata andfactors 358, phrase-relatedfeatures 362, andweights 366. The training corpus 354 is a collection of documents that are presented to readers and are associated with a set of known outcomes. - The corpus management module 306 generates, maintains, and updates the training corpus 354. The corpus management module 306 may collect documents in the training corpus 354, as well as their outcomes, from various sources. In one instance, the corpus management module 306 collects documents that were previously posted and presented to readers, and have a set of known outcomes. These documents may include documents posted, and corresponding outcome data received, by the posting
server 134. The corpus management module 306 may also collect documents by crawling websites on the network, or may be provided with such documents by entities such as business organizations. In another instance, the corpus management module 306 automatically collects outcome data on currently posted documents through techniques such as user telemetry. In one embodiment, the corpus management module 306 continuously and automatically updates the training corpus 354 as new documents with a set of known outcomes are received from various sources or the postingserver 134. - In one embodiment, the set of outcomes associated with documents include characteristics of reader responses to the document. The characteristics may describe the number of responses, types of responses, timeliness of responses, and demographic information about the responders. The demographic information relates to any specific characteristics of the responders, and may relate to, for example, the gender, ethnicity, qualification levels, titles, and personality traits (e.g., introverted or extroverted) of the responders. For example, possible outcomes for a recruiting document may include the number of applicants, time required to fill the vacant position described in the document, proportion of qualified applicants, proportion of male versus female applicants, current job titles of the applicants, and proportion of applicants under a certain age, but is not limited thereto.
- The set of outcomes are indicative of whether the document will achieve its desired objectives in the future. Returning to the example of a recruiting document, the number of applicants or the proportion of qualified applicants may be highly indicative of whether the document will achieve its objective of hiring a qualified candidate for a vacant position. As another example, the proportion of female versus male applicants is highly indicative of whether the document will achieve its objective of acquiring gender neutral responses. Thus, achieving desired outcomes for a document are directly related to achieving the desired objectives for the document. The values of the set of outcomes for documents in the training corpus 354 are already known, as the documents have previously been posted on a computer network.
- The
factor extraction module 310 and thephrase extraction module 314 each extract sets of features from documents. The sets of features uniquely characterize a document and are features of a document that are expected to correlate with outcomes of the document. As described in more detail below, the sets of features include metadata, linguistic factors, and phrase-related features of a document. The identified features may be different for each document type as the relevant outcomes and objectives are different between each type of document. - The
factor extraction module 310 extracts metadata and linguistic factors from documents. The metadata includes information about the document other than the content of the document. This may include, for example, the title of the document, geographical locations associated with the document, or any other data that may correlate with the outcomes of the document. For example, thefactor extraction module 310 may extract the job location for a recruiting document, as well as the industry and field of the job in the recruiting document. - The linguistic factors include syntactic, structural, and semantic factors extracted from the content of the documents. Syntactic factors relate to the set of rules, principles, and processes that govern the structure of sentences in the documents. For example, syntactic factors include the proportion and frequency of verbs, the average length of phrases, clauses, sentences, n-grams and how they are assembled together, sentence complexity, and speech density, but is not limited thereto. Structural factors relate to the structure and layout of the document content. For example, structural factors may include word counts, sentence counts, character counts, the proportion of text in italic font, and the proportion of content in bulleted lists, but is not limited thereto. Semantic factors relate to the meaning of words, phrases, and sentences in the documents based on their ordering. For example, whether a company's recruiting document contains an equal opportunity statement is a semantic factor.
- In one embodiment, the
factor extraction module 310 generates semantic factor models for determining the presence and strength of semantic factors in documents given a set of predetermined syntactic and structural factors of the documents. For example, thefactor extraction module 310 may generate a model that determines the presence and strength of an equal opportunity statement in a document given certain n-grams or significant phrases (e.g., “equal,” “opportunity,” “male,” “female”) of the document. - The presence of a semantic factor is a feature indicating whether a semantic factor is present in documents, and is represented by a binary value (e.g., 0 or 1, “existing equal opportunity statement” or “no equal opportunity statement”) to indicate the presence. The strength of a semantic factor is a feature indicating the degree of presence of the semantic factor, and may be represented by discrete values (e.g., “very strong equal opportunity statement,” “strong equal opportunity statement,” “weak equal opportunity statement”) or may be represented by continuous numerical values (e.g., number on a scale from 0 to 100 or confidence levels). In one instance, the model may be determined by analyzing labeled documents in the training corpus 354 which are labeled with known values for the presence and strength of semantic factors in the documents.
- The
factor extraction module 310 extracts metadata and linguistic factors from documents in the training corpus 354 and stores them as metadata andfactors 358 in thedata storage module 350, along with the semantic factor models. - The
phrase extraction module 314 extracts phrase-related features from documents. The phrase-related features indicate the presence of distinctive phrases associated with a category and their level of association to the category. For example, the set of distinctive phrases “the Apple, Big Apple, upstate, Empire State, Broadway,” may be associated with the category “phrases related to New York City.” As another example, the set of distinctive phrases “core competency, move the needle, corporate values, think outside the box, leverage, drill down,” may be associated with the category “phrases related to corporate jargon.” - The
phrase extraction module 314 identifies associations between distinctive phrases and corresponding categories by analyzing documents. In one embodiment, thephrase extraction module 314 determines the associations between distinctive phrases and corresponding categories by extracting phrases that correlate with certain outcomes or metadata across documents in the training corpus 354. The categories associated with distinctive phrases may be assigned based on the outcomes or metadata of the documents. - For example, the
phrase extraction module 314 may identify distinctive phrases that occur most frequently in recruiting documents with the outcome of a high proportion of female applicants and may assign the category “phrases likely to attract female candidates,” to the identified phrases. As another example, thephrase extraction module 314 may identify distinctive phrases that occur most frequently in recruiting documents in the pharmaceutical industry and may assign the category “phrases related to pharmaceuticals,” to the identified phrases. As another example, thephrase extraction module 314 may identify distinctive phrases that occur frequently in recruiting documents with the outcome of a small number of applicants and may assign the category “negative phrases,” to the identified phrases. The extracted set of negative phrases may further be divided and each assigned to separate categories of “obscene phrases,” “corporate jargon,” and “offensive language.” - Based on the associations identified above from the training corpus 354, the
phrase extraction module 314 extracts phrase-related features from documents including the presence of distinctive phrases associated with a category and their level of association with the category. The presence of distinctive phrases associated with a category is a feature indicating whether a document contains any phrases that are associated with a certain category, and may be represented by a binary value. For example, for a given document, the presence of “phrases related to corporate jargon” may have a binary value of 0 or 1 depending on whether the document contains any one of the phrases “core competency, move the needle, corporate values, think outside the box, leverage, drill down.” - The level of association between distinctive phrases and their category is a feature indicating how strong of an association the distinctive phrases in a document have with their corresponding category, and may be represented by discrete or numerical values. For example, for a given document having one or more distinctive phrases associated with the category “obscene phrases,” the level of association with the category may be represented by discrete levels of “not obscene,” “somewhat obscene,” “obscene,” and “very obscene,” or may be represented by continuous numerical values (e.g., number on a scale from 0 to 100 or confidence levels). In one embodiment, the level of association may also be determined based on the analysis performed by the
phrase extraction module 314 on the training corpus 354. - For each document in the training corpus 354, the
phrase extraction module 314 identifies phrase-related features that include the presence of any distinctive phrases in corresponding categories and the phrases' levels of association to the categories, and stores them as phrase-relatedfeatures 362 in thedata storage module 350. The identified associations between distinctive phrases and their corresponding categories are also stored as phrase-relatedfeatures 362 in thedata storage module 350. - The
training module 318 generates one or more machine-learned models that predict outcomes for documents given the set of features extracted from the documents. The set of features includes the metadata, linguistic factors, and the phrase-related features identified through thefactor extraction module 310 and thephrase extraction module 314. The models are generated based on the features extracted from documents in the training corpus 354 and the known outcomes of the documents in the training corpus 354. For example, thetraining module 318 may generate the models by correlating the set of features for each document in the training corpus 354 (stored as metadata andfactors 358 and phase-related features 362) with the corresponding known outcomes for each document. Given a set of features, thetraining module 318 may train individual models that predict a single outcome, or may train models that predict multiple outcomes or a combination of outcomes. - Returning to the example of a recruiting document, the
training module 318 may generate a model that predicts the number of applicants for a document upon receiving a set of extracted features for the document. As discussed above, example features may be the presence of an equal opportunity statement, location of the job, and presence of “phrases related to corporate jargon.” As another example, thetraining module 318 may train a different model that predicts the proportion of male applicants given the same set of extracted features for the document. As another example, thetraining module 318 may train a single model that predicts both outcomes at once given the same set of extracted features for the document. - The generated models indicate a direction and degree of correlation between the features and outcomes of documents through coefficients generated for each of the features. For example, the machine-learned models may indicate directions and degrees of correlation between the presence and strength of distinctive phrases in recruiting documents and demographic information of people who respond to the recruiting documents. In one embodiment, the sign of the coefficient indicates the direction of the correlation, and the absolute value of the coefficient indicates the degree of correlation. For example, a trained model relating the set of features to the number of applicants for a document may indicate that the presence of “obscene phrases” is negatively correlated with high degree of significance through a negative coefficient having a large absolute value. As another example, the same model may indicate that the presence of a strong equal opportunity statement is positively correlated with high degree of significance through a positive coefficient having a large absolute value.
- Features that are statistically significant may differ across each outcome. For example, the proportion of bullet point content may have a significant correlation with the outcome of the number of applicants, but may have an insignificant correlation with the proportion of veteran applicants.
- In one embodiment, the
training module 318 continuously and automatically updates the trained models as the training corpus 354 is updated with new documents. By updating the models, thetraining module 318 is able to identify new correlations between the set of features and outcomes of a document, as well as modify or delete existing correlations to capture any changing patterns over time. - The
weighting module 322 assigns a weight to each feature in the set of features for an outcome based on the trained models generated by thetraining module 318 for that outcome. Specifically, a weight assigned to a feature may indicate the predictive power of the feature for the outcome. Similarly to the coefficients identified in the trained models, the weight assigned for each feature may include the direction and degree of correlation between the features and an outcome, and may be represented by a positive number or a negative number. - The weights may be assigned based on the coefficients identified through the trained models, but are not required to be identical to the coefficients for that outcome. For example, the weights assigned to a set of features indicating predictive power for the outcome of the proportion of female applicants may be a constant factor or a translation of the coefficients identified through a corresponding trained model relating the set of features to the outcome. As another example, multiple features may be assigned the same numerical weight for a certain outcome if the corresponding coefficients identified through the trained model for the outcome are above or below a predetermined threshold.
- The
weighting module 322 may automatically update the weights as the trained models are updated by thetraining module 318. The weights are saved asweights 366 in thedata storage module 350. - Responsive to receiving an input document from the
client device 110, theevaluation module 326 extracts the set of features identified by thefactor extraction module 310 and thephrase extraction module 314 from the input document, and outputs evaluations of the input document that are likelihoods of whether the document will achieve its set of defined objectives. As mentioned earlier, the defined objectives for the document may be determined based on the type of document and/or may be specified by the user that provided the document. Each evaluation is associated with an objective of a document, and is based on predictive characteristics of one or more outcomes of the input document. The predictive characteristics are identified through the trained models generated by thetraining module 318. The evaluations may come in the form of a numerical score or a visual scale indicating the degree of bias, but is not limited thereto. - In one embodiment, the
evaluation module 326 may generate the evaluations by applying the trained models to the set of extracted features of the input document to generate predicted values for the one or more outcomes of the input document. Theevaluation module 326 may combine the predicted outcomes to generate the evaluations. For example, an evaluation indicating the likelihood a recruiting document will achieve its objective of filling a vacant job position may be generated by extracting the set of features from the input document, applying the trained models for predicting the number of applicants and the proportion of qualified applicants, and combining the predicted values for the outcomes into a normalized score. - In another embodiment, the
evaluation module 326 may generate the evaluations by summing the weights of the features in the input document for the one or more outcomes. As discussed above in conjunction with theweighting module 322, the weights associated with the set of features for an outcome are assigned based on the predictive power of the features for that outcome, and are identified through the trained models for that outcome. For example, for an evaluation based on the outcome of the number of applicants, theevaluation module 326 may identify the presence of “obscene phrases,” having a weight of −5 for the outcome, the presence of “phrases related to corporate jargon,” having a weight of −6 for the outcome, and the presence of an equal opportunity statement, having a weight of +3 for the outcome, in the input document. Theevaluation module 326 may then generate the evaluation by scaling the sum of the weights, −8, to a normalized score. - As another example, for an evaluation of whether a document will receive a gender neutral response based on the outcome of the proportion of male versus female applicants, the
evaluation module 326 may identify the presence of an equal opportunity statement, having a weight of +10 for the outcome, the presence of “phrases likely to attract females,” having a weight of −6 for the outcome, and the presence of “phrases related to Seattle,” having a weight of +1 for the outcome, in the input document. Theevaluation module 326 may then output the sum of the weights, +5, to indicate the likelihood. - Thus, the
evaluation module 326 evaluates the set of features in the input document using one or more machine-learned models that indicate directions and degrees of correlation between the features extracted from the input document and the objective to which the document is directed to predict an outcome of the input document with respect to its objective. - In one instance, the
evaluation module 326 may rank the set of features in the input document according to their weights for the one or more outcomes of an evaluation. In one instance, theevaluation module 326 may rank the set of features according to the absolute value of their corresponding weights, as a higher absolute value translates to a higher contribution to the outcome, and thus, a higher contribution to the evaluation. - The
evaluation module 326 may filter out a subset of the features in the input document based on the rankings. In one embodiment, the filtered features may be determined by ordering the set of features according to their absolute value of weights and selecting a predetermined number or proportion of features that are ranked the highest. In another embodiment, the filtered features may be determined by ordering the set of features within each group of positive and negative weights, and selecting a predetermined number or proportion of features that are ranked the highest within each group. - The filtered features may later be presented to the user of the
client device 110 through thedisplay module 330 to indicate which features contribute significantly to an evaluation. Thus, the input document may be optimized based on the filtered features to increase its likelihood of achieving its objectives. Theevaluation module 326 provides the evaluation results including the evaluations and the filtered features to thedisplay module 330 for presentation to the user of theclient device 110. - The
display module 330 presents the evaluation results of the input document, as well as phrase highlights in the input document to the user of theclient device 110 through theuser interface 118. Specifically, thedisplay module 330 receives evaluation results generated by theevaluation module 326 for the input document and graphically presents the results in the context of the input document through theuser interface 118. This includes displaying the evaluations performed on the input document and the filtered features for any of the presented evaluations. - The
display module 330 also identifies distinctive phrases in the content of the input document, and, for each identified distinctive phrase, indicates the influence of the distinctive phrase on the predicted outcomes used to evaluate the input document with respect to its objectives. In one embodiment, thedisplay module 330 identifies and highlights any distinctive phrases in the input document that have a corresponding phrase-category association as identified in phrase-relatedfeatures 362 in theuser interface 118. In another embodiment, theevaluation module 326 identifies distinctive phrases in the input document, and provides this information to thedisplay module 330 such that the corresponding phrases can be highlighted in theuser interface 118. The categories of the distinctive phrases are also displayed in theuser interface 118. - The
display module 330 enables the input document to be edited and revised through theuser interface 118 to improve its likelihood of achieving its set of objectives. Specifically, the input document may be optimized based on the evaluation results presented by thedisplay module 330. As an example, a recruiting document having an undesirable evaluation may be presented with a filtered feature indicating the presence of “obscene phrases” in the input document. Upon receiving the evaluation results, the input document may be revised to eliminate all “obscene phrases” to improve its evaluation and to improve its likelihood of achieving its desired outcomes. The revised input document is again provided to theevaluation module 326, and updated evaluation results are displayed to the user of theclient device 110 by thedisplay module 330 as the input document is being revised. In this manner, the evaluation results for an input document may automatically be updated such that the input document is optimized to target desired outcomes before being posted to a computer network. -
FIG. 4 is anexample user interface 118 for an input document displaying evaluation results and phrase highlights for the input document. In one embodiment, theuser interface 118 is generated by thedisplay module 330 and provided to theclient device 110 for display thereon. - As shown in the example in
FIG. 4 , thedisplay module 330 generates aphrase highlight 410 on the phrase “crazy” based on its associatedcategory 414 “Masculine” in one outlined pattern. As another example, thedisplay module 330 generates a phrase highlight on the phrase “buy-in” based on its associated category of - “Repetitive” phrases.
- As shown in
FIG. 4 , for the recruiting document of a “General Market Media Buyer,” afavorability score 418 of “72” indicating the likelihood the recruiting document will achieve its objective of filling the vacant position is generated by theevaluation module 326 and is presented on theuser interface 118 by thedisplay module 330. A set of filteredfeatures positive weight 422 that contributed to increasing the favorability score. These include, for example, features relating to the use of positive language and the length of the document. The set of filtered features also contain features withnegative weight 426 that contributed to decreasing the favorability score. These include, for example, features relating to using corporate jargon and a missing equal opportunity statement in the document. - As another example shown in
FIG. 4 , theevaluation 430 indicating the likelihood of gender neutral responses is displayed in the form of a scale. The left-most side corresponds to a low likelihood of achieving gender neutral responses due to a high prediction of male responses, and the right-most side corresponds to a low likelihood of achieving gender neutral responses due to a high prediction of female responses. Although not shown inFIG. 4 , the filtered features for this particular evaluation may include, for example, features relating to the presence and strength of “female” phrases, the presence and strength of “male” phrases, and the presence and strength of an equal opportunity statement. - Once the document has been optimized, the
document input module 114 may provide the optimized input document to thedocument posting module 138 in theposting server 134. As discussed above, thedocument posting module 138 posts optimized documents to a computer network and collects outcome data for the posted documents, and provides this information back to theresponse verification module 334 for further analysis. - Returning to the
document analysis module 130 shown inFIG. 3 , theresponse verification module 334 verifies whether the evaluations generated by thedocument analysis module 130 are reliable based on the outcome data received from thedocument posting module 138 on documents that have already been evaluated, optimized, and posted. Theresponse verification module 334 provides the optimized documents and outcome data to other modules of thedocument analysis module 130 for improving evaluations on other documents. - The
response verification module 334 compares the actual outcomes for the optimized documents to their corresponding evaluations to determine whether thedocument analysis module 130 is generating reliable evaluations with respect to the given objectives. In one embodiment theresponse verification module 334 uses predetermined thresholds to evaluate whether an evaluation is considered “reliable.” For example, if the evaluation indicates a high likelihood that the document will attract gender-neutral responses (e.g., an equal proportion of male and female responders), theresponse verification module 334 may apply a predetermined threshold to the actual gender outcome for the document to determine whether the evaluation was reliable. The threshold may indicate that the responses were not gender-neutral, and hence the evaluation was not reliable, if the more than, e.g., 65% of responders have the same gender. - In one instance, the
response verification module 334 periodically provides the verification information to the other modules of thedocument analysis module 130 when new optimized documents and their outcome data are received from thedocument posting module 138. In another instance, theresponse verification module 334 automatically provides this information when the verification performed by theresponse verification module 334 indicates that thedocument analysis module 130 is increasingly generating unreliable evaluations. For example, this may occur when theresponse verification module 334 determines that a proportion of optimized documents above a specified threshold are generating unreliable evaluations with respect to some or all outcomes. - In one instance, the
response verification module 334 provides the optimized documents and the outcome data to the corpus management module 306 such that the corpus management module 306 may improve the content of the training corpus 354. For example, the corpus management module 306 may add the optimized documents and corresponding outcome data to the training corpus 354. An updated set of features, models, and weights may be generated based on the updated training corpus 354, such that new trends or patterns are extracted by the various modules of thedocument analysis module 130. Similarly, the corpus management module 306 may delete documents in the training corpus 354 and replace them with the optimized document and outcome data received from thedocument posting module 138. - In another instance, the
response verification module 334 provides the optimized documents and the outcome data to thefactor extraction module 310 and/or thephrase extraction module 314 such that the modules may improve the set of features. For example, thephrase extraction module 314 may identify the presence of the phrase “Artificial Intelligence” as frequently occurring in documents with high evaluations and high desired outcomes, and may update the set of features to include this feature. As another example, thefactor extraction module 310 and thephrase extraction module 314 may identify features that are contributing to unreliable evaluations and may delete these features from the set of features. - In this manner, input documents may go through an automated cycle of being evaluated, optimized, posted, and re-evaluated for improving evaluations on other documents. Specifically, an input document is provided to the
document analysis module 130, evaluated based on its set of defined objectives and optimized based on the generated evaluations. The optimized document is posted to a computer network through thedocument posting module 138, and actual outcome data on the optimized document is collected and provided back to thedocument analysis module 130 to improve the evaluations of other documents. -
FIG. 5 is a flowchart illustrating a process of generating an evaluation for a document, according to one embodiment. In one embodiment, the process ofFIG. 5 is performed by theanalysis server 126. Other entities may perform some or all of the steps of the process in other embodiments. Likewise, embodiments may include different and/or additional steps, or perform the steps in different orders. - A client document is received 502 from a client device. The client document includes content directed towards achieving an objective. A set of features is extracted 504 from the content of the client document. The features in the set of features are evaluated 506 using one or more machine-learned models that indicate directions and degrees of correlation between the features extracted from the content of the client document and the objective to which the content of the document is directed to predict an outcome of the client document with respect to its objective. The predicted outcome is provided 508 to the client device.
- In one embodiment, the evaluated client document is sent 510 to a
posting server 134 such that the client document can be posted on the computer network by the posting server. Readers may respond to the posted document. The outcome data describing responses to the posting of the client document with respect to the objective are received 512 from the postingserver 134. The machine-learned models are selectively revised 514 based on the received outcome data. -
FIG. 6 is a flowchart illustrating a process of generating machine-learned models used to generate an evaluation for a document, according to one embodiment. In one embodiment, the process ofFIG. 6 is performed by theanalysis server 126. Other entities may perform some or all of the steps of the process in other embodiments. Likewise, embodiments may include different and/or additional steps, or perform the steps in different orders. - A training corpus of documents is generated 602 by gathering electronic documents and associated known outcome data describing known outcomes resulting from postings of the electronic documents on the network. The set of features is extracted 604 from contents of each of the documents in the training corpus. One or more machine-learned models are generated 606 by correlating the extracted sets of features extracted from the contents of the documents with the associated known outcome data. In one embodiment, weights are assigned 608 to the set of features based on the one or more machine-learned models.
- OTHER CONSIDERATIONS
- Some portions of the above description describe the embodiments in terms of algorithmic processes or operations. These algorithmic descriptions and representations are commonly used by those skilled in the data processing arts to convey the substance of their work effectively to others skilled in the art. These operations, while described functionally, computationally, or logically, are understood to be implemented by computer programs comprising instructions for execution by a processor or equivalent electrical circuits, microcode, or the like. Furthermore, it has also proven convenient at times, to refer to these arrangements of functional operations as modules, without loss of generality. The described operations and their associated modules may be embodied in software, firmware, hardware, or any combinations thereof.
- As used herein any reference to “one embodiment” or “an embodiment” means that a particular element, feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment. The appearances of the phrase “in one embodiment” in various places in the specification are not necessarily all referring to the same embodiment.
- Some embodiments may be described using the expression “coupled” and “connected” along with their derivatives. It should be understood that these terms are not intended as synonyms for each other. For example, some embodiments may be described using the term “connected” to indicate that two or more elements are in direct physical or electrical contact with each other. In another example, some embodiments may be described using the term “coupled” to indicate that two or more elements are in direct physical or electrical contact. The term “coupled,” however, may also mean that two or more elements are not in direct contact with each other, but yet still co-operate or interact with each other. The embodiments are not limited in this context.
- As used herein, the terms “comprises,” “comprising,” “includes,” “including,” “has,” “having” or any other variation thereof, are intended to cover a non-exclusive inclusion. For example, a process, method, article, or apparatus that comprises a list of elements is not necessarily limited to only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Further, unless expressly stated to the contrary, “or” refers to an inclusive or and not to an exclusive or. For example, a condition A or B is satisfied by any one of the following: A is true (or present) and B is false (or not present), A is false (or not present) and B is true (or present), and both A and B are true (or present).
- In addition, use of the “a” or “an” are employed to describe elements and components of the embodiments herein. This is done merely for convenience and to give a general sense of the disclosure. This description should be read to include one or at least one and the singular also includes the plural unless it is obvious that it is meant otherwise.
- Upon reading this disclosure, those of skill in the art will appreciate still additional alternative structural and functional designs for a system and a process for generating evaluations of documents based on one or more outcomes of the document. Thus, while particular embodiments and applications have been illustrated and described, it is to be understood that the described subject matter is not limited to the precise construction and components disclosed herein and that various modifications, changes and variations which will be apparent to those skilled in the art may be made in the arrangement, operation and details of the method and apparatus disclosed herein. CLAIMS
Claims (19)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/587,270 US20220156643A1 (en) | 2015-05-26 | 2022-01-28 | Using Machine Learning to Predict Outcomes for Documents |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201562166598P | 2015-05-26 | 2015-05-26 | |
US15/161,151 US10607152B2 (en) | 2015-05-26 | 2016-05-20 | Using machine learning to predict outcomes for documents |
US16/794,532 US11270229B2 (en) | 2015-05-26 | 2020-02-19 | Using machine learning to predict outcomes for documents |
US17/587,270 US20220156643A1 (en) | 2015-05-26 | 2022-01-28 | Using Machine Learning to Predict Outcomes for Documents |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/794,532 Continuation US11270229B2 (en) | 2015-05-26 | 2020-02-19 | Using machine learning to predict outcomes for documents |
Publications (1)
Publication Number | Publication Date |
---|---|
US20220156643A1 true US20220156643A1 (en) | 2022-05-19 |
Family
ID=57392826
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/161,151 Active 2038-02-13 US10607152B2 (en) | 2015-05-26 | 2016-05-20 | Using machine learning to predict outcomes for documents |
US16/794,532 Active 2036-06-19 US11270229B2 (en) | 2015-05-26 | 2020-02-19 | Using machine learning to predict outcomes for documents |
US17/587,270 Pending US20220156643A1 (en) | 2015-05-26 | 2022-01-28 | Using Machine Learning to Predict Outcomes for Documents |
Family Applications Before (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/161,151 Active 2038-02-13 US10607152B2 (en) | 2015-05-26 | 2016-05-20 | Using machine learning to predict outcomes for documents |
US16/794,532 Active 2036-06-19 US11270229B2 (en) | 2015-05-26 | 2020-02-19 | Using machine learning to predict outcomes for documents |
Country Status (3)
Country | Link |
---|---|
US (3) | US10607152B2 (en) |
EP (1) | EP3304241B1 (en) |
WO (1) | WO2016191396A1 (en) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9990611B2 (en) | 2013-03-08 | 2018-06-05 | Baydin, Inc. | Systems and methods for incorporating calendar functionality into electronic messages |
US10558919B2 (en) * | 2016-09-06 | 2020-02-11 | International Business Machines Corporation | Predictive analysis with large predictive models |
US10733378B2 (en) | 2017-03-17 | 2020-08-04 | Baydin, Inc. | Analysis of message quality in a networked computer system |
US10628496B2 (en) * | 2017-03-27 | 2020-04-21 | Dell Products, L.P. | Validating and correlating content |
US10860803B2 (en) * | 2017-05-07 | 2020-12-08 | 8X8, Inc. | System for semantic determination of job titles |
US10242260B1 (en) * | 2017-11-02 | 2019-03-26 | Sap Se | Using machine learning to flag gender biased words within free-form text, such as job descriptions |
US11848010B1 (en) * | 2018-02-09 | 2023-12-19 | Voicebase, Inc. | Systems and methods for creating dynamic features for correlation engines |
US11107040B2 (en) * | 2018-06-13 | 2021-08-31 | Adp, Inc | Job description generator |
WO2019246341A1 (en) * | 2018-06-21 | 2019-12-26 | Riteband Ab | Current value estimation using machine learning |
US11244112B1 (en) | 2019-04-26 | 2022-02-08 | Bank Of America Corporation | Classifying and grouping sentences using machine learning |
US11783005B2 (en) | 2019-04-26 | 2023-10-10 | Bank Of America Corporation | Classifying and mapping sentences using machine learning |
US11556711B2 (en) | 2019-08-27 | 2023-01-17 | Bank Of America Corporation | Analyzing documents using machine learning |
US11423231B2 (en) | 2019-08-27 | 2022-08-23 | Bank Of America Corporation | Removing outliers from training data for machine learning |
US11449559B2 (en) | 2019-08-27 | 2022-09-20 | Bank Of America Corporation | Identifying similar sentences for machine learning |
US11526804B2 (en) | 2019-08-27 | 2022-12-13 | Bank Of America Corporation | Machine learning model training for reviewing documents |
US11271888B1 (en) * | 2020-01-13 | 2022-03-08 | Mela Platforms, Inc. | Selecting information about entities for display to drive interactions on online systems |
US11574246B2 (en) * | 2020-01-21 | 2023-02-07 | Microsoft Technology Licensing, Llc | Updating training examples for artificial intelligence |
CN112712861A (en) * | 2021-01-07 | 2021-04-27 | 北京明略软件***有限公司 | Model construction method, device, equipment and computer readable medium |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090254971A1 (en) * | 1999-10-27 | 2009-10-08 | Pinpoint, Incorporated | Secure data interchange |
US20090282012A1 (en) * | 2008-05-05 | 2009-11-12 | Microsoft Corporation | Leveraging cross-document context to label entity |
US8126881B1 (en) * | 2007-12-12 | 2012-02-28 | Vast.com, Inc. | Predictive conversion systems and methods |
US20130006954A1 (en) * | 2011-06-30 | 2013-01-03 | Xerox Corporation | Translation system adapted for query translation via a reranking framework |
US20130124513A1 (en) * | 2011-11-10 | 2013-05-16 | Jakob Bignert | Extracting principal content from web pages |
US20140129494A1 (en) * | 2012-11-08 | 2014-05-08 | Georges Harik | Searching text via function learning |
US20140181204A1 (en) * | 2012-12-21 | 2014-06-26 | Highspot, Inc. | Interest graph-powered search |
US20150324454A1 (en) * | 2014-05-12 | 2015-11-12 | Diffeo, Inc. | Entity-centric knowledge discovery |
US20150379428A1 (en) * | 2014-06-30 | 2015-12-31 | Amazon Technologies, Inc. | Concurrent binning of machine learning data |
US20160078361A1 (en) * | 2014-09-11 | 2016-03-17 | Amazon Technologies, Inc. | Optimized training of linear machine learning models |
US20200067861A1 (en) * | 2014-12-09 | 2020-02-27 | ZapFraud, Inc. | Scam evaluation system |
Family Cites Families (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6728695B1 (en) | 2000-05-26 | 2004-04-27 | Burning Glass Technologies, Llc | Method and apparatus for making predictions about entities represented in documents |
EP1581629B1 (en) * | 2002-12-06 | 2015-04-01 | Millennium Pharmaceuticals, Inc. | Methods for the identification, assessment, and treatment of patients with proteasome inhibition therapy |
US8051073B2 (en) | 2007-06-26 | 2011-11-01 | Endeca Technologies, Inc. | System and method for measuring the quality of document sets |
US8316089B2 (en) | 2008-05-06 | 2012-11-20 | Microsoft Corporation | Techniques to manage media content for a multimedia conference event |
US10346879B2 (en) | 2008-11-18 | 2019-07-09 | Sizmek Technologies, Inc. | Method and system for identifying web documents for advertisements |
US10191654B2 (en) | 2009-03-30 | 2019-01-29 | Touchtype Limited | System and method for inputting text into electronic devices |
US8473437B2 (en) | 2010-12-17 | 2013-06-25 | Microsoft Corporation | Information propagation probability for a social network |
US9015084B2 (en) * | 2011-10-20 | 2015-04-21 | Gil Thieberger | Estimating affective response to a token instance of interest |
JP5689402B2 (en) | 2011-11-17 | 2015-03-25 | インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation | Method for editing text, apparatus therefor and computer program |
US9135211B2 (en) * | 2011-12-20 | 2015-09-15 | Bitly, Inc. | Systems and methods for trending and relevance of phrases for a user |
JP5389273B1 (en) | 2012-06-25 | 2014-01-15 | 株式会社東芝 | Context analysis device and context analysis method |
US9235812B2 (en) * | 2012-12-04 | 2016-01-12 | Msc Intellectual Properties B.V. | System and method for automatic document classification in ediscovery, compliance and legacy information clean-up |
US9159031B2 (en) * | 2013-04-30 | 2015-10-13 | Microsoft Technology Licensing, Llc | Predicting audience response for scripting |
US10515153B2 (en) | 2013-05-16 | 2019-12-24 | Educational Testing Service | Systems and methods for automatically assessing constructed recommendations based on sentiment and specificity measures |
US9355372B2 (en) * | 2013-07-03 | 2016-05-31 | Thomson Reuters Global Resources | Method and system for simplifying implicit rhetorical relation prediction in large scale annotated corpus |
US9256826B2 (en) * | 2013-08-14 | 2016-02-09 | Adobe Systems Incorporated | Predicting reactions to short-text posts |
US20160203523A1 (en) * | 2014-02-21 | 2016-07-14 | Lithium Technologies, Inc. | Domain generic large scale topic expertise and interest mining across multiple online social networks |
US9734451B2 (en) * | 2014-05-01 | 2017-08-15 | Adobe Systems Incorporated | Automatic moderation of online content |
US9413698B2 (en) * | 2014-06-02 | 2016-08-09 | Yahoo! Inc. | System and method for email pre-delivery |
US11003671B2 (en) * | 2014-11-26 | 2021-05-11 | Vettd, Inc. | Systems and methods to determine and utilize conceptual relatedness between natural language sources |
WO2017089252A1 (en) | 2015-11-25 | 2017-06-01 | Koninklijke Philips N.V. | Reader-driven paraphrasing of electronic clinical free text |
US11727198B2 (en) | 2016-02-01 | 2023-08-15 | Microsoft Technology Licensing, Llc | Enterprise writing assistance |
US10360404B2 (en) | 2016-02-25 | 2019-07-23 | International Business Machines Corporation | Author anonymization |
US9886501B2 (en) | 2016-06-20 | 2018-02-06 | International Business Machines Corporation | Contextual content graph for automatic, unsupervised summarization of content |
US10354009B2 (en) | 2016-08-24 | 2019-07-16 | Microsoft Technology Licensing, Llc | Characteristic-pattern analysis of text |
US20180101599A1 (en) | 2016-10-08 | 2018-04-12 | Microsoft Technology Licensing, Llc | Interactive context-based text completions |
US20180173692A1 (en) | 2016-12-19 | 2018-06-21 | Google Inc. | Iconographic symbol predictions for a conversation |
US10325020B2 (en) | 2017-06-29 | 2019-06-18 | Accenture Global Solutions Limited | Contextual pharmacovigilance system |
US10657327B2 (en) | 2017-08-01 | 2020-05-19 | International Business Machines Corporation | Dynamic homophone/synonym identification and replacement for natural language processing |
US10553308B2 (en) | 2017-12-28 | 2020-02-04 | International Business Machines Corporation | Identifying medically relevant phrases from a patient's electronic medical records |
US11270060B2 (en) | 2019-03-15 | 2022-03-08 | Ricoh Company, Ltd. | Generating suggested document edits from recorded media using artificial intelligence |
-
2016
- 2016-05-20 US US15/161,151 patent/US10607152B2/en active Active
- 2016-05-23 EP EP16800622.9A patent/EP3304241B1/en active Active
- 2016-05-23 WO PCT/US2016/033838 patent/WO2016191396A1/en active Application Filing
-
2020
- 2020-02-19 US US16/794,532 patent/US11270229B2/en active Active
-
2022
- 2022-01-28 US US17/587,270 patent/US20220156643A1/en active Pending
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090254971A1 (en) * | 1999-10-27 | 2009-10-08 | Pinpoint, Incorporated | Secure data interchange |
US8126881B1 (en) * | 2007-12-12 | 2012-02-28 | Vast.com, Inc. | Predictive conversion systems and methods |
US20090282012A1 (en) * | 2008-05-05 | 2009-11-12 | Microsoft Corporation | Leveraging cross-document context to label entity |
US20130006954A1 (en) * | 2011-06-30 | 2013-01-03 | Xerox Corporation | Translation system adapted for query translation via a reranking framework |
US20130124513A1 (en) * | 2011-11-10 | 2013-05-16 | Jakob Bignert | Extracting principal content from web pages |
US20140129494A1 (en) * | 2012-11-08 | 2014-05-08 | Georges Harik | Searching text via function learning |
US20140181204A1 (en) * | 2012-12-21 | 2014-06-26 | Highspot, Inc. | Interest graph-powered search |
US20150324454A1 (en) * | 2014-05-12 | 2015-11-12 | Diffeo, Inc. | Entity-centric knowledge discovery |
US20150379428A1 (en) * | 2014-06-30 | 2015-12-31 | Amazon Technologies, Inc. | Concurrent binning of machine learning data |
US20160078361A1 (en) * | 2014-09-11 | 2016-03-17 | Amazon Technologies, Inc. | Optimized training of linear machine learning models |
US20200067861A1 (en) * | 2014-12-09 | 2020-02-27 | ZapFraud, Inc. | Scam evaluation system |
Also Published As
Publication number | Publication date |
---|---|
WO2016191396A1 (en) | 2016-12-01 |
US20200184377A1 (en) | 2020-06-11 |
US11270229B2 (en) | 2022-03-08 |
EP3304241A1 (en) | 2018-04-11 |
EP3304241B1 (en) | 2023-07-19 |
US20160350672A1 (en) | 2016-12-01 |
US10607152B2 (en) | 2020-03-31 |
EP3304241A4 (en) | 2019-01-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11270229B2 (en) | Using machine learning to predict outcomes for documents | |
CA3129745C (en) | Neural network system for text classification | |
US11669698B2 (en) | Method and system for automatic formality classification | |
US11334635B2 (en) | Domain specific natural language understanding of customer intent in self-help | |
US10733197B2 (en) | Method and apparatus for providing information based on artificial intelligence | |
US10346546B2 (en) | Method and system for automatic formality transformation | |
US20160103885A1 (en) | System for, and method of, building a taxonomy | |
US20130198599A1 (en) | System and method for analyzing a resume and displaying a summary of the resume | |
Lopez Barbosa et al. | Evaluating hotels rating prediction based on sentiment analysis services | |
US11023503B2 (en) | Suggesting text in an electronic document | |
US9514496B2 (en) | System for management of sentiments and methods thereof | |
CN113239173B (en) | Question-answer data processing method and device, storage medium and electronic equipment | |
US20130259362A1 (en) | Attribute cloud | |
Ara et al. | Understanding customer sentiment: Lexical analysis of restaurant reviews | |
US20180349351A1 (en) | Systems And Apparatuses For Rich Phrase Extraction | |
Downer et al. | All work and no play: A text analysis | |
Fu | Natural language processing in urban planning: A research agenda | |
JP6026036B1 (en) | DATA ANALYSIS SYSTEM, ITS CONTROL METHOD, PROGRAM, AND RECORDING MEDIUM | |
Ruichen | [Retracted] The Basic Principles of Marxism with the Internet as a Carrier | |
JP6384242B2 (en) | Information analysis apparatus, information analysis method, and program | |
Shihab et al. | Tweet Classification on the Base of Sentiments Using Deep Learning | |
Kewat et al. | Interpreting public sentiments variation by using FB-LDA technique |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: TEXTIO, INC., WASHINGTON Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:SNYDER, KIERAN;KOLBA JR., ROBERT E.;HARRIS, JENSEN;REEL/FRAME:058823/0237 Effective date: 20160520 |
|
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: FINAL REJECTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |