Тренинг RNN для суммирования текста abstractrive с редкими данными y_train - PullRequest
0 голосов
/ 17 мая 2019

Я работаю над абстрактным решением для задачи легального суммирования текста, где у меня есть все необходимые обучающие образцы, но я ничего не могу использовать в качестве своего тензора "label" (y_train / y_test).Моя идея до сих пор заключалась в том, чтобы создать простой одноразовый RNN со слоями LSTM и обучить его, используя фиктивную функцию потерь и без тензора меток, чтобы увидеть, может ли одно только внедрение обеспечить удовлетворительные результаты.Но этого не произошло: просто наглядное представление показывает худшие результаты, чем использование TextRank.

Другой подход, о котором я думаю, - это подготовить около 50 резюме самостоятельно и передать их в сеть, чтобы «запустить» его и использоватьнемаркированные данные для обучения слоя внедрения.

Возможно ли это?Я видел упоминания об использовании таких методов, но не нашел примеров.Я полагаю, что не могу просто ввести в модель тензор разреженных меток, поскольку нулевые значения могут аннулировать действительно полезные?

Мой набор данных состоит из судебных заключений, составленных в Иллинойсе (100 тыс. Образцов).Набор данных не имеет никакой другой полезной информации для обучения (без фраз, без ключевых слов).Я использую алгоритм хеширования для токенизации и векторизации текстов.

Моя модель

input_l = 25000 #Padded input length
sum_length = 100 #Summary length
vocab_size_2 = 160000
sample_size = 1000
batch_size = 8

model = Sequential()
model.add(Embedding(vocab_size_2, 128, input_length=input_l))
model.add(LSTM(128))
model.add(RepeatVector(sum_length))
model.add(LSTM(128, return_sequences=True))
model.add(TimeDistributed(Dense(vocab_size_2, activation='softmax')))
model.compile(loss=custom_loss(), optimizer='adam')

model.summary()

_________________________________________________________________
Layer (type)                 Output Shape              Param #   
=================================================================
embedding_1 (Embedding)      (None, 25000, 128)        20480000  
_________________________________________________________________
lstm_1 (LSTM)                (None, 128)               131584    
_________________________________________________________________
repeat_vector_1 (RepeatVecto (None, 100, 128)          0         
_________________________________________________________________
lstm_2 (LSTM)                (None, 100, 128)          131584    
_________________________________________________________________
time_distributed_1 (TimeDist (None, 100, 160000)       20640000  
=================================================================
Total params: 41,383,168
Trainable params: 41,383,168
Non-trainable params: 0
_________________________________________________________________
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...