Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.
Weighted Finite State
Transducerの紹介
PFIセミナー 2016/05/12
株式会社 Preferred Infrastructure
西鳥羽 二郎
西鳥羽 二郎
 製品事業部
- 音声認識
- 機械学習
- アルゴリズムとデータ構造
 旅行テーマ
- 全都道府県をめぐる
 その土地の名物を食べる
- 日本の世界遺産をめぐる
1
WFSTとは
 有限状態オートマトンの一種
- Weighed(重み付き)
- Finite State(有限状態)
- Transducer(変換器)
2
WFST
 開始状態に重みを持つ
 各遷移において(入力:出力/重み)を持つ
3
0/0.5
a:x/0.8a:x/0.5
b:z/0.3
b:y/0.2
c:ε/0.1
a:x/0.3
1
2
3 4/0.4
c:y/0.2
遷移の例
 aabacbを入力
- 0 → 1 → 2 → 1 → 3 → 4と遷移
- xxyxyzを出力
- 重み0.00028
4
0/0.5
a:x/0.8a:x/0.5
b:z/0.3
b:y/0.2
c:ε/0.1
a:x/0.3...
WFSTの特徴
 合成(compose)できる
- 複数のWFSTでの探索を一つにまとめることができる
 有限状態オートマトンなので最適化できる
- 非決定性オートマトンは決定性オートマトンに変換可能
- 決定性オートマトンは機能をかえるこ...
合成
 2つのWFSTをまとめて1つのWFSTを構築できる
- 1つのWFSTの入力集合がもう一つのWFSTの出力集合と一致
- 重みに関しての加法・乗法がきちんと定義(半環)されている
6
合成
 多段の処理に関して合成し、一つのWFSTを作ることが
できる
7
0
1
2
3
a:x
a:x
b:z
c:z
b:y
0
2
1
3
y:p
x:p
z:r
y:r
(0,1)
(1,1)
(2,1)
(3,3)
(1,2)
a:...
探索効率の改善
 (非決定性含め)WFSTは以下の手順で効率化できる
- ε除去
- 決定化
- 最小化
8
ε除去
 ε遷移後の条件をε遷移前の状態にコピーすることにより
εを除去する
9
0 31 2
s
i
ε
t
0 31
2
s
t
i t
決定化
 一つの状態から同じ入力文字で遷移する状態をまとめる
10
0/0.2
1
2
3/0.1
4/0.2
a:x/0.3
a:y/0.7
b:y/0.1
c:z/0.5
0/0.2 1,2
4
3
5/0
a:ε/0.3
c:x/0.4...
最小化
 同じ入力記号で同じ状態に遷移する状態をまとめる
11
0
2
1
4
3
b
e
e
a
c
d
0
1
4
2,3
b
a c
d
e
応用先
 音声認識
 テキスト処理
 イメージ処理
12
音声認識での例
 得料ベクトル列 -> HMM -> 音素 -> 単語 -> 文章と多段の
処理を行う
13
I ES1 S2
a sh i t a: 明日
a s u: 明日
h a: は
a m e: 雨
P(明日| 雨, は) = 0....
HMMをWFSTに変換
 HMMからWFSTに変換
- 入力記号: HMMの状態
- 出力記号: 音素
- 重み: HMMの状態の遷移確率
14
I ES1 S2
I E0 1
a11
a12
a22
a2E
S1:t
S1:ε/a11
S2...
単語辞書をWFSTに変換
 音素/読みを入力とし、単語を出力するWFSTを構築
15
a sh i t a: 明日
a s u: 明日
h a: は
a m e: 雨
a:明日
sh:ε i:ε t:ε a:ε
s:ε u:ε
a:明日
a:...
言語モデルをWFSTに変換
 正規文法の形で記述し、重みを出現確率としたWFSTを
構築する
16
P(雨|は, 明日) = 0.25
P(晴れ|は, 明日) = 0.2
P(ハレ|明後日, 明日) = 0.01
明日:ε/0.1
明後日:ε...
音声認識における応用
 作成したWFSTを全て合成・決定化・最小化する
- 特徴ベクトル列からの入力(今回は省略)
- HMM
- 単語辞書
- 言語モデル
 得られたWFSTにおいてコスト最小(確率値の負の対数を
とる)の遷移を求めること...
WFSTの実装
 WFSTの実装としてOpenFSTがある
- http://www.openfst.org/twiki/bin/view/FST/WebHome
- Python bindingも存在
- 最新版1.5.2
 OpenFS...
OpenFSTの使用方法
 以下のフォーマットでWFSTを記述する
- 遷移元状態ID 遷移先状態ID 入力 出力 重み
 重みはオプション
- 終了状態ID
19
0
1
a:p/0.2
2
b:q/0.5
0 1 a p 0.2
1 2...
OpenFSTの使用方法
 fstcompile
 fstdraw
 fstcompose
 fstshortestpath
20
fstcompile
 テキストファイルからFST形式(バイナリ)に変換する
 $ fstcompile --isymbols=isymbols.syms --
