RepoSim
1.0.0
事前に訓練された言語モデルを使用して、意味的に類似したPythonリポジトリを検出するアプローチ。
このリポジトリには、事前に訓練された言語モデルを使用して、意味的に類似したPythonリポジトリを検出するためのアプローチのために実施されたノートブックとスクリプトが含まれています。
現在、当社の最高のパフォーマンスモデルは、Advtestデータセットを使用したコード検索タスクで微調整されたUnixCoderです。リポジトリの類似性比較に関するさまざまな言語モデルの評価については、このjupyterノートブック:ノートブック/biencoder/embeddings_evaluation.ipynbを参照してください
アプローチの実装とアプリケーションの詳細については、Scriptsフォルダーにご覧いただけます。
Reposnipyは、 Reposimを搭載したGithubで同様のPythonリポジトリを開示するためのニューラル検索エンジンです。お気軽にお試しください!
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.txtMITライセンスの下で配布されます。詳細については、 LICENSE参照してください。