У меня есть дерево, в частности дерево разбора с тегами в узлах и строками/словами на листьях. Я хочу передать это дерево в качестве входных данных в нейронную сеть, сохраняя при этом свою структуру.
Текущий подход Предположим, что у нас есть словарь слов w1, w2..... wn Кодируйте слова, которые появляются в дереве разбора, как n-мерные двоичные векторы с 1, отображаемыми в i-м месте, когда слово в дереве разбора wi
Теперь как насчет древовидной структуры? Существует около 2 ^ n возможных родительских тегов для n слов, которые появляются у листьев. Таким образом, мы не можем установить максимальную длину входных слов, а затем просто грубую силу перечислить все деревья.
В настоящее время все, о чем я могу думать, это приблизительное дерево, выбирая прямой родительский лист. Это может быть представлено двоичным вектором, а также с размером, равным числу различных типов тегов, - порядка 100. Мой вход затем двумерен. Первый - это просто векторное представление слова, а второе - векторное представление его родительского тега
Кроме того, это потеряет значительную часть структуры предложения. Существует ли стандартный/лучший способ решения этой проблемы?