Next Article in Journal
Dimensional Synthesis for Multi-Linkage Robots Based on a Niched Pareto Genetic Algorithm
Previous Article in Journal
A NARX Model Reference Adaptive Control Scheme: Improved Disturbance Rejection Fractional-Order PID Control of an Experimental Magnetic Levitation System
Previous Article in Special Issue
Local-Topology-Based Scaling for Distance Preserving Dimension Reduction Method to Improve Classification of Biomedical Data-Sets
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Methodology for Analyzing the Traditional Algorithms Performance of User Reviews Using Machine Learning Techniques

1
Department of Computer Science and Electronics, University Gadjah Mada, Yogyakarta 55281, Indonesia
2
Division of Information & Computer Technology, College of Science & Engineering, Hamad Bin Khalifa University, P.O. Box 5825, Doha, Qatar
3
Department of Computer Science, Khwaja Fareed University of Engineering & Information Technology, Rahim Yar Khan 64200, Pakistan
*
Author to whom correspondence should be addressed.
Algorithms 2020, 13(8), 202; https://doi.org/10.3390/a13080202
Submission received: 12 May 2020 / Revised: 23 June 2020 / Accepted: 2 July 2020 / Published: 18 August 2020
(This article belongs to the Special Issue Advanced Data Mining: Algorithms and Applications)

Abstract

:
Android-based applications are widely used by almost everyone around the globe. Due to the availability of the Internet almost everywhere at no charge, almost half of the globe is engaged with social networking, social media surfing, messaging, browsing and plugins. In the Google Play Store, which is one of the most popular Internet application stores, users are encouraged to download thousands of applications and various types of software. In this research study, we have scraped thousands of user reviews and the ratings of different applications. We scraped 148 application reviews from 14 different categories. A total of 506,259 reviews were accumulated and assessed. Based on the semantics of reviews of the applications, the results of the reviews were classified negative, positive or neutral. In this research, different machine-learning algorithms such as logistic regression, random forest and naïve Bayes were tuned and tested. We also evaluated the outcome of term frequency (TF) and inverse document frequency (IDF), measured different parameters such as accuracy, precision, recall and F1 score (F1) and present the results in the form of a bar graph. In conclusion, we compared the outcome of each algorithm and found that logistic regression is one of the best algorithms for the review-analysis of the Google Play Store from an accuracy perspective. Furthermore, we were able to prove and demonstrate that logistic regression is better in terms of speed, rate of accuracy, recall and F1 perspective. This conclusion was achieved after preprocessing a number of data values from these data sets.

1. Introduction

In an information era where a large amount of data needs to be processed every day, minute and second—and the huge demand on computers with high processing speeds to outcome accurate results within nanoseconds, it is said that all approximately 2.5 quintillion bytes of data can be manually or automatically generated on a daily basis using different tools and application. Moreover, this illustrates the importance of text-mining techniques in handling and classifying data in a meaningful way. There are a variety of applications that help in classifying a string or a text, such as those used to detect user sentiments on comments or tweets and classification of an e-mail as spam. In this research, we were able to categorize data based on a given text and provide some relevant information about the category accordingly using the essential and vital tasks of natural language processing (NLP) [1].
Mobile application stores enable users to search, buy and install mobile-related apps and allow them to add their comments in the form of evaluation and reviews. Such reviews and mobile program ecosystem have plenty of information regarding the user’s expectations and experience. Moreover, here occurs the importance of the role played by programmers and application store regulators who can leverage the data to better understand the audience, their needs and requirements. Browsing mobile application stores show that hundred and thousands of apps are available and implemented every day which makes it necessary to perform aggregation studies using data mining techniques in which some academic studies focuses on user testimonials and mobile program stores, in addition to studies analyzing online product reviews. In this article, we used various algorithms and text classification techniques using Android application reviews [2].
App stores—or application distribution platforms—allow consumers to search, buy and set up applications. These platforms also enable users to discuss their opinions about an application in text testimonials, where they can, e.g., highlight a good feature in a specific application or request for a new feature [3]. Recent studies have revealed that program shop reviews include useful information for analysts. This feedback represents the "voice of the users" and can be employed to drive the growth effort and enhance upcoming releases of the application [4]. In this research, we cover the below main points:
  • We scraped recent Android application reviews by using the scraping technique, i.e., Beautiful Soup 4 (bs4), request, regular expression(re);
  • We scraped raw data from the Google Play Store, collected these data in chunks and normalized the dataset for our analysis;
  • We compared the accuracy of various machine-learning algorithms and found the best algorithm according to the results;
  • Algorithms can check the polarity of sentiment based on whether a review is positive, negative or neutral. We can also prove this using the word cloud corpus.
This research serves our key contributions as below:
  • One of the key findings is that logistic regression performs better compared to random forest and naïve Bayes multinomial to multi-class data;
  • A good preprocessing affects the performance of machine learning models;
  • Term frequency (TF) overall results after preprocessing were better than the term frequency/inverse document frequency (TF/IDF).
Text mining—also referred to as text data—is the process for deriving data in which information is derived via patterns inventing of and trends along with pattern learning [5]. Text mining requires simplifying the input text through parsing—typically, along with the accession of many derived linguistic aspects and the removal of others—and the following insertion into a database, even deriving patterns inside the structured information, and last, interpreting and analyzing the output [6]. Text mining describes a combo of meanings that is novelty and fascination. Typical text mining jobs comprise text categorization, text clustering, concept/entity extraction, production of granular taxonomies, opinion analysis, document summarization and connection mimicking, i.e., understanding links between named entities [7].
Several constraints prevent analysts and development teams from utilizing the information in the reviews. To explain this further, user reviews, which demand considerable effort are available on program stores. Recent research showed that iOS consumers submit around 22 reviews per day per application [8].
Top-rated apps, like Facebook, get more than 4000 reviews. Second, the quality of the reviews fluctuates widely, from helpful advice to sardonic comments. Third, a review is nebulous, which makes it challenging to filter negative from positive feedback. In addition to that, the star rating of a certain application represents the mean of the overall reviews done to be the users combining positive and negative ratings and hence is limited for the application development group [9].
In linguistics, evaluation is the process of relating syntactic constructions, in the degree of words, phrases, sentences and paragraph composing. In addition, it entails removing characteristics specific to the extent that this type of project is possible, to contexts [10]. The components of idiom and figurative speech, being cultural, are often additionally converted into invariant significance in semantic evaluation. Semantics—although associated with pragmatics—is different in that the former deals using term- or sentence-choice in any given circumstance, while pragmatics consider the meaning that is exceptionally derived from tone or context. In other words, in various conditions, semantics is about the meaning and pragmatics, the meaning encoded keywords which are translated by an audience [11]. In information retrieval, TF/IDF, brief for term frequency/inverse document frequency, is a statistic that is meant to reveal how important a word is to some document from the corpus or even some collection. This is often employed as a weighting factor in hunts of user-friendliness and text mining data retrieval. The TF/IDF value rises to the number of times each word appears in the document and the number of documents in the corpus that contain the word; this may help to rectify the fact that states that there are few words that appear more frequently in general [12].
TF/IDF is a common schemes today; TF/IDF is utilized by 83% of text-based recommender systems in libraries. Employing common words in TF/IDF, e.g., posts get a significant weight even when they provide no exact information about common words. In TF/IDF, the more familiar a word in the corpus, the less the weight it receives. Thus, weights are received by common words like posts. However, words, that are assumed to carry additional information receive more weight [13]. Beautiful Soup is a library that is used in Python for extracting data from XML and HTML documents. It functions together with the favorite parser to provide ways of navigating, searching and modifying the parse tree [14].
The RE-module offers sophisticated approaches to produce and utilize rational expressions [15]. A regular expression is a sort of formulation that specifies patterns in strings. The title “regular expression” stems from the prior mathematical treatment of" routine collections. We are still stuck with the term. Describing regular expressions can provide us with a straightforward way to define a pair of related strings by describing. Accordingly, we compose a pattern to summarize a set of strings. This pattern string can be compiled to effectively determines whether and where a given string matches the design [16,17].

