本来目的是为了解决中文地址翻译成英文地址的问题,结果我发现自己弄出来的程序还不如百度或者谷歌现有的翻译,所以算了吧。
以下是我那拿不上台面的思路
- 输入地址后,提交到后台,后台使用jieba分词,把地址分割;
- 然后前端可以用js控制,调整分词分组;
- 将调整好的分词,发送到后台,使用百度翻译API得到翻译的结果;
- 再把翻译后的结果逆序,就会得到英文的地址。
但是我得到了一些东西
在前端处理分词分组的时候,我用到了以下功能:
- 双击分词可以编辑,重装调整分词,在加入一个空格后,可以把词语分割;
- 拖动分词可以合并分词。
双击编辑
1 | ... |
可能是我的办法就是笨了点,但是确实是实现了想要的功能。
设置可拖动
1 | ... |
设置分词可拖动,拖动释放即合并。
有一个问题,拖动释放的时候,有一个可接收的元素,比如不能把第3个分词直接拖到了第7个分词,理论上是不允许合并的,合并后就不通顺了,第3个分词拖动的时候只有相邻的两个分词可以接收(合并)。
所以需要设置可接收释放的条件,如果不可接收分词就弹回原位置。
调用百度翻译接口
也把这个放上来吧,虽然没啥用。
1 | ... |
以上是百度官方给出的代码,我只是简单的修改了一下。
后记
其实jieba分词每次都不能很好的切割中文,几乎每次都需要手动去调整。这是一个很大的局限。
如果想要省事的话,最好是把这个系统做成可学习的。
也就是说,相同格式的地址,我只需要手动去调整前几次,然后系统会记住我的分词规律,以后会自动的把新的地址按我的规律去分割。
但是这样的话,就会需要大量的代码了吧。
网上找了些资料,有提到jieba分词学习的相关说明,但是没有仔细的研究。
所以把这个东西放弃了吧。