Improving Recommendations for Online Retail Markets Based on Ontology Evolution

: The semantic web is considered to be an extension of the present web. In the semantic web, information is given with well-deﬁned meanings, and thus helps people worldwide to cooperate together and exchange knowledge. The semantic web plays a signiﬁcant role in describing the con-tents and services in a machine-readable form. It has been developed based on ontologies, which are deemed the backbone of the semantic web. Ontologies are a key technique with which semantics are annotated, and they provide common comprehensible foundation for resources on the semantic web. The use of semantics and artiﬁcial intelligence leads to what is known to be “Smarter Web”, where it will be easy to retrieve what customers want to see on e-commerce platforms, and thus will help users save time and enhance their search for the products they need. The semantic web is used as well as webs 3.0, which helps enhancing systems performance. Previous personalized recommendation methods based on ontologies identify users’ preferences by means of static snapshots of purchase data. However, as the user preferences evolve with time, the one-shot ontology construction is too constrained for capturing individual diverse opinions and users’ preferences evolution over time. This paper will present a novel recommendation system architecture based on ontology evolution, the proposed subsystem architecture for ontology evolution. Furthermore, the paper proposes an ontology building methodology based on a semi-automatic technique as well as development of online retail ontology. Additionally, a recommendation method based on the ontology reasoning is proposed. Based on the proposed method, e-retailers can develop a more convenient product recommendation system to support consumers’ purchase decisions.


Introduction
The semantic web helps identify information and data resources through ontologies. It makes information processing through understanding ontologies significance. Ontologies are described as formal and obvious descriptions of a domain of interest. Ontology development becomes an intrinsic collective process due to the "shared conceptualization" aspect. Changes to ontology are predictable once it is defined. There are several reasons causing ontology changes, represented in changes in domain, conceptualization, and the overt specifications. Ontology serves as a common accurate and essential understanding of domains. As such, ontologies account for a base domain by representing their concepts and, in turn, semantic query language retrieves the information from the domain [1].
Since the awareness about domains of interest is characterized with sustainable dynamic evolution, ontology changes occur in conceptualization [2]. Such changes may occur not only owing to changes in the authenticity of information, but due to decisions of the ontology engineer, who may decide to expand the conceptual scope by means of adding new concepts and relations or applying other design patterns and strategies that require adjustments to an existing ontology in both structure and semantics. Otherwise, existing terms may be removed for several reasons. For example, certain existing terms become obsolete and cause confusion to users, or imply erroneous representations, e.g., typos. To this end, the elements subject to change in ontologies encompass concepts, instances, properties and axioms. Therefore, changes in ontologies represent influential impacts in organizations using such ontologies, and any other ontologies dependent on the given ontology.
Owing to the fact that changes in ontology may entail upsetting impacts on systems using it, this depends on the structural changes, such as the introduction or concepts definitions or their removal. Such changes may be related to adjustments in the expected performance of the perceptive tasks. Furthermore, the use of ontologies is growing, and in view of the open nature of the semantic web, new ontologies and modifications to the present ones are expected to be introduced.
However, knowledge-based ontologies are not stable all the time. They need, as in the case of any other field of knowledge, to be updated from time to time to reach proper answers to queries. Therefore, ontology development is a dynamic process, starting from the initial rough (or coarse) ontology, until it becomes updated and fixed. In the course of using ontologies, the basic knowledge behind the domain can change and evolve; if the ontology is to remain useful and rich enough, it must be updated to be tailored with the everyday and unstructured changes. Thus, the growth of ontology is related to the evolution process. Ultimately, ontology evolution is meant to be the upgrade, modification or change of ontology according to the need for change or whenever change occurs in the knowledge domain [3].
One of prominent applications of ontology-based decisions is in recommendation systems for e-commerce or product selection, in general, where typically large amounts of product options are available and users are easily overwhelmed by the decision task [4]. However, since the process of building an ontology is usually complex and time-consuming, this sort of recommendation methods tend to be based on a static, large domain model, and generally assume that users' preferences will stay stable for a sufficiently long period of time, so that the underlying ontology is valid along that period. This assumption turns out to be too simplified and constrained in most e-commerce sites, on the contrary, and recently more attention is being paid on inferring the dynamic users' preferences and behavior in an automated manner for improving the quality of recommenders, for instance tracking the individual purchase history [5], or the the search query history of customers [6].
While the above works attempt to exploit the past purchase behavior of users to better predict their future behavior in the short term, their individual or collective current actions may also contain valuable information about market trends in the mid-or longterm timescales, which these recommenders do not recognize promptly. An adaptive ontology that incrementally assimilates these actions into its built-in domain may reflect and capture effectively those slow changes and sustain the accuracy of the recommendation outcomes. Therefore, in this paper, we present a novel ontology building methodology that can dynamically and automatically update an ontology for retail market applications. The novel proposed system enables the extraction of the reasoning recommendation results after updating the standard ontology with the new products and user behaviors. The main contributions are: • We propose a new ontology-based RS where the ontology is dynamically updated to capture the semantic relationships between users and products. In contrast to other knowledge-based systems, the updated ontology is built automatically without the participation of experts. • The proposed RS can be integrated seamlessly with other CF and CBF recommenders. • The proposed methodology is able to provide better recommendations, aligned with the current preferences of users.
In summary, the system will ensure the accuracy of the reasoning recommendation after the evolution, compared to the recommendations that are generated from the standard ontology without evolution. Leveraging on this ontology evolution architecture, a classical recommendation system based on ontology reasoning is adapted to work with this timeevolved domain knowledge base, and the improvements in the quality of recommendations are evaluated. Table 3, to be discussed later, summarizes and compares our proposal to others in the literature.
The remainder of this paper is organized as follows. Section 2 presents the background, that includes explanation for the online retail recommendations and ontology evolution, the ontology reasoning, the Fact++ description logic reasoner, the ontology building tool (protégé) and a survey about previous building methodologies. Section 3 gives a summary about the previous work. Section 4 introduces the proposed system architecture for recommendation, enhancements based on ontology evolution, the semi-automatic proposed methodology for ontology building and also, as a case study, the development of the online retail ontology is explained in Section 5. The proposed system architecture for ontology evolution is introduced in Section 6. Sections 7 and 8 contain experimental results and the evaluation of the evolved online retail ontology, respectively. Some final conclusions are given in Section 9.

