Nadia Clairet
email: clairet@lirmm.fr

Mathieu Lafourcade
email: mathieu.lafourcade@lirmm.fr

Towards the automatic detection of nutritional incompatibilities based on recipe titles

The present paper reports experimental work on the automatic detection of nutritional incompatibilities of cooking recipes based on their titles. Such incompatibilities viewed as medical or cultural issues became a major concern in western societies. The gastronomy language represents an important challenge because of its elusiveness, its metaphors, and sometimes its catchy style. The recipe title processing brings together the analysis of short and domain-specific texts. We tackle these issues by building our algorithm on the basis of a common knowledge lexical semantic network. The experiment is reproducible. It uses freely available resources.

Introduction

The analysis of cooking recipes is a very challenging task when it comes to automatically detect the compatibility of a dish with a diet. Indeed, performing such detection given the dish title as it can be found in a restaurant menu implies solving the following issues:

-short text analysis : how to overcome the context scarcity? -domain specific text analysis : how to select the relevant information for the processing? -qualified output structure : how to reflect the shades of the nutritional incompatibility as it may be strict or calibrated (forbidden, undesirable, small quantity authorized, fully authorized ingredients)?

We shall tackle these issues by immersing domain specific knowledge into a large general knowledge lexical semantic network, then by building our algorithm on top of it. In terms of structure, the network we use is a directed graph where nodes may represent simple or compound terms, linguistic information, phrasal expressions, and sense refinements 1 . The arcs of the graph are directed, weighted, and typed according to the ontological, semantic, lexical associations between the nodes. They also may be semantically annotated (e.g. malignant tumor characteristic/f requent ----------------→ poor prognosis) which is useful for working with domain specific expert knowledge. During the traversal (interpretation) of the graph, the nodes and the arcs are referred to as respectively terms and relationships. Thus, in our discourse, a relationship is a quadruplet R = {term source , type, weight, term target }. The weight can be understood as an association force of the relationship between two terms of the network. The aim of the present graph browsing experience is to obtain probabilistic incompatibility scores given a list of raw recipe titles and a lexical semantic network (directed, weighted, and typed graph). The paper will be structured as follows. First, we will evoke main state-of-the-art achievements related to short text analysis, cooking recipe analysis, and specific applications for the nutrition domain. Second, we will introduce our experimental setup. Third, we will describe our method. Finally, we will present and discuss the output of our system and sketch some possible evolutions and applications of the method.

State of the Art

Recipe titles can be viewed as short texts on a particular domain. In terms of semantic information required for the analysis and methodology, the processing of recipe titles can be considered as a possible specialization of some general method for short text analysis. Two approaches to short text processing will be highlighted in this section: knowledge based distributional method and logic based distributional method. The methods proposed for the analysis of domain specific texts (cooking recipes) are also relevant as they point out the selection of relevant information for domain specific text analysis. We will detail the main approaches to the analysis of cooking recipes and conclude this section by discussing the domain specific systems and the way the cooking recipes can be represented in order to facilitate their semantic processing. An interesting example of a knowledge-based method for the short text analysis is the method developed by [START_REF] Hua | Short text understanding through lexical-semantic analysis[END_REF] in the framework of the Probase 2 lexical semantic network. As a knowledge resource, Probase is positioned as a graph database helping to better understand human communication and resolve ambiguities related to the human common sense knowledge. The Probase-based tools allow obtaining a concept distribution based on different scoring functions (conditional probability distribution 3 , point-wise 1 Unlike the dictionary sense, the sense refinement reflects the typical use of a term, its sense activated by a particular context 2 https://www.microsoft.com/en-us/research/project/probase/ 3 Conditional probability distribution of two discrete variables (words)

P (A|B) = P (A) ∩ (B) P (B)
mutual information 4 etc.). In terms of relationship type representation, the publicly available Probase release only provides the is-a relationship data mined from billions of web pages. In the recent years, the research experiments using Probase has been focusing on segmentation, concept mapping, and sense disambiguation. As part of this work, [START_REF] Hua | Short text understanding through lexical-semantic analysis[END_REF] introduced a method for short text analysis that has been tested for analyzing queries. Prior to the analysis of short texts, the authors acquire knowledge from web corpus, Probase network as well as a verb and adjective dictionary It is stored as a set of resources such as co-occurrence network, is-a network, concept clusters, vocabularies etc. They solve the segmentation task by introducing a multi-fold heuristic for simple and multi-word term detection. It takes into account the presence of is-a and co-occurrence relationships between the candidate terms. Then, the terms are typed according to different categories : part of speech, concept/entity distinction etc. Finally, the disambiguation is done using the weighted vote (conceptual connections of the candidate term considering the "vote of context"). This method seems to be relevant for queries, however it would be difficult to apply it for the analysis of recipe titles and the detection of nutritional incompatibilities. The main difficulty comes from the fact that it is concept driven. Indeed, for a term such as "creme brulee", we obtain the concept distribution scores shown in the types (is-a; gloss or relatedness), these examples bring very few information about the composition and the semantic environment (that needs considering relationship types expressing part-whole, location, instrument, sensory characteristic relationships) of the recipes and one can hardly qualify some of the returned scores (e.g. off beat flavor) in order to approximate the underlying relationship type. An improvement of the knowledge based distributional method could be made using an additional semantic resource containing a rich part-whole semantics5 such as WordNet [START_REF]WordNet An Electronic Lexical Database[END_REF]. This type of resource could be used as a reference for a part-whole relationship discovery from large web corpus.

There has been a number of proposals in the recent years and among them the semi- 4 Point-wise Mutual Information is calculated according to the formula :

P M I(x; y) = log P (x, y) P (x)P (y)
automatic approach proposed by [START_REF] Girju | Automatic discovery of part-whole relations[END_REF]. A different kind of methods for short text analysis may rely on general-purpose first order probabilistic logic as shows the approach developed by [START_REF] Beltagy | Semantic parsing using distributional semantics and probabilistic logic[END_REF]. In the framework of this hybrid method, the distributional semantics is used to represent the meaning of words. Some of the lexical and semantic relations such as synonymy and hyponymy can be predicted. The authors use them to generate an on-the-fly ontology that contains only the relevant information related to some current semantic analysis task. They argue that the first-order logic has a binary nature and thus cannot be graded. Therefore, they adopt probabilistic logic as it allows weighted first order logic formulas. The weight of the formulas corresponds to a certainty measure estimated from the distributional semantics. First, natural language sentences are mapped to a logical form (using the Boxer tool [5]6 ). Second, the ontology is built and encoded in the form of weighted inference rules describing the semantic relations (the authors mention hyponymy, synonymy, antonymy, contextonymy i.e. the relation between "hospital" and "doctor"). Third, a probabilistic logic program answering the target task is created. Such program contains the evidence set, the rule base (RB, weighted first order logical expressions), and a query. It calculates the conditional probability P (Query|Evidence, RB). This approach has been tested on the SICK7 data for the tasks of semantic textual similarity detection and textual entailment recognizing. The results showed a good performance of this method over distributional only and logic only methods. This kind of approach rather considers lexical relations (revealing some linguistic phenomena), than purely semantic (language independent, world knowledge phenomena) relations. As the knowledge based distributional method, it suffers from the difficulty to qualify the relationships as it uses mainly the co-occurrence analysis. The analysis of cooking recipes is a flourishing research area. Besides the approaches focused on flavor networks which consider cooking recipes as "bags of ingredients" with a remarkable contribution of [START_REF] Ahn | Flavor network and the principles of food pairing[END_REF], the existing approaches to the recipe analysis concentrate on recipes taken as a sequence of instructions that can be mapped to a series of actions. Numerous publications report the implementation supervised learning methods. For instance, [START_REF] Mori | A machine learning approach to recipe text processing[END_REF] use the annotated data to extract predicate-argument structures from cooking instructions in Japanese in order to represent the recipe as a work flow. The first steps of this process are words segmentation and entity type recognition. The latter is based on the following entity types: Food, Quantity, Tool, Duration, State, chefs action, and foods action. Therefore, this task is similar to the conceptualization process proposed by [START_REF] Hua | Short text understanding through lexical-semantic analysis[END_REF] in the framework of knowledge based short text analysis and discussed earlier in this section. Entity type recognition is followed by syntactic analysis that outputs a dependency tree. The final step aims at extracting predicate-argument triples from the disambiguated (through segmentation, entity type recognition, and dependency parsing) recipe text. In this approach, the semantic information that could be attached to the arcs is attached to the nodes. The node type together with the syntactic markers (i.e. case marker) helps determining the nature of the predicate argument relation. This method yields modest results and could be improved by using more annotations and also by adopting a more versatile graph structure (i.e. a structure with typed arcs). [START_REF] Kiddon | Mise en place: Unsupervised interpretation of instructional recipes[END_REF] proposed a similar approach as part of an unsupervised technique for mapping recipe instructions to actions based on a hard Expectation Maximization algorithm and a restricted set of verb argument types (location, object).

