WO2002025479A1 - A document categorisation system - Google Patents

A document categorisation system Download PDF

Info

Publication number
WO2002025479A1
WO2002025479A1 PCT/AU2001/001198 AU0101198W WO0225479A1 WO 2002025479 A1 WO2002025479 A1 WO 2002025479A1 AU 0101198 W AU0101198 W AU 0101198W WO 0225479 A1 WO0225479 A1 WO 0225479A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
module
document
documents
categorisation
Prior art date
Application number
PCT/AU2001/001198
Other languages
French (fr)
Other versions
WO2002025479B1 (en
Inventor
Bhavani Raskutti
Adam Kowalczyk
Original Assignee
Telstra New Wave Pty Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority to US10/363,188 priority Critical patent/US20040100022A1/en
Application filed by Telstra New Wave Pty Ltd filed Critical Telstra New Wave Pty Ltd
Priority to EP01971495A priority patent/EP1323078A4/en
Priority to CA2423033A priority patent/CA2423033C/en
Priority to AU2001291494A priority patent/AU2001291494A1/en
Priority to NZ524988A priority patent/NZ524988A/en
Priority to US10/514,470 priority patent/US7971150B2/en
Publication of WO2002025479A1 publication Critical patent/WO2002025479A1/en
Publication of WO2002025479B1 publication Critical patent/WO2002025479B1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • G06F16/355Class or cluster creation or modification

Definitions

  • the present invention relates to information systems, and in particular to a method and system for categorising electronic documents and for characterising the resulting categories.
  • a document categorisation system including: a clusterer for generating clusters of related electronic documents based on features extracted from said documents; and a filter module for generating a filter on the basis of said clusters to categorise further documents received by said system.
  • the present invention also provides a document categorisation system including: a clusterer for generating clusters of related electronic documents based on features extracted from said documents; and an editor for browsing and modifying said clusters.
  • said clusterer is adapted to extract features from electronic documents, determine significant features from said extracted features, and generate clusters of said documents based on said significant features.
  • said features include at least one of «-grams, words and phrases.
  • the clusterer further includes a cluster describer module for generating text describing each cluster.
  • the present invention also provides a document categorisation system including: an editor for browsing and modifying clustered documents; and a filter module for generating a filter on the basis of features of said clusters to categorise further documents received by said system.
  • the present invention also provides a document categorisation system including: a clusterer for generating clusters of documents by executing unsupervised learning on said documents; and a filter module for generating a filter to categorise received documents by executing supervised learning on said clusters.
  • system may further include an editor to adjust said clusters.
  • system may further include a trend analyzer for determining trends of document categories over time.
  • the present invention also provides a method for categorising documents, including creating categories for said documents based on feature extraction, where said features include at least one of r ⁇ -grams, words and phrases.
  • the present invention also provides a method for categorising documents, including: creating categories for said documents, based on feature extraction; and manually modifying said categories with a category editor.
  • said method includes selecting features of said documents based on a respective discriminating ability of each feature.
  • said discriminating ability is based on similarities for said documents with and without said feature.
  • the present invention also provides a method for categorising a document, including: creating a document filter for a pre-existing document category by analysing preexisting documents in said category; and applying said filter to said document in order to determine whether said document belongs in said category.
  • said category is determined by features which are generated by an n-gram extraction process.
  • said filter may also be used to produce descriptive labels for large document sets.
  • said descriptive labels may include at least one of phrases and sentences.
  • said categories may be described by an n-gram extraction process.
  • said method includes determining a trend of a document category over time.
  • the present invention also provides a data categorisation module for use with a spreadsheet application, said module including: a cluster module for generating clusters of related data from data in a document of the spreadsheet application, based on extracted features of said data; and a training module for generating a filter on the basis of said clusters to categorise further data
  • said data categorisation module includes a filtering module for categorising said further data on the basis of said filter.
  • said data includes a plurality of entries within a worksheet of said application.
  • said entries may include text data to be used for categorising said plurality of entries, and structured data.
  • said cluster module is adapted to generate a cluster identifier for identifying a cluster to which an entry of said data belongs, and a cluster size value for identifying the size of said cluster.
  • said cluster module is adapted to generate at least one category descriptor for said entry.
  • said cluster module is adapted to generate a worksheet column for identifying a category of each entry of said data.
  • said cluster module is adapted to generate a formatted version of text data of an entry for indicating a category descriptor of said entry.
  • said data categorisation module includes a module for testing said filters by categorising training data on the basis of filters generated using said training data.
  • said data categorisation module includes labelling functions for generating a category identifier for an entry of said data.
  • said labelling functions include a labelling function for generating a plurality of category columns of said worksheet for identifying at least one category of an entry.
  • said filtering module generates a respective score for each category of an entry.
  • said filtering module generates an error for an entry if any one of said scores is inconsistent with a respective category identifier.
  • a score indicates that the corresponding entry belongs to a respective category if said score exceeds a predetermined value.
  • the default value of said pre-determined value is zero.
  • scores exceeding said pre-determined value are formatted differently than scores less than said pre-determined value.
  • the score may be used to calculate the probability that said entry belongs to the corresponding category.
  • the present invention also provides a data categorisation module for use with a spreadsheet application, said module including a cluster module for generating clusters of related data from data in a document of the spreadsheet application, based on extracted features of said data.
  • the present invention also provides a method of data categorisation in a spreadsheet application, including the steps of: a cluster module for generating clusters of related data from data in a document of the spreadsheet application, based on extracted features of said data; and a training module for generating a filter on the basis of said clusters to categorise further data.
  • Figure 1 is a block diagram of a preferred embodiment of a document categorisation system
  • Figure 2 is a block diagram of a clusterer of the system
  • Figure 3 is a block diagram of a filter module of the system
  • Figure 4 is a block diagram showing components of a preferred embodiment of a plug-in data categorisation module for a spreadsheet application; and Figures 5 to 9 are screenshots of a spreadsheet application with the plug-in module.
  • a document categorisation system 10 includes a clusterer module 12, a filter module 14, an editor/browser module 16 and a trend analyser module 18.
  • the clusterer 12 processes electronic messages or other documents 20 and groups them into a set 22 of clusters 24 of related documents and then creates a description in the form of a set of keywords and key phrases for each cluster 24.
  • the editor/browser 16 provides an interactive user interface that allows a data analyst to browse through the clustered documents 22 and to modify the clusters 24 if desired so that each cluster contains a coherent set of documents.
  • the filter module 14 analyses existing clusters in order to categorise new documents.
  • the Trend Analyser 18 analyses clusters over various time periods and compares different categorisations of the same documents to determine a coherent and useful classification for these documents and determines novel clusters.
  • the modules 12 to 18 constitute a document categorisation system 10 which can, for example, automatically categorise large numbers (typically 10,000 - 25,000) of electronic text messages, such as complaints and survey text, into a much smaller number (approximately 250 — 500 in this example) of groups or clusters. These messages are typically written under time constraints and they are therefore terse and contain abbreviations as well as typing and spelling errors.
  • the system 10 can also track specific message categories, route messages (e.g., emails), and alert users when there are novel (i. e. , unusual) messages.
  • the clusterer 12 groups together related documents. For navigation and editing purposes, each group is labelled using a cluster description technique, as described below. The grouping and labelling allows a large document repository to be navigated and modified easily.
  • the clustering implementation is based on a document clustering methodology described in Salton, The SMART Retrieval System - Experiments in Automatic Document Processing, Prentice-Hall, New Jersey, 1971 ("Salton").
  • the clusterer 12 includes a feature extraction module 26, a feature selection module 28, a cluster generator 30, and a cluster describer module 32.
  • the feature extraction module 26 processes each document to produce a vector of token frequencies, where tokens may be n- grams, words or phrases, and where some tokens may be excluded using feature selection criteria of the feature selection module 28.
  • a similarity measure is then defined as a function of these document vectors to quantify the similarity between any two documents.
  • the clustering generator 20 uses this similarity measure to group similar documents into clusters.
  • the feature extraction module 26 extracts r ⁇ -grams, words, and/or phrases as tokens to represent a document or message. N-grams are especially suited for processing of noisy and/or un-grammatical text, such as SMS messages.
  • the «-grams are sequences of characters of length n, and they are extracted as follows. First, each document is represented as a sequence of characters or a vector of characters (referred to as document- sequence vector). Next, each document-sequence vector is processed to extract «-grams and their frequencies (number of occurrences) for that document.
  • the sequence of characters "to build” will give rise to the following 5 -grams "to bu”, “o bui”, “ buil”, “build”.
  • Words and phrases extracted may be stemmed, although that is not necessary.
  • the clustering process uses ft-gram vectors rather than word vectors only, it is tolerant of spelling and typing errors, because a single error in the spelling of a long word nevertheless yields r ⁇ -grams that are the same as those from the correctly spelled word.
  • the feature selection module 28 of the clusterer 12 is executed before clustering to include in the document vectors only those features that provide significant information for clustering. This not only reduces time for clustering by reducing the feature space, but also increases the accuracy of clustering, because noisy features are eliminated.
  • the feature selection process determines the discriminating ability of a feature. The ability of a feature to discriminate depends on how many documents a feature appears in (referred to as DF), and the frequency of that feature in each document (referred to as TF). Those features that appear frequently within few documents are more discriminating than those that appear infrequently in most of the documents. Traditionally, in information retrieval, this reasoning is captured using the TFs and DF of each feature to arrive at an importance value.
  • the computed discrimination ability is based on the premise that if a very good discriminating feature is removed from the feature space, then the average similarity between documents in the repository increases significantly.
  • the similarity of a particular document is computed with a cosine coefficient, as is described in Salton.
  • the average similarity of a document set is determined by summing the similarities between each document and the centroid (where the centroid is the average of feature frequency vectors of all the documents in the set).
  • s y - is the similarity measure
  • i, j 1, ...
  • n represents the document number in the document set
  • / represents the frequency of occurrence of a feature denoted by the integer k.
  • ⁇ m _ m centroid i.e., ⁇ f k and ⁇ fikf jk , respectively, withy ' being the centroid document
  • IDF-TF inverse document frequency-term frequency
  • the cluster generator 30 uses a clustering algorithm that is an enhancement of a single-pass, non-hierarchical method which partitions the repository into disjoint sets, as described in E. Rasmussen, "Clustering Algorithms", Information Retrieval, W. B. Frake and R. Baeza-Yates ed., Prentice-Hall, New Jersey, 1992.
  • the algorithm proceeds as follows: the first document Dl is used to create the first cluster CI. Each remaining document, Dk, is assigned to the nearest cluster Cj, or a new cluster if none is sufficiently close.
  • each cluster is represented by its centroid, which is the average of word frequency vectors of all the documents in the cluster.
  • a new cluster is started when none of the existing clusters are sufficiently close, based on a specified similarity or distance threshold T.
  • the clustering algorithm creates no hierarchies.
  • hierarchies can be implemented by clustering at the first level, and then clustering the clusters using cluster centroids. Since the algorithm itself is not hierarchical, the complexity is 0(nm), where n is the number of entities to cluster at each level and m is the number of clusters.
  • the algorithm used by the clusterer 12 determines the number of clusters by creating different groupings of the data set at different separation thresholds and then evaluating these groupings to determine the best grouping. The evaluation takes into account the affinity within groups as well as separation from other groups, as described in B. Raskutti and C. Leckie, "An Evaluation of Criteria for Measuring the Quality of Clusters", pp. 905 — 910, Proceedings of the Sixteenth International Joint Conference on Artificial Intelligence, 1999.
  • the clustering algorithm imposes a structure (a hierarchy) on previously unstructured documents. Since the clustering is based on the tokens (i.e., n-grams, words and/or phrases) in a message, as well as tokens in other messages, it typically captures the conceptual relations.
  • tokens i.e., n-grams, words and/or phrases
  • the clusterer 12 also labels groups based on their contents using the cluster describer module 32. It extracts words, phrases and or sentences from a document that are most descriptive of that document, in contrast to standard approaches which extract words only. The method is similar to that described in J. D. Cohen, "Highlights: Language and Domain Independent Automatic Indexing terms for Abstracting", Journal of the American Society for Information Science, 46(3): 162: 174, 1995 for generating highlights or abstracts for documents that are retrieved by an information retrieval system.
  • the cluster describer module 32 In order to determine the words and phrase that describe a group of documents, the following steps are performed by the cluster describer module 32. First, all documents within a group are combined into one hyper-document. In all further analysis, the hyper- documents are treated as a single document, and it is these hyper-documents that are to be described or labelled. Second, the distribution of the n-grams over the document space is computed by counting the occurrence of n-grams in the documents. Next, ejach n-gram is assigned a score per document that indicates how novel or unique it is for the document. This novelty score is based on the probability of the occurrence of the n-gram in the document and the probability of occurrence elsewhere (i.e., in another cluster).
  • the novelty score of each n-gram is apportioned across the characters in the n-gram.
  • the apportioning could be so that the entire score is allocated to the middle character, and the other characters are assigned a score of zero.
  • This apportioning allows each character in the sequence (hence each entry in the document-sequence vector) to be assigned a weight.
  • these weights are used to compute a score for each word or phrase based on their component characters and their scores.
  • These scores may be used as is or combined, if necessary, with language-dependent analysis, such as stemming, to filter out non-essential features.
  • the output of the cluster describer 32 is a set of descriptors (words or phrases) in the document with associated scores indicating how well they describe the document.
  • these scores measure how close the descriptors are to the topic of the cluster, and are used to create a succinct description of a cluster.
  • a descriptor may have different scores for different clusters. For instance, the word "vector" may have a higher score in a cluster about vector analysis and a lower score in a cluster about vector analysis for search engines. This score is then used to rank different descriptors for a cluster such that the most descriptive term is listed first.
  • the system 10 is based on n-grams, there is no necessity for language-dependent pre-processing such as stemming and removal of function words. Hence, the extraction process is language-independent and is tolerant of spelling and typing errors. Furthermore, this technique can be used to extract words or phrases or sentences or even paragraphs (for large documents), since the fundamental units for determining novelty are not words but character sequences. Moreover, these character sequences need not even be text. Hence, with minor modifications, the same technique may be used to pick out novel regions within an image or audio track.
  • the clusterer 12 described above imposes a structure on a previously unstructured collection of documents. This structure, typically, captures the appropriate conceptual relations; however, as with all categorizations, whether manual or automatic, the clusters may require further refinement.
  • the editor/browser 16 provides the ability to manually alter the automatically created groups for greater coherence and usability. It provides a visual user interface to allow browsing of the cluster hierarchy and a number of editing functions. These editing functions include file manager like functions, such as the ability to create and delete clusters, edit cluster descriptions, and move messages/clusters to other clusters.
  • the filter module 14 includes the cluster describer 32 described above, a filter generator 31, a feature extractor 26, and a filter applier 35.
  • the filter module 14 has two modes: a training mode and a classification mode.
  • the filter module 14 learns the features of messages belonging to a particular category based on examples of earlier documents. These example documents for the categories may have been grouped by the clusterer 12 and/or the browser/editor 16, or created by some other means.
  • the filter module 14 generates a filter 33 based on the characteristics of messages in the categories.
  • the resulting filter 33 is subsequently used by the filter module 14 in its classification (categorisation) mode, whereby each new message is tagged with scores indicating the likelihood that it belongs to a particular category.
  • classification categorisation
  • the filter training process begins with a feature extraction process, executed by the feature extractor 26 cluster describer 32, that extracts terms (words, phrases and/or n-grams) that are useful to distinguish one category from another.
  • This advantageously uses the cluster describer for extracting words and phrases, however, if desired, other feature extraction processes may be used.
  • the words, phrases and n-grams so selected are called terms, and these terms are stored in a dictionary 27.
  • Each example in the training set is then represented by a term vector, describing frequencies of appearance of terms from dictionary 27 in the example.
  • the filter generator 31 uses these term vectors to learn models for discriminating each category from the others.
  • the filter generator 31 then generates a filter 33 containing data representing the resulting models.
  • SNM Support Vector Machines
  • the technique is described in the specification of Australian Patent Application PQ6844/00, which is incorporated herein by reference.
  • SNM is a relatively novel approach to supervised learning used for both classification and regression problems.
  • the word supervised refers to the fact that the data is labelled.
  • the aim of training in such a case is to look for patterns in the data that conform to this labelling, and to build a model correlated with the labels and capable of predicting labels for new examples with high accuracy. This is different from the unsupervised learning or clustering used in the clusterer 12, whereby a natural or inherent groupings are developed, based on patterns in the data.
  • SNM techniques are particularly useful for text categorisation due to the fact that text categorisation involves large sparse feature spaces, and SNMs have the potential to handle such feature spaces.
  • the training algorithm is used by the filter module 14 both to learn from very few examples as well as to learn long-term filters using large numbers of examples.
  • the filter 33 contains information that is used by the filter applier 35 to determine a numerical score for a new message which has been converted to a term vector.
  • the term vector provides occurrence frequencies for terms in the dictionary 27 that appear in the message.
  • the filter 33 for a category is simply a vector of weights, one for each entry in the dictionary 27.
  • the Trend Analyser 18 performs two primary functions. The first is to track specific categories of messages over different time periods. This may be as simple as a comparison of the number of messages in a chosen category at different time periods. However, the analyser also performs a thorough analysis of category variation at different periods, such as movement of the centroid (average of word frequency vector for the messages in that category), categorisation confidence, and other indications of category change. Thus, this functionality is focussed on understanding a single document category over time. If there are very few messages for a particular category in consecutive time periods, this might indicate that the corresponding filter is no longer required. Conversely, if the number of messages within a group is getting larger and unmanageable, it may be necessary to use the clusterer 12 to create finer partitioning of this category.
  • the second function of the trend analyser 18 is to compare different categorisations of the same documents in order to determine a coherent and useful classification for these documents.
  • the filter module 14 When using the filter module 14 to create categorisations for ongoing analysis, it may be necessary to check that the nature of the actual documents has not deviated too far from the filters that were created, and that the filters are up-to-date. This requires a user to compare the categorisations produced by the clusterer 12 with those produced by the filter module 14, and to highlight the differences so that filter definitions may be modified accordingly.
  • this functionality is focussed on analysing the whole message space and what categories need to be defined to understand that space.
  • the document categorisation system 10 may be used in several modes. Several examples of applications are:
  • This feedback loop may be incorporated into a number of different applications.
  • this loop may be used to refine results based on relevance feedback.
  • a spam filter it may be used for quickly creating examples of spam and non-spam email messages. This mode requires the filter module 14 and the editor/browser 16 to be suitably tailored.
  • the relevance feedback mode can be used for once-off analysis as described in (i) on its own, or in conjunction with clustering.
  • Adaptive learning of multiple filters e.g., routing of customer communications where different filters not only provide rejections, but also suggestions as to which other filter should have been the recipient of a particular message.
  • This mode is similar to the previous mode except that multiple filters are adjusted simultaneously, in response to feedback from multiple human operators.
  • the clustering and the filtering methods of the categorisation system are embodied in components of a plug-in module 34 for a spreadsheet application 36 such as Microsoft Excel®, as shown in Figure 3.
  • the plug-in module 34 includes a ClusterData module 38, a TrainFilters module 40, a TestFilters module 42, a FilterData module 44, support function modules 46, and interface data 48.
  • the combination of the spreadsheet application 36 and the plug-in module 34 provides a convenient system for categorising short text messages, and allows the spreadsheet application 36 to be used to analyse databases that include both structured information and free-text messages, such as a customer complaints database.
  • the plug-in 34 provides the ability to:
  • the plug-in interface data 48 provides a number of additional buttons 50 to 76 to the spreadsheet application toolbar area 52, allowing a user of the application to analyse free-text data.
  • the buttons include presentation buttons 50 to 60, label buttons 62 to 68, and module invocation buttons 70 to 76.
  • the module invocation buttons 70 to 76 will be described first.
  • a ClusterData button 76 invokes the ClusterData module 38 of the plug-in 34, allowing the user to cluster data selected in a worksheet 78 into groups or categories in order to provide one-off analysis, e.g., to understand information from customer surveys.
  • Each row of the worksheet 78 is considered to be a separate entry or record to be clustered.
  • Each entry may be associated with one or more category labels which are integers that identify the categories to which the entry belongs, as described below.
  • a TrainFilters button 70 invokes the TrainFilters module 40 for learning a model of the various groups or categories on the basis of selected data in the worksheet 78.
  • the selected data includes the textual data for each entry, and category labels used to identify the categories to which each entry belongs. Such models may be used for on-going analysis of unstructured information, e.g. , to understand and monitor customer complaints.
  • a TestFilters button 72 invokes the TestFilters module 42 that tests the models created by the TrainFilters module 40 on data whose labels are known. For example, a simple sanity check for a new model is to select the data that was used for training in order to confirm that the model can at least classify the training data correctly.
  • a RunFilters button 74 invokes the FilterData module 44 that uses the models created by TrainFilters module 40 on new (i.e., uncategorised) data. In this case, the labels of input entries are unknown, and the models are used to predict labels.
  • buttons 50 to 68 invoke support function modules 46 that allow easy visualisation and manipulation of groups and individual entries in order to facilitate the structuring of textual data within the spreadsheet application 36.
  • These support functions 46 may be used to perform one-off analysis of textual data, e.g., to understand information from customer surveys, and/or on-going analysis of unstructured information, e.g., to understand and monitor customer complaints.
  • column C of the worksheet area 78 of Figure 4 includes customer text sent to a service provider from mobile telephones using short message services (SMS).
  • SMS short message services
  • the text entries contain typing errors and non-alphanumeric characters.
  • columns A and B contain structured data which is ignored:
  • Column A provides a list of unique message identifiers, and
  • column B provides a timestamp indicating when the corresponding message was received.
  • the plug-in module 34 of Figure 4 allows related messages to be identified by invoking the ClusterData module 38.
  • the ClusterData module 38 groups together textually related entities within a selected region of data in the worksheet area 78, and highlights key descriptors in each group to facilitate visual determination of whether a group is homogeneous or not.
  • the ClusterData module 38 begins processing the selected data. If the first row of the selection is the heading row (i.e., row number 1), it is ignored. Each of the other rows of the selected data is considered an entity, and textually related entities are brought together by rearranging the order of rows within the selection using the clustering methods described above. Each row may include structured data for other analyses (e.g., columns A and B in this example), but the last column (which may be the only column) contains the textual information that is used for clustering.
  • the output of the ClusterData module 38 is provided in a. new worksheet and allows the user to readily perceive the key clustering concepts.
  • each row includes a cluster identification number column 80, a cluster size column 82, description columns 84 to 92 for each cluster, an initially empty filter identifier column 94, and the original input data in the last three columns 96 to 100.
  • the maximum number of descriptions per cluster is specified by the user, and has been set to five in the example implementation shown in Figures 6 to 9.
  • the last column 100 of the original input containing the textual data is modified so that key descriptors of the cluster are highlighted by colour.
  • the rows are sorted so that rows with the same cluster identifier are together, and clusters with larger number of entries appear before those with smaller number of entries to ensure that a large number of entries can be processed quickly by the user. Initially, only one row per cluster is presented so that key concepts/topics from the textual data may be readily perceived by visual inspection. Alternate cluster rows are shaded in order to visually distinguish adjacent clusters from each other.
  • This initial presentation may be altered by means of presentation buttons 50 to 60.
  • a HideDescription button 50 allows the user to hide the five columns 84 to 92 containing the cluster descriptors. The highlighting of descriptors in the textual data ensures that it is still possible to determine the descriptions when the descriptor columns 84 to 92 are hidden.
  • a ShowDescription button 52 reverses the effect of the HideDescription button 50.
  • An ExpandOne button 58 expands the presentation to show all the entries for one cluster.
  • An ExpandAll button 60 performs the same function for all clusters within the selection. This enables quick visual inspection of one or all clusters so as to identify whether clusters are homogeneous or not.
  • a CollapseOne button 54 and a CollapseAll button 56 reverse the effects of the ExpandOne button 58 and ExpandAll button 60, respectively.
  • clustered data may be easily inspected for major conceptual categories that emerge from the data. For instance, cluster numbers 1, 4 and 7 of Figure 5 belong to the same conceptual grouping of people expressing greetings. Depending on the outcome required, these groups may be further merged with other groups such as 6, 9 and 21 as a single category that does not require any action from the service provider.
  • a DefaultLabels button 66 labels each entry, i.e., creates a filter identifier label in the filter identifier column 94, by copying the numeric value from the cluster identifier column 80. If the number of clusters is small, and the clusters are homogeneous, this is a quick method for labelling entries.
  • a LabelOne button 62 copies the label (from the filter identifier column 94) from the first entry (i.e., row) of a cluster down to all other entries of the same cluster.
  • a Label All button 64 performs this action for all clusters within the selection.
  • buttons 62, 64 simplify labelling because all the user is required to do is to first check the homogeneity of clusters, then label the first entry of each cluster, and then use the LabelOne button 62 or the LabelAll button 64 to label the other entries of the clusters.
  • a CreateMidtipleLabels button 68 may be used to allow entries to belong to multiple categories by expanding the single label provided by the filter identifier column 94 to provide one column for each of the different labels (i.e., categories) within the selected region, as shown in Figure 6. Fields in the header row provide descriptors for the categories, and each entry within a data row provides an integer boolean value (i.e., 1 or 0) indicating whether the corresponding entry belongs to that category.
  • the TrainFilters module 40 uses supervised learning to model the categories that have been defined by the ClusterData module 38 and may have been modified by the user editing the worksheet directly and/or using the labelling buttons 62 to 68.
  • Input to the TrainFilters module 40 has a particular form, beginning with label columns 102 and ending with the textual data column 100, as shown in Figure 6.
  • the category label columns 102 in this example were obtained by using the CreateMultipleLabels button 68 after labelling the data using the cluster identifier, the highlighting of keywords to determine whether entries belong to a particular group, and the LabelOne button 62 and the LabelAll button 64. After this initial labelling, an entry may be placed into multiple categories, if desired (e.g., message numbers 10 and 27).
  • the labelled data which was first sorted in the order of cluster identifier for ease of labelling, has been resorted so that it is in ascending order of the message identifier. If desired, zero values in the category columns 102 can be hidden to improve data visualisation, as shown in Figure 8.
  • the TrainFilters module 40 learns a model for each category/label after the required rows/columns in the worksheet 78 are selected. Because the category/label information and the textual data for learning come from an arbitrarily-positioned selected portion of a single worksheet 78, the TrainFilters module 40 requires the number of labels and the starting column of labels to be input by the user, and for the label columns to be contiguous. The first row is assumed to be the header row and is ignored. Models are then learnt from the textual data and the labels (which identify a filter) in the other selected rows using the training method described above.
  • the output from the TrainFilters module 40 is provided as a new worksheet, as shown in Figure 7.
  • the worksheet includes the input data columns 96 to 100, the label columns 102, and additional information in newly introduced columns (coloured blue) 104, 106.
  • the new score columns 104 provide a score for each label/entry combination.
  • the scores are colour-coded, with positive scores in a black typeface and negative scores in a red typeface. For the purposes of categorisation, an entry is deemed to belong to all those categories for which it has a positive score. However, for a higher confidence level, the threshold can be changed from 0 to a positive value.
  • the error column 106 indicates whether there is an error in classification for each entry; that is, whether the classifications indicated by the category columns 102 are consistent with the values in the score columns 104. Errors in the training set are generally rare, since the model is learnt on the basis of the training set. A more thorough validation of the model may be provided by using the TestFilters module 42.
  • the TrainFilters module 40 produces internal models for each of the categories. These models can then be used for classification using the TestFilters module 42 or the FilterData module 44. Optionally, the scores may be automatically converted to confidence levels, which represent an estimate of the probability that an entry belongs to the corresponding category.
  • the TestFilters module 42 uses the models created by TrainFilters 40 on a data set whose labels are known. It provides a more thorough validation of a model, because the model was created without reference to these labels and data.
  • the input and output formats for the TestFilters module 42 are the same as those for the TrainFilters module 40. However, the error column is more likely to be populated when the models are used to categorise new data.
  • the FilterData module 44 uses the models created by TrainFilters 40 to classify a data set whose labels are unknown.
  • the input format is the same as that for clustering (one entry per row, with the first row assumed to be a header row).
  • the FilterData module 44 creates score columns 104 and category columns 102.
  • the first n columns 104 (where n is the number of labels/categories) provide the score, with positive scores in black and negative scores in red.
  • the next n columns 102 have either a 1 for all those labels that have a score greater than 0 (or the threshold value set by the user), or are empty.
  • the 1 in a column corresponding to a label indicates that the entry belongs to that category/label. Because the scores are present, the threshold may be adjusted if a more stringent classification is required, without the need for further analysis.

Abstract

A document categorisation system, including a clusterer for generating clusters of related electronic documents based on features extracted from said documents, and a filter module for generating a filter on the basis of said clusters to categorise further documents received by said system. The system may include an editor for manually browsing and modifying the clusters. The categorisation of the documents is based on n-grams, which are used to determine significant features of the documents. The system includes a trend analyzer for determining trends of changing document categories over time, and for identifying novel clusters. The system may be implemented as a plug-in module for a spreadsheet application, providing a convenient means for one-off or ongoing analysis of text entries in a worksheet.

Description

A DOCUMENT CATEGORISATION SYSTEM
The present invention relates to information systems, and in particular to a method and system for categorising electronic documents and for characterising the resulting categories.
The information age brings with it the risk of information overload. In particular, large service organisations typically interact with an enormous number of customers, and the introduction of electronic message handling systems into such organisations necessitates some method of efficiently dealing with large numbers of electronic messages or other forms of electronic documents. It is desired, therefore, to provide a system and method for categorising electronic documents and for characterising the resulting categories, or at least provide a useful alternative to existing systems.
In accordance with the present invention there is provided a document categorisation system including: a clusterer for generating clusters of related electronic documents based on features extracted from said documents; and a filter module for generating a filter on the basis of said clusters to categorise further documents received by said system.
The present invention also provides a document categorisation system including: a clusterer for generating clusters of related electronic documents based on features extracted from said documents; and an editor for browsing and modifying said clusters.
Preferably, said clusterer is adapted to extract features from electronic documents, determine significant features from said extracted features, and generate clusters of said documents based on said significant features. Preferably said features include at least one of «-grams, words and phrases. Preferably the clusterer further includes a cluster describer module for generating text describing each cluster.
The present invention also provides a document categorisation system including: an editor for browsing and modifying clustered documents; and a filter module for generating a filter on the basis of features of said clusters to categorise further documents received by said system.
The present invention also provides a document categorisation system including: a clusterer for generating clusters of documents by executing unsupervised learning on said documents; and a filter module for generating a filter to categorise received documents by executing supervised learning on said clusters.
Advantageously the system may further include an editor to adjust said clusters.
Advantageously the system may further include a trend analyzer for determining trends of document categories over time.
The present invention also provides a method for categorising documents, including creating categories for said documents based on feature extraction, where said features include at least one of rø-grams, words and phrases.
The present invention also provides a method for categorising documents, including: creating categories for said documents, based on feature extraction; and manually modifying said categories with a category editor.
Preferably, said method includes selecting features of said documents based on a respective discriminating ability of each feature. Preferably, said discriminating ability is based on similarities for said documents with and without said feature.
The present invention also provides a method for categorising a document, including: creating a document filter for a pre-existing document category by analysing preexisting documents in said category; and applying said filter to said document in order to determine whether said document belongs in said category.
Preferably, said category is determined by features which are generated by an n-gram extraction process.
Advantageously, said filter may also be used to produce descriptive labels for large document sets.
Advantageously, said descriptive labels may include at least one of phrases and sentences.
Advantageously, said categories may be described by an n-gram extraction process.
Preferably, said method includes determining a trend of a document category over time.
The present invention also provides a data categorisation module for use with a spreadsheet application, said module including: a cluster module for generating clusters of related data from data in a document of the spreadsheet application, based on extracted features of said data; and a training module for generating a filter on the basis of said clusters to categorise further data
Preferably, said data categorisation module includes a filtering module for categorising said further data on the basis of said filter. Preferably, said data includes a plurality of entries within a worksheet of said application.
Advantageously, said entries may include text data to be used for categorising said plurality of entries, and structured data.
Preferably, said cluster module is adapted to generate a cluster identifier for identifying a cluster to which an entry of said data belongs, and a cluster size value for identifying the size of said cluster.
Preferably, said cluster module is adapted to generate at least one category descriptor for said entry.
Preferably, said cluster module is adapted to generate a worksheet column for identifying a category of each entry of said data.
Preferably, said cluster module is adapted to generate a formatted version of text data of an entry for indicating a category descriptor of said entry.
Preferably, said data categorisation module includes a module for testing said filters by categorising training data on the basis of filters generated using said training data.
Preferably, said data categorisation module includes labelling functions for generating a category identifier for an entry of said data. Preferably, said labelling functions include a labelling function for generating a plurality of category columns of said worksheet for identifying at least one category of an entry.
Preferably, said filtering module generates a respective score for each category of an entry. Preferably, said filtering module generates an error for an entry if any one of said scores is inconsistent with a respective category identifier. Preferably, a score indicates that the corresponding entry belongs to a respective category if said score exceeds a predetermined value. Preferably, the default value of said pre-determined value is zero. Preferably, scores exceeding said pre-determined value are formatted differently than scores less than said pre-determined value. Preferably, the score may be used to calculate the probability that said entry belongs to the corresponding category.
The present invention also provides a data categorisation module for use with a spreadsheet application, said module including a cluster module for generating clusters of related data from data in a document of the spreadsheet application, based on extracted features of said data.
The present invention also provides a method of data categorisation in a spreadsheet application, including the steps of: a cluster module for generating clusters of related data from data in a document of the spreadsheet application, based on extracted features of said data; and a training module for generating a filter on the basis of said clusters to categorise further data.
Preferred embodiments of the present invention are hereinafter described, by way of example only, with reference to the accompanying drawings, wherein:
Figure 1 is a block diagram of a preferred embodiment of a document categorisation system;
Figure 2 is a block diagram of a clusterer of the system; Figure 3 is a block diagram of a filter module of the system;
Figure 4 is a block diagram showing components of a preferred embodiment of a plug-in data categorisation module for a spreadsheet application; and Figures 5 to 9 are screenshots of a spreadsheet application with the plug-in module.
A document categorisation system 10 includes a clusterer module 12, a filter module 14, an editor/browser module 16 and a trend analyser module 18. The clusterer 12 processes electronic messages or other documents 20 and groups them into a set 22 of clusters 24 of related documents and then creates a description in the form of a set of keywords and key phrases for each cluster 24. The editor/browser 16 provides an interactive user interface that allows a data analyst to browse through the clustered documents 22 and to modify the clusters 24 if desired so that each cluster contains a coherent set of documents. The filter module 14 analyses existing clusters in order to categorise new documents. The Trend Analyser 18 analyses clusters over various time periods and compares different categorisations of the same documents to determine a coherent and useful classification for these documents and determines novel clusters.
Together, the modules 12 to 18 constitute a document categorisation system 10 which can, for example, automatically categorise large numbers (typically 10,000 - 25,000) of electronic text messages, such as complaints and survey text, into a much smaller number (approximately 250 — 500 in this example) of groups or clusters. These messages are typically written under time constraints and they are therefore terse and contain abbreviations as well as typing and spelling errors. The system 10 can also track specific message categories, route messages (e.g., emails), and alert users when there are novel (i. e. , unusual) messages.
The clusterer 12 groups together related documents. For navigation and editing purposes, each group is labelled using a cluster description technique, as described below. The grouping and labelling allows a large document repository to be navigated and modified easily. The clustering implementation is based on a document clustering methodology described in Salton, The SMART Retrieval System - Experiments in Automatic Document Processing, Prentice-Hall, New Jersey, 1971 ("Salton"). As shown in Figure 2, the clusterer 12 includes a feature extraction module 26, a feature selection module 28, a cluster generator 30, and a cluster describer module 32. The feature extraction module 26 processes each document to produce a vector of token frequencies, where tokens may be n- grams, words or phrases, and where some tokens may be excluded using feature selection criteria of the feature selection module 28. A similarity measure is then defined as a function of these document vectors to quantify the similarity between any two documents. Finally, the clustering generator 20 uses this similarity measure to group similar documents into clusters. The feature extraction module 26 extracts rø-grams, words, and/or phrases as tokens to represent a document or message. N-grams are especially suited for processing of noisy and/or un-grammatical text, such as SMS messages. The «-grams are sequences of characters of length n, and they are extracted as follows. First, each document is represented as a sequence of characters or a vector of characters (referred to as document- sequence vector). Next, each document-sequence vector is processed to extract «-grams and their frequencies (number of occurrences) for that document. For example, the sequence of characters "to build" will give rise to the following 5 -grams "to bu", "o bui", " buil", "build". Words and phrases extracted may be stemmed, although that is not necessary. Because the clustering process uses ft-gram vectors rather than word vectors only, it is tolerant of spelling and typing errors, because a single error in the spelling of a long word nevertheless yields rø-grams that are the same as those from the correctly spelled word.
The feature selection module 28 of the clusterer 12 is executed before clustering to include in the document vectors only those features that provide significant information for clustering. This not only reduces time for clustering by reducing the feature space, but also increases the accuracy of clustering, because noisy features are eliminated. The feature selection process determines the discriminating ability of a feature. The ability of a feature to discriminate depends on how many documents a feature appears in (referred to as DF), and the frequency of that feature in each document (referred to as TF). Those features that appear frequently within few documents are more discriminating than those that appear infrequently in most of the documents. Traditionally, in information retrieval, this reasoning is captured using the TFs and DF of each feature to arrive at an importance value.
In the document categorisation system 10, the computed discrimination ability is based on the premise that if a very good discriminating feature is removed from the feature space, then the average similarity between documents in the repository increases significantly. Thus, by computing average similarity between documents with and without a feature, it is possible to determine the feature's discriminating ability. The similarity of a particular document is computed with a cosine coefficient, as is described in Salton. The average similarity of a document set is determined by summing the similarities between each document and the centroid (where the centroid is the average of feature frequency vectors of all the documents in the set). This method for feature selection has been traditionally ignored due to its computational cost, since it involves nm similarity computations, where n is the number of documents and m is the total number of words or features. As the following equation shows, each cosine similarity computation itself has a computational complexity of m2:
Figure imgf000010_0001
where sy- is the similarity measure, i, j = 1, ..., n represents the document number in the document set, and / represents the frequency of occurrence of a feature denoted by the integer k.
However, by storing the norm of frequency vectors and their dot products with the
\ m _ m centroid, i.e., ∑fk and ∑fikfjk , respectively, withy' being the centroid document, the =ι λ=l feature selector is able to compute scores for each feature in linear time. This score determines discrimination ability features for clustering better than the standard inverse document frequency-term frequency (IDF-TF) scores described in Salton.
After the features have been extracted and selected, the clusters are defined by the cluster generator 30. The cluster generator 30 uses a clustering algorithm that is an enhancement of a single-pass, non-hierarchical method which partitions the repository into disjoint sets, as described in E. Rasmussen, "Clustering Algorithms", Information Retrieval, W. B. Frake and R. Baeza-Yates ed., Prentice-Hall, New Jersey, 1992. The algorithm proceeds as follows: the first document Dl is used to create the first cluster CI. Each remaining document, Dk, is assigned to the nearest cluster Cj, or a new cluster if none is sufficiently close. In order to compare documents to clusters, each cluster is represented by its centroid, which is the average of word frequency vectors of all the documents in the cluster. A new cluster is started when none of the existing clusters are sufficiently close, based on a specified similarity or distance threshold T.
As mentioned above, the clustering algorithm creates no hierarchies. However, hierarchies can be implemented by clustering at the first level, and then clustering the clusters using cluster centroids. Since the algorithm itself is not hierarchical, the complexity is 0(nm), where n is the number of entities to cluster at each level and m is the number of clusters.
In order to determine if documents are sufficiently close, traditional single-pass algorithms require the threshold T, the separation between groups, to be specified prior to clustering. This may result in sub-optimal clustering, because the groupings are primarily dependent on the contents of the repository. In contrast, the algorithm used by the clusterer 12 determines the number of clusters by creating different groupings of the data set at different separation thresholds and then evaluating these groupings to determine the best grouping. The evaluation takes into account the affinity within groups as well as separation from other groups, as described in B. Raskutti and C. Leckie, "An Evaluation of Criteria for Measuring the Quality of Clusters", pp. 905 — 910, Proceedings of the Sixteenth International Joint Conference on Artificial Intelligence, 1999. Thus, the clustering algorithm imposes a structure (a hierarchy) on previously unstructured documents. Since the clustering is based on the tokens (i.e., n-grams, words and/or phrases) in a message, as well as tokens in other messages, it typically captures the conceptual relations.
The clusterer 12 also labels groups based on their contents using the cluster describer module 32. It extracts words, phrases and or sentences from a document that are most descriptive of that document, in contrast to standard approaches which extract words only. The method is similar to that described in J. D. Cohen, "Highlights: Language and Domain Independent Automatic Indexing terms for Abstracting", Journal of the American Society for Information Science, 46(3): 162: 174, 1995 for generating highlights or abstracts for documents that are retrieved by an information retrieval system.
In order to determine the words and phrase that describe a group of documents, the following steps are performed by the cluster describer module 32. First, all documents within a group are combined into one hyper-document. In all further analysis, the hyper- documents are treated as a single document, and it is these hyper-documents that are to be described or labelled. Second, the distribution of the n-grams over the document space is computed by counting the occurrence of n-grams in the documents. Next, ejach n-gram is assigned a score per document that indicates how novel or unique it is for the document. This novelty score is based on the probability of the occurrence of the n-gram in the document and the probability of occurrence elsewhere (i.e., in another cluster). Next, the novelty score of each n-gram is apportioned across the characters in the n-gram. For example, the apportioning could be so that the entire score is allocated to the middle character, and the other characters are assigned a score of zero. This apportioning allows each character in the sequence (hence each entry in the document-sequence vector) to be assigned a weight. Finally, these weights are used to compute a score for each word or phrase based on their component characters and their scores. These scores may be used as is or combined, if necessary, with language-dependent analysis, such as stemming, to filter out non-essential features.
Thus, for each document (i.e., the hyper-document for each group of documents), the output of the cluster describer 32 is a set of descriptors (words or phrases) in the document with associated scores indicating how well they describe the document. In the case of a hyper-document, these scores measure how close the descriptors are to the topic of the cluster, and are used to create a succinct description of a cluster. This also means that a descriptor may have different scores for different clusters. For instance, the word "vector" may have a higher score in a cluster about vector analysis and a lower score in a cluster about vector analysis for search engines. This score is then used to rank different descriptors for a cluster such that the most descriptive term is listed first. Because the system 10 is based on n-grams, there is no necessity for language-dependent pre-processing such as stemming and removal of function words. Hence, the extraction process is language-independent and is tolerant of spelling and typing errors. Furthermore, this technique can be used to extract words or phrases or sentences or even paragraphs (for large documents), since the fundamental units for determining novelty are not words but character sequences. Moreover, these character sequences need not even be text. Hence, with minor modifications, the same technique may be used to pick out novel regions within an image or audio track.
The clusterer 12 described above imposes a structure on a previously unstructured collection of documents. This structure, typically, captures the appropriate conceptual relations; however, as with all categorizations, whether manual or automatic, the clusters may require further refinement. The editor/browser 16 provides the ability to manually alter the automatically created groups for greater coherence and usability. It provides a visual user interface to allow browsing of the cluster hierarchy and a number of editing functions. These editing functions include file manager like functions, such as the ability to create and delete clusters, edit cluster descriptions, and move messages/clusters to other clusters. However, it also allows the user to (i) highlight words and/or phrases in documents to indicate the cluster topic, (ii) create sub-clusters within very large and diverse clusters (using the clusterer 12), and (iii) create a filter for a cluster/category, using the messages under that cluster as examples (by using filter module 14).
As shown in Figure 3, the filter module 14 includes the cluster describer 32 described above, a filter generator 31, a feature extractor 26, and a filter applier 35. The filter module 14 has two modes: a training mode and a classification mode. In the training mode, the filter module 14 learns the features of messages belonging to a particular category based on examples of earlier documents. These example documents for the categories may have been grouped by the clusterer 12 and/or the browser/editor 16, or created by some other means. The filter module 14 generates a filter 33 based on the characteristics of messages in the categories. The resulting filter 33 is subsequently used by the filter module 14 in its classification (categorisation) mode, whereby each new message is tagged with scores indicating the likelihood that it belongs to a particular category. For particular applications, such as complaint analysis, if a new message does not fit in with any of the previously defined categories, it can be defined as a novel message, and a data analyst is alerted by e- mail or otherwise.
The filter training process begins with a feature extraction process, executed by the feature extractor 26 cluster describer 32, that extracts terms (words, phrases and/or n-grams) that are useful to distinguish one category from another. This advantageously uses the cluster describer for extracting words and phrases, however, if desired, other feature extraction processes may be used. The words, phrases and n-grams so selected are called terms, and these terms are stored in a dictionary 27. Each example in the training set is then represented by a term vector, describing frequencies of appearance of terms from dictionary 27 in the example. The filter generator 31 then uses these term vectors to learn models for discriminating each category from the others. The filter generator 31 then generates a filter 33 containing data representing the resulting models. This requires special machine learning technique capable of dealing with sparse high-dimensional data spaces. The particular learning technique that is used is that for Support Vector Machines (SNM). The technique is described in the specification of Australian Patent Application PQ6844/00, which is incorporated herein by reference. SNM is a relatively novel approach to supervised learning used for both classification and regression problems. The word supervised refers to the fact that the data is labelled. The aim of training in such a case is to look for patterns in the data that conform to this labelling, and to build a model correlated with the labels and capable of predicting labels for new examples with high accuracy. This is different from the unsupervised learning or clustering used in the clusterer 12, whereby a natural or inherent groupings are developed, based on patterns in the data.
SNM techniques are particularly useful for text categorisation due to the fact that text categorisation involves large sparse feature spaces, and SNMs have the potential to handle such feature spaces. The training algorithm is used by the filter module 14 both to learn from very few examples as well as to learn long-term filters using large numbers of examples. The filter 33 contains information that is used by the filter applier 35 to determine a numerical score for a new message which has been converted to a term vector. The term vector provides occurrence frequencies for terms in the dictionary 27 that appear in the message. In the simplest case of an SNM with linear kernel, the filter 33 for a category is simply a vector of weights, one for each entry in the dictionary 27. The filter applier then determines a dot product between the term vector of the message and the weight vector for the category to obtain a numerical score: m scoreij = J vikfjk, k=ι where wik , k = 1,.., m is a weight vector for the category / and fjk , k= 1,..., m, is the term vector for message j.
The Trend Analyser 18 performs two primary functions. The first is to track specific categories of messages over different time periods. This may be as simple as a comparison of the number of messages in a chosen category at different time periods. However, the analyser also performs a thorough analysis of category variation at different periods, such as movement of the centroid (average of word frequency vector for the messages in that category), categorisation confidence, and other indications of category change. Thus, this functionality is focussed on understanding a single document category over time. If there are very few messages for a particular category in consecutive time periods, this might indicate that the corresponding filter is no longer required. Conversely, if the number of messages within a group is getting larger and unmanageable, it may be necessary to use the clusterer 12 to create finer partitioning of this category.
The second function of the trend analyser 18 is to compare different categorisations of the same documents in order to determine a coherent and useful classification for these documents. When using the filter module 14 to create categorisations for ongoing analysis, it may be necessary to check that the nature of the actual documents has not deviated too far from the filters that were created, and that the filters are up-to-date. This requires a user to compare the categorisations produced by the clusterer 12 with those produced by the filter module 14, and to highlight the differences so that filter definitions may be modified accordingly. Thus, this functionality is focussed on analysing the whole message space and what categories need to be defined to understand that space.
The document categorisation system 10 may be used in several modes. Several examples of applications are:
(i) One-off analysis, e.g., to understand information from customer surveys. This mode requires only the clusterer 12 and editor/browser 16 in order to understand broad tendencies expressed in surveys. (ii) On-going analysis of unstructured information, e.g., to understand and monitor customer complaints. In this mode, firstly messages are clustered and hierarchies edited during the initial period in order to identify coherent categories, and then filters are created for these categories in order to classify new data. Novel messages may then need to be clustered in new categories. Thus, this mode requires all four modules 12 to 18 of the system 10.
(iii) Relevance feedback mode for on-going analysis of information that is well understood, but not necessarily categorised. In this mode, data analysts may know roughly what categories they need, although they may not have a large set of examples to define these categories. In this mode, the following steps are executed: (a) create a filter for a specific category by learning from very few examples;
(b) use the filter to sort all messages so that those in the category appear at the top;
(c) use the sorted list to manually increase the number examples for that category; and
(d) iterate through steps (a) to (c) until a satisfactory filter is created. This mode uses manual feedback information regarding the accuracy of the filter to modify the filter very quickly. This can be used as a tool to quickly create a training set from a large uncategorised set of messages.
This feedback loop may be incorporated into a number of different applications. In a search engine, this loop may be used to refine results based on relevance feedback. In a spam filter, it may be used for quickly creating examples of spam and non-spam email messages. This mode requires the filter module 14 and the editor/browser 16 to be suitably tailored.
The relevance feedback mode can be used for once-off analysis as described in (i) on its own, or in conjunction with clustering.
(iv) Adaptive learning of multiple filters, e.g., routing of customer communications where different filters not only provide rejections, but also suggestions as to which other filter should have been the recipient of a particular message. This mode is similar to the previous mode except that multiple filters are adjusted simultaneously, in response to feedback from multiple human operators.
(v) Thesaurus creation mode, for understanding how different words/acronyms used in the messages relate to each other. The words are clustered based on which documents they appear in, and this organisation may be browsed and edited to understand the relationship between words.
Service providers such as telecommunication companies, banks and insurance companies often need to process large numbers of short text messages, such as complaints, exit interviews, survey information, and so on. As described above, these messages are typically written down under time constraints, and consequently they may be short and contain abbreviations and typing/spelling errors. Despite this, such messages generally capture the writer's intent/meaning very clearly. Once captured, these text messages are usually associated with structured information such as the category of customer, location of service, etc. The structured information is typically analysed using a spreadsheet application, while the text messages themselves are ignored or interpreted manually, by a customer service representative, for example.
In an alternative embodiment of the present invention, the clustering and the filtering methods of the categorisation system are embodied in components of a plug-in module 34 for a spreadsheet application 36 such as Microsoft Excel®, as shown in Figure 3. The plug-in module 34 includes a ClusterData module 38, a TrainFilters module 40, a TestFilters module 42, a FilterData module 44, support function modules 46, and interface data 48. The combination of the spreadsheet application 36 and the plug-in module 34 provides a convenient system for categorising short text messages, and allows the spreadsheet application 36 to be used to analyse databases that include both structured information and free-text messages, such as a customer complaints database. In particular, the plug-in 34 provides the ability to:
(i) automatically group related messages into clusters that have natural affinity, and describe these clusters for easy browsing; (ii) manually browse and alter the groupings to suit business needs; (iii) learn models for these groups and save them so that new messages can be classified using these models; and (iv) classify new messages using earlier models.
As shown in Figure 3, the plug-in interface data 48 provides a number of additional buttons 50 to 76 to the spreadsheet application toolbar area 52, allowing a user of the application to analyse free-text data. The buttons include presentation buttons 50 to 60, label buttons 62 to 68, and module invocation buttons 70 to 76. The module invocation buttons 70 to 76 will be described first. A ClusterData button 76 invokes the ClusterData module 38 of the plug-in 34, allowing the user to cluster data selected in a worksheet 78 into groups or categories in order to provide one-off analysis, e.g., to understand information from customer surveys. Each row of the worksheet 78 is considered to be a separate entry or record to be clustered. Each entry may be associated with one or more category labels which are integers that identify the categories to which the entry belongs, as described below.
A TrainFilters button 70 invokes the TrainFilters module 40 for learning a model of the various groups or categories on the basis of selected data in the worksheet 78. The selected data includes the textual data for each entry, and category labels used to identify the categories to which each entry belongs. Such models may be used for on-going analysis of unstructured information, e.g. , to understand and monitor customer complaints. A TestFilters button 72 invokes the TestFilters module 42 that tests the models created by the TrainFilters module 40 on data whose labels are known. For example, a simple sanity check for a new model is to select the data that was used for training in order to confirm that the model can at least classify the training data correctly.
A RunFilters button 74 invokes the FilterData module 44 that uses the models created by TrainFilters module 40 on new (i.e., uncategorised) data. In this case, the labels of input entries are unknown, and the models are used to predict labels.
The remaining buttons 50 to 68 invoke support function modules 46 that allow easy visualisation and manipulation of groups and individual entries in order to facilitate the structuring of textual data within the spreadsheet application 36. These support functions 46, along with the analysis buttons 70 to 76, may be used to perform one-off analysis of textual data, e.g., to understand information from customer surveys, and/or on-going analysis of unstructured information, e.g., to understand and monitor customer complaints. In the latter mode, it is first necessary to cluster and edit groups in order to identify coherent categories, and then create filters for these categories for classifying new data. Novel messages may then need to be clustered and new categories created if there are sufficient numbers of novel messages of any one category.
For example, column C of the worksheet area 78 of Figure 4 includes customer text sent to a service provider from mobile telephones using short message services (SMS). The text entries contain typing errors and non-alphanumeric characters. In this example, columns A and B contain structured data which is ignored: Column A provides a list of unique message identifiers, and column B provides a timestamp indicating when the corresponding message was received. The plug-in module 34 of Figure 4 allows related messages to be identified by invoking the ClusterData module 38. The ClusterData module 38 groups together textually related entities within a selected region of data in the worksheet area 78, and highlights key descriptors in each group to facilitate visual determination of whether a group is homogeneous or not. When the ClusterData button 76 is selected, the ClusterData module 38 begins processing the selected data. If the first row of the selection is the heading row (i.e., row number 1), it is ignored. Each of the other rows of the selected data is considered an entity, and textually related entities are brought together by rearranging the order of rows within the selection using the clustering methods described above. Each row may include structured data for other analyses (e.g., columns A and B in this example), but the last column (which may be the only column) contains the textual information that is used for clustering. The output of the ClusterData module 38 is provided in a. new worksheet and allows the user to readily perceive the key clustering concepts. As shown in Figure 5, each row includes a cluster identification number column 80, a cluster size column 82, description columns 84 to 92 for each cluster, an initially empty filter identifier column 94, and the original input data in the last three columns 96 to 100. The maximum number of descriptions per cluster is specified by the user, and has been set to five in the example implementation shown in Figures 6 to 9. The last column 100 of the original input containing the textual data is modified so that key descriptors of the cluster are highlighted by colour. The rows are sorted so that rows with the same cluster identifier are together, and clusters with larger number of entries appear before those with smaller number of entries to ensure that a large number of entries can be processed quickly by the user. Initially, only one row per cluster is presented so that key concepts/topics from the textual data may be readily perceived by visual inspection. Alternate cluster rows are shaded in order to visually distinguish adjacent clusters from each other.
This initial presentation may be altered by means of presentation buttons 50 to 60. A HideDescription button 50 allows the user to hide the five columns 84 to 92 containing the cluster descriptors. The highlighting of descriptors in the textual data ensures that it is still possible to determine the descriptions when the descriptor columns 84 to 92 are hidden. A ShowDescription button 52 reverses the effect of the HideDescription button 50. An ExpandOne button 58 expands the presentation to show all the entries for one cluster. An ExpandAll button 60 performs the same function for all clusters within the selection. This enables quick visual inspection of one or all clusters so as to identify whether clusters are homogeneous or not. A CollapseOne button 54 and a CollapseAll button 56 reverse the effects of the ExpandOne button 58 and ExpandAll button 60, respectively. Using the presentation buttons 50 to 60, clustered data may be easily inspected for major conceptual categories that emerge from the data. For instance, cluster numbers 1, 4 and 7 of Figure 5 belong to the same conceptual grouping of people expressing greetings. Depending on the outcome required, these groups may be further merged with other groups such as 6, 9 and 21 as a single category that does not require any action from the service provider.
After text categories have been determined, a large number of entries may be annotated with a filter/category label. The process of annotation is facilitated by means of label buttons 62 to 68. A DefaultLabels button 66 labels each entry, i.e., creates a filter identifier label in the filter identifier column 94, by copying the numeric value from the cluster identifier column 80. If the number of clusters is small, and the clusters are homogeneous, this is a quick method for labelling entries. A LabelOne button 62 copies the label (from the filter identifier column 94) from the first entry (i.e., row) of a cluster down to all other entries of the same cluster. A Label All button 64 performs this action for all clusters within the selection. These buttons 62, 64 simplify labelling because all the user is required to do is to first check the homogeneity of clusters, then label the first entry of each cluster, and then use the LabelOne button 62 or the LabelAll button 64 to label the other entries of the clusters.
A CreateMidtipleLabels button 68 may be used to allow entries to belong to multiple categories by expanding the single label provided by the filter identifier column 94 to provide one column for each of the different labels (i.e., categories) within the selected region, as shown in Figure 6. Fields in the header row provide descriptors for the categories, and each entry within a data row provides an integer boolean value (i.e., 1 or 0) indicating whether the corresponding entry belongs to that category.
The TrainFilters module 40 uses supervised learning to model the categories that have been defined by the ClusterData module 38 and may have been modified by the user editing the worksheet directly and/or using the labelling buttons 62 to 68. Input to the TrainFilters module 40 has a particular form, beginning with label columns 102 and ending with the textual data column 100, as shown in Figure 6. The category label columns 102 in this example were obtained by using the CreateMultipleLabels button 68 after labelling the data using the cluster identifier, the highlighting of keywords to determine whether entries belong to a particular group, and the LabelOne button 62 and the LabelAll button 64. After this initial labelling, an entry may be placed into multiple categories, if desired (e.g., message numbers 10 and 27). The labelled data, which was first sorted in the order of cluster identifier for ease of labelling, has been resorted so that it is in ascending order of the message identifier. If desired, zero values in the category columns 102 can be hidden to improve data visualisation, as shown in Figure 8.
The TrainFilters module 40 learns a model for each category/label after the required rows/columns in the worksheet 78 are selected. Because the category/label information and the textual data for learning come from an arbitrarily-positioned selected portion of a single worksheet 78, the TrainFilters module 40 requires the number of labels and the starting column of labels to be input by the user, and for the label columns to be contiguous. The first row is assumed to be the header row and is ignored. Models are then learnt from the textual data and the labels (which identify a filter) in the other selected rows using the training method described above.
The output from the TrainFilters module 40 is provided as a new worksheet, as shown in Figure 7. The worksheet includes the input data columns 96 to 100, the label columns 102, and additional information in newly introduced columns (coloured blue) 104, 106. The new score columns 104 provide a score for each label/entry combination. The scores are colour-coded, with positive scores in a black typeface and negative scores in a red typeface. For the purposes of categorisation, an entry is deemed to belong to all those categories for which it has a positive score. However, for a higher confidence level, the threshold can be changed from 0 to a positive value. The error column 106 indicates whether there is an error in classification for each entry; that is, whether the classifications indicated by the category columns 102 are consistent with the values in the score columns 104. Errors in the training set are generally rare, since the model is learnt on the basis of the training set. A more thorough validation of the model may be provided by using the TestFilters module 42.
The TrainFilters module 40 produces internal models for each of the categories. These models can then be used for classification using the TestFilters module 42 or the FilterData module 44. Optionally, the scores may be automatically converted to confidence levels, which represent an estimate of the probability that an entry belongs to the corresponding category. The TestFilters module 42 uses the models created by TrainFilters 40 on a data set whose labels are known. It provides a more thorough validation of a model, because the model was created without reference to these labels and data. The input and output formats for the TestFilters module 42 are the same as those for the TrainFilters module 40. However, the error column is more likely to be populated when the models are used to categorise new data.
The FilterData module 44 uses the models created by TrainFilters 40 to classify a data set whose labels are unknown. The input format is the same as that for clustering (one entry per row, with the first row assumed to be a header row). As shown in Figure 8, the FilterData module 44 creates score columns 104 and category columns 102. The first n columns 104 (where n is the number of labels/categories) provide the score, with positive scores in black and negative scores in red. The next n columns 102 have either a 1 for all those labels that have a score greater than 0 (or the threshold value set by the user), or are empty. The 1 in a column corresponding to a label indicates that the entry belongs to that category/label. Because the scores are present, the threshold may be adjusted if a more stringent classification is required, without the need for further analysis.
Many modifications will be apparent to those skilled in the art without departing from the scope of the present invention as herein described with reference to the accompanying drawings.

Claims

CLAIMS:
1. A document categorisation system including: a clusterer for generating clusters of related electronic documents based on features extracted from said documents; and a filter module for generating a filter on the basis of said clusters to categorise further documents received by said system.
2. A document categorisation system including: a clusterer for generating clusters of related electronic documents based on features extracted from said documents; and an editor for browsing and modifying said clusters.
3. A document categorisation system as claimed any one of claims 1 and 2, wherein said clusterer is adapted to extract features from electronic documents, determine significant features from said extracted features, and generate clusters of said documents based on said significant features.
4. A document categorisation system as claimed in any one of the preceding claims, wherein the clusterer further includes a cluster describer module for generating text describing each cluster.
5. A document categorisation system including: an editor for browsing and modifying clustered documents; and a filter module for generating a filter on the basis of features of said clusters to categorise further documents received by said system.
6. A document categorisation system as claimed any one of the preceding claims, wherein said features include at least one of n-grams, words and phrases.
7. A document categorisation system including: a clusterer for generating clusters of documents by executing unsupervised learning on said documents; and a filter module for generating a filter to categorise received documents by executing supervised learning on said clusters.
8. A document categorisation system as claimed in claim 1 or claim 7, further including an editor for adjusting said clusters.
9. A document categorisation system as claimed in any one of the preceding claims, further including a trend analyzer for determining trends of document categories over time.
10. A method for categorising documents, including creating categories for said documents based on feature extraction, where said features include at least one of n-grams, words and phrases.
11. A method for categorising documents, including: creating categories for said documents, based on feature extraction; and manually modifying said categories with a category editor.
12. A method for categorising documents, as claimed in claim 10 or claim 11, including selecting features of said documents based on respective discriminating abilities of the features.
13. A method for categorising documents, as claimed in claim 12, wherein each said discriminating ability is based on similarities for said documents with and without said feature.
14. A method for categorising a document, including: creating a document filter for a pre-existing document category by analysing preexisting documents in said category; and applying said filter to said document in order to determine whether said document belongs in said category.
15. A method as claimed in claim 14, including generating descriptive labels for large document sets.
16. A method as claimed in claim 14, wherein said filter is also used to produce descriptive labels for large document sets.
17. A method as claimed in claim 15, wherein said descriptive labels include at least one of phrases and sentences.
18. A method as claimed in any one of claims 10 to 13, wherein said features are described by an n-gram extraction process.
19. A method as claimed in any one of claims 14 to 17, wherein said filters are generated using features which are selected using an n-gram extraction process.
20. A method as claimed in any one of claims 10 to 19, include determining a trend of a document category over time.
21. A data categorisation module for use with a spreadsheet application, said module including: a cluster module for generating clusters of related data from data in a document of the spreadsheet application, based on extracted features of said data; and a training module for generating a filter on the basis of said clusters to categorise further data.
22. A data categorisation module as claimed in claim 21, including a filtering module for categorising further data on the basis of said filter.
23. A data categorisation module as claimed in claim 21, wherein said data includes a plurality of entries in the document.
24. A data categorisation module as claimed in claim 23, wherein said entries include text data to be used for categorising said plurality of entries, and structured data.
25. A data categorisation module as claimed in claim 21, wherein said cluster module is adapted to generate a cluster identifier for identifying a cluster to which an entry of said data belongs, and a cluster size value for identifying the size of said cluster.
26. A data categorisation module as claimed in claim 25, wherein said cluster module is adapted to generate at least one category descriptor for said entry.
27. A data categorisation module as claimed in claim 21, wherein said cluster module generates a worksheet column for identifying a category of each entry of said data.
28. A data categorisation module as claimed in claim 27, wherein said cluster module generates a formatted version of data of an entry for indicating a category descriptor of said entry.
29. A data categorisation module as claimed in claim 21, wherein said data categorisation module includes a module for testing said filters by categorising training data on the basis of filters generated using said training data.
30. A data categorisation module as claimed in claim 21, wherein said data categorisation module includes labelling functions for generating a category identifier for an entry of said data.
31. A data categorisation module as claimed in claim 30, wherein said document is a worksheet and said functions include a labelling function for generating a plurality of category columns of said worksheet for identifying at least one category of an entry.
32. A data categorisation module as claimed in claim 22, wherein said filtering module generates a respective score for each category of an entry.
33. A data categorisation module as claimed in claim 32, wherein said filtering module generates an error for an entry if any one of said scores is inconsistent with a respective category identifier.
34. A data categorisation module as claimed in claim 32, wherein a score indicates that the corresponding entry belongs to a respective category if said score exceeds a predetermined value.
35. A data categorisation module as claimed in claim 34, wherein the default value of said pre-determined value is zero.
36. A data categorisation module as claimed in claim 34, wherein scores exceeding said pre-determined value are formatted differently than scores less than said value.
37. A data categorisation module as claimed in claim 32, wherein a score may be used to calculate a probability that said entry belongs to the corresponding category.
38. A data categorisation module for use with a spreadsheet application, said module including a cluster module for generating clusters of related data from data in a document of the spreadsheet application, based on extracted features of said data.
39. A method of data categorisation in a spreadsheet application, including the steps of: a cluster module for generating clusters of related data from data in a document of the spreadsheet application, based on extracted features of said data; and a training module for generating a filter on the basis of said clusters to categorise further data.
PCT/AU2001/001198 2000-09-25 2001-09-25 A document categorisation system WO2002025479A1 (en)

Priority Applications (6)

Application Number Priority Date Filing Date Title
US10/363,188 US20040100022A1 (en) 2000-09-25 2001-09-04 Puzzle
EP01971495A EP1323078A4 (en) 2000-09-25 2001-09-25 A document categorisation system
CA2423033A CA2423033C (en) 2000-09-25 2001-09-25 A document categorisation system
AU2001291494A AU2001291494A1 (en) 2000-09-25 2001-09-25 A document categorisation system
NZ524988A NZ524988A (en) 2000-09-25 2001-09-25 A document categorisation system
US10/514,470 US7971150B2 (en) 2000-09-25 2001-09-25 Document categorisation system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
AUPR0338A AUPR033800A0 (en) 2000-09-25 2000-09-25 A document categorisation system
AUPR0338 2000-09-25

Publications (2)

Publication Number Publication Date
WO2002025479A1 true WO2002025479A1 (en) 2002-03-28
WO2002025479B1 WO2002025479B1 (en) 2002-05-10

Family

ID=3824404

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/AU2001/001198 WO2002025479A1 (en) 2000-09-25 2001-09-25 A document categorisation system

Country Status (6)

Country Link
US (2) US20040100022A1 (en)
EP (1) EP1323078A4 (en)
AU (1) AUPR033800A0 (en)
CA (1) CA2423033C (en)
NZ (1) NZ524988A (en)
WO (1) WO2002025479A1 (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
NL1020670C2 (en) * 2002-05-24 2003-11-25 Oce Tech Bv Determining a semantic image.
EP1613103A1 (en) 2004-07-02 2006-01-04 Société Française du Radiotéléphone Method for detection of redundant messages in a message stream
EP1654676A1 (en) * 2003-06-19 2006-05-10 Siebel Systems, Inc. Intelligent data search
WO2008030510A2 (en) * 2006-09-06 2008-03-13 Nexplore Corporation System and method for weighted search and advertisement placement
CN101984435A (en) * 2010-11-17 2011-03-09 百度在线网络技术(北京)有限公司 Method and device for distributing texts
US8166030B2 (en) 2001-12-18 2012-04-24 Telstra Corporation Limited Information resource taxonomy
CN105868781A (en) * 2016-03-29 2016-08-17 国云科技股份有限公司 Method for classifying computer files based on Naive Bayes Classifier algorithm
FR3094508A1 (en) * 2019-03-29 2020-10-02 Orange Data enrichment system and method

Families Citing this family (202)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7356461B1 (en) * 2002-01-14 2008-04-08 Nstein Technologies Inc. Text categorization method and apparatus
US7426509B2 (en) * 2002-11-15 2008-09-16 Justsystems Evans Research, Inc. Method and apparatus for document filtering using ensemble filters
US7725544B2 (en) * 2003-01-24 2010-05-25 Aol Inc. Group based spam classification
US7089241B1 (en) * 2003-01-24 2006-08-08 America Online, Inc. Classifier tuning based on data similarities
US7590695B2 (en) 2003-05-09 2009-09-15 Aol Llc Managing electronic messages
RU2635259C1 (en) * 2016-06-22 2017-11-09 Общество с ограниченной ответственностью "Аби Девелопмент" Method and device for determining type of digital document
US7610313B2 (en) * 2003-07-25 2009-10-27 Attenex Corporation System and method for performing efficient document scoring and clustering
US7209908B2 (en) * 2003-09-18 2007-04-24 Microsoft Corporation Data classification using stochastic key feature generation
US7346839B2 (en) * 2003-09-30 2008-03-18 Google Inc. Information retrieval based on historical data
US7191175B2 (en) 2004-02-13 2007-03-13 Attenex Corporation System and method for arranging concept clusters in thematic neighborhood relationships in a two-dimensional visual display space
US20050262039A1 (en) * 2004-05-20 2005-11-24 International Business Machines Corporation Method and system for analyzing unstructured text in data warehouse
US7698339B2 (en) * 2004-08-13 2010-04-13 Microsoft Corporation Method and system for summarizing a document
TWI254880B (en) * 2004-10-18 2006-05-11 Avectec Com Inc Method for classifying electronic document analysis
US20060212142A1 (en) * 2005-03-16 2006-09-21 Omid Madani System and method for providing interactive feature selection for training a document classification system
US10127130B2 (en) 2005-03-18 2018-11-13 Salesforce.Com Identifying contributors that explain differences between a data set and a subset of the data set
US8782087B2 (en) 2005-03-18 2014-07-15 Beyondcore, Inc. Analyzing large data sets to find deviation patterns
US9792359B2 (en) * 2005-04-29 2017-10-17 Entit Software Llc Providing training information for training a categorizer
US9047290B1 (en) 2005-04-29 2015-06-02 Hewlett-Packard Development Company, L.P. Computing a quantification measure associated with cases in a category
US20070004309A1 (en) * 2005-07-01 2007-01-04 John Hinnen Aerodynamic throwing toy
GB2430073A (en) * 2005-09-08 2007-03-14 Univ East Anglia Analysis and transcription of music
US8341112B2 (en) * 2006-05-19 2012-12-25 Microsoft Corporation Annotation by search
US8386232B2 (en) * 2006-06-01 2013-02-26 Yahoo! Inc. Predicting results for input data based on a model generated from clusters
US20080005137A1 (en) * 2006-06-29 2008-01-03 Microsoft Corporation Incrementally building aspect models
US20080189171A1 (en) * 2007-02-01 2008-08-07 Nice Systems Ltd. Method and apparatus for call categorization
US8930331B2 (en) 2007-02-21 2015-01-06 Palantir Technologies Providing unique views of data based on changes or rules
US8239460B2 (en) * 2007-06-29 2012-08-07 Microsoft Corporation Content-based tagging of RSS feeds and E-mail
US8005782B2 (en) * 2007-08-10 2011-08-23 Microsoft Corporation Domain name statistical classification using character-based N-grams
US8041662B2 (en) * 2007-08-10 2011-10-18 Microsoft Corporation Domain name geometrical classification using character-based n-grams
US20090063470A1 (en) * 2007-08-28 2009-03-05 Nogacom Ltd. Document management using business objects
US9081852B2 (en) * 2007-10-05 2015-07-14 Fujitsu Limited Recommending terms to specify ontology space
US20090119281A1 (en) * 2007-11-03 2009-05-07 Andrew Chien-Chung Wang Granular knowledge based search engine
GB2463515A (en) * 2008-04-23 2010-03-24 British Telecomm Classification of online posts using keyword clusters derived from existing posts
GB2459476A (en) * 2008-04-23 2009-10-28 British Telecomm Classification of posts for prioritizing or grouping comments.
JP5347334B2 (en) * 2008-05-29 2013-11-20 富士通株式会社 Summary work support processing method, apparatus and program
US7921584B2 (en) * 2008-06-04 2011-04-12 Michael Kestner Kinetic sculptural system and assembly of interconnected modules
US20100042623A1 (en) * 2008-08-14 2010-02-18 Junlan Feng System and method for mining and tracking business documents
JP5098914B2 (en) * 2008-09-11 2012-12-12 富士通株式会社 Message pattern generation program, method and apparatus
US10747952B2 (en) 2008-09-15 2020-08-18 Palantir Technologies, Inc. Automatic creation and server push of multiple distinct drafts
US8170966B1 (en) * 2008-11-04 2012-05-01 Bitdefender IPR Management Ltd. Dynamic streaming message clustering for rapid spam-wave detection
US8543569B2 (en) * 2009-01-13 2013-09-24 Infotrieve, Inc. System and method for the centralized management of a document ordering and delivery program
US8484200B2 (en) * 2009-01-13 2013-07-09 Infotrieve, Inc. System and method for the centralized management of a document ordering and delivery program
EP2216947A1 (en) * 2009-02-10 2010-08-11 Alcatel Lucent Method of identifying spam messages
US8396850B2 (en) * 2009-02-27 2013-03-12 Red Hat, Inc. Discriminating search results by phrase analysis
US8527500B2 (en) * 2009-02-27 2013-09-03 Red Hat, Inc. Preprocessing text to enhance statistical features
JP5647602B2 (en) * 2009-04-27 2015-01-07 パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America Data processing apparatus, data processing method, program, and integrated circuit
US8296309B2 (en) * 2009-05-29 2012-10-23 H5 System and method for high precision and high recall relevancy searching
US10891659B2 (en) 2009-05-29 2021-01-12 Red Hat, Inc. Placing resources in displayed web pages via context modeling
US9430566B2 (en) * 2009-07-11 2016-08-30 International Business Machines Corporation Control of web content tagging
US8713018B2 (en) 2009-07-28 2014-04-29 Fti Consulting, Inc. System and method for displaying relationships between electronically stored information to provide classification suggestions via inclusion
US9092411B2 (en) * 2009-08-18 2015-07-28 Miosoft Corporation Understanding data in data sets
EP2471009A1 (en) 2009-08-24 2012-07-04 FTI Technology LLC Generating a reference set for use during document review
US20110072047A1 (en) * 2009-09-21 2011-03-24 Microsoft Corporation Interest Learning from an Image Collection for Advertising
US20120197910A1 (en) * 2009-10-11 2012-08-02 Patrick Sander Walsh Method and system for performing classified document research
WO2011149608A1 (en) * 2010-05-25 2011-12-01 Beyondcore, Inc. Identifying and using critical fields in quality management
US8359279B2 (en) 2010-05-26 2013-01-22 Microsoft Corporation Assisted clustering
US9703782B2 (en) 2010-05-28 2017-07-11 Microsoft Technology Licensing, Llc Associating media with metadata of near-duplicates
US8903798B2 (en) 2010-05-28 2014-12-02 Microsoft Corporation Real-time annotation and enrichment of captured video
US9268878B2 (en) 2010-06-22 2016-02-23 Microsoft Technology Licensing, Llc Entity category extraction for an entity that is the subject of pre-labeled data
US8671040B2 (en) * 2010-07-23 2014-03-11 Thomson Reuters Global Resources Credit risk mining
CN102457250B (en) * 2010-10-20 2015-04-15 Tcl集团股份有限公司 Collected data filter processing method and device
US8645298B2 (en) 2010-10-26 2014-02-04 Microsoft Corporation Topic models
US8559682B2 (en) 2010-11-09 2013-10-15 Microsoft Corporation Building a person profile database
US9342590B2 (en) * 2010-12-23 2016-05-17 Microsoft Technology Licensing, Llc Keywords extraction and enrichment via categorization systems
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
US9678992B2 (en) 2011-05-18 2017-06-13 Microsoft Technology Licensing, Llc Text to image translation
US9547693B1 (en) 2011-06-23 2017-01-17 Palantir Technologies Inc. Periodic database search manager for multiple data sources
US9092482B2 (en) 2013-03-14 2015-07-28 Palantir Technologies, Inc. Fair scheduling for mixed-query loads
US8799240B2 (en) 2011-06-23 2014-08-05 Palantir Technologies, Inc. System and method for investigating large amounts of data
US8732574B2 (en) 2011-08-25 2014-05-20 Palantir Technologies, Inc. System and method for parameterizing documents for automatic workflow generation
US8504542B2 (en) 2011-09-02 2013-08-06 Palantir Technologies, Inc. Multi-row transactions
US8990224B1 (en) * 2011-11-14 2015-03-24 Google Inc. Detecting document text that is hard to read
US8713028B2 (en) * 2011-11-17 2014-04-29 Yahoo! Inc. Related news articles
US10796232B2 (en) 2011-12-04 2020-10-06 Salesforce.Com, Inc. Explaining differences between predicted outcomes and actual outcomes of a process
US10802687B2 (en) 2011-12-04 2020-10-13 Salesforce.Com, Inc. Displaying differences between different data sets of a process
US8977620B1 (en) * 2011-12-27 2015-03-10 Google Inc. Method and system for document classification
US8954519B2 (en) 2012-01-25 2015-02-10 Bitdefender IPR Management Ltd. Systems and methods for spam detection using character histograms
US9130778B2 (en) 2012-01-25 2015-09-08 Bitdefender IPR Management Ltd. Systems and methods for spam detection using frequency spectra of character strings
US9239848B2 (en) 2012-02-06 2016-01-19 Microsoft Technology Licensing, Llc System and method for semantically annotating images
CA2865187C (en) * 2012-05-15 2015-09-22 Whyz Technologies Limited Method and system relating to salient content extraction for electronic content
US9569327B2 (en) * 2012-10-03 2017-02-14 Xerox Corporation System and method for labeling alert messages from devices for automated management
US9348677B2 (en) 2012-10-22 2016-05-24 Palantir Technologies Inc. System and method for batch evaluation programs
US9123086B1 (en) 2013-01-31 2015-09-01 Palantir Technologies, Inc. Automatically generating event objects from images
US9251292B2 (en) 2013-03-11 2016-02-02 Wal-Mart Stores, Inc. Search result ranking using query clustering
US10037314B2 (en) 2013-03-14 2018-07-31 Palantir Technologies, Inc. Mobile reports
US8868486B2 (en) 2013-03-15 2014-10-21 Palantir Technologies Inc. Time-sensitive cube
US8917274B2 (en) 2013-03-15 2014-12-23 Palantir Technologies Inc. Event matrix based on integrated data
US8909656B2 (en) 2013-03-15 2014-12-09 Palantir Technologies Inc. Filter chains with associated multipath views for exploring large data sets
US8937619B2 (en) 2013-03-15 2015-01-20 Palantir Technologies Inc. Generating an object time series from data objects
US10275778B1 (en) 2013-03-15 2019-04-30 Palantir Technologies Inc. Systems and user interfaces for dynamic and interactive investigation based on automatic malfeasance clustering of related data in various data structures
US9965937B2 (en) 2013-03-15 2018-05-08 Palantir Technologies Inc. External malware data item clustering and analysis
US8788405B1 (en) 2013-03-15 2014-07-22 Palantir Technologies, Inc. Generating data clusters with customizable analysis strategies
CN103258000B (en) * 2013-03-29 2017-02-08 北界无限(北京)软件有限公司 Method and device for clustering high-frequency keywords in webpages
US8799799B1 (en) 2013-05-07 2014-08-05 Palantir Technologies Inc. Interactive geospatial map
US9275291B2 (en) 2013-06-17 2016-03-01 Texifter, LLC System and method of classifier ranking for incorporation into enhanced machine learning
US9223773B2 (en) 2013-08-08 2015-12-29 Palatir Technologies Inc. Template system for custom document generation
US9335897B2 (en) 2013-08-08 2016-05-10 Palantir Technologies Inc. Long click display of a context menu
US8713467B1 (en) 2013-08-09 2014-04-29 Palantir Technologies, Inc. Context-sensitive views
JP5669904B1 (en) * 2013-09-06 2015-02-18 株式会社Ubic Document search system, document search method, and document search program for providing prior information
US9785317B2 (en) 2013-09-24 2017-10-10 Palantir Technologies Inc. Presentation and analysis of user interaction data
US8938686B1 (en) 2013-10-03 2015-01-20 Palantir Technologies Inc. Systems and methods for analyzing performance of an entity
US8812960B1 (en) 2013-10-07 2014-08-19 Palantir Technologies Inc. Cohort-based presentation of user interaction data
US9990422B2 (en) * 2013-10-15 2018-06-05 Adobe Systems Incorporated Contextual analysis engine
US10430806B2 (en) 2013-10-15 2019-10-01 Adobe Inc. Input/output interface for contextual analysis engine
US10235681B2 (en) 2013-10-15 2019-03-19 Adobe Inc. Text extraction module for contextual analysis engine
US9116975B2 (en) 2013-10-18 2015-08-25 Palantir Technologies Inc. Systems and user interfaces for dynamic and interactive simultaneous querying of multiple data stores
US8924872B1 (en) 2013-10-18 2014-12-30 Palantir Technologies Inc. Overview user interface of emergency call data of a law enforcement agency
US9021384B1 (en) 2013-11-04 2015-04-28 Palantir Technologies Inc. Interactive vehicle information map
US8868537B1 (en) 2013-11-11 2014-10-21 Palantir Technologies, Inc. Simple web search
US9105000B1 (en) 2013-12-10 2015-08-11 Palantir Technologies Inc. Aggregating data from a plurality of data sources
US9734217B2 (en) 2013-12-16 2017-08-15 Palantir Technologies Inc. Methods and systems for analyzing entity performance
US9552615B2 (en) 2013-12-20 2017-01-24 Palantir Technologies Inc. Automated database analysis to detect malfeasance
US10356032B2 (en) 2013-12-26 2019-07-16 Palantir Technologies Inc. System and method for detecting confidential information emails
US9043696B1 (en) 2014-01-03 2015-05-26 Palantir Technologies Inc. Systems and methods for visual definition of data associations
US8832832B1 (en) 2014-01-03 2014-09-09 Palantir Technologies Inc. IP reputation
US9009827B1 (en) 2014-02-20 2015-04-14 Palantir Technologies Inc. Security sharing system
US9483162B2 (en) 2014-02-20 2016-11-01 Palantir Technologies Inc. Relationship visualizations
US9727376B1 (en) 2014-03-04 2017-08-08 Palantir Technologies, Inc. Mobile tasks
US8935201B1 (en) 2014-03-18 2015-01-13 Palantir Technologies Inc. Determining and extracting changed data from a data source
US10127229B2 (en) 2014-04-23 2018-11-13 Elsevier B.V. Methods and computer-program products for organizing electronic documents
US9857958B2 (en) 2014-04-28 2018-01-02 Palantir Technologies Inc. Systems and user interfaces for dynamic and interactive access of, investigation of, and analysis of data objects stored in one or more databases
US9483457B2 (en) * 2014-04-28 2016-11-01 International Business Machines Corporation Method for logical organization of worksheets
US9009171B1 (en) 2014-05-02 2015-04-14 Palantir Technologies Inc. Systems and methods for active column filtering
US9535974B1 (en) 2014-06-30 2017-01-03 Palantir Technologies Inc. Systems and methods for identifying key phrase clusters within documents
US9619557B2 (en) 2014-06-30 2017-04-11 Palantir Technologies, Inc. Systems and methods for key phrase characterization of documents
US9202249B1 (en) 2014-07-03 2015-12-01 Palantir Technologies Inc. Data item clustering and analysis
US9785773B2 (en) 2014-07-03 2017-10-10 Palantir Technologies Inc. Malware data item analysis
US10572496B1 (en) 2014-07-03 2020-02-25 Palantir Technologies Inc. Distributed workflow system and database with access controls for city resiliency
US9256664B2 (en) * 2014-07-03 2016-02-09 Palantir Technologies Inc. System and method for news events detection and visualization
US9842586B2 (en) 2014-07-09 2017-12-12 Genesys Telecommunications Laboratories, Inc. System and method for semantically exploring concepts
US20190332619A1 (en) * 2014-08-07 2019-10-31 Cortical.Io Ag Methods and systems for mapping data items to sparse distributed representations
US9454281B2 (en) 2014-09-03 2016-09-27 Palantir Technologies Inc. System for providing dynamic linked panels in user interface
US9767172B2 (en) 2014-10-03 2017-09-19 Palantir Technologies Inc. Data aggregation and analysis system
US9501851B2 (en) 2014-10-03 2016-11-22 Palantir Technologies Inc. Time-series analysis system
US9785328B2 (en) 2014-10-06 2017-10-10 Palantir Technologies Inc. Presentation of multivariate data on a graphical user interface of a computing system
US9984133B2 (en) 2014-10-16 2018-05-29 Palantir Technologies Inc. Schematic and database linking system
US9229952B1 (en) 2014-11-05 2016-01-05 Palantir Technologies, Inc. History preserving data pipeline system and method
US9043894B1 (en) 2014-11-06 2015-05-26 Palantir Technologies Inc. Malicious software detection in a computing system
US10362133B1 (en) 2014-12-22 2019-07-23 Palantir Technologies Inc. Communication data processing architecture
US9348920B1 (en) 2014-12-22 2016-05-24 Palantir Technologies Inc. Concept indexing among database of documents using machine learning techniques
US9367872B1 (en) 2014-12-22 2016-06-14 Palantir Technologies Inc. Systems and user interfaces for dynamic and interactive investigation of bad actor behavior based on automatic clustering of related data in various data structures
US10552994B2 (en) 2014-12-22 2020-02-04 Palantir Technologies Inc. Systems and interactive user interfaces for dynamic retrieval, analysis, and triage of data items
US9335911B1 (en) 2014-12-29 2016-05-10 Palantir Technologies Inc. Interactive user interface for dynamic data analysis exploration and query processing
US9870205B1 (en) 2014-12-29 2018-01-16 Palantir Technologies Inc. Storing logical units of program code generated using a dynamic programming notebook user interface
US9817563B1 (en) 2014-12-29 2017-11-14 Palantir Technologies Inc. System and method of generating data points from one or more data stores of data items for chart creation and manipulation
US10372879B2 (en) 2014-12-31 2019-08-06 Palantir Technologies Inc. Medical claims lead summary report generation
US10387834B2 (en) 2015-01-21 2019-08-20 Palantir Technologies Inc. Systems and methods for accessing and storing snapshots of a remote application in a document
US10176253B2 (en) 2015-01-28 2019-01-08 International Business Machines Corporation Fusion of cluster labeling algorithms by analyzing sub-clusters
US9727560B2 (en) 2015-02-25 2017-08-08 Palantir Technologies Inc. Systems and methods for organizing and identifying documents via hierarchies and dimensions of tags
EP3611632A1 (en) 2015-03-16 2020-02-19 Palantir Technologies Inc. Displaying attribute and event data along paths
US9886467B2 (en) 2015-03-19 2018-02-06 Plantir Technologies Inc. System and method for comparing and visualizing data entities and data entity series
US9392008B1 (en) 2015-07-23 2016-07-12 Palantir Technologies Inc. Systems and methods for identifying information related to payment card breaches
US9454785B1 (en) 2015-07-30 2016-09-27 Palantir Technologies Inc. Systems and user interfaces for holistic, data-driven investigation of bad actor behavior based on clustering and scoring of related data
US9996595B2 (en) 2015-08-03 2018-06-12 Palantir Technologies, Inc. Providing full data provenance visualization for versioned datasets
US9456000B1 (en) 2015-08-06 2016-09-27 Palantir Technologies Inc. Systems, methods, user interfaces, and computer-readable media for investigating potential malicious communications
US9600146B2 (en) 2015-08-17 2017-03-21 Palantir Technologies Inc. Interactive geospatial map
US10489391B1 (en) 2015-08-17 2019-11-26 Palantir Technologies Inc. Systems and methods for grouping and enriching data items accessed from one or more databases for presentation in a user interface
US10102369B2 (en) 2015-08-19 2018-10-16 Palantir Technologies Inc. Checkout system executable code monitoring, and user account compromise determination system
US10853378B1 (en) 2015-08-25 2020-12-01 Palantir Technologies Inc. Electronic note management via a connected entity graph
US11150917B2 (en) 2015-08-26 2021-10-19 Palantir Technologies Inc. System for data aggregation and analysis of data from a plurality of data sources
US9485265B1 (en) 2015-08-28 2016-11-01 Palantir Technologies Inc. Malicious activity detection system capable of efficiently processing data accessed from databases and generating alerts for display in interactive user interfaces
US10706434B1 (en) 2015-09-01 2020-07-07 Palantir Technologies Inc. Methods and systems for determining location information
US9576015B1 (en) 2015-09-09 2017-02-21 Palantir Technologies, Inc. Domain-specific language for dataset transformations
US10296617B1 (en) 2015-10-05 2019-05-21 Palantir Technologies Inc. Searches of highly structured data
US9424669B1 (en) 2015-10-21 2016-08-23 Palantir Technologies Inc. Generating graphical representations of event participation flow
US10613722B1 (en) 2015-10-27 2020-04-07 Palantir Technologies Inc. Distorting a graph on a computer display to improve the computer's ability to display the graph to, and interact with, a user
US9542446B1 (en) 2015-12-17 2017-01-10 Palantir Technologies, Inc. Automatic generation of composite datasets based on hierarchical fields
US9823818B1 (en) 2015-12-29 2017-11-21 Palantir Technologies Inc. Systems and interactive user interfaces for automatic generation of temporal representation of data objects
US10268735B1 (en) 2015-12-29 2019-04-23 Palantir Technologies Inc. Graph based resolution of matching items in data sources
US10089289B2 (en) 2015-12-29 2018-10-02 Palantir Technologies Inc. Real-time document annotation
US9612723B1 (en) 2015-12-30 2017-04-04 Palantir Technologies Inc. Composite graphical interface with shareable data-objects
US10698938B2 (en) 2016-03-18 2020-06-30 Palantir Technologies Inc. Systems and methods for organizing and identifying documents via hierarchies and dimensions of tags
US10650558B2 (en) 2016-04-04 2020-05-12 Palantir Technologies Inc. Techniques for displaying stack graphs
AU2017274558B2 (en) 2016-06-02 2021-11-11 Nuix North America Inc. Analyzing clusters of coded documents
US10318568B2 (en) 2016-06-07 2019-06-11 International Business Machines Corporation Generation of classification data used for classifying documents
US10007674B2 (en) 2016-06-13 2018-06-26 Palantir Technologies Inc. Data revision control in large-scale data analytic systems
RU2634180C1 (en) 2016-06-24 2017-10-24 Акционерное общество "Лаборатория Касперского" System and method for determining spam-containing message by topic of message sent via e-mail
US10719188B2 (en) 2016-07-21 2020-07-21 Palantir Technologies Inc. Cached database and synchronization system for providing dynamic linked panels in user interface
US10324609B2 (en) 2016-07-21 2019-06-18 Palantir Technologies Inc. System for providing dynamic linked panels in user interface
US10437840B1 (en) 2016-08-19 2019-10-08 Palantir Technologies Inc. Focused probabilistic entity resolution from multiple data sources
US9881066B1 (en) 2016-08-31 2018-01-30 Palantir Technologies, Inc. Systems, methods, user interfaces and algorithms for performing database analysis and search of information involving structured and/or semi-structured data
US10572221B2 (en) 2016-10-20 2020-02-25 Cortical.Io Ag Methods and systems for identifying a level of similarity between a plurality of data representations
US10318630B1 (en) 2016-11-21 2019-06-11 Palantir Technologies Inc. Analysis of large bodies of textual data
US10552436B2 (en) 2016-12-28 2020-02-04 Palantir Technologies Inc. Systems and methods for retrieving and processing data for display
US10460602B1 (en) 2016-12-28 2019-10-29 Palantir Technologies Inc. Interactive vehicle information mapping system
US10628278B2 (en) * 2017-01-26 2020-04-21 International Business Machines Corporation Generation of end-user sessions from end-user events identified from computer system logs
US10776693B2 (en) * 2017-01-31 2020-09-15 Xerox Corporation Method and system for learning transferable feature representations from a source domain for a target domain
US10475219B1 (en) 2017-03-30 2019-11-12 Palantir Technologies Inc. Multidimensional arc chart for visual comparison
US10956406B2 (en) 2017-06-12 2021-03-23 Palantir Technologies Inc. Propagated deletion of database records and derived data
US10403011B1 (en) 2017-07-18 2019-09-03 Palantir Technologies Inc. Passing system with an interactive user interface
US11100425B2 (en) * 2017-10-31 2021-08-24 International Business Machines Corporation Facilitating data-driven mapping discovery
US10929476B2 (en) 2017-12-14 2021-02-23 Palantir Technologies Inc. Systems and methods for visualizing and analyzing multi-dimensional data
US11599369B1 (en) 2018-03-08 2023-03-07 Palantir Technologies Inc. Graphical user interface configuration system
US10754822B1 (en) 2018-04-18 2020-08-25 Palantir Technologies Inc. Systems and methods for ontology migration
US10885021B1 (en) 2018-05-02 2021-01-05 Palantir Technologies Inc. Interactive interpreter and graphical user interface
US11119630B1 (en) 2018-06-19 2021-09-14 Palantir Technologies Inc. Artificial intelligence assisted evaluations and user interface for same
US20210026874A1 (en) * 2018-07-24 2021-01-28 Ntt Docomo, Inc. Document classification device and trained model
WO2020129031A1 (en) * 2018-12-21 2020-06-25 Element Ai Inc. Method and system for generating investigation cases in the context of cybersecurity
US11481578B2 (en) * 2019-02-22 2022-10-25 Neuropace, Inc. Systems and methods for labeling large datasets of physiological records based on unsupervised machine learning
US10540381B1 (en) 2019-08-09 2020-01-21 Capital One Services, Llc Techniques and components to find new instances of text documents and identify known response templates
KR20210083706A (en) * 2019-12-27 2021-07-07 삼성전자주식회사 Apparatus and method for classifying a category of data
US11657071B1 (en) * 2020-03-13 2023-05-23 Wells Fargo Bank N.A. Mapping disparate datasets
US11734332B2 (en) 2020-11-19 2023-08-22 Cortical.Io Ag Methods and systems for reuse of data item fingerprints in generation of semantic maps

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0704810A1 (en) * 1994-09-30 1996-04-03 Hitachi, Ltd. Method and apparatus for classifying document information
WO1998058344A1 (en) * 1997-06-16 1998-12-23 The Dialog Corporation Text classification system and method
US5857179A (en) * 1996-09-09 1999-01-05 Digital Equipment Corporation Computer method and apparatus for clustering documents and automatic generation of cluster keywords
US5864855A (en) * 1996-02-26 1999-01-26 The United States Of America As Represented By The Secretary Of The Army Parallel document clustering process
EP1024437A2 (en) * 1999-01-26 2000-08-02 Xerox Corporation Multi-modal information access
US6167397A (en) * 1997-09-23 2000-12-26 At&T Corporation Method of clustering electronic documents in response to a search query

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4706956A (en) * 1982-07-02 1987-11-17 Abu Shumays Ibrahim K Regular polyhedron puzzles
US4513970A (en) * 1983-01-24 1985-04-30 Ovidiu Opresco Polymorphic twist puzzle
CS277266B6 (en) * 1990-11-08 1992-12-16 Hrsel Karel Three-dimensioned jig-saw puzzle
JP2774397B2 (en) * 1991-08-23 1998-07-09 富士写真フイルム株式会社 Document recording / retrieval method and apparatus
GB9220404D0 (en) * 1992-08-20 1992-11-11 Nat Security Agency Method of identifying,retrieving and sorting documents
US5548697A (en) 1994-12-30 1996-08-20 Panasonic Technologies, Inc. Non-linear color corrector having a neural network and using fuzzy membership values to correct color and a method thereof
WO1996023265A1 (en) * 1995-01-23 1996-08-01 British Telecommunications Public Limited Company Methods and/or systems for accessing information
EP0738526A3 (en) * 1995-04-20 1997-08-27 Dario Cabrera Irregular polyhedron puzzle game with pieces of asimetric shapes
US5675710A (en) * 1995-06-07 1997-10-07 Lucent Technologies, Inc. Method and apparatus for training a text classifier
US6006221A (en) * 1995-08-16 1999-12-21 Syracuse University Multilingual document retrieval system and method using semantic vector matching
US5948058A (en) * 1995-10-30 1999-09-07 Nec Corporation Method and apparatus for cataloging and displaying e-mail using a classification rule preparing means and providing cataloging a piece of e-mail into multiple categories or classification types based on e-mail object information
US5745893A (en) * 1995-11-30 1998-04-28 Electronic Data Systems Corporation Process and system for arrangement of documents
US5819258A (en) * 1997-03-07 1998-10-06 Digital Equipment Corporation Method and apparatus for automatically generating hierarchical categories from large document collections
US6298351B1 (en) * 1997-04-11 2001-10-02 International Business Machines Corporation Modifying an unreliable training set for supervised classification
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
US6128613A (en) * 1997-06-26 2000-10-03 The Chinese University Of Hong Kong Method and apparatus for establishing topic word classes based on an entropy cost function to retrieve documents represented by the topic words
US6032146A (en) * 1997-10-21 2000-02-29 International Business Machines Corporation Dimension reduction for data mining application
US6122628A (en) * 1997-10-31 2000-09-19 International Business Machines Corporation Multidimensional data clustering and dimension reduction for indexing and searching
US5953718A (en) * 1997-11-12 1999-09-14 Oracle Corporation Research mode for a knowledge base search and retrieval system
US6012058A (en) * 1998-03-17 2000-01-04 Microsoft Corporation Scalable system for K-means clustering of large databases
US7194471B1 (en) * 1998-04-10 2007-03-20 Ricoh Company, Ltd. Document classification system and method for classifying a document according to contents of the document
US6446061B1 (en) * 1998-07-31 2002-09-03 International Business Machines Corporation Taxonomy generation for document collections
US6360215B1 (en) * 1998-11-03 2002-03-19 Inktomi Corporation Method and apparatus for retrieving documents based on information other than document content
US6480843B2 (en) * 1998-11-03 2002-11-12 Nec Usa, Inc. Supporting web-query expansion efficiently using multi-granularity indexing and query processing
JP3347088B2 (en) * 1999-02-12 2002-11-20 インターナショナル・ビジネス・マシーンズ・コーポレーション Related information search method and system
US6665681B1 (en) * 1999-04-09 2003-12-16 Entrieva, Inc. System and method for generating a taxonomy from a plurality of documents
US6560594B2 (en) * 1999-05-13 2003-05-06 International Business Machines Corporation Cube indices for relational database management systems
US6442545B1 (en) * 1999-06-01 2002-08-27 Clearforest Ltd. Term-level text with mining with taxonomies
JP3793085B2 (en) * 1999-08-06 2006-07-05 レキシス ネクシス System and method for categorizing legal concepts using legal topic systems
US6430547B1 (en) * 1999-09-22 2002-08-06 International Business Machines Corporation Method and system for integrating spatial analysis and data mining analysis to ascertain relationships between collected samples and geology with remotely sensed data
FR2799023B1 (en) * 1999-09-24 2003-04-18 France Telecom METHOD FOR THEMATIC CLASSIFICATION OF DOCUMENTS, MODULE FOR THEMATIC CLASSIFICATION AND SEARCH ENGINE INCORPORATING SUCH A MODULE
US6424971B1 (en) * 1999-10-29 2002-07-23 International Business Machines Corporation System and method for interactive classification and analysis of data
US6701314B1 (en) * 2000-01-21 2004-03-02 Science Applications International Corporation System and method for cataloguing digital information for searching and retrieval
US6922706B1 (en) * 2000-04-27 2005-07-26 International Business Machines Corporation Data mining techniques for enhancing shelf-space management
US6766035B1 (en) * 2000-05-03 2004-07-20 Koninklijke Philips Electronics N.V. Method and apparatus for adaptive position determination video conferencing and other applications

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0704810A1 (en) * 1994-09-30 1996-04-03 Hitachi, Ltd. Method and apparatus for classifying document information
US5864855A (en) * 1996-02-26 1999-01-26 The United States Of America As Represented By The Secretary Of The Army Parallel document clustering process
US5857179A (en) * 1996-09-09 1999-01-05 Digital Equipment Corporation Computer method and apparatus for clustering documents and automatic generation of cluster keywords
WO1998058344A1 (en) * 1997-06-16 1998-12-23 The Dialog Corporation Text classification system and method
US6167397A (en) * 1997-09-23 2000-12-26 At&T Corporation Method of clustering electronic documents in response to a search query
EP1024437A2 (en) * 1999-01-26 2000-08-02 Xerox Corporation Multi-modal information access

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP1323078A4 *

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8166030B2 (en) 2001-12-18 2012-04-24 Telstra Corporation Limited Information resource taxonomy
NL1020670C2 (en) * 2002-05-24 2003-11-25 Oce Tech Bv Determining a semantic image.
EP1365331A2 (en) * 2002-05-24 2003-11-26 Océ-Technologies B.V. Determination of a semantic snapshot
EP1365331A3 (en) * 2002-05-24 2003-12-17 Océ-Technologies B.V. Determination of a semantic snapshot
US7409336B2 (en) 2003-06-19 2008-08-05 Siebel Systems, Inc. Method and system for searching data based on identified subset of categories and relevance-scored text representation-category combinations
EP1654676A1 (en) * 2003-06-19 2006-05-10 Siebel Systems, Inc. Intelligent data search
EP1654676A4 (en) * 2003-06-19 2007-03-14 Siebel Systems Inc Intelligent data search
FR2872601A1 (en) * 2004-07-02 2006-01-06 Radiotelephone Sfr METHOD FOR DETECTING REDUNDANT MESSAGES IN A MESSAGE FLOW
EP1613103A1 (en) 2004-07-02 2006-01-04 Société Française du Radiotéléphone Method for detection of redundant messages in a message stream
WO2008030510A2 (en) * 2006-09-06 2008-03-13 Nexplore Corporation System and method for weighted search and advertisement placement
WO2008030510A3 (en) * 2006-09-06 2008-04-24 Nexplore Corp System and method for weighted search and advertisement placement
CN101984435A (en) * 2010-11-17 2011-03-09 百度在线网络技术(北京)有限公司 Method and device for distributing texts
CN105868781A (en) * 2016-03-29 2016-08-17 国云科技股份有限公司 Method for classifying computer files based on Naive Bayes Classifier algorithm
FR3094508A1 (en) * 2019-03-29 2020-10-02 Orange Data enrichment system and method
WO2020201662A1 (en) * 2019-03-29 2020-10-08 Orange System and method for enriching data

Also Published As

Publication number Publication date
US20060089924A1 (en) 2006-04-27
CA2423033A1 (en) 2002-03-28
US7971150B2 (en) 2011-06-28
US20040100022A1 (en) 2004-05-27
WO2002025479B1 (en) 2002-05-10
NZ524988A (en) 2005-02-25
CA2423033C (en) 2012-12-04
EP1323078A1 (en) 2003-07-02
AUPR033800A0 (en) 2000-10-19
EP1323078A4 (en) 2005-03-02

Similar Documents

Publication Publication Date Title
US7971150B2 (en) Document categorisation system
Inzalkar et al. A survey on text mining-techniques and application
US20040049499A1 (en) Document retrieval system and question answering system
CN109471944A (en) Training method, device and the readable storage medium storing program for executing of textual classification model
CN112633011B (en) Research front edge identification method and device for fusing word semantics and word co-occurrence information
CN112052356A (en) Multimedia classification method, apparatus and computer-readable storage medium
CN112131876A (en) Method and system for determining standard problem based on similarity
Sangodiah et al. Taxonomy Based Features in Question Classification Using Support Vector Machine.
CN112307336A (en) Hotspot information mining and previewing method and device, computer equipment and storage medium
CN115618014A (en) Standard document analysis management system and method applying big data technology
CN114239828A (en) Supply chain affair map construction method based on causal relationship
CN110245234A (en) A kind of multi-source data sample correlating method based on ontology and semantic similarity
CN111681731A (en) Method for automatically marking colors of inspection report
Neshatian et al. Text categorization and classification in terms of multi-attribute concepts for enriching existing ontologies
CN116501875A (en) Document processing method and system based on natural language and knowledge graph
Vadivel et al. An Effective Document Category Prediction System Using Support Vector Machines, Mann-Whitney Techniques
Segev Identifying the multiple contexts of a situation
AU2008202064B2 (en) A data categorisation system
AU2001291494A1 (en) A document categorisation system
CN111767404A (en) Event mining method and device
Ramachandran et al. Document Clustering Using Keyword Extraction
Thambi et al. Graph based document model and its application in keyphrase extraction
Rana et al. Concept extraction from ambiguous text document using k-means
CN100378713C (en) Method and apparatus for automatically determining salient features for object classification
Gheni et al. Suggesting new words to extract keywords from title and abstract

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PH PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2423033

Country of ref document: CA

WWE Wipo information: entry into national phase

Ref document number: 2001971495

Country of ref document: EP

Ref document number: 2001291494

Country of ref document: AU

WWE Wipo information: entry into national phase

Ref document number: 524988

Country of ref document: NZ

WWP Wipo information: published in national office

Ref document number: 2001971495

Country of ref document: EP

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

WWP Wipo information: published in national office

Ref document number: 524988

Country of ref document: NZ

WWG Wipo information: grant in national office

Ref document number: 524988

Country of ref document: NZ

ENP Entry into the national phase

Ref document number: 2006089924

Country of ref document: US

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 10514470

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: JP

WWP Wipo information: published in national office

Ref document number: 10514470

Country of ref document: US