Online Retail Recommendations and Ontology Evolution
In the 21st century, online shopping accounts perform a vital role in people's lives. The mechanism of product information retrieval has become more and more significant, in addition to the security of communication among domains. In order to obtain information on the web, retrieval of such information is the most common channel, and purchasers must have access to information on products before executing a transaction [7]. Retrieval of information is processed through Recommender Systems (RS) to help customers find the products they desire to purchase. Therefore, many of the largest commerce websites already use RSs to enhance their sales. Products are recommended based on the top overall sellers on a certain website, and this depends on customer demographic considerations, or on the analysis of the preceding customer's buying behaviors to predict future customer's buying decisions [8].
RSs are information-filtering systems that help customers find products and services they need to purchase (such as websites, digital products, books, movies, songs, travel destinations and e-learning materials) by implicitly or explicitly collecting preferences from other users, or investigating their behaviors. The computing task can be based on obvious customers' preferences, (e.g., the customers give their reviews and scores to products), or indirectly, where preferences are inferred by the system. This depends on customer behavior (e.g., choices of browsing on an online retail site) [9]. As such, ontology constitutes a significant cornerstone in the field of RSs, since it detects semantic similarities in the customer profiles in order to give accurate recommendations to customers in accordance with their interests and preferences.
Thus, ontology-based RSs are knowledge-based recommendation systems that apply ontologies for knowledge representations. Ontologies are used to extrapolate customer interests, and enhance customer profiles in the field of RS. By applying a hybrid ontologybased recommendation scenario, customer ratings are coupled with ontological domain knowledge to improve similarity matching. Once ontological concepts are fully mapped, normal recommendation approaches can be applied [10].
In this regard, owing to the regular and continued changes in customer behavior and the new products introduced in the online retail domain, ontology evolution is necessary to give accurate recommendations along the years, reflecting the trends and shifts in customers' habits. In online retail RSs, ontology evolution is used on a very large scale to consummate the knowledge about customers and change their buying behaviors at all times. As with the case in knowledge-based RSs, ontology-based systems do not experience the problems related to conventional RSs, such as the cold-start, sparsity and the overspecialization owing to the use of ontology domain knowledge [10].

Ontology Reasoning
"A semantic reasoner, reasoning engine, rules engine; simply a reasoner, is a piece of software able to infer logical consequences from a set of asserted facts or axioms". This software is used to derive new facts from existing ontologies. The most common reasoners developed during the recent years are Pellet, RACER, FACT++, Snorocket, Hermit, CEL, ELK, SWRL-IQ, TrOWL and others. Rules of inference are commonly specified through a description of language. Many reasoners use first-order logical predication to carry out reasoning. As such, inference commonly proceeds forward chaining and backward chaining [11].

1.
Forward-chaining: to start from the known facts (the explicit statements) and to derive valid implications. The goals of such reasoning can vary as follows: to compute the inferred closure; to answer a particular query; to infer a particular sort of knowledge (e.g., the class taxonomy).

2.
Backward-chaining: to start from a particular fact or a query and to verify it or to find all possible solutions. In a nutshell, the reasoner decomposes or transforms the query into simpler (or alternative) requests that can be matched directly to explicit facts available in the KB or can be proven through further recursive transformations [12].
In knowledge-based systems, the notion of reasoning is associated with the process of reaching conclusions. The axioms that are contained in a knowledge base constitute the explicit knowledge a system has about the domain of interest, while the ability to process explicit knowledge computationally by means of reasoning allows the system to derive implicit knowledge that logically follows from what has been stated explicitly. Due to the highly structured form of representation, symbolic approaches to knowledge representation allow for reasoning based on formal logic, which is a powerful tool to simulate the process of reaching conclusions. Logic provides the means to precisely determine what follows from a set of axioms based on formal semantics. Two important aspects of logic-based reasoning with ontologies in the Semantic Web are mainly looked at; namely, the verification of an ontology's specification and the deduction of new axioms [13].

1.
Verification-to ensure that ontology is a good representation of its domain of discourse, reasoning can be used to validate the entirety of axioms in the respective knowledge base at least for their technical soundness. An ontology that contains contradictory information is not considered to be a good domain representation. Reasoning can be used to detect erroneous modeling in an automated way and to report it to knowledge engineers. Erroneous modeling checked for by verification typically comprises logical contradictions or a violation of explicitly stated constraints.

2.
Deduction-based on the assumption that an ontology correctly represents the domain of interest, the process of deduction derives implicit conclusions that hold in any situation coherent with the axioms in the respective knowledge base, capturing the notion of logical consequence [13].
The quality and correctness of ontologies play a vital role in semantic representation and knowledge sharing. To ensure the quality of ontologies, there is a need for dealing with the inconsistency and uncertainty in the ontologies of real-world applications. An inconsistent ontology means that an error or a conflict exists in this ontology, and as a result, some concepts in the ontology cannot be interpreted correctly. The inconsistency will result in false semantic understanding and knowledge representation. An uncertain ontology means that the correctness of the ontology is probabilistic. Ontology reasoning reduces the redundancy of information in knowledge base and finds the conflicts in knowledge content [11].

FaCT++ Description Logic Reasoner
FaCT++ is an entirely new, sound and comprehensive DL reasoner. It implements a tableaux decision procedure for decision-making of the well-known SHOIQ description logic, and adds support to data types, including integers and strings. The system employs a wide range of performance enhanced optimizations, inclusive of the standard techniques and the newly developed ones. FaCT++ can therefore, through the standard DIG interface, be used to help avail and provide reasoning services for ontology engineering tools in support of the OWL DL ontology language [14].

Software Tools
Protégé is an open source and knowledge-based editor tool produced by Stanford University. Protégé operates with certain visualization packages, such as OntoViz or ontograph; which help users visualize the ontology through diagrams. Protégé is used as a tool that allows users to construct domain ontologies and create customized data entry forms to enter data. Protégé helps the identification of classes, class hierarchies, variables, variable-value restrictions, and the relationships among classes and the properties of these relationships. The essential value of the effective point of Protégé is that it lends support to users and tool builders at the same time, along with domain specialists and knowledge engineers. This makes Protégé distinctive in the main difference with the present tools, which are stereotypically targeted at knowledge engineering and lack meta-modeling flexibility. These properties make it easier to adapt Protégé with the new requirements and/or changes in the model structure [15].

