删除不是bigram或trigram的关键字Yake

问题描述

我正在使用 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 个子元素。如果您正在使用函数并将其应用于数据帧,请在该函数中包含此步骤。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...