construction from data that we use extensively in our work.
We consider Knowledge Engineering as a research approach. In particular, we inherit the notion of knowledge component as the basic building block for system design. Before closing this section it is worth spending some words on one aspect of KE methodologies that is particularly present in our work: the iterative nature of model construction methodologies.
KE as a discipline is centered on the development of abstract and generic approaches to system design, therefore substantial effort has been made to study the knowledge elicitation aspect. With a clear focus on making computers and humans interact through knowledge, KE recognized the iterative nature of model construction at an early stage [Partridge and Wilks (1987)], for example considering the expertise capture and domain conceptualization as two stages of an iterative process [Motta et al. (1990)]. A comparison between the engineering life-cycle of Software and Knowledge engineering made in 1989 identified a crucial difference between the so-called waterfall model of Software Engineering and the more agile and iterative approaches developed in the context of the KE community [Wilson et al. (1989)]. Knowledge construction as iterative process is a notion that is widely adopted by methodologies developed in KE and, more recently, in Ontology Engineering (RUDE [Partridge and Wilks (1987)], CommonKADS [Schreiber (2000)], and Extreme Design (XD) [Daga et al. (2010)], just to mention a few examples). It is worth noting how history proved it the right approach, as recent Software Engineering methodologies have a strong accent on iterative and test-based development methods as well as continuous integration in collaborative projects [Moniruzzaman and Hossain (2013)].
This short background cannot be considered exhaustive, and we refer the reader to [Motta (1997); Stefik (2014); Studer et al. (1998)] for further insights on Knowledge Engineering as research area, and to [Motta and Wiedenbeck (2013)] for a recent historical overview and perspective on the field. The literature on automatic ontology construction is vast, we refer the reader to [Astrakhantsev and Turdakov (2013)] for a recent survey. In our work, we make extensive use of one technique to support a data-oriented ontology construction, namely Formal Concept Analysis.
2.3
Formal Concept Analysis (FCA)
Formal Concept Analysis (FCA) is a conceptual framework for data analysis. Based on lattice theory, from which it derives its mathematical foundations, FCA establishes an abstract model based on binary associations between the entities and their attributes, which permits to derive a browsable classification of clustered concepts. Firstly introduced in 1982 by Rudolf Wille [Wille (1982)],
Table 2.1: Example of products and features.
- Wearable Powered Pocketable Solid Liquid Toy Edible
Hat x x x Drone x x x Lollypop x x x x Ice-Cream x x x Coffee x x Doll x x x Desktop x x Laptop x x Watch x x x x Ring x x x Shoes x x Detergent x Whiskey x x
concept latticesreceived immediate adoption in several areas of Computer Science and later on Ontology Engineering as a method to automatically derive conceptualisations from raw data. In what follows we summarise the theoretical foundations of FCA giving insights into the techniques we use, and provide some references about areas of applications of FCA. We also will not go too far into the mathematical details, limiting ourselves to the exposition of terminology and symbols relevant to our work. For an introduction to FCA and its foundations, we refer to [Wille (2005)]. A general overview of the field in the context of information science is [Priss (2006)], including a discussion linking FCA to theories outside strict computer science (for example philosophy and cognitive sciences).
FCA is a knowledge processing technique based on lattice theory. In particular, it exploits the notion of Galois connection [Erné et al. (1993)], which refers to a duality that can be observed between two types of items in mutual relation, for example, documents and terms, or products and features. A Galois connection implies that if one makes one of the two sets larger, the second will necessarily be smaller, and vice versa. For example, the more the features we consider, the fewer products share them. Conversely, a single product will include many features, while only some of those will be shared with other products. In Formal Concept Analysis, we refer to these two sets as objectsand attributes. Objects and attributes and the relation between them can be represented as a cross table (also known as incidence matrix), where the row represent objects and the columns their attributes. Table 2.1 shows an example of products and features.
This basic representation is called Formal Context, and is defined as follows:
Definition 2.1 (Formal Context) Given a set of objects X, a set of attributes Y , a Formal Context is defined as a triplethX, Y, Ii, where I ⊆ X × Y is a binary relation representing the incidence of
2.3. FORMAL CONCEPT ANALYSIS (FCA) 27 Table 2.2: Example of formal concept. The concept intension is the set {W earable, Solids}, while the extension is {Hat, W atch, Ring, Shoes}
.
- Wearable Solid Liquid
Hat x x Watch x x Ring x x Shoes x x Drone x Coffee x Doll x Desktop x Laptop x X and Y .
Mathematically, a Formal Context is equivalent to a binary matrix.
An important feature of Galois connections is that one can assume a closure of the relation between subsets of objects and attributes. From this mathematical property, FCA derives the notion of closed item set, also known as Formal Concept. Following the example in Table 2.1, if one selects the common properties of rings and shoes she will obtain the two attributes Wearable and Solid, as they do not share any other. However, they are not the only solid and wearable products in the list. If then she derives all the objects that are wearable and solid, the set will also include hats and watches. At this point the relation is closed, meaning that no other objects will share the two attributes and no other attribute is shared by the resulting set of objects.
Formally, it is possible to derive a concept starting from any object x in the Formal Concept, as follows. Let’s consider a closure operator0 such that x0 = Y , Y is all the attributes of the object x. The same operator can be re-applied to the obtained attribute set Y0 = X, returning all the objects having them. The pair hX, Y i is a closed item set, or Formal Concept, where X and Y are the extent and intent of the concept, respectively. (This process can be followed starting from any attribute y in the same way, such that hy0, y00i is also a concept.)
Definition 2.2 (Formal Concept) A formal concept in hX, Y, Ii is a pair of sets hA, Bi of A ⊆ X andB ⊆ Y , such that A0 = B and B0 = A.
In other words, A, B is a Formal Concept if f A contains only objects sharing all attributes from B and B contains just the attributes shared by all members of A. Tables 2.2 and 2.3 show two formal concepts derivable from the formal context of Table 2.1.
Formal Concepts are ordered using a subconcept-superconcept relation. In our ex- ample, superconcepts of edible liquids are the edibles h{Lollypop, W hiskey, Ice −
Table 2.3: Example of formal concept. The concept intension is the set {Liquid, Edible}, while the extension is {W hiskey, Ice − Cream, Cof f ee}.
- Liquid Edible Solid
Drone x Lollypop x x Watch x Ring x Shoes x Detergent x Whiskey x x Ice-Cream x x x Coffee x x
Cream, Cof f ee}, {Edible}i and the liquids h{Detergent, W hiskey, Ice − Cream, Cof f ee}, {Liquid}i. Similarly, a subconcept of wearable solids is pocketable, wearable solidsh{Hat, Ring, W atch}, {pocketable, W earable, Solid}i.
This relation is defined as follows:
Definition 2.3 (Subconcept-superconcept ordering: ≤) For two concepts hA1, B1i and hA2, B2i, both member ofhX, Y, Ii, hA1, B1i ≤ hA2, B2i if f A1 ⊆ A2 (if f B2 ⊆ B1)
The symbol ≤ represents a partial order, meaning that the concept hA1, B1i is more specific then hA2, B2i (and counter-wise hA2, B2i is more general).
The collection of all Formal Concepts of a given Formal Context is called Concept Lattice, and it is defined as the association between a Formal Context and the previously defined ordering operator.
Definition 2.4 (Concept Lattice) C(X, Y, I) is the collection of all formal concepts of the context hX, Y, Ii, therefore:
C(X, Y, I) = {hA, Bi 3 2X, 2Y|A0 = B, B0 = A}
i.e.A is a member of the powerset of objects and B is a member of the powerset of attributes, and for each object setA in 2X there exists an attribute setB in 2Y such thatA0 = B and B0 = A. This definition reflects a fundamental property of Galois connections, where our closure operator 0 is represented as a pair of monotonic functions, which establish a biunivocal relation between the two sets. Figure 2.2 shows the lattice resulting from the formal context of Table 2.1. At the top of the lattice is the concept of all products, with an empty intent. Conversely, at the bottom is the concept of all features, with an empty extent. These two origins of the lattice are called the Supremumand the Infimum concepts, and are defined as follows:
2.3. FORMAL CONCEPT ANALYSIS (FCA) 29 Figure 2.2: Concept Lattice
all products {...}, {Solid} {...}, {Liquid} {...}, {Edible} {...}, {Edible, Liquid} {...}, {Edible, Solid} {...}, {W earable, Solid} {...}, {P owered, Solid} {...}, {P ocketable, Solid}
{...}, {P ocketable, Solid, W earable}
{W atch}, {...}
{...}, {T oy, P ocketable, Solid}
{Ice − Cream}, {...}
{Lollypop}, {...}
allf eatures
Definition 2.5 (Infimum) The bottom node of the Concept Lattice, being the Concept with the smallest extent (and largest intent).
Definition 2.6 (Supremum) The top node of the Concept Lattice, being the Concept with the smallest intent (and largest extent).
Between the two extremes of the lattice, all other nodes (concepts) are connected through the ordering relation ≤ (see Figure 2.2).
Research on FCA and its applications include several aspects. The generation of the concept set and the ordering operation are problematic in terms of complexity and many algorithms have been designed to compute lattices, already prior to the development of FCA as a discipline. The
solutions vary in many details, but they usually rely on two general approaches. A waterfall approach generates all concept sets and then performs the lattice construction (ordering) (for example Chein [Chein (1969)]), while an incremental approach creates and modifies a lattice on the go (for example Godin [Godin et al. (1995)]). A comparative description of the properties of classic FCA algorithms is in [Kuznetsov and Obiedkov (2002)]. An interesting aspect of FCA applications is related to user interaction, referring to the scalability and usability of interfaces, and to sense- making. This last aspect becomes problematic when the size of the concept set increases, particularly in the presence of sparse data, when very few attributes are shared among a small number of objects. FCA is also a clustering technique, and shares with other Data Mining approaches the problem of explanation, also known as concept labelling. Indeed, assigning a meaningful, descriptive and informative name to each concept in the lattice can be a tedious and difficult task. Therefore, approaches to assist the user have been developed in advanced interfaces. Other approaches modify the lattice by removing concepts considered less informative, depending on the size of the extent or intent. These approaches rarely generalize outside specific domains or use cases. Another common area of application of FCA is for association rule mining, for example to generate recommendations. FCA has been also studied in the context of Information Retrieval (IR) [Cimiano et al. (2005)] and Knowledge Discovery [Codocedo and Napoli (2015); Poelmans et al. (2010)]. Two recent surveys illustrate advances in techniques and applications of FCA [Poelmans et al. (2013a,b)].
Formal Concept Analysis as a research area is not directly related to Knowledge Engineering. However FCA received interest as a classification method in particular in approaches for bottom-up ontology construction [Cimiano et al. (2004); Obitko et al. (2004); Van Der Vet and Mars (1998)], and more recently in Semantic Web and Linked Data research [Alam and Napoli (2015); Ferré (2015)].