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))
解析结果
{
"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:一个用于提取简体中文字符串中省,市和区并能够进行映射,检验和简单绘图的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))
省 市 区 地址 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 |