You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python如何通过非正则方法从句子/段落中提取地址

地址提取可行实现方案

按落地成本从低到高、泛化性从弱到强排序,可根据自身业务场景选择:

  • 细粒度NER序列标注方案
    这是通用场景下性价比最高的方案,不要用仅支持国家、城市级粗粒度识别的工具,直接选择预训练完成、可识别门牌号、楼层、建筑名、道路名、邮编这类细粒度地址实体的NER模型(比如基于BERT微调的英文地址NER模型)即可。
    实现逻辑非常简单:先通过模型标注出句子中所有实体的类型,再将连续出现的地址类实体做拼接,就能自动过滤掉人名、手机号、无关描述等非地址内容。你给出的示例中,从商铺号到邮编的片段全部是连续的地址实体,直接拼接就能得到目标结果。如果业务覆盖特定国家/地区,只需要补充几百条对应场景的标注数据做轻量微调,准确率基本可以达到商用要求,泛化性远好于纯正则方案。
  • 成熟开源地址解析库方案
    如果不想做模型微调工作,可以直接选用比你之前测试的pyap、locationtagger粒度更细、适配性更强的开源地址解析库:
    • 基于CRF序列标注实现的地址解析库是不错的选择,相比纯正则实现的pyap,这类库基于真实地址语料训练,对非固定格式的地址适配性更好,能够为每个地址片段打上类型标签,只要将连续的地址标签片段合并就能得到完整地址。
    • 如果需要支持多国家地址场景,可以选择基于全球开放地址数据训练的解析库,这类库使用了全球范围的公开地址语料,覆盖绝大多数国家的地址格式,实现时可以先对文本做滑窗切分,将能被库成功解析出结构化字段的连续片段判定为地址,泛化性远好于仅支持英美地址的工具。
  • 大模型零样本/少样本提取方案
    如果需要快速上线验证、且不想投入太多精力做模型适配,直接用大模型做提取是效率最高的选择:只要给模型明确提取规则,比如“从输入句子中提取完整的邮政地址,不要包含人名、联系方式、其他无关描述,仅返回纯地址文本”,再附上2-3个业务场景下的输入输出示例,不管是闭源通用大模型还是7B/13B参数级的开源大模型,对这类信息提取任务的准确率都能达到较高水平,只需要加一层简单的后处理,过滤掉模型偶尔输出的解释性内容即可。

落地优化提示:无论选用哪种方案,都可以加一层轻量规则做兜底:比如地址常见的线索词(Floor、Building、Road、Street、Shop No、符合邮编格式的数字串)可以作为地址片段起止的判断依据,能进一步降低误判率。

内容的提问来源于stack exchange,提问作者user18158993

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 23:27:33