我在 torchtext 中遇到了问题,并且为此苦苦挣扎了很长时间。我试图使用 torchtext 和 spacy 对文本进行标记和数字化。我将我的标记器定义为:
def Sp_Tokenizer(text):
return [tok.text for tok in spacy_en.tokenizer(text)]
效果很好:
Sp_Tokenizer('How are you today')
['How', 'are', 'you', 'today']
然后我将这个标记器传递给torchtext:
TEXT = data.Field(sequential=True, tokenize=Sp_Tokenizer, lower=False)
并建立了词汇:
corps = ['How are you', 'I am good today', 'He is not well']
TEXT.build_vocab(corps, vectors="glove.6B.100d")
然后我尝试了
TEXT.numericalize('How are you today')
我以为我应该得到一个有 4 个数字(单词级别)的张量,但是,我得到的是 char 级别:
tensor([[ 6, 3, 10, 2, 4, 17, 5, 2, 11, 3, 19, 2, 9, 3, 7, 4, 11]])
那有什么问题?有什么我可以解决的吗?谢谢!