Hacker News

Ti pannakaidasig ti teksto babaen ti modulo ti ZSTD ti Python 3.14

Ti pannakaidasig ti teksto babaen ti modulo ti ZSTD ti Python 3.14 Daytoy a komprehensibo a pananganalisar iti teksto ket mangitukon iti detalyado a panangsukimat kadagiti kangrunaan a paset daytoy ken nalawlawa nga implikasionda. Dagiti Kangrunaan a Lugar a Pagpokusan Naisentro ti diskusion iti: Dagiti kangrunaan a mekanismo ken pro...

11 min read Via maxhalford.github.io

Mewayz Team

Editorial Team

Hacker News
Ita, addan amin a konteksto a kasapulak. Bay-anyo nga isuratko ti blog post.

Klasipikasion ti Teksto babaen ti Modulo ti ZSTD ti Python 3.14

Ti

Ti Python 3.14 ket mangiyam-ammo ti modulo ti compression.zstd iti pagalagadan a biblioteka, ken daytoy ket manglukat ti nakaskasdaaw a nabileg a wagas ti panagklasipika ti teksto nga awan dagiti modelo ti panagsursuro ti makina. Babaen ti panangrukod no kasano ti kinasayaat ti maysa a kompresor a makaipit ti dua a teksto a sangsangkamaysa, mabalinmo nga ikeddeng ti panagpapada dagitoy — ti tekniko a tinawtawagan iti Normalized Compression Distance (NCD) — ken ita ti Zstandard ket mangaramid daytoy a napardas nga umdas para kadagiti karga ti trabaho ti produksion.

Kasano nga Aktual nga Agtrabaho ti Klasipikasion ti Teksto a Naibatay iti Kompresion?

Ti kangrunaan nga ideya iti likudan ti panagklasipika a naibatay iti panagkompresion ket nairamut iti teoria ti impormasion. No ti maysa nga algoritmo ti panagkompresion a kas ti Zstandard ket makasabet ti bloke ti teksto, daytoy ket mangbangon ti akin-uneg a diksionario dagiti padron. No ti dua a teksto ket agbibinninglay iti agpapada a bokabulario, sintaksis, ken estruktura, ti panangipit kadagitoy ket mangpataud laeng iti resulta a dakdakkel bassit ngem ti panangkompresion laeng iti dakdakkel a teksto. No dagitoy ket saan nga agkakanaig, ti naisilpo a naikompresion a kadakkel ket umasideg iti kaaduan ti agpada nga indibidual a kadakkel.

Daytoy a relasion ket naala babaen ti pormula ti Normalized Compression Distance: NCD(x, y) = (C(xy) - min(C(x), C(y))) / max(C(x), C(y)), a ti C(x) ket ti naikompresion a kadakkel ti teksto x, ken ti C(xy) ket ti naikompresion a kadakkel ti dua a teksto a naisilpo. Ti pateg ti NCD nga asideg iti 0 ket kayatna a sawen a dagiti teksto ket agpapada unay, bayat a ti pateg nga asideg iti 1 ket kayatna a sawen a makibingbingayda iti gangani nga awan ti impormasional a linaon.

Ti mamagbalin iti daytoy a teknik a naisangsangayan ket saan a kasapulan ti awan a datos ti panagsanay, awan ti tokenization, awan dagiti embedding, ken awan ti GPU. Ti compressor a mismo ket agtignay a kas ti nasursuro a modelo ti estruktura ti teksto. Ti panagsukisok a naipablaak kadagiti papeles a kas ti "Low-Resource Text Classification: A Parameter-Free Classification Method with Compressors" (2023) ket nangipakita a ti gzip-based nga NCD ket nakiribal iti BERT kadagiti sumagmamano a pagrukodan, a nangpataud ti napabaro nga interes iti pamay-an.

Apay a ti Zstandard Module ti Python 3.14 ket maysa nga Game-Changer para iti NCD?

Sakbay ti Python 3.14, ti panagusar ti Zstandard ket kasapulan ti panangikabil ti maikatlo a partido a pakete ti python-zstandard. Ti baro a modulo ti compression.zstd, a naiyam-ammo babaen ti PEP 784, ket direkta a maipatulod babaen ti CPython. Kayatna a sawen daytoy ti zero dependency overhead ken ti garantisado, natalinaay nga API a sinuportaran babaen ti battle-tested libzstd ti Meta. Para kadagiti trabaho ti panagklasipika nga espesipiko, ti Zstandard ket mangitukon kadagiti sumagmamano a pagimbagan iti gzip wenno bzip2:

  • Kapartak: Ti Zstandard ket agkompresion iti 3-5x a naparpartak ngem ti gzip kadagiti maipada a ratio, a mangaramid ti panagklasipika ti batch iti rabaw dagiti rinibu a dokumento a mabalin kadagiti segundo imbes a dagiti minuto
  • Mabalin nga ituno dagiti lebel ti panagkompresion: Dagiti Lebel 1 aginggana ti 22 ket palubosannaka a mangtagilako ti kapartak para iti ratio, a mangipalubos kenka a mangkalibra ti kinaeksakto ti NCD a maibusor kadagiti kasapulan ti throughput
  • Suporta ti diksionario: Dagiti nasakbay a nasanay a diksionario ti Zstandard ket mabalinda a dakkel a mangpasayaat ti panagkompresion kadagiti babassit a teksto (iti baba ti 4KB), nga isu daytoy ti eksakto a sakop ti kadakkel ti dokumento a sadiay ti kinaumiso ti NCD ket kaaduan a napateg
  • Streaming API: Ti modulo ket mangsuporta ti inkremental a panagkompresion, a mangpabalin kadagiti tubo ti panagklasipika a mangproseso kadagiti teksto a saan a mangikarga ti sibubukel a korpora iti memoria
  • Ti pagalagadan a kinatalged ti biblioteka: Awan dagiti panagsusuppiat ti bersion, awan ti peggad ti kadena ti suplay — manipud iti panagala ti panagkompresion ti zstd ket agtrabaho iti tunggal maysa a panagikabil ti Python 3.14+

Kangrunaan a pannakaammo: Ti panagklasipika a naibatay iti panagkompresion ket kasayaatan nga agtrabaho no kasapulam ti napardas, awanan panagpannuray a batayan a mangasikaso ti adu a pagsasao a teksto a katutubo. Gapu ta dagiti kompresor ket agtartaray kadagiti raw byte imbes a dagiti pagsasao-a-naisangsangayan a token, dagitoy ket mangklasipika kadagiti Insik, Arabiko, wenno naglaok a pagsasao a dokumento a kasla epektibo a kas ti Ingles — awan ti modelo ti pagsasao a kasapulan.

Ania ti Langa ti Praktikal nga Implementasion?

Ti kabassitan a mangklasipikar ti NCD iti Python 3.14 ket maibagay iti baba ti 30 a linia. I-encode-mo ti tunggal maysa a teksto ti reperensia (maysa iti tunggal kategoria), kalpasanna para iti tunggal baro a dokumento, kuentaen ti NCD a maibusor iti tunggal reperensia ken ituding ti kategoria nga addaan iti kababaan a distansia. Ania ti kangrunaan a lohika:

Umuna, i-import ti modulo nga addaan iti manipud iti compression import zstd. Depinaren ti maysa a panagandar nga umawat ti dua a kuerdas ti byte, mangkompresion ti tunggal maysa a saggaysa, mangkompresion ti panagtipon dagitoy, ken mangisubli ti puntos ti NCD. Kalpasanna mangbangon ti diksionario a mangmapa kadagiti etiketa ti kategoria kadagiti pannakabagi a pagarigan a teksto. Para iti tunggal sumsumrek a dokumento, uliten kadagiti kategoria, kuentaen ti NCD, ken pilien ti kabassitan.

💡 DID YOU KNOW?

Mewayz replaces 8+ business tools in one platform

CRM · Invoicing · HR · Projects · Booking · eCommerce · POS · Analytics. Free forever plan available.

Start Free →
| Ti panangingato ti lebel ti panagkompresion iti 10 ket mangiduron ti kinaumiso iti agarup a 68% iti gastos ti panangkissay ti throughput iti agarup a 2,500 a dokumento iti tunggal maysa a segundo. Dagitoy a numero ket saan a maipada kadagiti napino a naituno a transpormer, ngem mangipaayda ti napigsa a batayan para iti prototipo, panag-triage ti panagmarka ti datos, wenno dagiti aglawlaw a sadiay ti panagikabil kadagiti panagpanpanunot ti ML ket saan a praktikal.

Kasano a Maidilig ti NCD iti Tradisional a Klasipikasion ti ML?

Ti napudno a sungbat ket ti NCD ket saan a kasukat dagiti transformer-based classifiers kadagiti high-stakes production systems. Dagiti modelo a kas ti BERT wenno dagiti GPT-based a mangklasipikar ket makagun-od ti 94%+ nga umiso kadagiti pagalagadan a pagrukodan. Nupay kasta, ti NCD nga addaan iti Zstandard ket okuparenna ti naisangsangayan a niche. Daytoy ket nalaing kadagiti senario ti nalamiis a panagrugi a sadiay ket addaanka kadagiti basbassit ngem 50 a naimarka a pagarigan iti tunggal maysa a klase — maysa a kasasaad a uray dagiti napino a naurnos a modelo ket makidangdangadang. Daytoy ket agkasapulan ti sero nga oras ti panagsanay, mangasikaso ti ania man a pagsasao wenno panagkodigo nga awan ti panagbalbaliw, ken agtaray nga interamente iti CPU nga addaan iti kankanayon a memoria.

| Daytoy a dua a tukad a tubo ket mangkissay unay kadagiti gastos ti inference bayat a mataginayon ti sapasap a kinaumiso. Dagiti plataporma a mangproseso ti linaon a pinartuat ti agar-aramat iti sukog, a kas ti 207-module a negosio nga OS ti Mewayz nga inus-usar babaen dagiti nasurok a 138,000 a negosiante, ket magunggonaan manipud iti nalag-an a panagklasipika tapno mangiruta kadagiti mensahe, ti linaon ti tag, ken mangpersonal kadagiti padas ti agar-aramat nga awan ti nadagsen nga imprastruktura.

Ania Dagiti Limitasion ken Kasayaatan nga Ar-aramid?

Ti pannakaidasig a naibatay iti panagkompresion ket addaan kadagiti ammo a limitasion a rumbeng nga ibilangmo. Dagiti ababa a teksto (iti baba ti 100 a byte) ket mangpataud kadagiti saan a mapagtalkan nga iskor ti NCD gapu ta ti kompresor ket awan ti umdas a datos tapno mangbangon kadagiti addaan kaipapanan a padron. Ti tekniko ket sensitibo pay iti panagpili kadagiti reperensia a teksto — dagiti saan unay a napili a pannakabagi ket mangpababa ti kinaumiso iti natadem. Ket gapu ta ti NCD ket maysa a distansia a metriko imbes a maysa a probabilistiko a modelo, daytoy ket saan a natural a mangpataud kadagiti puntos ti panagtalek.

Tapno makagun-od ti kaaduan manipud iti daytoy a wagas: agusar kadagiti reperensia a teksto iti saan a basbassit ngem 500 a byte iti tunggal maysa a kategoria, ageksperimento iti panagsilpo kadagiti adu a pagarigan iti tunggal maysa a klase (2-3 a pannakabagi a dokumento a naitipon ket mangted kadagiti nasaysayaat a diksionario ti panagkompresion), normalize ti text casing ken whitespace sakbay ti panagkompresion, ken i-benchmark iti ballasiw dagiti lebel ti panagkompresion ti Zstandard 3, 6, ken 10 tapno makasarak ti speed-accuracy sweet spot-mo. Para iti panagklasipika ti bassit-teksto, sanayen a nasaksakbay ti diksionario ti Zstandard iti korpus ti dominiom — daytoy a maymaysa nga addang ket mabalinna a pasayaaten ti kinaumiso babaen ti 8-12 a porsiento a puntos kadagiti ababa a dokumento.

