littlebot
Published on 2025-04-07 / 1 Visits
0

【源码】基于TensorFlow和BERT的命名实体识别系统

项目简介

本项目是一个基于TensorFlow和BERT模型的命名实体识别(NER)系统。结合了BERT的预训练能力与BiLSTM - CRF模型,能够高效开展中文命名实体识别工作,支持从训练、模型评估到服务部署的全流程操作。

项目的主要特性和功能

  1. 采用Google的BERT预训练模型并进行微调,提升文本表示能力。
  2. 结合双向LSTM和CRF的BiLSTM - CRF模型,增强序列标注任务的准确性。
  3. 针对中文文本数据进行特别优化。
  4. 提供命令行工具用于模型训练、评估和服务启动。
  5. 支持将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】