您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

从Keras的imdb数据集中恢复原始文本

从Keras的imdb数据集中恢复原始文本

您的示例是胡言乱语的,它比仅缺少一些停用词要糟糕得多。

如果重新阅读了的文档start_charoov_char以及index_from在[参数keras.datasets.imdb.load_data](https://keras.io/datasets/#imdb- movie-reviews-sentiment-classification 他们解释发生了什么事)方法

start_char:int 序列的开始将用此字符标记。设置为1是因为0通常是填充字符。

oov_char:int 由于num_words或skip_top限制而被切掉的单词将被替换为该字符。

index_from:int 使用此索引和更高的索引来索引实际单词。

您倒置的那本词典假定单词索引从开始1

但是索引返回了我的喀拉拉邦(Keras)<START><UNKNowN>作为索引12。(它假定你将使用0<PADDING>)。

这对我有用:

import keras
NUM_WORDS=1000 # only use top 1000 words
INDEX_FROM=3   # word index offset

train,test = keras.datasets.imdb.load_data(num_words=NUM_WORDS, index_from=INDEX_FROM)
train_x,train_y = train
test_x,test_y = test

word_to_id = keras.datasets.imdb.get_word_index()
word_to_id = {k:(v+INDEX_FROM) for k,v in word_to_id.items()}
word_to_id["<PAD>"] = 0
word_to_id["<START>"] = 1
word_to_id["<UNK>"] = 2
word_to_id["<UNUSED>"] = 3

id_to_word = {value:key for key,value in word_to_id.items()}
print(' '.join(id_to_word[id] for id in train_x[0] ))

标点符号丢失了,仅此而已:

"<START> this film was just brilliant casting <UNK> <UNK> story
 direction <UNK> really <UNK> the part they played and you Could just
 imagine being there robert <UNK> is an amazing actor ..."
其他 2022/1/1 18:51:48 有446人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