当前位置:   article > 正文

Python:使用 jionlp和cpca 实现国内地址文本解析_python cpca

python cpca

在这里插入图片描述

使用 jionlp解析国内地址文本

jionlp: 中文 NLP 预处理、解析工具包,准确、高效、易用

使用示例

import json

import jionlp as jio

lst = [
    '四川省成都市武侯区红牌楼街19号红星大厦9楼2号',
    '杭州市滨江区网商路599号',
    '东城区和平里街道',
    '上海市徐汇区xx小区'
]

for text in lst:
    res = jio.parse_location(text)
    print(json.dumps(res, ensure_ascii=False, indent=2))
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

解析结果

{
  "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小区"
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32

使用 cpca 实现解析国内地址文本

cpca:一个用于提取简体中文字符串中省,市和区并能够进行映射,检验和简单绘图的python模块

目前仅仅支持python3

github: https://github.com/DQinYuan/chinese_province_city_area_mapper

import json

import cpca

lst = [
    '四川省成都市武侯区红牌楼街19号红星大厦9楼2号',
    '杭州市滨江区网商路599号',
    '东城区和平里街道',
    '上海市徐汇区xx小区'
]

df = cpca.transform(lst)
print(json.dumps(df.to_dict(), ensure_ascii=False, indent=2))
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
     省    市    区               地址  adcode
0  四川省  成都市  武侯区  红牌楼街19号红星大厦9楼2号  510107
1  浙江省  杭州市  滨江区          网商路599号  330108
2  北京市  市辖区  东城区            和平里街道  110101
3  上海市  市辖区  徐汇区             xx小区  310104

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

转为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"
  }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32

总结

通过比对,发现两者的解析结果相差不是太大

库名star
JioNLP2.9K
cpca1.6K
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/酷酷是懒虫/article/detail/1019515
推荐阅读
相关标签
  

闽ICP备14008679号