簡體   English   中英

在 Spacy 標記列表上使用 Counter 返回標記的非唯一字典

[英]Using Counter on a list of Spacy tokens returns a non unique dict of the tokens

我想用計數器 class 計算 spacy 令牌列表。即:

[hello,how,are,you,hello]

其中每個元素的類型都是<class 'spacy.tokens.token.Token'> 但是,當我想通過計數器計算列表中每個令牌的出現次數時,如下所示:

    return Counter(joined)

結果是令牌的非唯一字典,或者換句話說:與以前相同的列表,但現在是一個字典,每個鍵的值為 1。在下面的屏幕截圖中可以看出,字典似乎具有相同的值在其中鍵入兩次。

在此處輸入圖像描述

這是什么原因?

如果令牌具有相同的文本,則令牌不等效,它們必須在同一文檔 object 中的相同 position 中。但是屏幕截圖中的 output(不要發布文本屏幕截圖...)只是一個repr token,也就是它的文本。

如果您只想計算文本,請使用token.text ,如下所示:

from collections import Counter
import spacy

nlp = spacy.blank("en")
doc = nlp("this is text, this is text")
out = Counter([tok.text for tok in doc])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM