问题标签 [coreference-resolution]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
247 浏览

nlp - NLP:解决块中的共指代词

我计划在书籍语料库上执行我的 NLP 管道。由于解决共同引用是一个密集的过程,我将无法一次处理整本书甚至整章。我正计划将文本分成相当大的块来解决共指问题。

我需要帮助的问题是,Group2当他们引用的名词位于Group1. 有没有办法将依赖项从Group1以下组播种?如果不是,通常如何处理?

对于它的价值,我正在使用 CoreNLP,但我对其他人持开放态度。

“第一组”:乔治出生在纽约。乔治 10 岁。

“第二组”:他喜欢纽约市。

0 投票
1 回答
853 浏览

python-3.x - 理解和使用共指解析斯坦福 NLP 工具(在 Python 3.7 中)

我正在尝试了解 Coreference NLP Stanford 工具。 这是我的代码,它正在工作

我尝试了三种算法:

  1. 统计(如上面的代码)。结果
  1. 神经
  1. 确定性(我得到下面的错误)

问题:

  1. 为什么我会遇到确定性错误?

  2. 在 Python 中使用 NLP 斯坦福的任何代码似乎都比与 Spacy 或 NLTK 相关的代码慢得多。我知道这些其他库中没有共同引用。但是例如,当我import nltk.parse.stanford import StanfordDependencyParser用于依赖解析时,它比这个 StanfordNLP 库快得多。有什么方法可以在 Python 中加速这个 CoreNLPClient 吗?

  3. 我将使用这个库来处理长文本。将较小的部分与整个文本一起使用会更好吗?长文本会导致共指解析的错误结果(当我使用长文本时,我发现这个共指库的结果非常奇怪)?有最佳尺寸吗?

  4. 结果:

统计算法的结果似乎更好。我预计最好的结果将来自神经算法。你是否同意我的观点?统计算法中有 4 个有效提及,而我使用神经算法时只有 2 个。

我错过了什么吗?

0 投票
4 回答
3731 浏览

python-3.x - 如何在 Spacy 中使用神经核函数

我一直在尝试使用该库neuralcoref:基于神经网络和 spaCy 的最先进的共指解析。我在 conda 1.9.7 和 Spacy 2.2.4 中使用 Ubuntu 16.04、Python 3.7.3。

