Hanlp 依存句法分析

代码:

 1 from pyhanlp import *
 2 
 3 if __name__=="__main__":
 4     sentence=HanLP.parseDependency("1998年11月11日,马化腾和同学张志东在广东省深圳市正式注册成"
 5                                "立‘深圳市腾讯计算机系统有限公司’。")
 6     #print(sentence)
 7 
 8     print(dir(sentence))
 9     for word in sentence.iterator():#dir()可以查看sentence的方法
10         print("%s --(%s)--> %s" % (word.LEMMA, word.DEPREL, word.HEAD.LEMMA))
11     print()
12 
13     # 也可以直接拿到数组,任意顺序或逆序遍历
14     word_array=sentence.getWordArray()
15     for word  in word_array:
16         print("%s --(%s)--> %s" % (word.LEMMA, word.DEPREL, word.HEAD.LEMMA))
17     print()
18 
19     # 还可以直接遍历子树,从某棵子树的某个节点一路遍历到虚根
20     CoNLLWord = JClass("com.hankcs.hanlp.corpus.dependency.CoNll.CoNLLWord")
21     head = word_array[12]
22     while head.HEAD:
23         head = head.HEAD
24         if (head == CoNLLWord.ROOT):
25             print(head.LEMMA)
26         else:
27             print(" % s - -(% s) --> " % (head.LEMMA, head.DEPREL))

 

posted @ 2020-10-15 21:35  博二爷  阅读(1614)  评论(0编辑  收藏  举报