1. A method of determining a semantic relationship, comprising: using a processor to perform cluster analysis using at least a portion of a source content; and using the processor to determine, based at least in part on a result of the cluster analysis, a semantic relationship between two or more content elements comprising the source content; wherein performing cluster analysis includes determining a set of first order differences each first order difference corresponding to a physical distance between adjacent content elements as positioned within the source content; ordering the set of first order differences into a prescribed order; determining a set of second order differences by computing for each adjacent pair of first order differences in the ordered set of first order differences a corresponding second order difference, the second order difference being computed for a pair first order differences at least in part by subtracting a lower first order difference in the pair from a higher first order difference in the pair; ordering the set of second order differences; and determining based at least in part on the ordered set of second order differences a number of levels into which content elements comprising the source content are organized.