问题描述
我正在使用 Yake(又一个关键字提取器)从数据框中提取关键字。 我只想提取二元组和三元组,但 Yake 只允许设置最大 ngram 大小而不是最小大小。您将如何删除它们?
示例 df.head(0):
文字: 'oui,是的,我咕哝着,语言过渡现在处于不确定状态。'
关键词: '[('oui',0.04491197687864554),('语言转换',0.09700399286574239),('喃喃自语',0.15831692877998726)]'
我想从关键字列中删除 oui、mumbled 和他们的分数。
感谢您的宝贵时间!
解决方法
如果您的问题是关键字列表包含一些字母组合,您可以简单地做一个过滤器,忽略没有空格的单词并创建一个新列表。我给你举个例子:
keywords_without_unigrams = []
for kw in keywords:
if(' ' in kw[0]):
keywords_without_unigrams.append(kw)
for kw in keywords_without_unigrams:
print(kw)
,
如果您需要处理来自 Yake 的 mono-gram 情况,只需通过过滤器将输出传递到结果列表中,仅当该元组的第一个元素中有空格或 str.该元素的 split() 导致超过 1 个子元素。如果您正在使用函数并将其应用于数据帧,请在该函数中包含此步骤。