项目介绍:distilbart-mnli-github-issues
项目概述
distilbart-mnli-github-issues是一个用于文本分类的项目,主要应用于对GitHub问题进行分类。该项目的核心目标是自动识别一个陈述或报告是否为新功能请求、问题/错误或问题咨询。这个项目利用了NLP(自然语言处理)领域中的零样本分类技术。
使用方法
项目使用“零样本分类”方法,通过BART-large-mnli作为教师模型,对GitHub问题数据集进行训练。模型可以对问题进行分类,标签包括:
- 问题(issue)
- 功能请求(feature request)
- 问题咨询(question)
训练数据
模型的训练数据包括15000个标记为GitHub问题的标题。使用的假设是“这个请求是{}”。教师模型使用的是valhalla/distilbart-mnli-12-1,学生模型使用的是distilbert-base-uncased。训练结果显示出教师和学生模型预测的一致性为94.82%。
结果展示
该项目通过具体的例子展示了其有效性,比如:
- 示例1:注册表单无法使用(被分类为问题)
- 示例2:支持JSON和YAML(被分类为功能请求)
- 示例3:全屏和选项卡媒体键未按预期工作(被分类为问题)
自定义训练指南
如果用户想要使用自己的数据集进行训练,可以按照以下步骤进行:
- 从GitHub Bugs Prediction 数据集下载训练数据。
- 修改并运行convert.py以更新路径并转换为CSV格式。
- 使用CSV文件运行distill.py(详细信息请参见这里)。
致谢
项目感谢Joe Davison撰写的关于现代NLP中零样本学习的文章,以及Jeremy Howard(fast.ai)所贡献的有关“像大师一样迭代”的笔记本教程。通过这些优秀的资源和工具,项目得以实现对GitHub问题的自动分类,提高了用户在问题管理中的效率。
许可证和标签
该项目使用Apache-2.0许可证,属于text-classification管道。项目标签包括customer-service-tickets、github-issues、bart-large-mnli、zero-shot-classification以及NLP等。