语言处理技术,就是对电脑中的文本,进行语义分析。例如从一个很长的地址中,智能地取出省市区县、联系方式等。
Sub 百度智能云_语言处理技术_地址识别() 'XMLHTTP法 Dim X As MSXML2.XMLHTTP60 Dim data As String data = "{'text':'北京市朝阳区朝阳门南大街2号 100086 马老师 手机13610872535','confidence':100}" Set X = New MSXML2.XMLHTTP60 Dim url As String url = "https://aip.baidubce.com/rpc/2.0/nlp/v1/address?charset=UTF-8&access_token=24.bdaf66e1441c945c98d2802597d133c3.2592000.1634512823.282335-24856804" With X .Open "POST", url, False .setRequestHeader "Content-Type", "application/json; charset=utf-8" 'utf-8 .send data s = .responseText End With Debug.Print s End Sub
上述程序运行结果是:
{ "lat": 39.927771, "detail": "朝阳门南大街2号", "town": "朝外街道", "phonenum": "13610872535", "city_code": "110100", "province": "北京市", "person": "马老师", "lng": 116.442329, "province_code": "110000", "text": "北京市朝阳区朝阳门南大街2号 100086 马老师 手机13610872535", "county": "朝阳区", "city": "北京市", "county_code": "110105", "town_code": "110105002", "log_id": 1439928725284727621 }
以上是VBA的XMLHttp实现的。下面用API函数库中Baidu类实现:
Sub 百度智能云_自然语言处理技术_地址识别() Dim url As String url = "https://aip.baidubce.com/rpc/2.0/nlp/v1/address?charset=UTF-8&access_token=24.bdaf66e1441c945c98d2802597d133c3.2592000.1634512823.282335-24856804" Dim headers As String headers = "{'Content-Type':'application/json; charset=utf-8'}" Dim data As String data = "{'text':'北京市海淀区双清路学研大厦A座 100086 刘永富 手机13610872535','confidence':100}" Set B = New API.Baidu Dim s As String s = B.SendData(url:=url, headers:=headers, data:=data, utf8:=True) Dim J As API.JSON Set J = New API.JSON J.Parse s Debug.Print J.ToString End Sub
效果一样