如何找到 spaCy 模型的词汇量大小?

Yan*_* Ch 4 documentation nlp vocabulary spacy

我试图找到大型英语模型的词汇量大小,即en_core_web_lg,我找到了三个不同的信息来源:

  • spaCy 的文档:685k 个键,685k 个唯一向量

  • nlp.vocab.__len__(): 1340242 # (词素数)

  • len(vocab.strings): 1476045

三者有什么区别?我无法在文档中找到答案。

aab*_*aab 5

最有用的数字是与词向量相关的数字。nlp.vocab.vectors.n_keys告诉您有多少词向量具有词向量,并会len(nlp.vocab.vectors)告诉您有多少唯一词向量(多个词元可以指代md模型中的同一个词向量)。

len(vocab)是缓存的词素数。在mdlg模型中,这些1340242词位中的大多数都具有一些预先计算的功能(例如Token.prob),但是在此缓存中可以有其他词素而没有预先计算的功能,因为在您处理文本时可以添加更多条目。

len(vocab.strings)是与标记和注释(如nsubjNOUN)相关的字符串数量,因此它不是一个特别有用的数字。训练或处理中任何地方使用的所有字符串都存储在这里,以便在需要时可以将内部整数哈希转换回字符串。