Ejemplo n.º 1
0
    def __init__(self, out=3, out_src=0, bert_type='bert'):
        super(Bert_finetuning_CNN_Entity, self).__init__()
        _, self.bert_model = Bert.get_bert(bert_type=bert_type)

        self.cnn1 = CNN(inc=768,
                        Dr=[0.25, 0.25],
                        nb_filtres=[3],
                        FC_L_size=[100],
                        ker_size=[3, 2],
                        padding=False,
                        maxpooling_dir=True,
                        out=100,
                        out_src=out_src)

        self.cnn2 = CNN(inc=768,
                        Dr=[0.25, 0.25],
                        nb_filtres=[3],
                        FC_L_size=[100],
                        ker_size=[3, 2],
                        padding=False,
                        maxpooling_dir=True,
                        out=100,
                        out_src=out_src)

        self.cnn3 = CNN(inc=768,
                        Dr=[0.25, 0.25],
                        nb_filtres=[3],
                        FC_L_size=[100],
                        ker_size=[3, 2],
                        padding=False,
                        maxpooling_dir=True,
                        out=100,
                        out_src=out_src)

        self.cnn4 = CNN(inc=768,
                        Dr=[0.25, 0.25],
                        nb_filtres=[3],
                        FC_L_size=[100],
                        ker_size=[3, 2],
                        padding=False,
                        maxpooling_dir=True,
                        out=100,
                        out_src=out_src)

        self.cnn5 = CNN(inc=768,
                        Dr=[0.25, 0.25],
                        nb_filtres=[3],
                        FC_L_size=[100],
                        ker_size=[3, 2],
                        padding=False,
                        maxpooling_dir=True,
                        out=100,
                        out_src=out_src)

        self.fc = nn.Sequential(nn.LayerNorm(500),
                                nn.Dropout(p=0.1, inplace=False),
                                nn.Linear(500, 100), nn.Hardtanh(),
                                nn.LayerNorm(100), nn.Linear(100, out),
                                nn.Hardtanh())
Ejemplo n.º 2
0
    def __init__(self, out=3, out_src=0, bert_type='bert'):
        super(Bert_finetuning, self).__init__()
        _, self.bert_model = Bert.get_bert(bert_type=bert_type)

        self.trensfer = out_src != 0
        self.out_layers = nn.Linear(768, out)
        self.out_src_layers = nn.Linear(768,
                                        out_src) if self.trensfer else None
Ejemplo n.º 3
0
 def __init__(self, out=3, out_src=0, bert_type='bert'):
     super(Bert_finetuning_CNN_residual, self).__init__()
     _, self.bert_model = Bert.get_bert(bert_type=bert_type)
     self.cnn = CNN(inc=768,
                    nb_filtres=[3],
                    FC_L_size=[768],
                    ker_size=[3, 2],
                    padding=False,
                    maxpooling_dir=True,
                    out=out,
                    out_src=0,
                    w_size=768)
    def __init__(self, out=11, bert_type='bert'):
        super(BertRecNER, self).__init__()
        _, self.bert_model = Bert.get_bert(bert_type=bert_type)

        #self.level1=SeqClassifier()
        #self.level2=SeqClassifier(emb_size=768+out)
        #self.level3=SeqClassifier(emb_size=768+out)

        #self.level1=nn.Linear(768,out)
        #self.level2=nn.Linear(768+out,out)
        #self.level3=nn.Linear(768+out,out)

        self.level1 = MLP(inputs=768)
        self.level2 = MLP(inputs=768 + out)
        self.level3 = MLP(inputs=768 + out)
Ejemplo n.º 5
0
    def __init__(self, out=3, out_src=0, bert_type='bert'):
        super(Bert_finetuning_Mixed, self).__init__()
        _, self.bert_model = Bert.get_bert(bert_type=bert_type)

        self.cnn = CNN(inc=768,
                       Dr=[0.5, 0.5],
                       nb_filtres=[8],
                       FC_L_size=[768],
                       ker_size=[3, 2],
                       padding=False,
                       maxpooling_dir=True,
                       out=out,
                       out_src=out_src)

        self.out_layers = nn.Linear(768, out)
Ejemplo n.º 6
0
def _train(config):

    model = Bert.load_model(config.reload_model_name, CUDA, gpu_ids)

    Bert.train(PawsDataSet, model, config)
"""

This module offering word embedding using BERT model

"""

import torch
import Bert
from Parameters import global_param

bert_type = global_param.model_param['bert']
tokenizer, model = Bert.get_bert(bert_type=bert_type)


def Text2tokens(text):
    """
    This function tokenize the input text
    :param text: input text
    :return: tow list of tokens and segmentation respectively
    """
    marked_text = "[CLS] " + text + " [SEP]"
    tokenized_text = tokenizer.tokenize(marked_text)
    indexed_tokens = tokenizer.convert_tokens_to_ids(tokenized_text)
    segments_ids = [0] * len(tokenized_text)
    return indexed_tokens, segments_ids


def Token2tonsor(token):
    """
    This function convert the tuple (list tokens , list segmentation) to tuple of torch tensor
    :param token: tuple (list tokens ,list segmentation)