في 18 نوفمبر ، أطلقت Telegram مسابقة تجميع البيانات: مسابقة تجميع البيانات . كان من الضروري خلال أسبوعين أن تقوم بتجميع الأخبار. لقد أخفت القيود التي تم وضعها في هذه المسابقة مجموعة من الناس ، ولكن ليس أنا وزملائي. سأخبركم كيف ذهبنا ، وما هي الانتخابات التي أجريناها وما الصعوبات التي واجهناها. الحل الذي أرسلناه للمسابقة عالج 1000 مستند في 3.5 ثانية ، وحصل على 150 ميجا بايت ، وحصل على المركز السادس في تصويت عام والمركز الثالث في النتائج النهائية. لقد ارتكبنا العديد من الأخطاء ، والتي لم نحصل على مكان أعلى منها ، تم إصلاح معظمها الآن. يمكن العثور على جميع الرموز وجميع النماذج في المستودع . تم نقل جميع البرامج النصية لنماذج التدريب إلى Colab.
![أعلى التصويت العام](https://habrastorage.org/webt/ov/dk/3a/ovdk3aefo5ojv7o9gordwrrtnqs.jpeg)
أعلى التصويت العام
مهمة
الوصف الرسمي للمسابقة هنا .
هناك 5 مهام فرعية:
- تعريف لغة المقالة
- تحديد ما إذا كانت المقالة أخبار
- أخبار تعريف الفئة من قائمة من 7 فئات
- تجميع الأخبار واختيار مستند عنوان للمجموعة
- ترتيب الكتلة ، أي اختيار الموقع الذي سيتم وضع المجموعة فيه
![](https://habrastorage.org/webt/wg/2t/la/wg2tla70qeg3aiqan7ulvmko2h8.png)
المهام الفرعية للمنافسة بالترتيب
هذا ليس بعيدًا جدًا عن كيفية عمل مجمعي الأخبار الحقيقيين. من هذا ليس من الواضح كيف يعمل الحل النهائي في Telegram: مرة واحدة في الدقيقة / الساعة / اليوم ، سواء كان سيتم إعادة تشغيله في جميع المراحل في كل مرة. كما لم يكن واضحًا في شكل هذه المهام الفرعية الخمس التي سيتم إطلاقها: بشكل فردي ، وكلها معًا للغة واحدة ، وكلها معًا للغات مختلفة. لم يكن هناك شيء معروف عن التصويت العام خلال المسابقة نفسها.
. , , . , “” , , , . , .
:
- : 200 ( 1.5 )
- 1000
- 2
- Debian GNU/Linux 10.1,
, 1000 , . : 200 , ( word2vec, fasttext, GloVe, ) ULMFiT/ELMo/BERT. , . , 2 .
, , . .
. , Python ( ). . , , . , .
, Go, , , . C++, , . , . C++11, - .
C NLP, 2016 FastText’. , TF-IDF, , , , , . FastText — word2vec n-, . ELMo 197 , BERT — 632 , ( ). , FastText C++ .
- . , ( , !). OpenNMT, . , C++, Python, . .
, , DBSCAN, . DBSCAN MLPack, MLPack Debian’. . , , DBSCAN’ . MLPack .
- : TensorFlow, Torch, MXNet. “TensorFlow C++, ” — . -, , . -, 200 . Tensorflow Lite, . .
. , , . , Eigen, . Keras, , , Torch ( ). .
:
- : C++, FastText, OpenNMTTokenzer, Eigen
- : Python, FastText, OpenNMTTokenzer, Keras
..
FastText’ .
, , . , .
. . , , . 3 2/3, 5 4/5. , . . 60$ . , 327 1176 , . 3-4 .
, . , BBC News categories. .
, FastText . : ; BBC, All the news, News categories . , .
supervised FastText’ ( autotune). Supervised — , , .
![المصنفات](https://habrastorage.org/webt/ch/u_/7e/chu_7esohs7-13wr2nsquyjgs5c.png)
2 : . , . ( ) . , , , , . , . , — ( hard-negative ). ( ) . triplet loss. Keras’, Torch’. .
![نموذج موجهات التعلم](https://habrastorage.org/webt/tq/ep/7q/tqep7qn2gtnfxewreznpfb737qc.png)
, , , . , , BERT. , . unsupervised ELMo. , ELMo .
SLINK: O(n^2) . , — : , , , .
![التكتل التكتل](https://habrastorage.org/webt/ob/zq/bz/obzqbzpxtflh6jagj9rjipkq5a4.png)
. .
O(n^2) — . , : . , 10000 2000 . , . , .
3 : , , . — , . 99 . , . PageRank , .
3 : , , .
- .
- “” , - “”.
- , - , .
- , - .
- , - , .
- , - .
- std::sort std::stable_sort, - .
- , - .
- , - .
, . .
?
-, rss- . Telegram — , Instant View, . . .
-, . -: , , , . .
, , README .
يمكنك رؤية الإصدار الحالي هنا ، الإصدار من المسابقة هنا .