我有一个列表列表,其中每个内部列表都是一个标记文本,所以它的长度是文本中的字数。
corpus = [['this', 'is', 'text', 'one'], ['this', 'is', 'text', 'two']]
现在,我想创建一个集合,其中包含语料库中的所有唯一令牌。对于上面的例子,期望的输出是:
{'this', 'is', 'text', 'one', 'two}
目前,我有:
all_texts_list = list(chain(*corpus))
vocabulary = set(all_texts_list)
但这似乎是一种记忆效率低下的方式
有没有更有效的方法来获得这个集合?
我找到了这个链接。然而,他们希望在那里找到唯一列表集,而不是列表中的唯一元素集。
您可以使用带有setupdate
操作的简单for循环。
vocabulary = set()
for tokens in corpus:
vocabulary.update(tokens)
输出:
{'this', 'one', 'text', 'two', 'is'}