SpCoSLAM 2.0: An Improved and Scalable Online Learning of
Spatial Concepts and Language Models with Mapping*

arXiv:1803.03481v1 [cs.RO] 9 Mar 2018

Akira Taniguchi1 , Yoshinobu Hagiwara1 , Tadahiro Taniguchi1 , and Tetsunari Inamura2
Abstract— In this paper, we propose a novel online learning
algorithm, SpCoSLAM 2.0 for spatial concepts and lexical
acquisition with higher accuracy and scalability. In previous
work, we proposed SpCoSLAM as an online learning algorithm
based on the Rao–Blackwellized particle filter. However, this
conventional algorithm had problems such as the decrease
of the estimation accuracy due to the influence of the early
stages of learning as well as the increase of the computational
complexity with the increase of the training data. Therefore,
we first develop an improved algorithm by introducing new
techniques such as rejuvenation. Next, we develop a scalable
algorithm to reduce the calculation time while maintaining
a higher accuracy than the conventional algorithm. In the
experiment, we evaluate and compare the estimation accuracy
and calculation time of the proposed algorithm, conventional
online algorithm, and batch learning. The experimental results
demonstrate that the proposed algorithm not only exceeds the
accuracy of the conventional algorithm but also capable of
achieving an accuracy comparable to that of batch learning. In
addition, the proposed algorithm showed that the calculation
time does not depend on the amount of training data and
becomes constant for each step with the scalable algorithm.

I. INTRODUCTION
Robots operating in various human-living environments
are required to adaptively and sequentially acquire the spatial
concepts and vocabulary related to various places as well
as the environmental map. It is difficult to manually design
spatial concepts in advance, thus it is desirable for robots
to autonomously acquire spatial concepts and vocabulary
based on their own experiences. Related research in the fields
of semantic mapping and place categorization [1]–[4] have
attracted considerable interests in recent years. However,
the conventional approaches of most of these studies could
not learn unknown words without the pre-set vocabulary.
In addition, the processes for simultaneous localization and
mapping (SLAM) [5] and the estimation of semantics related
to places have been addressed separately. However, in our
proposed approach, the robot can automatically and sequentially perform place categorization and learn unknown words
without any prior knowledge. In addition, the proposed un*This work was partially supported by JST CREST grant number
JPMJCR15E3, JSPS KAKENHI grant number JP17J07842, and a Grantin-Aid for Scientific Research on Innovative Areas (16H06561) funded by
the Ministry of Education, Culture, Sports, Science, and Technology, Japan.
1 Akira Taniguchi, Yoshinobu Hagiwara, and Tadahiro Taniguchi
are with Ritsumeikan University, 1-1-1 Noji-Higashi, Kusatsu, Shiga
525-8577, Japan. {a.taniguchi, yhagiwara, taniguchi}

@em.ci.ritsumei.ac.jp
2 Tetsunari Inamura is with the National Institute of Informatics / SOKENDAI (The Graduate University for Advanced Studies), 2-1-2 Hitotsubashi, Chiyoda-ku, Tokyo 101-8430, Japan. inamura@nii.ac.jp

“kyouiNkenkyuushitsunikimashita”
(We come to the faculty lab.)

“konobashogaroboqtookibadayo”
(This place is the robot storage space.)

OK! I learn
quickly!

OK! I learn
correctly!!

Online learning

/robotookiba/

/kimashita/
/idi/

/idomari/
/pyoigegyushitsu/

/kyoiNkeNkiyushitsu/

Fig. 1. Overview of an improved and scalable online learning; The robot
can additionally learn spatial concepts while sequentially correcting mistakes
in previous learning based on interaction with an user and an environment,
as shown from the bottom left to the bottom right.

supervised Bayesian generative model integrates multimodal
place categorization, lexical acquisition, and SLAM.
Taniguchi et al. [7], [8] proposed the nonparametric
Bayesian spatial concept acquisition method (SpCoA) using
an unsupervised word-segmentation method latticelm [9] and
SpCoA++, which enables highly accurate lexical acquisition by updating the language model. Isobe et al. [10]
proposed a learning method for the relationship between
objects and places using image features obtained by the
convolutional neural network (CNN) [11]. However, these
methods [7], [8], [10] cannot learn spatial concepts from
unknown environments without a map because they rely
on batch-learning algorithms. Therefore, we developed in
previous work an online algorithm, SpCoSLAM [6], that
can sequentially learn a map, spatial concepts that integrate
positions, speech signals, and scene images.
One of the advantages of online learning is that the spatial
concepts mistakenly learned by the robot can be corrected
sequentially, something which could not be achieved thus
far. Moreover, we consider that it can flexibly deal with
changes in the environment and the names of places. However, to enable online learning based, long-term human–
robot interactions with limited computational resources, the
following problems need to be solved: (i) the increase in
calculation cost owing to an increase in the amount of
data, and (ii) the decrease in estimation accuracy by online
learning when compared with batch learning. More specifically, the conventional algorithm [6] caused the accuracy of

m

ut −1

zt −1

ut

μk

V0 ,ν 0

Σk

α

λ

π

Ct

AM
Fig. 2.

zt +1

ut +1

xt

xt −1

m0 ,κ0

zt

x t +1

it

φl

γ

ft

θl

χ

St

Wl

β

yt

LM

λ

λ

m
xt
zt
ut
ft
yt
it
Ct
St
µk , Σk
π
φl
θl
Wl
LM
AM
α, β, γ, χ, λ
m0 , κ0 , V0 , ν0

Environmental map
Self-position of a robot
Depth data
Control data
Image feature
Speech signal
Index of position distributions
Index of spatial concepts
Word sequence (word segmentation result)
Parameters of Gaussian distribution (position distribution)
Parameter of multinomial distribution for index Ct of spatial concepts
Parameter of multinomial distribution for index it of position distribution
Parameter of multinomial distribution for image feature
Parameter of multinomial distribution for the names of places
Language model (word dictionary)
Acoustic model for speech recognition
Hyperparameters of prior distributions