osymbols=osymbols.syms lex.txt lex.fst
...
入力ファイル例
 WFST記述ファイル
0 1 a 明日
1 2 s <epsilon>
2 3 u <epsilon>
3 0 <aux> <epsilon>
…
14 0 <aux> <epsilon>
 シンボルファイル
<epsil...
fstdraw
 作成したWFSTを図示できる
 $ fstdraw --isymbols=isymbols.syms --osymbols=osymbols.syms -
portrait lex.fst | dot -Tpng > le...
その他のコマンド
 fstcompose
- 作成したWFSTを合成する
- $ fstcompose W1.fst W2.fst W12.fst
 fstshortestpath
- 最もコストが低い遷移を求める
- $ fstshort...
OpenGRM
 以下のファイルから言語モデルのWFSTを構築すること
が出来る
- テキスト
- ARPA形式の言語モデルのテキストファイル
25
まとめ
 WFSTの紹介
- 多段の変換を含むもので最適なものを探索する時に便利
 WFSTのライブラリの紹介: 使うと手軽にできます
- OpenFST
- OpenGRM
26
Copyright © 2006-2016
Preferred Infrastructure All Right Reserved.
Próxima SlideShare
Cargando en…5
×

全体セミナーWfst

1.986 visualizaciones

Publicado el

Weigted Finite State Transducerの紹介

