1. A method of determining a semantic relationship, comprising: using a processor to receive source content; using the processor to perform cluster analysis at least in part by using at least a portion of the source content; and using the processor to use at least a portion of a result of the cluster analysis to determine the semantic relationship between two or more content elements comprising the source content; wherein performing cluster analysis includes using a processor to perform the steps of: 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 first order difference a corresponding second order difference corresponding to a difference between that first order difference and a next nearest first order difference, when any, in the ordered set of first order differences; ordering the set of second order differences; performing a cluster analysis on the ordered set of second order differences to determine a first cluster of second order differences associated with intra-group differences and a second cluster of second order differences associated with inter-group differences, including by categorizing one or more second order differences as an inter-group difference associated with first order differences in two groupings of one or more first order differences; and analyzing the set of second order differences to determine based at least in part on a number of second order differences included in the second cluster a number of semantic levels with which content elements comprising the source content are clustered.