Left: Graphical model representation of SpCoSLAM [6]; Gray nodes indicate observation variables. Right: Description of random variables

categorization and word segmentation to decrease because
sufficient statistical information could not be used at the early
stages of learning. In addition, the computational complexity
of the processes of speech recognition and unsupervised
word segmentation increased with an increase in the training
data. In the online learning algorithms for mobile robots, the
increase in scalability without reducing accuracy is extremely
important but difficult to achieve. Therefore, we aim to
develop improved and scalable algorithms to solve the abovementioned problems. An overview is shown in Fig. 1.
In the one hand, we assume that the robot has not acquired
any vocabulary in advance and can recognize only phonemes
or syllables. In the other hand, we represent the spatial
area of the environment in terms of a position distribution.
Furthermore, we define a spatial concept as a place category
that includes the place names, the scene image features, and
the position distributions.
The main contributions of this paper are as follows:
• We propose an improved and scalable online learning
algorithm with several novel extensions from the conventional algorithm.
• The improved algorithm achieves accuracy comparable
to batch learning.
• The scalable algorithm reduces the order of the computational complexity.
II. S P C O SLAM: ONLINE SPATIAL CONCEPT
ACQUISITION
A. Overview
SpCoSLAM [6] can perform online spatial concept acquisition, lexical acquisition, and simultaneous localization and
mapping in an integrative manner. Fig. 2 shows the graphical
model of SpCoSLAM and lists each variable of the graphical
model. The details of the formulation of the generation
process represented by the graphical model are described
in [6]. This method can learn sequential spatial concepts for
unknown environments without maps. It can also learn the
many-to-many correspondences between names and places

via spatial concepts and can mutually complement the
uncertainty of information using multimodal information.
The procedure of SpCoSLAM for each step is described
as follows. (a) The robot obtains the weighted finite-state
transducer (WFST) speech recognition results from the user’s
speech signals using a language model. (b) The robot obtains
the likelihood of self-localization by performing FastSLAM.
(c) The robot segments the WFST speech recognition results
using the unsupervised word segmentation, latticelm [9]. (d)
The robot obtains the latent variables of spatial concepts by
sampling. (e) The robot obtains the marginal likelihood of
the observed data as the importance weight. (f) The robot
updates the environmental map. (g) The robot estimates
the set of model parameters of the spatial concepts from
the observed data and the sampled variables. (h) The robot
updates the language model of the maximum weight for the
next step. (i) The particles are resampled according to their
weights. Steps (b)–(g) are performed for each particle.
B. Online Spatial Concept Acquisition and Mapping
The online learning algorithm of SpCoSLAM introduced
sequential equation updates to estimate the parameters of the
spatial concepts into the formulation of Rao-Blackwellized
particle filter (RBPF) in the FastSLAM 2.0 algorithm [12].
The particle filter is advantageous in that parallel processing
can be easily applied because each particle can be calculated
independently.
In the formulation of SpCoSLAM, the joint posterior
distribution can be factorized to the probability distributions
of a language model LM , a map m, the set of model
parameters of spatial concepts Θ = {W, µ, Σ, θ, φ, π}, the
joint distribution of the self-position trajectory x0:t , and the
set of latent variables C1:t = {i1:t , C1:t , S1:t }. We describe
the joint posterior distribution of SpCoSLAM as follows:
p(x0:t , C1:t , LM, Θ, m | u1:t , z1:t , y1:t , f1:t , AM, h)
= p(LM | S1:t , λ)p(Θ | x0:t , C1:t , f1:t , h)p(m | x0:t , z1:t )
(1)
· p(x0:t , C1:t | u1:t , z1:t , y1:t , f1:t , AM, h)
{z
}
|
Particle filter

where the set of hyperparameters is denoted as h =
{α, β, γ, χ, λ, m0 , κ0 , V0 , ν0 }. It is noteworthy that the
speech signal yt is not observed at all time steps. Herein,
the proposed method is equivalent to FastSLAM when yt is
not observed, i.e., when the speech signal is a trigger for the
place categorization.
The particle filter algorithm uses sampling importance
resampling (SIR). The importance weight is denoted by
[r]
[r]
[r]
ωt = Pt /Qt for each particle, where r is the particle
index. The number of particles is R. Henceforth, the following equations are also calculated for each particle r; however,
the subscripts representing the particle index are omitted.
We describe the target distribution Pt as follows:
Pt

=

p(x0:t , C1:t | u1:t , z1:t , y1:t , f1:t , AM, h)

≈

p(it , Ct | x0:t , i1:t−1 , C1:t−1 , S1:t , f1:t , h)

q(x0:t , C1:t | u1:t , z1:t , y1:t , f1:t , AM, h)

=

p(xt | xt−1 , zt , mt−1 , ut )
· p(it , Ct | x0:t , i1:t−1 , C1:t−1 , S1:t , f1:t , h)
· p(St | S1:t−1 , y1:t , AM, λ) · Qt−1 .

(3)

