1 Introduction
Within the world of telecommunications, telephony is one of the most technologically advanced fields and with more demand for services. The ability to be available and stay connected always for work or social issues has become a reality and a necessity for today's Information Society.
Voice services currently offered by the most important telecom operators consist of fixed telephony, mobile telephony and voice over IP (VoIP). A user can be registered with one or more of these services and even within the same service can have more than one active connection. This could be the case of a user with more than one SIM card, multiple fixed lines (in the same or a different location) and multiple records to operate with VoIP technology.
In addition, currently many of the voice services offered by various telecom operators to the users can be inactive or unavailable at a given time. This may be due to different reasons, either because the user is in another location, for problems of network coverage or any other cause. Moreover, the user will have certain preferences depending on their location, the person of the incoming call, the slot time of the call, the network performance, etc. Therefore, at any time, the user must choose the most convenient service depending on several factors: economic, geographic, social or other nature.
The automatic redirection of calls is a great innovation because it allows, transparently to the user, the ubiquity of communications, avoiding the tedious job of redirecting the phone whenever necessary, or the consequent loss of calls. The system presented in this paper, RESyS: Recommender System Semantic, contains a framework for call forwarding or call redirection based on an Artificial Intelligence engine supported by a knowledge base defined via ontologies. RESyS performs intelligent and efficient redirection of calls to the device more favorable to the customer, based on all available information on its agenda; preferences, their location, via GPS and a geolocation system in real time.
The defined ontology allows to obtain user profiles, the current location, the type of activity, etc. In short, the development of an ontology that defines the current situation RESyS client.
The paper consists of five sections and is structured as follows. Section 2 reviews the relevant literature. Section 3 discusses the main features of RESyS, including the conceptual model and the architecture. Section 4 describes the evaluation of the system, including a description of the sample, the method and previous results. Finally, the paper ends with a discussion of research findings and concluding remarks in Section 5.
2 Previous Work
The IP telephony and VoIP technology presents a tremendous opportunity for service providers to offer both traditional services as well as a range of creative new services [1]. Nowadays, several researches can be found in the scientific literature focused on improving the quality of service from VoIP technology and to offering new possibilities to end users [2].
An interesting project related with the intelligent redirection of voice calls is Google Voice. This service gives to the user one phone number for all calls routed to that number to reach Google Voice application, which will be responsible for redirecting the incoming call to one or more of the various voice services that the customer has contracted with other operators. The service is configured by the user so that calls are redirected based on fixed rules selected by the customer. Google Voice also redirects calls but without an intelligence engine that could help to decide automatically over which terminal redirect the call. Therefore, the current situation and the decision is not rendered in real time, because all the decisions are made through adjustments made by the user. However, despite this project, there is a lack of similar research in scientific literature that deal with the issue of intelligent call redirection.
Artificial Intelligence (AI) research has contributed a huge amount of valuable technology, which has proved to be successful on narrow, specialized problems [3]. Besides, techniques aim to represent the knowledge in a way that can be applied to solving complex problems or supporting decision making processes according by Lópes-Cuadrado [4]. Over the last few years semantic web techniques have supported the sharing of knowledge by means of ontologies [5] and [6]. Portrays the Semantic Web as the future web where computer software agents can carry out sophisticated tasks for users [7] and [8]. Semantic Technologies, based on ontologies [9, 10, 11], provide a common framework that enables data integration, sharing and reuse from multiple sources [12]. Lópes-Cuadrado J. L. et al., present a framework based on ontologies that allows experts to represent and share their knowledge with other experts by means of shared and controlled vocabularies [4].
The approach ontology is similar to the related to the semantic and specifically in the use of ontologies techniques. However, RESyS has been developed a unique inference engine with semantic techniques (ontologies), for reasoning applied to the field of communications in the smart calls, forwarding voice and recommendation calls. Ontologies are the technological cornerstones of the Semantic Technologies, because they provide structured vocabularies that describe a formal specification of a shared conceptualization [4]. Ontologies were developed in the field of Artificial Intelligence to facilitate knowledge sharing and reuse [13]. An ontology can be defined as a formal and explicit specification of a shared conceptualization [14]. Ontologies provide a common vocabulary for a domain and de ne, with different levels of formality, the meaning of the terms and the relations between them. Knowledge in ontologies is mainly formalized using five kinds of components: classes, relations, functions, axioms and instances [13]. Languages such as Resource Description Framework (RDF) and Ontology Web Language (OWL) have been developed.
These languages allow for the description of web resources, and for the representation of knowledge that will enable applications to use resources more intelligently in [15] and [4]. The Semantic Web consists of several hierarchical layers, where the Ontology layer, in form of the OWL Web Ontology Language (recommended by the W3C), is currently the highest layer of sufficient maturity [16].
According by Y. Ding (1196), semantic web is fast-moving in a multidisciplinary way [17]. In this sense, semantic web applications cover a wide range of domains including tourism [18], financial [19], e-business [20], customer relationship management or manufacturing [18], to cite just some of the most relevant cases.
This research is focused on context ontologies, they are used in context aware systems such as the one proposed, which exploit contextual information in order to generate recommendations or provide relevant information to the users [21]. Many of context ontologies have been developed for a variety of fields [22, 23, 24], there have been some efforts, as well, in the development context ontologies for mobile environments [11], [25], it is worthwhile to mention the ontology [26], where the authors present a context ontology in the mobile environment with the objective of representing the knowledge about the user regarding his interaction with mobile devices.
This approach is similar to the one presented in this manuscript. However, the focus of RESyS is not just on mobile devices because it considers all the possible communication channels that a person can use, and the contextual information that can be extracted from them. It is a widely-recognized fact that information and decision-making have become the foundation for the world economy [17]. Among many enterprise assets, knowledge is treated as a critical driving force for attaining enterprise performance goals because knowledge facilitates better business decision making in a timely fashion [21]. A recommendation system is regarded as a heuristic system that advice some useful information and can be applied in different domains [27].
Furthermore, a recommender system can provide a set of solutions that best fit the user [28], depending on different factors concerning the actors and the objective or the context where it is applied [29]. Such systems can reduce search efforts [30] and provide valuable information to sprout consumer’s decision making process [31], in order to solve the problem of information overload in a showing [8].
In recent years, many works have been reported on recommendation systems in different and heterogeneous domains. For example, G. Adomavicius and A. Tuzhilin present a survey of recommender systems as well as describe various limitations of current recommendation methods, and discuss possible extensions that can improve recommendation capabilities and make recommender systems applicable to an even broader range of applications [11]. More recently, provide information about trends in recommender systems research by examining the publication years of the articles and provides practitioners and researchers with insight and future direction on recommender systems [32].
3 General Architecture of RESyS Platform
In this section the main architecture of semantic system is described. It is divided in several modules that exchange data using REST web services, enabling loose coupling, enabling the use of heterogeneous techniques to be orchestrated to accomplish the purpose of the system: forwarding the call to the best possible destination.
This architecture is based on semantic technology which allows data to be obtained from different modules consolidating the information in one body. Its components are presented in Figure 1. The platform is composed of several functional modules which carry out different tasks, to perform the extraction and conversion processes that should be executed to prepare the data and making it accessible.
The data extraction module is responsible for acquiring the data information system, which represents all the information that could be used to reroute the incoming call. It us run offline, and continually collects all the information that will be then used to perform the call redirections. This information is derived from various sources and is annotated semantically for storage in the repository semantic. The Figure 2 show semantic annotation in the ontology.
The module of data extraction is divided in two modules. Firstly, the data acquisition module is responsible for accessing and obtaining the data that is used to populate the semantic database and discern the system helps the output path of the incoming call. It is worth noting that it is not a relational database, it is a semantic storage which sends information to the reasoner. For this purpose, it is necessary to create a knowledge model (ontology), where you can map any information that could be used in redirection of calls.
The semantic repository communicates with the data extraction module to populate the ontology. Access to the repository is through Jena API an open source web-based semantics-oriented tool, which has the flexibility to find the data, modify or add new, modeling, etc. It is specifically used to read and analyze the RDF les that are created in the ontology and stored in the system database, with user-defined rules and semantic annotation to create and operate knowledge to infer where to redirect the call.
The architecture of this semantic recommender system allows integrate all communication services, rules for users and enabling intelligent reasoning to redirect the call. The redirections are performed using Asterisk, a VoIP server. The Intelligent Redirection Modules has been developed to be plugged in Asterisk, and allows it to communicate with the Semantic Reasoner, using a web service. Each time a call is received, a request is made to the semantic reasoner, which will process it using the data form the ontology and return the appropriate redirections to the Redirection module, which will use the information to the actual redirection.
3.1 Agents Interaction in Knowledge Reasoning Semantic
Information agents are software agents that have access to multiple heterogeneous information sources distributed geographically. Those relationships represent not only facts gathered by the system (ubiquitous geolocation snapshot of user activity, call history, custom habits.
With this aim, a set of agents deals with external information systems in order to extract all the relevant information to populate the ontology. Each agent is independent and heterogeneous from each other, obtaining information from different source, as smartphones, data sources and social networks, used as an annotation tool to instantiate the knowledge base containing the instances of the reference ontology.
The methodology developed for the various types of information agents is based on how to extract, analyze and define the data that are related to the users and that are related to the user's Outlook calendar, GPS location, user preferences etc. The agents have access to these distributed information systems across different domains.
3.2 Knowledge Ontology
According to what we commented on in the previous section, our reasoning-based strategy requires both an ontology to represent formally the knowledge of the application domain and a profile where the user's preferences are modelled.
Ontologies have become the cornerstone in the Semantic Web due to two reasons. On the one hand, as these conceptualizations represent formally a specific domain, enable to employ inference processes to discover new knowledge from the formalized information.
On the other hand, ontologies facilitate automated knowledge sharing, by allowing an easy reusing between users and software agents.
To this aim, several ontology languages have been developed in the Semantic Web [2], [4]. The high-level overview of the data ontology model is presented in Figure 3. It consists of 5 main cornerstones.
The ontology presented in the recommender system is a knowledge base for the recommendation; its main goal is to redirect call depending on the user's context and rules based in his preferences, modelled in the ontology. The Figure 4 shows a taxonomy of the ontology which contains the different class.
The specific work is an instance of class Device telephone that contains details of the different landlines of the user or the class event. It also contains details of the user's schedule (such as date, destination, hour etc.) connected to the concrete user through the relation \participatesInEvent"(User, Event). \Each Event class" provides additional characteristics that improve the decision process.
The user’s profiles are actually connected through a much higher number of relationships.
Those relationships represent not only facts gathered by the system (ubiquitous geolocation snapshot of user activity, call history, custom habits) but most of the additional knowledge inferred from all the previous facts by applying the forward chaining rule based system.
3.3 Semantic Reasoner
The semantic reasoner is a rule-based engine, which works on the information stored in the semantic repository which to be able to discern the best destination for an incoming call. The user preferences are a set of rules determined by the user for driving the rule-base recommendation system. These preferences establish a policy in the system. These rules refer to schedules, priorities, costs, location, etc. In this way, the recommendation system is using a semantic reasoning engine to be able to infer logical consequences from a context-aware ontology.
The AI engine derives knowledge form the ontology to redirect the incoming call to the device user. It is implemented using the Jena rules engine, which governs how to process the information related to the user devices and context of the representation of semantic knowledge stored in the ontology repository. The rules can be defined by the users in two ways:
− Using a web interface that allows creating simple, predefined rules. These include redirections based on the recipient schedule, current date and location or the caller id; but it does not support combinations of them.
− Writing rules directly in the Jena Rules language, allowing for very complex behavior to be implemented. This requires much more knowledge that the previous approach, but the flexibility is much higher, making it ideal for expert users.
The rules or filters created in the web interface are added to the ontology and processed using the rules depicted in Figure 5.
The inference is done in two phases. First, the set of filters is processed with the context information (caller, recipient and current date), to determine which of the filters will play a part in the redirection. Then, the applicable filter is used to determine the set of devices to redirect the call to, sorted in order of priority.
Rules manually inserted by the user are also processed, and the results of both processes are aggregated. Finally, the results are serialized and return via web service to the redirection module, in the VoIP server; which will in turn, redirect the call to its destination, using the list of priorities provided by the semantic reasoner.
To optimize the speed of the reasoner, the whole ontology cannot be loaded into memory. In fact, every time a redirection request is made, only a little portion of the ontology, which related to the caller and recipient of the call, is loaded.
This fraction contains all the necessary information to decide the call destination, but takes much less resources to process than the entire ontology.
4 Discussion and Evaluation
In order to statistically determine the accuracy of the results, we used Precision, Recall and F1 measure. These are used to measure the degree of relevance of the recommendations of RESyS regarding the recommendation of an expert in the domain. The following results describe various perspectives on the application of this analysis. As a first analysis, are considered correct recommendations given by an expert. An example of the list of recommendations RESyS with its recommendation of the expert is shown in Table 1. As can be seen, both the expert and the system facilitates two possible output devices that redirect each call.
Table 1 Example of recommendation obtained by RESyS vs Expert recommendation
CALLS | RESyS | EXPERT | ||
---|---|---|---|---|
Device 1 | Device 2 | Device 1 | Device 2 | |
1 | 2 | 1 | 3 | 1 |
2 | 1 | 1 | 2 | 1 |
3 | 1 | 1 | 1 | 2 |
4 | 1 | 2 | 1 | 2 |
5 | 2 | 2 | 2 | 2 |
The overall result states that if the recommendation of the device 1 and device 2 of the system coincides with the recommendations in the order given by the experts, then it is considered a correct answer. Then the second analysis determines if the first recommended by RESyS device matches to the first recommendation of the experts, then it is considered a correct answer. Finally, the last analysis establishes that if the second product recommended by RESyS matches with the second recommendation of the experts, then it is too considered a right investment. Table 2 shows the values obtained in this case for the Precision, Recall and F1 measures. The Precision and Recall values are the same because the number of correct recommendations is the same as the number of recommendations made by RESyS.
Table 2 Analysis of recommendations with Precision, Recall and F1 measure
Precision = Recall = F1 | ||
---|---|---|
RESyS vs expert recommendations | 0.467 | 0.783 |
1 RESyS vs 1 expert | 0.6 | 0.8 |
2 RESyS vs 2 expert | 0.333 | 0.767 |
For the second analysis, each recommendation considered correct when RESyS and experts always keeps the same order for the two devices. Table 3 shows the Precision, Recall, and F1 with respect to the order of the devices provided by the expert.
5 Conclusion
The main conclusions of the evaluation to the concept RESyS proof system is based on significant users, that require more features and depend on them to exploit and benefit from the system with accurately. The system was tested in terms of proof concept, redirecting the user calls to phone devices associated with customers, with the results an intelligent redirection with geographic location data associated to devices, dates and scheduling of their events their once considered a smart application. Therefore, our future work, it started with the most successful capture requirements from the point of view of the user, with new developments.
In the future, it will focus on the next versions of RESyS and related software, and its main technical features and functionality that are the main features and technical capabilities that could enforce. RESyS will an existing smart phone platform and is used by base sensitive primary users but significant in number.
As future work, it is intended to emphasize the common relationships between users and social networks to determine rules that can be applied to the system of intelligent call routing, this data can be used as major turning points for the application, not only for how this data could be improved on exponentially in the platform in terms of ease of use and scalability, but also for how they would present needs from the perspective of users to provide greater application performance and importance from the point of view of software engineering. Besides, to make them, filters can be easily reused by other users, using configuring the web interface of the RESyS system.