llm-xiaoye/NER-BAC
llm-xiaoye/NER-BAC has 41 GitHub stars and 0 forks. GitHot measured 0 stars in 24 hours. Last checked 2026-11-09 21:14 UTC. Last push 2026-11-05.
结合 BiLSTM、加性注意力与 CRF 的命名实体识别模型,支持 BIO 标注校验、训练、评估及实体预测。
Measured star growth
- in 24h
- 0
- in 7 days
- Update delayed
- in 15 days
- Update delayed
- in 1 month
- Update delayed
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
README.md
OriginalNER-BAC:命名实体识别
结合 BiLSTM、加性注意力与 CRF,完成命名实体识别和序列标注。支持使用自有 BIO 标注数据完成校验、训练、评估与预测。
核心功能
- 使用双向 LSTM 编码序列上下文,通过加性注意力加权词元表示。
- 使用线性链 CRF 学习标签序列,通过带 BIO 约束的 Viterbi 算法解码。
- 支持从训练数据推断实体类型,也可在配置中显式定义标签。
- 提供 BIO 合法性校验、动态批次填充与打包序列处理。
- 按验证集实体 F1 恢复最佳检查点,报告严格实体级精确率、召回率和 F1。
- 保存模型、配置、词表与标签,支持独立加载并执行评估和预测。
模型结构
词元输入 → 嵌入表示 → 双向 LSTM → 加性注意力 → 发射分数 → 线性链 CRF → 标签序列。
张量形状、动态填充和标签约束见架构说明。
环境与安装
需要 Python 3.10+。
git clone https://github.com/llm-xiaoye/NER-BAC.git
cd NER-BAC
python -m venv .venv
source .venv/bin/activate
python -m pip install --upgrade pip
python -m pip install -e .
Windows 环境使用 .venv\Scripts\activate 激活虚拟环境。
数据格式
使用 UTF-8 TSV 文件,每行包含词元与 BIO 标签,以制表符分隔;句子之间用空行分隔:
电 B-EQ
机 I-EQ
发 B-PF
热 I-PF
轴 B-EQ
承 I-EQ
异 B-PF
响 I-PF
实体名称由用户定义。标签使用 O、B-TYPE、I-TYPE,并遵循合法 BIO 转移。完整格式与自有数据接入方式见数据格式及自定义数据集。
使用方式
校验与划分
bac-validate examples/data/train.tsv examples/data/dev.tsv examples/data/test.tsv
bac-split --input data/all.tsv --output-dir data/split --train-ratio 0.8 --dev-ratio 0.1 --test-ratio 0.1 --seed 42
训练
bac-train --config configs/motor_fault_example.yaml --train-file examples/data/train.tsv --dev-file examples/data/dev.tsv --test-file examples/data/test.tsv --output-dir artifacts/example
可将示例路径替换为自己的训练、验证和测试文件。
评估
bac-evaluate --checkpoint artifacts/example --test-file examples/data/test.tsv
预测
bac-predict --checkpoint artifacts/example --text "电机温度过高"
配置与输出
默认从训练文件推断标签,也可在 YAML 中显式配置:
labels:
- O
- B-PER
- I-PER
- B-ORG
- I-ORG
标签列表首项为 O。训练目录包含:
artifacts/example/
├── model.pt
├── config.json
├── vocab.json
├── labels.json
├── best_dev_metrics.json
├── metrics.json
└── training_history.json
加载时保持这些文件位于同一目录,评估和预测无需原训练数据。
开发与验证
python -m pip install -e ".[dev]"
pytest
许可证与软件引用
采用 MIT 许可证。软件引用信息见 CITATION.cff。
Explore related projects
tensorflow/tensorflow
An Open Source Machine Learning Framework for Everyone
201,427 starshuggingface/transformers
🤗 Transformers: the model-definition framework for state-of-the-art machine learning models in text, vision, audio, and multimodal models, for both inference and training.
168,711 starsAUTOMATIC1111/stable-diffusion-webui
Stable Diffusion web UI
165,274 starsComfy-Org/ComfyUI
The most powerful and modular diffusion model GUI, api and backend with a graph/nodes interface. The fastest local inference engine in the world.
146,024 stars