すべてのラベルの間に階層構造を作成したり、学習したりすることができます。以下のようになります(ツリー内の各ノードはラベルです)。
A->B1->C1
|->B2->C2
|
|->B3->C3->D3->E3
ラベル間に親子関係があります。例えば、C1
は、それはすべての顧客間でのトレーニング時にすべてのラベルを見ることができ、モデル自体については
(C1
は、B1->C1
はスポーツ - >テニスの可能性があり、より具体的である)B1
の子です。 予測時には、最初に同じモデルを実行し、各ラベルの可能性を出力します(モデルはNウェイロジスティックのようなものです)。例えば、これは(唯一のアクティブなラベルがB2
とC3
ある)顧客Aのためのタスクであれば、今すぐ
B1: 0.1
B2: 0.15
B3: 0.05
C1: 0.4
C2: 0.9
C3: 0.01
D3: 0.001
E4: 0
すると、あなたがアクティブなラベルと一致し、他のブランチを削除するには、あなたのラベルをロールアップすることができます
B2: 0.9 (we use a Max(B2, C2) here)
C3: 0.011
したがって、顧客Aの写真に顧客Bのラベルを付けることを望まない場合は、ここでB2を報告する必要があります。しかし、多くの顧客を獲得したら、人気の高いラベルを顧客Aに適用することは問題ではありません?