1 Introduction

Comments are very important for the customers and an e-commerce website because they help customers to know what all products or services are best [9]. The most challenging thing faced by e-commerce websites is to make sure that they are providing the best customer services to their customers, Plus making them feel more comfortable shopping online and recommending them based on the customer’s likes, dislikes, and comments will help the customers and even the shop sell more products [14]. Hence, there is a need for a recommendation system for the customers in an e-commerce website.

Sentiment analysis and opinion mining is the study of people’s opinions, emotions towards a particular entity. An entity can be individuals, events, or topics [1]. However, some research says that opinion mining and sentiment analysis have slight differences [2]. Opinion mining is used to extract and analyse people’s opinions and sentiment analysis is used to identify the sentiments that are expressed by the text then analyse it [15].

The product reviews are important for business holders as they can help them to make decisions according to the analysis result of customers' opinion of the products. Sentiment analysis can also be performed on various datasets like on stock markets or news articles [3, 4].

In this paper, the Amazon dataset is used to classify the brands into positive, negative, and neutral [16]. The dataset contains more than 65,000 reviews. The dataset is achieved from www.amazon.com. Classification can also be done in two classes called the binary task of classifying, and for classifying tasks into three or more we say it as a multi-class task of classifying [17]. Classification is done for each aspect into a three-way task of classifying that is positive, negative, and neutral. After classifying the sentiment, only positive comments are considered highly weighted among the total number of comments of particular aspects, for calculating the score [18]. The scores are calculated for every brand depending on the positive comments, which will help recommend the product based on the aspect [19].

The system has been evaluated on a dataset of customer feedback, and the results demonstrate that the proposed approach outperforms traditional product recommendation systems [20]. The approach is found to be effective in identifying the aspects that are most important to customers and in generating accurate and personalized recommendations [21].

Sentiment analysis can be broadly classified into three types: fine-grained sentiment analysis, emotion detection sentiment analysis, and aspect-based sentiment analysis [23].

In fine-grained sentiment analysis, we focus simply on polarities of the comment that are positive, negative, and neutral [22]. For more opinions we can dig customer’s experience polarities to very positive, positive, neutral, negative, very negative [24].

In emotion detection sentiment analysis, we detect emotions of texts. It helps us identify the happy, sad, angry emotions of the customers [25].

Lastly, Aspect-based sentiment analysis (ABSA) is a subfield of natural language processing (NLP) that focuses on analysing the sentiment associated with specific aspects or features of a product or service [26]. ABSA aims to identify the aspects or features that are mentioned in a customer's feedback or review, and then determine the sentiment associated with each aspect or feature [27].

The findings of an aspect-based sentiment analysis can provide valuable insights into the aspects or features of a product or service that customers care about most and the sentiment associated with each aspect or feature [28]. This information can be used to improve the overall quality of the product or service and to generate more accurate and useful recommendations to customers.

For example, in the context of recommending products to customers based on their cared aspects, an aspect-based sentiment analysis could be used to identify the aspects or features of a product that are most important to customers and the sentiment associated with each aspect [29]. This information could then be used to generate personalized product recommendations that align with the customer's preferences and priorities.

In Sect. 2, the basics of sentiment analysis are discussed in detail. In Sect. 3, the overview of the recent techniques that are used by some researchers for recommendation is discussed. In Sect. 4, the detailed description of the methodology for the paper is elaborated. In Sect. 5, the results of the paper have been discussed which elaborates the scoring method which helps recommendation of products.

2 Background

A basic task of sentiment analysis is classifying the text into the emotions of the customer. The emotions of the customer can be classified into positive, negative, and neutral. That is sentiment analysis classifies the given text’s polarities [30]. A positive polarity indicates that the comment has a positive impact on the particular product. For example, the comment contains the words like good, best, like, or love then it will suggest to us the positive emotion of the customer towards the product [31]. Likewise, for negative polarity, the comment harms a particular product, for example, the words like bad, worst, or hate suggest to us the negative emotion of the customer towards the product. Some comments have both emotions for that we use the neutral polarity. Therefore, we can say that sentiment analysis is a feedback process that digs into the comment to find out the emotions ‘happy’, or ‘sad’ of the customer for a particular product [32].

Sentiment analysis can be broadly classified into three types: fine-grained sentiment analysis, emotion detection sentiment analysis, and aspect-based sentiment analysis. In fine-grained sentiment analysis, we focus simply on polarities of the comment that are positive, negative, and neutral [33]. If we want to find more opinions we can dig more into and expand the polarities to very positive, positive, neutral, negative, very negative. In emotion detection sentiment analysis, we detect emotions of texts [34]. It helps us identify the happy, sad, angry emotions of the customers. It uses lexicons and machine learning to detect emotions. In aspect-based sentiment analysis, when a customer comments about the product, they mention specific aspects of the product, aspects can be a screen, battery, and many more. Aspect-based sentiment analysis is necessary because it helps to have a better understanding of the product. In this paper, aspect-based sentiment analysis is proposed to help us recommend the product [35].

3 Related Work

Sentiment analysis is a natural language processing task. It can be used at many levels of classification tasks. For the document-level classification task, it can be handled at a sentence level [6, 7] and it can be handled at the parsing level [5, 8, 9].

The recent paper uses parse level sentence classification [5] it uses rhetorical structure theory that can improve document-level sentiment analysis. Rhetorical structure theory (RST) is a parser that offers significant improvement at the parsing level [5].

Comments are posted by plenty of the customers on an e-commerce website, this helps other customers to gain insights into the product by other people’s experience. And it also helps the business side to know the viewpoint of customers. Some of the early and recent results on sentiment analysis of e-commerce data [10] used a fuzzy decision support model with sentiment analysis for item comparison in e-commerce. It uses probability multivalued neutrosophic linguistic numbers (PMVNLNs) to characterize online reviews. PMVNLN can reflect similarities and differences in positive (negative) information.

To classify the sentiments of movie reviews was discussed by [13] in the paper sentiment classification using the Machine learning technique. The authors of that paper compared various machine learning techniques for sentiment classification of movie reviews. They are Naive Bayes, maximum entropy classification, and support vector machines.

Some of the research has been done on Twitter data for sentiment analysis. One of the significant efforts of sentiment classification is done by [11]. In their work, they use polarity predictions as noisy labels to train a model from the three websites and they used around 1000 manually labelled tweets for tuning and more than 1000 manually labelled tweets for testing [11].

One of the research done by [12] is a cornerstone of sentiment analysis. It uses the new technique compared to [13]. The authors discussed applying sentiment analysis and machine learning methods to study the relationship between the online reviews for a movie and the movie’s box office revenue performance. They used document-level sentiment analysis that consists of Term Frequency and Inverse Document Frequency values as features along with Fuzzy Clustering which results in positive and negative sentiments [12].

4 Methodology

In this paper, Amazon dataset is used. The dataset contains two.csv file items and reviews of each item. Text analysis is performed on the comment set, later the aspect-based comments are extracted from those comment sets. Finally, sentiment analysis is performed to find the emotions of each comment based on a few particular aspects [36]. We have defined price, screen, battery, colour to be the most cared aspects for cell-phone-based products. Let us understand the methodology by going through the design flow of the paper (Fig. 1). Design Flow is a representation of the paper in a flowchart.

Fig. 1
figure 1

Design Flow

4.1 Dataset

Amazon Dataset is used for cell-phone-based products. It is a publicly available dataset. In this dataset, we have two.csv files, one file shows the items with a brand name, URL, review URL, image rating, total reviews, and price and the other file shows the reviews with brand name ratings and reviews. We are merging these two files so that all the items will be mapped with the respective reviews.

4.2 Cleansing of Reviews

We cannot deal with the text directly without cleaning it. Therefore, cleansing of the reviews is very crucial and it is an important step before text analysis [37]. In this we are cleaning the string that is we are cleaning each comment by lower-casing, trimming, removing a non-alphanumeric character, replacing non-letters with spaces. Lower-casing the text helps us to avoid any case-sensitive process and it additionally helps us to detect the stopwords in later steps [38]. Removing a non-alphanumeric character helps us to find the words without punctuations, commas, and quotes. One way we can avoid that is by replacing the non-alphanumeric characters with white spaces.

4.3 Text Analysis

There is a huge amount of unstructured data in the form of comments for the particular product. Text analysis is used to avoid challenges faced to analyse by reading each comment. It’s really hard to manually work on comments therefore we use the text analysis technique [39]. We can use text analysis to extract specific information about products like keywords, brand name, features, aspects. In this paper few methods like Punkt, wordnet, and stopwords for analysing text is used.

