尊敬的读者您好:笔者很高兴自己的文章能被阅读,但原创与编辑均不易,所以转载请必须注明本文出处并附上本文地址超链接以及博主博客地址:https://blog.csdn.net/vensmallzeng。若觉得本文对您有益处还请帮忙点个赞鼓励一下,笔者在此感谢每一位读者,如需联系笔者,请记下邮箱:zengzenghe@gmail.com,谢谢合作!
由于自己Bi-lstm+CRF的NER效果不好,所以想通过子公司提供实现序列标注的接口来提高NER性能,该接口功能如下:传入一段中文句子,返回该段中文句子的序列标注。针对该接口的使用方法,子公司友好的提供了如下3个参考文件:
1. 一般在访问某个接口之前,先进入cmd命令窗口拼一下ip看通不通。命令:ping http://172.19.34.177。
2. 了解到该接口是post请求方式,于是上网查了一些相关资料,大体了解到:POST请求体(body)大致有四种形式,而本接口的请求体为Xml格式。
3. 模拟登陆,伪装成浏览器进行登陆(一般登陆涉及安全性方面,登陆会比较复杂,一般把验证信息放在headers)。
4. 用requests.post()函数进行请求访问。
5. 将返回的json格式数据解析成字典数据,便于后续处理。
6. 附上访问接口用到的所有源码,仅供参考。
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import requests
import json
url = 'http://172.19.34.177:5101/ner'
body = '''<?xml version='1.0' encoding='utf-8'?>
<Mission id='1' type='CWC' hasContent='1'>
<Asset id='1' catid='0' type='13' bbsmain='1' class='1' title='标题1 '>
<![CDATA[贺增增[SPE]鹿城区温州市不。]]>
</Asset>
</Mission>
'''
#模拟登陆
#headers = {'content-type': "application/json", 'Authorization': 'APP appid = 4abf1a,token = 9480295ab2e2eddb8'}
headers = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:44.0) Gecko/20100101 Firefox/44.0",
"Accept": "application/json, text/javascript, */*; q=0.01",
"Accept-Language": "zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3",
"Accept-Encoding": "gzip, deflate, br",
"Content-Type": "application/json; charset=utf-8",
"X-Requested-With": "XMLHttpRequest",
"Cookie": "xxx.............", # 此处cookie省略了
"Connection": "keep-alive"}
#查看body信息
print(body)
response = requests.post(url, data=body.encode("utf-8"), headers=headers,verify=False)
# 返回信息
print(response.text)
# 将返回的json格式数据解析成字典型数据
data = json.loads(response.text)
# 返回响应状态码,200则为响应正常
print(response.status_code)
日积月累,与君共进,增增小结,未完待续。