1.. Introduction
================

A Brain Computer Interface (BCI) enables a user to communicate with the external world by directly translating his/her brain activity into (computer) commands without relying on the brain\'s normal output pathways. Due to this, BCIs have raised great hopes in providing alternative communication means for persons suffering from motor disabilities such as amyotrophic lateral sclerosis (ALS), spinal cord injuries or brain paralysis \[[@b1-sensors-14-05967]--[@b3-sensors-14-05967]\], and other users targeted by the Ambient Assisted Living (AAL) community \[[@b4-sensors-14-05967]\], provided their sensory and cognitive functions are still intact \[[@b5-sensors-14-05967]\]. Since one of AAL\'s aims is to improve the quality of life of elderly persons with disabilities, BCI systems have become an opportunity to achieve this via different AAL implementations of BCI systems \[[@b4-sensors-14-05967],[@b6-sensors-14-05967]--[@b8-sensors-14-05967]\]. A BCI system in general (see [Figure 1](#f1-sensors-14-05967){ref-type="fig"}) normally comprises the following components: (i) a device that records the brain activity which is either invasive (e.g., electrocorticography) or non-invasive (e.g., electroencephalogram (EEG)); (ii) a *preprocessor* that reduces noise and artifacts, prepares the signals for further processing and extracts the relevant information from the recordings; (iii) a *decoder* that classifies the extracted relevant information into a control signal for (iv) an *external device* that could be any type BCI-compatible application (e.g., a robotic actuator, a prosthesis, a computer screen *etc*.), and that provides feedback to the user. This *external device* could also be used for evoking brain activity, thus serving as a *stimulation unit* (see Section 2 for examples). The feedback to the user is an important aspect of the BCI system as it provides the former with information about mistakes (by the decoder or the user) and in this way motivates the user to better modulate his/her brain activity and to increase attention and engagement in the task, thus adhering to a so-called *neurofeedback* principle. As a result, the BCI can be regarded as a control system with active feedback (closed-loop system).

The first BCI was presented in the pioneering work of Vidal \[[@b9-sensors-14-05967]\], where the basic requirements of a man-machine communication tool and the concepts, feasibility, possibilities and even its limitations were already introduced. Since then BCI applications have ramified into different areas such as clinical/translational research (from basic research to clinical BCI implementations) \[[@b10-sensors-14-05967]\], entertainment \[[@b11-sensors-14-05967]\], ambient assisted living \[[@b6-sensors-14-05967]\], and emerging applications such as bionic assistive devices \[[@b12-sensors-14-05967]\], and the detection of covert behavior, among others (see \[[@b13-sensors-14-05967]\] for a review).

Since invasive BCI requires surgery and faces not only ethical but also technical challenges, it has rarely been performed on on humans \[[@b14-sensors-14-05967]\]. It therefore comes as no surprise that the non-invasive alternative became widely adopted in human BCI-based communication research. Among all noninvasive BCIs, the EEG-based ones are favored above other non-invasive ones such as functional magnetic resonance imaging (fMRI) \[[@b15-sensors-14-05967]\], magnetoencephalography (MEG) \[[@b16-sensors-14-05967]\] and functional near infrared spectroscopy (fNIRS) \[[@b17-sensors-14-05967],[@b18-sensors-14-05967]\]. The advantages of EEG led to a rapid increase in the number of BCI research groups all over the world \[[@b19-sensors-14-05967]\] as reflected by the share in the number of publications in the field in the last decade \[[@b20-sensors-14-05967],[@b21-sensors-14-05967]\], and have spurred the interest in developing feasible and practical BCI systems, as covered in several review papers \[[@b3-sensors-14-05967],[@b21-sensors-14-05967]--[@b25-sensors-14-05967]\], and some of which have been implemented within AAL applications as control environment \[[@b6-sensors-14-05967]\] and social interaction \[[@b4-sensors-14-05967]\]. More specific reviews focus on communication issues \[[@b13-sensors-14-05967],[@b22-sensors-14-05967],[@b26-sensors-14-05967]--[@b28-sensors-14-05967]\], signals related issues such as their processing \[[@b29-sensors-14-05967]--[@b31-sensors-14-05967]\], feature extraction \[[@b18-sensors-14-05967],[@b32-sensors-14-05967]\], brain potentials \[[@b33-sensors-14-05967]\], neuroimaging-based BCI \[[@b34-sensors-14-05967]\], handling artifacts \[[@b31-sensors-14-05967]\] and decoding methods for BCI systems \[[@b35-sensors-14-05967],[@b36-sensors-14-05967]\]. Nonetheless, to the best of the authors\' knowledge, there is no comprehensive review of the applications of language models in BCI systems despite of the increasing research interest in this direction (see \[[@b3-sensors-14-05967],[@b25-sensors-14-05967],[@b29-sensors-14-05967],[@b37-sensors-14-05967]\] for more detailed reviews of BCI systems).

The aim of this article is to review the available literature that combines language models with BCI systems for communication applications. Since research in this direction has been performed only for EEG-based BCI, we also limit ourselves to this case. Nevertheless, all language modeling strategies discussed below could in principle also be used in other BCI types, including different AAL applications (e.g., controlling environment). The focus of this paper is on BCI spellers (which are systems allowing users to type individual characters, words or even sentences by decoding their brain activity) combined with applications such as word prediction, completion, error correction, and so on, which may increase the communication speed without increasing the user\'s cognitive load. These new approaches offer a significant advantage over other augmentative and alternative communication (AAC) devices, which at least require some degree of motor activity \[[@b38-sensors-14-05967],[@b39-sensors-14-05967]\].

2.. Paradigms for BCI Communication Systems
===========================================

One of the main applications for BCI is spelling. These spelling systems are mainly based on one of three BCI paradigms, exploiting different types of brain responses: *event-related potentials* (ERP), *steady state evoked potential* (SSVEP) or *frequency visual evoked potential* (f-VEP) and *motor imagery* (MI).

2.1.. ERP-Based BCI
-------------------

