Verwenden von Bert für die Attributextraktion in Knowledgegraph mit zwei Methoden: Feinabstimmung und Merkmalextraktion.
Knowledge Graph Baidu Encyclopedia Charaktereintragsattraktionsextraktion, Experimente wurden unter Verwendung der Feinabstimmungs- und Merkmal-Extraktionsmethode basierend auf Bert durchgeführt.
Tensorflow >=1.10
scikit-learn
BERT-Base, Chinese : Chinesisch vereinfacht und traditionell, 12-Schicht, 768 versteckte, 12-Heads, 110 m Parameter
Keiner
Der Datensatz wird gemäß den Zeicheneinträgen von Baidu Encyclopedia konstruiert. Filtern Sie Korpus heraus, das keine Entitäten und Attribute enthält.
Entitäten und Attribute werden aus der Erkennung von Namen Entität erhalten.
Etiketten werden aus der Baidu Encyclopedia Infobox erhalten, und die meisten von ihnen sind manuell gekennzeichnet, sodass einige nicht sehr gut sind.
Zum Beispiel:
黄维#1904年#1#黄维(1904年-1989年),字悟我,出生于江西贵溪一农户家庭。
陈昂#山东省滕州市#1#邀请担任诗词嘉宾。1992年1月26日,陈昂出生于山东省滕州市一个普通的知识分子家庭,其祖父、父亲都
陈伟庆#肇庆市鼎湖区#0#长。任免信息2016年10月21日下午,肇庆市鼎湖区八届人大一次会议胜利闭幕。陈伟庆当选区人民政府副区长。
strip.py kann gestreifte Daten abrufendata_process.py ausparameters sind die Parameter, die das Modell benötigen Zum Beispiel mit dem Geburtsort -Datensatz:
Feinabstimmung
run_classifier.py , um vorhergesagte Wahrscheinlichkeitsausgänge zu erhalten python run_classifier.py
--task_name=my
--do_train=true
--do_predict=true
--data_dir=a
--vocab_file=/home/tiny/zhaomeng/bertmodel/vocab.txt
--bert_config_file=/home/tiny/zhaomeng/bertmodel/bert_config.json
--init_checkpoint=/home/tiny/zhaomeng/bertmodel/bert_model.ckpt
--max_seq_length=80
--train_batch_size=32
--learning_rate=2e-5
--num_train_epochs=1.0
--output_dir=./outputproba2metrics.py aus, um das Endergebnis mit falscher Klassifizierung zu erhaltenFeature-Extraction
extract_features.py aus, um die Vektordarstellung von Zug- und Testdaten im JSON -Dateiformat zu erhalten python extract_features.py
--input_file=../data/birth_place_train.txt
--output_file=../data/birth_place_train.jsonl
--vocab_file=/home/tiny/zhaomeng/bertmodel/vocab.txt
--bert_config_file=/home/tiny/zhaomeng/bertmodel/bert_config.json
--init_checkpoint=/home/tiny/zhaomeng/bertmodel/bert_model.ckpt
--layers=-1
--max_seq_length=80
--batch_size=16json2vector.py aus, um die JSON -Datei in die Vektordarstellung zu übertragenrun_classifier.py , um maschinelle Lernmethoden zur Klassifizierung zu verwenden. MLP wird normalerweise am besten Die vorhergesagten Ergebnisse und falsch klassifizierten Korpus werden in Ergebnis DIR gespeichert.
Zum Beispiel mit dem Geburtsort-Datensatz mit der Feinabstimmungsmethode ist das Ergebnis:
precision recall f1-score support
0 0.963 0.967 0.965 573
1 0.951 0.946 0.948 389
Dieses Projekt ist unter der MIT -Lizenz lizenziert