上回我們處理好了中文文字,具體的步驟如下:
那這篇文章我們就使用mlp和lstm模型來訓練我們的資料。
模型結構
建立模型
from keras.models import sequential
from keras.layers import dense,dropout,embedding,flatten
model = sequential()
model.add(embedding(output_dim=32,
input_dim=10000,
input_length=100))
model.add(dropout(0.2))
model.add(flatten())
model.add(dense(units=256,
activation='relu' ))
model.add(dropout(0.2))
model.add(dense(units=1,
activation='sigmoid' ))
訓練模型model.compile(loss='binary_crossentropy',
測試
scores = model.evaluate(x_test, y_test, verbose=1)
scores[1]
# result 0.7925
lstm模型是一種遞迴神經網路,用來解決rnn的長期依賴問題的。
模型結構
建立模型
from keras.models import sequential
from keras.layers import dense,dropout,embedding,flatten,lstm
model = sequential()
model.add(embedding(output_dim=32,
input_dim=10000,
input_length=100))
model.add(dropout(0.2))
model.add(lstm(32))
model.add(dense(units=256,
activation='relu' ))
model.add(dropout(0.2))
model.add(dense(units=1,
activation='sigmoid' ))
訓練模型model.compile(loss='binary_crossentropy',
測試
scores = model.evaluate(x_test, y_test, verbose=1)
scores[1]
# result 0.8025
NLP 中文文字分類 詳細
實現如下customprocessor class customprocessor dataprocessor def get train examples self,data dir return self.create examples self.read tsv os.path.join da...
基於svm的中文文字自動分類系統
首先介紹一下流程 1.先使用中科院的分詞器ictlas對訓練集進行分詞 2.將所有的詞構建成乙個字典,以label item的形式,後面svm要用到。如 1 中國 3.提取特徵詞,由於並不是每個詞都是有用的,因此要提取出特徵詞,主要提取名詞,動詞,動名詞,和使用者自定義的詞。由於採用了中科院的分詞演...
基於svm的中文文字自動分類系統
首先介紹一下流程 1.先使用中科院的分詞器ictlas對訓練集進行分詞 2.將所有的詞構建成乙個字典,以label item的形式,後面svm要用到。如 1 中國 3.提取特徵詞,由於並不是每個詞都是有用的,因此要提取出特徵詞,主要提取名詞,動詞,動名詞,和使用者自定義的詞。由於採用了中科院的分詞演...