Hacker News

Таснифи матн бо модули ZSTD Python 3.14

Таснифи матн бо модули ZSTD Python 3.14 Ин таҳлили ҳамаҷонибаи матн баррасии муфассали ҷузъҳои асосии он ва оқибатҳои васеътари онро пешниҳод мекунад. Самтҳои асосии таваҷҷӯҳ Муҳокима дар ин мавзӯъҳо баргузор мешавад: Механизмҳои асосӣ ва...

1 min read Via maxhalford.github.io

Mewayz Team

Editorial Team

Hacker News
Ҳоло ман тамоми контексти лозимиро дорам. Биёед ман мақолаи блогро нависам.

Таснифи матн бо модули ZSTD Python 3.14

Python 3.14 модули compression.zstd-ро ба китобхонаи стандартӣ муаррифӣ мекунад ва он равиши ҳайратангези таснифоти матнро бидуни моделҳои омӯзиши мошинсозӣ мекушояд. Бо чен кардани он, ки компрессор то чӣ андоза ду матнро ба ҳам фишурда метавонад, шумо метавонед шабоҳати онҳоро муайян кунед - техникае бо номи Масофаи муқарраршудаи фишурдашуда (NCD) - ва ҳоло Zstandard онро барои сарбории кори истеҳсолӣ ба қадри кофӣ суръат мебахшад.

Таснифи матн дар асоси фишурда воқеан чӣ гуна кор мекунад?

Идеяи асосии таснифоти фишурдасозӣ дар назарияи иттилоот реша мегирад. Вақте ки алгоритми фишурдасозӣ ба монанди Zstandard бо блоки матн дучор мешавад, он луғати дохилии намунаҳоро месозад. Агар ду матн дорои луғат, синтаксис ва сохтори якхела бошанд, якҷоя фишурдани онҳо натиҷа аз фишурдани матни калонтар танҳо каме калонтар мешавад. Агар онҳо ба ҳам алоқаманд набошанд, андозаи фишурдашуда ба маблағи ҳарду андозаи инфиродӣ наздик мешавад.

Ин муносибат бо формулаи Масофаи муқарраршудаи фишурдашуда сабт карда мешавад: NCD(x, y) = (C(xy) - min(C(x), C(y))) / max(C(x), C(y)), ки дар он C(x) андозаи фишурдашудаи матни x ва C(xy) андозаи фишурдашудаи ду матни муттаҳидшуда мебошад. Қимати NCD дар наздикии 0 маънои онро дорад, ки матнҳо хеле шабоҳат доранд, дар ҳоле ки арзиши наздики 1 маънои онро дорад, ки онҳо қариб ягон мундариҷаи иттилоотиро мубодила намекунанд.

Чи ин техникаро ҷолиб мегардонад, он аст, ки он маълумоти омӯзишӣ, аломатгузорӣ, воридкунӣ ва GPU-ро талаб намекунад. Худи компрессор ҳамчун модели омӯхташудаи сохтори матн амал мекунад. Тадқиқоте, ки дар маҷаллаҳо нашр шудааст, ба мисли "Таснифи матни камбар: Усули таснифоти бепараметрӣ бо компрессорҳо" (2023) нишон дод, ки NCD-и gzip дар асоси меъёрҳои муайян бо BERT рақобат карда, таваҷҷӯҳи навро ба равиш ба вуҷуд овард.

Чаро модули Zstandard Python 3.14 барои NCD як тағирдиҳандаи бозӣ аст?

Пеш аз Python 3.14, бо истифода аз Zstandard насб кардани бастаи тарафи сеюми python-zstandard лозим буд. Модули нави compression.zstd, ки тавассути PEP 784 муаррифӣ шудааст, мустақиман бо CPython фиристода мешавад. Ин маънои онро дорад, ки вобастагии сифр ва API-и кафолатнок ва устувор, ки аз ҷониби libzstd-и дар ҷанг озмудашудаи Meta дастгирӣ мешавад. Барои вазифаҳои таснифот, Zstandard якчанд бартариҳоро нисбат ба gzip ё bzip2 пешниҳод мекунад:

  • Суръат: Zstandard нисбат ба gzip бо таносуби муқоисашаванда 3-5 маротиба тезтар фишурда мешавад ва таснифоти дастаҷамъиро беш аз ҳазорҳо ҳуҷҷатҳо дар тӯли сонияҳо, на дақиқаҳо қобили амал мекунад
  • Сатҳҳои фишурдасозии танзимшаванда: Сатҳҳои 1 то 22 ба шумо имкон медиҳанд, ки суръатро бо таносуб мубодила кунед ва ба шумо имкон медиҳад, ки дақиқии NCD-ро бо талаботҳои интиқол калибр кунед
  • Дастгирии луғат: Луғатҳои қаблан омӯзонидашудаи Zstandard метавонанд фишурдани матнҳои хурдро (зери 4KB) ба таври назаррас беҳтар созанд, ки маҳз диапазони андозаи ҳуҷҷат аст, ки дар он дақиқии NCD муҳимтар аст
  • API Streaming: Модул фишурдани афзояндаро дастгирӣ мекунад ва имкон медиҳад, ки қубурҳои таснифот, ки матнҳоро бидуни боркунии тамоми корпус ба хотира коркард мекунанд
  • Суботи стандартии китобхона: Ҳеҷ ихтилофи версия, хатари занҷири таъминот вуҷуд надорад — аз воридоти фишурда zstd дар ҳар як насби Python 3.14+ кор мекунад

Фаҳиши асосӣ: Таснифи ба фишурда асосёфта вақте беҳтар кор мекунад, ки ба шумо хатти асосии зуд ва бидуни вобастагӣ лозим аст, ки матни бисёрзабонаро ба таври аслӣ коркард мекунад. Азбаски компрессорҳо дар байтҳои хом кор мекунанд, на токенҳои ба забон хос, онҳо ҳуҷҷатҳои чинӣ, арабӣ ё омехтаро ҳамчун забони англисӣ ба таври муассир тасниф мекунанд – ҳеҷ модели забон талаб карда намешавад.

Татбиқи амалӣ ба чӣ монанд аст?

Таснифи ҳадди ақали NCD дар Python 3.14 ба зери 30 сатр мувофиқат мекунад. Шумо ҳар як матни истинодро рамзгузорӣ мекунед (якто барои ҳар як категория), пас барои ҳар як ҳуҷҷати нав, NCD-ро аз ҳар як истинод ҳисоб кунед ва категорияро бо масофаи камтарин таъин кунед. Ин аст мантиқи аслӣ:

Аввалан, модулро бо аз фишурдасозии import zstd ворид кунед. Функсияеро муайян кунед, ки ду сатри байтро қабул мекунад, ҳар яки онро алоҳида фишурда, пайвастагии онҳоро фишурда, холҳои NCD-ро бармегардонад. Сипас тамғакоғазҳои категорияи харитасозии луғатро ба матнҳои намунавии намояндагӣ созед. Барои ҳар як ҳуҷҷати воридотӣ аз рӯи категорияҳо такрор кунед, NCD-ро ҳисоб кунед ва ҳадди ақалро интихоб кунед.

💡 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 →

Дар муқоиса бо маҷмӯаи додаҳои AG News (таснифи чор синфи хабар), ин равиш бо истифода аз Zstandard дар сатҳи фишурдасозии 3 тақрибан 62-65% дақиқиро ба даст меорад - ҳеҷ қадами омӯзишӣ, зеркашии модел ва суръати таснифоти тақрибан 8,000 ҳуҷҷат дар як сония дар як ядрои CPU. Баланд бардоштани сатҳи фишурдасозӣ то 10 дақиқии тақрибан 68% -ро бо арзиши кам кардани интиқол ба тақрибан 2500 ҳуҷҷат дар як сония тела медиҳад. Ин рақамҳо ба трансформаторҳои дақиқ мувофиқат намекунанд, аммо онҳо барои прототипсозӣ, триажи тамғагузории додаҳо ё муҳитҳое, ки насб кардани вобастагии ML ғайриимкон аст, заминаи қавӣ фароҳам меорад.

Чӣ тавр NCD бо таснифоти анъанавии ML муқоиса мекунад?

Ҷавоби ростқавлона ин аст, ки NCD ивазкунандаи таснифоти ба трансформатор асосёфта дар системаҳои истеҳсолии серҳаракат нест. Моделҳо ба монанди таснифкунакҳои BERT ё GPT дар асоси меъёрҳои стандартӣ 94%+ дақиқиро ба даст меоранд. Аммо, NCD бо Zstandard ҷойи беназирро ишғол мекунад. Он дар сенарияҳои сармо бартарӣ дорад, ки дар он шумо дар як синф камтар аз 50 мисоли ишорашуда доред - вазъе, ки ҳатто моделҳои хуб танзимшуда мубориза мебаранд. Он вақти омӯзиши сифрро талаб намекунад, ҳама гуна забон ё рамзгузориро бидуни тағир кор мекунад ва комилан дар CPU бо хотираи доимӣ кор мекунад.

Барои корхонаҳое, ки миқдори зиёди мундариҷаи воридотро идора мекунанд - чиптаҳои дастгирӣ, зикри васоити ахбори иҷтимоӣ, баррасиҳои маҳсулот - таснифи Zstandard NCD метавонад ҳамчун роутери аввал хидмат кунад, ки ҳуҷҷатҳоро дар вақти воқеӣ пеш аз дақиқ кардани моделҳои гаронбаҳо гурӯҳбандӣ мекунад. Ин лӯлаи думарҳила хароҷоти хулосабарориро ҳангоми нигоҳ доштани дақиқии умумӣ ба таври назаррас коҳиш медиҳад. Платформаҳое, ки мундариҷаи аз ҷониби корбар тавлидшуда дар миқёс коркард мекунанд, ба монанди OS-и 207-модули тиҷоратии Mewayz, ки аз ҷониби беш аз 138 000 соҳибкор истифода мешавад, аз таснифоти сабук ба масири паёмҳо, мундариҷаи барчасп ва фардӣ кардани таҷрибаи корбарон бидуни инфрасохтори вазнин баҳра мебаранд.

