トランスデューサとpythonに触れたので、デフォルトのFSTライブラリを使用しています。たとえば、 list があります['a','b','c']
。'b'
が続く場合は置き換える必要があり'c'
ます。私は次のルールを作成しますが、この長さの配列でのみ と'b'
の間'a'
にある場合にのみ機能します。'c'
from fst import fst
list = ['a','b','c']
t = fst.FST('example')
for i in range(0,len(list)):
t.add_state(str(i))
t.initial_state = '0'
t.add_arc('0','0',('a'),('a'))
t.add_arc('0','1',('b'),('d'))
t.add_arc('1','1',('c'),('c'))
t.set_final('1')
print t.transduce(list)
どこにいても交換できる['a','d','c']
必要があります。たとえば、次の場合に置き換えます'b'
'd'
'b'
'l'
['m','r','b','l'] => ['m','r','o','l']
['m','b','l'] => ['m','o','l']
['b','l','o'] => ['o','l','o']
助けてください、ありがとう!