Exemplo n.º 1
0
def fst_test2(test_string):
    # print "\nThis FST removes all b's from string\n"
    fst_states = ["q0"]
    fst_in_alph = ["a", "b"]
    fst_out_alph = ["a", "b"]
    fst_start = "q0"
    fst_final = ["q0"]
    fst_trans = {
        "q0": {
            "a": ["q0", "a"],
            "b": ["q0", ""]
        },
    }

    test_fst = FST(fst_states, fst_in_alph, fst_out_alph, fst_start, fst_final,
                   fst_trans)

    print test_string + " : " + test_fst.transduce_string(test_string)
Exemplo n.º 2
0
def fst_test(test_string):
    # print "\nThis FST replaces the first 'a' in a string with an 'ba'"
    fst_states = ["q0", "q1"]
    fst_in_alph = ["a", "b"]
    fst_out_alph = ["a", "b"]
    fst_start = "q0"
    fst_final = ["q0", "q1"]
    fst_trans = {
        "q0": {
            "a": ["q1", "ba"],
            "b": ["q0", "b"]
        },
        "q1": {
            "a": ["q1", "a"],
            "b": ["q1", "b"]
        },
    }

    test_fst = FST(fst_states, fst_in_alph, fst_out_alph, fst_start, fst_final,
                   fst_trans)

    print test_string + " : " + test_fst.transduce_string(test_string)
Exemplo n.º 3
0
        fst_trans[char_list[i][0]] = {}
        fst_trans["start"][char_list[i][0]] = [
            char_list[i][:1], arp_list[i][0] + " "
        ]

for i in range(0, len(char_list)):
    for j in range(1, len(char_list[i])):
        # adding new states to fst_states
        fst_states.append(char_list[i][:j + 1])
        # adding state transitions, where state names are string of chars in the color
        # so far so the 3rd state on the way to blue is named 'blu'
        # example in dictionary: 'ru': {'b': ['rub', 'B ']}
        fst_trans[char_list[i][:j + 1]] = {}
        fst_trans[char_list[i][:j]][char_list[i][j]] = [char_list[i][:j + 1]]
        # if/else accounting for silent letters at end of word
        if j < len(arp_list[i]):
            fst_trans[char_list[i][:j]][char_list[i][j]].append(
                arp_list[i][j] + " ")
        else:
            fst_trans[char_list[i][:j]][char_list[i][j]].append("")

# Our final states are all of our input words
fst_final = char_list
# Declaring our fst
test_fst = FST(fst_states, fst_in_alph, fst_out_alph, fst_start, fst_final,
               fst_trans)

# Calling transduce on each color in our input
for word in char_list:
    print test_fst.transduce_string(word)