我正在尝试解析python中的句子-对于我得到的任何句子,我应该只使用出现在“say”或“ask”之后的单词(如果这些单词没有出现,我应该使用整个句子)我只需使用正则表达式即可:
sen = re.search('(?s)(?<=say|Say).*$', current_game_row["sentence"], re.M | re.I)
(这仅适用于“说”,但添加“询问”不是问题......)
问题是,如果我在“说”这个词之后得到一个带有逗号、冒号 (,:) 之类的标点符号的句子,它也会使用它。有人建议我使用 nltk 标记化来定义它,但我是 python 新手,不明白如何使用它。我看到 nltk 具有 RegexpParser 功能,但我不确定如何使用它。请帮我 :-)
** 我忘了提——我也想识别“说”/“问”等,不想抓住包含“说”或“问”的词(我不确定是否有这样的词。 ..)。另外,如果 where are multiply 'say' 或 'ask' ,我只想抓住句子中的第一个标记。**