n-граммовый марковский цепной переход

Я пытаюсь построить марковскую модель n-граммы из заданного фрагмента текста, а затем получить к ней доступ к таблице переходов, чтобы я мог рассчитать условную энтропию для каждой последовательности слов длины n (грамм). Например, в 2-граммовой модели, после прочтения в корпусе текста

"собаки преследуют кошек собак преследуют кошек собак преследуют кошек собак преследуют кошек собак преследуют кошек собак преследуют кошек собак преследуют кошек собак преследуют кошек собак преследуют кошек собак преследуют людей"

и при построении внутренней таблицы переходов состояние "погоня за собаками" может переходить в состояние "погони за кошками" с вероятностью 0,9 и в состояние "погоня за людьми" с вероятностью 0,1. Если я знаю о возможных переходах, я могу вычислить условную энтропию.

Есть ли хорошие библиотеки Python для этого? Я проверил NLTK, SRILM и другие, но не нашел много.

1 ответ

Прошло чуть более 4 лет с тех пор, как этот пост был впервые создан, и у меня возникла та же проблема. Хотя это можно сделать вручную, я пошел дальше и создал пакет адаптационизма, который предоставляет немного больше функциональности!

Вы можете не только получить доступ к таблицам переходов, но и сделать это для любых N-граммовых комбинаций.

Я буду продолжать создавать этот инструментарий с течением времени, и, пожалуйста, не стесняйтесь пинговать меня с предложениями для будущей функциональности!

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