本文主要是介绍Python:使用 jionlp和cpca 实现国内地址文本解析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
目录
- 使用 jionlp解析国内地址文本
- 使用 cpca 实现解析国内地址文本
- 总结
使用 jionlp解析国内地址文本
jionlp: 中文 NLP 预处理、解析工具包,准确、高效、易用
- github: https://github.com/dongrixinyu/JioNLP
- 文档:http://www.jionlp.com/
使用示例
import jsonimport jionlp as jiolst = ['四川省成都市武侯区红牌楼街19号红星大厦9楼2号','杭州市滨江区网商路599号','东城区和平里街道','上海市徐汇区xx小区'
]for text in lst:res = jio.parse_location(text)print(json.dumps(res, ensure_ascii=False, indent=2))
解析结果
{"province": "四川省","city": "成都市","county": "武侯区","detail": "红牌楼街19号红星大厦9楼2号","full_location": "四川省成都市武侯区红牌楼街19号红星大厦9楼2号","orig_location": "四川省成都市武侯区红牌楼街19号红星大厦9楼2号"
}
{"province": "浙江省","city": "杭州市","county": "滨江区","detail": "网商路599号","full_location": "浙江省杭州市滨江区网商路599号","orig_location": "杭州市滨江区网商路599号"
}
{"province": "北京市","city": "北京市","county": "东城区","detail": "和平里街道","full_location": "北京市东城区和平里街道","orig_location": "东城区和平里街道"
}
{"province": "上海市","city": "上海市","county": "徐汇区","detail": "xx小区","full_location": "上海市徐汇区xx小区","orig_location": "上海市徐汇区xx小区"
}
使用 cpca 实现解析国内地址文本
cpca:一个用于提取简体中文字符串中省,市和区并能够进行映射,检验和简单绘图的python模块
目前仅仅支持python3
github: https://github.com/DQinYuan/chinese_province_city_area_mapper
import jsonimport cpcalst = ['四川省成都市武侯区红牌楼街19号红星大厦9楼2号','杭州市滨江区网商路599号','东城区和平里街道','上海市徐汇区xx小区'
]df = cpca.transform(lst)
print(json.dumps(df.to_dict(), ensure_ascii=False, indent=2))
省 市 区 地址 adcode
0 四川省 成都市 武侯区 红牌楼街19号红星大厦9楼2号 510107
1 浙江省 杭州市 滨江区 网商路599号 330108
2 北京市 市辖区 东城区 和平里街道 110101
3 上海市 市辖区 徐汇区 xx小区 310104
转为json数据
{"省": {"0": "四川省","1": "浙江省","2": "北京市","3": "上海市"},"市": {"0": "成都市","1": "杭州市","2": "市辖区","3": "市辖区"},"区": {"0": "武侯区","1": "滨江区","2": "东城区","3": "徐汇区"},"地址": {"0": "红牌楼街19号红星大厦9楼2号","1": "网商路599号","2": "和平里街道","3": "xx小区"},"adcode": {"0": "510107","1": "330108","2": "110101","3": "310104"}
}
总结
通过比对,发现两者的解析结果相差不是太大
库名 | star |
---|---|
JioNLP | 2.9K |
cpca | 1.6K |
这篇关于Python:使用 jionlp和cpca 实现国内地址文本解析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!