2. Literature Review

The authors [18] mechanically extracted relevant features from reviews of programs (e.g., information about bugs, plugins and prerequisites) and analyzed the sentiment related to each. In this study, three major building blocks: (i) topic simulating, (ii) belief investigation and (iii) summarization port are discussed. The subject modeling block aims to find topics that w semantic from textual remarks, extracting the attributes based on the words of every issue. The opinion analysis block detects the sentiment associated with each discovered feature.
The summarization interface provides programmers [19] with an intuitive visualization of these features (i.e., topics)—along with their associated sentiment—providing more valuable information than a ‘star rating’. Our analysis demonstrates that the topic modeling block may organize the information supplied by users into subcategories that facilitate the comprehension of features that may be positive, negative—along with also a neutral impact on the overall evaluation of the program. For seeing user satisfaction, the authors could see that—in spite of the star rating being an extreme measure of investigation—the sentiment analysis method was more precise in capturing the opinion transmitted from the consumer using a remark.
The authors discussed [20] the sentiment analysis of application reviews. In this study, the result shows the sentiment analysis of app review approaches that are helpful for the developers. With these approaches, the developer can accumulate, filter and examine user reviews. In this research, the use of simple language techniques to recognize fine-grained application features in the review studies. In this extract, the user gives an opinion about the known features by providing a typical score to all reviews.
The authors discussed [21] the result of the usage of latent semantic analysis, according to the research experiment on two types of English text. The size of the text is equal to approx. 500 KB. The purpose of using the latent semantic analysis (LSA) is to incarceration all the mutual dependencies among words and their context and provide the context of equitable sizes. These methods are equally essential for attaining superior outcomes. The resulting algorithm proves the control of the set test and translates the result as a desired quality.
According to research [22], text-mining techniques were employed to classify and summarize user reviews. However, due to the unstructured and diverse character of basic online information that is user-generated, text-based inspection mining techniques create complicated models that are prone to overfitting. Within this study, the authors suggested approach, based on frame semantics, for inspection mining.
The authors of [23] propose semantic frames that help generalize in your raw text (individual words) to abstract scenarios (contexts). This representation of text is expected to boost the predictive abilities of inspection mining methods and lower the chances of overfitting.
The authors of [24]—in perfecting user testimonials that are educational into various categories of software—ask about maintenance. First, the authors investigated the operation of frames. Second, the authors proposed and evaluated the performance of multiple summarization algorithms in representative and concise summaries of reviews that were informative. Three datasets of application shop testimonials were used to conduct an experimental investigation.
In another research [25], results have shown that semantic frames may enable an economic review classification process that was quick and exact. Nevertheless, in reviewing summarization jobs, our deductions assert that summarization creates comprehensive summaries than summarization. In closing, authors have introduced MARC 2.0, a review classification and summarization package that implements the algorithms investigated in the analysis.
In another research [26], nowadays, the use of apps has increased with the use of advanced mobile technology. Users prefer to use mobile phones for mobile applications over any other devices. Users already downloaded different mobile applications in their mobile phones and they use these applications and left reviews about it.
The authors of [27] research in the mobile application market, fallacious ranking points, may lead to pushing up mobile apps in the popularity list. Indeed, it turns more periodic for application developers to use fake mechanism. The study has, at this moment, proposed a semantic analysis of application review for fraud detection in mobile apps. First, authors have submitted to detect the misrepresentation by excavating the active periods correctly, also called as leading sessions, of the mobile apps [27].
The authors of [28] have an intention to inspect two types of evidence: ranking-based review and -based and use natural language processing (NLP) to get action words. Next, authors agreed to convert reviews to ratings and finally perform pattern analysis on the session with application data gathered from the application store. Hence, the study proposed an approach to validate its effectiveness and show the scalability of the detection algorithm.
The author of [29]—another research—find user reviews to be a part of available application markets like the Google Play Store. The question arises: How do writers make sense from these and summarize millions of consumer reviews? Unfortunately, beyond straightforward summaries like histograms of consumer evaluations, few analytic tools exist that can provide insights into user testimonials.
According to the research [30], this application may (a) find inconsistencies in reviews (b) identify reasons why consumers prefer or dislike a given program and also provide an interactive, zoomable view of evolving user reviews; and (c) offer valuable insights into the entire application market, differentiating important user issues and preferences of different kinds of programs. The goods on “amazon.com” the mobile application, are constantly evolving, with newer versions immediately superseding the older ones. The App store utilizes an evaluation program, which aggregates each test delegated into a store rating.
Authors describe [31] the researchers resisted the store ratings of more than apps daily, whether the store rating captures the erratic user-satisfaction levels regarding application versions to examine. However, many app version evaluations increased or dropped; their store evaluation was resilient to changes once they had gathered a quantity of raters. The result of ratings is not energetic enough to catch varying user satisfaction levels. This durability is an issue that could discourage programmers from improving program quality.
In this research, authors [32] propose a self-learning base architecture that is used in the analysis process. According to this research, this architecture is best for an analysis of a huge amount of data sources with minimal interference of the user.
In this study, the authors [33] examined the problem of sparse principal component analysis (PCA). The PCA is a tool that is commonly used for the analysis of data as well as for visualization. This study presents an algorithm for a single-factor sparse PCA problem and this algorithm performance is slightly better than the other methods. They use a different type of dataset, for example, news data, voting data, etc. to get their desire results. According to this study, they use convex relaxation methods for good results and for good solation quality greedy algorithm found better in this research.
The authors [34] recommend a framework for discrete records and document modeling of the topical structure. According to the method, this model allocates a word in a text document to a specific topic. There are many-to-many relationship methodologies that are used between the topic and the words, as well as among the topic and documents. LDA makes this model easy, and it can easily use with the complex architecture. This model is not only feasible in the document cluster for the topic, but also reasonable in various dimensions. This model was found to be efficient at improving several traditional models.
In another research, reference [35] propose a method probabilistic latent semantic analysis for unsupervised learning and its base on a latent statistical model. This method is very accurate than normal LSA because of its base on statistical approaches. This research found for fitting procedure tempered expectation maximization is the dominant method. Result prove the study get their desired result and PLSA is an excellent method use with a various application that is based on information extracting and text learning.
The authors of [36] propose a new visualization engine called automatic exploration of textual collections for healthcare (ACE-HEALTH), which is used to analyze medical data using latent Dirichlet allocation (LDA). This engine combines various visualization techniques to provide controllable revealing consoles. The result shows the effectiveness of this engine with its compactness.
The result proposes an encouraging method that is used in the current scenario. The current methods of machine learning are feasible for this dataset and prove better results. Experiments also show the use of these combined features can improve the model of machine learning and improve performance.

3. Materials and Methods

This section consists of the explanation of the dataset used for data collection, its visualization and the proposed methodology used in our research on the chosen dataset.

3.1. Data collection Description

