在Tensorflow模型中输入字符级别的最有效和最有效的方法是什么(是的,字符级输入是必要的)。
对于给定的字符串"你好", 和一个嵌入字母" abcdefghijklmnop ..." (为简洁省略了〜150个字符),我尝试了以下方法:
1)直接翻译示例:
[7,4,11,14]
observation_space_shape = (max_length, char_embedding_length)
2)一个热门编码示例:
[`[0.0,0.0,0.0,0.0,0.0,1,0.0 ...], [...], ...]
observation_space_shape = (max_length, char_embedding_length, 1)`
哪种方法最适合在大型文本输入(具有多个字符)上实现高效且有效的字符级别编码,或者是否有更好的替代方法来解释我提出的上述解决方案?
答案 0 :(得分:1)
由于字符词汇(即字母表)相对较小,因此单热编码是可行的解决方案。例如,这正是Andrew Karpathy在min-char-rnn中所做的事情(见this post)。
说到大型语料库应用程序,请查看分析的CS 20SI示例,然后逐个字符地生成类似莎士比亚的文本。 Here你可以找到一个脚本:它在一个热点中编码字符并提供给RNN,它运行得很好。
如果字符之间存在语义相似性,那么字符嵌入会更有用,就像字之间一样。但是角色' a'同样类似于' b'并且对于这项任务非常有用。