在深度学习运用在自然处理语言前,文本预处理是必不可少的步骤,一些常用的工具如句子句子分割,one-hot 编码,分词器都已经集成在keras预处理工具中,用户无需自己重新造轮子。下面我们将分别讲解这些功能。
1、分割句子获得单词序列。
from keras.preprocessing.text import Tokenizer,one_hot,text_to_word_sequence
import numpy as np
def test_text_to_word_sequence():
sequence=text_to_word_sequence('the cat sat on the mat.the dog sat on the log,dogs and cats living together)
print(sequence)
输出如下:
['the','cat',sat','on','the','mat','the','dog','sat','on','the','log','dogs','and','cats','living','together']
2、one-hot 序列编码器
keras.preprocessing.text.one_hot(text,n,filters=base_filter(),lower=True,split=" ")
参数n 表示字典长度
3、单词向量化
对于文本,在深度学习实际训练中,需要将所有的单词向量化,把每个单词进行编码后传送到深度网络的输入层,keras 提供了一个Tokenizer 类,用于向量化文本,或将文本转换为序列,即单词在字典中的下标构成的列表,从1算起的类。
keras.preprocessing.text.Tokennizer(num_words=None,filters=base_filter(),lower=True,split=" ",char_level=False)