Then, p(xt | xt−1 , zt , mt−1 , ut ) is the equivalent to the
proposal distribution of FastSLAM 2.0. The probability distribution of it and Ct is the marginal distribution pertaining
to the set of model parameters Θ. This distribution can be
calculated by a formula equivalent to the collapsed Gibbs
sampling. The details are described in [6]. We approximate
the probability distribution of St as the speech recognition
with the language model LMt−1 and the unsupervised word
segmentation using the WFST speech recognition results by
latticelm [9] as follows:
p(St | S1:t−1 , y1:t , AM, λ)
≈ latticelm(S1:t | L1:t , λ)SR(L1:t | y1:t , AM, LMt−1 )
(4)
where SR() denotes the function of speech recognition, L1:t
denotes the speech recognition results in the WFST format,
which is a word graph representing the speech recognition
results.
Finally, ωt is represented as follows:
≈ p(zt | mt−1 , xt−1 , ut )p(ft | C1:t−1 , f1:t−1 , h)
p(St | S1:t−1 , C1:t−1 , α, β)
·
· ωt−1 .
(5)
p(St | S1:t−1 , β)
In the formulation of (1), it is desirable to estimate the
language model LMt for each particle. In other words,
speech recognition of the amount of data multiplied by
the number of particles for each teaching utterance must
be performed. In this paper, to reduce the computational
cost, we use a language model LMt of a particle with the
maximum weight for speech recognition.
ωt

Pt

≈

p(it , Ct | x0:t , i1:t−1 , C1:t−1 , S1:t , f1:t , h)
· p(zt | xt , mt−1 )p(ft | C1:t−1 , f1:t−1 , h)
· p(xt | xt−1 , ut )p(St | S1:t−1 , y1:t , AM, λ)
· p(xt | x0:t−1 , i1:t−1 , C1:t−1 , h)
p(St | S1:t−1 , C1:t−1 , α, β)
·
· Pt−1 .
p(St | S1:t−1 , β)

ωt

· p(xt | xt−1 , ut )p(St | S1:t−1 , y1:t , AM, λ)
p(St | S1:t−1 , C1:t−1 , α, β)
· Pt−1 .
(2)
·
p(St | S1:t−1 , β)
We describe the proposal distribution Qt as follows:
=

Herein, we applied two modifications related to the
weighting of the original SpCoSLAM algorithm [6].
1) Additional Weight for it , Ct and xt (AW): We modify
the derivation of (2) in the target distribution Pt as follows:

(6)

Finally, ωt is modified as follows:

· p(zt | xt , mt−1 )p(ft | C1:t−1 , f1:t−1 , h)

Qt

C. Modification

≈ p(zt | mt−1 , xt−1 , ut )p(ft | C1:t−1 , f1:t−1 , h)
Xh
p(xt | x0:t−1 , i1:t−1 , it = k, h)
·
it =k

·

X

i
p(it = k, Ct = l | C1:t−1 , i1:t−1 , h)

Ct =l

p(St | S1:t−1 , C1:t−1 , α, β)
· ωt−1 .
·
p(St | S1:t−1 , β)

(7)

Unlike the original algorithm of SpCoSLAM, the marginal
likelihood for it and Ct weighted by the marginal likelihood
for the position distribution was added to the third term
on the right side. The calculation amount does not increase
because the most of the formulas for weight ωt were already
calculated when it and Ct were sampled. This is described
in Algorithm 1 (line 16) and Algorithm 2 (line 17).
2) Weight for the Selection of a Language Model LM
(WS): We modify the weight for the selection of a language
model from the whole weight ωt of the model to the weight
ωS related to the word information as follows:
ωS = p(S1:t | C1:t−1 , α, β)/p(S1:t | β).

(8)

The segmentation result of all of the uttered sentences for
each particle changes at every step because of the word segmentation processes that use all previous data. Therefore, we
consider that better word segmentation results can be selected
by the weight that considers not only the current data but
also all previous data. In addition, this weight corresponds
to the selection of the word segmentation results from the
mutual information in SpCoA++ [8]. This is described in
Algorithm 1 (line 23) and Algorithm 2 (line 24).
III. S P C O SLAM 2.0: IMPROVED AND SCALABLE
ONLINE LEARNING ALGORITHM
In this section, we describe an improved and scalable
online learning algorithm to overcome the problems in
SpCoSLAM. First, we develop an improved algorithm by
introducing new techniques such as rejuvenation as shown
in Section III-A. Next, we develop a scalable algorithm to
reduce the calculation time while maintaining a higher accuracy than the conventional algorithm as shown in Section IIIB. The proposed algorithms are theoretically reasonable
compared to heuristic.

Algorithm 1 SpCoSLAM 2.0 algorithm (Improved)

A. Improvement
We describe in this section the details of the improved
algorithm. A pseudo-code for the improved algorithm is
given by Algorithm 1.
1) Fixed-lag Rejuvenation of it and Ct (FLR–it , Ct ):
Canini et al. [13] improved the accuracy with the rejuvenation that resamples some previous samples randomly.
However, in a completely random choice, all of the previous
samples need to be held. In the proposed algorithm, we introduce the fixed-lag rejuvenation (FLR). The FLR, inspired
by the fixed-lag smoothing [14], performs the resampling of
latent variables iτ and Cτ by iterating τ times from the step
t − TL + 1 to the current step t as follows:
iτ , Cτ ∼ p(iτ , Cτ | x0:t , S1:t , f1:t , i{1:t|¬τ } , C{1:t|¬τ } , h)
(9)
where i{1:t|¬τ } and C{1:t|¬τ } denote the sets of elements
from 1 to t without the elements of step τ . In this case, the
latent variables of step t − TL can be sampled using the data
up to step t, as described in Algorithm 1 (lines 12–14).
2) Re-segmentation (RS): We introduce the resegmentation of word sequences to improve the accuracy
of word segmentation. In the conventional algorithm, we
approximated the left side of (10) by registering the word
sequences segmented by latticelm to the word dictionary.
However, this can be considered as a process of sampling
∗
a language model LM from word sequences S1:t
and a
hyperparameter λ of a language model. Therefore, we adopt
the nested Pitman–Yor language model (NPYLM) [15] to
estimate a language model from the word sequences as
follows:
∗
∗
p(LM | S1:t
, λ) = NPYLM(LM | S1:t
, λ).

