VBA调用百度智能云的自然语言处理技术


语言处理技术,就是对电脑中的文本,进行语义分析。例如从一个很长的地址中,智能地取出省市区县、联系方式等。

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

效果一样


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM