Hacker News

Python 3.14 の ZSTD モジュールを使用したテキスト分類

Python 3.14 の ZSTD モジュールを使用したテキスト分類 このテキストの包括的な分析では、その中核となる Mewayz Business OS の詳細な調査が提供されます。

1 最小読み取り

Mewayz Team

Editorial Team

Hacker News

これで、必要なコンテキストがすべて揃いました。ブログ記事を書かせていただきます。

Python 3.14 の ZSTD モジュールを使用したテキスト分類

Python 3.14 では、compression.zstd モジュールが標準ライブラリに導入され、機械学習モデルを使用せずにテキスト分類に対する驚くほど強力なアプローチが可能になります。コンプレッサーが 2 つのテキストをどれだけうまく圧縮できるかを測定することで、それらの類似性を判断できます (NCD (Normalized Compression Distance) と呼ばれる手法)。Zstandard では、実稼働ワークロードに十分な速度を実現しています。

圧縮ベースのテキスト分類は実際にどのように機能するのでしょうか?

圧縮ベースの分類の背後にある中心的な考え方は、情報理論に根ざしています。 Zstandard のような圧縮アルゴリズムは、テキストのブロックに遭遇すると、パターンの内部辞書を構築します。 2 つのテキストが同様の語彙、構文、構造を共有している場合、それらを一緒に圧縮すると、大きいテキストを単独で圧縮するよりもわずかに大きな結果しか得られません。それらに関連性がない場合、連結された圧縮サイズは両方の個別のサイズの合計に近づきます。

この関係は、正規化圧縮距離の公式によって把握されます: NCD(x, y) = (C(xy) - min(C(x), C(y))) / max(C(x), C(y))。ここで、C(x) はテキスト x の圧縮サイズ、C(xy) は連結された 2 つのテキストの圧縮サイズです。 NCD 値が 0 に近い場合は、テキストが非常に類似していることを意味し、値が 1 に近い場合は、情報コンテンツがほとんど共有されていないことを意味します。

この手法が注目に値するのは、トレーニング データ、トークン化、埋め込み、GPU を必要としないことです。コンプレッサー自体は、テキストの構造の学習済みモデルとして機能します。 「低リソース テキスト分類: コンプレッサーを使用したパラメーターなしの分類方法」(2023 年) などの論文で発表された研究では、gzip ベースの NCD が特定のベンチマークで BERT に匹敵することが実証され、このアプローチへの新たな関心が高まりました。

Python 3.14 の Zstandard モジュールが NCD にとって大きな変革となるのはなぜですか?

Python 3.14 より前では、Zstandard を使用するには、サードパーティの python-zstandard パッケージをインストールする必要がありました。 PEP 784 経由で導入された新しい Compression.zstd モジュールは、CPython に直接同梱されています。これは、依存関係のオーバーヘッドがゼロで、Meta の実績ある libzstd に裏付けられた安定した API が保証されていることを意味します。特に分類タスクの場合、Zstandard には gzip や bzip2 に比べていくつかの利点があります。

💡 ご存知でしたか?

Mewayzは8つ以上のビジネスツールを1つのプラットフォームに統合します

CRM・請求・人事・プロジェクト・予約・eCommerce・POS・分析。永久無料プラン提供中。

無料で始める →

速度: Zstandard は、同等の比率で gzip よりも 3 ~ 5 倍高速に圧縮し、数千のドキュメントにわたるバッチ分類を数分ではなく数秒で実行できるようにします。

調整可能な圧縮レベル: レベル 1 ~ 22 では、速度と比をトレードして、スループット要件に合わせて NCD 精度を調整できます。

辞書のサポート: 事前トレーニングされた Zstandard 辞書により、小さなテキスト (4KB 未満) の圧縮が大幅に向上します。これは、まさに NCD の精度が最も重要なドキュメント サイズ範囲です。

ストリーミング API: このモジュールは増分圧縮をサポートしており、コーパス全体をメモリにロードせずにテキストを処理する分類パイプラインを有効にします。

標準ライブラリの安定性: バージョンの競合がなく、サプライ チェーンのリスクもありません - 圧縮インポートにより、zstd はすべての Python 3.14 以降のインストールで機能します

重要な洞察: 圧縮ベースの分類は、多言語テキストをネイティブに処理する、依存関係のない迅速なベースラインが必要な場合に最適に機能します。コンプレッサーは言語固有のトークンではなく生のバイトで動作するため、中国語、アラビア語、または混合言語の文書を英語と同様に効果的に分類します。言語モデルは必要ありません。

実際の実装はどのようなものですか?

Python 3.14 の最小限の NCD 分類子は 30 行以内に収まります。各参照テキストをエンコードし (カテゴリごとに 1 つ)、新しいドキュメントごとに、すべての参照に対して NCD を計算し、距離が最小のカテゴリを割り当てます。コアロジックは次のとおりです。

まず、from Compression import zstd を使用してモジュールをインポートします。 2 バイトの文字列を受け入れ、それぞれを個別に圧縮し、それらの連結を圧縮して、NCD スコアを返す関数を定義します。次に、b

Streamline Your Business with Mewayz

Mewayz brings 207 business modules into one platform — CRM, invoicing, project management, and more. Join 138,000+ users who simplified their workflow.

Start Free Today →

Mewayzを無料で試す

CRM、請求書、プロジェクト、人事などを網羅するオールインワンプラットフォーム。クレジットカードは不要です。

今日からビジネス管理をスマートに始めましょう。

30,000+社の企業が参加しています。永久無料プラン・クレジットカード不要。

これは役に立ちましたか?共有する。

実践に移す準備はできていますか?

Join 30,000+ businesses using Mewayz. Free forever plan — no credit card required.

無料トライアル開始 →

行動を起こす準備はできていますか?

今日からMewayz無料トライアルを開始

オールインワンビジネスプラットフォーム。クレジットカード不要。

無料で始める →

14日間無料トライアル · クレジットカード不要 · いつでもキャンセル可能