当前位置: 首页 > news >正文

WW2文本分析:基于规则的军事命名实体识别

WW2 spaCy 是一个用于处理二战原始史料和二手文献,并执行命名实体识别(NER)的管道。目前,该管道专注于基于美国军队的命名实体识别,并计划在未来扩展到其他国家。注意:该管道的更新频繁,以扩展其标签集并提高规则的准确性。

该管道设计为不依赖机器学习,以保持其模块化特性,这意味着用户可以提取特定的处理模块并将其无缝地附加到自己的管道中。其主要组件是一个SpanRuler,用于识别和分类不同的军事单位、舰船、飞机、坦克和战役。完整的实体列表见下文。此外,还使用了自定义的正则表达式组件来识别军事人员。最后,几个自定义组件会清理识别出的文本片段,以移除潜在或可能的误报。

为了消除某些实体的歧义(例如“the 1st”),一个名为clean_spans的自定义 spaCy 组件会遍历每个文本片段。如果某个标签存在歧义,它会优先选择最长的文本片段。然而,如果片段长度相同,则不会采取措施来解析这些片段。这让用户能够自行消歧。这使得该管道比 spaCy 内置的filter_spans()函数更精细、更具针对性。

每个数据文件都可以在assets目录下找到。每个.txt文件的第一行是数据的来源。大部分数据来自维基百科上的列表。

安装

pipinstallen_ww2spacy

使用方法

importspacyfromspacyimportdisplacy nlp=spacy.load("en_ww2spacy")text="""The P-35 flew in WW2 at Battle of Point 175. The 10th Armored Division was led by General William H. H. Morris. It contained Sherman tanks. John Sherman is a false positive."""doc=nlp(text)displacy.render(doc,style="span",jupyter=True,options={"spans_key":"ruler"})

实体标签列表

军事单位(美国)
  • AIRBORN_DIVISION(空降师)
  • ARMORED_DIVISION(装甲师)
  • ARMY_GROUP(集团军群)
  • BATTALION(营)
  • CAVALRY(骑兵)
  • CORPS(军)
  • FIELD_ARMY(野战集团军)
  • INFANTRY_DIVISION(步兵师)
  • MOUNTAIN_DIVISION(山地师)
事件(军事)
  • BATTLE(战役)
  • OPERATION(军事行动)
地点(大屠杀相关)
  • CAMP(集中营)
  • GHETTO(隔都)
载具(美国)
  • AMPHIBIOUS_VESSEL(两栖舰艇)
  • BATTLESHIP(战列舰)
  • CARRIER(航空母舰)
  • CARRIER_ESCORT(护航航空母舰)
  • CRUISER(巡洋舰)
  • DESTROYER(驱逐舰)
  • FRIGATE_DESTROYER_ESCORT(护卫舰/护航驱逐舰)
  • GUNBOAT(炮艇)
  • MINE_VESSEL(布雷/扫雷舰艇)
  • PLANE(飞机)
  • SUBMARINE(潜艇)
  • TANK(坦克)
武器(美国)
  • ANTI_TANK(反坦克武器)
  • BLADE(刀具)
  • FLAMETHROWER(火焰喷射器)
  • GRENADE(手榴弹)
  • MACHINE_GUN(机枪)
  • MORTAR(迫击炮)
  • PISTOL(手枪)
  • RIFLE(步枪)
  • SHOTGUN(霰弹枪)
  • SUBMACHINE_GUN(冲锋枪)
其他
  • MILITARY_PERSONNEL(军事人员)FINISHED
    更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)或者 我的个人博客 https://blog.qife122.com/
    对网络安全、黑客技术感兴趣的朋友可以关注我的安全公众号(网络安全技术点滴分享)
http://www.jsqmd.com/news/493728/

相关文章:

  • C++哈希表封装实战指南
  • Elastic 的 Agent 技能:让你的 AI 代理成为 Elastic 专家
  • Youtu-VL-4B-Instruct-GGUF模型效果深度评测:多模态指令跟随能力展示
  • 毕设程序java社区公益图书借阅系统设计 基于Java的社区共享图书流通平台开发 智慧社区图书互助服务系统的设计与实现
  • 基于python的小说在线阅读平台 数据可视化 章节
  • PostgreSQL MCP Server:让 AI 直接读懂你的数据库
  • OpenClaw(小龙虾)详细介绍与Windows安装教程
  • 定制抗体服务为何成为前沿生物医学研究的关键支撑?
  • 【跟韩工学Ubuntu第1课】 第1章 系统架构、启动流程与内核管理-006篇-本章练习题
  • 【那片果园,和看不见的根】
  • 《AI是如何”预见”Oracle安装中的错误的?》
  • 射频实验室生存法则:资深工程师的避坑指南
  • 【LVDS电路结构】
  • 基于深度神经网络(RNN + LSTM)的分类模型探索
  • 家用路由器不仅可以上网,还可以玩这6件事
  • OpenClaw安装配置完全指南
  • 2026年最新成人零基础电子鼓避坑指南:家用静音不扰民
  • GT2510-VTBD三菱电机触摸屏 HMI
  • PCB设计避坑指南:从DFM到EMC的20个常见错误排查清单
  • 定制化组装锂电池设备:精准匹配需求的技术实践
  • 自定义Node.js安装路径及环境变量配置
  • Claude Code 第 2 篇 解决Claude Code在Windows下水土不服:WSL2+国产模型最佳实践
  • GUI 之后,SaaS 该如何为 Agent 重写自己
  • 基于python的服务商后台管理系统设计 项目申报
  • Lingbot-Depth-Pretrain-VitL-14模型精讲:Transformer架构在视觉任务中的演化
  • 粒子群算法(PSO)优化层次分析法(AHP)的综合评价模型
  • 安防监控系统季度维护清单(含红外报警+门禁联动):附可打印检查表
  • GLM-4.6V-Flash-WEB商业案例:电商商品图像智能描述与分类
  • 具身智能:从感知到行动的认知闭环构建
  • 批量快递查询软件使用心得:小递查查让我事半功倍