Respostas:
O scikit-learn possui uma implementação do HMM . Até recentemente, era considerado não mantido e seu uso era desencorajado. No entanto, ele melhorou na versão de desenvolvimento. Não posso garantir sua qualidade, pois não conheço nada dos HMMs.
Disclaimer: Eu sou um desenvolvedor de scikit-learn.
Edit : movemos os HMMs para fora do scikit-learn, para https://github.com/hmmlearn/hmmlearn
_BaseHMM
documentação para obter detalhes da implementação.
Você já viu o NLTK?
Tem algumas classes que são adequadas para esse tipo de coisa, mas um pouco dependentes do aplicativo.
http://www.nltk.org/api/nltk.tag.html#nltk.tag.hmm.HiddenMarkovModelTrainer
Se você está procurando algo mais "orientado para a educação", escrevi um treinador de brinquedos há um tempo:
Você pode encontrar implementações Python em:
BTW: Veja Exemplo de implementação de Baum-Welch no Stack Overflow - a resposta acaba sendo em Python.
Algumas implementações de algoritmos básicos (incluindo Baum-welch em python) estão disponíveis aqui: http://ai.cs.umbc.edu/icgi2012/challenge/Pautomac/baseline.php
A biblioteca General Hidden Markov Model possui ligações python e usa o algoritmo Baum-Welch.
A seguir, é apresentada uma implementação em Pyhton do algoritmo Baum-Welch: