首页 > 解决方案 > 如何在 spaCy 中获取唯一令牌列表?

问题描述

有没有一种简单的方法来制作一个独特的 spacy 令牌列表?

例如,我可以得到一个单词标记列表,如下所示。

words = [w for w in list(doc) if w.is_alpha]

并且“单词”可以由相同文本的多个标记组成。(例如,我,我,什么,我,我)有没有办法让“单词”只有唯一的文本标记?(例如我,是,什么)

我知道set()创建一个唯一列表,但我认为它不适用于令牌,因为它的文本数据在内部存在。而且我不是要列出唯一的字符串文本,而是列出唯一的 spacy 标记。

标签: pythonspacy

解决方案


所以你可能需要解释你想如何使用这个列表来制作有用的东西,但这里有一种方法可以只获取具有给定字符串表示的第一个 spaCy 令牌。

out = []
seen = set()
for word in doc:
    if word.text not in seen:
        out.append(word)
    seen.add(word.text)
# now out has "unique" tokens

推荐阅读