An Ontology Based Approach for Next Generation Customer Relationship Management Systems

s the core modules from ontology structure and technology. All operations related to ontology management are performed by the modules in this layer. The Knowledge Base Layer contains the Customer Ontology and SWRL rule set in the knowledge base used by the system. The Database Layer contains two databases in the system. These databases are; the MongoDB database, where deduplicated data is stored, and the other is the Neo4J database, where ontology triples are stored. 3.2. The Core Modules


Introduction
Customer relationship management -CRM is a branch of management on managing all interactions between companies and customers. Thanks to this basic business activity, companies can be turned into customer-centric organizations. CRM systems are software systems that help companies manage their customer relations regularly [7], [15].
The absolute goal for organizations is to understand or even perceive the needs of their potential or existing customers. Firm profitability can reach the highest level in only this way [3].
CRM systems aim to identify and implement opportunities that will bring the customers closer to the company by increasing customer satisfaction. These systems follow and analyze customer behaviour to achieve this goal.
In CRM systems, data created by different departments cause confusion and inconsistency frequently. Each user generates data related to the field of he/she works and limits the CRM system with this data. According to [9], company employees perceive CRM applications as a phone book where electronic mails can be thrown, an area where loyalty cards are kept, or a customer recognition system used by call-centers. This situation causes the data produced in different departments cannot be used as integrated.
Concepts related to customer relations have been determined by traditional CRM systems for many years and transferred to database models. In these systems, information obtained from various sources is stored in databases based on these models. Some determinations can be made automatically by using the discrete and raw states of these data with primitive analyses without semantic interpretation.
In the data analysis process, the meanings embedded in these data are extracted by integrating and interpreting the data obtained with different formats from different sources [8]. This process, which is very critical for companies, is carried out by experts who have experience in CRM domain, using some tools and reviewing detailed report outputs and intuitively interpreting them. Companies are making great efforts to control possible losses in advance.
With the rapid advancement of internet and mobile technologies, CRM-related data flowing to companies has reached enormous dimensions as in every domain. Today, many data such as customer preferences, characteristic structure, psychological status and perception can be obtained with different formats from various sources by big data technologies. Increasing the number of data channels, data size and dynamism made it impossible for experts to analyze all these data in a complete manner manually. Failure to use this valuable information for companies has been significantly affecting productivity.
Traditional CRM systems only have the ability to process data shared by customers in online operations or sales processes. In these systems, character analysis of customers or management of customer requests cannot be carried out automatically. Since only operational information can be processed, companies may miss many business opportunities [1].
As stated in the Gartner Report [10], traditional CRM systems should now be viewed from different perspectives, business processes should be transferred to CRM systems with new definitions, and existing CRM practices can be transformed by re-engineering must undergo. The report also emphasizes that it is necessary to develop different CRM strategies.
Reference [2] mentions that as a natural result of the internet age, information now needs two-way communication and even the necessity of establishing a complete dialogue between systems and customers. Monologue communication in traditional CRM systems should be replaced by dialogue communication. For bidirectional communication, technologies are required where data can be transferred between the two parties through a common dictionary and in a common format.
The global B2B business model has been becoming more and more common. In order to increase the reliability of this business model, which requires the usage of data in different formats distributed to different locations, it is necessary to put the data transferred between the companies in a standard form and create a common dictionary. Distributed data in the B2B platform can only be used completely in this way [4].
In some studies such as [4], [6], [12], the ontology technology, which enables the data to be kept to allow inference, has been proposed as a solution for the integrated interpretation of data in CRM systems. However, these studies focused on eliminating customer dissatisfaction, solving customer problems and creating customer processes. None of these studies have been focused on customer attitudes, characteristics or reflexes.
In this study, an ontology-based CRM approach is proposed. This proposed approach aims to reduce the dependency of CRM systems to domain experts by providing automatic semantic interpretation performed by experts in traditional CRM systems. With this proposed approach, an infrastructure has been established for systems that will support companies to make semantic analysis on customers' behaviors and to provide responses as a result of these analyses in real-time.
Also, an ontology-based CRM tool has been developed based on the proposed new approach. For this purpose, the concept of Customer, which is the most important concept for CRM applications, has been focused on, and an ontology meta-model has been developed for the concepts close to the Customer concept.
This developed software tool has the ability to make inferences about the characteristics, emotions, and psychology of customers and to provide rational suggestions to the companies as a result of these inferences by following and interpreting the customer behavior.
A meta-model for CRM Ontology focused on the concept of Customer was defined by using Web Ontology Language -OWL [13] language. During this process, the concepts that are close to the concept of the Customer and that may affect the perception, emotion, and psychology of the customer and the relationships between these concepts were determined and modeled by working with experts in the CRM domain. The rules used by CRM experts for heuristic analysis has been defined as logic-based rules using Semantic Web Rule Language -SWRL [14] and included in CRM Ontology. Thus, the rules used by the experts were included in the inference process.
To transfer the data stored in databases in traditional CRM systems to systems based on the proposed approach, the CRM-specific transformation rules have been defined. Thanks to these rules, it is provided that the data kept in customer focus in CRM systems is transferred to OWL models based on the defined ontology meta-model.
In the next section of this paper, the ontology-based CRM approach, which is proposed in this study and allows data from different sources to be integrated and interpreted, is introduced. In Section-3, the implementation details of a CRM tool based on the proposed approach are presented. In Section-4, the CRM Ontology focusing on the concept of Customer developed for this tool is examined. In Section-5, experiences on the usage of the developed tool by integrating a company's CRM system are presented. In the last section, the results of the evaluations on the approach and the tool are discussed. Also, the work planned to be carried out in the future is mentioned.

