ML新手在这里。作为练习,我正在尝试基于简单的 1 层 LSTM 构建基于字符的语言模型。根据我对 LSTM 的了解,一种常见的用法是接收一系列字符,然后预测下一个字符。我不完全理解的是,当还没有前面的序列时,我将如何预测第一个字符(或者,通过扩展,当没有足够长的前面序列作为 LSTM 单元的输入时预测一个字符)。
我能想到的最好的解决方案是在词汇表中保留一个特殊字符来表示任何字符的缺失。一个玩具例子:
Full training corpus: "foo"
LSTM unit count: 2
"Absent character" symbol: ABSENT
"End of file" symbol: EOF
Training inputs:
sample: [ABSENT, ABSENT] label: 'f'
sample: [ABSENT, 'f'] label: 'o'
sample: ['f', 'o'] label: 'o'
sample: ['o', 'o'] label: EOF
我的问题是:做这种事情的最佳做法是什么?我在正确的轨道上吗?