Execise Data files
样例中需要的数据来源:
http://www.openfst.org/twiki/bin/view/FST/FstExamples
如果无法访问,可以在这里下载
Execise 2 Downcasing Text
该例子将输入转为小写字母
首先,需要一份字母转换的fst.
full_downcase.fst
0 0 <space> <space>
0 0 ! !
0 0 " "
0 0 # #
0 0 $ $
0 0 % %
0 0 & &
0 0 ' '
0 0 ( (
0 0 ) )
0 0 * *
0 0 + +
0 0 , ,
0 0 - -
0 0 . .
0 0 / /
0 0 0 0
0 0 1 1
0 0 2 2
0 0 3 3
0 0 4 4
0 0 5 5
0 0 6 6
0 0 7 7
0 0 8 8
0 0 9 9
0 0 : :
0 0 ; ;
0 0 < <
0 0 = =
0 0 > >
0 0 ? ?
0 0 @ @
0 0 A a
0 0 B b
0 0 C c
0 0 D d
0 0 E e
0 0 F f
0 0 G g
0 0 H h
0 0 I i
0 0 J j
0 0 K k
0 0 L l
0 0 M m
0 0 N n
0 0 O o
0 0 P p
0 0 Q q
0 0 R r
0 0 S s
0 0 T t
0 0 U u
0 0 V v
0 0 W w
0 0 X x
0 0 Y y
0 0 Z z
0 0 [ [
0 0 \ \
0 0 ] ]
0 0 ^ ^
0 0 _ _
0 0 ` `
0 0 a a
0 0 b b
0 0 c c
0 0 d d
0 0 e e
0 0 f f
0 0 g g
0 0 h h
0 0 i i
0 0 j j
0 0 k k
0 0 l l
0 0 m m
0 0 n n
0 0 o o
0 0 p p
0 0 q q
0 0 r r
0 0 s s
0 0 t t
0 0 u u
0 0 v v
0 0 w w
0 0 x x
0 0 y y
0 0 z z
0 0 { {
0 0 | |
0 0 } }
0 0 ~ ~
0
构建full_downcase.fst时,可以将上面的内容先写入full_downcase.txt中,然后执行
fstcompile --isymbols=ascii.syms --osymbols=ascii.syms full_downcase.txt full_downcase.fst
注意这里的输入和输出symbols都是ascii.syms
这个结果就是一个节点。所有的状态转换到自身。缩略图如下,
然后执行
fstproject Marsman.fst | fstcompose - full_downcase.fst | fstproject --project_output >marsman.fst