关于字符串的操作:如何翻译住址(已知存在住址词库),请进来看我描述

奋斗一生的程序员 2007-08-07 08:37:13
已知:我已经建好了一个表not_english,字段和值如下:
id chinese english
1 省 Province
2 市 City
3 县 County
4 镇 Town
5 区 District
6 路 Road
7 街 Street
(不断添加).....

已知:河南省南阳市中州路42号 翻译为
Room 42,Zhongzhou Road, Nanyang City,Henan Province

其中河南、南阳、中州,均为汉字转换拼音而来,已经解决。
省、市、路,其译文已经在数据库中指定。

问题:给出一个长长的住址,如何有效的去翻译它?算法如何实现?如何判断出住址中是否存在数据库中指定的住址关键字(如省、市、县、乡、花园)?

请大家给一个思路,谢谢。
...全文
209 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
没人回帖,我只好自我回帖了,是在别的论坛上找到的答案。
ArcGIS 2007-08-19
  • 打赏
  • 举报
回复
这是某人给我的建议

该问题用到的技术主要有:
1.中文分词技术
2.必须有中文词库,你这个地方用你的数据表就可以。
3.在加载页面之前对文字进行分词处理(英文翻译的倒装顺序等)

1. 完整的分词相当复杂,实现成本很高.(除非你盗版别人的)
  就你所需要的应用(地名分析),完全没有必要上整套的分词系统.不就是半句话嘛!

2. 不需要专用的词库!
  从现实出发,要想多快好省的完成这项目,最省力的办法就是容错运行,最后人工修改.
  不管3721,先写程序把地址表全部转换为按区域等级分类的结构体.
  然后将可能有错的挑出来单独修改. 比如 "某某市菜市口街"存在两个"市",需要人为干预.

3. 如果想做得好,可以找国家地理或行政管理部门索取或购买现成的地址表.
  • 打赏
  • 举报
回复
楼上的给个思路先,或者例子也可以。
feiyun0112 2007-08-07
  • 打赏
  • 举报
回复
先用正则表达式找出满足的格式,再替换
  • 打赏
  • 举报
回复
另外,说明一下,汉字转拼音的方案,我是利用“微软拼音输入法”实现的,其它的方法均不可行,不能解决多音字的情况。比如“方便面便宜”。本帖重点讨论住址翻译问题。

7,762

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