A New Ontology Based CRM Approach
In this section, an ontology-based approach is proposed, which reduces CRM systems' dependence on experts by supporting automatic semantic interpretation of CRM data obtained from different sources. The data sources may be CRM systems or data channels that provide data to the same CRM system. Thus, the approach can be used to integrate and interpret data from CRM systems of different companies and from different sources from which CRM data are obtained within a company. The overall process of the approach is presented in Figure 1.
The process begins with obtaining CRM data from sources. Today, many different CRM systems used by companies keep their data in their own formats. In order to obtain data from each source that is desired to be followed, a source-specific adapter should be developed.
The data obtained from different CRM systems are transferred to a common format in order to be integrated and kept in a single model. At the deduplication stage, the raw data obtained by the adapters are cleaned, simplified, and adapted to the single database meta-model designed for the system and stored in the Staging Repository.
At the transformation stage, the data in the data pool is transformed to OWL instances by operating the transformation rules defined between the data pool metamodel and the CRM Ontology meta-model during system design. At the end of this stage, CRM data obtained from traditional systems and forming the domain of the system is transferred into the system ontology. The semantic interpretation stage is triggered when new axioms are added to CRM Ontology or when existing axioms are changed. At this stage, semantic analyzes are made by making inferences on the CRM ontology metamodel, the current model containing ontology instances, and pre-defined SWRL rules. As a result of the inference process, an expanded ontology is obtained. This expanded ontology includes meanings that are embedded in raw data obtained from data sources and that can be intuitively captured by experts in traditional CRM systems.
At the querying stage, the expanded ontology is queried in line with the preferences specified by the users. Userdefined actions can be performed automatically for special cases caught as a result of the query. Also, analysis results obtained as a result of manual or automated queries are delivered to users through reports and notifications from various channels.

The Implementation Details of the Developed Tool
An ontology-based software tool has been developed that focuses on the concept of Customer in CRM systems. This tool allows companies to react to customer behavior without losing time by analyzing customer attitudes, characteristics, and emotions which are very critical for companies, automatically. The tool is designed to be integrated into different CRM systems so that data in different formats can be included and processed in the system.
Although the tool focuses on the concept of Customer in CRM applications and has been developed only to automate processes closely related to this concept, it also provides an infrastructure to automate activities around other CRM concepts with semantic interpretation.
The tool was developed using java and Scala languages. The tool was designed to work distributed on a cloud infrastructure to be effectively carried out operations requiring high resource consumption such as transformation and inference on data from various sources. Akka [15] library was used to make the processes in the Figure 1. The overall process of the proposed approach tool distributed, and Apache Hadoop [11] was used to manage distributed operations on the cloud infrastructure. Thanks to this structure, it has been ensured that the vehicle can respond to the intense workload in a scalable manner.

The Conceptual Architecture of the Developed Tool
The ontology-based CRM tool developed to perform the process described in Section-II has an n-tier architecture. The conceptual architecture of the developed tool is shown in Figure 2. The User Interface-UI layer contains modules that manage interactions between tool and users. The tool can be used with both the web-based interfaces and the mobile applications developed for IOS and Android environments. Using the interfaces, users can perform operations such as domain-specific rule definition, transformation rule definition, semantic query, and reporting.
Domain Layer is the layer where the core modules of the tool are located. The management of all sub-processes in the overall process of the ontology-based approach proposed in Section II is carried out by the modules in this layer. The implementation details of these core modules are presented separately in the following sub-sections.
Ontology Handling Layer is an intermediate layer that abstracts the core modules from ontology structure and technology. All operations related to ontology management are performed by the modules in this layer.
The Knowledge Base Layer contains the Customer Ontology and SWRL rule set in the knowledge base used by the system.
The Database Layer contains two databases in the system. These databases are; the MongoDB database, where deduplicated data is stored, and the other is the Neo4J database, where ontology triples are stored.

Adapters
This module contains adapters developed for each CRM system or CRM source to be monitored by the system. Each adapter monitors its own source CRM system. it is responsible for pulling the data from the CRM system when the data related to the Staging database meta-model is changed or new data is added, in the monitored system. Adapters are developed as source dependent and need to be updated whenever the source CRM system's data format changes.

Uniformiser
This module transfers raw data extracted from different sources to a common MongoDB database model called Staging Database using the matching rules defined at the design time. There is a separate matching set for each adapter. When the system is desired to be integrated into a new CRM system with a new adapter, a new mapping set should be defined for the mapping between the database meta-model used by this CRM system and the Staging database meta-model. A special GUI has been developed in the tool so that users can easily make these mappings between the two models.

Transformer
This module provides the data kept in the Staging Database to be transferred to the CRM Ontology model. For this purpose, the transformation rules are operated that transform the concepts and relationships in the metamodel of the common database into the concepts and relationships in the ontology meta-model. Transformation rules were defined at design time using the ATL model transformation language [18].

Analyzer
This module is the module that performs semantic analyzes performed by CRM experts in traditional systems automatically. During these analyses, the data kept in the ontology and the pre-defined SWRL rules are subjected to semantic inference altogether. Pellet [16] is used as the inference engine in the tool.

Reporter
This module reports automatic query results to users according to their preferences. Also, the extended ontology model can be queried manually using the querying GUI. To create a manual query for the ontology model, a user interface that is automatically generated from the ontology meta-model has been developed. Userdefined queries are operated on the current ontology model by transforming to SparQL queries like the ones operated automatically by the system. Users can create their queries for the situations that they want to follow by using the structure automatically generated from the ontology meta-model in the querying screen and entering the required parameters, and determine the actions they want to be performed as a result of these queries.

The Customer-Centric Ontology
There are four basic concepts in CRM systems; business unit, competitor, party, and user. The concept of Customer is one of the sub-types of the concept of Party. Also, the concept of Customer has three sub-types: Corporate Customer, Individual Customer and Potential Customer (Source).
The developed ontology-based CRM tool focuses on making the customer-centric analysis. Therefore, a CRM ontology has been developed that focuses on the concept of Customer.
It is not possible to present the whole model of CRM Ontology due to space constraints. However, the partial model is shown in Figure 3. CRM Ontology that focuses on customer attitudes, characteristics, and reflexes, has been developed by using Web Ontology Language -OWL [7]. Jena parser [17] has been used to create the ontology model. This ontology that focuses on the concept of Customer and its three sub-types contains about 220 concepts that these basic classes relate to.
The CRM ontology includes logic-based rules carried out by field experts in traditional CRM systems besides the concepts and the relations between these concepts. Rules are pre-defined components added to the ontology at design time by working interactively with CRM experts. However, the developed tool also allows adding new rules or updating existing rules at runtime. The tool has a GUI developed for this purpose.
22 SWRL rules were included in the ontology at the design time. One of these rules is as follows: "If a customer whose information is kept in high accuracy in the CRM system and whose credit index status is positive has a problem in any product, this customer can use that product with a special discount". This rule has been defined as an SWRL rule as shown in Figure 4 and added to the ontology.