4.3.1 Punkt

Is a sentence tokenizer that helps us divide the text into a list of sentences, it uses an unsupervised algorithm. The NLTK data package has a pre-trained Punkt tokenizer for the English language [40].

4.3.2 Wordnet

Is also an NLTK corpus reader, it is used to find the meaning of the word, synonyms, and antonyms. Wordnet is a huge database that contains words of the English language defining Nouns, Adjectives, Adverbs, and Verbs [41]. These are classified into some groups of synonyms, which are called synsets.

4.3.3 Stopwords

Is a group of words in any language that are often used. For instance, in the English language the words like, “the”, “is” and “and”, can be easily called stop words. In NLP, stopwords are often used to eliminate words with less importance, allowing us to concentrate on the important words [42]. In this paper, we have defined the stopwords for the analysis procedure.

4.4 Cared Aspect Identification

Before the text analysis procedure, the aspects that are cared for in particular products by the user are defined. Aspects like ‘price’, ‘colour’, ‘battery’, ‘speed’ can be the most cared for aspects of buying the cell phone. After the text analysis procedure, we got the comments categorized based on those four aspects for the particular product type. In this step, the comments are categorized based on cared aspects. The entity extraction technique has been used for categorizing comments based on aspects [43].

4.5 Categorizing reviews into aspects

This paper uses entity extraction techniques to categorize the comments into aspects. This technique identifies the key elements from the text. These key elements are our entities. The entities that are defined as our aspects that are price, battery, colour, and screen [44]. According to this technique the comments of a particular brand or a product will be categorized into price, battery, colour, and screen. There are two types of entity extraction techniques that are predefined and custom [45]. Predefined models are ready to use, and custom models need to be trained. In this paper custom entity extraction technique is used. In this technique, the model is first built by defining keywords and then trained. This model is built to categorize aspects related to comments.

4.6 Sentiment Analysis

In this step, sentiment analysis is performed to find the polarities of each comment of the product. After getting aspect-based comments, sentiment analysis is performed and achieved the positive, negative, and neutral scores of each aspect of the particular product [46]. The scores are analysed after getting the polarities of each comment.

Rule-based sentiment analysis model is used to identify sentiments of the comments. This approach uses human crafted rules to classify the sentiments into positive, negative, and neutral. It basically checks and counts the positive, negative polarities from one comment and then classifies the comment into those polarities. For example, if one comment is in paragraph and it has more positives than negatives feedback, then using this approach it will return it as positive sentiments and vice-versa [47]. Therefore, we proposed a sent-token rule-based sentiment analysis approach, in which we perform sentence tokenization that is breaking the paragraphs and making one sentence as one token and then we are performing a rule based sentiment analysis approach to classify into positive, negative, and neutral [48].

4.7 Recommendation System Based on Weighted Score

After achieving sentiment scores of aspect-based comments, it has been represented so that it will help the e-commerce side predict which product should be highly recommended for another customer. This will help the business to sell the products to the customer. If for example, customer A cares more about price than battery then based on the aspect-based representation it will predict to show them the products which have positive polarity for price.

4.7.1 Calculating the Sentiment Score

Calculate the sentiment score of each review based on their aspect. In this step, we count the total number of positive, negative, and neutral comments. The values are represented in numerical format.

4.7.2 Weighting the Aspects for Every Brand

Aspects are weighted for each aspect of every brand. The weights are calculated by focussing on the positive comments from the total number of comments of a particular aspect.

$$Weight\left( {aspect_{i} } \right)\; = \;\left( {positive \, reviews/total \, reviews} \right)$$

4.7.3 Recommending Based on Weighted Score

4.7.3.1 Brand Weighted Score

In this step, it will predict the customer’s likes based on their comments so that we can recommend the products of specific brands to the customers based on the aspect which he/she is focusing on.

4.7.3.2 Product Weighted Score

In this step, it will calculate the sentiments of each product based on the aspects, and then it will predict which product is good for the customer based on the aspect which he or she likes.

The above-proposed idea is good for this dataset as it contains multiple reviews for every product. But if we have the dataset in which there is only one comment for one product it will give 100% recommendation if the review is positive [49]. Therefore we have proposed a preference-based recommendation system that will help to overcome this limitation.

4.8 Preference-Based Recommendation System