In this research, we scraped thousands of user reviews and ratings of different applications based on different categories, as shown in Figure 1. We selected 14 categories from the Google Play Store, and scraped different applications from each class, as shown in Table 1. These application categories were: action, arcade, card, communication, finance, health and fitness, photography, shopping, sports, video player editor, weather, casual medical and racing. We scraped thousands of reviews and ratings of application and converted these data into a “.CSV” file format. After this, we are applied a preprocess to remove special characters, remove a single character, remove a single character from the start, subtract multiple spaces with single spaces, remove prefixes, convert data into lowercase. We used stop words and a stemming technique on data in the “.CSV” file. We then evaluated the results by using different machine-learning algorithms to find the best algorithm for classification. We downloaded 148 apps that appeared in 14 categories from the Google Play Store, fetched several reviews and entered the required pages according to the reviews. We collected a total of 506,259 reviews from the Google Play Store website, as shown in Figure 1. To fetch the data, in the first step we used a requests library. We used Python’s Scikit-Learn library (Pedregosa, Varoquaux, Gramfort, Michel, Thirion, Grisel & Vanderplas, 2011) for machine learning because this library provides machine-learning algorithms like classification, regression, clustering, model validation, etc. [32]. The requests library allows the user to send HTTP/1.1 requests using Python to add content like headers. This library enabled users to process response data in Python. Then we used the Re-library for text processing. A regular expression is a unique sequence of characters that help the user match or find other strings or sets of strings, using a specific syntax held in a pattern. After using the Re-library, we used the Beautiful Soup library to extract data from the HTML and XML files. The measurement of scraped results from different categories is shown in Table 1.

3.2. Methodology

In this methodology for classification, we started by scraping application reviews. On Google Play Store using the AppID request for the scrape, we scraped the reviews of a specific application for several pages with reviews and ratings of the applications. We have scraped this dataset to classify user reviews that were positive, negative or neutral review. After scraping the bulk raw reviews, the next step was preprocessing of those reviews. In preprocessing different levels, we normalized our reviews after preprocessing. These steps involved removing a particular character, deleting a single character, removing a single character from the start, subtracting multiple spaces with individual spaces and removing prefixes, then converting data into lowercase. At the end of these, stop words and stemming was performed. These were the main steps for refining our reviews. After improving reviews, the bag of words approach was presented. In the next level, apply term frequency (TF) on reviews by using a Python language. After this, we applied term frequency–inverse document frequency (TF/IDF); this is often used in information retrieval and text mining. After applying TF/IDF, feature extraction was performed on each application. By using Python, we used a different algorithm for classification naïve Bayes, random forest and logistic regression and checked the various parameters like accuracy, precision, recall and F1-score and found the statistical information of these parameters. After analyzing and testing from statistical data, we determined the result of which algorithm had the maximum accuracy, precision, recall and F1-score information. We can see which algorithm is best for analyzing reviews for classification in Figure 2.

3.3. Supervised Machine Learning Models

In this section, we implement different machine-learning algorithms. For the implementation of machine-learning algorithms, we use the Scikit-learn library and NLTK. These three algorithms mainly use for classification and regression problems. For this purpose, we use the naïve Bayes multinomial, random forest algorithm and logistic regression algorithm.

3.4. Classifier Used for Reviews

This section contains the implementation of different machine-learning algorithms used in this study.

3.4.1. Logistic Regression

Logistic regression is one of the techniques used for classification. Its performance modeling of an event occurring versus event is not occurring. We check the probability of events occur or not occur. In Binary classification, there are two choices, i.e., (0 or 1, yes or not) on the other hand in multiclass Classification, there are more than two categories.
log ( p ( X ) 1 p ( x ) ) =   β 0 +   β 0 X 1 + +   β p X p ,  
where X1, X2 … Xp is independent variables and B0, B1... Bp is the coefficients.
P = e β 0 + β 1 X 1 + + β p X p 1 + e β 0 + β 1 X 1 + + β p X p

3.4.2. Random Forest

Random forest is an ensemble model that is well-known for producing accurate prediction results. In the first study [35] about the random forest, which explains some concepts about the ensemble of decision tree known as random forest. Using a single tree classifier, maybe there some problems raised, e.g., outliers, which may affect the overall performance of the classification method. However, because of the uncertainty random forest is one of the types of classifiers that forcefully to outliers and noise [36]. Random forest classifier has two kinds of characters; one is for with rest to data and the second one is for its features. The main features of random forest are bagging and bootstrapping [35].
mg(X,Y) = avk I(hk (X) = Y) − max j ≠ Y avk I(hk (X) = j)

3.4.3. Naïve Bayes Multinomial

We now all are aware the naïve Bayes classifier is predicated upon exactly the bag-of-words version. Using the bag-of-words together with all the versions, we assess which word-of this text-document looks in also a negative-words-list or a positive-words-list. In case the term arises within a positive-words-list, this text’s rating was upgraded together using all +1 and vice versa. In the end, if the result score is positive, then the text is classified in the category as positive and if it is in negative form, so the text is classified as in negative category [36].
P ( x | y ) = P ( y | x ) pP ( x ) P ( y )

4. Result and Discussion

Here, we present statistical information of the different algorithms used in these experiments on the base of the various parameters after preprocessing. We compare the different algorithms and identify the best to be used for classifying and analyzing user reviews.

4.1. Analytical Measurement and Visualization after Preprocessing

Below are the statistical information of different algorithms on the base of the various parameters after preprocessing. We compare and find the best algorithm that uses for the analysis and classification of reviews.

4.1.1. Naïve Bayes Multinomial

Naïve Bayes was used for classification. It assumes that the occurrence of a specific feature is independent of the occurrence of other features. From a prediction perspective, the performance of this model is considered very fast compared to other models. We scraped 148 apps reviews from 14 categories from Google Play Store. There were 40 reviews on one page, we collected a total of 506,259 reviews from Google Play Store applications. We applied the naïve Bayes algorithm for classification on that dataset of reviews and found different information on different parameters concerning TF and TF/IDF. We calculated the classification accuracy of the model for each application category and reported the precision, recall and F1 scores. Figure 3 illustrates a visualization bar chart for the naïve Bayes algorithm in which series1 indicates the accuracy of the algorithm, series2 indicates the precision, series3 indicates the recall, and series4 indicates the F1 score measurement.

4.1.2. Random Forest Algorithm

The Random forests classifier is an ensemble learning method for classification that operates by constructing a multitude of decision trees in which the outcomes are calculated based on the random selection of data. In our experiment, this was done by classifying the reviews and applying different information on different parameters concerning TF and TF/IDF in which we calculated the accuracy of the classification of each application category. In statistical information, we reported precision, recall and F1 scores. Figure 4 illustrates a visualization bar chart for the random forest algorithm in which series1 indicates the accuracy of the random forest algorithm, series2 indicates the precision, series3 indicates the recall, and series4 indicates the F1 score measurement.

4.1.3. Logistic Regression Algorithm

According to the statistics, the logistic regression algorithm can be a reliable statistical version, in which its essential type that runs on the logistic functionality to simulate a binary determining factor; many complex extensions exist. It is an application for binomial Regression. In this experiment, we applied the logistic regression algorithm for classification on the dataset for reviews and found different information on different parameters concerning TF and TF/IDF. We calculated the accuracy of classification of each category application and reported precision, recall and F1 scores. Figure 5 illustrates a visualization bar chart for the logistic regression algorithm in which series1 indicates the accuracy of the logistic regression algorithm, series2 indicates the precision, series3 indicates the recall, and series4 indicates the F1 score measurement.

4.2. Different Machine-Learning Algorithm Comparison after Preprocessing