Ontology Building Methodologies
Ontology development witnesses considerable growth rates represented in the growing wide variety of its various methodologies. A number of those methodologies are essentially manual, and others use a semi-computerized processes approach. The following subsections comprise descriptions of the major methodologies for ontology development.
Methontology is a method evolved with the aid of Fernandez et al. [1]. While constructing an ontology, the primary issue is to specify the reason, the extent of ritual and the scope of the ontology. Next to come is all the knowledge desired to be collected. Several approaches are applied to achieve this: purpose; namely, brainstorming, structured and unstructured interviews, formal and informal analysis of texts, and knowledge acquisition tools. Within the conceptualization phase, they first suggest to construct a word list of terms with all likely useful expertise within the given domain. Then, terms are grouped in step with concepts and verbs, and these are collected collectively to form tables of formulas and rules. The subsequent element to perform this process is to test whether or not there are any already current ontologies which can and have to be used. The end result of the implementation phase is the ontology coded in a formal language that can be evaluated (validated and demonstrated) consistently with some references. The final component includes the documentation, if the above methodology is accompanied, as every phase needs to bring about a document that describes the ontology developed so far [16].
The enterprise ontology is the methodology for development of ontologies proposed via Uschold and King, which includes four phases: purpose, building, evaluating and documenting. Within the first phase, the reason is identified, i.e., to find out why the ontology is being constructed and what its supposed uses are. As such, it is necessary to also take into consideration who will use the ontology and how it is going to be used. The second phase is the building of the ontology itself, and it is divided into three components: capture, coding, and integrating. The third phase is the evaluation phase, where it is necessary to check whether the ontology satisfies the necessities and that it does no longer contain any needless issues. The last phase is the documentation phase, in which the ontology needs to be documented in some way. This methodology was used in the development of the enterprise ontology. The enterprise ontology was developed to aid and enable communication among exclusive people and computational systems and among distinctive computational systems [16].
Unified methodology: Uschold provides a unified methodology for development of ontologies. He prefers to go to the middle-out manner while defining terms and relationships, starting with some basic terms and to specialize and generalize from them. In building the ontology, he comes to a decision to describe four distinctive methods. The first method is to pass the previous steps and use an ontology editor to define terms and axioms. The second method is to do the previous steps after a proper encoding is to be started. The third method is to provide an intermediate report that includes the terms and definitions that seemed in the previous step. This record can be the very last result, or be the specification of the formal code or be documentation for it. The fourth and very last method is to pick out formal terms from the set of informal terms. The final component that is offered is the evaluation or the revision cycle, in which the developed ontology is in comparison to the competency questions or the user necessities [16].

Related Work
The idea of complementing a fixed or quasi-static ontology with a past history of events or recommendation has been explored in several domains and under diverse approaches in the literature. A comprehensive review of literature on this kind of hybrid RSs, i.e., RSs that draw recommendations from two or more sources and/or algorithms, is [17], which aims at categorizing and rank the contributions. An almost domain-independent view is followed in [18], where integration between semantic knowledge from ontologies and the shared knowledge of user preferences is used to design a method for collaborative recommendation. The key feature in this work is the combination of the conceptualization of user profiles contained in an existing ontology with numerical annotations linked to (or derived from) the past behavior of users. One of the evaluation methods the authors used is the computation of user-to-user similarity for a standard KNN (k-nearest neighbor) algorithm using the Pearson's correlation calculated on the training data.
Focusing on product recommendation specifically, information gained from users' history is used in [19], which gives a method to suggest OTOP (One Tambon One Product) products. The approach in this work is to apply ontology reasoning for building a product schema, and mapping the products as cases of the ontology. The properties of the products depend on the designed ontology and are compared for similarity of items. User profiles are collected for creating the information on consumer desires both in positive and negative aspects, alongside their shopping history.
Walek et al. [20] present a different hybrid content-based recommendation system for an online store. Their RS employs a collaborative filtering (CF) technique for recommending appropriate products, complemented by an adaptive expert system for assessing the items' popularity. The goal is twofold, to improve the quality of recommendations and to reduce the impact of the cold start problem typical in CF.
More similar to our work in some respects is [21], which advocates a data-driven framework to building a dynamic ontology. However, the purpose is different, in that they intend to automate the process of ontology dissemination to remote locations in view of the cost of developing new ontologies from scratch. Moreover, [21] presents only the general framework, without any particular application case, so the improvements in the quality of recommendations are not discussed at all.
Hybrid ontologies have also been proposed in other canonical domains for RS, as in tourism RS [22][23][24], in personalized e-learning RS [25], or in recommendation of documents [26]. As an illustration, ref. [23] merges the user's preferences with the user's friends' preferences (extracted from a social network, e.g., Facebook, based upon a proposed metric for trust) in order to build the semantic representation of those fused preference sets. Whereas the direct user preferences rely on a static ontology, the user's friends preferences are dynamic and determine the time-dependent similarity between the recommended items. By combining the two methods, the authors are able to demonstrate the importance of the temporal factor in trust calculation between users. Another hybrid architecture for smart recommendation in personalized tourism is [24]. The novelty is the filtering of the recommendations (which is often too long and unspecific) through the application of operations research techniques and big data. A final example of integration of the user's history into the algorithmic recommendation process is [26], a research-paper recommender based on CF techniques that takes into account previous readings for computing the similarity between items. Such documents will fit the user according to the semantic relationship between the documents and the user's past behavior. The recommendation is done based on the preference weight, content-based similarity and semantic similarity. The introduced system offers the related information semantically according to the new concepts gathered and from the concepts of the documents. The introduced system sometimes suggests inaccurate documents to some users because of the absence of some concepts in the broad ontology and the invalid concepts explanation. The proposed system is evaluated by having four users with different interests that recommended fifteen times. Then, each user counts correct items between five recommended items.
Guia et al. [27] also considered the case of e-commerce, and devised a hybrid recommendation system that blends collaborative filtering with ontology-based engines. Specifically, they blend the simple KNN (k-nearest neighbor) algorithm-used as a technique for CF-and a classical ontology-based RS and show some evidence that the quality if the recommendations is enhanced. However, clustering with KNN is too simple in this context, and is also well-known to suffer from some computational problems that lead to slow convergence and high sensitivity to outliers. Accordingly, a more systematic evaluation would be needed for this kind of straightforward integration.
In a similar way, [28] proposed a combination pf CF, ontology and dimensionality reduction techniques (Singular Value Decomposition followed by the E-M algorithm) to build a robust RS for movies. The goal is to reduce the sparsity problem, namely, the lack of information for many user-item interactions. The contribution if the ontology in this approach is, however, rather limited, since the matrix factorization techniques form the core of the RS.
Although the above works explore complementary directions in the building of hybrid RS, particularly their effective combination with CF and with machine-learning techniques, they still assume that the semantic knowledge enclosed in the ontology is nearly timeinvariant and valid for the lifetime of the RS, while only the individual user's behavior can be learned from the recent history track of their decisions and those from its relatives (in a similarity sense, that is, the closest users, either in explicit or in hidden variables). In this paper, however, we argue that the ontology itself can be used to track some of those changes over time, so conceptualizing the new relationships, and that this can improve the accuracy of the RS.