A preference-based recommendation system is used to overcome the limitation that we get from the above proposed method. This method will predict the consumer’s product choice based on previous reviews. The ranking mechanism is done based on the preferences concerning the customer’s degree of experience. The degrees can be proficiency (high degree), intermediate (medium degree), novice (starter degree). The below steps give a detailed idea of the flow.

  1. 1.

    If the products have multiple comments, then,

  2. a.

    Calculate the sentiments of the comments positive, negative, and neutral.

  3. b.

    It will recommend, based on the product-weighted score as mentioned in method 1.

  4. 2.

    If product A has only one comment by Customer A, then,

  5. a.

    Calculate the total number of comments by customer A. It should be greater than 5 or else the customer would be in novice degree.

  6. b.

    Find the sentiments of each comment given by the customer.

  7. c.

    Calculate the overall sentiments of the comments of every product (that customer A commented on).

  8. d.

    Compare the opinion given by customer A with the opinions, given by all other customers.

  9. e.

    For all the opinions that matched the value would be 1 and for all that did not match the value would be 0.

  10. f.

    Calculate the value of the customer that will help us know the degree of the customer’s experience.

  11. g.

    For proficiency, the value is above 80%, for an intermediate degree, the value is above 60%, and for a novice, it would be below 60%. It will recommend only from the customers which have proficiency and intermediate.

5 Results and Discussion

5.1 Data Description

The dataset that has been used is Amazon Dataset. It has reviews for multiple mobile brands like Motorola, Nokia, Samsung, HUAWEI, Sony, Apple, Google, OnePlus, Xiaomi, and ASUS. The dataset contains approximately 68,000 reviews. The dataset has multiple products for each brand type.

It is a publicly available dataset. In this dataset, we have two.csv files, one file shows the items with a brand name, URL, review URL, image rating, total reviews, and price and the other file shows the reviews with brand name ratings and reviews. We have merged these two files so that all the items will be mapped with the respective reviews.

Merging of two csv files is done because we have brand names in one csv file and we have reviews in the other csv file. We merge it to get the products mapped to the reviews. After merging these two csv files will just use the brand and the reviews of the particular items of the respective brand. Brand and Body shows that the brand is mapped to the reviews. For instance, consider the following table with brand and body as our brand of the product and reviews of each product respectively Table 1.

Table 1 Brand and their reviews

5.2 Cleansing of Reviews

This step is very important, it cleans each comment by lower-casing, trimming, removing a non-alphanumeric character, replacing non-letters with spaces Table 2.

Table 2 A cleansed review

The cleansed comment will avoid all wanted data from the comments. Table 3 shows the example of cleansed comments.

Table 3 Comments categorized based on price

As it is shown in the above table the cleansed comment avoids all unwanted data by lowercasing, trimming, removing all non-alphanumeric characters, and replacing it with spaces. We need cleaning reviews for analysing the comments more accurately. It helps to focus on important terms rather than unwanted data.

5.3 Text Analysis and Cared Aspect Identification

Wordnet is an NLTK corpus reader, it is used to find the meaning of the word, synonyms, and antonyms. WordNet is a large lexical database of English that was developed at Princeton University. It is a computerized thesaurus that provides a semantic hierarchy of words and their inter-relationships. WordNet consists of synsets, which are sets of words that are semantically related and have similar meanings.

Synset is a set of synonyms that are grouped to express the same meaning. A synset, or “synonym set,” is a group of words that are considered to be synonyms or semantically related. Each synset in WordNet represents a distinct concept, and the words in the synset share a common meaning. Synsets are organized into a hierarchy, with broader concepts at the top and more specific concepts at the bottom. This hierarchical structure allows for efficient searching and retrieval of related words and concepts. Synsets are the building blocks of WordNet and are the primary means by which words are connected and related to one another in the database.

In this paper, we identify the aspects and after identifying the aspects it will group them. Figure 2 shows the algorithm for identifying the sentiment score of price aspect. Similarly, the same procedure was performed to identify the sentiment scores of other most cared aspects like screen, battery, and colour.

Fig. 2
figure 2

Algorithm for sentiment score of a price aspect

Synset is used for identifying the aspects from the comments. In this paper, we define our most cared aspect to be price, battery, screen, and colour. Synset was used to find these aspects. The function of Synset is a special kind of interface that is present in the Natural Language Tool Kit to look up words in wordnet. It is a group of synonyms of words which has the same meaning and the same concept. In simple words, in wordnet we have similar words that are grouped into a set called synset, A synset contains name, POS, and a number. The words in a synset are called Lemmas. The function ‘wordnet.synsets (“word”)’ will return an array containing all the synonyms related to that word passed to it as the argument. In this case, we will define the word to be price, battery, screen, and colour. Then it will find the synonyms of the word price, battery, screen, and colour.