The Google Play Store is an online market place that provided free and paid access to users. Google Play Store, users can choose from over a million apps from various predefined categories. In this research, we scraped thousands of user review and application ratings. We evaluated the results by using different machine-learning algorithms like naïve Bayes, random forest and logistic regression algorithm that can check the semantics of reviews about some applications from users to determine if their reviews are good, bad, reasonable, etc. We calculated the term frequency (TF) with different parameters like accuracy, precision, recall and F1 score after the preprocessing of the raw reviews in the concluded results compared the statistical result of these algorithms. We visualized these statistical results in the form of a pie chart, as shown in Figure 6. Figure 7 shows the calculated term frequency (TF) and inverse document frequency (IDF) based result with different parameters after the preprocessing of the raw reviews in the form of pie chart. After comparison, we found that the logistic regression algorithm was the best algorithm for checking the semantic analysis of any Google application user reviews on both TF and TF/IDF bases. As in the sports category in the TF base, we found the logistic regression algorithm had 0.622% accuracy, 0.414% precision, 0.343% recall and 0.343% F1 score, and the statistical information with another category of application, as shown in Table 2. In addition, in TF/IDF base we showed that the logistic regression algorithm had a 0.621% accuracy, 0.404% precision, 0.319% recall and 0.315% F1 score and the statistical information with another category of application, as shown in Table 3.

4.3. Analytical Measurement and Visualization without Preprocessing of Dataset

These are the statistical information of different algorithms on the base of the various parameters after data collection; compare and find the best algorithm that uses for the analysis and classification of reviews.

4.3.1. Naïve Bayes Multinomial

Naïve Bayes is a commonly used classification algorithm. Naïve Bayes assumes that the occurrence of a specific feature is independent of the existence of other features. It is fast to make models and make predictions. We applied the naïve Bayes algorithm for classification on that dataset of reviews and find different information on different parameters concerning TF and TF/IDF. We found the accuracy of classification of each category application, and in the statistical information found precision, recall and F1-scored these all parameters used to measure the accuracy of the dataset. In addition, bar-chart visualization of naïve Bayes algorithm in which series1 shows the accuracy of the naïve Bayes algorithm, series2 shows the precision, series3 shows the recall, and series4 shows the F1 score measurement as shown in Figure 8.

4.3.2. Random Forest Algorithm

The Random forests classifier is the class of all methods that are designed explicitly for decision tree. It develops many decision trees based on a random selection of data and a random selection of variables. We applied the random forest algorithm for classification on that dataset of reviews and find different information on different parameters concerning TF and TF/IDF. Find the accuracy of classification of each category application and in statistical information find precision, recall and F1 score these all parameters use to measure the accuracy of the dataset. In addition, bar-chart visualization of the random forest algorithm in which series1 shows the accuracy of the random forest algorithm, series2 shows the precision, series3 shows the recall, and series4 shows the F1 score measurement, as shown in Figure 9.

4.3.3. Logistic Regression Algorithm

In statistics, the logistic product can be a trusted statistical version, which, in its essential type that runs on the logistic functionality to simulate a binary determining factor, many complex extensions exist. Back in Regression investigation, logistic regression will be estimating the parameters of the logistic version; it is an application of both binomial Regressions. We applied the logistic regression algorithm for classification on that dataset of reviews and find different information on different parameters concerning TF and TF/IDF. Find the accuracy of classification of each category application and in statistical information find precision, recall and F1 score these all parameters use to measure the accuracy of the dataset. In addition, bar-chart visualization of the logistic regression algorithm in which series1 shows the accuracy of the logistic regression algorithm, series2 shows the precision, series3 shows the recall, and series4 shows the F1 score measurement as shown in Figure 10.

4.4. Different Machine-Learning Algorithm Comparison without Preprocessing of Dataset

Using the Google Play Store, users can choose from over a million apps from various predefined categories. We evaluated the results by using different machine-learning algorithms like naïve Bayes, random forest and logistic regression algorithm that can check the semantics of reviews of some applications from users that their reviews were good, bad, average, etc. We calculated term frequency (TF) of different parameters like accuracy, precision, recall and F1 score after the data collection of the raw reviews in the concluded results compared the statistical result of these algorithms. We visualized these analytical results in the form of a pie chart, as shown in Figure 11. Figure 12 shows the calculated term frequency (TF) and inverse document frequency (IDF) based result with different parameters without preprocessing of the raw reviews in the form of pie chart After comparison, we found that the logistic regression algorithm was the best algorithm to check the semantic analysis of any Google application user reviews on both TF and TF/IDF bases. As in the sports category in the TF base, we show the logistic regression algorithm has 0.623% accuracy, 0.416% precision, 0.35% recall and 0.353% F1 score and the statistical information with another category of application as shown in Table 4. In addition, in TF/IDF base show that the logistic regression algorithm has 0.629% accuracy, 0.416% precision, 0.331% recall and 0.328% F1 score and the statistical information with another category of application as shown in Table 5.

5. Semantic Analysis of Google Play Store Applications Reviews Using Logistic Regression Algorithm

After checking the different parameters, we analyzed that the logistic regression algorithm was the best algorithm having the highest accuracy. In this section, we performed analysis and classified all reviews in different classes as positive, negative or neutral. Set target value if the value of the comment is positive, it is equal to 1 if the review is negative and it is equal to 0. In addition, we analyzed the neutral class with the confidence rate if the confidence rate is between the 0 and 1 then classified this to neutral class. Different parameters in our dataset like the category of application, application name, Application ID, Reviews and rating are shown in Figure 13. However, for checking the semantics of each review, these parameters were more enough. This is why we selected only reviews of all applications.

5.1. Data Preparation and Cleaning of Reviews Steps

  • HTML Decoding
    To convert HTML encoding into text and in the start or ending up in the text field as ‘&amp,’ ‘\amp’ & ‘quote.’
  • Data Preparation 2: ‘#’ Mention
    “#” carries import information that must deal with is necessary.
  • URL Links
    Remove all URLs that appear in reviews remove them.
  • UTF-8 BOM (Byte Order Mark)
    For patterns of characters like “\xef\xbf\xbd,” these are UTF-8 BOM. It is a sequence of bytes (EF, BB, BF) that allows the reader to identify a file as being encoded in UTF-8.
  • Hashtag/Numbers
    Hashtag text can provide useful information about the comment. It may be a bit tough to get rid of all the text together with the “#” or with a number or with any other unique character needs to deal.
  • Negation Handling
    ~ is the factor that is not suitable in the review to remove them.
  • Tokenizing and Joining
    Parse the whole comment into small pieces/segments and then merge again. After applying the above rules on cleaning, the reviews cleaned the form of reviews, as shown in Figure 14.

5.2. Find Null Entries from Reviews

It seems there were about 700–800 null entries in the reviews column of the dataset. This may have happened during the cleaning process to remove the null entries with using commands, as shown below.
<class ‘pandas.core.frame.DataFrame’>
Int64Index: 400000 entries, 0 to 399999
Data columns (total 2 columns):
text 399208 non-null object
target 400000 non-null int64
dtypes: int64(1), object (1)
memory usage: 9.2 + MB

5.3. Negative and Positive Words Dictionary

By using word cloud corpus, I made a negative and positive word dictionary based on the occurrence of words in a sentence to get the idea of what kind of words are frequent in the corpus, as shown in Figure 15.

5.4. Semantic Analysis of Google Play Store Applications Reviews Using Logistic Regression Algorithm

In the result, classify all reviews three different classes and can check the confidence rate of each rate that how much that comment is positive, negative and neutral. Set the target value equal to 0 to 1 and check the confidence value in that ratio and check the class of the review using the logistic regression algorithm, as shown in Figure 16.

