Как LSTM преобразовывает векторы вложения символов в вектор предложений для классификации предложений? - PullRequest
0 голосов
/ 27 февраля 2019

Я хочу построить модель LSTM для классификации предложений с использованием встраивания символов.

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

для встраивания слов:

sentence_list = ['this is a dog', 'the cat and the mouse']
label = [1,0]
word_dict = {'this':1,
             'is':2,
             'a':3,
             'dog':4,
             'the':5,
             'cat':6,
             'and':7,
             'mouse':8}

# set vector length = 9
vectors = [[1,2,3,4,0,0,0,0,0]
              [0,0,0,0,5,6,7,5,8]]
model.fit(vectors,label)

, поэтому он готов для встраивания в модель LSTM.

Как мы можем это сделать для векторов на основе символов?

например: если яиметь этот словарь символов:

 char_dict = {'t':1,
             'h':2,
             'i':3,
             's':4,
             'a':5,
             'd':6,
             'o':7,
             'g':8}

Как мне отформатировать его, чтобы его можно было прочитать для модели классификации LSTM?Более конкретно, как нам объединить несколько символьных векторов для подачи в модель LSTM?

1 Ответ

0 голосов
/ 27 февраля 2019

Это точно так же.Нет разницы вообще.

Преобразование предложений в векторы индексов и их соответствие.

Важные вещи :

Не составляйте предложения, начинающиеся с 0, ваш vectors должно быть:

vectors = [[1,2,3,4,0,0,0,0,0]
          [5,6,7,5,8,0,0,0,0]]

Иметь индексы для пробелов (как минимум) и знаков пунктуации:

 char_dict = {'t':1,
         'h':2,
         'i':3,
         's':4,
         'a':5,
         'd':6,
         'o':7,
         'g':8
         ' ':9,
         '.':10,
         'c':11}

sentences = ['this is a dog', 'that is a cat.']
vectors = [
              [char_dict[ch] for ch in sentence] for sentence in sentences
          ]

vectors = [
              [1, 2, 3, 4, 9, 3, 4, 9, 5,  9, 6, 7,  8],
              [1, 2, 5, 1, 9, 3, 4, 9, 5, 11, 5, 1, 10]
          ]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...