У меня есть набор данных предложений, которые были помечены ярлыками из иерархии. Иерархия - это набор музыкальных жанров. Это дерево, а не группа DAG - у каждого узла есть только один родительский элемент и один родительский элемент. Вот отрывок в качестве примера:
root = music
parent = latin
child = afro-cuban
child = salsa
child = brazilian
child = axe
parent = non-latin
child = classical
...
Например, для предложения Mozart is the best
из собранных аннотаций большинство согласны с тем, что метка класса для этого предложения или основной истины - classical
. Из иерархии мы знаем, что classical
также является формой non-latin
музыки, которая является формой music
. В то время как i prefer salsa
мог быть аннотирован как latin
.
С точки зрения классификации, выравнивание иерархии - что я сделал - интуитивно не решает проблему, поскольку мы полностью игнорируем иерархию классов. Он также дает низкие результаты при использовании Weka и выбора классификаторов, поскольку мы сталкиваемся с проблемой многоклассовой классификации.
Моя проблема в том, что я читал очень расплывчатую литературу и онлайн-статьи о том, как реализована иерархическая классификация. Я бы хотел использовать Weka и Python. Но я просто хотел пояснить, как выполнять иерархическую классификацию в этой ситуации. Итак, мои вопросы:
1) как лучше всего обойти это? Будет ли оптимальным вариантом нисходящий подход? Если я сделаю это, как мне избежать проблемы неправильной классификации на каждом уровне? т.е. он может предсказывать latin
на уровне 1 и classical
на уровне 2. А как насчет двоичного классификатора? Я открыт для предложений.
2) как сюда попадают данные обучения и тестирования?
3) как можно оценить эффективность классификации? В частности, при нисходящем подходе, так как у нас будут оценки для каждого отдельного уровня.
classical
, тогда оно неявно содержит, что level2 =non-latin
и level1 =music
. - person knb   schedule 11.04.2018