20. An advertisement placement system for relating one of a plurality of advertisements to a dataset, the system comprising: a data processor configured to process data; and a data storage system configured to store instructions which, upon execution by the data processor, control the data processor to perform the steps of: accessing a semantic representation associated with a first dataset and a semantic representation associated with a second dataset, wherein at least one of the semantic representation associated with the first dataset and the semantic representation associated with the second dataset is a trainable semantic vector generated based on at least one data point included in a respective dataset and known relationships between predetermined data points and predetermined categories to which the predetermined data points may relate; determining a similarity between the semantic representation associated with the first dataset and the semantic representation associated with the second dataset; and selectively relating the first dataset to the second dataset based on a result of the determining step; wherein each attribute in a trainable semantic vector indicates how likely a dataset represented by the trainable semantic vector belongs to one of the predetermined categories, and the trainable semantic vector has a dimension equal to the number of the predetermined categories.
21. The system of claim 20 , wherein the trainable semantic vector of the respective dataset is constructed by the steps of: identifying a relationship between each of the at least one data point and the predetermined categories based on the known relationships between the predetermined data points and the predetermined categories; determining the significance of each of the at least one data point with respect to the predetermined categories according to a result of the identifying step; constructing a trainable semantic vector for each of the at least one data point based on the determined significance of each of the at least one data point with respect to the predetermined categories; and forming the semantic vector of the respective dataset based on the trainable semantic vector for each of the at least one data point.