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

WW2文本分析:基于规则的军事命名实体识别 WW2 spaCy 是一个用于处理二战原始史料和二手文献并执行命名实体识别NER的管道。目前该管道专注于基于美国军队的命名实体识别并计划在未来扩展到其他国家。注意该管道的更新频繁以扩展其标签集并提高规则的准确性。该管道设计为不依赖机器学习以保持其模块化特性这意味着用户可以提取特定的处理模块并将其无缝地附加到自己的管道中。其主要组件是一个SpanRuler用于识别和分类不同的军事单位、舰船、飞机、坦克和战役。完整的实体列表见下文。此外还使用了自定义的正则表达式组件来识别军事人员。最后几个自定义组件会清理识别出的文本片段以移除潜在或可能的误报。为了消除某些实体的歧义例如“the 1st”一个名为clean_spans的自定义 spaCy 组件会遍历每个文本片段。如果某个标签存在歧义它会优先选择最长的文本片段。然而如果片段长度相同则不会采取措施来解析这些片段。这让用户能够自行消歧。这使得该管道比 spaCy 内置的filter_spans()函数更精细、更具针对性。每个数据文件都可以在assets目录下找到。每个.txt文件的第一行是数据的来源。大部分数据来自维基百科上的列表。安装pipinstallen_ww2spacy使用方法importspacyfromspacyimportdisplacy nlpspacy.load(en_ww2spacy)textThe 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.docnlp(text)displacy.render(doc,stylespan,jupyterTrue,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/对网络安全、黑客技术感兴趣的朋友可以关注我的安全公众号网络安全技术点滴分享