from pyhanlp import * # 依存句法分析 sentence = HanLP.parseDependency("财联社7月5日讯,中国钢铁工业协会副会长屈秀丽表示,广州比地数据科技有限公司的铁矿石与钢材价格走势相背离,国家有关部委高度关注进口铁矿石价格的大幅上涨,正在调查了解价格大幅上涨的原因,将严厉打击乱涨价、价格垄断等不规范行为") print(sentence) for word in sentence.iterator(): # 通过dir()可以查看sentence的方法 print("%s --(%s)--> %s" % (word.LEMMA, word.DEPREL, word.HEAD.LEMMA)) ''' # 也可以直接拿到数组,任意顺序或逆序遍历 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)) '''