【openfst樣例1】Tokenization
Execise Data files
樣例中需要的資料來源:
http://www.openfst.org/twiki/bin/view/FST/FstExamples
如果無法訪問,可以在這裡下載
Execise 1 Tokenization
第一個示例將ASCII字元序列轉換為帶有標點符號和去除空格的單詞標記序列。 為此,我們將需要一個詞典換能器,該詞典換能器將從字母對映到其對應的單詞標記。 一種簡單的生成方式是使用OpenFst文字格式。 例如,“Mars”一詞的格式為:
fstcompile --isymbols=ascii.syms --osymbols=wotw.syms >Mars.fst <<EOF
0 1 M Mars
1 2 a <epsilon>
2 3 r <epsilon>
3 4 s <epsilon>
4
EOF
如果出現錯誤提示
file = ascii.syms, line = 1Bad non-negative integer "0
,可能的原因是ascii.syms檔案和wotw.syms檔案的格式是dos格式的。需要執行
set ff=unix
Mars.fst是二進位制檔案,是不可以直接閱讀的。一般可以通過工具轉成影像來看。
fstdraw --isymbols=ascii.syms --osymbols=wotw.syms -portrait Mars.fst | dot -Tjpg >Mars.jpg
官網上的dot可以直接轉jpg,但是我的版本不是最新的,只能轉ps格式。如果你也不能轉jpg格式的,可以換成ps格式的試一下。
轉成的fst圖片如下,
再來兩個例子
“Martian”和“Man”按照上面的方法構建fst檔案
Martian.fst
fstcompile --isymbols=ascii.syms --osymbols=wotw.syms >Martian.fst <<EOF
0 1 M Martian
1 2 a <epsilon>
2 3 r <epsilon>
3 4 t <epsilon>
4 5 i <epsilon>
5 6 a <epsilon>
6 7 n <epsilon>
7
EOF
Man.fst
fstcompile --isymbols=ascii.syms --osymbols=wotw.syms >Man.fst <<EOF
0 1 M Man
1 2 a <epsilon>
2 3 n <epsilon>
3
EOF
合併這三個fst,並生成lexicon.fst
fstunion man.fst Mars.fst | fstunion - Martian.fst | fstclosure >lexicon.fst
fstdraw --isymbols=ascii.syms --osymbols=wotw.syms -portrait lexicon.fst | dot -Tps >lexicon.ps
生成的影像如下,
去除epsilon的Arc
fstrmepsilon lexicon.fst | fstdeterminize | fstminimize >lexicon_opt.fst
fstdraw --isymbols=ascii.syms --osymbols=wotw.syms -portrait lexicon_opt.fst | dot -Tps >lexicon_opt.ps
生成等效的,確定的和最小的狀態轉換圖
相關文章
- Kaldi關於Openfst版本的選擇NFS
- UBUNTU安裝kaldi遇到關於not install OpenFst errorUbuntuNFSError
- HTML入門(樣例)HTML
- Velocity-2 樣例
- Spring Cloud使用樣例SpringCloud
- 樣例軍聽認行通年油例uun
- WPF登入介面樣例
- Flink的join操作樣例
- python例項1Python
- 微課|中學生可以這樣學Python(例9.1):Excel匯入SQLite(1)PythonExcelSQLite
- 怎樣寫測試用例?
- Oracle OCP(56):SQLLDR-樣例OracleSQL
- POS請求API介面樣例API
- 1.單例模式單例模式
- 微課|中學生可以這樣學Python(例11.2):tkinter猜數遊戲(1)Python遊戲
- 怎樣讓1+1=3?
- JavaScript中單例模式這樣用JavaScript單例模式
- Opencv官方樣例圖片下載OpenCV
- 常用CSS樣式1:文字樣式CSS
- 微課|中學生可以這樣學Python(例11.1):tkinter電子時鐘程式(1)Python
- 1.5 常用CSS樣式1:文字樣式CSS
- 微課|中學生可以這樣學Python(例11.3):tkinter通訊錄管理系統1Python
- PBN飛行程式保護區樣例行程
- ThreeJS 的效果樣例流水管線(五)JS
- C++ 經典案例1例C++
- SAP MM模組調研問卷樣例
- oracle 升級12c引數樣例Oracle
- Qt更改按鈕樣式 (以QSpinBox使用左右按鈕樣式為例)QT
- 坑很多的一道題(含測試樣例)——L1-009 N個數求和 (20分)
- 【深基13.例1】查詢
- 【ybtoj】【BFS】【例題1】走迷宮
- TensorFlow搭建神經網路最佳實踐樣例神經網路
- luoguP8218 【深進1.例1】求區間和
- 《設計模式》 - 1. 單例模式( Singleton )設計模式單例
- JAVA各種OOM程式碼樣例及解決方法JavaOOM
- ShardingSphere 知識庫更新 | 官方樣例集助你快速上手
- Scala Learn 5 模式匹配和樣例類 (待補充)模式
- 11個使用CSS製作產品展示卡片樣例CSS