"""Configuration for BiLSTM-CRF NER.""" from transformers import PretrainedConfig class BiLSTMConfig(PretrainedConfig): model_type = "bilstm-crf-ner" def __init__(self, vocab_size=30000, char_vocab_size=100, embed_dim=300, hidden_dim=200, char_emb_dim=30, char_cnn_filters=50, char_cnn_kernel=3, max_word_len=25, dropout=0.3, num_labels=9, use_char_cnn=False, pad_token_id=0, unk_token_id=1, id2label=None, label2id=None, **kwargs): self.vocab_size = vocab_size self.char_vocab_size = char_vocab_size self.embed_dim = embed_dim self.hidden_dim = hidden_dim self.char_emb_dim = char_emb_dim self.char_cnn_filters = char_cnn_filters self.char_cnn_kernel = char_cnn_kernel self.max_word_len = max_word_len self.dropout = dropout self.use_char_cnn = use_char_cnn self.unk_token_id = unk_token_id kwargs.setdefault("num_labels", num_labels) kwargs.setdefault("pad_token_id", pad_token_id) if id2label is not None: kwargs["id2label"] = id2label if label2id is not None: kwargs["label2id"] = label2id super().__init__(**kwargs)