Uso de Bert para la extracción de atributos en KnowledgeGraph con dos métodos, ajuste fino y extracción de características.
Gráfico de conocimiento Baidu Enciclopedia Entrada de la entrada de caracteres de la extracción, los experimentos se realizaron utilizando el método de ajuste fino y de extracción de funciones basado en Bert.
Tensorflow >=1.10
scikit-learn
BERT-Base, Chinese : chino simplificado y tradicional, 12 capas, 768 ocultos, 12 cabezas, 110 m parámetros
Ninguno
El conjunto de datos se construye de acuerdo con las entradas de caracteres de la enciclopedia de Baidu. Filtrar el corpus que no contiene entidades y atributos.
Las entidades y atributos se obtienen del reconocimiento de entidades de nombre.
Las etiquetas se obtienen de la enciclopedia Baidu Infobox, y la mayoría de ellas están etiquetadas manualmente, por lo que algunas no son muy buenas.
Por ejemplo:
黄维#1904年#1#黄维(1904年-1989年),字悟我,出生于江西贵溪一农户家庭。
陈昂#山东省滕州市#1#邀请担任诗词嘉宾。1992年1月26日,陈昂出生于山东省滕州市一个普通的知识分子家庭,其祖父、父亲都
陈伟庆#肇庆市鼎湖区#0#长。任免信息2016年10月21日下午,肇庆市鼎湖区八届人大一次会议胜利闭幕。陈伟庆当选区人民政府副区长。
strip.py puede obtener datos a rayasdata_process.py puede procesar datos para obtener la entrada del archivo Numpyparameters es los parámetros que se ejecutan el modelo necesitan Por ejemplo con el conjunto de datos del lugar de nacimiento:
sintonia FINA
run_classifier.py para obtener salidas de probabilidad previstas 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 para obtener el resultado final con una clasificación incorrectacaracterística-extracción
extract_features.py para obtener la representación vectorial de los datos de trenes y prueba en formato de archivo JSON 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 para transferir el archivo json a la representación vectorialrun_classifier.py para usar métodos de aprendizaje automático para hacer clasificación, MLP generalmente guarda mejor Los resultados predichos y el corpus mal clasificado se guardan en el resultado Dir.
Por ejemplo, con el conjunto de datos del lugar de nacimiento utilizando el método de ajuste fino, el resultado es:
precision recall f1-score support
0 0.963 0.967 0.965 573
1 0.951 0.946 0.948 389
Este proyecto tiene licencia bajo la licencia MIT