Agregador de noticias de dos semanas.

El 18 de noviembre, Telegram lanzó un concurso de agrupación de datos: Concurso de agrupación de datos . Fue necesario en dos semanas hacer su agregador de noticias. Las restricciones que se establecieron en esta competencia asustaron a un montón de personas, pero no a mí ni a mis colegas. Te diré cómo fuimos, qué elecciones hicimos y qué dificultades encontramos. La solución que enviamos a la competencia procesó 1000 documentos en 3.5 segundos, tomó 150 MB, obtuvo el sexto lugar en una votación pública y el tercer lugar en los resultados finales. Cometimos muchos errores, por lo que no ocupamos un lugar más alto, la mayoría de ellos ahora están arreglados. Todo el código y todos los modelos se pueden encontrar en el repositorio . Todos los guiones para modelos de entrenamiento transferidos a Colab.


Parte superior del voto público
Parte superior del voto público


Tarea


.


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


Clasificadores


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


Modelo para aprender vectores


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


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


Agrupamiento Aglomerativo
. .


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 .


Puedes ver la versión actual aquí , la versión del concurso aquí .

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


All Articles