当前位置: 首页 > wzjs >正文

手机好看网站模板免费下载济宁网站建设 中企动力临沂

手机好看网站模板免费下载,济宁网站建设 中企动力临沂,广州市公司网站建设品牌,app在线生成平台 免费上一篇文章讲解了Langchain,实现一个简单的demo,结合利用 LangChain 和 BERT 用于命名实体识别。 一、命名实体识别模型训练(bert+CRF) bert作为我们的预训练模型(用于将输入文本转换为特征向量),CRF作为我们的条件随机场(将嵌入特征转为标签),既然要训练,那么我们的损失函…

上一篇文章讲解了Langchain,实现一个简单的demo,结合利用 LangChain 和 BERT 用于命名实体识别。

一、命名实体识别模型训练(bert+CRF)

bert作为我们的预训练模型(用于将输入文本转换为特征向量),CRF作为我们的条件随机场(将嵌入特征转为标签),既然要训练,那么我们的损失函数采用CRF 损失。

注意区分 交叉熵损失和CRF损失

CRF本身也有学习参数,一起参与梯度更新,只是参数为一块转移矩阵实现标签之间的关系建模。

实现代码如下,

模型和 分词器都是使用的bert base chinese

实现了一个结合BERT和CRF模型的命名实体识别(NER)任务。首先,定义了BertCRF类,利用BERT进行特征提取,并通过CRF层进行序列标签预测。数据预处理部分使用BertTokenizerFast对输入文本进行分词,同时将标签对齐到子词级别,处理特殊token。在数据加载方面,使用Hugging Face的datasets库加载MSRA NER数据集,并利用DataCollatorForTokenClassification动态填充批次。

import torch
import torch.nn as nn
from torch.utils.data import DataLoader
from transformers import BertTokenizerFast, BertForTokenClassification, DataCollatorForTokenClassification
from torchcrf import CRF
from torch.optim import AdamW
from datasets import load_dataset
from seqeval.metrics import classification_report, accuracy_score
from tqdm.auto import tqdm# 定义BERT + CRF模型
class BertCRF(nn.Module):def __init__(self, bert_model_name, num_labels):super(BertCRF, self).__init__()# 使用预训练的BERT模型进行特征提取self.bert = BertForTokenClassification.from_pretrained(bert_model_name, num_labels=num_labels)# CRF层进行标签序列建模self.crf = CRF(num_labels, batch_first=True)def forward(self, input_ids, attention_mask, labels=None):# BERT输出outputs = self.bert(input_ids, attention_mask=attention_mask)emissions = outputs[0]  # 获取BERT的最后隐藏层输出if labels is not None: # 训练模式loss = -self.crf(emissions, labels, mask=attention_mask.bool())return losselse:predictions = self.crf.decode(emissions, mask=attention_mask.bool())return predictions# 数据预处理函数
def preprocess_data(examples):"""对批数据进行分词并对齐标签。HuggingFace 的 tokenizer 在 `is_split_into_words=True` 且 `batched=True` 时可以一次处理多句子。这里根据 `word_ids(batch_index=...)` 把原始词级别标签扩展到子词级别;对特殊 token (CLS、SEP、PAD) 使用 -100,使其在计算 loss 时被忽略。`msra_ner` 数据集的 `ner_tags` 已经是整数 ID,因此无需 label2id 转换。"""# 分词tokenized = tokenizer(examples["tokens"],
http://www.dtcms.com/wzjs/788268.html

相关文章:

  • 微信公众号关联网站免费短网址生成
  • 福州手游网站建设苏州注册公司流程和费用
  • php网站开发与设计公司做网站推广的价格
  • 广州营销型网站优化手机网站免费建站
  • 网站托管找什么是建设型的网站
  • 住房和城乡建设部网站证书查询南昌装修公司
  • 和朋友合伙做网站门户设计模板
  • 个人网站域名快速备案流程平面设计培训哪个好
  • 义乌做网站哪个公司好建设部网站上怎样查询企业业绩
  • 深圳市宝安区投资推广署官网系统优化app最新版
  • 国家住房城乡建设厅网站如何用网站模板建设网站
  • 单网页网站源码专业网络推广外包公司
  • 杭州网站开发公司中核二二正式员工一月多少钱
  • cdr做网站分辨率网站的上一页怎么做的
  • 无锡网站建设推广服务网上服务大厅登录平台
  • 中国信誉建设网站wordpress 自动博客
  • 凌源网站建设网站开发基础知识试题
  • 建设网站和公告号的意义博瑞微传媒建站快车
  • 沧州北京网站建设织梦网站建设考试
  • wordpress 别名排序龙岗网站优化培训
  • 如何开发网站建设业务邯郸旅游景点
  • 谷歌网站推广排名工具网站建设要注意那些问题
  • jz做网站做个商城网站怎么做便宜吗
  • 网站架构模板wordpress 全局音乐
  • 上海做网站站优云一一十七北京服装设计公司前十名
  • 安徽seo网站网站内网页标题对百度排名
  • 网站忘记密码功能成都网站建设桔子科技
  • 自建网站平台有哪些wordpress美化登录
  • 郑州龙华小学网站建设WordPress博客Modown模板
  • 网站建设合同书wordpress国内支付