Publicado en: Tecnología
  • DOWNLOAD FULL BOOKS INTO AVAILABLE FORMAT ......................................................................................................................... ......................................................................................................................... 1.DOWNLOAD FULL PDF EBOOK here { https://tinyurl.com/y8nn3gmc } ......................................................................................................................... 1.DOWNLOAD FULL EPUB Ebook here { https://tinyurl.com/y8nn3gmc } ......................................................................................................................... 1.DOWNLOAD FULL doc Ebook here { https://tinyurl.com/y8nn3gmc } ......................................................................................................................... 1.DOWNLOAD FULL PDF EBOOK here { https://tinyurl.com/y8nn3gmc } ......................................................................................................................... 1.DOWNLOAD FULL EPUB Ebook here { https://tinyurl.com/y8nn3gmc } ......................................................................................................................... 1.DOWNLOAD FULL doc Ebook here { https://tinyurl.com/y8nn3gmc } ......................................................................................................................... ......................................................................................................................... ......................................................................................................................... .............. Browse by Genre Available eBooks ......................................................................................................................... Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult,
       Responder 
    ¿Estás seguro?    No
    Tu mensaje aparecerá aquí

全体セミナーWfst

  1. 1. Weighted Finite State Transducerの紹介 PFIセミナー 2016/05/12 株式会社 Preferred Infrastructure 西鳥羽 二郎
  2. 2. 西鳥羽 二郎  製品事業部 - 音声認識 - 機械学習 - アルゴリズムとデータ構造  旅行テーマ - 全都道府県をめぐる  その土地の名物を食べる - 日本の世界遺産をめぐる 1
  3. 3. WFSTとは  有限状態オートマトンの一種 - Weighed(重み付き) - Finite State(有限状態) - Transducer(変換器) 2
  4. 4. WFST  開始状態に重みを持つ  各遷移において(入力:出力/重み)を持つ 3 0/0.5 a:x/0.8a:x/0.5 b:z/0.3 b:y/0.2 c:ε/0.1 a:x/0.3 1 2 3 4/0.4 c:y/0.2
  5. 5. 遷移の例  aabacbを入力 - 0 → 1 → 2 → 1 → 3 → 4と遷移 - xxyxyzを出力 - 重み0.00028 4 0/0.5 a:x/0.8a:x/0.5 b:z/0.3 b:y/0.2 c:ε/0.1 a:x/0.3 1 2 3 4/0.4 c:y/0.2
  6. 6. WFSTの特徴  合成(compose)できる - 複数のWFSTでの探索を一つにまとめることができる  有限状態オートマトンなので最適化できる - 非決定性オートマトンは決定性オートマトンに変換可能 - 決定性オートマトンは機能をかえることなく状態数最小のオー トマトンに変換可能 5
  7. 7. 合成  2つのWFSTをまとめて1つのWFSTを構築できる - 1つのWFSTの入力集合がもう一つのWFSTの出力集合と一致 - 重みに関しての加法・乗法がきちんと定義(半環)されている 6
  8. 8. 合成  多段の処理に関して合成し、一つのWFSTを作ることが できる 7 0 1 2 3 a:x a:x b:z c:z b:y 0 2 1 3 y:p x:p z:r y:r (0,1) (1,1) (2,1) (3,3) (1,2) a:p a:p b:p b:r b:r c:r abbb → xyyz xyyz → pprr abbb → pprr
  9. 9. 探索効率の改善  (非決定性含め)WFSTは以下の手順で効率化できる - ε除去 - 決定化 - 最小化 8
  10. 10. ε除去  ε遷移後の条件をε遷移前の状態にコピーすることにより εを除去する 9 0 31 2 s i ε t 0 31 2 s t i t
  11. 11. 決定化  一つの状態から同じ入力文字で遷移する状態をまとめる 10 0/0.2 1 2 3/0.1 4/0.2 a:x/0.3 a:y/0.7 b:y/0.1 c:z/0.5 0/0.2 1,2 4 3 5/0 a:ε/0.3 c:x/0.4 b:x/0 ε:y/0.2 ε:z/0.7
  12. 12. 最小化  同じ入力記号で同じ状態に遷移する状態をまとめる 11 0 2 1 4 3 b e e a c d 0 1 4 2,3 b a c d e
  13. 13. 応用先  音声認識  テキスト処理  イメージ処理 12
  14. 14. 音声認識での例  得料ベクトル列 -> HMM -> 音素 -> 単語 -> 文章と多段の 処理を行う 13 I ES1 S2 a sh i t a: 明日 a s u: 明日 h a: は a m e: 雨 P(明日| 雨, は) = 0.2 P(明日| 明日, 雨) = 0.01 … a, sh, i, ta,… 明日, は, 雨, 明日は雨
  15. 15. HMMをWFSTに変換  HMMからWFSTに変換 - 入力記号: HMMの状態 - 出力記号: 音素 - 重み: HMMの状態の遷移確率 14 I ES1 S2 I E0 1 a11 a12 a22 a2E S1:t S1:ε/a11 S2:ε/a12 S2:ε/a12 ε:ε/a2E
  16. 16. 単語辞書をWFSTに変換  音素/読みを入力とし、単語を出力するWFSTを構築 15 a sh i t a: 明日 a s u: 明日 h a: は a m e: 雨 a:明日 sh:ε i:ε t:ε a:ε s:ε u:ε a:明日 a:ε h:は m:ε e:ε a:雨
  17. 17. 言語モデルをWFSTに変換  正規文法の形で記述し、重みを出現確率としたWFSTを 構築する 16 P(雨|は, 明日) = 0.25 P(晴れ|は, 明日) = 0.2 P(ハレ|明後日, 明日) = 0.01 明日:ε/0.1 明後日:ε:0.1 は:ε/0.5 晴れ:0.5 雨:ε/0.4 ハレ:ε/1
  18. 18. 音声認識における応用  作成したWFSTを全て合成・決定化・最小化する - 特徴ベクトル列からの入力(今回は省略) - HMM - 単語辞書 - 言語モデル  得られたWFSTにおいてコスト最小(確率値の負の対数を とる)の遷移を求めることにより、最も確率の高い文章 が得られる 17
  19. 19. WFSTの実装  WFSTの実装としてOpenFSTがある - http://www.openfst.org/twiki/bin/view/FST/WebHome - Python bindingも存在 - 最新版1.5.2  OpenFSTを用いた言語モデルのツール/ライブラリとし てOprnGRMがある - http://www.opengrm.org/ - 最新版 1.2.2 (OpenFST 1.5.1対応) 18
  20. 20. OpenFSTの使用方法  以下のフォーマットでWFSTを記述する - 遷移元状態ID 遷移先状態ID 入力 出力 重み  重みはオプション - 終了状態ID 19 0 1 a:p/0.2 2 b:q/0.5 0 1 a p 0.2 1 2 b q 0.5 2
  21. 21. OpenFSTの使用方法  fstcompile  fstdraw  fstcompose  fstshortestpath 20
  22. 22. fstcompile  テキストファイルからFST形式(バイナリ)に変換する  $ fstcompile --isymbols=isymbols.syms -- osymbols=osymbols.syms lex.txt lex.fst - --isymbols: 入力集合 - --osymbols: 出力集合 21
  23. 23. 入力ファイル例  WFST記述ファイル 0 1 a 明日 1 2 s <epsilon> 2 3 u <epsilon> 3 0 <aux> <epsilon> … 14 0 <aux> <epsilon>  シンボルファイル <epsilon> 0 <aux> 1 a 2 i 3 s 4 sh 5 t 6 u 7 h 8 m 9 e 10 <unk> 11 22
  24. 24. fstdraw  作成したWFSTを図示できる  $ fstdraw --isymbols=isymbols.syms --osymbols=osymbols.syms - portrait lex.fst | dot -Tpng > lex.png 23
  25. 25. その他のコマンド  fstcompose - 作成したWFSTを合成する - $ fstcompose W1.fst W2.fst W12.fst  fstshortestpath - 最もコストが低い遷移を求める - $ fstshortestpath W12.fst bestpath.fst 24
  26. 26. OpenGRM  以下のファイルから言語モデルのWFSTを構築すること が出来る - テキスト - ARPA形式の言語モデルのテキストファイル 25
  27. 27. まとめ  WFSTの紹介 - 多段の変換を含むもので最適なものを探索する時に便利  WFSTのライブラリの紹介: 使うと手軽にできます - OpenFST - OpenGRM 26
  28. 28. Copyright © 2006-2016 Preferred Infrastructure All Right Reserved.

×