我正在从事一个 NLP 项目,我正在努力解决当前的部分。我有一个数据框,其中包含字符串要求(“该系统应...”)。我们希望根据单词列表检查每个需求,对包含一个或多个这些单词的需求进行子集化,然后添加仅包含每个需求中找到的单词的列。
要求 | 包含_单词 |
---|---|
“该系统应...” | ‘意志’、‘行动’ |
我当前遇到的问题是它匹配单词的模式,而不是确切的单词,因此输出不正确。
def bad_words(doc: pd.DataFrame):
words = 'will|must|actions'
results = doc['Requirement'].str.contains(words).any()
if results:
df = doc[doc['Requirement'].str.contains(words)]
print(df)
else:
print(f"No requirement contain the word(s): {words}.")
通过
regex=True
启用正则表达式,然后它就可以正常工作了。
def bad_words(doc: pd.DataFrame):
words = 'will|must|actions'
results = doc['Requirement'].str.contains(words, regex=True).any()
if results:
df = doc[doc['Requirement'].str.contains(words, regex=True)]
print(df)
else:
print(f"No requirement contain the word(s): {words}.")