此技能提供完整的地址信息处理工作流程,将杂乱的文本地址转换为结构化的地理位置信息。技能集成了文本清洗、地址解析、层级标准化、精确位置提取和坐标转换等功能。
当遇到以下情况时应当使用此技能:
AddressExtractor类处理文本
from scripts.address_parser import AddressExtractor
# 初始化提取器(推荐配置API密钥)
extractor = AddressExtractor(amap_api_key="your-amap-api-key")
# 如不配置API密钥,仍可提取和标准化地址,但无法获取坐标
extractor_no_api = AddressExtractor()
# 输入包含地址的文本
text = "客户张三,电话13800138000,地址:北京市朝阳区建国门外大街1号国贸大厦A座1208室"
# 执行提取和标准化
result = extractor.extract_and_standardize(text)
# 检查结果
if result['success']:
print(f"标准化地址: {result['standardized_address']}")
print(f"坐标: {result['coordinates']}")
else:
print(f"错误: {result['error']}")
文本清洗:
cleaned = extractor.clean_text(raw_text)
地址组件提取:
components = extractor.extract_address_components(cleaned_text)
地址标准化:
standardized = extractor.standardize_address(components)
坐标获取:
coordinates = extractor.get_coordinates_from_amap(query_address)
技能返回一个包含以下字段的字典:
success: 布尔值,表示处理是否成功
original_text: 原始输入文本
cleaned_text: 清洗后的文本
components: 地址组件字典,包含:
province: 省份
city: 城市
district: 区县
town: 乡镇街道
village: 村庄社区
road: 道路
house_number: 门牌号
building: 楼栋号
poi: 兴趣点
standardized_address: 标准化的地址路径
query_address: 用于API查询的地址字符串
coordinates: 坐标信息(如可用)
lng: 经度
lat: 纬度
formatted_address: 格式化地址
要获取精确坐标,需要配置高德地图API密钥:
AddressExtractor(amap_api_key="your-key")
API密钥将用于调用高德地理编码API:https://restapi.amap.com/v3/geocode/geo
技能支持多种中文地址表达格式:
技能按以下优先级识别和提取地址层级:
自动过滤以下内容:
技能具备完善的错误处理机制:
可通过修改address_parser.py中的正则表达式模式来适配特定的地址格式需求。脚本支持灵活的组件扩展和定制化配置。
共 1 个版本