Proposed System Architecture for Recommendation Enhancement Based on Ontology Evolution
This Section introduces the proposed recommendation system architecture based on ontology evolution after modification for the implementation, the proposed online retail architecture for ontology evolution, the semi-automatic proposed methodology for ontology building, the building of online retail ontology, the recommendation reasoning results for the customers before and after ontology evolution and lastly ends with the evaluation of the evolved ontology.
The proposed system architecture is composed of two phases, as shown in Figure 1 [29]. The first phase is the online retail ontology before evolution, and the second phase is the online retail ontology after evolution. The first phase includes the online retail ontology before evolution that is built semi-automatically (with the celfi-plugin) from the Contoso database of 2007, which includes the users' past purchases and behavior. The online retail old ontology (before evolution) applies Fact++ reasoning technique and suggests the product for users according to users' similarity and preferences by using collaborative filtering and content-based filtering recommendation techniques. The second phase includes the online retail evolved ontology that is evolved by using the Contoso databases of 2008 and 2009 after checking the existence in the online retail ontology before evolution and adding the new individuals to the old ontology to execute the new evolved ontology. The last part that takes place is the evaluation part. The evaluation of the evolved ontology is executed by using two methods. The first method is the domain expert by calculating precision and recall. The second method is the implementation of the quality features dimension by calculating the cohesion and conceptualization [30]. Figure 2 depicts an overview of the methodology proposed and developed in the rest of the paper.  Figure 3 represents the semi-automatic proposed methodology comprising five phases: specification, conceptualization, implementation, validation and evaluation.

Specification
• Specify ontology purpose. First and foremost, it is necessary to identify the line of expertise, the ontology building and system development purpose, maintenance and objects of the ontology application. These issues cast considerable impacts for the establishment of ontology. Therefore, they should be clearly identified before the development of ontology. Comments for certain distinct expressions and explicit details of particular areas should also be clearly identified [31]. • Identify, describe the domain/define field of interest: The ontology will cover the area of online retail to give recommendation to the user profile. • Data source: A broad survey for gathering the data about online retail has been conducted to define the basic concepts and main classes from online retail websites survey.

Conceptualization
• Define domain conceptual model. The main objective of the conceptualization phase is to recognize the core concepts and their definitions, and determine the ancillary concepts and to describe the main relationships between these concepts. Based on the literature review, the conceptual framework for the online retail ontology will cover all areas of online retail research [32]. • Identify ontology structure. The initial phase to develop an ontology is to include essential classes and subclasses in the domain regarding to the purpose of ontology and then place them in a hierarchical order. We treat attributes of data and objects when each class is considered, based on the type and examples of the class as a unit and we build them together [31]. • Set/map ontology relations. The step starting with extracting the relationship represents a bottleneck in the process of domain ontology construction. Hence, in real operation, the relationship is defined based on the explicit state of the area [33]. As such, after defining the classes and subclasses of the ontology, we create the relation among them and the coherent relation between concepts in order to obtain the whole ontology.