In the paradigm of semantic role labeling, the approach of [START_REF] Malmaud | Cooking with semantics[END_REF] use a Markov decision process where ingredients and utensils are propagated over the temporal order of instructions and where the context information is stored in a latent vector which disambiguates and augments the instruction statement under analysis. In this approach, the context information corresponds to the state of the kitchen and integrates the changes of this state according to the evolving recipe instructions. The changes are only partially observed (the authors assume that some instruction details may be omitted in the recipe text) and the resulting model is object-oriented. Each world state corresponds to a set of objects (i.e.ingredients, containers) along with predicates (quantity, location, and condition) of each object. Each action of the process is represented by a verb with its various arguments (semantic roles). Such representation indicates how to transform the state. The model also uses a simple cooking simulator able to produce a new state from a stream of low-level instructions to reflect the world dynamics model p(State t |State t-1 , Action t ).

In the case based reasoning paradigm, [START_REF] Dufour-Lussier | Semi-automatic annotation process for procedural texts: An application on cooking recipes[END_REF] represent the cooking instructions as a workflow and thus propose a method for the automatic acquisition of a rich case representation of cooking recipes for process-oriented case-based reasoning from free recipe text. The cooking process is represented using the Allen [START_REF] Allen | An interval-based representation of temporal knowledge[END_REF] algebra extended with relations over interval durations. After applying classical NLP tools for segmentation, part-of speech tagging, syntactic analysis, the extraction process from texts focuses on the anaphora resolution and verb argument analysis. The actions are modeled on the basis of the instructional text without considering the implicit information proper to the cooking recipes. The underlying knowledge resource is the case-based reasoning system Taaable [START_REF] Cordier | Taaable: a Case-Based System for personalized Cooking[END_REF].

Despite the variety of their theoretical background, the existing methods of cuisine texts analysis converge on the necessity to have a richer context around the terms present in the input text. Such context can be obtained using the following approaches:

-specific meta-language such as MILK 8 , proposed as a part of the SOUR CREAM project [START_REF] Tasse | Sour cream:toward semantic processing of recipes[END_REF], SIMMR [START_REF] Jermsurawong | Predicting the structure of cooking recipes[END_REF] 9 . SOUR CREAM stands for "System to Organize and Understand Recipes, Capacitating Relatively Exciting Applications Meanwhile". MILK has been proposed as a machine-readable target language to create sets of instructions that represent the actions demanded by the recipe statements. It is is based on first-order logic, but allows handling the temporal order as well as creation/deletion of ingredients. A small corpus of 250 recipes has been manually annotated using MILK (CURD (Carnegie Mellon University Recipe Database)). Similarly, SIMMR [START_REF] Jermsurawong | Predicting the structure of cooking recipes[END_REF] allows to represent a recipe as a dependency tree. The leaves of the tree are the recipe ingredients and its internal nodes are the recipe instructions. Such representation supports semantic parsing. MILK tags have been used to construct the SIMMR trees. The authors also propose a parser to generate SIMMR trees from the raw recipe text. Machine learning methods (SVM classification) have then been used for instruction-ingredient linking, instruction-instruction linking using SIMMR; -dynamic structures such as latent vector used by [START_REF] Malmaud | Cooking with semantics[END_REF] and described earlier in this section; -graph-shaped resources (ontologies, semantic networks) and their use by projection on the text under scope (as described earlier in this section) .

Among the projects centered on building specific resources and applications for the food and nutrition domain, the PIPS10 project and the OASIS 11 project appeared as pioneering large-scale European ventures dedicated to the promotion of healthy food practices and to the building of counseling systems for the nutrition field. The PIPS project proposed a food ontology for the diabetes control whereas the OASIS project focused on nutritional practices of elderly people. Later on, some work has been centered on menu generation considered as a multi-level optimization issue (MenuGene [START_REF] Pinter | Personalized Nutrition Counseling Expert System[END_REF]) 12 . Other authors introduced the proposal of alternative menus (Semanticook [START_REF] Akkoc | Semanticook: A Web Application for Nutrition Consultancy for Diabetics[END_REF]).

The case-based reasoning Taaable [START_REF] Cordier | Taaable: a Case-Based System for personalized Cooking[END_REF] 13 system evolved in the same direction and has been provided with nutritional values as well as nutritional restrictions and geographical features related to the recipes stored in the case base. However, in this paradigm, a formal representation of recipes in terms of semantic properties (directed acyclic graph) is mandatory. The Taaable knowledge repository and the formal framework of this system allow the representation of incompatibilities based on nutritional values and the subsumption relation i.e. alcohol free, cholesterol free, gluten free, gout, vegan, vegetarian, nut free.

We briefly introduced the main approaches capable of handling recipe title analysis. Nevertheless, to our knowledge, there has been no proposals of a system designed for recipes or recipe titles analysis in order to determine nutritional incompatibilities against a list of diets (medical or cultural). In the next section, we will propose this kind of system based on a general knowledge lexical semantic network.

3 Experimental setup

Problem statement

The problem can be stated as follows: how to detect nutritional restrictions from raw data using a background knowledge resource (lexical semantic network), rank the obtained incompatibility scores, and maximize the confidence about the scores. We leave the last point for future work.

Nutritional incompatibility representation

For our experiment, we use the recipe representation shared by the recipe content owners and available at schema.org 14 . In the scope of technical and semantic interoperability, we focus on the property suitableForDiet which concerns the concept Recipe and, subsequently the type RestrictableDiet and its instances defined as follows: Diabet-icDiet, GlutenFreeDiet, HalalDiet, HinduDiet, KosherDiet , LowCalorieDiet, LowFat-Diet, LowLactoseDiet, LowSaltDiet, VeganDiet, VegetarianDiet. Thus, our results may be easily encoded in the widely shared format in order to enhance the existing recipe representation. For these diets, we automatically extracted and manually validated an initial set of approximately 200 forbidden ingredients. We used domain-specific resources (lists of ingredients) found on the Web for this step. These ingredients (if not already present in our graph-based knowledge resource) have been encoded as nodes and linked to the nodes representing the diets listed above by the arcs typed r incompatible.