B. Scalability
We describe in this section the details of the scalable
algorithm. A pseudo-code for the scalable algorithm is given
in Algorithm 2.
1) WFST Speech Recognition and Unsupervised Word
Segmentation using FLR (FLR–St ): FLR can also be extended to the sampling of St . The data used for speech
recognition and word segmentation are changed from all data
such as in (4) to the data of the fixed-lag interval. In this case,
word segmentation can be performed based on the statistical
information collected from the WFSTs of the number of lag
values TL . FLR performs the sampling of word sequences
St−TL +1:t of time steps from t − TL + 1 to the current step
t as follows:

11:
12:
13:
14:
15:
16:

17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:

[r]

[r]

[r]

xt = scan matching(zt , x́t , mt−1 )
for j = 1 to J do
[r]
xj = sample motion model(ut , xt−1 )
end forP
[r]
[r]
ωz = Jj=1 measurement model(zt , xj , mt−1 )
[r]
S1:t ∼ latticelm(S1:t | L1:t , λ)
for τ = t − TL + 1 to t do
[r]
[r]
[r]
[r]
iτ , Cτ ∼ p(iτ , Cτ | x0:t , S1:t , f1:t ,
[r]
[r]
i{1:t|¬τ } , C{1:t|¬τ } , h)
end for
[r]
[r]
ωf = p(ft | C1:t−1
, f1:t−1 , α, χ)
h
P
[r]
[r]
[r]
[r]
ωic =
| x0:t−1 , i1:t−1 , it = k, h)
it =k p(xt
i
P
[r]
[r]
· Ct =l p(it = k, Ct = l | C1:t−1 , i1:t−1 , h)
[r]

[r]

[r]

[r]

[r]

[r]

ωs = p(St | S1:t−1 , C1:t−1 , α, β)/p(St | S1:t−1 , β)
[r]
[r]
[r]
[r]
[r]
ωt = ωz · ωf · ωs · ωic
[r]
[r]
[r]
mt = updated occupancy grid(zt , xt , mt−1 )
[r]
[r]
[r]
Θt = E[p(Θ | x0:t , C1:t , f1:t , h)]
[r]
[r]
[r]
[r]
[r]
X̄t = X̄t ∪ hx0:t , C1:t , mt , Θt , ωt i
end for
P
[r]
[r]
∗
S1:t
= argmaxS [r] R
r=1 ωS δ(S1:t − S1:t )
1:t
∗
LMt ∼ NPYLM(LM | S1:t
, λ)
for r = 1 to R do
[i]
draw i with probability ∝ ωt
[i]
[i]
[i]
[i]
add hx0:t , C1:t , mt , Θt , LMt i to Xt
end for
return Xt
end procedure

2) Sequential Bayesian Update of Parameters in Posterior
Distribution (SBU): We change the algorithm to the sequential Bayesian update (SBU) of the set of hyperparameters H
in the posterior distribution. In the conventional algorithm,
the model parameters Θ are estimated from all the data D1:t
and the set of latent variables C1:t for each step. However,
in FastSLAM, a map mt is updated from xt , zt , and mt−1
sequentially. Similarly, the posterior hyperparameters Ht can
be calculated from the new data Dt , latent variables Ct , and
posterior hyperparameters Ht−1 at the previous time. Doing
so, both the computational and memory efficiency, important
in long-term learning using real robots, can be significantly
improved. The SBU for the posterior hyperparameters is
calculated as follows:
p(Θ | Ht )

= p(Θ | D1:t , C1:t , h)
= p(Θ | Dt , Ct , {D1:t−1 , C1:t−1 , h})
= p(Θ | Dt , Ct , Ht−1 )
∝ p(Dt | Ct , Θ)p(Θ | Ht−1 ).

∼ latticelm(St−TL +1:t | Lt−TL +1:t , λ)
· SR(Lt−TL +1:t | yt−TL +1:t , AM, LMt−1 )
(11)

This is described in Algorithm 2 (lines 4 and 12).

6:
7:
8:
9:
10:

(10)

Then, we convert the sentences into syllable sequences, and
segment them into word sequences by NPYLM, as described
in Algorithm 1 (line 24).

St−TL +1:t

1: procedure SpCoSLAM(Xt−1 , ut , zt , f1:t , y1:t )
2:
X̄t = Xt = ∅
3:
L1:t = SR(L1:t | y1:t , AM, LMt−1 )
4:
for r = 1 to R do
[r]
[r]
5:
x́t = sample motion model(ut , xt−1 )

(12)

These posterior hyperparameters Ht can also be used in the
sampling of Ct . In the implementation, it is sufficient to hold
the statistics obtained during the calculation of the posterior
distribution.

TABLE I
C OMPUTATIONAL COMPLEXITY OF LEARNING ALGORITHMS

Algorithm
SpCpSLAM [6]
SpCoSLAM 2.0 (Improved)
SpCoSLAM 2.0 (Scalable)
SpCoA [7] (Batch learning)
SpCoA++ [8] (Batch learning)

Algorithm 2 SpCoSLAM 2.0 algorithm (Scalable)
1: procedure SpCoSLAM(Xt−1 , ut , zt , ft−TL +1:t , yt−TL +1:t )
2:
X̄t = Xt = ∅
3:
t0 = t − TL
4:
Lt0 +1:t = SR(Lt0 +1:t | yt0 +1:t , AM, LMt0 )
5:
for r = 1 to R do
[r]
[r]
6:
x́t = sample motion model(ut , xt−1 )

Order
O(N R)
O(N R)
O(TL R)
O(N G)
O(N GM I)

In addition, we consider that the word segmentation problem can be improved by a combined method of FLR and the
SBU update. In this case, speech recognition is performed
using the initial syllable dictionary in the steps earlier than
step TL and using a word dictionary of the step t − TL in
the steps later than step TL + 1. When used together with
FLR, the SBU equation is shown as follows:
p(Θ | Ht )

