CA2423033C - A document categorisation system - Google Patents
A document categorisation system Download PDFInfo
- Publication number
- CA2423033C CA2423033C CA2423033A CA2423033A CA2423033C CA 2423033 C CA2423033 C CA 2423033C CA 2423033 A CA2423033 A CA 2423033A CA 2423033 A CA2423033 A CA 2423033A CA 2423033 C CA2423033 C CA 2423033C
- Authority
- CA
- Canada
- Prior art keywords
- clusters
- categorisation
- document
- data
- items
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
- G06F16/355—Class or cluster creation or modification
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 an aspect of 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.
Another aspect of the present invention 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.
In some embodiments, 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.
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 an aspect of 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.
Another aspect of the present invention 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.
In some embodiments, 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.
In some embodiments, said features include at least one of n-grams, words and phrases. In some embodiments, the clusterer further includes a cluster describer module for generating text describing each cluster.
Another aspect of 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.
Yet another aspect of 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.
The system may further include an editor to adjust said clusters.
The system may further include a trend analyzer for determining trends of document categories over time.
Another aspect of 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 n-grams, words and phrases.
A further aspect of 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.
Another aspect of 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.
Yet another aspect of 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.
The system may further include an editor to adjust said clusters.
The system may further include a trend analyzer for determining trends of document categories over time.
Another aspect of 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 n-grams, words and phrases.
A further aspect of 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.
In some embodiments, said method includes selecting features of said documents based on a respective discriminating ability of each feature.
In some embodiments, said discriminating ability is based on similarities for said documents with and without said feature.
Another aspect of the present invention also provides a method for categorising a document, including:
creating a document filter for a pre-existing document category by analysing pre-existing documents in said category; and applying said filter to said document in order to determine whether said document belongs in said category.
In some embodiments, 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.
In some embodiments, said method includes determining a trend of a document category over time.
Another aspect of 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.
In some embodiments, said discriminating ability is based on similarities for said documents with and without said feature.
Another aspect of the present invention also provides a method for categorising a document, including:
creating a document filter for a pre-existing document category by analysing pre-existing documents in said category; and applying said filter to said document in order to determine whether said document belongs in said category.
In some embodiments, 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.
In some embodiments, said method includes determining a trend of a document category over time.
Another aspect of 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.
In some embodiments, said data categorisation module includes a filtering module for categorising said further data on the basis of said filter.
In some embodiments, 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.
In some embodiments, said cluster module is adapted to generate at least one category descriptor for said entry.
In some embodiments, said cluster module is adapted to generate a worksheet column for identifying a category of each entry of said data.
In some embodiments, said cluster module is adapted to generate a formatted version of text data of an entry for indicating a category descriptor of said entry.
In some embodiments, 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.
In some embodiments, said data categorisation module includes labeling functions for generating a category identifier for an entry of said data. In some embodiments, said labeling functions include a labeling function for generating a plurality of category columns of said worksheet for identifying at least one category of an entry.
In some embodiments, said filtering module generates a respective score for each category of an entry. In some embodiments, said filtering module generates an error for an entry if any one of said scores is inconsistent with a respective category identifier. In some embodiments, a score indicates that the corresponding entry belongs to a respective category if said score exceeds a pre-determined value. In some embodiments, the default value of said pre-determined value is zero.
In some embodiments, scores exceeding said pre-determined value are formatted differently than scores less than said pre-determined value. In some embodiments, the score may be used to calculate the probability that said entry belongs to the corresponding category.
Another aspect of 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.
Another aspect of 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.
There is also provided a document categorisation system, including:
a clusterer configured to apply unsupervised learning to items of electronic data to generate a set of clusters of related ones of said items based on features extracted from said items, said features including at least one of n-grams, words and phrases, and the clusters representing respective item categories;
an interactive cluster editor configured to display the set of clusters to a user and to modify the set of clusters based on input from the user to provide a set of training clusters; and - 5a -a filter module configured to use the set of training clusters as training data for supervised learning to generate categorisation data representing models that distinguish respective ones of said clusters from the other clusters; and a categorisation component configured to use the categorisation data to categorise further items of electronic data into the training clusters.
Another aspect of the invention provides a document categorisation process executed by a computer system, the process including:
applying unsupervised learning to items of electronic data to generate a set of clusters of related ones of said items of electronic data based on features extracted from said items, said features including at least one of n-grams, words and phrases, and the clusters representing respective item categories;
displaying the set of clusters to a user;
receiving cluster modification data from the user;
modifying the set of clusters on the basis of the cluster modification data to provide a set of training clusters;
using the training clusters as training data for supervised learning to generate categorisation data representing models that distinguish respective ones of said clusters from the other clusters; and using said categorisation data to categorise further items of electronic data into one or more of the training clusters.
A component, for a spreadsheet application, configured to execute such a process is also provided.
A data categorisation system may have components for executing such a process.
There is also provided a computer readable storage medium having stored thereon program instructions for executing such a process.
-5b-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 an 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 an 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.
In some embodiments, 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.
In some embodiments, said cluster module is adapted to generate at least one category descriptor for said entry.
In some embodiments, said cluster module is adapted to generate a worksheet column for identifying a category of each entry of said data.
In some embodiments, said cluster module is adapted to generate a formatted version of text data of an entry for indicating a category descriptor of said entry.
In some embodiments, 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.
In some embodiments, said data categorisation module includes labeling functions for generating a category identifier for an entry of said data. In some embodiments, said labeling functions include a labeling function for generating a plurality of category columns of said worksheet for identifying at least one category of an entry.
In some embodiments, said filtering module generates a respective score for each category of an entry. In some embodiments, said filtering module generates an error for an entry if any one of said scores is inconsistent with a respective category identifier. In some embodiments, a score indicates that the corresponding entry belongs to a respective category if said score exceeds a pre-determined value. In some embodiments, the default value of said pre-determined value is zero.
In some embodiments, scores exceeding said pre-determined value are formatted differently than scores less than said pre-determined value. In some embodiments, the score may be used to calculate the probability that said entry belongs to the corresponding category.
Another aspect of 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.
Another aspect of 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.
There is also provided a document categorisation system, including:
a clusterer configured to apply unsupervised learning to items of electronic data to generate a set of clusters of related ones of said items based on features extracted from said items, said features including at least one of n-grams, words and phrases, and the clusters representing respective item categories;
an interactive cluster editor configured to display the set of clusters to a user and to modify the set of clusters based on input from the user to provide a set of training clusters; and - 5a -a filter module configured to use the set of training clusters as training data for supervised learning to generate categorisation data representing models that distinguish respective ones of said clusters from the other clusters; and a categorisation component configured to use the categorisation data to categorise further items of electronic data into the training clusters.
Another aspect of the invention provides a document categorisation process executed by a computer system, the process including:
applying unsupervised learning to items of electronic data to generate a set of clusters of related ones of said items of electronic data based on features extracted from said items, said features including at least one of n-grams, words and phrases, and the clusters representing respective item categories;
displaying the set of clusters to a user;
receiving cluster modification data from the user;
modifying the set of clusters on the basis of the cluster modification data to provide a set of training clusters;
using the training clusters as training data for supervised learning to generate categorisation data representing models that distinguish respective ones of said clusters from the other clusters; and using said categorisation data to categorise further items of electronic data into one or more of the training clusters.
A component, for a spreadsheet application, configured to execute such a process is also provided.
A data categorisation system may have components for executing such a process.
There is also provided a computer readable storage medium having stored thereon program instructions for executing such a process.
-5b-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 an 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 an 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 n-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 n-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 n-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 n-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 n-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:
m fkfjk - s k=1 m m .~2 2 ik fjk k=1 k=1 where sy is the similarity measure, i, j = 1, ..., n represents the document number in the document set, and f 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 centroid, i. e., fik and Y_fik fjk , respectively, with j being the centroid document, the k=1 k=1 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 D1 is used to create the first cluster C1. 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 O(nnz), 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, each 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.
buil", "build". Words and phrases extracted may be stemmed, although that is not necessary. Because the clustering process uses n-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 n-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:
m fkfjk - s k=1 m m .~2 2 ik fjk k=1 k=1 where sy is the similarity measure, i, j = 1, ..., n represents the document number in the document set, and f 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 centroid, i. e., fik and Y_fik fjk , respectively, with j being the centroid document, the k=1 k=1 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 D1 is used to create the first cluster C1. 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 O(nnz), 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, each 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 farther 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 (SVM). The technique is described in the specification of Australian Patent Application PQ6844/00, which is incorporated herein by reference. SVM 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.
SVM techniques are particularly useful for text categorisation due to the fact that text categorisation involves large sparse feature spaces, and SVMs 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.
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 farther 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 (SVM). The technique is described in the specification of Australian Patent Application PQ6844/00, which is incorporated herein by reference. SVM 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.
SVM techniques are particularly useful for text categorisation due to the fact that text categorisation involves large sparse feature spaces, and SVMs 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 SVM 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:
in scoreij = Zwikfjk, k=1 where wik , k = 1,.., in is a weight vector for the category i and f jk , 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.
The term vector provides occurrence frequencies for terms in the dictionary 27 that appear in the message. In the simplest case of an SVM 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:
in scoreij = Zwikfjk, k=1 where wik , k = 1,.., in is a weight vector for the category i and f jk , 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 anew 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.
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 anew 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 LabelAll 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 CreateMultipleLabels 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.
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 LabelAll 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 CreateMultipleLabels 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 (37)
1. A document categorisation system, including:
a clusterer configured to apply unsupervised learning to items of electronic data to generate a set of clusters of related ones of said items based on features extracted from said items, said features including at least one of n-grams, words and phrases, and the clusters representing respective item categories;
an interactive cluster editor configured to display the set of clusters to a user and to modify the set of clusters based on input from the user to provide a set of training clusters; and a filter module configured to use the set of training clusters as training data for supervised learning to generate categorisation data representing models that distinguish respective ones of said clusters from the other clusters; and a categorisation component configured to use the categorisation data to categorise further items of electronic data into the training clusters
a clusterer configured to apply unsupervised learning to items of electronic data to generate a set of clusters of related ones of said items based on features extracted from said items, said features including at least one of n-grams, words and phrases, and the clusters representing respective item categories;
an interactive cluster editor configured to display the set of clusters to a user and to modify the set of clusters based on input from the user to provide a set of training clusters; and a filter module configured to use the set of training clusters as training data for supervised learning to generate categorisation data representing models that distinguish respective ones of said clusters from the other clusters; and a categorisation component configured to use the categorisation data to categorise further items of electronic data into the training clusters
2. The document categorisation system as claimed in claim 1, wherein the interactive cluster editor includes user interface components configured to allow the user to create one or more clusters, delete one or more clusters, and to move one or more of said items or clusters to another cluster.
3. The document categorisation system as claimed in claim 1 or 2, including a trend analyzer for determining trends of item categories over time
4. The document categorisation system as claimed in claim 3, wherein the system is configured to select groups of items of electronic data received over respective time periods, each selected group being provided to the clusterer and the filter module to generate respective categorisation data, the trend analyzer being configured to compare the categorisation data generated by the clusterer with the categorisation data generated by the filter module to determine changes in received items of electronic data over time.
5. The document categorisation system as claimed in any one of claims 1 to 4, wherein the clusterer, filter module, and categorisation component are components of a spreadsheet application.
6. The document categorisation system as claimed in any one of claims 1 to 5, wherein said clusterer is configured to extract features from the items of electronic data, select features from the extracted features based on discriminating abilities of the extracted features, and to generate said clusters of related items of electronic data based on the selected features.
7. The document categorisation system as claimed in any one of claims 1 to 6, including a cluster describer module configured to generate text describing each cluster, and wherein the interactive cluster editor is configured to modify the text describing the clusters based on input from the user.
8. The document categorisation system as claimed in any one of claims 1 to 7, wherein said features include n-grams.
9. The document categorisation system as claimed in any one of claims 1 to 7, wherein said features include n-grams, words, and phrases.
10. The document categorisation system as claimed in any one of claims 1 to 9, wherein at least some of the items of electronic data are electronic documents.
11. A document categorisation process executed by a computer system, the process including:
applying unsupervised learning to items of electronic data to generate a set of clusters of related ones of said items of electronic data based on features extracted from said items, said features including at least one of n-grams, words and phrases, and the clusters representing respective item categories;
displaying the set of clusters to a user;
receiving cluster modification data from the user;
modifying the set of clusters on the basis of the cluster modification data to provide a set of training clusters;
using the training clusters as training data for supervised learning to generate categorisation data representing models that distinguish respective ones of said clusters from the other clusters; and using said categorisation data to categorise further items of electronic data into one or more of the training clusters.
applying unsupervised learning to items of electronic data to generate a set of clusters of related ones of said items of electronic data based on features extracted from said items, said features including at least one of n-grams, words and phrases, and the clusters representing respective item categories;
displaying the set of clusters to a user;
receiving cluster modification data from the user;
modifying the set of clusters on the basis of the cluster modification data to provide a set of training clusters;
using the training clusters as training data for supervised learning to generate categorisation data representing models that distinguish respective ones of said clusters from the other clusters; and using said categorisation data to categorise further items of electronic data into one or more of the training clusters.
12. The document categorisation process as claimed in claim 11, wherein said modifying includes one or more of: creating one or more clusters, deleting one or more clusters, and moving one or more of said items or clusters to another cluster
13. The document categorisation process as claimed in claim 11 or 12, wherein the extraction of features includes-determining features of said items;
determining discriminating abilities of said features; and selecting ones of said features based on said discriminating abilities, wherein the clusters are generated on the basis of the selected features.
determining discriminating abilities of said features; and selecting ones of said features based on said discriminating abilities, wherein the clusters are generated on the basis of the selected features.
14. The document categorisation process as claimed in claim 13, wherein a discriminating ability of each feature is determined by comparing similarities generated for groupings of said items with and without the feature.
15. The document categorisation process as claimed in any one of claims 11 to 14, including:
selecting one or more of said clusters if the number of items in each of said one or more clusters exceeds a threshold value; and generating descriptive labels for the selected one or more clusters.
selecting one or more of said clusters if the number of items in each of said one or more clusters exceeds a threshold value; and generating descriptive labels for the selected one or more clusters.
16. The document categorisation process as claimed in claim 15, wherein the descriptive labels include at least one of phrases and sentences.
17. The document categorisation process as claimed in any one of claims 11 to 16, including determining one or more trends of respective item categories over time
18. The document categorisation process as claimed in any one of claims 11 to 17, wherein at least some of said items of electronic data are electronic documents.
19. The document categorisation process as claimed in any one of claims 11 to 18, wherein at least some of said items of electronic data are entries in at least one worksheet of a spreadsheet document.
20. The document categorisation process as claimed in claim 19, wherein each of said entries includes text data to be used for categorising the entries, and structured data.
21. The document categorisation process as claimed in claim 19 or 20, including generating at least one category descriptor for each entry.
22. The document categorisation process as claimed in any one of claims 19 to 21, including generating a formatted version of data of an entry to indicate a category of said entry.
23. The document categorisation process as claimed in any one of claims 19 to 22, including generating category identifiers for said entries
24. The document categorisation process as claimed in any one of claims 19 to 23, including generating category columns of said at least one worksheet for identifying respective categories of said entries.
25. The document categorisation process as claimed in any one of claims 19 to 24, including generating one or more scores for respective categories of an entry.
26. The document categorisation process as claimed in claim 25, including generating an error for an entry if any one of said one or more scores is inconsistent with a respective category.
27. The document categorisation process as claimed in claim 25 or 26, wherein a score for an entry indicates that the entry belongs to a corresponding category if said score exceeds a pre-determined value.
28. The document categorisation process as claimed in claim 27, wherein the value of said pre-determined value is zero.
29. The document categorisation process as claimed in claim 27 or 28, wherein scores exceeding said pre-determined value are formatted differently than scores less than said value.
30. The document categorisation process as claimed in any one of claims 25 to 29, including generating a probability that said entry belongs to a corresponding category on the basis of said score.
31. The document categorisation process as claimed in any one of claims 11 to 30, including generating a cluster identifier for identifying at least one of said clusters, and a cluster size value for identifying the size of said cluster.
32. The document categorisation process as claimed in any one of claims 11 to 31, further including:
applying unsupervised learning to items of electronic test data to generate a set of test clusters of related ones of said items of electronic test data based on features extracted from said items, said features including at least one of n-grams, words and phrases;
using the test clusters as training data for supervised learning to generate test categorisation data representing models that distinguish respective ones of said test clusters from the other test clusters; and testing said test categorisation data by using it to categorise the items of electronic test data.
applying unsupervised learning to items of electronic test data to generate a set of test clusters of related ones of said items of electronic test data based on features extracted from said items, said features including at least one of n-grams, words and phrases;
using the test clusters as training data for supervised learning to generate test categorisation data representing models that distinguish respective ones of said test clusters from the other test clusters; and testing said test categorisation data by using it to categorise the items of electronic test data.
33. The document categorisation process as claimed in any one of claims 11 to 32, wherein the features include n-grams.
34. The document categorisation process as claimed in claim 33, wherein the features include n-grams, words and phrases.
35. A component for a spreadsheet application, the component being configured to execute the document categorisation process of any one of claims 11 to 34.
36. A data categorisation system having components for executing the document categorisation process of any one of claims 11 to 34.
37. A computer readable storage medium having stored thereon program instructions for executing the document categorisation process of any one of claims 11 to 34.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AUPR0338 | 2000-09-25 | ||
AUPR0338A AUPR033800A0 (en) | 2000-09-25 | 2000-09-25 | A document categorisation system |
PCT/AU2001/001198 WO2002025479A1 (en) | 2000-09-25 | 2001-09-25 | A document categorisation system |
Publications (2)
Publication Number | Publication Date |
---|---|
CA2423033A1 CA2423033A1 (en) | 2002-03-28 |
CA2423033C true CA2423033C (en) | 2012-12-04 |
Family
ID=3824404
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA2423033A Expired - Fee Related CA2423033C (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) |
Families Citing this family (210)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AUPR958901A0 (en) | 2001-12-18 | 2002-01-24 | Telstra New Wave Pty Ltd | Information resource taxonomy |
US7356461B1 (en) * | 2002-01-14 | 2008-04-08 | Nstein Technologies Inc. | Text categorization method and apparatus |
NL1020670C2 (en) * | 2002-05-24 | 2003-11-25 | Oce Tech Bv | Determining a semantic image. |
US7398269B2 (en) * | 2002-11-15 | 2008-07-08 | 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 |
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 |
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 |
FR2872601B1 (en) | 2004-07-02 | 2007-01-19 | Radiotelephone Sfr | METHOD FOR DETECTING REDUNDANT MESSAGES IN A MESSAGE FLOW |
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 |
WO2008030510A2 (en) * | 2006-09-06 | 2008-03-13 | Nexplore Corporation | System and method for weighted search and advertisement placement |
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 |
GB2459476A (en) * | 2008-04-23 | 2009-10-28 | British Telecomm | Classification of posts for prioritizing or grouping comments. |
GB2463515A (en) * | 2008-04-23 | 2010-03-24 | British Telecomm | Classification of online posts using keyword clusters derived from existing posts |
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 |
US8984390B2 (en) | 2008-09-15 | 2015-03-17 | Palantir Technologies, Inc. | One-click sharing for screenshots and related documents |
US8170966B1 (en) * | 2008-11-04 | 2012-05-01 | Bitdefender IPR Management Ltd. | Dynamic streaming message clustering for rapid spam-wave detection |
US8484200B2 (en) * | 2009-01-13 | 2013-07-09 | Infotrieve, Inc. | System and method for the centralized management of a document ordering and delivery program |
US8543569B2 (en) * | 2009-01-13 | 2013-09-24 | 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 |
CN102067128A (en) * | 2009-04-27 | 2011-05-18 | 松下电器产业株式会社 | Data processing device, data processing method, program, and integrated circuit |
US10891659B2 (en) | 2009-05-29 | 2021-01-12 | Red Hat, Inc. | Placing resources in displayed web pages via context modeling |
US8296309B2 (en) * | 2009-05-29 | 2012-10-23 | H5 | System and method for high precision and high recall relevancy searching |
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 |
US8612446B2 (en) * | 2009-08-24 | 2013-12-17 | Fti Consulting, Inc. | System and method for 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 |
WO2011044578A1 (en) | 2009-10-11 | 2011-04-14 | Patrick 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 |
US8903798B2 (en) | 2010-05-28 | 2014-12-02 | Microsoft Corporation | Real-time annotation and enrichment of captured video |
US9703782B2 (en) | 2010-05-28 | 2017-07-11 | Microsoft Technology Licensing, Llc | Associating media with metadata of near-duplicates |
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 |
CN101984435B (en) * | 2010-11-17 | 2012-10-10 | 百度在线网络技术(北京)有限公司 | Method and device for distributing texts |
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 |
US8799240B2 (en) | 2011-06-23 | 2014-08-05 | Palantir Technologies, Inc. | System and method for investigating large amounts of data |
US9092482B2 (en) | 2013-03-14 | 2015-07-28 | Palantir Technologies, Inc. | Fair scheduling for mixed-query loads |
US9547693B1 (en) | 2011-06-23 | 2017-01-17 | Palantir Technologies Inc. | Periodic database search manager for multiple data sources |
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 |
US10802687B2 (en) | 2011-12-04 | 2020-10-13 | Salesforce.Com, Inc. | Displaying differences between different data sets of a process |
US10796232B2 (en) | 2011-12-04 | 2020-10-06 | Salesforce.Com, Inc. | Explaining differences between predicted outcomes and actual outcomes 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 |
WO2013170343A1 (en) * | 2012-05-15 | 2013-11-21 | 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 |
US9380431B1 (en) | 2013-01-31 | 2016-06-28 | Palantir Technologies, Inc. | Use of teams in a mobile application |
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 |
US8917274B2 (en) | 2013-03-15 | 2014-12-23 | Palantir Technologies Inc. | Event matrix based on integrated data |
US8868486B2 (en) | 2013-03-15 | 2014-10-21 | Palantir Technologies Inc. | Time-sensitive cube |
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 |
US8937619B2 (en) | 2013-03-15 | 2015-01-20 | Palantir Technologies Inc. | Generating an object time series from data objects |
US8909656B2 (en) | 2013-03-15 | 2014-12-09 | Palantir Technologies Inc. | Filter chains with associated multipath views for exploring large data sets |
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 |
US9335897B2 (en) | 2013-08-08 | 2016-05-10 | Palantir Technologies Inc. | Long click display of a context menu |
US9223773B2 (en) | 2013-08-08 | 2015-12-29 | Palatir Technologies Inc. | Template system for custom document generation |
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 |
US8924872B1 (en) | 2013-10-18 | 2014-12-30 | Palantir Technologies Inc. | Overview user interface of emergency call data of a law enforcement agency |
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 |
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 |
US10025834B2 (en) | 2013-12-16 | 2018-07-17 | 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 |
US8832832B1 (en) | 2014-01-03 | 2014-09-09 | Palantir Technologies Inc. | IP reputation |
US9043696B1 (en) | 2014-01-03 | 2015-05-26 | Palantir Technologies Inc. | Systems and methods for visual definition of data associations |
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 |
US9483457B2 (en) * | 2014-04-28 | 2016-11-01 | International Business Machines Corporation | Method for logical organization of worksheets |
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 |
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 |
US9256664B2 (en) * | 2014-07-03 | 2016-02-09 | Palantir Technologies Inc. | System and method for news events detection and visualization |
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 |
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 |
US9501851B2 (en) | 2014-10-03 | 2016-11-22 | Palantir Technologies Inc. | Time-series analysis system |
US9767172B2 (en) | 2014-10-03 | 2017-09-19 | Palantir Technologies Inc. | Data aggregation and 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 |
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 |
US9348920B1 (en) | 2014-12-22 | 2016-05-24 | Palantir Technologies Inc. | Concept indexing among database of documents using machine learning techniques |
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 |
US9891808B2 (en) | 2015-03-16 | 2018-02-13 | Palantir Technologies Inc. | Interactive user interfaces for location-based data analysis |
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 |
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 |
US9600146B2 (en) | 2015-08-17 | 2017-03-21 | Palantir Technologies Inc. | Interactive geospatial map |
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 |
US10089289B2 (en) | 2015-12-29 | 2018-10-02 | Palantir Technologies Inc. | Real-time document annotation |
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 |
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 |
CN105868781A (en) * | 2016-03-29 | 2016-08-17 | 国云科技股份有限公司 | Method for classifying computer files based on Naive Bayes Classifier algorithm |
US10650558B2 (en) | 2016-04-04 | 2020-05-12 | Palantir Technologies Inc. | Techniques for displaying stack graphs |
US11068546B2 (en) | 2016-06-02 | 2021-07-20 | Nuix North America Inc. | Computer-implemented system and method for 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 |
US10324609B2 (en) | 2016-07-21 | 2019-06-18 | Palantir Technologies Inc. | System for providing dynamic linked panels in user interface |
US10719188B2 (en) | 2016-07-21 | 2020-07-21 | Palantir Technologies Inc. | Cached database and synchronization 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 |
US10460602B1 (en) | 2016-12-28 | 2019-10-29 | Palantir Technologies Inc. | Interactive vehicle information mapping system |
EP3343403A1 (en) | 2016-12-28 | 2018-07-04 | Palantir Technologies Inc. | Systems and methods for retrieving and processing data for display |
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 |
JPWO2020021845A1 (en) * | 2018-07-24 | 2021-02-15 | 株式会社Nttドコモ | Document classification device and trained model |
US20220078198A1 (en) * | 2018-12-21 | 2022-03-10 | 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 |
FR3094508A1 (en) * | 2019-03-29 | 2020-10-02 | Orange | Data enrichment system and method |
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 |
Family Cites Families (41)
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 |
JP3669016B2 (en) * | 1994-09-30 | 2005-07-06 | 株式会社日立製作所 | Document information classification device |
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 |
EP0807291B1 (en) * | 1995-01-23 | 2000-01-05 | 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 |
WO1997008604A2 (en) * | 1995-08-16 | 1997-03-06 | 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 |
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 |
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 |
US6137911A (en) * | 1997-06-16 | 2000-10-24 | The Dialog Corporation Plc | Test classification system and method |
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 |
US6167397A (en) * | 1997-09-23 | 2000-12-26 | At&T Corporation | Method of clustering electronic documents in response to a search query |
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 |
US6480843B2 (en) * | 1998-11-03 | 2002-11-12 | Nec Usa, Inc. | Supporting web-query expansion efficiently using multi-granularity indexing and query processing |
US6360215B1 (en) * | 1998-11-03 | 2002-03-19 | Inktomi Corporation | Method and apparatus for retrieving documents based on information other than document content |
DE60044220D1 (en) * | 1999-01-26 | 2010-06-02 | Xerox Corp | Multimodal information access |
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 |
NZ516822A (en) * | 1999-08-06 | 2004-05-28 | Lexis Nexis | System and method for classifying legal concepts using legal topic scheme |
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 |
-
2000
- 2000-09-25 AU AUPR0338A patent/AUPR033800A0/en not_active Abandoned
-
2001
- 2001-09-04 US US10/363,188 patent/US20040100022A1/en not_active Abandoned
- 2001-09-25 EP EP01971495A patent/EP1323078A4/en not_active Ceased
- 2001-09-25 WO PCT/AU2001/001198 patent/WO2002025479A1/en active Application Filing
- 2001-09-25 CA CA2423033A patent/CA2423033C/en not_active Expired - Fee Related
- 2001-09-25 US US10/514,470 patent/US7971150B2/en not_active Expired - Fee Related
- 2001-09-25 NZ NZ524988A patent/NZ524988A/en not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
US20060089924A1 (en) | 2006-04-27 |
WO2002025479B1 (en) | 2002-05-10 |
AUPR033800A0 (en) | 2000-10-19 |
EP1323078A4 (en) | 2005-03-02 |
US20040100022A1 (en) | 2004-05-27 |
WO2002025479A1 (en) | 2002-03-28 |
US7971150B2 (en) | 2011-06-28 |
CA2423033A1 (en) | 2002-03-28 |
EP1323078A1 (en) | 2003-07-02 |
NZ524988A (en) | 2005-02-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2423033C (en) | A document categorisation system | |
Inzalkar et al. | A survey on text mining-techniques and application | |
US20150074112A1 (en) | Multimedia Question Answering System and Method | |
JPH10207911A (en) | Document retrieving device | |
Lydia et al. | Correlative study and analysis for hidden patterns in text analytics unstructured data using supervised and unsupervised learning techniques | |
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. | |
CN110019820A (en) | Main suit and present illness history symptom Timing Coincidence Detection method in a kind of case history | |
CN112307336A (en) | Hotspot information mining and previewing method and device, computer equipment and storage medium | |
Visa | Technology of text mining | |
Hull | Information retrieval using statistical classification | |
CN110245234A (en) | A kind of multi-source data sample correlating method based on ontology and semantic similarity | |
CN114239828A (en) | Supply chain affair map construction method based on causal relationship | |
KR102126911B1 (en) | Key player detection method in social media using KeyplayerRank | |
Vadivel et al. | An Effective Document Category Prediction System Using Support Vector Machines, Mann-Whitney Techniques | |
Saeed et al. | An abstractive summarization technique with variable length keywords as per document diversity | |
AU2008202064B2 (en) | A data categorisation system | |
Mishra et al. | Fault Log Text Classification Using Natural Language Processing And Machine Learning For Decision Support | |
CN109213830B (en) | Document retrieval system for professional technical documents | |
Tedmori et al. | Locating knowledge sources through keyphrase extraction | |
Rana et al. | Concept extraction from ambiguous text document using k-means | |
AU2001291494A1 (en) | A document categorisation system | |
Ramachandran et al. | Document Clustering Using Keyword Extraction |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EEER | Examination request | ||
MKLA | Lapsed |
Effective date: 20170925 |