首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Tokenizer在torchtext中无法正常工作

Tokenizer在torchtext中无法正常工作
EN

Stack Overflow用户
提问于 2018-12-12 20:13:11
回答 1查看 776关注 0票数 2

我在torchtext中遇到了一个问题,并为此苦苦挣扎了很长一段时间。我试图使用torchtext和spacy对文本进行标记化和数值化。我将我的记号赋予器定义为:

代码语言:javascript
复制
def Sp_Tokenizer(text): 
    return [tok.text for tok in spacy_en.tokenizer(text)]

它工作得很好:

代码语言:javascript
复制
Sp_Tokenizer('How are you today')

['How', 'are', 'you', 'today']

然后我将这个记号赋予器传递给torchtext:

代码语言:javascript
复制
TEXT = data.Field(sequential=True, tokenize=Sp_Tokenizer, lower=False)

并建立了词汇表:

代码语言:javascript
复制
corps = ['How are you', 'I am good today', 'He is not well']
TEXT.build_vocab(corps, vectors="glove.6B.100d")

然后我试着

代码语言:javascript
复制
TEXT.numericalize('How are you today')

我假设我应该得到一个有4个数字的张量(单词级别),然而,我得到的是字符级别:

代码语言:javascript
复制
tensor([[ 6,  3, 10,  2,  4, 17,  5,  2, 11,  3, 19,  2,  9,  3,  7,  4, 11]])

这有什么问题吗?我能做些什么来修复它吗?谢谢!

EN

回答 1

Stack Overflow用户

发布于 2018-12-17 11:11:14

根据文档,here numericalize接受预先标记化的输入,所以您不能只传递一个字符串。您希望在单个示例中使用以下两种方法之一:

代码语言:javascript
复制
TEXT.preprocess("Hello, how are you today?")

或者在批处理中这样:

代码语言:javascript
复制
TEXT.process(["Hello, how are you today?"])
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53742792

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档