7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:

=

p(Θ | D1:t , C1:t , h)

=

p(Θ | Dt0 +1:t , Ct0 +1:t , {D1:t0 , C1:t0 , h})

=

p(Θ | Dt0 +1:t , Ct0 +1:t , Ht0 )

[r]

[r]

Ct =l
[r]

(13)

18:

where a time step before the lag value is t0 = t − TL . In
this case, it is only necessary to hold the observed data and
posterior hyperparameters of the number corresponding to
the lag value TL . Equation (13) is applied to Algorithm 2.
Table I shows the order of computational complexity for
each learning algorithm. The data number is denoted N ,
the number of particles R, the value of fixed-lag TL , the
number of iterations for Gibbs sampling in batch learning
G, the number of candidates of word segmentation results
for updating the language model in SpCoA++ M , and
the number of iterations for the parameter estimation in
SpCoA++ I. In this case, the computational efficiency of the
scalable algorithm is higher than the previous SpCoSLAM
algorithm when TL < N .

19:

∝ p(Dt0 +1:t | Ct0 +1:t , Θ)p(Θ | Ht0 ),

[r]

xt = scan matching(zt , x́t , mt−1 )
for j = 1 to J do
[r]
xj = sample motion model(ut , xt−1 )
end forP
[r]
[r]
ωz = Jj=1 measurement model(zt , xj , mt−1 )
[r]
St0 +1:t ∼ latticelm(St0 +1:t | Lt0 +1:t , λ)
for τ = t0 + 1 to t do
[r]
[r]
[r]
[r]
iτ , Cτ ∼ p(iτ , Cτ | xt0 +1:t , St+1:t , ft0 +1:t ,
[r]
[r]
[r]
i{t0 +1:t|¬τ } , C{t0 +1:t|¬τ } , Ht0 )
end for
[r]
[r]
[r]
ωf = p(ft h| Ct0 +1:t−1 , ft0 +1:t−1 , Ht0 )
X
[r]
[r]
[r]
[r]
[r]
ωic =
p(xt | xt0 +1:t−1 , it0 +1:t−1 , it = k, Ht0 )
i
Xit =k
[r]
[r]
[r]
·
p(it = k, Ct = l | Ct0 +1:t−1 , it0 +1:t−1 , Ht0 )

IV. EXPERIMENTS
In this section, we performed the experiments to demonstrate the online learning of spatial concepts from a novel
environment. In addition, we performed the evaluations of
place categorization and lexical acquisition related to places.
We compared the performances of the following methods:
(A) SpCoSLAM [6]
(B) SpCoSLAM with AW (Section II-C.1)
(C) SpCoSLAM with AW + WS (Section II-C.2)
(D) SpCoSLAM 2.0 (FLR–it , Ct )
(E) SpCoSLAM 2.0 (RS)
(F) SpCoSLAM 2.0 (FLR–it , Ct + RS)
(G) SpCoSLAM 2.0 (FLR–it , Ct , St + SBU)
(H) SpCoA (Batch learning) [7]
(I) SpCoA++ (Batch learning) [8]
Methods (A)–(C) performed the conventional and modified SpCoSLAM algorithms. Methods (D)–(F) performed
the proposed improved algorithms in different conditions.
In methods (D) and (F), the lag value for FLR was set

20:
21:
22:
23:
24:

[r]
ωs
[r]

=

[r]

[r]

[r]

p(St |S 0
,C 0
,H 0 )
t +1:t−1
t +1:t−1
t
[r]
[r]
[r]
p(St |S 0
,H 0 )
t +1:t−1
t

[r]

[r]

[r]

[r]

ωt = ωz · ωf · ωs · ωic
[r]
[r]
[r]
mt = updated occupancy grid(zt , xt , mt−1 )
[r]
[r]
[r]
[r]
Ht = F [p(Θ | xt0 +1:t , Ct0 +1:t , ft0 +1:t , Ht0 )]
[r]
[r]
[r]
[r]
[r]
X̄t = X̄t ∪ hxt0 +1:t , Ct0 +1:t , mt , Ht0 +1:t , ωt i
end for
PR
[r]
[r]
0
St∗0 +1:t = argmaxS [r]
r=1 ωS δ(St +1:t − St0 +1:t )
t0 +1:t

25:
LMt = argmaxLM p(LM | St∗0 +1:t , LMt0 , λ)
26:
for r = 1 to R do
[i]
27:
draw i with probability ∝ ωt
[i]
[i]
[i]
[i]
28:
add hxt0 +1:t , Ct0 +1:t , mt , Ht0 +1:t , LMt0 +1:t i to Xt
29:
end for
30:
return Xt
31: end procedure

as TL = 10. Method (G) performed the proposed scalable
algorithm in three different conditions, i.e., the lag values for
the FLR was set as 1, 10, and 20. Batch-learning methods
(H) and (I) were estimated by Gibbs sampling based on a
weak-limit approximation [16] of the stick-breaking process
(SBP) [17]. The upper limits of the spatial concepts and
position distributions were set to L = 50 and K = 50,
respectively. We set the number of iterations for Gibbs
sampling to G = 100. In method (I), we set the number
of candidates of the word segmentation results for updating
the language model to M = 6, and the number of iterative
estimation procedures to I = 10.
A. Online Learning
We conducted experiments for the online spatial concept acquisition in a real environment. We implemented
SpCoSLAM 2.0 based on the open-source SpCoSLAM1 that
extended the gmapping package implementing the grid-based
1 https://github.com/EmergentSystemLabStudent/
SpCoSLAM

Step
15
30
50

it :
1:
1:
1:

