大数据人|大数据第一社区

 找回密码
 注册会员

扫一扫,访问微社区

查看: 634|回复: 0
打印 上一主题 下一主题

pyhanlp 两种依存句法分类器

[复制链接]
  • TA的每日心情

    2018-9-28 11:05
  • 签到天数: 1 天

    [LV.1]初来乍到

    109

    主题

    109

    帖子

    570

    积分

    高级会员

    Rank: 4

    积分
    570
    跳转到指定楼层
    楼主
    发表于 2018-12-21 13:15:22 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
    依存句法分析器
    在HanLP中一共有两种句法分析器
    ·依存句法分析
    (1)基于神经网络的高性能依存句法分析器
    (2)MaxEnt依存句法分析
    基于神经网络的高性能依存句法分析器
    HanLP中的基于神经网络的高性能依存句法分析器参考的是14年Chen&Manning的论文(A Fast and Accurate Dependency Parser using Neural Networks),这里还有一个发在了Github的实现程序,其实现语言为Python。除此之外,你还可以参考ljj123zz 的CSDN 一篇博客:blog.csdn.net/ljj123zz/article/details/78834838
    HanLP作者的原文介绍已经写得比较清楚,唯一要注意的是原文章中介绍的依存句法分析器为早期版本,输出的依存关系为英文,现在应该变为中文,而且从测试结果看,训练语料应该已经更新了,但是更新为了那个语料现在还不会是很清楚。
    (hanlp开源项目负责人hankcs)
    基于最大熵的依存句法分析器
    经过测试这个句法分析器为真的很坑,绝对不建议使用,测试代码见最后,作者原文介绍请点击击www.hankcs.com/nlp/parsing/to-ac ... endency-parser.html
    下面是使用的例子
    基于神经网络的高性能依存句法分析器
    from pyhanlp import *
    # 依存句法分析
    sentence = HanLP.parseDependency("徐先生还具体帮助他确定了把画雄鹰、松鼠和麻雀作为主攻目标。")

    print(sentence)

    for word in sentence.iterator():  # 通过dir()可以查看sentence的方法
        print("%s --(%s)--> %s" % (word.LEMMA, word.DEPREL, word.HEAD.LEMMA))
    print()

    # 也可以直接拿到数组,任意顺序或逆序遍历
    word_array = sentence.getWordArray()
    for word in word_array:
        print("%s --(%s)--> %s" % (word.LEMMA, word.DEPREL, word.HEAD.LEMMA))
    print()

    # 还可以直接遍历子树,从某棵子树的某个节点一路遍历到虚根
    CoNLLWord = JClass("com.hankcs.hanlp.corpus.dependency.CoNll.CoNLLWord")
    head = word_array[12]
    while head.HEAD:
        head = head.HEAD
        if (head == CoNLLWord.ROOT):
            print(head.LEMMA)
        else:
            print("%s --(%s)--> " % (head.LEMMA, head.DEPREL))
    1        徐先生        徐先生        nh        nr        _        4        主谓关系        _        _
    2        还        还        d        d        _        4        状中结构        _        _
    3        具体        具体        a        ad        _        4        状中结构        _        _
    4        帮助        帮助        v        v        _        0        核心关系        _        _
    5        他        他        r        r        _        4        兼语        _        _
    6        确定        确定        v        v        _        4        动宾关系        _        _
    7        了        了        u        u        _        6        右附加关系        _        _
    8        把        把        p        p        _        15        状中结构        _        _
    9        画        画        v        v        _        8        介宾关系        _        _
    10        雄鹰        雄鹰        n        n        _        9        动宾关系        _        _
    11        、        、        wp        w        _        12        标点符号        _        _
    12        松鼠        松鼠        n        n        _        10        并列关系        _        _
    13        和        和        c        c        _        14        左附加关系        _        _
    14        麻雀        麻雀        n        n        _        10        并列关系        _        _
    15        作为        作为        v        v        _        6        动宾关系        _        _
    16        主攻        主攻        v        vn        _        17        定中关系        _        _
    17        目标        目标        n        n        _        15        动宾关系        _        _
    18        。        。        wp        w        _        4        标点符号        _        _

    徐先生 --(主谓关系)--> 帮助
    还 --(状中结构)--> 帮助
    具体 --(状中结构)--> 帮助
    帮助 --(核心关系)--> ##核心##
    他 --(兼语)--> 帮助
    确定 --(动宾关系)--> 帮助
    了 --(右附加关系)--> 确定
    把 --(状中结构)--> 作为
    画 --(介宾关系)--> 把
    雄鹰 --(动宾关系)--> 画
    、 --(标点符号)--> 松鼠
    松鼠 --(并列关系)--> 雄鹰
    和 --(左附加关系)--> 麻雀
    麻雀 --(并列关系)--> 雄鹰
    作为 --(动宾关系)--> 确定
    主攻 --(定中关系)--> 目标
    目标 --(动宾关系)--> 作为
    。 --(标点符号)--> 帮助

    徐先生 --(主谓关系)--> 帮助
    还 --(状中结构)--> 帮助
    具体 --(状中结构)--> 帮助
    帮助 --(核心关系)--> ##核心##
    他 --(兼语)--> 帮助
    确定 --(动宾关系)--> 帮助
    了 --(右附加关系)--> 确定
    把 --(状中结构)--> 作为
    画 --(介宾关系)--> 把
    雄鹰 --(动宾关系)--> 画
    、 --(标点符号)--> 松鼠
    松鼠 --(并列关系)--> 雄鹰
    和 --(左附加关系)--> 麻雀
    麻雀 --(并列关系)--> 雄鹰
    作为 --(动宾关系)--> 确定
    主攻 --(定中关系)--> 目标
    目标 --(动宾关系)--> 作为
    。 --(标点符号)--> 帮助

    麻雀 --(并列关系)-->
    雄鹰 --(动宾关系)-->
    画 --(介宾关系)-->
    把 --(状中结构)-->
    作为 --(动宾关系)-->
    确定 --(动宾关系)-->
    帮助 --(核心关系)-->
    ##核心##
    最大熵依存句法分析器
    MaxEntDependencyParser = JClass("com.hankcs.hanlp.dependency.MaxEntDependencyParser")

    print("hankcs每天都在写程序")
    print(MaxEntDependencyParser.compute("hankcs每天都在写程序"))
    print("吴彦祖每天都在写程序")
    print(MaxEntDependencyParser.compute("吴彦祖每天都在写程序"))
    hankcs每天都在写程序
    1        hankcs        hankcs        x        x        _        6        限定        _        _
    2        每天        每天        r        r        _        5        施事        _        _
    3        都        都        d        d        _        5        程度        _        _
    4        在        在        d        d        _        5        程度        _        _
    5        写        写        v        v        _        0        核心成分        _        _
    6        程序        程序        n        n        _        5        内容        _        _

    吴彦祖每天都在写程序
    1        吴彦祖        吴彦祖        n        nr        _        5        施事        _        _
    2        每天        每天        r        r        _        5        施事        _        _
    3        都        都        d        d        _        5        程度        _        _
    4        在        在        d        d        _        5        程度        _        _
    5        写        写        v        v        _        0        核心成分        _        _
    6        程序        程序        n        n        _        5        内容        _        _



    困啊,想睡觉的呢
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册会员

    本版积分规则

    关闭

    站长推荐上一条 /2 下一条


    id="mn_portal" >首页Portalid="mn_P18" onmouseover="navShow('P18')">应用id="mn_P15" onmouseover="navShow('P15')">技术id="mn_P37" onmouseover="showMenu({'ctrlid':this.id,'ctrlclass':'hover','duration':2})">前沿id="mn_P36" onmouseover="navShow('P36')">宝箱id="mn_P61" onmouseover="showMenu({'ctrlid':this.id,'ctrlclass':'hover','duration':2})">专栏id="mn_P65" >企业id="mn_Nd633" >导航 折叠导航 关注微信 关注微博 关注我们

    QQ|广告服务|关于我们|Archiver|手机版|小黑屋|大数据人 ( 鄂ICP备14012176号-2  

    GMT+8, 2024-5-17 20:03 , Processed in 0.264577 second(s), 32 queries .

    Powered by 小雄! X3.2

    © 2014-2020 bigdataer Inc.

    快速回复 返回顶部 返回列表