Design and Construction of Intelligent Voice Control System
323
In order to improve decoding speed, we use language model to compute state
transition probability; meanwhile, we build the mapping table between pinyin
and Chinese characters.
3.3 Instruction Analysis Algorithm
We define the instructions with specifical format criterion, and our paper uses
part of speech label and pattern matching methods in instructions analysis; main
steps are as follows:
1. Building part of speech pattern set including all instructions.
2. Part of speech label every input characters sequence.
3. Extract verbs, search for a corresponding pattern.
4. Match a pattern with the sequences and output matched instructions.
The paper uses Jieba module (Chinese Words Segmentation Utilities) [5], and
revises user dictionary to make optimization of Chinese Words Segmentation and
part of speech label.
3.4 Backtracking Algorithm
Only the complete instruction recognized by the system is effective. In order to
avoid the system from segmenting a complete instruction speech to fragments,
we usually set more aggressive mode of VAD, increase the width of smooth
windows and reduce the VAD threshold. Nevertheless it will increase the system
delay. Therefore, we propose backtracking algorithm to solve this problem.
We set less aggressive mode of VAD, decrease the width of smooth windows,
and increase the VAD threshold. As for speech fragments, backtracking algorithm
is used to combine these speech fragments to a speech segment which can be
processed to a complete instruction. The backtracking algorithm is helpful for
speakers who use long pauses.
Description: when the speech-to-text transcription does not match the
instruction pattern, this speech segment is stored in cache. By recognizing different combinations of these speech segments, we can get the right instruction.
Because the combinations’ number increase with the square of the segment number as
k(k−1)
2
, we design recursion algorithm.
Assume at time T k , the cache has k speech segments E = {(s i , e i ), i =
1, . . . , k}, then we combine segment as following formula:
E
∗ = {(s k−1 , e k ), (s k−2 , e k ), . . . , (s 1 , e k )}
When E
∗ include effective instruction and clear the cache; Set chache size,
when k is bigger than its size or than the value of e k − s 1 > δ T , delete the
e i < e k − δ T segments ordered in caches. We can conclude that until k time, the
computation number is
k(k−1)
2
.
323
In order to improve decoding speed, we use language model to compute state
transition probability; meanwhile, we build the mapping table between pinyin
and Chinese characters.
3.3 Instruction Analysis Algorithm
We define the instructions with specifical format criterion, and our paper uses
part of speech label and pattern matching methods in instructions analysis; main
steps are as follows:
1. Building part of speech pattern set including all instructions.
2. Part of speech label every input characters sequence.
3. Extract verbs, search for a corresponding pattern.
4. Match a pattern with the sequences and output matched instructions.
The paper uses Jieba module (Chinese Words Segmentation Utilities) [5], and
revises user dictionary to make optimization of Chinese Words Segmentation and
part of speech label.
3.4 Backtracking Algorithm
Only the complete instruction recognized by the system is effective. In order to
avoid the system from segmenting a complete instruction speech to fragments,
we usually set more aggressive mode of VAD, increase the width of smooth
windows and reduce the VAD threshold. Nevertheless it will increase the system
delay. Therefore, we propose backtracking algorithm to solve this problem.
We set less aggressive mode of VAD, decrease the width of smooth windows,
and increase the VAD threshold. As for speech fragments, backtracking algorithm
is used to combine these speech fragments to a speech segment which can be
processed to a complete instruction. The backtracking algorithm is helpful for
speakers who use long pauses.
Description: when the speech-to-text transcription does not match the
instruction pattern, this speech segment is stored in cache. By recognizing different combinations of these speech segments, we can get the right instruction.
Because the combinations’ number increase with the square of the segment number as
k(k−1)
2
, we design recursion algorithm.
Assume at time T k , the cache has k speech segments E = {(s i , e i ), i =
1, . . . , k}, then we combine segment as following formula:
E
∗ = {(s k−1 , e k ), (s k−2 , e k ), . . . , (s 1 , e k )}
When E
∗ include effective instruction and clear the cache; Set chache size,
when k is bigger than its size or than the value of e k − s 1 > δ T , delete the
e i < e k − δ T segments ordered in caches. We can conclude that until k time, the
computation number is
k(k−1)
2
.
