A computer-implemented method for identifying a level of similarity between a first data item and a data item within a set of data documents, the method comprising:
- clustering, by a reference map generator executing on a first computing device, in a two-dimensional metric space, a set of data documents selected according to at least one criterion, generating a semantic map;
- associating, by the semantic map, a coordinate pair with each data document in the set of data documents;
- generating, by a parser executing on the first computing device, an enumeration of terms occurring in the set of data documents;
- determining, by a representation generator executing on the first computing device, for each term in the enumeration, occurrence information including:
- (i) a number of data documents in which the term occurs, (ii) a number of occurrences of the term in each data document, and (iii) the coordinate pair associated with each data document in which the term occurs;
- generating, by the representation generator, for each term in the enumeration, a sparse distributed representation (SDR) using the occurrence information, resulting in a plurality of generated SDRs;
- storing, by a processor on a second computing device in communication with the first computing device, in each of a plurality of memory cells on the second computing device, one of the plurality of generated SDRs, each of the plurality of memory cells including a bitwise comparison circuit;
- receiving, by a query module executing on a third computing device in communication with the second computing device, from a fourth computing device, a first term and a plurality of preference documents;
- generating, by the representation generator, a compound SDR using the plurality of preference documents;
- transmitting, by the query module, to a full-text search system, a query for an identification of each of a set of results documents similar to the first term;
- generating, by the representation generator, an SDR for each of the documents identified in the set of results documents;
- providing, by the processor on the second computing device, via a data bus, to each of the plurality of memory cells, the SDRs generated for each of the documents identified in the set of results documents;
- determining, by each of the plurality of bitwise comparison circuits, a level of overlap between each of the generated SDRs and the generated SDR stored in the memory cell associated with the bitwise comparison circuit;
- determining, by each of the plurality of bitwise comparison circuits, whether the level of overlap satisfies a threshold provided by the processor;
- modifying, by a ranking module executing on the second computing device and in communication with the query module, an order of at least one document in the set of results documents, based on the determined level of overlap;
- and
- providing, by the query module, to the fourth computing device, the identification of each of the set of results documents in the modified order.