gpt4 book ai didi

python - tokenizer.texts_to_sequences Keras Tokenizer 给出几乎全零

转载 作者:行者123 更新时间:2023-12-03 13:23:45 24 4
gpt4 key购买 nike

我正在努力创建一个文本分类代码,但我在使用分词器对文档进行编码时遇到了问题。

1)我首先在我的文档上安装了一个标记器,如下所示:

vocabulary_size = 20000
tokenizer = Tokenizer(num_words= vocabulary_size, filters='')
tokenizer.fit_on_texts(df['data'])

2)然后我想检查我的数据是否正确拟合,所以我转换成如下序列:
sequences = tokenizer.texts_to_sequences(df['data'])
data = pad_sequences(sequences, maxlen= num_words)
print(data)

这给了我很好的输出。即将单词编码为数字
[[ 9628  1743    29 ...   161    52   250]
[14948 1 70 ... 31 108 78]
[ 2207 1071 155 ... 37607 37608 215]
...
[ 145 74 947 ... 1 76 21]
[ 95 11045 1244 ... 693 693 144]
[ 11 133 61 ... 87 57 24]]

现在,我想使用相同的方法将文本转换为序列。
像这样:
sequences = tokenizer.texts_to_sequences("physics is nice ")
text = pad_sequences(sequences, maxlen=num_words)
print(text)

它给了我奇怪的输出:
[[   0    0    0    0    0    0    0    0    0  394]
[ 0 0 0 0 0 0 0 0 0 3136]
[ 0 0 0 0 0 0 0 0 0 1383]
[ 0 0 0 0 0 0 0 0 0 507]
[ 0 0 0 0 0 0 0 0 0 1]
[ 0 0 0 0 0 0 0 0 0 1261]
[ 0 0 0 0 0 0 0 0 0 0]
[ 0 0 0 0 0 0 0 0 0 1114]
[ 0 0 0 0 0 0 0 0 0 1]
[ 0 0 0 0 0 0 0 0 0 1261]
[ 0 0 0 0 0 0 0 0 0 753]]

根据 Keras 文档( Keras ):

texts_to_sequences(texts)

Arguments: texts: list of texts to turn to sequences.

Return: list of sequences (one per text input).



不应该将每个单词编码为其相应的数字吗?如果文本短于 50 到 50,则填充文本?
错在哪里?

最佳答案

我想你应该这样调用:

sequences = tokenizer.texts_to_sequences(["physics is nice "])

关于python - tokenizer.texts_to_sequences Keras Tokenizer 给出几乎全零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51699001/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com