DQinYuan / chinese_province_city_area_mapper

一个用于提取简体中文字符串中省,市和区并能够进行映射,检验和简单绘图的python模块
MIT License
1.65k stars 390 forks source link

五大连池市 与 元江县 目前无法匹配正确的省份与城市 #86

Open zach91cn opened 3 years ago

zach91cn commented 3 years ago

您好 在实际操作中,五大连池市(黑龙江省黑河市辖县级市)会被错误的匹配至辽宁省的大连市;元江县(元江哈尼族彝族傣族自治县-简称)则无法匹配

workinDead commented 3 years ago

针对第二个问题,建议找到matcher.py的脚本,新增special_abbre变量,后期建议新增函数add_userdict之类的来补充special_abbre image

workinDead commented 3 years ago

第一个问题应该是因为在匹配的时候,开发者使用了停用词(包括: 省, 市, 特别行政区, 自治区)? 没想到好的解决办法,既有通用性,又不影响现有匹配结果。

gingercner commented 3 years ago

第一个问题,在044版本中(需要再做一些修改),可以解决。 思路是:优先提取低级别行政区;匹配到了区县级就停止。所以,匹配结果为“五大连池市/五大莲池”。 图片

gingercner commented 3 years ago

第二个问题,就是新旧区划名称的问题,上面已经有人给出了方法。效果如下: 图片

DQinYuan commented 3 years ago

第一个问题,在044版本中(需要再做一些修改),可以解决。 思路是:优先提取低级别行政区;匹配到了区县级就停止。所以,匹配结果为“五大连池市/五大莲池”。 图片

其实在新版本中就是以低级别行政区优先的,匹配到了就停止

gingercner commented 3 years ago

其实在新版本中就是以低级别行政区优先的,匹配到了就停止

在版本055中,iter(sentence)返回的结果里面,因为end_index的值较小,所以“大连”在“五大连池”之前。