ある文脈の次に出現する記号を、
入力データの先頭から順番に出力していく
という感じのモデルって既にあるでしょうか。
性能はイマイチ。

例えば、記号を{ a, b, c }の3種類として
入力データを{ abcacacabca }とする。

まず、a の次に出現する記号を順番に出力すると

bccb

となる。b, c についても同様に出力すると

bccb cc aaaa

となる。以上。

説明の為に多少簡略化してあり、
この出力だけでは当然復元できません。
(このやり方なら入力データの頭と尻の記号が必要になる)

速度・メモリを無視すれば、オーダーを増やしていっても復元可能です。
(aaの次の記号を出力、baの次の記号を出力・・・)