let evaluate knowls data =
(* find the category with highest probapbility *)
let rec loop knowls value akku =
match knowls with
[] -> akku
| knowl :: knowls ->
(* calculate the current probapbility *)
let prob = calculate_prob knowl data in
(* compare with current best *)
if prob >= value then
loop knowls prob knowl.kn_category
else
loop knowls value akku
in
loop knowls ~-.10.0 ((List.hd knowls).kn_category)