Jiewen Wu

Freddy Lécué

Christophe Gueret

Jer Hayes

Sara Van De Moosdijk

Gemma Gallagher

Peter Mccanney

Eugene Eichelberger

Personalizing Actions in Context for Risk Management using Semantic Web Technologies

The process of managing risks of client contracts is manual and resource-consuming, particularly so for Fortune 500 companies. As an example, Accenture assesses the risk of eighty thousand contracts every year. For each contract, different types of data will be consolidated from many sources and used to compute its risk tier. For high-risk tier contracts, a Quality Assurance Director (QAD) is assigned to mitigate or even prevent the risk. The QAD gathers and selects the recommended actions during regular portfolio review meetings to enable leadership to take the appropriate actions. In this paper, we propose to automatically personalize and contextualize actions to improve the efficacy. Our approach integrates enterprise and external data into a knowledge graph and interprets actions based on QADs' profiles through semantic reasoning over this knowledge graph. User studies showed that QADs could efficiently select actions that better mitigate the risk than the existing approach.

Introduction and Related Work

Risk is pervasive in every complex business, and businesses must manage risks in the sense that after identifying and externalizing risks they should take appropriate actions to mitigate risks, rather than eliminating risks [START_REF] Cooper | Project risk management guidelines: managing risk in large projects and complex procurements[END_REF]. Such practices are essential for large enterprises because of the promised quality outcomes to be delivered to clients, stakeholder or collaborators. With proper risk management, businesses can improve predictability of financial variance [START_REF] Mustafa | Project risk assessment using the analytic hierarchy process[END_REF], be more flexible [START_REF] Huchzermeier | Project management under risk: Using the real options approach to evaluate flexibility in r d[END_REF], enhance their competitiveness in the market, and develop growth through increased client satisfaction [START_REF] Raz | Use and benefits of tools for project risk management[END_REF] by delivering what is promised and beyond.

Project risk management has been studied for more than half a century with a different focus e.g., risk identification, estimation, response and monitoring and control [START_REF] Chapman | Project risk analysis and managementpram the generic process[END_REF]. Various approaches have been suggested to address such problems with more and more roots in Artificial Intelligence and Machine Learning given the recent access to large amount of digitalized projects monitoring data. For instance risks of software-related projects can be predicted using ensemble learning of Artificial Neural Networks and Support Vector Machine [START_REF] Hu | An intelligent model for software project risk prediction[END_REF]. Other approaches such as [START_REF] Tserng | A study of ontology-based risk management framework of construction projects through project life cycle[END_REF] presented a framework based on a risk ontology to monitor and identify risks through the project life cycle. Most of the work has been focusing on risk prediction and monitoring and less on mitigation, although mitigation processes have been largely curated by in-house quality assurance experts of most companies to limit revenue loss. Indeed mitigation actions are usually discussed among senior experts, and often subject to non consensus given the complex nature of contracts, and their complex environments and contexts e.g., contract type, industry group, geography delivery centre, client lead among others. In this respect the identification of relevant and impactful actions for the right contracts is a challenging task.

In Accenture an Intelligent Risk Management tool (IRM) has been developed to provide leadership with a holistic view of project risks. The tool consolidates data from multiple systems and predicts the risk tier of ongoing Accenture projects. Based on the computed risk tier, a project will be assigned a corresponding Quality Assurance Director (QAD), who oversees the project to identify and mitigate its risk(s). The sources of the risk can be manifold, such as the dependencies of the clients, the terms and conditions stipulated in the contract, or the capability of the company to staff the project with the right people, among others. Once the risk is identified for a contract, the task of the risk management team is to determine what is actionable, in other words which parameters can be controlled to reach positive outcome. In general, a QAD works with the project team (and leadership team if necessary) to determine the right actions that need to be taken to mitigate the risk. These actions, usually specific to the project, are documented in meeting minutes during portfolio review meetings.

The purpose of risk management is to mitigate risk and recover the losses as much as possible and in the most efficient way. One critical responsibility of QADs is to ensure the actions proposed by project personnel and leadership team are well understood and executed, as they might have very negative outcome if wrongly applied. Documented in meeting minutes, actions need to be reviewed and well understood by QADs before they can be executed. On average, a QAD can be assigned to oversee a few dozen contracts, each of which has a number of tasks that demand different levels of attention according to the risk tier of the contract. To help our 3, 000+ QADs streamline this process, we designed a solution that customizes the actions recommended for the contracts based on the context the actions were proposed in, with the aid of semantic technologies from both an integration and reasoning perspective. QADs are empowered to explore actions in relevant context more quickly and to prioritize actions more confidently.

Motivation

The process of monitoring review meetings and tracking actions is laborious, in particular for QADs who are newly assigned to oversee the contracts. With the popular adoption of Artificial Intelligence practices in enterprises, Accenture has been phasing in machine learning to aid in its business processes, among which is risk management. Once a contract has been identified to have above normal risk, an action recommender automatically proposes a list of actions based on past five years' records, which would have required numerous portfolio review meetings involving various resources without the recommender. Some challenges that QADs face in this process, with or without the aid of an action recommender, have been identified: (1) A QAD needs an efficient way to read the relevant meeting documents, e.g., to identify the list of actions when no recommender is used, or to understand the context of these actions. (2) QADs who are new to a contract or business may have difficulty in understanding the terms used in actions. They want to understand the actions and associated context accurately and effectively. For QADs, the purpose of reviewing actions is to ensure a correct understanding of the actions in context and prioritize the actions to be taken, e.g., actions that demand immediate attentions or that have a greater impact on the outcome. To help our leadership team manage riskmitigation actions more efficaciously, we build a solution, deployed at validated by Accenture risk officer, to improve the understanding of actions, which in turn leads to better prioritization of actions for execution.

Problem Statement

To ensure a quicker and effective understanding of the actions, we find the following tends to help our users: (1) salient terms are highlighted, especially if the descriptions of actions are lengthy, and (2) terms are put into context, preferably customized for each individual user, so that confusion is minimized and minimum efforts are required from QADs to read relevant passages in meeting minutes. Personalization is important to our users due to the various levels of background knowledge they possess about actions in different contracts. To help readers understand our approach, Example 1 shows a typical action documented in a review meeting.

Example 1 (Actions). Action 1 reads Meet with John Doe re the role requirements that the team has identified and notify the group when the next MLR should be scheduled. Action 2 reads Adjust time and material for delivery center in Chicago. Without proper context, a QAD may, for instance, have difficulty in understanding the specific employee John Doe or the term MLR mentioned in the action.

Formally, the problem to be dealt with in this paper is stated as follows. Let a term T be a sequence of (at least one) words. An action, denoted A, is a sequence of n terms (n ≥ 1). A user (a QAD in our business case) is denoted U, and her profile is encoded in a knowledge base (a.k.a. ontology) K. Without loss of generality, we can assume all facts in K are represented by triples s, p, o . Given an action A = (T 1 , . . . , T n ), the problem is to generate a personalized action for U: A = A a ∪ A e such that:

-A a = (T 1 , . . . , T m ), where m ≤ n, represents the key terms that carry the essential information of the raw action.

-A e = (G 1 , . . . , G m ), where G i ⊆ K , 1 ≤ i ≤ m. The context of each key term is represented separately by a graph consisting of a set of semantic entities and binary relations between entities, all associated with the given knowledge bases. Note that a graph can be empty, in which case there is no additional context available for the corresponding term. -A is sufficiently small in size for users to understand the action A.

Our solution aims to provide proper context of each action so that a user can easily understand the actions and better prioritize the actions to be executed.

The paper is organized as follows: Section 2 gives an overview of the system architecture, as well as high level descriptions of the miscellaneous data sources and the applications. Following the system description, Section 3 details the three applications as a pipeline that ingests user profiles and raw actions to generate personalized action context. An empirical evaluation is provided in Section 4 to validate the efficacy of the system, which also includes a discussion on the learned lessons. Section 5 summarizes the paper and presents some extensions that we plan to build on the existing solution.

System Architecture

Figure 2 depicts the architecture of the solution we built to contextualize actions. Below is a detailed, bottom-up description of the architecture, in which Section 2.1 gives an overview of the data sources. Section 2.2 describes the functionality of system applications, and Section 2.3 describes the data flow and how users interact with the system.

Data Sources and Integration

Enterprise data provides information on the business context, for instance, actions usually mention specific business entities, Accenture acronyms, or employees names. Most internal datasets we used are structured, while some of them are unstructured, such as the dataset for actions, which is a set of meeting minutes notes. External data includes some standard RDF datasets, namely, DBpedia and Wikidata.

Accenture Business Schema describes the organization structure of Accenture and attributes of several types of objects, such as employees information, contracts, among others. Accenture Data Lake is the internal Accenture data lake that serves as a hub for accessing key business data sourced from a variety of systems, ranging from SAP to MS SQL Server to documents. We have access to data about human resources (e.g., employees), financial outcomes (e.g., contract economics), and risk assessment (e.g., review meeting minutes and notes).

When both internal and external datasets are identified, we need to align their entities so semantic contextualization becomes possible on enterprise data e.g., actions. The first step is to uplift internal data into semantic knowledge,

Semantic Uplift

The relational data and unstructured data used in the system is converted explicitly into RDF triples 5 , with the latter given as the file paths referencing the actual unstructured content. Alignment leverages both syntactic keyword searches and SPARQL queries and it enables us to interface the enterprise data with the external linked dataset via a uniform query engine.

Provenance Store records two types of data: (1) the source graph of RDF statements and (2) the source application or data unit of the resulting statements. The former is used to differentiate different types of application data, for instance, the user profile of a given user has to be separated from the actions' data during personalization. The latter is for end users to understand the details of computation. In our business environment, it is important to keep track of data flow in any process. In addition to compliance and regulation requirements due to data confidences, a more compelling reason is to help users make more informed decisions. In the task of risk management, our business users, e.g., QADs, want to understand how the resulting action context is generated so they can be more confident when making decisions. We use the ontology PROV-O6 to describe the provenance at the level of datasets. For instance to keep track of the process integrating a given CSV file into the knowledge graph.

Application Layer

The application layer is made of 3 components linked in a linear pipeline. Their objective is to enrich an action with the semantic context relevant for the user currently looking at this action. Those three components are referred to as "Markup", "Semantic Embedding" and "Scoping" after the main role they fulfill.

Markup extracts a set of important complex terms from an action. The implementation is chosen to be parameterizable in order to return sets of different sizes depending on user profiles. The output is forwarded into the next component "Semantic Embedding"; Semantic Embedding aims at associating to an entity each of the complex terms marked up in the action. In addition to the relevant entity the immediate context of this entity, that is all the other entities it is directly connected to, is also retrieved. The component further taps into the data store containing the provenance data in order to make this information available to the next component ("Scoping"). Finally, the graph describing the user currently using the system is also retrieved. This combined large graph (entities + embedding entities + provenance + profile) is passed as NQuads to the next component in the pipeline for scoping; Scoping the large graph resulting from the embedding is important in order to avoid an information overload. Any given user need to be presented with the only data (s)he needs to understand a particular action, no more no less, as stated in the problem definition on the size of A in Section 1.2. The graph thus needs to be scoped to remove superfluous nodes and edges. The outcome of this process is sent back to the user interface for rendering.

Application, Data, and User Interfacing

The data layer provides a uniform access interface through SPARQL query engine (i.e., StarDog7 in our implementation). As can be seen from Figure 2, applications can query external KGs directly, or a combination of alignment data, provenance data, with enterprise and external KGs when needed (e.g., for semantic embedding). To our end users (QADs), the interaction with the system applications is a series of steps.

User Login and Contract Selection A QAD must be logged onto the system to see the assigned portfolio of contracts. She can then select a particular contract for review. To this end, two types of data items have been requested by the User Interface through some REST services: the user's unique identifier and, with the newly introduced action recommender, an automatically populated list of recommended actions if the contract is considered to be risky. Application Processing Once the input is identified, appropriate applications will be triggered, with access to the relevant data via the query engine. Any action in the recommended list will go through the full computation cycle in order: markup, semantic embedding, and scoping. An action, as defined in Section 1.2, is simply a list of complex terms. After processing, it will be enriched with proper context in the form of knowledge graphs (triples). Output Rendering The final output consists of 2 parts: one is the personalized context of this action, while the other is the provenance information associated with the computation, which users can choose to be presented.

Semantic Approach towards Project Risk Management

This section describes the techniques of the three applications given in Figure 2.

Markup

The markup functionality is leveraging [START_REF] Ribeiro | Explaining the predictions of any classifier[END_REF] to identify the most important terms in any action. To this end [START_REF] Ribeiro | Explaining the predictions of any classifier[END_REF] retrieves the key terms of an action that make this action in a particular class: documentation, financial, resources, capability, delivery, meeting, contract.

Example 2 (Markups of Actions). Consider the actions in Example 1. Action 1 has been marked with two key terms: "John Doe" and "MLR", while Action 2 has also two term highlighted: "time and material ", "delivery center in Chicago".

Semantic Embedding

The objective of Semantic Embedding functionality is to embed the action into its global, semantically rich, context. This context is defined by the set of complex terms associated to the action (computed from the Markup functionality) and the concepts from the knowledge graph K they relate to. To this end we start by extracting some key terms (T 1 , . . . , T m ) from the textual description of the action using both part-of-speech (POS) tagging and named entity recognition (NER). For each key term, a matching for some concept, as well as the triples that have this concept as a topic, is performed in the given K .

Once the extracted terms are mapped into concepts in the knowledge graph, an additional step is to obtain more relevant concepts through graph traversal. For example, in Example 2, the two concepts Delivery Centre and Chicago initially extracted from Action 2's text Delivery Centre in Chicago will get replaced by the concept Delivery Centre in Chicago, which is defined to be related to both Delivery Centre and Chicago. T imeAndM aterial, partOf, T ime , T imeAndM aterial, partOf, M aterial .

Scoping

After semantic embedding, the context of an action consists of user-specific context, enterprise context, as well as general knowledge. This also means the generated context is potentially large, which may overload the users with excessive contextual information. To this end, we developed an algorithm to reduce the contextual information (represented as a knowledge graph w.l.o.g.) based on the user-specific context. Algorithm 1 shows how a given user profile is used to scope the action context (in the form of triples). Given a user profile G u , Algorithm 1 decides if a statement from an action context can be filtered. We first collect all the entities that are known to the user on lines 1-2. On line 3, the subject s of the contextual statement is tested: if it is a known entity to the user, the algorithm considers if the statement is a description of some attribute of s (line 4), if the predicate or object is a known entity in general (the set StandardV ocab denotes the set of entities defined in standard vocabularies such as RDF/S, OWL, SKOS, among others. An example of generally known entity is skos:Concept.), or if both the object and the predicate are also known to the user (line 6). For Action 2, the user context does not reduce the action context due to limited user context on the key terms such as TimeAndMaterial. Thus, Action 2's context remains the same.

Validation

We discuss our asset in use by senior Accenture QADs. We review the main functionality exposing contexts of actions for risk management mitigation (Section 4.1). Then, we present an end-user validation on the fit-for-purpose of the contextualization asset (Section 4.2). Section 4.3 evaluates the scalability of components involved in our main architecture (Figure 1). Finally, we review lessons learnt from the deployment of the asset in an industrial context (Section 4.4).

Actions in Context Asset

• Broader Asset: Figure 2 presents the Intelligent Risk Management (IRM) asset (and its 5 main functionalities) we deployed at Accenture. It represents the general user interface, in which our "action in context" asset has been integrated, tested and validated by QADs. A QAD connects to the IRM tool on a daily basis to assess a portfolio of projects that she is responsible for. She aimed at evaluating the level of risk predicted by the system (details of the prediction component is beyond the scope of this paper), investigating the root causes of the risk tiers, potentially requesting support from other QADs, exploring inconsistencies in the project and finally selecting relevant actions to be applied for mitigating financial risks, and limiting any revenue loss. The remaining part of this section emphasises on the latter functionality, captured in 7 through "Action Explanations" of Figure 2. This particular component is selected when the project is at high risk (cf. upper part of risk scale 2 in Figure 2). (represented as a yellow circle) selected (the larger the bubble the greater the target revenue). 2 : Risk scale of the project (the higher the circle / project the riskier). 3 : Summary of project details with expected revenue and risk tier. 4 : Functionality for explaining risk tier prediction. 5 : Functionality for recommending additional QADs for this particular project. 6 : Functionality for recommending actions to QAD. 7 : Functionality for explaining the context of actions to QAD (focus of the paper). 8 : Functionality for flagging inconsistencies in projects (color print).

