Hacker News

د Python 3.14 د ZSTD ماډل سره د متن طبقه بندي

د Python 3.14 د ZSTD ماډل سره د متن طبقه بندي د متن دا هراړخیز تحلیل د هغې د اصلي برخو او پراخو اغیزو تفصيلي ازموینه وړاندې کوي. د تمرکز کلیدي ساحې د بحث مرکزونه: اصلي میکانیزمونه او پرو ...

1 min read Via maxhalford.github.io

Mewayz Team

Editorial Team

Hacker News
اوس زه ټول هغه شرایط لرم چې زه ورته اړتیا لرم. اجازه راکړئ چې د بلاګ پوسټ ولیکم.

د متن طبقه بندي د Python 3.14 د ZSTD ماډل سره

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) د متن د کمپریس شوي دوه کیټ اندازه ده. د 0 سره نږدې د NCD ارزښت پدې معنی دی چې متنونه خورا ورته دي ، پداسې حال کې چې 1 ته نږدې ارزښت پدې معنی دی چې دوی تقریبا هیڅ معلوماتي مینځپانګه نه شریکوي.

هغه څه چې دا تخنیک د پام وړ ګرځوي هغه دا دی چې دا د روزنې ډیټا ته اړتیا نلري ، نه نښه کول ، نه سرایت کول ، او هیڅ GPU ته اړتیا نلري. کمپرسور پخپله د متن جوړښت د زده شوي ماډل په توګه کار کوي. په مقالو کې خپره شوې څیړنه لکه "د ټیټو سرچینو متن طبقه بندي: د کمپرسورونو سره د پیرامیټر څخه پاک طبقه بندي میتود" (2023) ښودلې چې د gzip-based NCD په ځینو معیارونو کې د BERT سره سیالي کوي، چې په دې طریقه کې نوې دلچسپي راپاروي.

ولې د Python 3.14 Zstandard ماډل د NCD لپاره د لوبې بدلون کونکی دی؟

د Python 3.14 دمخه، د Zstandard کارولو لپاره د دریمې ډلې python-zstandard بسته نصبولو ته اړتیا وه. نوی compression.zstd ماډل، د PEP 784 له لارې معرفي شوی، په مستقیم ډول د CPython سره لیږدول کیږي. دا پدې مانا ده چې د صفر انحصار سر او یو تضمین شوی، باثباته API د میټا د جګړې ازمول شوي libzstd لخوا ملاتړ شوی. په ځانګړې توګه د طبقه بندي دندو لپاره، Zstandard د gzip یا bzip2 په پرتله ډیری ګټې وړاندې کوي:

  • سرعت: Zstandard د پرتله کولو په نسبت د gzip په پرتله 3-5x ګړندی کمپریس کوي، په زرګونو اسنادو کې د بیچ طبقه بندي کول د دقیقو په پرتله په ثانیو کې د عمل وړ دي
  • د کمپریشن کچه: د 1 څخه تر 22 پورې کچه تاسو ته اجازه درکوي د تناسب لپاره سرعت تجارت کړئ، تاسو ته اجازه درکوي چې د ټرپټ اړتیاو په وړاندې د NCD دقیقیت اندازه کړئ
  • د قاموس ملاتړ: مخکې روزل شوي Zstandard قاموسونه کولی شي په ډراماتیک ډول د کوچنیو متنونو کمپریشن ته وده ورکړي (له 4KB څخه کم)، کوم چې د اسنادو د اندازې حد دی چیرې چې د NCD دقت خورا مهم دی
  • سټریمینګ API: ماډل د زیاتیدونکي کمپریشن ملاتړ کوي، د ډلبندۍ پایپ لاین فعالوي چې متنونه پروسس کوي پرته له دې چې ټول کارپورا په حافظه کې بار کړي
  • معیاري کتابتون ثبات: نه نسخه شخړه، نه د اکمالاتو سلسله خطر — from compression import zstd په هر Python 3.14+ نصب کې کار کوي

کلیدي بصیرت: د کمپریشن پراساس طبقه بندي غوره کار کوي کله چې تاسو ګړندي ، له انحصار څخه پاک بیس لاین ته اړتیا لرئ چې څو ژبني متن په اصلي ډول اداره کوي. ځکه چې کمپرسورونه د ژبې ځانګړي ټکنونو پر ځای په خام بایټونو کار کوي، دوی چینایي، عربي، یا د مخلوط ژبې سندونه په مؤثره توګه د انګلیسي په څیر طبقه بندي کوي - د ژبې ماډل ته اړتیا نشته.

یو عملي تطبیق څه ډول ښکاري؟

په Python 3.14 کې لږ تر لږه د NCD طبقه بندي د 30 لاینونو لاندې فټ کوي. تاسو د هر حوالې متن کوډ کړئ (په هر کټګورۍ کې یو)، بیا د هر نوي سند لپاره، د هرې حوالې په وړاندې NCD حساب کړئ او کټګورۍ د ټیټ واټن سره وټاکئ. دلته اصلي منطق دی:

لومړی، ماډل د د کمپریشن وارداتو 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 نیوز ډیټاسیټ (څلور درجې خبرونو طبقه بندي) په وړاندې معیارونو کې، د کمپریشن په کچه 3 کې د Zstandard په کارولو سره دا طریقه نږدې 62-65٪ دقت ترلاسه کوي - هیڅ روزنیز ګام، هیڅ ماډل ډاونلوډ، او په یوه CPU کور کې په هره ثانیه کې د نږدې 8,000 اسنادو درجه بندي سرعت. د کمپریشن کچه 10 ته پورته کول په هره ثانیه کې شاوخوا 2,500 اسنادو ته د ټروپټ کمولو په قیمت کې دقت شاوخوا 68٪ ته رسوي. دا شمیرې د ښه ټیون شوي ټرانسفارمرونو سره سمون نه خوري، مګر دوی د پروټوټایپ کولو، ډیټا لیبل کولو ټریج، یا چاپیریال لپاره قوي اساس چمتو کوي چیرې چې د ML انحصار نصب کول غیر عملي وي.

NCD څنګه د دودیز ML طبقه بندي سره پرتله کوي؟

صادق ځواب دا دی چې NCD د لوړ سټیک تولید سیسټمونو کې د ټرانسفارمر پراساس کټګوریو بدیل ندی. ماډلونه لکه BERT یا GPT-based classifiers په معیاري بنچمارکونو کې 94% + دقت ترلاسه کوي. په هرصورت، د Zstandard سره NCD یو ځانګړی ځای نیسي. دا په سړه پیل سناریوګانو کې ښه والی لري چیرې چې تاسو په هر ټولګي کې له 50 څخه لږ لیبل شوي مثالونه لرئ - یو داسې حالت چیرې چې حتی ښه جوړ شوي ماډلونه مبارزه کوي. دا د روزنې صفر وخت ته اړتیا لري، پرته له تعدیل څخه کومه ژبه یا کوډ کول اداره کوي، او په بشپړ ډول په CPU کې د دوامداره حافظې سره چلیږي.

د سوداګرۍ لپاره چې د راتلونکو مینځپانګو لوی مقدار اداره کوي — د ملاتړ ټکټونه ، د ټولنیزو رسنیو یادونه ، د محصول بیاکتنې — د Zstandard NCD کټګوري کولی شي د لومړي پاس روټر په توګه خدمت وکړي چې مخکې له دې چې ډیر ګران ماډلونه پایلې اصلاح کړي په ریښتیني وخت کې اسناد طبقه بندي کوي. دا دوه مرحلې پایپ لاین د عمومي دقت ساتلو په وخت کې د پام وړ لګښتونه کموي. پلیټ فارمونه په پیمانه د کاروونکو لخوا تولید شوي مینځپانګې پروسس کوي ، لکه د Mewayz 207-module Business OS چې د 138,000 څخه زیاتو متشبثینو لخوا کارول کیږي، د روټ پیغامونو لپاره د لږ وزن درجه بندي څخه ګټه پورته کوي، د منځپانګې ټګ، او د درنو زیربناوو پرته د کاروونکو تجربو شخصي کول.

محدودیتونه او غوره کړنې څه دي؟

د کمپریشن پر بنسټ طبقه بندي هغه محدودیتونه لري چې تاسو یې باید حساب کړئ. لنډ متنونه (د 100 بایټ څخه کم) د اعتبار وړ NCD نمرې تولیدوي ځکه چې کمپرسور د معنی لرونکي نمونو جوړولو لپاره کافي ډیټا نلري. دا تخنیک د حوالې متنونو انتخاب ته هم حساس دی - په خراب ډول غوره شوي استازي دقت په چټکۍ سره خرابوي. او ځکه چې NCD د احتمالي ماډل پر ځای د واټن میټریک دی، دا په طبیعي توګه د باور نمرې نه تولیدوي.

د دې طریقې څخه د ډیرو ترلاسه کولو لپاره: په هر کټګورۍ کې لږ تر لږه 500 بایټس حواله متنونه وکاروئ، په هر ټولګي کې د ډیری مثالونو سره یوځای کولو تجربه وکړئ (د 2-3 نماینده ګانو اسناد د ښه کمپریشن لغتونو سره یوځای شوي)، د کمپریشن دمخه د متن کیسینګ او سپین سپیس نورمال کړئ، او د Zstandard کمپریشن کچه 3، 6، او 10-10-Curacy سرعت ومومئ. د کوچني متن طبقه بندي لپاره، په خپل ډومین کارپس کې د Zstandard قاموس څخه مخکې روزنه ورکړئ - دا یو ګام کولی شي په لنډو اسنادو کې د 8-12 سلنې ټکي دقت ښه کړي.

په مکرر ډول پوښتل شوي پوښتنې

ایا د کمپریشن پر بنسټ درجه بندي د احساساتو تحلیل لپاره کار کوي؟

دا کولی شي، مګر د احتیاط سره. د احساساتو تحلیل د جوړښت له پلوه ورته متنونو کې د فرعي ټونل توپیرونو موندلو ته اړتیا لري. NCD د موضوع ډلبندۍ لپاره ښه کار کوي چیرې چې په بیلابیلو کټګوریو کې اسناد د جلا لغتونو څخه کار اخلي. د احساس لپاره، دقت عموما د 55-60٪ په شاوخوا کې راځي - د تصادفي څخه غوره، مګر پخپله تولید ته چمتو نه دی. د لږ وزن لوژستیک ریګریشن ماډل سره د NCD ځانګړتیاو ترکیب کول پایلې د پام وړ ښه کوي.

ایا زه کولی شم د 3.14 څخه مخکې د Python نسخو کې د compression.zstd ماډل وکاروم؟

نه. د compression.zstd ماډل په Python 3.14 کې نوی دی. د پخوانیو نسخو لپاره، د PyPI څخه د python-zstandard بسته نصب کړئ، کوم چې برابر compress() او decompress() افعال وړاندې کوي. د NCD منطق یو شان پاتې دی - یوازې د وارداتو بیان بدلیږي. یوځل چې تاسو 3.14 ته لوړ کړئ، تاسو کولی شئ د دریمې ډلې انحصار په بشپړه توګه پریږدئ.

Zstandard NCD د TF-IDF په پرتله د کوزین ورته والی سره څنګه فعالیت کوي؟

د متوازن ډیټاسیټونو سره د څو اړخیزو موضوع ډلبندۍ کې، د TF-IDF او کوزین ورته والی په عموم ډول د Zstandard NCD د 62-68٪ په پرتله 75-82٪ دقت ترلاسه کوي. په هرصورت، TF-IDF یو مناسب ویکتوریزر، یو تعریف شوي لغت، او د ژبې ځانګړي ټکي لیست ته اړتیا لري. Zstandard NCD له دې مخکې پروسس کولو ته اړتیا نلري، د بکس څخه بهر په ژبو کې کار کوي، او د لغتونو اندازې په پام کې نیولو پرته په دوامداره وخت کې نوي اسناد طبقه بندي کوي. د چټک پروټوټایپ یا څو ژبو چاپیریالونو لپاره، NCD اکثرا د کاري سیسټم لپاره ګړندۍ لاره ده.

که تاسو د خپل ډیجیټل سوداګرۍ لپاره د اتوماتیک مینځپانګې پایپ لاینونه رامینځته کوئ ، د پیرودونکو پیغامونو ته لاره هواروئ ، یا د خپل ډیجیټل سوداګرۍ لپاره د پروټوټایپ طبقه بندي منطق ، د Python 3.14 جوړ شوی Zstandard ملاتړ د کمپریشن پراساس NCD د هرکله څخه ډیر د لاسرسي وړ کوي. که تاسو د خپل سوداګرۍ مینځپانګې ، محصولاتو ، کورسونو او پیرودونکو متقابل عمل اداره کولو لپاره د یو ټول دننه پلیټ فارم په لټه کې یاست ، نن د Mewayz سره جوړونه پیل کړئ او دا تخنیکونه ستاسو په ټول عملیاتو کې کار کولو لپاره واچوئ.