/kyouyuuseki/ (Sharing desk)
/nobasyanyanamae/, /bawakyoo/, /yuseki/
/yusekinikibashita/, /kyoyuseki/, /kyoyusekidayo/
/kibashita/, /ni/, /kyouyuseki/

it :
3:
3:
3:

/ikidomari/ (The end of corridor)
/namaewa/, /enikimashita/, /gonobashiha/
/dayo/, /ikidomari/, /fokoga/
/idomari/, /miriiNgusupesu/, /koko/

it :
4:
6:
6:

/roboqtookiba/ (Robot storage space)
/robotokiba/, /robotokibanya/, /rimasu/
/kochirawaagaro/, /botoki/, /baninarimasu/
/wabotookiba/, /robotookiba/, /kochiraga/

Fig. 3. Top: Learning results of position distributions in a generated map; ellipses denoting the position distributions are drawn on the map at steps 15,
30, and 50. The colors of the ellipses were randomly determined for each index number it = k. Bottom: The examples of the correct word (English) and
estimated words for each position distribution at steps 15, 30, and 50.

FastSLAM 2.0 [12] in the robot operating system (ROS). We
used an open dataset, albert-b-laser-vision, i.e., a rosbag file
containing the odometry, laser range data, and image data.
This dataset was obtained from the Robotics Data Set Repository (Radish) [18]. We prepared Japanese speech data corresponding to the movement of the robot of above-mentioned
dataset because speech data were not initially included. The
total number of taught utterances was N = 50, including
10 types of phrases. The numbers of taught places and
place names were 10 and nine, respectively. The employed
microphone was a SHURE PG27-USB. Julius dictation-kitv4.4 (DNN-HMM decoding) [19] was used as a speech
recognizer. The initial word dictionary contains 115 Japanese
syllables. The unsupervised word segmentation system used
the latticelm [9]. The image feature extractor is implemented
with the deep-learning framework Caffe [20]. We used a
pre-trained CNN model, Places365-ResNet, trained with 365
scene categories of the Places2 Database with 1.8 million
images [21]. The number of particles was R = 30. The
hyperparameters for the online learning were set as follows:
α = 20, γ = 0.1, β = 0.1, χ = 0.1, m0 = [0, 0]T ,
κ0 = 0.001, V0 = diag(2, 2), and ν0 = 3. The abovementioned parameters were set such that all online methods
in comparison were tested under the same conditions. The
hyperparameters for the batch learning were set as follows:
α = 10, γ = 10, β = 0.1, m0 = [0, 0]T , κ0 = 0.001,
V0 = diag(2, 2), and ν0 = 3.
Fig. 3 shows the position distributions in the environmental
maps at steps 15, 30, and 50 in (F). The bottom part of this
figure shows an example of the correct phoneme sequence
of the place name, and the 3-best words estimated by the
probability distribution p(St | it , Θt , LMt ) at step t. Fig. 3
shows how the spatial concepts are acquired during sequential mapping the environment. The details of the online
learning experiment can be viewed in the video attached.
B. Evaluation Metrics
We evaluated the methods of different algorithms according to the following metrics: normalized mutual information
(NMI), estimation accuracy rate (EAR), phoneme accuracy

rate of uttered sentences (PARs), and PAR of acquired words
(PARw). We conducted six learning trials for each algorithm
condition. The details of the evaluation metrics are described
in the following sections.
1) Estimation Accuracy of Spatial Concepts: We compared the matching rate for the estimated indices C1:N of
the spatial concept and the classification results of the correct
answers given by a person. In this experiment, the evaluation
metric adopts the NMI, which is a measure of the similarity
degree between two clustering results. The matching rate for
the estimated indices i1:N of the position distributions is also
evaluated in the same manner.
In addition, we evaluated the estimated number of spatial
concepts L and position distributions K using the EAR. The
EAR was calculated as follows:
EAR = max(1 − | nT − nE |/nT , 0)
T

(14)

E

where n is the correct number and n is the estimated
number. We used the average EAR value of all steps as the
evaluation value.
2) PAR of Uttered Sentences: We compared in this section the accuracy rate for phoneme recognition and word
segmentation for all the recognized sentences. We calculated
the PAR of the uttered sentences (PARs) with the correct
phoneme sequence StP , and a phoneme sequence StR of the
recognition result of each uttered sentence. This experiment
considered the position of a delimiter as a single letter. PAR
was calculated as follows:
PAR = max(1 − LD(StP , StR )/np , 0)

(15)

where LD() is calculated using the Levenshtein distance
between StP and StR . Here, nP the number of phonemes
of the correct phoneme sequence.
3) PAR of Acquired Words: We evaluated in this section
whether a phoneme sequence has learned the properly segmented place names. This experiment assumes a request for
(best)
the best phoneme sequence, St,b , representing the selfposition xt of the robot. We compared the PARw with the
correct place name and a selected word for each teaching
place. PAR is calculated by (15).

0.6

(A) SpCoSLAM
(B) SpCoSLAM with AW
(C) SpCoSLAM with AW+WS
(D) 2.0 (10 FLR)
(E) 2.0 (RS)
(F) 2.0 (10 FLR + RS)
(G1) 2.0 (1 FLR + SBU)
(G2) 2.0 (10 FLR + SBU)
(G3) 2.0 (20 FLR + SBU)

PARw

0.4
0.3

Calculation time [sec.]

0.5

800

0.2

700
600
500

(A) SpCoSLAM
(B) SpCoSLAM with AW
(C) SpCoSLAM with AW+WS
(D) 2.0 (10 FLR)
(E) 2.0 (RS)
(F) 2.0 (10 FLR + RS)
(G1) 2.0 (1 FLR + SBU)
(G2) 2.0 (10 FLR + SBU)
(G3) 2.0 (20 FLR + SBU)

