Signature representation of data with aliasing across synonyms
AssigneeBlackBerry Limited
InventorsAnand Ravindra Oka, Christopher Harris Snow, Sean Bartholomew Simmons, Ghasem Naddafzadeh Shirazi
Life of this patent
Estimating the term…
Abstract
A system and method for generating an m-dimensional signature vector with aliasing across synonyms in a computing device is provided. Data representable by a plurality of key-value pairs, each comprising a unique identifier and an associated non-zero value of n-dimensional data is received at the computing device. Elements of the m-dimensional aliased signature vector are generated using synonym information of keys from the plurality of key-value pairs.
Claims27
A method for generating, in a computing device, an m-dimensional aliased signature vector comprising m vector elements, the method comprising:
- accessing a plurality of key-value pairs, each comprising a respective key, corresponding to one of n unique identifiers, and a non-zero value, at least one of the keys being associated with one or more synonymous unique identifiers from the n unique identifiers;
- and
- calculating each vector element based on a summation of a plurality of terms, each term calculated from a respective key-value pair, when the key of the respective key-value pair is associated one or more synonymous unique identifiers, the term calculated by adding one or more sub-terms, each calculated from a respective synonymous unique identifier of the one or more synonymous unique identifiers associated with the key of the respective key-value pair by:
- generating a synonym seed based on the respective synonymous unique identifier and the element identifier associated with the vector element being calculated;
- generating a synonym pseudo-random number from the generated synonym seed;
- and
- multiplying the synonym pseudo-random number by the value of the respective key-value pair,
- wherein m>>n.
A computing device for generating an m-dimensional aliased signature vector, the device comprising:
- a memory containing instructions;
- and
- a processor for executing instructions, the instructions when executed by the processor configuring the device to provide functionality for:
- accessing a plurality of key-value pairs, each comprising a respective key, corresponding to one of n unique identifiers, and a non-zero value, at least one of the keys being associated with one or more synonymous unique identifiers from the n unique identifiers;
- and
- calculating each vector element based on a summation of a plurality of terms, each term calculated from a respective key-value pair, when the key of the respective key-value pair is associated one or more synonymous unique identifiers, the term calculated by adding one or more sub-terms, each calculated from a respective synonymous unique identifier of the one or more synonymous unique identifiers associated with the key of the respective key-value pair by:
- generating a synonym seed based on the respective synonymous unique identifier and the element identifier associated with the vector element being calculated;
- generating a synonym pseudo-random number from the generated synonym seed;
- and
- multiplying the synonym pseudo-random number by the value of the respective key-value pair,
- wherein m>>n.
A non-transitory computer readable memory containing instructions for generating an m-dimensional signature vector comprising m vector elements, the instructions which when executed by a processor perform the method of:
- accessing a plurality of key-value pairs, each comprising a respective key, corresponding to one of n unique identifiers, and a non-zero value, at least one of the keys being associated with one or more synonymous unique identifiers from the n unique identifiers;
- and
- calculating each vector element based on a summation of a plurality of terms, each term calculated from a respective key-value pair, when the key of the respective key-value pair is associated one or more synonymous unique identifiers, the term calculated by adding one or more sub-terms, each calculated from a respective synonymous unique identifier of the one or more synonymous unique identifiers associated with the key of the respective key-value pair by:
- generating a synonym seed based on the respective synonymous unique identifier and the element identifier associated with the vector element being calculated;
- generating a synonym pseudo-random number from the generated synonym seed;
- and
- multiplying the synonym pseudo-random number by the value of the respective key-value pair,
- wherein m>>n.
Dependencies are inferred from the claim text.