Implementation
• Determine the implementation tool. The ontology of online retail will be implemented by using Protégé software. • Add the required plugin (celfie). The (celfie) plugin extracts the data from an Excel sheet to create the ontology, the individuals, data properties and object properties. • Run the JSON language on celfie plugin. The celfie plugin uses the JSON language to enable the ontology engineer customize the transformation rule to append or update the ontology individuals, data properties and object properties. • Formalize the conceptual model by implementing the ontology. The online retail ontology conceptual model will be formalized by using onto graph plug-in allows for visualization of the ontology. • Apply reasoning techniques and extract the results. The semantic reasoner, i.e., the reasoning engine, or rules engine, or simply a reasoner is a specific software that is able to gather logical consequences from a set of asserted facts or axioms. The reasoner technique applied for the online retail ontology is FACT++, Fact is presented by Horrocks. He presented a reasoner known as FaCT (Fast Classification of Terminologies). It is used to describe the logic classifier and the modal logic satisfiability testing [11]. As soon as information is received by the ontology reasoner, the ontology information is translated into ontology facts and axioms. These ontology facts and axioms construct the knowledge base of the domain modeled by ontologies to obtain the ontology reasoner result from the reasoning rules that have already been constructed during the creation of ontology [34].

Validation
• Identify experts. Two methods exist to identify experts. The first one is to select a single expert, and the second one is to use multiple experts in the field of interest [35]. • Ontology validation. The validation and the reasoning analysis method are the main features of the ontologies. The representation of the mechanisms that are explicitly recognized in a set of facts that were implicit before in an ontology is applied in the context of ontologies by using the reasoning. That's why validation and analysis are the two core purposes of reasoning. Validating ontology, for which reasoning is vital, is confirming its successful representation of the domain of discourse, which is targeted at modeling. For instance, checking consistency is a type of reasoning, which can be executed to capture possible inconsistencies defined by classes and properties of the ontology. Furthermore, a reason can later be used to reach inferred information about the model, such as inferred super-classes, equivalent classes, and types of individuals. For specific analysis, one supposes that the ontology is a faithful representation of the domain, and tries to conclude facts about the domain by reasoning the ontology. In addition, it tries to gather new information about the domain by utilizing the ontology. Apparently, analysis can also provide input to the validation phase [36].

Evaluation
The evolved online retail ontology is evaluated by three methods; the first method is the domain expert, the second method is to quantify the precision and recall of the ontology, and the third one is the implementation of the quality features dimension.
The first method is typical of knowledge-based RS. The outcomes of the ontologybased RS are given to a set of human experts in the knowledge domain, who then apply their knowledge of the field to assess whether the results are accurate, complete and meaningful. While this is a subjective evaluation, it is frequently considered as a good validation process because relies on the deep knowledge of external experts who can explore the features and quality of the recommendations, and moreover make a critical assessment of the modeling power of the ontology.
The second evaluation procedure has consisted in calculating two well-known metrics for arbitrary ontologies. Precision measures the exactness with which the ontology recognizes and models the concepts ultimately included in its knowledge domain, and RECALL also takes into account those concepts that the ontology fails to capture from the raw data, thus giving a measure of the ontology's coverage.
Finally, as a complement to the subjective but informed evaluation given by experts, we also apply in this paper the methodology proposed by [30] ONTO-EVO AL for measuring the quality of an ontology. Here, the quality is actually measured in objective terms, by precisely defining metrics for the cohesion (of the conceptual model), the semantic richness, the attribute richness, and the inheritance richness of a given ontology. We refer the reader to Section 8 for the definition and results with these metrics.

