如何从包含固定地址的包裹标签中提取特定用户编码
解决方案
方案1:基于AWS Textract空间坐标匹配(准确率最高)
AWS Textract返回的每一段文本结果都会附带包围盒(Bounding Box)坐标信息,你可以结合固定地址的位置限定搜索范围:
- 第一步:提前匹配已知的固定地址文本,拿到对应文本块的包围盒坐标,计算出地址区域的上下左右边界值
- 第二步:根据标签的实际布局,设置周边搜索阈值,比如仅搜索地址区域上下偏移15%、左右覆盖整个标签宽度的范围
- 第三步:只遍历落在上述搜索范围内的所有文本块,用优化后的正则匹配目标编码即可
方案2:基于文本上下文匹配(实现最简单)
如果不需要处理坐标,可直接通过文本相邻关系过滤:
- 第一步:将Textract提取的全量文本按换行/文本块拆分为多个片段
- 第二步:定位到包含固定地址的文本片段,同时取出该片段前后相邻的1~2个片段(根据标签实际布局调整数量)
- 第三步:仅在这几个限定的片段内匹配目标编码,过滤掉其他无关区域的内容
正则优化建议
你原来的正则依赖空格、点号做边界,容易漏匹配换行、其他标点分隔的场景,可替换为单词边界匹配:\b(?:[A-Za-z]{2}\d{6}|\d{6})\b
该规则匹配独立出现的6位纯数字、或2位字母加6位数字的组合,不受前后分隔符类型限制。
补充校验逻辑
如果出现多匹配结果,可优先选择和固定地址的空间距离最近、或文本位置最相邻的结果,进一步提升准确率。
内容的提问来源于stack exchange,提问作者MRustamzade
相关产品推荐
相关产品推荐

