项目简介
本项目是一个基于TensorFlow和BERT模型的命名实体识别(NER)系统。结合了BERT的预训练能力与BiLSTM - CRF模型,能够高效开展中文命名实体识别工作,支持从训练、模型评估到服务部署的全流程操作。
项目的主要特性和功能
- 采用Google的BERT预训练模型并进行微调,提升文本表示能力。
- 结合双向LSTM和CRF的BiLSTM - CRF模型,增强序列标注任务的准确性。
- 针对中文文本数据进行特别优化。
- 提供命令行工具用于模型训练、评估和服务启动。
- 支持将NER模型部署为服务,方便在实际应用中调用。
安装使用步骤
1. 安装依赖
确保已安装Python 3.x和TensorFlow。可通过以下命令安装项目依赖:
bash
pip install bert-base==0.0.9 -i https://pypi.python.org/simple
或者通过复制项目并安装:
bash
cd BERT-BiLSTM-CRF-NER/
python3 setup.py install
2. 下载预训练模型
从Google的BERT项目中下载中文预训练模型,并放置在项目目录中。
3. 训练模型
使用以下命令进行模型训练:
bash
bert-base-ner-train \
-data_dir {your dataset dir} \
-output_dir {training output dir} \
-init_checkpoint {Google BERT model dir} \
-bert_config_file {bert_config.json under the Google BERT model dir} \
-vocab_file {vocab.txt under the Google BERT model dir}
4. 启动服务
训练完成后,使用以下命令启动NER服务:
bash
bert-base-serving-start \
-model_dir {your model dir} \
-bert_model_dir {Google BERT model dir} \
-model_pb_dir {model freeze save dir} \
-mode NER
5. 客户端调用
启动服务后,使用Python客户端进行调用: ```python from bert_base.client import BertClient
with BertClient(show_server_config=False, check_version=False, check_length=False, mode='NER') as bc: str = '1月24日,新华社对外发布了中央对雄安新区的指导意见,洋洋洒洒1.2万多字,17次提到北京,4次提到天津,信息量很大,其实也回答了人们关心的很多问题。' rst = bc.encode([str]) print('rst:', rst) ```
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】