US20060143175A1 - System and method for automatically classifying text - Google Patents
System and method for automatically classifying text Download PDFInfo
- Publication number
- US20060143175A1 US20060143175A1 US11/358,388 US35838806A US2006143175A1 US 20060143175 A1 US20060143175 A1 US 20060143175A1 US 35838806 A US35838806 A US 35838806A US 2006143175 A1 US2006143175 A1 US 2006143175A1
- Authority
- US
- United States
- Prior art keywords
- feature
- category
- document
- attribute
- categories
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- 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/35—Clustering; Classification
- G06F16/353—Clustering; Classification into predefined classes
-
- 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/10—Text processing
- G06F40/103—Formatting, i.e. changing of presentation of documents
- G06F40/117—Tagging; Marking up; Designating a block; Setting of attributes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
Definitions
- the present invention is directed to text classification and, more particularly, to a computer-based system for text classification that provides a resource that can be utilized by external applications for text classification.
- Text classification One approach for automating the conversion of natural language documents into machine-readable text is to use a text classification system which, given a portion of data, can automatically generate several categories describing major subject matter contained in the data.
- Automated text classification systems identify the subject matter of a piece of text as belonging to one or more categories of a potentially large, predefined set of categories.
- Text classification also includes a class of applications that can solve a variety of problems in the indexing and routing of text. Efficient routing of text is particularly useful in large organizations where there is a large volume of individual pieces of text that needs to be sent to specific persons (e.g., technical support specialists inside a large customer support center). Text routing also plays a pivotal role in the area of text retrieval in response to user queries on the Internet.
- a number of different approaches have been developed for automatic text processing of user queries.
- One approach is based upon information retrieval techniques utilizing Boolean keyword searches. While this approach is efficient, it suffers from problems relating to the inaccuracy of the retrieved information.
- a second approach borrows natural language processing using deep linguistic knowledge from artificial intelligence technology to achieve higher accuracy. While deep linguistic processing improves accuracy based upon an analysis of the meaning of input text, speed of execution is slow and range of coverage is limited. This is especially problematic when such techniques are applied to large volumes of text
- Another approach to text classification is to use statistical techniques to enable the system to “learn” from the input text.
- these systems develop a statistical model of the vocabulary used in the different classification categories.
- Such systems take training data in the form of documents classified by people into appropriate categories, and in a training phase, develop the statistical model from these documents.
- These statistical models quantify the relationships between vocabulary features (words and phrases) and classification categories. Once developed, these statistical models may be used to classify new documents.
- a learning component a training phase
- a method for simultaneously classifying at least one document into a plurality of categories comprises the steps of associating a plurality of category features with each category, wherein each category feature represents one of a plurality of tokens; producing a category vector for each category, wherein each category vector includes the plurality of category features with a weight corresponding to each category feature, wherein the weight is indicative of a degree of association between the category feature and the category; associating a plurality of document features with each document, wherein each document feature represents one of a plurality of tokens found in the document; producing a feature vector for each document, wherein each feature vector includes the plurality of document features with a count corresponding to each document feature, wherein the count is indicative of the number of times the document feature appears in the document; multiplying the category vector by the document vector, in accordance with the mathematical convention of multiplication of a vector by a vector, to produce a plurality of category scores for each document; and for each perspective, classifying a document into
- a method for associating one of a plurality of features with at least one of a plurality of categories comprises the steps of manually or automatically associating a plurality of features with at least one category, wherein the plurality of features contribute to a decision to classify a document into said at least one category.
- FIG. 1 is shown a block diagram of the general layout of the present invention
- FIG. 2 is a flow diagram depicting the training phase of the present invention
- FIG. 3 is an example of a term list in accordance with one embodiment of the present invention.
- FIG. 4 is an example of a symbol table in accordance with one embodiment of the present invention.
- FIG. 5 is an example of a symbol table and a feature table in accordance with the present invention.
- FIG. 6 is an example of a Recorded Evidence Edits Table in accordance with one embodiment of the present invention.
- FIG. 7 is a block diagram depicting the operation of a feature finder in accordance with one embodiment of the present invention.
- FIG. 8 is a block diagram depicting the operation of the text classifier in accordance with the present invention.
- FIG. 9 is a mathematical representation of the process of topic spotting.
- a process is generally conceived to be a sequence of computer-executed steps leading to a desired result. These steps generally require physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical, magnetic, or optical signals capable of being stored, transferred, combined, compared, or otherwise manipulated. It is conventional for those skilled in the art to refer to these signals as bits, values, elements, symbols, characters, terms, objects, numbers, records, files or the like. It should be kept in mind, however, that these and similar terms should be associated with appropriate physical quantities for computer operations, and that these terms are merely conventional labels applied to physical quantities that exist within and during operation of the computer.
- the operating environment in which the present invention is used encompasses general distributed computing systems wherein general purpose computers, work stations, or personal computers are connected via communication links of various types.
- programs and data are made available by various members of the system.
- the present invention incorporates a trained text classifier, also known as a topic spotter.
- processing is performed in three phases: model preparation, training and topic spotting.
- model preparation phase classification categories, document features (vocabulary) and evidence edits (the relationships between document features and classification categories) are specified.
- training phase document feature statistics are gathered and relationships between features and classification categories are quantified.
- topic spotting phase these relationships are used to classify documents.
- classification category and concept or concept node interchangeably as text classification categories tend to denote concepts, which may be represented as nodes in a concept graph or tree.
- FIG. 1 there is shown a block diagram of the general layout of the present invention. More specifically, the present invention includes: a feature finder 10 , a term list 20 , a feature list 30 , a feature identifier (which may include an entity spotter) 40 , recorded evidence edits (REE) table 50 , tags 60 , a symbol table 70 , a feature table 80 , a topic spotter matrix 90 , and one or more feature vectors 100 .
- a feature finder 10 a term list 20
- a feature list 30 a feature list 30
- a feature identifier which may include an entity spotter
- REE recorded evidence edits
- Feature finder 10 has two tasks: (1) convert a document into a vector of feature IDs, wherein each feature in the document is represented once, with a count of the number of times it occurred in the document; and (2) introduce BE-tags into the eXtended Markup Language (XML) form of the document.
- BE-tags are XML tags denoting entity types, including such things as organizations, place names, people's names, and domain terms, inserted around the text that has been recognized by the feature finder.
- Term list 20 is a user-inputted list of words and phrases denoting entities of various types (organization names, technical terms, etc.) These are document features that may be useful in categorizing the documents. They are eventually entered into symbol table 70 and, feature table 80 .
- term list 20 includes vocabulary, synonyms, etc., specified by knowledge engineers.
- Feature list 30 is a list of features automatically extracted from the training set without human intervention.
- Feature identifier 40 is a software application run over a set of training documents to automatically produce feature list 30 . All terms found by feature identifier 40 are added to symbol table 70 and feature table 80 .
- the REE table 50 consists of user-inputted, concept evidence vector edits. Concept evidence vector edits are user modified feature vectors 100 with associated flags and weights. The information in REE table 50 is used to modify feature vectors 100 in topic spotter matrix 90 . In one embodiment, REE table 50 may not be automatically modified (i.e., it may only be overwritten by manual user input).
- Tags 60 are a user-inputted list of category labels (also known in the literature as class labels) for the documents that make up the training dataset.
- category labels also known in the literature as class labels
- the term “tag” is also used in this disclosure to denote a beginning and end markers (e.g. ⁇ TAGNAME> text ⁇ /TAGNAME>) that mark units of text in a markup language such as HTML, SGML, and XML.
- Symbol table 70 maps terms or tokens to numeric IDs.
- Topic spotter matrix 90 is a matrix comprised of feature IDs 510 (rows) and concept nodes (columns). The matrix values are attributes of the relationship between features and concepts, including feature frequency data determined by calculating the number of times the feature occurred in documents tagged to that concept node (count), and assigning a value representative of the strength of association between the feature and the concept (weight).
- topic spotter matrix 90 is comprised of a combination of automatically generated data and manually inputted concept evidence vectors from REE Table 50 .
- model preparation phase classification categories, document features (vocabulary) and evidence edits are identified and inputted by the user into term list 20 and REE table 50 , respectively.
- the model preparation phase is an iterative process in which manual user inputs are integrated with automatically generated inputs to support model preparation. More specifically, the present invention can report back to the user on associations it has “learned” (derived via statistical means during training).
- the user would review the learned associations, select certain associations, change them from “learned” to “human”, and then rebuild the classifier.
- the ultimate goal is to combine user inputs with automatically generated associations to improve the quality of the classifier.
- the following methodologies can also be used to improve the quality of the classifier:
- Steps 2-5 are repeated until the classifier is sufficiently high quality.
- the training phase begins.
- the training phase is comprised of four steps: set-up 210 , counting features 220 , calculating weights 230 , and filtering 240 .
- set-up 210 a user may load term list 20 into the system. Since the present system includes the capability to operate with or without user-inputted term list data, this step is optional.
- An example of a term list 20 is shown in FIG. 3 .
- term list 20 is comprised of a list of terms 310 (user-inputted words and phrases) with associated attributes 320 .
- Terms 310 are the building blocks of features which are used by the system to classify documents.
- each term 310 in term list is manually inputted, they are referred to as human terms and cannot be automatically modified by the system.
- case differences capitalization
- certain morphological differences plural/singular and verb inflection
- positional differences if one term in the text overlaps another
- Attributes 320 change that default behavior by allowing the user to define more specific characteristics that must be satisfied before a match will be determined. More specifically, the synset attribute ( FIG.
- a term is added to symbol table 70 whenever terms are loaded into the system from term list 20 , feature list 30 , and REE table 50 .
- the text is tokenized, normalized and looked up.
- a token is a sequence of characters that makes up a single unit for processing. Tokens are separated by white space and/or punctuation symbols. In most cases, punctuation symbols are distinct tokens—for example, “Yahoo!” would be two tokens “Yahoo”, and “!”, but “Dr.” is a single token, because the period is recognized as belonging to the abbreviation. Periods not followed by white space do not end a token (“askjeeves.com” is a single token).
- the tokenization step takes a filename or memory buffer and outputs a token buffer.
- the tokenizer also has the capability to tokenize text embedded in XML tags.
- the normalization step takes a token or tag and returns the normal form of the token/tag.
- the first step in normalizing a token is to convert the token to lower case.
- the second step is to pass the lower case token to a stemmer.
- a stemmer receives a word as input and returns the stem or lemma of the word. For example, the stem of “carrying” is “carry,” and the stem of “dogs” is “dog”. If the stemmer finds a stem, it is returned, otherwise, the lower case token is returned unchanged.
- the normalized form is “ ⁇ tagname>”.
- the first step in normalizing a tag is to identify the tag name. In XML, a tag is defined as the text following “ ⁇ ” or “ ⁇ /” up to the first white space.
- the next step is to convert the tag name to lower case.
- the final step is to construct the normalized tag.
- This three step process is further explained in FIG. 4 .
- a term in term list 20 , symbol table 70 , REE 50 or in document 410 is comprised of the text “Radios, Inc.”
- a token buffer 420 containing three tokens: “Radios”, “,” and “Inc.” is generated.
- the tokens are then normalized into another buffer 430 .
- “Radios” is converted to “radios” and passed to the stemmer.
- the stemmer looks up “radios” and returns “radio”. A “,” returns unconverted, and “Inc.” is returned as “inc.”
- symbol table 70 contains a symbol ID field 440 , a symbol string field 450 (the normalized token), and the length of the longest feature that begins with the symbol (FLen) field 460 .
- symbol table 70 is a mapping from strings to IDs and is initialized from data inputted during training (training documents and the term list). Text may also be automatically loaded into symbol table 70 at system startup. For example, single stop words (e.g., the, in, of, at, to, etc.), punctuation, and XML tags may be loaded into symbol table 70 with a special term identifier.
- feature table 80 is initialized from data generated in the set-up phase (term list 20 , REE Table 50 , and feature list 30 ). As shown in FIG. 5 , feature table 80 contains the following fields: Feature ID (FID) 510 , Feature 520 , Exception String 530 , Embeds 540 , Term type 550 and TermID 560 .
- Feature ID 510 is a unique ID for identifying each feature and synonym set.
- Feature 520 is the Symbol ID Sequence 440 representing the “normalized” form of the feature.
- Feature 520 may include one or more symbol IDs, corresponding to each Symbol ID Sequence 440 represented in the feature.
- Exception string 530 is NULL if the feature does not qualify as an exactmatch. If the feature is an exactmatch, a tokenized version of the string is stored in exception string 530 .
- exactMatch features are only recognized if they match both the capitalization and the morphology of their non-normalized form. In another embodiment, capitalization and morphology may vary independently. In other words, a feature (specified in term list 20 and loaded into feature table 80 ) may be configured such that it is recognized in a document if the capitalization matches, regardless of morphology.
- a feature may be configured such that it is recognized in a document if the morphology matches, regardless of capitalization.
- the present invention stores the non-normalized form and the normalized form of the feature in feature table 80 .
- An exactMatch feature “Apple” will only match the exact string “Apple” in a document. If “Apple” and “apples” were both exactmatch features and “apple” were a non-exactMatch feature, there would be three entries in feature table 80 , with distinct FIDs 510 for each.
- the embedded allowed (Embeds) 540 field indicates whether other terms can overlap with this term and whether shorter terms can be embedded within this term.
- Term type 550 specifies whether the feature is an ORG, LOC, PERSON, TERM, or XML_REGION_TAG, and TermID 560 indicates whether the feature originated from term list 20 or feature list 30 . If the feature originated from the human-entered term list 20 , the termID from that list or the word “Yes” is stored here. If the feature was discovered by feature identifier 40 during training and entered into feature list 30 , the value is set to ⁇ 1 or “No”.
- a feature list 30 entry is textually the same as a term list 20 entry, only the term list 20 entry is added to feature table 80 . In other words, if there is a clash between an automatically identified term and a user-inputted term, the user-inputted term wins.
- REE table 50 comprises words and phrases with associated flags and weights (explained below). The words and phrases are treated as human terms and entered into symbol table 70 and feature table 80 , and the relationships are entered into topic spotter matrix 90 .
- FIG. 6 shows part of an REE table 50 , comprising category 610 which has evidential terms 620 which in turn have evidential term attributes 630 .
- REE table 50 has been loaded when all evidential terms have been loaded. Loading an evidential term takes place in two steps. The first step is loading the term into the symbol and feature tables using the process described in FIG. 4 . An evidential term may already be present in the symbol and feature tables, in which case the first stage comprises finding its TermID 560 . The second step is updating the topic spotter matrix 90 .
- Topic spotter matrix 90 is updated in the second stage of loading an evidential term by creating a row for the feature, indexed by the TermID, if no such row exists; creating a column for concept 610 , if no such column exists, and creating a matrix element for the feature/column pair if no such element exists. Attributes of each element are set according to the. evidential term attributes 630 . If no attributes are specified in evidential term 620 then default settings are used. It may be appreciated that there are many ways to represent a matrix and any one of them may be used; this description does not limit the invention to a particular matrix representation. In particular it should be appreciated that the matrix may be sparse, and any sparse matrix representation can be applied.
- evidence When a feature is associated with a concept node, it is called evidence.
- the association between a human tern and a concept node which has been manually specified by a user is human evidence; these are recorded in REE table 50 during the model preparation phase.
- a term associated with a concept node which has been assigned by the system is learned evidence.
- the attributes of evidence are:
- Count frequency data that records how often any member of the feature/synonym set occurred at each concept node.
- the default value for the count attribute is a parameter whose value affects the calculation of the weight attribute, if the latter is not specified in the REE table 50 ;
- Weight the strength of the association between a term (human and learned) and a concept node (manually or automatically specified).
- the weight can be assigned by the system or it can be assigned by a person.
- the weight for learned evidence can only be assigned by the system.
- a user may assign the weights such that a feature contributes to the decision to assign a document to a particular concept node.
- the user may also determine the degree to which a feature contributes to the decision. That is, a user may specify that the feature contributes greatly to the decision to assign a document to a concept node, and slightly to the decision to assign the document to another concept node.
- REE table 50 provides the user with the ability to manually control which words and phrases are features, which features matter for each concept node, and how much they matter.
- a user does not specify the weight, it will be assigned based on the feature's distribution in the training data (possibly modulated by its prior probability of occurrence in the language).
- the weight will be assigned based on the feature's distribution in the REE (again, possibly modulated by its prior probability of occurrence in the language). In this way, the user may specify which features matter, and allow the degree that they matter be determined by their actual usage.
- WeightEdited a Boolean attribute that is set if the weight has been user-inputted. Causes weight to be “sticky” across training. If set, the weight is not modified by training calculations. Conversely, if WeightEdited is not set, the weight is modified by training calculations;
- RejectConcept a Boolean attribute that if set, a document or query containing the feature will not be tagged to (classified to) the concept, regardless of what else is in the document or query;
- DirectHit a Boolean attribute that if set, a document or query containing the feature will be tagged to the concept, regardless of what else is in the document or query;
- Overlap a Boolean attribute (allowed/disallowed) that controls whether text matching a feature that overlaps this feature in a document or query is matched.
- a first term overlaps a second term if the first term is found anywhere inside the second term. For example, “printer” overlaps “printer driver software.” Also, “printer driver” overlaps “driver software” in the text “printer driver software”;
- Stemming a Boolean attribute that if set, a document or query may contain a stem of this term
- Case a Boolean attribute that if set, the feature is case-sensitive. A document or query must comply with the case of the feature;
- Stop if set, the feature is a stop word—it is not counted during topic spotting. This bit is ignored during training;
- Scope of Feature an attribute that determines the scope of a feature (e.g., use for queries only, use for documents only, use for both)
- FilteredOut if set, the feature is not counted during topic spotting. This differs from the Stop bit because it is set automatically in the filtering step of training.
- evidential term attributes 630 may be specified in the form of evidential term attributes 630 .
- Two of the attributes are specified implicitly: Edited (specified implicitly by the evidential term in REE table 50 ) and WeightEdited (specified implicitly by the weight attribute of the evidential term in REE table 50 ).
- feature identifier 40 is executed and feature list 30 generated. Since feature identifier 40 uses a computer process to identify terms to be placed in feature list 30 , it is said to generate learned terms.
- step 220 Counting Features commences. It is important to note that step 220 is optional. In other words, if no training data is available or desired, this step may be skipped.
- tags 60 are read into the system, identifying the concepts associated with each document in the training set. Training documents are then processed by feature finder 10 ( FIG. 1 ), which creates a feature vector 100 . Referring to FIG. 7 , it is shown that feature finder 10 performs two tasks: convert a document into a feature vector 100 , wherein each feature in the document is represented with a count of the number of times it occurred in the document; and to introduce BE-tags into the XML form of the document stored in the database.
- feature vector 100 represents the relevant topic-spotting features within a segment of text
- Feature vector 100 consists of a plurality of feature elements 710 .
- Each-feature element 710 contains a termID (which may be a Symbol ID Sequence 440 for single-word features, or a feature ID 510 for multiple-word features), and a frequency count.
- a Symbol ID Sequence 440 a variably-sized sliding window is moved across the sequence. The subsequence of symbol IDs visible in the window is looked up in feature table 80 , where feature sequences are stored.
- feature elements 710 of feature vector 100 include attributes (case, morphology, etc.) corresponding to the attributes stored in feature table 80 . If a feature is matched that overlaps another feature, a feature element 710 for the feature is added to the feature vector 100 and the Overlap attribute of that feature element 710 is set. If the feature is not case sensitive (i.e., exception string 530 is NULL), and the subsequence of symbol IDs equals the text visible in the window, a feature element 710 for the feature is added to the feature vector 100 .
- the present invention compares the non-normalized form stored in feature table 80 with the string spanned by the symbol ID subsequence in the text. This comparison is case sensitive when scanning documents and case insensitive when scanning queries. In essence, a user inputting a query at a terminal is given the benefit of the doubt whether they intended to capitalize a word in the query, but failed to do so. If this comparison succeeds, again, the feature is found, and a feature element 710 for the feature (identified by feature ID 510 ) is added to the feature vector 100 and the Case attribute of that feature element 710 is set. The same two-comparison mechanism is used to check for morphological matches when a feature's Stemming attribute is set.
- the topic spotter matrix 90 is updated with the information in feature vector 100 .
- the frequency data for this feature in topic spotter matrix 90 must be updated, and the weights recomputed.
- the frequency data for the removed feature must be determined and removed (given its changed membership), in order to recompute the weights.
- One method for obtaining this information is to remove the feature, reprocess all documents, and perform a full retraining to recompute the weights as a result of this edit operation.
- one embodiment of the present invention maintains frequency data for each member of a synonym set in the topic spotter matrix 90 , in addition to the aggregate data stored in the synonym set/feature row. If a feature is removed from a synonym set, the present system can subtract its frequency data from the synonym set/feature data and recomputed the weights of the remaining synonym sets without any additional document processing.
- the weights are calculated from the counts produced in the previous step.
- the formula for calculating the weight is TF-ICF, which is term frequency (the number of times the term occurs at a category) times inverse category frequency (the inverse of the number of categories associated with the term).
- TF-ICF is based on the premise that a term T is a better predictor of a category C the more frequently T occurs at C and the less frequently T occurs at categories other than C.
- An extreme example is a feature appearing many times in only one category, that term occurring in a new document should strongly predict that category.
- TF-ICF is derived from a standard formula known as TF-IDF, where D refers to documents.
- D refers to documents.
- Many formulas for calculating weights are known in the art, including mathematically sophisticated versions of TF-IDF or TF-ICF which may take into account the number and size or proportion of the training set tagged to each category, normalize the resulting weights so as to make them more easily comparable, etc.
- a weight calculating formula is applied to each element in topic spotter matrix 90 resulting in a weight that is based on the distribution of terms in the training data.
- One embodiment of the present invention can assign weights based upon the distribution of terms in the training data, and upon the human specifications in the REE table 50 .
- the present invention may utilize any combination of training data and/or REE edits to assign weights (e.g., when no training is used, when no REE edits are used, and when a combination of REE edits and training data are used). In the first case, the weights explicitly specified in REE table 50 are used unchanged.
- Weights can be assigned based on the distribution of features in the REE table 50 (which corresponds to the distribution of features in the topic spotter matrix) when no weight is specified. For example, some form of TC-ICF may be applied where the term frequency in the absence of training data is taken to be one for every matrix element constructed when REE table 50 was loaded. In this case, a classifier with only manually chosen features results, but it has operating characteristics of a statistical classifier because of the way the weights are assigned. It is related to rule-based classifiers in that humans specify all of the features used in classification, but differs from rule-based classifiers in that these features do not take the form of rules. In the second case, weights are based solely on the distribution of terms in the training data.
- the third case relies on data in REE table 50 and training data. For a given element in topic spotter matrix 90 , if it is in REE table 50 and a value for the weight attribute is specified, the value of that attribute is used as the weight. Otherwise, it is computed based on a combination of its distribution in the training data and in REE table 50 . This follows from the fact that feature occurrences in both REE table 50 and in the training data contribute to the Count attribute of a topic spotter matrix element, and that attribute represents the frequency used in the TF-ICS computation.
- the relative effect of features present in REE table 50 versus features present in training data may be controlled in several ways.
- First, the effect of REE table 50 may be increased by increasing the default value for the Count attribute used when loading REE table 50 .
- Third, weights for human evidence may be set by the system (statistical weights for human evidential terms) or by a person (human weights for human evidential terms).
- step 240 filtering occurs.
- the filtering step allows a user to identify those features that are usefull for categorization and to discard those features that are not useful. More specifically, the filtering step allows the user to filter out or discard matrix elements since a feature may be useful evidence for categorizing into one category but not another.
- the process of filtering an element out means setting a bit to denote that the element is disabled. When documents are classified, the disabled element will not contribute to the classification.
- One embodiment of the present invention includes two separate filters: (1) MinWeight—a lower threshold for the weight of a feature; Features with lower weights get filtered out; and (2) FeaturesPerConcept—an integer designating the number of features kept for each category. More filters may be applied, and other filters are known in the art. Completion of the filtering process completes the training phase of the subject invention.
- the topic spotter matrix 90 gives the user a concise representation of the relationships between features and concept nodes in the training documents.
- the training phase as comprised of four steps. However, it is important to note that all four steps are not necessary during a particular training session.
- the system may consist of classification data based solely on user inputs, based solely on automatically classified data (skipping the user-input steps) or based on a combination of user inputs and automatically classified data.
- the timing phase is also recursive in that it may be executed, reviewed by a user, and then re-executed at least one other time to refine the previously reviewed results.
- topic spotter may be executed to classify text. While this description mainly refers to the process of classifying documents, it is important to keep in mind that any machine-readable text may be classified, including text input by a user with no persistent storage (such as from a text box in a user interface).
- FIG. 8 shows the inputs, processing and outputs of the topic spotter.
- topic spotter 810 is comprised of feature finder 10 , feature vector 100 , and a classifier 820 .
- Classifier 820 is further comprised of a topic spotter matrix 90 .
- feature finder 10 uses symbol table 70 and feature table 80 created during the training phase and produces a feature vector 100 from the input document, and a BE-tagged version of the document.
- BE-tagging and feature vector production are performed as follows: the text of the document is copied as it is scanned for features. Each time a feature is recognized, it is placed into feature vector 100 together with its attributes. An initial BE-tag, the text of the feature, and the terminating BE-tag are inserted into the document copy. Feature vector 100 is used to classify the document. If a user query is being classified, the resulting feature vector has an attribute (Scope) set to Query; if it is a document being classified, the Scope attribute is set to Document.
- Scope attribute
- the classification process is akin to a matrix multiplication in that each document's feature vector 100 is applied to the matrix. For each feature in the vector 100 , for each column of the matrix, the weight in the matrix element for the row indexed by the TermID of the feature is multiplied by the count of the feature in the vector 100 and the result is added to a running sum associated with the concept represented by that column. Once all features in vector 100 have been processed in this manner, the value in each running sum is the score of its concept. If a score is below a threshold (which is a parameter), that concept is eliminated. The remaining concepts are sorted by score into a list, and the top N concepts on the list are selected. These N concepts are the categories into which the document is classified, and the score provides a confidence measure of the classification.
- FIG. 9 shows a mathematical representation of topic spotting as a matrix multiplication—the matrix is multiplied by the vector of features, and the result is a vector of concepts.
- the equation in FIG. 9 is comprised of three elements: concept C j (concept), W ij (weight), and f j (feature).
- Feature vector F represents a document/query. It is multiplied by a matrix W to provide a concept vector C.
- Matrix W is a feature-concept matrix.
- Each matrix element W ij represents the strength of association between feature f j and concept C j . If W ij is non-zero, then f j is evidence for C j .
- Values for matrix element weights W ij are real numbers between ⁇ 1.0 and 1.0.
- a user can set the weights via REE table 50 , which in one embodiment, is the only way to introduce negative weights.
- a weight of zero means f j in a document (or query) D does not influence whether D gets tagged to C j .
- a positive weight means D is more likely to get tagged to C j , and a negative weight means D is less likely to get tagged to C j .
- the classification step as described above is augmented with several novel aspects that use the matrix element attributes (evidence attributes) to affect the classification procedure.
- a matrix element contributes to a concept's score if that matrix element's weight times its feature's count is added to the running sum for that concept.
- the running sum has several attributes in addition to the sum itself, and as the running sum becomes the score for the concept, the score carries these attributes.
- Feature vectors 100 and feature vector elements 710 also have attributes determined during the operation of feature finder 10 . If any of the matrix elements that contribute to a concept's score have the RejectConcept attribute set, the RejectConcept attribute of the running sum is set. Prior to selection of the top N concepts, any concept whose score carries the RejectConcept attribute is eliminated. If any of the matrix elements that contribute to a concept's score have the DirectHit attribute set, the DirectHit attribute of the running sum is set. Prior to selection of the top N concepts, any concept whose score carries the DirectHit attribute is moved to the front of the list.
- N concepts carrying the DirectHit attribute are selected. If any of the matrix elements that would contribute to a concept's score have the Stop or FilteredOut attribute set, such a matrix element does not contribute to the concept's score. (In other words, the presence of the stop or filtered out attribute causes the matrix element's weight times its feature's count not to be added to the running sum). If any of the matrix elements that would contribute to a concept's score have the Case attribute set and its feature does not have the Case attribute set in the feature vector 100 , such a matrix element does not contribute to the concept's score.
- any of the matrix elements that would contribute to a concept's score have the Stemming attribute set and its feature does not have the Stemming attribute set in the feature vector 100 , such a matrix element does not contribute to the concept's score. If any of the matrix elements that would contribute to a concept's score have the Overlap attribute set to Disallowed and its feature has the Overlap attribute set in the feature vector 100 , such a matrix element does not contribute to the concept's score. If any of the matrix elements that would contribute to a concept's score have the Scope attribute set to QueryOnly and its feature has the Scope attribute set in the feature vector 100 to Document, such a matrix element does not contribute to the concept's score.
- system parameter that controls whether statistically defined features (learned evidence) are to be used during classification. If the system parameter is set to HumanOnly, then any of the matrix elements that would contribute to a concept's score that do not have the Edited attribute set do not contribute to the concept's score.
- the present invention allows users to not only to specify features, but to identify the categories to which those features are relevant.
- a specified feature may have an effect on classification largely or only to a specified concept (depending on the parameter that controls the contribution of human evidential terms versus the contribution of learned evidential terms). The importance of this in preventing false correlations can be easily seen.
- one concept is Litigation and another concept is Product Recalls.
- a person might well identify “lawsuit” as a feature with the Litigation concept in mind.
- “lawsuit” is relevant to Litigation
- the effect can be eliminated by setting the system parameter controlling the use of statistically learned features to HumanOnly. Note that this is not the same as ignoring the training data.
- the weights assigned to the human-specified features which are used reflect the distribution of those features in the training data.
- the effect can be minimized while still using statistically learned features by setting the system parameter to UseAllFeatures rather than to HumanOnly and by setting the default value for the Count attribute used when loading REE table 50 to a high value, setting the scaling factor S to a low value, or setting the mixing parameter lambda to a low value.
- One embodiment of the present invention can group categories, or use distinct (exclusive) sets of related categories, it can classify against multiple sets of categories (perspectives) as a single operation, and classification against one perspective can affect classification against other perspectives.
- Each perspective relates to a distinct aspect of the text to be classified.
- geography where the story took place
- business entities what companies the story is about
- topic what the story is about
- the features that are relevant to geography (typically place names) and their desired effect on classification are largely different from the features relevant to business entities (typically company names) and their desired effect, which are largely different from the features relevant to topic (a much broader class of features) and their desired effect.
- weights in the topic spotter matrix elements are set based not only on the appearance of a feature in training data tagged to a category and in an REE table entry for a category, but also based on the distribution of that feature in other categories. It is desirable to limit that dependence to the distribution of that feature in other categories in the same perspective.
- the relative frequency of the term “Microsoft” in training data tagged to the Microsoft category should be very high compared with its frequency of occurrence at other categories in the Business Entity perspective (such as IBM, Proctor & Gamble, . . . ). Its relative frequency may not be as high if categories in other perspectives are included-such as Software Products.
- the training formula when calculating the weight for a matrix element in the column of a particular category, takes into account which perspective that category is in, and limits its computation of ICF to those categories in the same perspective.
- all filter parameters are per perspective.
- the relationships identified in the training phase are used to classify documents, and identify the most closely related categories.
- the topic spotter processes one document at a time. In other words, a first document is completely tagged by the topic spotter before a second document is inputted for processing. This continues until all of the documents have been processed.
- the present invention may be configured to tag documents in a hierarchical sequence.
- a tagging hierarchy of perspectives is input; it specifies an association between a category C in one perspective P 1 and a second perspective P 2 (which is thereby considered to be lower in the tagging hierarchy).
- a document is classified to categories in P 2 only if it is classified to category C.
- each document is first classified against a set of perspectives. Depending on the resulting set of tags, it is tagged against other perspectives in accordance with the tagging hierarchy. For example, assume the following: there are four perspectives, P 1 with categories C 1 and C 2 , P 2 with categories C 3 and C 4 , P 3 with categories C 5 and C 6 , and P 4 with categories C 7 and C 8 .
- a document D would tag to C 1 in P 1 , to C 3 in P 2 , to C 6 in P 3 , and to C 7 in P 4 .
- the tagging hierarchy is as follows: P 1 is at the top.
- C 1 “controls” P 2 that is, documents are tagged against P 2 only if they were tagged to category C 2 .
- C 2 “controls” P 3 .
- C 3 controls perspective P 4 .
- D would first be tagged against P 1 , resulting in a tag to C 1 . It would then be tagged against P 2 , according to the tagging hierarchy, and this would result in a tag to C 3 .
- each document is classified against all perspectives in a single operation. Resulting tags that violate the tagging hierarchy are eliminated. Given the same example, in this embodiment, D initially receives tags C 1 , C 3 , C 6 , and C 7 . Tag C 6 violates the tagging hierarchy because it is in P 3 , which is controlled by C 2 , but there is no tag to C 2 , so it is eliminated. Both embodiments produce the same set of final tags.
- Another capability of the present invention is to classify based upon particular regions of the documents.
- This capability is achieved by additional input parameters, additional functionality in feature finder 10 and additional functionality in updating topic spotter 90 .
- An input parameter XMLRegions defines a set of XML tags.
- Text enclosed in those tags are used in classifying a document; text not enclosed in those tags are ignored when classifying the document. If none of the XML tags is present in the document, a second input parameter UseWholeDoc controls whether the entire document is used for classification or the entire document is ignored (the document is not classified).
- feature finder 10 When feature finder 10 is processing a document, it constructs one feature vector 100 for the whole document, and one feature vector 100 for each XML region. It does this as follows: a feature vector has an XMLTag attribute identifying an XML tag; if this attribute is null, the feature vector is for the entire document.
- feature finder 10 When feature finder 10 encounters an XML beginning tag in the text, it looks the tag up in the XLMRegions parameter. If it finds it, it checks to see if a feature vector for that XML tag already exists, and if not, makes one setting its attribute to that tag. It also sets a flag in its memory to the effect that it is processing within that XML region. When it matches a feature, it creates a feature vector element in each feature vector for an XML tag for which the flag is set, along with a feature vector element for a feature vector for the entire document. When feature finder 10 encounters an XML end tag in the text, it looks the tag up in the XLMRegions parameter.
- Topic spotter 90 is updated during training and computes scores for categories during classification with all feature vectors whose XMLTag is not null. If no such feature vectors exist for a document, then if the UseWholeDoc attribute is set, topic spotter 90 is updated during training and computes scores for categories during classification with the feature vector for the entire document. In this way, the present invention may be configured to train and topic spot within specific XML regions.
- the present invention will produce three feature vectors for this perspective set for any document. For this document they are:
- Vector 1 (whole document):—associated with Perspective A and Perspective D
- a topic spotter matrix element is updated during training and contributes to the scores for a category during classification for a feature vector with a given XMLTag only if that tag is in the XMLRegions parameter for the perspective containing the category whose column contains the matrix element. If no feature vectors with an XMLTag in the XMLRegions parameter for a perspective exist for a document, then a topic spotter matrix element is updated during training and computes scores for categories during classification with the feature vector for the entire document only if the UseWholeDoc attribute is set for the perspective containing the category whose column contains the matrix element. In addition to improving the quality of classification, classification against a perspective can affect which parts of the documents are looked at for classification purposes by another perspective at lower in the tagging hierarchy.
- perspective A has nodes A 1 and A 2 .
- a 1 is an ancestor of perspective D 1 in the tagging hierarchy.
- a 2 is an ancestor of perspective D 2 in the tagging hierarchy.
- D 1 and D 2 have the same classification models (i.e., the same evidence, the same topic spotter), except that D 1 looks at XML regions A, B and C, while D 2 looks at XML regions X, Y and Z.
- “Dependent tagging” in combination with XML regions also enables methods of classifying within a perspective. In other words, a single perspective can be broken into a set of smaller hierarchically tagged perspectives so that tagging decisions in a perspective lower in the hierarchy may depend on tagging decisions made in a perspective higher in the hierarchy.
- perspective A has nodes A 1 , A 2 , etc.
- a 1 is the ancestor/parent of perspective D which in turn is an ancestor/parent of perspective E.
- A uses regions 1 , 2 and 3 (title, abstract and body of the text) to make its classification.
- D uses regions 22 and 23 (manufacturer's recommended corrective action and field service notes) to make its classification. Assignment to the final node E depends on distinctions in the regions A uses for the A level of classification, and then on the regions D uses for the D level classification.
- the present invention may also be configured to automatically or manually tag documents based on perspective attributes.
- the system provides a method for restricting the number of tags from a particular perspective that may be put on a document.
- the system further includes the capability to specify a threshold score above which a tag score must be for a tag to a node in a particular perspective to be put on a document.
- the system also includes the capability to modify the weight of a tagged category in a first perspective based on the existence of that same evidence in a second perspective. More specifically, the system may identify the top evidence (E) in a first perspective (based on the top evidence overall, the top evidence per node, the top percentage overall, the top percentage per node, or top evidence above a particular score, etc.).
- the present invention provides an efficient system and method for automatically classifying documents.
- the present invention has been described in relation to particular embodiments which are intended in all respects to be illustrative rather than restrictive. Those skilled in the art will appreciate that many different combinations of hardware will be suitable for practicing the present invention. Many commercially available substitutes, each having somewhat different cost and performance characteristics, exist for each of the components described above.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
- The following application is relied upon and hereby incorporated by reference in this application:
- U.S. Provisional Application No. 60/206,975, entitled “System and Method for Providing a Text Classifier,” bearing attorney docket no. 07569-6004-00000.
- The present invention is directed to text classification and, more particularly, to a computer-based system for text classification that provides a resource that can be utilized by external applications for text classification.
- Throughout the entire period of recorded history, people have memorialized their thoughts, actions, hopes and dreams on a daily basis. Prior to the latter part of the 20th century, this recorded history was typically written for exchange between human beings without any expectation that the information would be stored in a machine or otherwise converted into a machine-readable format. At that time, archives of this information resided in countless document depositories, complicating access to, and retrieval of the information contained in the documents. In the past 30 years, efforts have been underway to archive these “natural language” documents on various other media More specifically, the development of the personal computer has led to the creation of an unprecedented amount of machine-readable information. Improvements in scanner technology have additionally led to the conversion of documents from hardcopy documents into machine-readable documents. This technology, together with similar advances in mass storage has led to the conversion of natural language documents into machine-readable documents at an unprecedented level. Today, documents generated by a computer (e.g., word processor, spreadsheet, or database software), can now be stored directly on magnetic or optical media, further increasing the opportunities for subsequent access and retrieval of them.
- The growing volume of publicly available, machine-readable textual information makes it increasingly necessary for businesses to automate the handling of such information to stay competitive. Other establishments like educational institutions, medical facilities and government entities can similarly benefit from this automated handling of information. By automating the handling of text, these organizations can decrease costs and increase the quality of the services performed that require access to textual information.
- One approach for automating the conversion of natural language documents into machine-readable text is to use a text classification system which, given a portion of data, can automatically generate several categories describing major subject matter contained in the data. Automated text classification systems identify the subject matter of a piece of text as belonging to one or more categories of a potentially large, predefined set of categories. Text classification also includes a class of applications that can solve a variety of problems in the indexing and routing of text. Efficient routing of text is particularly useful in large organizations where there is a large volume of individual pieces of text that needs to be sent to specific persons (e.g., technical support specialists inside a large customer support center). Text routing also plays a pivotal role in the area of text retrieval in response to user queries on the Internet.
- A number of different approaches have been developed for automatic text processing of user queries. One approach is based upon information retrieval techniques utilizing Boolean keyword searches. While this approach is efficient, it suffers from problems relating to the inaccuracy of the retrieved information. A second approach borrows natural language processing using deep linguistic knowledge from artificial intelligence technology to achieve higher accuracy. While deep linguistic processing improves accuracy based upon an analysis of the meaning of input text, speed of execution is slow and range of coverage is limited. This is especially problematic when such techniques are applied to large volumes of text
- Another approach is rule-based text classification systems which classify documents according to rules written by people about the relationship between words in the documents and the classification categories. Text classification systems which rely upon rule-base techniques also suffer from a number of drawbacks. The most significant drawback is that such systems require a significant amount of knowledge engineering to develop a working system appropriate for a desired text classification application. It becomes more difficult to develop an application using rule-based systems because individual rules are time-consuming to prepare, and require complex interactions. A knowledge engineer must spend a large amount of time tuning and experimenting with the rules to arrive at the correct set of rules to ensure that the rules work together properly for the desired application.
- Another approach to text classification is to use statistical techniques to enable the system to “learn” from the input text. In essence, these systems develop a statistical model of the vocabulary used in the different classification categories. Such systems take training data in the form of documents classified by people into appropriate categories, and in a training phase, develop the statistical model from these documents. These statistical models quantify the relationships between vocabulary features (words and phrases) and classification categories. Once developed, these statistical models may be used to classify new documents. In systems that do utilize a learning component (a training phase), the narrower and more closely related the categories are, the more training data is needed. Exacerbating the problem is the fact that in most applications, training data is hard to locate, often does not provide adequate coverage of the categories, and is difficult and time-consuming for people to categorize, requiring manual effort by experts in the subject area (who are usually scarce and expensive resources). Further, badly categorized training data or correctly categorized training data with extraneous or unusual vocabulary degrades the statistical model, causing the resulting classifier to perform poorly.
- Of the prior art systems that utilize training data, most do not have the capability to interactively take advantage of human knowledge. History has shown that a person will often know what results from sound training data, what results from poor training data, and what may not be adequately expressed in the training data. Those prior art systems that do utilize user input, do not allow users to directly affect the quantified relationship between vocabulary features and classification categories, but simply allow the user to change the training data. Yet another shortcoming of prior art text classification systems lies in the fact that they only deal with categories which are from a single perspective. Consider three perspectives on news stories: geography (where the story took place), business entities (what companies the story is about) and topic. To categorize stories according to geographic location would require a different classifier than one that classified the stories according to business entities, which in turn would require a different classifier than one that classified stories according to their topic. These classifiers cannot interact, consequently one cannot benefit from the other. For example, a false correlation between text about Germany and the category “pharmaceutical companies” may arise in the business entity classifier because many pharmaceutical companies are located in Germany. The fact that text about Germany is known to be an important feature of geographical classification (by the geography classifier) cannot be used to ameliorate the false correlation in the business entity perspective.
- Thus, there is a need to overcome these and other problems of the prior art and to provide an effective method for classifying text in which user knowledge may be utilized very early in the construction of the statistical model. The present invention, as illustrated in the following description, is directed to solving one or more of the problems set forth above.
- In accordance with the present invention, a method for simultaneously classifying at least one document into a plurality of categories is disclosed. The method comprises the steps of associating a plurality of category features with each category, wherein each category feature represents one of a plurality of tokens; producing a category vector for each category, wherein each category vector includes the plurality of category features with a weight corresponding to each category feature, wherein the weight is indicative of a degree of association between the category feature and the category; associating a plurality of document features with each document, wherein each document feature represents one of a plurality of tokens found in the document; producing a feature vector for each document, wherein each feature vector includes the plurality of document features with a count corresponding to each document feature, wherein the count is indicative of the number of times the document feature appears in the document; multiplying the category vector by the document vector, in accordance with the mathematical convention of multiplication of a vector by a vector, to produce a plurality of category scores for each document; and for each perspective, classifying a document into a category provided the category score exceeds a predetermined threshold.
- In accordance with another embodiment of the present invention, a method for associating one of a plurality of features with at least one of a plurality of categories is disclosed. The method comprises the steps of manually or automatically associating a plurality of features with at least one category, wherein the plurality of features contribute to a decision to classify a document into said at least one category.
-
FIG. 1 , is shown a block diagram of the general layout of the present invention; -
FIG. 2 is a flow diagram depicting the training phase of the present invention; -
FIG. 3 is an example of a term list in accordance with one embodiment of the present invention; -
FIG. 4 is an example of a symbol table in accordance with one embodiment of the present invention; -
FIG. 5 is an example of a symbol table and a feature table in accordance with the present invention; -
FIG. 6 is an example of a Recorded Evidence Edits Table in accordance with one embodiment of the present invention; -
FIG. 7 is a block diagram depicting the operation of a feature finder in accordance with one embodiment of the present invention; -
FIG. 8 is a block diagram depicting the operation of the text classifier in accordance with the present invention; -
FIG. 9 is a mathematical representation of the process of topic spotting. - In the following detailed description, reference is made to the accompanying drawings that form a part thereof, and in which is shown by way of illustration a specific embodiment in which the invention may be practiced. This embodiment is described in sufficient detail to enable those skilled in the art to practice the invention and it is to be understood that other embodiments may be utilized and that algorithmic changes may be made without departing from the scope of the present invention. The following detailed description is, therefore, not to be taken in a limited sense.
- Turning first to the nomenclature of the specification, the detailed description which follows is represented largely in terms of processes and symbolic representations of operations performed by conventional computer components, including a central processing unit (CPU), memory storage devices for the CPU, and connected pixel-oriented display devices. These operations include the manipulation of data bits by the CPU, and the maintenance of these bits within data structures reside in one or more of the memory storage devices. Such data structures impose a physical organization upon the collection of data bits stored within computer memory and represent specific electrical or magnetic elements. These symbolic representations are the means used by those skilled in the art of computer programming and computer construction to most effectively convey teachings and discoveries to others skilled in the art.
- For the purposes of this discussion, a process is generally conceived to be a sequence of computer-executed steps leading to a desired result. These steps generally require physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical, magnetic, or optical signals capable of being stored, transferred, combined, compared, or otherwise manipulated. It is conventional for those skilled in the art to refer to these signals as bits, values, elements, symbols, characters, terms, objects, numbers, records, files or the like. It should be kept in mind, however, that these and similar terms should be associated with appropriate physical quantities for computer operations, and that these terms are merely conventional labels applied to physical quantities that exist within and during operation of the computer.
- It should also be understood that manipulations within the computer are often referred to in terms such as adding, comparing, moving, etc., which are often associated with manual operations performed by a human operator. It must be understood that no such involvement of a human operator is necessary or even desirable in the present invention. The operations described herein are machine operations performed in conjunction with a human operator or user who interacts with the computer. The machines used for performing the operation of the present invention include general purpose digital computers or other similar computing devices.
- In addition, it should be understood that the programs, processes, methods, etc. described herein are not related or limited to any particular computer or apparatus. Rather, various types of general purpose machines may be used with programs constructed in accordance with the teachings described herein. Similarly, it may prove advantageous to construct specialized apparatus to perform the method steps described herein by way of dedicated computer systems with hard-wired logic or programs stored in nonvolatile memory, such as read only memory.
- The operating environment in which the present invention is used encompasses general distributed computing systems wherein general purpose computers, work stations, or personal computers are connected via communication links of various types. In a client server arrangement, programs and data, many in the form of objects, are made available by various members of the system.
- Referring now to the drawings, in which like numerals represent like elements throughout the several figures, the present invention will be described. The present invention incorporates a trained text classifier, also known as a topic spotter. In the subject text classification system, processing is performed in three phases: model preparation, training and topic spotting. During the model preparation phase, classification categories, document features (vocabulary) and evidence edits (the relationships between document features and classification categories) are specified. During the training phase, document feature statistics are gathered and relationships between features and classification categories are quantified. Next, in the topic spotting phase, these relationships are used to classify documents. Note that we use the terms classification category and concept or concept node interchangeably as text classification categories tend to denote concepts, which may be represented as nodes in a concept graph or tree. This is not intended to limit the application of the present invention to such categories. In
FIG. 1 , there is shown a block diagram of the general layout of the present invention. More specifically, the present invention includes: afeature finder 10, aterm list 20, afeature list 30, a feature identifier (which may include an entity spotter) 40, recorded evidence edits (REE) table 50, tags 60, a symbol table 70, a feature table 80, atopic spotter matrix 90, and one ormore feature vectors 100.Feature finder 10 has two tasks: (1) convert a document into a vector of feature IDs, wherein each feature in the document is represented once, with a count of the number of times it occurred in the document; and (2) introduce BE-tags into the eXtended Markup Language (XML) form of the document. BE-tags are XML tags denoting entity types, including such things as organizations, place names, people's names, and domain terms, inserted around the text that has been recognized by the feature finder.Term list 20 is a user-inputted list of words and phrases denoting entities of various types (organization names, technical terms, etc.) These are document features that may be useful in categorizing the documents. They are eventually entered into symbol table 70 and, feature table 80. In one embodiment,term list 20 includes vocabulary, synonyms, etc., specified by knowledge engineers.Feature list 30 is a list of features automatically extracted from the training set without human intervention.Feature identifier 40 is a software application run over a set of training documents to automatically producefeature list 30. All terms found byfeature identifier 40 are added to symbol table 70 and feature table 80. The REE table 50 consists of user-inputted, concept evidence vector edits. Concept evidence vector edits are user modifiedfeature vectors 100 with associated flags and weights. The information in REE table 50 is used to modifyfeature vectors 100 intopic spotter matrix 90. In one embodiment, REE table 50 may not be automatically modified (i.e., it may only be overwritten by manual user input).Tags 60 are a user-inputted list of category labels (also known in the literature as class labels) for the documents that make up the training dataset. The term “tag” is also used in this disclosure to denote a beginning and end markers (e.g. <TAGNAME> text </TAGNAME>) that mark units of text in a markup language such as HTML, SGML, and XML. Symbol table 70 maps terms or tokens to numeric IDs. - Feature table 80 is a table of multiple-symbol features useful for topic-spotting. The single-symbol features are found in symbol table 70. Finally,
topic spotter matrix 90 is a matrix comprised of feature IDs 510 (rows) and concept nodes (columns). The matrix values are attributes of the relationship between features and concepts, including feature frequency data determined by calculating the number of times the feature occurred in documents tagged to that concept node (count), and assigning a value representative of the strength of association between the feature and the concept (weight). At the conclusion of the training phase,topic spotter matrix 90 is comprised of a combination of automatically generated data and manually inputted concept evidence vectors from REE Table 50. - Now that the basic layout of the present invention has been described, the next portion of this document will focus on a more detailed explanation of the operation of the present invention. As previously stated, there are—three phases of operation during execution of the text classification engine of the present invention (i.e., model preparation, training and topic spotting.) In the model preparation phase, classification categories, document features (vocabulary) and evidence edits are identified and inputted by the user into
term list 20 and REE table 50, respectively. There is no limitation on how the user may complete this phase of the process. In one embodiment, the model preparation phase is an iterative process in which manual user inputs are integrated with automatically generated inputs to support model preparation. More specifically, the present invention can report back to the user on associations it has “learned” (derived via statistical means during training). The user would review the learned associations, select certain associations, change them from “learned” to “human”, and then rebuild the classifier. The ultimate goal is to combine user inputs with automatically generated associations to improve the quality of the classifier. In another embodiment of the present invention, the following methodologies can also be used to improve the quality of the classifier: - a) Bootstrapping from Human Evidence
-
-
- 1. a person specifies a few terms per category (“seed” evidence) in the REE;
- 2. an untrained classifier is built using the REE;
- 3. the classifier is used to classify a set of documents.
- 4. these classified documents are used as a training set, producing a new trained classifier. This classifier itself is not subsequently used, but during the training phase, the classifier learns associations between terms in the documents and categories.
- 5. the learned associations are presented to a person, who selects those that are useful and adds them to the REE;
- 6. Steps 2-5 are repeated until the classifier is sufficiently high quality.
b) Bootstrapping from All Available Information - 1. a person specifies a few terms per category (“seed” evidence) in the REE, or a person classifies a set of training documents, or both
- 2. a classifier is built using the REE and trained using the training documents;
- 3. the classifier is used to classify a set of documents.
- 4. the classified documents and the manually specified training documents are used as a training set, producing a new trained classifier. This classifier itself is not subsequently used, but during the training phase, the classifier learns associations between terms in the documents and categories.
- 7. the learned associations are presented to a person, who selects those that are useful and adds them to the REE; and/or the classified documents are presented to a person, who selects those that are properly classified, which now become training documents;
- Steps 2-5 are repeated until the classifier is sufficiently high quality.
- Once the model preparation phase is complete, the training phase begins. Referring now to
FIG. 2 , it is shown that the training phase is comprised of four steps: set-up 210, counting features 220, calculatingweights 230, andfiltering 240. In set-up 210, a user may loadterm list 20 into the system. Since the present system includes the capability to operate with or without user-inputted term list data, this step is optional. An example of aterm list 20 is shown inFIG. 3 . As shown,term list 20 is comprised of a list of terms 310 (user-inputted words and phrases) with associated attributes 320.Terms 310 are the building blocks of features which are used by the system to classify documents. Since eachterm 310 in term list is manually inputted, they are referred to as human terms and cannot be automatically modified by the system. When determining whether a term matches text in a document, case differences (capitalization), certain morphological differences (plural/singular and verb inflection), and positional differences (if one term in the text overlaps another) may be ignored and a match is determined if the characters in the term match the document terms. Attributes 320, change that default behavior by allowing the user to define more specific characteristics that must be satisfied before a match will be determined. More specifically, the synset attribute (FIG. 3 ) relates synonymous terms; the exactMatch attribute controls whether the term is treated as case-sensitive and morphologically unchanging (if exactMatch is set to true, only text in a document with the same case and morphology as the term in theterm list 20 will match); and the embeddedTermsAllowed attribute controls which terms are recognized (one or both) when two terms overlap. - A term is added to symbol table 70 whenever terms are loaded into the system from
term list 20,feature list 30, and REE table 50. Before a term is added to symbol table 70, the text is tokenized, normalized and looked up. A token is a sequence of characters that makes up a single unit for processing. Tokens are separated by white space and/or punctuation symbols. In most cases, punctuation symbols are distinct tokens—for example, “Yahoo!” would be two tokens “Yahoo”, and “!”, but “Dr.” is a single token, because the period is recognized as belonging to the abbreviation. Periods not followed by white space do not end a token (“askjeeves.com” is a single token). The tokenization step takes a filename or memory buffer and outputs a token buffer. In one embodiment, the tokenizer also has the capability to tokenize text embedded in XML tags. A tag may comprise a single token (e.g., “<Tag Name=Fred Value=F>” would be a single token), or a tag may be treated like any other text (the tokens for the previous example would be “<”, “Tag”, “Name”, “=”, “Fred”, “Value”, “=”, “F”, and “>”). The normalization step takes a token or tag and returns the normal form of the token/tag. The first step in normalizing a token is to convert the token to lower case. The second step is to pass the lower case token to a stemmer. A stemmer, as known by those skilled in the art receives a word as input and returns the stem or lemma of the word. For example, the stem of “carrying” is “carry,” and the stem of “dogs” is “dog”. If the stemmer finds a stem, it is returned, otherwise, the lower case token is returned unchanged. In the event the token is a tag of the form “<Tagname Attr1=Val1 Attr2=Val2 . . . >” where the attribute value pairs are optional, the normalized form is “<tagname>”. The first step in normalizing a tag is to identify the tag name. In XML, a tag is defined as the text following “<” or “</” up to the first white space. The next step is to convert the tag name to lower case. The final step is to construct the normalized tag. This three step process is further explained inFIG. 4 . Assume a term interm list 20, symbol table 70,REE 50 or indocument 410 is comprised of the text “Radios, Inc.” Once this text is processed by the tokenizer, atoken buffer 420 containing three tokens: “Radios”, “,” and “Inc.” is generated. The tokens are then normalized into anotherbuffer 430. Specifically, “Radios” is converted to “radios” and passed to the stemmer. The stemmer looks up “radios” and returns “radio”. A “,” returns unconverted, and “Inc.” is returned as “inc.” - When a term is added to symbol table 70, a symbol table lookup is first performed on the normalized tokens. Referring now to
FIG. 4 , it is shown that symbol table 70 contains asymbol ID field 440, a symbol string field 450 (the normalized token), and the length of the longest feature that begins with the symbol (FLen)field 460. Symbol table 70 is a mapping from strings to IDs and is initialized from data inputted during training (training documents and the term list). Text may also be automatically loaded into symbol table 70 at system startup. For example, single stop words (e.g., the, in, of, at, to, etc.), punctuation, and XML tags may be loaded into symbol table 70 with a special term identifier. During topic-spotting, if a symbol is encountered that is not already in symbol table 70, an “unknown symbol” ID is returned. If a string is not found in symbol table 70 during training, a unique symbol ID and an integer are returned. The integer represents the length of the longest multi-word feature that begins with this symbol. In the case where a token is a tag, attributes are ignored. In other words, “<Symptom>” and “<Symptom OS=NT>” are both recognized as instances of the “<Symptom>” tag. In effect, instances of a tag with different attributes will get the same symbol ID. In the present example, “radio” is looked up in the symbol table, and its ID (1) and FLen (3) are returned. An entry is appended to the Symbol ID Sequence, containing ID (1), FLen (3), a pointer to the beginning of “Radios” in the token buffer, and length (6). The next token is looked up in symbol table 70, and its ID (2) and FLen (0) are returned. An entry is appended to the Symbol ID Sequence, containing ID (2), FLen (0), a pointer to the beginning of “,” in the token buffer, and length (1). The final token is then looked up in symbol table 70. Its ID (3) and FLen (0) are returned. An entry is appended to the Symbol ID Sequence, containing ID (3), FLen (0), a pointer to the beginning of “Inc.” in the token buffer, and length (1). - Once the Symbol ID Sequence for a term is known, an entry for the term is entered into feature table 80. A term in feature table 80 is referred to as a feature. Feature table 80 is initialized from data generated in the set-up phase (
term list 20, REE Table 50, and feature list 30). As shown inFIG. 5 , feature table 80 contains the following fields: Feature ID (FID) 510,Feature 520,Exception String 530,Embeds 540,Term type 550 andTermID 560.Feature ID 510 is a unique ID for identifying each feature and synonym set.Feature 520 is theSymbol ID Sequence 440 representing the “normalized” form of the feature.FIG. 5 shows that Feature 520 may include one or more symbol IDs, corresponding to eachSymbol ID Sequence 440 represented in the feature.Exception string 530 is NULL if the feature does not qualify as an exactmatch. If the feature is an exactmatch, a tokenized version of the string is stored inexception string 530. In one embodiment, exactMatch features are only recognized if they match both the capitalization and the morphology of their non-normalized form. In another embodiment, capitalization and morphology may vary independently. In other words, a feature (specified interm list 20 and loaded into feature table 80) may be configured such that it is recognized in a document if the capitalization matches, regardless of morphology. Conversely, a feature may be configured such that it is recognized in a document if the morphology matches, regardless of capitalization. To support these capabilities, the present invention stores the non-normalized form and the normalized form of the feature in feature table 80. An exactMatch feature “Apple” will only match the exact string “Apple” in a document. If “Apple” and “apples” were both exactmatch features and “apple” were a non-exactMatch feature, there would be three entries in feature table 80, withdistinct FIDs 510 for each. The embedded allowed (Embeds) 540 field indicates whether other terms can overlap with this term and whether shorter terms can be embedded within this term. For example, “Microsoft office” would be marked as “Yes” if the intent was to allow the shorter term “Microsoft” to also be identified within it.Term type 550 specifies whether the feature is an ORG, LOC, PERSON, TERM, or XML_REGION_TAG, andTermID 560 indicates whether the feature originated fromterm list 20 orfeature list 30. If the feature originated from the human-enteredterm list 20, the termID from that list or the word “Yes” is stored here. If the feature was discovered byfeature identifier 40 during training and entered intofeature list 30, the value is set to −1 or “No”. If afeature list 30 entry is textually the same as aterm list 20 entry, only theterm list 20 entry is added to feature table 80. In other words, if there is a clash between an automatically identified term and a user-inputted term, the user-inputted term wins. - After the human terms are loaded into
term list 20, symbol table 70 and feature table 80, the user next loads the REE table 50. As previously stated, REE table 50 comprises words and phrases with associated flags and weights (explained below). The words and phrases are treated as human terms and entered into symbol table 70 and feature table 80, and the relationships are entered intotopic spotter matrix 90. -
FIG. 6 shows part of an REE table 50, comprisingcategory 610 which has evidential terms 620 which in turn have evidential term attributes 630. REE table 50 has been loaded when all evidential terms have been loaded. Loading an evidential term takes place in two steps. The first step is loading the term into the symbol and feature tables using the process described inFIG. 4 . An evidential term may already be present in the symbol and feature tables, in which case the first stage comprises finding itsTermID 560. The second step is updating thetopic spotter matrix 90.Topic spotter matrix 90 is updated in the second stage of loading an evidential term by creating a row for the feature, indexed by the TermID, if no such row exists; creating a column forconcept 610, if no such column exists, and creating a matrix element for the feature/column pair if no such element exists. Attributes of each element are set according to the. evidential term attributes 630. If no attributes are specified in evidential term 620 then default settings are used. It may be appreciated that there are many ways to represent a matrix and any one of them may be used; this description does not limit the invention to a particular matrix representation. In particular it should be appreciated that the matrix may be sparse, and any sparse matrix representation can be applied. Oncetopic spotter matrix 90 is updated, feature table 80 is updated with entries fromfeature list 30. - When a feature is associated with a concept node, it is called evidence. The association between a human tern and a concept node which has been manually specified by a user is human evidence; these are recorded in REE table 50 during the model preparation phase. A term associated with a concept node which has been assigned by the system is learned evidence. The attributes of evidence are:
- Count—frequency data that records how often any member of the feature/synonym set occurred at each concept node. The default value for the count attribute is a parameter whose value affects the calculation of the weight attribute, if the latter is not specified in the REE table 50;
- Weight—the strength of the association between a term (human and learned) and a concept node (manually or automatically specified). In the case of human evidence, the weight can be assigned by the system or it can be assigned by a person. The weight for learned evidence, on the other hand, can only be assigned by the system. A user may assign the weights such that a feature contributes to the decision to assign a document to a particular concept node. The user may also determine the degree to which a feature contributes to the decision. That is, a user may specify that the feature contributes greatly to the decision to assign a document to a concept node, and slightly to the decision to assign the document to another concept node. REE table 50 provides the user with the ability to manually control which words and phrases are features, which features matter for each concept node, and how much they matter. In the event a user does not specify the weight, it will be assigned based on the feature's distribution in the training data (possibly modulated by its prior probability of occurrence in the language). In the absence of training data, the weight will be assigned based on the feature's distribution in the REE (again, possibly modulated by its prior probability of occurrence in the language). In this way, the user may specify which features matter, and allow the degree that they matter be determined by their actual usage.
- Edited—a Boolean attribute that is set if the matrix element has been specified in the REE. Causes element to be “sticky” across training;
- WeightEdited—a Boolean attribute that is set if the weight has been user-inputted. Causes weight to be “sticky” across training. If set, the weight is not modified by training calculations. Conversely, if WeightEdited is not set, the weight is modified by training calculations;
- RejectConcept—a Boolean attribute that if set, a document or query containing the feature will not be tagged to (classified to) the concept, regardless of what else is in the document or query;
- DirectHit—a Boolean attribute that if set, a document or query containing the feature will be tagged to the concept, regardless of what else is in the document or query;
- Overlap—a Boolean attribute (allowed/disallowed) that controls whether text matching a feature that overlaps this feature in a document or query is matched. A first term overlaps a second term if the first term is found anywhere inside the second term. For example, “printer” overlaps “printer driver software.” Also, “printer driver” overlaps “driver software” in the text “printer driver software”;
- Stemming—a Boolean attribute that if set, a document or query may contain a stem of this term;
- Case—a Boolean attribute that if set, the feature is case-sensitive. A document or query must comply with the case of the feature;
- Stop—if set, the feature is a stop word—it is not counted during topic spotting. This bit is ignored during training;
- Scope of Feature—an attribute that determines the scope of a feature (e.g., use for queries only, use for documents only, use for both)
- FilteredOut—if set, the feature is not counted during topic spotting. This differs from the Stop bit because it is set automatically in the filtering step of training.
- All of these attributes, except Count and FilteredOut, may be specified in the form of evidential term attributes 630. Two of the attributes are specified implicitly: Edited (specified implicitly by the evidential term in REE table 50) and WeightEdited (specified implicitly by the weight attribute of the evidential term in REE table 50).
- After REE table 50 is loaded,
feature identifier 40 is executed andfeature list 30 generated. Sincefeature identifier 40 uses a computer process to identify terms to be placed infeature list 30, it is said to generate learned terms. - At this point, Set-
Up 210 is complete. Processing next flows to step 220 and Counting Features commences. It is important to note thatstep 220 is optional. In other words, if no training data is available or desired, this step may be skipped. When counting features 220 executes, tags 60 are read into the system, identifying the concepts associated with each document in the training set. Training documents are then processed by feature finder 10 (FIG. 1 ), which creates afeature vector 100. Referring toFIG. 7 , it is shown thatfeature finder 10 performs two tasks: convert a document into afeature vector 100, wherein each feature in the document is represented with a count of the number of times it occurred in the document; and to introduce BE-tags into the XML form of the document stored in the database. Once a feature has been recognized, it is entered intofeature vector 100. As shown inFIG. 7 ,feature vector 100 represents the relevant topic-spotting features within a segment oftext Feature vector 100 consists of a plurality offeature elements 710. Each-feature element 710 contains a termID (which may be aSymbol ID Sequence 440 for single-word features, or afeature ID 510 for multiple-word features), and a frequency count. To find features within text represented as aSymbol ID Sequence 440, a variably-sized sliding window is moved across the sequence. The subsequence of symbol IDs visible in the window is looked up in feature table 80, where feature sequences are stored. The first time a feature is encountered, it is entered intofeature vector 100, with a count of 1. Each subsequent time the feature is encountered, its count infeature vector 100 is incremented. While it is not shown inFIG. 7 , featureelements 710 offeature vector 100 include attributes (case, morphology, etc.) corresponding to the attributes stored in feature table 80. If a feature is matched that overlaps another feature, afeature element 710 for the feature is added to thefeature vector 100 and the Overlap attribute of thatfeature element 710 is set. If the feature is not case sensitive (i.e.,exception string 530 is NULL), and the subsequence of symbol IDs equals the text visible in the window, afeature element 710 for the feature is added to thefeature vector 100. If the feature is case sensitive, the present invention compares the non-normalized form stored in feature table 80 with the string spanned by the symbol ID subsequence in the text. This comparison is case sensitive when scanning documents and case insensitive when scanning queries. In essence, a user inputting a query at a terminal is given the benefit of the doubt whether they intended to capitalize a word in the query, but failed to do so. If this comparison succeeds, again, the feature is found, and afeature element 710 for the feature (identified by feature ID 510) is added to thefeature vector 100 and the Case attribute of thatfeature element 710 is set. The same two-comparison mechanism is used to check for morphological matches when a feature's Stemming attribute is set. When such a match is found, the Stemming attribute of itsfeature element 710 is set. Stop words, punctuation signs, XML tags, etc. are not passed to featurevector 100. Finally, matches to single-word, case sensitive features are a special case. In this case there is not enough information to tell whether the text is trying to actually convey the feature, or the non-normalized form. For example, a text segment containing the word “Apple” may refer to the company Apple or the text may be “Apple farmers . . . .” Therefore, for matches to single-word, exactMatch features, both theFID 510 and thesymbol ID 440 are inserted into thefeature vectors 100. This does not result in an over count of words that occur at the beginning of a sentence, because the present invention only outputs two IDs for a word when it determines that text in its non-normalized form has a different meaning from the identical word in its normalized form. As the input text is copied to the database, XML tags are inserted around the text recognized by the feature finder. - Once
feature vector 100 processing is completed for a document, thetopic spotter matrix 90 is updated with the information infeature vector 100. This process of producing afeature vector 100 and updatingtopic spotter matrix 90 with the feature vector data is repeated for each document in the training document set. Updating thetopic spotter matrix 90 from afeature vector 100 may be done as follows: for each feature infeature vector 100, if no row exists for that feature, a row is created, indexed by theTermID 560 for the feature; for each concept associated with the document, if no column exists for that concept, a column is created. If no matrix element for the feature/column pair exists, an element is created with an initial Count attribute set to zero. Then the Count attribute of the element is incremented by the count for this feature infeature vector 100. - If a user adds a feature to the synonym set, the frequency data for this feature in
topic spotter matrix 90 must be updated, and the weights recomputed. Correspondingly, if a user removes a feature from a synonym set, the frequency data for the removed feature must be determined and removed (given its changed membership), in order to recompute the weights. One method for obtaining this information is to remove the feature, reprocess all documents, and perform a full retraining to recompute the weights as a result of this edit operation. To avoid this full retraining, one embodiment of the present invention maintains frequency data for each member of a synonym set in thetopic spotter matrix 90, in addition to the aggregate data stored in the synonym set/feature row. If a feature is removed from a synonym set, the present system can subtract its frequency data from the synonym set/feature data and recomputed the weights of the remaining synonym sets without any additional document processing. - After all documents have been classified into
feature vectors 100 and thetopic spotter matrix 90 has been updated with all thefeature vectors 100, processing flows to step 230 (calculating weights). The weights are calculated from the counts produced in the previous step. In one embodiment, the formula for calculating the weight is TF-ICF, which is term frequency (the number of times the term occurs at a category) times inverse category frequency (the inverse of the number of categories associated with the term). TF-ICF is based on the premise that a term T is a better predictor of a category C the more frequently T occurs at C and the less frequently T occurs at categories other than C. An extreme example is a feature appearing many times in only one category, that term occurring in a new document should strongly predict that category. But note that a term appearing only once and only in one category could be just a misspelled word. At the other extreme is a term that appears the same number of times in all categories. This term in a new document gives us no useful information. TF-ICF is derived from a standard formula known as TF-IDF, where D refers to documents. Many formulas for calculating weights are known in the art, including mathematically sophisticated versions of TF-IDF or TF-ICF which may take into account the number and size or proportion of the training set tagged to each category, normalize the resulting weights so as to make them more easily comparable, etc. In any event, a weight calculating formula is applied to each element intopic spotter matrix 90 resulting in a weight that is based on the distribution of terms in the training data. One embodiment of the present invention can assign weights based upon the distribution of terms in the training data, and upon the human specifications in the REE table 50. Specifically, the present invention may utilize any combination of training data and/or REE edits to assign weights (e.g., when no training is used, when no REE edits are used, and when a combination of REE edits and training data are used). In the first case, the weights explicitly specified in REE table 50 are used unchanged. Weights can be assigned based on the distribution of features in the REE table 50 (which corresponds to the distribution of features in the topic spotter matrix) when no weight is specified. For example, some form of TC-ICF may be applied where the term frequency in the absence of training data is taken to be one for every matrix element constructed when REE table 50 was loaded. In this case, a classifier with only manually chosen features results, but it has operating characteristics of a statistical classifier because of the way the weights are assigned. It is related to rule-based classifiers in that humans specify all of the features used in classification, but differs from rule-based classifiers in that these features do not take the form of rules. In the second case, weights are based solely on the distribution of terms in the training data. The third case relies on data in REE table 50 and training data. For a given element intopic spotter matrix 90, if it is in REE table 50 and a value for the weight attribute is specified, the value of that attribute is used as the weight. Otherwise, it is computed based on a combination of its distribution in the training data and in REE table 50. This follows from the fact that feature occurrences in both REE table 50 and in the training data contribute to the Count attribute of a topic spotter matrix element, and that attribute represents the frequency used in the TF-ICS computation. - The relative effect of features present in REE table 50 versus features present in training data may be controlled in several ways. First, the effect of REE table 50 may be increased by increasing the default value for the Count attribute used when loading REE table 50. Second, a scaling parameter S between 0 and 1 may be applied as a multiplier of the weights associated with learned features. Setting S=0 will force the system to consider only the human evidential terms. Increasing this parameter increases the contribution of the learned terms, until the limit S=1 at which the learned terms are considered equal to the human evidential terms. Third, weights for human evidence may be set by the system (statistical weights for human evidential terms) or by a person (human weights for human evidential terms). For a human evidential term which has a human weight, the system still calculates a learned weight even though this weight is not used in the standard classification operation. Consider two sets of evidence with weights: a) All human evidential terms, with human weight and learned weight; b) human evidential terms and learned evidence terms, with learned weights. A mixing parameter lambda, between 0 and 1, with a multiplier of (1−lambda) is used for weights from model A, and a multiplier of lambda used for model B. The mixture model, (1−lambda)*A+lambda*B, is variable between fully human specified performance (at lambda=0), and fully learned performance (at lambda=1).
- After the calculating weights step 230 is completed, processing flows to step 240, where filtering occurs. The filtering step allows a user to identify those features that are usefull for categorization and to discard those features that are not useful. More specifically, the filtering step allows the user to filter out or discard matrix elements since a feature may be useful evidence for categorizing into one category but not another. The process of filtering an element out means setting a bit to denote that the element is disabled. When documents are classified, the disabled element will not contribute to the classification. One embodiment of the present invention includes two separate filters: (1) MinWeight—a lower threshold for the weight of a feature; Features with lower weights get filtered out; and (2) FeaturesPerConcept—an integer designating the number of features kept for each category. More filters may be applied, and other filters are known in the art. Completion of the filtering process completes the training phase of the subject invention. The
topic spotter matrix 90 gives the user a concise representation of the relationships between features and concept nodes in the training documents. - This disclosure describes the training phase as comprised of four steps. However, it is important to note that all four steps are not necessary during a particular training session. At the completion of the training phase, the system may consist of classification data based solely on user inputs, based solely on automatically classified data (skipping the user-input steps) or based on a combination of user inputs and automatically classified data. The timing phase is also recursive in that it may be executed, reviewed by a user, and then re-executed at least one other time to refine the previously reviewed results.
- Once the training phase is completed, the topic spotter may be executed to classify text. While this description mainly refers to the process of classifying documents, it is important to keep in mind that any machine-readable text may be classified, including text input by a user with no persistent storage (such as from a text box in a user interface).
FIG. 8 shows the inputs, processing and outputs of the topic spotter. As shown inFIG. 8 ,topic spotter 810 is comprised offeature finder 10,feature vector 100, and aclassifier 820.Classifier 820 is further comprised of atopic spotter matrix 90. In operation,feature finder 10 uses symbol table 70 and feature table 80 created during the training phase and produces afeature vector 100 from the input document, and a BE-tagged version of the document. BE-tagging and feature vector production are performed as follows: the text of the document is copied as it is scanned for features. Each time a feature is recognized, it is placed intofeature vector 100 together with its attributes. An initial BE-tag, the text of the feature, and the terminating BE-tag are inserted into the document copy.Feature vector 100 is used to classify the document. If a user query is being classified, the resulting feature vector has an attribute (Scope) set to Query; if it is a document being classified, the Scope attribute is set to Document. - The classification process is akin to a matrix multiplication in that each document's
feature vector 100 is applied to the matrix. For each feature in thevector 100, for each column of the matrix, the weight in the matrix element for the row indexed by the TermID of the feature is multiplied by the count of the feature in thevector 100 and the result is added to a running sum associated with the concept represented by that column. Once all features invector 100 have been processed in this manner, the value in each running sum is the score of its concept. If a score is below a threshold (which is a parameter), that concept is eliminated. The remaining concepts are sorted by score into a list, and the top N concepts on the list are selected. These N concepts are the categories into which the document is classified, and the score provides a confidence measure of the classification. -
FIG. 9 shows a mathematical representation of topic spotting as a matrix multiplication—the matrix is multiplied by the vector of features, and the result is a vector of concepts. The equation inFIG. 9 is comprised of three elements: concept Cj (concept), Wij (weight), and fj (feature). Feature vector F represents a document/query. It is multiplied by a matrix W to provide a concept vector C. Matrix W is a feature-concept matrix. Each matrix element Wij represents the strength of association between feature fj and concept Cj. If Wij is non-zero, then fj is evidence for Cj. Values for matrix element weights Wij are real numbers between −1.0 and 1.0. Such matrix processing is well known in the art and techniques for efficient multiplication using a sparse matrix representation are known. A user can set the weights via REE table 50, which in one embodiment, is the only way to introduce negative weights. A weight of zero means fj in a document (or query) D does not influence whether D gets tagged to Cj. A positive weight means D is more likely to get tagged to Cj, and a negative weight means D is less likely to get tagged to Cj. The classification step as described above is augmented with several novel aspects that use the matrix element attributes (evidence attributes) to affect the classification procedure. A matrix element contributes to a concept's score if that matrix element's weight times its feature's count is added to the running sum for that concept. In order to affect classification, the running sum has several attributes in addition to the sum itself, and as the running sum becomes the score for the concept, the score carries these attributes.Feature vectors 100 andfeature vector elements 710 also have attributes determined during the operation offeature finder 10. If any of the matrix elements that contribute to a concept's score have the RejectConcept attribute set, the RejectConcept attribute of the running sum is set. Prior to selection of the top N concepts, any concept whose score carries the RejectConcept attribute is eliminated. If any of the matrix elements that contribute to a concept's score have the DirectHit attribute set, the DirectHit attribute of the running sum is set. Prior to selection of the top N concepts, any concept whose score carries the DirectHit attribute is moved to the front of the list. If there are more than N concepts carrying the DirectHit attribute, all of them are selected. If any of the matrix elements that would contribute to a concept's score have the Stop or FilteredOut attribute set, such a matrix element does not contribute to the concept's score. (In other words, the presence of the stop or filtered out attribute causes the matrix element's weight times its feature's count not to be added to the running sum). If any of the matrix elements that would contribute to a concept's score have the Case attribute set and its feature does not have the Case attribute set in thefeature vector 100, such a matrix element does not contribute to the concept's score. If any of the matrix elements that would contribute to a concept's score have the Stemming attribute set and its feature does not have the Stemming attribute set in thefeature vector 100, such a matrix element does not contribute to the concept's score. If any of the matrix elements that would contribute to a concept's score have the Overlap attribute set to Disallowed and its feature has the Overlap attribute set in thefeature vector 100, such a matrix element does not contribute to the concept's score. If any of the matrix elements that would contribute to a concept's score have the Scope attribute set to QueryOnly and its feature has the Scope attribute set in thefeature vector 100 to Document, such a matrix element does not contribute to the concept's score. Correspondingly, if any of the matrix elements that would contribute to a concept's score have the Scope attribute set to DocumentOnly and its feature has the Scope attribute set in thefeature vector 100 to Query, such a matrix element does not contribute to the concept's score. - There is a system parameter that controls whether statistically defined features (learned evidence) are to be used during classification. If the system parameter is set to HumanOnly, then any of the matrix elements that would contribute to a concept's score that do not have the Edited attribute set do not contribute to the concept's score.
- Unlike prior art statistical text classifiers, the present invention allows users to not only to specify features, but to identify the categories to which those features are relevant. The result is that a specified feature may have an effect on classification largely or only to a specified concept (depending on the parameter that controls the contribution of human evidential terms versus the contribution of learned evidential terms). The importance of this in preventing false correlations can be easily seen. Suppose one concept is Litigation and another concept is Product Recalls. A person might well identify “lawsuit” as a feature with the Litigation concept in mind. In a standard statistical classifier, in which it is not possible to specify that “lawsuit” is relevant to Litigation, its distribution in the training data will completely determine its effect on classification. If the classifier is trained on news articles, a higher than average number of occurrences of “lawsuit” is likely to appear in articles about Product Recalls. The resulting classifier will contain a false correlation between “lawsuit” and Product Recalls. That is, it will tend to classify documents about litigation to the Product Recalls category even if they do not concern recalls. In the present invention, it is possible to specify that “lawsuit” is relevant to Litigation (via the REE) and it is possible to control the contribution of human evidential terms versus the contribution of learned evidential terms. In other words, the effect of the appearance of “lawsuit” in the training data for Product Recalls can be minimized or eliminated. The effect can be eliminated by setting the system parameter controlling the use of statistically learned features to HumanOnly. Note that this is not the same as ignoring the training data. The weights assigned to the human-specified features which are used reflect the distribution of those features in the training data. The effect can be minimized while still using statistically learned features by setting the system parameter to UseAllFeatures rather than to HumanOnly and by setting the default value for the Count attribute used when loading REE table 50 to a high value, setting the scaling factor S to a low value, or setting the mixing parameter lambda to a low value.
- One embodiment of the present invention can group categories, or use distinct (exclusive) sets of related categories, it can classify against multiple sets of categories (perspectives) as a single operation, and classification against one perspective can affect classification against other perspectives. Each perspective relates to a distinct aspect of the text to be classified. Consider three perspectives on news stories: geography (where the story took place), business entities (what companies the story is about) and topic (what the story is about). The features that are relevant to geography (typically place names) and their desired effect on classification are largely different from the features relevant to business entities (typically company names) and their desired effect, which are largely different from the features relevant to topic (a much broader class of features) and their desired effect. Note that the same textual feature may well be relevant to multiple perspectives (“Apple” may refer to a business entity or a crop whose price just fell). The categories or concepts that make up a perspective “compete” against one another for documents but do not “compete” against other perspectives. That is, an article about the Japanese fishing industry that happens to mention a cannery in Canada may be more relevant to Japan than to Canada, but it is not more relevant to Japan than to fishing—those aren't competing concepts. Therefore parameters such as the threshold above which a score must be to classify a document to a concept, and the number of concepts selected from those scored by the topic spotter (the top N) are specified per perspective.
- The ability to avoid or minimize the effect of false cross-correlations that stem from training data is crucial when building a classifer that classifies against multiple perspectives. Suppose a category in a Topic perspective is Litigation and a category in a Business Entity perspective is Microsoft. If the classifier were trained on news articles during the antitrust suit against Microsoft. “Microsoft” would very likely become a statistically-learned feature correlated with Litigation, because so many news articles that were about Litigation were about that antitrust suit, and mentioned Microsoft.
- Recall that the weights in the topic spotter matrix elements are set based not only on the appearance of a feature in training data tagged to a category and in an REE table entry for a category, but also based on the distribution of that feature in other categories. It is desirable to limit that dependence to the distribution of that feature in other categories in the same perspective. The relative frequency of the term “Microsoft” in training data tagged to the Microsoft category should be very high compared with its frequency of occurrence at other categories in the Business Entity perspective (such as IBM, Proctor & Gamble, . . . ). Its relative frequency may not be as high if categories in other perspectives are included-such as Software Products. For this reason, the training formula, when calculating the weight for a matrix element in the column of a particular category, takes into account which perspective that category is in, and limits its computation of ICF to those categories in the same perspective. In one embodiment of the present invention, all filter parameters are per perspective.
- In the classification phase, the relationships identified in the training phase are used to classify documents, and identify the most closely related categories. In operation, the topic spotter processes one document at a time. In other words, a first document is completely tagged by the topic spotter before a second document is inputted for processing. This continues until all of the documents have been processed. In this way, the present invention may be configured to tag documents in a hierarchical sequence. A tagging hierarchy of perspectives is input; it specifies an association between a category C in one perspective P1 and a second perspective P2 (which is thereby considered to be lower in the tagging hierarchy). A document is classified to categories in P2 only if it is classified to category C. Thereby the results of document classification for a second perspective lower in the tagging hierarchy depend on the results of document classification for a first perspective higher in the tagging hierarchy. Note that this can assign a document to quite a different set of categories than if no hierarchical tagging were done. In one embodiment, each document is first classified against a set of perspectives. Depending on the resulting set of tags, it is tagged against other perspectives in accordance with the tagging hierarchy. For example, assume the following: there are four perspectives, P1 with categories C1 and C2, P2 with categories C3 and C4, P3 with categories C5 and C6, and P4 with categories C7 and C8. Assume that a document D would tag to C1 in P1, to C3 in P2, to C6 in P3, and to C7 in P4. Assume the tagging hierarchy is as follows: P1 is at the top. C1 “controls” P2, that is, documents are tagged against P2 only if they were tagged to category C2. C2 “controls” P3. C3 controls perspective P4. In this embodiment, D would first be tagged against P1, resulting in a tag to C1. It would then be tagged against P2, according to the tagging hierarchy, and this would result in a tag to C3. It would then be tagged against P4, resulting in a tag to C7. It would never be tagged against P3, because it was not tagged to C2, which controls P3, so it does not receive tag C6 (C is not classified into category C6). In another embodiment, each document is classified against all perspectives in a single operation. Resulting tags that violate the tagging hierarchy are eliminated. Given the same example, in this embodiment, D initially receives tags C1, C3, C6, and C7. Tag C6 violates the tagging hierarchy because it is in P3, which is controlled by C2, but there is no tag to C2, so it is eliminated. Both embodiments produce the same set of final tags.
- Another capability of the present invention is to classify based upon particular regions of the documents. Consider a document that first discusses a symptom, then the cause of the symptom, then the remedy. If this document were classified against a Symptoms perspective it would classify well if it were classified based on the text of the symptoms region of the document, and may classify poorly if it were classified based on the entire text of the document (for example, the symptom region of the document may talk about fainting and the cause section of the document may talk about low blood sugar. Low blood sugar may itself be a symptom—say, of diabetes). This capability is achieved by additional input parameters, additional functionality in
feature finder 10 and additional functionality in updatingtopic spotter 90. An input parameter XMLRegions defines a set of XML tags. Text enclosed in those tags (such a region of text is called an XML region) are used in classifying a document; text not enclosed in those tags are ignored when classifying the document. If none of the XML tags is present in the document, a second input parameter UseWholeDoc controls whether the entire document is used for classification or the entire document is ignored (the document is not classified). Whenfeature finder 10 is processing a document, it constructs onefeature vector 100 for the whole document, and onefeature vector 100 for each XML region. It does this as follows: a feature vector has an XMLTag attribute identifying an XML tag; if this attribute is null, the feature vector is for the entire document. Whenfeature finder 10 encounters an XML beginning tag in the text, it looks the tag up in the XLMRegions parameter. If it finds it, it checks to see if a feature vector for that XML tag already exists, and if not, makes one setting its attribute to that tag. It also sets a flag in its memory to the effect that it is processing within that XML region. When it matches a feature, it creates a feature vector element in each feature vector for an XML tag for which the flag is set, along with a feature vector element for a feature vector for the entire document. Whenfeature finder 10 encounters an XML end tag in the text, it looks the tag up in the XLMRegions parameter. If it finds it, it clears the flag to reflect the fact that it is no longer processing within that XML region. No feture vector elements will be added to the feature vector for that XML region until another beginning XML tag for that region is encountered.Topic spotter 90 is updated during training and computes scores for categories during classification with all feature vectors whose XMLTag is not null. If no such feature vectors exist for a document, then if the UseWholeDoc attribute is set,topic spotter 90 is updated during training and computes scores for categories during classification with the feature vector for the entire document. In this way, the present invention may be configured to train and topic spot within specific XML regions. - This is extended to allow the use of a different (possible overlapping) sets of XML regions for each perspective. Its easy to see that if a document were classified against a Symptoms perspective, a Causes perspective, and a Remedies Perspective, the document would classify well if it were classified against the Symptoms perspective based on the text of the symptoms region of the document, if it were classified against the Causes perspective based on the text of the causes region of the document, and if it were classified against the Remedies perspective based on the text of the remedies region of the document. The extension is straightforward: there is an XMLRegions parameter and a UseWholeDoc parameter for each perspective. Consider the following example.
-
- Perspective A: no XML regions specified
- Perspective B: use XML region SYMPTOMS; ignore document if region not present.
- Perspective C: use XML regions CAUSES and REMEDIES; use whole document if region not present.
- Perspective D: no XML regions specified
- Assume the system is now given a document with this text:
- “To fix <SYMPTOMS>dizzyness</SYMPTOM>, caused by <CAUSES>motion</CAUSES>, take <REMEDIES>aspirin.</REMEDIES>”
- The present invention will produce three feature vectors for this perspective set for any document. For this document they are:
- Vector1 (whole document):—associated with Perspective A and Perspective D
-
- To−1
- Fix−1
- Dizzyness−1
- Caused−1
- . . . etc.
- Vector2 (SYMPTOMS region):—associated with Perspective B
-
- Dizzyness−1
- Vector3 (CAUSES and FIX region)—associated with Perspective C
-
- Motion−1
- Aspirin−1
- A topic spotter matrix element is updated during training and contributes to the scores for a category during classification for a feature vector with a given XMLTag only if that tag is in the XMLRegions parameter for the perspective containing the category whose column contains the matrix element. If no feature vectors with an XMLTag in the XMLRegions parameter for a perspective exist for a document, then a topic spotter matrix element is updated during training and computes scores for categories during classification with the feature vector for the entire document only if the UseWholeDoc attribute is set for the perspective containing the category whose column contains the matrix element. In addition to improving the quality of classification, classification against a perspective can affect which parts of the documents are looked at for classification purposes by another perspective at lower in the tagging hierarchy. Example: perspective A has nodes A1 and A2. A1 is an ancestor of perspective D1 in the tagging hierarchy. A2 is an ancestor of perspective D2 in the tagging hierarchy. D1 and D2 have the same classification models (i.e., the same evidence, the same topic spotter), except that D1 looks at XML regions A, B and C, while D2 looks at XML regions X, Y and Z. “Dependent tagging” in combination with XML regions also enables methods of classifying within a perspective. In other words, a single perspective can be broken into a set of smaller hierarchically tagged perspectives so that tagging decisions in a perspective lower in the hierarchy may depend on tagging decisions made in a perspective higher in the hierarchy. Using XML regions, the decisions in the smaller broken-out perspectives can be made based on different parts of the document More specifically, perspective A has nodes A1, A2, etc. A1 is the ancestor/parent of perspective D which in turn is an ancestor/parent of perspective E. A uses
regions - The present invention may also be configured to automatically or manually tag documents based on perspective attributes. For example, the system provides a method for restricting the number of tags from a particular perspective that may be put on a document. The system further includes the capability to specify a threshold score above which a tag score must be for a tag to a node in a particular perspective to be put on a document. The system also includes the capability to modify the weight of a tagged category in a first perspective based on the existence of that same evidence in a second perspective. More specifically, the system may identify the top evidence (E) in a first perspective (based on the top evidence overall, the top evidence per node, the top percentage overall, the top percentage per node, or top evidence above a particular score, etc.). Then, for every other perspective in the knowledge map, if (E) is not the top evidence for that perspective, lower (E's) weight in that perspective. Lowering a weight can be by an absolute amount, a percentage, a relative amount, a reverse logarithm scale, any other uniform or non-uniform scale.
- From the foregoing description, it will be appreciated that the present invention provides an efficient system and method for automatically classifying documents. The present invention has been described in relation to particular embodiments which are intended in all respects to be illustrative rather than restrictive. Those skilled in the art will appreciate that many different combinations of hardware will be suitable for practicing the present invention. Many commercially available substitutes, each having somewhat different cost and performance characteristics, exist for each of the components described above.
- Although aspects of the present invention are described as being stored in memory, one skilled in the art will appreciate that these aspects can also be stored on or read from other types of computer-readable media, such as secondary storage devices, like hard disks, floppy disks, or CD-ROMs; a carrier wave from the Internet; or other forms of RAM or ROM. Similarly, the method of the present invention may conveniently be implemented in program modules that are based upon the flow charts in
FIGS. 1, 5 and 8. No particular programming language has been indicated for carrying out the various procedures described above because it is considered that the operations, steps and procedures described above and illustrated in the accompanying drawings are sufficiently disclosed to permit one of ordinary skill in the art to practice the instant invention. Moreover, there are many computers and operating systems which may be used in practicing the instant invention and, therefore, no detailed computer program could be provided which would be applicable to these many different systems. Each user of a particular computer will be aware of the language and tools which are most useful for that user's needs and purposes. - Alternative embodiments will become apparent to those skilled in the art to which the present invention pertains without departing from its spirit and scope. Accordingly, the scope of the present invention is defined by the appended claims rather than the foregoing description.
Claims (74)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/358,388 US20060143175A1 (en) | 2000-05-25 | 2006-02-21 | System and method for automatically classifying text |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US20697500P | 2000-05-25 | 2000-05-25 | |
US09/864,156 US7028250B2 (en) | 2000-05-25 | 2001-05-25 | System and method for automatically classifying text |
US11/358,388 US20060143175A1 (en) | 2000-05-25 | 2006-02-21 | System and method for automatically classifying text |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/864,156 Continuation US7028250B2 (en) | 2000-05-25 | 2001-05-25 | System and method for automatically classifying text |
Publications (1)
Publication Number | Publication Date |
---|---|
US20060143175A1 true US20060143175A1 (en) | 2006-06-29 |
Family
ID=22768713
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/864,156 Expired - Lifetime US7028250B2 (en) | 2000-05-25 | 2001-05-25 | System and method for automatically classifying text |
US11/358,388 Abandoned US20060143175A1 (en) | 2000-05-25 | 2006-02-21 | System and method for automatically classifying text |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US09/864,156 Expired - Lifetime US7028250B2 (en) | 2000-05-25 | 2001-05-25 | System and method for automatically classifying text |
Country Status (3)
Country | Link |
---|---|
US (2) | US7028250B2 (en) |
AU (1) | AU2001264928A1 (en) |
WO (1) | WO2001090921A2 (en) |
Cited By (66)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040049478A1 (en) * | 2002-09-11 | 2004-03-11 | Intelligent Results | Attribute scoring for unstructured content |
US20040122818A1 (en) * | 2000-07-27 | 2004-06-24 | Robert Hitzelberger | Method for evaluating processes with a number of characteristic features |
US20040218896A1 (en) * | 2002-05-20 | 2004-11-04 | Mototsugu Abe | Signal recording/reproducing apparatus, signal recording/reproducing method, signal reproducing apparatus, signal reproducing method, and program |
US20050283470A1 (en) * | 2004-06-17 | 2005-12-22 | Or Kuntzman | Content categorization |
US20070022373A1 (en) * | 2005-06-29 | 2007-01-25 | Xerox Corporation | Probabilistic learning method for XML annotation of documents |
US20070150426A1 (en) * | 2005-12-22 | 2007-06-28 | Qnext Corp. | Method and system for classifying users of a computer network |
US20080016061A1 (en) * | 2006-07-14 | 2008-01-17 | Bea Systems, Inc. | Using a Core Data Structure to Calculate Document Ranks |
US20080016098A1 (en) * | 2006-07-14 | 2008-01-17 | Bea Systems, Inc. | Using Tags in an Enterprise Search System |
US20080016052A1 (en) * | 2006-07-14 | 2008-01-17 | Bea Systems, Inc. | Using Connections Between Users and Documents to Rank Documents in an Enterprise Search System |
US20080071762A1 (en) * | 2006-09-15 | 2008-03-20 | Turner Alan E | Text analysis devices, articles of manufacture, and text analysis methods |
US20080069448A1 (en) * | 2006-09-15 | 2008-03-20 | Turner Alan E | Text analysis devices, articles of manufacture, and text analysis methods |
US20080103849A1 (en) * | 2006-10-31 | 2008-05-01 | Forman George H | Calculating an aggregate of attribute values associated with plural cases |
US20080159585A1 (en) * | 2005-02-14 | 2008-07-03 | Inboxer, Inc. | Statistical Categorization of Electronic Messages Based on an Analysis of Accompanying Images |
US20080201279A1 (en) * | 2007-02-15 | 2008-08-21 | Gautam Kar | Method and apparatus for automatically structuring free form hetergeneous data |
US20090055394A1 (en) * | 2007-07-20 | 2009-02-26 | Google Inc. | Identifying key terms related to similar passages |
US20090094020A1 (en) * | 2007-10-05 | 2009-04-09 | Fujitsu Limited | Recommending Terms To Specify Ontology Space |
US20090204589A1 (en) * | 2008-02-12 | 2009-08-13 | Canon Kabushiki Kaisha | Document management apparatus, method, system, medium storing a program thereof |
US20090265315A1 (en) * | 2008-04-18 | 2009-10-22 | Yahoo! Inc. | System and method for classifying tags of content using a hyperlinked corpus of classified web pages |
US20100131569A1 (en) * | 2008-11-21 | 2010-05-27 | Robert Marc Jamison | Method & apparatus for identifying a secondary concept in a collection of documents |
US20100332503A1 (en) * | 2009-06-30 | 2010-12-30 | Brad Buckley | System and Method for Using an Exemplar Document to Retrieve Relevant Documents from an Inverted Index of a Large Corpus |
US20110004573A1 (en) * | 2009-07-02 | 2011-01-06 | International Business Machines, Corporation | Identifying training documents for a content classifier |
US20110066659A1 (en) * | 2009-09-15 | 2011-03-17 | Ilya Geller | Systems and methods for creating structured data |
US20110113385A1 (en) * | 2009-11-06 | 2011-05-12 | Craig Peter Sayers | Visually representing a hierarchy of category nodes |
US8108413B2 (en) | 2007-02-15 | 2012-01-31 | International Business Machines Corporation | Method and apparatus for automatically discovering features in free form heterogeneous data |
US8122032B2 (en) | 2007-07-20 | 2012-02-21 | Google Inc. | Identifying and linking similar passages in a digital text corpus |
US8145636B1 (en) * | 2009-03-13 | 2012-03-27 | Google Inc. | Classifying text into hierarchical categories |
US8180713B1 (en) | 2007-04-13 | 2012-05-15 | Standard & Poor's Financial Services Llc | System and method for searching and identifying potential financial risks disclosed within a document |
US20120166441A1 (en) * | 2010-12-23 | 2012-06-28 | Microsoft Corporation | Keywords extraction and enrichment via categorization systems |
US20120185501A1 (en) * | 2011-01-18 | 2012-07-19 | Ilya Geller | Systems and methods for searching data |
US8280892B2 (en) | 2007-10-05 | 2012-10-02 | Fujitsu Limited | Selecting tags for a document by analyzing paragraphs of the document |
US20130024407A1 (en) * | 2010-03-26 | 2013-01-24 | British Telecommunications Public Limited Company | Text classifier system |
US20130060783A1 (en) * | 2006-10-05 | 2013-03-07 | Splunk Inc. | Time series search engine |
US20130138641A1 (en) * | 2009-12-30 | 2013-05-30 | Google Inc. | Construction of text classifiers |
US20130212047A1 (en) * | 2012-02-10 | 2013-08-15 | International Business Machines Corporation | Multi-tiered approach to e-mail prioritization |
US8516013B2 (en) | 2009-03-03 | 2013-08-20 | Ilya Geller | Systems and methods for subtext searching data using synonym-enriched predicative phrases and substituted pronouns |
US20130262480A1 (en) * | 2009-07-07 | 2013-10-03 | Sosvia, Inc. | Content category scoring for nodes in a linked database |
US8572013B1 (en) * | 2010-03-30 | 2013-10-29 | Amazon Technologies, Inc. | Classification of items with manual confirmation |
US20130339276A1 (en) * | 2012-02-10 | 2013-12-19 | International Business Machines Corporation | Multi-tiered approach to e-mail prioritization |
US20140025698A1 (en) * | 2011-03-30 | 2014-01-23 | British Telecommunications Public Limited Company | Textual analysis system |
US8645397B1 (en) * | 2006-11-30 | 2014-02-04 | At&T Intellectual Property Ii, L.P. | Method and apparatus for propagating updates in databases |
US8751424B1 (en) * | 2011-12-15 | 2014-06-10 | The Boeing Company | Secure information classification |
US20140376804A1 (en) * | 2013-06-21 | 2014-12-25 | Xerox Corporation | Label-embedding view of attribute-based recognition |
US9305084B1 (en) | 2012-08-30 | 2016-04-05 | deviantArt, Inc. | Tag selection, clustering, and recommendation for content hosting services |
US9633002B1 (en) * | 2014-06-27 | 2017-04-25 | Digital Reasoning Systems, Inc. | Systems and methods for coreference resolution using selective feature activation |
US9697192B1 (en) | 2013-06-28 | 2017-07-04 | Digital Reasoning Systems, Inc. | Systems and methods for construction, maintenance, and improvement of knowledge representations |
US9811587B1 (en) * | 2013-09-25 | 2017-11-07 | Google Inc. | Contextual content distribution |
US10013655B1 (en) * | 2014-03-11 | 2018-07-03 | Applied Underwriters, Inc. | Artificial intelligence expert system for anomaly detection |
US10019496B2 (en) | 2013-04-30 | 2018-07-10 | Splunk Inc. | Processing of performance data and log data from an information technology environment by using diverse data stores |
US20180196799A1 (en) * | 2015-06-15 | 2018-07-12 | Erevalue Limited | A method and system for processing data using an augmented natural language processing engine |
US20190066675A1 (en) * | 2017-08-23 | 2019-02-28 | Beijing Baidu Netcom Science And Technology Co., Ltd. | Artificial intelligence based method and apparatus for classifying voice-recognized text |
US10225136B2 (en) | 2013-04-30 | 2019-03-05 | Splunk Inc. | Processing of log data and performance data obtained via an application programming interface (API) |
US10318541B2 (en) | 2013-04-30 | 2019-06-11 | Splunk Inc. | Correlating log data with performance measurements having a specified relationship to a threshold value |
US10346357B2 (en) | 2013-04-30 | 2019-07-09 | Splunk Inc. | Processing of performance data and structure data from an information technology environment |
US10353957B2 (en) | 2013-04-30 | 2019-07-16 | Splunk Inc. | Processing of performance data and raw log data from an information technology environment |
CN110390094A (en) * | 2018-04-20 | 2019-10-29 | 伊姆西Ip控股有限责任公司 | Method, electronic equipment and the computer program product classified to document |
US10467261B1 (en) | 2017-04-27 | 2019-11-05 | Intuit Inc. | Methods, systems, and computer program product for implementing real-time classification and recommendations |
US10467122B1 (en) | 2017-04-27 | 2019-11-05 | Intuit Inc. | Methods, systems, and computer program product for capturing and classification of real-time data and performing post-classification tasks |
US10528329B1 (en) | 2017-04-27 | 2020-01-07 | Intuit Inc. | Methods, systems, and computer program product for automatic generation of software application code |
US10614132B2 (en) | 2013-04-30 | 2020-04-07 | Splunk Inc. | GUI-triggered processing of performance data and log data from an information technology environment |
US10705796B1 (en) * | 2017-04-27 | 2020-07-07 | Intuit Inc. | Methods, systems, and computer program product for implementing real-time or near real-time classification of digital data |
US10817519B2 (en) * | 2016-06-06 | 2020-10-27 | Baidu Usa Llc | Automatic conversion stage discovery |
US10997191B2 (en) | 2013-04-30 | 2021-05-04 | Splunk Inc. | Query-triggered processing of performance data and log data from an information technology environment |
US11520835B2 (en) * | 2018-09-28 | 2022-12-06 | Rakuten Group, Inc. | Learning system, learning method, and program |
US11694030B1 (en) * | 2022-04-06 | 2023-07-04 | Fulcrum Management Solutions Ltd. | System and method for automatic theming of a plurality of thought objects |
US11803918B2 (en) | 2015-07-07 | 2023-10-31 | Oracle International Corporation | System and method for identifying experts on arbitrary topics in an enterprise social network |
US12217075B1 (en) | 2013-04-30 | 2025-02-04 | Splunk Inc. | Interface for presenting performance data for hierarchical networked components represented in an expandable visualization of nodes |
Families Citing this family (277)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1049030A1 (en) * | 1999-04-28 | 2000-11-02 | SER Systeme AG Produkte und Anwendungen der Datenverarbeitung | Classification method and apparatus |
US7966234B1 (en) | 1999-05-17 | 2011-06-21 | Jpmorgan Chase Bank. N.A. | Structured finance performance analytics system |
US7925610B2 (en) * | 1999-09-22 | 2011-04-12 | Google Inc. | Determining a meaning of a knowledge item using document-based information |
ES2208164T3 (en) * | 2000-02-23 | 2004-06-16 | Ser Solutions, Inc | METHOD AND APPLIANCE FOR PROCESSING ELECTRONIC DOCUMENTS. |
US7249095B2 (en) | 2000-06-07 | 2007-07-24 | The Chase Manhattan Bank, N.A. | System and method for executing deposit transactions over the internet |
US9177828B2 (en) | 2011-02-10 | 2015-11-03 | Micron Technology, Inc. | External gettering method and device |
EP1182577A1 (en) * | 2000-08-18 | 2002-02-27 | SER Systeme AG Produkte und Anwendungen der Datenverarbeitung | Associative memory |
US7392212B2 (en) * | 2000-09-28 | 2008-06-24 | Jpmorgan Chase Bank, N.A. | User-interactive financial vehicle performance prediction, trading and training system and methods |
US7313541B2 (en) * | 2000-11-03 | 2007-12-25 | Jpmorgan Chase Bank, N.A. | System and method for estimating conduit liquidity requirements in asset backed commercial paper |
US7213265B2 (en) * | 2000-11-15 | 2007-05-01 | Lockheed Martin Corporation | Real time active network compartmentalization |
US7225467B2 (en) * | 2000-11-15 | 2007-05-29 | Lockheed Martin Corporation | Active intrusion resistant environment of layered object and compartment keys (airelock) |
JP3842577B2 (en) * | 2001-03-30 | 2006-11-08 | 株式会社東芝 | Structured document search method, structured document search apparatus and program |
US7596526B2 (en) * | 2001-04-16 | 2009-09-29 | Jpmorgan Chase Bank, N.A. | System and method for managing a series of overnight financing trades |
US7269546B2 (en) * | 2001-05-09 | 2007-09-11 | International Business Machines Corporation | System and method of finding documents related to other documents and of finding related words in response to a query to refine a search |
US20030130993A1 (en) * | 2001-08-08 | 2003-07-10 | Quiver, Inc. | Document categorization engine |
US7096179B2 (en) * | 2001-08-15 | 2006-08-22 | Siemens Corporate Research, Inc. | Text-based automatic content classification and grouping |
EP1288792B1 (en) | 2001-08-27 | 2011-12-14 | BDGB Enterprise Software Sàrl | A method for automatically indexing documents |
US7013261B2 (en) * | 2001-10-16 | 2006-03-14 | Xerox Corporation | Method and system for accelerated morphological analysis |
US20030115191A1 (en) * | 2001-12-17 | 2003-06-19 | Max Copperman | Efficient and cost-effective content provider for customer relationship management (CRM) or other applications |
ATE466345T1 (en) * | 2002-01-16 | 2010-05-15 | Elucidon Group Ltd | RETRIEVAL OF INFORMATION DATA WHERE DATA IS ORGANIZED INTO TERMS, DOCUMENTS AND DOCUMENT CORPORAS |
US7133860B2 (en) * | 2002-01-23 | 2006-11-07 | Matsushita Electric Industrial Co., Ltd. | Device and method for automatically classifying documents using vector analysis |
US7188107B2 (en) * | 2002-03-06 | 2007-03-06 | Infoglide Software Corporation | System and method for classification of documents |
US7051009B2 (en) * | 2002-03-29 | 2006-05-23 | Hewlett-Packard Development Company, L.P. | Automatic hierarchical classification of temporal ordered case log documents for detection of changes |
US20030220917A1 (en) * | 2002-04-03 | 2003-11-27 | Max Copperman | Contextual search |
US20040205668A1 (en) * | 2002-04-30 | 2004-10-14 | Donald Eastlake | Native markup language code size reduction |
US7370033B1 (en) * | 2002-05-17 | 2008-05-06 | Oracle International Corporation | Method for extracting association rules from transactions in a database |
US7328146B1 (en) * | 2002-05-31 | 2008-02-05 | At&T Corp. | Spoken language understanding that incorporates prior knowledge into boosting |
US8224723B2 (en) | 2002-05-31 | 2012-07-17 | Jpmorgan Chase Bank, N.A. | Account opening system, method and computer program product |
US7818764B2 (en) * | 2002-06-20 | 2010-10-19 | At&T Intellectual Property I, L.P. | System and method for monitoring blocked content |
AU2003245016A1 (en) * | 2002-07-23 | 2004-02-09 | Quigo Technologies Inc. | System and method for automated mapping of keywords and key phrases to documents |
US20040044961A1 (en) * | 2002-08-28 | 2004-03-04 | Leonid Pesenson | Method and system for transformation of an extensible markup language document |
JP4233836B2 (en) * | 2002-10-16 | 2009-03-04 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Automatic document classification system, unnecessary word determination method, automatic document classification method, and program |
US7080094B2 (en) * | 2002-10-29 | 2006-07-18 | Lockheed Martin Corporation | Hardware accelerated validating parser |
US20070061884A1 (en) * | 2002-10-29 | 2007-03-15 | Dapp Michael C | Intrusion detection accelerator |
US20040083466A1 (en) * | 2002-10-29 | 2004-04-29 | Dapp Michael C. | Hardware parser accelerator |
US20040093200A1 (en) * | 2002-11-07 | 2004-05-13 | Island Data Corporation | Method of and system for recognizing concepts |
TW200407736A (en) * | 2002-11-08 | 2004-05-16 | Hon Hai Prec Ind Co Ltd | System and method for classifying patents and displaying patent classification |
US20040186704A1 (en) * | 2002-12-11 | 2004-09-23 | Jiping Sun | Fuzzy based natural speech concept system |
US20050044033A1 (en) * | 2003-01-10 | 2005-02-24 | Gelson Andrew F. | Like-kind exchange method |
US8335683B2 (en) * | 2003-01-23 | 2012-12-18 | Microsoft Corporation | System for using statistical classifiers for spoken language understanding |
US20040148170A1 (en) * | 2003-01-23 | 2004-07-29 | Alejandro Acero | Statistical classifiers for spoken language understanding and command/control scenarios |
AU2003277247A1 (en) * | 2003-02-28 | 2004-09-28 | Lockheed Martin Corporation | Hardware accelerator state table compiler |
US6980949B2 (en) * | 2003-03-14 | 2005-12-27 | Sonum Technologies, Inc. | Natural language processor |
US7941009B2 (en) * | 2003-04-08 | 2011-05-10 | The Penn State Research Foundation | Real-time computerized annotation of pictures |
US20040243545A1 (en) * | 2003-05-29 | 2004-12-02 | Dictaphone Corporation | Systems and methods utilizing natural language medical records |
US7634435B2 (en) * | 2003-05-13 | 2009-12-15 | Jp Morgan Chase Bank | Diversified fixed income product and method for creating and marketing same |
US20040230898A1 (en) * | 2003-05-13 | 2004-11-18 | International Business Machines Corporation | Identifying topics in structured documents for machine translation |
JP4014160B2 (en) * | 2003-05-30 | 2007-11-28 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Information processing apparatus, program, and recording medium |
US7770184B2 (en) * | 2003-06-06 | 2010-08-03 | Jp Morgan Chase Bank | Integrated trading platform architecture |
US20050015324A1 (en) * | 2003-07-15 | 2005-01-20 | Jacob Mathews | Systems and methods for trading financial instruments across different types of trading platforms |
US7383241B2 (en) * | 2003-07-25 | 2008-06-03 | Enkata Technologies, Inc. | System and method for estimating performance of a classifier |
US7970688B2 (en) * | 2003-07-29 | 2011-06-28 | Jp Morgan Chase Bank | Method for pricing a trade |
US20050060256A1 (en) * | 2003-09-12 | 2005-03-17 | Andrew Peterson | Foreign exchange trading interface |
US20050120300A1 (en) * | 2003-09-25 | 2005-06-02 | Dictaphone Corporation | Method, system, and apparatus for assembly, transport and display of clinical data |
US7346839B2 (en) | 2003-09-30 | 2008-03-18 | Google Inc. | Information retrieval based on historical data |
US7593876B2 (en) * | 2003-10-15 | 2009-09-22 | Jp Morgan Chase Bank | System and method for processing partially unstructured data |
US8200477B2 (en) * | 2003-10-22 | 2012-06-12 | International Business Machines Corporation | Method and system for extracting opinions from text documents |
US7516492B1 (en) * | 2003-10-28 | 2009-04-07 | Rsa Security Inc. | Inferring document and content sensitivity from public account accessibility |
CN100515052C (en) * | 2003-11-13 | 2009-07-15 | 松下电器产业株式会社 | Program recommendation device, program recommendation method of program recommendation device |
US7689536B1 (en) * | 2003-12-18 | 2010-03-30 | Google Inc. | Methods and systems for detecting and extracting information |
US7822598B2 (en) * | 2004-02-27 | 2010-10-26 | Dictaphone Corporation | System and method for normalization of a string of words |
ATE532142T1 (en) * | 2004-03-16 | 2011-11-15 | Microdasys Inc | CONTENT MONITORING FOR XML |
US8423447B2 (en) * | 2004-03-31 | 2013-04-16 | Jp Morgan Chase Bank | System and method for allocating nominal and cash amounts to trades in a netted trade |
US20050222937A1 (en) * | 2004-03-31 | 2005-10-06 | Coad Edward J | Automated customer exchange |
US20050251478A1 (en) * | 2004-05-04 | 2005-11-10 | Aura Yanavi | Investment and method for hedging operational risk associated with business events of another |
JP4254623B2 (en) * | 2004-06-09 | 2009-04-15 | 日本電気株式会社 | Topic analysis method, apparatus thereof, and program |
US7860314B2 (en) * | 2004-07-21 | 2010-12-28 | Microsoft Corporation | Adaptation of exponential models |
US20060020448A1 (en) * | 2004-07-21 | 2006-01-26 | Microsoft Corporation | Method and apparatus for capitalizing text using maximum entropy |
US7693770B2 (en) | 2004-08-06 | 2010-04-06 | Jp Morgan Chase & Co. | Method and system for creating and marketing employee stock option mirror image warrants |
US7698339B2 (en) * | 2004-08-13 | 2010-04-13 | Microsoft Corporation | Method and system for summarizing a document |
US20060095900A1 (en) * | 2004-08-26 | 2006-05-04 | Calpont Corporation | Semantic processor for a hardware database management system |
US7756871B2 (en) * | 2004-10-13 | 2010-07-13 | Hewlett-Packard Development Company, L.P. | Article extraction |
US20060095473A1 (en) * | 2004-10-23 | 2006-05-04 | Data Management Associates, Inc. | System and method of orchestrating electronic workflow automation processes |
US7827180B2 (en) * | 2004-11-05 | 2010-11-02 | Intenational Business Machines Corporation | Methods and apparatus for assigning content identifiers to content portions |
US20090132428A1 (en) * | 2004-11-15 | 2009-05-21 | Stephen Jeffrey Wolf | Method for creating and marketing a modifiable debt product |
US7853544B2 (en) * | 2004-11-24 | 2010-12-14 | Overtone, Inc. | Systems and methods for automatically categorizing unstructured text |
US7937263B2 (en) * | 2004-12-01 | 2011-05-03 | Dictaphone Corporation | System and method for tokenization of text using classifier models |
US7769579B2 (en) | 2005-05-31 | 2010-08-03 | Google Inc. | Learning facts from semi-structured text |
US8706475B2 (en) * | 2005-01-10 | 2014-04-22 | Xerox Corporation | Method and apparatus for detecting a table of contents and reference determination |
US20090164384A1 (en) * | 2005-02-09 | 2009-06-25 | Hellen Patrick J | Investment structure and method for reducing risk associated with withdrawals from an investment |
US7788087B2 (en) * | 2005-03-01 | 2010-08-31 | Microsoft Corporation | System for processing sentiment-bearing text |
US7788086B2 (en) * | 2005-03-01 | 2010-08-31 | Microsoft Corporation | Method and apparatus for processing sentiment-bearing text |
US7937379B2 (en) * | 2005-03-09 | 2011-05-03 | Vudu, Inc. | Fragmentation of a file for instant access |
US20080022343A1 (en) | 2006-07-24 | 2008-01-24 | Vvond, Inc. | Multiple audio streams |
US7191215B2 (en) * | 2005-03-09 | 2007-03-13 | Marquee, Inc. | Method and system for providing instantaneous media-on-demand services by transmitting contents in pieces from client machines |
US9176955B2 (en) * | 2005-03-09 | 2015-11-03 | Vvond, Inc. | Method and apparatus for sharing media files among network nodes |
US20090025046A1 (en) * | 2005-03-09 | 2009-01-22 | Wond, Llc | Hybrid architecture for media services |
US8904463B2 (en) * | 2005-03-09 | 2014-12-02 | Vudu, Inc. | Live video broadcasting on distributed networks |
US7698451B2 (en) * | 2005-03-09 | 2010-04-13 | Vudu, Inc. | Method and apparatus for instant playback of a movie title |
US20060206531A1 (en) * | 2005-03-10 | 2006-09-14 | Kabushiki Kaisha Toshiba | Document managing apparatus |
JP4260128B2 (en) * | 2005-03-17 | 2009-04-30 | 富士通株式会社 | Business skill estimation program |
US8688569B1 (en) | 2005-03-23 | 2014-04-01 | Jpmorgan Chase Bank, N.A. | System and method for post closing and custody services |
US8468445B2 (en) * | 2005-03-30 | 2013-06-18 | The Trustees Of Columbia University In The City Of New York | Systems and methods for content extraction |
US9208229B2 (en) * | 2005-03-31 | 2015-12-08 | Google Inc. | Anchor text summarization for corroboration |
US7587387B2 (en) | 2005-03-31 | 2009-09-08 | Google Inc. | User interface for facts query engine with snippets from information sources that include query terms and answer terms |
US8682913B1 (en) | 2005-03-31 | 2014-03-25 | Google Inc. | Corroborating facts extracted from multiple sources |
US8996470B1 (en) | 2005-05-31 | 2015-03-31 | Google Inc. | System for ensuring the internal consistency of a fact repository |
US20090187512A1 (en) * | 2005-05-31 | 2009-07-23 | Jp Morgan Chase Bank | Asset-backed investment instrument and related methods |
US7822682B2 (en) | 2005-06-08 | 2010-10-26 | Jpmorgan Chase Bank, N.A. | System and method for enhancing supply chain transactions |
US8099511B1 (en) | 2005-06-11 | 2012-01-17 | Vudu, Inc. | Instantaneous media-on-demand |
US20110035306A1 (en) * | 2005-06-20 | 2011-02-10 | Jpmorgan Chase Bank, N.A. | System and method for buying and selling securities |
US8572018B2 (en) * | 2005-06-20 | 2013-10-29 | New York University | Method, system and software arrangement for reconstructing formal descriptive models of processes from functional/modal data using suitable ontology |
US8019758B2 (en) * | 2005-06-21 | 2011-09-13 | Microsoft Corporation | Generation of a blended classification model |
US20070016863A1 (en) * | 2005-07-08 | 2007-01-18 | Yan Qu | Method and apparatus for extracting and structuring domain terms |
CA2928051C (en) * | 2005-07-15 | 2018-07-24 | Indxit Systems, Inc. | Systems and methods for data indexing and processing |
US8433558B2 (en) | 2005-07-25 | 2013-04-30 | At&T Intellectual Property Ii, L.P. | Methods and systems for natural language understanding using human knowledge and collected data |
US7567928B1 (en) | 2005-09-12 | 2009-07-28 | Jpmorgan Chase Bank, N.A. | Total fair value swap |
US20070067155A1 (en) * | 2005-09-20 | 2007-03-22 | Sonum Technologies, Inc. | Surface structure generation |
US9177050B2 (en) | 2005-10-04 | 2015-11-03 | Thomson Reuters Global Resources | Systems, methods, and interfaces for extending legal search results |
US7451155B2 (en) * | 2005-10-05 | 2008-11-11 | At&T Intellectual Property I, L.P. | Statistical methods and apparatus for records management |
US7818238B1 (en) | 2005-10-11 | 2010-10-19 | Jpmorgan Chase Bank, N.A. | Upside forward with early funding provision |
GB0521552D0 (en) * | 2005-10-22 | 2005-11-30 | Ibm | Method and system for constructing a classifier |
US7917519B2 (en) * | 2005-10-26 | 2011-03-29 | Sizatola, Llc | Categorized document bases |
US20070106644A1 (en) * | 2005-11-08 | 2007-05-10 | International Business Machines Corporation | Methods and apparatus for extracting and correlating text information derived from comment and product databases for use in identifying product improvements based on comment and product database commonalities |
CA2669236C (en) | 2005-11-16 | 2016-05-24 | Evri Inc. | Extending keyword searching to syntactically and semantically annotated data |
US20070124316A1 (en) * | 2005-11-29 | 2007-05-31 | Chan John Y M | Attribute selection for collaborative groupware documents using a multi-dimensional matrix |
US8260785B2 (en) | 2006-02-17 | 2012-09-04 | Google Inc. | Automatic object reference identification and linking in a browseable fact repository |
US8280794B1 (en) | 2006-02-03 | 2012-10-02 | Jpmorgan Chase Bank, National Association | Price earnings derivative financial product |
WO2007121035A2 (en) | 2006-03-23 | 2007-10-25 | Exegy Incorporated | Method and system for high throughput blockwise independent encryption/decryption |
US8364467B1 (en) | 2006-03-31 | 2013-01-29 | Google Inc. | Content-based classification |
US7620578B1 (en) | 2006-05-01 | 2009-11-17 | Jpmorgan Chase Bank, N.A. | Volatility derivative financial product |
US7647268B1 (en) | 2006-05-04 | 2010-01-12 | Jpmorgan Chase Bank, N.A. | System and method for implementing a recurrent bidding process |
US8108204B2 (en) * | 2006-06-16 | 2012-01-31 | Evgeniy Gabrilovich | Text categorization using external knowledge |
US20070294223A1 (en) * | 2006-06-16 | 2007-12-20 | Technion Research And Development Foundation Ltd. | Text Categorization Using External Knowledge |
US7664740B2 (en) * | 2006-06-26 | 2010-02-16 | Microsoft Corporation | Automatically displaying keywords and other supplemental information |
WO2008016742A1 (en) * | 2006-08-01 | 2008-02-07 | Topix Llc | Cap-sensitive text search for documents |
US9811868B1 (en) | 2006-08-29 | 2017-11-07 | Jpmorgan Chase Bank, N.A. | Systems and methods for integrating a deal process |
US8340957B2 (en) * | 2006-08-31 | 2012-12-25 | Waggener Edstrom Worldwide, Inc. | Media content assessment and control systems |
US8296812B1 (en) | 2006-09-01 | 2012-10-23 | Vudu, Inc. | Streaming video using erasure encoding |
WO2008029154A1 (en) * | 2006-09-07 | 2008-03-13 | Xploite Plc | Processing a database |
WO2008029150A1 (en) * | 2006-09-07 | 2008-03-13 | Xploite Plc | Categorisation of data using a model |
US9015172B2 (en) | 2006-09-22 | 2015-04-21 | Limelight Networks, Inc. | Method and subsystem for searching media content within a content-search service system |
US8204891B2 (en) * | 2007-09-21 | 2012-06-19 | Limelight Networks, Inc. | Method and subsystem for searching media content within a content-search-service system |
US8966389B2 (en) * | 2006-09-22 | 2015-02-24 | Limelight Networks, Inc. | Visual interface for identifying positions of interest within a sequentially ordered information encoding |
US8396878B2 (en) | 2006-09-22 | 2013-03-12 | Limelight Networks, Inc. | Methods and systems for generating automated tags for video files |
US7917492B2 (en) * | 2007-09-21 | 2011-03-29 | Limelight Networks, Inc. | Method and subsystem for information acquisition and aggregation to facilitate ontology and language-model generation within a content-search-service system |
US9588958B2 (en) * | 2006-10-10 | 2017-03-07 | Abbyy Infopoisk Llc | Cross-language text classification |
US9495358B2 (en) * | 2006-10-10 | 2016-11-15 | Abbyy Infopoisk Llc | Cross-language text clustering |
US8073681B2 (en) | 2006-10-16 | 2011-12-06 | Voicebox Technologies, Inc. | System and method for a cooperative conversational voice user interface |
US8122026B1 (en) | 2006-10-20 | 2012-02-21 | Google Inc. | Finding and disambiguating references to entities on web pages |
US7827096B1 (en) | 2006-11-03 | 2010-11-02 | Jp Morgan Chase Bank, N.A. | Special maturity ASR recalculated timing |
US8326819B2 (en) * | 2006-11-13 | 2012-12-04 | Exegy Incorporated | Method and system for high performance data metatagging and data indexing using coprocessors |
US7660793B2 (en) | 2006-11-13 | 2010-02-09 | Exegy Incorporated | Method and system for high performance integration, processing and searching of structured and unstructured data using coprocessors |
US7818176B2 (en) | 2007-02-06 | 2010-10-19 | Voicebox Technologies, Inc. | System and method for selecting and presenting advertisements based on natural language processing of voice-based input |
US20080249764A1 (en) * | 2007-03-01 | 2008-10-09 | Microsoft Corporation | Smart Sentiment Classifier for Product Reviews |
US8347202B1 (en) | 2007-03-14 | 2013-01-01 | Google Inc. | Determining geographic locations for place names in a fact repository |
WO2008113045A1 (en) | 2007-03-14 | 2008-09-18 | Evri Inc. | Query templates and labeled search tip system, methods, and techniques |
US9396254B1 (en) * | 2007-07-20 | 2016-07-19 | Hewlett-Packard Development Company, L.P. | Generation of representative document components |
US7970766B1 (en) | 2007-07-23 | 2011-06-28 | Google Inc. | Entity type assignment |
EP2019361A1 (en) * | 2007-07-26 | 2009-01-28 | Siemens Aktiengesellschaft | A method and apparatus for extraction of textual content from hypertext web documents |
EP2186250B1 (en) | 2007-08-31 | 2019-03-27 | IP Reservoir, LLC | Method and apparatus for hardware-accelerated encryption/decryption |
US8560950B2 (en) * | 2007-09-04 | 2013-10-15 | Apple Inc. | Advanced playlist creation |
US8290272B2 (en) * | 2007-09-14 | 2012-10-16 | Abbyy Software Ltd. | Creating a document template for capturing data from a document image and capturing data from a document image |
US8594996B2 (en) | 2007-10-17 | 2013-11-26 | Evri Inc. | NLP-based entity recognition and disambiguation |
WO2009052308A1 (en) | 2007-10-17 | 2009-04-23 | Roseman Neil S | Nlp-based content recommender |
US7937389B2 (en) * | 2007-11-01 | 2011-05-03 | Ut-Battelle, Llc | Dynamic reduction of dimensions of a document vector in a document search and retrieval system |
US20090116755A1 (en) * | 2007-11-06 | 2009-05-07 | Copanion, Inc. | Systems and methods for enabling manual classification of unrecognized documents to complete workflow for electronic jobs and to assist machine learning of a recognition system using automatically extracted features of unrecognized documents |
US8812435B1 (en) | 2007-11-16 | 2014-08-19 | Google Inc. | Learning objects and facts from documents |
US8250469B2 (en) * | 2007-12-03 | 2012-08-21 | Microsoft Corporation | Document layout extraction |
US8392816B2 (en) * | 2007-12-03 | 2013-03-05 | Microsoft Corporation | Page classifier engine |
US8140335B2 (en) | 2007-12-11 | 2012-03-20 | Voicebox Technologies, Inc. | System and method for providing a natural language voice user interface in an integrated voice navigation services environment |
US9082080B2 (en) * | 2008-03-05 | 2015-07-14 | Kofax, Inc. | Systems and methods for organizing data sets |
JP4875024B2 (en) * | 2008-05-09 | 2012-02-15 | 株式会社東芝 | Image information transmission device |
US9305548B2 (en) | 2008-05-27 | 2016-04-05 | Voicebox Technologies Corporation | System and method for an integrated, multi-modal, multi-device natural language voice services environment |
US8972410B2 (en) * | 2008-07-30 | 2015-03-03 | Hewlett-Packard Development Company, L.P. | Identifying related objects in a computer database |
US9390321B2 (en) | 2008-09-08 | 2016-07-12 | Abbyy Development Llc | Flexible structure descriptions for multi-page documents |
US8547589B2 (en) | 2008-09-08 | 2013-10-01 | Abbyy Software Ltd. | Data capture from multi-page documents |
US8463808B2 (en) | 2008-11-07 | 2013-06-11 | Raytheon Company | Expanding concept types in conceptual graphs |
US8386489B2 (en) | 2008-11-07 | 2013-02-26 | Raytheon Company | Applying formal concept analysis to validate expanded concept types |
US8577924B2 (en) * | 2008-12-15 | 2013-11-05 | Raytheon Company | Determining base attributes for terms |
US20100153092A1 (en) * | 2008-12-15 | 2010-06-17 | Raytheon Company | Expanding Base Attributes for Terms |
US9087293B2 (en) | 2008-12-23 | 2015-07-21 | Raytheon Company | Categorizing concept types of a conceptual graph |
US8301619B2 (en) * | 2009-02-18 | 2012-10-30 | Avaya Inc. | System and method for generating queries |
US8326637B2 (en) | 2009-02-20 | 2012-12-04 | Voicebox Technologies, Inc. | System and method for processing multi-modal device interactions in a natural language voice services environment |
US20100268528A1 (en) * | 2009-04-16 | 2010-10-21 | Olga Raskina | Method & Apparatus for Identifying Contract Characteristics |
US20100274750A1 (en) * | 2009-04-22 | 2010-10-28 | Microsoft Corporation | Data Classification Pipeline Including Automatic Classification Rules |
US8959079B2 (en) * | 2009-09-29 | 2015-02-17 | International Business Machines Corporation | Method and system for providing relationships in search results |
US9213756B2 (en) * | 2009-11-02 | 2015-12-15 | Harry Urbschat | System and method of using dynamic variance networks |
US9158833B2 (en) * | 2009-11-02 | 2015-10-13 | Harry Urbschat | System and method for obtaining document information |
US8321357B2 (en) * | 2009-09-30 | 2012-11-27 | Lapir Gennady | Method and system for extraction |
US9152883B2 (en) * | 2009-11-02 | 2015-10-06 | Harry Urbschat | System and method for increasing the accuracy of optical character recognition (OCR) |
US8972436B2 (en) * | 2009-10-28 | 2015-03-03 | Yahoo! Inc. | Translation model and method for matching reviews to objects |
US8356045B2 (en) * | 2009-12-09 | 2013-01-15 | International Business Machines Corporation | Method to identify common structures in formatted text documents |
KR20110071635A (en) * | 2009-12-21 | 2011-06-29 | 한국전자통신연구원 | RS-based keyword extraction apparatus and method |
US8738514B2 (en) | 2010-02-18 | 2014-05-27 | Jpmorgan Chase Bank, N.A. | System and method for providing borrow coverage services to short sell securities |
US20110208670A1 (en) * | 2010-02-19 | 2011-08-25 | Jpmorgan Chase Bank, N.A. | Execution Optimizer |
US8352354B2 (en) * | 2010-02-23 | 2013-01-08 | Jpmorgan Chase Bank, N.A. | System and method for optimizing order execution |
US9710556B2 (en) | 2010-03-01 | 2017-07-18 | Vcvc Iii Llc | Content recommendation based on collections of entities |
US8645125B2 (en) | 2010-03-30 | 2014-02-04 | Evri, Inc. | NLP-based systems and methods for providing quotations |
US8140567B2 (en) | 2010-04-13 | 2012-03-20 | Microsoft Corporation | Measuring entity extraction complexity |
TWI396983B (en) * | 2010-04-14 | 2013-05-21 | Inst Information Industry | Named entity marking apparatus, named entity marking method, and computer program product thereof |
US8195458B2 (en) * | 2010-08-17 | 2012-06-05 | Xerox Corporation | Open class noun classification |
US9405848B2 (en) | 2010-09-15 | 2016-08-02 | Vcvc Iii Llc | Recommending mobile device activities |
US8725739B2 (en) | 2010-11-01 | 2014-05-13 | Evri, Inc. | Category-based content recommendation |
US10387564B2 (en) * | 2010-11-12 | 2019-08-20 | International Business Machines Corporation | Automatically assessing document quality for domain-specific documentation |
US9542479B2 (en) * | 2011-02-15 | 2017-01-10 | Telenav, Inc. | Navigation system with rule based point of interest classification mechanism and method of operation thereof |
US9116995B2 (en) * | 2011-03-30 | 2015-08-25 | Vcvc Iii Llc | Cluster-based identification of news stories |
US8606575B1 (en) * | 2011-09-06 | 2013-12-10 | West Corporation | Method and apparatus of providing semi-automated classifier adaptation for natural language processing |
US9507801B2 (en) * | 2011-10-04 | 2016-11-29 | Google Inc. | Enforcing category diversity |
CN103136247B (en) * | 2011-11-29 | 2015-12-02 | 阿里巴巴集团控股有限公司 | Attribute data interval division method and device |
US8874615B2 (en) * | 2012-01-13 | 2014-10-28 | Quova, Inc. | Method and apparatus for implementing a learning model for facilitating answering a query on a database |
US8971630B2 (en) | 2012-04-27 | 2015-03-03 | Abbyy Development Llc | Fast CJK character recognition |
US8989485B2 (en) | 2012-04-27 | 2015-03-24 | Abbyy Development Llc | Detecting a junction in a text line of CJK characters |
US20130304739A1 (en) * | 2012-05-10 | 2013-11-14 | Samsung Electronics Co., Ltd. | Computing system with domain independence orientation mechanism and method of operation thereof |
US20150170160A1 (en) * | 2012-10-23 | 2015-06-18 | Google Inc. | Business category classification |
US9348899B2 (en) | 2012-10-31 | 2016-05-24 | Open Text Corporation | Auto-classification system and method with dynamic user feedback |
US10366360B2 (en) | 2012-11-16 | 2019-07-30 | SPF, Inc. | System and method for identifying potential future interaction risks between a client and a provider |
US20140143010A1 (en) * | 2012-11-16 | 2014-05-22 | SPF, Inc. | System and Method for Assessing Interaction Risks Potentially Associated with Transactions Between a Client and a Provider |
US9165258B2 (en) | 2012-12-10 | 2015-10-20 | Hewlett-Packard Development Company, L.P. | Generating training documents |
US9047368B1 (en) * | 2013-02-19 | 2015-06-02 | Symantec Corporation | Self-organizing user-centric document vault |
US9535899B2 (en) | 2013-02-20 | 2017-01-03 | International Business Machines Corporation | Automatic semantic rating and abstraction of literature |
WO2014132402A1 (en) * | 2013-02-28 | 2014-09-04 | 株式会社東芝 | Data processing device and method for constructing story model |
US9355091B2 (en) * | 2013-03-13 | 2016-05-31 | Crimson Hexagon, Inc. | Systems and methods for language classification |
US11928606B2 (en) | 2013-03-15 | 2024-03-12 | TSG Technologies, LLC | Systems and methods for classifying electronic documents |
US9201864B2 (en) * | 2013-03-15 | 2015-12-01 | Luminoso Technologies, Inc. | Method and system for converting document sets to term-association vector spaces on demand |
US9298814B2 (en) * | 2013-03-15 | 2016-03-29 | Maritz Holdings Inc. | Systems and methods for classifying electronic documents |
US9262510B2 (en) * | 2013-05-10 | 2016-02-16 | International Business Machines Corporation | Document tagging and retrieval using per-subject dictionaries including subject-determining-power scores for entries |
EP3879475A1 (en) * | 2013-08-30 | 2021-09-15 | 3M Innovative Properties Co. | Method of classifying medical documents |
US9251136B2 (en) | 2013-10-16 | 2016-02-02 | International Business Machines Corporation | Document tagging and retrieval using entity specifiers |
US9235638B2 (en) | 2013-11-12 | 2016-01-12 | International Business Machines Corporation | Document retrieval using internal dictionary-hierarchies to adjust per-subject match results |
US9298802B2 (en) | 2013-12-03 | 2016-03-29 | International Business Machines Corporation | Recommendation engine using inferred deep similarities for works of literature |
US9552344B2 (en) | 2013-12-03 | 2017-01-24 | International Business Machines Corporation | Producing visualizations of elements in works of literature |
US10073835B2 (en) * | 2013-12-03 | 2018-09-11 | International Business Machines Corporation | Detecting literary elements in literature and their importance through semantic analysis and literary correlation |
US11803561B1 (en) * | 2014-03-31 | 2023-10-31 | Amazon Technologies, Inc. | Approximation query |
US10437869B2 (en) | 2014-07-14 | 2019-10-08 | International Business Machines Corporation | Automatic new concept definition |
US9710570B2 (en) * | 2014-07-14 | 2017-07-18 | International Business Machines Corporation | Computing the relevance of a document to concepts not specified in the document |
US10162882B2 (en) | 2014-07-14 | 2018-12-25 | Nternational Business Machines Corporation | Automatically linking text to concepts in a knowledge base |
US9703858B2 (en) * | 2014-07-14 | 2017-07-11 | International Business Machines Corporation | Inverted table for storing and querying conceptual indices |
US10503761B2 (en) | 2014-07-14 | 2019-12-10 | International Business Machines Corporation | System for searching, recommending, and exploring documents through conceptual associations |
US10417301B2 (en) | 2014-09-10 | 2019-09-17 | Adobe Inc. | Analytics based on scalable hierarchical categorization of web content |
CN107003996A (en) | 2014-09-16 | 2017-08-01 | 声钰科技 | VCommerce |
WO2016044321A1 (en) | 2014-09-16 | 2016-03-24 | Min Tang | Integration of domain information into state transitions of a finite state transducer for natural language processing |
CN104268268B (en) * | 2014-10-13 | 2018-05-22 | 宁波公众信息产业有限公司 | A kind of webpage information correlating method and system |
WO2016061309A1 (en) | 2014-10-15 | 2016-04-21 | Voicebox Technologies Corporation | System and method for providing follow-up responses to prior natural language inputs of a user |
US11100557B2 (en) | 2014-11-04 | 2021-08-24 | International Business Machines Corporation | Travel itinerary recommendation engine using inferred interests and sentiments |
US10431214B2 (en) * | 2014-11-26 | 2019-10-01 | Voicebox Technologies Corporation | System and method of determining a domain and/or an action related to a natural language input |
US10614799B2 (en) | 2014-11-26 | 2020-04-07 | Voicebox Technologies Corporation | System and method of providing intent predictions for an utterance prior to a system detection of an end of the utterance |
US20160283564A1 (en) * | 2015-03-26 | 2016-09-29 | Dejavuto Corp. | Predictive visual search enginge |
US10140646B2 (en) * | 2015-09-04 | 2018-11-27 | Walmart Apollo, Llc | System and method for analyzing features in product reviews and displaying the results |
US11164223B2 (en) | 2015-09-04 | 2021-11-02 | Walmart Apollo, Llc | System and method for annotating reviews |
US10643291B2 (en) * | 2015-09-28 | 2020-05-05 | Smartvid.io, Inc. | Media management system |
EP3369002A4 (en) * | 2015-10-26 | 2019-06-12 | 24/7 Customer, Inc. | Method and apparatus for facilitating customer intent prediction |
US10311087B1 (en) * | 2016-03-17 | 2019-06-04 | Veritas Technologies Llc | Systems and methods for determining topics of data artifacts |
CN107292186B (en) * | 2016-03-31 | 2021-01-12 | 阿里巴巴集团控股有限公司 | Model training method and device based on random forest |
US11238115B1 (en) * | 2016-07-11 | 2022-02-01 | Wells Fargo Bank, N.A. | Semantic and context search using knowledge graphs |
JP6235082B1 (en) * | 2016-07-13 | 2017-11-22 | ヤフー株式会社 | Data classification apparatus, data classification method, and program |
WO2018023106A1 (en) | 2016-07-29 | 2018-02-01 | Erik SWART | System and method of disambiguating natural language processing requests |
US10430450B2 (en) * | 2016-08-22 | 2019-10-01 | International Business Machines Corporation | Creation of a summary for a plurality of texts |
US11681942B2 (en) | 2016-10-27 | 2023-06-20 | Dropbox, Inc. | Providing intelligent file name suggestions |
US9852377B1 (en) * | 2016-11-10 | 2017-12-26 | Dropbox, Inc. | Providing intelligent storage location suggestions |
US11514233B2 (en) | 2016-11-22 | 2022-11-29 | President And Fellows Of Harvard College | Automated nonparametric content analysis for information management and retrieval |
US11238084B1 (en) | 2016-12-30 | 2022-02-01 | Wells Fargo Bank, N.A. | Semantic translation of data sets |
US10074362B2 (en) * | 2017-01-31 | 2018-09-11 | Global Tel*Link Corporation | System and method for assessing security threats and criminal proclivities |
CN106909537B (en) * | 2017-02-07 | 2020-04-07 | 中山大学 | One-word polysemous analysis method based on topic model and vector space |
US11275794B1 (en) * | 2017-02-14 | 2022-03-15 | Casepoint LLC | CaseAssist story designer |
US10740557B1 (en) | 2017-02-14 | 2020-08-11 | Casepoint LLC | Technology platform for data discovery |
US11158012B1 (en) | 2017-02-14 | 2021-10-26 | Casepoint LLC | Customizing a data discovery user interface based on artificial intelligence |
JP6930180B2 (en) * | 2017-03-30 | 2021-09-01 | 富士通株式会社 | Learning equipment, learning methods and learning programs |
US10339423B1 (en) * | 2017-06-13 | 2019-07-02 | Symantec Corporation | Systems and methods for generating training documents used by classification algorithms |
CN107436922B (en) * | 2017-07-05 | 2021-06-08 | 北京百度网讯科技有限公司 | Text label generation method and device |
US10896385B2 (en) | 2017-07-27 | 2021-01-19 | Logmein, Inc. | Real time learning of text classification models for fast and efficient labeling of training data and customization |
US10698936B2 (en) * | 2017-12-19 | 2020-06-30 | Hireteammate, Inc. | Generating and using multiple representations of data objects in computing systems and environments |
US10789460B1 (en) * | 2018-01-24 | 2020-09-29 | The Boston Consulting Group, Inc. | Methods and systems for screening documents |
US10788952B2 (en) * | 2018-05-29 | 2020-09-29 | The Boeing Company | System and method for obtaining resource materials based on attribute association |
RU2712101C2 (en) * | 2018-06-27 | 2020-01-24 | Общество с ограниченной ответственностью "Аби Продакшн" | Prediction of probability of occurrence of line using sequence of vectors |
US11295083B1 (en) * | 2018-09-26 | 2022-04-05 | Amazon Technologies, Inc. | Neural models for named-entity recognition |
AU2019346440B2 (en) * | 2018-09-26 | 2024-09-12 | Leverton Holding Llc | Named entity recognition with convolutional networks |
US11250214B2 (en) | 2019-07-02 | 2022-02-15 | Microsoft Technology Licensing, Llc | Keyphrase extraction beyond language modeling |
US11874882B2 (en) * | 2019-07-02 | 2024-01-16 | Microsoft Technology Licensing, Llc | Extracting key phrase candidates from documents and producing topical authority ranking |
US12170148B2 (en) * | 2019-07-24 | 2024-12-17 | Janssen Pharmaceuticals, Inc. | Learning platform for patient journey mapping |
CN111539438B (en) * | 2020-04-28 | 2024-01-12 | 北京百度网讯科技有限公司 | Text content identification method and device and electronic equipment |
CN111914213B (en) * | 2020-07-31 | 2023-11-10 | 中国原子能科学研究院 | Sparse matrix vector multiplication operation time prediction method and system |
CN112016097B (en) * | 2020-08-28 | 2024-02-27 | 深圳泓越信息科技有限公司 | Method for predicting network security vulnerability time to be utilized |
US11321527B1 (en) | 2021-01-21 | 2022-05-03 | International Business Machines Corporation | Effective classification of data based on curated features |
WO2022177806A1 (en) * | 2021-02-19 | 2022-08-25 | President And Fellows Of Harvard College | Hardware-accelerated topic modeling |
US12001456B2 (en) * | 2022-03-15 | 2024-06-04 | International Business Machines Corporation | Mutual exclusion data class analysis in data governance |
US20240378380A1 (en) * | 2023-05-09 | 2024-11-14 | Nec Laboratories America, Inc. | Detecting artificial intelligence generated text |
Citations (47)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4817623A (en) * | 1983-10-14 | 1989-04-04 | Somanetics Corporation | Method and apparatus for interpreting optical response data |
US4833610A (en) * | 1986-12-16 | 1989-05-23 | International Business Machines Corporation | Morphological/phonetic method for ranking word similarities |
US4918621A (en) * | 1986-08-13 | 1990-04-17 | Intellicorp, Inc. | Method for representing a directed acyclic graph of worlds using an assumption-based truth maintenance system |
US4931951A (en) * | 1987-05-08 | 1990-06-05 | Mitsubishi Denki Kabushiki Kaisha | Method for generating rules for an expert system for use in controlling a plant |
US5073867A (en) * | 1989-06-12 | 1991-12-17 | Westinghouse Electric Corp. | Digital neural network processing elements |
US5257394A (en) * | 1988-10-18 | 1993-10-26 | Japan Atomic Energy Research Institute | Logical expression processing pipeline using pushdown stacks for a vector computer |
US5278911A (en) * | 1989-05-18 | 1994-01-11 | Smiths Industries Public Limited Company | Speech recognition using a neural net |
US5325533A (en) * | 1993-06-28 | 1994-06-28 | Taligent, Inc. | Engineering system for modeling computer programs |
US5404295A (en) * | 1990-08-16 | 1995-04-04 | Katz; Boris | Method and apparatus for utilizing annotations to facilitate computer retrieval of database material |
US5553226A (en) * | 1985-03-27 | 1996-09-03 | Hitachi, Ltd. | System for displaying concept networks |
US5555408A (en) * | 1985-03-27 | 1996-09-10 | Hitachi, Ltd. | Knowledge based information retrieval system |
US5568640A (en) * | 1993-09-20 | 1996-10-22 | Hitachi, Ltd. | Document retrieving method in a document managing system |
US5594837A (en) * | 1993-01-29 | 1997-01-14 | Noyes; Dallas B. | Method for representation of knowledge in a computer as a network database system |
US5600831A (en) * | 1994-02-28 | 1997-02-04 | Lucent Technologies Inc. | Apparatus and methods for retrieving information by modifying query plan based on description of information sources |
US5621857A (en) * | 1991-12-20 | 1997-04-15 | Oregon Graduate Institute Of Science And Technology | Method and system for identifying and recognizing speech |
US5625767A (en) * | 1995-03-13 | 1997-04-29 | Bartell; Brian | Method and system for two-dimensional visualization of an information taxonomy and of text documents based on topical content of the documents |
US5625748A (en) * | 1994-04-18 | 1997-04-29 | Bbn Corporation | Topic discriminator using posterior probability or confidence scores |
US5628009A (en) * | 1993-04-14 | 1997-05-06 | Fujitsu Limited | Information retrieval system using hierarchical data-management function |
US5630125A (en) * | 1994-05-23 | 1997-05-13 | Zellweger; Paul | Method and apparatus for information management using an open hierarchical data structure |
US5644740A (en) * | 1992-12-02 | 1997-07-01 | Hitachi, Ltd. | Method and apparatus for displaying items of information organized in a hierarchical structure |
US5655116A (en) * | 1994-02-28 | 1997-08-05 | Lucent Technologies Inc. | Apparatus and methods for retrieving information |
US5659725A (en) * | 1994-06-06 | 1997-08-19 | Lucent Technologies Inc. | Query optimization by predicate move-around |
US5671333A (en) * | 1994-04-07 | 1997-09-23 | Lucent Technologies Inc. | Training apparatus and method |
US5724571A (en) * | 1995-07-07 | 1998-03-03 | Sun Microsystems, Inc. | Method and apparatus for generating query responses in a computer-based document retrieval system |
US5758322A (en) * | 1994-12-09 | 1998-05-26 | International Voice Register, Inc. | Method and apparatus for conducting point-of-sale transactions using voice recognition |
US5761385A (en) * | 1995-09-05 | 1998-06-02 | Loral Defense Systems | Product and method for extracting image data |
US5787417A (en) * | 1993-01-28 | 1998-07-28 | Microsoft Corporation | Method and system for selection of hierarchically related information using a content-variable list |
US5794050A (en) * | 1995-01-04 | 1998-08-11 | Intelligent Text Processing, Inc. | Natural language understanding system |
US5809499A (en) * | 1995-10-20 | 1998-09-15 | Pattern Discovery Software Systems, Ltd. | Computational method for discovering patterns in data sets |
US5819258A (en) * | 1997-03-07 | 1998-10-06 | Digital Equipment Corporation | Method and apparatus for automatically generating hierarchical categories from large document collections |
US5835918A (en) * | 1996-07-01 | 1998-11-10 | Sun Microsystems, Inc. | Method-management system and process based on a single master message file |
US5845270A (en) * | 1996-01-02 | 1998-12-01 | Datafusion, Inc. | Multidimensional input-output modeling for organizing information |
US5878423A (en) * | 1997-04-21 | 1999-03-02 | Bellsouth Corporation | Dynamically processing an index to create an ordered set of questions |
US5924108A (en) * | 1996-03-29 | 1999-07-13 | Microsoft Corporation | Document summarizer for word processors |
US5930748A (en) * | 1997-07-11 | 1999-07-27 | Motorola, Inc. | Speaker identification system and method |
US5991756A (en) * | 1997-11-03 | 1999-11-23 | Yahoo, Inc. | Information retrieval from hierarchical compound documents |
US6151592A (en) * | 1995-06-07 | 2000-11-21 | Seiko Epson Corporation | Recognition apparatus using neural network, and learning method therefor |
US6169986B1 (en) * | 1998-06-15 | 2001-01-02 | Amazon.Com, Inc. | System and method for refining search queries |
US6233575B1 (en) * | 1997-06-24 | 2001-05-15 | International Business Machines Corporation | Multilevel taxonomy based on features derived from training documents classification using fisher values as discrimination values |
US6256627B1 (en) * | 1997-07-08 | 2001-07-03 | At&T Corp. | System and method for maintaining a knowledge base and evidence set |
US6297824B1 (en) * | 1997-11-26 | 2001-10-02 | Xerox Corporation | Interactive interface for viewing retrieval results |
US6301579B1 (en) * | 1998-10-20 | 2001-10-09 | Silicon Graphics, Inc. | Method, system, and computer program product for visualizing a data structure |
US6309359B1 (en) * | 1998-06-01 | 2001-10-30 | Michael D. Whitt | Method and apparatus for noninvasive determination of peripheral arterial lumenal area |
US6314420B1 (en) * | 1996-04-04 | 2001-11-06 | Lycos, Inc. | Collaborative/adaptive search engine |
US6317722B1 (en) * | 1998-09-18 | 2001-11-13 | Amazon.Com, Inc. | Use of electronic shopping carts to generate personal recommendations |
US6434550B1 (en) * | 2000-04-14 | 2002-08-13 | Rightnow Technologies, Inc. | Temporal updates of relevancy rating of retrieved information in an information search system |
US6745238B1 (en) * | 2000-03-31 | 2004-06-01 | Oracle International Corporation | Self service system for web site publishing |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5309359A (en) | 1990-08-16 | 1994-05-03 | Boris Katz | Method and apparatus for generating and utlizing annotations to facilitate computer text retrieval |
US5371807A (en) * | 1992-03-20 | 1994-12-06 | Digital Equipment Corporation | Method and apparatus for text classification |
JPH07160658A (en) * | 1993-12-07 | 1995-06-23 | Togami Electric Mfg Co Ltd | Method for classifying data |
JP2000508450A (en) | 1996-04-10 | 2000-07-04 | エイ・ティ・アンド・ティ・コーポレーション | How to organize information retrieved from the Internet using knowledge-based representations |
US6237011B1 (en) | 1997-10-08 | 2001-05-22 | Caere Corporation | Computer-based document management system |
US6192360B1 (en) * | 1998-06-23 | 2001-02-20 | Microsoft Corporation | Methods and apparatus for classifying text and for building a text classifier |
-
2001
- 2001-05-25 WO PCT/US2001/016872 patent/WO2001090921A2/en active Application Filing
- 2001-05-25 AU AU2001264928A patent/AU2001264928A1/en not_active Abandoned
- 2001-05-25 US US09/864,156 patent/US7028250B2/en not_active Expired - Lifetime
-
2006
- 2006-02-21 US US11/358,388 patent/US20060143175A1/en not_active Abandoned
Patent Citations (49)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4817623A (en) * | 1983-10-14 | 1989-04-04 | Somanetics Corporation | Method and apparatus for interpreting optical response data |
US5553226A (en) * | 1985-03-27 | 1996-09-03 | Hitachi, Ltd. | System for displaying concept networks |
US5555408A (en) * | 1985-03-27 | 1996-09-10 | Hitachi, Ltd. | Knowledge based information retrieval system |
US4918621A (en) * | 1986-08-13 | 1990-04-17 | Intellicorp, Inc. | Method for representing a directed acyclic graph of worlds using an assumption-based truth maintenance system |
US4833610A (en) * | 1986-12-16 | 1989-05-23 | International Business Machines Corporation | Morphological/phonetic method for ranking word similarities |
US4931951A (en) * | 1987-05-08 | 1990-06-05 | Mitsubishi Denki Kabushiki Kaisha | Method for generating rules for an expert system for use in controlling a plant |
US5257394A (en) * | 1988-10-18 | 1993-10-26 | Japan Atomic Energy Research Institute | Logical expression processing pipeline using pushdown stacks for a vector computer |
US5278911A (en) * | 1989-05-18 | 1994-01-11 | Smiths Industries Public Limited Company | Speech recognition using a neural net |
US5073867A (en) * | 1989-06-12 | 1991-12-17 | Westinghouse Electric Corp. | Digital neural network processing elements |
US5404295A (en) * | 1990-08-16 | 1995-04-04 | Katz; Boris | Method and apparatus for utilizing annotations to facilitate computer retrieval of database material |
US5621857A (en) * | 1991-12-20 | 1997-04-15 | Oregon Graduate Institute Of Science And Technology | Method and system for identifying and recognizing speech |
US5644740A (en) * | 1992-12-02 | 1997-07-01 | Hitachi, Ltd. | Method and apparatus for displaying items of information organized in a hierarchical structure |
US5787417A (en) * | 1993-01-28 | 1998-07-28 | Microsoft Corporation | Method and system for selection of hierarchically related information using a content-variable list |
US5594837A (en) * | 1993-01-29 | 1997-01-14 | Noyes; Dallas B. | Method for representation of knowledge in a computer as a network database system |
US5628009A (en) * | 1993-04-14 | 1997-05-06 | Fujitsu Limited | Information retrieval system using hierarchical data-management function |
US5325533A (en) * | 1993-06-28 | 1994-06-28 | Taligent, Inc. | Engineering system for modeling computer programs |
US5568640A (en) * | 1993-09-20 | 1996-10-22 | Hitachi, Ltd. | Document retrieving method in a document managing system |
US5600831A (en) * | 1994-02-28 | 1997-02-04 | Lucent Technologies Inc. | Apparatus and methods for retrieving information by modifying query plan based on description of information sources |
US5655116A (en) * | 1994-02-28 | 1997-08-05 | Lucent Technologies Inc. | Apparatus and methods for retrieving information |
US5768578A (en) * | 1994-02-28 | 1998-06-16 | Lucent Technologies Inc. | User interface for information retrieval system |
US5671333A (en) * | 1994-04-07 | 1997-09-23 | Lucent Technologies Inc. | Training apparatus and method |
US5625748A (en) * | 1994-04-18 | 1997-04-29 | Bbn Corporation | Topic discriminator using posterior probability or confidence scores |
US5630125A (en) * | 1994-05-23 | 1997-05-13 | Zellweger; Paul | Method and apparatus for information management using an open hierarchical data structure |
US5659725A (en) * | 1994-06-06 | 1997-08-19 | Lucent Technologies Inc. | Query optimization by predicate move-around |
US5758322A (en) * | 1994-12-09 | 1998-05-26 | International Voice Register, Inc. | Method and apparatus for conducting point-of-sale transactions using voice recognition |
US5794050A (en) * | 1995-01-04 | 1998-08-11 | Intelligent Text Processing, Inc. | Natural language understanding system |
US5625767A (en) * | 1995-03-13 | 1997-04-29 | Bartell; Brian | Method and system for two-dimensional visualization of an information taxonomy and of text documents based on topical content of the documents |
US6151592A (en) * | 1995-06-07 | 2000-11-21 | Seiko Epson Corporation | Recognition apparatus using neural network, and learning method therefor |
US5724571A (en) * | 1995-07-07 | 1998-03-03 | Sun Microsystems, Inc. | Method and apparatus for generating query responses in a computer-based document retrieval system |
US6282538B1 (en) * | 1995-07-07 | 2001-08-28 | Sun Microsystems, Inc. | Method and apparatus for generating query responses in a computer-based document retrieval system |
US5761385A (en) * | 1995-09-05 | 1998-06-02 | Loral Defense Systems | Product and method for extracting image data |
US5809499A (en) * | 1995-10-20 | 1998-09-15 | Pattern Discovery Software Systems, Ltd. | Computational method for discovering patterns in data sets |
US5845270A (en) * | 1996-01-02 | 1998-12-01 | Datafusion, Inc. | Multidimensional input-output modeling for organizing information |
US5924108A (en) * | 1996-03-29 | 1999-07-13 | Microsoft Corporation | Document summarizer for word processors |
US6314420B1 (en) * | 1996-04-04 | 2001-11-06 | Lycos, Inc. | Collaborative/adaptive search engine |
US5835918A (en) * | 1996-07-01 | 1998-11-10 | Sun Microsystems, Inc. | Method-management system and process based on a single master message file |
US5819258A (en) * | 1997-03-07 | 1998-10-06 | Digital Equipment Corporation | Method and apparatus for automatically generating hierarchical categories from large document collections |
US5878423A (en) * | 1997-04-21 | 1999-03-02 | Bellsouth Corporation | Dynamically processing an index to create an ordered set of questions |
US6233575B1 (en) * | 1997-06-24 | 2001-05-15 | International Business Machines Corporation | Multilevel taxonomy based on features derived from training documents classification using fisher values as discrimination values |
US6256627B1 (en) * | 1997-07-08 | 2001-07-03 | At&T Corp. | System and method for maintaining a knowledge base and evidence set |
US5930748A (en) * | 1997-07-11 | 1999-07-27 | Motorola, Inc. | Speaker identification system and method |
US5991756A (en) * | 1997-11-03 | 1999-11-23 | Yahoo, Inc. | Information retrieval from hierarchical compound documents |
US6297824B1 (en) * | 1997-11-26 | 2001-10-02 | Xerox Corporation | Interactive interface for viewing retrieval results |
US6309359B1 (en) * | 1998-06-01 | 2001-10-30 | Michael D. Whitt | Method and apparatus for noninvasive determination of peripheral arterial lumenal area |
US6169986B1 (en) * | 1998-06-15 | 2001-01-02 | Amazon.Com, Inc. | System and method for refining search queries |
US6317722B1 (en) * | 1998-09-18 | 2001-11-13 | Amazon.Com, Inc. | Use of electronic shopping carts to generate personal recommendations |
US6301579B1 (en) * | 1998-10-20 | 2001-10-09 | Silicon Graphics, Inc. | Method, system, and computer program product for visualizing a data structure |
US6745238B1 (en) * | 2000-03-31 | 2004-06-01 | Oracle International Corporation | Self service system for web site publishing |
US6434550B1 (en) * | 2000-04-14 | 2002-08-13 | Rightnow Technologies, Inc. | Temporal updates of relevancy rating of retrieved information in an information search system |
Cited By (141)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040122818A1 (en) * | 2000-07-27 | 2004-06-24 | Robert Hitzelberger | Method for evaluating processes with a number of characteristic features |
US7502547B2 (en) * | 2002-05-20 | 2009-03-10 | Sony Corporation | Signal recording/reproducing apparatus and recording/reproducing method, signal reproducing apparatus and reproducing method, and program |
US20040218896A1 (en) * | 2002-05-20 | 2004-11-04 | Mototsugu Abe | Signal recording/reproducing apparatus, signal recording/reproducing method, signal reproducing apparatus, signal reproducing method, and program |
US20040049478A1 (en) * | 2002-09-11 | 2004-03-11 | Intelligent Results | Attribute scoring for unstructured content |
US7249312B2 (en) * | 2002-09-11 | 2007-07-24 | Intelligent Results | Attribute scoring for unstructured content |
US20050283470A1 (en) * | 2004-06-17 | 2005-12-22 | Or Kuntzman | Content categorization |
US20080159585A1 (en) * | 2005-02-14 | 2008-07-03 | Inboxer, Inc. | Statistical Categorization of Electronic Messages Based on an Analysis of Accompanying Images |
US8543906B2 (en) * | 2005-06-29 | 2013-09-24 | Xerox Corporation | Probabilistic learning method for XML annotation of documents |
US20070022373A1 (en) * | 2005-06-29 | 2007-01-25 | Xerox Corporation | Probabilistic learning method for XML annotation of documents |
US7873584B2 (en) * | 2005-12-22 | 2011-01-18 | Oren Asher | Method and system for classifying users of a computer network |
US20070150426A1 (en) * | 2005-12-22 | 2007-06-28 | Qnext Corp. | Method and system for classifying users of a computer network |
US20080016098A1 (en) * | 2006-07-14 | 2008-01-17 | Bea Systems, Inc. | Using Tags in an Enterprise Search System |
US20080016052A1 (en) * | 2006-07-14 | 2008-01-17 | Bea Systems, Inc. | Using Connections Between Users and Documents to Rank Documents in an Enterprise Search System |
US7873641B2 (en) | 2006-07-14 | 2011-01-18 | Bea Systems, Inc. | Using tags in an enterprise search system |
US20080016061A1 (en) * | 2006-07-14 | 2008-01-17 | Bea Systems, Inc. | Using a Core Data Structure to Calculate Document Ranks |
US20110125760A1 (en) * | 2006-07-14 | 2011-05-26 | Bea Systems, Inc. | Using tags in an enterprise search system |
US8204888B2 (en) | 2006-07-14 | 2012-06-19 | Oracle International Corporation | Using tags in an enterprise search system |
US20080071762A1 (en) * | 2006-09-15 | 2008-03-20 | Turner Alan E | Text analysis devices, articles of manufacture, and text analysis methods |
US8452767B2 (en) * | 2006-09-15 | 2013-05-28 | Battelle Memorial Institute | Text analysis devices, articles of manufacture, and text analysis methods |
US8996993B2 (en) * | 2006-09-15 | 2015-03-31 | Battelle Memorial Institute | Text analysis devices, articles of manufacture, and text analysis methods |
US20080069448A1 (en) * | 2006-09-15 | 2008-03-20 | Turner Alan E | Text analysis devices, articles of manufacture, and text analysis methods |
US11550772B2 (en) | 2006-10-05 | 2023-01-10 | Splunk Inc. | Time series search phrase processing |
US20130060783A1 (en) * | 2006-10-05 | 2013-03-07 | Splunk Inc. | Time series search engine |
US9594789B2 (en) | 2006-10-05 | 2017-03-14 | Splunk Inc. | Time series search in primary and secondary memory |
US9928262B2 (en) | 2006-10-05 | 2018-03-27 | Splunk Inc. | Log data time stamp extraction and search on log data real-time monitoring environment |
US9747316B2 (en) | 2006-10-05 | 2017-08-29 | Splunk Inc. | Search based on a relationship between log data and data from a real-time monitoring environment |
US10216779B2 (en) | 2006-10-05 | 2019-02-26 | Splunk Inc. | Expiration of persistent data structures that satisfy search queries |
US9514175B2 (en) | 2006-10-05 | 2016-12-06 | Splunk Inc. | Normalization of time stamps for event data |
US9922066B2 (en) | 2006-10-05 | 2018-03-20 | Splunk Inc. | Aggregation and display of search results from multi-criteria search queries on event data |
US10747742B2 (en) | 2006-10-05 | 2020-08-18 | Splunk Inc. | Storing log data and performing a search on the log data and data that is not log data |
US10242039B2 (en) | 2006-10-05 | 2019-03-26 | Splunk Inc. | Source differentiation of machine data |
US9996571B2 (en) | 2006-10-05 | 2018-06-12 | Splunk Inc. | Storing and executing a search on log data and data obtained from a real-time monitoring environment |
US10891281B2 (en) | 2006-10-05 | 2021-01-12 | Splunk Inc. | Storing events derived from log data and performing a search on the events and data that is not log data |
US8990184B2 (en) * | 2006-10-05 | 2015-03-24 | Splunk Inc. | Time series search engine |
US9922067B2 (en) | 2006-10-05 | 2018-03-20 | Splunk Inc. | Storing log data as events and performing a search on the log data and data obtained from a real-time monitoring environment |
US10255312B2 (en) | 2006-10-05 | 2019-04-09 | Splunk Inc. | Time stamp creation for event data |
US11249971B2 (en) | 2006-10-05 | 2022-02-15 | Splunk Inc. | Segmenting machine data using token-based signatures |
US10977233B2 (en) | 2006-10-05 | 2021-04-13 | Splunk Inc. | Aggregating search results from a plurality of searches executed across time series data |
US11947513B2 (en) | 2006-10-05 | 2024-04-02 | Splunk Inc. | Search phrase processing |
US11561952B2 (en) | 2006-10-05 | 2023-01-24 | Splunk Inc. | Storing events derived from log data and performing a search on the events and data that is not log data |
US9922065B2 (en) | 2006-10-05 | 2018-03-20 | Splunk Inc. | Determining timestamps to be associated with events in machine data |
US10262018B2 (en) | 2006-10-05 | 2019-04-16 | Splunk Inc. | Application of search policies to searches on event data stored in persistent data structures |
US10740313B2 (en) | 2006-10-05 | 2020-08-11 | Splunk Inc. | Storing events associated with a time stamp extracted from log data and performing a search on the events and data that is not log data |
US11526482B2 (en) | 2006-10-05 | 2022-12-13 | Splunk Inc. | Determining timestamps to be associated with events in machine data |
US10678767B2 (en) | 2006-10-05 | 2020-06-09 | Splunk Inc. | Search query processing using operational parameters |
US11144526B2 (en) | 2006-10-05 | 2021-10-12 | Splunk Inc. | Applying time-based search phrases across event data |
US11537585B2 (en) | 2006-10-05 | 2022-12-27 | Splunk Inc. | Determining time stamps in machine data derived events |
US9002854B2 (en) | 2006-10-05 | 2015-04-07 | Splunk Inc. | Time series search with interpolated time stamp |
US20080103849A1 (en) * | 2006-10-31 | 2008-05-01 | Forman George H | Calculating an aggregate of attribute values associated with plural cases |
US8645397B1 (en) * | 2006-11-30 | 2014-02-04 | At&T Intellectual Property Ii, L.P. | Method and apparatus for propagating updates in databases |
US8108413B2 (en) | 2007-02-15 | 2012-01-31 | International Business Machines Corporation | Method and apparatus for automatically discovering features in free form heterogeneous data |
US8996587B2 (en) | 2007-02-15 | 2015-03-31 | International Business Machines Corporation | Method and apparatus for automatically structuring free form hetergeneous data |
US20080201279A1 (en) * | 2007-02-15 | 2008-08-21 | Gautam Kar | Method and apparatus for automatically structuring free form hetergeneous data |
US9477963B2 (en) | 2007-02-15 | 2016-10-25 | International Business Machines Corporation | Method and apparatus for automatically structuring free form heterogeneous data |
US8180713B1 (en) | 2007-04-13 | 2012-05-15 | Standard & Poor's Financial Services Llc | System and method for searching and identifying potential financial risks disclosed within a document |
US20090055394A1 (en) * | 2007-07-20 | 2009-02-26 | Google Inc. | Identifying key terms related to similar passages |
US9323827B2 (en) * | 2007-07-20 | 2016-04-26 | Google Inc. | Identifying key terms related to similar passages |
US8122032B2 (en) | 2007-07-20 | 2012-02-21 | Google Inc. | Identifying and linking similar passages in a digital text corpus |
US20090055389A1 (en) * | 2007-08-20 | 2009-02-26 | Google Inc. | Ranking similar passages |
US8280892B2 (en) | 2007-10-05 | 2012-10-02 | Fujitsu Limited | Selecting tags for a document by analyzing paragraphs of the document |
US20090094020A1 (en) * | 2007-10-05 | 2009-04-09 | Fujitsu Limited | Recommending Terms To Specify Ontology Space |
EP2045737A3 (en) * | 2007-10-05 | 2013-07-03 | Fujitsu Limited | Selecting tags for a document by analysing paragraphs of the document |
US9081852B2 (en) * | 2007-10-05 | 2015-07-14 | Fujitsu Limited | Recommending terms to specify ontology space |
US20090204589A1 (en) * | 2008-02-12 | 2009-08-13 | Canon Kabushiki Kaisha | Document management apparatus, method, system, medium storing a program thereof |
US8171012B2 (en) * | 2008-02-12 | 2012-05-01 | Canon Kabushiki Kaisha | Document management apparatus, method, system, medium storing a program thereof |
US20090265315A1 (en) * | 2008-04-18 | 2009-10-22 | Yahoo! Inc. | System and method for classifying tags of content using a hyperlinked corpus of classified web pages |
US8046361B2 (en) * | 2008-04-18 | 2011-10-25 | Yahoo! Inc. | System and method for classifying tags of content using a hyperlinked corpus of classified web pages |
US20110131228A1 (en) * | 2008-11-21 | 2011-06-02 | Emptoris, Inc. | Method & apparatus for identifying a secondary concept in a collection of documents |
US20100131569A1 (en) * | 2008-11-21 | 2010-05-27 | Robert Marc Jamison | Method & apparatus for identifying a secondary concept in a collection of documents |
US8516013B2 (en) | 2009-03-03 | 2013-08-20 | Ilya Geller | Systems and methods for subtext searching data using synonym-enriched predicative phrases and substituted pronouns |
US8725732B1 (en) * | 2009-03-13 | 2014-05-13 | Google Inc. | Classifying text into hierarchical categories |
US8145636B1 (en) * | 2009-03-13 | 2012-03-27 | Google Inc. | Classifying text into hierarchical categories |
US8122043B2 (en) * | 2009-06-30 | 2012-02-21 | Ebsco Industries, Inc | System and method for using an exemplar document to retrieve relevant documents from an inverted index of a large corpus |
US20100332503A1 (en) * | 2009-06-30 | 2010-12-30 | Brad Buckley | System and Method for Using an Exemplar Document to Retrieve Relevant Documents from an Inverted Index of a Large Corpus |
US20110004573A1 (en) * | 2009-07-02 | 2011-01-06 | International Business Machines, Corporation | Identifying training documents for a content classifier |
US8352386B2 (en) * | 2009-07-02 | 2013-01-08 | International Business Machines Corporation | Identifying training documents for a content classifier |
US20130262480A1 (en) * | 2009-07-07 | 2013-10-03 | Sosvia, Inc. | Content category scoring for nodes in a linked database |
US20110066659A1 (en) * | 2009-09-15 | 2011-03-17 | Ilya Geller | Systems and methods for creating structured data |
US8447789B2 (en) | 2009-09-15 | 2013-05-21 | Ilya Geller | Systems and methods for creating structured data |
US20110113385A1 (en) * | 2009-11-06 | 2011-05-12 | Craig Peter Sayers | Visually representing a hierarchy of category nodes |
US8954893B2 (en) * | 2009-11-06 | 2015-02-10 | Hewlett-Packard Development Company, L.P. | Visually representing a hierarchy of category nodes |
US9317564B1 (en) * | 2009-12-30 | 2016-04-19 | Google Inc. | Construction of text classifiers |
US20130138641A1 (en) * | 2009-12-30 | 2013-05-30 | Google Inc. | Construction of text classifiers |
US8868402B2 (en) * | 2009-12-30 | 2014-10-21 | Google Inc. | Construction of text classifiers |
US20130024407A1 (en) * | 2010-03-26 | 2013-01-24 | British Telecommunications Public Limited Company | Text classifier system |
US8572013B1 (en) * | 2010-03-30 | 2013-10-29 | Amazon Technologies, Inc. | Classification of items with manual confirmation |
US20120166441A1 (en) * | 2010-12-23 | 2012-06-28 | Microsoft Corporation | Keywords extraction and enrichment via categorization systems |
US9342590B2 (en) * | 2010-12-23 | 2016-05-17 | Microsoft Technology Licensing, Llc | Keywords extraction and enrichment via categorization systems |
US20120185501A1 (en) * | 2011-01-18 | 2012-07-19 | Ilya Geller | Systems and methods for searching data |
US20140025698A1 (en) * | 2011-03-30 | 2014-01-23 | British Telecommunications Public Limited Company | Textual analysis system |
US10545928B2 (en) * | 2011-03-30 | 2020-01-28 | British Telecommunications Public Limited Company | Textual analysis system for automatic content extaction |
US8751424B1 (en) * | 2011-12-15 | 2014-06-10 | The Boeing Company | Secure information classification |
US20130339276A1 (en) * | 2012-02-10 | 2013-12-19 | International Business Machines Corporation | Multi-tiered approach to e-mail prioritization |
US9256862B2 (en) * | 2012-02-10 | 2016-02-09 | International Business Machines Corporation | Multi-tiered approach to E-mail prioritization |
US20130212047A1 (en) * | 2012-02-10 | 2013-08-15 | International Business Machines Corporation | Multi-tiered approach to e-mail prioritization |
US9152953B2 (en) * | 2012-02-10 | 2015-10-06 | International Business Machines Corporation | Multi-tiered approach to E-mail prioritization |
US10275499B2 (en) * | 2012-08-30 | 2019-04-30 | deviantArt Inc. | Tag selection, clustering, and recommendation for content hosting services |
US9305084B1 (en) | 2012-08-30 | 2016-04-05 | deviantArt, Inc. | Tag selection, clustering, and recommendation for content hosting services |
US9519685B1 (en) * | 2012-08-30 | 2016-12-13 | deviantArt, Inc. | Tag selection, clustering, and recommendation for content hosting services |
US11250068B2 (en) | 2013-04-30 | 2022-02-15 | Splunk Inc. | Processing of performance data and raw log data from an information technology environment using search criterion input via a graphical user interface |
US10346357B2 (en) | 2013-04-30 | 2019-07-09 | Splunk Inc. | Processing of performance data and structure data from an information technology environment |
US12217075B1 (en) | 2013-04-30 | 2025-02-04 | Splunk Inc. | Interface for presenting performance data for hierarchical networked components represented in an expandable visualization of nodes |
US10225136B2 (en) | 2013-04-30 | 2019-03-05 | Splunk Inc. | Processing of log data and performance data obtained via an application programming interface (API) |
US11119982B2 (en) | 2013-04-30 | 2021-09-14 | Splunk Inc. | Correlation of performance data and structure data from an information technology environment |
US10592522B2 (en) | 2013-04-30 | 2020-03-17 | Splunk Inc. | Correlating performance data and log data using diverse data stores |
US10614132B2 (en) | 2013-04-30 | 2020-04-07 | Splunk Inc. | GUI-triggered processing of performance data and log data from an information technology environment |
US10353957B2 (en) | 2013-04-30 | 2019-07-16 | Splunk Inc. | Processing of performance data and raw log data from an information technology environment |
US11782989B1 (en) | 2013-04-30 | 2023-10-10 | Splunk Inc. | Correlating data based on user-specified search criteria |
US10019496B2 (en) | 2013-04-30 | 2018-07-10 | Splunk Inc. | Processing of performance data and log data from an information technology environment by using diverse data stores |
US10997191B2 (en) | 2013-04-30 | 2021-05-04 | Splunk Inc. | Query-triggered processing of performance data and log data from an information technology environment |
US10318541B2 (en) | 2013-04-30 | 2019-06-11 | Splunk Inc. | Correlating log data with performance measurements having a specified relationship to a threshold value |
US10877986B2 (en) | 2013-04-30 | 2020-12-29 | Splunk Inc. | Obtaining performance data via an application programming interface (API) for correlation with log data |
US10877987B2 (en) | 2013-04-30 | 2020-12-29 | Splunk Inc. | Correlating log data with performance measurements using a threshold value |
US10331976B2 (en) * | 2013-06-21 | 2019-06-25 | Xerox Corporation | Label-embedding view of attribute-based recognition |
US20140376804A1 (en) * | 2013-06-21 | 2014-12-25 | Xerox Corporation | Label-embedding view of attribute-based recognition |
US10878184B1 (en) | 2013-06-28 | 2020-12-29 | Digital Reasoning Systems, Inc. | Systems and methods for construction, maintenance, and improvement of knowledge representations |
US11640494B1 (en) | 2013-06-28 | 2023-05-02 | Digital Reasoning Systems, Inc. | Systems and methods for construction, maintenance, and improvement of knowledge representations |
US9697192B1 (en) | 2013-06-28 | 2017-07-04 | Digital Reasoning Systems, Inc. | Systems and methods for construction, maintenance, and improvement of knowledge representations |
US12026455B1 (en) | 2013-06-28 | 2024-07-02 | Digital Reasoning Systems, Inc. | Systems and methods for construction, maintenance, and improvement of knowledge representations |
US11609943B2 (en) | 2013-09-25 | 2023-03-21 | Google Llc | Contextual content distribution |
US11615128B1 (en) | 2013-09-25 | 2023-03-28 | Google Llc | Contextual content distribution |
US9811587B1 (en) * | 2013-09-25 | 2017-11-07 | Google Inc. | Contextual content distribution |
US10013655B1 (en) * | 2014-03-11 | 2018-07-03 | Applied Underwriters, Inc. | Artificial intelligence expert system for anomaly detection |
US9633002B1 (en) * | 2014-06-27 | 2017-04-25 | Digital Reasoning Systems, Inc. | Systems and methods for coreference resolution using selective feature activation |
US10733382B2 (en) * | 2015-06-15 | 2020-08-04 | Datamaran Limited | Method and system for processing data using an augmented natural language processing engine |
US20180196799A1 (en) * | 2015-06-15 | 2018-07-12 | Erevalue Limited | A method and system for processing data using an augmented natural language processing engine |
US11803918B2 (en) | 2015-07-07 | 2023-10-31 | Oracle International Corporation | System and method for identifying experts on arbitrary topics in an enterprise social network |
US10817519B2 (en) * | 2016-06-06 | 2020-10-27 | Baidu Usa Llc | Automatic conversion stage discovery |
US11086601B2 (en) | 2017-04-27 | 2021-08-10 | Intuit Inc. | Methods, systems, and computer program product for automatic generation of software application code |
US10467261B1 (en) | 2017-04-27 | 2019-11-05 | Intuit Inc. | Methods, systems, and computer program product for implementing real-time classification and recommendations |
US10705796B1 (en) * | 2017-04-27 | 2020-07-07 | Intuit Inc. | Methods, systems, and computer program product for implementing real-time or near real-time classification of digital data |
US11250033B2 (en) | 2017-04-27 | 2022-02-15 | Intuit Inc. | Methods, systems, and computer program product for implementing real-time classification and recommendations |
US10528329B1 (en) | 2017-04-27 | 2020-01-07 | Intuit Inc. | Methods, systems, and computer program product for automatic generation of software application code |
US10467122B1 (en) | 2017-04-27 | 2019-11-05 | Intuit Inc. | Methods, systems, and computer program product for capturing and classification of real-time data and performing post-classification tasks |
US20190066675A1 (en) * | 2017-08-23 | 2019-02-28 | Beijing Baidu Netcom Science And Technology Co., Ltd. | Artificial intelligence based method and apparatus for classifying voice-recognized text |
US10762901B2 (en) * | 2017-08-23 | 2020-09-01 | Beijing Baidu Netcom Science And Technology Co., Ltd. | Artificial intelligence based method and apparatus for classifying voice-recognized text |
US10860849B2 (en) * | 2018-04-20 | 2020-12-08 | EMC IP Holding Company LLC | Method, electronic device and computer program product for categorization for document |
CN110390094A (en) * | 2018-04-20 | 2019-10-29 | 伊姆西Ip控股有限责任公司 | Method, electronic equipment and the computer program product classified to document |
US11520835B2 (en) * | 2018-09-28 | 2022-12-06 | Rakuten Group, Inc. | Learning system, learning method, and program |
US11694030B1 (en) * | 2022-04-06 | 2023-07-04 | Fulcrum Management Solutions Ltd. | System and method for automatic theming of a plurality of thought objects |
US20240095450A1 (en) * | 2022-04-06 | 2024-03-21 | Fulcrum Management Solutions Ltd. | System and method for automatic theming of a plurality of thought objects |
Also Published As
Publication number | Publication date |
---|---|
AU2001264928A1 (en) | 2001-12-03 |
US7028250B2 (en) | 2006-04-11 |
US20020022956A1 (en) | 2002-02-21 |
WO2001090921A3 (en) | 2003-12-24 |
WO2001090921A2 (en) | 2001-11-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7028250B2 (en) | System and method for automatically classifying text | |
US9971974B2 (en) | Methods and systems for knowledge discovery | |
US8594998B2 (en) | Multilingual sentence extractor | |
Chakrabarti et al. | Mining the Web's link structure | |
US8918348B2 (en) | Web-scale entity relationship extraction | |
US8484245B2 (en) | Large scale unsupervised hierarchical document categorization using ontological guidance | |
US8005858B1 (en) | Method and apparatus to link to a related document | |
US7603348B2 (en) | System for classifying a search query | |
US20110113032A1 (en) | Generating a conceptual association graph from large-scale loosely-grouped content | |
US20090119281A1 (en) | Granular knowledge based search engine | |
CN112989208B (en) | Information recommendation method and device, electronic equipment and storage medium | |
CN107844533A (en) | A kind of intelligent Answer System and analysis method | |
Jiménez et al. | On learning web information extraction rules with TANGO | |
US20140089246A1 (en) | Methods and systems for knowledge discovery | |
US11954137B2 (en) | Data generation device and data generation method | |
Hasan et al. | Content based document classification using soft cosine measure | |
Trabelsi et al. | Relational graph embeddings for table retrieval | |
CN112214511A (en) | An API Recommendation Method Based on WTP-WCD Algorithm | |
Ramachandran et al. | Document Clustering Using Keyword Extraction | |
CN112883191B (en) | Agricultural entity automatic identification classification method and device | |
JP2000293537A (en) | Data analysis support method and device | |
Yangarber | Acquisition of domain knowledge | |
JP2001290826A (en) | Device and method for document classification and recording medium with recorded document classifying program | |
AU2020104033A4 (en) | CDM- Separating Items Device: Separating Items into their Corresponding Class using Iris Dataset Machine Learning Classification Device | |
JP2006501545A (en) | Method and apparatus for automatically determining salient features for object classification |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: KNOVA SOFTWARE, INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:KANISA, INC.;REEL/FRAME:018642/0973 Effective date: 20060516 |
|
AS | Assignment |
Owner name: HARRIS N.A., AS AGENT, ILLINOIS Free format text: FIRST LIEN PATEN COLLATERAL AGREEMENT;ASSIGNOR:KNOVA GS, INC.;REEL/FRAME:019235/0574 Effective date: 20070313 |
|
AS | Assignment |
Owner name: HARRIS N.A. AS AGENT, ILLINOIS Free format text: SECOND LIEN ON COLLATERAL AGREEMENT;ASSIGNOR:KNOVA GS, INC.;REEL/FRAME:019235/0827 Effective date: 20070313 |
|
AS | Assignment |
Owner name: CONSONA CRM INC., INDIANA Free format text: MERGER;ASSIGNOR:KNOVA SOFTWARE, INC.;REEL/FRAME:020254/0195 Effective date: 20070629 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |
|
AS | Assignment |
Owner name: KNOVA GS, INC.,INDIANA Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:HARRIS N.A., AS AGENT;REEL/FRAME:024456/0633 Effective date: 20100528 Owner name: KNOVA GS, INC.,INDIANA Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:HARRIS N.A., AS AGENT;REEL/FRAME:024456/0638 Effective date: 20100528 |