CASICT Tibetan Word Segmentation System for MLWS2017

We participated in the MLWS 2017 on Tibetan word segmentation task, our system is trained in a unrestricted way, by introducing a baseline system and 76w tibetan segmented sentences of ours. In the system character sequence is processed by the baseline system into word sequence, then a subword unit (BPE algorithm) split rare words into subwords with its corresponding features, after that a neural network classifier is adopted to token each subword into "B,M,E,S" label, in decoding step a simple rule is used to recover a final word sequence. The candidate system for submition is selected by evaluating the F-score in dev set pre-extracted from the 76w sentences. Experiment shows that this method can fix segmentation errors of baseline system and result in a significant performance gain.


page 1

page 2

page 3

page 4


Simplifying Sentences with Sequence to Sequence Models

We simplify sentences with an attentive neural network sequence to seque...

Extracting and Validating Explanatory Word Archipelagoes using Dual Entropy

The logical connectivity of text is represented by the connectivity of w...

Segmentation-free compositional n-gram embedding

Applying conventional word embedding models to unsegmented languages, wh...

Cross-lingual Word Segmentation and Morpheme Segmentation as Sequence Labelling

This paper presents our segmentation system developed for the MLP 2017 s...

Joint Persian Word Segmentation Correction and Zero-Width Non-Joiner Recognition Using BERT

Words are properly segmented in the Persian writing system; in practice,...

Towards Accurate Word Segmentation for Chinese Patents

A patent is a property right for an invention granted by the government ...

Onto Word Segmentation of the Complete Tang Poems

We aim at segmenting words in the Complete Tang Poems (CTP). Although it...

1 Introduction

We build the Tibetan word segmentation systems CASICT for MLWS 2017 Tibetan word segmentation task. Our systems mainly consists of two parts in a pipeline form, a baseline system (see section 2.1) as the preprocessor which segment the input sequence of characters into words, and a refiner split the output words into subwords and token them by labels of “B,M,E,S”, then a simple rule is used to recover a segmented word sequence. The preprocessor is pre-trained system for tibetan word segmentation on 1.3w segmented sentences, We also introduce extra 76w segmented sentences to train the refiner, which is a deep neural network (DNN) for sequence labeling (see section 2.2). Experiments show our Refiner is able to learn from baseline system and improve the performance on test set compared to the original system.

2 System Description

Our system consists of two main blocks, the first one is a classical system based on the work of [2], the second is one we call as “Refiner”, is a neural network combined with subword preprocessing unit. We describe them here in detail.

2.1 Baseline System

Article [2] proposed a discriminative model with a word lattice and shortest—path based re-ranking strategy for Tibetan word segmentation, we re-implement it as the baseline system and use a pre-trained model from [2] without extra training procedure.

Figure 1: The architecture of baseline system

The baseline system pipeline is shown in Figure 1, there are three key points as listed here:

Atom segmentation: it use syllable as word formation unit on the Tibetan segmentation to balance the segmentation precision on word level and performance on sentence level.

Perception scoring model: a simple scoring model is adopted to evaluate the candidate atom sequence which is segmented by tagging labels of ’b,m,e,s’ on each atom, features is extracted by artificial rules in a window around each atom and then feed to a one layer liner perception to get the local tagging score.

Shortest-path based re-ranking: after the beam search procedure by viterbi decoding a word lattice is generated, then we weight each word span by rules (ie: scoring based on whether it‘s a word in dictionary or not), and find the shortest path as the result segmented sequence.

Except for what are described above, a pre-segmentation strategy is applied to reduce the searching space by splitting sentence into sub-sequences by indication of special characters designed beforehand by expert.

2.2 Deep Neural Network Refiner

The Reiner is a neural network argumented with a subword preprocessing unit learned from tibetian corpus. The neural network we use here is a multi-layer recurrent ones unrolled by several bidirectional modified Long Short-Term Memory (LSTM) blocks

[1]. To enhance message propagation in network, residual operation with gate is adopted to control information flow between layers horizontally. Here first give a brief introduction to the modified lstm block.

Modified lstm block:

a vanilla LSTM block with a gated residual connection, enable message flow efficiently in both time and spatial scale, which is described in equations (1) …(5) bellow.