Online Retail Ontology Development
In developing the online retail ontology, the researcher uses OWL2 as an ontology language and a diagram for visualization, then he develops the related classes, subclasses and object properties that establish the relationships using Protégé 5.0.0 as a tool of development, for graphical presentation of the ontology, and OntoGraf plug-in was used.
OntoGraf gives support for interactively navigating the relationship of the OWL ontologies. Various layouts are supported for automatically organizing the structure of the ontology. Different relationships are supported: subclass, individual, domain/range object properties, and equivalence. Relationships and node types can be filtered to help researchers create the view desired [37].
To implement the ontology, it should be prepared first. The online retail ontology consists of 60 classes, which are customer, product, etc. As shown in Figure 4, it contains 113,953 class assertions, 1,652,856 logical axioms and 114,029 declaration axioms. It also consists of 113,953 individuals, as illustrated in Figure 5.  All classes have subclasses that form a hierarchy. A hierarchy of a class is connected with a hierarchy of another class through object property because classes cannot answer many questions. So, we also need to define links inside or between these classes and use the object properties that show relationships between classes and subclasses [15]. The online retail ontology use three object properties, which are buy, order description and is subcategory of, and 1,109,273 object property assertions, as shown in Figure 6. It also uses thirteen data properties and 429,560 data property assertions, as shown in Figure 7. There have been advancements in ontology until it now provides knowledge and interference services. At present, there is a need to have graphical and interactive visualization of ontologies, such as modeling structures to strengthen their analysis, clarification and verification. Protégé is one of the most capable ontology modeling and developing tool sets currently available in the onto-graph tab [38]. So, the researchers use the onto graph tab to graphically visualize the online shopping ontology as shown in Figure 8.

The Proposed Subsystem Architecture for Ontology Evolution
The proposed architecture for the ontology evolution consists of four parts; online retail ontology, online retail database, the function of checking the existence of the individuals and the evolved ontology. It is shown in Figure 9. The first part is the online retail ontology that is built by using Contoso retail database for the transactions of online retail for the first year of selling. The second part of the online retail database includes transactions of the following two years of selling online. The third part that checks the existence of the individual from the database in the online retail ontology to add it to the ontology. The fourth part includes the evolved ontology after adding the new individuals for the online retail ontology according to the Contoso retail database. The proposed architecture checks the existence of the products that are bought by customers in the next two years from building the online retail ontology, and if it does not exist, it is added to the online retail ontology that results in an evolved ontology as evolved ontology is the process of updating the ontology according to the change in domain [3].
This will help the online retail companies to give accurate recommendations after changing or developing new products that will also be very useful for users to find the most suitable and accurate recommendations according to the change of their behaviors and the change of products. Table 1 shows the ontology evolution results and makes comparison between the number of the individuals in the online retail ontology before and after ontology evolution. The evolution on the online retail ontology is done automatically. The input data source is the online retail database that is called "Contoso" that contains the online sales transactions for three years to the online retail ontology developed from the online sales transactions that take place on the "Contoso" database in the first year. The proposed architecture, as mentioned in Section 6, checks the existence of the input in the online retail ontology from the "Contoso" database [39] and if it does not exist, it suggests to add the input in the online retail ontology.

Ontology Evolution Results
The numbers of individuals added after checking the existence are 559, thereby indicating new number of products added to the online retail ontology from the following two years of the online sales transactions in the "Contoso" database.

Online Retail Ontology Reasoning Results
The FACT++ reasoning plugin is applied on the online retail ontology. As each individual customer in the ontology has the data property assertion such as age, gender, number of children, material status, education, occupation and the order details for each individual. The reasoner detects the similarities between the customer individuals and recommends products semantically according to these similarities. To simplify the reasoning results the researcher take the case of the customers Aaron Alexander and Aaron Baker as an example, the reasoner recommends for both of them the products that each one bought due to the similarities between them in the characteristics.

•
Online retail ontology reasoner results after evolution. After evolution, new products (individuals) were added to the ontology. According to that, Aaron Alexander and Aaron Baker bought new products that were added after evolution. Therefore, the reasoner after evolution recommends from the new products that were added according to the change of their behaviors.  Figures 10b and 11b. (a) Aaron Alexander reasoning before evolution (b) Aaron Baker reasoning before evolution Figure 10. Reasoner results before evolution.
(a) Aaron Alexander reasoning after evolution (b) Aaron Baker reasoning after evolution Figure 11. Reasoner results after evolution.

Online Retail Evolved Ontology Evaluation
Evaluation of ontology is an indispensable prerequisite for embracing ontologies in the semantic web and ontology enabled applications. Ontology evaluation is considered a vital bridge for constructing and building the ontology because persons who build ontology need a way to evaluate the resulting ontology to be guided to the process of constructing any modification steps [40]. Therefore, the essential concern after building the ontology is the process of its evaluation.
The evolved online retail ontology is evaluated by two methods; the first method is the domain expert that works on online retail for more than 10 years. The evaluation is done by measuring its precision and recall. Precision is the number of correct concepts in the ontology relative to the total number of concepts in the ontology, as shown in Equation (1), and recall is the number of correct concepts in the ontology relative to total number of possible concepts, as shown in Equation (2) Precision is a metric process that is used to indicate how accurately the concepts identified in the ontology represent the domain. Recall is used to measure the coverage of the ontology [41]. This work was presented to a domain expert to evaluate the evolved ontology by checking all the concepts/classes of the ontology and asking them about the uncovered concepts/classes in the ontology. He identified 72 correct classes and the total number of classes is 74. Then, the precision would be: He also mentioned 27 concepts/classes are still missing that the ontology does not cover. Then the total number of possible concepts equals 101, so the recall would be: These values show an improvement over the values the ones obtained with the old, unevolved ontology, i.e., without embedding the new information of users and products available over time: precision was lower (95.7%), and recall was 68%.
The second method for the evaluation of the evolved online retail ontology is the implementation of the quality features dimension. The quality features dimension was proposed by the OntoEvOal technique [30]. This dimension focuses on the content and usage that can be measured by the following metrics: • Cohesion. It is concerned with the links between ontology components, and is calculated as the accumulated average number of linked classes and instances [30]. As the average number of linked classes in evolved online retail ontology is 1521.79 and the average number of linked instances are 2.879, thus the cohesion equals 1524.67. • Conceptualization. It focuses on the ontology content richness by measuring the semantic, attribute and inheritance richness.
-Semantic richness: it is measured by dividing the total number of object properties that belong to concepts and the total number of ontology relations [30]. In the evolved online retail ontology, the total number of object properties that belong to concepts is 3, while the total number of ontology relations is 74, then the evolved ontology semantic richness is equal 0.04.

-
Attribute Richness. It is measured by dividing the total number of data properties attached to classes and total number of ontology classes [30]. The total number of the data properties attached to classes is 13 in the evolved online retail ontology and 74 the total number of ontology classes. According to the total number of data properties and total number of attached classes the attribute richness equals 0.17.

-
Inheritance Richness. It is the average number of subclasses that are assigned to an ontology class [30]. The inheritance richness of the evolved online retail ontology equals 36. Table 2 mentioned above summarize the evaluation results of the evolved online retail ontology by using the two evaluation methods. The first method is by consulting domain expert to evaluate the evolved online retail ontology by measuring precision and recall, while the second method is applying the quality features dimension by calculating the cohesion, semantic richness, attribute richness, inheritance richness for the evolved online retail ontology. For a comparison with other systems based on hybrid recommendations, we recall from Section 3 that ontology evolution has been considered conceptually, and some architectural frameworks have been developed to that end, but most of the hybrid RSs follow an alternative path, which consists in combining CF/CBF with ontologies. A second problem for a direct comparison between hybrid recommenders is that the knowledge domains where they are applied differ substantially, and the techniques used for integration are dependent on the data attributes. We summarize in Table 3 the criteria that can be used for comparing this paper with other proposals.

Conclusions
This paper presents the proposed recommendation system architecture based on ontology evolution after modification for the implementation, the semi-automatic proposed methodology for ontology building, the implementation of the online retail ontology, and the proposed ontology evolution architecture that is implemented on the online retail ontology to get the evolved online retail ontology after adding new individuals to it.
Moreover, the paper presents the experimental results of the ontology reasoning technique to account for the difference between the results of the reasoned before and after evolution that ensure the importance of the dynamic and updated ontology in order to facilitate and help customers in the domain to reach the accurate results of recommendations they need. Therefore, the current and the future recommendations for the customers are based on ontology evolution and ontology reasoning, which is essential for ontology consistency, reliability and credibility.
Finally, the researcher evaluates the evolved ontology by using two evaluation techniques, the first one by domain expert and the precision calculated by (97%) and recall by (72%). The second one calculated by the implementation of the quality feature dimensions, which includes cohesion, gives the result 1524.67, semantic richness, which gives the result 0.04, attribute richness, which gives the result 0.17 and inheritance richness, which gives the result 36 for the evolved ontology. In future studies, the evolution of the object properties of the ontology should be considered. Funding: This work was supported by the European Regional Development Fund (ERDF) and by the Galician Regional Government under agreement for funding the atlanTTic Rersearch Center for Telecommunication Technologies, and by the "Ministerio de Economia, Industria y Competitividad" through the project COMPROMISE (PID2020-113795RB-C33) of the "Programa Estatal de Investigación, Desarrollo e Innovación Orientada a los Retos de la Sociedad" (partially financed with ERDF funds).