{'fraction_non_alphanumeric': 0.024006001500375095, 'fraction_numerical': 0.01350337584396099, 'mean_word_length': 5.352380952380952, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Parallel implementations of probabilistic latent semantic analysis on graphic processing units

Probabilistic Latent Semantic Analysis (PLSA) has been successfully applied to many text mining tasks such as retrieval, clustering, summarization, etc. PLSA involves iterative computation for a large number of parameters and may take hours or even days to process a large dataset, thus speeding up PLSA is highly motivated in the domain of text mining. Recently, the general purpose graphic processing units (GPGPU) have become a powerful parallel computing platform, not only because of GPU’s multi-core structure and high memory bandwidth, but also because of the recent efforts devoted into building a programming framework to enable developers to easily manipulate GPU’s computing power. In this paper, we introduced two methods to parallelize and speed up PLSA via GPGPU. Related issues are addressed including workload balance, block-thread layout, memory and data access optimization, etc. The GPU in use is NVidia GTX480 (costs $450 in market). Experimental results show that our methods can process 300,000 documents in 12 seconds which is a 33x speedup compared with traditional PLSA implementation running on 3.0GHz Intel Xeon CPU. The significant speedup can bring researchers in the text mining domain brand new experience.