Est-il possible de stocker le dictionnaire de gzip à partir d’un fichier?

J’ai fait des recherches sur la classification de texte basée sur la compression et j’essaie de trouver un moyen de stocker un dictionnaire construit par l’encodeur (sur un fichier de formation) pour l’utiliser pour exécuter «statiquement» sur un fichier de test? Est-ce possible d’utiliser l’utilitaire gzip d’UNIX?

Par exemple, j’ai utilisé 2 fichiers ‘class’ de sport.txt et atheism.txt, par conséquent, je veux exécuter la compression sur ces deux fichiers et stocker leurs dictionnaires utilisés. Ensuite, je veux prendre un fichier de test (qui n’est pas étiqueté, qui pourrait être de l’athéisme ou du sport) et en utilisant les dictionnaires prédéfinis sur ce test.txt, je peux parsingr comment il compresse sous ce dictionnaire / modèle.

Merci

dégonfler les encodeurs, comme dans gzip et zlib, ne “construisez” pas un dictionnaire. Ils utilisent simplement les 32 Ko précédents comme source de correspondances potentielles avec la chaîne d’octets commençant à la position actuelle. Les derniers 32 octets sont appelés le “dictionnaire”, mais le nom est peut-être trompeur.

Vous pouvez utiliser zlib pour expérimenter des dictionnaires prédéfinis. Voir les fonctions deflateSetDictionary() et inflateSetDictionary() . Dans ce cas, la compression zlib est amorcée avec un “dictionnaire” de 32 Ko qui précède effectivement le premier octet compressé en tant que source pour les correspondances, mais le dictionnaire lui-même n’est pas compressé. L’amorçage ne peut qu’améliorer la compression des 32 premiers octets. Après cela, le dictionnaire prédéfini est trop en arrière pour fournir des correspondances.

gzip ne prend pas en charge les dictionnaires prédéfinis.