gpt4 book ai didi

python - 寻找 coref 实例中涉及的特定 token - Spacy 和 Neuralcoref

转载 作者:行者123 更新时间:2023-12-01 01:14:04 28 4
gpt4 key购买 nike

我正在寻找一种适当的方法来查找我正在查看的某些文档中的共指实例中使用了特定代词的实例。一是我的内存力有问题,这让我觉得我没有以一种非常经济的方式来做这件事,但我也不确定我是否以正确的方式去做。这个想法是暂时识别它的所有实例以及它们在共指实例中,但我可能想扩展它。然后我想继续用共指的中心词替换所有这些实例。

目前我的代码如下所示:

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 属性:

import spacy
nlp = spacy.load('en_coref_lg')
text = "Rufus is my dog. He is a good boy."
doc = nlp(text)

print(doc._.coref_resolved)

返回

"Rufus is my dog. Rufus is a good boy."

实现它的代码是here ,如果您真的只想解析代词而不是所有 coref,那么这似乎是修改它的地方。

关于python - 寻找 coref 实例中涉及的特定 token - Spacy 和 Neuralcoref,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54538077/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com