根据地址识别出国家,大家有好的建议吗

2020-09-26 11:49:29 +08:00
 wdg8106

比如:"首尔市江南区永东大路亚洲会议塔" 目前想到的是 先分词,然后再找一份世界主要城市国家映射表进行匹配 用 jieba 分词,得到的结果是首尔 /市 /江南 /区 /永 /东大路 /亚洲 /会议 /塔 接下来依次用这些词在映射表中匹配,第一个匹配到就返回

但是目前还没找到靠谱的国家城市映射表,大家有做过的,诚心求教~~

4873 次点击
所在节点    Python
31 条回复
opengps
2020-09-26 12:00:23 +08:00
用地图的 api
huayumo
2020-09-26 12:37:33 +08:00
这种分词不行,说实话我也在考虑这种,来大数据分类每个市县的新闻,国内的直接行政区来分类,国外的感觉应该也一样,别用分词的,行政区划的比较准
BrettD
2020-09-26 12:54:30 +08:00
加拿大也有地方叫伦敦
imn1
2020-09-26 12:56:06 +08:00
没必要分词,地址一般都是有顺序的,要么大到小,要么小到大,你的目的只是城市-->国家,找到一端前 N 个字符就够了
找 geo 数据库就有映射表了,网上有 open 的
hakono
2020-09-26 13:15:12 +08:00
谷歌地图 api,很好用
需求数量多了的话需要收费就是了
记得做好缓存之类的
shiji
2020-09-26 13:24:52 +08:00
美国有三个城市都叫纽瓦克
美国也有城市叫温哥华

单靠分词肯定不行
wdg8106
2020-09-26 13:39:59 +08:00
@huayumo 国内是直接用行政区来分的,效果还可以,国外的找来下没找到
wdg8106
2020-09-26 13:43:08 +08:00
@BrettD 这种感觉没法避免,碰到了就只能按比较常见的算了
wdg8106
2020-09-26 13:43:40 +08:00
@imn1 多谢,我试试看
wdg8106
2020-09-26 13:45:18 +08:00
@hakono 多谢,那我先自己判断下,判断不出来的再调 api...
wdg8106
2020-09-26 13:48:33 +08:00
@shiji 嗯,我也遇到过像 韩国国际广场这种 分出来带韩国 但明显不是的
Ptu2sha
2020-09-26 14:47:52 +08:00
国内我还遇到 去过 A 市登记了家庭地址
然后 A 市的某个派出所就打电话来 因为我家地址某部分和他们辖区匹配上了。。。
xuanbg
2020-09-26 16:15:37 +08:00
非结构化的地址自动处理成结构化地址是有一定的错误率的,楼主你把错误的抛出来人工处理或者干脆丢弃就行。
wdg8106
2020-09-26 17:17:04 +08:00
@xuanbg 了解的,只要错误率不太高就可以接受了
ericbize
2020-09-26 17:22:32 +08:00
丢到谷歌地图, 获取经纬度
helloworld000
2020-09-26 18:54:53 +08:00
https://nominatim.org/

或者直接用 selenium 去 googlemap 里搜
bellchu
2020-09-26 19:17:46 +08:00
我很多年前一名的时候有人问我是不是去澳洲,我说不是啊。对面很疑惑的看着我问,“那你为什么申请资料寄到悉尼?”
bellchu
2020-09-26 19:18:02 +08:00
*移民
wdg8106
2020-09-26 21:17:13 +08:00
@bellchu 所以你是要移民到澳大利亚吗...哈哈
bellchu
2020-09-26 21:19:16 +08:00
@wdg8106 加拿大的 case 很多都是邮寄悉尼的。加拿大,新斯科舍省,悉尼市。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/710633

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX