Formal concept analysis
| This article may be expanded with text translated from the corresponding article in the German Wikipedia. (February 2012)
Click [show] on the right to read important instructions before translating.
|
In information science, formal concept analysis is a principled way of deriving a concept hierarchy or formal ontology from a collection of objects and their properties. Each concept in the hierarchy represents the set of objects sharing the same values for a certain set of properties; and each sub-concept in the hierarchy contains a subset of the objects in the concepts above it. The term was introduced by Rudolf Wille in 1984, and builds on applied lattice and order theory that was developed by Birkhoff and others in the 1930s.
Formal concept analysis finds practical application in fields including data mining, text mining, machine learning, knowledge management, semantic web, software development, and biology.
Contents |
Overview and history [edit]
The original motivation of formal concept analysis was the concrete representation of complete lattices and their properties by means of formal contexts, data tables that represent binary relations between objects and attributes. In this theory, a formal concept is defined to a pair consisting of a set of objects (the "extent") and a set of attributes (the "intent") such that the extent consists of all objects that share the given attributes, and the intent consists of all attributes shared by the given objects. In this way, formal concept analysis formalizes the notions of extension and intension.
Pairs of formal concepts may be partially ordered by the subset relation between their sets of objects, or equivalently by the superset relation between their sets of attributes. This ordering results in a graded system of sub- and superconcepts, a concept hierarchy, which can be displayed as a line diagram. The family of these concepts obeys the mathematical axioms defining a lattice, and is called more formally a concept lattice. In French this is called a treillis de Galois (Galois lattice) because of the relation between the sets of concepts and attributes is a Galois connection.
The theory in its present form goes back to the Darmstadt research group led by Rudolf Wille, Bernhard Ganter and Peter Burmeister, where formal concept analysis originated in the early 1980s. The mathematical basis, however, was already created by Garrett Birkhoff in the 1930s as part of the general lattice theory. Before the work of the Darmstadt group, there were already approaches in various French groups. Philosophical foundations of formal concept analysis refer in particular to Charles S. Peirce and the educationalist Hartmut von Hentig.
Motivation and philosophical background [edit]
In his article Restructuring Lattice Theory (1982) initiating formal concept analysis as a mathematical discipline, Rudolf Wille starts from a discontent with the current lattice theory and pure mathematics in general: The production of theoretical results - often achieved by "elaborate mental gymnastics" - were impressive, but the connections between neighbouring domains, even parts of a theory were getting weaker.
Restructuring lattice theory is an attempt to reinvigorate connections with our general culture by interpreting the theory as concretely as possible, and in this way to promote better communication between lattice theorists and potential users of lattice theory.[1]
This aim traces back to Hartmut von Hentig, who in 1972 plaided for restructuring sciences in view of better teaching and in order to make sciences mutually available and more generally (i.e. also without specialized knowledge) criticable.[2] Hence, by its origins formal concept analysis aims at interdisciplinarity and democratic control of research.[3]
It corrects the starting point of lattice theory during the development of formal logic in 19th century. Then - and later in model theory - a concept as unary predicate had been reduced to its extent. Now again, the philosophy of concepts should become less abstract by considering the intent. Hence, formal concept analysis is oriented towards the categories extension and intension of linguistics and classical conceptual logic.[4]
FCA aims at the clarity of concepts according to Charles S. Peirce's pragmatic maxim by unfolding observable, elementary properties of the subsumed objects.[3] In his late philosophy, Peirce assumed that logical thinking aims at perceiving reality, by the triade concept, judgement and conclusion. Mathematics is an abstraction of logic, develops patterns of possible realities and therefore may support rational communication. On this background, Wille defines:
The aim and meaning of Formal Concept Analysis as mathematical theory of concepts and concept hierarchies is to support the rational communication of humans by mathematically developing appropriate conceptual structures which can be logically activated.[5]
Example [edit]
Consider O = {1,2,3,4,5,6,7,8,9,10}, and A = {composite, even, odd, prime, square}. The smallest concept including the number 3 is the one with objects {3,5,7}, and attributes {odd, prime}, for 3 has both of those attributes and {3,5,7} is the set of objects having that set of attributes. The largest concept involving the attribute of being square is the one with objects {1,4,9} and attributes {square}, for 1, 4 and 9 are all the square numbers and all three of them have that set of attributes. It can readily be seen that both of these example concepts satisfy the formal definitions below
The full set of concepts for these objects and attributes is shown in the illustration. It includes a concept for each of the original attributes: the composite numbers, square numbers, even numbers, odd numbers, and prime numbers. Additionally it includes concepts for the even composite numbers, composite square numbers (that is, all square numbers except 1), even composite squares, odd squares, odd composite squares, even primes, and odd primes.
Contexts and concepts [edit]
A (formal) context consists of a set of objects O, a set of unary attributes A, and an indication of which objects have which attributes. Formally it can be regarded as a bipartite graph I ⊆ O × A.
| composite | even | odd | prime | square | |
|---|---|---|---|---|---|
| 1 | √ | √ | |||
| 2 | √ | √ | |||
| 3 | √ | √ | |||
| 4 | √ | √ | √ | ||
| 5 | √ | √ | |||
| 6 | √ | √ | |||
| 7 | √ | √ | |||
| 8 | √ | √ | |||
| 9 | √ | √ | √ | ||
| 10 | √ | √ |
A (formal) concept for a context is defined to be a pair (Oi, Ai) such that
- Oi ⊆ O
- Ai ⊆ A
- every object in Oi has every attribute in Ai
- for every object in O that is not in Oi, there is an attribute in Ai that the object does not have
- for every attribute in A that is not in Ai, there is an object in Oi that does not have that attribute
Oi is called the extent of the concept, Ai the intent.
A context may be described as a table, with the objects corresponding to the rows of the table, the attributes corresponding to the columns of the table, and a Boolean value (in the example represented graphically as a checkmark) in cell (x, y) whenever object x has value y.
A concept, in this representation, forms a maximal subarray (not necessarily contiguous) such that all cells within the subarray are checked. For instance, the concept highlighted with a different background color in the example table is the one describing the odd prime numbers, and forms a 3 × 2 subarray in which all cells are checked.[6]
Concept lattice of a context [edit]
The concepts (Oi, Ai) defined above can be partially ordered by inclusion: if (Oi, Ai) and (Oj, Aj) are concepts, we define a partial order ≤ by saying that (Oi, Ai) ≤ (Oj, Aj) whenever Oi ⊆ Oj. Equivalently, (Oi, Ai) ≤ (Oj, Aj) whenever Aj ⊆ Ai.
Every pair of concepts in this partial order has a unique greatest lower bound (meet). The greatest lower bound of (Oi, Ai) and (Oj, Aj) is the concept with objects Oi ∩ Oj; it has as its attributes the union of Ai, Aj, and any additional attributes held by all objects in Oi ∩ Oj. Symmetrically, every pair of concepts in this partial order has a unique least upper bound (join). The least upper bound of (Oi, Ai) and (Oj, Aj) is the concept with attributes Ai ∩ Aj; it has as its objects the union of Oi, Oj, and any additional objects that have all attributes in Ai ∩ Aj.
These meet and join operations satisfy the axioms defining a lattice. In fact, by considering infinite meets and joins, analogously to the binary meets and joins defined above, one sees that this is a complete lattice. It may be viewed as the Dedekind–MacNeille completion of a partially ordered set of height two in which the elements of the partial order are the objects and attributes of A and in which two elements x and y satisfy x ≤ y exactly when x is an object that has attribute y.
Any finite lattice may be generated as the concept lattice for some context. For, let L be a finite lattice, and form a context in which the objects and the attributes both correspond to elements of L. In this context, let object x have attribute y exactly when x and y are ordered as x ≤ y in the lattice. Then, the concept lattice of this context is isomorphic to L itself.[7] This construction may be interpreted as forming the Dedekind–MacNeille completion of L, which is known to produce an isomorphic lattice from any finite lattice.
Concept algebra of a context [edit]
Modelling negation in a formal context is somewhat problematic because the complement (O\Oi, A\Ai) of a concept (Oi, Ai) is in general not a concept. However, since the concept lattice is complete one can consider the join (Oi, Ai)Δ of all concepts (Oj, Aj) that satisfy Oj ⊆ G\Oi; or dually the meet (Oi, Ai)𝛁 of all concepts satisfying Aj ⊆ G\Ai. These two operations are known as weak negation and weak opposition, respectively.
This can be expressed in terms of the derivative functions. The derivative of a set Oi ⊆ O of objects is the set Oi' ⊆ A of all attributes that hold for all objects in Oi. The derivative of a set Ai ⊆ A of attributes is the set Ai' ⊆ O of all objects that have all attributes in Ai. A pair (Oi, Ai) is a concept if and only if Oi' = Ai and Ai' = Oi. Using this function, weak negation can be written as
- (Oi, Ai)Δ = ((G\A)'', (G\A)'),
and weak opposition can be written as
- (Oi, Ai)𝛁 = ((M\B)', (M\B)'').
The concept lattice equipped with the two additional operations Δ and 𝛁 is known as the concept algebra of a context. Concept algebras are a generalization of power sets.
Weak negation on a concept lattice L is a weak complementation, i.e. an order-reversing map Δ: L → L which satisfies the axioms xΔΔ ≤ x and (x⋀y) ⋁ (x⋀yΔ) = x. Weak composition is a dual weak complementation. A (bounded) lattice such as a concept algebra, which is equipped with a weak complementation and a dual weak complementation, is called a weakly dicomplemented lattice. Weakly dicomplemented lattices generalize distributive orthocomplemented lattices, i.e. Boolean algebras.[8][9]
Recovering the context from the line diagram [edit]
The line diagram of the concept lattice encodes enough information to recover the original context from which it was formed. Each object of the context corresponds to a lattice element, the element with the minimal object set that contains that object, and with an attribute set consisting of all attributes of the object. Symmetrically, each attribute of the context corresponds to a lattice element, the one with the minimal attribute set containing that attribute, and with an object set consisting of all objects with that attribute. We may label the nodes of the line diagram with the objects and attributes they correspond to; with this labeling, object x has attribute y if and only if there exists a monotonic path from x to y in the diagram.[10]
Efficient construction [edit]
Kuznetsov & Obiedkov (2001) survey the many algorithms that have been developed for constructing concept lattices. These algorithms vary in many details, but are in general based on the idea that each edge of the line diagram of the concept lattice connects some concept C to the concept formed by the join of C with a single object. Thus, one can build up the concept lattice one concept at a time, by finding the neighbors in the line diagram of known concepts, starting from the concept with an empty set of objects. The amount of time spent to traverse the entire concept lattice in this way is polynomial in the number of input objects and attributes per generated concept.
Tools [edit]
Many FCA software applications are available today. The main purpose of these tools varies from formal context creation to formal concept mining and generating the concepts lattice of a given formal context and the corresponding association rules. Most of these tools are academic and still under active development. One can find a non exhaustive list of FCA tools in the FCA software website. Most of these tools are open-source applications like ConExp, ToscanaJ, Lattice Miner,[11] Coron, FcaBedrock, etc.
See also [edit]
- Biclustering
- Description logic
- Cluster analysis
- Concept mining
- Conceptual clustering
- Factor analysis
Notes [edit]
- ^ Rudolf Wille: Restructuring lattice theory: An approach based on hierarchies of concepts. Reprint in: ICFCA '09: Proceedings of the 7th International Conference on Formal Concept Analysis, Berlin, Heidelberg, 2009, p. 314.
- ^ Hartmut von Hentig: Magier oder Magister? Über die Einheit der Wissenschaft im Verständigungsprozeß. Klett 1972 / Suhrkamp 1974. Cited after Karl Erich Wolff: Ordnung, Wille und Begriff, Ernst Schröder Zentrum für Begriffliche Wissensverarbeitung, Darmstadt 2003.
- ^ a b Johannes Wollbold: Attribute Exploration of Gene Regulatory Processes. PhD thesis, University of Jena 2011, p. 9
- ^ Bernhard Ganter, Bernhard and Rudolf Wille: Formal Concept Analysis: Mathematical Foundations. Springer, Berlin, ISBN 3-540-62771-5, p. 1
- ^ Rudolf Wille: Formal Concept Analysis as Mathematical Theory of Concepts and Concept Hierarchies. In: B. Ganter et al.: Formal Concept Analysis. Foundations and Applications, Springer, 2005, p. 1f.
- ^ Wolff, section 2.
- ^ Stumme, Theorem 1.
- ^ Wille, Rudolf (2000), "Boolean Concept Logic", in Ganter, B.; Mineau, G. W., ICCS 2000 Conceptual Structures: Logical, Linguistic and Computational Issues, LNAI 1867, Springer, pp. 317–331, ISBN 978-3-540-67859-5.
- ^ Kwuida, Léonard (2004), Dicomplemented Lattices. A contextual generalization of Boolean algebras, Shaker Verlag, ISBN 978-3-8322-3350-1
- ^ Wolff, section 3.
- ^ Boumedjout Lahcen and Leonard Kwuida. Lattice Miner: A Tool for Concept Lattice Construction and Exploration. In Suplementary Proceeding of International Conference on Formal concept analysis (ICFCA'10), 2010
References [edit]
- Ganter, Bernhard; Stumme, Gerd; Wille, Rudolf, eds. (2005), Formal Concept Analysis: Foundations and Applications, Lecture Notes in Artificial Intelligence, no. 3626, Springer-Verlag, ISBN 3-540-27891-5
- Ganter, Bernhard; Wille, Rudolf (1998), Formal Concept Analysis: Mathematical Foundations, Springer-Verlag, Berlin, ISBN 3-540-62771-5. Translated by C. Franzke.
- Carpineto, Claudio; Romano, Giovanni (2004), Concept Data Analysis: Theory and Applications, Wiley, ISBN 978-0-470-85055-8.
- Kuznetsov, Sergei O.; Obiedkov, Sergei A. (2001), "Algorithms for the Construction of Concept Lattices and Their Diagram Graphs", Principles of Data Mining and Knowledge Discovery, Lecture Notes in Computer Science 2168, Springer-Verlag, pp. 289–300, doi:10.1007/3-540-44794-6_24, ISBN 978-3-540-42534-2.
- Wolff, Karl Erich (1994), "A first course in Formal Concept Analysis", in F. Faulbaum, StatSoft '93, Gustav Fischer Verlag, pp. 429–438.
- Davey, B.A.; Priestley, H. A. (2002), "3. Formal Concept Analysis", Introduction to Lattices and Order, Cambridge University Press, ISBN 978-0-521-78451-1.