Uma abordagem para detectar repositórios Python semanticamente semelhantes usando modelos de linguagem pré-treinados.
Este repositório contém os notebooks e scripts conduzidos para nossa abordagem para detectar repositórios Python semanticamente semelhantes usando modelos de linguagem pré-treinados.
Atualmente, nosso modelo de melhor desempenho é o UNIXCoder ajustado na tarefa de pesquisa de código com o AdvTest DataSet. Para avaliações de diferentes modelos de idiomas na comparação de similaridade do repositório, consulte este notebook Jupyter: Notebooks/Biencoder/incorpeddings_evaluation.ipynb
Mais detalhes sobre as implementações e aplicativos de nossa abordagem podem ser encontrados na pasta Scripts.
A Reposnipy é um mecanismo de busca neural para descobrir repositórios python semelhantes no Github, alimentados por reposim . Por favor, sinta -se à vontade para tentar!
RepoSim
├── LICENSE
├── README.md
├── data
│ ├── df2txt.py # Convert PoolC dataset for clone detection fine-tuning script
│ ├── repo_topic.json # Topic-Repos mapping
│ └── repo_topic.py # Script to select repos from topics
├── notebooks
│ ├── BiEncoder
│ │ ├── Embeddings_evaluation.ipynb # Evaluations for comparing different language models
│ │ ├── RepoSim.ipynb # Our approach's implementation
│ │ └── UnixCoder_C4_Evaluation.ipynb
│ └── CrossEncoder
│ ├── Clone_Detection_C4_Evaluation.ipynb
│ ├── HungarianAlgorithm.ipynb # Cross-encoder approaches for repo similarity comparison
│ └── keonalgorithms-TheAlgorithmsPython.csv # Evaluation results by ungarianAlgorithm.ipynb
└── scripts
├── LICENSE
├── PlayGround.ipynb # For experimenting with repo embeddings
├── README.md
├── pipeline.py # Our approach's implementation as a HuggingFace pipeline
├── repo_sim.py
└── requirements.txt Distribuído sob a licença do MIT. Consulte LICENSE para obter mais informações.