Knowledge Distillation-Based Multilingual Code Retrieval
Abstract
:1. Introduction
- We propose a code search model that efficiently and accurately addresses multi-programming language fusion. A single model can solve the problem of searching for multiple programming languages.
- Compared to multiple models, our model has fewer parameters. Also, the data set requirements are lower because the data sets are complementary between different languages.
- The ability to uncover connections between different programming languages makes the model highly extensible, and this provides some support for languages with relatively small corpora.
2. Multi-Programming Language Code Search
2.1. Overview
2.2. Teacher Model
2.3. Student Model
Algorithm 1. Knowledge distillation in multiple code languages |
|
1: Randomly initialized Student Model parameters , current step count set to , cumulative gradient , For each Teacher Model, mark |
2: while do |
3: |
4: |
5: for do |
6: Randomly select a batch of data from the training set |
7: if then |
8: Calculating gradient on loss function, |
9: else |
10: Calculating gradient on loss function, |
11: end if |
12: end for |
13: Update model parameter: |
14: if then |
15: for do |
16: if then |
17: |
18: else |
19: |
20: end if |
21: end for |
22: end if |
23: end while |
3. Experiments
3.1. Data Preparation
3.2. Vocabulary
3.3. Evaluation
3.4. Experiment Setup
3.4.1. Data Pre-Processing
3.4.2. Teacher Model Training
3.4.3. Student Model Training
3.4.4. Eevaluation Setting
3.4.5. Lambda Parameter Exploration
3.4.6. Experiment Equipment
4. Experiment Results
5. Conclusions
- In this paper, only the simplest features of the code are obtained, which treats it as a new natural language, other features such as API sequences, information from AST trees were not used in this paper, further research on these features could better improve the accuracy.
- As mentioned before, a high-quality training set can also greatly improve the practical meaning of the conclusions.
- Translation between different programming languages is also a very interesting research direction.
- Multi-natural language to multi-programming language is also a valuable research direction, but it will require a more comprehensive dataset as support.
Author Contributions
Funding
Institutional Review Board Statement
Informed Consent Statement
Data Availability Statement
Conflicts of Interest
References
- Luan, S.; Yang, D.; Barnaby, C.; Sen, K.; Chandra, S. Aroma: Code recommendation via structural code search. Proc. ACM Program. Lang. 2019, 3, 1–28. [Google Scholar] [CrossRef] [Green Version]
- Lv, F.; Zhang, H.; Lou, J.g.; Wang, S.; Zhang, D.; Zhao, J. Codehow: Effective code search based on api understanding and extended boolean model (e). In Proceedings of the 2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE), Lincoln, NE, USA, 9–13 November 2015; pp. 260–270. [Google Scholar]
- Husain, H.; Wu, H.H.; Gazit, T.; Allamanis, M.; Brockschmidt, M. Codesearchnet challenge: Evaluating the state of semantic code search. arXiv 2019, arXiv:1909.09436. [Google Scholar]
- Gu, X.; Zhang, H.; Kim, S. Deep code search. In Proceedings of the 2018 IEEE/ACM 40th International Conference on Software Engineering (ICSE), Gothenburg, Sweden, 27 May–3 June 2018; pp. 933–944. [Google Scholar]
- Haldar, R.; Wu, L.; Xiong, J.; Hockenmaier, J. A multi-perspective architecture for semantic code search. arXiv 2020, arXiv:2005.06980. [Google Scholar]
- Sachdev, S.; Li, H.; Luan, S.; Kim, S.; Sen, K.; Chandra, S. Retrieval on source code: A neural code search. In Proceedings of the 2nd ACM SIGPLAN International Workshop on Machine Learning and Programming Languages, Philadelphia, PA, USA, 18 June 2018; pp. 31–41. [Google Scholar]
- Cambronero, J.; Li, H.; Kim, S.; Sen, K.; Chandra, S. When deep learning met code search. In Proceedings of the 2019 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering, Tallinn, Estonia, 26–30 August 2019; pp. 964–974. [Google Scholar]
- Yin, P.; Neubig, G. A syntactic neural model for general-purpose code generation. arXiv 2017, arXiv:1704.01696. [Google Scholar]
- Feng, Z.; Guo, D.; Tang, D.; Duan, N.; Feng, X.; Gong, M.; Shou, L.; Qin, B.; Liu, T.; Jiang, D.; et al. Codebert: A pre-trained model for programming and natural languages. arXiv 2020, arXiv:2002.08155. [Google Scholar]
- Kanade, A.; Maniatis, P.; Balakrishnan, G.; Shi, K. Learning and evaluating contextual embedding of source code. In Proceedings of the International Conference on Machine Learning, PMLR, Virtual Event, 13–18 July 2020; pp. 5110–5121. [Google Scholar]
- Mayer, P.; Bauer, A. An empirical analysis of the utilization of multiple programming languages in open source projects. In Proceedings of the 19th International Conference on Evaluation and Assessment in Software Engineering, Nanjing, China, 27–29 April 2015; pp. 1–10. [Google Scholar]
- Mayer, P.; Kirsch, M.; Le, M.A. On multi-language software development, cross-language links and accompanying tools: A survey of professional software developers. J. Softw. Eng. Res. Dev. 2017, 5, 1–33. [Google Scholar] [CrossRef]
- Hinton, G.; Vinyals, O.; Dean, J. Distilling the knowledge in a neural network. arXiv 2015, arXiv:1503.02531. [Google Scholar]
- Johnson, M.; Schuster, M.; Le, Q.V.; Krikun, M.; Wu, Y.; Chen, Z.; Thorat, N.; Viégas, F.; Wattenberg, M.; Corrado, G.; et al. Google’s multilingual neural machine translation system: Enabling zero-shot translation. Trans. Assoc. Comput. Linguist. 2017, 5, 339–351. [Google Scholar] [CrossRef] [Green Version]
- Firat, O.; Cho, K.; Bengio, Y. Multi-way, multilingual neural machine translation with a shared attention mechanism. arXiv 2016, arXiv:1601.01073. [Google Scholar]
- Ha, T.L.; Niehues, J.; Waibel, A. Toward multilingual neural machine translation with universal encoder and decoder. arXiv 2016, arXiv:1611.04798. [Google Scholar]
- Lu, Y.; Keung, P.; Ladhak, F.; Bhardwaj, V.; Zhang, S.; Sun, J. A neural interlingua for multilingual machine translation. arXiv 2018, arXiv:1804.08198. [Google Scholar]
- Tan, X.; Ren, Y.; He, D.; Qin, T.; Zhao, Z.; Liu, T.Y. Multilingual neural machine translation with knowledge distillation. arXiv 2019, arXiv:1902.10461. [Google Scholar]
- Xu, R.; Xiong, C.; Chen, W.; Corso, J. Jointly modeling deep video and compositional text to bridge vision and language in a unified framework. In Proceedings of the AAAI Conference on Artificial Intelligence, Austin, TX, USA, 25–30 January 2015; Volume 29. [Google Scholar]
- Karpathy, A.; Fei-Fei, L. Deep visual-semantic alignments for generating image descriptions. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, Boston, MA, USA, 7–12 June 2015; pp. 3128–3137. [Google Scholar]
- Wan, Y.; Shu, J.; Sui, Y.; Xu, G.; Zhao, Z.; Wu, J.; Yu, P.S. Multi-modal attention network learning for semantic source code retrieval. arXiv 2019, arXiv:1909.13516. [Google Scholar]
- Zeng, C.; Yu, Y.; Li, S.; Xia, X.; Wang, Z.; Geng, M.; Xiao, B.; Dong, W.; Liao, X. deGraphCS: Embedding Variable-based Flow Graph for Neural Code Search. arXiv 2021, arXiv:2103.13020. [Google Scholar]
- Gu, J.; Chen, Z.; Monperrus, M. Multimodal Representation for Neural Code Search. In Proceedings of the 2021 IEEE International Conference on Software Maintenance and Evolution (ICSME), Luxembourg, 27 September–1 October 2021; pp. 483–494. [Google Scholar]
- Sennrich, R.; Haddow, B.; Birch, A. Neural machine translation of rare words with subword units. arXiv 2015, arXiv:1508.07909. [Google Scholar]
Number of Functions | |
---|---|
Java | 542,991 |
Go | 347,789 |
PHP | 717,313 |
Python | 503,502 |
JavaScript | 157,988 |
Ruby | 57,393 |
Total | 2,326,976 |
CODE ENCODE | QUERY ENCODE | Model | Go | Java | Javascript | Php | Python | Ruby |
---|---|---|---|---|---|---|---|---|
SELF-ATT | SELF-ATT | GO | 0.7756 | 0.5400 | 0.4591 | 0.4552 | 0.5649 | 0.4760 |
Java | 0.6485 | 0.6632 | 0.4806 | 0.5390 | 0.6047 | 0.5157 | ||
Javascript | 0.5688 | 0.5187 | 0.5304 | 0.4494 | 0.5719 | 0.4816 | ||
Php | 0.6432 | 0.6005 | 0.5068 | 0.6424 | 0.6915 | 0.5572 | ||
Python | 0.6397 | 0.5691 | 0.4968 | 0.5602 | 0.7613 | 0.5791 | ||
Ruby | 0.4849 | 0.4319 | 0.3494 | 0.3673 | 0.5167 | 0.4773 | ||
ALL | 0.7356 | 0.6350 | 0.5240 | 0.6191 | 0.7177 | 0.5717 | ||
MPLCS | 0.7472 | 0.6404 | 0.5492 | 0.6079 | 0.7289 | 0.5977 | ||
CNN | CNN | GO | 0.7780 | 0.5593 | 0.4767 | 0.4872 | 0.6002 | 0.4943 |
Java | 0.6691 | 0.6776 | 0.5106 | 0.5644 | 0.6446 | 0.5381 | ||
Javascript | 0.6038 | 0.5510 | 0.5546 | 0.4822 | 0.6148 | 0.5122 | ||
Php | 0.6718 | 0.6181 | 0.5257 | 0.6539 | 0.7152 | 0.5707 | ||
Python | 0.6783 | 0.5994 | 0.5140 | 0.5658 | 0.7748 | 0.5918 | ||
Ruby | 0.5628 | 0.4738 | 0.3937 | 0.4208 | 0.5802 | 0.5239 | ||
ALL | 0.7405 | 0.6458 | 0.5363 | 0.6268 | 0.7301 | 0.5805 | ||
MPLCS | 0.7451 | 0.6531 | 0.5656 | 0.6217 | 0.7457 | 0.6111 | ||
NBOW | NBOW | GO | 0.6777 | 0.5181 | 0.4256 | 0.4081 | 0.5280 | 0.4420 |
Java | 0.5408 | 0.5981 | 0.4354 | 0.4456 | 0.5414 | 0.4590 | ||
Javascript | 0.5312 | 0.4844 | 0.4799 | 0.4118 | 0.5031 | 0.4087 | ||
Php | 0.5645 | 0.5359 | 0.4442 | 0.5569 | 0.5720 | 0.4727 | ||
Python | 0.5746 | 0.5212 | 0.4334 | 0.4499 | 0.6560 | 0.4987 | ||
Ruby | 0.4645 | 0.4248 | 0.3465 | 0.3465 | 0.4977 | 0.4539 | ||
ALL | 0.6466 | 0.5660 | 0.4602 | 0.5251 | 0.6117 | 0.4911 | ||
MPLCS | 0.6710 | 0.5882 | 0.5024 | 0.5283 | 0.6389 | 0.5369 | ||
SELF-ATT | NBOW | GO | 0.7599 | 0.5315 | 0.4594 | 0.4379 | 0.5549 | 0.4647 |
Java | 0.6392 | 0.6571 | 0.4849 | 0.5423 | 0.6021 | 0.5110 | ||
Javascript | 0.5754 | 0.5136 | 0.5354 | 0.4740 | 0.5600 | 0.4687 | ||
Php | 0.6391 | 0.5899 | 0.4956 | 0.6424 | 0.6678 | 0.5436 | ||
Python | 0.6340 | 0.5646 | 0.4944 | 0.5473 | 0.7563 | 0.5646 | ||
Ruby | 0.4840 | 0.4202 | 0.3476 | 0.3446 | 0.5072 | 0.4704 | ||
ALL | 0.7266 | 0.6291 | 0.5271 | 0.6175 | 0.7127 | 0.5661 | ||
MPLCS | 0.7403 | 0.6429 | 0.5604 | 0.6148 | 0.7356 | 0.6022 |
SuccessRate@k | CODE ENCODE | QUERY ENCODE | Model | Go | Java | Javascript | Php | Python | Ruby |
---|---|---|---|---|---|---|---|---|---|
SuccessRate@1 | SELF-ATT | SELF-ATT | Go | 0.7233 | 0.4535 | 0.3750 | 0.3615 | 0.4645 | 0.3740 |
Java | 0.5629 | 0.5859 | 0.3980 | 0.4496 | 0.5064 | 0.4150 | |||
Javascript | 0.4828 | 0.4329 | 0.4400 | 0.3614 | 0.4715 | 0.3755 | |||
Php | 0.5630 | 0.5208 | 0.4260 | 0.5645 | 0.6017 | 0.4555 | |||
Python | 0.5594 | 0.4851 | 0.4158 | 0.4758 | 0.6781 | 0.4785 | |||
Ruby | 0.3886 | 0.3428 | 0.2648 | 0.2787 | 0.4156 | 0.3710 | |||
ALL | 0.6709 | 0.5542 | 0.4362 | 0.5362 | 0.6255 | 0.4700 | |||
MPLCS | 0.6800 | 0.5643 | 0.4670 | 0.5295 | 0.6434 | 0.5035 | |||
CNN | CNN | Go | 0.7238 | 0.4730 | 0.3891 | 0.3889 | 0.4965 | 0.3830 | |
Java | 0.5862 | 0.5998 | 0.4229 | 0.4757 | 0.5453 | 0.4365 | |||
Javascript | 0.5154 | 0.4616 | 0.4627 | 0.3925 | 0.5120 | 0.4045 | |||
Php | 0.5933 | 0.5389 | 0.4434 | 0.5743 | 0.6240 | 0.4650 | |||
Python | 0.6006 | 0.5144 | 0.4301 | 0.4782 | 0.6915 | 0.4890 | |||
Ruby | 0.4671 | 0.3840 | 0.3032 | 0.3293 | 0.4794 | 0.4210 | |||
ALL | 0.6758 | 0.5651 | 0.4461 | 0.5431 | 0.6376 | 0.4790 | |||
MPLCS | 0.6801 | 0.5685 | 0.4723 | 0.5331 | 0.6510 | 0.5075 | |||
NBOW | NBOW | Go | 0.5934 | 0.4268 | 0.3320 | 0.3156 | 0.4254 | 0.3385 | |
Java | 0.4399 | 0.5072 | 0.3412 | 0.3480 | 0.4392 | 0.3520 | |||
Javascript | 0.4359 | 0.3929 | 0.3825 | 0.3177 | 0.4018 | 0.3055 | |||
Php | 0.4694 | 0.4453 | 0.3528 | 0.4630 | 0.4686 | 0.3680 | |||
Python | 0.4796 | 0.4297 | 0.3397 | 0.3537 | 0.5537 | 0.3945 | |||
Ruby | 0.3673 | 0.3347 | 0.2592 | 0.2577 | 0.3955 | 0.3465 | |||
ALL | 0.5586 | 0.4728 | 0.3627 | 0.4286 | 0.5067 | 0.3825 | |||
MPLCS | 0.5849 | 0.4935 | 0.3973 | 0.4287 | 0.5312 | 0.4260 | |||
SELF-ATT | NBOW | Go | 0.7021 | 0.4425 | 0.3718 | 0.3429 | 0.4530 | 0.3620 | |
Java | 0.5532 | 0.5791 | 0.3992 | 0.4543 | 0.5011 | 0.4015 | |||
Javascript | 0.4866 | 0.4262 | 0.4445 | 0.3853 | 0.4566 | 0.3595 | |||
Php | 0.5588 | 0.5095 | 0.4128 | 0.5645 | 0.5745 | 0.4430 | |||
Python | 0.5529 | 0.4792 | 0.4103 | 0.4589 | 0.6713 | 0.4630 | |||
Ruby | 0.3879 | 0.3312 | 0.2630 | 0.2560 | 0.4072 | 0.3635 | |||
ALL | 0.6582 | 0.5473 | 0.4378 | 0.5331 | 0.6201 | 0.4625 | |||
MPLCS | 0.6735 | 0.5600 | 0.4703 | 0.5271 | 0.6415 | 0.4945 | |||
SuccessRate@5 | SELF-ATT | SELF-ATT | Go | 0.8302 | 0.6418 | 0.5535 | 0.5626 | 0.6850 | 0.5980 |
Java | 0.7491 | 0.7567 | 0.5762 | 0.6450 | 0.7215 | 0.6335 | |||
Javascript | 0.6710 | 0.6180 | 0.6370 | 0.5499 | 0.6898 | 0.6075 | |||
Php | 0.7388 | 0.6947 | 0.6015 | 0.7356 | 0.8002 | 0.6770 | |||
Python | 0.7373 | 0.6684 | 0.5870 | 0.6612 | 0.8639 | 0.7000 | |||
Ruby | 0.5925 | 0.5303 | 0.4407 | 0.4661 | 0.6343 | 0.6070 | |||
ALL | 0.8066 | 0.7327 | 0.6245 | 0.7179 | 0.8319 | 0.6855 | |||
MPLCS | 0.8171 | 0.7441 | 0.6617 | 0.7214 | 0.8524 | 0.7290 | |||
CNN | CNN | Go | 0.8354 | 0.6617 | 0.5778 | 0.6041 | 0.7253 | 0.6290 | |
Java | 0.7685 | 0.7715 | 0.6113 | 0.6696 | 0.7648 | 0.6600 | |||
Javascript | 0.7083 | 0.6562 | 0.6643 | 0.5854 | 0.7383 | 0.6380 | |||
Php | 0.7634 | 0.7115 | 0.6189 | 0.7493 | 0.8279 | 0.6925 | |||
Python | 0.7701 | 0.7015 | 0.6123 | 0.6709 | 0.8776 | 0.7175 | |||
Ruby | 0.6729 | 0.5771 | 0.4991 | 0.5229 | 0.6996 | 0.6490 | |||
ALL | 0.8119 | 0.7431 | 0.6411 | 0.7284 | 0.8455 | 0.7030 | |||
MPLCS | 0.8179 | 0.7558 | 0.6778 | 0.7306 | 0.8656 | 0.7450 | |||
NBOW | NBOW | Go | 0.7729 | 0.6247 | 0.5358 | 0.5136 | 0.6476 | 0.5650 | |
Java | 0.6561 | 0.7063 | 0.5423 | 0.5581 | 0.6604 | 0.5835 | |||
Javascript | 0.6399 | 0.5898 | 0.5920 | 0.5190 | 0.6190 | 0.5195 | |||
Php | 0.6744 | 0.6413 | 0.5502 | 0.6677 | 0.6954 | 0.5930 | |||
Python | 0.6833 | 0.6293 | 0.5350 | 0.5632 | 0.7815 | 0.6220 | |||
Ruby | 0.5723 | 0.5263 | 0.4403 | 0.4442 | 0.6150 | 0.5865 | |||
ALL | 0.7492 | 0.6773 | 0.5770 | 0.6401 | 0.7380 | 0.6200 | |||
MPLCS | 0.7713 | 0.7048 | 0.6287 | 0.6475 | 0.7731 | 0.6770 | |||
SELF-ATT | NBOW | Go | 0.8213 | 0.6353 | 0.5588 | 0.5489 | 0.6736 | 0.5850 | |
Java | 0.7391 | 0.7491 | 0.5810 | 0.6450 | 0.7203 | 0.6365 | |||
Javascript | 0.6774 | 0.6150 | 0.6402 | 0.5764 | 0.6821 | 0.5915 | |||
Php | 0.7329 | 0.6840 | 0.5893 | 0.7356 | 0.7801 | 0.6625 | |||
Python | 0.7282 | 0.6636 | 0.5912 | 0.6523 | 0.8620 | 0.6865 | |||
Ruby | 0.5912 | 0.5210 | 0.4362 | 0.4408 | 0.6221 | 0.5995 | |||
ALL | 0.8038 | 0.7269 | 0.6285 | 0.7186 | 0.8290 | 0.6905 | |||
MPLCS | 0.8163 | 0.7438 | 0.6667 | 0.7209 | 0.8537 | 0.7325 | |||
SuccessRate@10 | SELF-ATT | SELF-ATT | Go | 0.8581 | 0.6970 | 0.6100 | 0.6301 | 0.7476 | 0.664 |
Java | 0.7936 | 0.7998 | 0.6325 | 0.6995 | 0.7826 | 0.6945 | |||
Javascript | 0.7229 | 0.6749 | 0.6967 | 0.6129 | 0.7563 | 0.6755 | |||
Php | 0.7831 | 0.7405 | 0.6550 | 0.7759 | 0.8486 | 0.7355 | |||
Python | 0.7809 | 0.7215 | 0.6475 | 0.7154 | 0.9030 | 0.751 | |||
Ruby | 0.6611 | 0.5995 | 0.5125 | 0.5355 | 0.7058 | 0.6785 | |||
ALL | 0.8399 | 0.7777 | 0.6832 | 0.7636 | 0.8755 | 0.7455 | |||
MPLCS | 0.8494 | 0.7910 | 0.7287 | 0.7703 | 0.8969 | 0.7930 | |||
CNN | CNN | Go | 0.8622 | 0.7146 | 0.6318 | 0.6672 | 0.7891 | 0.6945 | |
Java | 0.8104 | 0.8131 | 0.6694 | 0.7236 | 0.8215 | 0.7260 | |||
Javascript | 0.7626 | 0.7114 | 0.7203 | 0.6492 | 0.7987 | 0.7020 | |||
Php | 0.8054 | 0.7581 | 0.6771 | 0.7890 | 0.8722 | 0.7620 | |||
Python | 0.8101 | 0.7507 | 0.6708 | 0.7234 | 0.9155 | 0.7710 | |||
Ruby | 0.7373 | 0.6406 | 0.5624 | 0.5895 | 0.7678 | 0.7240 | |||
ALL | 0.8447 | 0.7898 | 0.7008 | 0.7741 | 0.8906 | 0.7640 | |||
MPLCS | 0.8523 | 0.8067 | 0.7410 | 0.7803 | 0.9117 | 0.8040 | |||
NBOW | NBOW | Go | 0.8208 | 0.6841 | 0.6033 | 0.5832 | 0.7196 | 0.6280 | |
Java | 0.7253 | 0.7624 | 0.6077 | 0.6280 | 0.7320 | 0.6595 | |||
Javascript | 0.7025 | 0.6546 | 0.6593 | 0.5884 | 0.6902 | 0.5965 | |||
Php | 0.7349 | 0.7003 | 0.6165 | 0.7291 | 0.7622 | 0.6660 | |||
Python | 0.7449 | 0.6900 | 0.6068 | 0.6321 | 0.8422 | 0.6920 | |||
Ruby | 0.6448 | 0.5913 | 0.5105 | 0.5153 | 0.6894 | 0.6565 | |||
ALL | 0.8002 | 0.7361 | 0.6453 | 0.7034 | 0.8030 | 0.7045 | |||
MPLCS | 0.8217 | 0.7626 | 0.6975 | 0.7156 | 0.8397 | 0.7455 | |||
SELF-ATT | NBOW | Go | 0.8508 | 0.6919 | 0.6198 | 0.6176 | 0.7395 | 0.6670 | |
Java | 0.7896 | 0.7934 | 0.6372 | 0.7000 | 0.7831 | 0.7010 | |||
Javascript | 0.7328 | 0.6732 | 0.7017 | 0.6421 | 0.7465 | 0.6570 | |||
Php | 0.7789 | 0.7322 | 0.6457 | 0.7755 | 0.8319 | 0.7205 | |||
Python | 0.7779 | 0.7183 | 0.6488 | 0.7069 | 0.8994 | 0.7480 | |||
Ruby | 0.6594 | 0.5858 | 0.5063 | 0.5126 | 0.6946 | 0.6775 | |||
ALL | 0.8367 | 0.7745 | 0.6892 | 0.7637 | 0.8750 | 0.7465 | |||
MPLCS | 0.8482 | 0.7918 | 0.7312 | 0.7715 | 0.9011 | 0.7865 |
Lambda | Go | Java | Javascript | Php | Python | Ruby | Avg |
---|---|---|---|---|---|---|---|
0.0 | 0.7304 | 0.6365 | 0.5520 | 0.6041 | 0.7208 | 0.5925 | 0.6535 |
0.1 | 0.7386 | 0.6415 | 0.5567 | 0.6086 | 0.7274 | 0.5957 | 0.6591 |
0.2 | 0.7385 | 0.6444 | 0.5594 | 0.6084 | 0.7320 | 0.5980 | 0.6611 |
0.3 | 0.7345 | 0.6443 | 0.5602 | 0.6130 | 0.7362 | 0.6005 | 0.6628 |
0.4 | 0.7393 | 0.6460 | 0.5617 | 0.6138 | 0.7354 | 0.6033 | 0.6642 |
0.5 | 0.7394 | 0.6469 | 0.5602 | 0.6184 | 0.7400 | 0.6089 | 0.6668 |
0.6 | 0.7386 | 0.6471 | 0.5579 | 0.6165 | 0.7384 | 0.6024 | 0.6655 |
0.7 | 0.7470 | 0.6469 | 0.5563 | 0.6193 | 0.7364 | 0.6013 | 0.6669 |
0.8 | 0.7400 | 0.6473 | 0.5621 | 0.6191 | 0.7391 | 0.6059 | 0.6670 |
0.9 | 0.7421 | 0.6445 | 0.5533 | 0.6156 | 0.7357 | 0.6046 | 0.6642 |
1.0 | 0.7453 | 0.6456 | 0.5561 | 0.6155 | 0.7356 | 0.6042 | 0.6651 |
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations. |
© 2022 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).
Share and Cite
Li, W.; Xu, J.; Chen, Q. Knowledge Distillation-Based Multilingual Code Retrieval. Algorithms 2022, 15, 25. https://doi.org/10.3390/a15010025
Li W, Xu J, Chen Q. Knowledge Distillation-Based Multilingual Code Retrieval. Algorithms. 2022; 15(1):25. https://doi.org/10.3390/a15010025
Chicago/Turabian StyleLi, Wen, Junfei Xu, and Qi Chen. 2022. "Knowledge Distillation-Based Multilingual Code Retrieval" Algorithms 15, no. 1: 25. https://doi.org/10.3390/a15010025
APA StyleLi, W., Xu, J., & Chen, Q. (2022). Knowledge Distillation-Based Multilingual Code Retrieval. Algorithms, 15(1), 25. https://doi.org/10.3390/a15010025