InteractionPatterns
From IKS Project
Contents |
Introduction
This page summarises our efforts in defining Interaction Patterns. These patterns are meant to describe the interaction of a user with content (e.g., text, tables, lists, pictures, audio, video, ...). To be more precise, we will focus the interaction on content that has been enriched with knowledge, the knowledge itself and ways of connecting them.
The listed patterns respect the create <> query <> consume <> interact lifecycle of content (and knowledge) and will be reflected in the interaction and presentation layer of the IKS stack. Following the design vision document, each functionality of the stack can be described as:
- “Create”: An author/user of the system can create semantically enhanced content.
- “Query”: An author/user can query for semantically enhanced content.
- “Consume”: An author/user can consume semantically enhanced content.
- “Interact”: An author/user can interact with the content at the level of his/her domain knowledge.
Definition
In general, design pattern provide proven solutions to frequent design problems in a generative and human-readable format. The special case of interaction patterns describes recurring actions a user performs when interacting with a computer to achieve a certain goal of a task. These actions are implicit if they arise from the discourse context - the previous actions of the user - and are called explicit if they are directly triggered by the user (e.g., pushing a button). In the context of IKS, we focus the interaction patterns on interaction with content and moreover the interaction with the (ontological) knowledge that corresponds to this content element.
An interaction pattern consists of four parts that describe:
- the problem
- the pattern (i.e., the solution of the problem)
- use cases for the pattern
- how the pattern applies for the use cases
List of elementary patterns
Create
Knowledge
The annotation of content with knowledge (semantic lifting) is a process where the question for "the meaning of the content" needs to be addressed and answered. The performance of the available services depends significantly on the complexity of the task (e.g., tagging vs. entity linking), the content type (e.g., text vs. movies) and the size of the used knowledge base. Accordingly, we need to distinguish fully-automatic, semi-automatic and manual interaction patterns, that describe the amount of user input that is needed to fulfil the task of annotation.
- Manual annotation of content with knowledge
- Semi-Automatic annotation of content with knowledge
- Fully-Automatic annotation of content with knowledge
- Rectifying knowledge annotation
- Linking of entities
- Semi-automatic Extraction of Knowledge from Content repository shcema
- Automatic Extraction of Knowledge from Content repository shcema
Content
During the creation of content (e.g., writing a text), the system can use already existing knowledge to support the user.
- Automatic generation of templates
- Autocompletion support for content
- Recommendation of content links (Duplicate: Query)
Query
Knowledge
Querying for knowledge means that the back-end system needs to support queries for knowledge (e.g., entities) considering the current context. This means that a search for a person should incorporate (e.g. filter or reorder) the companies that surround the text passage.
Content
Querying for content in the context of semantic interaction means to use and leverage the knowledge either directly or indirectly (inherited from knowledge objects) to query for content elements.
- Faceted search
- Disambiguation of query
- Using annotated content items for searching
- Providing personalized/contextual search result filters
- Recommendation of content links (Duplicate: Create)
Consume
The consumption of content in the context of semantic interaction means that the presentation layer should incorporate knowledge and meta data of the content item (knowledge item) itself but also the the current context (e.g., knowledge of the user, knowledge about the device to be used) to generate an optimised output and provide the user with appropriate interaction elements.
- Contextual rendering of content
- Highlighting of content of interest
- Receive a stream of information/content of interest
- Browsing through entity hierarchy
- Zoom in/out different data hierarchy levels along a tree
- Visalizing content dependencies
- Comparing content, based on the knowledge
- Recommendation of content links (Duplicate: Query)
Interact
Interaction with content should be performed at the level of the user's knowledge about the content.
- Contextual activity pane
- Contextual export interaction
- Semantic Drag&Drop interaction
- Registering and receiving updates of content changes
- Managing audits according to business rules
- Assure a level of consistency of content according to business rules
- Filtering content based on knowledge rules
- Automatic clustering of content/knowledge
- Automatic summarization of content/knowledge
- Exporting knowledge
List of complex patterns
TBD!
Content Types
The term content is highly abstract and comprises many different kinds of elements. In order to give this expression more meaning and to prevent possible misunderstandings, we list here the types of content that we have in mind, when we talk about interaction with content.
First of all, it is important to state that we address the interaction with virtual content objects, i.e., content objects that need to be rendered with a computer and not physical objects, like e.g., a car. Furthermore, we need to separate the term content from the different types of knowledge that is connected/attached to it.
Some entries of this list are orthogonal to other entries, as they might describe conglomerations of content but surely need to be listed here.
- Text
- Any textual representation. This can be written language (e.g., blog posts) but also transcriptions of spoken language (e.g., meeting recordings)
- Images
- Any static visual representation (e.g., photos, pictures, drawings, ...)
- Video
- Any dynamic visual representation (e.g., animations, movies, ...)
- Interaction elements
- Any user interface element that enables the user to trigger certain events, e.g., push button, a drop-down menue, hyperlinks, ...
- Lists
- Lists of content, e.g., this one here.
- Tables
- A two-dimensional (rows and columns), table-based view of content.
- Forms
- An aggregation of input fields in order to receive a list of information, e.g., order form.
- Maps
- A visual representation of location-based content, e.g., Google Maps
- Contacts
- A representation of contact information about a person or organizations
Knowledge Types
Basically, there is an infinite amount of knowledge types and it would not be feasible to list all of them. However, we want to point out certain types of knowledge where we put our focus on. However, our objections are targeted to deal with any kinds of knowledge.
- Persons
- Organisations
- Events
- Locations

