Agrégateur de nouvelles de deux semaines

Le 18 novembre, Telegram a lancé un concours de regroupement de données: Data Clustering Contest . Il a fallu en deux semaines pour faire votre agrégateur d'actualités. Les restrictions qui ont été fixées dans cette compétition ont effrayé un tas de gens, mais pas moi et mes collÚgues. Je vais vous dire comment nous sommes allés, quelles élections nous avons faites et quelles difficultés nous avons rencontrées. La solution que nous avons envoyée au concours a traité 1000 documents en 3,5 secondes, a pris 150 Mo, a pris la 6e place lors d'un vote public et la 3e place dans les résultats finaux. Nous avons fait beaucoup d'erreurs, à cause desquelles nous n'avons pas pris une place plus élevée, la plupart d'entre elles sont maintenant corrigées. Tout le code et tous les modÚles se trouvent dans le référentiel . Tous les scripts des modÚles de formation ont été transférés vers Colab.


Top du vote du public
Top du vote du public


TĂąche


.


5 :


  • ,
  • 7
  • , ,



, . , : //, . , 5 : , , . .


. , , . , “” , , , . , .


:


  • : 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 — , , .


Classificateurs


2 : . , . ( ) . , , , , . , . , — ( hard-negative ). ( ) . triplet loss. Keras’, Torch’. .


ModĂšle d'apprentissage des vecteurs


, , , . , , BERT. , . unsupervised ELMo. , ELMo .


SLINK: O(n^2) . , — : , , , .


Clustering agglomératif
. .


O(n^2) — . , : . , 10000 2000 . , . , .


3 : , , . — , . 99 . , . PageRank , .


3 : , , .



  1. .
  2. “” , - “”.
  3. , - , .
  4. , - .
  5. , - , .
  6. , - .
  7. std::sort std::stable_sort, - .
  8. , - .
  9. , - .


, . .


?


-, rss- . Telegram — , Instant View, . . .


-, . -: , , , . .


, , README .


Vous pouvez voir la version actuelle ici , la version du concours ici .

Source: https://habr.com/ru/post/undefined/


All Articles