1

有一个 hacky 方法可以做到这一点:https ://stackoverflow.com/a/54067480/3310334

但是考虑到两年多过去了,有没有更现代的解决方案?


import openfst_python as fst

input_sym = fst.SymbolTable()
output_sym = fst.SymbolTable()

input_sym.add_symbol('<eps>')
input_sym.add_symbol('a')
input_sym.add_symbol('b')

output_sym.add_symbol('<eps>')
output_sym.add_symbol('A')
output_sym.add_symbol('B')

f = Fst()
f.set_input_symbols(input_sym)
f.set_output_symbols(output_sym)

s0 = f.add_state()
s1 = f.add_state()
s2 = f.add_state()
s3 = f.add_state()

a = input_sym.find('a')
b = input_sym.find('b')
A = input_sym.find('A')
B = input_sym.find('B')

f.add_arc(s0, fst.Arc(a, A, None, s1))
f.add_arc(s0, fst.Arc(b, B, None, s2))
f.add_arc(s1, fst.Arc(a, A, None, s3))
f.add_arc(s2, fst.Arc(b, B, None, s3))

f.set_start(s0)
f.set_final(s3)

取 'ab' 或 'ba' 并产生 'AB' 或 'BA'。

如何测试某些字符串或序列是否构成有效输入?

如何通过传感器运行输入?

4

0 回答 0