PHP自动识别电话名字地址,你用PHP,如何实现地址自动识别的功能

地址自动识别现在普遍,特别是用在快递填写地址,姓名,手机号码的时候,会把这些按照一定的规范填写后,点击自动识别后,会自动填写到各自的input。最近也简单的实现了这个功能,给后台添加用户的时候,自动识别地址。以下是效果图具体问题具体分析!代码实现基于laravel完成。一个laravel完整的功能得具备这些:路由route,Model, View, Controller, 我这里用的有依赖注入服务...
摘要由CSDN通过智能技术生成

地址自动识别现在普遍,特别是用在快递填写地址,姓名,手机号码的时候,会把这些按照一定的规范填写后,点击自动识别后,会自动填写到各自的input。最近也简单的实现了这个功能,给后台添加用户的时候,自动识别地址。以下是效果图

98cb7cf90bc1dd4a17ee964f0e9d6759.gif

具体问题具体分析!代码实现基于laravel完成。一个laravel完整的功能得具备这些:路由route,Model, View, Controller, 我这里用的有依赖注入服务容器等功能,当然,用到地址,你首先要有地址库。。。

下面来看看是如何实现的,这里我只贴出核心代码

UsersController控制器

在这里新建构造函数,实现容器的依赖注入UsersRepository

/** @var  UserRepository */

private $userRepository;

public function __construct(UsersRepository $userRepo){

$this->userRepository = $userRepo;

}

接下来就新建地址识别的方法, $discernDel   接收的数据是从前端传过来的,后面再贴前端代码。  业务代码处理交给容器UsersRepository里的方法getDiscern处理

/**

* Function:地址识别

* Author:cyw0413

* @param Request $request

* @return \Illuminate\Contracts\Routing\ResponseFactory|\Illuminate\Http\Response|

* \Laravel\Lumen\Http\ResponseFactory|\Symfony\Component\HttpFoundation\Response

*/

public function getDiscern(Request $request){

$discernDel = $request->input('discernDel');

try{

DB::beginTransaction();

$address = $this->userRepository->getDiscern($discernDel);

DB::commit();

}catch (\Exception $e){

DB::rollBack();

$msg = "信息提示:".$e->getMessage().",行:".$e->getLine();

return response(['code' => 0, 'msg'=>$msg]);

}

return response(['code'=>1,'msg'=>$address]);   //地址识别完成

}

来看看userRepository容器处理地址识别的各种业务代码

/**

* Function:识别地址

* Author:cyw0413

*/

public function getDiscern($discernDel){

if (empty($discernDel)) {

throw new  \Exception("请传入要识别的地址");

}

$discernDel_left = explode ('[', $discernDel);

if (!isset($discernDel_left[1])) {

throw new  \Exception("你填写的地址规则错误,手机号码应该用[

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
中文信息计算机自动处理的研究已有几十年的 历史 , 但至今仍有许多技术难题没有得到很好解 决 , 中文姓名自动识别问题就是其中的一个。由于 它与中文文本的自动分词一样 , 属于中文信息处理 的基础研究领域 , 因而它的研究成果直接影响到中 文信息的深层次研究。汉语的自身特点使得中文信 息自动处理大多是先对要处理的文本进行自动分词 (加入显式分割符) , 然后再在分词的基础上进行词 法、语法、语义等方面的深入分析。而在分词阶 段 , 文本中的人名、地名以及其它专有名词和生词 大多被切分成单字词 , 在这种情形下如不能很好地 解决汉语文本中专有名词生词的识别问题 , 将给其 后的汉语文本的深入分析带来难以逾越的障碍。中 文姓名自动识别问题就是在这种背景下提出来 的。对这一问题的研究目前采用的技术中主要利用 以下几方面的信息: 姓名用字的频率信息、上下文 信息[1 ,2 ] 、语料库统计信息[2 ] 、词性信息等[3 ] 。本 文的方法是 , 首先对中文人名的构成、姓名用字的 规律及上下文文本信息特征进行充分分析 , 在此基 础上建立起两组规则集 , 将其作用于测试文本 , 获 得初步识别结果 , 再利用大规模语料库的统计信息 对初步识别结果进行概率筛选 , 设定合适的阈值 , 输出最终识别结果。经对 50 多万字的开放语料测 试 , 系统自动识别出 1781 个中文人名 , 在不同的 筛选阈值下获得 90 %以上的识别准确率 , 而召回 率高于 91 %。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值