web-dev-qa-db-ja.com

有限状態トランスデューサとは何ですか?

誰かが有限状態トランスデューサとは何か教えてもらえますか?

ウィキペディアの記事 を読んで、事が理解できません。

41
user581734

有限状態トランスデューサー(FST)は、出力と読み取り入力を生成する有限状態オートマトン(FSA、FA)です。つまり、解析に役立ちます(一方、「裸の」FSAは認識、つまりパターンマッチングにのみ使用できます) )。

FSTは、入力/出力ペアでラベル付けされた遷移によってリンクされた有限数の状態で構成されます。 FSTは指定された開始状態で開始し、その遷移表に従って出力を生成しながら、入力に応じて異なる状態にジャンプします。

FSTはNLPと音声認識に役立ちます。これは、Nice代数特性を備えているためです。特に、構成の下で自由に組み合わせ(代数を形成)でき、規則的な関係に関係構成を実装します(これは非決定的関数構成と考えてください)。非常にコンパクトなまま。 FSTは、通常の言語を文字列に線形時間で解析できます。

例として、私はかつて形態学的解析をFSTの束として実装しました。動詞の主なFSTは、「walked」などの通常の動詞を「walk + PAST」に変換します。また、動詞「to be」のFSTもありました。これにより、「is」は「be + PRESENT + 3rd」(3人称)になり、他の不規則動詞も同様です。すべてのFSTは、FSTコンパイラーを使用して単一のFSTに結合されました。これは、パーツの合計よりもはるかに小さい単一のFSTを生成し、非常に高速に実行されました。 FSTは、拡張正規表現構文を受け入れるさまざまなツールによって構築できます。

55
Fred Foo

有限状態トランスデューサは本質的に、2つ(またはそれ以上)のテープで機能する有限状態オートマトンです。トランスデューサーについて考える最も一般的な方法は、一種の「翻訳機」です。テープの1つから読み取り、他のテープに書き込みます。たとえば、これはasをbsに変換するトランスデューサです。

enter image description here

a:b円弧とは、この遷移でトランスデューサが最初のテープからaを読み取り、2番目のテープにbを書き込むことを意味します。

参照: 有限状態トランスデューサ

12
Sayat Satybald

簡単に言えば、FSTは本質的に、入力テープに基づいてある状態から次の状態に移動し、別の出力テープに書き込む「もの」であると理解しています。テープは基本的に、文字列内の文字のような入力のセットです。

FST全体は、一連の状態とそれらの間のリンクによって表されます。リンクは、その入力条件が正しい場合に「アクティブ化」され、次の状態に調整されたテープを提供します。

たとえば、FSTが状態1のテープabcで始まるとしましょう。状態2へのリンクはaに一致し、それをbに変更します。これはアクティブになり、出力テープをbに設定し、残りのbcを状態2に渡します。ご覧のとおり、各状態は、その状態へのリンクがある場合にのみアクティブになります入力条件は正しく、残りの入力を次の状態に渡し、別の出力テープに書き込みます。各FSTは、テープ全体で1回実行され、別のテープに1回出力されます。

それらをより明確に理解するには この記事の図を読んで見てください元の壊れたリンク )。