Normally, we have data like
inputs = [ ['how', 'are', 'you', '?'], ['I', 'am', 'good', '.'], ... ]
the dimension is (batch size, seq len)
So, we can apply LSTM directly
self.lstm = nn.LSTM() self.lstm(inputs)
However, I have data like
inputs = [ [ ['U.S.', 'president'], ['is', 'not'], ['clinton', 'hillary'] ], [ ['The', 'boss'], ['likes'], ['apple', 'pies'], ], ... ]
I’d like to apply LSTM in the most inner dimension such as [‘U.S.’, ‘president’] and [‘is’, ‘not’], and so on.
And then, I’ll apply attention for
[ output of LSTM(['U.S.', 'president']), output of LSTM(['is', 'not']), output of LSTM(['clinton', 'hillary']) ].
My question is that how to apply LSTM for the inner dimensions.