def __init__(self, emb_dim=100, window_size=3, init_emb=None,
hidden_dim=100, vocab_size=0, splitter=u' ', add_dim=0,
PAD_IDX=None):
"""
Neural network tagger by dos (Santos and Zadrozny, ICML 2014).
"""
assert window_size % 2 == 1, 'window_size must be odd.'
dim = emb_dim
hidden_dim = hidden_dim + add_dim
self.add_dim = add_dim
self.hidden_dim = hidden_dim
super(BaseCNNEncoder, self).__init__(emb=L.EmbedID(vocab_size, emb_dim, ignore_label=-1),
conv=L.Convolution2D(1, hidden_dim, ksize=(window_size, dim),
stride=(1, dim), pad=(window_size // 2, 0)))
self.splitter = splitter
self.char_level_flag = True if self.splitter is None else False
self.word_level_flag = not self.char_level_flag
self.emb_dim = emb_dim
self.window_size = window_size
self.dim = dim
self.PAD_IDX = PAD_IDX
self.train = True
# initialize embeddings
if init_emb is not None:
self.emb.W = init_emb
评论列表
文章目录