Where is the input gate, is the output gate, is the forget gate, is the memory cell, is the hidden state of last time, and is the updated hidden state, we introducing a residual gate by reusing the input gate , for is bounded in range (0,1), we set the residual gate as , aim at balancing message updating in lstm cell and message gating operation.

We also unroll the modified LSTM unit in a stacked manner, by alternating direction between each layer(shown in Figure 3), and get a deep neural network to encode input sequence to its representation, we stack 8 LSTM units in our system and share parameters between layers of same unrolling direction.

The Refiner‘s pipeline is shown in Figure 3, there are three key points as listed here:

Subword preprocessing unit: article [3]

first introduced a subword segmentation method for neural machine translation based on the byte pair encoding(BPE) compression algorithm, we use this method to split rare word into subwords with its corresponding feature, which indicates whether it‘s a subword or not. Our BPE model is learned from 1664675 monolingual sentences clawed from tibetan websites.

Neural network sequence tagger: we unroll the modified lstm as the way above to encode input subword sequence into its representations, each subword is represented by the hidden state of the lstm cell in last layer, and then feed into a liner softmax classify to get a label in ’B, M, E, S’, where ’B’ stands for the begining of a word, ’M’ stands for the ’middle’ of a word, ’E’ means it‘s the end of a word and ’S’ means it‘s a single word. In this step each subword is tagged with a particular label indicating its position in a word.

Figure 2: Example for subword sequence labeling

For the reason of the segmentation errors in baseline system, we design a argumented label set for the Refiner by adding labels ’-B, -M, -E’ to identify the wrongly segmented word span. For example in Figure 2, “Gold” is the true segmentation sequence, “cand” is the subword sequence from the subword preprocessing unit, the first two tokens form a word in “Gold” but the last two are mis-segmented by baseline and cannot form any word in “Gold”, in such condition subwords in a minimal span whose edges are aligned to ones in the “Gold” are regard as a virtual word, and tagged with the additional labels.

Word segmentation decoder: After getting the tagged sequence, we adopt a simple segmentation strategy based on label ’E’, ’-E’ and ’S’: while scanning the label sequence, we output a word by concatenating subwords in buffer when encounter label in ’E, -E, S’ or store the subword in buffer. It is shown that the decoding rule is easy for implementation and roboust to tagging errors of the Refiner.

Figure 3: The architecture of Refiner system, sequence end with red dot is the output of baseline system, sequence end with blue dot is the output of Refiner‘s subword preprocessing unit(SPU), sequences end with black dot are the input for neural network tagger.

We concatenate embeddings of subwords with its feature embedding to form inputs of Neural network sequence tagger, see bottom side of Figure 3.

3 Pipeline Description

We introduce the pipeline of building the translation systems from data preprocessing to system trainning in this section.

3.1 Data Preprocessing

For Tibetan word segmentation task, MLWS 2017 provides a 1w sentences training Corpus. We used this corpora to train our segmentation systems combined with 73w Tibetan sentences for machine translation and 2w Tibetan sentences extracted from Part of speech tagging corpus in-house. For baseline system, we used our in-house word segmentor called “tiSegmenter” to do the word segmentation. To train BPE model for Refiner’s subword Preprocessing unit, we used 1664675 monolingual sentences clawed from tibetan websites. We filter the sentences of poor quality and the sentences that are too long (more than 120 words) . Before the training of neural network, we transformed these sentences into subword sequences by the pipeline of baseline system and BPE model, and generate the corresponding label sequences for supervised training.

3.2 System configuration

We set the vocabulary size for BPE as 2w, 1w, 0.5w, 0.1w respectively for experiment, and find that 2w is the best for Refiner’s performance, and set is as default bellow. For our system is serially trained on the single GPU with restricted memory space, and the vocabulary size is set to 18559. The words that out of the vocabulary are represented by the “UNK” symbol. We stack 8 modified LSTM units as the elements of neural network, cells with the same unrolling direction share parameters, hidden size of lstm is 512, word and feature embedding size are set to 256 to enable residual operation in the first layer of neural network.

3.3 System evaluation

We took the evaluation scripts 222 used in the 2nd International Chinese Word Segmentation Bakeoff to calculate the F-score of segmentation results. We splited the training set into two parts, 1k validation set for model selection during training while the remaining was for system training.

3.4 Training Details

The sentence length for training systems is up to 120, for long sentence exceeding such limitation we splited it into shorter ones by special terminator tokens. Refiner’s neural network classifier is trained by the open source toolkit mxnet 333 We initialized the weight in lstm unit with Xavier scheme of factor type ”in” and magnitude 2.34, and initialized word embedding matrix by embeddings learned from preprocessed monolingual corpus using fasttext 444 Parameters are updated by Mini-batch Gradient Descent and the learning rate is controlled by the AdaDelta algorithm [5] with the decay constant and the denominator constant . The batch size is . Dropout strategy [4] is applied to the input of lstm unit with the dropout rate 0.1 to avoid over-fitting. The gradients of parameters were scaled by rate 0.1 and clipped to range [-1.0, 1.0] to avoid gradients explosion.

4 Experimental Results

4.1 Baseline system

For the time-consuming nature of training baseline system, we reuse the model in-house without extra training procedure. We test the baseline system on the validation set. The performance of the system on the set is presented in Table 1.

Data Validation Set
F-score 89.9
Table 1: The baseline performance on the validation set

We took part in MLWS2017 tibetan word segmentation shared task held by the 16th national conference on ethnic minority language information processing of china, our baseline system’s performance on the test set on news domain provided by MLWS2017 is presented in Table 2.

Data Validation set
F-score 90.08
Precision 90.32
Recall 89.83
Table 2: The baseline performances on the test set .

4.2 Baseline system + Refiner

Based on the baseline system, we build the training corpus for Refiner. After the training of BPE model we generate training data for the neural network classifier. It takes about 1 hour to train the classifier on a single NVIDIA GeForce GPU. Our model reaches its best performance on validation set at epoch 6.

We test the system proposed in the paper by introducing a Refiner after the baseline system on the validation set and chose the best one. Table 3 presents the performance of best system on the validation set. It is shown that our approach can enhance the system performance over baseline model. The Refiner module improves the baseline system by +6.6 F-score points on validation set.

Data Test set
F-score 96.5
OOV Rate 0.811
OOV Recall Rate 0.969
IV Recall Rate 0.980
Table 3: The model performances on the validation set .

The system’s performance on the test set provided by MLWS2017 is presented in Table 4, the Refiner module improves the baseline system by +2.48 F-score points on test set. Our system was superior to almost all other systems to get second place in MLWS2017 shared task.

Data Test set
F-score 92.56
Precision 93.32
Recall 91.32
Table 4: The model performances on the test set .

5 Conclusion

We present a CASICT tibetan word segmentation system for the MLWS2017 tibetan word segmentation shared task . A baseline tibetan segmentation system use a Refiner module to imporve its performance further in a simple and efficient way. A argumented label set is proposed a deal with the error propogation form baseline system as well as a simple strategy for robust decoding. A BPE algorithm based subword preprocessing unit is proposed for the Refiner. A LSTM unit with a gated residual connection is employed to build the deep neural network for subword sequence labeling. Experiment shows that the Refiner can learn to fix segmentation errors of baseline system and result in a significant performance gain.


Qun Liu’s work is partially supported by Science Foundation Ireland in the ADAPT Centre for Digital Content Technology ( at Dublin City University funded under the SFI Research Centres Programme (Grant 13/RC/2106) co-funded under the European Regional Development Fund.


  • [1] Hochreiter, S., Schmidhuber, J.: Long Short-Term Memory. Neural Computation 9(8), 1735–1780 (1997),
  • [2] Meng, S., que-cai ran, H., Zhiji, C., Wenbin, J., Yajuan, L., Qun, L.: Tibetan word segmentation based on discriminative classification and reranking. JOURNAL OF CHINESE INFORMATl0N PROCESSING 28(2), 61–65 (2014)
  • [3] Sennrich, R., Haddow, B., Birch, A.: Neural machine translation of rare words with subword units. Computer Science (2015)
  • [4]

    Srivastava, N., Hinton, G.E., Krizhevsky, A., Sutskever, I., Salakhutdinov, R.: Dropout: a simple way to prevent neural networks from overfitting. Journal of Machine Learning Research 15(1), 1929–1958 (2014)

  • [5] Zeiler, M.D.: Adadelta: An adaptive learning rate method. arXiv: Learning (2012)