如何从一段自然语言中识别地址信息?

2023-09-25 10:50:10 +08:00
 SZhan
最近有一个很折腾人的需求。由于推送过来的原始数据里缺少客户需要的字段,所以就产生了一个需求,需要根据一段工单内容,识别涉及的区域、街道、所属社区。我开发又优化了几版,都达不到客户想要的效果。工单的内容因为是人编写的、无规则的,所以就不知道会在哪里产生地址信息:
例 1:自己是新吴区鸿山街道鸿*苑六二期 xxx 号 xxxx(隐私处理)的住户,想在屋面里面修葺两个小房间,目前就修了一个门框,xx 就直接来拆掉了,但是其他人家都造好了,都已经住进去了,都没有拆。服务对象表示自己家这里有留消防通道,其他人家都没有留。服务对象表示鸿*苑六二期 xxxxxx 号楼十八层的业主(无法具体提供信息,但表示这些楼栋 xxxxx 、xxxx 室都存在该情况),已经造好通水电入住,自己认为处理部门应该一视同仁对待。
例 2:服务对象来电反映目前通*新村 1 号附近有两条流浪狗将自己车辆的保险杠咬坏,拨打 110 反映表示需要 xx 协助 xx 流浪狗。
例子是这样的,地址信息可能随时出现在内容中,有可能会直接有区、街道、社区信息,也可能仅仅只有一个地点(如例 2 ),需要识别出具体地点,再反编地理信息获取所属区、街道、社区。所以就整的很困难。我目前是这样处理的:
先直接查所有的区、街道、社区信息,到工单内容中循环比对匹配是否包含,抓出来明显提到的区、街道、社区(例 1 类似的内容)。如果像例 2 那样内容只提到了一个地点,我的处理是,获取了一批城市的所有 POI 点位(总数几十 w 条,太多了),然后把小区、商场综合体、个体店铺、城市基础设施等一些基础的城市地理 POI 点位去和内容比对 POI 名称是否在内容中包含,但是效果就是识别比对的成功率很低,不知道有没有啥好的解决办法,还是基本上就是无法实现的需求。想向大神门求助!
8654 次点击
所在节点    Java
113 条回复
SZhan
2023-09-25 14:31:05 +08:00
@paopjian 放心好了 不准备推进了 大模型这种除非他们付钱 我们对接
lsk569937453
2023-09-25 14:34:04 +08:00
目前大厂都解决不了的问题,LZ 居然想凭借一己之力就解决掉,我觉得做功能之前还是评估一下这个功能的可行性吧。

你看美团/饿了吗/京东/淘宝,无一不是在源头上解决这个问题的。即创建新地址的时候直接从你给的省/市/区/小区/楼层里面去选择,这样是最简单的,成功率还是 100%。

你让用户手写一个地址,你用程序去识别这个地址所属的省市区,我就直说了,目前没有公司能做到这个事情。
i1258403843
2023-09-25 14:47:08 +08:00
最简单的方法还是在发工单的时候加上定位
SZhan
2023-09-25 14:52:00 +08:00
@lsk569937453 是的,您说的没错,但凡有个需求评估/评审,也不至于在这个鬼需求上耗这么久。但是这整个大的平台,从开发阶段开始以来,都没有评审的过程。
wqhui
2023-09-25 15:15:50 +08:00
几 w 还想有自然语言处理?跑模型识别有识别错误的问题,而且消耗计算机资源也大很多,项目掏钱吗
xrzxrzxrz
2023-09-25 15:16:34 +08:00
如果技术上不好解决,想想能不能通过产品设计、业务设计上去解决这个问题。例如自动识别用户输入的是地址的时候,让用户手动选个地址啥的,通过其他手段去规避这个后端不好精准识别地址的问题。
blackmirror
2023-09-25 15:23:28 +08:00
小螺丝造火箭,真心累
c2const
2023-09-25 15:43:48 +08:00
一定要通过技术手段解决,几万块是远远不够的,感觉得加钱 :)
MRG0
2023-09-25 16:07:36 +08:00
@SZhan #28 写个正则算球
iOCZ
2023-09-25 16:19:35 +08:00
这个功能是很麻烦的,对人来说是简单的
aeron
2023-09-25 16:54:38 +08:00
命名实体识别,搜一下,应该有百度阿里之类应该有现成的接口提供
aeron
2023-09-25 16:55:03 +08:00
@aeron 也可以自己部署模型实现
RipL
2023-09-25 17:06:12 +08:00
技术上肯定是可行的,但是要看成本,一共几 w 块钱,估计很难做到。从产品上看最合理的应该是在源数据上就应该让用户 明确填写地址信息
brader
2023-09-25 17:08:43 +08:00
如果你仅仅是要提取出地址信息的话,我觉得你可以试试快递 100 、淘宝、菜鸟等这些平台的 API 接口,他们有提供这样的接口,好像不贵,因为现在好多寄快递的页面,不是支持你粘贴文字,然后智能提取地址、姓名、手机 等等信息么,虽然这个接口是做快递的人用的多,但是我感觉和你需求也很契合,而且这种接口很成熟了,因为快递业和地址打那么久的交道,已经磨合的差不多了
EminemW
2023-09-25 17:34:41 +08:00
我做过这个需求,先用 hanlp 这个库识别一下地址,然后在加一些限制检验结果,比如识别出来的内容包括省市区,地址结尾是 号 小区 楼 栋
svipchao
2023-09-25 17:50:15 +08:00
要不加 ip 定位做纠错处理?
iamdaguduizhang
2023-09-25 17:51:33 +08:00
试试能不能抓包 那些快递平台 解析文本地址时候的接口
aoguai
2023-09-25 18:39:33 +08:00
yankebupt
2023-09-25 19:08:17 +08:00
@crissx 政府项目,不能用 chatgpt
接口偷渡也不行,就 chatgpt 目前这个三天两头挂的情况,挂了的时候怎么办,人工识别么……
一定得有自己的 NLP ,就算 AI 偷渡也得 ChatGPT+备用识别……
codehz
2023-09-25 19:14:17 +08:00
不能 chatgpt 不代表国内的大模型就不能用了(
且不说你可以本地 LLaMA 微调一个,国内也不是没别的厂提供了

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

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

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

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

© 2021 V2EX