<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE article  PUBLIC "-//NLM//DTD Journal Publishing DTD v3.0 20080202//EN" "http://dtd.nlm.nih.gov/publishing/3.0/journalpublishing3.dtd"><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" dtd-version="3.0" xml:lang="en" article-type="research article"><front><journal-meta><journal-id journal-id-type="publisher-id">JCC</journal-id><journal-title-group><journal-title>Journal of Computer and Communications</journal-title></journal-title-group><issn pub-type="epub">2327-5219</issn><publisher><publisher-name>Scientific Research Publishing</publisher-name></publisher></journal-meta><article-meta><article-id pub-id-type="doi">10.4236/jcc.2023.113009</article-id><article-id pub-id-type="publisher-id">JCC-124036</article-id><article-categories><subj-group subj-group-type="heading"><subject>Articles</subject></subj-group><subj-group subj-group-type="Discipline-v2"><subject>Computer Science&amp;Communications</subject></subj-group></article-categories><title-group><article-title>
 
 
  A Conceptual and Computational Framework for Aspect-Based Collaborative Filtering Recommender Systems
 
</article-title></title-group><contrib-group><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Samin</surname><given-names>Poudel</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref><xref ref-type="corresp" rid="cor1"><sup>*</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Marwan</surname><given-names>Bikdash</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref><xref ref-type="corresp" rid="cor1"><sup>*</sup></xref></contrib></contrib-group><aff id="aff1"><addr-line>Department of Computational Data Science and Engineering, North Carolina A &amp;amp; T University, Greensboro, North Carolina, USA</addr-line></aff><pub-date pub-type="epub"><day>10</day><month>03</month><year>2023</year></pub-date><volume>11</volume><issue>03</issue><fpage>110</fpage><lpage>130</lpage><history><date date-type="received"><day>24,</day>	<month>February</month>	<year>2023</year></date><date date-type="rev-recd"><day>28,</day>	<month>March</month>	<year>2023</year>	</date><date date-type="accepted"><day>31,</day>	<month>March</month>	<year>2023</year></date></history><permissions><copyright-statement>&#169; Copyright  2014 by authors and Scientific Research Publishing Inc. </copyright-statement><copyright-year>2014</copyright-year><license><license-p>This work is licensed under the Creative Commons Attribution International License (CC BY). http://creativecommons.org/licenses/by/4.0/</license-p></license></permissions><abstract><p>
 
 
  Many datasets in E-commerce have rich information about items and users who purchase or rate them. This information can enable advanced machine learning algorithms to extract and assign user sentiments to various aspects of the items thus leading to more sophisticated and justifiable recommendations. However, most Collaborative Filtering (CF) techniques rely mainly on the overall preferences of users toward items only. And there is lack of conceptual and computational framework that enables an understandable aspect-based AI approach to recommending items to users. In this paper, we propose concepts and computational tools that can sharpen the logic of recommendations and that rely on users’ sentiments along various aspects of items. These concepts include: The sentiment of a user towards a specific aspect of a specific item, the emphasis that a given user places on a specific aspect in general, the popularity and controversy of an aspect among groups of users, clusters of users emphasizing a given aspect, clusters of items that are popular among a group of users and so forth. The framework introduced in this study is developed in terms of user emphasis, aspect popularity, aspect controversy, and users and items similarity. Towards this end, we introduce the Aspect-Based Collaborative Filtering Toolbox (ABCFT), where the tools are all developed based on the three-index sentiment tensor with the indices being the user, item, and aspect. The toolbox computes solutions to the questions alluded to above. We illustrate the methodology using a hotel review dataset having around 6000 users, 400 hotels and 6 aspects.
 
