Finete State machine визуализатор

Мне нужно приложение, которое печатает / визуализирует пары ввода / вывода во время прогонов FST. Я имею в виду, что для каждого состояния fst необходимо распечатать кортеж, содержащий входные данные для этого состояния и выходные данные этого состояния. Прямо сейчас я могу создавать fst файлы, совместимые с инструментами foma, hfst и xfst fst. Итак, я полагаю, что нужного мне инструмента визуализации должно быть достаточно для совместимости с любым из них. Кто-нибудь знает такой инструмент?

1 ответ

foma может производить dot форматировать файлы, которые можно визуализировать с помощью graphviz, В Debian/Ubuntu установите graphviz с

$ sudo apt-get install graphviz

foma могу читать att формат файлов (производится с hfst-fst2txt для всего, что HFST может прочитать, или lt-print для чего-либо из lttoolbox); при условии, что у вас есть такой файл с именем myfst.att, ты можешь сделать

$ foma
foma[0]: read att myfst.att
foma[1]: view

для отображения полного FST. Это покажет каждую пару вход / выход на каждом ребре между состояниями FST.

Но вы говорите "во время пробежек" - вы говорите также о показе очереди "живых состояний"? Если так, я не знаю инструмента, который это делает, это было бы неплохо! Единственное, что вы можете сделать, - это изменить источник HFST для вывода списка текущих состояний и строковых векторов во время его обработки, а затем объединить это с dot файл, например, цвет в живых состояниях. (Если это так, вы можете принять это к #hfst канал на irc.freenode.net.)


Также есть скрипт att2dot.py на https://ftyers.github.io/2017-%D0%9A%D0%9B_%D0%9C%D0%9A%D0%9B/hfst.html который можно использовать в командной строке, напримерhfst-fst2txt chv.lexc.hfst | python3 att2dot.py | dot -Tpng -ochv.lexc.png если вы предпочитаете что-то более скриптовое. Если вы используете это из библиотеки Python HFST, вы можете получить "живые состояния" для каждой части анализа более легко.

Другие вопросы по тегам