After identifying the price, battery, screen, colour aspects, sentence tokenization is performed to display the comments based on the respective aspects. Sentence tokenization helps to form the tokens in the form of sentences. Every sentence becomes a token. After doing all these we get comments categorized based on the most cared aspect. For instance, the following Table 3 shows the comments based on the price aspect for the Samsung brand. The table only showcases four comments among a lot of comments of Samsung brand based on price aspect. Similarly, it has been done to find for all other brands and their most cared aspects.

5.4 Sentiment Analysis

In this step, sentiment analysis is performed to find the polarities of each comment. The polarities are positive, negative, and neutral. For example, consider the brand “Samsung” it has 2836 positive comments, 1105 negative comments, and 935 neutral comments for only the aspect ‘battery’. Similarly, sentiment analysis was done on battery, colour, and price aspects. Table 4 below shows the sentiment analysis of the Samsung brand on these four aspects.

Table 4 Sentiment Analysis based on Aspects for Samsung brand

Similarly, we have performed sentiment analysis and calculated the sentiments of the comments, and categorized it as positive, negative, and neutral on various brands that has been mentioned earlier in this report, based on the most cared aspects.

5.5 Output: Aspect Based Representation

Below Fig. 3 is a graphical representation of the sentiments that has been achieved after performing sentiment analysis for the price aspect of the Samsung brand.

Fig. 3
figure 3

Sentiment Analysis of price aspect

Figure 3 shows the counts of positive reviews around 1400, negative around 200, and neutral around 300. As we can see that there are more positive reviews for the price aspect it means that the customer is satisfied with the price.

The above Fig. 4 is a graphical representation of the sentiments that has been achieved after performing sentiment analysis for the screen aspect of the Samsung brand. It has more than 2500 positive comments and around 1000 negative comments, and 1000 neutral comments. Display sentiment graph shows the screen aspect for Samsung brand. According to the graph, it does not have a lot of positive reviews. It is just an average, that is the people on the business side will have to focus on this aspect.

Fig. 4
figure 4

Sentiment analysis of screen aspect

The above Fig. 5 is a graphical representation of the sentiments that has been achieved after performing sentiment analysis for the battery aspect of the Samsung brand. It has more than 3000 positive comments and around 1000 negative and neutral comments. Since it has more positive comments that means the customer is satisfied by the battery aspect of the Samsung brand.

Fig. 5
figure 5

Sentiment analysis of a battery aspect

The above Fig. 6 is a graphical representation of the sentiments that has been achieved after performing sentiment analysis for the colour aspect of the Samsung brand. It has around 160 positive reviews and around 30 negative and neutral comments. Since it has more positive comments compared to negative and neutral ones, it is satisfactory at the customer’s side.

Fig. 6
figure 6

Sentiment analysis of colour aspect

Similarly, we can see the graphical representation of each brand based on their aspects.

5.6 Recommending Based on Weighted Score

After analysing the sentiments, we have calculated the scores for each aspect of every brand as shown in Table 5 below. The scores have been calculated focussing on the positive comments from the total number of comments of a particular aspect. This will help us to predict the customer’s likes based on their comments so that we can recommend the products of specific brands to the customers based on the aspect which he/she is focusing on.

Table 5 Calculating Scores for each Aspect (brand level)

For instance, if customer A cares about ‘price’ more than the other aspects of the product then we can recommend to the customer the products of the brand which has the highest score for the ‘price’ aspect. Here according to the comments, we have the ‘Xiaomi’ brand that has the highest score for the ‘price’ aspect. Therefore, we can recommend Xiaomi products to Customer A.

For instance, if the customer wants a particular brand and wants the best product to be suggested to them, then it will do product-based recommendation as shown in the above Table 6.

Table 6 Calculating Scores for each Aspect (product level)

Here according to the comments, we have a OnePlus 7 pro to be recommended if the customer cares about the screen, battery, and colour. If the customer cares about the price, then it will recommend OnePlus 7.

5.7 Preference-Based Recommendation System

A preference-based recommendation system is used to overcome the limitation that we get from the above proposed method. This method will predict the consumer’s product choice based on previous reviews. The ranking mechanism is done based on the preferences concerning the customer’s degree of experience. The degrees can be proficiency (high degree), intermediate (medium degree), novice (starter degree).

We will check if there are multiple comments for a particular product or just one comment for a particular product. If there are multiple comments for the particular product then the above method to calculate the scores based on a product level is implemented.

Method 1 has limitations that have been overcome by improvising the algorithm. The limitation was if there is only one comment for a particular product.T algorithm will not accurately recommend the product. Therefore we proposed an improvised version of method 1 that is a preference-based recommendation system.

For instance, Janet commented on iPhone 12 pro. And there is only one comment for that product. She commented, “Battery performance is awesome”. Firstly, the algorithmic flow for this approach would be to check if the product ‘iPhone 12’ has multiple comments. Since it has only one comment it will go to step 2.

Calculate the total number of comments given by Janet for various products. For example, Janet gave around 10 comments for various products. Now it will check if the total number of comments given by Janet is greater than 5. Since it’s greater than 5 we will proceed to the next steps of the algorithm.

Perform sentiment analysis to find the opinions of Janet for every product she has commented on. For example, Janet commented on products like the OnePlus 6, iPhone 7, Samsung A50, Samsung S10, iPhone 11, Motorola G6, Motorola G4, OnePlus 7 pro, Samsung A70, and Motorola G5. And sentiments calculated from them are positive, negative, positive, positive, positive, negative, positive, negative, positive, and negative respectively.

Calculate the overall sentiments of the comments of every product (that customer A commented on). In this step, the sentiment analysis is performed and scores of each product have been calculated.

After that comparison is done between the opinion given by Janet and the opinions given by all other customers. Janet gave positive, negative, positive, positive, positive, negative, positive, negative, positive, and negative. As shown in Table 7 we will see whether positive reviews are greater than the other reviews, then we will assign the opinion as positive to the products. Finally, we will compare the opinion of Janet with the assigned opinions of the product. If it’s equal then we will assign 1 or else 0. So in this case our values will be (1, 0, 1, 1, 1, 0, 1, 0, 1, 0).

Table 7 Sentiment analysis of products

Now, to calculate the customer’s value based on their experience the following formula has been used.

$$Cust\_Value_{j} \; = \;\left( {Sum \, of Cust\_op_{j} } \right)/\left( {Total \, reviews \, of \, Cust_{j} } \right)$$

where j is a particular customer.

$$Cust\_Value_{janet} \; = \;\left( {1 + 0 + 1 + 1 + 1 + 0 + 1 + 0 + 1 + 0} \right)/10 = 0.6$$

Now to determine the degree of experience of Janet we have to assign the cust_value to the degree. Cust_value of Janet is 0.6 which is 60% she will be in an intermediate degree. Since she belongs to an intermediate degree, we can recommend that particular product to the other customers.

6 Conclusion and Future Work

In this paper, the most cared aspects that has been considered are price, battery, colour, and screen for the cell-phone-based dataset. This dataset is an Amazon dataset, and it’s available to use. We have grouped the comments of each brand and product based on the most cared aspects. Then sentiment analysis is performed on those aspect-based comments and found whether the comments are positive, negative, and neutral. We then calculated the polarities for the same. Finally, for all brands, we have calculated the scores for each aspect. This helped to predict what products to be recommended to the customer based on their most cared aspects. The above-proposed idea is good for the dataset that has been used, as it contains multiple reviews for every product. But if we have the dataset in which there is only one comment for one product it will give 100% recommendation if the review is positive. Therefore, we have proposed a preference-based recommendation system that will help to overcome this limitation. We can further perform the same method on various datasets according to the customer’s cared aspects. Thus we see that our proposed method acts as a boon to product based companies to actually target customers with products based on their most cared aspects. This not only decreases the marketing cost at the end of the e-commerce company but also saves customers valuable time. For future work, firstly, we can define more aspects to be the most cared aspects by the customer and get product recommendation for them as well. Secondly, we can develop more sophisticated and accurate sentiment analysis algorithms for better accuracy. Lastly, we can also expand the scope of the recommendation system- The current system is focused on product recommendations based on customer feedback, but it can be expanded to include other aspects such as geographic location, purchasing history, and social media activity to provide more accurate and personalized recommendations.