400
300
200

0.1
100
0.0

10

20

30

40

50

0

10

step
Fig. 4.

(best)

(best)

St,b

Fig. 5.

is calculated as follows:

= argmax p(St,b | xt , Θt , LMt ).

30

40

50

step

Changes in the PARw values for each step

The selection of St,b

20

(16)

St,b

In this experiment, we used the self-position xt that was not
included in the training data for the evaluation of PARw. The
more a method achieves accurate recognition of words and
acquisition of spatial concepts, the higher is the PARw value.
We consider this evaluation metric as an overall measure for
evaluating the proposed method.
C. Results and Discussion on Improvement and Scalability
In this section, we discuss the improvement and scalability
of the proposed learning algorithms. Table II lists the averages of the evaluation values calculated using the metrics
NMI, EAR, PARs, and PARw at step 50. Fig. 4 shows the
results of the PARw values for each step. Table III presents
the examples of the word segmentation results of the four
methods. “|” denotes a word segment position. Morpheme
was suitably segmented into Japanese morphemes using
MeCab, which is an off-the-shelf Japanese morphological
analyzer that is widely used for natural language processing.
Although the modified SpCoSLAM (B) and (C) are
theoretically appropriate than the original algorithm, little
differences were found. Time-driven self-localization and
event-driven spatial concept acquisition were solved by the
same particle filter. Therefore, strong influence of the weight
for self-localization is suggested rather than the weight of the
spatial concept. This will be investigated deeper in future
work.
From the results of (D) and (F), EAR, i.e., the accuracy of
the estimated number of clusters, was markedly improved by
introducing the FLR of Ct and it . From the results of (E) and
(F), the PARs and PARw were markedly improved by the resegmentation of the word sequences. These results showed
that the robot can accurately segment the names of the places
and learn the relationship between the places and the words
more precisely. In particular, method (F) that combines the
FLR and RS achieved an overall improvement compared to
the evaluation values of the other online algorithms.

Calculation times for evaluation of scalability

Fig. 5 shows the results of the calculation times between
the online learning algorithms. In batch learning, the calculation time of SpCoA was 1,063.736 s and SpCoA++ was
13,850.873 s. In the previous SpCoSLAM algorithm (A)–
(C) and the improved SpCoSLAM 2.0 algorithm (D)–(F),
the calculation time increased with the number of steps,
i.e., the amount of data increased. However, the scalable
SpCoSLAM 2.0 algorithm (G1)–(G3) could be kept at a
constant calculation time regardless of the increase in the
amount of data. As shown in Table II and Fig. 5, the
evaluation values improved overall when the lag value was
increased. In particular, when the lag value was 20, it showed
relatively high evaluation values approaching the improved
algorithm.
Because a trade-off exists between the fixed-lag size
and accuracy, the algorithm needs to be set appropriately
according to both the computational power embedded in the
robot, and the duration requirements on the actual operation.
In this experiment, we did not evaluate the scalability of
the algorithm on parallel processing. However, we consider
that the proposed algorithm could be executed even faster by
parallelizing the process of particles and using GPU.
V. CONCLUSION
This paper discussed an improved and scalable online
learning to address the problems encountered in the conventional SpCoSLAM algorithm. We proposed an online
learning algorithm, SpCoSLAM 2.0, for spatial concept and
lexical acquisition, to render higher accuracy and scalability. In the experiments, we conducted online learning with
a robot in a novel environment without any pre-existing
lexicon and map. In addition, we evaluated comparatively
the proposed algorithm, the conventional online algorithm,
and batch learning in terms of estimation accuracy and
calculation time. As the results shown, the proposed algorithm demonstrated a higher accuracy than the conventional
algorithm and achieved an accuracy comparable to batch
learning. Moreover, the calculation time of the proposed scalable algorithm becomes constant for each step independently
from the amount of training data.

TABLE II
E VALUATION VALUES FOR COMPARATIVE METHODS
Methods
(A) SpCoSLAM [6]
(B) SpCoSLAM with AW
(C) SpCoSLAM with AW + WS
(D) SpCoSLAM 2.0 (10 FLR–it , Ct )
(E) SpCoSLAM 2.0 (RS)
(F) SpCoSLAM 2.0 (10 FLR–it , Ct + RS)
(G1) SpCoSLAM 2.0 (1 FLR–it , Ct , St + SBU)
(G2) SpCoSLAM 2.0 (10 FLR–it , Ct , St + SBU)
(G3) SpCoSLAM 2.0 (20 FLR–it , Ct , St + SBU)
(H) SpCoA [7] (Batch learning)
(I) SpCoA++ [8] (Batch learning)

Improved

Scalable

X
X
X
X
X
X

X
X
X

NMI Ct
0.666
0.622
0.588
0.622
0.582
0.619
0.591
0.638
0.670
0.611
0.686

NMI it
0.811
0.764
0.730
0.821
0.733
0.801
0.743
0.805
0.852
0.842
0.848

EAR L
0.596
0.585
0.557
0.837
0.638
0.782
0.633
0.589
0.649
0.283
0.767

EAR K
0.770
0.758
0.725
0.915
0.796
0.871
0.792
0.779
0.833
0.519
0.648

PARs
0.524
0.516
0.496
0.533
0.789
0.801
0.648
0.690
0.704
0.708
0.787

PARw
0.154
0.132
0.086
0.157
0.358
0.419
0.158
0.262
0.292
0.140
0.524

TABLE III
E XAMPLES OF WORD SEGMENTATION RESULTS OF UTTERED SENTENCES
English
Morpheme
(A)
(F)
(G3)
(I)

