Я пытаюсь написать алгоритм, который может выработать «неожиданность» или «сложность информации» предложения. В частности, я пытаюсь сортировать набор предложений, поэтому наименее сложным является первое.Использование библиотеки сжатия для оценки сложности информации английского предложения?
Моя мысль заключалась в том, что я мог бы использовать библиотеку сжатия, такую как zlib ?, «pre train» на большом корпусе текста на одном языке (назовите это «Корпус»), а затем добавьте в этот корпус текста разные предложения.
То есть я мог бы определить меру сложности для предложения, чтобы указать, сколько еще байтов требуется для сжатия всего тела с добавленным предложением, по сравнению со всем корпусом с добавленным другим предложением. (Чем меньше лишних байтов, тем более предсказуемым или «ожидаемым» это предложение, и, следовательно, тем ниже сложность). Имеет ли это смысл?
Проблема заключается в попытке найти нужную библиотеку, которая позволит мне сделать это, предпочтительно из python.
Я мог бы сделать это, буквально добавив предложения к большому корпусу и попросив библиотеку сжатия сжать весь shebang, но, если возможно, я бы скорее остановил обработку библиотеки сжатия в конце корпуса, сделайте снимок соответствующего состояния сжатия, а затем, со всеми доступными «состояниями», попытайтесь сжать последнее предложение. (Тогда я вернусь к снимку состояния в конце корпуса и попробую другое предложение).
Может ли кто-нибудь помочь мне с библиотекой сжатия, которая может быть подходящей для этой потребности? (Что-то, что позволяет мне «заморозить» его состояние после «предварительного обучения».)
Я бы предпочел использовать библиотеку, которую я могу вызвать из Python или Scala. Еще лучше, если это чистый python (или чистый scala)
Спасибо за кучи за то, что нашли время. Возможно, вы правы, что это может быть не интересно, но я попробую. Я согласен с тем, что только с 32 КБ словаря это может быть не все, что интересно, но, думая о хорошо оптимизированном словаре, даже если у него есть только несколько «шаблонов», он все равно может сказать вам немного о предложениях, которые используют наиболее распространенные структуры, по сравнению с другими. Даже PySmaz - крошечный крошечный словарь для ввода * * * * * * * * * * * Не совсем бессмысленные вещи https://github.com/CordySmith/PySmaz/blob/master/smaz/__init__.py#L295 показывают, что это – utunga