目录

  • PaddleHub预训练模型DDParser完成句法分析
  • DDParser
  • 一、安装新版Hub和依赖
  • 二、定义待预测数据
  • 三、API预测
  • 四、加载预训练模型并预测
  • 五、命令行预测

PaddleHub预训练模型DDParser完成句法分析

DDParser

DDParser(Baidu Dependency Parser)是百度NLP基于大规模标注数据和深度学习平台飞桨研发的中文依存句法分析工具,可帮助用户直接获取输入文本中的关联词对、长距离依赖词对等。

NOTE: 如果您在本地运行该项目示例,需要首先安装PaddleHub。如果您在线运行,需要首先fork该项目示例。之后按照该示例操作即可。

DDParser模型:https://www.paddlepaddle.org.cn/hubdetail?name=ddparser&en_category=SyntacticAnalysis

环境:PaddlePaddle1.8.4 PaddleHub1.8.3 DDParser 1.0.0(最新版)

一、安装新版Hub和依赖

!pip install paddlehub==1.8.3 -i https://pypi.tuna.tsinghua.edu.cn/simple
!pip install ddparser

二、定义待预测数据

本示例以“百度是一家高科技公司”为例

实现效果

['百度', '是', '一家', '高科技', '公司']
test_text = ["百度是一家高科技公司"]

三、API预测

parse(texts=[], return_visual=False)

依存分析接口,输入文本,输出依存关系。

参数

  • texts(list[list[str] or list[str]]): 待预测数据。各元素可以是未分词的字符串,也可以是已分词的token列表。
  • return_visual(bool): 是否返回依存分析可视化结果。如果为True,返回结果中将包含’visual’字段。

返回

  • results(list[dict]): 依存分析结果。每个元素都是dict类型,包含以下信息:
{
    'word': list[str], 分词结果。
    'head': list[int], 当前成分其支配者的id。
    'deprel': list[str], 当前成分与支配者的依存关系。
    'prob': list[float], 从属者和支配者依存的概率。
    'postag': list[str], 词性标签,只有当texts的元素是未分词的字符串时包含这个键。
    'visual': 图像数组,可以使用cv2.imshow显示图像或cv2.imwrite保存图像。
}

visualize(word, head, deprel)
可视化接口,输入依存分析接口得到的信息,输出依存图形数组。

参数

  • word(list[list[str]): 分词信息。
  • head(list[int]): 当前成分其支配者的id。
  • deprel(list[str]): 当前成分与支配者的依存关系。

返回

  • data(numpy.array): 图像数组。可以使用cv2.imshow显示图像或cv2.imwrite保存图像。

四、加载预训练模型并预测

import cv2
import paddlehub as hub

module = hub.Module(name="ddparser")

results = module.parse(texts=test_text)
print(results[0]['word'])
# 可视化这里不做演示,请在本地执行
# 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)

五、命令行预测

!hub run ddparser --input_text="百度是一家高科技公司"

点我进入项目