packages feed

nlp-scores-scripts-0.1.0.0: ap.hs

{-# LANGUAGE OverloadedStrings #-}

import NLP.Scores
import Data.List.Split
import Text.Printf
import qualified Data.Text.Lazy as Text
import qualified Data.Text.Lazy.IO as Text
import qualified Data.Set as Set

main = Text.interact $  Text.unlines . map format 
       . map (uncurry avgPrecision . parse) 
       . Text.lines

format :: Double -> Text.Text
format  = Text.pack . printf "%.4f"

parse :: Text.Text -> (Set.Set Text.Text, [Text.Text])
parse ln = 
    let [g,t] = Text.words ln
    in (Set.fromList . Text.splitOn "," $ g, Text.splitOn "," $ t)