我的代码(来自https://spacy.io/universe/project/neuralcoref):

我有这个错误

我已尝试按照此链接的建议将 Spacy 的版本降级到 2.1.0 :

但是,我无法

如何在不降级的情况下解决此问题?是否有任何新的更新版本的neuralcoref?

0 投票
1 回答
193 浏览

nlp - 每个句子与 NeuralCoref 中的哪些共指链相关?

我正在使用神经核来解决文本中的共指解析任务。

我想知道每个句子都提到了哪些共指集群。例如,sentence1 有来自共指集群 1 和 4 的提及;第 2 句提到了来自共指集群 10 、 14 的内容。

我怎样才能做到这一点?

0 投票
2 回答
550 浏览

python - spacy 中的 en_coref_lg 模型

嗨,我正在 python 中尝试一个简单的 coref 解析代码

它显示以下错误:

如果我尝试en_coref_lg使用 python安装,-m spacy download en_coref_lg那么它会显示

我应该怎么办 ?

0 投票
1 回答
303 浏览

python - 把名词改成代词造句

我想用它的代词替换句子中的名词。我将使用它为 NLP 任务创建数据集。例如,如果我的句子是 -->

“杰克和瑞恩是朋友。杰克也是米歇尔的朋友。”

然后我想用“He”替换第二个 Jack(斜体和粗体)。我已经完成了 POS 标记以在我的句子中找到名词。但我不知道如何从这里开始。如果我有一个可以使用的所有可能代词的列表,是否有语料库或系统可以告诉我这个词最合适的代词?

0 投票
2 回答
394 浏览

python - 用前面提到的人替换人称代词(嘈杂的 coref)

我想做一个嘈杂的解决方案,这样给定一个人称代词,该代词被前一个(最近的)人替换。

例如:

Alex is looking at buying a U.K. startup for $1 billion. He is very confident that this is going to happen. Sussan is also in the same situation. However, she has lost hope.

输出是:

Alex is looking at buying a U.K. startup for $1 billion. Alex is very confident that this is going to happen. Sussan is also in the same situation. However, Susan has lost hope.

另一个例子,

Peter is a friend of Gates. But Gates does not like him.

在这种情况下,输出将是:

Peter is a friend of Gates. But Gates does not like Gates.

是的!这是超级吵。

使用 spacy:我已经提取了Personusing NER,但是如何适当地替换代词?

代码:

0 投票
0 回答
67 浏览

python - 共指解析中命名实体的重复

我正在尝试使用 neurocoref 查找以下文本的共同引用:

艾伦和布鲁德是克里斯和唐纳德的好朋友。艾伦和布鲁德想去黎巴嫩,而克里斯和唐纳德想留在美国。克里斯和唐纳德还没有下定决心,但很快就会到达那里。艾伦和布鲁德不想分开,但似乎别无选择。

代码:

coref 集群的输出:

coref 分辨率的输出:

艾伦和布鲁德是克里斯和唐纳德的好朋友。Alan 和 Bruder 想前往黎巴嫩,而 Chris 和 Donald Donald 想留在美国。Chris 和 Donald Donald还没有决定 Chris 和 Donald 的想法,但很快就会达成。艾伦和布鲁德不想分开,但似乎别无选择。

根据提到的输出,我得到了 Chris 和 Donald 的正确聚类,但是当我尝试解决这些共指时,Donald 在结果中重复了两次。

有人可以帮助我了解这里可能出了什么问题吗?

0 投票
0 回答
27 浏览

python - 用于共指解析的 Corefgraph

我想使用 corefgraph 执行基于规则的共指解析。我找不到任何有关使用 corefgraph 的代码。有人可以为我提供在 corefgraph 上工作以解决共指问题的示例代码吗?

0 投票
1 回答
364 浏览

bert-language-model - 尝试在 onnotes 上训练 AllenNLP 共指解析模型:让 CUDA 内存不足

我正在尝试使用以下配置文件在 16GB GPU 上训练 AllenNLP 共指模型:https ://github.com/allenai/allennlp-models/blob/main/training_config/coref/coref_spanbert_large.jsonnet

我使用此脚本创建了训练、测试和开发文件:https ://github.com/allenai/allennlp/blob/master/scripts/compile_coref_data.sh

我几乎立即将 CUDA 内存不足,因此我尝试将“spans_per_word”和“max_antecedents”更改为较低的值。将 spans_per_words 设置为 0.1 而不是 0.4,我可以运行更长的时间,但不会接近完整的 epoch。16GB GPU 还不够吗?或者我可以尝试更改其他参数吗?

回溯(最后一次调用):文件“/home/ubuntu/anaconda3/envs/allennlp/bin/allennlp”,第 8 行,在 sys.exit(run()) 文件“/home/ubuntu/anaconda3/envs/allennlp”中/lib/python3.7/site-packages/allennlp/main .py”,第 34 行,在运行main (prog="allennlp") 文件“/home/ubuntu/anaconda3/envs/allennlp/lib/python3.7/站点包/allennlp/commands/ init.py”,第 119 行,在主 args.func(args) 文件中“/home/ubuntu/anaconda3/envs/allennlp/lib/python3.7/site-packages/allennlp/commands/train.py”,第 119 行,在 train_model_from_args file_friendly_logging=args.file_friendly_logging,文件“/home/ubuntu/anaconda3/envs/allennlp/lib/python3.7/site-packages/allennlp/commands/train.py”,第 178 行,在 train_model_from_file file_friendly_logging=file_friendly_logging,文件“/home/ubuntu/anaconda3/envs/allennlp/lib/python3.7/site-packages/allennlp/commands/train.py”,第 242 行,在 train_model file_friendly_logging=file_friendly_logging,文件“/home/ubuntu/anaconda3/envs /allennlp/lib/python3.7/site-packages/allennlp/commands/train.py”,第 466 行,在 _train_worker 指标 = train_loop.run() 文件“/home/ubuntu/anaconda3/envs/allennlp/lib/python3 .7/site-packages/allennlp/commands/train.py”,第 528 行,在运行中返回 self.trainer.train() 文件“/home/ubuntu/anaconda3/envs/allennlp/lib/python3.7/site-packages /allennlp/training/trainer.py”,第 740 行,在训练指标中,epoch = self._try_train() 文件“/home/ubuntu/anaconda3/envs/allennlp/lib/python3.7/site-packages/allennlp/training /trainer.py”,第 772 行,在 _try_train train_metrics = self._train_epoch(epoch) 文件“/home/ubuntu/anaconda3/envs/allennlp/lib/python3.7/site-packages/allennlp/training/trainer.py” ,第 523 行,_train_epoch loss.backward() 文件“/home/ubuntu/anaconda3/envs/allennlp/lib/python3.7/site-packages/torch/tensor.py”,第 245 行,后向 torch.autograd。向后(自我,渐变,retain_graph,create_graph,输入=输入)文件“/home/ubuntu/anaconda3/envs/allennlp/lib/python3.7/站点包/火炬/autograd/init .py",第 147 行,后向 allow_unreachable=True,accumulate_grad=True) # allow_unreachable flag RuntimeError: CUDA out of memory. 试图分配 1.33 GiB(GPU 0;14.76 GiB 总容量;11.69 GiB 已分配;639.75 MiB 可用; PyTorch 总共保留了 13.09 GiB)