</p></abstract><kwd-group><kwd>Recommender System</kwd><kwd> Collaborative Filtering</kwd><kwd> Aspect based recommendation</kwd><kwd> Recommendation System Framework</kwd><kwd> Aspect Sentiments</kwd></kwd-group></article-meta></front><body><sec id="s1"><title>1. Introduction</title><p>The ever-expanding growth of the e-commerce websites and applications have enriched the recommender dataset with the aspect-level data [<xref ref-type="bibr" rid="scirp.124036-ref1">1</xref>] [<xref ref-type="bibr" rid="scirp.124036-ref2">2</xref>] [<xref ref-type="bibr" rid="scirp.124036-ref3">3</xref>] [<xref ref-type="bibr" rid="scirp.124036-ref4">4</xref>] . Many recommender datasets with ample information about the preferences of many users towards various aspects of many items are available [<xref ref-type="bibr" rid="scirp.124036-ref5">5</xref>] [<xref ref-type="bibr" rid="scirp.124036-ref6">6</xref>] . The aspect related information is either explicitly mentioned or implicit, mainly hidden in the texts such as reviews [<xref ref-type="bibr" rid="scirp.124036-ref7">7</xref>] [<xref ref-type="bibr" rid="scirp.124036-ref8">8</xref>] [<xref ref-type="bibr" rid="scirp.124036-ref9">9</xref>] . NLP algorithms are well advanced to extract the users’ aspect-sentiments from the texts [<xref ref-type="bibr" rid="scirp.124036-ref10">10</xref>] [<xref ref-type="bibr" rid="scirp.124036-ref11">11</xref>] . Different Aspect Based Sentiment Analysis (ABSA) algorithms are regularly developed to mine the opinions of users towards different aspects of items [<xref ref-type="bibr" rid="scirp.124036-ref10">10</xref>] [<xref ref-type="bibr" rid="scirp.124036-ref12">12</xref>] [<xref ref-type="bibr" rid="scirp.124036-ref13">13</xref>] [<xref ref-type="bibr" rid="scirp.124036-ref14">14</xref>] .</p><p>Despite the availability of detailed sentiment data, most of the CF Recommender Systems (RS) are still based on overall ratings [<xref ref-type="bibr" rid="scirp.124036-ref15">15</xref>] [<xref ref-type="bibr" rid="scirp.124036-ref16">16</xref>] [<xref ref-type="bibr" rid="scirp.124036-ref17">17</xref>] . Collaborative Filtering (CF) techniques typically recommend relevant items to a user based upon the overall preferences of other users towards the items [<xref ref-type="bibr" rid="scirp.124036-ref18">18</xref>] [<xref ref-type="bibr" rid="scirp.124036-ref19">19</xref>] , in part because a theoretical framework for using user sentiments towards aspects has not been developed.</p><p>Aspect-sentiment based studies generally mine the opinion of users towards different aspects of items and present the mined results [<xref ref-type="bibr" rid="scirp.124036-ref20">20</xref>] [<xref ref-type="bibr" rid="scirp.124036-ref21">21</xref>] . The extracted aspects and the related sentiments are left without further analysis as in the two studies in [<xref ref-type="bibr" rid="scirp.124036-ref21">21</xref>] and [<xref ref-type="bibr" rid="scirp.124036-ref22">22</xref>] . In [<xref ref-type="bibr" rid="scirp.124036-ref23">23</xref>] , the authors perform sentiment analysis of reviews to identify the nearest-neighbor items in terms of aspect sentiments but no discussion of emphasis on aspects or of the popularity of aspects was included, and further analysis of aspect-sentiments was not conducted. In [<xref ref-type="bibr" rid="scirp.124036-ref24">24</xref>] , the authors extract aspect-level preferences of a user from the reviews, then compare the users’ aspect-level preferences with aspect-level details of a review to score the helpfulness of the review and subsequently recommend the reviews based on their helpfulness score. The impact on the item-level aspect sentiments, popularity of aspects, or on item recommendation was not included.</p><p>Aspect-based information was also discussed in [<xref ref-type="bibr" rid="scirp.124036-ref25">25</xref>] [<xref ref-type="bibr" rid="scirp.124036-ref26">26</xref>] [<xref ref-type="bibr" rid="scirp.124036-ref27">27</xref>] , but their implications to recommendation systems were not fully explored. In [<xref ref-type="bibr" rid="scirp.124036-ref28">28</xref>] , the authors consider the popularity of each aspect of an item during recommendation. But the study does not discuss the impact of user’s emphasis on aspects and does not consider the aspect-sentiment of a user towards specific aspects of an item. In [<xref ref-type="bibr" rid="scirp.124036-ref25">25</xref>] and [<xref ref-type="bibr" rid="scirp.124036-ref29">29</xref>] , the authors introduce approaches to compute the weighted aspect ratings which are then used to infer a user’s overall rating toward an item, but does not involve the analysis of popularity of an aspect of an item. The authors in [<xref ref-type="bibr" rid="scirp.124036-ref30">30</xref>] consider the users’ emphasis on aspect and average sentiment of all users towards product of an item for recommendation but do not consider individual users’ sentiment towards an aspect of an item. The authors in [<xref ref-type="bibr" rid="scirp.124036-ref8">8</xref>] propose a CF RS relying on the user’s experience with the aspects of particular items but not with the overall emphasis of a user on an aspect and it is also missing the involvement of overall popularity of an aspect of an item.</p><p>The impact of aspect sentiment on recommendation was explored in several studies, but incompletely [<xref ref-type="bibr" rid="scirp.124036-ref31">31</xref>] [<xref ref-type="bibr" rid="scirp.124036-ref32">32</xref>] . In [<xref ref-type="bibr" rid="scirp.124036-ref33">33</xref>] , a method was proposed to include the sentiment-based explanation of features of items, so that users can make better choices, but the emphasis of a user towards an aspect and the sentiment of a user toward a particular aspect of an item were not used, which we consider in this paper as a crucial ingredient in making recommendation based on the available aspect sentiment. Similarly for [<xref ref-type="bibr" rid="scirp.124036-ref34">34</xref>] , where user-level and item-level importance of aspects were discussed but the sentiments themselves were not used. [<xref ref-type="bibr" rid="scirp.124036-ref35">35</xref>] combines the aspect-level popularity of items with the importance of an aspect to a user to make recommendations, but does not use the user sentiments. The study in [<xref ref-type="bibr" rid="scirp.124036-ref36">36</xref>] determines whether a user is influenced more by positive or negative opinions, then combines the influence score with the item-level aspect importance to rank items. Authors in [<xref ref-type="bibr" rid="scirp.124036-ref7">7</xref>] consider aspect emphasis and item-aspect availability but do not make use of aspect-sentiments. The study in [<xref ref-type="bibr" rid="scirp.124036-ref37">37</xref>] uses the aspect-utility and the aspect-importance values to predict an overall rating towards an item from a review, but the users and items are not related via user sentiments.</p><p>The above discussion suggests that researchers in this field are exploring the relationships and uses of several key concepts in the recommendation problem, but no clear framework that unifies these key concepts has been developed. In this paper, we propose and develop such a framework, mainly by showing that the key concepts can be all computed and related once the 3-index Aspect-Sentiment Tensor (AST) s ( u , i , a ) is defined or sampled, where s, u, i, and a denote, sentiment, user, item, and aspect, respectively. Subsequently, we will define, in terms of the AST, concepts like popularity, emphasis, controversy, and similarity of users, items, and aspects. The relationships between the concepts will be made clearer as they are all derived in a consistent manner from an underlying sentiment tensor.</p><p>Finally, we end up with an Aspect-based Collaborative Filtering Toolbox (ABCFT) that simplifies the process of developing aspect-based CF approaches and has an extensive potential of developing an explanatory aspect-based CF recommender system. We encourage to extend ABCFT with additional tools so that we together can speed up involving aspect-based information to make more justifiable recommendations.</p></sec><sec id="s2"><title>2. Notation and Concepts</title><p>Common notations used in this study are as listed below:</p><p>1) Capital letters represent sets, matrices, or tensors. And the notation E ( u , a ) = e u a to indicate their elements.</p><p>2) Small letters represent elements in sets or matrices. When sub-scripted or super-scripted, they represent the elements in the matrices or tensors. For example, e u a represents the emphasis score of aspect a according to user u and is the element in the corresponding matrix E.</p><p>3) | S | represents the number of elements in the set S.</p><p>4) R is the Rating Matrix of size m by n, where m is the total number of users and n is the total number of items. It is further discussed in Section 2.1.</p><p>5) S is the Sentiment Tensor of size m by n by k, where m is the total number of users, n is the total number of items and k is the total number of aspects. It is further discussed in Section 2.1.</p><p>6) U = { u 1 , u 2 , ⋯ , u m } = the set of all the users in S.</p><p>7) I = { i 1 , i 2 , ⋯ , i n } = the set of all the items in S.</p><p>8) A = { a 1 , a 2 , ⋯ , a k } = the set of all the aspects in S.</p><p>9) U ′ is a sub-set of users of U, I ′ is a sub-set of items of I, and A ′ is a sub-set of aspects of S.</p><p>10) U i = the set of all users that have reviewed an item i.</p><p>11) I u = the set of all the items reviewed by a user u.</p><p>12) A i = the set of all aspects of an item i. In our study, usually A i = A .</p><p>13) L + ( a , i ) = l a i + = the popularity of an aspect a of the item i. It is discussed in Section 2.2.1.</p><p>14) E ( u , a ) = e u a represents the emphasis score of a user u on an aspect a. It is discussed in Section 2.4.</p><p>15) d ( u , v | i ) is the distance between users u and v based on item i.</p><p>16) d ( u , v | a ) is the distance between users u and v based on aspect a.</p><p>17) C U ′ is a set of clusters of users in U ′ .</p><sec id="s2_1"><title>2.1. Rating Matric and Aspect Sentiment Tensor</title><p>A rating matrix R is the matrix (aspect-free) of m users and n items as in the classical recommender systems and R ( u , i ) = r u i represents the rating of user u on item i [<xref ref-type="bibr" rid="scirp.124036-ref16">16</xref>] . Generally, the ratings in a rating matrix are discrete numerical values.</p><p>A sentiment tensor S is a three-index tensor of m users, n items and k aspects. Here, S ( u , i , a ) = s u i a denotes the sentiment of user u about an item i along an aspect a. A value in S is either +1 or 0 or −1. 1 represents positive sentiment, −1 represents negative sentiment and 0 represents no sentiment.</p></sec><sec id="s2_2"><title>2.2. Popularity and Controversy</title><p>There may be different ways to define the popularity and controversy of an aspect of an item. Simple definitions of popularity and controversy of an aspect of an item, computable using the Sentiment Tensor S are as explained in Sections 2.2.1 and 2.2.2.</p><p>The popularity of aspects of a specific item can have a significant role in building an aspect-driven recommender system but are rarely used [<xref ref-type="bibr" rid="scirp.124036-ref38">38</xref>] . The aspect-level popularity of an item can be combined with aspect-level preference of users to build a CF based RS [<xref ref-type="bibr" rid="scirp.124036-ref35">35</xref>] . For an item i recommend to a user u, the popularity score of the aspects of that item can be used as the criteria to recommend the top aspects of that item to the user u.</p><sec id="s2_2_1"><title>2.2.1. Popularity of Aspects and Items</title><p>The popularity l a i + ∈ [ 0 , 1 ] of an aspect a of an item i is defined as the proportion of users reviewing aspect a of item i positively. It can be interpreted as the probability of assigning a positive sentiment to that aspect by a randomly selected user, given that the selected user reviewed the aspect. Pr ( s + | a , i ) denotes this probability and can be estimated as follows:</p><p>U i = set of all users that have reviewed item i.</p><p>n a i + = | ∑ u ∈ U i s u i a = 1 | represents the number of users who have rated aspect a of item positively.</p><p>n a i − = | ∑ u ∈ U i s u i a = − 1 | represents the number of users who have rated aspect a of item i negatively.</p><p>n a i 0 = | ∑ u ∈ U i s u i a = 0 | represents the number of users who have not rated aspect a of item i.</p><p>Then, the popularity l a i + and its compliment l a i − for an aspect a of an item i can be computed as:</p><p>l a i + = n a i + n a i + + n a i − (1)</p><p>l a i − = n a i − n a i + + n a i − (2)</p><p>Note that l a i + + l a i − = 1 . However, l a i + does not represent the probability of assigning a positive sentiment to that aspect by a randomly selected user, because such a user may not rate the aspect of the item. To estimate the probability, we can correct with the probability that a random user rates the aspect. This probability is:</p><p>Pr ( s ≠ 0 | a , i ) = n a i + + n a i − n a i + + n a i − + n a i 0 (3)</p><p>For simplicity, we will use l a i + computed on U i as an estimate of Pr ( s + | a , i ) and l a i − = 1 − l a i + as estimate of its complement.</p></sec><sec id="s2_2_2"><title>2.2.2. Controversy of Aspects and Items</title><p>The Controversy measure of an aspect a of an item i, κ a i is a measure of disagreement in sentiment between the users regarding an aspect a of an item i. Moreover, κ a i lies in [0, 1]. Mathematically,</p><p>κ a i = 1 − | l a i + − l a i − | (4)</p><p>Notice that if l a i + = l a i − , meaning that an equal number of users liked and disliked that aspect, then κ a i will be one, indicating maximum controversy. On the other hand, a complete agreement among users regarding the aspect a of item i gives l a i + = 0 or l a i − = 0 , then κ a i will be zero, indicating no controversy, and hence consensus.</p><p>The most controversial aspect of an item i noted as ConAsp(i) is the aspect a of item i having the highest controversy κ a i among a ∈ A i . The most controversial item based on an aspect a noted as ConItem(a) is the item i having highest controversy score κ a i among all i ∈ I .</p></sec></sec><sec id="s2_3"><title>2.3. Relationship of Users Based on Aspects</title><p>The relationship between two or more users can be assessed based on how they rate the aspects of items. For instance, users can be related based on sentiments towards all aspects of an item or based on their sentiments towards one aspect but considering all the items.</p><p>In general, positively biased users are the users tending to review every item or aspect under consideration positively. The Most Positive Users (MPU) about all aspects of an item i, noted as MPU(i) are users who review most or all the aspects of item i positively.</p><p>Two users are said to be the most disagreeing users if they tend to review every item or aspect under consideration with extreme opposite values in the reviewing scale. The Most Disagreeing Users on a specific aspect a considering all the items, noted as MDU(a) are the users who have reviewed aspect a with opposite sentiment to each other for most, if not all of the items.</p><p>The Nearest Neighbors to a user u based on an aspect a considering all the items is a set denoted as NN(a) are the users who think most like the user u toward aspect a considering all the items.</p><p>In general, clustering of objects is the process of grouping objects in a way that objects belonging to the same group are more similar to each other based on certain criteria than to the objects in other groups [<xref ref-type="bibr" rid="scirp.124036-ref39">39</xref>] . In our study, a cluster of users expressing similar sentiments to all aspects of item i, denoted as ClSent(U<sub>i</sub>) is a group of users who have most similar sentiments to all aspects of item i. Similarly, a cluster of users emphasizing similar aspects of item i, denoted as ClEmp(U<sub>i</sub>) consists of users who emphasize similar aspects of item i.</p></sec><sec id="s2_4"><title>2.4. Emphasis Score</title><p>The preference level of users toward different aspects is an important part of aspect-based CF approaches [<xref ref-type="bibr" rid="scirp.124036-ref40">40</xref>] [<xref ref-type="bibr" rid="scirp.124036-ref41">41</xref>] [<xref ref-type="bibr" rid="scirp.124036-ref42">42</xref>] . Usually, the importance of an aspect to a user is inferred from reviews and are involved in aspect-based CF as one of the latent factors [<xref ref-type="bibr" rid="scirp.124036-ref18">18</xref>] [<xref ref-type="bibr" rid="scirp.124036-ref43">43</xref>] [<xref ref-type="bibr" rid="scirp.124036-ref44">44</xref>] [<xref ref-type="bibr" rid="scirp.124036-ref45">45</xref>] . Here, we present a simple approach to compute emphasis of a user towards an aspect based on the information stored in Sentiment tensor S.</p><p>The emphasis score of a user u towards an aspect a, e<sub>ua</sub> can be defined as the ratio of times the aspect a is reviewed by user u over the total number of items reviewed by u. The value of e<sub>ua</sub> lies in [0,1]. Mathematically, the emphasis score of a user u toward an aspect a can be computed as:</p><p>E ( u , a ) = e u a = 1 u ∑ i ∈ I U | s u i a | (5)</p></sec><sec id="s2_5"><title>2.5. Similarity and Dissimilarity between Users</title><p>Item-Based User Disagreement, IBUD ( u , v | i ) between two users u and v is the dissimilarity score between them based on their aspect-sentiments towards all aspects of item i. Similarly, Item-Based User Agreement, IBUA ( u , v | i ) between two users u and v is the similarity score between them based on their aspect-sentiments towards all aspects of item i.</p><p>Aspect-Based User Disagreement, ABUD ( u , v | a ) between two users u and v is the dissimilarity score between them based on their sentiments toward aspect a considering all the items. Similarly, Aspect-Based User Agreement, ABUA ( u , v | a ) between two users u and v is the similarity score between them based on their sentiments toward an aspect a considering all the items.</p><p>In general, similarity between two data objects is a numerical measure to determine how alike they are [<xref ref-type="bibr" rid="scirp.124036-ref46">46</xref>] . And the value of similarity in general is in [0, 1]. And dissimilarity is a numerical measure to find different two data objects are. Dissimilarity or distance between two objects, not necessarily lie between [0, 1] until normalized.</p><p>The distance or similarity measure between objects is a key step in data mining tasks like classification and clustering [<xref ref-type="bibr" rid="scirp.124036-ref47">47</xref>] . The distances may be computed in different ways based on the type of data we are dealing with. Distance between two numerical or ordinal vectors x and y can generally be defined by any mathematical norm for the difference vector d ( x , y ) ∈ R n [<xref ref-type="bibr" rid="scirp.124036-ref48">48</xref>] . The Minkowski distance of different orders can be used to compute the distance between vectors formed from the numerical and ordinal data [<xref ref-type="bibr" rid="scirp.124036-ref49">49</xref>] . Minkowski distance between the ordinal vectors x and y of order p can be computed as:</p><p>d ( x , y ) = ( ∑ i = 1 n | x i − y i | p ) 1 p (6)</p><p>Minkowski distance of order 1 (p = 1) is Manhattan distance or 1-norm. And Minkowski distance of order 2 (p = 2) is the euclidean distance or 2-norm. K-means clustering which is one of the widely used unsupervised machine learning algorithms also uses the Minkowski distance of different order during clustering.</p><p>In this study, the distance between two users u and v based on item i, d ( u , v | i ) is termed as Item-Based User Disagreement (IBUD). IBUD ( u , v | i ) is computed based on Euclidean distance of aspect-sentiments of u and v based on all aspects in A of item i. Mathematically,</p><p>IBUD ( u , v | i ) = d ( u , v | i ) = ∑ a ∈ A ( s u i a − s v i a ) 2 (7)</p><p>IBUD may be normalized as required by the problems. For a normalized IBUD denoted as IBUD* which lies in [0,1], we define Item-based User Agreement (IBUA) as IBUA = 1 − IBUD*. In this work, the similarity between two users u and v based on an item i, sim ( u , v | i ) = IBUA ( u , v | i ) is computed based on the aspect sentiments of users u and v towards all aspect in A ′ of item i. And the weight between two users u and v is defined as</p><p>w u v = ∑ i ∈ I u ∩ I v ( u , v | i ) (8)</p><p>The distance between two users u and v based on aspect a, d ( u , v | a ) is termed as Aspect-Based User Disagreement (ABUD). ABUD ( u , v | a ) can be computed considering all the items in I as:</p><p>ABUD ( u , v | a ) = d ( u , v | a ) = ∑ i ∈ I ( s u i a − s v i a ) 2 (9)</p><p>ABUD may be normalized as required by the problems. For a normalized ABUD denoted as ABUD* which lies in [0, 1], we define Aspect-based User Agreement (ABUA) as ABUA = 1 − ABUD*.</p></sec></sec><sec id="s3"><title>3. Methodology</title><p>In this Section, Aspect-Based Tools, their tasks, and process to solve the tasks are discussed. The algorithm of each tool is discussed in Section 4. Each tool presented here is a tool in the proposed Aspect-based Collaborative Filtering Toolbox (ABCFT). ABCFT can be used to build a complete aspect-based explanatory recommender system.</p><p>The list of eight Aspect-Based CF Tools is as below:</p><p>1) Determine the most controversial aspect a of an item i denoted as ConAsp(i)</p><p>The tool ConAsp(i) determines the most controversial aspect a of an item i. This can be achieved by finding the aspect a of the item i with the highest controversial measure κ a i or the lowest uncontroversial measure κ ′ a i . The proposed algorithm is presented in Section 4.1.</p><p>2) Find the most controversial item i based on aspect a denoted as ConItem(a)</p><p>The tool ConItem(a) finds the most controversial item i based on an aspect a. This is achieved by finding the item i with the highest controversial measure κ a i or the lowest uncontroversial measure κ ′ a i for specific aspect a. The proposed algorithm is presented in 4.2.</p><p>3) Determine users who are most positive about all aspects of an item i denoted as MPU(A|i)</p><p>The tool MPU(A|i) finds the users who are most positive about all aspects in A of an item i. This is achieved by computing the dissimilarity of every user u with an assumed user u’ who has got positive sentiments for all the aspects in A of the item i. Here, u belongs to the set of users reviewing item i i.e. u ∈ U i . The users in U<sub>i</sub> with least value of the defined measure of proximity with u’ are most positive. The algorithm is as presented in Section 4.3.</p><p>4) Determine users who feel most like (agree with) specified user u’ based on an aspect a denoted as NN(u’|a)</p><p>The tool NN(u’|a) determines the users who feel most like (agree with) specified user u’ based on an aspect a. This is achieved by computing the dissimilarity between user u and every other user based on their aspect-sentiments toward aspect a of all the items. The users with least dissimilarity with u' mostly agree with user u’ based on aspect a. The algorithm is as presented in Section 4.4.</p><p>5) Determine pairs of users disagreeing most on a specific aspect a considering all the items denoted as MDU(a|I)</p><p>The tool MDU(a|I) determine pairs of users disagreeing most on a specific aspect a considering all the items in I. This is achieved by computing dissimilarity between every unique pair of users u and u', meaning u ≠ u ′ . The dissimilarity is based on sentiments of u and u' towards aspect a considering all the items in I. The pairs of users with the highest value of dissimilarity are the pairs of users disagreeing most on a specific aspect a considering all the items in I. The algorithm is as presented in Section 4.5.</p><p>6) Find groups of users mostly agreeing on all aspects of an item i or find Aspect-Sentiment based User Clusters of a given item i, ASBUC(U<sub>i</sub>)</p><p>The tool, ASBUC(U<sub>i</sub>) finds the groups of users mostly agreeing on all aspects of an item i. This is achieved by clustering the users reviewing item i based on the sentiment values users provide to all aspects of the item i. The algorithm is as presented in Section 4.6.</p><p>7) Find groups of users who emphasize the same aspects of an item i or Aspect-Emphasis based User Clusters of a given item i, AEBUC(U<sub>i</sub>)</p><p>The tool AEBUC(U<sub>i</sub>) finds groups of users who emphasize the same aspects of an item i. This is achieved by clustering the users reviewing item i based on the sentiment values users provide to all aspect of the item i, but by treating the positive and negative sentiment as same. The algorithm is as presented in Section 4.7.</p><p>8) Rank the aspects based on the emphasis given by a user u to them or Emphasis based Ranking of Aspects in A for a given user u, EBRA(A|u)</p><p>The tool EBRA(A|u) ranks all aspects in A based on the emphasis given by a user u to them. This is achieved by computing the emphasis score of a user u towards every aspect in A. Then, aspects are sorted descending based on their emphasis scores. The one with the highest value of emphasis score gets the rank one and so on. The algorithm is as presented in Section 4.8.</p><p>The tools in ABCFT, their tasks and the concepts used in each tool are summarized in <xref ref-type="table" rid="table1">Table 1</xref>.</p></sec><sec id="s4"><title>4. Algorithms and Illustrations</title><p>In this section, the algorithms for the aspect-based CF tools proposed in Section 3 are presented. And example solutions of the implementation of the tools to a Hotel dataset are provided. The Hotel dataset [<xref ref-type="bibr" rid="scirp.124036-ref44">44</xref>] [<xref ref-type="bibr" rid="scirp.124036-ref45">45</xref>] involves around 6000 users and 400 hotels from Tripadvisor. Hotel dataset was reformatted to an aspect-sentiment tensor made up of six aspect-sentiment matrices. The sentiment values in hotel data sentiment tensor are +1 for positive sentiment, −1 for negative sentiment and 0 for no sentiment. In the hotel dataset downloaded from [<xref ref-type="bibr" rid="scirp.124036-ref50">50</xref>] , aspects were rated in the discrete values from 1 to 5. Aspect-ratings were converted to aspect-sentiments based on the condition, if aspect-rating &gt; 3.0 then aspect-sentiment = positive (1.0) and if aspect rating ≤ 3.0 then aspect-sentiment = negative (−1.0). The aspects involved are Location, Service,</p><table-wrap id="table1" ><label><xref ref-type="table" rid="table1">Table 1</xref></label><caption><title> Summary of tools in aspect-based CF toolbox</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >Tool</th><th align="center" valign="middle" >Task</th><th align="center" valign="middle" >Concepts and Terminologies Used</th></tr></thead><tr><td align="center" valign="middle" >ConAsp(i)</td><td align="center" valign="middle" >To determine the most controversial aspect a of an item i</td><td align="center" valign="middle" >Popularity and Controversy, AST</td></tr><tr><td align="center" valign="middle" >ConItem(a)</td><td align="center" valign="middle" >To find the most controversial item i based on an aspect a</td><td align="center" valign="middle" >Popularity and Controversy, AST</td></tr><tr><td align="center" valign="middle" >MPU(A|i)</td><td align="center" valign="middle" >To find the users who are most positive about all aspects in A of an item i</td><td align="center" valign="middle" >IBUD, AST</td></tr><tr><td align="center" valign="middle" >NN(u’|a)</td><td align="center" valign="middle" >To determine the users who feel most like specified user u’ based on an aspect a</td><td align="center" valign="middle" >ABUD, ABUA, AST</td></tr><tr><td align="center" valign="middle" >MDU(a|I)</td><td align="center" valign="middle" >To determine pairs of users disagreeing most on a specific aspect a considering all the items in i</td><td align="center" valign="middle" >ABUD, AST</td></tr><tr><td align="center" valign="middle" >ASBUC(U<sub>i</sub>)</td><td align="center" valign="middle" >To find the groups of users mostly agreeing on all aspects of an item i</td><td align="center" valign="middle" >ABUD, ABUA, AST</td></tr><tr><td align="center" valign="middle" >AEBUC(U<sub>i</sub>)</td><td align="center" valign="middle" >To find the groups of users who emphasize the same aspects of an item i</td><td align="center" valign="middle" >ABUD, ABUA, AST</td></tr><tr><td align="center" valign="middle" >EBRA(A|u)</td><td align="center" valign="middle" >To rank all aspects in A based on the emphasis given by a user u to them</td><td align="center" valign="middle" >Emphasis Score, AST</td></tr></tbody></table></table-wrap><p>Cleanliness, Value, Sleep Quality, and Rooms.</p><p>Proposed Algorithms for the tools in ABCFT are to follow. All the tools assume the availability of the sentiment tensor S where S ( u , i , a ) represents the sentiment of user u about an aspect a of an item i.</p><sec id="s4_1"><title>4.1. Determine the Most Controversial Aspect a of an Item i</title><p>The algorithm for finding the most controversial aspect a of an item i noted as ConAsp(i) is as below:</p><p>1) For each aspect a of item i,</p><p>a) Compute popularity l a i + using Equation (1) and its compliment l a i − using Equation (2).</p><p>b) Compute controversy κ a i of the aspect a of the item i using Equation (4).</p><p>2) The most controversial aspect a of item: ConAsp(i) = aspect with the maximum κ a i .</p><p>The idea of finding the most controversial aspect may look like a simpler problem compared to the big machine learning problems in the Recommendation Systems. But the solution of this problem can play a vital role in making meaningful recommendations to the users when combined with other solutions.</p><p>The example in <xref ref-type="table" rid="table2">Table 2</xref> gives the controversy κ a i of aspects of the item 0. This example is based on the Hotel dataset used in this study. The aspect Value is the most controversial aspect of hotel 0, because it has the highest controversial measure κ a i among the six aspects of the hotels under consideration.</p></sec><sec id="s4_2"><title>4.2. Find the Most Controversial Item i Based on Aspect a</title><p>The algorithm for finding the most controversial item i based on an aspect a noted as ConItem(a) is as below:</p><p>1) For each item i,</p><p>a) Compute popularity l a i + using Equation (1) and its compliment l a i − using Equation (2) for specific aspect a.</p><p>b) Compute controversy κ a i of the specific aspect a of item i using Equation (4) and store it.</p><p>2) The most controversial item i based on specific aspect a: ConItem(a) = item with the maximum κ a i for specific aspect a.</p><p>The solution to the problem of finding the most controversial item based on an aspect a can also be a solution to the challenge of recommending items to new users. The most controversial items can be avoided while recommending to new users with insufficient rating or sentiment data.</p><p>For the hotel data used in this study, item 300 is the most controversial item based on aspect Location. The result is as disclosed in <xref ref-type="table" rid="table3">Table 3</xref>.</p></sec><sec id="s4_3"><title>4.3. Determine the Top N Users Who Are Most Positive about All Aspects of an Item i</title><p>Let U<sub>i</sub> be the set of all users that have reviewed the item i. The proposed algorithm</p><table-wrap id="table2" ><label><xref ref-type="table" rid="table2">Table 2</xref></label><caption><title> Example solution of the approach in Section 4.1 for determining the most controversial aspect a of an item 0 using Hotel Dataset</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >Aspect a</th><th align="center" valign="middle" >Controversy for item 0, κ a 0</th><th align="center" valign="middle" >Number of Users with positive sentiment towards aspect a of item 0, n a i +</th><th align="center" valign="middle" >Number of Users with negative sentiment towards aspect a of item 0, n a i −</th></tr></thead><tr><td align="center" valign="middle" >Value</td><td align="center" valign="middle" >0.69</td><td align="center" valign="middle" >59</td><td align="center" valign="middle" >31</td></tr><tr><td align="center" valign="middle" >Service</td><td align="center" valign="middle" >0.58</td><td align="center" valign="middle" >62</td><td align="center" valign="middle" >25</td></tr><tr><td align="center" valign="middle" >Rooms</td><td align="center" valign="middle" >0.54</td><td align="center" valign="middle" >63</td><td align="center" valign="middle" >23</td></tr><tr><td align="center" valign="middle" >Sleep Quality</td><td align="center" valign="middle" >0.46</td><td align="center" valign="middle" >34</td><td align="center" valign="middle" >10</td></tr><tr><td align="center" valign="middle" >Cleanliness</td><td align="center" valign="middle" >0.42</td><td align="center" valign="middle" >72</td><td align="center" valign="middle" >19</td></tr><tr><td align="center" valign="middle" >Location</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >87</td><td align="center" valign="middle" >0</td></tr></tbody></table></table-wrap><table-wrap id="table3" ><label><xref ref-type="table" rid="table3">Table 3</xref></label><caption><title> Example solution of the approach in Section 4.2 for finding the most controversial item i based on aspect a using Hotel Dataset</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >Item i</th><th align="center" valign="middle" >Controversy of aspect Location of item i κ Location i</th><th align="center" valign="middle" >Number of Users with positive sentiment towards aspect Location of item i</th><th align="center" valign="middle" >Number of Users with negative sentiment towards aspect Location of item i</th></tr></thead><tr><td align="center" valign="middle" >300</td><td align="center" valign="middle" >0.98</td><td align="center" valign="middle" >22</td><td align="center" valign="middle" >21</td></tr><tr><td align="center" valign="middle" >162</td><td align="center" valign="middle" >0.96</td><td align="center" valign="middle" >25</td><td align="center" valign="middle" >23</td></tr><tr><td align="center" valign="middle" >393</td><td align="center" valign="middle" >0.95</td><td align="center" valign="middle" >43</td><td align="center" valign="middle" >39</td></tr><tr><td align="center" valign="middle" >76</td><td align="center" valign="middle" >0.94</td><td align="center" valign="middle" >40</td><td align="center" valign="middle" >36</td></tr><tr><td align="center" valign="middle" >325</td><td align="center" valign="middle" >0.94</td><td align="center" valign="middle" >70</td><td align="center" valign="middle" >63</td></tr></tbody></table></table-wrap><p>to solve the problem of finding the top N users who are most positive about all aspects of an item i as below:</p><p>1) Assume a reference user u’ as a user who has got positive sentiments for all the aspects of the item i.</p><p>2) Compute the dissimilarity, Item-Based User Disagreement IBUD ( u , v | i ) of each user in U<sub>i</sub> with the assumed user u’ using Equation (7).</p><p>3) Sort the users in U<sub>i</sub> based on the dissimilarity values IBUD ( u ′ , u | i ) ascendingly.</p><p>4) MPU ( A | i ) = top N sorted users of U<sub>i</sub>. Here, MPU ( A | i ) are the N users that are the N most positive about all aspects of the item i.</p><p>Here, in <xref ref-type="table" rid="table4">Table 4</xref>, we give an example solution of top 5 most positive users about all aspects of item 7. This example is based on Hotel Dataset.</p><p>Based on the proposed solution for finding the top N users who are most positive about all aspect of item i, a hypothesis can be proposed as:</p><p>Hypothesis1: The top N users who are most positive about k − 1 aspects of an item are likely to positive about the k<sup>th</sup> aspect, which has not been used for finding the top N most positive users.</p><p>We evaluated Hypothesis1 by introducing an approach called Leave One Aspect Out. The steps involved during this evaluation are as follows:</p><p>I = set of all items,</p><p>A = set of all aspects.</p><p>1) For an item i in I,</p><p>a) U<sub>i</sub> = set of all users that have reviewed item i</p><p>b) For an aspect a in A,</p><p>i) Split the data into training and test data,</p><p>Let, A ′ = A − a ,</p><p>Trn = sub-tensor S ( u , i , a ′ ) for all u ∈ U i , a ′ ∈ A ′ is training data.</p><p>Tst = sub-tensor S ( u , i , a ) for all u ∈ U i is testing data.</p><p>ii) Let MPU = set of N most positive users about all aspects in A’ found using approach in Section 4.3.</p><p>iii) Find n a i + | MPU = number of users with positive sentiment towards aspect a of item i for all u ∈ MPU .</p><p>iv) Find n a i − | MPU = number of users with negative sentiment towards</p><table-wrap id="table4" ><label><xref ref-type="table" rid="table4">Table 4</xref></label><caption><title> Example solution of the approach in Section 4.3 for determining the top N users who are most positive about all aspects of an item i based on Hotel Dataset</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >User</th><th align="center" valign="middle" >Distance from perfect positivity based on item 7, IBUD(u', u|7)</th></tr></thead><tr><td align="center" valign="middle" >436</td><td align="center" valign="middle" >0</td></tr><tr><td align="center" valign="middle" >117</td><td align="center" valign="middle" >0</td></tr><tr><td align="center" valign="middle" >432</td><td align="center" valign="middle" >0</td></tr><tr><td align="center" valign="middle" >442</td><td align="center" valign="middle" >0</td></tr><tr><td align="center" valign="middle" >448</td><td align="center" valign="middle" >0</td></tr></tbody></table></table-wrap><p>aspect a of item i for all u ∈ MPU .</p><p>v) Accuracy [<xref ref-type="bibr" rid="scirp.124036-ref51">51</xref>] = n a i + | MPU n a i + | MPU + n a i − | MPU , accuracy obtained is store in a list accL.</p><p>c) Step 1b is performed for each aspect in A.</p><p>2) Step 1 is performed for each item in I</p><p>3) Overall accuracy measure = arithmetic means of accuracy values in accL of all aspects and items</p><p>A sentiment s u i a of a user u ∈ MPU for aspect a in the test set is not considered during evaluation if sentiment s u i a = 0 .</p><p>The results of Evaluation of Hypotheis 1 using the Hotel Dataset are tabulated in <xref ref-type="table" rid="table5">Table 5</xref>.</p></sec><sec id="s4_4"><title>4.4. Determine the Top N Users Who Feel Most Like a Specified User u’ Based on an Aspect a</title><p>The algorithm to find top N users who feel most like a specified user u’ based on an aspect a is as follows:</p><p>1) Find I ′ u = the set of all items reviewed by user u'</p><p>2) Find U' = the set all users reviewing at least one item in I u ′</p><p>3) For all u ∈ U ′ , compute Aspect-Based User Disagreement ABUD ( u ′ , u | a ) between users u’ and u based on sentiment toward aspect a considering items rated both and normalize by common number of items reviewed by users u’ and u. Normalized ABUD ( u ′ , u | a ) can be computed as:</p><p>ABUD * ( u ′ , u | a ) = 1 | I u ∩ I u ′ | ∑ i ∈ I u ∩ I u ′ ( s u ′ i a − s u i a ) 2 (10)</p><p>where I u is the set of items reviewed by u,</p><p>I u ′ is the set of items reviewed by u’ and,</p><p>| I u ∩ I u ′ | is the cardinal number of set of items reviewed by both I u and I ′ u .</p><p>4) Sort ABUD * ( u ′ , u | a ) ascendingly and the user u associated with ABUD * ( u ′ , u | a ) .</p><p>5) N nearest neighbors to u' based on aspect a, NN ( u ′ | a ) = top N ascendingly sorted users based on ABUD * ( u ′ , u | a ) . Hence the top N sorted users</p><table-wrap id="table5" ><label><xref ref-type="table" rid="table5">Table 5</xref></label><caption><title> Evaluation of Hypothesis1 using Hotel Dataset</title></caption><table><tbody><thead><tr><th align="center" valign="middle" ></th><th align="center" valign="middle" >Top N most positive users considered = 10</th><th align="center" valign="middle" >Top N most positive users considered= 20</th></tr></thead><tr><td align="center" valign="middle" >Number of users in MPU having positive sentiments toward the aspect in test set during evaluation process</td><td align="center" valign="middle" >1225</td><td align="center" valign="middle" >2859</td></tr><tr><td align="center" valign="middle" >Number of users in MPU having negative sentiments toward the aspect in test set during evaluation process</td><td align="center" valign="middle" >19,565</td><td align="center" valign="middle" >38,716</td></tr><tr><td align="center" valign="middle" >Overall Accuracy measure</td><td align="center" valign="middle" >0.94</td><td align="center" valign="middle" >0.93</td></tr></tbody></table></table-wrap><p>based on the values of ABUD * ( u ′ , u | a ) are the users who think most like u’ based on an aspect a.</p><p><xref ref-type="table" rid="table6">Table 6</xref> gives an example solution for finding the top 5 users who feel most like the user 10 based on the aspect Rooms. This example is based on Hotel Dataset.</p></sec><sec id="s4_5"><title>4.5. Determine the Top N Pair of Users Disagreeing Most on a Specific Aspect a Considering All the Items</title><p>Let U = set of all the users and I = set of all the items. Then, the top N pair of users disagreeing most on a specific aspect a considering all the items noted as MDU ( a | I ) can be found using the following steps:</p><p>1) Compute Aspect-Based User Disagreement ABUD ( u ′ , u | a ) between users u’ and u for u ∈ U , u ′ ∈ U , u ≠ u ′ considering the sentiments of a specific aspect a of all the items in I using Equation (9). In other words, compute distance between each pair of users in U considering sentiments of the specific aspect a of all items in I.</p><p>2) Sort pair of users ( u , u ′ ) descendingly based on distances ABUD ( u ′ , u | a ) . MDU ( a | I ) = top N descendingly sorted ( u , u ′ ) based on ABUD ( u ′ , u | a ) . Hence, MDU ( a | I ) are the pair of users who disagree most on the considered specific aspect a considering all the items in I.</p><p><xref ref-type="table" rid="table7">Table 7</xref> gives an example solution for finding the top 5 pairs of users who</p><table-wrap id="table6" ><label><xref ref-type="table" rid="table6">Table 6</xref></label><caption><title> Example solution of the approach in Section 4.4 for finding the top N users who feel most like a specified user u' based on an aspect a based on Hotel Dataset</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >User u</th><th align="center" valign="middle" >Dissimilarity between user 10 and user u, based on aspect Rooms, ABUD * ( 10 , u | a )</th><th align="center" valign="middle" >Number of common items reviewed by the user 10 and user u, | I u ∩ I u ′ |</th></tr></thead><tr><td align="center" valign="middle" >4252</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >5</td></tr><tr><td align="center" valign="middle" >1023</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >5</td></tr><tr><td align="center" valign="middle" >2376</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >4</td></tr><tr><td align="center" valign="middle" >2710</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >4</td></tr><tr><td align="center" valign="middle" >986</td><td align="center" valign="middle" >0</td><td align="center" valign="middle" >4</td></tr></tbody></table></table-wrap><table-wrap id="table7" ><label><xref ref-type="table" rid="table7">Table 7</xref></label><caption><title> Example solution of the approach in Section 4.5 for determining the top N pair of users disagreeing most on a specific aspect a considering all the items based on Hotel Dataset</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >User u</th><th align="center" valign="middle" >User u'</th><th align="center" valign="middle" >ABUD ( u ′ , u | a )</th></tr></thead><tr><td align="center" valign="middle" >1201</td><td align="center" valign="middle" >1246</td><td align="center" valign="middle" >7.62</td></tr><tr><td align="center" valign="middle" >3170</td><td align="center" valign="middle" >3698</td><td align="center" valign="middle" >7.62</td></tr><tr><td align="center" valign="middle" >1006</td><td align="center" valign="middle" >2032</td><td align="center" valign="middle" >7.48</td></tr><tr><td align="center" valign="middle" >498</td><td align="center" valign="middle" >1006</td><td align="center" valign="middle" >7.48</td></tr><tr><td align="center" valign="middle" >1409</td><td align="center" valign="middle" >3170</td><td align="center" valign="middle" >7.42</td></tr></tbody></table></table-wrap><p>disagree most on aspect Location considering all the items based on the Hotel dataset.</p></sec><sec id="s4_6"><title>4.6. Find the Groups of Users Who Are Most Similar in All Aspects of an Item i</title><p>To find the groups of users who are most similar in all aspects of an item i, we can cluster the users based on the sentiment values users provided to all aspects of item i. The K-means clustering algorithm for finding the groups of users who are most similar in all aspects of an item i is used as follows.</p><p>1) Find U<sub>i</sub> = the set of users that have reviewed item i.</p><p>2) Cluster the users in U<sub>i</sub> based on their sentiments toward all aspects of item i using K-means clustering.</p><p>This algorithm uses Item-Based User Disagreement IBUD ( u , u ′ | i ) computed using Equation (7) during K-means clustering.</p><p>Clusters obtained are the groups of users who are most similar in all the aspects of an item i.</p><p><xref ref-type="fig" rid="fig1">Figure 1</xref> provides an example solution of finding the groups of users who are most similar in all aspects of an item i. This example is based on Hotel Dataset. One can see 5 clusters or groups of users who are most similar in all aspects of item 99.</p></sec><sec id="s4_7"><title>4.7. Find the Groups of Users Who Emphasize the Same Aspects of Item i</title><p>The group of users who emphasize the same aspects of an item i can be found by clustering the users reviewing the same aspects of item i. In our approach, we cluster the users by treating positive and negative sentiment as same. We use K-means clustering algorithm to find users who emphasize same aspect of item i as follows:</p><p>1) Find U<sub>i</sub> = the set of the users that have reviewed the item i. Then,</p><p>2) Cluster the users in U<sub>i</sub> based on their sentiments toward all aspects of the item i, but by treating positive and negative sentiment as same. Here, the K-means clustering is performed using distance IBUD ( u , u ′ | i ) based on the absolute value of the aspect sentiments. Equation (7) is modified as below to compute modified IBUD ( u , u ′ | i ) .</p><p>IBUD ( u , u ′ | i ) = ∑ a ∈ A ( | s u i a | − | s u ′ i a | ) 2 (11)</p><p><xref ref-type="fig" rid="fig2">Figure 2</xref> provides an example solution of finding the groups of users who emphasize the same aspects of item 99 in the Hotel Dataset.</p></sec><sec id="s4_8"><title>4.8. Rank the Aspects Based on the Emphasis Given by User u to Them</title><p>The aspects of an item can be ranked based on the emphasis given by a user u to them using following steps:</p><p>1) Find I<sub>u</sub> = set of items reviewed by user u and A = set of all aspects.</p><p>2) Compute the emphasis score of the user u toward each aspect a using Equation (5).</p><p>3) Sort E ( u , a ) by aspects descendingly and rank. The aspect with the highest value of E ( u , a ) will be the most emphasized aspect.</p><p><xref ref-type="table" rid="table8">Table 8</xref> presents an example solution for ranking the aspects based on emphasis given by user 10 to them. This example is based on the Hotel dataset. <xref ref-type="table" rid="table7">Table 7</xref> shows the emphasis score of user 10 towards each aspect in A. and indicates that user 10 gives strong emphasis to the aspects Service and Cleanliness whereas aspect Sleep Quality is of least emphasis to user 10.</p><p>Here, we presented eight aspect-based CF tools in ABCFT as a start of compiling the tools that can be extracted from Aspect-Sentiment Tensor. And, we would like to encourage exploring and adding the new tools to ABCFT, so the area of recommendation techniques using aspect-based information can grow rapidly.</p></sec></sec><sec id="s5"><title>5. Conclusions and Future Work</title><p>In this work, a general framework applicable to the future studies of aspect-based</p><table-wrap id="table8" ><label><xref ref-type="table" rid="table8">Table 8</xref></label><caption><title> Example solution of the approach in Section 4.8 for ranking the aspects based on emphasis given by a user u to them for Hotel Dataset</title></caption><table><tbody><thead><tr><th align="center" valign="middle" >Aspect a</th><th align="center" valign="middle" >Emphasis score, e u a = E ( u , a )</th><th align="center" valign="middle" >Rank</th></tr></thead><tr><td align="center" valign="middle" >Service</td><td align="center" valign="middle" >1.0</td><td align="center" valign="middle" >1</td></tr><tr><td align="center" valign="middle" >Cleanliness</td><td align="center" valign="middle" >1.0</td><td align="center" valign="middle" >2</td></tr><tr><td align="center" valign="middle" >Rooms</td><td align="center" valign="middle" >0.9</td><td align="center" valign="middle" >3</td></tr><tr><td align="center" valign="middle" >Value</td><td align="center" valign="middle" >0.8</td><td align="center" valign="middle" >4</td></tr><tr><td align="center" valign="middle" >Location</td><td align="center" valign="middle" >0.6</td><td align="center" valign="middle" >5</td></tr><tr><td align="center" valign="middle" >Sleep Quality</td><td align="center" valign="middle" >0.5</td><td align="center" valign="middle" >6</td></tr></tbody></table></table-wrap><p>Collaborative Filtering (CF) approaches is presented. We present an Aspect-Based Collaborative Filtering Toolbox (ABCFT) consisting of eight tools which can be developed based on Aspect-Sentiment Tensor (AST) only. Eight tools in ABCFT are the partial aspect-based CF problems that can be utilized to develop sophisticated aspect-based recommendation approaches. One goal of developing ABCFT is to ease the process of involving aspect-based information into the recommendation approaches, which can enhance the possibility of making rational recommendations to the users. ABCFT promotes the extensive use of aspect-sentiments extracted from well-advanced Aspect Sentiments Based Analysis (ABSA) techniques, which in general are just used surfacely and left after the extraction.</p><p>The use of ABCFT to develop new simple to complex aspect-based recommender systems is encouraged. And the use of ABCFT to improve the performance of current recommender systems can be explored. We initiated the work with 8 simple tools in ABCFT and the work of extension of ABCFT with additional tools can be persuaded to expedite the development of aspect-based recommender approaches.</p></sec><sec id="s6"><title>Conflicts of Interest</title><p>The authors declare no conflicts of interest regarding the publication of this paper.</p></sec><sec id="s7"><title>Cite this paper</title><p>Poudel, S. and Bikdash, M. (2023) A Conceptual and Computational Framework for Aspect-Based Collaborative Filtering Recommender Systems. Journal of Computer and Communications, 11, 110-130. https://doi.org/10.4236/jcc.2023.113009</p></sec></body><back><ref-list><title>References</title><ref id="scirp.124036-ref1"><label>1</label><mixed-citation publication-type="book" xlink:type="simple">Pero, &amp;Scaron;. and Horváth, T. (2013) Opinion-Driven Matrix Factorization for Rating Prediction. In: Carberry, S., Weibelzahl, S., Micarelli, A. and Semeraro, G., Eds., User Modeling, Adaptation, and Personalization. UMAP 2013. Lecture Notes in Computer Science, Vol. 7899, Springer, Berlin, 1-13.https://doi.org/10.1007/978-3-642-38844-6_1</mixed-citation></ref><ref id="scirp.124036-ref2"><label>2</label><mixed-citation publication-type="other" xlink:type="simple">Diaz, G.O. and Ng, V. (2018) Modeling and Prediction of Online Product Review Helpfulness: A Survey. Proceedings of the 56th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers), Melbourne, 15-20 July 2018, 698-708.</mixed-citation></ref><ref id="scirp.124036-ref3"><label>3</label><mixed-citation publication-type="other" xlink:type="simple">Ray, B., Garain, A. and Sarkar, R. (2021) An Ensemble-Based Hotel Recommender System Using Sentiment Analysis and Aspect Categorization of Hotel Reviews. Applied Soft Computing, 98, Article ID: 106935. https://doi.org/10.1016/j.asoc.2020.106935</mixed-citation></ref><ref id="scirp.124036-ref4"><label>4</label><mixed-citation publication-type="other" xlink:type="simple">Poudel, S. and Bikdash, M. (2022) Collaborative Filtering System Based on Multi-Level User Clustering and Aspect Sentiment. Data and Information Management, 6, Article ID: 100021. https://doi.org/10.1016/j.dim.2022.100021</mixed-citation></ref><ref id="scirp.124036-ref5"><label>5</label><mixed-citation publication-type="other" xlink:type="simple">Krestel, R. and Dokoohaki, N. (2011) Diversifying Product Review Rankings: Getting the Full Picture. 2011 IEEE/WIC/ACM International Conferences on Web Intelligence and Intelligent Agent Technology, Lyon, 22-27 August 2011, 138-145.https://doi.org/10.1109/WI-IAT.2011.33</mixed-citation></ref><ref id="scirp.124036-ref6"><label>6</label><mixed-citation publication-type="other" xlink:type="simple">Chen, Y.Y. (2019) Aspect-Based Sentiment Analysis for Social Recommender Systems. Robert Gordon University, Aberdeen. https://rgu-repository.worktribe.com/output/638015/aspect-based-sentiment-analysis-for-social-recommender-systems</mixed-citation></ref><ref id="scirp.124036-ref7"><label>7</label><mixed-citation publication-type="other" xlink:type="simple">He, X., Chen, T., Kan, M.-Y. and Chen, X. (2015) TriRank: Review-Aware Explainable Recommenda-tion by Modeling Aspects. Proceedings of the 24th ACM International on Conference on Information and Knowledge Management, Melbourne, 18-23 October 2015, 1661-1670, https://doi.org/10.1145/2806416.2806504</mixed-citation></ref><ref id="scirp.124036-ref8"><label>8</label><mixed-citation publication-type="other" xlink:type="simple">Bauman, K., Liu, B. and Tuzhilin, A. (2017) Aspect Based Recommendations: Recommending Items with the Most Valuable Aspects Based on User Reviews. Proceedings of the 23rd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, Halifax, 13-17 August 2017, 717-725, https://doi.org/10.1145/3097983.3098170</mixed-citation></ref><ref id="scirp.124036-ref9"><label>9</label><mixed-citation publication-type="other" xlink:type="simple">Diao, Q., Qiu, M., Wu, C.-Y., Smola, A.J., Jiang, J. and Wang, C. (2014) Jointly Modeling Aspects, Ratings and Sentiments for Movie Recommendation (JMARS). Proceedings of the 20th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, New York, 24-27 August 2014, 193-202. https://doi.org/10.1145/2623330.2623758</mixed-citation></ref><ref id="scirp.124036-ref10"><label>10</label><mixed-citation publication-type="other" xlink:type="simple">Yadav, K. (2020) A Comprehensive Survey on Aspect Based Sentiment Analysis. ArXiv: 2006.04611.</mixed-citation></ref><ref id="scirp.124036-ref11"><label>11</label><mixed-citation publication-type="other" xlink:type="simple">Hernández-Rubio, M., Cantador, I. and Bellogín, A. (2019) A Comparative Analysis of Recommender Systems Based on Item Aspect Opinions Extracted From User Reviews. User Modeling and User-Adapted Interaction, 29, 381-441. https://doi.org/10.1007/s11257-018-9214-9</mixed-citation></ref><ref id="scirp.124036-ref12"><label>12</label><mixed-citation publication-type="other" xlink:type="simple">Meyer, B.B. (2017) Using Syntactic Patterns to Enhance Text Analytics. North Carolina Agricultural and Technical State University, Greensboro, 139.</mixed-citation></ref><ref id="scirp.124036-ref13"><label>13</label><mixed-citation publication-type="other" xlink:type="simple">Laskari, N.K. and Sanampudi, S.K. (2016) Aspect Based Sentiment Analysis Survey Deep Learning for NLP and IR View Project Extraction of Events, Times from Natural Language Text and Mapping of the Relations between Them View Project Aspect Based Sentiment Analysis Survey. IOSR Journal of Computer Engineering, 18, 24-28.</mixed-citation></ref><ref id="scirp.124036-ref14"><label>14</label><mixed-citation publication-type="other" xlink:type="simple">Mowlaei, M.E., Saniee Abadeh, M. and Keshavarz, H. (2020) Aspect-Based Sentiment Analysis Using Adaptive Aspect-Based Lexicons. Expert Systems with Applications, 148, Article ID: 113234. https://doi.org/10.1016/j.eswa.2020.113234</mixed-citation></ref><ref id="scirp.124036-ref15"><label>15</label><mixed-citation publication-type="other" xlink:type="simple">Lei, X., Qian, X. and Zhao, G. (2016) Rating Prediction Based on Social Sentiment from Textual Reviews. IEEE Transactions on Multimedia, 18, 1910-1921.https://doi.org/10.1109/TMM.2016.2575738</mixed-citation></ref><ref id="scirp.124036-ref16"><label>16</label><mixed-citation publication-type="other" xlink:type="simple">Poudel, S. and Bikdash, M. (2022) Optimal Dependence of Performance and Efficiency of Collaborative Filtering on Random Stratified Subsampling. Big Data Mining and Analytics, 5, 192-205. https://doi.org/10.26599/BDMA.2021.9020032</mixed-citation></ref><ref id="scirp.124036-ref17"><label>17</label><mixed-citation publication-type="other" xlink:type="simple">Poudel, S. and Bikdash, M. (2023) Closed-Form Models of Accuracy Loss due to Subsampling in SVD Collaborative Filtering. Big Data Mining and Analytics, 6, 72-84. https://doi.org/10.26599/BDMA.2022.9020024</mixed-citation></ref><ref id="scirp.124036-ref18"><label>18</label><mixed-citation publication-type="other" xlink:type="simple">Nie, Y.P., Liu, Y. and Yu, X. (2014) Weighted Aspect-Based Collaborative Filtering. Proceedings of the 37th International ACM SIGIR Conference on Research &amp; Development in Information Retrieval, Gold Coast, 6-11 July 2014, 1071-1074.https://doi.org/10.1145/2600428.2609512</mixed-citation></ref><ref id="scirp.124036-ref19"><label>19</label><mixed-citation publication-type="other" xlink:type="simple">Pawlicka, A., Pawlicki, M., Kozik, R. and Chora&amp;sacute;, R.S. (2021) A Systematic Review of Recommender Systems and Their Applications in Cybersecurity. Sensors, 21, Article No. 15. https://doi.org/10.3390/s21155248</mixed-citation></ref><ref id="scirp.124036-ref20"><label>20</label><mixed-citation publication-type="other" xlink:type="simple">Barrière, V. and Kembellec, G. (2018) Short Review of Sentiment-Based Recommender Systems. Proceedings of the 1st International Conference on Digital Tools &amp; Uses Congress, Paris, 3-5 October 2018, 1-4.https://doi.org/10.1145/3240117.3240120</mixed-citation></ref><ref id="scirp.124036-ref21"><label>21</label><mixed-citation publication-type="other" xlink:type="simple">Moghaddam, S. and Ester, M. (2010) Opinion Digger: An Unsupervised Opinion Miner from Unstructured Product Reviews. Proceedings of the 19th ACM International Conference on Information and Knowledge Management, Toronto, 26-30 October 2010, 1825-1828. https://doi.org/10.1145/1871437.1871739</mixed-citation></ref><ref id="scirp.124036-ref22"><label>22</label><mixed-citation publication-type="other" xlink:type="simple">Musto, C., Rossiello, G., De Gemmis, M., Lops, P. and Semeraro, G. (2019) Combining Text Summarization and Aspect-Based Sentiment Analysis of Users’ Reviews to Justify Recommendations. Proceedings of the 13th ACM Conference on Recommender Systems, Copenhagen, 16-20 September 2019, 383-387. https://doi.org/10.1145/3298689.3347024</mixed-citation></ref><ref id="scirp.124036-ref23"><label>23</label><mixed-citation publication-type="other" xlink:type="simple">D’Addio, R.M. and Manzato, M.G. (2015) A Sentiment-Based Item Description Approach for KNN Collaborative Filtering. Proceedings of the 30th Annual ACM Symposium on Applied Computing, Salamanca, 13-17 April 2015, 1060-1065.https://doi.org/10.1145/2695664.2695747</mixed-citation></ref><ref id="scirp.124036-ref24"><label>24</label><mixed-citation publication-type="other" xlink:type="simple">Huang, C., Jiang, W., Wu, J. and Wang, G. (2020) Personalized Review Recommendation Based on Users’ Aspect Sentiment. ACM Transactions on Internet Technology, 20, Article No. 42. https://doi.org/10.1145/3414841</mixed-citation></ref><ref id="scirp.124036-ref25"><label>25</label><mixed-citation publication-type="other" xlink:type="simple">Wang, Y., Yang, C., Yu, X., Liu, Y. and Nie, Y. (2016) Collaborative Filtering With Weighted Opinion Aspects. Neurocomputing, 210, 185-196.https://doi.org/10.1016/j.neucom.2015.12.136</mixed-citation></ref><ref id="scirp.124036-ref26"><label>26</label><mixed-citation publication-type="other" xlink:type="simple">Bai, P., Xia, Y. and Xia, Y. (2020) Fusing Knowledge and Aspect Sentiment for Explainable Recommendation. IEEE Access, 8, 137150-137160.https://doi.org/10.1109/ACCESS.2020.3012347</mixed-citation></ref><ref id="scirp.124036-ref27"><label>27</label><mixed-citation publication-type="other" xlink:type="simple">McAuley, J., Leskovec, J. and Jurafsky, D. (2012) Learning Attitudes and Attributes from Multi-aspect Reviews. 2012 IEEE 12th International Conference on Data Mining, Brussels, 10-13 December 2012, 1020-1025. https://doi.org/10.1109/ICDM.2012.110</mixed-citation></ref><ref id="scirp.124036-ref28"><label>28</label><mixed-citation publication-type="other" xlink:type="simple">Du, Q., Zhu, D. and Duan, W. (2021) Recommendation System with Aspect-Based Sentiment Analysis. Technology Report. http://www.yelp.com/dataset</mixed-citation></ref><ref id="scirp.124036-ref29"><label>29</label><mixed-citation publication-type="other" xlink:type="simple">Da’u, A., Salim, N., Rabiu, I. and Osman, A. (2020) Weighted Aspect-Based Opinion Mining Using Deep Learning for Recommender System. Expert Systems with Applications, 140, Article ID: 112871. https://doi.org/10.1016/j.eswa.2019.112871</mixed-citation></ref><ref id="scirp.124036-ref30"><label>30</label><mixed-citation publication-type="other" xlink:type="simple">Zhang, Y., Liu, R. and Li, A. (2015) A Novel Approach to Recommender System Based on Aspect-Level Sentiment Analysis. Proceedings of the 2015 4th National Conference on Electrical, Electronics and Computer Engineering, Xi’an, 12-13 December 2015, 1453-1458. https://doi.org/10.2991/nceece-15.2016.259</mixed-citation></ref><ref id="scirp.124036-ref31"><label>31</label><mixed-citation publication-type="other" xlink:type="simple">Zhang, J., Chen, D. and Lu, M. (2018) Combining Sentiment Analysis With a Fuzzy Kano Model for Product Aspect Preference Recommendation. IEEE Access, 6, 59163-59172. https://doi.org/10.1109/ACCESS.2018.2875026</mixed-citation></ref><ref id="scirp.124036-ref32"><label>32</label><mixed-citation publication-type="other" xlink:type="simple">Li, W. and Xu, B. (2020) Aspect-Based Fashion Recommendation with Attention Mechanism. IEEE Access, 8, 141814-141823.https://doi.org/10.1109/ACCESS.2020.3013639</mixed-citation></ref><ref id="scirp.124036-ref33"><label>33</label><mixed-citation publication-type="other" xlink:type="simple">Chen, L., Yan, D. and Wang, F. (2019) User Evaluations on Sentiment-based Recommendation Explanations. ACM Transactions on Interactive Intelligent Systems, 9, 1-38. https://doi.org/10.1145/3282878</mixed-citation></ref><ref id="scirp.124036-ref34"><label>34</label><mixed-citation publication-type="other" xlink:type="simple">Chin, J.Y., Joty, S., Zhao, K. and Cong, G. (2018) ANR: Aspect-Based Neural Recommender. Proceedings of the 27th ACM International Conference on Information and Knowledge Management, Torino, 22-26 October 2018, 147-156. https://doi.org/10.1145/3269206.3271810</mixed-citation></ref><ref id="scirp.124036-ref35"><label>35</label><mixed-citation publication-type="other" xlink:type="simple">Li, G., Chen, Q., Zheng, B., Hung, N.Q.V., Zhou, P. and Liu, G. (2020) Time-Aspect-Sentiment Recommendation Models Based on Novel Similarity Measure Methods. ACM Transactions on the Web, 14, 1-26. https://doi.org/10.1145/3375548</mixed-citation></ref><ref id="scirp.124036-ref36"><label>36</label><mixed-citation publication-type="other" xlink:type="simple">Serrano-Guerrero, J., Olivas, J.A. and Romero, F.P. (2020) A T1OWA and Aspect-Based Model for Customizing Recommendations on Ecommerce. Applied Soft Computing, 97, Article ID: 106768. https://doi.org/10.1016/j.asoc.2020.106768</mixed-citation></ref><ref id="scirp.124036-ref37"><label>37</label><mixed-citation publication-type="other" xlink:type="simple">Liu, P., Zhang, L. and Gulla, J.A. (2021) Multilingual Review-Aware Deep Recommender System via Aspect-Based Sentiment Analysis. ACM Transactions on Information Systems, 39, 1-33. https://doi.org/10.1145/3432049</mixed-citation></ref><ref id="scirp.124036-ref38"><label>38</label><mixed-citation publication-type="other" xlink:type="simple">Ahn, H.J. (2006) Utilizing Popularity Characteristics for Product Recommendation. International Journal of Electronic Commerce, 11, 59-80.https://doi.org/10.2753/JEC1086-4415110203</mixed-citation></ref><ref id="scirp.124036-ref39"><label>39</label><mixed-citation publication-type="other" xlink:type="simple">Wikipedia (2019) Cluster Analysis.https://en.wikipedia.org/wiki/Cluster_analysis</mixed-citation></ref><ref id="scirp.124036-ref40"><label>40</label><mixed-citation publication-type="other" xlink:type="simple">Jing, N., Jiang, T., Du, J. and Sugumaran, V. (2018) Personalized Recommendation Based on Customer Preference Mining and Sentiment Assessment from a Chinese E-Commerce Website. Electronic Commerce Research, 18, 159-179.https://doi.org/10.1007/s10660-017-9275-6</mixed-citation></ref><ref id="scirp.124036-ref41"><label>41</label><mixed-citation publication-type="other" xlink:type="simple">Li, H., Cui, J., Shen, B. and Ma, J. (2016) An Intelligent Movie Recommendation System Through Group-Level Sentiment Analysis in Microblogs. Neurocomputing, 210, 164-173. https://doi.org/10.1016/j.neucom.2015.09.134</mixed-citation></ref><ref id="scirp.124036-ref42"><label>42</label><mixed-citation publication-type="other" xlink:type="simple">Sun, L., Guo, J. and Zhu, Y. (2020) A Multi-Aspect User-Interest Model Based on Sentiment Analysis and Uncertainty Theory for Recommender Systems. Electronic Commerce Research, 20, 857-882. https://doi.org/10.1007/s10660-018-9319-6</mixed-citation></ref><ref id="scirp.124036-ref43"><label>43</label><mixed-citation publication-type="other" xlink:type="simple">Abbasi-Moud, Z., Vahdat-Nejad, H. and Sadri, J. (2021) Tourism Recommendation System Based on Semantic Clustering and Sentiment Analysis. Expert Systems with Applications, 167, Article ID: 114324. https://doi.org/10.1016/j.eswa.2020.114324</mixed-citation></ref><ref id="scirp.124036-ref44"><label>44</label><mixed-citation publication-type="other" xlink:type="simple">Wang, H., Lu, Y. and Zhai, C.X. (2011) Latent Aspect Rating Analysis without Aspect Keyword Supervision. Proceedings of the 17th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, San Diego, 21-24 August 2011, 618-626. https://doi.org/10.1145/2020408.2020505</mixed-citation></ref><ref id="scirp.124036-ref45"><label>45</label><mixed-citation publication-type="other" xlink:type="simple">Wang, H., Lu, Y. and Zhai, C.X. (2010) Latent Aspect Rating Analysis on Review Text Data: A Rating Regression Approach. Proceedings of the 16th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, Washington DC, 25-28 July 2010, 783-792. https://doi.org/10.1145/1835804.1835903</mixed-citation></ref><ref id="scirp.124036-ref46"><label>46</label><mixed-citation publication-type="other" xlink:type="simple">Vangipuram, S.K. and Appusamy, R. (2021) A Survey on Similarity Measures and Machine Learning Algorithms for Classification and Prediction. International Conference on Data Science, E-Learning and Information Systems 2021, Ma’an, 5-7 April 2021, 198-204. https://doi.org/10.1145/3460620.3460755</mixed-citation></ref><ref id="scirp.124036-ref47"><label>47</label><mixed-citation publication-type="other" xlink:type="simple">Alamuri, M., Surampudi, B.R. and Negi, A. (2014) A Survey of Distance/Similarity Measures for Categorical Data. 2014 International Joint Conference on Neural Networks (IJCNN), Beijing, 6-11 July 2014, 1907-1914. https://doi.org/10.1109/IJCNN.2014.6889941</mixed-citation></ref><ref id="scirp.124036-ref48"><label>48</label><mixed-citation publication-type="other" xlink:type="simple">Boriah, S., Chandola, V. and Kumar, V. (2008) Similarity Measures for Categorical Data: A Comparative Evaluation. In Proceedings of the 2008 SIAM International Conference on Data Mining (SDM), Society for Industrial and Applied Mathematics, Philadelphia, 243-254. https://doi.org/10.1137/1.9781611972788.22</mixed-citation></ref><ref id="scirp.124036-ref49"><label>49</label><mixed-citation publication-type="other" xlink:type="simple">Teknomo, K. (2018) Similarity Measurement.https://people.revoledu.com/kardi/tutorial/Similarity/</mixed-citation></ref><ref id="scirp.124036-ref50"><label>50</label><mixed-citation publication-type="other" xlink:type="simple">Trip Advisor (2020) Data Set. https://www.tripadvisor.com/ShowTopic-g1-i12105-k10292711-Datasets_from_tripadvisor-Tripadvisor_Support.html</mixed-citation></ref><ref id="scirp.124036-ref51"><label>51</label><mixed-citation publication-type="other" xlink:type="simple">Poudel, S. (2022) A Study of Disease Diagnosis Using Machine Learning. Medical Sciences Forum, 10, Article No. 8. https://doi.org/10.3390/IECH2022-12311</mixed-citation></ref></ref-list></back></article>