OpenFST - 从单词列表创建 FST
OpenFST - creating FST's from list of words
我正在阅读最上面的示例:http://www.openfst.org/twiki/bin/view/FST/FstExamples 关于标记化。
在示例中,他们创建了三个 fst:Mars.fst
、Martian.fst
和 man.fst
,并手动 运行 一些 fst 命令将它们合并为一个大换能器.他们从 wotw.syms
中得到了单词“Mars”、“Martian”和“man”,其中有 7102 个单词。
我的问题是,有没有一种聪明的方法可以为所有 7102 个单词创建一个 word.fst
,这样所有 7102 个单词都可以变成一个大自动机,还是必须手动完成,比如他们为 Martian、Mars 和 man 这三个词做了什么?
他们给了一个剧本:https://www.openfst.org/twiki/pub/FST/FstExamples/makelex.py.txt
我们可以简单地:
cat wotw.syms | python2 makelex.py > lexicons_text.fst
fstcompile --isymbols=ascii.syms --osymbols=wotw.syms lexicon_text.fst lexicon.fst
fstrmepsilon lexicon.fst | fstdeterminize | fstminimize >lexicon_opt.fst
我正在阅读最上面的示例:http://www.openfst.org/twiki/bin/view/FST/FstExamples 关于标记化。
在示例中,他们创建了三个 fst:Mars.fst
、Martian.fst
和 man.fst
,并手动 运行 一些 fst 命令将它们合并为一个大换能器.他们从 wotw.syms
中得到了单词“Mars”、“Martian”和“man”,其中有 7102 个单词。
我的问题是,有没有一种聪明的方法可以为所有 7102 个单词创建一个 word.fst
,这样所有 7102 个单词都可以变成一个大自动机,还是必须手动完成,比如他们为 Martian、Mars 和 man 这三个词做了什么?
他们给了一个剧本:https://www.openfst.org/twiki/pub/FST/FstExamples/makelex.py.txt 我们可以简单地:
cat wotw.syms | python2 makelex.py > lexicons_text.fst
fstcompile --isymbols=ascii.syms --osymbols=wotw.syms lexicon_text.fst lexicon.fst
fstrmepsilon lexicon.fst | fstdeterminize | fstminimize >lexicon_opt.fst