手把手教你使用百度大脑地址识别API
最近笔者在某小程序上购物时发现,不管公司大小、客户多少,凡是涉及到电商基本上都有自己的下单系统,业务十分成熟。想到各家快递公司,,都有独立的下单平台,出于好奇笔者在网上搜索了下,发现百度大脑竟然有地址识别接口,赶紧来试一波。测试后发现,这个接口能大幅提升地址文本的处理效率,非常适合物流、快递、电商、贸易行业,有了它就可以自己搭建快递下单平台了。
一、 百度大脑地址识别的功能和亮点
通过百度大脑地址识别产品页面上的介绍,笔者罗列了这个接口的一些功能点和亮点:
1.针对快递、电商行业客户在线提交的大量非结构化地址单据,该接口可以帮助提取单据中的姓名、电话、地址信息;
2. 融合百度地图权威数据,自动补全地址中缺失的信息和错误纠正,地址信息的识别准召率可达到88%;
3. 融合词法分析技术,自动识别文本中的人名和电话信息,识别准确率可达97%以上;
4. 基于语义分析构建的智能算法与场景策略相配合,平均准召率可达95%。
二、百度大脑地址识别的应用场景
从接口名称可以了解到,地址识别可以用于快递下单发货以及电商客户订单处理等场景。
三、百度大脑地址识别的使用攻略
接下来一步步带领大家调用地址识别API接口。需要说明的是,[X1] 本文采用C# 语言,开发环境为.Net Core 3.1,采用在线API接口方式实现。
(1)平台接入
登陆 百度智能云-管理中心 创建 “自然语言处理”应用,获取 “API Key ”和 “Secret Key”:
(2)接口文档
文档地址:https://ai.baidu.com/ai-doc/NLP/vk6z52h5n
请求说明
HTTP方法:POST
请求URL:https://aip.baidubce.com/rpc/2.0/nlp/v1/address
URL参数:
Header如下:
Body中放置请求参数,参数详情如下:
{ "text": "上海市浦东新区纳贤路701号百度上海研发中心 F4A000 张三" }body整体文本内容可以支持GBK和UTF-8两种格式的编码。
1、GBK支持:默认按GBK进行编码,输入内容为GBK编码,输出内容为GBK编码,否则会接口报错编码错误
2、UTF-8支持:若文本需要使用UTF-8编码,请在url参数中添加charset=UTF-8 (大小写敏感) 例如 https://aip.baidubce.com/rpc/2.0/nlp/v1/lexer?charset=UTF-8&access_token=24.f9ba9c5241b67688bb4adbed8bc91dec.2592000.1485570332.282335-8574074
请求参数
返回说明
返回参数
返回格式
JSON格式
默认返回内容为GBK编码
若用户指定输入为UTF-8编码(通过指定charset参数),则返回内容为UTF-8编码
返回示例:
{ "province": "上海市", "city": "上海市", "province_code": "310000", "log_id": 1420038644986026316, "text": "上海市浦东新区纳贤路701号百度上海研发中心 F4A000 张三", "town": "张江镇", "phonenum": "", "detail": "纳贤路701号百度上海研发中心F4A000", "county": "浦东新区", "person": "张三", "town_code": "310115125", "county_code": "310115", "city_code": "310100" }(3)源码共享
(3-1)根据 API Key 和 Secret Key 获取 AccessToken
/// /// 获取百度access_token /// /// API Key /// Secret Key /// public static string GetAccessToken(string clientId, string clientSecret) { string authHost = "https://aip.baidubce.com/oauth/2.0/token"; HttpClient client = new HttpClient(); List paraList = new List(); paraList.Add(new KeyValuePair("grant_type", "client_credentials")); paraList.Add(new KeyValuePair("client_id", clientId)); paraList.Add(new KeyValuePair("client_secret", clientSecret)); HttpResponseMessage response = client.PostAsync(authHost, new FormUrlEncodedContent(paraList)).Result; string result = response.Content.ReadAsStringAsync().Result; JObject jo = (JObject)JsonConvert.DeserializeObject(result); string token = jo["access_token"].ToString(); return token; }(3-2)调用API接口获取识别结果
(3-2-1) 建立Index.cshtml文件
(3-2-1-1)前台代码:
由于html代码无法原生显示,只能简单说明一下:
主要是一个form表单,需要设置属性method="post";
form表单里面有几个控件:
一个Input:type="file",asp-for="Text" ,输入地址信息; 一个Input:type="submit",asp-page-handler="Address" ,提交请求。(3-2-1-2) 后台代码:
温馨提示: 本文由Jm博客推荐,转载请保留链接: https://www.jmwww.net/file/43593.html