               rng)
          (map (fn [{:keys [length occurs unique]}]
                 (zipmap (map first (lrs-unique-feature-metas unique))
-                        [(or occurs -1) (or length -1)])))
+                        [(or occurs -1)
+                         (if occurs
+                           (/ occurs text-len)
+                           -1)
+                         (or length -1)])))
          (apply merge lrs-features))))
 
-;; chararcter distribution
+;; character distribution
 (defn char-dist-feature-metas
   "See [[char-dist-features]]."
   []

      :author "Paul Landes"}
    zensols.nlparse.feature.char
  (:import com.zensols.util.StringUtils)
  (:require [clojure.string :as s])
  (:require [clojure.core.matrix.stats :as stat])
  (:require [zensols.nlparse.locale :as lc]))

;; (longest) repeating characters
(defn- lrs-unique-feature-metas [unique-idx]
  [[(keyword (format "lrs-occurs-%d" unique-idx)) 'numeric]
   [(keyword (format "lrs-length-%d" unique-idx)) 'numeric]])

(defn lrs-feature-metas

                                 {:lrs-len length
                                  :lrs-unique-chars unique}))
                          first)
        rng (range 1 (inc unique-char-repeats))
        text-len (count text)]
    ;(clojure.pprint/pprint reps)
    (->> rng
         (map (fn [ucr]
