我一直在关注TensorFlow文本分类教程(https://www.tensorflow.org/tutorials/keras/basic_text_classification),对IMDB评论进行分类。 IMDB数据是keras分发的一部分,并经过预处理下载。 我想尝试自己的文字。有没有一种有效的方法可以将我自己的文本预处理为word-> int表示形式?我尝试使用字典,元组和排序,但是效率很低。我觉得有一种更有效的方法。
谢谢
迈克尔
我已经扫描了nltk和keras预处理工具,但是可能忽略了那里的某些东西。
答案 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是填充令牌化消息的最大长度(主要是通过加零)。