GitHub ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠ» ΠΏΡΠΎΠ΅ΠΊΡ CodeSearchNet, Π² ΡΠ°ΠΌΠΊΠ°Ρ
ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½Ρ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ ΠΈ Π½Π°Π±ΠΎΡΡ Π΄Π°Π½Π½ΡΡ
, Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΠ΅ Π΄Π»Ρ ΡΠ°Π·Π±ΠΎΡΠ°, ΠΊΠ»Π°ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΠΈ Π°Π½Π°Π»ΠΈΠ·Π° ΠΊΠΎΠ΄Π° Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ
ΡΠ·ΡΠΊΠ°Ρ
ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ. CodeSearchNet, ΠΏΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ Ρ ImageNet, Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π±ΠΎΠ»ΡΡΡΡ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΡ ΠΎΡΡΡΠ²ΠΊΠΎΠ² ΠΊΠΎΠ΄Π°, ΡΠ½Π°Π±ΠΆΡΠ½Π½ΡΡ
Π°Π½Π½ΠΎΡΠ°ΡΠΈΡΠΌΠΈ, ΡΠΎΡΠΌΠ°Π»ΠΈΠ·ΡΡΡΠΈΠΌΠΈ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΠΊΠΎΠ΄ΠΎΠΌ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ. ΠΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π΄Π»Ρ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ ΠΈ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ CodeSearchNet Π½Π°ΠΏΠΈΡΠ°Π½Ρ Π½Π° ΡΠ·ΡΠΊΠ΅ Python Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ° Tensorflow ΠΈ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½ΡΠ΅ΡΡΡ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ MIT.
ΠΡΠΈ ΡΠΎΠ·Π΄Π°Π½ΠΈΠΈ CodeSearchNet ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Ρ ΡΠ΅Ρ
Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΡΠ°Π·Π±ΠΎΡΠ° ΡΠ΅ΠΊΡΡΠ° Π½Π° Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠΌ ΡΠ·ΡΠΊΠ΅, Π΄Π°ΡΡΠΈΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌ ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ ΡΡΠΈΡΡΠ²Π°ΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ, Π½ΠΎ ΠΈ ΡΠΌΡΡΠ» Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ
ΠΊΠΎΠ΄ΠΎΠΌ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ. Π GitHub ΡΠΈΡΡΠ΅ΠΌΠ° ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π² ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Ρ
ΠΏΠΎ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ΅ΠΌΠ°Π½ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΠΏΠΎΠΈΡΠΊΠ° ΠΊΠΎΠ΄Π° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π·Π°ΠΏΡΠΎΡΠΎΠ² Π½Π° Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠΌ ΡΠ·ΡΠΊΠ΅ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈ Π·Π°ΠΏΡΠΎΡΠ΅ «ΡΠΎΡΡΠΈΡΠΎΠ²ΠΊΠ° ΡΠΏΠΈΡΠΊΠ° ΡΡΡΠΎΠΊ» Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΠΊΠΎΠ΄ Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ
Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ²).
ΠΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΡΠΉ Π½Π°Π±ΠΎΡ Π΄Π°Π½Π½ΡΡ
Π²ΠΊΠ»ΡΡΠ°Π΅Ρ Π±ΠΎΠ»Π΅Π΅ 2 ΠΌΠ»Π½ ΡΠ²ΡΠ·ΠΎΠΊ «ΠΊΠΎΠ΄-ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ», ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½Π½ΡΡ
Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΈΡΡ
ΠΎΠ΄Π½ΡΡ
ΡΠ΅ΠΊΡΡΠΎΠ² ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΡ
ΠΎΡΠΊΡΡΡΡΡ
Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ. ΠΠΎΠ΄ ΠΎΡ
Π²Π°ΡΡΠ²Π°Π΅Ρ ΠΏΠΎΠ»Π½ΡΠΉ ΠΈΡΡ
ΠΎΠ΄Π½ΡΠΉ ΡΠ΅ΠΊΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ
ΡΡΠ½ΠΊΡΠΈΠΉ ΠΈΠ»ΠΈ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², Π° ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ (ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡΡ Π΄Π΅ΡΠ°Π»ΡΠ½Π°Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ). Π Π½Π°ΡΡΠΎΡΡΠ΅Π΅ Π²ΡΠ΅ΠΌΡ Π½Π°Π±ΠΎΡΡ Π΄Π°Π½Π½ΡΡ
ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½Ρ Π΄Π»Ρ ΡΠ·ΡΠΊΠΎΠ² Python, JavaScript, Ruby, Go, Java ΠΈ PHP. ΠΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Ρ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΡΡ
Π½Π°Π±ΠΎΡΠΎΠ² Π΄Π°Π½Π½ΡΡ
Π΄Π»Ρ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ
ΡΠΈΠΏΠΎΠ² Π½Π΅ΠΉΡΠΎΠ½Π½ΡΡ
ΡΠ΅ΡΠ΅ΠΉ, Π²ΠΊΠ»ΡΡΠ°Ρ Neural-Bag-Of-Words, RNN, Self-Attention (BERT) ΠΈ 1D-CNN+Self-Attention Hybrid.
ΠΠ»Ρ ΡΠ°Π·Π²ΠΈΡΠΈΡ ΠΌΠ΅Ρ
Π°Π½ΠΈΠ·ΠΌΠΎΠ² ΠΏΠΎΠΈΡΠΊΠ° Π½Π° Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠΌ ΡΠ·ΡΠΊΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½ Π½Π°Π±ΠΎΡ CodeSearchNet Challenge, Π²ΠΊΠ»ΡΡΠ°ΡΡΠΈΠΉ
99 ΡΠΈΠΏΠΎΠ²ΡΡ
Π·Π°ΠΏΡΠΎΡΠΎΠ² Ρ ΠΎΠΊΠΎΠ»ΠΎ 4 ΡΡΡΡΡΠ°ΠΌΠΈ ΡΠΊΡΠΏΠ΅ΡΡΠ½ΡΡ
Π°Π½Π½ΠΎΡΠ°ΡΠΈΠΉ, ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΠΈΡ
Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Π΅ΡΠΎΡΡΠ½ΡΠ΅ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΈ ΠΊ ΠΊΠΎΠ΄Ρ Π² Π½Π°Π±ΠΎΡΠ΅ Π΄Π°Π½Π½ΡΡ
CodeSearchNet Corpus, ΠΎΡ
Π²Π°ΡΡΠ²Π°ΡΡΠ΅ΠΌ ΠΎΠΊΠΎΠ»ΠΎ 6 ΠΌΠ»Π½ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΈ ΡΡΠ½ΠΊΡΠΈΠΉ (ΡΠ°Π·ΠΌΠ΅Ρ Π½Π°Π±ΠΎΡΠ° ΠΎΠΊΠΎΠ»ΠΎ 20 ΠΠ±). CodeSearchNet Challenge ΠΌΠΎΠΆΠ΅Ρ Π²ΡΡΡΡΠΏΠ°ΡΡ ΠΊΠ°ΠΊ ΡΡΠ°Π»ΠΎΠ½ Π΄Π»Ρ ΠΎΡΠ΅Π½ΠΊΠΈ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡΠΈ ΡΠ΅Ρ
ΠΈΠ»ΠΈ ΠΈΠ½ΡΡ
ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ² ΠΏΠΎΠΈΡΠΊΠ° ΠΊΠΎΠ΄Π° Π½Π° Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΠΎΠΌ ΡΠ·ΡΠΊΠ΅. Π‘ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°ΡΠΈΡ Kubeflow ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½
ΠΏΡΠΈΠΌΠ΅Ρ Π΄Π²ΠΈΠΆΠΊΠ° Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΠΊΠΎΠ΄Π°.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru