ltp icon indicating copy to clipboard operation
ltp copied to clipboard

为什么SRL识别能力很低?被动句都不能处理?

Open Crysflair opened this issue 3 years ago • 3 comments

def parse_srl(ltp, sent):
    seg, hidden = ltp.seg([sent])
    seg = seg[0]
    srl = ltp.srl(hidden, keep_empty=False)
    srl = srl[0]
    for pred, args in srl:
        di = {}
        for name, start, end in args:
            di[name] = seg[start:end + 1]
        print(f"{seg[pred]} -> {di}")


ltp = LTP("base2")


parse_srl(ltp, "兔子咬了我")
# 咬 -> {'A0': ['兔子'], 'A1': ['我']}
parse_srl(ltp, "我被兔子咬了")
# 咬 -> {'A0': ['兔子']}

貌似pyltp可以处理? 试过了small, base, base2 都不能处理被动句。

Crysflair avatar Mar 07 '22 17:03 Crysflair

有意思,似乎得用AMR:https://hanlp.hankcs.com/?sentence=我被兔子咬了#amr

botissue avatar May 08 '22 04:05 botissue

我也遇到了一样的问题,旧的pyltp反而可以处理被动句

Dorado607 avatar Sep 20 '22 10:09 Dorado607

二者的训练语料不一样

AlongWY avatar Sep 20 '22 13:09 AlongWY