6. Conclusions and Future Work

On the Google Play Store, users may download as many applications from different categorized groups. In this research, we have considered hundreds of thousands of mobile application user reviews putting into consideration 14 different application categories and downloaded 148 application reviews in which the total number of reviews we worked on was accumulated to 50,6259 reviews out of Google Play Store. Assessed the consequence results using machine-learning algorithms such as naïve Bayes, random forest and logistic regression algorithm, which will evaluate the semantics of applications users’ reviews are equally positive, negative and neutral in which we calculated the term frequency (TF) and inverse document frequency (IDF) with various parameters such as accuracy, precision, recall and F1 score and regarding the statistical impact of those calculations. We did not face any challenges while using TF—especially with common phrases for example, in articles in which we get large weight corpus. In regards to TF/IDF, we noticed that the more a common term from the corpus, the larger the weight it received. Common phrases like posts received weights that were small. However rare words that are assumed to carry details got more weight. In our research, we used the visualization of bar charts to simplify the comparison between the different algorithms and the results achieved out of each one of them. The results reveal that logistic regression could be a perfect algorithm in the term of classification and prediction compared to other algorithms used specially with the dataset used in this experiment and hence, it is worth mentioning that up to our knowledge, this is the first time that such dataset is used for classification In-addition to that, logistic regression got the optimal speed of precision, accuracy, recall and F1 score after preprocessing the dataset. As an example, we were able to achieve good accuracy result for the sport category after preprocessing the dataset and implementing the logistic regression algorithm as in TF 0.622% accuracy, 0.414% precision, 0.343% recall and 0.343% F1 score and in TF/IDF based logistic regression algorithm has 0.621% accuracy, 0.404% precision, 0.319% recall and 0.315% F1 score. In addition, the sports category in TF base after data collection the logistic regression algorithm has 0.623% accuracy, 0.416% precision, 0.35% recall and 0.353% F1 score and in TF/IDF based logistic regression algorithm has 0.629% accuracy, 0.416% precision, 0.331% recall and 0.328% F1 score and the statistical information with another category of applications analyze in the concluded table below that shows the authenticity of this analysis. The section performs analysis and classifies all reviews in different classes positive, negative and neutral. In our research, we set target values of (0 and 1) based on user’s comments where 0 identify negative comments while 1 represents positive comments. However, values between 0 and 1 are set with a confidence rate and considered under the neutral class.
In the future, work, we may consider including more application categories, increasing the number of reviews and comparing the logistic regression algorithm accuracy results with different algorithms. In addition, we may consider generating clusters and checking the relationship between reviews and ratings of the application that can analyze each application more precisely.

Author Contributions

Conceptualization, A.K.; Supervision, A.A.; methodology, A.K.; validation, A.K., A.A. and S.B.B.; formal analysis, A.K.; investigation, A.K.; resources, A.A., S.B.B.; data curation, A.A.Q.; writing—original draft preparation, A.K.; writing—review and editing, S.B.B., M.A.; visualization, A.A.Q., M.A.; project administration, A.A.; funding acquisition, S.B.B. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Acknowledgments

The authors would like to thanks Qatar National Library (QNL), Qatar, for supporting us in publishing our research.

Conflicts of Interest

The authors declare no conflicts of interest.

