Abstract
Formalization of human thinking helps in fostering the process of learning by giving an explicit representation to human thoughts. Formal Concept Analysis (FCA) finds it’s core here. It considers a “concept” as a formal unit of human thought. A concept is represented as a set of inter related objects called the extent and the set of the properties of these objects, called the intent. Making use of the mathematical principles of Lattice Theory and Map Theory of Abstract Algebra, a set of tools and algorithms have been developed in FCA. These helps us to analyze and represent any context as a relation between it’s extent and intent. Concepts drawn from the subsets of the extent and intent can be organized in the form of a lattice giving a subsumption hierarchy. Such concept lattices could be maintained by different operations on the lattice like scaling, pruning, navigating etc. A host of applications and software have been developed over the years which serves the usage of FCA tools and processes for specific purposes in various fields. This paper reviews the theoretical foundation, research and applications of FCA in different areas. The paper projects current trends in FCA and concludes with a discussion on open issues and limitations of FCA.
Similar content being viewed by others
Notes
Legends used in the formal context ‘Classes of sub-phylum Vertebrata of animalia kingdom’:
Attributes: TER: Terrestial, ACQ: Aquatic, JAW: Jawed, HBLD: Hot-blooded, CBLD: Cold-blooded, FUR: Have fur, FLY: Flying, EGG: Egg-laying, MLK: Breast feeding, SHL: Shell on body, MSF: Muscular feet, PRS: Parasitic, BON: With bone
Objects: AMP: Amphibian, RPT: Reptilian, AVS: Aves, PSC: Pisces, CYL: Cyclostomata, MML: Mammal, MRP: Marsipobranchia, LPT: Leptocardia
In mathematical order theory, MEET and JOIN are two binary operations on a partially ordered set that respectively gives the supremum or Greatest Lower Bound and infimum or Lowest Upper Bound of their arguments, if they exist. MEET is denoted by \(\wedge \) and JOIN by \(\vee \).
Legends used in the formal context ’Characteristics of species of Mammalia class’:
-
Attributes: DOM-Domesticated; DNT-Sharp denotation; ACQ-Lives in water; EGG-Egg laying; UGR-Underground; PRY-Preying; Objects: PLP-PLATYPUS(Ornithorhynchus anatinus); CHT-CHEETAH(Acinonyx jubatus); DLP-DOLPHIN; ROD-RODENT(Class RODENTIA); RBT-RABBIT(Order Lagomorpha);ELE-ELEPHANT (Family Elephantidae); HMN-HUMAN(Homo Sapiens); DOG-(Canis lupus familiaris);
-
The Z notation, named after Zermelo-Fraenkel set theory, is a formal specification language used for describing and modeling computing systems. All expressions in Z notation are typed
In the Table 4, ‘*’ represents the root of the noun. Inflectional paradigms are the set of affixes to a root word denoting the grammatical features of the root word
Observational theory is a set of observational statements of the form \(\forall x|\upvarphi (\text{ x }) \rightarrow \uppsi (\text{ x })\) over a set of primitive predicates \(\Sigma \) such that \(\upvarphi , \Psi \in \text{ T } (\Sigma ), \text{ T } (\Sigma )\) being a free Algebra over \(\Sigma \)
In Table 7, only abstracts of the papers marked * were accessible. ** is the seminal paper in German by Kipke and Wille on application of FCA to Semantics
References
Ammons G, Mandelin D, Bodík R, Larus JR, (2003) Debugging temporal specifications with concept analysis. In: Proceedings of the ACM SIGPLAN, 2003 conference on programming language design and implementation, PLDI ’03. ACM, New York, NY, pp 182–195. doi:10.1145/781131.781152
Andrews S, Polovina S (2011) A mapping from conceptual graphs to formal concept analysis. Springer, Berlin, pp 63–76. URL http://shura.shu.ac.uk/3804/
Aversano L, Bruno M, Penta Massimiliano, Falanga A, Scognamiglio R (2005) Visualizing the evolution of web services using formal concept analysis. In: Proceedings of the eighth international workshop on principles of software evolution, IEEE Computer Society, pp 57–60
Barwise J, Seligmann J (1997) Infomation flow: the logic of distributed systems. Cambridge University Press, Cambridge
Basili R, Pazienza MT, Vindigni M (1997) Corpus-driven unsupervised learning of verb subcategorization frames. In: AI*IA ’97 proceedings of the 5th congress of the Italian association for artificial intelligence on advances in artificial intelligence. Springer, London, pp 159–170
Bastide Y, Pasquier N, Taouil R, Stumme G, Lakhal L (2000) Mining minimal non-redundant association rules using frequent closed itemsets. In: Proceedings of the first international conference on computational logic, CL ’00. Springer, London, pp 972–986. URL http://dl.acm.org/citation.cfmid=647482.728293
Bastide Y, Taouil R, Pasquier N, Stumme G, Lakhal L (2000) Mining frequent patterns with counting inference. SIGKDD Explor Newslett 2(2):66–75. doi:10.1145/380995.381017
Becker P, Correia JH (2005) The ToscanaJ suite for imple menting conceptual information systems. Springer, Berlin, pp 324–348
Bell T (1999) The concept of dynamic analysis. In: Proceedings of the 7th European software engineering conference held jointly with the 7th ACM SIGSOFT international symposium on foundations of software engineering, ESEC/FSE-7. Springer, London, pp 216–234. doi:10.1145/318773.318944
Belohlavek R, Vychodil V, (2010) Background knowledge in formal concept analysis: constraints via closure operators. In: Proceedings of the 2010 ACM symposium on applied computing, SAC ’10. ACM, New York, NY, pp 1113–1114. doi:10.1145/1774088.1774322
Biddle R, Noble J, Tempero E, (2002) From essential use cases to objects. In: forUSE, 2002: proceedings of the first international conference on usage-centered, task-centered, and performance-centered design. Ampersand Press, Rowley, MA
Boon C, Kheng R (2006) A knowledge-driven model to personalize e-learning. ACM J Educ Resourc Comput 6:1–15
Bruno M, Canfora G, Penta MD, Scognamiglio R (2005) An approach to support web service classification and annotation. In: Proceedings of IEEE international conference on e-Technology, e-Commerce and e-Service. IEEE Press, New York, In, pp 138–143
Cole Tilley (2003) Conceptual analysis of software structure. In: Fifteenth international conference on software engineering and knowledge engineering, SEKE 03. Knowledge Systems Institute, USA, pp 726–733
Dequenne V, Guigues J (1986) Familles minimales d’implications informatives resultant d’un tableau de donnees binaries. Math Sci Humaines 95:5–18
Deursen AV, Kuipers T (1999) Identifying objects using cluster and concept analysis. In: ICSE-99 21st international conference on software engineering. ACM, New York, pp 246–255
Duwell S, Hesse W (2000) Bridging the gap between use case analysis and class structure design by formal concept analysis. In: Modellierung 2000. Koblenz, pp 27–40
Eisenbarth T, Koschke R, Daniel S (2001) Feature-driven program understanding using concept analysis of execution traces. In: Proceedings of the 9th international workshop on program comprehension, IWPC ’01, IEEE Computer Society, Washington, DC, p 300. URL http://dl.acm.org/citation.cfmid=876902.881278
Eisenbarth T, Koschke R, Simon D (2001) Aiding program comprehension by static and dynamic feature analysis. In: Proceedings of the IEEE international conference on software maintenance (ICSM’01). IEEE Computer Society, Washington, DC, p 602. doi:10.1109/ICSM.2001.972777
Eisenbarth T, Koschke R, Simon D (2003) Locating features in source code. IEEE Trans Softw Eng 29(3): 210–224. doi:10.1109/TSE.2003.1183929
Eklund P, Ducrou J (2009) Knowledge acquisition: approaches, algorithms and applications, chap. Navigation and annotation with formal concept analysis. Springer, Berlin
Everts TJ, Park SS, Kang BH (2006) Using formal concept analysis with an incremental knowledge acquisition system for web document management. In: Estivill-Castro V, Dobbie G (eds) Proceedings of the 29th Australasean computer science conference, CRPIT, vol 48. Australian Computer Society, Sydney, pp 247–256
Finn V (2009) Timely notes about the JSM method for automatic hypothesis generation. Autom Documentation Math Linguist 43(5):257–269. doi:10.3103/S0005105509050021
Funk P, Lewien A, Snelting G, Braunschweig T, Softwaretechnologie A (1995) Algorithms for concept lattice decomposition and their application. Tech Rep. http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.51.2804
Ganter B, Stumme G (2003) Formal concept analysis: methods and applications in computer science: Adapted by G. Stumme. Springer, Heidelberg
Ganter B, Wille R (1989) Conceptual scaling. In: Roberts F (ed) Applications of combinatorics and graph theory to the biological and social sciences. Springer, Berlin, pp 139–167
Ganter B, Wille R (1999) Formal concept analysis-mathematical foundation. Springer, Berlin
Gerd S (1995) Exploration tools in formal concept analysis. In: Organic and symbolic data structure: proceedings of the international conference on ordinal and symbolic data analysis-OSDA, Paris pp 31–44
Gerd S (2002) Tutorial in formal concept analysis—as delivered in ecml-pkdd in helsinki (online). Retrieved from http://www.aifb.unikarlsruhe.de/WBS/gst/FBA03.shtml
Gerd S, Rafik T, Yevis B, Nicholas P, Lotfi L (2000) Fast computation of concept lattice using data min-ing techniques. In: Proceedings of 7th international workshop on knowledge representation meets databases. CEURWorkshop Proceeding, Berlin, pp 21–22
Godin R, Mili H (1993) Building and maintaining analysis-level class hierarchies using galois lattices. In: Proceedings of the eighth annual conference on Object-oriented programming systems, languages, and applications, OOPSLA ’93. ACM, New York, NY, pp 394–410. doi:10.1145/165854.165931
Godin R, Mineau GW, Missaoui R, Germain M, Faraj N (1995) Applying concept formation methods to software reuse. Int J Softw Eng Knowl Eng 5(1):119–142
Gong W (2012) Can one hear the shape of a concept? In: Control conference (CCC), 2012 31st Chinese, pp 22–26
Gregor K et al (1997) (1997) Aspect-oriented programming. In: Proceedings of the European conference on object-oriented programming (ECOOP)
Hotho A, Stumme G, Tane J (2004) Conceptual knowledge processing with formal concept analysis and ontologies. In: Proceedings of second international conference on formal concept analysis in Sydney, Australia, pp 189–207
Jacobson I (1992) Object-oriented software angineering: a use case driven approach. Addison Wesley Longman Publishing Co, Inc, Redwood City, CA
Kenneth K (1998) Vertebrates: comparative anatomy, function, evolution. McGraw-Hill, New York
Kokla M, Kavouras M (2000) Concept lattices as a formal method for the integration of geospatial ontologies. In: Proceedings of EuroConference on ontology and epistemology for spatial data standards
Krone M, Snelting G (1994) On the inference of configuration structures from source code. In: Proceedings of the 16th international conference on software engineering, ICSE ’94. IEEE Computer Society Press, Los Alamitos, CA, pp 49–57. URL http://dl.acm.org/citation.cfmid=257734.257742
Kuznetkov S (2005) Galois connection in data analysis: contributions from the soviet era and modern russian research. Foundations and Applications, Formal Concept Analysis, pp 196–214
Kuznetsov S, Obiedkov S (2002) Comparing performance of algorithms for generating concept lattices. J Exp Theor Artif Intel 14:189–216
Lakhal L, Stumme G (2005) Efficient mining of association rules based on formal concept analysis. In: Lecture notes in computer science, pp 180–195
Lindig C (1995) Concept-based component retrieval. In: Working notes of the IJCAI-95 workshop: formal approaches to the reuse of plans, proofs, and programs, pp 21–25
Liquiere M, Sallantin J (1998) Structural machine learning with galois lattice and graphs. In: Proceedings of the (1998) international conference on machine learning (ICML’98). Morgan Kaufmann, Los Altos, CA, pp 305–313
Liu B, Mahadevan S, Liu J (2012) Regularized off-policy td-learning. In: 2012 conference book, neural information processing systems. Harvey’s Convention Centre Floor CC
Mahadevan S, Liu B (2010) Basis construction from power series expansions of value functions. In: Lafferty J, Williams CKI, Shawe-Taylor J, Zemel R, Culotta A (eds) Advances in neural information processing systems, vol 23, pp 1540–1548
Mahadevan S, Liu B (2012) Sparse q-learning with mirror descent. CoRR abs/1210.4893
Mens K, Tourwe T (2004) Mining aspectual views using formal concept analysis. In: Fourth IEEE international workshop on source code analysis and manipulation. IEEE, pp 97–106
Mens K, Tourwe T (2004) Reverse engineering aspectual views using formal concept analysis. In: Poition paper in workshop on object oriented reenggineering in ECOOP(2004), Oslo
Mill JS (1890) A system of logic, ratiocinative and inductive: being a connected view of the principles of evidence, and the methods of scientific investigation, 8th edn. Harprer & Brothers Publishers, New York
Muhle H, Wende C (2010) Describing role models in terms of formal concept analysis. In: Proceedings of the 8th international conference on formal concept analysis, ICFCA’10. Springer, Berlin, pp 241–254
Niyogi P, He X (2004) Locality preserving projections. In: Neural information processing systems, vol 16, p 153
Old LJ, Priss U (2001) Metaphor and information flow. In: Proceedings of the 12th midwest artificial intelligence and cognitive science conference, pp 99–104
Osswald R, Petersen W (2002) Induction of classification from linguistic data. In: Proceedings of the ECAI-workshop on advances in formal concept analysis for knowledge discovery in databases, Lyon
Priss U (1996) Classification of meronymy by methods of relational concept analysis. In: Proceedings of the 1996 midwest artificial intelligence conference
Priss U (2005) Linguistic applications of formal concept analysis. Foundations and applications, formal concept, analysis, pp 149–160
Priss U (2006) Formal concept analysis in information science. Annu Rev Inf Sci Technol 40:521–543
Qadi AE, Aboutajdine D, Ennouary Y (2010) Formal concept analysis for information retrieval. CoRR abs/1003.1494
Richards D, Boettger K (2002) Representing requirements in natural language as concept lattices. In: 22nd annual international conference of the British computer society’s specialist group on artificial intelligence (SGES), (ES2002) Cambridge
Richards D, Compton P (1997) Combining formal concept analysis and ripple down rules to support the reuse of knowledge. In: Proceedings of the ninth international conference on software engineering and knowledge engineering SEKE’ 97, Madrid, Spain, pp 177–184
Roweis ST, Saul LK (2000) Nonlinear dimensionality reduction by locally linear embedding. Science 290:2323–2326
Schupp S, Krishnamoorthy M, Zalewski M, Kilbride J (2002) The “right” level of abstraction-assessing reusable software with formal concept analysis. In: Angelova G, Corbett D, Priss U (eds) Foundations and applications of conceptual structures-contributions to ICCS 2002. Bulgarian Academy of Sciences, pp 74–91
Sertkaya B (2009) Ontology completion with formal concept analysis. Theor Comput Sci. TU Dresden, Germany, p 26
Siff M, Reff T (1999) Identifying modules using concept analysis. IEEE Trans Softw Eng 25(6): 749–768
Snelting G (1996) Reengineering of configurations based on mathematical concept analysis. ACM Trans Softw Eng Methodol 5(2):146–189. doi:10.1145/227607.227613
Snelting G (2000) Software reengineering based on concept lattices. In: Proceedings of the conference on software maintenance and reengineering, CSMR ’00. IEEE Computer Society, Washington, DC, p 3. http://dl.acm.org/citation.cfmid=518900.795275
Snelting G, Tip F (1998) Reengineering class hierarchies using concept analysis. In: Proceedings of the 6th ACM SIGSOFT international symposium on foundations of software engineering, SIG-SOFT ’98/FSE-6. ACM, New York, NY, pp 99–110. doi:10.1145/288195.288273
Snelting G, Tip F (2000) Understanding class hierarchies using concept analysis. ACM Trans Program Lang Syst 22(3):540–582. doi:10.1145/353926.353940
Steimann F (2000) On the representation of roles in object-oriented and conceptual modelling. Data Knowl Eng 35(1):83–106
Stumme G (1996) Local scaling in conceptual data systems. In: Proceedings of the 4th international conference on conceptual structures: knowledge representation as interlingua, ICCS ’96. Springer, London, pp 308–320. http://dl.acm.org/citation.cfm?id=645489.656896
Stumme G (2002) Using ontologies and formal concept analysis for organizing business knowledge. In: Proceeedings of Referenzmodellierung. Physica, Wurzburg, pp 163–174
Stumme G, Darmstadt TH, Mathematik F (1997) Concept exploration a tool for creating and exploring conceptual hierarchies. In: Proceedings of the 5th international conference on conceptual structures. Springer, Berlin, pp 318–331
Stumme G, Maedche A (2001) Fca-merge: bottom-up merging of ontologies. In: Proceedings of IJCAI, pp 225–234
Stumme G, Taouil R, Bastide Y, Pasquier N, Lakhal L (2002) Computing iceberg concept lattices with titanic. Data Knowl Eng 42(2):189–222. doi:10.1016/S0169-023X(02)00057-5
Sutton SM Jr, Rouvellou I (2002) Modeling of software concerns in cosmos. In: Proceedings of the 1st international conference on Aspect-oriented software development, AOSD ’02. ACM, New York, NY, pp 127–133. doi:10.1145/508386.508402
Swanson EB (1976) The dimensions of maintenance. In: Proceedings of the 2nd international conference on software engineering, ICSE ’76. IEEE Com puter Society Press, Los Alamitos, CA, pp 492–497. http://dl.acm.org/citation.cfmid=800253.807723
Thomas T, Richard C, Becker P, Eklund P (2005) A survey of formal concept analysis support for software engineering activities. LNCS 3626:250–271
Tilley T (2004) Formal concept analysis applications to requirements engineering and design. PhD Thesis
Tonella P, Antoniol G (1999) Object oriented design pattern inference. In: Proceedings of the IEEE international conference on software maintenance, ICSM ’99. IEEE Computer Society, Washington, DC, p 230. http://dl.acm.org/citation.cfmid=519621.853393
Tonella P, Di Francescomarino C (2008) Business process concern documentation and evolution. Technical Report. Fondazione Bruno Kessler (FBK-IRST), Trento
Wiegers K (1997) Listening to the customer’s voice. Softw Dev 5(3):49–55. http://dl.acm.org/citation.cfm?id=252435.252443
Wille R (1982) Restructuring lattice theory: an approach based on hierarchies of concepts. In: Rival I (ed) Ordered sets. Reidel, Dordrecht
Wille R, Kipke (1987) Formale begriffsanalyse erlautert an einem wortfeld. In: LDV-Forum 5, pp 31–36
Woods WA (1991) Understanding subsumption and taxonomy: framework for progress. Explorations in the representation of knowledge, principles of semanteic, network, pp 45–94
Zhang Y, Feng B (2008) Clustering search results based on formal concept analysis. Inf Technol J 7:746–753
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Sarmah, A.K., Hazarika, S.M. & Sinha, S.K. Formal concept analysis: current trends and directions. Artif Intell Rev 44, 47–86 (2015). https://doi.org/10.1007/s10462-013-9404-0
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10462-013-9404-0