首页 > 解决方案 > 如何通过比较结构改善 nlp 文本歧义?

问题描述

我想修改这句话:

“税前亏损总计 30 万欧元,而 2005 年第一季度亏损 220 万欧元。”

因为我的分类器预测 'negative',但它的标签是 'positive' 。

有没有办法修改句子,让分类器在训练过程中理解这个句子是正面的,例如比较数字并创建一个将其转换为正面的句子?

输出所需示例:

“税前亏损190万欧元”

或者

“税前亏损总计 30 万欧元,与 2005 年第一季度的亏损 220 万欧元相比,增加了 190 万欧元的利润”

我正在尝试这个:

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

标签: pythonnlpspacysentence

解决方案


推荐阅读