• "Action in Context" Asset: Figure 3 provides a detailed description of functionality 7 of Figure 2. QADs are shown a list of potential actions in 1 of Figure 3 which have been applied to projects with similar risk tier, and under similar conditions (industry e.g., resources, client classification e.g., diamond client). Each action is represented by its category 2 e.g., Documentation, Financial and Resourcing for general context, and its intent 3 e.g., "Adjust Time and Material for Delivery Centre in Chicago". The DBpedia and wikidata vocabularies have been used for cross-referencing categories using syntactic mapping e.g., http://dbpedia.org/resource/Category:Finance for financial. Each action is broken-down in important complex terms (as opposed to entities) in Figure 4 e.g., "Time and Material " and "Delivery Centre in Chicago" for action in 3 . Then a graph, capturing the context and provenance of each important complex term, is displayed for action contextualization (cf. Figure 4 for zoomed-in version of graphs 5 -8 in Figure 3). For instance the "Pricing structure" of selected project is "Time and Materials" 5 , which is inconsistent with "Fixed Price", and "Contract Price" can be adjusted for a short "Duration" of "6 months". Some similar contexts are retrieved for complex term "Delivery Centre in Chicago" 6 . 7 connects our enterprise knowledge graph with external resources such as SKOS, DBpedia, and Wikidata concepts. Item 8 provides context using our enterprise knowledge graph, for instance http://accenture.com/labs/people/irm#Person for Person or http://accenture.com/labs/people/irm#PCrossWorkForceCareerLevel for career level.

A sample of our enterprise knowledge graph is available 8 . The latter context is crucial for QAD to understand how the action can be applied, and more importantly what is the rational of the context. In addition the context brings general information which is somehow discarded from initial information by the traditional approach e.g., Chicago is a city in North America region. This has been possible only because we initially mapped the enterprise data with external vocabularies such as DBpedia and wikidata.

Experimental Results: User Satisfaction

The evaluation of personalization and contextualization systems remains a challenge due to the lack of understanding of what factors affect user satisfaction [START_REF] Anand | Introduction to intelligent techniques for web personalization[END_REF]. Towards this issue, the applicability and usability of our approach has been tested in real world scenarios with users. In particular we evaluate the relevance and usefulness of the context of action selection.

• Users: To test the proposed approach, we have conducted a focus group study with 20 senior QADs at Accenture, aiming to explore the degree to which they understand, accept, and make use of the provided context for deciding on which actions to recommend. We split directors among 4 groups depending on their level of experience with the QAD role: (G1) [0-3) months, (G2) [START_REF] Huchzermeier | Project management under risk: Using the real options approach to evaluate flexibility in r d[END_REF][START_REF] Raz | Use and benefits of tools for project risk management[END_REF][START_REF] Chapman | Project risk analysis and managementpram the generic process[END_REF][START_REF] Hu | An intelligent model for software project risk prediction[END_REF] months, (G3) [START_REF] Hu | An intelligent model for software project risk prediction[END_REF]12) months and (G4) over 12 months of experience.

• Tasks: The participants were asked to interact with the action explanation component (Figure 3) of the Integrated Risk Management tool (Figure 2) to select action to be escalated for execution. First of all they have been requested to select actions using the traditional approach i.e., neither semantic uplift of actions nor context. Then they were asked to interact with our semantic-based model. Finally they were asked to rate the perceived usability of both approaches i.e., without and with semantic context and answer three open-ended questions:

(1) the merits of contextualisation, (2) problems arising from contextualisation, and (3) possible ways to overcome these issues.

• Results: Selection of actions using the traditional approach has been a very difficult task to achieve by most of the least experienced participants (i.e., 77% for G1 and G2). 63% of the most experienced directors identify this particular task as difficult. Overall, our users' interest in contextualization and personalization (using semantics) is rooted in the hope that it will empower them to perform tasks more effectively, save time, and expose details according to their own needs and experience.

Table 1 shows that all groups of users were highly satisfied with the approach (an average rating 4.04 on a 5-point Likert scale where 1=disagree and 5=agree) and also demonstrates benefits against an approach without contextualization activated: Overall, Convenient to use and Engaging. Although all groups consider contextualization to be engaging, the less experienced is the director the more useful is the contextualization for their day to day work (G1: 4.55, G2: 4.12, G3: 3.85, G4: 3.65). Usability measures, such as easy to use, efficient to use and easy to learn, all received high ratings, particularly for the least experienced directors. The more experienced group had more difficulties navigating through the graph representation and its context. More surprisingly experienced users are more optimistic regarding the quality of the outcome (Makes no mistake), and tend to trust the system more easily (G1: 3.55, G2: 3.75, G3: 4.35, G4: 4.75). This is due to the fact that more senior users already know about the context, and therefore trust a system that is giving information they already know. Junior users are less exposed and then tend to be more cautious about the outcome.

Experimental Results: System Evaluation

The system is tested on: 16 Intel(R) Xeon(R) CPU E5-2680, 2.80GHz cores, 32GB RAM.

On Markup

The markup functionality requires to have a classification model ready to be used for important terms identification. Classification is performed off-line with an average computation time of 65 seconds for 1, 200 actions and 5 classes. Once the model is computed the identification of terms is done action by action, which takes on average 18 seconds. The latter is also computed off-line for scalability reasons.

On Semantic Embedding There are 1,200 actions to be recommended for contracts and 3,000 QADs (end users) in Accenture. On average an action would require about 15 calls for semantic embedding, which costs up to 500 ms. Since the set of actions is relatively static, we performed semantic embedding and cache the embedding results for all actions. We do the same on all user profiles. When a given user sees a particular action, the semantic embedding is a union of both results. We only consider embedding concepts over the graph up to a certain number of hops (currently two) away from the key terms' concepts.

Interacting with Contextualization

Contextualization G1 ([0-3) months) (G2) [START_REF] Huchzermeier | Project management under risk: Using the real options approach to evaluate flexibility in r d[END_REF][START_REF] Raz | Use and benefits of tools for project risk management[END_REF][START_REF] Chapman | Project risk analysis and managementpram the generic process[END_REF][START_REF] Hu | An intelligent model for software project risk prediction[END_REF] On Scoping Scoping is not resource-consuming as the processing is done locally in memory (requiring no querying). On average, a user has about 100 statements to describe the user context, while an action has generally fewer statements as the action context. Scoping on a single action's context w.r.t. the user context in most cases requires less than 15 milliseconds. Caching is possible: the combination of frequently recommended actions and most active users can be pre-computed.

Lessons Learnt

• Context Importance: Although directors are senior, they do not have necessarily all the same deep and long experience in selecting actions for mitigating risks of projects. Indeed the turnover of QAD within the company i.e., 24% is very high for such roles. The latter is one of the strongest motivation to get context for non-experienced directors, specially for projects which may be out of their industry, geography or scope.

• Context Navigation: Our focus group user study emphasizes the advantage of using semantic Web technologies for bringing contextualization and personalization to the tasks of actions selection. In particular the least experienced directors benefit the semantic context the most. Although the most experienced group also benefits from the contextualization, deeper contexts were expected in some cases for this group. More detailed context would require more information on a graph, which we limited to 11 nodes. Handling larger knowledge graphs might be challenging from a user perspective. Towards this issue we have been requested by quality assurance directors to handle graph summarization [START_REF] Gunaratna | FACES: diversity-aware entity summarization using incremental hierarchical conceptual clustering[END_REF] for capturing the essence of some information to understand actions.

• Context Display: As emphasized in Table 1, the usability of the context, and in particular the graph part of the personalization, has been questioned by the most experienced user groups. Some of the users had difficulties navigating the concepts in the graph, which emphasizes the common usability issues in knowledge representation systems [START_REF] Mcguinness | Usability issues in knowledge representation systems[END_REF]. Towards this issue it has been recommended to expose narrative-like sentences rather than tree or graph structures, which are less of use by financial experts.