References

  1. Goldberg, Y. Neural network methods for natural language processing. Synth. Lect. Hum. Lang. Technol. 2017, 10, 1–309. [Google Scholar] [CrossRef]
  2. Genc-Nayebi, N.; Abran, A. A systematic literature review: Opinion mining studies from mobile app store user reviews. J. Syst. Softw. 2017, 125, 207–219. [Google Scholar] [CrossRef]
  3. Cambria, E.; Schuller, B.; Xia, Y.; White, B. New avenues in knowledge bases for natural language processing. Knowl.-Based Syst. 2016, 108, 1–4. [Google Scholar] [CrossRef]
  4. Attik, M.; Missen, M.M.S.; Coustaty, M.; Choi, G.S.; Alotaibi, F.S.; Akhtar, N.; Jhandir, M.Z.; Prasath, V.B.S.; Coustaty, M.; Husnain, M. OpinionML—Opinion markup language for sentiment representation. Symmetry 2019, 11, 545. [Google Scholar] [CrossRef] [Green Version]
  5. Gao, C.; Zhao, Y.; Wu, R.; Yang, Q.; Shao, J. Semantic trajectory compression via multi-resolution synchronization-based clustering. Knowl.-Based Syst. 2019, 174, 177–193. [Google Scholar] [CrossRef]
  6. Santo, K.; Richtering, S.; Chalmers, J.; Thiagalingam, A.; Chow, C.K.; Redfern, J.; Bollyky, J.; Iorio, A. Mobile phone apps to improve medication adherence: A systematic stepwise process to identify high-quality apps. JMIR mHealth uHealth 2016, 4, e132. [Google Scholar] [CrossRef]
  7. Barlas, P.; Lanning, I.; Heavey, C. A survey of open source data science tools. Int. J. Intell. Comput. Cybern. 2015, 8, 232–261. [Google Scholar] [CrossRef]
  8. Man, Y.; Gao, C.; Lyu, M.R.; Jiang, J. Experience report: Understanding cross-platform app issues from user reviews. In Proceedings of the 2016 IEEE 27th International Symposium on Software Reliability Engineering (ISSRE), Ottawa, ON, Canada, 23–27 October 2016; pp. 138–149. [Google Scholar]
  9. Saura, J.R.; Bennett, D.R. A three-stage method for data text mining: Using UGC in business intelligence analysis. Symmetry 2019, 11, 519. [Google Scholar] [CrossRef] [Green Version]
  10. Benedetti, F.; Beneventano, D.; Bergamaschi, S.; Simonini, G. Computing inter-document similarity with Context Semantic Analysis. Inf. Syst. 2019, 80, 136–147. [Google Scholar] [CrossRef]
  11. Sachs, J.S. Recognition memory for syntactic and semantic aspects of connected discourse. Percept. Psychophys. 1967, 2, 437–442. [Google Scholar] [CrossRef]
  12. Zhang, T.; Ge, S.S. An improved TF-IDF algorithm based on class discriminative strength for text categorization on desensitized data. In Proceedings of the 2019 3rd International Conference on Innovation in Artificial Intelligence—ICIAI, Suzhou, China, 15–18 March 2019; pp. 39–44. [Google Scholar]
  13. Zhang, Y.; Ren, W.; Zhu, T.; Faith, E. MoSa: A Modeling and Sentiment Analysis System for Mobile Application Big Data. Symmetry 2019, 11, 115. [Google Scholar] [CrossRef] [Green Version]
  14. Richardson, L. Beautiful Soup Documentation. Available online: https://www.crummy.com/software/BeautifulSoup/bs4/doc/ (accessed on 4 May 2015).
  15. Chapman, C.; Stolee, K.T. Exploring regular expression usage and the context in Python. In Proceedings of the 25th International Symposium on Software Testing and Analysis, Saarbrücken, Germany, 18–20 July 2016; pp. 282–293. [Google Scholar]
  16. Chivers, H. Optimising unicode regular expression evaluation with previews. Softw. Pr. Exp. 2016, 47, 669–688. [Google Scholar] [CrossRef] [Green Version]
  17. Coutinho, M.; Torquato, M.F.; Fernandes, M.A.C. Deep neural network hardware implementation based on stacked sparse autoencoder. IEEE Access 2019, 7, 40674–40694. [Google Scholar] [CrossRef]
  18. Di Sorbo, A.; Panichella, S.; Thomas, C.; Shimagaki, J.; Visaggio, C.A.; Canfora, G.; Gall, H.C. What would users change in my app? Summarizing app reviews for recommending software changes. In Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering—FSE 2016; Association for Computing Machinery (ACM), Seattle, WA, USA, 13–19 November 2016; pp. 499–510. [Google Scholar]
  19. Colhon, M.; Vlăduţescu, Ş.; Negrea, X. How objective a neutral word is? A neutrosophic approach for the objectivity degrees of neutral words. Symmetry 2017, 9, 280. [Google Scholar] [CrossRef] [Green Version]
  20. Al-Subaihin, A.; Finkelstein, A.; Harman, M.; Jia, Y.; Martin, W.; Sarro, F.; Zhang, Y. App store mining and analysis. In Proceedings of the 3rd International Workshop on Mobile Development Lifecycle—MobileDeLi, Pittsburgh, PA, USA, 25–30 October 2015; pp. 1–2. [Google Scholar]
  21. Nakov, P.; Popova, A.; Mateev, P. Weight Functions Impact on LSA Performance. EuroConference RANLP. 2001, pp. 187–193. Available online: http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.69.9244&rep=rep1&type=pdf (accessed on 2 July 2020).
  22. Tröger, J.; Linz, N.; König, A.; Robert, P.H.; Alexandersson, J.; Peter, J.; Kray, J. Exploitation vs. exploration—Computational temporal and semantic analysis explains semantic verbal fluency impairment in Alzheimer’s disease. Neuropsychologia 2019, 131, 53–61. [Google Scholar] [CrossRef]
  23. Kansal, K.; Subramanyam, A.V. Hdrnet: Person re-identification using hybrid sampling in deep reconstruction network. IEEE Access 2019, 7, 40856–40865. [Google Scholar] [CrossRef]
  24. Jha, N.; Mahmoud, A. Using frame semantics for classifying and summarizing application store reviews. Empir. Softw. Eng. 2018, 23, 3734–3767. [Google Scholar] [CrossRef]
  25. Puram, N.M.; Singh, K.R. Semantic Analysis of App Review for Fraud Detection Using Fuzzy Logic. 2018. Available online: https://www.semanticscholar.org/paper/Semantic-Analysis-of-App-Review-for-Fraud-Detection-Puram-Singh/ed73761ad92b9c9914c8c5c780dc1b57ab6f49e8 (accessed on 2 July 2020).
  26. Wang, Y.; Liu, H.; Zheng, W.; Xia, Y.; Li, Y.; Chen, P.; Guo, K.; Xie, H. Multi-objective workflow scheduling with deep-q-network-based multi-agent reinforcement learning. IEEE Access 2019, 7, 39974–39982. [Google Scholar] [CrossRef]
  27. Puram, N.M.; Singh, K. An Implementation to Detect Fraud App Using Fuzzy Logic. Int. J. Future Revolut. Comput. Sci. Commun. Eng. 2018, 4, 654–662. [Google Scholar]
  28. Yang, W.; Li, J.; Zhang, Y.; Li, Y.; Shu, J.; Gu, D. APKLancet: Tumor payload diagnosis and purification for android applications. In Proceedings of the 9th ACM Symposium on Information, Computer and Communications Security, Kyoto, Japan, 3–6 June 2014; pp. 483–494. [Google Scholar]
  29. Huh, J.-H. Big data analysis for personalized health activities: Machine learning processing for automatic keyword extraction approach. Symmetry 2018, 10, 93. [Google Scholar] [CrossRef] [Green Version]
  30. Guo, S.; Chen, R.; Li, H. Using knowledge transfer and rough set to predict the severity of android test reports via text mining. Symmetry 2017, 9, 161. [Google Scholar] [CrossRef] [Green Version]
  31. Cerquitelli, T.; Di Corso, E.; Ventura, F.; Chiusano, S. Data miners’ little helper: Data transformation activity cues for cluster analysis on document collections. In Proceedings of the 7th International Conference on Web Intelligence, Mining and Semantics, Amantea, Italy, 19–22 June 2017; pp. 1–6. [Google Scholar]
  32. Zhang, Y.; d’Aspremont, A.; El Ghaoui, L. Sparse PCA: Convex relaxations, algorithms and applications. In Handbook on Semidefinite, Conic and Polynomial Optimization; Springer: Boston, MA, USA, 2012; pp. 915–940. [Google Scholar]
  33. Blei, D.M.; Ng, A.Y.; Jordan, M.I. Latent dirichlet allocation. J. Mach. Learn. Res. 2012, 3, 993–1022. [Google Scholar]
  34. Hofmann, T. Probabilistic latent semantic analysis. arXiv 2013, arXiv:1301.6705. [Google Scholar]
  35. Di Corso, E.; Proto, S.; Cerquitelli, T.; Chiusano, S. Towards automated visualisation of scientific literature. In European Conference on Advances in Databases and Information Systems; Springer: Cham, Switzerland, 2019; pp. 28–36. [Google Scholar]
  36. Breiman, L. Random forests. Mach. Learn. 2001, 45, 5–32. [Google Scholar] [CrossRef] [Green Version]
Figure 1. Methodology diagram of data collection and sample shot of dataset.
Figure 1. Methodology diagram of data collection and sample shot of dataset.
Algorithms 13 00202 g001
Figure 2. Flow of Google Play Store application reviews classification.
Figure 2. Flow of Google Play Store application reviews classification.
Algorithms 13 00202 g002
Figure 3. (a) Bar-chart visualization of term frequency (TF) naïve Bayes multinomial algorithm after preprocessing; (b) bar-chart visualization of term frequency/inverse document frequency (TF/IDF) naïve Bayes multinomial algorithm after preprocessing.
Figure 3. (a) Bar-chart visualization of term frequency (TF) naïve Bayes multinomial algorithm after preprocessing; (b) bar-chart visualization of term frequency/inverse document frequency (TF/IDF) naïve Bayes multinomial algorithm after preprocessing.
Algorithms 13 00202 g003
Figure 4. (a) Bar-chart visualization of the TF random forest algorithm after preprocessing; (b) bar-chart visualization of the TF/IDF random forest algorithm after preprocessing.
Figure 4. (a) Bar-chart visualization of the TF random forest algorithm after preprocessing; (b) bar-chart visualization of the TF/IDF random forest algorithm after preprocessing.
Algorithms 13 00202 g004
Figure 5. (a) Bar-chart visualization of the TF logistic regression algorithm after preprocessing; (b) bar-chart visualization of the TF/IDF logistic regression algorithm after preprocessing.
Figure 5. (a) Bar-chart visualization of the TF logistic regression algorithm after preprocessing; (b) bar-chart visualization of the TF/IDF logistic regression algorithm after preprocessing.
Algorithms 13 00202 g005
Figure 6. Pie chart visualization of different machine-learning algorithm comparison of TF-based data after preprocessing.
Figure 6. Pie chart visualization of different machine-learning algorithm comparison of TF-based data after preprocessing.
Algorithms 13 00202 g006
Figure 7. Pie chart visualization of different machine-learning algorithm comparison of TF/IDF-based data after preprocessing.
Figure 7. Pie chart visualization of different machine-learning algorithm comparison of TF/IDF-based data after preprocessing.
Algorithms 13 00202 g007
Figure 8. (a) Bar-chart visualization of TF naïve Bayes multinomial algorithm based without preprocessing of data; (b) bar-chart visualization of TF/IDF naïve Bayes multinomial algorithm based without preprocessing of data.
Figure 8. (a) Bar-chart visualization of TF naïve Bayes multinomial algorithm based without preprocessing of data; (b) bar-chart visualization of TF/IDF naïve Bayes multinomial algorithm based without preprocessing of data.
Algorithms 13 00202 g008
Figure 9. (a) Bar-chart visualization of TF random forest algorithm based without preprocessing of data; (b) bar-chart visualization of TF random forest algorithm based without preprocessing of data.
Figure 9. (a) Bar-chart visualization of TF random forest algorithm based without preprocessing of data; (b) bar-chart visualization of TF random forest algorithm based without preprocessing of data.
Algorithms 13 00202 g009
Figure 10. (a) Bar-chart visualization of TF logistic regression algorithm based without preprocessing of data; (b) bar-chart visualization of TF/IDF logistic regression algorithm based without preprocessing of data.
Figure 10. (a) Bar-chart visualization of TF logistic regression algorithm based without preprocessing of data; (b) bar-chart visualization of TF/IDF logistic regression algorithm based without preprocessing of data.
Algorithms 13 00202 g010
Figure 11. Pie chart visualization of different machine-learning algorithm comparison on TF based without preprocessing of data.
Figure 11. Pie chart visualization of different machine-learning algorithm comparison on TF based without preprocessing of data.
Algorithms 13 00202 g011
Figure 12. Pie chart visualization of different machine-learning algorithm comparison on TF/IDF based without preprocessing of data.
Figure 12. Pie chart visualization of different machine-learning algorithm comparison on TF/IDF based without preprocessing of data.
Algorithms 13 00202 g012
Figure 13. Sample screenshot of the original dataset that was scraped.
Figure 13. Sample screenshot of the original dataset that was scraped.
Algorithms 13 00202 g013
Figure 14. Sample screenshot of the cleaning dataset after preprocessing.
Figure 14. Sample screenshot of the cleaning dataset after preprocessing.
Algorithms 13 00202 g014
Figure 15. (a) Positive and (b) negative word dictionary by using the word cloud corpus.
Figure 15. (a) Positive and (b) negative word dictionary by using the word cloud corpus.
Algorithms 13 00202 g015
Figure 16. Final sentiment analysis results on Google Play reviews using the logistic regression algorithm.
Figure 16. Final sentiment analysis results on Google Play reviews using the logistic regression algorithm.
Algorithms 13 00202 g016
Table 1. Detail measurements of scraped datasets.
Table 1. Detail measurements of scraped datasets.
ActionCardArcade
App NameReviewsApp NameReviewsApp NameReviews
Bush Rush400129 Card Game 4001Angry Bird Rio4481
Gun Shot Fire War3001Blackjack 211601Bubble Shooter 24001
Metal Soldiers4001Blackjack4481Jewels Legend4001
N.O.V.A Legacy4364Callbreak Multiplayer4001Lep World 23001
Real Gangster Crime4001Card Game 293066Snow Bros3001
Shadow Fight 24481Card Words Kingdom4472Sonic Dash4481
Sniper 3D Gun Shooter4481Gin Rummy3616Space Shooter4401
Talking Tom Gold Run4001Spider Solitaire2801Subway Princess Runner3001
Temple Run 23001Teen Patti Gold4481Subway Surfers4481
Warship Battle4001World Series of poker4001Super Jabber Jump 32912
Zombie Frontier 34001
Zombie Hunter King3782
CommunicationFinanceHealth and Fitness
App NameReviewsApp NameReviewsApp NameReviews
Dolphin Browser3001bKash4481Home Workout—No Equipment4481
Firefox Browser3001CAIXA1220Home Workout for Men1163
Google Duo3001CAPTETEB697Lose Belly Fat In 30 Days4481
Hangout Dialer3001FNB Banking App2201Lose It!—Calorie Counter4001
KakaoTalk3001Garanti Mobile Banking859Lose Weight Fat In 30 Days4481
LINE3001Monobank605Nike+Run Club1521
Messenger Talk3001MSN Money-Stock Quotes & News3001Seven—7 Minutes Workout4425
Opera Mini Browser3001Nubank1613Six Pack In 30 Days3801
UC Browser Mini3001PhonePe-UPI Payment4001Water Drink Reminder4481
WeChat3001QIWI Wallet1601YAZIO Calorie Counter1590
Yahoo Finance3001
YapiKredi Mobile1952
Stock3001
PhotographyShoppingSports
App NameReviewsApp NameReviewsApp NameReviews
B612—Beauty & Filter Camera4001AliExpress4481Billiards City4481
BeautyCam4001Amazon for Tablets4481Real Cricket 183001
BeautyPlus4001Bikroy4481Real Football3001
Candy Camera4481Club Factory4001Score! Hero3001
Google Photos4481Digikala4001Table Tennis 3D3001
HD Camera4001Divar4001Tennis3001
Motorola Camera4001Flipkart Online Shopping App4481Volleyball Champions 3D3001
Music Video Maker4001Lazada4481World of Cricket4481
Sweet Selfie4481Myntra Online Shopping App4481Pool Billiards Pro4001
Sweet Snap4001Shop clues4481Snooker Star2801
Video Player EditorWeatherCasual
App NameReviewsApp NameReviewsApp NameReviews
KineMaster1441NOAA Weather Radar & Alerts3601Angry Bird POP4481
Media Player2713The Weather Channel4001BLUK3281
MX Player3001Transparent Weather & Clock1441Boards King4481
Power Director Video Editor App1641Weather & Clock Weight for Android4481Bubble Shooter4481
Video Player All Format1041Weather & Radar—Free3601Candy Crush Saga4481
Video Player KM3001Weather Forecast1681Farm Heroes Super Saga4481
Video Show1321Weather Live Free1721Hay Day4481
VivaVideo4190Weather XL PRO1401Minion Rush4481
You Cut App1241Yahoo Weather4361My Talking Tom4481
YouTube1201Yandex Weather1045Pou4481
Shopping Mall Girl4481
Gardens capes4481
MedicalRacing
App NameReviewsApp NameReviews
Anatomy Learning2401Asphalt Nitro4481
Diseases & Dictionary3201Beach Buggy Racing4481
Disorder & Diseases Dictionary2401Bike Mayhem Free4481
Drugs.com2401Bike Stunt Master2745
Epocrates1001Dr. Driving 24481
Medical Image1423Extreme Car Driving4481
Medical Terminology1448Hill Climb Racing 23801
Pharmapedia Pakistan4134Racing Fever4481
Prognosis2401Racing in Car 24481
WikiMed3201Trial Xtreme 44481
Table 2. Different machine-learning algorithm comparison of TF-based data after preprocessing.
Table 2. Different machine-learning algorithm comparison of TF-based data after preprocessing.
Application CategoryNaïve Bayes AccuracyRandom Forest AccuracyLogistic Regression
Accuracy
Naïve Bayes PrecisionRandom Forest PrecisionLogistic Regression PrecisionNaïve Bayes
Recall
Random Forest RecallLogistic Regression RecallNaïve Bayes
F1 Score
Random Forest
F1
Logistic Regression F1 Score
Sports0.6020.5850.6220.3590.340.4140.3160.3120.3430.3150.3080.343
Communication0.5870.5440.5850.3330.3140.3490.3320.3130.3290.3040.2940.32
Action0.6910.6830.7070.3340.3380.3950.2940.310.3120.2880.3080.313
Arcade0.7250.7210.7440.2830.320.3530.2310.270.2620.2350.2740.266
Video players & editors0.6760.6640.6840.3310.3470.370.3060.3130.3060.2940.3040.304
Weather0.6620.6320.6670.3290.2850.3790.2610.2430.2880.2660.2480.299
Card0.6890.6650.6960.310.3120.3790.2850.2850.3010.2760.2790.305
Photography0.6960.6830.7030.3670.3530.3910.3270.320.3210.310.3120.315
Shopping0.6670.6480.670.3580.3540.4070.3410.3330.3420.3210.3240.336
Health & fitness0.7880.7650.7960.2730.3240.380.2120.2480.2780.2180.2540.295
Finance0.5320.5170.5920.3010.3090.3520.2870.2910.3110.2660.270.303
Casual0.730.7280.7470.3340.3410.3810.2850.2840.290.2880.2920.302
Medical0.7450.7290.7540.3590.330.4010.2720.280.2770.2790.2850.288
Racing0.7180.7140.7370.3570.3590.4280.2780.3170.3120.2850.3190.318
Table 3. Different machine-learning algorithm comparison of TF/IDF-based data after preprocessing.
Table 3. Different machine-learning algorithm comparison of TF/IDF-based data after preprocessing.
Application CategoryNaïve Bayes AccuracyRandom Forest AccuracyLogistic Regression
Accuracy
Naïve Bayes PrecisionRandom Forest PrecisionLogistic Regression PrecisionNaïve Bayes
Recall
Random Forest RecallLogistic Regression RecallNaïve Bayes
F1 Score
Random Forest
F1 Score
Logistic Regression F1 Score
Sports0.5940.5890.6210.3410.3440.4040.2270.3080.3190.2030.3040.315
Communication0.5970.5450.5990.2970.3070.3520.3010.3120.3270.2540.2880.301
Action0.6860.6910.710.2970.3470.380.2310.3060.2990.2150.3020.293
Arcade0.7370.7290.7470.3190.3340.3510.1910.2620.250.1680.2690.252
Video players & editors0.670.6640.6870.3140.340.3520.2330.3040.2890.2150.2950.276
Weather0.6420.6380.6670.3010.3050.4210.1940.2520.2620.1680.2550.265
Card0.680.6730.6980.280.3210.3440.2270.2840.2830.2090.2770.271
Photography0.7050.690.710.3620.3520.4050.2760.3150.3110.2480.3010.297
Shopping0.6780.6530.6820.2990.3590.4440.3160.330.3320.2890.3160.315
Health & fitness0.8110.7790.8010.2080.3150.3910.1940.2350.230.1770.240.235
Finance0.5570.520.5930.2840.310.3530.2580.2930.2980.2260.270.276
Casual0.7450.7320.7530.3340.3420.3640.2050.2740.2770.1820.280.28
Medical0.7530.7390.7590.3380.3360.4590.2040.2650.2440.1810.2710.245
Racing0.720.7240.740.3310.370.4010.2180.3060.2950.2010.3110.297
Table 4. Different machine-learning algorithm comparison on TF based without preprocessing of the dataset.
Table 4. Different machine-learning algorithm comparison on TF based without preprocessing of the dataset.
Application CategoryNaïve Bayes AccuracyRandom Forest AccuracyLogistic Regression
Accuracy
Naïve Bayes PrecisionRandom Forest PrecisionLogistic Regression PrecisionNaïve Bayes
Recall
Random Forest RecallLogistic Regression RecallNaïve Bayes
F1 score
Random Forest
F1 Score
Logistic Regression F1 Score
Sports0.6070.5890.6230.3680.3590.4160.3140.3140.350.3340.3140.353
Communication0.5840.5590.5880.3340.3210.3550.2960.2960.3340.3110.2960.326
Action0.6890.6860.710.3360.350.4050.3080.3080.320.2970.3080.324
Arcade0.7240.7250.7440.2730.3380.3690.2750.2750.2710.2270.2750.278
Video players & editors0.6810.6650.690.3460.3510.390.3080.3080.3230.3120.3080.323
Weather0.6690.6410.6740.3270.3350.3860.2820.2820.3030.2810.2820.316
Card0.6890.6660.6970.2820.3250.3730.2810.2810.3060.2720.2810.31
Photography0.6910.6890.7070.3660.3720.4030.3210.3210.3320.3170.3210.328
Shopping0.6630.6540.6740.3640.370.4110.3250.3250.3510.3330.3250.346
Health & fitness0.7880.7780.7940.2770.2990.3690.220.220.280.2250.220.295
Finance0.5360.5320.5950.3120.3110.3630.2760.2760.3190.2770.2760.314
Casual0.7270.7350.7470.3380.3450.3850.2840.2840.30.3060.2840.314
Medical0.7490.7370.7570.3480.3420.410.2840.2840.2950.2980.2840.31
Racing0.7170.7190.7380.3510.3610.4190.3170.3170.3170.2970.3170.325
Table 5. Different machine-learning algorithm comparison on TF/IDF based without preprocessing of the dataset.
Table 5. Different machine-learning algorithm comparison on TF/IDF based without preprocessing of the dataset.
Application CategoryNaïve Bayes AccuracyRandom Forest AccuracyLogistic Regression
Accuracy
Naïve Bayes PrecisionRandom Forest PrecisionLogistic Regression PrecisionNaïve Bayes
Recall
Random Forest RecallLogistic Regression RecallNaïve Bayes
F1 Score
Random Forest
F1 Score
Logistic Regression
F1 Score
Sports0.5930.5950.6290.3280.3520.4160.2210.3070.3310.1940.3090.328
Communication0.5970.5550.6020.2920.320.3610.3020.3090.3340.2550.290.312
Action0.6830.6950.7120.3290.3690.3980.2270.3060.3040.2080.3070.299
Arcade0.7370.7290.7470.330.3360.3490.1910.2560.2460.1680.2650.247
Video players & editors0.6690.6650.6930.2810.3350.3750.2290.3060.30.2080.2980.291
Weather0.6410.6470.6740.3060.3230.3840.190.2550.2750.1610.2640.282
Card0.680.6690.6990.290.3220.3590.2230.2740.2880.2050.2730.281
Photography0.7070.690.7140.3670.3630.4220.2790.3180.3220.250.3080.309
Shopping0.6790.6530.6860.3650.3610.4440.3190.3280.3390.2920.3150.324
Health & fitness0.8110.7880.8030.20.3540.3630.1940.220.2320.1760.2250.239
Finance0.5540.5290.6040.2610.3170.4010.2570.2940.3080.2260.2720.29
Casual0.7450.7390.7550.310.3460.3850.2040.2670.280.1810.2770.285
Medical0.7530.7430.7590.380.3510.4680.2030.2590.2460.180.2680.249
Racing0.7180.7260.740.3590.3830.3910.2140.3070.2950.1950.3170.297

Share and Cite

MDPI and ACS Style

Karim, A.; Azhari, A.; Belhaouri, S.B.; Qureshi, A.A.; Ahmad, M. Methodology for Analyzing the Traditional Algorithms Performance of User Reviews Using Machine Learning Techniques. Algorithms 2020, 13, 202. https://doi.org/10.3390/a13080202

AMA Style

Karim A, Azhari A, Belhaouri SB, Qureshi AA, Ahmad M. Methodology for Analyzing the Traditional Algorithms Performance of User Reviews Using Machine Learning Techniques. Algorithms. 2020; 13(8):202. https://doi.org/10.3390/a13080202

Chicago/Turabian Style

Karim, Abdul, Azhari Azhari, Samir Brahim Belhaouri, Ali Adil Qureshi, and Maqsood Ahmad. 2020. "Methodology for Analyzing the Traditional Algorithms Performance of User Reviews Using Machine Learning Techniques" Algorithms 13, no. 8: 202. https://doi.org/10.3390/a13080202

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop