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) ئىككى تېكىستنىڭ پىرىسلانغان چوڭلۇقى. 0 گە يېقىن NCD قىممىتى تېكىستلەرنىڭ ئوخشىشىپ كېتىدىغانلىقىدىن دېرەك بېرىدۇ ، 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:

غا قارىغاندا بىر قانچە ئەۋزەللىك بىلەن تەمىنلەيدۇ
  • سۈرئەت: Zstandard سېلىشتۇرما نىسبىتىدە gzip دىن 3-5x تېز سۈرئەتتە پىرىسلايدۇ ، تۈركۈملەپ تۈرگە ئايرىش نەچچە مىڭ ھۆججەتنى نەچچە سېكۇنتتا ھاياتى كۈچكە ئىگە قىلىدۇ.
  • تەڭشىگىلى بولىدىغان پىرىسلاش دەرىجىسى: 1-دەرىجىدىن 22-دەرىجىگىچە بولغان ئارىلىقتا سودا سۈرئىتىنى تېزلىتىدۇ ، بۇ ئارقىلىق NCD ئېنىقلىق دەرىجىسىنى كىرگۈزۈش تەلىپىگە ئاساسەن تەڭشىيەلەيسىز.
  • لۇغەتنى قوللاش: ئالدىن تەربىيەلەنگەن Zstandard لۇغىتى كىچىك تېكىستلەرنىڭ (4KB دىن تۆۋەن) پىرىسلاشنى زور دەرىجىدە ياخشىلايدۇ ، بۇ دەل NCD توغرىلىقى ئەڭ مۇھىم بولغان ھۆججەت چوڭلۇقى دائىرىسى.
  • ئېقىن API: مودۇل تەدرىجىي پىرىسلاشنى قوللايدۇ ، پۈتۈن گەۋدىلەرنى ئىچكى ساقلىغۇچقا يۈكلىمەي تېكىستلەرنى بىر تەرەپ قىلىدىغان تۈرگە ئايرىش تۇرۇبىسىنى قوزغىتىدۇ.
  • ئۆلچەملىك كۈتۈپخانىنىڭ مۇقىملىقى: نەشىر توقۇنۇشى يوق ، تەمىنلەش زەنجىرى خەۋىپى يوق - پىرىسلاش ئىمپورت 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 خەۋەرلەر سانلىق مەلۇمات ئامبىرى (تۆت دەرىجىلىك خەۋەرلەرنى تۈرگە ئايرىش) غا قارشى ئۆلچەمدە ، Zstandard نى پىرىسلاش 3-دەرىجىسىدە ئىشلىتىش ئۇسۇلى تەخمىنەن% 62-65 لىك توغرىلىقنى ئەمەلگە ئاشۇرىدۇ - ھېچقانداق مەشىق باسقۇچى ، مودېل چۈشۈرۈش ۋە يەككە CPU يادروسىدا سېكۇنتتا تەخمىنەن 8000 ھۆججەتنىڭ تۈرگە ئايرىش سۈرئىتى. پىرىسلاش سەۋىيىسىنى 10 گە يەتكۈزۈش سېكۇنتىغا 2500 ھۆججەتكە يەتكۈزۈشنى ئازايتىش بەدىلىگە توغرىلىق نىسبىتىنى% 68 ئەتراپىدا ئىتتىرىدۇ. بۇ سانلار ئىنچىكە تەڭشەلگەن تىرانسفورموتورغا ماس كەلمەيدۇ ، ئەمما ئۇلار ئەسلى تىپ يېزىش ، سانلىق مەلۇمات بەلگە سىزىقى ياكى ML غا تايىنىش ئورنىتىش ماس كەلمەيدىغان مۇھىتنى كۈچلۈك ئاساس بىلەن تەمىنلەيدۇ.

NCD ئەنئەنىۋى ML تۈرگە ئايرىش بىلەن قانداق سېلىشتۇرما؟

سەمىمىي جاۋاب شۇكى ، NCD يۇقىرى سوممىلىق ئىشلەپچىقىرىش سىستېمىسىدىكى تىرانسفورموتورنى ئاساس قىلغان تۈرگە ئايرىشنىڭ ئورنى ئەمەس. BERT ياكى GPT نى ئاساس قىلغان تۈرگە ئايرىش تىپىدىكى مودېللار ئۆلچەملىك ئۆلچەمدە% 94 + توغرىلىق دەرىجىسىگە يېتىدۇ. قانداقلا بولمىسۇن ، Zstandard بىلەن NCD ئۆزگىچە بىر ئورۇننى ئىگىلىدى. ئۇ سوغۇق باشلاش سىنارىيىلىرىدىن ئۈستۈن تۇرىدۇ ، بۇ يەردە سىز ھەر بىر سىنىپتا 50 دىن ئاز بەلگە قويۇلغان مىسال بار - ھەتتا ئىنچىكە تەڭشەلگەن مودېللارمۇ تىركىشىدىغان ئەھۋال. ئۇ نۆل مەشىق ۋاقتىنى تەلەپ قىلىدۇ ، ھەر قانداق تىل ياكى كودلاشنى ئۆزگەرتمەيلا بىر تەرەپ قىلىدۇ ھەمدە دائىملىق ئىچكى ساقلىغۇچ بىلەن CPU دا ئىجرا بولىدۇ.