The nutritional restrictions differ in terms of their semantic structure (which may rely on nutritional composition (part-whole relation), cutting types (holonymy etc.), cooking state (i.e. boiled carrots are undesirable in case of diabetes). Basically, the incompatibility detection is a non linear classification problem as one recipe may be incompatible with several diets and with a different "degree" of incompatibility. Therefore, it needs a qualifying approach as in some cases (i.e. diabetes, low salt) a food may be not strictly forbidden but rather taken with caution.

Corpus

For our experiment we used a set of 5 000 recipe titles in French, which corresponds to a corpus 15 . of 19 000 words and a vocabulary of 2 900 terms (after removing stop words and irrelevant expressions such as "tarte tatin à ma fac ¸on", tarte tatin my way). This data mirrors the French urban culinary tradition as well as the established practice of searching the Web for recipes. The most important terms (and their number of occurrences in the corpus) are salade salad (157); tarte, poulet tart, chicken (124); soupe soup (112); facile easy (93); chocolat chocolate (89); saumon, gâteau salmon, pastry (87); légume, confiture vegetable, jam (86). These occurrences highlight the terms for which we need to have more details in our knowledge resource to perform the analysis.

Knowledge resource

Why using a large general knowledge resource? The data scarcity proper to the recipe titles is an important obstacle to their processing. If we focus on a plain cooccurrence analysis and compare our corpus to the list of forbidden ingredients, we only obtain 998 straightforward incompatibilities i.e. for which the forbidden ingredient is part of the recipe title and no specific analysis is needed to detect it. Distributional scores used by [START_REF] Hua | Short text understanding through lexical-semantic analysis[END_REF] and [START_REF] Beltagy | Semantic parsing using distributional semantics and probabilistic logic[END_REF] may be interesting in terms of flavor associations, but they also demonstrate that we need to know more about the most likely semantic neighborhood of the term to handle the part-whole semantics and incompatibility analysis. 14 schema.org/Recipe 15 The corpus has been collected from the following Web resources : 15% www.cuisineaz.

fr, 20% www.cuisinelibre.org et 65% www.allrecipe.fr

Enhancing the knowledge resource for the analysis The semantic resource we use for the experiments is the RezoJDM lexical semantic network for French 16 . This resource stems from the game with a purpose AI project JeuxDeMots [START_REF] Lafourcade | Making people play for Lexical Acquisition with the JeuxDeMots prototype[END_REF]. Built and constantly improved by crowd-sourcing (games with a purpose, direct contribution), RezoJDM is a directed, typed, and weighted graph. Today it contains 1.4M nodes and 90M relations divided into more than 100 types. The structural properties of the network have been detailed in [START_REF] Lafourcade | Lexicon and semantic analysis of texts -structures, acquisition, computation and games with words[END_REF] and later in [START_REF] Chatzikyriakidis | Type Theories and Lexical Networks: Using Serious Games as the Basis for Multi-Sorted Typed Systems[END_REF], its inference and annotation mechanisms respectively by [START_REF] Zarrouk | Inference and Reconciliation in a Crowdsourced Lexical-Semantic Network[END_REF] and [START_REF] Ramadier | Indexation and learning of terms and relations from reports of radiology[END_REF]. The ever ending process of graph population17 is carried on using different techniques including games with a purpose, crowd-sourcing, mapping to other semantic and knowledge resources such as Wikipedia or BabelNet [START_REF] Navigli | BabelNet: The automatic construction, evaluation and application of a wide-coverage multilingual semantic network[END_REF]. In addition, endogenous inference mechanisms, introduced by [START_REF] Zarrouk | Inference and Reconciliation in a Crowdsourced Lexical-Semantic Network[END_REF] are also used to populate the graph. They rely on the transitivity of the is-a, hyponym, and synonym relationships and are built for handling polysemy. In addition to the hierarchical relation types (is-a relation, part-whole relations), RezoJDM contains grammatical relations (part-ofspeech), causal, thematic relations as well as relations of generativist flavor (ex. telic role). This resource is considered as a closed world i.e. every information that is not present in the graph is assumed as false. Therefore, the domain specific subgraph of the resource related to food and nutrition has been populated in order to allow cuisine text analysis.

It has been demonstrated by [START_REF] Ramadier | Indexation and learning of terms and relations from reports of radiology[END_REF] that, for the sake of precision, general and domain specific knowledge should not be separated. Thus, for our experiment we do not build any specific knowledge resource dedicated to the recipe analysis. Instead, we immerse nutrition, sensory, technical knowledge into RezoJDM to enhance the coverage of the graph. This has been done partly through the direct contribution. External resources such as domain specific lexicons and terminological resources have been used. In particular, some equivalence and synonym relation triples have been extracted from IATE 18term base 19 . The Agrovoc20 thesaurus provided only a few new terms; it contained no relevant relations. Additionally, as RezoJDM can be enhanced using crowd-sourcing methods and, in particular, games with a purpose, specific game with a purpose assignments have been given to the JeuxDeMots (contribution interface for RezoJDM) players. Today (June 2017) the domain specific subgraph corresponds to 40K terms (approximately 2.8% of the RezoJDM). The overall adaptation process took about 3 weeks.

In the framework of our experiment, we use taxonomy relations, part-whole relations, object-mater relations and, in some cases, hyponymy and characteristic relations. Running the experiment involves preprocessing steps (identifying multi-word terms, lemmatization, disambiguation using the refinement scheme [START_REF] Lafourcade | Making people play for Lexical Acquisition with the JeuxDeMots prototype[END_REF] of our resource), browsing the graph following path constraints, scoring possible incompatibilities, and finally normalizing scores. Among other approaches using a similar plot, [START_REF] Poria | Dependency-Based Semantic Parsing for Concept-Level Text Analysis[END_REF] use ConceptNet [START_REF] Liu | Conceptnet -a practical commonsense reasoning tool-kit[END_REF] network for the semantic analysis task.

Method

In this section, we shall detail the pre-processing steps, describe how we move from plain text to the graph-based representation,detail the graph browsing strategy for nutritional incompatibility detection, detail our the method evaluation and discuss the current results yielded by our system.

Pre-processing

The preprocessing step includes text segmentation which relies on the multi-word lexical entities detection, followed by stop-words removal. The multi-word term detection is done in two steps. First, the recipe titles are cut into n-grams using a dynamic-length sliding window (2 ≤ 4). Second, the segments are compared to the lexical entries present in RezoJDM which is therefore used as a dictionary. In RezoJDM, the multiword terms are related to their "parts" by the relation typed locution (or "phrase"). This relation is useful for compound terms analysis. Bi-grams and trigrams are the most frequent structures in the domain-specific subgraph as well as in RezoJDM. Indeed, they represent respectively 28% and 16% of the overall set of multi-word terms and expressions (300K units). For our experiment, we often opted for trigrams which turned out to be more informative (i.e. correspond to nodes with a higher out degree). The preprocessed text examples are given in the Table 2. We used a dump RezoJDM21 stored as a Neo4j 22 graph database. It is also possible to use special purpose API targeted at real time browsing of RezoJDM, Requeter Rezo23 .

From text to graph

Starting from a sequence w 1 , w 2 , ...w n of n terms, we build a "context" namely the lemmatized and disambiguated representation of the recipe title under scope. Such context is the entry point to our knowledge resource. A context C is a sequence of nodes (the text order is preserved) : C w1,w2,...wn = n w1 , n w2 , ...n wn where the node n wn is the most precise syntactic and semantic representation of the surface form available in our resource. To obtain such representation we search for the node corresponding to the surface form if it exists 24 . Then, we yield its refinement (usage) if the term is polysemic. The irrelevant refinements are discriminated using a list of key terms that define our domain (i.e. thematic subgraph within a French (English) 1. Carpe à la forestière (Forest style carp) 2. Carré d'agneau dans son jus (Rack of lamb in its own jus) 3. Waterzoí de lieu noir (Coley waterzooí) 4. Verrines de lentilles au saumon fumé (Lentil and smoked salmon verrines) 5. Gâteau basque à la confiture de cerises noires (Basque cake with black cherry jam) Table 2. Pre-processed recipe titles. Expressions relevant for the domain (i.e. 1,2) as well as multi-word terms (i.e. 3,4), and phrases(i.e.5) are detected, spaces are replaced by the underscore symbol to facilitate the further processing. Sometimes, two segmentations are possible for the same input: conf iture de cerises and cerises noires. In such cases, the contrast is favored: black cherry is more informative than cherry jam as as the semantics of jam is independent from the semantics of cherry or cherry jam. In our resource, semantics can be explored by looking at the outgoing semantic relationships of conf iture compared to that of conf iture de cerises or at least by looking at the out degree of the nodes corresponding to these two segments. In this particular case, the concordance between cerises and noires (both in plural) helps to consolidate the choice guided by semantics. lexical semantic network). The identification of the refinement is done through the cascade processing of relationships of a node typed refinement, domain, and meaning. The choice between several lemmas (i.e. multiple POS problem) is handled by stating 25 : ∀a∀b∀c∀x, lemma (b, a)∧lemma (c, a)∧pos(x, a)∧pos(x, b) ⇒ Lemma(b, a). For a term a having multiple lemmas such as b and c, we check whether the part of speech (represented as a relationship typed r pos) for b and c is the same as the part of speech for a. We choose the lemma with the same part of speech as the term a. The context creation function returns for quiche au thon et aux tomates (quiche with tuna and tomatos) the result [quiche (préparation culinaire), thon (poisson,chair), tomate légume-fruit], respectively:"quiche (preparation), tuna (fish flesh), tomato (fruit-vegetable))". For each node n i ∈ C we explore paths S = ((n 1 a r n 2 ), (n 2 a r n 3 ), (n m-1 a r n m )). The type of relationships we choose for the graph traversal depends on the local category of the node:

1. If isa("preparation", n i ) 26 , r ∈ {hypo, part -whole, matter}. This is the case of mixtures, dishes and other complex ingredients; 2. If isa("ingredient", n i ) 27 , r ∈ {isa, syn, part -whole, matter, charac}.

It is the case of plain ingredients like tomato.

The weight of all relations we traverse must be strictly positive. We traverse the graph testing a range of conditions: relevance to the domain of interest D alim (food domain), 25 First Order Logic notation 26 idem 27 idem existence of a path of a certain length (≤ 2) and type between the candidate node and and the rest of the context under analysis, co-meronymy relation etc.

To obtain relevant results, two conditions are to be fulfilled. First, there must be a disambiguation strategy and a domain filtering. Second, the similarity has to be handled between the preparation and its hyponyms. Indeed, the exploration of the part-whole relations of the network refers to all the possible ingredients and constituents of the preparation. If the preparation has a conceptual role (i.e. "cake"), the part-whole relations analysis will output a lot of noise. In our example, it is important to grasp the absence of pork (meat) and the presence of tuna (fish) in the quiche under scope. Therefore, instead of directly exploring the part-whole relations of the quiche(preparation), we rather try to find similar quiche(preparation) hyponyms for the context C="quiche (preparation), tuna (fish flesh), tomato (fruit-vegetable))" and yield the typical parts they have in common with the generic quiche(preparation). Our function finds the hyponym which maximizes the similarity score. This score is a normalized Jaccard index over all the positive outgoing part-whole, isa, matter relations.

J(S C , S C hypo ) = S C ∩S C hypo S C ∪S C hypo
where C hypo is the hyponym context built on the go. Different threshold values have been experimented. Empirically, the threshold fixed at 0.30 allows capturing generic similarities such as (for our example) quiche saumon courgette ("quiche salmon zucchini") score=0.32, a quiche with some fish and a vegetable. More precise similarity corresponds to higher scores. Using the described strategy, the irrelevant recipes such as quiche lorraine (score=0.20) are efficiently discriminated. Once the relevant hyponym is identified, its part-whole neighbors can be grasped. A specific graph traversal strategy is used for the LowSalt diet. It includes exploring the characteristic relation type for the preparation and its parts.

/ LContext ← makeContext(RecipeTitle) LNodes← relatedToContext (LContext, x ∈ {ContextNode R -→ x > 0}, R ∈ LRelationTypes) /* incompatibility */ for all Node ∈ LNodes do LResult ← lookupIncompatible (LNodes, x ∈ {Node R -→ x > 0}, R ∈ LRelationTypes && x R incompatible ---------→ Diet), score LProcessed ← LProcessed • Node end for /*appending RecipeTitle and its scores*/ Result[RecipeTitle][] ← LResult Return Result
The incompatibility calculation takes as input the list of diets and the queue F containing terms related to main context. This function looks for an incompatibility path S inc such that N ∈ F ∧ S inc = ((N , r type , N ), (N, r inc , N DIET )) ∧ type ∈ (holo|isa|haspart|substance|hypo). The output is a key value pair (diet, score). The score depends on the distance in the RezoJDM graph and on the relation type between the diet and the incompatible node in the context. Besides the refinement relation type 28 , it is calculated as follows for the distance d : 1 1+d . The score for the whole context corresponds to the addition of the individual scores of the context nodes. It is adapted in order to bring it closer to a probability distribution and allow further statistical or predictive processing. Starting from the precited context, our system first obtains a list of nodes linked to the context. Then, after following a traversal strategy, it comes up with a list of probabilistic scores for each part of the context. I.e. (w corresponds to weight and d corresponds to distance) : The output can be "normalized" in a probabilistic fashion according to the following rule applied to the raw score s ∈ L s (raw list of scores) in order to produce a probabilistic score s p : if s ≥ 0.5, s p ← 1, if s ≤ 0.5, s p ← 0.5. The range of this new score is restricted to three possible values : compatible (0), uncertain (0.5), and incompatible [START_REF] Ahn | Flavor network and the principles of food pairing[END_REF].

final probabilistic scores Diabetes 0.5, LowLactose 1.0, Halal 0.0, Kosher 0.5, LowCalories 1.0, LowSalt 1.0, LowGluten 1.0, Hindu 1.0, LowFat 1.0, Vegan 1.0, Vegetarian 1.0 Thus, if we imagine a restaurant scenario, where a client would be informed about the strict incompatibility or compatibility of a dish with his or her nutritional restrictions and alerted about some potential incompatibilities that would need further information from the caterer to be confirmed or denied. Given a list of diets, for some of them, we can only output a probabilistic score. Indeed, in our example, we highly suspect the Diabetes incompatibility and the LowCalories incompatibility but nothing in the semantic environment gives us a full confidence. The list of terms that are not present in the resource (for example, sibnekh, zwiebelkuchen) is output by the system. It serves to the further improvement of the RezoJDM graph from external resources. The incompatibility scores are also used for the ever ending learning process as they may form candidate terms for RezoJDM, influence the weight of the existing relations etc.

Evaluation and discussion

The system has been evaluated using a incompatibility annotated corpus of 1 500 recipe titles. The evaluation data has been partially collected using structured document retrieval simultaneously with the raw corpus constitution. Relevant meta-tags (HTML tags present in micro-formats29 ) have been used to pre-build incompatibility scores. The overlap between the different diets (vegan recipes are compatible with a vegetarian diet, low fat recipes are convenient for the low calories diet etc.) has been taken into account. The labels have been adjusted and enriched (LowSalt, Kosher diets) by hand by the authors of the system because the structured meta-tags do not contain such information. The obtained evaluation scores are binary. For now, as our system is under improvement, we estimated that the score returned by the system should be ≥ 0.5 to be ranked as acceptable. Later, a finer grained evaluation will be adopted. Our results are listed in the Table 3. It is expressed in terms of precision, recall and f-measure (F1 score) 30 . The most important score is the precision as, for an allergic or intolerant restaurant customer, even a very small quantity of a forbidden product may be dangerous. The average value correspond to the macro-average 31 .

Corpus

Evaluation set Diet and scores 0 0. 3. Corpus-based evaluation. We specify the repartition between the 3 possible probabilistic scores in the whole corpus and detail the quality of our scoring for an sub-corpus annotated for evaluation. The evaluation set is a subset of our corpus annotated in incompatibilities. We totally ignore the annotations during the processing.

For the halal diet, there are very few terms in the graph that point to this diet. The LowCalories and Vegetarian diets are well known among the RezoJDM community and well represented in the graph. In 13% of cases, the graph traversal did not return any result as the terms corresponding to the words of the context do not exist in the graph. It was the case of borrowings (such as quinotto) or lexical creations 32 (i.e. anti-tiramisu as our analysis scheme doesn't take into account morphology). The average number of incompatibility scores = 0 per recipe title is of about 3.8. Traditional diets (such as halal 30 F1 score is calculated as follows

F1 = 2 • P recision × Recall P recision + Recall
where Precision corresponds to all relevant answers returned by the search and Recall to all relevant documents that are successfully retrieved. 31 Macro average refers to the arithmetic mean, AM = 1 n (a1 + a2 + ... + an), F-score average is therefore the harmonic mean of precision average rate and recall average rate 32 The term lexical creation refers to the neology (creation of new terms). The commonly established general typology of neology distinguishes denominative and expressive neology. Denominative neology is used to refer to the creation of new lexical units to denominate new concepts, objects, and realities. The expressive neology refers to the use of lexical creation to introduce different subjective nuances.

diet and kosher diet) have been very challenging as the nature of nutritional restriction for them may concern food associations. The low salt diet incompatibility detection is still difficult because salt is everywhere and it is sometimes difficult to find a criterion to separate the property from the possibility of being salted. Given the specificity of our resource, a low score may depend on the lack of some relevant information in the graph. Thus, the output may be considered as correct (at least at the development stage) but with a low "confidence" which corresponds to a lower mean33 value. The mean and standard deviation values reveal this confidence issue (Table 4). A lower mean value together with a low deviation indicates that there were too many uncertain scores (≤ 0.5) among the resulting scores of a particular diet. To maximize the con- fidence related to the score, the knowledge resource must be continuously enhanced.

Today this is achieved using two main strategies: exogenous and endogenous. The first one may include term extraction from corpora, relationship identification based on word embeddings, direct contribution, specific games with a purpose assignments. The second one refers to propagation of the relations already existing in the graph using inference schemes based on the transitivity of the isa, part-whole, and synonym semantic relations as proposed by [START_REF] Zarrouk | Inference and Reconciliation in a Crowdsourced Lexical-Semantic Network[END_REF].

Discussion

Using a lexical semantic network for text processing offers some clear advantages. First, the background knowledge management is handy as there is no need to use multiple data structures (lists, vocabularies, taxonomies, ontologies) during the processing. Second,the graph structure supports encoding various kinds of information that can be useful for text processing tasks. Every piece of information encoded using the graph formalism is machine interpretable and can be accessed during the traversal. Thus, the graph interpretation algorithms can be more accessible to domain specialists. Finally, the graph based analysis strategy has an explanatory feature, it is always possible to know why the system returned some particular output. However, two main issues must be tackled : the knowledge resource population method and the filtering strategy while traversing the resource. Our resource is only available for French. To test the interoperability of the system, we run our approach using the ConceptNet common knowledge network and tested it on a restricted set of recipe titles in English that are also available in the French culinary tradition (here we cite the examples of veal blanquette and banana bread). Then, the obtained probabilistic incompatibility scores have been compared across languages. The values are given as follows: "score for French [score for English]". We can see that the some incompatibilities have been detected using subsumption and hierarchical relations To grasp the kosher incompatibility (meat cooked into a creamy sauce) or the LowLactose incompatibility (banana bread may contain some butter), we would need to either extend or specify the part-whole relation in order to cover the matter/substance relation. We probably need finer grained relations such as patient, receivesAction etc. This additional testing showed that the approach introduced here is a generic approach, further performance improvement mainly depends on the data contained in the resource.

Conclusion

We introduced the use of a lexical-semantic network for nutritional incompatibility detection based on recipe titles. The scores obtained by our system can be used for building specific resources for machine learning tasks such as classifier training. Our experiments showed the implementation of a graph browsing strategy for incompatibility detection. Knowledge resource projection on raw text is a relevant method for short text analysis. Among the perspectives of the approach, we can list:

-exogenous approaches (using external resources and processes to populate the graph) for the graph population; -endogenous approaches to the graph population (i.e. propagating the relevant relationships over the RezoJDM graph, relationship annotation); -mapping the resource to other existing semantic resources (domain specific ontologies, other wide-coverage semantic resources such as BabelNet [START_REF] Navigli | BabelNet: The automatic construction, evaluation and application of a wide-coverage multilingual semantic network[END_REF]); -making the system evolve towards a multilingual (language independent?) nutritional incompatibility detection.

An important advantage of the system over purely statistical approaches is its explanatory feature, we can always know how the system came to its decision and thus can constantly improve it. The limitations of our contribution are linked to its improvement model which is based on contribution work and the necessity to (weakly) validate the new relations.

4. 3

 3 From graph to associations Algorithm 1 Creation of diet incompatibility scores Input : text RecipeTitle, lexical semantic network RezoJDM, node Rgime Output : Key-value pair Result ← ∅ Local variables : list LContext, LNodes, LProcessed, LSkip, LRelationTypes, LResult, float[]score Local functions : makeContext, relatedToContext, lookupIncompatible /* Initialize general lists */ LSkip ← ListOfNodes ( viter) /*too general terms i.e. aliment("food") */ LRelationsContexte ← {r lemma, r raff, r domain, r meaning} LRelationTypes ← {r isa, r syn, r part, r matter, r holo,r hypo} /* Initialize local lists *

  recipe : quiche thon tomate 28 Which participates to the disambiguation process context size 3 [quiche>preparation,thon>poisson,tomate>legume] processing incompatible for quiche>preparation r_hypo quiche lorraine d=1 w=76 simcontext [quiche,lorraine] Jaccard index [quiche,lorraine] 0.20 isSimilar=false Futher similarity processing as described in 4.2., then processing of parts shared by quiche and its hyponyms similar to the context. For each part, the isa, part-whole, mater and characteristic relations are further explored r_has_part pte d=1 w=6 *dough* r_has_part gruyere rape d=1 w=105 *grated Gruyere* r_has_part oeufs d=1 w=105 *eggs* r_has_part creme d=1 w=105 *cream* etc. raw incompatibility scores quiche>preparation Diabetes 1.3, LowLactose 3.0, Halal 0.0, Kosher 0.3, LowCalories 1.5, LowSalt 0.5, LowGluten 1.8, Hindu 0.5, LowFat 0.8, Vegan 0.5, Vegetarian 0.3 LowLactose incompatibility detected. LowSalt,LowCalories, Kosher, Hindu, Vegetarian and Vegan incompatibilities suspected. processing incompatible for thon>poisson r_similar bonite d=1 w=26 *skipjack* r_object_mater poisson>chair d=1 w=30 *fish (flesh)* r_carac sal d=1 w=36 *salted* r_carac cru>171869 d=1 w=1 *raw* r_carac en conserve d=1 w=35 *canned* r_carac savoureux>got d=1 w=34 *delicious (taste)* r_isa łtre vivant d=1 w=82 *living being* r_isa poisson d=1 w=192 *fish* etc. raw incompatibility scores for thon>poisson *tuna (fish)* Diabetes 0.0, LowLactose 0.0, Halal 0.0, Kosher 0.0, LowCalories 0.0, LowSalt 2.0, LowGluten 0.0, Hindu 3.0, LowFat 0.0, Vegan 3.0, Vegetarian 3.0 Vegetarian and Vegan incompatibility confirmed, LowSalt detected, Hindu incompatibility de-tected. No incompatibilities have been detected for tomato.

"

  blanquette de veau" ["veal blanquette"] Vegan 1.0[0.5],Vegetarian 1.0[0.5] Hindu 1.0[0.5],Diabetes 0.6[0.0], LowLactose 0.5[0.0],Kosher 0.4[0.0], LowFat 0.4[0.0], LowSalt 0.4[0.0] "cake à la banane" ["banana bread"] Diabetes 1.0[1.0], LowLactose 0.5[0.0] LowGluten 0.5[0.0], LowFat 0.5[0.0] Vegan 0.5[0.5]

Table

Table 1 .

 1 . Due to underlying semantic relationship Concept

	Term (concept)	Score by MI Score by P (concept|entity)
	dessert	0.386	0.446
	authentic bistro dish 0.164	0.12
	off beat flavor	0.047	0.06
	homemade dessert	0.046	0.048
	dairy based dessert	0.04	0.036

distribution for creme brulee (Probase conceptualization tool)

Table 4 .

 4 Mean values per diet (evaluation)

	Diet	Mean (M ) Standard	Comment
			Deviation
			(SD)
	diabetes	0.785	0.295	M 0.5 and SD ≤ 0.5 =⇒ confidence about the
				incompatibility
	low lactose 0.200	0.215	M ≤ 0.5 and SD ≤ 0.5 =⇒ uniform scores but low
				confidence
	halal	0.240	0.239	M ≤ 0.5 and SD ≤ 0.5 =⇒ uniform scores but low
				confidence
	kosher	0.275	0.243	M ≤ 0.5 and SD ≤ 0.5 =⇒ uniform scores but low
				confidence
	low calories 0.487	0.484	M and SD close to 0.5 =⇒ confident but sparse
				(scores may be very low or quite high), the data is un-
				equally distributed in the resource, more relationship
				types should be explored
	low salt	0.031	0.094	very few incompatibilities detected with low confi-
				dence, finer grained approach is needed (i.e. relation-
				ship annotation)
	low gluten 0.549	0.349	good confidence but scores vary a lot, knowledge con-
				solidation needed
	hindu	0.447	0.244	M close to 0.5 and SD ≤ 0.5 =⇒ uniform scores,
				satisfactory confidence at the consolidation stage
	low fat	0.380	0.202	M ≤ 0.5 and SD ≤ 0.5 =⇒ uncertain scores
	vegan	0.406	0.219	M ≤ 0.5 and SD ≤ 0.5 =⇒ uncertain scores
	vegetarian 0.809	0.253	M ≥ 0.5 and SD ≤ 0.5 =⇒ confidence about the
				incompatibility, benchmark result
	overall	0.406	0.219	low confidence but uniform scores

The WordNet part-whole relation splits into three more specific relationships : member-of, stuff-of, and part-of

Boxer[START_REF] Bos | Open-domain semantic parsing with boxer[END_REF] is a semantic parser for English texts based on Discourse Representation Theory

Sentences Involving Compositional Knowledge. This dataset includes a large number of sentence pairs that are rich in the lexical, syntactic and semantic phenomena (e.g., contextual synonymy and other lexical variation phenomena, active/passive and other syntactic alternations, impact of negation, determiners and other grammatical elements). Each sentence pair was annotated for relatedness and entailment by means of crowd-sourcing techniques. http://clic.cimec.unitn.it/composes/sick.html

Minimal Instruction Language for the Kitchen

Simplified Ingredient Merging Map in Recipes

http://cordis.europa.eu/project/rcn/71245\_en.html. Concepts such as diet, nutrient, calories have been modeled in the framework of this project.

http://www.oasis-project.eu/

http://www.menugene.com/

http://wikitaaable.loria.fr

http://www.jeuxdemots.org/jdm-about.php

The process of either inferring new relationships from the terms and relationships already present in the network or sourcing new terms and relationships through user contribution or by automatically identifying and retrieving lexical and semantic relationships from texts or other semantic resources.

http://iate.europa.eu/switchLang.do?success=mainPage\&lang=fr

The part of the IATE resource that has been used corresponds to the subject field 6006, French

http://aims.fao.org/fr/agrovoc

http://www.jeuxdemots.org/jdm-about.php

https://neo4j.com/docs/java-reference/current/javadocs/

https://github.com/lirmm-texte/RequeterRezo

In the opposite case the acquisition process through external resources like Wikipedia, Web and through crowd-sourcing (Games with a purpose) may be triggered (if an open world hypothesis is favored).

Micro-formats(µF ) refer to standardized semantic markup of web-pages.

The mean, as it is understood here, weights each score si according to its probability given the dataset, si. Thus, µ= sipi


Sebastian Büttner
email: sebastian.buettner@hs-owl.de

Paul Wunderlich
email: paul.wunderlich@hs-owl.de

Mario Heinz
email: mario.heinz@hs-owl.de

Oliver Niggemann
email: oliver.niggemann@hs-owl.de

Carsten Röcker
email: carsten.roecker@hs-owl.de

Managing Complexity: Towards Intelligent Error-Handling Assistance Trough Interactive Alarm Flood Reduction

Keywords: Alarm flood reduction, Machine learning, Assistive system

The current trend of integrating machines and factories into cyber-physical systems (CPS) creates an enormous complexity for operators of such systems. Especially the search for the root cause of cascading failures becomes highly time-consuming. Within this paper, we address the question on how to help human users to better and faster understand root causes of such situations. We propose a concept of interactive alarm flood reduction and present the implementation of a first vertical prototype for such a system. We consider this prototype as a first artifact to be discussed by the research community and aim towards an incremental further development of the system in order to support humans in complex error situations.

Introduction and Motivation

Currently the landscape of industrial production changes fundamentally. While in the past decades engineering in industrial production focused on the question on how to further automatize industrial production, the current development concentrates on the digitalization and connection of industrial components and whole factories to form so-called cyber-physical systems (CPS) [START_REF] Lee | A cyber-physical systems architecture for industry 4.0-based manufacturing systems[END_REF]. The formed networks as well as the use of machine learning technologies to create intelligent production components will increase production efficiency and is therefore of huge economic value. A study of Germany's digital association Bitkom forecasts a value-added potential of 79 billion euros in the six major industrial branches of the German economy until 2025 [START_REF] Bauer | Industrie 4.0 -Volkswirtschaftliches Potenzial für Deutschland[END_REF]. With the changes of technologies and processes, human interactions with production systems and factories will also be transformed [START_REF] Rajkumar | Cyber-physical systems: the next computing revolution[END_REF].

By creating new networks of industrial components and factories, complexity is induced into the system. This complexity can become an issue in case of errors, faults, failures, or security attacks of a single component that might influence other parts of overall CPS due to cascading failures [START_REF] Lee | Cyber physical systems: Design challenges[END_REF]. While some of the cascading failures might be avoided by incorporating robustness principles into the design and implementation process of CPS (e.g. [START_REF] Yagan | Optimal allocation of interconnecting links in cyber-physical systems: Interdependence, cascading failures, and robustness[END_REF]), we assume that there will be always failure situations that will require human interventions. However, finding root causes in failure situations requires more effort and becomes costly, if systems are connected. Maintenance work in the new complex context of CPS requires interdisciplinary skills and high competencies, such as knowledge about the technologies, economic and legal factors, social and communicational skills and willingness to learn [START_REF] Schenk | Instandhaltung technischer Systeme: Methoden und Werkzeuge zur Gewährleistung eines sicheren und wirtschaftlichen Anlagenbetriebs[END_REF]. Based on these high requirements and the present shortage in highly-skilled workers it would be desirable to have intelligent systems that support humans in the analysis and handling of failures in CPS. With this paper, we want to focus on the question on how to help human users to understand root causes of complex failure situations. More specifically, we address the topic of interactive alarm flood reduction in CPS scenarios, an interactive machine learning (iML) approach to find root causes of complex failure situations. With this paper, we present a first prototype of an assistive system that can help users to find root causes of alarm floods by using machine learning technologies.

The rest of the paper is organized as follows. Section 2 gives an overview on related work in the research areas of assistive systems for error-handling, alarm flood reduction and iML. Section 3 shortly describes the research through design method that is the foundation for our research method. Section 4 proposes our concept of interactive alarm flood reduction. Section 5 describes our prototype in detail, followed by a discussion of the results, a conclusion and outlook in section 6.

Related Work

In this section, we will provide an overview of the current research regarding three fields: First, we will present previous assistive systems in the context of error-handling. Second, we will show previous machine learning methods for alarm flood reduction and third, we will present the young research field of iML.

Assistive Systems for Error-Handling

There has been a lot of research work on the topic of assistive systems to support work processes in the future of industrial production and many overview works and surveys exist, e.g. on how to support users with Augmented Reality (AR) in industry [START_REF] Büttner | The design space of augmented and virtual reality applications for assistive environments in manufacturing: A visual approach[END_REF][START_REF] Fite-Georgel | Is there a reality in industrial augmented reality?[END_REF]. However, only few proposed systems considered the support in complex error situations and focus mainly on a non-interactive visualization. Folmer et al. [START_REF] Folmer | An analytical alarm flood reduction to reduce operators workload[END_REF] present a system called Automatic Alarm Data Analyzer (AADA) that use machine learning algorithms to reduce alarm floods and a three-dimensional visualization to show only the most important information to an operator. In a similar way, Laberge et al. [START_REF] Laberge | Addressing alarm flood situations in the process industries through alarm summary display design and alarm response strategy[END_REF] analyzed different alarm summary display designs for the visualization of complex error situations. They compared a list-based presentation with a time-series presentation showing icons and summarized descriptions. According to their study, the latter presentation led to fewer false user responses. Another work in this domain by Renzhin et al. [START_REF] Renzhin | Darstellungskonzepte für die zustandsabhängige Diagnose industrieller Kommunikationsnetzwerken für verteilte Automatisierungssysteme[END_REF] analyses and visualizes communication data between machines in CPS in various way. By choosing the appropriate visualization, users are empowered to find errors more easily. Furthermore, the system can find deviations from the normal state of the system and reports such errors automatically to the user.

Alarm Flood Reduction

The topic of alarm flood reduction gained attention from the process industry after incidents like the explosion at the Texaco Refinery in Milford Haven [START_REF] Health | The Explosion and Fires at the Texaco Refinery[END_REF]. As a result, the non-profit organization Engineering Equipment & Materials Users' Association (EEMUA) created the guideline EEMUA 191 [START_REF] Equipment | Alarm Systems: A Guide to Design, Management and Procurement[END_REF]. The quasistandard EEMUA 191 for alarm management recommends to have only one alarm per 10 minutes. Based on this, further standards such as ANSI/ISA-18.2-2009 [START_REF] Of Automation | [END_REF] or IEC62682:2014 [START_REF] Commission | :2014 management of alarm systems for the process industries[END_REF] have been developed. With the vision of industry 4.0 this topic has an increasing importance also for other industrial branches. Several approaches to address the topic of alarm floods exist. Most of them deal with clustering similar alarms together. A good overview about different approaches is provided by Wang et al. [START_REF] Wang | An overview of industrial alarm systems: Main causes for alarm overloading, research status, and open problems[END_REF]. We want to focus on reducing alarm floods by identifying the root cause of the alarm flood. Therefore, we need a causal model which represents the dependencies of the alarms. Probabilistic graphical models, such as Bayesian nets, fault trees, or Petri nets are particularly suitable for this purpose. They were already used in the field of alarm flood reduction. Kezunovic and Guan [START_REF] Kezunovic | Intelligent alarm processing: From data intensive to information rich[END_REF] use a fuzzy reasoning Petri nets diagnose model to identify root causes. For this, they take advantages of an expert rule based system and fuzzy logic. Simeu-Abazi et al. [START_REF] Simeu-Abazi | A methodology of alarm filtering using dynamic fault tree[END_REF] exploit dynamic fault trees to filter false alarms and locate faults from alarms. Guo et al. [START_REF] Guo | An analytic model-based approach for power system alarm processing employing temporal constraint network[END_REF] develop an analytic model for alarm processing, which is based on temporal constraint networks. They use this model to find out what caused the reported alarms and estimate when these events happen. Wei et al. [START_REF] Wei | An online intelligent alarm-processing system for digital substations[END_REF] apply a rule network for alarm processing. They can determine the root cause and also identify missing or false alarms. Wang et al. [START_REF] Wang | Association rules mining based analysis of consequential alarm sequences in chemical processes[END_REF] combine association rules with fuzzy logic. They use a weighted fuzzy association rule mining approach to discover correlated alarm sequences. Based on this, they are able to identify root causes. Abele et al. [START_REF] Abele | Combining knowledge modeling and machine learning for alarm root cause analysis[END_REF] propose to combine modeling knowledge and machine learning knowledge to identify alarm root causes. They use a constrained-based method to learn the causal model of a factory represented by a Bayesian network. This enables faster modeling and accurate parametrization of alarm dependencies but expert knowledge is still required. Wang et al. [START_REF] Wang | Online root-cause analysis of alarms in discrete bayesian networks with known structures[END_REF] apply an online root-cause analysis of alarms in discrete Bayesian networks. They restrict the Bayesian Network to have only one child. The method is evaluated on a numerical example of a tank-level system. In [START_REF] Wunderlich | Structure learning methods for bayesian networks to reduce alarm floods by identifying the root cause[END_REF] various approaches to learn a causal representation of alarms to identify the root cause are investigated. The concept for the reduction of alarm floods in this work is based on their findings.

Interactive Machine Learning (iML)

In the context of Machine Learning, iML is an approach that involves humans into machine learning processes to deliver better results than fully-automated systems. According to Robert et al. [START_REF] Robert | Reasoning under uncertainty: Towards collaborative interactive machine learning[END_REF], the available iML system can be classified into the following three categories:

First, there are iML systems, where an appropriate data visualization helps humans to manually build a model. Still, the interference is done automatically based on the manually created model. Examples for this system are the perception-based classification (PBC) system presented by Ankerst et al. [START_REF] Ankerst | Visual classification: an interactive approach to decision tree construction[END_REF][START_REF] Ankerst | Towards an effective cooperation of the user and the computer for classification[END_REF] and the work of Ware et al. [START_REF] Ware | Interactive machine learning: letting users build classifiers[END_REF].

Second, systems have been described under the term iML that involve humans into an evaluation-feedback loop to improve an automatically generated model. The created model is appropriately visualized to the user and the system contains a feedback channel, where users can assess the quality of a certain model. With this feedback, the system can improve the model iteratively. These systems require a very fast model generation to allow rapid improvement when feedback is given to the system. Examples for such systems are the system of Fails et al. [START_REF] Fails | Interactive machine learning[END_REF] that allows interaction designers to rapidly build perceptual user interfaces (PUI) and the Wekinator1 system that analyses human gestures in the context of music making [START_REF] Fiebrink | Human model evaluation in interactive supervised learning[END_REF].

The third type that is also named collaborative iML (ciML) is the newest of the approaches. ciML systems can be characterized as system, where humans can influence the model generation algorithm during runtime and work collaboratively with the algorithm to create a model. Examples for ciML systems are the decision tree generation system by Ankerst et al. [START_REF] Ankerst | Towards an effective cooperation of the user and the computer for classification[END_REF] and interactive antcolony algorithm to solve the traveling salesman problem (TSP) presented by Holzinger et al. [START_REF] Holzinger | Towards interactive machine learning (iML): Applying ant colony algorithms to solve the traveling salesman problem with the human-in-the-loop approach[END_REF].

In this paper, we understand iML as systems, were the user is involved into the feedback loop of iML systems, which is the second type in the classification above.

Method

To better understand, how to support users in handling complex failure situations, we decided to develop a first prototype of an interactive system for alarm flood reduction. This prototype can be seen as a research artifact to communicate and discuss ideas among the research community [START_REF] Mucha | Human-centered toolkit design[END_REF]. In this way, we follow the research through design approach proposed by Zimmerman et al. [START_REF] Zimmerman | Research through design as a method for interaction design research in hci[END_REF]. To develop the prototype, we chose an iterative approach and followed the human-centered design process specified in ISO 9241-210 (see [START_REF]Ergonomics of human system interaction -part 210: Humancentred design for interactive systems[END_REF], cf. [START_REF] Holzinger | From extreme programming and usability engineering to extreme usability in software engineering education[END_REF]). This process has proven to be very effective for designing interactive systems with a high usability and has been successfully applied in an industrial context as well [START_REF] Büttner | Applying human-centered design methods in industry -a field report[END_REF].

The prototype presented in this paper is the result of the first iteration. It is a vertical prototype, so it does not contain all features of the system yet, but therefore contains the core functionality and shows the feasibility of our concept.

Concept

The general concept proposed in this paper is the use of a cloud-based machine learning system that monitors data from machines and becomes active in the situation of an alarm flood, which we define as an occurrence of more than ten errors per minute. This concept is shown in Figure 1. Data, such as error Fig. 1: Overall process of the interactive alarm flood reduction messages and warnings from machines and factories are send to a cloud service and stored in a database. Based on this data, a machine learning algorithm builds up a model of the relation of different error messages and warnings. In case of an alarm flood the model is used to infer conclusions about the root cause of the current situation. The analysis is presented to the user in a suitable way (e.g. via an adaptive and responsive user interface). There are two types of user involvement in this concept: First, the users of the assistive system (usually the operators of factories or machines) report (explicitly or implicitly) feedback to the the system, if a certain root cause was predicted correctly from the system. This feedback is stored in the database and used for the next iteration of the model generation. Second, expert users can improve the model by using a model editor. By assessing, if a detected error correlation is a causal relation or not, the expert can manually change the model. The manual changes are kept when the model is rebuilt in following iterations. This section will focus on the aspects of the conceptual development of the alarm flood reduction (algorithm) and the adaptive and responsive user interface.

Alarm Flood Reduction

The concept of the alarm flood reduction is depicted in Figure 2. The concept can be divided into two steps. As an initial step a causal model from the gathered data in the alarm log is learned. In the alarm log the alarms of the factory or CPS are listed with information about timing, description and status. The status represents if the alarm is active or inactive. Based on the information of the alarm log a causal model of the alarms is learned. Probabilistic graphical models are suitable for as a causal model. We decide to use Bayesian Networks to represent the dependencies of the alarms as a causal model. Bayesian networks are a class of graphical models which allow an intuitive representation of multivariate data. A Bayesian network is a directed acyclic graph, denoted B = (N, E), with a set of variables X X X = {X 1 , X 2 , . . . , X p }. Each node n ∈ N is associated with one variable X i . The edges e ∈ E, which connect the nodes, represent direct probabilistic dependencies. In a second step, we use the current alarms and the learned causal model of the alarms to infer the root cause. Because of the learned relations, we are able to identify the possible root cause of an alarm flood. As a consequence, we can reduce the amount of alarms to the possible root cause.

Adaptive and Responsive User Interface

We distinguish between two separate user interfaces: the interface of the assistive system and the model generator.

The user interface of the assistive system should be highly flexible to support different users and work situations. Therefore, we propose an adaptive and responsive user interface, that can be used with various technologies and interaction concepts. As a basic user interface, we use a responsive web application that adapts to different devices. While responsive web applications are the current state of web technology, they are limited to (two-dimensional) graphical user interfaces. With this interaction concept, we go beyond this limitation. The web application is the base visualization; however, if a user needs further assistance, such as support in a repair scenario, where free hands are required, the user can switch to an augmented reality (AR) visualization based on head-mounted displays (HMD) (such as [START_REF] Paelke | User interfaces for cyberphysical systems[END_REF]) or mobile in-situ projections (such as [START_REF] Büttner | Extending the design space in industrial manufacturing through mobile projection[END_REF]). Beyond the visualization, the user needs to have a way of giving feedback to the system, while and after doing maintenance work. Especially the results of an obtained repair task are important to check, whether the model is accurate or need to be improved. Therefore, we included a feedback channel to the system to report, whether the root cause was detected correctly. This feedback channel could be explicitly by users approvals or implicitly (cf. [START_REF] Schmidt | Implicit human computer interaction through context[END_REF]) by the recognition of the users activities and tasks.

The model generator is used by experts to manually adapt the model. This interface presents the model in the form of a large graph. Due to the large data sets that might be involved, this interface is shown on large computer displays. Expert users can mark edges that represent causalities of errors or remove edges from the model, that are no causal relations.

Prototype

In the context of the human-centered design process (compare section Method), a first prototype has been developed iteratively. This prototype represents a vertical prototype, so it does not contain all features of the system yet. However, it contains the core functionality and shows the feasibility of our proposed concept. This section will describe the implementation of the prototype system.

Architecture

The high-level architecture of the presented system is shown in Figure 3. For the basic infrastructure, we use Amazon Web Services (AWS), which provides services, such as virtual servers, a database (DynamoDB), and supports the development of application programming interfaces (APIs) that follow the principles of representational state transfer (RESTful APIs). We provide a web server with a generic RESTful API, where different machines can be connected to. Since industrial machines usually do not use web protocols but rather rely on Fig. 3: High-level architecture of the system machine to machine protocols, such as Open Platform Communications Unified Architecture (OPC UA), individual connectors need to be implemented for each of the specific machine types. The web server is connected to the AWS Dy-namoDB and to a server running an R environment2 for executing the machine learning algorithms. The web server is also used to provide the current user interface to various devices. The following sections present the implementation of the machine learning algorithms and of the user interface in more detail.

Machine Learning Algorithms

The implementation of the machine learning algorithm contains three steps, namely structure learning, parameter learning and inference. We use the Max-Min Hill-Climbing which was developed by Tsamardinos et al. for learning the structure [START_REF] Tsamardinos | The max-min hill-climbing bayesian network structure learning algorithm[END_REF]. For a better understanding of the associated pseudo code, we need a few definitions. The dataset D consists of a set of variables ϑ. In the variable P C x the candidates of parents and children for the node X are stored. This set of candidates is calculated with a Max-Min Parents and Children (MMPC) algorithm. The variable Y is a node of the set P C x . The pseudo code of MMHC looks as follows: The algorithm first identifies the parents and children set of each variable, then performs a greedy Hill-Climbing search in the reduced space Algorithm 1 MMHC Algorithm

1: procedure MMHC(D) 2:
Input: data D 3:

Output: a DAG on the variables in D 4:

% Restrict 5:

for every variable X ∈ ϑ do 6:

P CX = MMPC(X, D) 7:

end for 8:

% Search 9:

Starting from an empty graph perform Greedy Hill-Climbing with operators add-edge, delete-edge, reverse-edge. Y → X if Y ∈ P CX 10:

Return the highest scoring DAG found 11: end procedure of Bayesian network. The search begins with an empty graph. The edge addition, removal, or reversing which leads to the largest increase in the score is taken and the search continues in a similar way recursively. The difference from standard Hill-Climbing is that the search is constrained to only consider edges which were discovered by MMPC in the first phase. The MMPC algorithm calculates the correlation between the nodes. In a next step, the probabilities or parameters of the Bayesian network are learned. For this we use the maximum likelihood estimation (MLE) which was developed by R. A. Fischer and is a classical method in statistics [START_REF] Fisher | On an absolute criterion for fitting frequency curves[END_REF]. Here, a parameter p is estimated to maximize the probability of obtaining the observation under the condition of the parameter p. In other words, the MLE provides the most plausible parameter p as an estimate with respect to the observation. If the parameter p is a probability in the Bayesian network and the historical data D represents the observations, the likelihood function is composed as follows:

L(D|p) = n i=1 f (D|p) (1)
The probability density function of D under the condition p is f (D|p). With the learned structure and the probabilities, the inference can begin. The approximate method logic sampling (LS) is used for this purpose. The Logic Sampling Algorithm is a very simple procedure developed by Max Henrion in 1986 [START_REF] Henrion | Propagating uncertainty in bayesian networks by probabilistic logic sampling[END_REF]. In this case, a state is arbitrarily assumed per sample for the root nodes according to their probability table. Thus, a certain number of samples, which are determined, are carried out. Subsequently, the probability that e.g. a node X assumes the state True as follows:

P (X = T rue) = Number of cases with X=True Number of all samples (2)
This process always converges to the correct solution, but in very rare cases the number of samples required can become exorbitant [START_REF] Kanal | Uncertainty in Artificial Intelligence 2[END_REF]. The feedback of the expert is included with a whitelist and blacklist in the structure learning.

The whitelist contains all predetermined relations and the blacklist contains all prohibited relations between the alarms.

User Interface

The current user interface is built on the basis of web technologies. Server-sided, the system provides a generic RESTful API for exchanging the data between the server and the end-users' devices. The actual client is built as a responsive web application. While the responsive assistive system is part of the current prototype, the model editor is ongoing work and therefore not further described in this section. The webserver can be accessed to load the assistive system in form of a responsive web application that automatically adapts to the device of the user, such as computer screens, smartphones or tablet computers. The integration of other interaction devices, such as HMDs for hand-free operation is ongoing work. The user interface is implemented in HTML5 using the frameworks Bootstrap 3 and AngularJS 4 . To display the information on small screens, the content of the current user interface is limited to the most important information. It shows the occurring errors and (in case of an alarm flood) the root cause of the problem (see Figure 4 b) or a huge green check mark if all machines are working properly (see Figure 4 a).

Since this responsive website cannot be displayed on devices without web browsers, such as HMDs, native applications will be provided in future that also make use of the generic API. According to our concept, there will be more detailed assistance information to display not only the root cause but rather various types of media (images, videos) that help users to fix a specific cascade of errors, which is a topic for future work.

Discussion, Conclusion and Outlook

In this paper, we proposed our concept of a system for interactive alarm flood reduction for determine root causes in complex failure situations. Such a system will be beneficial for finding errors in complex industrial environments, e.g. in the future of production, when CPS become omnipresent. Contrary to previous work, we do not only focus on automatic machine learning concepts for alarm flood reduction, but rather want to establish a feedback channel to empower users to give feedback of the results of the alarm flood reduction to the system. Having this possibility, the model representing the causal relations of alarms can iteratively be improved.

We presented a first vertical prototype of our concept consisting of a machine learning system based on the Max-Min Hill-Climbing algorithm of Tsamardinos et al. [START_REF] Tsamardinos | The max-min hill-climbing bayesian network structure learning algorithm[END_REF] and the maximum likelihood estimation of Fischer [START_REF] Fisher | On an absolute criterion for fitting frequency curves[END_REF] as well as a responsive web application as user interface based on web technology. This prototype has been developed in an iterative design process. While a formal evaluation of our prototype is outstanding and future work, we discussed the results with experts from industry. However, the prototype shows the feasibility of our proposed concept.

Future work will focus on the improvement of the system to give better predictions of root causes as well as a deeper integration of human feedback. Furthermore, additional features will be added to the very basic user interface described in this paper. The responsive web application will be extended in the way to actually realize an assistive system; this will be achieved by not only showing the error but rather guide users through the process of repair or maintenance in a similar way to assistive systems in manufacturing, such as [START_REF] Büttner | Exploring design opportunities for intelligent worker assistance: A new approach using projetion-based ar and a novel handtracking algorithm[END_REF]. For this purpose, the system will be extended to also allow for connecting other interaction devices, e.g. HMDs. While the interface of the web server is designed in a way to cover this process, a specific scenario containing machines and related maintenance and repair manuals needs to be created. Parallel to this technical development, we plan to evaluate the overall systems repeatedly during the iterative development process.

As already stated our system is in an early stage. However, the current prototype is a first artifact to communicate our vision and to discuss ideas among the research community (cf. [START_REF] Mucha | Human-centered toolkit design[END_REF][START_REF] Zimmerman | Research through design as a method for interaction design research in hci[END_REF]). The further development and evaluation will give more insight into the question on how to help human users to understand errors in complex interconnected systems, such as CPS.

Fig. 2 :

 2 Fig. 2: Concept of alarm flood reduction

Fig. 4 :

 4 Fig. 4: Screenshots of the responsive web application with (a) normal situation without errors and (b) case of an occurring alarm flood.

http://www.wekinator.org/

https://www.r-project.org/

http://getbootstrap.com/

https://angularjs.org/

Acknowledgments

This work is funded by the German Federal Ministry of Education and Research (BMBF) for project ADIMA under grant number 03FH019PX5.