目标:给定句子和句子中的两个实体,判断这两个实体之间的关系
代码解读:
import torch
import torch.nn as nn
from transformers import BertModel
class SentenceRE(nn.Module):
def __init__(self, hparams):
super(SentenceRE, self).__init__()
self.pretrained_model_path = hparams.pretrained_model_path or 'bert-base-chinese'
self.embedding_dim = hparams.embedding_dim
self.dropout = hparams.dropout
self.tagset_size = hparams.tagset_size
self.bert_model = BertModel.from_pretrained(self.pretrained_model_path)
self.dense = nn.Linear(self.embedding_dim, self.embedding_dim)
self.drop = nn.Dropout(self.dropout)
self.activation = nn.Tanh()
self.norm = nn.LayerNorm(self.embedding_dim * 3)
self.hidden2tag = nn.Linear(self.embedding_dim * 3, self