Patent Document ID: 10162879
Application ID: 15148776
Patent Status: 1

Claim One:
1. A method for assigning labels to an object, comprising: receiving, by a storage device, a set of labels and at least one object to be assigned labels; applying, using a processor, a label filter to the set of labels and to each of the at least one objects, wherein the label filter is based on a linear projection on a geometric filtering manifold having a plurality of active regions and the label filter utilizes filter parameters determined by an optimization problem; identifying, for each of the at least one objects, which labels in the set of labels are irrelevant based on a determination if the linear projection is within active regions on the geometric filtering manifold corresponding to a label; eliminating labels in the set of labels that are irrelevant to each of the at least one objects, based on relevancy criteria, from further consideration; creating, using the processor, a subset of labels for each of the at least one objects, the subset of labels consisting of labels in the set of labels that have not been eliminated from consideration; determining, using a multi-label classifier, for each of the at least one objects, which labels in the subset of labels are relevant to the object by analyzing the subset of labels in conjunction with the object; assigning, to each of the at least one objects, the labels that are relevant to the object; determining, using the processor, which of the at least one objects are relevant to a user, based on the labels assigned to each of the at least one objects, to create user-oriented content, the user-oriented content consisting of at least one object determined to be relevant to a user; and displaying the user-orientated content to the user, wherein the optimization problem utilized to determine filter parameters comprises one of the following optimization problems: min w , L , U , s , ξ ⁢  w  2 + C 1 ⁢ ∑ i = 1 n ⁢ ∑ k ∈ y i ⁢ ( ξ ik L + ξ ik U ) + C 2 ⁢ ∑ i = 1 n ⁢ ∑ k ′ ∉ y i ⁢ ( ξ ik ′ L + ξ ik ′ U ) ( i ) Such that: For all i, k∈y i : 
 L k − w,x i +1<ξ ik L 
 w,x i −U k +1<ξ ik U For all i, k′∉y i : 
 s ik′ ( w,x i −L k′ +1)<ξ ik′ L 
 (1− s ik′ )( U k′ − w,x i +1)<ξ ik′ U For all i, k: 
 s ik ∈{0,1}; ξ ik L ≥0; ξ ik U ≥0, wherein C 1 is a hyperparameter that controls a strength of a constraint 2; C 2 is a hyperparameter that controls a strength of a constraint 3; ξ is a slack variable that allows the constraints to be violated at a penalty; i is an index over examples; y is a label set for an example; x is a numeric representation of an example; and s represents a switch that determines which of the constraints should be enforced; or min w , L , U , Π , ξ ⁢  w  2 + C 1 ⁢ ∑ i = 1 n ⁢ ∑ k ∈ y i ⁢ ( ξ ik L + ξ ik U ) + C 2 ⁢ ∑ i = 1 n ⁢ ∑ k ∈ y i ⁢ ∑ k ′ ∉ y i ⁢ ξ ikk ′ ( ii ) Such that: For all i, k∈y i : 
 L k − w,x i +1<ξ ik L 
 w,x i −U k +1<ξ ik U For all i, k∈y i , k′∉y i : 
 w,x i −L k′ +1<ξ ikk′ if Π( k )<Π( k ′) 
 U k′ − w,x i +1<ξ ikk′ if Π( k )>Π( k ′) For all i, k∈y i , k′∉y i : 
 ξ ik L ≥0; ξ ik U ≥0; ξ ikk′ ≥0, wherein Π is an ordering over K labels; C 1 is a hyperparameter that controls a strength of a constraint 2; C 2 is a hyperparameter that controls a strength of a constraint 3; ξ is a slack variable that allows the constraints to be violated at a penalty; i is an index over examples; y is a label set for an example; x is a numeric representation of an example; and s represents a switch that determines which of the constraints should be enforced.