【问题标题】:How to get a list of unique Tokens in spaCy?如何在 spaCy 中获取唯一令牌列表?
【发布时间】:2020-10-28 12:53:58
【问题描述】:

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

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

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

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

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

【问题讨论】:

  • 如果不是唯一字符串,“唯一令牌”是什么意思?每个 spaCy 令牌都是唯一的,因为它在文档中有它的索引。另外,不要使用list(doc),这没有任何用处,只需使用doc

标签: python spacy


【解决方案1】:

所以你可能需要解释你想如何使用这个列表来制作有用的东西,但这里有一种方法可以只获取具有给定字符串表示的第一个 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-07-05
    • 1970-01-01
    • 2014-11-26
    • 1970-01-01
    • 1970-01-01
    • 2019-04-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多