=Paper=
{{Paper
|id=Vol-2729/paper2
|storemode=property
|title=Improving User's Experience in Navigating Concept Lattices: An Approach Based on Virtual Reality
|pdfUrl=https://ceur-ws.org/Vol-2729/paper2.pdf
|volume=Vol-2729
|authors=Christian Sacarea,Raul-Robert Zavaczki
|dblpUrl=https://dblp.org/rec/conf/ecai/SacareaZ20
}}
==Improving User's Experience in Navigating Concept Lattices: An Approach Based on Virtual Reality==
Improving User’s Experience in Navigating Concept Lattices: An Approach Based on Virtual Reality Christian Săcărea and Raul-Robert Zavaczki Babeş-Bolyai University Cluj-Napoca csacarea@cs.ubbcluj.ro, zavaczki.raul@gmail.com Abstract. Concept lattices are an elegant and effective tool for knowl- edge representation. In the last decades, there have been many advances in FCA theory building, offering a deep understanding of the theoretical foundations. There are many very efficient algorithms to compute con- cept lattices and FCA has been extended and generalized (pattern struc- tures, triadic, n-adic FCA, etc.). Many projects have been conducted and there is an impressive list of FCA related software1 . Due to technological advances, we have now new and interesting possibilities for representing concept lattices. This paper’s aim is to discuss how virtual reality (VR) can improve user’s experience in navigating concept lattices. Using VR rooms, we can have a totally new 3D experience of a concept lattice, we can freely move through that structure, exploring it from literally many points of view, and can communicate in a multi-player setting with other users, fulfilling R. Wille’s dream of conceptual landscapes of knowledge. 1 Introduction FCA has been designed from its very beginning, as a mathematical theory aim- ing to offer an effective reasoning support for scientists, practitioners and users in their attempt to analyse data. The key word was restructuring and its seminal paper [9] was also programmatic. R. Wille mentioned that ”... the connections of the theory to its surroundings are getting weaker and weaker, with the result that the theory and even many of its parts become more isolated.” Ten years later, FCA developed to ”a set-theoretical model for concepts and conceptual hierarchies, allowing the mathematical study of the representation, inference, ac- quisition, and communication of conceptual knowledge” [10]. This development led then to conceptual landscapes of knowledge [8], a paradigm which allows a unifying model to various tasks of knowledge processing. For 20 years, conceptual structures have been implemented in various software systems but the represen- tation of knowledge tended to be two-dimensional, due to inherent technological limitations. For improving effectiveness and also the user’s experience in navigating con- cept lattices, modern technological advances makes possible to represent concep- tual knowledge in 3D. As real-life landscapes are three dimensional, conceptual 1 https://conceptanalysis.wordpress.com/fca-software/ Copyright c 2020 for this paper by its authors. Use permitted under Creative Commons License Attribution 4.0 International (CC BY 4.0). landscapes of knowledge should be also represented in a 3D environment, which comes with a couple of challenges and need for innovation. In this paper, we present our approach, own views and ideas of a translation of 2D representation of concept lattices in 3D, followed by some technical solutions of the implemen- tation. 2 Related Work At the best of our knowledge, there is no well established available tool to repre- sent concept lattices and ToscanaJ2 related features in a VR environment. Nev- ertheless, there is a plethora of software tools and implementations developed by various groups of our FCA community, which are targeting several problems and approaches. Without any claim of being comprehensive, we briefly present some of these contributions. LatViz [1] proposes improvements over existing tools, as well as new func- tionalities such as visualization of Pattern Structures, concept annotations, in- tuitive visualization of implications. ConExp3 is meanwhile a classic among FCA software tools, while ConExp-FX4 , and ConExp-NG5 are reimplementations of the former. The latter one is part of FCA Tools, a collection of FCA related software tools6 . FCA Tools Bundle [4] is a growing collection of FCA tools, including dyadic, triadic, analogical complexes, local navigation in triadic data sets, and a method for narrowing down the set of concepts using a like-dislike feature based on ASP. Nevertheless, at this moment, there is no commercial software implementing FCA methods, and, paradoxically, exactly those FCA varieties having the most potential for real life applications are neglected: many-valued contexts and tem- poral FCA. Many-valued contexts are handled by the ToscanaJ suite [2], and an attempt to implement scaling features is done in FCA Tools Bundle7 [4]. Be- sides scale building (which is done using Elba), the ToscanaJ suite includes also conceptual landscapes navigation capabilities, by defining a browsing scenario and then perform navigation [8]. Unfortunately, ToscanaJ has not been updated for a long time and there is a need to implement a more modern version. As times evolve and new technologies emerge, new opportunities arise allow- ing innovation upon existing technologies by combining these technologies with some research fields in a way that improves the experience that an user has, or flattening the learning curve of otherwise rather difficult fields/technologies. Virtual Reality (VR) is not at all new, but recent advances make it particu- larly suitable for collaborative learning, for improving conceptual knowledge [7], or for innovative communication in health care [5]. 2 http://toscanaj.sourceforge.net/ 3 http://conexp.sourceforge.net/ 4 https://github.com/francesco-kriegel/conexp-fx 5 https://github.com/fcatools/conexp-ng 6 https://github.com/fcatools 7 fca-tools-bundle.com 3 Setting the stage With the development of new technologies and game engines8 , the modern graphic capabilities of these technologies increased dramatically and it lies at hand to include them in new FCA software tools. Good practices in FCA data analysis projects showed that decoupling all technical aspects related to data preparation, scale building, conceptual schemata, etc, from the actual graphical navigation experience in conceptual landscapes is beneficient. This is especially important for users that have almost no technical background. Especially for applications of FCA in data analysis projects, in order to make the users com- fortable enough to make the concept analysis by themselves and not be over- whelmed by the various tools and various concepts surrounding Formal Concept Analysis, we need to decouple the creation with the exploration of the lattices. This decoupling allows the first one to be done by someone that knows the con- cepts, possibly a Data Scientist, while allowing the user or researcher to focus on the latter one. This approach is not new, and it has been already implemented in the ToscanaJ management suite. On the other hand, throwing the user with a VR headset on in a room with a concept lattice in front of him will not do the trick though, because there are two factors that come into play – one comes if the user never experienced Virtual Reality before, which is already a pretty overwhelming experience, and the other one comes if he has never seen a concept lattice before. The first one is resolved by the gaming feel such environment gives the user, and the other one should be resolved by presenting the user a really basic tutorial, in which is stated plainly what the objects and attributes are, and how can you read the relationship between them. At this point of early stage setting, the aim is gamifying the FCA experience. For this, we need an intuitive and captivating technological environment where an intuitive tool, specifically designed for non FCA experts can be used. 4 Stage Design We propose an approach that allows the user to explore and navigate through concept lattices in a Virtual Reality environment. For this, we have developed a tool that is designed specifically for people that had no connection to FCA before, or even mathematics. This is a process that has been proven to be a real challenge as every person is different and what may work for someone may not work for someone else. To overcome this problem, we revised every functionality and user experience aspect (controls, navigation, visualization) based on the feedback we received from various sources. These sources varied from students that had no experience with FCA trying the project in their free time, to university staff and senior FCA researchers. Because feedback came from such many sources, it gave us a good overview over the overall aspect of the application, the common ground of these people, and future improvements. 8 https://unity3d.com/ Fig. 1: 3D view of a concept lattice: Live in water data set 5 Technologies The technologies used are Unity3D, for a compatible working space that cur- rently supports VR Headsets, meaning that it is a cross platform (and by thus it supports HTC Vive, Oculus,etc.), and SteamVR 2D Plugin, the actual plugin that helps us with VR I/O operations. 5.1 Unity Unity is a game engine developed by Unity Technologies. It is cross-platform, and it is mainly used to develop games, simulations, and can be also used to develop Virtual Reality and Augmented Reality applications. Unity offers a scripting API over the engine in C#, allowing the developer only to focus on the developing of the application, the engine handling the Virtual Reality rendering itself and the loading of 3D models. 5.2 HTC Vive HTC Vive is a Virtual Reality Headset developed by HTC and Valve. As a tracking system it uses two lighthouses, which are base stations emitting pulsed IR lasers, allowing it to use a room scale technology that allows the user to move in 3D space and use motion-tracked handheld controllers to interact with the environment 5.3 SteamVR SteamVR is a plugin for Unity which allows Virtual Reality application devel- opers to target one single API that all the popular Virtual Reality headsets can connect to. This allows the developer to develop and compile the application one time, rather than doing it for every supported headset separately. It handles the input from the controllers, and the motion-tracking of the VR Headset and of the controllers and provides an interaction framework based on laser-pointing. 5.4 HoverUI Kit HoverUI Kit is a framework that allows the developer to create Virtual Reality interfaces, based on the mechanism of hovering. 6 3D visualization of conceptual landscapes 6.1 Concept lattices Concept lattices are represented in 3D by using a circular cone like view of the nodes which are at the same depth in the lattice. Concept lattices are computed with the NextClosure algorithm. Our application allows the parsing a formal context file exported from Concept Explorer, computing its formal concepts and representing it with a 3D concept lattice, as seen in Figure 1. This 3D concept lattice is calculated with the rules of a 2D concept lattice, but given an extra dimension we can extrapolate the z-coordinate of each node, making the nodes and connections more distinguishable from each other. 6.2 Many-valued contexts The conceptual structure of a many-valued context is encoded in its conceptual schema, as it is usually done in the ToscanaJ system. This conceptual schema is a collection of conceptual scales which is then connected to a database in order to permit conceptual navigation. The same idea is transferred now in the VR environment. Many-valued contexts are scaled (either using ToscanaJ or FCA Tools Bundle) and the resulting concept lattice is represented in 3D in an VR environment. Elba from the ToscanaJ suite does not arrange the nodes automatically, resulting a diagram which is difficult to read and time consuming to rearrange, see Figure 2. This problem is resolved by our VR application because we can extrapolate the nodes to use the extra z-dimension, leaving them aligned nicely for easy and clean visualization. The same list of strings as in Figure 2 was represented in a browsing scenario in our application, and the result can be seen in Figure 3. 6.3 Temporal Concept Analysis Temporal FCA deals with data with a temporal layer and has as main aim visualization of this temporal dimension in a conceptual hierarchy. Life-tracks are visual representations of temporal modifications in conceptual landscapes. For that, we need to identify in the many-valued context the attribute representing the time. For this, we have to scale the time-representing attribute, resulting a Fig. 2: Nominal scale used to represent a list of strings in ToscanaJ Fig. 3: Nominal Scale used to represent a list of strings in the application temporal scale, which can be used to determine a subject’s concept with respect to the temporal scale and a scale we want to search the position in. An example of a life-track in a lattice can be seen in Figure 4, for which we took a database provided by our university [3] representing a log file of sites accessed by the students in one semester. The searched scale is representing the different materials provided by the instructor for the ninth week. The week in which the subject was can be read as the object, for example he did not visit any of these sites on week 1, 2, 3, 7, 10, 11 and 13. We can remark, for example, that in the fourteenth week the student accessed all of these sites, probably because the exam was coming soon. Analyzing the life-tracks of more students, allows you to draw different con- clusions about each student, for example seeing how stressed is the particular student in the exam-period, compared to a week from the teaching-period, or even to another students. Fig. 4: Life-track lattice representing the sites accessed by a student 7 Exploration and navigation The Input System of the application is based on the Command Pattern, which is illustrated in Figure 5. Fig. 5: Class Diagram of the Actions Every controller has one action assigned to it, allowing the user to switch between actions using a menu built using HoverUI Kit. The menu (see Figure 6) uses the hover mechanism, which makes the whole interaction with menus for the user very intuitive. Fig. 6: Action Selection Menu The actions are categorized, each being put under a category that describes what the action is affecting. The user can quickly switch off hand actions by using the menu selecting button. As seen in Figure 6, the following categories are available: – Movement • Fly Action: When triggered, it moves the user into the direction that the controller is facing, see Figure 7. • Teleport Action: When triggered, it creates a pointer that the user can move around. When released it teleports the user to the pointed node. • Fly Speed: Slider that allows the user to choose the speed of the Fly Action. – Node Move Action: When triggered, the selected node is following the posi- tion change of the trigger controller. – Lattice Rotate Action: When triggered, it rotates the lattice around its cen- ter, with respect to the position of the trigger controller. – Multi-player mode: A new multi-player mode was introduced, that leverages the sockets TCP connections to help users share insights and data in real- time. To be able to locate another user, a new service was introduced, where a user can introduce the IP of another user, basically allowing the users to connect to one another as a server-client. When a user is in the virtual room, with the new menu explained below, it has the option to make his virtual room public – allowing any other friend to find him and to connect to the room. The configuration of this service is required if the user wants to use the multi-player extension – if it’s not configured, the option of Create or Join a server will be greyed out and if pressed an error notification is shown stating that the user has not configured the service. The real-time information sharing is achieved by allowing the users to speak with each other with the press of a button. Visually, real-time information Fig. 7: Actions for a 3D concept lattice sharing is achieved by allowing one user to highlight a node – which makes the node highlighted for every other user. Another way is to save one or more nodes in a list, which every user can access. While browsing life-track or many-valued browsing-scenarios, two users can visualize different lattices at one time, and if the users access one interesting node from the table, it will take the user to the same browsing scenario as when the original user has saved the node. – Gesture-based input system: The old input system [6] was lacking what seems essential for any virtual reality application – the flexibility of the controls. For this reason, it was rethought as a gesture-based system, replacing the old Action Menu that the user had on each controller with gestures that the user can do with both controllers. The new control system works as follows: • If only one controller back-trigger button is pressed, the user will rotate the lattice in the direction of the movement of his hand. • If both of the controllers have their back-trigger button pressed: ∗ If the controllers move in the same direction, it will move the anchor at which the camera looks. ∗ If the controllers move in opposite directions, if the controllers are moving away from each other it will zoom-out, else it will zoom-in. The old selection system was kept, allowing the users to point with a laser at a node they want to select and select it using the grip button, see Figure 8. If a user wants to move a node, while a node is selected the user can hold the touch-pad button pressed and the nodes position will mimic the changes of positions of the controller. The arrow size of the life-tracks was pushed into a new menu option. Fig. 8: Point and action Another important characteristic of a virtual-reality environment is the feel- ing that the users really is in another room than he is physically - it is important to preserve that feeling by making the virtual environment react to users actions. For this, new haptic responses were added, and so if a user would do a valid action the controllers will now vibrate. – Menus: New menus were introduced to help users to navigate through the application smoothly. A new main-menu was introduced that allows the user to select whether he wants to navigate through lattices. A new settings menu was added, allowing the user to select widgets that the user wants to see while in the virtual room - as for now, the user can select whether wants to see if the server is public or not. A new in-game menu was added, allowing the user to go back to the main-menu if it is already in a virtual room, or to make the server public, or to connect to a friends server (if the multi-player service was configured). 8 Conclusions In this paper, we have described a design and implementation plan of a Virtual Reality tool that can handle formal and many-valued contexts, as well as contexts with a temporal layer. An early prototype has been presented at an FCA Tools workshop organized at the ICFCA 2019 [6]. Since then, the application has been improved constantly. A new multi-player feature was added, in order to support communication in VR rooms, the input system has been modified, as well as new user interfaces and menus. This approach faced the constant challenge of representing order diagrams in 3D, and with the meanwhile classical problem of a ”nice” concept lattice representation. As future work, we plan to investigate new visualization algorithms. For instance, the use of genetic algorithms can be greatly improve the visualization of the lattice. We also intend to extend our research towards a so-called Navigation Assistant: Defining what the user is looking for, an AI assistant could be helping the user finding the desired node. References 1. Alam, M., Le, T.N.N., Napoli, A.: Steps towards interactive formal concept analysis with latviz. In: Kuznetsov, S.O., Napoli, A., Rudolph, S. (eds.) Proceedings of the 5th International Workshop ”What can FCA do for Artificial Intelligence”? co- located with the European Conference on Artificial Intelligence, FCA4AI@ECAI 2016, The Hague, the Netherlands, August 30, 2016. CEUR Workshop Proceedings, vol. 1703, pp. 51–62. CEUR-WS.org (2016) 2. Becker, P., Correia, J.H.: The ToscanaJ Suite for Implementing Conceptual In- formation Systems. In: Ganter, B., Stumme, G., Wille, R. (eds.) Formal Concept Analysis, Foundations and Applications. LNCS, vol. 3626, pp. 324–348. Springer (2005) 3. Dragos, S.: PULSE extended. In: Perry, M., Sasaki, H., Ehmann, M., Ortiz, G., Dini, O. (eds.) Fourth International Conference on Internet and Web Applications and Services, ICIW 2009, 24-28 May 2009, Venice/Mestre, Italy. pp. 510–515. IEEE Computer Society (2009), https://doi.org/10.1109/ICIW.2009.82 4. Kis, L.L., Sacarea, C., Troanca, D.: FCA tools bundle - A tool that enables dyadic and triadic conceptual navigation. In: Proceedings of the 5th International Work- shop ”What can FCA do for Artificial Intelligence”? co-located with the Euro- pean Conference on Artificial Intelligence, FCA4AI@ECAI 2016, The Hague, the Netherlands, August 30, 2016. pp. 42–50 (2016) 5. S., P.: Employing immersive virtual environments for innovative experiments in health care communication. Patient Educ Couns. 6. Sacarea, C., Sotropa, D., Zavaczki, R.: Toscana goes 3d: Using VR to explore life tracks. In: Cristea, D., Ber, F.L., Missaoui, R., Kwuida, L., Sertkaya, B. (eds.) Supplementary Proceedings of ICFCA 2019 Conference and Workshops, Frankfurt, Germany, June 25-28, 2019. CEUR Workshop Proceedings, vol. 2378, pp. 82–87. CEUR-WS.org (2019), http://ceur-ws.org/Vol-2378/shortAT10.pdf 7. Stevens SM, Goldsmith TE, S.K.e.a.: Virtual reality training improves students’ knowledge structures of medical concepts. Stud Health Technol Inform. 111, 519– 525 (2005) 8. Wille, R.: Conceptual Landscapes of Knowledge: A Pragmatic Paradigm for Knowl- edge Processing, pp. 344–356. Springer Berlin Heidelberg, Berlin, Heidelberg (1999) 9. Wille, R.: Restructuring lattice theory: An approach based on hierarchies of con- cepts. In: Rival, I. (ed.) Ordered Sets, NATO Advanced Study Institutes Series, vol. 83, pp. 445–470. Springer Netherlands (1982) 10. Wille, R.: Concept lattices and conceptual knowledge systems. Computers and Mathematics with Applications 23(6), 493 – 515 (1992)