Dagiti Masansan a Saludsod

Agtrabaho kadi ti panagklasipika a naibatay iti panagkompresion para iti panaganalisar ti sentimiento?

Mabalin, ngem addaan kadagiti pakdaar. Ti panaganalisar ti sentimiento ket agkasapulan ti panangduktal kadagiti di madmadlaw a panagdumaduma ti tono iti uneg dagiti estruktural nga agpapada a teksto. Nasaysayaat ti panagtrabaho ti NCD para iti pannakaidasig ti topiko a sadiay dagiti dokumento iti nadumaduma a kategoria ket agus-usar kadagiti naisangayan a bokabulario. Para iti sentimiento, ti kinaumiso ket kadawyan nga agdisso iti agarup a 55-60% — nasaysayaat ngem ti naiparparna, ngem saan a produksion-a-nakasagana a bukodna. Ti panagtipon kadagiti tampok ti NCD iti nalag-an a modelo ti lohistiko a panagsubli ket mangpasayaat kadagiti resulta iti dakkel.

Mabalinko kadi nga usaren ti modulo ti compression.zstd kadagiti bersion ti Python sakbay ti 3.14?

Saan. Ti modulo ti compression.zstd ket baro iti Python 3.14. Para kadagiti immun-una a bersion, i-install ti pakete ti python-zstandard manipud iti PyPI, a mangipaay kadagiti katupag a compress() ken decompress() a panagandar. Agtalinaed nga agpapada ti lohika ti NCD — ti laeng import statement ti agbaliw. Apaman nga ag-upgrade ka iti 3.14, mabalinmo nga ibaba ti third-party dependency nga interamente.

Kasano ti panagaramid ti Zstandard NCD no idilig iti TF-IDF nga addaan iti panagpapada ti cosine?

Iti ​​adu a klase a panagklasipika ti topiko nga addaan kadagiti natimbeng a dataset, ti TF-IDF plus cosine a panagpapada ket kadawyan a makagun-od ti 75-82% nga umiso no maidilig iti 62-68% ti Zstandard NCD. Nupay kasta, ti TF-IDF ket agkasapulan ti naibagay a vectoriser, ti naikeddeng a bokabulario, ken dagiti listaan ​​ti pagsasao-espesipiko a stopword. Ti Zstandard NCD ket agkasapulan ti awan iti daytoy a preprocessing, agtrabaho iti ballasiw dagiti pagsasao iti ruar ti kahon, ken mangklasipika kadagiti baro a dokumento iti agtultuloy a panawen urayno ania ti kadakkel ti bokabulario. Para kadagiti napardas a panagprototipo wenno dagiti aglawlaw ti adu a pagsasao, ti NCD ket masansan a ti naparpartak a dalan iti agtartrabaho a sistema.

Agbangbangonka man kadagiti automated a tubo ti linaon, panagruta kadagiti mensahe ti kostumer, wenno panagprototipo ti lohika ti panagklasipika para iti digital a negosiom, ti naibangon a suporta ti Zstandard ti Python 3.14 ket mangaramid ti NCD a naibatay iti panagkompresion nga ad-adda a makastrek ngem idi. No agsapsapulka iti amin-iti-maysa a plataporma tapno mangituray iti linaon ti negosiom, produkto, kurso, ken pannakilangen kadagiti kostumer, rugiam ti agbangon iti Mewayz ita nga aldaw ken ikabil dagitoy a teknik nga agtrabaho iti intero nga operasionmo.

Try Mewayz Free

All-in-one platform for CRM, invoicing, projects, HR & more. No credit card required.

Start managing your business smarter today

Join 30,000+ businesses. Free forever plan · No credit card required.

Ready to put this into practice?

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

Start Free Trial →

Ready to take action?

Start your free Mewayz trial today

All-in-one business platform. No credit card required.

Start Free →

14-day free trial · No credit card · Cancel anytime