زور مىقداردىكى كەلگەن مەزمۇنلارنى باشقۇرىدىغان كارخانىلارغا نىسبەتەن - قوللاش بېلىتى ، ئىجتىمائىي ئالاقە تورى تىلغا ئېلىنىدۇ ، مەھسۇلات ئوبزورى - Zstandard NCD تۈرگە ئايرىش ماشىنىسى قىممەت باھالىق مودېللار نەتىجىنى مۇكەممەللەشتۈرۈشتىن بۇرۇن ھۆججەتلەرنى دەل ۋاقتىدا تۈرگە ئايرىيدىغان بىرىنچى يول يېتەكچىسى بولالايدۇ. بۇ ئىككى باسقۇچلۇق تۇرۇبا لىنىيىسى ئومۇمىي توغرىلىقنى ساقلاپ قېلىش بىلەن يەكۈن چىقىرىش تەننەرخىنى كۆرۈنەرلىك تۆۋەنلىتىدۇ. ئابونتلار ئىشلەپچىقارغان مەزمۇنلارنى بىر تەرەپ قىلىدىغان سۇپىلار ، مەسىلەن Mewayz نىڭ 137،000 دىن ئارتۇق ئىگىلىك تىكلىگۈچى ئىشلەتكەن 207 مودۇللۇق سودا مەشغۇلات سىستېمىسى ، يېنىك دەرىجىدىكى تۈرگە ئايرىپ يول ئۇچۇرى ، خەتكۈچ مەزمۇنى ۋە ئابونتلارنىڭ تەجرىبىسىنى ئېغىر ئۇل ئەسلىھەسىز خاسلاشتۇرىدۇ.

چەكلىمىلەر ۋە ئەڭ ياخشى ئادەتلەر نېمە؟

پىرىسلاشنى ئاساس قىلغان تۈرگە ئايرىشتا سىز ھېسابلاشقا تېگىشلىك چەكلىمىلەر بار. قىسقا تېكىستلەر (100 بايتتىن تۆۋەن) ئىشەنچسىز NCD نومۇرى ھاسىل قىلىدۇ ، چۈنكى پىرىسلاشتا ئەھمىيەتلىك ئەندىزە بەرپا قىلىشقا يېتەرلىك سانلىق مەلۇمات يوق. بۇ تېخنىكا پايدىلىنىش تېكىستلىرىنى تاللاشقا سەزگۈر - ياخشى تاللانغان ۋەكىللەر توغرىلىق دەرىجىسىنى زور دەرىجىدە تۆۋەنلىتىدۇ. ھەمدە NCD ئېھتىماللىق مودېلى بولماستىن ، بەلكى يىراق مۇساپىلىك ئۆلچەم بولغاچقا ، تەبىئىيلا ئىشەنچ نومۇرى ھاسىل قىلمايدۇ.

بۇ خىل ئۇسۇلدىن ئەڭ كۆپ پايدىغا ئېرىشىش ئۈچۈن: ھەر بىر تۈردە كەم دېگەندە 500 بايىتلىق پايدىلىنىش تېكىستلىرىنى ئىشلىتىڭ ، ھەر بىر سىنىپتا بىر نەچچە مىسالنى بىرلەشتۈرۈشنى سىناق قىلىڭ (2-3 ۋەكىللىك ھۆججەت بىرلەشتۈرۈلگەندىن كېيىن تېخىمۇ ياخشى پىرىسلاش لۇغىتى بېرىدۇ) ، پىرىسلاشتىن ئىلگىرى تېكىست قېپى ۋە ئاق بوشلۇقنى نورماللاشتۇرۇڭ ، Zstandard پىرىسلاش دەرىجىسىنىڭ 3 ، 6 ۋە 10 دەرىجىسىدىكى ئۆلچەملەرنى تېز سۈرئەتتە توغرىلاڭ. كىچىك تېكىستلەرنى تۈرگە ئايرىش ئۈچۈن ، تور دائىرىڭىزدە Zstandard لۇغىتىنى ئالدىن مەشىق قىلىڭ - بۇ يەككە قەدەم قىسقا ھۆججەتلەردە توغرىلىق نىسبىتىنى 8-12 پىرسەنت پوئىنت يۇقىرى كۆتۈرەلەيدۇ.

دائىم سورايدىغان سوئاللار

پىرىسلاشنى ئاساس قىلغان تۈرگە ئايرىش ھېسسىيات ئانالىزى ئۈچۈن ئىشلەمدۇ؟

قىلالايدۇ ، ئەمما ئۆڭكۈرلەر بىلەن. ھېسسىيات ئانالىزى قۇرۇلما جەھەتتىن ئوخشىشىپ كېتىدىغان تېكىستلەر ئىچىدىكى ئىنچىكە ئاھاڭ پەرقىنى بايقاشنى تەلەپ قىلىدۇ. NCD ئوخشىمىغان تۈردىكى ھۆججەتلەر ئوخشىمىغان سۆزلۈكلەرنى ئىشلىتىدىغان تېما تۈرگە ئايرىش ئۈچۈن تېخىمۇ ياخشى ئىشلەيدۇ. ھېسسىياتقا نىسبەتەن ، توغرىلىق ئادەتتە% 55-60 ئەتراپىدا بولىدۇ - ئىختىيارىدىن ياخشى ، ئەمما ئۆزى ئىشلەپچىقىرىشقا تەييار ئەمەس. NCD ئىقتىدارلىرىنى يېنىك لوگىكىلىق چېكىنىش ئەندىزىسى بىلەن بىرلەشتۈرگەندە نەتىجىنى كۆرۈنەرلىك ياخشىلايدۇ.

3.14 دىن بۇرۇن Python نەشرىدىكى compression.zstd مودۇلىنى ئىشلىتەمدىم؟

ياق. Python 3.14 دە compression.zstd مودۇلى يېڭى. ئىلگىرىكى نەشرىگە PyPI دىن python-zstandard بولىقىنى قاچىلاڭ ، بۇ ئوخشاش پىرىسلاش () ۋە decompress () ئىقتىدارىنى تەمىنلەيدۇ. NCD لوگىكىسى يەنىلا ئوخشاش بولۇپ ، پەقەت ئىمپورت باياناتى ئۆزگىرىدۇ. 3.14 گە كۆتۈرۈلگەندىن كېيىن ، ئۈچىنچى تەرەپنىڭ بېقىنىشچانلىقىنى پۈتۈنلەي تاشلىيالايسىز.

كوسېن ئوخشاشلىقى بىلەن TF-IDF غا سېلىشتۇرغاندا Zstandard NCD قانداق قىلىدۇ؟

تەڭپۇڭ سانلىق مەلۇمات جەدۋىلى بىلەن كۆپ قاتلاملىق تېما تۈرگە ئايرىشتا ، TF-IDF ۋە كوسېننىڭ ئوخشاشلىقى Zstandard NCD نىڭ% 62-68 گە سېلىشتۇرغاندا% 75-82 توغرىلىق دەرىجىسىگە يېتىدۇ. قانداقلا بولمىسۇن ، TF-IDF ماسلاشتۇرۇلغان ۋېكتورلاشتۇرغۇچ ، ئېنىق سۆزلۈك ۋە تىلغا خاس توختاش تىزىملىكىنى تەلەپ قىلىدۇ. Zstandard NCD بۇ ئالدىن پىششىقلاپ ئىشلەشنىڭ ھېچقايسىسىنى تەلەپ قىلمايدۇ ، تىل ھالقىسىدا ئىشلەيدۇ ۋە سۆزنىڭ چوڭ-كىچىكلىكىگە قارىماي يېڭى ھۆججەتلەرنى توختىماي تۈرگە ئايرىيدۇ. تېز سۈرئەتلىك تەقلىد قىلىش ياكى كۆپ تىللىق مۇھىتقا نىسبەتەن ، NCD ھەمىشە خىزمەت سىستېمىسىغا تېخىمۇ تېز يول.

مەيلى سىز ئاپتوماتىك مەزمۇن تۇرۇبا يولى ياساۋاتىسىز ، خېرىدارلارنىڭ ئۇچۇرلىرىنى يېتەكلەڭ ياكى رەقەملىك سودىڭىزنىڭ تەقلىدلەشتۈرۈلگەن لوگىكا لوگىكىسى بولسۇن ، Python 3.14 نىڭ ئىچىگە قاچىلانغان Zstandard نى قوللاش پىرىسلاشنى ئاساس قىلغان 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