Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 标记器在torchtext中无法正常工作_Python_Nlp_Pytorch_Spacy_Torchtext - Fatal编程技术网

Python 标记器在torchtext中无法正常工作

Python 标记器在torchtext中无法正常工作,python,nlp,pytorch,spacy,torchtext,Python,Nlp,Pytorch,Spacy,Torchtext,我在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'] 然后我将这个标记器传递到torch

我在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)
并建造了vocab:

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个数字的张量单词级,然而,我得到的是类似于字符级的张量:

tensor([[ 6,  3, 10,  2,  4, 17,  5,  2, 11,  3, 19,  2,  9,  3,  7,  4, 11]])
怎么了?我能做点什么来修理它吗?谢谢

根据docs,numericalize接受预先标记的输入,因此不能只传递字符串。对于单个示例,您希望使用以下两种方法之一:

TEXT.preprocess("Hello, how are you today?")
或者,对于批次:

TEXT.process(["Hello, how are you today?"])
根据docs,numericalize接受预先标记的输入,因此不能只传递字符串。对于单个示例,您希望使用以下两种方法之一:

TEXT.preprocess("Hello, how are you today?")
或者,对于批次:

TEXT.process(["Hello, how are you today?"])