Case Study and Evaluation
To evaluate the developed software tool, the tool was integrated into the CRM system of a company working in the IT sector after the necessary internal permissions were gotten. In this process, customer information was used anonymously in accordance with privacy laws.
When the source CRM system was analyzed, it was seen that the database used by the system had been containing 270 tables containing many duplications, 65 of these tables had been the tables include the customercentric concepts focused by the developed tool. The relationships among these 65 tables were examined and a meta-model was identified for this structure. Mapping between this meta-model and the Staging Database metamodel in the tool were defined. As a result of the deduplication of the data kept in 65 tables in the source CRM system, it has been observed that these data had been simplified as to be kept in 12 tables of the Staging Database.
During the transformation phase, besides the transformation rules that match the concepts between the company's database model and the system's ontology model, rules can also be formed to create suitable instances in the ontology by evaluating the data primitively. These rules, which provide the primitive meaning of the data in the database, contain companyspecific parameters. Therefore, these rules cannot be kept in the ontology model. If these rules are to be used, they should be defined specific to the company during the transformation phase.
In the integrated system, reward policies are applied according to the loyalty of the customers to the company. The following rule has been created in order to associate customers with the appropriate rewarding strategy in the ontology model from the data obtained about customers during the transformation process. Rule: The classic reward policy is valid for customers with a total invoice amount between 100,000 and 1,000,000 TL. Rule: The avant-garde reward policy is valid for customers with a total invoice amount of 1,000,000 TL or more. Rule: The VIP reward policy is valid for customers with a total invoice amount of 1,000,000 TL, customer registration older than 10 years, and no more than 2 months between their two invoices. Rule: The reward values of the customers provided that each sales item is worth "1 coin" in the system; a) If the calculated value is between 1-40 coins; 30 points for classic reward policy, 100 points for avant-garde reward policy, 200 points for VIP reward policy, b) If the calculated value is more than 40 coins; 50 points for classic reward policy, 200 points for avant-garde reward policy, 500 points for VIP reward policy, The partial model that includes the concepts of rewarding in CRM ontology is shown in the Figure 5. It was observed that 32 customers had been associated with the avant-garde policy, 245 customers with the classic policy, and 9 customers with the VIP policy. Thus, during the transfer of customer-related data to ontology, it was evaluated primitively, the loyalty of the customers to the company was calculated and appropriate rewarding policies for customers were determined. This information can be used in semantic interpretation and querying processes in later processes.
At the end of the transformation process, 41,000 OWL instances associated with 1,600 customer instances in the ontology and 284,000 axioms defined for the properties of these instances have been created.
When it was examined that the expanded ontology created as a result of the semantic interpretation process that includes 22 SWRL rules situated in the current version of CRM Ontology, it has been seen that the number of axioms had been increased to 405,000. In the expanded ontology obtained at the end of the semantic interpretation, which was operated without including the rules, the number of axioms was 312,000. Considering that the developed tool focuses on the concept of Customer, which is the most basic component of CRM systems, and CRM Ontology holds the most critical data related to customers without any repetition, we think that these new axioms obtained as a result of the inference process may quite valuable for companies.
During the evaluation process, the company was asked to add a rule specific to their area of study to the system. It has been observed that the company employees can easily add the rule using the rule adding interface supported by the tool, and this rule, which is added in the rule set, is used automatically by the system during later inferences. The rule defined is this; "If the customer who has more than one activity for 5 days and who bought a product from the company in the last 15 days has a complaint record about the product purchased, this customer has negative thoughts about the product". The tool created the SWRL rule shown in Figure 6 for this newly added rule and added it into the CRM Ontology. After the addition of the new rule, the semantic analysis process was re-run. Later when negative experiences that had been newly added into the ontology, were queried, three new negative experiences have been determined as shown in Figure 7.

Conclusion and Future Works
In this study, a new ontology-based CRM approach is proposed. This approach provides automatically integration and interpretation of CRM data obtained from various CRM sources. A CRM source may be a CRM system or a data channel in a CRM system. Also, a CRM tool has been developed based on the proposed approach. This tool focuses on the customer-centric concepts in CRM systems. The tool has the ability to analyze the customer's interest, characteristic, and perception features by making semantic interpretations on the customers' behavior. Although the tool focuses on the concept of Customer, it is an infrastructure for other tools that will focus on different concepts in CRM systems.
As a result of the evaluation, it has been seen that the proposed approach and the software tool based on this approach has achieved a significant increase in the CRM data owned as a result of the semantic interpretation of the data obtained from more than one source.
The customer-centric CRM Ontology and the Staging database developed during this study have been providing a common dictionary for customer-centric systems. This dictionary is designed to reuse in systems where multiple CRM systems work together and offer integrated solutions. Especially in holding companies with more than one CRM system, it is anticipated that these two outputs will have an important effect by providing integrated use of the systems.
With the developed software tool and common dictionary, customer-centric semantic analysis capability can be provided to systems such as enterprise resource planning -ERP, manufacturing resource planning -MRP, and accounting systems. For this, it is sufficient to develop middleware services that will provide integration.
in CRM systems, there are 5 other basic concepts such as Complaint, Campaign, Opponent, Opportunity, and Source in addition to the concept of Customer. Currently, we are working on to develop the ontology models for these concepts. With the addition of ontology models and transformation rules for these concepts, it is aimed to turn the developed tool into an integrated system that can interpret all CRM data in the future.