def init(args):
def parse(line):
attr, pos_id = line.split()
attr = tuple(attr.split(','))
return (attr, int(pos_id))
mappings = Attribute(
util.OneToOneMapping(
parse(line) for line in args.pos_def
),
util.OneToOneMapping(
(row[1], int(row[0])) for row in csv.reader(args.conj_type_def)
),
util.OneToOneMapping(
(row[1], int(row[0])) for row in csv.reader(args.conj_form_def)
)
)
model = md.Analyzer(
md.BidirectionalRecognizer(
md.Recognizer(256, 256, 256, 256),
md.Recognizer(256, 256, 256, 64 + 256 + 128 + 128)
),
md.Tagger(
md.BiClassifier(64),
chainer.ChainList(
md.Classifier(256, len(mappings.pos)),
md.Classifier(128, len(mappings.conj_type)),
md.Classifier(128, len(mappings.conj_form))
)
)
)
optimizer = optimizers.AdaGrad(lr=0.01)
optimizer.setup(model)
return Storage(mappings, model, optimizer)
评论列表
文章目录