“This place is the sharing desk.”
kochira | ga | kyouyuuseki | ni | nari | masu
a | kochiragagyoyusekiNni | narimasu
kochira | ga | kyouyuseki | ninarimasu
uo | kochi | ra | ga | kyoyuseki | nina | ri | ma | su
ochiraga | kyoyuseki | ninarimasu

“This is the meeting space.”
koko | wa | miitiNgusupeisu | desu
kokowaga | midigisupesudesujoouya
kokowa | miriiNgusupesu | desu
kowa | midigyusu | pesu | desu
gokoga | miidiNgusupesu | desu

We expect this work to contribute greatly to the realization
of long-term spatial language interactions between humans
and robots. As future work, we would like to perform a
long-term online learning experiment of spatial concepts,
in large-scale environments, based on the proposed scalable
algorithm of this paper. In addition, the generative model
of SpCoSLAM is connected with the SLAM and lexical
acquisition via the latent variables related to the spatial
concepts. Therefore, we will also conduct experiments on
loop-closure based on speech signals, and investigate how
spatial concepts can positively affect mapping.
ACKNOWLEDGMENT
The authors thank Cyrill Stachniss for providing the data.
R EFERENCES
[1] A. Pronobis and P. Jensfelt, “Large-scale semantic mapping and
reasoning with heterogeneous modalities,” in Proceedings of ICRA.
IEEE, 2012, pp. 3515–3522.
[2] I. Kostavelis and A. Gasteratos, “Semantic mapping for mobile
robotics tasks: A survey,” Robotics and Autonomous Systems, vol. 66,
pp. 86–103, 2015.
[3] N. Sünderhauf, F. Dayoub, S. McMahon, B. Talbot, R. Schulz,
P. Corke, G. Wyeth, B. Upcroft, and M. Milford, “Place categorization
and semantic mapping on a mobile robot,” in Proceedings of ICRA.
IEEE, 2016, pp. 5729–5736.
[4] C. Landsiedel, V. Rieser, M. Walter, and D. Wollherr, “A review of
spatial reasoning and interaction for real-world robotics,” Advanced
Robotics, vol. 31, no. 5, pp. 222–242, 2017.
[5] S. Thrun, W. Burgard, and D. Fox, Probabilistic Robotics. MIT Press,
2005.
[6] A. Taniguchi, Y. Hagiwara, T. Taniguchi, and T. Inamura, “Online
spatial concept and lexical acquisition with simultaneous localization
and mapping,” in Proceedings of IROS, 2017.
[7] A. Taniguchi, T. Taniguchi, and T. Inamura, “Spatial concept acquisition for a mobile robot that integrates self-localization and unsupervised word discovery from spoken sentences,” IEEE Transactions
on Cognitive and Developmental Systems, vol. 8, no. 4, pp. 285–297,
2016.
[8] ——, “Unsupervised spatial lexical acquisition by updating a language
model with place clues,” Robotics and Autonomous Systems, vol. 99,
pp. 166–180, 2018.

“The printer room is here.”
puriNtaabeya | wa | kochira | desu
ioporiNtabeaakochiragadesuduuryuzuqaqo
puriNtabeya | kochira | desu
puriNpabeya | ta | kochiradesu
poriNpabeya | wakochiradesu

[9] G. Neubig, M. Mimura, and T. Kawahara, “Bayesian learning of
a language model from continuous speech,” IEICE Transactions on
Information and Systems, vol. 95, no. 2, pp. 614–625, 2012.
[10] S. Isobe, A. Taniguchi, Y. Hagiwara, and T. Taniguchi, “Learning
relationships between objects and places by multimodal spatial concept
with bag of objects,” in Proceedings of ICSR, 2017, pp. 115–125.
[11] A. Krizhevsky, I. Sutskever, and G. Hinton, “Imagenet classification
with deep convolutional neural networks,” in Proceedings of NIPS,
2012, pp. 1097–1105.
[12] G. Grisetti, C. Stachniss, and W. Burgard, “Improved techniques for
grid mapping with Rao-Blackwellized particle filters,” IEEE Transactions on Robotics, vol. 23, pp. 34–46, 2007.
[13] K. R. Canini, L. Shi, and T. L. Griffiths, “Online inference of topics
with latent Dirichlet allocation.” in Proceedings of AISTATS, vol. 9,
2009, pp. 65–72.
[14] G. Kitagawa, “Computational aspects of sequential Monte Carlo filter
and smoother,” Annals of the Institute of Statistical Mathematics,
vol. 66, no. 3, pp. 443–471, 2014.
[15] D. Mochihashi, T. Yamada, and N. Ueda, “Bayesian unsupervised
word segmentation with nested Pitman-Yor language modeling,” in
Proceedings of ACL-IJCNLP, 2009, pp. 100–108.
[16] E. B. Fox, E. B. Sudderth, M. I. Jordan, and A. S. Willsky, “A sticky
HDP-HMM with application to speaker diarization,” The Annals of
Applied Statistics, pp. 1020–1056, 2011.
[17] J. Sethuraman, “A constructive definition of Dirichlet priors,” Statistica
Sinica, vol. 4, pp. 639–650, 1994.
[18] A. Howard and N. Roy, “The robotics data set repository (radish),”
2003. [Online]. Available: http://radish.sourceforge.net/
[19] A. Lee and T. Kawahara, “Recent development of open-source speech
recognition engine Julius,” in Proceedings of the APSIPA ASC, 2009,
pp. 131–137.
[20] Y. Jia, E. Shelhamer, J. Donahue, S. Karayev, J. Long, R. Girshick,
S. Guadarrama, and T. Darrell, “Caffe: Convolutional architecture for
fast feature embedding,” arXiv preprint arXiv:1408.5093, 2014.
[21] B. Zhou, A. Lapedriza, A. Khosla, A. Oliva, and A. Torralba, “Places:
A 10 million image database for scene recognition,” IEEE TPAMI,
2017.

