使用chinese-roberta-wwm-ext模型处理意图识别问题

GitLab Repo
本文章所做项目为:阿里云天池日常学习赛医疗诊疗对话意图识别挑战赛
本项目基于GitHub上的意图识别算法项目所改进

意图识别问题是什么

意图识别是自然语言处理(NLP)中的一个重要的概念。意图识别是指从用户输入的文本(如对话、问题、指令等)中提取用户的核心目的。

解决意图识别问题

1.首先需要大量用户输入的文本数据,并标注出对应的意图。(在本次研究中我们使用了由复旦大学大数据学院在复旦大学医学院专家的指导下构建的IMCS数据集,该数据集收集了真实的在线医患对话,并进行了多层次的人工标注)。

2.从文本中提取关键信息,如关键词、短语、语法结构等。(在本次研究中我们创建了一个python文件creat_dict.py,首先从训练数据文件IMCS-DAC_train.json中加载数据,然后遍历数据,提取所有对话行为dialogue_act使用 set 去重,得到唯一的对话行为列表,最后创建两个字典分别保存为JSON文件id2word.json 和 word2id.json)。

3.对训练、验证和测试数据进行预处理,生成适合模型训练和预测的数据格式。(在本次研究中我们创建了一个Python文件data_process.py,首先遍历三种数据类型,然后从对应的JSON文件中加载数据使用word2id.json 将对话行为转换为数字标签,最后为每个对话生成历史对话记录,并将其与当前对话整合,将处理后的数据保存为新的 JSON 文件)。
在这里插入图片描述

4.使用模型对标注数据进行训练。(在本次研究中我们创建了一个Python文件train.py,首先定义数据集类 DatasetClassify 和数据项类 DataItem,用于加载和处理数据,定义评估函数 eval,用于在验证集上评估模型性能,定义 collator_fn 函数,用于将数据转换为模型输入格式,然后加载chinese-roberta-wwm-ext模型和分词器,最后加载训练数据和验证数据进行训练循环)。
在这里插入图片描述

5.进行预测。(在本次研究中我们创建了一个Python文件predict.py,首先加载测试数据,使用 DatasetClassify 类将数据封装为 PyTorch 数据集,使用 DataLoader 加载数据,并通过 collator_fn 函数将数据转换为模型输入格式,然后加载预训练的模型,对测试数据进行预测,将预测结果从数字标签转换为对应的对话行为,最后将预测结果保存为新的JSON文件)。
在这里插入图片描述

chinese-roberta-wwm模型

chinese-roberta-wwm-ext 是一个针对中文优化的预训练语言模型,它基于 RoBERTa(Robustly Optimized BERT Pretraining Approach)架构进行了扩展和改进。这个模型由哈工大讯飞联合实验室(HFL)发布,旨在为中文自然语言处理任务提供更好的性能。

chinese-roberta-wwm-ext 基于 RoBERTa 架构,这是一种改进的 BERT模型,通过调整训练策略和数据预处理方法来提高模型的性能。
wwm采用了 Whole Word Masking 策略,这是一种改进的掩码语言模型预训练方法,旨在更好地处理中文中的词边界问题。
ext 表示该模型使用了扩展的数据集进行预训练,这可能包括更多的中文文本类型和领域,以提高模型的泛化能力。

下图为不同版本的BERT模型的细节汇总,在本次研究中我们所使用的为chinese-roberta-wwm-ext模型。模型的下载访问Hugging Face社区,Hugging Face 是一个专注于自然语言处理(NLP)的公司,它提供了一个流行的开源库和模型库,主要用于构建和训练NLP模型。Hugging Face 的库和资源在机器学习社区中广受欢迎,特别是其 transformers 库,它提供了大量预训练模型,支持多种NLP任务,如文本分类、问答、命名实体识别、文本生成等。(国内访问Hugging Face社区如有网络问题可以通过国内的魔塔社区来下载模型)。
在这里插入图片描述

后续调整

目前模型的准确率为83%,尝试将epoch调整为20,Mini Batch Size调整为32,经测试发现数据量偏大训练时间太长且数据在训练集上效果很好在验证集上很差,推测可能存在过拟合现象。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
后续决定将epoch和Mini Batch Size恢复原状,使用CosineAnnealingLR 学习率调度器其学习率会按照余弦曲线的形状动态调整。通过动态调整学习率,可以在训练初期快速收敛,同时在训练后期通过较小的学习率进行微调,避免过拟合。

最后可以处理意图识别问题的模型还存在很多需要我们不断的尝试研究,该项目研究持续推进中。

### 回答1: chinese-roberta-wwm-ext是一种预训练的中文语言模型,它是在RoBERTa模型的基础上进行了改进和扩展,具有更好的性能和更广泛的应用范围。它可以用于中文文本分类、命名实体识别、情感分析等自然语言处理任务。 ### 回答2: 中文RoBERTa-WWM-Ext是一种基于RoBERTa预训练模型的语言模型,由哈工大讯飞联合实验室和大规模富豪实验室共同推出。RoBERTa-WWM-Ext具有非常高的精度和泛化能力,可以用于各种自然语言处理任务,如文本分类、命名实体识别、情感分析等。 RoBERTa-WWM-Ext是在RoBERTa预训练模型的基础上进行优化的。首先,它采用了Word Piece Tokenizer分词器,将中文文本切分为更小的单元,增加了模型对语言的理解能力。其次,它使用了Whole Word Masking技术,即在输入句子时将整个词语作为一个单元,而不是将其拆分为单个字或词,这有助于模型更好地理解语义信息。 RoBERTa-WWM-Ext还采用了大规模的无监督预训练方法,使用了大量的中文数据集进行训练,从而提高了模型的精度和泛化能力。与其他中文预训练模型相比,RoBERTa-WWM-Ext在多项自然语言处理任务上都表现出了卓越的性能和稳定性。该模型还具有较快的训练和推理速度,以及较低的内存占用,是在自然语言处理领域广泛应用的高质量解决方案之一。 ### 回答3: 中文名为RoBERTa-wwm-ext,是由哈工大讯飞联合实验室开发的一种语言模型。与之前的中文BERT相比,RoBERTa-wwm-ext在预训练阶段做了许多改进,使得其在多项语言任务上表现更优秀。 首先,RoBERTa-wwm-ext使用的预训练语料库与BERT相同,但其采用更多的数据扩充和数据清洗方法,使得在训练模型时获得更多的高质量样本,从而提高了模型的性能。 其次,RoBERTa-wwm-ext采用了更多的训练策略,包括更细粒度的掩码,更多的训练步骤和更高的学习率。这些策略使得模型在学习语言知识的过程中更加充分,提高了模型的泛化能力和鲁棒性。 最后,RoBERTa-wwm-ext从BERT中移除了下游任务(如问答、文本分类等)中使用的以“[MASK]”为中心的掩码,并使用了“全词mask”技术。这种技术使得模型在预测时更好地考虑到了整个句子的上下文信息,在词库中进行更准确的预测。 总体来说,RoBERTa-wwm-ext在语言模型的预测任务中表现出了很高的准确率和鲁棒性,已经成为了NLP领域的一个重要的基准模型,被广泛地应用于多种中文自然语言处理任务中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值