我想提取干净的三元组形式的(主题,关系,对象)从艾伦NLP开放IE预测模型。
目前,我看到这些步骤如下
OIE_output = predictor_OIE.predict(sentence=sent)
for verb in OIE_output['verbs']:
srl_output = predictor_OIE.make_srl_string(words,verb['tags'])srl_output在打印时会给出句子中的标签,例如:
ARG0:雷神技术公司研究,开发,和V:制造ARGM-LOC:在航空航天和国防工业,C 1:包括飞机发动机,航空电子,航空结构,网络安全。
问题是,我找不到任何代码来将像这样的例句转换成表单的多个元组(主题、关系、对象)。特别是,特殊类型的标签,如ARGM-LOC和ARGM-ADV使事情变得更加困难.
我已经看过过时的Github存储库https://github.com/gabrielStanovsky/supervised_oie_wrapper (它不完全创建这些类型的元组),我在AllenNLP中能找到的最接近这个函数是make_srl_string方法,但是输出仍然需要后置处理才能创建元组。
是否有从AllenNLP开放IE模型创建元组的代码?如果没有,可以添加此功能吗?
github问题https://github.com/allenai/allennlp/issues/4857中的详细说明
发布于 2020-12-12 03:12:56
AllenNLP目前还没有这种能力,但我认为将其添加到SRLPredictor类并不困难。如果你这样做了,请给我们一个拉请求!
https://stackoverflow.com/questions/65147947
复制相似问题