[SOUND] [MUSIC] This is a small program that lets you work with formal concept analysis. It's called Concept Explorer. It lets you enter a formal context, build its concept lattice, find implications, and do a few other things. So here we have a formal context of beverages that we've already seen. So the objects are wine, champagne, beer, mineral water, herb tea, cola, coffee. And the attributes are beverage, which all objects have, alcoholic, sparkling, nonalcoholic, caffeinic, and hot. If you want to edit this formal context, you can. So you can add an attribute. You can add an object. And we'll see how one can do it later. For now, let's try to build the concept lattice. We do it by pushing this button. So that's the concept lattice. And you can make it prettier, if you want, by dragging the nodes a little bit. So something like this. And then you can select some of the nodes. For example, if you select this node, cola, you're going to see all the nodes that you can reach from this node if you go upward or downward. So you can reach this node, labeled by mineral water, by sparkling, nonalcoholic, and so on. Why would you need this? Well, if you follow the ascending paths, you can see, what attributes this formal concept has. So this is a formal concept that has attributes caffeinic, nonalcoholic, sparkling, and beverage. And it has only one object in the extent, it's cola. Now this is the concept of nonalcoholic sparkling beverages, and it includes cola and mineral water. And you can explore the lattice like this, by clicking various nodes and moving upward and downward in the lattice. If you want to ignore some of the objects, for a moment, then you can remove them from the lattice by clicking here. So let's say, we don't want to see wine, so the lattice is reconstructed. Now, it doesn't include wine anymore. And, of course, we can get it back, and we can also remove some attributes if we want to concentrate only on a subset of them. What else? Well, it's also possible to compute the implications valid in this formal context, so dependencies between attributes. If we press this button, we'll see that, first of all, every object is a beverage. So we have this implication, empty set implies beverage. And indeed, if we go back to our formal context, we'll see that all objects have this attribute, beverage. And if we go to the lattice diagram, we'll see this node at the top, the node at the top labeled by beverage. Another implication is that beverage and caffeinic implies nonalcoholic and so on. You can also see so-called association rules. Association rules are like implications, but they can admit some counterexamples. Well, 67% of alcoholic beverages are sparkling, which means that two of the three alcoholic beverages are sparkling in our context. And there's another implication, another association rule, that tells us that 57% of beverages are nonalcoholic, as many beverages are sparkling and so on. We'll talk about association rules later in the course. What else? There's another technique called attribute exploration, and we'll have a full lecture devoted to it. It's also implemented here. Well, suppose you want to build the concept lattice of all the beverages you know. Not just these seven ones, but all the beverages you know. You want to see their conceptual structure, so you can use attribute exploration to do this. The process starts by enumerating implications that are valid in this formal context. So the first question is, is it true that all objects are beverages? Yes, in our case, in our formal context, they're all beverages. So, here we say, yes. And then the next question is, is it true that a hot beverage must be nonalcoholic? So here, we press, no. And we enter this mulled wine as a counterexample. So mulled wine is a beverage, it's alcoholic, and it's hot. And it has no other properties. So we provide this counterexample. And we continue like this. But for now let's stop. Now our context has more objects, and so the lattice has changed. Now it includes mulled wine as well. Now that, here in our lattice, we have beer and champagne at the same node: they are completely indistinguishable. So if we want to distinguish among them, we need to add another attribute. Well, for example, we could add an attribute, made from grapes. So champagne is indeed made from grapes, as any wine, but beer is not. Now, with this attribute, we have a different concept lattice, in which champagne is still a kind of wine, but beer is no longer a kind of wine, and it's not at the same level as champagne. So they belong to different concepts. So basically these are the things that you can do with Concept Explorer. There are many other software tools for formal concept analysis, but this one is probably the simplest to use, even if its functionality is a little bit limited. [MUSIC]