我有一棵树,特别是一棵解析树,其节点处有标签,叶子处有字符串/单词。我想将这棵树作为输入传递到神经网络中,同时保留其结构。
目前的方法 假设我们有一些单词 w1,w2.....wn 的字典 将解析树中出现的单词编码为 n 维二进制向量,每当解析树中的单词为 wi 时,第 i 个位置就会出现 1
现在树结构怎么样?对于出现在叶子上的 n 个单词,大约有 2^n 个可能的父标签,因此我们不能设置输入单词的最大长度,然后只是暴力枚举所有树。
现在我能想到的就是通过选择叶子的直接父代来近似树。这可以用二进制向量来表示,其维度也等于不同类型标签的数量——我想约为 100。 我的输入是二维的。第一个只是单词的向量表示,第二个是其父标签的向量表示
除非这会丢失句子中的很多结构。有没有标准/更好的方法来解决这个问题?
最佳答案
您需要一个递归神经网络。请参阅此存储库以获取示例实现:https://github.com/erickrf/treernn
递归(非循环)神经网络的原理如图所示。
关于machine-learning - 如何将树编码为神经网络的输入?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26022866/