13. A system for segmenting a string comprising one or more segments into discrete segments, wherein each of the one or more segments comprises data that is the same as or similar to a marker string, the system comprising: a similarity vector generator, coupled to receive the string and the marker string, that generates a similarity vector comprising a plurality of similarity values and associated locations within the string wherein a similarity value represents a comparison of the marker string and at least a portion of the string and an associated location associated with the similarity value is the location within the string of the start of the at least a portion of the string used in the comparison; a segment location set generator, coupled to receive the similarity vector, that identifies a set of ideal segmentation locations based upon an expected number of discrete segments within the string, uses the similarity vector to identify a set of candidate segmentation locations, responsive to a candidate segmentation location having a similarity value less than another candidate segmentation location within a local window, removes the candidate segmentation location from the set of candidate segmentation locations, responsive to a candidate segmentation location and a closest ideal segmentation location being at a distance that is greater than a distance threshold, removes the candidate segmentation location from the set of candidate segmentation locations, and uses the set of candidate segmentation locations and the set of ideal segmentation locations to generate a set of segmentation locations, wherein a segmentation location marks the beginning of a discrete segment in the string; and a string segmenter, coupled to receive the set of segmentation locations, that uses the set of segmentation locations to segment the string.
13. A system for segmenting a string comprising one or more segments into discrete segments, wherein each of the one or more segments comprises data that is the same as or similar to a marker string, the system comprising: a similarity vector generator, coupled to receive the string and the marker string, that generates a similarity vector comprising a plurality of similarity values and associated locations within the string wherein a similarity value represents a comparison of the marker string and at least a portion of the string and an associated location associated with the similarity value is the location within the string of the start of the at least a portion of the string used in the comparison; a segment location set generator, coupled to receive the similarity vector, that identifies a set of ideal segmentation locations based upon an expected number of discrete segments within the string, uses the similarity vector to identify a set of candidate segmentation locations, responsive to a candidate segmentation location having a similarity value less than another candidate segmentation location within a local window, removes the candidate segmentation location from the set of candidate segmentation locations, responsive to a candidate segmentation location and a closest ideal segmentation location being at a distance that is greater than a distance threshold, removes the candidate segmentation location from the set of candidate segmentation locations, and uses the set of candidate segmentation locations and the set of ideal segmentation locations to generate a set of segmentation locations, wherein a segmentation location marks the beginning of a discrete segment in the string; and a string segmenter, coupled to receive the set of segmentation locations, that uses the set of segmentation locations to segment the string. 17. The system of claim 13 wherein performing the steps to use the set of candidate segmentation locations and the set of ideal segmentation locations to generate the set of segmentation locations comprises: responsive to the set of candidate segmentation locations being an empty set, defining the set of ideal segmentation locations as a set of segmentation locations; and responsive to the set of candidate segmentation locations not being an empty set, using at least some of the candidate segmentation locations to define a set of segmentation locations.