SRL对于否定成分的处理

HanLP在线演示 二氧化碳不能超过0.5%; (hankcs.com)

不能、不该 不可以识别

HanLP在线演示 二氧化碳不应超过0.5%; (hankcs.com)

不应、不得 则可以识别,(‘不应’, ‘ARGM-ADV’)

我本地也试验过不同的模型,,CLOSE_TOK_POS_NER_SRL_DEP_SDP_CON_ERNIE_GRAM_ZH能基本抽取出 “不应”,而对“不得”的处理很不好;CLOSE_TOK_POS_NER_SRL_DEP_SDP_CON_ELECTRA_BASE_ZH则基本能抽取出 “不得”,而对“不应”的处理很不好;

CPB3_SRL_ELECTRA_SMALL 模型处理这种问题时也不稳定

这个问题是由于细分标准跟CTB不兼容导致的,用CTB系列的分词器就行了:Google Colab

1 Like

感谢回复。我发现对于否定成分得处理,可能本地通过pipeline,使用CPB3_SRL_ELECTRA_SMALL 模型,表现会更为优异。

不加自定义词典(”不应“,”不该“)等,则会更加理想,基本可抽出”不“这个否定词。 然后,我试着使用COARSE_ELECTRA_SMALL_ZH和CTB9_TOK_ELECTRA_SMALL进行分词,这方面影响不大。同时发现,粗分、细分对这方面影响不大。

至于在线演示以及联合处理模型,则不太稳定,不过也可以达到不错的准确率。

HanLP在线演示 甲烷浓度不得小于0.5%。 (hankcs.com)

也期待着HanLP的srl能够更进一步。

有影响的。这些不+情态词的词语,在CTB/CPB中都是切分开的。只要切分开了,CPB3_SRL_ELECTRA_SMALL就可以召回“不”作为ADV。细分标准两者是合并的,所以有时候不能召回。

下一步准备以CTB为标准校对细分标准,也就不存在分词颗粒度不一致导致的SRL准确率下降的问题了。

1 Like