我已经在SO和其他论坛上进行了很好的分析,并且看到了如何处理复数的解决方案,但是如果单词是从excel传递过来的,就属于这种情况。
我的关键字列表很长,我正将该列表传递给正则表达式,如下所示:
df = pd.read_excel('\\Keywords.xlsx', sheet_name=0)
keyword_list = df['Keyword_List'].tolist()
keywords_regex =(r'(({0})\b)'.format('|'.join(keyword_list)))
我必须最后保留\b
,因为我有“ 会议”之类的单词,并且不希望与“ 会议”之类的单词匹配
我的文本段落很大,我想检查一下关键字列表中出现了多少个单词,包括复数形式。因此,如果段落中包含“男孩”和“男孩”之类的词,我都希望两者兼有。目前,以下代码仅适用于单数形式:
matches = re.findall(keywords_regex, text, re.IGNORECASE) ## text is the long paragraph
我总是可以在excel中写出多种形式的单词来获得匹配,但是我发现我们只能在正则表达式或python级别上进行处理