Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/yanwii/ChineseNER

基于Bi-GRU + CRF 的中文机构名、人名识别, 支持google bert模型
https://github.com/yanwii/ChineseNER

bert-bilstm-crf bert-chinese bi-gru-crf named-entity-recognition tensorflow

Last synced: about 1 month ago
JSON representation

基于Bi-GRU + CRF 的中文机构名、人名识别, 支持google bert模型

Awesome Lists containing this project

README

        

# Chinese NER

基于Bi-GRU + CRF 的中文机构名、人名识别
集成GOOGLE BERT模型

# 下载bert模型

wget -c https://storage.googleapis.com/bert_models/2018_11_03/chinese_L-12_H-768_A-12.zip

放到根目录 **bert_model** 下

# 用法

# 训练
# 使用bert模型
python3 model.py -e train -m bert
# 使用一般模型
python3 model.py -e train


# 预测
# 使用bert模型
python3 model.py -e predict -m bert
# 使用一般模型
python3 model.py -e predict

# 介绍

### bert 模型的加载和使用

def bert_layer(self):
# 加载bert配置文件
bert_config = modeling.BertConfig.from_json_file(ARGS.bert_config)

# 创建bert模型 
model = modeling.BertModel(
config=bert_config,
is_training=self.is_training,
input_ids=self.input_ids,
input_mask=self.input_mask,
token_type_ids=self.segment_ids,
use_one_hot_embeddings=False
)
# 加载词向量
self.embedded = model.get_sequence_output()
self.model_inputs = tf.nn.dropout(
self.embedded, self.dropout
)

### bert 优化器

self.train_op = create_optimizer(
self.loss, self.learning_rate, num_train_steps, num_warmup_steps, False
)

# 例子
> 金树良先生,董事,硕士。现任北方国际信托股份有限公司总经济师。曾任职于北京大学经济学院国际经济系。1992年7月起历任海南省证券公司副总裁、北京华宇世纪投资有限公司副总裁、昆仑证券有限责任公司总裁、北方国际信托股份有限公司资产管理部总经理及公司总经理助理兼资产管理部总经理、渤海财产保险股份有限公司常务副总经理及总经理、北方国际信托股份有限公司总经理助理。
> [
{
"begin": 14,
"end": 26,
"entity": "北方国际信托股份有限公司",
"type": "ORG"
},
{
"begin": 70,
"end": 82,
"entity": "北京华宇世纪投资有限公司",
"type": "ORG"
},
{
"begin": 99,
"end": 111,
"entity": "北方国际信托股份有限公司",
"type": "ORG"
},
{
"begin": 160,
"end": 172,
"entity": "北方国际信托股份有限公司",
"type": "ORG"
},
{
"begin": 0,
"end": 3,
"entity": "金树良",
"type": "PER"
}
]