• Context Trust: As mentioned in Section 4.2 context trust might be an issue for some users. Indeed they needed evidence the systems is displaying correct context, which not all users have knowledge to assess its veracity. This is true for more junior users, who tend to verify the facts. Although we integrated PROV-O for provenance, but more from a debugging perspective, it turns out that we should have communicated this information more explicitly to our users.

• Vocabulary Alignment: The OWL / RDF (concept) linking (alignment) process has been performed manually between our enterprise context and external vocabularies, but only once. However the latter needs to be replicated for each new data source or schema we might need to integrate. The automation of this process is a complex task as it required to align descriptions from very dedicated enterprise vocabularies with concepts from broad and sometimes inexpressive models such as DBpedia or wikidata.

• Markup Scalability: The Markup functionality, ensuring the detection of important terms to be contextualized, has shown some scalability, in particular for real-time processing. The identification of terms using [START_REF] Ribeiro | Explaining the predictions of any classifier[END_REF] requires complex and time-consuming similarity functions to evaluate which terms are representative in an action with respect to a give class. Given that pair-wise similarity is performed, on-time processing is limited. Therefore our current implementation does not consider incremental adds-on of new actions in the system. The task of classification needs to be re-activated each time a new action and its class are added. Senior QADs questioned about the end-to-end automation of the risk management chain i.e., from minutes meeting ingestion to real-time suggestion of new actions (when available). This is a clear limitation of our asset.

Conclusions

Daily tasks of quality assurance directors range from: evaluating the level of risk of projects, investigating its root causes, requesting support from other QADs, exploring inconsistencies and selecting relevant actions to be applied for mitigating financial risks, and limiting any revenue loss. This work addresses the problem of understanding complex and sometimes generic and broad actions together with the rational of their context. Our approach integrates enterprise and external data into a knowledge graph and interprets actions based on QADs' profiles through semantic reasoning over this enterprise KG. User studies have shown that QADs, and particularly more junior directors, could more efficiently select actions that better mitigate the risk than the existing approach.

In future work, we will consider interactive learning to facilitate the on-the-fly integration of user feedback. We also expect to expand linkage of our enterprise knowledge graph with more LOD entities.

Fig. 1 .

 1 Fig. 1. The Architecture

Finally, scoping

  reduces Action 1 context to the following: john.doe, hasSupervisor, jane.roe , M anagementLevelReview, a, AccentureP rojectReview .

Fig. 2 .

 2 Fig. 2. fig:IRM-Action fig:IRM IRM -Intelligent Risk Management -Asset. 1 : Project(represented as a yellow circle) selected (the larger the bubble the greater the target revenue). 2 : Risk scale of the project (the higher the circle / project the riskier). 3 : Summary of project details with expected revenue and risk tier. 4 : Functionality for explaining risk tier prediction. 5 : Functionality for recommending additional QADs for this particular project. 6 : Functionality for recommending actions to QAD. 7 : Functionality for explaining the context of actions to QAD (focus of the paper). 8 : Functionality for flagging inconsistencies in projects (color print).

Fig. 3 .

 3 Fig. 3. "Action in Context" Functionality of IRM Asset. 1 : List of recommended actions. 2 : Categories of actions. 3 : Action: "Adjust Time and Material for Delivery Center in Chicago" selected by QAD. 4 : Breakdown of terms uplifted by our semantic embedding approach. 5 : Contextualization of term: "Time and Material". 6 : Contextualization of term: "Delivery Centre in Chicago". 7 : Knowledge context of city Chicago captured from external sources: SKOS concept, DBpedia city, wikidata Q515. 8 : Knowledge context of person Keith S. captured from internal enterprise knowledge graph: Work Force Career Level Managing Director, Delegates. (color print).

Fig. 4 .

 4 Fig. 4. Semantics-driven Representation of Context for Complex Terms of Action: "Adjust Time and Material for Delivery Centre in Chicago".

  Example 3 (Semantic Embedding of Actions). Consider the actions in Example 2. Semantic embedding matches key terms with these entities: Additional concepts within certain distances of the key terms in the KG are also obtained, which result in more statements. Some sample statements are given below, where entities are denoted by local names instead of URIs for readability (the Accenture name spaces are omitted).

	Action 1: http://accenture.com/people/irm#john.doe
	http://accenture.com/irm#ManagementLevelReview
	Action 2: http://accenture.com/irm#TimeAndMaterial
	http://accenture.com/irm#DeliveryCenterChicago.

Action 1 has part of its context being: john.doe, gender, male , john.doe, hireDate, "2009.04.19" , john.doe, hasSkill, M DM , M DM, a, SAP Skills , john.doe, hasSupervisor, jane.roe , M anagementLevelReview, a, AccentureP rojectReview . Action 2 has part of its context being: DeliveryCenterChicago, inCity, wikidata : Q1297 , DeliveryCenterChicago, a, DeliveryCenter , wikidata : Q1297, a, wikidata : Q515 ,

  Scoping of Actions Context).Continue the examples given in Example 3. Assume a QAD, user 1 , logs onto the system and scoping takes place by looking at the user context of user 1 , with a small part shown below: user 1 , knows, john.doe , user 1 , hasSkill, SAP N etW eaver , SAP N etW eaver, owl:sameAs, M DM .

		Input : s, p, o , Gu
		Output: true/false
	1 U C ← {s | s , p , o ∈ Gu} ∪ {o | s , p , o ∈ Gu} ;
	2 U P ← {p | s , p , o ∈ Gu}};
	3 if s ∈ U C then
	4	if o ∈ Literal then return true;
	5	if {p, o} ∩ StandardVocab = ∅ then return true;
	6	if o ∈ U C and (p ∈ U P or p ∈ StandardVocab) then return true;
	7 end
	8 if s ∈ StandardVocab then return true;
	9 return false;
		Algorithm 1: Statement Test
	Example 4 (

Table 1 .

 1 Perceived Usability Rating by Users Using a Likert Scale, where 1=Disagree, 5=Agree.

	months

https://www.w3.org/TR/prov-o/, last accessed 15 May 2017

http://www.stardog.com/

Ontology sample available: https://goo.gl/uAQOD7


Jiaoyan Chen
email: jiaoyanchen@zju.edu.cn

Freddy Lécué
email: freddy.lecue@inria.fr

Jeff Z Pan
email: jeff.z.pan@abdn.ac.uk

Huajun Chen
email: huajunsir@zju.edu.cn

Learning from Ontology Streams with Semantic Concept Drift

Data stream learning has been largely studied for extracting knowledge structures from continuous and rapid data records. In the semantic Web, data is interpreted in ontologies and its ordered sequence is represented as an ontology stream. Our work exploits the semantics of such streams to tackle the problem of concept drift i.e., unexpected changes in data distribution, causing most of models to be less accurate as time passes. To this end we revisited (i) semantic inference in the context of supervised stream learning, and (ii) models with semantic embeddings. The experiments show accurate prediction with data from Dublin and Beijing.

Introduction and Related Work

Stream learning, or the problem of extracting and predicting knowledge from temporal evolution of data, has been largely studied. Most of techniques in Database e.g., [Cheung et al., 1996], adapting Apriori [Agrawal et al., 1996] for streams, focus on syntactic representation of data to identify frequent associations and exploit them for prediction. [START_REF] Lee | [END_REF] improved its scalability by partitioning all streams using a sliding-window filtering. Approaches in Machine Learning e.g., [START_REF] Gama | Learning decision rules from data streams[END_REF] focus on learning decision rules for classifying data from streams in real-time.

Although highly scalable, most approaches have been shown to be non robust to concept drift i.e., unexpected changes in data distribution [START_REF] Coble | [END_REF]. Indeed their models, built on old data and then inconsistent with new data, are less accurate as time passes. Towards this challenge [START_REF] Chu | [END_REF] applied online active learning using customized properties of weighing, Alternatively [START_REF] Gao | [END_REF] prioritized recent data during the elaboration of the learning model through regular updates, assuming temporally adjacent data is the most representative information for prediction. [START_REF] Bifet | [END_REF] went further by considering dynamic sliding windows. More details are presented in [START_REF] Gama | [END_REF]. Although such approaches manage gradual changes, they fail in maintaining high accuracy for sudden, abrupt changes. This is mainly due to inconsistent evolution of knowledge and lack of metrics to understand the semantics of its changes and concept drifts.

Towards this issue adapt the problem in semantic Web settings. Such streams, represented as ontology streams [START_REF] Huang | Reasoning with multi-version ontologies: A temporal logic approach[END_REF]Ren and Pan, 2011], are evolutive versions of ontologies where OWL (Web Ontology Language), which is underpinned by Description Logics (DL) [START_REF] Baader | [END_REF], is used as a rich description language. From knowledge materialization [START_REF] Beck | [END_REF][START_REF] Galárraga | [END_REF][START_REF] Ren | [END_REF], to predictive reasoning [START_REF] Lecue | Freddy Lecue and Jeff Pan. Predicting Knowledge in An Ontology Stream[END_REF][START_REF] Lécué | Freddy Lécué. Scalable maintenance of knowledge discovery in an ontology stream[END_REF], all are inferences where dynamics, semantics of data are exploited for deriving a priori knowledge from pre-established (certain) statements. However concept drift is not handled, which limits accuracy of prediction for highly changing streams.

