我正在尝试使用Python中的字符串执行智能动态查找,以完成类似NLP的任务。我想通过每个句子解析大量相似结构的句子,并标记出句子的某些部分。例如,我首先解析一个字符串,例如"bob goes to the grocery store"
。
我将这个字符串带进去,将其拆分为单词,我的目标是在关键字列表中查找匹配的单词。假设我有一个单个关键字列表,例如"store"
和一个关键字短语列表,例如"grocery store"
。
sample = 'bob goes to the grocery store'
keywords = ['store', 'restaurant', 'shop', 'office']
keyphrases = ['grocery store', 'computer store', 'coffee shop']
for word in sample.split():
# do dynamic length lookups
现在的问题是,有时候我的句子可能只是"bob goes to the store"
而不是"bob goes to the grocery store"
。
我想确定要找到关键字"store"
,但是如果在单词存储之前有诸如"grocery"
或"computer"
之类的描述性单词,我也想捕捉一下。这就是为什么我也有关键字表的原因。我正在尝试一种方法,至少从根本上捕获关键字,然后如果有可能与之相关的单词"phrase"
,我也想捕获这些关键字。
也许替代方法是使用某种形容词列表,而不是多个单词的短语列表?
如果捕获到一个单词,或者如果我应该考虑使用一种完全不同的方法,我该如何进行这样的可变长度查找呢?
答案 0 :(得分:0)
这里是如何使用嵌套的for循环和格式化的字符串的方法:
sample = 'bob goes to the grocery store'
keywords = ['store', 'restaurant', 'shop', 'office']
keyphrases = ['grocery', 'computer', 'coffee']
for kw in keywords:
for kp in keyphrases:
if f"{kp} {kw}" in sample:
# Do something