The most known representative of this group is the so-called P300-speller. The idea behind it derives from the observation that a stereotypical component of brain potential is evoked in response to an infrequent stimulus attended by the user, while it is absent for a frequent but non-attended stimulus. The main difference in responses is seen in a positive deflection around 300ms following onset of the stimulus, the so called P300 component, which is primary generated above the parietal and central cortices \[[@b40-sensors-14-05967]\]. This phenomenon is present for visual \[[@b1-sensors-14-05967]\], auditory \[[@b41-sensors-14-05967]\] or tactile stimulations \[[@b42-sensors-14-05967],[@b43-sensors-14-05967]\], which led to different BCI interaction modes. A first speller of this type was a visual one, proposed in \[[@b40-sensors-14-05967]\]. In such visual P300-spellers a 6 × 6 matrix with characters is displayed with rows and columns intensified in random order (see [Figure 2](#f2-sensors-14-05967){ref-type="fig"}) with about 5--6 intensifications per second \[[@b40-sensors-14-05967],[@b44-sensors-14-05967]\]. The user attends to one of the symbols he/she wishes to communicate. The intensification of the row/column that contains the desired character evokes an enhanced P300 component \[[@b40-sensors-14-05967]\]. The trained (in advance) classifier detects the row-column combination for which the P300 response is present and selects the character accordingly. The recorded signal is a superposition of the activity related to the stimulus and all other ongoing brain activity together with noise, which makes single-trial ERP detection very difficult. In order to more robustly detect ERPs, recordings over several row/column intensification rounds need to be averaged. By averaging the activity that is time locked to a known event (e.g., the onset of the attended stimulus) is extracted as an ERP, whereas the activity that is not related to the stimulus onset is expected to be averaged out. The speed with which characters can be typed therefore heavily depends on the number of rounds needed to extract the P300 component accurately. Although such BCIs are mainly regarded as P300-based, other components of evoked potentials also play important role in decoding \[[@b45-sensors-14-05967]\].

BCIs based on *rapid serial visual presentation* (RSVP) \[[@b46-sensors-14-05967]--[@b49-sensors-14-05967]\] could also be categorized as ERP-based BCI. RSVP-based BCI uses visual stimuli presented with a rate of about 10 stimuli per second \[[@b46-sensors-14-05967]--[@b48-sensors-14-05967]\], among which user attends to the only stimulus he/she wish to communicate. Stimuli are rapidly displayed in a one-by-one basis in the same predefined position known to the user in order to avoid necessity for their search and eye movements, as they could produce artifacts in the EEG recordings. The user has to attend the desired stimulus and mentally count the number of times it is presented. The decoding procedure is similar to the P300-based case.

BCI based on *motion-onset* \[[@b50-sensors-14-05967]--[@b53-sensors-14-05967]\] and *transient visual evoked potentials* (t-VEP) BCI \[[@b54-sensors-14-05967]\] also fall in this BCI category and utilize quite similar processing and decoding techniques. Motion-onset VEP is evoked by the presentation of motion stimuli \[[@b55-sensors-14-05967]\], and its main components have been described as P100, N200 and P200 \[[@b56-sensors-14-05967]\]. The t-VEPs are the responses recorded from the visual cortex after a visual stimulus has been displayed \[[@b57-sensors-14-05967]\] and the amplitude of the visual response increases every time the target is closer to the subject\'s central visual field \[[@b58-sensors-14-05967]\].

Much research has been directed towards achieving a higher detection accuracy of brain evoked responses to target stimuli for an equal or lower number of intensification rounds. This research was primary performed in the *preprocessing component* (see [Figure 2](#f2-sensors-14-05967){ref-type="fig"}), searching for a better spatial and frequency filtering or a better feature selection and construction methods \[[@b59-sensors-14-05967]--[@b62-sensors-14-05967]\], on the *classifier component* \[[@b63-sensors-14-05967]\], and in the design of the *external-stimulation device*, e.g., by adapting the inter-stimulus interval \[[@b40-sensors-14-05967]\], the size of the matrix \[[@b1-sensors-14-05967]\] and the intensification protocol \[[@b64-sensors-14-05967]--[@b66-sensors-14-05967]\].

ERP-based BCIs are also known by the fact, that those systems do not necessary depend on the gaze direction, *i.e.*, they could rely on covert attention instead \[[@b41-sensors-14-05967],[@b49-sensors-14-05967],[@b67-sensors-14-05967]\].

2.2.. BCIs based on Frequency and Code Modulation of VEP
--------------------------------------------------------

The *steady-state visual evoked potential* (SSVEP) or *frequency visual evoked potential* (f-VEP) \[[@b68-sensors-14-05967]\], recorded above the occipital cortex, is the response to a periodic presentation of a visual stimulus (*i.e.*, a flickering stimulus). When the stimulus is flickering at a sufficiently high rate (starting from 6 Hz), the individual evoked responses to each stimulus flash will overlap, leading to a steady-state signal resonating at the stimulus flicker rate and its integer multipliers (harmonics) \[[@b69-sensors-14-05967]\]. With such a paradigm it is possible to detect whether a subject is looking at a stimulus flickering at frequency *f*, by verifying the saliency of the frequency *f* and possibly also its harmonics, *2f*, *3f*, ... in the spectrum of the recorded EEG signal. Similarly, one can detect which stimulus, out of several of them (each one flickering at a different frequency), is gazed at by the subject, by checking the corresponding frequencies and their harmonics. Linking each flickering stimulus to a particular command, a multi-command frequency-coded SSVEP-based BCI can be implemented. For example, one can construct a speller by dividing the screen into quadrants, flickering at different frequencies, which contain different subsets of characters ([Figure 3](#f3-sensors-14-05967){ref-type="fig"}). The user gazes at the quadrant that contains the desired character \[[@b70-sensors-14-05967]\], allowing the selection of any character (here out of 64) by performing consecutive quadrant selections (three for [Figure 3](#f3-sensors-14-05967){ref-type="fig"}).

Since in the spectral domain the EEG amplitude decreases as the frequency increases, the higher stimulus frequencies and harmonics become less prominent. Furthermore, the SSVEP is embedded in other ongoing brain activity and (recording) noise \[[@b70-sensors-14-05967]\]. Thus, when considering a recording interval that is too small to reliably extract the frequency components, erroneous detections are quite likely to occur. To overcome this problem, averaging over several recording intervals \[[@b71-sensors-14-05967]\], or recording over longer time intervals \[[@b58-sensors-14-05967]\] are often used together with a spatial filtering strategy \[[@b72-sensors-14-05967]--[@b74-sensors-14-05967]\] to increase the signal-to-noise ratio (SNR). An efficient SSVEP-based BCI speller should be able to reliably detect several frequencies, which makes the detection issue even more complex, calling for efficient signal processing and decoding algorithms. This has primary led to modifications in the preprocessing and classifier components of [Figure 1](#f1-sensors-14-05967){ref-type="fig"}.

An additional limitation arises from the stimulation side: only stimulation frequencies within a particular frequency range evoke a reasonable SSVEP response \[[@b75-sensors-14-05967]\]; the harmonics of some stimulation frequencies could interfere with one another, leading to a deterioration of the decoding performance \[[@b76-sensors-14-05967]\], even more so when the stimulation frequencies depends on the refresh rate of the screen \[[@b76-sensors-14-05967]\] (in the case of stimulation on a computer screen). This encouraged the search for alternative stimulation methods in computer screen based SSVEP BCIs \[[@b77-sensors-14-05967]\] or other encoding methods \[[@b75-sensors-14-05967],[@b78-sensors-14-05967],[@b79-sensors-14-05967]\], thus, modifying the stimulation (external) device block in [Figure 1](#f1-sensors-14-05967){ref-type="fig"}.

Another VEP-based technique adopted by BCIs is called *code modulated VEP* (c-VEP) originally proposed by Sutter \[[@b80-sensors-14-05967]\] and further developed by others \[[@b68-sensors-14-05967],[@b81-sensors-14-05967],[@b82-sensors-14-05967]\]. Following c-VEP approach to induce most distinguishable visual responses to different target stimuli, the intensity of the stimuli is modulated by a special pseudorandom binary sequence, so-called m-sequence, which is designed to be nearly orthogonal with respect to its shifted versions. This m-sequence and its (circularly) shifted versions are then used to modulate visual stimulation to induce discernible brain responses. The processing of the c-VEP responses involves averaging across several epochs, where each epoch corresponds to one full presentation of the m-sequence during stimulation. The decoding step usually relies on simple template matching technique: the preprocessed (filtered and averaged) c-VEP response is matched against several pre-computed templates, corresponding to the target stimuli, and the winner is selected as the best matching one. Some other classification methods (e.g., one class SVM, canonical correlation analysis) have been proposed \[[@b82-sensors-14-05967]\] to improve the performance of c-VEP BCIs.

More detailed descriptions of c-VEP techniques as well as RSVP, motion-onset, and t-VEP techniques can be found in \[[@b46-sensors-14-05967],[@b50-sensors-14-05967],[@b54-sensors-14-05967],[@b68-sensors-14-05967],[@b83-sensors-14-05967]\].

2.3.. MI-Based BCI
------------------

A *motor imagery* (MI) BCI is based on changes in neural populations in the motor cortex when performing an actual or imagined limb movement. These changes are hypothesized to be due to decrease (event-related desynchronization, ERD) or an increase (event-related synchronization, ERS) in the synchrony of the underlying neuronal populations \[[@b84-sensors-14-05967],[@b85-sensors-14-05967]\]. In spectra of EEG, recorded above motor cortex contralaterally to moved (or imagined to be moved) body part (e.g., left arm), this (imaginary) movement produces a decrease in power (ERD) in the mu (8--13 Hz) and beta (13--26 Hz) band in comparison to the absence of such movement or its imagination \[[@b86-sensors-14-05967]\]. As such, by determining changes in spectral amplitudes in the corresponding frequency bands or, equivalently, in the variance of the EEG signal filtered in the same band one can determine the subject\'s intentions \[[@b87-sensors-14-05967]\]. In addition to ERD/ERS, the readiness potential (Bereitschaftpotential) has also been used for the decoding of motor imagery \[[@b88-sensors-14-05967],[@b89-sensors-14-05967]\]. By involving two or more different limbs, for example, the right and left hands, and relying on the fact that different parts of the motor cortex are responsible for different limbs (*i.e.*, they are spatially distributed), one can build a BCI system. In order to enhance the detectability of the MI, different fixed- \[[@b90-sensors-14-05967]\], data-driven \[[@b91-sensors-14-05967]--[@b93-sensors-14-05967]\], multi-class \[[@b94-sensors-14-05967]\] spatial filtering approaches have been proposed, as well as different classifiers \[[@b95-sensors-14-05967]\], thus mainly modifying the *Preprocessor* and *Decoder* blocks of [Figure 1](#f1-sensors-14-05967){ref-type="fig"}. A detailed review of spatial filtering and classification techniques for MI-based BCIs can be found in \[[@b96-sensors-14-05967],[@b97-sensors-14-05967]\].

Several MI-based spelling devices have been proposed. For example, D\'Albis in \[[@b98-sensors-14-05967]\] used a typing interface consisting of 26 characters of the English alphabet and a "space" (thus, 27 symbols in total) equally divided into three groups (see [Figure 7b](#f7-sensors-14-05967){ref-type="fig"}). The user selects one of those three groups or the "undo" command by imagining the movement of the corresponding body part(s) (in their case the right hand, left hand, both hands or both feet). By selecting one of these groups, the nine characters are divided into three new groups of three characters. And so on. Thus, typing one character takes three consecutive selections, similar to the SSVEP speller described above in Section 2.2.

Another MI-based BCI-speller is the so-called Hex-o-Spell \[[@b99-sensors-14-05967]\], with which 30 different characters can be typed by imagining one of two movements (right hand and foot) (see [Figure 4](#f4-sensors-14-05967){ref-type="fig"}). The characters are shown in six adjacent hexagons distributed around a circle. Each hexagon contains five characters and a "go back" command. For the selection of the hexagons, there is an arrow in the center of the circle. Right hand movement imagination controls the rotation of the arrow clockwise. The imagination of the foot movement extends the arrow until it reaches one of the hexagons after which it is selected. After this, the characters in all hexagons, except for the selected one disappear, while the remaining characters and the "go back" command are mapped into six hexagons around the circle, *i.e.*, the same layout as in the beginning. Using the same arrow-based strategy, the user selects the desired character or decides to go back to the previous level of the interface to correct a mistake.

3.. Language Model in BCI Spellers
==================================

As discussed before, the conventional approach to improve the communication speed and accuracy of a BCI speller is to search for new and better signal processing and classification algorithms, or to change the stimulation mode or stimulation parameters, thus, modifying the blocks in [Figure 1](#f1-sensors-14-05967){ref-type="fig"}. Albeit successful to some extent, BCI spellers still cannot compete with their assistive technology counterparts. This prompts for alternative solutions beyond the ones covered by traditional BCI research. One such solution was indicated by Donchin and coworkers in \[[@b100-sensors-14-05967]\]: "*It is well known that there are substantial sequential dependencies in English. It is our intent to incorporate information about the sequential structure of the language in the next phase of the development of the BCI. Similarly, it is possible to incorporate spelling correction software so that spelling mistakes can be managed even as increases in the operational speed may be associated with increased number of errors*." While this was proposed already in 2000 and seemed quite promising, until recently there were no attempts to adopt language model strategies. In the following subsections, we describe recent developments and implementation of language models for BCI spellers.

3.1.. Language-Driven Design of Static User Interfaces
------------------------------------------------------

As a basic implementation of language models in BCI spellers, one can mention the way characters are arranged in the spelling interface. The characters\' layout could rely on the initial probability of occurrence of a character in a particular language or on the aim to minimize typing mistakes with respect to some dictionary. Such a layout is fixed and does not change during typing (whence "static"). The corresponding interfaces are dependent on the BCI paradigm adopted.

An example that accounts for the relative frequency of character occurrence in a language, consider the interface of the Bremen SSVEP-based BCI-speller \[[@b101-sensors-14-05967]\]. It has in the middle of the screen a virtual keyboard with 32 symbols (see [Figure 5](#f5-sensors-14-05967){ref-type="fig"}) surrounded by five boxes flickering at different frequencies. These boxes correspond to commands for navigating the cursor (indicated by red color) "left", "right", "up", "down", and for selecting the intended character. The application starts with a cursor in the central position corresponding to the most frequent character in English ("E", in [Figure 5](#f5-sensors-14-05967){ref-type="fig"}). By gazing at the command boxes, the user can navigate the cursor to the desired letter and confirm his/her choice with the "select" command. The further the character is located from the center, the more command selections (cursor movements) are required. Letters with the higher frequency of occurrence are positioned closer to the center while the less frequent ones are further away.

Moreover, attentional switches are also taken into account. For example, two commands (left-left) are required to reach the letter "A" and the same amount of commands (left-up) to reach the letter "M". But in the latter case the user has to redirect his/her gaze from the command box "left" into command box "up", while in the former case such a redirection of the gaze is not required, which is more easy for the user. Considering this, the more frequent letter "A" (8.167% according to \[[@b102-sensors-14-05967]\]) is positioned in a more easily reachable position than the less frequent letter "M" (2.406% according to \[[@b102-sensors-14-05967]\]). By accounting for the initial letter probability in a language the user can more easily and much faster select the intended characters with this interface, which in turn results in a higher throughput of the system.

Another way to place characters in static interface, but this time for a P300 row-column speller, was proposed in \[[@b103-sensors-14-05967]\]. The authors tried to modify the spelling matrix by taking into account the notion that the majority of errors in a row-column paradigm occur either by wrongly selecting a row or a column \[[@b63-sensors-14-05967]\]. The idea was to displace as much as possible letters which are different in similar words proved by a dictionary attached to the speller. For example, the words HINT and HUNT are similar, since they differ only in the second letter. While using the conventional interface of [Figure 6a](#f6-sensors-14-05967){ref-type="fig"}, one can see that letters "I" and "U" are in the same column. In the modified interface of [Figure 6b](#f6-sensors-14-05967){ref-type="fig"} neither the row, nor the column for the letters "I" and "U" coincide. In this way, with a conventional interface, while typing the word HINT and making mistakes in the second letter, one could end up in the wrong word HUNT, even when the column is identified correctly (but not the row), but in the case of the modified interface, a row or column misclassification during the selection of the second letter in the word HINT will not lead to a conventional English word. This could be an indication that a decoding mistake was made, which could be rectified, e.g., by using the algorithm described in Section 3.5.

3.2.. Dynamic Adaptation of User Interface
------------------------------------------

The user interfaces discussed in Section 3.1 are static ones, *i.e.*, they do not change during the spelling process. However, it is known that the probability of a letter in a word depends on the previously typed ones. For example, if one has already typed ENGL, it is not likely to have X as the next letter , while it is quite probable to have I as the next letter (for example, the word ENGLISH). Thus, the probability of each letter in a language is not fixed *a priori*, but varies during spelling. This idea was employed in the group of methods described below, all of which perform dynamic adaptations of the user interface, depending on the already (partially) spelled text.

In addition to their standard interface (see Section 2.3 for a description), D\'Albis \[[@b98-sensors-14-05967]\] also foresaw dynamic modifications by incorporating a language model for taking into account the changing probability of the next letter *l~n~* in the currently typed word, based on the already typed characters of the same word *l*~1~,..., *l~n~*~−1~ ( prefixes) and the two typed preceding words *w*~1~ and *w*~2~. These modifications are based on an algorithm that extracts from the corpus (*corpus* is a large set of texts used for linguistic analysis), attached to the speller, all possible distinct triples of words, where the first two words are *w*~1~ and *w*~2~, and the first *n* -- 1 letters in the third word are *l*~1~,..., *l~n−~*~1~. When estimating the probability of having the next letter *l~n~*, the number of selected triples goes to the denominator while the numerator is equal to the number of triples, among the selected ones, where additionally the *n*-th letter in the third word is *l~n~*. As an example, let us assume one wants to type the phrase "what a wonderful day", and the two first words "WHAT" (*w*~1~) and "A" (*w*~2~) were already typed. In the third word, the first letter "W" (*l*~1~) was also typed, and the user intends to type the second letter (*l*~2~) (see [Figure 7](#f7-sensors-14-05967){ref-type="fig"}). The algorithm scans the corpus in order to find all triples following "WHAT A W..." (where the dots represent any further characters within the third word, starting with the letter "W") and estimates the number *N* of such triples. Among the found ones, the algorithm also estimates the number of those that take the form of "WHAT A WA..." (for *l*~2~ = "A"), "WHAT A WB..." (for *l*~2~ = "B"), and so on. By dividing these numbers by *N*, the algorithm generates an estimate of the probability for any letter *l*~2~ to be the next one. All letters with nonzero probability were enabled in the interface (see \[[@b98-sensors-14-05967]\] for further explanation). In the example in [Figure 7](#f7-sensors-14-05967){ref-type="fig"}, after typing "WHAT A W" the algorithm detected a nonzero probability only for the letters "A", "E", "H", "I", "O", "R" (ranked by their estimated probabilities), which are considered as the only likely choices for the next character.

The dynamic interface ([Figure 7a](#f7-sensors-14-05967){ref-type="fig"}) then rearranges the candidate characters in descending probability (where the first three most probable letters are grouped together, and so on) in order to minimize the number of subsequent group expansions. The static interface (see [Figure 7b](#f7-sensors-14-05967){ref-type="fig"}) does not change the character layout, but instead disables the ones with zero estimated probability. This interface could be regarded as more comfortable for the subject, since it does not require attentional shifts. Both interfaces enables the user to pick the next letter "O" just by two selections (instead of three in the normal mode), thus making spelling faster.

Another strategy that accounts for the previously spelled characters in BCI speller can be based on the Dasher interface \[[@b104-sensors-14-05967]\], which originally employed 2D control. When the pointer (black arrow) is at the center of the screen (indicated by the crosshair), nothing is happening. As soon as the user moves the pointer to the right, the letters on the right hand side of the screen start to zoom in (see [Figure 8](#f8-sensors-14-05967){ref-type="fig"}, showing consecutive screenshots while typing the string "Hello"). The vertical position of the pointer controls the direction in which zooming is performed and the pointer\'s horizontal position controls the speed of zooming. If one moves the pointer back to the center of the screen, the spelling process pauses, when moving the pointer to the left side of the screen mistakes can be corrected by moving back in the already typed sequence.

The Dasher interface shows symbols that are more probable in the current context by enlarging the square region around them. In the initial stage, the probabilities (size of the squares) of each symbol are taken from the frequencies of each symbol in an adjusted corpus. This makes the Dasher interface different from the one from \[[@b98-sensors-14-05967]\], since it additionally incorporates the strategy discussed in Section3.1. Probabilities of consecutive symbols are estimated with the use of an *n*-gram (*n-gram* is an adjacent sequence of *n* item from a whole sequence.) language model on character\'s basis; by assessing from the attached corpus and based on previously typed text the probabilities *c*~1~*c*~2~...*c~n~*~−1~*c*, where *c* is the next symbol to be typed, and *c~i~* are the previously typed symbols. An additional difference with the approach from \[[@b98-sensors-14-05967]\] is also the fact that all symbols (not only letters) are considered, *i.e.*, "space", punctuations and other symbols are assumed to be *c~i~*\'s. In this way, the sequence *c*~1~*c*~2~...*c~n~*~−1~*c* could also have symbols not only from the word currently being typed (as in \[[@b98-sensors-14-05967]\]), but also from the ones that are part of the preceding word(s), and spaces and other punctuation symbols between those words.

The idea of using a Dasher interface in a BCI-speller was first mentioned by Wills and MacKay \[[@b105-sensors-14-05967]\] in 2006, but no real BCI application was presented in the paper. Nevertheless, in their paper they acknowledged a potential problem with the inferior 2D control in BCIs, and discussed ways to perform 1D control instead. They suggested either using a special mapping of 1D input into 2D, as required in Dasher, or to fix the zooming speed and allow for only vertical control with the BCI interface. With the latter strategy, one can divide the Dasher interface into several vertically distributed zone-stimuli (as for the case of SSVEP or P300 BCI), and when one of those zones is selected, the pointer will move into the corresponding region for zooming \[[@b105-sensors-14-05967]\]. In real on-line typing, Dasher was evaluated when using motor imagery BCI and the 1D to 2D mapping strategy \[[@b39-sensors-14-05967]\], and when using SSVEP-based BCI (with constant horizontal speed) constructed around only one flickering stimulus for vertical control, where gazing at the stimulus is associated with moving upwards, while no gazing leads to moving downwards \[[@b106-sensors-14-05967]\].

The approaches mentioned so far in this subsection are based on a probability assessment of the next symbol by aggregating statistics from the attached corpus. As an alternative approach \[[@b107-sensors-14-05967]\], one can try to exclude any statistical information and construct in advance a *trie* (*trie*, derived from re*trie*val, is an ordered tree data structure used mainly for managing strings in memory) lexicon structure from the corpus. Mathis and Spohr \[[@b107-sensors-14-05967]\], using all words from the corpus, constructed the trie, where starting from the root node (associated with an empty string) and by moving down to descendant nodes and further on, one can "read" all words from this corpus. When constructed in this way, a trie is another representation of all words from a corpus. When used in a BCI-speller, when the user is typing, any entered string is monitored and associated with the corresponding node in the trie. If the current node has only a single edge exiting from it, the corresponding next character (associated with this edge) is incrementally added to the already typed text. Thus, such a strategy allows adding a uniquely determined next character, speeding up the text spelling process. For example, if one wants to type the word UNIQUE, after spelling UNIQ the next letter "U" will be added automatically, since it is the only possible continuation of the previously typed sequence in English. Mathis and Spohr in \[[@b107-sensors-14-05967]\] used this strategy in a simulated P300 speller and found that, on average, every eighth character was added automatically, allowing to speed up the typing process, while retaining a very low rate (0.84%) of wrong word completions.

3.3.. Minimization of Command Selections by Using T9-Like Interface
-------------------------------------------------------------------

T9, which stands for Text on 9 keys \[[@b108-sensors-14-05967]\], is a language interface developed by Tegic Communications \[[@b109-sensors-14-05967]\] for text entering on mobile phones. This system was designed to enable typing of more than 30 different characters with only numerical keys on a mobile phone\'s keypad. Each key corresponds to several characters. For example, if one wants to type HOME then, with the T9 interface, where key "4" corresponds to "G", "H", "I", key "6" to "M", "N", "O" and key "3" to "D", "E", "F", he/she needs to select keys 4663. After this, T9 looks through an attached dictionary in order to find all words corresponding to this sequence of key presses, and ranks them by their frequency of use. For example, 4663 corresponds to HOME, GOOD, GONE... The most frequent words are presented to user for selection (the exact number of those words depends on interface). The T9 system modifies the word frequencies depending on the user, by increasing word frequencies according to the history of typing, and also allows for typing new words that are subsequently added to the dictionary. Thus, the T9 interface minimizes the number of key strokes, which is a big advantage for BCI-spellers with limited number of commands to select from (*i.e.*, stimuli). While the system initially was called T9, it actually uses 12 keys: keys 2--9 for letters, other keys for punctuation, space and other characters.

Höhne and co-workers in \[[@b41-sensors-14-05967]\] used the T9 system for an auditory ERP-based speller, where a 3 × 3 spelling matrix was encoded by three levels of sound pitches (high, medium and low) for the rows and three directions of sound (left, middle and right) for the columns. They changed the original T9 interface in order to use only nine keys instead of 12. In spelling mode, keys 2--9 were connected to letters, as in an ordinary T9, but key 1 was for switching the interface to a mode in which keys 4--8 encode five most frequent words suggested by T9, and keys 1--3 and 9 correspond to punctuation, backspace, delete and exit, respectively.

A similar system was also implemented in the visual P300 Chinese speller \[[@b110-sensors-14-05967]\]. In this system, each symbol can be spelled with five strokes used for writing any Chinese symbol. After typing the intended sequence of strokes, the seven most frequent Chinese words were presented to the user for selection.

3.4.. Predictive Spelling Module in BCI Spellers
------------------------------------------------

This approach is based on the psycholinguistic cohort model proposed in \[[@b111-sensors-14-05967]\]. The model states that when a person hears or reads a segment (consisting of several consecutive letters) of a word, all words from his/her lexicon starting from this segment are "activated" in his/her brain. The more letters are added to the segment, the fewer words remain "activated". Thus, by adding more and more letters to the segment, the "activation" is narrowing down to only one word, *i.e.*, the one that coincides with the word being read or heard.

Such a psycholinguistic model could be used for a spelling interface when the interface is connected to some dictionary or corpus (*i.e.*, the user\'s lexicon is replaced by words from this dictionary or corpus). When the user has typed the first letters of the intended word, all words from the attached dictionary that share the same first letters are "activated", and the most frequent words among them are presented to a target list from which the user can select. The user then can either further type the intended word letter-by-letter with the BCI speller, or select the intended word as soon it appears in the list. In this way, one expects the user to be able to spell faster, since not always the whole word needs to be typed character-by-character.

Depending on the interface, the word suggestion list could be presented either on separate layout, than the one for character-by-character spelling \[[@b112-sensors-14-05967],[@b113-sensors-14-05967]\], which requires an additional BCI command to switch between those two layouts, or it could be incorporated into the ordinary layout, thus not requiring any additional switches, which saves time \[[@b114-sensors-14-05967],[@b115-sensors-14-05967]\].

Similar to other alternative and augmentative communication (AAC) devices \[[@b116-sensors-14-05967],[@b117-sensors-14-05967]\], a BCI predictive spelling may increase the user\'s cognitive workload \[[@b113-sensors-14-05967],[@b114-sensors-14-05967]\]. This was observed in P300 spellers, where a list of suggested words was displayed, but they were not used directly as a stimuli for selection, but the words were labeled by numbers 1--7, and the subject had to type the corresponding number in order to select one of those words (see [Figure 9a](#f9-sensors-14-05967){ref-type="fig"}) \[[@b114-sensors-14-05967]\]. By modifying the interface, so that words from the list are integrated directly into interface, thus they are used as the stimuli, the above mentioned problem could be alleviated (see [Figure 9b](#f9-sensors-14-05967){ref-type="fig"}) \[[@b115-sensors-14-05967]\].

When word suggestions are shown to the user, they are visualized by presenting only a few of the most likely ones based on the system\'s lexicon. Those frequencies could initially be equal for all words in the lexicon and change according to the typed text \[[@b112-sensors-14-05967],[@b114-sensors-14-05967]\], or they could be different and depend on word frequency, derived from the corpus used for compiling the lexicon \[[@b115-sensors-14-05967]\]. Moreover, the word frequencies could be estimated for each word separately \[[@b115-sensors-14-05967]\], *i.e.*, not taking into account the context, or by also accounting for one or more preceding words \[[@b98-sensors-14-05967]\], *i.e.*, an *n*-gram model on words basis.

3.5.. Spelling Error Correction
-------------------------------

While typing with a BCI, it could happen that the interface misclassifies and consequently mistypes the symbol intended by the user. As a result, for an ordinary BCI speller, one needs to foresee a "backspace" command for correction, or to use some brain potential connected to the subject\'s realization of an error (Error-related Potential) followed by some smart algorithm for correcting the mistyped character \[[@b118-sensors-14-05967]\]. As yet another alternative, one might not perform any correction, but continue to type while relying on an incorporated language model that performs the correction automatically at a later stage.

The latter was explored in \[[@b103-sensors-14-05967]\] for the P300 speller thereby assuming that for each spelled word the start and end points are determined correctly (*i.e.*, number of letters in typed word is correct). While typing each letter, BCI speller estimates probabilities of each letter to be intended by subject according to classifier outcomes, and rank them in descendent order according to these probabilities. When a whole word is spelled, a search through the attached dictionary is performed, and for each candidate word the sum of the above mentioned ranks of each letter in this word is computed. The word with the smallest sum of ranks is then selected as the mostly likely intended ("corrected") word.

Other systems also allow for a correction of misspelled words to some extent. The word prediction module described in \[[@b114-sensors-14-05967]\], which was discussed in the previous section, is based on the word prediction software WordQ2 \[[@b119-sensors-14-05967]\], developed by Quillsoft Ltd. \[[@b120-sensors-14-05967]\]. This software allows, for example, for the wrongly typed word "PLOS" (while the user intended to type "PLEASE") to be included as the word "PLEASE" in the list of suggestions, hence, enabling the user to correct errors when using predictive spelling module technology \[[@b114-sensors-14-05967]\].

3.6.. Incorporation of Character Prediction Statistic into Classifier
---------------------------------------------------------------------

It could also be possible to fuse the classifier with some natural language model. For example, assume one has typed the segment "WH" (the beginning of the word "WHAT") and the next letter detected by the classifier is "T". In this case it is not wise to present such a letter to the user since English does not have any word starting with "WHT". Since it is clearly a mistake, it is better to use knowledge of what is possible and what not in a given language directly at the level of the classifier.

One can use an *n*-gram characters model for assessing, using the attached corpus, the probability of each possible character typed by taking into account the previously typed segment of length *n*−1 characters. Considering the previous example with "WH" and an 3-gram model, the system scans the corpus and counts all occurrences of "WHA", "WHB", "WHC", ... , "WHZ", "WH ", "WH.", ... After that, the probability of having as the next letter an "A" is estimated as the number of occurrences of "WHA" compared to the sum of all mentioned triples starting with "WH". Such probabilities could be incorporated into the classifier by using, for example, a Bayesian interference strategy \[[@b44-sensors-14-05967],[@b121-sensors-14-05967]--[@b123-sensors-14-05967]\], thus for "correcting" the classifier output.

4.. Assessment of BCI Spellers Based on Language Models
=======================================================

When assessing the benefits of incorporating additional technology into a BCI system, such as the ones based on language models, it is important to use some measure for characterizing the performance gain. Atraditional measure such as typing accuracy is not adequate, as it does not provide any information about the spelling speed, which is an important usability characteristic. The *information transfer rate* (ITR), proposed in \[[@b2-sensors-14-05967]\], takes into account the accuracy, the number of possible selectable commands the interface supports, and the time required for communicating one command (one interface selection). But the ITR leads to ambiguities for some speller interfaces, such as for the one proposed in \[[@b90-sensors-14-05967]\] (shown in [Figure5](#f5-sensors-14-05967){ref-type="fig"}). In such an interface, the number of possible commands could be either five (since five SSVEP stimuli are used for letter selection by moving the cursor left, right, up and down and for validating the selection) or 32 (if each character is considered to be selectable) \[[@b124-sensors-14-05967]\]. Moreover, if one types text with a BCI, it is sometimes required to use "backspace" for correction. While using additional commands, as "backspace", is seen as undesirable, the correct selection of the "backspace" command will increase the ITR of the assessed system, as pointed out in \[[@b125-sensors-14-05967]\]. In addition, if one wants to compare character-by-character typing with a word completion strategy, a new problem arises. Incharacter-by-character typing four selections corresponds to maximally a four-letter word (if no mistakes occur), but the same four selections in a word completion strategy could result, for example, in a ten-letter word when, after spelling the first three letters, on a character-by-character basis, the fourth selection was used for choosing a ten-letter word from the list of suggestions. The ITR will treat the two cases in the same way, while it is clear that the latter one is much more beneficial. As a remedy, one could use the time spent on spelling some text \[[@b98-sensors-14-05967]\]. However, in general, in different studies the spelled texts are usually different, and therefore we cannot use this time-based measure to compare different BCI-spellers.

Ryan and colleagues proposed in \[[@b114-sensors-14-05967]\] to use the *output character per minute* (OCM) measure, which is estimated by taking the ratio of the total number of characters in the final text to the total time spent on spelling this text. They showed that while the standard ITR indicates a decrease from 19.39 ± 5.37 bit/min to 17.71 ± 5.38 bit/min by switching from character-by-character to predictive spelling, the OCM measure is more appropriate and characterizes the benefit obtained by incorporating a language model by an increase from 3.71 ± 0.75 character/min for character-by-character mode to 3.76 ± 0.75 character/min for predictive spelling.

Another strategy to overcome the limitation of the standard ITR measure in the case of text spelling was proposed by Kaufmann and colleagues \[[@b115-sensors-14-05967]\]. Instead of estimating the ITR in terms of selections per minute, they suggested to estimate the true bit rate in terms of the communicated characters per time unit. They showed that in their experiments the standard ITR was only slightly better for predictive spelling (15.7 ± 5.7 bit/min) compared to character-by-character spelling (15.1 ± 5.6 bit/min), while the true ITR better characterized the benefits of the language model by producing 20.6 ± 5.3 bit/min for predictive spelling and 12.0 ± 2.7 bit/min character-by-character spelling.

So far there is no consensus what measure to use. Different studies exploit different techniques for performance assessment. In [Table 1](#t1-sensors-14-05967){ref-type="table"} we list the performance data of the reviewed studies, where the results with and without natural language models are indicated. Since the performance of a BCI-speller depends on several components (e.g., classifier, preprocessing and so on, see Section 2), we wanted to show only the effect of the language model while the other system components (like classifier, signal processing, ...) remain the same.

5.. Discussion
==============

As is seen from [Table 1](#t1-sensors-14-05967){ref-type="table"}, incorporating language models into BCI-spellers provides benefits in performance. In this way, language models could be seen as another way to improve the performance, in addition to a better classifier, more advanced signal processing, and so on. While the latter conventional methods are intended to change one of the blocks in [Figure 1](#f1-sensors-14-05967){ref-type="fig"}, the incorporation of a language model could be seen, in the majority of cases (for Sections 3.2--3.6), as an additional block in the scheme, which could also influence the classification step, its outcome, or the interface (display layout) itself.

Studies done so far with language models in BCI spellers only had a small amount of words/characters typed (less than 60 characters). Therefore, it is difficult to draw any solid and unbiased conclusions about the benefits of language models during a prolonged use of the system. However, one could expect that in this case the user could become more familiarized with the interface and its abilities and caveats.

Moreover, some interfaces \[[@b113-sensors-14-05967],[@b114-sensors-14-05967]\] allow for the inclusion of the user\'s most frequent words and phrases, collected when using the BCI system, which could also speed up typing, especially in a word completion mode. On the other hand, with some of the language model implementations, as in \[[@b114-sensors-14-05967]\], which were reported to increase the mental workload, the performance could even decrease after prolonged use. All these points indicate the necessity to perform longitudinal studies to properly evaluate the benefits of such implementations.

Even to date the potential benefits (if any) of some language models are not yet fully investigated. For example, the Dasher interface (see Section 3.2) is merely presented as a proof of concept for BCI. Whether it is beneficial or not still remains an open question. Additionally, some evaluations and comparisons were only done with simulated BCI spellers \[[@b99-sensors-14-05967],[@b107-sensors-14-05967]\] or with off-line data \[[@b44-sensors-14-05967],[@b121-sensors-14-05967]\]. All this still calls for on-line assessments of the proposed methodologies.

While the primary goal of BCI is to help patients suffering from locked-in syndrome, severe speech or motor disabilities, all studies with language models done so far only considered healthy subjects. It could very well be that some of the suggested methodologies, such as word completion, which require an increased cognitive load \[[@b114-sensors-14-05967]\], are in fact infeasible for certain patient groups.

Another challenge is the design of an appropriate interface, tailored to the user. This could even start with the selection of the corpora so that the interface is better tuned to the user\'s language or his/her language capabilities. Human-machine interaction studies in this direction are needed. It would also be beneficial to have interfaces that work without requiring the user to switch between different interface layouts as, for example, in \[[@b112-sensors-14-05967]\]. Such modifications could result in faster typing, since no commands for switching between interfaces are required. From the reviewed publications it is already seen that, for example, the list of word suggestions (during predictive spelling), integrated directly into interface, can reduce the mental workload \[[@b115-sensors-14-05967]\]. All these could inspire the design and implementation of an interface that complies to with the main goals of AAL: to render the resulting system easily usable by the targeted user and not to increase its mental effort.

Most of the publications to language models in BCI spellers explore mainly only one of the language models presented in Section 3, while it is desirable to use several of them simultaneously to boost the performance. For example, a classifier for typing consecutive letters that takes into account letter probabilities depending on previously typed text (Section 3.6), could be easily connected to predictive word spelling (Section 3.4). The same principle of implementing several applications, according to the particular needs of AAL users, can be followed when integrating BCI spellers in AAL applications (e.g., in areas of safety, social environment, housework).

While the previous remarks are somewhat general, each method has its limitations and possible directions for improvement. For example, in \[[@b112-sensors-14-05967]\] the word prediction model was supported by a dictionary containing the 49,142 most common words in English. This dictionary consisted of (mainly) the singular form of those words, whereas the user sometimes wanted to type words in plural. Since the word completion strategy used in this study had each word completed by adding a space after it, many users preferred the character-by-character spelling mode over the word completion one, since the latter required frequent corrections, by using the "backspace" command, and a retyping to obtain the plural form. As another example, we mention the word correction strategy proposed in \[[@b103-sensors-14-05967]\] which can work under the following conditions: (a) the spelling system must exactly know where the intended word starts and ends (thus, a misspelled word-separating symbol could be considered as a part of the intended word); (b) the words can only contain letters (no digits and/or other characters); and (c) words not from the system dictionary are not supposed to be spelled. If at least one of these conditions is violated, then the described word correction strategy will be useless and will lead to a wrong textual output. Hence, further research is needed to overcome these limitations.

The potential benefits of BCI have been exploited in different BCI systems \[[@b68-sensors-14-05967]\] including AAL applications. Particularly, BCI-spellers are in a position to improve the quality of life of people with particular communication needs \[[@b6-sensors-14-05967]\] as is the case in the AAL community. Additionally, the various implementations of language models (e.g., completion, design of appropriate interfaces, avoid the switching between interfaces layouts, predictive characters selection) on BCI-spelling systems, as described in this review, could offer new ways to interact with assistive living, communication and control systems. Such implementations could support an active social environment in the context of rehabilitation \[[@b4-sensors-14-05967]\], and AAL applications such as control environment and context awareness \[[@b8-sensors-14-05967]\].

6.. Conclusions
===============

In this study we reviewed several approaches to boost the performance of existing BCI spellers by using language models. We categorized them based on the language model used and the way it is integrated. Different methods for assessing and comparing the performance of BCI spellers were discussed and adaptations to better account for the integrated language models suggested. We conclude that as a result of application of these language models, a significant improvement in spelling performance can be achieved, and new avenues of BCI integration in the AAL community charted such as social and environment control and rehabilitation.

A.M.C. is supported by the Administrative Department of Science, Technology and Innovation, Colciencias call 529/2011 (Colombia); N.V.M. is supported by the Flemish Regional Ministry of Education (Belgium) (GOA 10/019); N.C. is supported by the Flemish Agency for Innovation by Science and Technology (TETRA project Spellbinder); M.M.V.H. is supported by research grants received from the program Financing program (PFV/10/008) and the CREA Financing program (CREA/07/027) of the KU Leuven, the Belgian Fund for Scientific Research---Flanders (G088314N, G0A0914N), the Interuniversity Attraction Poles Programme---Belgian Science Policy (IUAP P7/11), the Flemish Regional Ministry of Education (Belgium) (GOA 10/019), the Flemish Agency for Innovation by Science and Technology (TETRA project Spellbinder), and by the SWIFT prize of the King Baudouin Foundation of Belgium.

A.M.C. performed the literature search and wrote the initial version of the manuscript. N.V.M. also contributed to the literature search and the structure of the paper, proposed the classification of the discussed models and reworked the manuscript. N.C. also reworked the manuscript and adapted the figures from the literature. M.M.V.H. contributed to the contents and structure of the paper.

The authors declare no conflict of interest.

![Brain-Computer Interface scheme.](sensors-14-05967f1){#f1-sensors-14-05967}

![Example of typing matrix in P300-speller. Rows and columns are intensified in random order. The intensification of the second column (**Left panel**) and the third row (**Right panel**) are shown. One round consists of the intensification of each one of the six columns and six rows.](sensors-14-05967f2){#f2-sensors-14-05967}

![Three consecutive stages to select symbol "w" in a SSVEP speller.](sensors-14-05967f3){#f3-sensors-14-05967}

![Two different types of imaginary movements allow the user to control the rotation and extension of the gray arrow in the Hex-o-Spell interface. In this example the last letter in the word "BELARUS" is selected. Adapted from \[[@b99-sensors-14-05967]\].](sensors-14-05967f4){#f4-sensors-14-05967}

![Layout of the Bremen SSVEP-based BCI-speller. Adapted from \[[@b101-sensors-14-05967]\].](sensors-14-05967f5){#f5-sensors-14-05967}

![Conventional (**a**) and modified (**b**) P300-speller interfaces used in the study of Ahi and colleagues \[[@b103-sensors-14-05967]\]. Adapted from \[[@b103-sensors-14-05967]\].](sensors-14-05967f6){#f6-sensors-14-05967}

![Dynamic (**a**) and static (**b**) interfaces for a system, that considers previously typed text "what a w" for spelling the next letter. Adapted from \[[@b98-sensors-14-05967]\].](sensors-14-05967f7){#f7-sensors-14-05967}

![Five successive stages when entering "Hello" with the Dasher interface.](sensors-14-05967f8){#f8-sensors-14-05967}

![Two different layouts designed for predictive spelling. (**a**) The predicted words are displayed on the left side of the screen over an "extra" window in the interface, thus requiring keeping them in the user\'s memory, which could increase the cognitive workload. Adapted from \[[@b114-sensors-14-05967]\]. (**b**) The solution proposed to alleviate the cognitive workload by integrating the suggested words into the interface as selectable stimuli. Adapted from \[[@b115-sensors-14-05967]\].](sensors-14-05967f9){#f9-sensors-14-05967}

###### 

Difference in performance of spelling interfaces with and without natural language models. The third column refers to the sections where they are discussed.

  **Study**                                             **BCI Paradigm**   **Section Describing Model**   **Number of Subjects**   **Amount of Words/Characters Typed**        **Performance without Natural Language Model**           **Performance with Natural Language Model**
  ----------------------------------------------------- ------------------ ------------------------------ ------------------------ ------------------------------------------- -------------------------------------------------------- --------------------------------------------------------
  Kaufmann *et al.* 2012 \[[@b115-sensors-14-05967]\]   ERP-based          3.4.                           19                       9 words/45 characters                       15.1 ± 5.6 bit/min (ITR) 12.0 ± 2.7 bit/min (true ITR)   15.7 ± 5.7 bit/min (ITR) 20.6 ± 5.3 bit//min(true ITR)
  Ryan *et al.* 2010 \[[@b114-sensors-14-05967]\]       ERP-based          3.4.                           24                       Sentence with 58 characters                 19.39 ± 5.37 bit/min (ITR) 3.71 ± 0.75 char/min (OCM)    17.71 ± 5.38 bit/min (ITR) 3.76 ± 0.75 char/min (OCM)
  Volosyak *et al.* 2011 \[[@b112-sensors-14-05967]\]   SSVEP              3.4.                           7                        Three phrases with in total 34 characters   29.98 ± 5.79 bit/min (true ITR)                          32.71 ± 9.18 bit//min (true ITR)
  Ahi *et al.* 2011 \[[@b103-sensors-14-05967]\]        ERP-based          3.5.                           14                       10 words with 4 characters each             For 2 trials: 8.48 bit/min (ITR)                         For 2 trials: 35.24 bit/min (ITR)
  Ahi *et al.* 2011 \[[@b103-sensors-14-05967]\]        ERP-based          3.5. + 3.1.                    14                       10 words with 4 characters each             For 2 trials: 8.48 bit/min (ITR)                         For 2 trials: 55.32 bit/min (ITR)
  Speier *et al.* 2012 \[[@b44-sensors-14-05967]\]      ERP-based          3.6.                           6                        9 words with 5 letters each                 22.07 ± 8.48 bit/min (ITR)                               33.15 ± 12.37 bit/min (ITR)
  D\'Albis *et al.* 2012 \[[@b98-sensors-14-05967]\]    MI                 3.2.                           3                        Phrase with 20characters                    12:56 min (spelling time)                                10:38min (spelling time)
  D\'Albis *et al.* 2012 \[[@b98-sensors-14-05967]\]    MI                 3.4.                           3                        Phrase with 20 characters                   12:56 min (spelling time)                                6:27 min (spelling time)
  D\'Albis *et al.* 2012 \[[@b98-sensors-14-05967]\]    MI                 3.2. + 3.4.                    3                        Phrase with 20characters                    12:56 min (spelling time)                                6:09 min (spelling time)
  Akram *et al.* 2013 \[[@b113-sensors-14-05967]\]      ERP-based          3.4.                           4                        10 words                                    2.9 min (word spelling average time)                     1.66 min (word spelling average time)