Маҳдудиятҳо ва таҷрибаҳои беҳтарин кадомҳоянд?

Таснифоти бар фишурдашуда дорои маҳдудиятҳои маълуми шумо бояд ҳисоб карда шавад. Матнҳои кӯтоҳ (аз 100 байт) холҳои ноустувори NCD-ро ба вуҷуд меоранд, зеро компрессор барои сохтани намунаҳои пурмазмун маълумоти кофӣ надорад. Техника инчунин ба интихоби матнҳои истинод ҳассос аст - намояндагони нодуруст интихобшуда дақиқиро якбора паст мекунанд. Ва азбаски NCD ченаки масофа аст, на модели эҳтимолӣ, он табиатан холҳои эътимодро ба вуҷуд намеорад.

Барои ба даст овардани самараи бештар аз ин равиш: матнҳои истинодҳои ҳадди аққал 500 байт дар як категорияро истифода баред, бо пайваст кардани мисолҳои сершумор дар як синф таҷриба кунед (2-3 ҳуҷҷати намояндагӣ дар якҷоягӣ луғатҳои фишурдасозии беҳтарро ба даст меоранд), корпуси матн ва фазои холиро пеш аз фишурда ба эътидол оваред ва дар сатҳҳои фишурдани Zstandard 3, 6 ва 10 барои дарёфти суръати ҷолиби худ санҷед. Барои таснифи матни хурд, луғати Zstandard-ро дар корпуси домени худ пешакӣ омӯзед — ин қадами ягона метавонад дақиқиро дар ҳуҷҷатҳои кӯтоҳ то 8-12 фоиз беҳтар кунад.

Саволҳои зуд-зуд додашаванда

Оё таснифоти фишурдасозӣ барои таҳлили эҳсосот кор мекунад?

Ин метавонад, аммо бо огоҳӣ. Таҳлили ҳиссиёт талаб мекунад, ки фарқиятҳои нозуки тоналиро дар дохили матнҳои сохторӣ монанд муайян кунанд. NCD барои таснифи мавзӯъҳо беҳтар кор мекунад, ки дар он ҳуҷҷатҳо дар категорияҳои гуногун луғатҳои гуногунро истифода мебаранд. Барои эҳсосот, дақиқӣ одатан тақрибан 55-60% -ро ташкил медиҳад - беҳтар аз тасодуфӣ, аммо мустақилона ба истеҳсолот омода нест. Якҷоя кардани хусусиятҳои NCD бо модели регрессионии сабуки логистикӣ натиҷаҳоро ба таври назаррас беҳтар мекунад.

Оё ман метавонам модули compression.zstd-ро дар версияҳои Python то 3.14 истифода барам?

Не. Модули compression.zstd дар Python 3.14 нав аст. Барои версияҳои қаблӣ бастаи python-zstandard-ро аз PyPI насб кунед, ки он функсияҳои муодили compress() ва decompress()-ро таъмин мекунад. Мантиқи NCD якхела боқӣ мемонад - танҳо изҳороти воридот тағир меёбад. Вақте ки шумо ба 3.14 навсозӣ мекунед, шумо метавонед вобастагии тарафи сеюмро комилан қатъ кунед.

Zstandard NCD дар муқоиса бо TF-IDF бо шабоҳати косинус чӣ гуна кор мекунад?

Дар таснифоти мавзӯъҳои бисёрсинфӣ бо маҷмӯи додаҳои мутавозин, TF-IDF плюс шабоҳати косинус одатан дар муқоиса бо 62-68% Zstandard NCD дақиқии 75-82% ба даст меорад. Бо вуҷуди ин, TF-IDF вектори муҷаҳҳаз, луғати муайян ва рӯйхатҳои таваққуфкунандаи забонро талаб мекунад. Zstandard NCD ҳеҷ яке аз ин коркарди пешакиро талаб намекунад, дар саросари забонҳо кор мекунад ва ҳуҷҷатҳои навро дар вақти доимӣ новобаста аз андозаи луғат тасниф мекунад. Барои прототипсозии зуд ё муҳитҳои бисёрзабона, NCD аксар вақт роҳи тезтар ба системаи корӣ мебошад.

Новобаста аз он ки шумо лӯлаҳои мундариҷаи худкор сохта истодаед, паёмҳои муштариёнро масир месозед ё мантиқи таснифоти прототипи тиҷорати рақамии худ, дастгирии дарунсохташудаи Zstandard Python 3.14 NCD-ро дар асоси фишурдашавӣ беш аз пеш дастрастар мекунад. Агар шумо дар ҷустуҷӯи платформаи ҳама дар як платформаи идоракунии мундариҷаи тиҷории худ, маҳсулот, курсҳо ва муоширати муштариён бошед, имрӯз бо Mewayz бунёд карданро оғоз кунед ва ин усулҳоро барои кор дар тамоми амалиёти худ истифода баред.

доимӣ тасниф мекунад.

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