Python与SpaCy编写规则匹配模式实现街道地址检测
SpaCy 规则匹配实现街道地址自动识别开发现状
梳理完成的核心地址结构覆盖范围
目前统计的两类主流地址结构可覆盖90%的日常应用场景,整体共归纳三类典型结构:
- 第一类:名称以strasse、gasse、platz结尾的街道字符串,搭配可附带字母后缀的门牌号(示例形式:34a这类带字母的复合门牌号)
- 第二类:门牌号前置,搭配rue、avenue、platz、boulevard类道路通名,后接多段组成的街道名称
- 第三类:标题式正式街道名称直接搭配门牌号的简化格式
已完成的基础代码框架搭建
- 加载
en_core_web_trf模型,通过组件配置禁用内置NER组件 - 完成SpaCy
Matcher对象的初始化 - 准备好两类核心测试场景样本:
- "I live in Güntzelstrasse 16 in Berlin"
- "Send that to 73 rue de Napoleon 56 in Paris"
待实现的匹配规则核心要求
规则编写需要满足固定的约束条件,保障地址识别准确率:
- 匹配得到的地址片段必须包含数字元素
- 地址片段需满足以下任意一类语义条件:
- 字符串片段内包含rue、avenue、platz、boulevard这类通用道路通名
- 字符串片段内的街道名称以strasse、gasse为结尾
当前开发卡点
- 不熟悉SpaCy Matcher的匹配逻辑编写规范,无法完成pattern的条件定义
- 现有测试代码存在文本变量引用不匹配的问题,基础流程无法正常跑通
内容的提问来源于stack exchange,提问作者taga
相关产品推荐
相关产品推荐

