Stanford Stanza-依赖性分析模块-多于一个句子的文档的输出

问题描述

当要解析的文档包含多个句子时,我有一个关于格式化依赖项解析模块输出查询

Stanza手册(https://stanfordnlp.github.io/stanza/depparse.html)中使用依赖项解析模块的示例之一如下:

import stanza
nlp = stanza.Pipeline(lang='fr',processors='tokenize,mwt,pos,lemma,depparse')
doc = nlp('Nous avons atteint la fin du sentier.')
print(*[f'id: {word.id}\tword: {word.text}\thead id: {word.head}\thead: {sent.words[word.head-1].text if word.head > 0 else "root"}\tdeprel: {word.deprel}' for sent in doc.sentences for word in sent.words],sep='\n')

此示例仅包含一个句子。我想为一个具有多个句子的文档修改代码。更具体地说,我想修改代码,以便所有行都包含对相关句子编号的引用。

以下是我本人的想法:

import stanza 
nlp = stanza.Pipeline(lang='en',depparse ')
doc = nlp("Chris Manning teaches at Stanford University. He lives in the Bay Area.")
for i,sentence in enumerate(doc.sentences):
     print(*[f'sentence: {i+1}\tid: {word.id}\tword: {word.text}\thead id: {word.head}\thead: {sentence.words[word.head-1].text if word.head > 0 else "root"}\tdeprel: {word.deprel}' for word in sentence.words],sep='\n')

这似乎正常工作。但是,由于我几乎没有编写代码的经验,所以我非常想知道我提出的建议是否还可以,或者您是否建议您做一些不同的事情。

提前感谢您的时间和帮助。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)