我正在寻找一种合适的方法来寻找在我所看到的一些文档中,特定代词在指代实例中被使用的实例。一个是我的记忆有问题,这让我觉得我没有用一种非常经济的方式来做,但我也不确定我是否以正确的方式去做。我们的想法是识别它的所有实例,以及它们目前在共指代实例中的实例,但是我可能想扩展一下。然后我想继续用共指代这个词替换所有这些实例。在
目前我的代码如下:
import spacy
import neuralcoref
import en_coref_md
import os
nlp_en = en_coref_md.load()
path = './input_zenodo/'
filelist = os.listdir(path)
for file in filelist:
try:
file = open(path+file).read()
doc = nlp_en(file)
is_pronoun = 'it'
except MemoryError:
print('MemoryError:'+file+'\n')
for token in doc:
if token.text == is_pronoun:
print(token._.in_coref)
print(token._.coref_clusters)
如果有人能给我一些建议,说明如何更经济地完成这项工作,或者建议如何在一个文档中只替换这些共指集群,我将不胜感激。在
如果您只想将每个引用替换为其头部,
neuralcoref
中有一个内置的coref_resolved
属性:退货
^{pr2}$实现它的代码是here,如果您真的只想解析代词,而不是所有的coref,那么这里似乎是修改它的地方。在
相关问题 更多 >
编程相关推荐