我正在尝试用 python 在一个句子中查找动词来解决 NLP 问题。我在 stackoverflow 上找到了一个旧答案,它适用于已弃用的 pos_regex_matches。使用新的匹配功能我遇到了一个非常无聊的问题。新函数返回任何匹配,而不仅仅是最长的匹配(pos_regex_matches 会这样做)。
pattern = r'<VERB>*<ADV>*<VERB>+<PART>*'
verb_pattern = [{"POS": "VERB", "OP": "*"},{"POS": "ADV", "OP": "*"},{"POS": "VERB", "OP": "+"},{"POS": "PART", "OP": "*"}]
t_list_1 = textacy.extract.pos_regex_matches(text, pattern)
t_list_2 = textacy.extract.matches(text, verb_pattern)
如您所见,模式是相同的,但匹配函数的模式是新格式。例如,旧的 pos_regex_matches 返回,was celebrating
而新的匹配同时返回was
and was celebrating
。有人遇到过同样的问题吗?是模式问题还是文本问题?
提前致谢