$ hub install ddparser==1.0.0
$ hub run ddparser --input_text="百度是一家高科技公司"
依存分析接口,输入文本,输出依存关系。
参数
返回
{
'word': list[str], 分词结果。
'head': list[int], 当前成分其支配者的id。
'deprel': list[str], 当前成分与支配者的依存关系。
'prob': list[float], 从属者和支配者依存的概率。
'postag': list[str], 词性标签,只有当texts的元素是未分词的字符串时包含这个键。
'visual': 图像数组,可以使用cv2.imshow显示图像或cv2.imwrite保存图像。
}
可视化接口,输入依存分析接口得到的信息,输出依存图形数组。
参数
返回
代码示例
import cv2
import paddlehub as hub
module = hub.Module(name="ddparser")
test_text = ["百度是一家高科技公司"]
results = module.parse(texts=test_text)
print(results)
test_tokens = [['百度', '是', '一家', '高科技', '公司']]
results = module.parse(texts=test_text, return_visual = True)
print(results)
result = results[0]
data = module.visualize(result['word'],result['head'],result['deprel'])
# or data = result['visual']
cv2.imwrite('test.jpg',data)
PaddleHub Serving可以部署一个在线情感分析服务,可以将此接口用于在线web应用。
运行启动命令:
$ hub serving start -m ddparser
启动时会显示加载模型过程,启动成功后显示
Loading ddparser successful.
这样就完成了服务化API的部署,默认端口号为8866。
NOTE: 如使用GPU预测,则需要在启动服务之前,请设置CUDA_VISIBLE_DEVICES环境变量,否则不用设置。
配置好服务端,以下数行代码即可实现发送预测请求,获取预测结果
import requests
import json
import numpy as np
import cv2
# 待预测数据
text = ["百度是一家高科技公司"]
# 设置运行配置
return_visual = True
data = {"texts": text, "return_visual": return_visual}
# 指定预测方法为DuDepParser并发送post请求,content-type类型应指定json方式
url = "http://0.0.0.0:8866/predict/ddparser"
headers = {"Content-Type": "application/json"}
r = requests.post(url=url, headers=headers, data=json.dumps(data))
results = r.json()['results']
for i in range(len(results)):
print(results[i]['word'])
# 不同于本地调用parse接口,serving返回的图像是list类型的,需要先用numpy加载再显示或保存。
cv2.imwrite('%s.jpg'%i, np.array(results[i]['visual']))
关于PaddleHub Serving更多信息参考服务部署
paddlepaddle >= 1.8.2
paddlehub >= 1.7.0
1.0.0
初始发布