天天看點

PaddleHub預訓練模型DDParser完成句法分析(1.8環境)PaddleHub預訓練模型DDParser完成句法分析

目錄

  • 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
           

二、定義待預測資料

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

實作效果
['百度', '是', '一家', '高科技', '公司']
           

三、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="百度是一家高科技公司"
           

點我進入項目

繼續閱讀