Проблема с тегом семантической маркировки ролей

Я пытаюсь извлечь причинно-следственные связи на уровне предложения. пока мой код работает, но почему-то возвращает неправильные аргументы.

Например, SRL demo для предложения «На наши результаты могут существенно неблагоприятно повлиять результаты судебного разбирательства, судебного разбирательства и других юридических или нормативных вопросов».

аргументом причины является «результаты судебного разбирательства, судебного разбирательства и других юридических или нормативных вопросов», и это соответствует A1 (также известному как Arg1).

      #requirements:
from allennlp.predictors import Predictor
predictor = pretrained.load_predictor(model_id="structured-prediction-srl-bert")
from transformers import AutoTokenizer
tokenizer = AutoTokenizer.from_pretrained("bert-base-uncased")

мой код для получения arg1:

      def extract_arg1(sentence):
  result = []
  try:
    try:
      output = predictor.predict(sentence)
    except Exception as e:
      print(e)
      tokenized_sentence = tokenizer(sentence, max_length=500, 
                                    truncation=True, 
                                    padding=False, 
                                    add_special_tokens=False)
      tokens = tokenized_sentence.tokens()
      output = predictor.predict_tokenized(sentence)
    for verb in output['verbs']:
      desc = verb['description']
      arg1_start = desc.find('ARG1: ')
      if arg1_start > -1:
        arg1_end = arg1_start + len('ARG1: ')
        arg1 = desc[arg1_end: desc.find(']')]
        result.append((verb['verb'], arg1))
    return result
  except Exception as e:
    print(e)
    return -1


#loop over all sentences
from tqdm.notebook import tqdm
tqdm.pandas()

df['Arg1'] = df.sentence.progress_apply(extract_arg1)

однако этот процесс возвращает: [(затронутые, наши результаты)], но мне нужно [(затронутые, результаты судебного разбирательства, судебного разбирательства и других юридических или нормативных вопросов)]

0 ответов

Другие вопросы по тегам