Преобразователь конечного состояния (FST) - это автомат конечного состояния (FSA, FA), который выдает выходные данные, а также считывает входные данные, что означает, что он полезен для анализа (в то время как «голый» FSA может использоваться только для распознавания,то есть сопоставление с образцом).
FST состоит из конечного числа состояний, которые связаны переходами, помеченными парой вход / выход.FST запускается в заданном начальном состоянии и переходит к различным состояниям в зависимости от входных данных, в то же время производя выходные данные в соответствии с таблицей переходов.
FST полезны в NLP и распознавании речи, поскольку обладают хорошими алгебраическими свойствами, большинствоПримечательно, что они могут быть свободно объединены (образуют алгебру) под композицией, которая реализует реляционную композицию на регулярных отношениях (представьте это как недетерминированную композицию функций), оставаясь при этом очень компактной.FST могут выполнять разбор регулярных языков в строки за линейное время.
В качестве примера я однажды реализовал морфологический разбор в виде набора FST.Мой основной FST для глаголов превратил бы обычный глагол, скажем, «гулял», в «прогулка + ПРОШЛОЕ».У меня также был FST для глагола «быть», который превращал бы «есть» в «быть + НАСТОЯЩЕЕ + 3-е» (3-е лицо), и аналогично для других неправильных глаголов.Все FST были объединены в один с использованием компилятора FST, который создавал один FST, который был намного меньше суммы его частей и работал очень быстро.FST могут быть созданы различными инструментами, которые принимают расширенный синтаксис регулярного выражения.