何文松 926e4a13ee feat: 实现 NER 实体识别服务并移除 Docker 相关配置 1 月之前
..
app 926e4a13ee feat: 实现 NER 实体识别服务并移除 Docker 相关配置 1 月之前
tests 926e4a13ee feat: 实现 NER 实体识别服务并移除 Docker 相关配置 1 月之前
README.md 926e4a13ee feat: 实现 NER 实体识别服务并移除 Docker 相关配置 1 月之前
requirements.txt 926e4a13ee feat: 实现 NER 实体识别服务并移除 Docker 相关配置 1 月之前

README.md

NER Service

命名实体识别(NER)服务,提供实体提取和关系抽取功能。

功能特性

  • 实体提取:从文本中识别人名、机构、地点、日期、数值、设备等实体
  • 关系抽取:从实体间抽取语义关系
  • 多模式支持:规则模式(开发)、spaCy、Transformers、API

快速开始

本地运行

# 安装依赖
pip install -r requirements.txt

# 启动服务
uvicorn app.main:app --host 0.0.0.0 --port 8001 --reload

API 接口

健康检查

GET /health

实体提取

POST /ner/extract
Content-Type: application/json

{
  "documentId": "doc-001",
  "text": "待提取的文本内容...",
  "entityTypes": ["PERSON", "ORG", "LOC"],  // 可选
  "extractRelations": true
}

关系抽取

POST /ner/relations
Content-Type: application/json

{
  "documentId": "doc-001",
  "text": "原始文本",
  "entities": [...]  // 已提取的实体列表
}

实体类型

类型 说明 示例
PERSON 人名 张三、李经理
ORG 机构 成都检测公司
LOC 地点 成都市高新区
DATE 日期 2024年5月15日
NUMBER 数值 100万元、50分贝
DEVICE 设备 噪音检测设备
PROJECT 项目 环境监测项目
TERM 专业术语 -

关系类型

类型 说明
负责 主体负责某事
属于 隶属关系
位于 位置关系
包含 包含关系
使用 使用关系
检测 检测关系
合作 合作关系

配置说明

配置项 说明 默认值
NER_MODEL NER 模型类型 rule
USE_GPU 是否使用 GPU false
MAX_TEXT_LENGTH 最大文本长度 50000
LOG_LEVEL 日志级别 INFO

测试

pytest tests/ -v

开发计划

  • 集成 spaCy 中文模型
  • 集成 Transformers NER 模型
  • 实现 API 模式(DeepSeek/Qwen)
  • 优化关系抽取准确率