Flairのtag_dictionaryをハードコーディングで入力
datapath = "/path/to/BIO" # train.tsv, test.tsv, devel.tsvが入っているフォルダcorpus: Corpus = loadCorpus(datapath)tag_type = "ner"tag_dictionary = corpus.make_tag_dictionary(tag_type=tag_type)tag_dictionary.idx2item = #リストで入力tag_dictionary.item2idx = {b'':0, b'O':1, b'B-Chemical':2, b'I-Chemical':3, b'':4, b'':5} #辞書で入力embedding_objects: List = []embedding_objects.append(BytePairEmbeddings("en"))embeddings: StackedEmbeddings = StackedEmbeddings(embeddings=embedding_objects)tagger: SequenceTagger = SequenceTagger( hidden_size=256, embeddings=embeddings, tag_dictionary=tag_dictionary, tag_type=tag_type, use_crf=True, )
from flair.trainers import ModelTrainerresultpath = "/path/to/result"trainer: ModelTrainer = ModelTrainer(tagger, corpus)trainer.train( str(resultpath), learning_rate=0.1, mini_batch_size=128, max_epochs=3, patience=5, embeddings_storage_mode="gpu" )補足
この方法で学習したところ,エラー発生.やはり.make_tag_dictionaryでしか作れないのか...