1. A method for processing Uniform Resource Locators (URLs), comprising the steps of: (a) obtaining a plurality of related URLs; (b) parsing the plurality of related URLs to obtain one or more tokens from each URL, each token that is obtained by parsing the plurality of related URLs being included in a set of current tokens; (c) identifying a set of deep tokens, wherein each deep token, of the set of deep tokens, is a portion of at least one token of the set of current tokens; (d) determining a set of anchors for tokens that are currently included in the set of current tokens, wherein each anchor is a deep token from the set of deep tokens; (e) forming a set of patterns for the set of current tokens based on the set of anchors, wherein each pattern of the set of patterns comprises (e1) an anchor from the set of anchors, and (e2) one or more subtokens, wherein each subtoken of the one or more subtokens comprises one or more deep tokens from the set of deep tokens; (f) organizing the set of patterns in a tree of nodes, wherein within the tree each pattern in the set of patterns is a sibling node to at least one other pattern in the set of patterns; (g) selecting a subtoken from a pattern, of the set of patterns, to represent a new set of current tokens, and within the tree, creating for the subtoken a child node of the node corresponding to that pattern; (h) for one or more iterations, repeating steps (d)-(g) by using each new set of current tokens as the set of current tokens; and (i) tagging deep tokens in the set of deep tokens as either keys or values based on organization information from the tree and on initial tag assignments; (j) wherein the steps of the method are performed by one or more computing devices.