Я предлагаю обобщение ответа Эвана: сделайте собственную марковскую модель и обучите ее большим куском (очень большой) образец, который вы дадите, оставив остальную часть образца как «тестовые данные». Теперь посмотрим, насколько хорошо модель, которую вы обучили, выполняет на тестовых данных, например.с критерием квадратного квадрата, который предложит ситуацию, в которой «fit is TOO good» (предполагая, что тестовые данные действительно генерируются этой моделью), а также те, в которых соответствие очень плохое (предполагая ошибку в структуре модели - более -приведенная модель с неправильной структурой делает в этих случаях заведомо плохую работу).
Конечно, есть еще много вопросов для калибровки, таких как структура модели - вы подозреваете простую модель, основанную на Ntuples слов и немного больше, или более сложную с грамматическими состояниями и тому подобное. К счастью, вы можете довольно хорошо откалибровать вещи, используя большие корпуса из обычного текста, а также те, которые вы создаете с помощью моделей различных структур.
Другой подход заключается в использовании nltk для анализа предложений, которые вам даны. Небольшое количество ошибочных вычислений следует ожидать даже в естественном тексте (поскольку люди несовершенны, а также парсер - он может не знаю, что слово X можно использовать в качестве глагола и только классифицировать его как существительное и т. д. и т. д.), но большинство моделей Маркова (если они не моделируют по существу ту же структуру грамматики, которую использует ваш парсер, и вы можете используйте несколько парсеров, чтобы попытаться противодействовать этому! -) приведет к тому, что VASTLY будет более ошибочным, чем даже дислексическим людям. Опять же, откалибруйте это на естественных и синтетических текстах, и вы увидите, что я имею в виду!)
Мне нравится этот подход, но я думаю, что это было бы неоправданно вычислимым? – agiliq
Не видите, как, добавили некоторые детали ответа. – pufferfish