解析 – 斯坦福分析师:如何提取依赖关系?
发布时间:2020-12-13 20:09:01 所属栏目:百科 来源:网络整理
导读:我的工作在于在句子中查找查询(可以是名词动词),然后提取对象. 例如:“编码有时是一项艰巨的工作.”我的疑问是:“编码是”. 我得到的类型依赖是: nsubj(work-6,coding-1) cop(work-6,is-2) advmod(work-6,sometimes-3)det(work-6,a-4)amod(work-6,tough-5
我的工作在于在句子中查找查询(可以是名词动词),然后提取对象.
例如:“编码有时是一项艰巨的工作.”我的疑问是:“编码是”. 我得到的类型依赖是: nsubj(work-6,coding-1) cop(work-6,is-2) advmod(work-6,sometimes-3) det(work-6,a-4) amod(work-6,tough-5) 我的程序应该提取nsubj依赖项,将“编码”识别为查询并保存“工作”. 可能这看起来很简单,但直到现在,我还没有找到能够提取特定类型依赖关系的方法,我真的需要这个来完成我的工作. 欢迎任何帮助,
您可以通过以下代码找到依赖项:
Tree tree = sentence.get(TreeAnnotation.class); // Get dependency tree TreebankLanguagePack tlp = new PennTreebankLanguagePack(); GrammaticalStructureFactory gsf = tlp.grammaticalStructureFactory(); GrammaticalStructure gs = gsf.newGrammaticalStructure(tree); Collection<TypedDependency> td = gs.typedDependenciesCollapsed(); System.out.println(td); Object[] list = td.toArray(); System.out.println(list.length); TypedDependency typedDependency; for (Object object : list) { typedDependency = (TypedDependency) object; System.out.println("Depdency Name"typedDependency.dep().nodeString()+ " :: "+ "Node"+typedDependency.reln()); if (typedDependency.reln().getShortName().equals("something")) { //your code } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |