Icon

Topic Modeling Privacy_​SF

Topic Extraction

This workflow shows how to extract topics from text documents using the Topic Extractor node.

It reads textual data from a table (or, alternatively, the data can be fetched directly from news websites using the RSS Feed Reader node) and converts them into documents. The documents are then preprocessed, i.e. tagged, filtered, lemmatized, etc. After that, the Topic Extractor node can be applied to the preprocessed documents. However, the node requires users to input the number of topics that should be extracted beforehand.

There exist already a couple of methods to determine the best number of topics, we would use the "Elbow Method" in this workflow. The method basically runs k-means clustering on the input documents for a range of values of the number of clusters (e.g, from 1 to 20), and for each value calculates the within-cluster sum of squared errors (SSE), which is the sum of the distances of each data point in a cluster to its cluster center. Then, the SSE value for each number of clusters is plotted in a Scatter Plot. The best number of clusters should be the one where there is a drop of the SSE value, giving an angle in the plot.
Note that the Elbow method doesn't always work for all data sets. If there is not a clear elbow to be found in the plot, try using a different approach, like the Silhouette Coefficient.

After finding out the optimal number of clusters/topics for the documents, the Topic Extractor node can be executed and a tag cloud is created to visualize the topics' terms.

Data Reading Preprocessing Elbow Method Transformation This workflow shows how to extract topics from text documents using the Topic Extractor node, and how to determine an optimal number of topics using the Elbow method. Extract topics fromdocumentsPOS tagging, lemmatization, stop word, number, ... filteringFilter terms based ontoo low or high frequenciesCount theoccurances of eachtermCreating one tag cloudfor each topic20 iterationsk: 1-20kCreate bit vectorsfor documentsReduce thedims of featurespaceNode 771Node 772Node 773Node 777Node 778Node 779Assign RowIDTitle (reallyRowID)Rejoin originaldatapropercaseRowIDNode 788Node 789Topic Extractor(Parallel LDA) Preprocessing Preprocessing k-Means Loop End Calculate sum ofsquared errors Term Count Tag Clouds Counting Loop Start Java Edit Variable Find Elbow Document Vector Scatter Plot PCA Variable toTable Column Stop Word Filter Excel Reader (XLS) DuplicateRow Filter Strings To Document Case Converter Table Creator RowID Document DataExtractor Joiner String Manipulation Excel Writer (XLS) Excel Writer (XLS) Data Reading Preprocessing Elbow Method Transformation This workflow shows how to extract topics from text documents using the Topic Extractor node, and how to determine an optimal number of topics using the Elbow method. Extract topics fromdocumentsPOS tagging, lemmatization, stop word, number, ... filteringFilter terms based ontoo low or high frequenciesCount theoccurances of eachtermCreating one tag cloudfor each topic20 iterationsk: 1-20kCreate bit vectorsfor documentsReduce thedims of featurespaceNode 771Node 772Node 773Node 777Node 778Node 779Assign RowIDTitle (reallyRowID)Rejoin originaldatapropercaseRowIDNode 788Node 789Topic Extractor(Parallel LDA) Preprocessing Preprocessing k-Means Loop End Calculate sum ofsquared errors Term Count Tag Clouds Counting Loop Start Java Edit Variable Find Elbow Document Vector Scatter Plot PCA Variable toTable Column Stop Word Filter Excel Reader (XLS) DuplicateRow Filter Strings To Document Case Converter Table Creator RowID Document DataExtractor Joiner String Manipulation Excel Writer (XLS) Excel Writer (XLS)

Nodes

Extensions

Links