Our approach, exploiting the semantics of data streams, tackles the problem of learning and prediction with concept drifts. Given some continuous knowledge, how to manage its changes and their inconsistent evolution to ensure accurate prediction? Semantic reasoning and machine learning have been combined by revisiting features embeddings as semantic embeddings i.e., vectors capturing consistency and knowledge entailment in ontology streams. Such embeddings are then exploited in a context of supervised stream learning to learn models, which are robust to concept drifts i.e., sudden and inconsistent prediction changes. Our approach has been shown to be adaptable and flexible to basic learning techniques. The experiments have shown accurate prediction with live stream data from Dublin in Ireland and Beijing in China.

The next section reviews the adopted logic and ontology stream learning problem. In Section 3 we study concept drift. Section 4 presents semantic embeddings and prediction.

Background

The semantics of data is represented using an ontology. We focus on Description Logic (DL) to define ontologies since it offers reasoning support for most of its expressive families and compatibility to W3C standards e.g., OWL 2. Our work is illustrated using DL EL ++ [START_REF] Baader | [END_REF], which supports polynomial time reasoning. We review (i) DL basics of EL ++ , (ii) ontology stream, (iii) stream learning problem.

Description Logics EL ++

A signature Σ, noted (N C , N R , N I ) consists of 3 disjoint sets of (i) atomic concepts N C , (ii) atomic roles N R , and (iii) indi-viduals N I . Given a signature, the top concept , the bottom concept ⊥, an atomic concept A, an individual a, an atomic role expression r, EL ++ concept expressions C and D in C can be composed with the following constructs:

| ⊥ | A | C D | ∃r.C | {a} A DL ontology O . = T , A is composed of TBox T , ABox A.
A TBox is a set of concept, role axioms. EL ++ supports General Concept Inclusion axioms (GCIs e.g. C D), Role Inclusion axioms (RIs e.g., r s ). An ABox is a set of concept assertion axioms, e.g., C(a), role assertion axioms, e.g., R(a, b), individual in/equality axioms e.g., a = b, a = b. Example 1. (TBox and ABox Concept Assertion Axioms) Figure 1 presents (i) a TBox T where DisruptedRoad (2) denotes the concept of "roads which are adjacent to an event causing high disruption", (ii) concept assertions (11-12) with the individual r 0 having roads r 1 and r 2 as adjunct roads. All completion rules, which are used to classify EL ++ TBox T and entail subsumption, are described in [START_REF] Baader | [END_REF]. Reasoning with such rules is PTime-Complete.

Road(r 0 ) (7) Road(r 1 ) (8) Road(r 2 ) (9) Bus(b 0 ) (10) adj(r 0 , r 1 ) (11) adj(r 0 , r 2 ) (12) Long OK ⊥ (13)

Ontology Stream

We represent knowledge evolution by a dynamic, evolutive version of ontologies [START_REF] Huang | Reasoning with multi-version ontologies: A temporal logic approach[END_REF]. Data (ABox), its inferred statements (entailments) are evolving over time while its schema (TBox) remains unchanged. Definition 1. (DL L Ontology Stream) A DL L ontology stream P n m from point of time m to point of time n is a sequence of (sets of) Abox axioms

(P n m (m), P n m (m+1), • • • , P n m (n))
with respect to a static TBox T in a DL L where m, n ∈ N and m < n.

P n m (i) is a snapshot of an ontology stream P n m at time i, referring to ABox axioms. Thus a transition from P n m (i) to P n m (i+1) is seen as an ABox update. We denote by P n m [i, j] i.e., j k=i P n m (k) a windowed stream of P n m between time i and j with i ≤ j. Any window [i, j] has a fixed length. 1length windows are denoted by (i). We consider streams

P n 0 with [α] . = [i, j], [β] . = [k, l] as windows in [0, n] and i < k.
Example 2. (DL EL ++ Ontology Stream) Figure 2 illustrates EL ++ streams P n 0 , Q n 0 , R n 0 , related to events, travel time, buses, through snapshots at time i ∈ {0, 1, 2, 3} (i.e., a view on [0, 3]). In our example n is any integer greater than 5. Their dynamic knowledge is captured by evolutive ABox axioms e.g., (20) captures e 1 as "a social poetry event occurring in r 2 " at time 1 of P n 0 . By applying completion rules on static knowledge T and ontology streams P n 0 , snapshot-specific axioms are inferred.

The evolution of a stream is captured along its changes i.e., new, obsolete and invariant ABox entailments from one windowed stream to another one in Definition 2 [START_REF] Lécué | Freddy Lécué. Scalable maintenance of knowledge discovery in an ontology stream[END_REF]

G [α],[β] new . = {g ∈ G | T ∪ S n 0 [β] |= g ∧ T ∪ S n 0 [α] |= g} (14) G [α],[β] obs . = {g ∈ G | T ∪ S n 0 [β] |= g ∧ T ∪ S n 0 [α] |= g} (15) G [α],[β] inv . = {g ∈ G | T ∪ S n 0 [β] |= g ∧ T ∪ S n 0 [α] |= g} (16)
(14) reflects knowledge we gain by sliding window from [α] to [β] while ( 15) and ( 16) denote respectively lost and stable knowledge. All duplicates are supposed removed. Definition 2 provides basics, via ABox entailments [START_REF] Ren | Optimising Ontology Stream Reasoning with Truth Maintenance System[END_REF], for understanding how knowledge evolves over time.

P n 0 (0) : (Incident ∃impact.Limited)(e 3 ), occur(r 1 , e 3 ) (17) Q n 0 (0) : (Road ∃travel.OK)(r 1 ) (18) R n 0 (0) : with(r 1 , b 0 ) (19)
P n 0 (1) : (SocialEvent ∃type.P oetry)(e 1 ), occur(r 2 , e 1 ) (20)

Q n 0 (1) : (Road ∃travel.OK)(r 2 ) (21) R n 0 (1) : with(r 2 , b 0 ) (22)
P n 0 (2) : (Event ∃disruption.High)(e 2 ), occur(r 2 , e 2 ) (23) Q n 0 (2) : (Road ∃travel.Long)(r 2 ) (24) R n 0 (2) : with(r 2 , b 0 ) (25)
P n 0 (3) : (Event ∃disruption.High)(e 2 ), occur(r 2 , e 2 ) (26) Q n 0 (3) : (Road ∃travel.Long)(r 2 ) (27) R n 0 (3) : with(r 2 , b 0 ) (28) Figure 2: Ontology Streams P n 0 (i), Q n 0 (i), R n 0 (i) i∈{0,1,2,3} . Example 3. (ABox Entailment-based Stream Changes) Table 1 illustrates changes occurring from (Q ∪ R) n 0 [0, 1] to (Q ∪ R) n 0 [2, 3] through ABox entailements. For instance "r 2 as a disrupted road window [2, 3] of (Q ∪ R) n
0 is new with respect to knowledge in [0, 1]. It is entailed using DL completion rules on (4), ( 6), ( 9), ( 24), ( 25), ( 27) and (28).

Windowed Stream

(Q ∪ R) n 0 [2, 3] ∇ (Q ∪ R) n 0 [0, 1] Changes obsolete invariant new with(r2, b0) ClearedRoad(r2) DisruptedRoad(r2)

Ontology Stream Learning Problem

Definition 3 revisits classic supervised learning [Domingos and [START_REF] Domingos | Mining high-speed data streams[END_REF] for ontology stream as the problem of predicting knowledge (through entailment) in a future snapshot. Definition 3. (Ontology Stream Learning Problem) Let S n 0 be a stream; T , A be respectively TBox, ABox; g ∈ G be an ABox entailment. An Ontology Stream Learning Problem, noted OSLP S n 0 , k, T , A, g , is the problem of estimating whether g can be entailed from T and A at time k ∈ (0, n] of stream S n 0 , given knowledge at time t < k of S n 0 . This estimation is denoted as p |T ∪A (S n 0 (k) |= g) with values in [0, 1] and k ≥ 1. g is a class assertion entailment in the form of G(a), with G a concept expression and a an individual. The estimation, adapted from [Gao et al., ], can be elaborated using knowledge from previous snapshots of S k 0 :

p |T ∪A (S n 0 (k) |= g) . = p |T ∪A (S k-1 0 |= g) p |T ∪A (a ∈ S k-1 0 ) (29) Estimation p |T ∪A (S k-1 0 |= g) is the proportion of snapshots in S k-1 0 entailing g. The conditional probability of a in S k-1 0 (noted a ∈ S k-1 0 ) given S k-1 0 entailing g, or G(a), is 1. Example 4. (Ontology Stream Learning Problem)
The problem of estimating whether class assertion g, defined as DisruptedRoad(r 2 ), can be entailed from T and A at time 4 of (Q∪R) n 0 is defined as OSLP (Q∪R) n 0 , 4, T , A, g . The estimation can be retrieved using (29

) hence p |T ∪A ((Q∪ R) n 0 (4) |= DisruptedRoad(r 2 )) . = 2 /3.

Concept Drift in An Ontology Stream

We introduce semantic concept drift, as a basis for qualifying, quantifying sudden and abrupt changes in an ontology stream.

Semantic Concept Drift

Definition 7 revisits concept drift [START_REF] Gao | [END_REF] for ontology streams as prediction changes (Definition 4) in ABox entailment, which are sudden and abrupt (Definitions 5, 6). Definition 4. (Prediction Change) Let S n 0 be a stream; T , A and G be TBox, Abox and its entailments. A prediction change in S n 0 is ocuring between time i and j in [0, n] with respect to T , A and its entailments iff:

∃g ∈ G : p |T ∪A (S n 0 (i) |= g) -p |T ∪A (S n 0 (j) |= g) ≥ ε (30)
where ε ∈ (0, 1] is a variable bounding the difference of estimation, v refers to the absolute value of v, and j > i ABox entailment g is called an evidence entailment of the prediction change. We denote by C |T ∪A (S n 0 , i, j, ε), the set of all evidence entailments of the prediction change with an ε difference between time i and j of ontology stream S n 0 . Example 5. (Prediction Change) g . = DisruptedRoad(r 2 ) can be entailed from T and A at time 2 of (Q ∪ R) n 0 with a zero probability following (29). Therefore a prediction change between times 2 and 4 (cf. Example 4) is captured with

g ∈ C |T ∪A ((Q ∪ R) n 0 , 2, 4, 1 /3). Definition 5. (α-Sudden Prediction Change) A prediction change at point of time i in stream S n 0 , satisfying (30), is defined as α-sudden, with α ∈ (0, n-i] iff j = i + α. Definition 6. (Abrupt Prediction Change) A prediction change, satisfying (30), is abrupt iff ∃g ∈ G s.t. T ∪ A ∪ g ∪ g max{i,j} k=0 S n 0 (k) |= ⊥ (31)
where max{i,j} k=0

S n 0 (k) captures all axioms from any snapshot S n 0 (k) of stream S n 0 with k ∈ [0, max{i, j}]. Suddenness characterises the proximity of prediction changes in streams i.e., the lower α the closer the changes. Abruptness captures disruptive changes from a semantic perspective i.e., conflicting knowledge among snapshots S n 0 (i), S n 0 (j) with respect to background knowledge T ∪ A.

Definition 7. (Semantic Concept Drift) A semantic concept drift in S n 0 , is defined as a 1-sudden and abrupt prediction change.

Evaluating if a concept drift occurs for a snapshot update is in worst case polynomial time with respect to acyclic TBoxes and S n 0 in EL ++ since subsumption and satisfiability in ( 30), (31) can be checked in polynomial time [START_REF] Baader | [END_REF].

Example 6. (Semantic Concept Drift) Two prediction changes from time i = 2 to 3 and 3 to 4 (cf. Table 2) have occurred for g . = DisruptedRoad(r 2 ) in (Q ∪ R) n 0 . They are semantic concept drifts as they are 1-sudden and abrupt with g .

= ClearedRoad(r 2 ) in (Q ∪ R) n 0 (1). Prediction Prediction Change Past Points Time p|T ∪A g ∈ C|T ∪A Abrupt- of Time i ((Q ∪ R) n 0 (i) |= g) ((Q ∪ R) n 0 , i, i+1, 1 /3) ness {0} 1 0 {0, 1} 2 0 {0, 1, 2} 3 1 /2 {0, 1, 2, 3} 4 2 /3 N/A N/A Table 2: Prediction Changes in (Q ∪ R) n 0 (g . = Disrupted(r2)).

Significance of Concept Drift

Significance of semantic concept drift (Definition 8) is an indicator on its severity. It captures the homogeneity of the concept drift across ABox entailments as the proportion of ABox entailments from S n 0 (i) and S n 0 (i+1) causing semantic concept drift. The values of significance range in [0, 1].

Definition 8. (Semantic Concept Drift Significance)

The significance of a semantic concept drift, defined between points of time i ∈ (0, n) and i+1 of S n 0 with ε, T , A, G as difference, TBox, ABox, and entailments, is σ |T ∪A (S n 0 , i, ε):

|C |T ∪A (S n 0 , i, i+1, ε)| |{g ∈ G | T ∪ S n 0 (i) |= g ∨ T ∪ S n 0 (i+1) |= g }| (32)
where the expression in between | refers to its cardinality.

Evaluating (32) is in worst case polynomial time cf. complexity of Definition 7.

Example 7. (Semantic Concept Drift Significance) By applying (32) on concept drifts of Table 2 we derive that σ |T ∪A ((Q∪R) n 0 , 2, 1 /3) is 4 /7 while σ |T ∪A ((Q∪R) n 0 , 3, 1 /3) is 0, hence a more significant drift between times 2, 3 than 3, 4. In other words conflicting facts g . = DisruptedRoad(r 2 ) and g . = ClearedRoad(r 2 ) w.r.t. T and A have the most significant impact on prediction changes at times 2 and 3.

Lemma 1. (Semantic Concept Drift Evolution)

A semantic concept drift in any ontology stream S n 0 is more significant at time i > 0 than at time

i+1 if |G [0,i],[0,i+1] new | = 0. Proof. (Sketch) Since |G [0,i],[0,i+1] new | = 0, S n
0 (i) and S n 0 (i+1) are similar w.r.t |= T ∪A . Thus, the set of all entailments, predicted at i+1 and i+2 from (29), are similar but with different prediction values (30) ∀ε ≥ 0. So σ |T ∪A (S n 0 , i, ε) and σ |T ∪A (S n 0 , i+1, ε) in ( 32) have same denominators while

C |T ∪A (S n 0 , i+1, i+2, ε) ⊆ C |T ∪A (S n 0 , i, i+1, ε) hence σ |T ∪A (S n 0 , i+1, ε) ≤ σ |T ∪A (S n 0 , i, ε).
Algorithm 1 [A1] retrieves significant concept drifts in S n 0 with minimal significance σ min .

[A1] iterates on all snapshots updates except those with no new ABox entailment (line 5 -lemma 1) for minimizing satisfiability and subsumption checking. Semantic concept drifts, as 1-sudden and abrupt prediction changes, are retrieved (line 7).

[A1] completes the process (line 9) by filtering drifts by significance σ min .

Algorithm 1: [A1]SignificantDrift O, S n 0 , ε, σmin 1 Input: (i) Axioms O : T , A, G , (ii) Ontology stream S n 0 , (iii) Lower limit ε ∈ (0, 1] of prediction difference, (iv) Minimum threshold of drift significance σmin. 2 Result: S: Significant concept drifts in S n 0 w.r.t. σmin. 3 begin 4 S ← ∅; % Init. of the Significant concept drifts set. Computing a solution with [A1] given a polynomial input n, number of axioms, entailments in O and S n 0 is in worst case polynomial time, due to the complexity of evaluating a semantic drift cf. complexity of Definition 7. However computing significant α-sudden, abrupt prediction changes following [A1] is in worst case NP w.r.t. the number snapshots.

5 foreach i ∈ (0, n] of S n 0 such that |G [0,i],[0,i+1] new | = 0 do 6 % Selection of 1-sudden, abrupt prediction changes. 7 if ∃g, g ∈ G such that: p |T ∪A (S n 0 (i) |= g)-p |T ∪A (S n 0 (i+1) |= g) ≥ ε ∧ T ∪ A ∪ S n 0 (i) ∪ S n 0 (i+1) ∪ g ∪ g |= ⊥

Ontology Stream Learning

We tackle the ontology stream learning problem by (i) computing semantic embeddings, as mathematical objects exploiting the properties of concept drifts, (ii) applying all embeddings in model-based learning approaches (Algorithm 2).

Semantic Embeddings

The semantics of streams exposes two levels of knowledge which are crucial for learning with concept drift: (i) (in-)consistency evolution of knowledge, and (ii) entailment of the forecasting target from stream assertions and axioms. They are semantic embeddings, captured as: consistency vectors (Definition 9) and entailment vector (Definition 10).

Definition 9. (Consistency Vector)

A consistency vector of snapshot S n 0 (i) in S n 0 , denoted by c i , is defined ∀j ∈ [0, n] by c ij if i < j; c ji otherwise such that:

cij . =        |G i,j inv | |G i,j new |+|G i,j inv |+|G i,j obs | if T ∪ S n 0 (i) ∪ S n 0 (j) |= ⊥ |G i,j inv | |G i,j new |+|G i,j inv |+|G i,j obs | -1 otherwise (33)
where the expressions in between | refer to its cardinality i.e., the number of new (14), obsolete (15), invariant (16) ABox entailments from S n 0 (i) to S n 0 (j). c ij = c ji ∀i, j ∈ [0, n].

A consistent vector, with values in [-1, 1] n+1 , encodes (i) (in-)consistency with (negative) positive values, and (ii) similarity of knowledge among S n 0 (i) and any other snapshot S n 0 (j) j∈[0,n] of stream S n 0 w.r.t axioms T and A. The number of invariant entailments has a positive influence on (33). On contrary, the number of new and obsolete ABox entailments, capturing some differentiators in knowledge evolution, has a negative impact. When an inconsistency occurs, the value 1 is subtracted instead of considering its additive inverse. This ensures that the invariant factor has always a positive impact.

Evaluating ( 33) is in worst case polynomial time with respect to T and S n 0 in EL ++ . Indeed its evaluation requires (i) ABox entailment, and (ii) basic set theory operations from Definition 2, both in polynomial time [START_REF] Baader | [END_REF]. Example 8. (Consistency Vector) Consistency vector c 3 i.e., (c 03 , c 13 , c 23 , c 33 ) of (Q ∪ R) n 0 (3) is (0, -0.8, 1, 1). Knowledge at time 3 is consistent / inconsistent / similar with knowledge at times 0 / 1 / 2 and 3.

An entailment vector (Definition 10) is adapting the concept of feature vector [START_REF] Bishop | [END_REF] in Machine Learning to represent the (non-)presence of all ABox entailments (using |= w.r.t. T , A) in a given snapshot. Each dimension captures whether a particular ABox entailment is in (1) or not (0). Definition 10. (Entailment Vector) Let G .

= {g 1 , . . . , g m } be all distinct ABox entailments in S n 0 . An entailment vector of a snapshot S n 0 (i) in S n 0 , denoted by e i , is a vector of dimension m such that ∀j ∈ [0, m]

eij . = 1 if T ∪ A ∪ S n 0 (i) |= gj, 0 otherwise (34)
Remark 1. (Feature vs. Entailment Vector) Feature vectors are bounded to only raw data while entailment vectors, with much larger dimensions, embed both data and its inferred assertions from T and DL completion rules. The latter ensures a larger and more contextual coverage.

Semantic Prediction

Algorithm 2 [A2] aims at learning a model (line 12) over N ≤ n+1 snapshots of S n 0 , noted S n 0 | κ , for prediction at n+1. κ refers to the proportion of snapshots with concept drift used for modelling. S n 0 | κ is selected to capture (i) S n 0 (n) i.e., the closest (temporally) to S n 0 (n+1) (line 4), (ii) knowledge in the most (lines 8-9) significant concept drifts (Definition 8line 5), (iii) any other snapshots to meet N (line 11).

The model is trained, following Stochastic Gradient Descent method [Zhang, 2004], using samples of the form {(e i , g i ) | i ∈ {1, . . . , N}} where e i is the entailment vector for S n 0 (i) and v(g i ) is the target variable in [0, 1], capturing the estimation of g i to be entailed. The model is represented by a linear scoring function f (e i ) = a T e i + b with model parameters a ∈ R N and b ∈ R. The goal of learning is to minimize the following objective function O j :

O j (a, b) . = κ i=1 ω ij L(v(g i ), f (e i )) + αR(a), (35)
where L represents the loss function (e.g., hinge and log). R and α control the variance of the model in case of over fitting. R is a regularization term and α > 0 is a non-negative hyperparameter. Each sample (e i , g i ) in ( 35) is weighted by ω ij in (36) (resp. ( 37)) for filtering out consistent (resp. inconsistent) historical snapshots w.r.t. (33).

ωij . = 0, if cij > 0 -cij else, ( 36
) ωij . = 0, if cij < 0 cij else, ( 37
) Algorithm 2: [A2]PredictionModel O, S n 0 , ε, σmin, κ, N 1 Input: (i) Axioms O : T , A, G , (ii) Stream S n 0 , (iii) Lower limit ε ∈ (0,
(i) min (a,b)∈R N ×R N i=1 ωijL(v(gi), f (ei)) + αR(a) (ii) f (ei) = a T ei + b return f ;
[A1-2] parameterized with low ε, σ min , high κ and (36) as weight (line 12 (i)) favours models with significant concept drifts for prediction, which supports diversity and prediction changes in the model. Parameterized with high ε, σ min , low κ and (37) as weight, it will capture more consistent models.

The linear scoring function f in (35) has the following advantages compared to more complex structures such as artificial neural network: (i) better handling over-fitting with reduced sample size -due to filtering of snapshots not involved in significant concept drifts (lines 8-9 in [A2]), (ii) ensuring efficient, scalable learning and prediction for online contexts.

Experimental Results

We report accuracy by (i) studying the impact of [A2] and semantic embeddings on concept drift for Dublin-Ireland, Beijing-China applications, and (ii) comparing its results with state-of-the-art approaches. The system is tested on: 16 Intel(R) Xeon(R) CPU E5-2680, 2.80GHz cores, 32GB RAM.

• Beijing Air Quality (BAQ) Context: BAQ index, ranging from Good (value 5), Moderate (4), Unhealthy (3), Very Unhealthy (2) to Hazardous (1), can be forecasted using data streams of B 1 : air pollutants and meteorology elements B 2 : wind speed, B 3 : humidity observed in 12 sites. The context variation, characterising a concept drift problem, makes BAQ index difficult to be forecasted. The semantics of context is based on a DL ALC ontology, including 48 concepts, 13 roles, 598 axioms. An average of 6, 500 RDF triples are generated at each update (i.e., every 600 seconds) for the streams.

• Dublin Bus Delay (DBD) Context: DBD, classified as Free (value 5), Low (4), Moderate (3), Heavy (2), Stopped (1) can be forecasted using reputable live stream contextual data (Table 3) related to D 1 : bus GPS location, delay, congestion status, D 2 : weather conditions, D 3 : road incidents. However bus delay is subject to major changes due the high degree of context variation. The latter, responsible for the concept drift problem, impacts accuracy the most. We consider an extended settings by enriching data using a DL EL ++ domain ontology (55 concepts, 19 roles and 25, 456 axioms). [A1-2] is evaluated with 3 variances of (ε, σ min , κ): (i) consistent model with (.9, .9, .1), (ii) mixed model with (.5, .5, .5), (iii) inconsistent model with (.1, .1, .9). N = 1, 500. Figure 4 (resp. 5) reports that prediction with consistent (resp. inconsistent) samples outperforms models with inconsistent (resp. consistent) samples by about 318% (resp. 456%) and 254% (resp. 322%) in respectively Beijing and Dublin for LCD (resp. HCD). These results confirm the importance of semantic encoding, which support the encoding of concept drift and consistency properties in our approach. Consistent Model (ε = .9, σ_min = .9, 𝜅 = .1) Mixed Model (ε = .5, σ_min = .5, 𝜅 = .5) Inconsistent Model (ε = .1, σ_min = .1, 𝜅 = .9)

Beijing Dublin Consistent Model (ε = .9, σ_min = .9, 𝜅 = .1) Mixed Model (ε = .5, σ_min = .5, 𝜅 = .5) Inconsistent Model (ε = .1, σ_min = .1, 𝜅 = .9)

Beijing Dublin • Baseline: We compare our approach B i , D i,1≤i≤4 in Table 4 with (i) weighted Stochastic Gradient Descent (SGD), (ii) Auto-Regressive Integrated Moving Average (ARIMA), a standard time-series forecasting model [START_REF] Saboia | [END_REF], and two methods addressing concept drift: (iii) Hoeffding Adaptive Tree (HAT), (iv) Leveraging Bagging (LB) [Bifet 6 emphasises that our approach (with 3 levels of features: B 4 , D 4 ) over-performs state-of-the-art methods. The more features the more accurate. More interestingly classic learning algorithms do not generalise as well as [A1-2] in presence of semantics although SGD, HAT, LB integrate all features. [A1-2] shows to be very robust with less variance. Experiments also demonstrate that semantic (in-)consistency [START_REF] Flouris | [END_REF] matters more than recentness during learning.

• Lessons Learnt: Adding semantics to classic learning model has clearly shown the positive impact on accuracy, specially in presence of concept drifts. Our approach also demonstrates that the more semantic axioms the more robust is the model and hence the higher the accuracy. Axiom numbers are critical as they drive and control the semantics of data in streams, which improve accuracy, concept drift detection but not scalability (not reported in the paper). It is worst with more expressive DLs due to consistency checks, and with limited impact on accuracy. Lightweight semantics such as RDF-S would highly limit the scope of our model given the omission of inconsistency checking cf. Figures 45.

Conclusion

We tackled the problem of learning with concept drifts. Semantic reasoning and machine learning have been combined by revisiting features embeddings as semantic embeddings. Such embeddings are exploited in a context of supervised stream learning to learn models, which are robust to concept drifts. Our approach has been shown to be adaptable and flexible to basic learning algorithms. Besides demonstrating accurate prediction with concept drifts in Dublin and Beijing forecasting applications, experiments have shown that encoding semantics in models is a way towards outperforming state-of-the-art approaches. We will investigate the impact of semantic embeddings in other Machine Learning models.

Figure

  Figure 1: O . = T , A . Sample of TBox T and ABox A.

  Figure 3: Forecasting Accuracy vs. Drift Significance.

Figure 4 :

 4 Figure 4: Model Consistency & Forecasting Accuracy. Low Concept Drift. (15% of snapshots impacted by concept drift).

Figure 5 :

 5 Figure 5: Model Consistency & Forecasting Accuracy. High Concept Drift. (85% of snapshots impacted by concept drift).

  Baseline Comparison of Forecasting Accuracy. (∆ = 6, Approach * : Approach with all features). et al., 2010b; 2010a]. ARIMA considers one stream variable: BAQ index for Beijing and DBD for Dublin while SGD, HAT and LB use all features of B 4 , D 4 and favour recent snapshots during learning. The forecasted real value in [0, 5] is discretised back using our categories. Results with optimum parameters for [A1-2] are reported.

  Figure

  .

	Definition 2. (ABox Entailment-based Stream Changes) Let S n 0 be a stream; [α], [β] be windows in [0, n]; T be ax-ioms, G its ABox entailments. The changes occurring from S n 0 [α] to S n 0 [β], denoted by S n 0 [β]∇S n 0 [α], are ABox entail-ments in G being new (14), obsolete (15), invariant (16).

Table 1 :

 1 ABox Entailment-based Stream Changes.

  1], (iv) Minimum drift significance σmin, (v) Proportion κ of snapshots with concept drift used for modelling, (vi) Number of snapshots N. 2 Result: f : Model for prediction at time n+1 of S n 0 .

	3 begin
	4	S n 0 |κ ← {n}; % Initial snapshots' set for learning model.
	5	% Computation of the most significant drifts w.r.t. ε, σmin.
	6	S ← SignificantDrift O, S n 0 , ε, σmin ;
	7 8 9	% Selection of κ /N snapshots involved in concept drifts S. foreach i ∈ [0, n] s.t. (i, i+1) ∈ S ∧ |S n 0 |κ| < κ /N do S n 0 |κ ← S n 0 |κ ∪ {i};
	10 11	% Expand |S n 0 |κ| with snapshots not involved in S. add 1-κ /N point(s) of time i to S n 0 |κ s.t. (i, i+1) / ∈ S;
	13

12

% Learning model f using (35) with weight (36) or (37) .

Table 3 :

 3 Datasets Details of Dublin Bus Delay Context. Table4emphasises an extra accuracy gain when increasing the number of features i.e., average gain of 68.5% accuracy from 1 to 3 features.• Concept Drift is characterised by 48% and 51% of stream updates in respectively BAQ and DBD. We focus on 4 levels of concept drifts, ranging from a .2 to .8 significance ∀∆ ∈ {6, 12, 18}. Level 0 does not capture any change.

	• Validation: Accuracy is measured by comparing predic-
	tions with real-world observations in cities.
	• Semantic Impact: Table 4 reports the positive impact of
	using semantic embeddings (cf. columns with ) on all fore-
	casting tasks, with an average improvement of 26.6%. The
	embeddings naturally identify semantically (dis-)similar con-
	texts by capturing temporal (in-)consistency(ies). Thus, they
	help in building discriminating models, even for long-term-
	ahead forecasting as shown for ∆ = 18-hours with a 33.1%
	gain. The difference of results between Beijing and Dublin
	confirms the importance of semantic expressivity i.e., 40+
	times more axioms with a 71.5% gain of accuracy for Dublin.
	Computing semantic embedding (i.e., consistent vector / en-
	tailment vector) is on average 2.95s / 1.01s and 1.82 / 0.65s
	in respectively Dublin and Beijing contexts.
				.
	City ID : F eatures	∆=6 hours	∆=12 hours	∆=18 hours
	Beijing	B1 : B1 B2 : B1 + B2 B3 : B1 + B3 B4 : B1 + B2 + B3	.351 .398 .421 .501	.398 .449 .508 .611	.344 .350 .373 .389	.441 .453 .459 .478	.261 .279 .282 .286	.342 .371 .379 .393
	Average Improvement (%)	17.206	25.890	33.954
	Dublin	D1 : D1 D2 : D1 + D2 D3 : D1 + D3	.455 .534 .601	.514 .688 .701	.387 .499 .513	.441 .553 .645	.321 .361 .371	.387 .497 .547
		D4 : D1 + D2 + D3	.659	.921	.533	.834	.601	.745
	Average Improvement (%)	24.550	26.744	32.408
	Table 4: Forecasting Accuracy of [A1] with ( ) and without ()
	Semantic Embeddings in Beijing and Dublin Contexts.
								Fig-
	ure 3 reports the proportion of severity levels in concept drift
	for BAQ and DBD e.g., 7% are level-.4 for BAQ while 19%
	are level-.8 for DBD. Although accuracy clearly declined by
	increasing the severity level e.g., from 96% (level-.2) to 21%
	(level-.8) in DBD, semantic embeddings has shown to signif-
	icantly boost accuracy. More interestingly the more severity
	the higher improvement i.e., (average) 36% to 56% on level-

• Feature Impact: .4 to .8. Thus integrating semantics is a way forward to build machine learning models which are robust to changes, potential erroneous sensor data and concept drifts.

Acknowledgments

This work is funded by the Alibaba-ZJU joint project on e-Business Knowledge Graph, NSFC 61473260/61673338/61672393 and the EU Marie Curie IAPP K-Drive project (286348).