🚀 MQDD - 多模态问题重复检测
本仓库发布了论文 MQDD – 软件工程领域多模态问题重复检测的预训练 中所使用的训练模型及其他支持材料。更多信息请查阅该论文。
论文中提及的 Stack Overflow 数据集(SOD)和 Stack Overflow 重复数据集(SODD)可从我们的 Stack Overflow 数据集仓库 获取。
若仅需获取预训练模型,请访问 UWB-AIR/MQDD-pretrained。
🚀 快速开始
本仓库围绕软件工程领域多模态问题重复检测展开,提供了相关的训练模型、数据集以及代码实现,方便研究者和开发者进行重复问题检测的研究和应用。
✨ 主要特性
- 发布了用于软件工程领域多模态问题重复检测的预训练模型。
- 提供了 Stack Overflow 数据集(SOD)和 Stack Overflow 重复数据集(SODD)。
- 发布了经过微调的 MQDD 模型用于重复检测任务。
💻 使用示例
基础用法
可以使用以下代码片段加载一个不带重复检测头的独立编码器。这样的模型可用于构建基于 Faiss 库的搜索系统。
from transformers import AutoTokenizer, AutoModel
tokenizer = AutoTokenizer.from_pretrained("UWB-AIR/MQDD-duplicates")
model = AutoModel.from_pretrained("UWB-AIR/MQDD-duplicates")
高级用法
可以从我们的 GoogleDrive 文件夹 获取完整双塔模型的检查点。要加载该模型,需要使用我们 GitHub 仓库 中 models/MQDD_model.py
的模型实现。使用以下代码来构建模型并加载其检查点:
from MQDD_model import ClsHeadModelMQDD
model = ClsHeadModelMQDD("UWB-AIR/MQDD-duplicates")
ckpt = torch.load("model.pt", map_location="cpu")
model.load_state_dict(ckpt["model_state"])
📄 许可证
本作品采用知识共享署名 - 非商业性使用 - 相同方式共享 4.0 国际许可协议进行许可。请访问 http://creativecommons.org/licenses/by-nc-sa/4.0/ 查看该许可协议的详细信息。
📚 详细文档
如何引用 MQDD?
目前,请引用 Arxiv 论文:
@misc{https://doi.org/10.48550/arxiv.2203.14093,
doi = {10.48550/ARXIV.2203.14093},
url = {https://arxiv.org/abs/2203.14093},
author = {Pašek, Jan and Sido, Jakub and Konopík, Miloslav and Pražák, Ondřej},
title = {MQDD -- Pre-training of Multimodal Question Duplicity Detection for Software Engineering Domain},
publisher = {arXiv},
year = {2022},
copyright = {Creative Commons Attribution Non Commercial Share Alike 4.0 International}
}
微调后的 MQDD 模型
我们发布了经过微调的 MQDD 模型用于重复检测任务。该模型的架构遵循双塔模型架构,如下图所示:
