как улучшить неоднозначность текста нлп с помощью сравнительной конструкции?

#python #nlp #spacy #sentence

Вопрос:

я хочу изменить это предложение:

«Убыток до налогообложения составил 0,3 миллиона евро по сравнению с убытком в 2,2 миллиона евро в первом квартале 2005 года».

потому что мой классификатор предсказывает «отрицательный», но его метка «положительная» .

существует способ изменить предложение, чтобы классификатор во время обучения понял, что это предложение положительное, например, сравнить числа и создать предложение, которое преобразует его в положительное?

вывод желаемого примера:

«Убыток до налогообложения составил 1,9 млн евро »

или

«Убыток до налогообложения составил 0,3 млн евро по сравнению с убытком в 2,2 млн евро в первом квартале 2005 года , увеличив прибыль на 1,9 млн евро».

я пытаюсь это сделать:

 for doc in nlp.pipe(TEXTS):
   for token in doc:
        if token.ent_type_ == "MONEY":
    
           if token.dep_ in ("attr", "dobj"):
            subj = [w for w in token.head.lefts if w.dep_ == "nsubj"]
            if subj:
                print(subj[0], "-->", token)
    
        elif token.dep_ == "pobj" and token.head.dep_ == "prep":
            print(token.head.head, "-->", token)

output:

Net income --> $9.4 million
the prior year --> $2.7 million
Pre-tax loss --> euro 0.3 million
a loss --> euro 2.2 million