将文本数据预处理为整数索引(例如tensorFlow文本分类示例中的imdb数据集)

时间:2019-06-29 23:09:28

标签: python tensorflow keras

我一直在关注TensorFlow文本分类教程(https://www.tensorflow.org/tutorials/keras/basic_text_classification),对IMDB评论进行分类。 IMDB数据是keras分发的一部分,并经过预处理下载。 我想尝试自己的文字。有没有一种有效的方法可以将我自己的文本预处理为word-> int表示形式?我尝试使用字典,元组和排序,但是效率很低。我觉得有一种更有效的方法。

谢谢
迈克尔

我已经扫描了nltk和keras预处理工具,但是可能忽略了那里的某些东西。

1 个答案:

答案 0 :(得分:1)

为了从文本序列到整数序列的简单转换,我们可以使用keras.preprocessing.text.Tokenizer模块。

  

Tokenizer为语料库中存在的每个单词分配一个索引(不为零)。使用此词汇表,对文本进行标记化。

假设文本是您所拥有的句子列表。然后,

tokenizer = keras.preprocessing.text.Tokenizer()
tokenizer.fit_on_texts( texts )
tokenized_messages = tokenizer.texts_to_sequences( texts )
padded_messages = keras.preprocessing.sequence.pad_sequences( tokenized_messages , maxlen )

其中maxlen是填充令牌化消息的最大长度(主要是通过加零)。