美文网首页
依存句法树baidu-DDParser工具使用

依存句法树baidu-DDParser工具使用

作者: 逍遥_yjz | 来源:发表于2022-11-17 09:10 被阅读0次

1. 依存句法分析简介

依存句法分析旨在通过分析句子中词语之间的依存关系来确定句子的句法结构。其中依存句法分析标注关系集合如下图所示:


于是一个实例如下图所示:


通过给出的依存句法分析标注关系集合可以进行对应:“是”这句话中的核心;“百度”和“是”之间存在主谓关系,“百度”是主语,“是”是谓语;“一家”、“高科技”和“公司”之间存在着定中关系(定语与中心词的关系),个人理解既可以说是“一家公司”,也可以说是“高科技公司”;“是”和“公司”之间存在着动宾关系。

依存句法分析作为底层技术,可直接用于提升其他NLP任务的效果,这些任务包括语义角色标注、语义匹配、事件抽取等。

2. 环境依赖安装

依赖环境:

一键安装

pip install ddparser==1.0.6
python -m pip install paddlepaddle==2.3.1 -i https://mirror.baidu.com/pypi/simple
# Successfully installed opt-einsum-3.3.0 paddle-bfloat-0.1.7 paddlepaddle-2.3.1

# https://github.com/baidu/lac
pip install lac==2.1.2 # Successfully installed lac-2.1.2
# 安装速率更快:pip install lac==2.1.2 -i https://mirror.baidu.com/pypi/simple
pip install tqdm==4.64.1 # 此版本号可选择或不选择

3. 功能使用

未分词方式

  • 代码示例
>>> from ddparser import DDParser
>>> ddp = DDParser()
>>> # 单条句子
>>> ddp.parse("百度是一家高科技公司")
[{'word': ['百度', '是', '一家', '高科技', '公司'], 'head': [2, 0, 5, 5, 2], 'deprel': ['SBV', 'HED', 'ATT', 'ATT', 'VOB']}]
>>> # 多条句子
>>> ddp.parse(["百度是一家高科技公司", "他送了一本书"])
[{'word': ['百度', '是', '一家', '高科技', '公司'], 'head': [2, 0, 5, 5, 2], 'deprel': ['SBV', 'HED', 'ATT', 'ATT', 'VOB']}, 
{'word': ['他', '送', '了', '一本', '书'], 'head': [2, 0, 2, 5, 2], 'deprel': ['SBV', 'HED', 'MT', 'ATT', 'VOB']}]
>>> # 输出概率和词性标签
>>> ddp = DDParser(prob=True, use_pos=True)
>>> ddp.parse(["百度是一家高科技公司"])
[{'word': ['百度', '是', '一家', '高科技', '公司'], 'postag': ['ORG', 'v', 'm', 'n', 'n'], 'head': [2, 0, 5, 5, 2], 'deprel': ['SBV', 'HED', 'ATT', 'ATT', 'VOB'], 'prob': [1.0, 1.0, 1.0, 1.0, 1.0]}]
>>> # buckets=True, 数据集长度不均时处理速度更快
>>> ddp = DDParser(buckets=True)
>>> # 使用GPU
>>> ddp = DDParser(use_cuda=True)

已分词方式

  • 代码示例
>>> from ddparser import DDParser
>>> ddp = DDParser()
>>> ddp.parse_seg([['百度', '是', '一家', '高科技', '公司'], ['他', '送', '了', '一本', '书']])
[{'word': ['百度', '是', '一家', '高科技', '公司'], 'head': [2, 0, 5, 5, 2], 'deprel': ['SBV', 'HED', 'ATT', 'ATT', 'VOB']}, 
{'word': ['他', '送', '了', '一本', '书'], 'head': [2, 0, 2, 5, 2], 'deprel': ['SBV', 'HED', 'MT', 'ATT', 'VOB']}]
>>> # 输出概率
>>> ddp = DDParser(prob=True)
>>> ddp.parse_seg([['百度', '是', '一家', '高科技', '公司']])
# 这里没有词性标签
[{'word': ['百度', '是', '一家', '高科技', '公司'], 'head': [2, 0, 5, 5, 2], 'deprel': ['SBV', 'HED', 'ATT', 'ATT', 'VOB'], 'prob': [1.0, 1.0, 1.0, 1.0, 1.0]}]

注:标签含义见依存句法分析标注关系集合==上图

{
    'word': list[str], 分词结果。
    'head': list[int], 当前成分其支配者的id。
    'deprel': list[str], 当前成分与支配者的依存关系。
    'prob': list[float], 从属者和支配者依存的概率。
    'postag': list[str], 词性标签,只有当texts的元素是未分词的字符串时包含这个键。
}

4. 实例

results = ddp.parse("清华大学研究核能的教授有哪些")

print(f'parse={results[0]}')
result = ddp.parse_seg([['清华大学', '研究', '核能', '的', '教授', '有', '哪些']])
print(print(f'parse_seg={result}'))

输出:

parse={'word': ['清华大学', '研究', '核能', '的', '教授', '有', '哪些'], 'postag': ['ORG', 'v', 'n', 'u', 'n', 'v', 'r'], 'head': [3, 3, 5, 3, 6, 0, 6], 'deprel': ['ATT', 'ATT', 'ATT', 'MT', 'SBV', 'HED', 'VOB']}
parse_seg=[{'word': ['清华大学', '研究', '核能', '的', '教授', '有', '哪些'], 'head': [3, 3, 5, 3, 6, 0, 6], 'deprel': ['ATT', 'ATT', 'ATT', 'MT', 'SBV', 'HED', 'VOB']}]

HanLP进一步封装:Dependency Tree Visualization

官网:
https://gitee.com/yeahking/DDParser
https://github.com/baidu/DDParser

相关文章

  • 依存句法树baidu-DDParser工具使用

    1. 依存句法分析简介 依存句法分析旨在通过分析句子中词语之间的依存关系来确定句子的句法结构。其中依存句法分析标注...

  • penn2malt

    penn2malt介绍 penn2malt总的来说,就是把短语句法树转成依存树。 具体了解这俩种树 这是终端调用的...

  • 依存句法分析器的简单实现

    生成式句法分析指的是,生成一系列依存句法树,从它们中用特定算法挑出概率最大那一棵。句法分析中,生成模型的构建主要使...

  • pyltp-依存句法分析例子

    最近工作中遇到依存句法相关的知识,特此记录一个简单实例: 使用哈工大的pyltp工具包进行依存句法分析:1.分词;...

  • 自然语言处理 依存树的可视化

    目标:NLP中依存树的可视化 首先需要准备的工具 Hanlp(借助hanlp神经网络的高性能依存句法分析器模型) ...

  • 句子分析

    工具 依存句法分析标注关系百度DDParser Label 关系类型 说明 示例SBV 主谓关系 ...

  • 依存

    人这一辈子就是互相”寄生“, 或者贴切点是互相依存, 就像我现在依赖于我的父母, 而他们老了之后又要依赖于我 ,我...

  • 依存

    依存 叶 轻轻地 轻轻地 落下 覆盖泥土 泥土掩埋 是落叶 是泥土 是落叶中的 泥土 是泥土里的 落叶 化为彼此的...

  • 依存

    大家都喜欢向日葵,因为它向阳,可是究竟是太阳给了它正能量,还是它本身具备了正能量。 玫瑰花很好看,因为有了绿叶的衬...

  • 句法分析

    句法分析之依存关系分析 依存关系分析定义:又称依存句法分析,简称依存分析,即分析识别句子中词与词之间的相互依存关系...

网友评论

      本文标题:依存句法树baidu-DDParser工具使用

      本文链接:https://www.haomeiwen.com/subject/hluexdtx.html