=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== https://ceur-ws.org/Vol-2729/paper2.pdf
      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)